
/* ============================================================
   GALERÍA · hoja de la home pública
   Consume: _xtoken_2026-05-21.css + _xgaleria_2026-08-11.css
   Cero hex crudos · cero blur · cero radius
   Migrado 2026-08-01
   ============================================================ */
:root{
  /* neutros derivados del canónico */
  --on-void-1:rgba(245,243,238,1);
  --on-void-2:rgba(245,243,238,0.75);
  --on-void-3:rgba(245,243,238,0.55);
  --on-void-4:rgba(245,243,238,0.35);
  --on-void-line:rgba(245,243,238,0.15);
  --on-warm-1:var(--void);
  --on-warm-2:rgba(12,18,32,0.62);
  --on-warm-3:rgba(12,18,32,0.42);
  --on-warm-line:rgba(12,18,32,0.16);
  /* marca externa — WhatsApp, no es paleta FUTURÍSTICA */
  --g-wa:#25D366;
  --g-wa-hover:#128C7E;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;border-radius:0;}
html{background:var(--void);scroll-behavior:smooth;}
body{background:var(--void);color:var(--on-void-1);font-family:var(--g-body);font-size:var(--g-t-body);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
::selection{background:var(--tad-vida);color:var(--void);}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;background:none;border:none;color:inherit;}

/* ══ LOADER — triángulo enorme sobre negro absoluto ══ */
.loader{
  position:fixed;inset:0;z-index:200;
  background:var(--void);
  display:flex;align-items:center;justify-content:center;
  transition:opacity 1.6s var(--g-ease-slow),visibility 0s linear 1.6s;
}
.loader.gone{opacity:0;visibility:hidden;}

.loader-mark{
  width:clamp(240px,28vw,480px);
  height:auto;
  opacity:0;
  transform:scale(0.6);
  transition:opacity 2s var(--g-ease-slow),transform 2.4s var(--g-ease-slow);
}
.loader.in .loader-mark{
  opacity:1;
  transform:scale(1);
}

/* ══ HEADER ══ */
.head{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--g-h-head);display:flex;align-items:center;padding:0 var(--g-s-7);transition:background .4s var(--g-ease);}
.head.solid{background:var(--void);border-bottom:1px solid var(--on-void-line);}
.head-inner{width:100%;max-width:1680px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--g-s-5);}
.head-logo{font-family:var(--g-display);font-weight:400;font-size:clamp(20px,1.8vw,26px);letter-spacing:-0.01em;color:var(--on-void-1);line-height:1;}
.head-logo sup{font-family:var(--g-mono);font-size:var(--g-t-mono-xs);vertical-align:super;opacity:0.6;}
.head-nav{display:flex;gap:var(--g-s-7);list-style:none;}
.head-nav a{font-family:var(--g-mono);font-size:var(--g-t-mono);letter-spacing:var(--g-tk-mono);text-transform:uppercase;color:var(--on-void-3);transition:color .25s var(--g-ease);}
.head-nav a:hover{color:var(--on-void-1);}
.head-lang{display:flex;gap:var(--g-s-3);border:0;align-items:baseline;}
.head-lang button{font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:0.14em;text-transform:uppercase;padding:0;background:none;border:0;cursor:pointer;color:var(--on-void-4);transition:color .25s var(--g-ease);}
.head-lang button:hover{color:var(--on-void-2);}
.head-lang button:focus-visible{outline:1px solid var(--c-brand);outline-offset:3px;}

.head-lang button.on{background:none;color:var(--on-void-1);}

.head-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:none;outline:none;}
.head-burger span{display:block;width:22px;height:1px;background:var(--on-void-1);transition:all .3s var(--g-ease);}
.head-burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.head-burger.open span:nth-child(2){opacity:0;}
.head-burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.mobile-nav{display:none;position:fixed;inset:0;z-index:49;background:var(--void);flex-direction:column;align-items:center;justify-content:center;gap:var(--g-s-5);padding:var(--g-s-7);}
.mobile-nav.open{display:flex;}
.mobile-nav a{font-family:var(--g-display);font-weight:300;font-size:clamp(28px,6vw,44px);letter-spacing:-0.02em;color:var(--on-void-2);transition:color .25s var(--g-ease);text-align:center;}
.mobile-nav a:hover{color:var(--on-void-1);}
@media(max-width:960px){.head{padding:0 var(--g-s-4);}.head-nav{display:none;}.head-burger{display:flex;}}


/* ══ HERO CON VIDEO ══ */
.hero{position:relative;width:100%;height:100vh;min-height:600px;overflow:hidden;display:flex;flex-direction:column;}

