/* =========================================================
   CLEMI — sistema de diseño del sitio
   Paleta tomada del logomark: verde azulado, dorado, navy, crema
   ========================================================= */

:root{
  --teal:#2F6E63;
  --teal-soft:#8FB6AC;
  --gold:#C79A34;
  --gold-soft:#E7C98A;
  --gold-deep:#9C7627;
  --navy:#16213E;
  --navy-deep:#0E1730;
  --cream:#F7F3EC;
  --cream-deep:#EDE6D8;
  --white:#FFFFFF;
  --ink:var(--navy);
  --ink-soft:rgba(22,33,62,.66);
  --ink-faint:rgba(22,33,62,.44);
  --line:rgba(22,33,62,.12);
  --spec:var(--gold-deep);
  --shadow-sm:0 1px 2px rgba(22,33,62,.06), 0 10px 24px -18px rgba(22,33,62,.35);
  --shadow-md:0 1px 2px rgba(22,33,62,.07), 0 24px 44px -24px rgba(22,33,62,.45);
  --radius:16px;

  --spec-rodilla:#2F6E63;
  --spec-hombro:#9C7627;
  --spec-cadera:#8B3A62;
  --spec-tobillo:#2D5F8A;
  --spec-muneca:#B4542C;
  --spec-codo:#3F6B2D;
  --spec-microcirugia:#5B4B8A;
  --spec-trauma:#A83C32;
  --spec-general:#5B6578;
  --spec-industria:#9A9389;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;max-width:100%}
/* NOTE: overflow-x must not also be set on body — doing so makes the browser
   compute body's overflow-y as "auto", turning body into its own scroll
   container and breaking position:sticky for any descendant (e.g. .ns-hero-sticky). */
body{max-width:100%}
body{
  background:var(--cream);
  color:var(--ink);
  font-family:"Inter",system-ui,sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{
  font-family:"Sora",system-ui,sans-serif;
  font-weight:700;
  color:var(--navy);
  line-height:1.18;
  text-wrap:balance;
  letter-spacing:-.01em;
}
p{max-width:65ch}
ul{list-style:none}
table{border-collapse:collapse;width:100%}

.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}

.skip-link{
  position:absolute;left:12px;top:-60px;z-index:1000;
  background:var(--navy);color:#fff;padding:.7rem 1.2rem;border-radius:10px;
  font-weight:600;font-size:.9rem;transition:top .2s;
}
.skip-link:focus{top:12px}

.eyebrow{
  font-family:"Inter",sans-serif;
  font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-deep);
}
.mesh-bg .eyebrow, .hero-panel .eyebrow{color:var(--gold-soft)}

/* ============================= HEADER ============================= */
header.site{position:sticky;top:0;z-index:350;padding:16px clamp(14px,3vw,28px) 0}
.nav-pill{
  max-width:1180px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:1.2rem;
  padding:.6rem .6rem .6rem 1.3rem;
  background:rgba(247,243,236,.82);
  border:1px solid rgba(22,33,62,.08);
  border-radius:999px;
  box-shadow:0 1px 1px rgba(22,33,62,.04), 0 20px 40px -26px rgba(22,33,62,.4);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  position:relative;
}
.brand{
  display:flex;align-items:center;gap:.6rem;
  font-family:"Sora",sans-serif;font-weight:800;font-size:1.2rem;letter-spacing:-.01em;
  color:var(--navy);text-decoration:none;flex:0 0 auto;
}
.logomark{width:32px;height:30px;flex:0 0 auto;object-fit:cover;object-position:top;display:block}
.primary{display:flex;align-items:center;gap:1.7rem}
.primary a{
  font-size:.92rem;font-weight:600;color:var(--navy);opacity:.72;
  text-decoration:none;transition:opacity .2s,color .2s;white-space:nowrap;
}
.primary a:hover{opacity:1}
.primary a[aria-current="page"]{opacity:1;color:var(--gold-deep)}
.menu-toggle{
  display:none;border:0;background:var(--navy);color:#fff;
  font-weight:700;font-size:.85rem;padding:.6rem 1.1rem;border-radius:999px;cursor:pointer;
}

/* ============================= PILL BUTTONS ============================= */
.pill-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.72rem 1.5rem;border-radius:999px;
  font-family:"Inter",sans-serif;font-weight:700;font-size:.9rem;letter-spacing:-.005em;
  text-decoration:none;white-space:nowrap;cursor:pointer;border:0;
  transition:transform .2s,box-shadow .2s,filter .2s,background .2s,color .2s;
}
.pill-btn.gold{
  color:var(--navy-deep);
  background:linear-gradient(180deg,#F3E1B4 0%,var(--gold-soft) 24%,var(--gold) 78%,var(--gold-deep) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    0 2px 6px -2px rgba(156,118,39,.55),
    0 14px 26px -16px rgba(156,118,39,.65);
}
.pill-btn.gold:hover{transform:translateY(-1px);filter:brightness(1.05);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 18px 30px -14px rgba(156,118,39,.75)}
.pill-btn.glass{
  color:var(--navy);
  background:rgba(22,33,62,.05);
  box-shadow:inset 0 0 0 1.5px rgba(22,33,62,.28);
}
.pill-btn.glass:hover{background:rgba(22,33,62,.09);box-shadow:inset 0 0 0 1.5px rgba(22,33,62,.4)}
.mesh-bg .pill-btn.glass, .hero-panel .pill-btn.glass{
  color:#fff;background:rgba(255,255,255,.06);
  box-shadow:inset 0 0 0 1.5px rgba(247,243,236,.4);
}
.mesh-bg .pill-btn.glass:hover, .hero-panel .pill-btn.glass:hover{
  background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1.5px rgba(247,243,236,.65);
}
.pill-btn.pending{
  color:var(--ink-faint);background:transparent;
  box-shadow:inset 0 0 0 1.5px rgba(22,33,62,.18);
  cursor:default;
}

/* ============================= DARK MESH BACKGROUND (hero + page-header) ============================= */
.mesh-bg{
  position:relative;overflow:hidden;
  background:
    radial-gradient(60% 70% at 18% 0%, rgba(47,110,99,.35), transparent 60%),
    radial-gradient(55% 65% at 85% 15%, rgba(199,154,52,.22), transparent 55%),
    linear-gradient(180deg,var(--navy-deep) 0%,var(--navy) 100%);
}
.mesh-bg::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(247,243,236,.14) 1px, transparent 1.4px);
  background-size:26px 26px;
  mask-image:radial-gradient(75% 90% at 50% 20%, #000 40%, transparent 100%);
  -webkit-mask-image:radial-gradient(75% 90% at 50% 20%, #000 40%, transparent 100%);
}
.mesh-bg .wrap, .hero-panel .hero-inner{position:relative;z-index:1}

.hero-panel{padding:clamp(64px,9vw,120px) 0 clamp(56px,7vw,88px)}
.hero-inner{max-width:44rem;margin:0 auto;text-align:center}
.hero-inner h1{
  margin-top:1rem;font-size:clamp(2.1rem,4.6vw,3.3rem);color:#fff;
  text-shadow:0 0 40px rgba(199,154,52,.18);
}
.hero-inner .lede{
  margin-top:1.1rem;color:rgba(247,243,236,.78);font-size:1.08rem;
  max-width:42ch;margin-left:auto;margin-right:auto;
}
.hero-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:.85rem;margin-top:2rem}
.hero-badges{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.8rem;margin-top:2.2rem}

.badge{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.55rem 1.05rem;border-radius:999px;font-size:.85rem;font-weight:600;
  background:rgba(255,255,255,.07);border:1px solid rgba(247,243,236,.18);
  color:rgba(247,243,236,.9);backdrop-filter:blur(6px);
}
.badge .dot{width:7px;height:7px;border-radius:50%;background:var(--gold-soft);
  box-shadow:0 0 8px rgba(231,201,138,.9)}
.badge.gold{background:rgba(199,154,52,.16);border-color:rgba(199,154,52,.4);color:var(--gold-soft)}
.badge-card{
  text-align:left;padding:.65rem 1.15rem;border-radius:14px;
  background:rgba(255,255,255,.07);border:1px solid rgba(247,243,236,.16);
}
.badge-card .lbl{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-soft)}
.badge-card .val{font-size:1rem;font-weight:700;color:#fff;margin-top:.15rem}

.page-header{padding:clamp(52px,7vw,80px) 0 clamp(40px,5vw,58px)}
.page-header h1{margin-top:.8rem;font-size:clamp(1.9rem,3.6vw,2.6rem);color:#fff}
.page-header .dek{margin-top:1rem;color:rgba(247,243,236,.78);font-size:1.02rem;max-width:60ch}

/* ============================= CONTENT BLOCKS ============================= */
.block{padding:clamp(48px,7vw,76px) 0}
.block-head{max-width:640px;margin-bottom:2.2rem}
.block-head h2{margin-top:.6rem;font-size:clamp(1.6rem,3vw,2.1rem)}
.block-head p{margin-top:.9rem;color:var(--ink-soft)}

.card{
  background:var(--white);border-radius:var(--radius);
  padding:1.6rem 1.8rem;box-shadow:var(--shadow-sm);
  border:1px solid rgba(22,33,62,.06);
}
.card h3{font-size:1.15rem}
.card p{color:var(--ink-soft);margin-top:.6rem}
/* ============================= RESPONSIVE VIDEO EMBED (YouTube / Instagram) ============================= */
.video-embed{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--radius);
  overflow:hidden;background:var(--navy-deep);box-shadow:var(--shadow-md);margin-top:1.5rem}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-embed.portrait{aspect-ratio:9/16;max-width:380px;margin-left:auto;margin-right:auto}
.ig-embed-wrap{display:flex;justify-content:center;margin-top:1.5rem}

.placeholder-card{
  border:1.5px dashed rgba(22,33,62,.22);background:transparent;box-shadow:none;
  text-align:center;color:var(--ink-faint);font-weight:600;padding:2.4rem 1.5rem;
}

.mv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}

