/* Dra. Viviana Ruiz — sistema y componentes
   Medicina primero, lujo después. */

@font-face{font-family:"Newsreader";src:url("fonts/newsreader-var.woff2") format("woff2-variations");font-weight:300 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2122;}
@font-face{font-family:"Inter";src:url("fonts/inter-var.woff2") format("woff2-variations");font-weight:400 600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2122;}

:root{
  --paper:#F1F1EE; --paper-sunk:#E7E7E3;
  --ink:#16211D; --ink-2:#5E6B65;
  --drape:#2F4B42; --drape-deep:#22382F;
  --clay:#8B4648;
  --line:rgba(22,33,29,.14); --line-strong:rgba(22,33,29,.28);

  --font-display:"Newsreader",Georgia,serif;
  --font-body:"Inter",system-ui,-apple-system,sans-serif;

  --t-display-xl:clamp(2.75rem,6vw,5rem);
  --t-display-l:clamp(2.25rem,4.4vw,3.75rem);
  --t-display-m:clamp(1.75rem,3vw,2.625rem);
  --t-heading:clamp(1.375rem,2vw,1.875rem);
  --t-subhead:1.375rem; --t-body-l:1.125rem; --t-body:1rem;
  --t-caption:.875rem; --t-eyebrow:.75rem;

  --space-section:clamp(4.5rem,7vw,7rem);
  --space-band:clamp(2.5rem,4vw,3.5rem);
  --gutter:clamp(1.25rem,4vw,2.5rem);
  --measure:60ch; --max-w:74rem;

  --ease-out:cubic-bezier(.16,1,.30,1);
  --ease-inout:cubic-bezier(.65,0,.35,1);
  --dur-fast:180ms; --dur-base:420ms; --dur-slow:900ms; --stagger:80ms;
  --tap:44px;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.5rem;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);
  font-size:var(--t-body);line-height:1.65;-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;display:block;}
::selection{background:var(--clay);color:var(--paper);}
:focus-visible{outline:2px solid var(--clay);outline-offset:3px;border-radius:2px;}

.skip{position:absolute;left:-9999px;top:0;background:var(--drape);color:#fff;padding:.75rem 1rem;z-index:100;}
.skip:focus{left:0;}

/* --- tipografía --- */
h1,h2,h3{font-family:var(--font-display);font-weight:400;letter-spacing:-.028em;
  text-wrap:balance;margin:0;font-variation-settings:"opsz" 36;}
h1{font-size:var(--t-display-xl);line-height:.98;}
h2{font-size:var(--t-display-l);line-height:1.08;}
h3{font-size:var(--t-heading);line-height:1.25;letter-spacing:-.018em;}
p{margin:0 0 1rem;max-width:var(--measure);}
.lead{font-size:var(--t-body-l);color:var(--ink-2);}
.muted{color:var(--ink-2);}
.caption{font-size:var(--t-caption);color:var(--ink-2);line-height:1.5;}

.eyebrow{display:flex;align-items:center;gap:1rem;font-size:var(--t-eyebrow);font-weight:500;
  line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:var(--clay);margin:0 0 1.75rem;}
/* firma: regla calibrada — medición, no adorno */
.eyebrow::after{content:"";flex:1;height:9px;
  background-image:linear-gradient(var(--line-strong) 1px,transparent 1px),
                   linear-gradient(90deg,var(--line-strong) 1px,transparent 1px);
  background-size:100% 1px,12px 9px;background-position:0 4px,0 0;
  background-repeat:no-repeat,repeat-x;opacity:.5;}
.eyebrow .num{font-family:var(--font-display);font-size:var(--t-eyebrow);letter-spacing:0;color:var(--ink-2);}

/* --- layout --- */
.wrap{width:100%;max-width:var(--max-w);margin-inline:auto;padding-inline:var(--gutter);}
.section{padding-block:var(--space-section);}
.section--sunk{background:var(--paper-sunk);}
.section--drape{background:var(--drape);color:var(--paper);}
.section--drape h2,.section--drape h3{color:#fff;}
.section--drape .eyebrow{color:#D8B4AE;}
.section--drape .eyebrow::after{background-image:linear-gradient(rgba(255,255,255,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.4) 1px,transparent 1px);}
.section--drape .lead,.section--drape .muted{color:rgba(241,241,238,.78);}

/* --- controles --- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--tap);
  padding:0 1.5rem;border:1px solid transparent;border-radius:2px;font-family:var(--font-body);
  font-size:var(--t-caption);font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  text-decoration:none;cursor:pointer;background:none;
  transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);}
.btn--primary{background:var(--clay);color:#fff;}
.btn--primary:hover{background:#743A3C;}
.btn--ghost{border-color:var(--line-strong);color:var(--ink);}
.btn--ghost:hover{border-color:var(--ink);}
.section--drape .btn--ghost{border-color:rgba(255,255,255,.4);color:#fff;}
.section--drape .btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.btn .arrow{display:inline-block;transition:transform var(--dur-fast) var(--ease-out);}
.btn:hover .arrow{transform:translateX(4px);}

a,button,[role="button"],summary{min-height:var(--tap);display:inline-flex;align-items:center;}
p a,.footer-legal a,.legal li a{min-height:0;display:inline;color:var(--clay);
  text-underline-offset:.18em;text-decoration-thickness:1px;}
.footer li a{min-height:var(--tap);display:inline-flex;align-items:center;}
.section--drape p a{color:#E6C4BF;}

/* --- header --- */
.nav{position:sticky;top:0;z-index:50;background:rgba(241,241,238,.92);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  min-height:4.5rem;}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--ink);}
.brand img{width:36px;height:auto;}
.brand__name{font-family:var(--font-display);font-size:1.0625rem;line-height:1.1;letter-spacing:-.01em;}
.brand__sub{font-size:var(--t-eyebrow);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);}
.nav__links{display:flex;align-items:center;gap:.25rem;list-style:none;margin:0;padding:0;}
.nav__links a{min-height:var(--tap);padding:0 .75rem;font-size:var(--t-caption);
  letter-spacing:.04em;color:var(--ink-2);text-decoration:none;
  transition:color var(--dur-fast) var(--ease-out);}