/* Video fondo */
.hero-video{position:absolute;inset:0;z-index:0;background:var(--void);}
.hero-video iframe{position:absolute;top:50%;left:50%;width:180%;height:180%;transform:translate(-50%,-50%);pointer-events:none;border:none;}
.hero-video-img{position:absolute;inset:0;transition:opacity 1.5s var(--g-ease-slow);}
.hero-video-img img{width:100%;height:100%;object-fit:cover;display:block;}

/* Gradiente — más oscuro abajo para legibilidad */
.hero-overlay{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(to bottom,rgba(12,18,32,0.45) 0%,rgba(12,18,32,0) 20%,rgba(12,18,32,0) 45%,rgba(12,18,32,0.92) 100%);
}

/* Contenido — empieza invisible, fade-in suave */
.hero-top{
  position:relative;z-index:3;
  margin-top:var(--g-h-head);
  padding:clamp(48px,6vw,96px) var(--g-s-7) var(--g-s-7);
  border-bottom:1px solid var(--on-void-line);
  max-width:1680px;margin-left:auto;margin-right:auto;width:100%;
  opacity:0;transition:opacity 1.8s var(--g-ease-slow) 0.4s;
}
.hero-body{
  position:relative;z-index:3;flex:1;
  padding:0 var(--g-s-7) clamp(48px,6vw,96px);
  max-width:1680px;margin:0 auto;width:100%;
  display:flex;flex-direction:column;justify-content:flex-end;
  opacity:0;transition:opacity 1.4s var(--g-ease-slow) 0s;
}
.hero-foot{
  position:relative;z-index:3;
  padding:var(--g-s-5) var(--g-s-7);
  border-top:1px solid var(--on-void-line);
  display:flex;justify-content:space-between;align-items:center;
  gap:var(--g-s-5);flex-wrap:wrap;
  font-family:var(--g-mono);font-size:var(--g-t-mono-xs);
  letter-spacing:var(--g-tk-mono);text-transform:uppercase;color:var(--on-void-4);
  max-width:1680px;margin:0 auto;width:100%;
  opacity:0;transition:opacity 1.8s var(--g-ease-slow) 2s;
}
.hero-top.in,.hero-body.in,.hero-foot.in{opacity:1;}

.hero-mh{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--g-s-7);font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:var(--g-tk-mono);text-transform:uppercase;color:var(--on-void-3);}
.mh-cell{display:flex;flex-direction:column;gap:8px;}
.mh-key{opacity:0.55;}
.mh-val{font-family:var(--g-display);font-weight:300;font-size:clamp(18px,1.8vw,26px);letter-spacing:-0.01em;color:var(--on-void-1);line-height:1.1;text-transform:none;}
.hero-kicker{font-family:var(--g-mono);font-size:var(--g-t-mono);letter-spacing:var(--g-tk-mono);text-transform:uppercase;color:var(--on-void-3);margin-bottom:clamp(24px,3vw,48px);display:flex;align-items:center;gap:var(--g-s-3);}
.hero-kicker::before{content:'';width:48px;height:1px;background:var(--on-void-3);}
.hero-title{font-family:var(--g-display);font-weight:300;font-size:var(--g-t-display);line-height:0.86;letter-spacing:var(--g-tk-very-tight);color:var(--on-void-1);margin-bottom:clamp(24px,3vw,48px);}
.hero-title em{font-style:italic;color:var(--on-void-2);}
.hero-sub{font-family:var(--g-display);font-weight:300;font-style:italic;font-size:var(--g-t-lead);color:var(--on-void-2);max-width:52ch;line-height:1.45;}
.hero-video-label{display:flex;align-items:center;gap:var(--g-s-3);}
.hero-video-label::before{content:'';display:inline-block;width:8px;height:8px;background:var(--tad-vida);animation:blink 2s ease-in-out infinite;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0.3;}}
@media(max-width:760px){.hero-mh{grid-template-columns:1fr 1fr;gap:var(--g-s-4);}.hero-top{padding:var(--g-s-5) var(--g-s-4) var(--g-s-4);}.hero-body{padding:0 var(--g-s-5) var(--g-s-6);}.hero-foot{padding:var(--g-s-4);}.hero-title{font-size:clamp(60px,14vw,180px);}}