/* ---- flip cards (Misión / Visión) ---- */
.flip-card{perspective:1800px;height:380px;cursor:pointer;outline:none}
.flip-card-inner{position:relative;width:100%;height:100%;border-radius:var(--radius);
  box-shadow:var(--shadow-md);transition:transform .7s cubic-bezier(.22,1,.36,1);transform-style:preserve-3d}
.flip-card:hover .flip-card-inner,
.flip-card:focus-visible .flip-card-inner,
.flip-card.is-flipped .flip-card-inner{transform:rotateY(180deg)}
.flip-card-front,.flip-card-back{position:absolute;inset:0;backface-visibility:hidden;
  -webkit-backface-visibility:hidden;border-radius:var(--radius);overflow:hidden}
.flip-card-front{background:var(--navy-deep)}
.flip-card-front img{width:100%;height:100%;object-fit:cover;display:block;opacity:.88}
.flip-card-front::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(14,23,48,.05) 35%,rgba(14,23,48,.9) 100%)}
.flip-card-front-label{position:absolute;left:0;right:0;bottom:0;padding:1.4rem 1.6rem;z-index:1}
.flip-card-front-label h3{color:#fff}
.flip-card-front-label .flip-hint{display:block;margin-top:.35rem;font-size:.76rem;color:rgba(247,243,236,.72)}
.flip-card-back{background:#fff;border:1px solid var(--line);padding:1.7rem;transform:rotateY(180deg);
  display:flex;flex-direction:column;justify-content:center;overflow-y:auto}
.flip-card-back p{margin-top:.8rem;color:var(--ink-soft);font-size:.9rem;line-height:1.6}
@media (max-width:760px){.flip-card{height:420px}}
@media (prefers-reduced-motion:reduce){.flip-card-inner{transition:none}}
.research-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
.comunidad-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
.facility-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
.gallery-grid{columns:3 260px;column-gap:1.1rem;margin-top:.5rem}
.gallery-item{break-inside:avoid;margin:0 0 1.1rem;border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow-md);border:1px solid rgba(22,33,62,.06)}
.gallery-item img{display:block;width:100%;height:auto}
@media (max-width:760px){
  .gallery-grid{columns:2;column-gap:.7rem}
  .gallery-item{margin-bottom:.7rem}
}
@media (max-width:420px){
  .gallery-grid{column-gap:.5rem}
  .gallery-item{margin-bottom:.5rem;border-radius:10px}
}
.event-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.4rem}

.lead-name{margin-top:.5rem;font-weight:700;color:var(--teal)}
.lines{margin-top:.4rem;color:var(--ink-soft);font-size:.95rem}

.pub-list li{
  position:relative;padding:.65rem 0 .65rem 1.4rem;border-bottom:1px solid var(--line);
  color:var(--ink);font-weight:500;
}
.pub-list li::before{content:"";position:absolute;left:0;top:1.25rem;width:7px;height:7px;
  border-radius:50%;background:var(--gold)}
.pub-list li:last-child{border-bottom:0}

.event-card{
  --spec:var(--spec-general);
  background:var(--white);border-radius:16px;overflow:hidden;
  box-shadow:var(--shadow-md);border:1px solid rgba(22,33,62,.06);
  border-top:4px solid var(--spec);
  display:flex;flex-direction:column;
}
.event-card[data-specialty~="rodilla"]{--spec:var(--spec-rodilla)}
.event-card[data-specialty~="hombro"]{--spec:var(--spec-hombro)}
.event-card[data-specialty~="cadera"]{--spec:var(--spec-cadera)}
.event-card[data-specialty~="tobillo"]{--spec:var(--spec-tobillo)}
.event-card[data-specialty~="muneca"]{--spec:var(--spec-muneca)}
.event-card[data-specialty~="codo"]{--spec:var(--spec-codo)}
.event-card[data-specialty~="microcirugia"]{--spec:var(--spec-microcirugia)}
.event-card[data-specialty~="trauma"]{--spec:var(--spec-trauma)}
.event-img{position:relative;aspect-ratio:16/11;background:linear-gradient(150deg,var(--navy),var(--navy-deep))}
.event-img img{width:100%;height:100%;object-fit:cover;opacity:.94}
.event-img .event-dates{
  position:absolute;left:14px;bottom:14px;color:#fff;font-size:.76rem;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;background:var(--spec);
  padding:.35rem .7rem;border-radius:999px;
}
.event-img::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(14,23,48,0) 50%,rgba(14,23,48,.6) 100%);
  background:linear-gradient(180deg,rgba(14,23,48,0) 50%,color-mix(in srgb, var(--spec) 55%, rgba(14,23,48,.6)) 100%)}
.event-body{padding:1.6rem 1.8rem 1.8rem;display:flex;flex-direction:column;gap:.7rem;flex:1}
.event-card h4{font-family:"Sora",sans-serif;font-size:1.4rem;font-weight:700;color:var(--navy)}
.event-card .event-desc{color:var(--ink-soft);font-size:.95rem;flex:1}
.event-foot{display:flex;align-items:center;justify-content:space-between;margin-top:.4rem}
.ver-detalles{font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--navy);text-decoration:none}
.ver-detalles:hover{color:var(--gold-deep);text-decoration:underline}
.event-arrow{
  display:grid;place-items:center;width:42px;height:42px;border-radius:50%;flex:0 0 auto;
  box-shadow:inset 0 0 0 1.5px var(--gold);color:var(--gold-deep);font-size:1.15rem;
  transition:background .2s,transform .2s;
}
.event-arrow:hover{background:var(--gold);color:var(--navy-deep);transform:translate(1px,-1px)}
.event-month{margin-top:2.6rem}
.event-month:first-child{margin-top:0}
.cal-year-divider{display:flex;align-items:center;gap:1rem;margin:3.2rem 0 2rem}
.cal-year-divider::before,.cal-year-divider::after{content:"";flex:1;height:1px;background:var(--line)}
.cal-year-divider span{font-family:"Sora",sans-serif;font-weight:800;font-size:1.3rem;color:var(--gold-deep);
  flex:0 0 auto}
.event-month-head{
  display:flex;align-items:baseline;gap:1rem;margin-bottom:1.4rem;
  padding-bottom:.9rem;border-bottom:1px solid var(--line);
}
.event-month-head h3{font-family:"Sora",sans-serif;font-size:1.7rem;color:var(--navy)}
.event-month-head .count{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--gold-deep);background:rgba(199,154,52,.14);padding:.3rem .7rem;border-radius:999px}
@media (max-width:700px){
  .event-grid{grid-template-columns:1fr}
}

.tl-carousel-wrap{position:relative;margin-top:1.2rem;overflow:hidden}
.tl-carousel{display:flex;width:max-content;padding:.3rem .2rem 1.6rem;
  animation:tl-scroll 70s linear infinite;animation-play-state:paused}
.tl-carousel-wrap.tl-started .tl-carousel{animation-play-state:running}
.tl-carousel-wrap:hover .tl-carousel{animation-play-state:paused}
.tl-track{display:flex;gap:1.2rem;margin-right:1.2rem}
@keyframes tl-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.tl-card{flex:0 0 280px;background:#fff;border:1px solid var(--line);border-radius:16px;
  overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s}