.nav__links a:hover{color:var(--ink);}
.nav__toggle{display:none;width:var(--tap);height:var(--tap);align-items:center;justify-content:center;
  border:1px solid var(--line-strong);border-radius:2px;background:none;cursor:pointer;color:var(--ink);}

/* --- hero: tipográfico, sin imagen --- */
.hero{background:var(--drape);color:var(--paper);padding-block:clamp(5rem,11vw,9rem);
  position:relative;overflow:hidden;}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:rgba(255,255,255,.14);}
.hero h1{color:#fff;max-width:16ch;}
.hero h1 em{font-style:italic;color:#E6C4BF;}
.hero .lead{margin-top:1.75rem;font-size:var(--t-body-l);color:rgba(241,241,238,.8);}
.hero__ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.5rem;}
.hero__meta{display:flex;flex-wrap:wrap;gap:2rem;margin-top:3.5rem;
  padding-top:1.75rem;border-top:1px solid rgba(255,255,255,.16);}
.hero__meta div{font-size:var(--t-caption);color:rgba(241,241,238,.72);}
.hero__meta b{display:block;font-family:var(--font-display);font-size:1.5rem;
  color:#fff;font-weight:400;letter-spacing:-.02em;}

/* --- pilares --- */
.pillars{display:grid;gap:2rem;grid-template-columns:repeat(3,1fr);}
.pillar h3{font-size:1.125rem;margin-bottom:.5rem;}
.pillar p{font-size:var(--t-caption);color:var(--ink-2);margin:0;}
.pillar__rule{width:2rem;height:1px;background:var(--clay);margin-bottom:1rem;}

/* --- servicios (acordeón) --- */
.acc{border-top:1px solid var(--line);}
.acc:last-of-type{border-bottom:1px solid var(--line);}
.acc__btn{display:flex;align-items:center;gap:1.25rem;width:100%;padding:1.5rem 0;
  background:none;border:0;cursor:pointer;text-align:left;color:inherit;font:inherit;}
.acc__num{font-family:var(--font-display);font-size:var(--t-eyebrow);color:var(--ink-2);
  min-width:1.5rem;font-variant-numeric:lining-nums;}
.acc__title{flex:1;}
.acc__title h3{margin-bottom:.125rem;}
.acc__count{font-size:var(--t-caption);color:var(--ink-2);}
.acc__icon{flex-shrink:0;transition:transform var(--dur-base) var(--ease-inout);color:var(--clay);}
.acc[data-open="true"] .acc__icon{transform:rotate(180deg);}
.acc__panel{display:grid;grid-template-rows:0fr;
  transition:grid-template-rows var(--dur-base) var(--ease-inout);}
.acc[data-open="true"] .acc__panel{grid-template-rows:1fr;}
.acc__panel>div{overflow:hidden;}
.acc__body{display:grid;gap:2.5rem;grid-template-columns:1fr 1fr;
  padding:0 0 2.5rem 2.75rem;align-items:start;}
.acc__body.is-solo{grid-template-columns:1fr;}
.acc__body.is-solo .acc__intro{max-width:58ch;}
.acc__body.is-solo .acc__list{columns:2;column-gap:3rem;}
.acc__body.is-solo .acc__list li{break-inside:avoid;}
.acc__list{list-style:none;margin:1.5rem 0 0;padding:0;}
.acc__list li{padding:.875rem 0;border-top:1px solid var(--line);}
.acc__list b{display:block;font-size:var(--t-body);font-weight:500;margin-bottom:.125rem;}
.acc__list span{font-size:var(--t-caption);color:var(--ink-2);}
.acc__media img{border-radius:2px;}

/* --- sobre la consulta --- */
.about{display:grid;gap:clamp(2rem,5vw,4rem);grid-template-columns:1fr 1fr;align-items:center;}
.about__media img{border-radius:2px;}

/* --- proceso --- */
.steps{display:grid;gap:2rem;grid-template-columns:repeat(3,1fr);counter-reset:step;}
.step{padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.22);}
.step__n{font-family:var(--font-display);font-size:var(--t-eyebrow);color:#D8B4AE;display:block;margin-bottom:.75rem;}
.step h3{font-size:1.125rem;margin-bottom:.5rem;}
.step p{font-size:var(--t-caption);color:rgba(241,241,238,.75);margin:0;}

/* --- cierre --- */
.cta-final{text-align:center;}
.cta-final h2{margin-inline:auto;max-width:18ch;}
.cta-final .btn{margin-top:2rem;}

/* --- footer --- */
.footer{background:var(--paper-sunk);border-top:1px solid var(--line);padding-block:var(--space-band);}
.footer__grid{display:grid;gap:2.5rem;grid-template-columns:1.6fr 1fr 1fr 1.2fr;}
.footer h4{font-family:var(--font-body);font-size:var(--t-eyebrow);font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:0 0 1rem;}
.footer ul{list-style:none;margin:0;padding:0;}
.footer li{font-size:var(--t-caption);color:var(--ink-2);padding:.25rem 0;}
.footer li a{color:var(--ink-2);text-decoration:none;min-height:var(--tap);display:inline-flex;align-items:center;
  transition:color var(--dur-fast) var(--ease-out);}
.footer li a:hover{color:var(--clay);}
.footer__bottom{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line);}
.footer-legal{font-size:var(--t-caption);color:var(--ink-2);line-height:1.55;max-width:80ch;}

/* --- WhatsApp: dentro de la marca, no verde de stock --- */
.wa{position:fixed;right:1.25rem;bottom:1.25rem;z-index:60;width:52px;height:52px;
  display:flex;align-items:center;justify-content:center;border-radius:50%;
  background:var(--drape);color:#fff;box-shadow:0 8px 28px -10px rgba(22,33,29,.55);
  transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out);}