/* ══ SALAS ══ */
.sala{position:relative;width:100%;min-height:120vh;background:var(--void);overflow:hidden;display:flex;flex-direction:column;}
.sala-masthead{position:relative;z-index:3;padding:clamp(96px,10vw,160px) var(--g-s-7) var(--g-s-7);border-bottom:1px solid var(--on-void-line);max-width:1680px;margin:0 auto;width:100%;}
.sala-mh-tipo{font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:var(--g-tk-mono);text-transform:uppercase;color:var(--on-void-3);margin-bottom:var(--g-s-3);}
.sala-mh-nombre{font-family:var(--g-display);font-weight:300;font-size:clamp(40px,5vw,80px);line-height:0.92;letter-spacing:-0.03em;color:var(--on-void-1);margin-bottom:var(--g-s-4);}
.sala-mh-nombre em{font-style:italic;color:var(--on-void-2);}
.sala-mh-meta{display:flex;gap:var(--g-s-6);flex-wrap:wrap;}
.sala-mh-meta span{font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:var(--g-tk-mono);text-transform:uppercase;color:var(--on-void-4);}
.sala-photo{position:relative;z-index:1;flex:1;min-height:65vh;width:100%;overflow:hidden;background:var(--void);}
.sala-photo img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity 1.4s var(--g-ease-slow);}
.sala-photo img.loaded{opacity:1;}
.sala-photo::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(12,18,32,0) 60%,rgba(12,18,32,0.55) 100%);}
.sala-pie{position:relative;z-index:3;background:var(--void);padding:clamp(40px,5vw,80px) var(--g-s-7) clamp(64px,8vw,128px);}
.sala-pie-inner{max-width:1680px;margin:0 auto;display:flex;flex-direction:column;gap:var(--g-s-5);}
.sala-desc{font-family:var(--g-display);font-weight:300;font-style:italic;font-size:clamp(20px,1.8vw,28px);line-height:1.45;color:var(--on-void-2);max-width:56ch;}
.sala-link{font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:var(--g-tk-mono);text-transform:uppercase;color:var(--on-void-4);display:inline-flex;align-items:center;gap:8px;transition:color .25s;}
.sala-link:hover{color:var(--on-void-1);}
.sala-link::before{content:'';width:24px;height:1px;background:currentColor;}
@media(max-width:960px){.sala-masthead{padding:var(--g-s-6) var(--g-s-4) var(--g-s-4);}.sala-photo{min-height:45vh;}.sala-pie{padding:var(--g-s-5) var(--g-s-5) var(--g-s-7);}}

/* ══ MANIFIESTO ══ */
.manifesto{background:var(--void);padding:clamp(160px,18vw,280px) var(--g-s-7);min-height:100vh;display:flex;flex-direction:column;justify-content:center;}
.manifesto-inner{max-width:1680px;margin:0 auto;}
.manifesto-mh{padding-bottom:var(--g-s-5);border-bottom:1px solid var(--on-void-line);margin-bottom:clamp(80px,12vw,200px);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--g-s-7);font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:var(--g-tk-mono);text-transform:uppercase;color:var(--on-void-3);}
.manifesto-mh .mh-val{font-family:var(--g-display);font-weight:300;font-size:clamp(16px,1.5vw,22px);color:var(--on-void-2);text-transform:none;letter-spacing:0;}
.manifesto-text{font-family:var(--g-display);font-weight:300;font-size:var(--g-t-display);line-height:0.92;letter-spacing:var(--g-tk-very-tight);color:var(--on-void-1);max-width:14ch;}
.manifesto-text em{font-style:italic;color:var(--on-void-2);}
.manifesto-foot{margin-top:clamp(80px,12vw,200px);padding-top:var(--g-s-5);border-top:1px solid var(--on-void-line);display:flex;justify-content:space-between;flex-wrap:wrap;font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:var(--g-tk-mono);text-transform:uppercase;color:var(--on-void-4);}
@media(max-width:760px){.manifesto{padding:var(--g-s-10) var(--g-s-5);}.manifesto-mh{grid-template-columns:1fr 1fr;gap:var(--g-s-5);}}

/* ══ SOPÓ ══ */
.sopo{background:var(--warm);color:var(--on-warm-1);padding:clamp(160px,18vw,280px) 0;}
.sopo-inner{max-width:1680px;margin:0 auto;padding:0 var(--g-s-7);}
.sopo-mh{padding-bottom:var(--g-s-5);border-bottom:1px solid var(--on-warm-line);margin-bottom:clamp(80px,12vw,200px);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--g-s-7);font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:var(--g-tk-mono);text-transform:uppercase;color:var(--on-warm-3);}
.sopo-mh .mh-val{font-family:var(--g-display);font-weight:300;font-size:clamp(16px,1.5vw,22px);color:var(--on-warm-1);text-transform:none;letter-spacing:0;}
.sopo-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(64px,9vw,144px);align-items:center;}
.sopo-foto{position:relative;width:100%;aspect-ratio:3/4;background:var(--void);overflow:hidden;}
.sopo-foto img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity 1.4s var(--g-ease-slow);}
.sopo-foto img.loaded{opacity:1;}
.sopo-badge{display:inline-block;margin-bottom:var(--g-s-5);font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:var(--g-tk-mono);text-transform:uppercase;color:var(--on-warm-1);padding:var(--g-s-2) var(--g-s-3);border:1px solid var(--on-warm-line);}
.sopo-nombre{font-family:var(--g-display);font-weight:300;font-size:clamp(56px,7vw,112px);line-height:0.92;letter-spacing:var(--g-tk-very-tight);color:var(--on-warm-1);margin-bottom:var(--g-s-6);}
.sopo-nombre em{font-style:italic;color:var(--on-warm-2);}
.sopo-texto{font-family:var(--g-display);font-weight:300;font-size:var(--g-t-lead);line-height:1.55;color:var(--on-warm-2);margin-bottom:var(--g-s-3);max-width:46ch;}
@media(max-width:880px){.sopo-grid{grid-template-columns:1fr;gap:var(--g-s-7);}.sopo-mh{grid-template-columns:1fr 1fr;gap:var(--g-s-5);}}