.tl-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.tl-card img{width:100%;height:150px;object-fit:cover;display:block}
.tl-card-body{padding:1.3rem 1.4rem 1.5rem}
.tl-yr{display:inline-block;font-family:"Sora",sans-serif;font-weight:800;font-size:1.5rem;color:var(--gold-deep)}
.tl-card h4{margin-top:.3rem;font-size:1.02rem;font-weight:700;color:var(--navy)}
.tl-card p{margin-top:.5rem;font-size:.88rem;line-height:1.55;color:var(--ink-soft);
  display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
@media (prefers-reduced-motion:reduce){
  .tl-carousel{animation:none}
}

.legal-fine{margin-top:1.1rem;font-size:.83rem;color:var(--ink-faint);line-height:1.55}
.legal-fine a{color:var(--gold-deep);font-weight:600}

.cert-card{max-width:38rem}
.field-row{display:flex;gap:.7rem;flex-wrap:wrap}
.field-row input{
  flex:1;min-width:200px;padding:.85rem 1.1rem;border-radius:12px;
  border:1.5px solid var(--line);font:inherit;color:var(--ink);background:var(--cream);
}
.field-row input:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.cert-msg{margin-top:1rem;font-size:.92rem;font-weight:600;color:var(--teal);min-height:1.3em}
.cert-msg.error{color:#a4482f}
.cert-note{margin-top:1rem;font-size:.88rem;color:var(--ink-soft);max-width:44rem}
.cert-note a{color:var(--gold-deep);font-weight:700}

.policy-list{display:grid;gap:1rem}
.policy-item h3{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;font-size:1.05rem}
.req{font-family:"Inter",sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;padding:.25rem .6rem;border-radius:999px}
.req.obligatoria{background:rgba(164,72,47,.12);color:#a4482f}
.req.recomendada{background:rgba(199,154,52,.16);color:var(--gold-deep)}
.policy-status{margin-top:.7rem;font-size:.85rem;font-style:italic;color:var(--ink-faint)}

.news-list{display:grid;gap:0}
.news-item{display:flex;gap:1.3rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}
.news-item:last-child{border-bottom:0}
.news-date{flex:0 0 auto;width:6rem;font-size:.82rem;font-weight:700;color:var(--gold-deep);
  font-variant-numeric:tabular-nums;padding-top:.15rem}
.news-item h3{font-size:1.02rem}
.news-item p{color:var(--ink-soft);margin-top:.3rem;font-size:.94rem}

.chip-row{display:flex;flex-wrap:wrap;gap:.45rem}
.chip{
  font-size:.78rem;font-weight:600;padding:.35rem .7rem;border-radius:999px;
  background:var(--cream-deep);color:var(--navy);
}

.legal-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:1.5rem}
.legal-table, .route-table{font-size:.92rem}
.legal-table th, .route-table th{
  text-align:left;font-size:.74rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:var(--ink-faint);padding:0 .9rem .6rem;border-bottom:2px solid var(--navy);
}
.legal-table td, .route-table td{
  padding:.75rem .9rem;border-bottom:1px solid var(--line);color:var(--ink);vertical-align:top;
}
.legal-table tr:last-child td, .route-table tr:last-child td{border-bottom:0}
.route-table-wrap{overflow-x:auto;background:var(--white);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);padding:.6rem}
.legal-table{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-sm);
  padding:.6rem;display:block;overflow-x:auto}

.facility-card{position:relative;padding-top:2.2rem}
.facility-card .tag{
  position:absolute;top:1.2rem;left:1.5rem;font-size:.7rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--teal);
}

.channel-list{display:grid;gap:.7rem}
.channel-item{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem;
  padding:1rem 1.3rem;background:var(--white);border-radius:14px;box-shadow:var(--shadow-sm);
}
.channel-item .name{font-weight:700;color:var(--navy)}
.channel-item .name a{color:var(--teal)}
.channel-item.retired{opacity:.55}
.channel-item.retired .name{text-decoration:line-through}
.status{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;font-weight:700}
.status .dot{width:8px;height:8px;border-radius:50%}
.status.activo{color:var(--teal)}
.status.activo .dot{background:var(--teal)}
.status.nuevo{color:var(--gold-deep)}
.status.nuevo .dot{background:var(--gold)}
.status.baja{color:var(--ink-faint)}
.status.baja .dot{background:var(--ink-faint)}