.wa:hover{transform:translateY(-3px);background:var(--drape-deep);}
.wa svg{width:26px;height:26px;fill:currentColor;}

/* --- movimiento --- */
[data-reveal]{opacity:0;transform:translateY(18px);
  transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out);
  transition-delay:calc(var(--i,0) * var(--stagger));}
[data-reveal].is-in{opacity:1;transform:none;}
.hero .line{overflow:hidden;display:block;}
.hero .line>span{display:block;transform:translateY(105%);
  animation:lineIn var(--dur-slow) var(--ease-out) forwards;
  animation-delay:calc(140ms + var(--i,0) * var(--stagger));}
@keyframes lineIn{to{transform:none;}}

/* --- responsive --- */
@media (max-width:900px){
  :root{--measure:100%;}
  .acc__body.is-solo .acc__list{columns:1;}
  .pillars,.steps{grid-template-columns:1fr;gap:1.75rem;}
  .about,.acc__body{grid-template-columns:1fr;}
  .acc__body{padding-left:0;}
  .footer__grid{grid-template-columns:1fr 1fr;}
  .nav__links{position:fixed;inset:4.5rem 0 auto 0;flex-direction:column;align-items:stretch;
    gap:0;background:var(--paper);border-bottom:1px solid var(--line);padding:.5rem var(--gutter) 1.5rem;
    transform:translateY(-12px);opacity:0;pointer-events:none;
    transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);}
  .nav__links[data-open="true"]{transform:none;opacity:1;pointer-events:auto;}
  .nav__links li{border-bottom:1px solid var(--line);}
  .nav__links a{padding:0;width:100%;font-size:var(--t-body);}
  .nav__toggle{display:inline-flex;}
  .nav__cta{display:none;}
}
@media (max-width:560px){
  .brand__sub{display:none;}
  .footer__grid{grid-template-columns:1fr;}
  .hero__ctas .btn{width:100%;}
  .hero__meta{gap:1.25rem;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;}
  [data-reveal]{opacity:1;transform:none;}
  .hero .line>span{transform:none;}
}