/* ══ FICHA ══ */
.ficha{background:var(--warm);color:var(--on-warm-1);padding:clamp(160px,18vw,280px) var(--g-s-7);border-top:1px solid var(--on-warm-line);}
.ficha-inner{max-width:1680px;margin:0 auto;}
.ficha-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--g-s-7);margin-bottom:clamp(80px,12vw,200px);padding-bottom:var(--g-s-5);border-bottom:1px solid var(--on-warm-line);flex-wrap:wrap;}
.ficha-title{font-family:var(--g-display);font-weight:300;font-size:clamp(48px,6vw,96px);line-height:0.95;letter-spacing:var(--g-tk-very-tight);color:var(--on-warm-1);}
.ficha-title em{font-style:italic;color:var(--on-warm-2);}
.ficha-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--g-s-6);padding-top:var(--g-s-5);border-top:1px solid var(--on-warm-line);}
.ficha-num-val{font-family:var(--g-display);font-weight:300;font-size:clamp(48px,5vw,80px);line-height:0.9;letter-spacing:var(--g-tk-very-tight);color:var(--on-warm-1);display:block;margin-bottom:var(--g-s-2);}
.ficha-num-label{font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:var(--g-tk-mono);text-transform:uppercase;color:var(--on-warm-3);}
.ficha-quote{margin-top:clamp(64px,8vw,128px);padding-top:var(--g-s-7);border-top:1px solid var(--on-warm-line);font-family:var(--g-display);font-style:italic;font-weight:300;font-size:clamp(24px,2.6vw,40px);line-height:1.4;color:var(--on-warm-1);max-width:64ch;}
@media(max-width:760px){.ficha-nums{grid-template-columns:1fr 1fr;}}

/* ══ CIERRE ══ */
.cierre{background:var(--void);padding:clamp(160px,18vw,280px) var(--g-s-7);border-top:1px solid var(--on-void-line);}
.cierre-inner{max-width:1680px;margin:0 auto;}
.cierre-mh{padding-bottom:var(--g-s-5);border-bottom:1px solid var(--on-void-line);margin-bottom:clamp(80px,12vw,200px);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--g-s-7);font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:var(--g-tk-mono);text-transform:uppercase;color:var(--on-void-3);}
.cierre-mh .mh-val{font-family:var(--g-display);font-weight:300;font-size:clamp(16px,1.5vw,22px);color:var(--on-void-2);text-transform:none;letter-spacing:0;}
.cierre-frase{font-family:var(--g-display);font-weight:300;font-style:italic;font-size:clamp(48px,6vw,96px);line-height:1.05;letter-spacing:var(--g-tk-very-tight);color:var(--on-void-1);max-width:22ch;margin-bottom:var(--g-s-7);}
.cierre-sub{font-family:var(--g-display);font-weight:300;font-size:var(--g-t-lead);color:var(--on-void-3);max-width:54ch;}
@media(max-width:760px){.cierre-mh{grid-template-columns:1fr 1fr;gap:var(--g-s-5);}}

/* ══ CTA ══ */
.cta-float{position:fixed;bottom:var(--g-s-6);right:var(--g-s-6);z-index:60;display:inline-flex;align-items:center;gap:var(--g-s-3);background:var(--on-void-1);color:var(--void);padding:var(--g-s-4) var(--g-s-6);font-family:var(--g-mono);font-size:var(--g-t-mono);letter-spacing:var(--g-tk-mono);text-transform:uppercase;border:1px solid var(--on-void-1);transition:background .3s,color .3s,border-color .3s,transform .4s var(--g-ease-slow),opacity .4s;cursor:pointer;transform:translateY(8px);opacity:0;}
.cta-float.in{transform:translateY(0);opacity:1;}
.cta-float:hover{background:var(--tad-vida);color:var(--void);border-color:var(--tad-vida);}
.cta-float::after{content:'→';}
@media(max-width:760px){.cta-float{bottom:var(--g-s-4);right:var(--g-s-4);left:var(--g-s-4);justify-content:center;}}