/* ============================= FOOTER ============================= */
footer.site{background:var(--navy-deep);color:rgba(247,243,236,.82);padding:clamp(48px,7vw,72px) 0 2rem;margin-top:1rem}
footer .brand{color:#fff}
footer h4{color:var(--gold-soft);font-size:.78rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;margin-bottom:1rem}
footer .footer-grid > div > p{margin-top:.9rem;font-size:.9rem;color:rgba(247,243,236,.62);max-width:26rem}
footer ul{display:grid;gap:.6rem}
footer ul li{font-size:.9rem;color:rgba(247,243,236,.62)}
footer ul li a{text-decoration:none;color:rgba(247,243,236,.78);transition:color .2s}
footer ul li a:hover{color:#fff}
.footer-bottom{
  margin-top:2.6rem;padding-top:1.6rem;border-top:1px solid rgba(247,243,236,.14);
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem;
  font-size:.8rem;color:rgba(247,243,236,.5);
}
.footer-policies{display:flex;flex-wrap:wrap;gap:1.1rem}
.footer-policies a{text-decoration:none;color:rgba(247,243,236,.55);transition:color .2s}
.footer-policies a:hover{color:#fff}

/* ============================= RESPONSIVE ============================= */
@media (max-width:900px){
  .primary{
    position:absolute;top:calc(100% + 10px);left:0;right:0;
    background:var(--cream);border:1px solid rgba(22,33,62,.08);border-radius:20px;
    box-shadow:var(--shadow-md);flex-direction:column;align-items:stretch;gap:0;
    padding:.6rem;opacity:0;visibility:hidden;transform:translateY(-6px);
    transition:opacity .2s,transform .2s,visibility .2s;
  }
  .primary a{padding:.85rem 1rem;border-radius:12px}
  .primary a:hover{background:rgba(22,33,62,.05)}
  .nav-pill.open .primary{opacity:1;visibility:visible;transform:none}
  .menu-toggle{display:inline-flex;align-items:center}
  .nav-pill > .pill-btn.gold{display:none}
  .legal-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .mv-grid, .research-grid, .comunidad-grid, .facility-grid, .footer-grid{
    grid-template-columns:1fr !important;
  }
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .news-item{flex-direction:column;gap:.3rem}
  .news-date{width:auto}
}
@media (max-width:560px){
  .card[style*="justify-content:space-between"]{flex-direction:column;align-items:flex-start !important}
}

/* =========================================================================
   HOME HERO SHOWCASE — badge / glow-button pixel contracts + 3D carousel
   + browser mock, adapted from the Vertex-Shops template to CLEMI's palette.
   Namespaced with "v-" so nothing here collides with the rest of the site.
   ========================================================================= */
.v-stage{position:relative;width:100%;height:94vh;min-height:660px;max-height:920px;
  overflow:hidden;background:var(--navy-deep)}
.v-stage.mesh-bg::before{
  mask-image:radial-gradient(75% 100% at 50% 10%, #000 40%, transparent 100%);
  -webkit-mask-image:radial-gradient(75% 100% at 50% 10%, #000 40%, transparent 100%);
}
.v-canvas{position:absolute;left:50%;top:0;width:1172px;height:657px;
  transform:translateX(-50%) scale(var(--vk,1));transform-origin:50% 0}
.v-canvas>*{position:absolute}

/* ---- badge (PIXEL CONTRACT A) ---- */
.v-badge{left:462px;top:95px;width:250px;height:39px;border-radius:12px;z-index:300;
  border:1px solid rgba(255,255,255,.115);
  background:linear-gradient(to top,
    rgba(231,201,138,.175) 0px, rgba(231,201,138,.128) 2px, rgba(231,201,138,.075) 4px,
    rgba(231,201,138,.026) 6px, rgba(255,255,255,.012) 9px, rgba(255,255,255,.012) 100%);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.v-badge i{position:absolute;left:4px;top:4px;width:29px;height:29px;border-radius:8px;
  display:grid;place-items:center;
  background:linear-gradient(to top,
    #8FB6AC 0px, #6FA599 2px, #2F6E63 4px, #26594F 6px, #1E453D 8px,
    #17362F 10px, #122A25 12px, #182031 14px, #131B33 16px, #101628 19px,
    #0D1220 23px, #0E1730 29px);
  box-shadow:inset 1px 0 0 rgba(210,235,228,.40),
    inset -1px 0 0 rgba(210,235,228,.5),
    0 0 6px rgba(47,110,99,.30), 0 3px 8px -5px rgba(47,110,99,.6)}
.v-badge i svg{width:14px;height:14px;position:relative}
.v-badge b{position:absolute;left:45px;top:0;height:39px;
  display:flex;align-items:center;
  font-size:13px;font-weight:400;color:rgba(255,255,255,.94);white-space:nowrap;
  padding-top:1.5px;font-family:"Inter",sans-serif}

/* ---- glow button (PIXEL CONTRACT B) ---- */
.v-btn{display:grid;place-items:center;color:#fff;position:relative;overflow:hidden;
  font-family:"Inter",sans-serif;
  background:linear-gradient(to top,
    #F7ECD2 1px, #F1E0AF 2px, #E9CD86 3px, #DAB662 4px, #C79A34 5px,
    #AC8530 6px, #93712B 7px, #7D6127 8px, #695122 9px, #55421C 10px,
    #413317 12px, #362B18 13px, #2C2419 14px, #221E1B 16px,
    #1D1B1E 18px, #171821 20px, #121423 24px, #0F1226 30px,
    #0E1730 34px, #0E1730 100%);
  box-shadow:
    inset 0 3px 3px -2px rgba(233,214,168,.10),
    inset 1px 0 0 rgba(255,255,255,.09),
    inset -1px 0 0 rgba(255,255,255,.09),
    var(--vhair,0 1px 0 rgba(222,190,120,.38)),
    1px 0 0 rgba(222,190,120,.17), -1px 0 0 rgba(222,190,120,.17),
    0 0 8px rgba(199,154,52,.10),
    0 2px 5px -3px rgba(224,187,100,.45);
  transition:transform .25s,box-shadow .25s,filter .25s}
.v-btn::before{content:"";position:absolute;left:22%;right:38%;top:.8px;height:1.9px;z-index:1;
  filter:blur(.55px);
  background:linear-gradient(90deg,rgba(238,218,168,0) 0%,rgba(238,218,168,.58) 34%,
    rgba(247,233,196,.74) 50%,rgba(238,218,168,.58) 66%,rgba(238,218,168,0) 100%)}
.v-btn::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1;
  background:linear-gradient(90deg,rgba(240,224,180,.70),rgba(240,224,180,0) 13px),
             linear-gradient(270deg,rgba(240,224,180,.70),rgba(240,224,180,0) 13px);
  -webkit-mask:linear-gradient(to top,#000 0,#000 6px,rgba(0,0,0,.40) 12px,
    rgba(0,0,0,.15) 18px,rgba(0,0,0,.09) 24px,rgba(0,0,0,.02) 30px,rgba(0,0,0,.02) 100%);
          mask:linear-gradient(to top,#000 0,#000 6px,rgba(0,0,0,.40) 12px,
    rgba(0,0,0,.15) 18px,rgba(0,0,0,.09) 24px,rgba(0,0,0,.02) 30px,rgba(0,0,0,.02) 100%)}
.v-btn{text-decoration:none;white-space:nowrap}
.v-btn span{position:relative;z-index:2;display:block;line-height:1;font-weight:600;
  text-decoration:none;text-shadow:0 1px 2px rgba(20,14,0,.5)}
.v-btn:hover{transform:translateY(-1px);filter:brightness(1.12);
  box-shadow:inset 0 1px 0 rgba(240,224,180,.6),inset 1px 0 0 rgba(220,196,140,.35),
             inset -1px 0 0 rgba(220,196,140,.35),0 6px 22px rgba(190,150,70,.55)}
.v-cta-row{left:586px;top:349px;transform:translateX(-50%);
  display:flex;align-items:center;gap:14px;z-index:300}
.v-cta2,.v-cta3{width:190px;height:54.5px;padding:0 14px;
  --vhair:0 0 0 transparent;border-radius:13px;font-size:17px;letter-spacing:-.01em}
.v-cta2::before,.v-cta3::before{display:none}
.v-cta3{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1.5px rgba(247,243,236,.4)}
.v-cta3:hover{background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1.5px rgba(247,243,236,.6);filter:none}
.v-cta3::after{display:none}

/* ---- hero type ---- */
.v-h1{left:586px;transform:translateX(-50%);white-space:nowrap;line-height:1;
  font-family:"Sora",sans-serif;font-weight:800;font-size:44px;letter-spacing:-.01em;
  color:#fff;text-shadow:0 0 34px rgba(199,154,52,.18);z-index:300}
#v-h1a{top:158px}
#v-h1b{top:214px}
.v-sub{left:586px;transform:translateX(-50%);white-space:nowrap;line-height:1.3;
  font-size:14px;color:#c7cbd4;z-index:300;font-family:"Inter",sans-serif}
.v-sub b{font-weight:700;color:#fff}
#v-sub1{top:288px}
#v-sub2{top:308px}

/* ---- 3D carousel ring ---- */
.v-showcase{left:0;top:0;width:1172px;height:0}
.v-ring{left:0;top:0;width:1172px;height:657px;z-index:5;
  perspective:891px;perspective-origin:586px 918px;transform-style:preserve-3d;
  pointer-events:none}
.v-card{position:absolute;left:586px;top:616px;width:130px;height:300px;
  margin:-150px 0 0 -65px;border-radius:12px;overflow:hidden;background:#10141f;
  box-shadow:0 24px 46px rgba(0,0,0,.6),0 3px 8px rgba(0,0,0,.5);
  backface-visibility:hidden;will-change:transform}
.v-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v-card .v-scrim{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(6,10,20,0) 40%,rgba(6,10,20,.92) 88%)}
.v-card .v-cap{position:absolute;left:10px;right:10px;bottom:10px}
.v-card .v-cap .v-dt{font-size:8px;font-weight:700;letter-spacing:.12em;color:var(--gold-soft);
  text-transform:uppercase;margin-bottom:3px;font-family:"Inter",sans-serif}
.v-card .v-cap .v-tt{font-size:10.5px;font-weight:700;line-height:1.2;color:#fff;
  font-family:"Sora",sans-serif}
.v-card .v-edge{position:absolute;inset:0;border-radius:12px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.15),inset 0 16px 30px rgba(255,255,255,.05)}
.v-card.broken img{display:none}

/* ---- floating WhatsApp (this page only) ---- */
.v-wa{position:fixed;right:16px;bottom:24px;width:56px;height:56px;border-radius:50%;
  background:#25d366;display:grid;place-items:center;z-index:500;
  box-shadow:0 8px 20px rgba(0,0,0,.5)}
.v-wa svg{width:29px;height:29px}
.v-wa::after{content:"";position:absolute;inset:0;border-radius:50%;
  border:2px solid rgba(37,211,102,.5);animation:v-pulse 2.8s ease-out infinite}
@keyframes v-pulse{0%{transform:scale(1);opacity:.75}70%{transform:scale(1.4);opacity:0}100%{opacity:0}}

/* ---- entrance timeline ---- */
html.v-intro .v-badge{opacity:0;translate:0 11px;scale:.985}
html.v-intro .v-h1{opacity:0;translate:0 15px;clip-path:inset(100% 0 -30% 0)}
html.v-intro .v-sub{opacity:0;translate:0 10px}
html.v-intro .v-cta-row{opacity:0;translate:0 13px;scale:.985}
html.v-intro .v-ring{opacity:0;translate:0 18px;scale:.99}
@media (prefers-reduced-motion:reduce){
  html.v-intro *{opacity:1!important;translate:none!important;scale:none!important;clip-path:none!important}
}

/* ---- responsive ---- */
@media (max-width:700px){
  .v-stage{height:auto;min-height:auto;max-height:none}
  .v-canvas{position:relative;left:auto;top:auto;width:100%;height:auto;
    transform:none;display:flex;flex-direction:column;align-items:center;
    padding:40px 20px 32px}
  .v-canvas>*{position:static}
  .v-badge{position:relative;left:auto;top:auto;margin-top:0;width:auto;max-width:100%;
    height:auto;min-height:36px;border-radius:18px;flex:0 0 auto}
  .v-badge b{position:relative;left:auto;top:auto;height:auto;padding:9px 15px 9px 42px;
    font-size:12.5px;white-space:normal}
  .v-badge i{top:4px;left:4px}
  .v-h1{position:relative;left:auto;transform:none;white-space:normal;text-align:center;
    font-size:clamp(26px,8vw,34px);line-height:1.1;max-width:11em}
  #v-h1a{top:auto;margin-top:22px}
  #v-h1b{top:auto;margin-top:2px}
  .v-sub{position:relative;left:auto;transform:none;white-space:normal;text-align:center;
    font-size:clamp(14px,3.9vw,15.5px);line-height:1.5;max-width:340px}
  #v-sub1{top:auto;margin-top:16px}
  #v-sub2{top:auto;margin-top:0}
  .v-cta-row{transform:none;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}
  .v-cta2,.v-cta3{width:auto;min-width:160px;height:52px;padding:0 22px;font-size:15px}
  .v-showcase{position:relative;width:100%;height:260px;margin-top:32px;flex:0 0 auto}
  .v-ring{position:absolute;left:50%;margin-left:-586px;top:-380px;width:1172px;height:657px;
    transform-origin:586px 380px;transform:scale(.62)}
}

/* ---- month selector (Calendario / Entrenamientos) ---- */
.month-nav{
  display:flex;gap:.55rem;overflow-x:auto;margin-bottom:2.6rem;padding-bottom:.3rem;
  scrollbar-width:none;
}
.month-nav::-webkit-scrollbar{display:none}
.month-nav a{
  flex:0 0 auto;padding:.55rem 1.1rem;border-radius:999px;font-size:.86rem;font-weight:700;
  color:var(--navy);background:var(--white);box-shadow:inset 0 0 0 1px var(--line);
  white-space:nowrap;transition:background .2s,color .2s,box-shadow .2s;
}
.month-nav a:hover{background:var(--navy);color:var(--cream);box-shadow:inset 0 0 0 1px var(--navy)}
.event-month{scroll-margin-top:96px}

.filter-bar{display:flex;flex-direction:column;gap:.85rem;margin:2.6rem auto 0;padding-top:1px}
.filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.filter-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-soft);margin-right:.2rem}
.filter-chip{flex:0 0 auto;padding:.5rem 1.05rem;border-radius:999px;font-size:.84rem;font-weight:700;
  color:var(--navy);background:var(--white);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;
  border:0;font-family:inherit;transition:background .2s,color .2s,box-shadow .2s}
.filter-chip:hover{box-shadow:inset 0 0 0 1px var(--navy)}
.filter-chip.active{background:var(--navy);color:var(--cream);box-shadow:inset 0 0 0 1px var(--navy)}
.filter-chip.active[data-filter-specialty="rodilla"]{background:var(--spec-rodilla);box-shadow:inset 0 0 0 1px var(--spec-rodilla)}
.filter-chip.active[data-filter-specialty="hombro"]{background:var(--spec-hombro);box-shadow:inset 0 0 0 1px var(--spec-hombro)}
.filter-chip.active[data-filter-specialty="cadera"]{background:var(--spec-cadera);box-shadow:inset 0 0 0 1px var(--spec-cadera)}
.filter-chip.active[data-filter-specialty="tobillo"]{background:var(--spec-tobillo);box-shadow:inset 0 0 0 1px var(--spec-tobillo)}
.filter-chip.active[data-filter-specialty="muneca"]{background:var(--spec-muneca);box-shadow:inset 0 0 0 1px var(--spec-muneca)}
.filter-chip.active[data-filter-specialty="codo"]{background:var(--spec-codo);box-shadow:inset 0 0 0 1px var(--spec-codo)}
.filter-chip.active[data-filter-specialty="microcirugia"]{background:var(--spec-microcirugia);box-shadow:inset 0 0 0 1px var(--spec-microcirugia)}
.filter-chip.active[data-filter-specialty="trauma"]{background:var(--spec-trauma);box-shadow:inset 0 0 0 1px var(--spec-trauma)}
.filter-chip.active[data-filter-specialty="general"]{background:var(--spec-general);box-shadow:inset 0 0 0 1px var(--spec-general)}

/* =========================================================================
   HOMEPAGE CINEMATIC HERO ("Aura" template, adapted to CLEMI)
   Namespaced "au-" so nothing collides with the rest of the site.
   ========================================================================= */
.au-page{position:relative;background:var(--cream);color:var(--navy);overflow:hidden}
.au-page::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(60% 50% at 20% 0%, rgba(47,110,99,.07), transparent 60%),
    radial-gradient(55% 55% at 85% 10%, rgba(199,154,52,.09), transparent 55%);
}
.au-guide{display:none;pointer-events:none;position:absolute;top:0;bottom:0;width:1px;background:var(--line);z-index:1}
@media (min-width:1180px){
  .au-guide{display:block}
  .au-guide.left{left:calc(50% - 36rem)}
  .au-guide.right{right:calc(50% - 36rem)}
}
.au-section{position:relative;z-index:2;max-width:72rem;margin:0 auto;padding:0 24px}

/* ---- reveal-on-scroll (approximates the framer-motion fades) ---- */
.au-reveal{opacity:0;translate:0 20px;transition:opacity .7s cubic-bezier(.22,1,.36,1),translate .7s cubic-bezier(.22,1,.36,1)}
.au-reveal.au-in{opacity:1;translate:0 0}
@media (prefers-reduced-motion:reduce){.au-reveal{opacity:1;translate:0 0;transition:none}}

/* ---- hero ---- */
.au-hero{padding:clamp(64px,10vw,120px) 24px clamp(56px,8vw,88px);text-align:center;
  display:flex;flex-direction:column;align-items:center}
.au-h1{font-size:clamp(2.4rem,6.4vw,4.4rem);font-weight:800;letter-spacing:-.02em;line-height:.98;
  font-family:"Inter",sans-serif;color:#fff}
.au-shiny{
  display:block;
  background-image:linear-gradient(to right,
    #0E1730 0%, #16213E 12.5%, #E7C98A 32.5%, #C79A34 50%,
    #16213E 67.5%, #0E1730 87.5%, #0E1730 100%);
  background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  animation:au-shiny 6s linear infinite;
}
@keyframes au-shiny{0%{background-position:-200% center}100%{background-position:200% center}}
.au-lede{margin-top:1.8rem;color:rgba(247,243,236,.68);max-width:34rem;font-size:1.02rem;line-height:1.6}
.au-cta-row{margin-top:2.2rem;display:flex;flex-direction:column;align-items:center;gap:.85rem}
.au-btn{
  display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;
  background:#fff;color:var(--navy-deep);font-weight:600;font-size:.92rem;
  padding:.85rem 1.4rem;transition:transform .2s,background .2s;
}
.au-btn:hover{background:#f2ede2;transform:translateY(-1px)}
.au-btn svg{width:16px;height:16px;transition:translate .2s}
.au-btn:hover svg{translate:2px 0}
.au-caption{font-size:.76rem;color:rgba(247,243,236,.4)}

/* ---- decorative top bar ---- */
.au-bar{position:relative;z-index:2;height:44px;background:rgba(10,18,32,.55);
  backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.au-bar-inner{max-width:72rem;margin:0 auto;padding:0 24px;height:100%;display:flex;align-items:center;justify-content:space-between;font-size:.78rem}
.au-bar-left{display:flex;align-items:center;gap:18px;min-width:0;overflow:hidden}
.au-bar-brand{display:flex;align-items:center;gap:8px;font-weight:800;color:#fff}
.au-bar-logo{width:16px;height:16px;object-fit:cover;object-position:top;border-radius:3px}
.au-bar-menu{display:flex;align-items:center;gap:16px}
.au-bar-menu a{color:rgba(247,243,236,.62);transition:color .2s;white-space:nowrap}
.au-bar-menu a:hover{color:#fff}
.au-bar-menu a:nth-child(n+3){display:none}
.au-bar-menu a:nth-child(-n+2){display:inline}
@media (min-width:640px){.au-bar-menu a:nth-child(-n+4){display:inline}}
@media (min-width:860px){.au-bar-menu a{display:inline}}
.au-bar-right{display:flex;align-items:center;gap:8px;color:rgba(247,243,236,.55);flex:0 0 auto}
.au-bar-right svg{width:13px;height:13px;flex:0 0 auto}
.au-bar-right span{white-space:nowrap}
@media (max-width:480px){
  .au-bar-inner{gap:8px}
  .au-bar-right span{display:none}
}

/* ---- platform mock (replaces the "inbox") ---- */
.au-mockwrap{padding:clamp(48px,8vw,88px) 24px}
.au-mock{max-width:72rem;margin:0 auto;border-radius:18px;overflow:hidden;
  border:1px solid rgba(255,255,255,.12);background:rgba(10,18,32,.82);backdrop-filter:blur(20px);
  box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.au-mock-title{position:relative;height:38px;display:flex;align-items:center;padding:0 16px;
  border-bottom:1px solid rgba(255,255,255,.08)}
.au-mock-dots{display:flex;gap:6px}
.au-mock-dots i{width:10px;height:10px;border-radius:50%}
.au-mock-dots i:nth-child(1){background:#ff5f57}.au-mock-dots i:nth-child(2){background:#febc2e}.au-mock-dots i:nth-child(3){background:#28c840}
.au-mock-title span{position:absolute;left:50%;transform:translateX(-50%);font-size:.74rem;color:rgba(247,243,236,.5)}
.au-mock-body{display:grid;grid-template-columns:1fr 1.35fr 1.7fr;min-height:480px}
.au-mock-side{border-right:1px solid rgba(255,255,255,.08);padding:16px;background:rgba(0,0,0,.15)}
.au-mock-compose{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;
  background:#fff;color:var(--navy-deep);font-weight:700;font-size:.78rem;padding:.6rem;border-radius:10px;margin-bottom:14px}
.au-mock-nav{display:flex;flex-direction:column;gap:2px}
.au-mock-nav a{display:flex;align-items:center;justify-content:space-between;padding:.5rem .6rem;border-radius:8px;
  font-size:.82rem;color:rgba(247,243,236,.65)}
.au-mock-nav a:hover{background:rgba(255,255,255,.05)}
.au-mock-nav a.active{background:rgba(255,255,255,.1);color:#fff}
.au-mock-nav a span.n{font-size:.68rem;color:rgba(247,243,236,.4)}
.au-mock-labels{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.au-mock-labels h5{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(247,243,236,.4);margin-bottom:8px}
.au-mock-labels .row{display:flex;align-items:center;gap:8px;font-size:.78rem;color:rgba(247,243,236,.7);padding:4px 0}
.au-mock-labels .dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto}
.au-mock-list{border-right:1px solid rgba(255,255,255,.08);overflow-y:auto}
.au-mock-search{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);
  color:rgba(247,243,236,.4);font-size:.78rem}
.au-mock-search svg{width:13px;height:13px;flex:0 0 auto}
.au-mock-item{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.06);cursor:default}
.au-mock-item.active{background:rgba(255,255,255,.06)}
.au-mock-item .row1{display:flex;align-items:center;justify-content:space-between;gap:8px}
.au-mock-item .name{font-size:.82rem;font-weight:700;color:#fff}
.au-mock-item.unread .name::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:6px}
.au-mock-item .time{font-size:.68rem;color:rgba(247,243,236,.4);flex:0 0 auto}
.au-mock-item .subj{font-size:.78rem;color:rgba(247,243,236,.85);margin-top:2px}
.au-mock-item .prev{font-size:.74rem;color:rgba(247,243,236,.45);margin-top:2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.au-mock-reader{padding:18px 20px;overflow-y:auto}
.au-mock-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.au-mock-toolbar .grp{display:flex;gap:4px}
.au-mock-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:rgba(247,243,236,.7)}
.au-mock-icon:hover{background:rgba(255,255,255,.06)}
.au-mock-icon svg{width:14px;height:14px}
.au-mock-r-title{font-size:1.15rem;font-weight:700;color:#fff}
.au-mock-r-meta{display:flex;align-items:center;gap:10px;margin-top:10px}
.au-mock-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--gold-soft),var(--navy));
  display:grid;place-items:center;font-size:.72rem;font-weight:800;color:#fff;flex:0 0 auto}
.au-mock-r-meta .who b{font-size:.82rem;color:#fff;display:block}
.au-mock-r-meta .who span{font-size:.72rem;color:rgba(247,243,236,.45)}
.au-mock-pill{margin-left:auto;font-size:.68rem;font-weight:700;letter-spacing:.04em;padding:.25rem .6rem;
  border-radius:999px;background:rgba(199,154,52,.18);color:var(--gold-soft)}
.au-mock-info{margin-top:16px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08)}
.au-mock-info .lbl{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-soft)}
.au-mock-info p{font-size:.78rem;color:rgba(247,243,236,.72);margin-top:4px;line-height:1.5}
.au-mock-body-text{margin-top:16px;font-size:.84rem;line-height:1.6;color:rgba(247,243,236,.72)}
.au-mock-body-text p{margin-top:12px}
.au-mock-body-text p:first-child{margin-top:0}
.au-mock-sign{color:rgba(247,243,236,.45) !important}
.au-mock-attach{margin-top:16px;display:inline-flex;align-items:center;gap:6px;font-size:.76rem;
  color:rgba(247,243,236,.7);background:rgba(255,255,255,.05);padding:.4rem .7rem;border-radius:8px;
  border:1px solid rgba(255,255,255,.08)}
.au-mock-attach svg{width:13px;height:13px}
@media (max-width:900px){
  .au-mock-body{grid-template-columns:1fr;min-height:0}
  .au-mock-side{display:none}
  .au-mock-list{border-right:0;max-height:280px}
  .au-mock-reader{border-top:1px solid rgba(255,255,255,.08)}
}

/* ---- feature / organization section ---- */
.au-feat{padding:clamp(56px,8vw,96px) 24px}
.au-feat-top{max-width:40rem;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center}
.au-feat h2{margin-top:1.1rem;font-size:clamp(1.7rem,3.4vw,2.6rem);font-weight:700;letter-spacing:-.015em;line-height:1.08;color:var(--navy)}
.au-feat p.desc{margin-top:1.2rem;color:var(--ink-soft);font-size:.98rem;line-height:1.6;max-width:32rem}
.au-chip-row{margin-top:1.6rem;font-size:.92rem;font-weight:600;color:var(--ink-soft)}
.au-chip-row .dot{margin:0 .5rem;color:var(--gold-deep)}
.au-glass{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.3rem;box-shadow:var(--shadow-md)}
.au-glass-eyebrow{font-size:.78rem;color:var(--ink-faint);margin-bottom:1rem;text-align:center}
.au-slider-wrap{max-width:72rem;margin:2.6rem auto 0}
.au-slider{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.2rem .2rem 1rem;scrollbar-width:none}
.au-slider::-webkit-scrollbar{display:none}
.au-slide{flex:0 0 260px;scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:1.1rem 1.2rem;box-shadow:var(--shadow-sm)}
.au-slide .head{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;font-size:.92rem;font-weight:700;color:var(--navy)}
.au-slide .head>span:last-child{flex:0 0 auto;color:var(--ink-soft);font-weight:600}
.au-slide .head .sw{width:8px;height:8px;border-radius:50%;margin-right:8px;display:inline-block;flex:0 0 auto}
.au-slide .items{margin-top:8px;font-size:.82rem;color:var(--ink-soft);line-height:1.5}
.au-slide.au-slide-course{padding:0;overflow:hidden;display:block;text-decoration:none;
  transition:transform .2s,box-shadow .2s}
.au-slide.au-slide-course:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.au-slide-img{height:140px;overflow:hidden;background:var(--cream-deep)}
.au-slide-img img{width:100%;height:100%;object-fit:cover;display:block}
.au-slide-body{padding:1rem 1.1rem 1.2rem}
.au-slide-date{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--gold-deep)}
.au-slide-course h4{margin-top:.4rem;font-size:.95rem;font-weight:700;color:var(--navy);line-height:1.3}

/* ---- alliances (reduced, honest logo cloud) ---- */
.au-allies{padding:56px 24px;text-align:center}
.au-allies .kicker{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}
.cm-brand.logo-only{padding:.65rem 1.05rem}
.au-sccot-center{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1rem 0}
.au-sccot-logo{width:92px;height:92px;object-fit:contain;background:#fff;border-radius:50%;
  padding:.5rem;box-shadow:inset 0 0 0 1.5px var(--gold-deep), var(--shadow-sm)}
.au-sccot-center small{font-size:.72rem;letter-spacing:.03em;color:var(--ink-faint)}

/* ---- testimonials ---- */
.au-testi{padding:clamp(56px,8vw,96px) 24px;border-top:1px solid var(--line)}
.au-testi-grid{max-width:72rem;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.au-testi-stars{color:var(--gold-deep);font-size:.9rem;letter-spacing:.15em;margin-bottom:.7rem}
.au-testi-card blockquote{font-size:.92rem;color:var(--navy);line-height:1.6}
.au-testi-card figcaption{margin-top:1.4rem;padding-top:1.1rem;border-top:1px solid var(--line);
  display:flex;align-items:center;gap:.7rem}
.au-testi-avatar{width:38px;height:38px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;
  font-family:"Sora",sans-serif;font-weight:800;font-size:.78rem;color:#fff;
  background:linear-gradient(160deg,var(--gold-soft),var(--gold-deep))}
.au-testi-who b{display:block;font-size:.86rem;color:var(--navy)}
.au-testi-who span{display:block;font-size:.76rem;color:var(--ink-faint);margin-top:2px}
@media (max-width:860px){.au-testi-grid{grid-template-columns:1fr}}

/* ---- formatos (pricing section, no $ shown) ---- */
.au-formats{position:relative;padding:40px 20px 80px;display:flex;flex-direction:column;align-items:center;overflow-x:hidden}
.au-watermark{position:relative;width:100%;max-width:1100px;text-align:center;z-index:2}
.au-watermark-main{font-size:clamp(2.4rem,9vw,6.5rem);font-weight:800;line-height:.92;letter-spacing:-.03em;
  display:flex;flex-direction:column;align-items:center;opacity:.9}
.au-watermark-line1{color:var(--navy)}
.au-watermark-line2{background:linear-gradient(to right,#0E1730 0%,#16213E 25%,#E7C98A 65%,#C79A34 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.au-formats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;width:100%;max-width:1100px;
  margin-top:52px;position:relative;z-index:3}
.au-fcard{background:#fff;border:1px solid var(--line);border-radius:28px;padding:2.2rem 1.5rem;min-height:480px;
  display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:all .5s cubic-bezier(.22,1,.36,1)}
.au-fcard:hover{transform:translateY(-8px);border-color:var(--gold)}
.au-fcard.pro{background:linear-gradient(135deg,rgba(199,154,52,.08),#fff)}
.au-f-tier{font-size:1rem;color:var(--ink-soft)}
.au-f-price{font-size:1.5rem;font-weight:700;color:var(--navy);margin-top:.4rem}
.au-f-desc{font-size:.85rem;color:var(--ink-faint);min-height:3rem;margin:.9rem 0 1.6rem;line-height:1.5}
.au-f-list{flex:1}
.au-f-list li{display:flex;align-items:flex-start;gap:.7rem;font-size:.86rem;color:var(--ink-soft);margin-bottom:.85rem;line-height:1.4}
.au-f-check{width:20px;height:20px;border-radius:50%;background:var(--gold);display:inline-flex;
  align-items:center;justify-content:center;flex:0 0 auto;margin-top:1px}
.au-f-check svg{width:11px;height:11px}
.au-f-btn{margin-top:auto;align-self:center;font-weight:700;font-size:.84rem;color:var(--navy-deep);
  background:linear-gradient(180deg,#F3E1B4 0%,var(--gold-soft) 24%,var(--gold) 78%,var(--gold-deep) 100%);
  padding:.65rem 1.8rem;border-radius:999px;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 2px 6px -2px rgba(156,118,39,.55);
  transition:transform .2s,filter .2s}
.au-f-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}
@media (max-width:900px){
  .au-formats-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;width:100vw;padding:0 20px;gap:16px;scrollbar-width:none}
  .au-formats-grid::-webkit-scrollbar{display:none}
  .au-fcard{flex:0 0 300px;scroll-snap-align:center;min-height:auto}
}

/* ---- final CTA ---- */
.au-cta{padding:clamp(56px,8vw,110px) 24px}
.au-cta-card{max-width:72rem;margin:0 auto;position:relative;overflow:hidden;border-radius:28px;text-align:center;
  padding:clamp(48px,8vw,90px) 24px;background:var(--navy-deep);border:1px solid rgba(255,255,255,.12);
  box-shadow:var(--shadow-md)}
.au-cta-card::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(600px circle at 50% 0%, rgba(199,154,52,.18), transparent 70%)}
.au-cta-card h2{position:relative;font-size:clamp(1.9rem,4.6vw,3.4rem);font-weight:700;letter-spacing:-.015em;line-height:1.05;color:#fff}
.au-cta-card p{position:relative;margin:1.2rem auto 0;max-width:32rem;color:rgba(247,243,236,.62);font-size:.92rem;line-height:1.6}
.au-cta-btns{position:relative;margin-top:2rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem}
.au-btn-ghost{display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;border:1px solid rgba(255,255,255,.18);
  color:#fff;font-size:.9rem;font-weight:600;padding:.8rem 1.35rem;transition:background .2s}
.au-btn-ghost:hover{background:rgba(255,255,255,.06)}
.au-btn-ghost svg{width:15px;height:15px}

/* =========================================================================
   SCROLL-SCRUBBED PHOTO HERO (nosotros.html) — same CLEMI navy/gold branding,
   just adds scroll-driven motion using real training photos instead of video.
   ========================================================================= */
.ns-hero{position:relative;height:230vh}
.ns-hero-sticky{position:sticky;top:0;height:100vh;min-height:640px;overflow:hidden;background:var(--navy-deep)}
.ns-hero-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.ns-hero-sticky .mesh-bg-layer{position:absolute;inset:0;
  background:
    radial-gradient(60% 55% at 20% 0%, rgba(47,110,99,.32), transparent 60%),
    radial-gradient(55% 55% at 85% 10%, rgba(199,154,52,.24), transparent 55%),
    linear-gradient(180deg,rgba(14,23,48,.72) 0%,rgba(14,23,48,.55) 45%,rgba(14,23,48,.82) 100%);
}
.ns-hero-sticky .mesh-bg-layer::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(247,243,236,.12) 1px, transparent 1.4px);
  background-size:26px 26px;
  mask-image:radial-gradient(75% 90% at 50% 20%, #000 40%, transparent 100%);
  -webkit-mask-image:radial-gradient(75% 90% at 50% 20%, #000 40%, transparent 100%);
}
.ns-hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;
  justify-content:center;max-width:1180px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}
.ns-hero-content .eyebrow{color:var(--gold-soft)}
.ns-hero-content h1{margin-top:.9rem;color:#fff;font-size:clamp(2rem,4.6vw,3.1rem);max-width:26ch}
.ns-hero-content .dek{margin-top:1.1rem;color:rgba(247,243,236,.75);font-size:1.02rem;max-width:56ch}
.ns-hero-scrollhint{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);z-index:2;
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(247,243,236,.5);
  display:flex;flex-direction:column;align-items:center;gap:6px}
.ns-hero-scrollhint .line{width:1px;height:28px;background:linear-gradient(rgba(247,243,236,.6),transparent);
  animation:ns-scrollline 1.8s ease-in-out infinite}
@keyframes ns-scrollline{0%{opacity:.2}50%{opacity:1}100%{opacity:.2}}
@media (prefers-reduced-motion:reduce){.ns-hero-scrollhint .line{animation:none;opacity:.5}}
@media (max-width:700px){
  .ns-hero{height:180vh}
  .ns-hero-sticky{min-height:560px}
}

/* =========================================================================
   HOME HERO — cinematic photo-loop hero + specialty marquee, CLEMI branding
   ========================================================================= */
.liquid-glass{background:rgba(255,255,255,.01);background-blend-mode:luminosity;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.1);position:relative;overflow:hidden}
.liquid-glass::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.4px;
  background:linear-gradient(180deg,rgba(255,255,255,.45) 0%,rgba(255,255,255,.15) 20%,
    rgba(255,255,255,0) 40%,rgba(255,255,255,0) 60%,rgba(255,255,255,.15) 80%,rgba(255,255,255,.45) 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}

.ph-hero{position:relative;min-height:100vh;overflow:hidden;display:flex;flex-direction:column;background:var(--navy-deep)}
.ph-media{position:absolute;inset:0;z-index:0}
.ph-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;
  transition:opacity .5s ease-in-out,transform 6s ease-out;transform:scale(1.05)}
.ph-media img.ph-active{opacity:1;transform:scale(1.13)}
.ph-media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(14,23,48,.38) 0%,rgba(14,23,48,.2) 38%,rgba(14,23,48,.6) 100%)}
.ph-blur{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:984px;height:527px;
  max-width:92vw;background:#050810;filter:blur(82px);opacity:.62;pointer-events:none;z-index:1}
.ph-content{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;padding:120px 24px 40px}
.ph-h1{font-family:"Sora",sans-serif;font-weight:600;font-size:clamp(3rem,13vw,8.5rem);line-height:1.02;
  letter-spacing:-.02em;color:var(--cream)}
.ph-h1 .grad{background-image:linear-gradient(to left,#F7ECD2,#E7C98A,#C79A34);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ph-sub{margin-top:1.2rem;font-size:1.08rem;line-height:1.7;color:rgba(247,243,236,.82);max-width:30rem}
.ph-cta{margin-top:1.8rem}
.ph-cta-group{margin-top:1.8rem;display:flex;align-items:center;justify-content:center;gap:.9rem;flex-wrap:wrap}
.ph-marquee-wrap{position:relative;z-index:2;padding:0 24px 44px;max-width:1180px;margin:0 auto;width:100%;
  display:flex;align-items:center;gap:2.5rem}
.ph-marquee-top{flex:0 0 auto;font-size:.88rem;color:rgba(247,243,236,.55);line-height:1.45;max-width:11rem}
.ph-marquee-track-wrap{flex:1;overflow:hidden;min-width:0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ph-marquee-track{display:flex;gap:3rem;width:max-content;animation:ph-scroll 20s linear infinite}
@keyframes ph-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ph-logo{display:flex;align-items:center;gap:.65rem;flex:0 0 auto}
.ph-logo .icon{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;
  font-size:.72rem;font-weight:700;color:var(--gold-soft);flex:0 0 auto}
.ph-logo .name{font-size:.98rem;font-weight:600;color:rgba(247,243,236,.85);white-space:nowrap}
@media (max-width:760px){
  .ph-marquee-wrap{flex-direction:column;align-items:flex-start;gap:1rem}
  .ph-marquee-top{max-width:none}
  .ph-marquee-track-wrap{width:100%}
  .ph-content{padding-top:100px}
}
/* ============================= AETHERA-STYLE HERO (investigacion.html) ============================= */
.ae-hero{position:relative;overflow:hidden;background:var(--cream);min-height:100vh;
  display:flex;flex-direction:column}
.ae-media{position:absolute;top:180px;left:0;right:0;bottom:0;z-index:0}
.ae-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;
  transition:opacity 1.1s ease-in-out;filter:saturate(.75)}
.ae-media img.ae-active{opacity:.24}
.ae-media-fade{position:absolute;top:180px;left:0;right:0;bottom:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,var(--cream) 0%,rgba(247,243,236,.55) 22%,rgba(247,243,236,.35) 55%,var(--cream) 100%)}
.ae-content{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;padding:clamp(64px,10vw,96px) 24px 220px;max-width:56rem;
  margin:0 auto}
.ae-content .eyebrow{color:var(--gold-deep);font-weight:700}
.ae-h1{margin-top:.9rem;font-family:"Sora",sans-serif;font-weight:600;
  font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.06;letter-spacing:-.02em;color:var(--navy)}
.ae-h1 em{font-style:normal;color:var(--ink-faint)}
.ae-dek{margin-top:1.6rem;font-size:1.05rem;line-height:1.7;color:var(--ink-soft);max-width:34rem}
.ae-cta{margin-top:2.1rem}
@media (max-width:760px){
  .ae-media,.ae-media-fade{top:100px}
  .ae-content{padding-bottom:140px}
}
@media (prefers-reduced-motion:reduce){
  .ae-media img{transition:none}
}

/* ============================= COMMERCIAL BRANDS MARQUEE (comunidad.html) ============================= */
.cm-brands{margin-top:2rem;display:flex;flex-direction:column;gap:1.15rem}
.cm-brands-track-wrap{overflow:hidden;padding:.4rem 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.cm-brands-row{display:flex;gap:1rem;width:max-content}
.cm-brands-row.r1{animation:cm-scroll-left 46s linear infinite}
.cm-brands-row.r2{animation:cm-scroll-right 46s linear infinite}
@keyframes cm-scroll-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes cm-scroll-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.cm-brand{display:flex;align-items:center;gap:.7rem;flex:0 0 auto;
  padding:.85rem 1.35rem;border-radius:999px;background:#fff;
  box-shadow:inset 0 0 0 1.5px var(--line), var(--shadow-sm);white-space:nowrap}
.cm-brand .mono{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex:0 0 auto;
  font-family:"Sora",sans-serif;font-weight:800;font-size:.8rem;color:#fff;letter-spacing:-.02em;
  background:linear-gradient(180deg,var(--gold-soft),var(--gold-deep))}
.cm-brand .logo{height:24px;width:auto;max-width:110px;object-fit:contain;flex:0 0 auto;display:block}
.cm-brand .logo.on-dark{height:28px;padding:5px 9px;border-radius:7px;background:var(--navy-deep);box-sizing:content-box}
.cm-brand .name{font-size:1.04rem;font-weight:700;color:var(--navy)}
.cm-brands:hover .cm-brands-row{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){
  .cm-brands-row{animation:none}
}

@media (prefers-reduced-motion:reduce){
  .ph-marquee-track{animation:none}
  .ph-media img{transition:none}
}

/* =========================================================================
   FICHA DE CURSO (curso-detalle-*.html)
   ========================================================================= */
.cd-breadcrumb{font-size:.82rem;color:var(--ink-soft);margin-bottom:1.2rem}
.cd-breadcrumb a{color:var(--ink-soft)}
.cd-breadcrumb a:hover{color:var(--navy)}
.cd-hero{padding-top:2.4rem;--spec:var(--spec-general)}
.cd-hero[data-specialty~="rodilla"]{--spec:var(--spec-rodilla)}
.cd-hero[data-specialty~="hombro"]{--spec:var(--spec-hombro)}
.cd-hero[data-specialty~="cadera"]{--spec:var(--spec-cadera)}
.cd-hero[data-specialty~="tobillo"]{--spec:var(--spec-tobillo)}
.cd-hero[data-specialty~="muneca"]{--spec:var(--spec-muneca)}
.cd-hero[data-specialty~="codo"]{--spec:var(--spec-codo)}
.cd-hero[data-specialty~="microcirugia"]{--spec:var(--spec-microcirugia)}
.cd-hero[data-specialty~="trauma"]{--spec:var(--spec-trauma)}
.cd-badge{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--spec);background:color-mix(in srgb, var(--spec) 12%, transparent);padding:.35rem .8rem;border-radius:999px}
.cd-hero h1{font-family:"Sora",sans-serif;font-weight:700;font-size:clamp(1.9rem,4vw,2.8rem);
  color:var(--navy);margin-top:.8rem;max-width:40rem}
.cd-hero .lead{margin-top:.8rem;color:var(--ink-soft);max-width:38rem;font-size:1.02rem;line-height:1.6}
.cd-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  margin-top:2rem}
.cd-fact{background:#fff;padding:1.1rem 1.2rem}
.cd-fact span{display:block;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-soft)}
.cd-fact strong{display:block;margin-top:.35rem;font-size:1rem;color:var(--navy);font-family:"Sora",sans-serif}
.cd-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:2.6rem;margin-top:2.8rem;align-items:start}
@media (max-width:880px){.cd-layout{grid-template-columns:1fr}}
.cd-main section{margin-bottom:2.4rem}
.cd-main h2{font-family:"Sora",sans-serif;font-size:1.35rem;color:var(--navy);margin-bottom:.9rem}
.cd-main p{color:var(--ink-soft);line-height:1.7}
.cd-temas{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem}
.cd-tema{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.9rem 1.1rem;
  font-size:.92rem;color:var(--navy);font-weight:600;display:flex;gap:.6rem;align-items:flex-start}
.cd-tema::before{content:"✓";color:var(--spec);font-weight:800}
.cd-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.cd-gallery img{width:100%;height:150px;object-fit:cover;border-radius:12px}
.cd-why{background:linear-gradient(135deg,#1E3A68 0%,var(--navy) 55%,var(--navy-deep) 100%);
  color:var(--cream);border-radius:var(--radius);padding:1.8rem 2rem}
.cd-why h2{color:#fff}
.cd-why ul{margin-top:.8rem;display:grid;gap:.6rem}
.cd-why li{color:rgba(247,243,236,.85);font-size:.94rem;padding-left:1.3rem;position:relative}
.cd-why li::before{content:"—";position:absolute;left:0;color:var(--gold-soft)}
.cd-sidebar{position:sticky;top:96px}
.cd-form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-md);padding:1.8rem;border-top:4px solid var(--spec)}
.cd-price-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem}
.cd-price-row .cupos{font-size:.76rem;font-weight:700;color:#B4432C;background:rgba(180,67,44,.1);
  padding:.3rem .7rem;border-radius:999px}
.cd-form-card h3{font-size:1.1rem;color:var(--navy);margin-bottom:.3rem}
.cd-form-card .sub{font-size:.85rem;color:var(--ink-soft);margin-bottom:1.2rem}
.cd-field{margin-bottom:.9rem}
.cd-field label{display:block;font-size:.78rem;font-weight:700;color:var(--navy);margin-bottom:.35rem}
.cd-field input{width:100%;padding:.7rem .85rem;border-radius:10px;border:1px solid var(--line);
  font-family:inherit;font-size:.92rem;color:var(--navy);background:var(--cream)}
.cd-field input:focus{outline:2px solid var(--spec);outline-offset:1px}
.cd-consent-group{display:grid;gap:.6rem;margin-bottom:1.1rem}
.cd-consent{display:flex;gap:.5rem;align-items:flex-start;font-size:.76rem;color:var(--ink-soft)}
.cd-consent input{margin-top:.2rem}
.cd-submit{width:100%;background:var(--navy);color:#fff;border:0;padding:.85rem;border-radius:999px;
  font-weight:700;font-size:.95rem;cursor:pointer;font-family:inherit;transition:background .2s}
.cd-submit:hover{background:var(--navy-deep)}
.cd-alt-wa{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.9rem;
  font-size:.86rem;font-weight:700;color:var(--navy);text-decoration:none}
.cd-alt-wa:hover{color:var(--spec)}
.cd-related{margin-top:3.2rem}

/* =========================================================================
   CALENDARIO (calendario.html)
   ========================================================================= */
.cal-wrap{max-width:960px;margin:2.6rem auto 0}
.cal-head{display:flex;align-items:center;justify-content:center;gap:1.4rem;margin-bottom:1.4rem}
.cal-head h3{font-family:"Sora",sans-serif;font-size:1.4rem;color:var(--navy);text-transform:capitalize;
  min-width:14rem;text-align:center}
.cal-nav-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;
  cursor:pointer;font-size:1.3rem;line-height:1;color:var(--navy);display:flex;align-items:center;
  justify-content:center;transition:background .2s,color .2s}
.cal-nav-btn:hover:not(:disabled){background:var(--navy);color:#fff}
.cal-nav-btn:disabled{cursor:not-allowed}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:12px;overflow:hidden}
.cal-dow{background:var(--cream-deep);padding:.6rem .3rem;text-align:center;font-size:.68rem;
  font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}
.cal-day{background:#fff;min-height:96px;padding:.45rem;display:flex;flex-direction:column;gap:.25rem}
.cal-day.is-empty{background:var(--cream)}
.cal-day .num{font-size:.78rem;font-weight:700;color:var(--navy)}
.cal-event{display:block;font-size:.66rem;font-weight:700;padding:.2rem .35rem;border-radius:6px;
  color:#fff;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-event:hover{filter:brightness(1.1)}
.cal-event-plain{cursor:default;opacity:.82}
.cal-event-plain:hover{filter:none}
.cal-event-more{font-size:.64rem;color:var(--ink-soft);font-weight:600}
.cal-empty{text-align:center;color:var(--ink-soft);margin-top:1.4rem}
.cal-legend-note{text-align:center;color:var(--ink-faint);font-size:.82rem;margin-top:1.4rem;max-width:40rem;margin-left:auto;margin-right:auto}
@media (max-width:760px){
  .cal-day{min-height:64px;padding:.3rem}
  .cal-day .num{font-size:.7rem}
  .cal-event{font-size:.56rem;padding:.14rem .25rem}
  .cal-dow{font-size:.58rem;padding:.4rem .15rem}
}

/* ---- pilot metaphor gallery (nosotros.html) ---- */
.pilot-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;max-width:46rem;
  margin:2.2rem auto 0}
.pilot-gallery figure{position:relative;border-radius:var(--radius);overflow:hidden;
  aspect-ratio:4/3;box-shadow:var(--shadow-md)}
.pilot-gallery img{width:100%;height:100%;object-fit:cover;display:block}
.pilot-gallery figure::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(14,23,48,0) 55%,rgba(14,23,48,.72) 100%)}
.pilot-gallery figcaption{position:absolute;left:1rem;bottom:.8rem;z-index:1;color:#fff;
  font-family:"Sora",sans-serif;font-weight:700;font-size:.92rem}
@media (max-width:640px){.pilot-gallery{grid-template-columns:1fr}}