/* ============================================================
   MOVIMIENTO Y PÁGINAS INTERNAS — capa 2
   ============================================================ */

/* barra de progreso de scroll */
.scrollbar{position:fixed;top:0;left:0;height:2px;width:100%;z-index:80;
  background:var(--clay);transform:scaleX(0);transform-origin:0 50%;
  will-change:transform;pointer-events:none;}

/* nav: se compacta al hacer scroll */
.nav{transition:box-shadow var(--dur-base) var(--ease-out),background-color var(--dur-base) var(--ease-out);}
.nav.is-stuck{box-shadow:0 1px 0 var(--line),0 18px 40px -32px rgba(22,33,29,.5);}
.nav.is-stuck .nav__inner{min-height:3.75rem;}
.nav__inner{transition:min-height var(--dur-base) var(--ease-out);}
.brand img{transition:transform var(--dur-base) var(--ease-out);}
.brand:hover img{transform:rotate(-6deg) scale(1.06);}
.nav__links a{position:relative;}
.nav__links a::after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:1.1rem;height:1px;
  background:var(--clay);transform:scaleX(0);transform-origin:0 50%;
  transition:transform var(--dur-fast) var(--ease-out);}
.nav__links a:hover::after,.nav__links a.is-current::after{transform:scaleX(1);}
.nav__links a.is-current{color:var(--ink);}

/* hamburguesa animada */
.nav__bars{display:block;width:18px;height:12px;position:relative;}
.nav__bars i{position:absolute;left:0;width:100%;height:1.5px;background:currentColor;
  transition:transform var(--dur-base) var(--ease-inout),opacity var(--dur-fast) linear;}
.nav__bars i:first-child{top:0;} .nav__bars i:last-child{bottom:0;}
.nav__toggle[aria-expanded="true"] .nav__bars i:first-child{transform:translateY(5px) rotate(45deg);}
.nav__toggle[aria-expanded="true"] .nav__bars i:last-child{transform:translateY(-5px) rotate(-45deg);}

/* --- HERO con imagen y parallax --- */
.hero{position:relative;isolation:isolate;padding-block:clamp(7rem,14vw,11rem);}
.hero__media{position:absolute;inset:-12% 0 -12% 0;z-index:-2;will-change:transform;}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:60% 40%;}
.hero__scrim{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,rgba(22,33,29,.94) 0%,rgba(22,33,29,.86) 42%,rgba(34,56,47,.58) 100%);}
.hero__inner{position:relative;}
.hero__lead{max-width:46ch;}
.eyebrow--light{color:#D8B4AE;}
.eyebrow--light::after{background-image:linear-gradient(rgba(255,255,255,.45) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.45) 1px,transparent 1px);}
.hero__meta b{font-variant-numeric:lining-nums;}
.hero__meta span{display:block;}
.btn--onDark{border-color:rgba(255,255,255,.42);color:#fff;}
.btn--onDark:hover{border-color:#fff;background:rgba(255,255,255,.1);}
.hero__cue{position:absolute;left:50%;bottom:2rem;width:1px;height:48px;overflow:hidden;
  background:rgba(255,255,255,.18);}
.hero__cue i{position:absolute;inset:0;background:#D8B4AE;
  animation:cue 2.4s var(--ease-inout) infinite;}
@keyframes cue{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}

/* revelado por máscara para imágenes */
.reveal-mask img{clip-path:inset(0 0 100% 0);transform:scale(1.08);
  transition:clip-path 1s var(--ease-out),transform 1.2s var(--ease-out);}
.reveal-mask.is-in img{clip-path:inset(0 0 0 0);transform:none;}

/* --- tarjetas de servicio (home) --- */
.scards{display:grid;gap:1px;grid-template-columns:repeat(3,1fr);margin-top:3rem;
  background:var(--line);border:1px solid var(--line);}
.scard{display:block;background:var(--paper);padding:2rem 1.75rem 1.75rem;text-decoration:none;
  color:inherit;min-height:0;align-items:stretch;position:relative;
  transition:background-color var(--dur-base) var(--ease-out);}
.scard::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--clay);
  transform:scaleX(0);transform-origin:0 50%;transition:transform var(--dur-base) var(--ease-out);}