/* ══ FOOTER ══ */
.foot{background:var(--void);padding:var(--g-s-10) 0 calc(var(--g-s-6) + 80px);border-top:1px solid var(--on-void-line);}
.foot-inner{max-width:1680px;margin:0 auto;padding:0 var(--g-s-7);display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--g-s-8);margin-bottom:var(--g-s-8);}
.fb-name{font-family:var(--g-display);font-weight:400;font-size:clamp(28px,2.4vw,40px);letter-spacing:-0.02em;margin-bottom:8px;}
.fb-name sup{font-family:var(--g-mono);font-size:var(--g-t-mono-xs);vertical-align:super;opacity:0.6;}
.fb-tag{font-family:var(--g-display);font-style:italic;font-size:var(--g-t-body);color:var(--on-void-3);margin-bottom:24px;max-width:32ch;}
.fb-loc{font-family:var(--g-mono);font-size:var(--g-t-mono);letter-spacing:var(--g-tk-mono);text-transform:uppercase;color:var(--on-void-3);}
.foot-col h4{font-family:var(--g-mono);font-size:var(--g-t-mono);letter-spacing:var(--g-tk-mono);text-transform:uppercase;color:var(--on-void-4);margin-bottom:16px;font-weight:400;}
.foot-col ul{list-style:none;}.foot-col li{margin-bottom:8px;}
.foot-col a{font-family:var(--g-body);font-size:var(--g-t-mono);color:var(--on-void-2);}
.foot-bottom{max-width:1680px;margin:0 auto;padding:var(--g-s-7) var(--g-s-7) 0;border-top:1px solid var(--on-void-line);}
.foot-ficha{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--g-s-7);margin-bottom:var(--g-s-7);}
.foot-ficha div{display:flex;flex-direction:column;gap:var(--g-s-2);font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:0.14em;line-height:1.6;color:var(--on-void-3);}
.foot-ficha span{text-transform:uppercase;color:var(--on-void-4);font-size:var(--g-t-mono-xs);letter-spacing:0.18em;}
.foot-cierre{display:flex;justify-content:space-between;align-items:center;gap:var(--g-s-5);flex-wrap:wrap;padding-bottom:var(--g-s-6);font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:0.14em;color:var(--on-void-4);}
.foot-ed{text-transform:uppercase;}
@media(max-width:760px){.foot-ficha{grid-template-columns:1fr 1fr;gap:var(--g-s-5);}}
.foot-x{display:inline-flex;align-items:center;gap:8px;color:var(--on-void-3);}
.foot-x::before{content:'';width:6px;height:6px;background:var(--tad-vida);display:inline-block;}
@media(max-width:880px){.foot-inner{grid-template-columns:1fr 1fr;}}
@media(max-width:540px){.foot-inner{grid-template-columns:1fr;}}

.reveal{opacity:0;transform:translateY(28px);transition:opacity 1.1s var(--g-ease-slow),transform 1.1s var(--g-ease-slow);}
.reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.reveal,.hero-top,.hero-body,.hero-foot{opacity:1!important;transform:none!important;transition:none!important;}}

@media(max-width:760px){
  .sala{min-height:0;}
  .sala-photo{min-height:55vw;}
  .sala-pie{padding:var(--g-s-5) var(--g-s-4) var(--g-s-7);}
  .manifesto{min-height:0;padding:var(--g-s-9) var(--g-s-4);}
  .manifesto-mh{grid-template-columns:1fr 1fr;gap:var(--g-s-4);}
  .sopo{padding:var(--g-s-9) 0;}
  .sopo-mh{grid-template-columns:1fr 1fr;gap:var(--g-s-4);margin-bottom:var(--g-s-7);}
  .ficha{padding:var(--g-s-9) var(--g-s-4);}
  .ficha-header{margin-bottom:var(--g-s-7);}
  .ficha-nums{grid-template-columns:1fr 1fr;gap:var(--g-s-5);}
  .cierre{padding:var(--g-s-9) var(--g-s-4);}
  .cierre-mh{grid-template-columns:1fr 1fr;gap:var(--g-s-4);margin-bottom:var(--g-s-7);}
  .foot-inner{grid-template-columns:1fr 1fr;gap:var(--g-s-6);}
}

/* ORIGAMI HOUSE */
.origami{background:var(--void);position:relative;overflow:hidden;}
.origami-hero{position:relative;width:100%;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;}
.origami-foto{position:absolute;inset:0;z-index:0;}
.origami-foto img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.8s;}
.origami-foto img.loaded{opacity:1;}
.origami-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(12,18,32,0.2) 0%,rgba(12,18,32,0) 30%,rgba(12,18,32,0.7) 70%,rgba(12,18,32,0.97) 100%);}
.origami-content{position:relative;z-index:2;padding:var(--g-h-head) var(--g-s-7) clamp(64px,8vw,128px);max-width:1680px;margin:0 auto;width:100%;}
.origami-top{display:flex;justify-content:space-between;align-items:flex-start;padding-top:clamp(80px,10vw,160px);margin-bottom:clamp(64px,10vw,160px);}
.origami-badge{font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:var(--g-tk-mono);text-transform:uppercase;color:var(--tad-vida);padding:var(--g-s-2) var(--g-s-4);border:1px solid rgba(0,255,163,0.4);display:inline-flex;align-items:center;gap:8px;}
.origami-badge::before{content:'';width:6px;height:6px;background:var(--tad-vida);animation:blink 2s ease-in-out infinite;}
.origami-escasez{font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:var(--g-tk-mono);text-transform:uppercase;color:var(--on-void-3);text-align:right;line-height:2;}
.origami-titulo{font-family:var(--g-display);font-weight:300;font-size:var(--g-t-display);line-height:0.84;letter-spacing:-0.055em;color:var(--on-void-1);margin-bottom:var(--g-s-6);}
.origami-titulo em{font-style:italic;color:var(--on-void-2);}
.origami-pie{display:grid;grid-template-columns:1fr 1fr;gap:var(--g-s-7);align-items:end;padding-top:var(--g-s-6);border-top:1px solid var(--on-void-line);}
.origami-desc{font-family:var(--g-display);font-weight:300;font-style:italic;font-size:var(--g-t-lead);color:var(--on-void-2);line-height:1.5;max-width:48ch;}
.origami-datos{display:grid;grid-template-columns:1fr 1fr;gap:var(--g-s-5);}
.origami-dato{border-top:1px solid var(--on-void-line);padding-top:var(--g-s-3);}
.origami-dato-val{font-family:var(--g-display);font-weight:300;font-size:clamp(32px,3.5vw,56px);line-height:0.9;letter-spacing:-0.04em;color:var(--on-void-1);display:block;}
.origami-dato-label{font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:var(--g-tk-mono);text-transform:uppercase;color:var(--on-void-4);}
.origami-lista{background:var(--warm);color:var(--on-warm-1);padding:clamp(80px,10vw,160px) var(--g-s-7);}
.origami-lista-inner{max-width:1680px;margin:0 auto;}
.origami-lista-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(64px,8vw,128px);align-items:start;}
.ol-titulo{font-family:var(--g-display);font-weight:300;font-size:clamp(44px,5.5vw,88px);line-height:0.95;letter-spacing:var(--g-tk-very-tight);color:var(--on-warm-1);margin-bottom:var(--g-s-6);}
.ol-titulo em{font-style:italic;color:var(--on-warm-2);}
.ol-sub{font-family:var(--g-display);font-weight:300;font-style:italic;font-size:var(--g-t-lead);color:var(--on-warm-2);line-height:1.5;margin-bottom:var(--g-s-7);max-width:44ch;}
.ol-puntos{border-top:1px solid var(--on-warm-line);}
.ol-punto{padding:var(--g-s-4) 0;border-bottom:1px solid var(--on-warm-line);display:flex;align-items:baseline;gap:var(--g-s-4);font-family:var(--g-display);font-weight:300;font-size:clamp(17px,1.5vw,22px);color:var(--on-warm-2);}
.ol-punto::before{content:'∴';color:var(--c-brand);font-family:var(--g-display);font-size:1rem;flex-shrink:0;}
.ol-form{display:flex;flex-direction:column;gap:var(--g-s-4);}
.ol-field{display:flex;flex-direction:column;gap:var(--g-s-2);}
.ol-label{font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:var(--g-tk-mono);text-transform:uppercase;color:var(--on-warm-3);}
.ol-input{background:transparent;border:none;border-bottom:1px solid var(--on-warm-line);padding:var(--g-s-3) 0;font-family:var(--g-display);font-weight:300;font-size:clamp(18px,1.6vw,24px);color:var(--on-warm-1);outline:none;transition:border-color .3s;width:100%;}
.ol-input:focus{border-bottom-color:var(--on-warm-1);}
.ol-input::placeholder{color:var(--on-warm-3);}
.ol-submit{margin-top:var(--g-s-4);background:var(--on-warm-1);color:var(--warm);padding:var(--g-s-4) var(--g-s-7);font-family:var(--g-mono);font-size:var(--g-t-mono);letter-spacing:var(--g-tk-mono);text-transform:uppercase;border:1px solid var(--on-warm-1);cursor:pointer;transition:background .3s,color .3s;display:flex;align-items:center;gap:var(--g-s-3);justify-content:center;}
.ol-submit:hover{background:transparent;color:var(--on-warm-1);}
.ol-submit::after{content:'→';}
.ol-aviso{font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:var(--g-tk-mono);text-transform:uppercase;color:var(--on-warm-3);margin-top:var(--g-s-3);text-align:center;}
.ol-success{display:none;padding:var(--g-s-6);border:1px solid var(--on-warm-line);text-align:center;}
.ol-success p{font-family:var(--g-display);font-weight:300;font-style:italic;font-size:var(--g-t-lead);color:var(--on-warm-2);}
@media(max-width:880px){.origami-pie{grid-template-columns:1fr;}.origami-content{padding:var(--g-h-head) var(--g-s-4) var(--g-s-8);}.origami-titulo{font-size:clamp(72px,18vw,180px);}.origami-lista-grid{grid-template-columns:1fr;}.origami-lista{padding:var(--g-s-9) var(--g-s-4);}}