.scard:hover{background:#EDEDE9;} .scard:hover::before{transform:scaleX(1);}
.scard__num{font-family:var(--font-display);font-size:var(--t-eyebrow);color:var(--ink-2);}
.scard h3{margin:.75rem 0 .5rem;font-size:1.375rem;}
.scard p{font-size:var(--t-caption);color:var(--ink-2);margin-bottom:1.5rem;}
.scard__go{font-size:var(--t-eyebrow);letter-spacing:.12em;text-transform:uppercase;color:var(--clay);}
.scard:hover .arrow{transform:translateX(4px);}
.scard .arrow{display:inline-block;transition:transform var(--dur-fast) var(--ease-out);}

/* --- cabecera de página interna --- */
.phead{padding-block:clamp(4rem,8vw,7rem) var(--space-band);background:var(--paper-sunk);
  border-bottom:1px solid var(--line);}
.phead h1{font-size:var(--t-display-l);max-width:20ch;}
.phead .lead{margin-top:1.5rem;}
.phead .btn{margin-top:2rem;}
.crumbs{font-size:var(--t-eyebrow);letter-spacing:.06em;color:var(--ink-2);margin-bottom:1.5rem;
  display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;}
.crumbs a{color:var(--ink-2);text-decoration:none;min-height:0;}
.crumbs a:hover{color:var(--clay);}
.crumbs b{font-weight:500;color:var(--ink);}

/* --- listado de servicios --- */
.srows{border-top:1px solid var(--line);}
.srow{display:grid;grid-template-columns:3rem 1fr 2rem;gap:1.5rem;align-items:start;
  padding:2rem 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;
  min-height:0;transition:padding-left var(--dur-base) var(--ease-out);}
.srow:hover{padding-left:.75rem;}
.srow__num{font-family:var(--font-display);font-size:var(--t-eyebrow);color:var(--ink-2);padding-top:.4rem;}
.srow h3{font-size:var(--t-heading);margin-bottom:.5rem;}
.srow p{font-size:var(--t-caption);color:var(--ink-2);margin-bottom:.875rem;}
.srow__tags{display:flex;flex-wrap:wrap;gap:.375rem;list-style:none;margin:0;padding:0;}
.srow__tags li{font-size:var(--t-eyebrow);letter-spacing:.04em;color:var(--ink-2);
  border:1px solid var(--line);border-radius:999px;padding:.25rem .625rem;}
.srow__go{font-size:1.25rem;color:var(--clay);text-align:right;padding-top:.25rem;
  transition:transform var(--dur-base) var(--ease-out);display:block;}
.srow:hover .srow__go{transform:translateX(6px);}

/* --- artículo de servicio --- */
.art-media{margin-top:calc(var(--space-band) * -1);position:relative;z-index:2;}
.art-media img{border-radius:2px;box-shadow:0 40px 80px -50px rgba(22,33,29,.55);}
.art-grid{display:grid;grid-template-columns:1fr 20rem;gap:clamp(2rem,5vw,4.5rem);align-items:start;}
.art-main h2{font-size:var(--t-display-m);margin-bottom:1.5rem;}
.proclist,.tiplist{list-style:none;margin:0;padding:0;}
.proclist li{padding:1.25rem 0;border-top:1px solid var(--line);}
.proclist li:last-child{border-bottom:1px solid var(--line);}
.proclist b{display:block;font-size:var(--t-body-l);font-weight:500;margin-bottom:.25rem;}
.proclist span{font-size:var(--t-body);color:var(--ink-2);}
.tiplist li{position:relative;padding:.625rem 0 .625rem 1.75rem;font-size:var(--t-body);color:var(--ink-2);}
.tiplist li::before{content:"";position:absolute;left:0;top:1.35rem;width:.75rem;height:1px;background:var(--clay);}
.note{margin-top:var(--space-band);padding:1.25rem 1.5rem;background:var(--paper-sunk);
  border-left:2px solid var(--clay);font-size:var(--t-caption);color:var(--ink-2);max-width:none;}
.art-aside{position:sticky;top:6.5rem;}
.aside-card{border:1px solid var(--line);padding:1.75rem 1.5rem;background:var(--paper-sunk);}
.aside-card h3{font-size:1.125rem;margin-bottom:1rem;}
.aside-card ul{list-style:none;margin:0;padding:0;}
.aside-card li{border-top:1px solid var(--line);}
.aside-card li a{display:flex;min-height:var(--tap);align-items:center;font-size:var(--t-caption);
  color:var(--ink-2);text-decoration:none;transition:color var(--dur-fast) var(--ease-out);}
.aside-card li a:hover{color:var(--clay);}

.pager{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:var(--space-band);}
.pager__i{display:block;background:var(--paper);padding:1.5rem;text-decoration:none;color:inherit;
  min-height:0;transition:background-color var(--dur-fast) var(--ease-out);}
.pager__i:hover{background:#EDEDE9;}
.pager__i--next{text-align:right;}
.pager__i span{display:block;font-size:var(--t-eyebrow);letter-spacing:.12em;text-transform:uppercase;
  color:var(--clay);margin-bottom:.375rem;}
.pager__i b{font-family:var(--font-display);font-size:1.125rem;font-weight:400;}

/* --- guías --- */
.gcards{display:grid;gap:2.5rem 2rem;grid-template-columns:repeat(3,1fr);}
.gcard{display:block;text-decoration:none;color:inherit;min-height:0;}
.gcard__media{display:block;overflow:hidden;border-radius:2px;margin-bottom:1.25rem;}
.gcard__media img{transition:transform 1.2s var(--ease-out);}
.gcard:hover .gcard__media img{transform:scale(1.05);}
.gcard__kicker{font-size:var(--t-eyebrow);letter-spacing:.14em;text-transform:uppercase;color:var(--clay);}
.gcard h3{font-size:1.375rem;margin:.625rem 0 .5rem;}
.gcard p{font-size:var(--t-caption);color:var(--ink-2);margin-bottom:1rem;}

/* --- banda CTA --- */
.cta-band{text-align:center;}
.cta-band h2{margin-inline:auto;max-width:18ch;}
.cta-band .lead{margin:1.25rem auto 0;max-width:52ch;}
.cta-band .btn{margin-top:2rem;}

/* --- legal --- */
.legal{max-width:44rem;}
.legal h1{font-size:var(--t-display-m);margin-bottom:.5rem;}
.legal h2{font-size:var(--t-heading);margin:2.5rem 0 .75rem;}
.legal p,.legal li{font-size:var(--t-body);color:var(--ink-2);}
.legal ul{padding-left:1.25rem;margin-bottom:1rem;}
.legal .updated{font-size:var(--t-caption);margin-bottom:2rem;}
.legal .note{margin-top:2.5rem;}

@media (max-width:1000px){
  .art-grid{grid-template-columns:1fr;}
  .art-aside{position:static;}
  .scards,.gcards{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:900px){
  .hero__media{inset:0;}
  .hero__scrim{background:linear-gradient(180deg,rgba(22,33,29,.9) 0%,rgba(22,33,29,.82) 60%,rgba(34,56,47,.88) 100%);}
  .hero__cue{display:none;}
  .art-media{margin-top:calc(var(--space-band) * -.5);}
}
@media (max-width:640px){
  .scards,.gcards{grid-template-columns:1fr;}
  .srow{grid-template-columns:2.25rem 1fr;} .srow__go{display:none;}
  .pager{grid-template-columns:1fr;} .pager__i--next{text-align:left;}
}
@media (prefers-reduced-motion:reduce){
  .reveal-mask img{clip-path:none;transform:none;}
  .hero__cue{display:none;}
  .scrollbar{display:none;}
}

.scard--cta{background:var(--drape);color:var(--paper);display:flex;flex-direction:column;
  justify-content:center;}
.scard--cta::before{display:none;}
.scard--cta:hover{background:var(--drape-deep);}
.scard--cta h3{color:#fff;margin-top:0;}
.scard--cta p{color:rgba(241,241,238,.78);}
.scard--cta .btn{align-self:flex-start;}

/* la imagen se montaba sobre el CTA de la cabecera */
.phead--art{padding-bottom:calc(var(--space-band) + 3.5rem);}
.gcard__media--type{display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;
  background:var(--drape);border-radius:2px;margin-bottom:1.25rem;}
.gcard__media--type b{font-family:var(--font-display);font-size:3.5rem;font-weight:400;
  color:rgba(255,255,255,.34);transition:color var(--dur-base) var(--ease-out);}
.gcard:hover .gcard__media--type b{color:#D8B4AE;}