.wa-float{position:fixed;bottom:32px;right:32px;z-index:4000;display:flex;align-items:center;gap:12px;background:var(--g-wa);color:var(--warm);padding:12px 20px;font-family:'IBM Plex Mono',monospace;font-size:var(--g-t-mono-xs);letter-spacing:0.16em;text-transform:uppercase;text-decoration:none;transition:background .3s,transform .3s;}
.wa-float:hover{background:var(--g-wa-hover);transform:translateY(-2px);}
.wa-float svg{width:20px;height:20px;flex-shrink:0;}
.wa-float span{white-space:nowrap;}
@media(max-width:760px){.wa-float{bottom:20px;right:16px;padding:12px;}.wa-float span{display:none;}}

/* TESTIMONIOS */
.testimonios{background:var(--void);padding:clamp(120px,14vw,220px) var(--g-s-7);border-top:1px solid var(--on-void-line);}
.testimonios-inner{max-width:1680px;margin:0 auto;}
.test-header{padding-bottom:var(--g-s-5);border-bottom:1px solid var(--on-void-line);margin-bottom:clamp(64px,8vw,128px);display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:var(--g-s-4);}
.test-titulo{font-family:var(--g-display);font-weight:300;font-size:clamp(44px,5.5vw,88px);line-height:0.95;letter-spacing:-0.04em;color:var(--on-void-1);}
.test-titulo em{font-style:italic;color:var(--on-void-2);}
.test-ref{font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:var(--g-tk-mono);text-transform:uppercase;color:var(--on-void-4);}
.test-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--g-s-7);}
.test-item{border-top:1px solid var(--on-void-line);padding-top:var(--g-s-6);}
.test-cita{font-family:var(--g-display);font-weight:300;font-style:italic;font-size:clamp(20px,1.8vw,28px);line-height:1.5;color:var(--on-void-2);margin-bottom:var(--g-s-5);max-width:44ch;}
.test-cita::before{content:'"';color:var(--tad-vida);font-style:normal;}
.test-cita::after{content:'"';color:var(--tad-vida);font-style:normal;}
.test-autor{font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:var(--g-tk-mono);text-transform:uppercase;color:var(--on-void-4);display:flex;flex-direction:column;gap:4px;}
.test-autor strong{color:var(--on-void-3);font-weight:400;}
@media(max-width:760px){.test-grid{grid-template-columns:1fr;}.testimonios{padding:var(--g-s-9) var(--g-s-4);}}

/* ---------- Autorización de datos en el formulario de lista de espera ---------- */
.ol-consent{display:flex;gap:var(--g-s-3);align-items:flex-start;margin:var(--g-s-4) 0;font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:0.04em;line-height:1.55;color:var(--on-void-3);cursor:pointer;}
.ol-consent input{margin-top:2px;accent-color:var(--c-brand);flex-shrink:0;}
.ol-consent a{color:var(--on-void-1);text-decoration:underline;text-underline-offset:3px;}
.ol-consent a:hover{color:var(--c-brand);}

/* ============================================================
   PLIEGO · TRAYECTORIA INSTITUCIONAL
   Lenguaje de revista: portadilla · pieza destacada · índice.
   Sin logos: la tipografía hace el trabajo.
   ============================================================ */

.pliego{border-top:1px solid var(--on-void-line);}

/* ---------- Portadilla ---------- */
.pl-portadilla{border-bottom:1px solid var(--on-void-line);}
.pl-portadilla-inner{max-width:1680px;margin:0 auto;padding:var(--g-s-9) var(--g-s-7);
  display:grid;grid-template-columns:1.2fr 1fr;gap:var(--g-s-9);align-items:end;}

.pl-folio{font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:0.2em;
  text-transform:uppercase;color:var(--on-void-4);margin-bottom:var(--g-s-6);}

.pl-titulo{font-family:var(--g-display);font-weight:300;
  font-size:clamp(34px,5.4vw,86px);line-height:1.02;
  letter-spacing:var(--g-tk-very-tight);}
.pl-titulo em{font-style:italic;color:var(--on-void-2);}

.pl-entradilla{border-left:1px solid var(--on-void-line);padding-left:var(--g-s-6);}
.pl-entradilla p{font-size:var(--g-t-lead);line-height:1.5;color:var(--on-void-2);
  max-width:38ch;}

/* ---------- Pieza destacada ---------- */
.pl-destacado{background:var(--warm);color:var(--void);
  border-bottom:1px solid var(--on-void-line);}
.pl-destacado-inner{max-width:1680px;margin:0 auto;padding:var(--g-s-9) var(--g-s-7);
  display:grid;grid-template-columns:1.4fr 1fr;gap:var(--g-s-9);align-items:start;}

.pl-marca{font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:0.2em;
  text-transform:uppercase;color:var(--on-warm-3);margin-bottom:var(--g-s-5);}

.pl-nombre-xl{font-family:var(--g-display);font-weight:300;
  font-size:clamp(30px,4.6vw,72px);line-height:1.04;
  letter-spacing:var(--g-tk-very-tight);color:var(--void);}
.pl-nombre-xl em{font-style:italic;color:var(--on-warm-2);}

.pl-texto{margin-top:var(--g-s-6);max-width:46ch;color:var(--on-warm-2);
  line-height:1.7;}

.pl-cifra{display:flex;flex-direction:column;gap:var(--g-s-2);
  border-top:1px solid var(--on-warm-line);padding-top:var(--g-s-5);}
.pl-cifra-n{font-family:var(--g-display);font-weight:300;
  font-size:var(--g-t-display);line-height:.84;
  letter-spacing:var(--g-tk-very-tight);color:var(--c-brand);}
.pl-cifra-u{font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:0.2em;
  text-transform:uppercase;color:var(--on-warm-3);}

/* ---------- Índice ---------- */
.pl-indice-inner{max-width:1680px;margin:0 auto;padding:var(--g-s-9) var(--g-s-7);}

.pl-lista{list-style:none;margin-top:var(--g-s-7);}

.pl-fila{display:grid;grid-template-columns:9rem 1fr;gap:0 var(--g-s-7);
  padding:var(--g-s-6) 0;border-bottom:1px solid var(--on-void-line);
  align-items:baseline;}

.pl-anio{font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:0.16em;
  color:var(--on-void-4);padding-top:.5em;}
.pl-guion{opacity:.5;}

.pl-nombre{font-family:var(--g-display);font-weight:300;
  font-size:clamp(22px,2.6vw,40px);line-height:1.14;
  letter-spacing:var(--g-tk-tight);color:var(--on-void-1);
  grid-column:2;}

.pl-pie{grid-column:2;margin-top:var(--g-s-3);
  font-family:var(--g-mono);font-size:var(--g-t-mono-xs);letter-spacing:0.13em;
  line-height:1.7;color:var(--on-void-3);max-width:62ch;}

.pl-colofon{margin-top:var(--g-s-7);font-family:var(--g-mono);font-size:var(--g-t-mono-xs);
  letter-spacing:0.2em;text-transform:uppercase;color:var(--on-void-4);}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .pl-portadilla-inner,.pl-destacado-inner{grid-template-columns:1fr;
    gap:var(--g-s-7);align-items:start;}
  .pl-entradilla{border-left:0;border-top:1px solid var(--on-void-line);
    padding-left:0;padding-top:var(--g-s-5);}
}
@media(max-width:760px){
  .pl-portadilla-inner,.pl-destacado-inner,.pl-indice-inner{
    padding-left:var(--g-s-5);padding-right:var(--g-s-5);}
  .pl-fila{grid-template-columns:1fr;gap:var(--g-s-2);}
  .pl-anio{padding-top:0;}
  .pl-nombre,.pl-pie{grid-column:1;}
}

/* ── LOGO DEL HEADER · imagotipo, no texto ──
   Altura por el token canónico --g-logo-alto (aprobado 2026-08-11:
   clamp(54px,15vw,62px), subido para que la tagline se lea en móvil).
   width:auto respeta el ratio 4.2:1 del SVG (283.46 x 67.46). */
.head-logo-img{height:var(--g-logo-alto,clamp(54px,15vw,62px));width:auto;display:block;}
.head-logo{display:inline-flex;align-items:center;}
