/* ═══════════════════════════════════════════════════════════════
   GRESANOVA · Sistema visual "Instrumento"
   Base clara para leer · bandas oscuras para los momentos de impacto.
   Las bandas oscuras solo redefinen variables: los componentes no se duplican.
   ═══════════════════════════════════════════════════════════════ */

@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(../fonts/archivo.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;
  src:url(../fonts/plexmono-400.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;
  src:url(../fonts/plexmono-500.woff2) format('woff2')}

:root{
  /* ── superficie clara (por defecto) ── */
  --bg:#F1EFEA;
  --bg-2:#E9E6DF;
  --surface:#F8F7F4;
  --fg:#14191D;
  --fg-2:#4E5B65;
  --fg-3:#5E6B75;
  --line:rgba(20,25,29,.155);
  --line-2:rgba(20,25,29,.085);
  --accent:#8A6118;        /* latón legible sobre claro */
  --accent-g:#C08B2C;      /* latón gráfico: rellenos, trazos, nunca texto sobre claro */
  --accent-soft:rgba(192,139,44,.10);
  --oxide:#8C3F2C;
  --shadow:0 1px 2px rgba(20,25,29,.04),0 12px 30px -16px rgba(20,25,29,.16);

  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --sans:'Archivo',system-ui,-apple-system,sans-serif;
  --gut:clamp(20px,5vw,68px);
  --maxw:1280px;
  --ease:cubic-bezier(.22,.61,.24,1);
  --nav-h:66px;
}

/* ── banda oscura: mismo componente, otra piel ── */
.band-dark{
  --bg:#0D1114;
  --bg-2:#11161A;
  --surface:#161C22;
  --fg:#DEE5EA;
  --fg-2:#A8B4BC;
  --fg-3:#7A8892;
  --line:rgba(255,255,255,.13);
  --line-2:rgba(255,255,255,.07);
  --accent:#E4B15C;
  --accent-g:#C08B2C;
  --accent-soft:rgba(192,139,44,.10);
  --oxide:#C4705A;
  --shadow:0 24px 60px -22px rgba(0,0,0,.75);
  background-color:var(--bg);color:var(--fg);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg) url(../img/tex/paper.jpg) center/1400px auto;
  color:var(--fg);font-family:var(--sans);font-weight:350;
  font-size:clamp(1rem,1.02vw,1.0625rem);line-height:1.66;
  -webkit-font-smoothing:antialiased;overflow-x:clip;
}
html{overflow-x:clip}
img,svg,canvas,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
::selection{background:rgba(192,139,44,.25)}

/* ═══ TIPOGRAFÍA UTILITARIA ═══ */
.mono{font-family:var(--mono);font-weight:400;font-size:.625rem;letter-spacing:.19em;
  text-transform:uppercase;color:var(--fg-3)}
.mono-a{color:var(--accent)}
.num{font-family:var(--mono);font-weight:500;font-variant-numeric:tabular-nums}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut)}
.sect{position:relative;padding-block:clamp(76px,9.4vh,124px)}
section[id]{scroll-margin-top:calc(var(--nav-h) + 20px)}

h1,h2,h3{font-weight:600;letter-spacing:-.028em;line-height:1.06}
h1{font-size:clamp(2.3rem,5.4vw,4.5rem);line-height:.98;letter-spacing:-.035em}
h2{font-size:clamp(1.7rem,3.5vw,2.85rem)}
h3{font-size:1.0625rem;letter-spacing:.01em;line-height:1.3}
em{font-style:normal;color:var(--fg-2)}
.band-dark h1 em,.hero h1 em{color:var(--accent)}

/* ═══ REVELADOS ═══ */
.rv{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv[data-d="1"]{transition-delay:.09s}.rv[data-d="2"]{transition-delay:.18s}
.rv[data-d="3"]{transition-delay:.27s}.rv[data-d="4"]{transition-delay:.36s}
.wd{display:inline-block}
.wd-i{display:inline-block;opacity:0;filter:blur(10px);transform:translateY(.32em) scale(.94);
  transition:opacity .8s var(--ease),filter .8s var(--ease),transform .8s var(--ease)}
.on .wd-i{opacity:1;filter:blur(0);transform:none}

/* ═══ NAVEGACIÓN ═══ */
.nav{position:fixed;top:0;left:0;right:0;z-index:70;height:var(--nav-h);display:flex;
  align-items:center;justify-content:space-between;padding-inline:var(--gut);
  border-bottom:1px solid transparent;transition:background .4s var(--ease),border-color .4s,backdrop-filter .4s}
.nav.stuck{background:rgba(241,239,234,.86);backdrop-filter:blur(18px) saturate(1.15);
  -webkit-backdrop-filter:blur(18px) saturate(1.15);border-bottom-color:var(--line-2)}
.nav.on-dark{color:#DEE5EA}
.nav.on-dark.stuck{background:rgba(13,17,20,.84);border-bottom-color:rgba(255,255,255,.09)}
.brand{display:flex;align-items:center;gap:11px}
.brand img{width:31px;height:auto;filter:grayscale(1) contrast(1.15)}
.nav.on-dark .brand img{filter:grayscale(1) brightness(1.5) contrast(1.05)}
.brand-tx{display:flex;flex-direction:column;line-height:1}
.brand-tx b{font-weight:600;font-size:.9375rem;letter-spacing:.2em}
.brand-tx span{font-family:var(--mono);font-size:.5rem;letter-spacing:.24em;text-transform:uppercase;
  opacity:.62;margin-top:5px}
.nav-links{display:flex;align-items:center;gap:2px;list-style:none}
.nav-links a{font-family:var(--mono);font-size:.5875rem;letter-spacing:.17em;text-transform:uppercase;
  padding:9px 11px;position:relative;opacity:.72;transition:opacity .3s}
.nav-links a::after{content:'';position:absolute;left:11px;right:11px;bottom:5px;height:1px;
  background:var(--accent-g);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.nav-links a:hover{opacity:1}
.nav-links a:hover::after,.nav-links a[aria-current]::after{transform:scaleX(1)}
.nav-cta{margin-left:12px;display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);
  font-size:.5875rem;letter-spacing:.17em;text-transform:uppercase;padding:10px 16px;
  border:1px solid currentColor;opacity:1!important;color:var(--accent);
  transition:background .35s,color .35s}
.nav-cta:hover{background:var(--accent);color:var(--bg)}
.nav.on-dark .nav-cta:hover{color:#0D1114}
.nav-cta::after{display:none}
.burger{display:none;width:40px;height:40px;border:1px solid var(--line);background:none;
  cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:inherit}
.burger span{width:16px;height:1px;background:currentColor;transition:transform .4s var(--ease),opacity .3s}
.burger.on span:nth-child(1){transform:translateY(3px) rotate(45deg)}
.burger.on span:nth-child(2){opacity:0}
.burger.on span:nth-child(3){transform:translateY(-3px) rotate(-45deg)}
.drawer{position:fixed;inset:var(--nav-h) 0 auto 0;z-index:69;background:rgba(241,239,234,.98);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--line-2);
  padding:8px var(--gut) 26px;visibility:hidden;opacity:0;transform:translateY(-8px);
  transition:opacity .35s var(--ease),transform .35s var(--ease),visibility .35s}
.drawer.on{visibility:visible;opacity:1;transform:none}
.drawer a{display:flex;justify-content:space-between;align-items:center;padding:15px 2px;
  border-bottom:1px solid var(--line-2);font-family:var(--mono);font-size:.6875rem;
  letter-spacing:.17em;text-transform:uppercase;color:var(--fg-2)}
.drawer .d-cta{margin-top:20px;border:1px solid var(--accent);color:var(--accent);justify-content:center;gap:10px}
@media(max-width:1080px){.nav-links{display:none}.burger{display:flex}}

/* ═══ BOTONES ═══ */
.btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:.6875rem;
  letter-spacing:.16em;text-transform:uppercase;padding:16px 26px;position:relative;overflow:hidden;
  transition:transform .5s var(--ease),background .4s,border-color .4s,color .4s,box-shadow .4s}
.btn-1{background:var(--accent-g);color:#100C05;font-weight:500;
  box-shadow:0 6px 26px -10px rgba(192,139,44,.6)}
.btn-1::before{content:'';position:absolute;inset:0;background:#D6A144;transform:translateY(101%);
  transition:transform .45s var(--ease)}
.btn-1:hover{box-shadow:0 10px 38px -8px rgba(192,139,44,.7)}
.btn-1:hover::before{transform:none}
.btn-1 span,.btn i{position:relative;z-index:1}
.btn-2{border:1px solid var(--line);color:var(--fg)}
.btn-2:hover{border-color:var(--fg-2);background:var(--accent-soft)}
.btn i{font-style:normal;transition:transform .45s var(--ease)}
.btn:hover i{transform:translateX(4px)}

/* ═══ CABEZAL DE SECCIÓN ═══ */
.head{display:grid;grid-template-columns:minmax(0,.44fr) minmax(0,.56fr);gap:clamp(24px,4vw,60px);
  align-items:end;margin-bottom:clamp(38px,5vw,68px)}
.head-tag{display:block;margin-bottom:16px}
.head p{color:var(--fg-2);max-width:50ch}
@media(max-width:820px){.head{grid-template-columns:1fr;gap:18px;align-items:start}}

/* ═══ PANELES Y TARJETAS ═══ */
.grid-panels{display:grid;gap:1px;background:var(--line-2);border:1px solid var(--line-2)}
.gp-1{grid-template-columns:1fr}
.gp-2{grid-template-columns:repeat(2,1fr)}
.gp-5{grid-template-columns:repeat(5,1fr)}
.gp-diag{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
@media(max-width:900px){.gp-diag{grid-template-columns:1fr}.gp-5{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.gp-2{grid-template-columns:1fr}}
@media(max-width:560px){.gp-5{grid-template-columns:1fr}}
.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,70px)}
@media(max-width:900px){.two-col{grid-template-columns:1fr;gap:34px}}
.barlist.two{display:grid;grid-template-columns:1fr 1fr;gap:20px clamp(30px,5vw,70px)}
@media(max-width:760px){.barlist.two{grid-template-columns:1fr}}
.card{--mx:50%;--my:50%;position:relative;background:var(--surface);
  padding:clamp(28px,3.4vw,46px);overflow:hidden;transition:background .5s var(--ease)}
.card::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .5s;
  background:radial-gradient(320px circle at var(--mx) var(--my),var(--accent-soft),transparent 70%)}
.card:hover::before{opacity:1}
.band-dark .card{background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 52%),var(--surface)}
.card p{color:var(--fg-2);font-size:.9375rem;line-height:1.62}
.card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px}
.ico{width:30px;height:30px;color:var(--fg-2);transition:color .5s}
.card:hover .ico{color:var(--accent)}
.card>ul{list-style:none;margin-top:24px;padding-top:20px;border-top:1px solid var(--line-2);
  display:grid;gap:9px}
.card>ul>li{font-family:var(--mono);font-size:.625rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--fg-3);padding-left:16px;position:relative}
.card>ul>li::before{content:'';position:absolute;left:0;top:.55em;width:7px;height:1px;background:var(--accent-g)}
/* la lista de síntomas es texto corrido numerado, no etiquetas */
.card>ul.symp{margin-top:30px;padding-top:0;border-top:1px solid var(--line-2);gap:0}
.card>ul.symp>li{font-family:var(--sans);font-size:.9375rem;letter-spacing:0;text-transform:none;
  color:var(--fg-2);padding:14px 0;line-height:1.5;display:grid;grid-template-columns:auto 1fr;gap:14px;
  border-bottom:1px solid var(--line-2)}
.card>ul.symp>li::before{content:attr(data-n);position:static;width:auto;height:auto;background:none;
  font-family:var(--mono);font-size:.5625rem;letter-spacing:.1em;color:var(--fg-3);padding-top:.35em}
/* las tarjetas de especialidades usan lista de texto corrido, no de etiquetas */
.esp-c>ul>li{font-family:var(--sans);font-size:.9375rem;letter-spacing:0;text-transform:none;
  color:var(--fg-2);padding-left:0;display:grid;grid-template-columns:auto 1fr;gap:13px;line-height:1.45}
.esp-c>ul>li::before{content:'—';position:static;width:auto;height:auto;background:none;
  color:var(--fg-3);font-family:var(--mono);font-size:.6875rem;padding-top:.2em}

/* ═══ REDES SOCIALES ═══ */
.social-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-2);
  border:1px solid var(--line-2)}
.soc{display:flex;flex-direction:column;gap:18px;padding:clamp(24px,3vw,38px);background:var(--surface);
  transition:background .45s var(--ease),transform .45s var(--ease)}
.band-dark .soc{background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 52%),var(--surface)}
.soc:hover{background:var(--accent-soft)}
.soc-ico{width:26px;height:26px;color:var(--fg-2);transition:color .4s,transform .4s var(--ease)}
.soc:hover .soc-ico{color:var(--accent);transform:translateY(-2px)}
.soc b{display:block;font-weight:600;font-size:1rem;letter-spacing:.01em;margin-bottom:5px}
.soc span{font-family:var(--mono);font-size:.625rem;letter-spacing:.12em;color:var(--fg-3)}
.soc-go{margin-top:auto;padding-top:18px;border-top:1px solid var(--line-2);
  font-family:var(--mono);font-size:.5625rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--accent);display:flex;justify-content:space-between;align-items:center}
@media(max-width:860px){.social-grid{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.social-grid{grid-template-columns:1fr}}

/* fila compacta de iconos (nav, pie, cabeceras) */
.soc-row{display:flex;gap:8px;align-items:center}
.soc-row a{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);
  color:var(--fg-2);transition:color .35s,border-color .35s,background .35s}
.soc-row a:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}
.soc-row svg{width:16px;height:16px}

/* ═══ PIE ═══ */
footer{border-top:1px solid var(--line-2);padding-block:clamp(40px,5vw,62px)}
.f-in{display:grid;grid-template-columns:1.1fr 1.4fr auto;gap:clamp(26px,4vw,60px);align-items:start}
.f-mark b{display:block;font-weight:600;font-size:1.125rem;letter-spacing:.22em;margin-bottom:10px}
.f-nav{display:flex;flex-wrap:wrap;gap:9px 22px;align-content:start}
.f-nav a{font-family:var(--mono);font-size:.5625rem;letter-spacing:.17em;text-transform:uppercase;
  color:var(--fg-3);transition:color .3s}
.f-nav a:hover{color:var(--fg)}
.f-meta{text-align:right}
@media(max-width:900px){.f-in{grid-template-columns:1fr;gap:28px}.f-meta{text-align:left}}

/* ═══ WHATSAPP FLOTANTE ═══ */
.wa{position:fixed;right:clamp(16px,2.4vw,30px);bottom:clamp(16px,2.4vw,30px);z-index:65;
  width:52px;height:52px;display:grid;place-items:center;border-radius:50%;
  background:#1F7A4C;color:#fff;box-shadow:0 8px 26px -8px rgba(31,122,76,.7);
  transition:transform .45s var(--ease),box-shadow .4s}
.wa:hover{transform:translateY(-3px);box-shadow:0 14px 34px -8px rgba(31,122,76,.85)}
.wa svg{width:24px;height:24px}

/* ═══ ESCALA CALIBRADA (mapa de lectura) ═══ */
.scale{position:fixed;left:calc(var(--gut)*.4);top:50%;transform:translateY(-50%);z-index:55;
  width:96px;height:min(50vh,420px);pointer-events:none;opacity:0;transition:opacity .8s var(--ease) 1.2s}
.scale.on{opacity:1}
.scale-rail{position:absolute;left:0;top:0;bottom:0;width:1px;
  background:linear-gradient(to bottom,transparent,var(--line),var(--line),transparent)}
.scale-tick{position:absolute;left:0;height:1px;width:7px;background:var(--fg-3);opacity:.4;
  transition:width .35s var(--ease),background .35s,opacity .35s}
.scale-tick.maj{width:13px;opacity:.7}
.scale-lbl{position:absolute;left:20px;transform:translateY(-50%);white-space:nowrap;
  font-family:var(--mono);font-size:.5625rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--fg-3);opacity:0;transition:opacity .4s var(--ease),color .4s;pointer-events:auto;cursor:pointer}
.scale-item.act .scale-tick{background:var(--accent-g);width:17px;opacity:1}
.scale-item.act .scale-lbl{opacity:1;color:var(--fg)}
.scale:hover .scale-lbl{opacity:.6}
.scale-needle{position:absolute;left:-4px;width:24px;height:1px;background:var(--accent-g)}
.scale-read{position:absolute;left:0;bottom:-30px;font-family:var(--mono);font-weight:500;
  font-size:.5625rem;letter-spacing:.1em;color:var(--accent)}
.scale-read::after{content:'%';color:var(--fg-3);margin-left:2px}
@media(max-width:1180px){.scale{display:none}}

/* ═══ HERO (banda oscura) ═══ */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;text-align:center;
  padding:104px 0 clamp(240px,32vh,370px);overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:-8% -4%;z-index:-3;
  background:url(../img/tex/panel.jpg) 58% 46%/cover no-repeat;
  filter:brightness(1.34) contrast(1.05);will-change:transform}
.hero-bg::after{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(13,17,20,.78),rgba(13,17,20,.55) 42%,rgba(13,17,20,.8))}
#haze{position:absolute;inset:0;width:100%;height:100%;z-index:-2;opacity:.9;pointer-events:none}
.hero-in{max-width:1000px;width:100%}
.pill{display:inline-flex;align-items:center;gap:9px;padding:8px 16px 8px 12px;border-radius:100px;
  border:1px solid rgba(192,139,44,.32);background:rgba(192,139,44,.08);font-family:var(--mono);
  font-size:.5875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.pill i{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:beacon 2.6s ease-out infinite}
@keyframes beacon{0%{box-shadow:0 0 0 0 rgba(228,177,92,.55)}70%{box-shadow:0 0 0 9px rgba(228,177,92,0)}100%{box-shadow:0 0 0 0 rgba(228,177,92,0)}}
.hero h1{margin:30px auto 26px;max-width:17ch;text-wrap:balance}
.hero .lede{margin:0 auto;max-width:56ch;color:var(--fg-2);font-size:clamp(1rem,1.15vw,1.125rem)}
.acts{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;justify-content:center}
.fineprint{margin-top:24px;display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center}
.fineprint .mono{position:relative;padding-left:13px;color:var(--fg-2)}
.fineprint .mono::before{content:'';position:absolute;left:0;top:.52em;width:7px;height:1px;background:var(--accent-g)}
.fade-up{opacity:0;transform:translateY(14px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rdy .fade-up{opacity:1;transform:none}
.rdy .d2{transition-delay:.5s}.rdy .d3{transition-delay:.62s}.rdy .d4{transition-delay:.74s}

/* haz anamórfico */
.beam{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;mix-blend-mode:screen;
  mask-image:linear-gradient(203deg,#000 0%,rgba(0,0,0,.85) 22%,rgba(0,0,0,.25) 44%,transparent 60%);
  -webkit-mask-image:linear-gradient(203deg,#000 0%,rgba(0,0,0,.85) 22%,rgba(0,0,0,.25) 44%,transparent 60%)}
.beam b{position:absolute;display:block;top:-55%;right:-18%;width:86%;height:210%}
.beam-wide{background:linear-gradient(203deg,transparent 41%,rgba(192,139,44,.155) 50%,transparent 59%);
  filter:blur(58px);opacity:0;animation:beamIn 2.4s var(--ease) .35s forwards,beamBreathe 11s ease-in-out 2.8s infinite}
.beam-mid{background:linear-gradient(203deg,transparent 46.5%,rgba(214,166,84,.17) 50%,transparent 53.5%);
  filter:blur(22px);opacity:0;animation:beamIn 2s var(--ease) .5s forwards,beamBreathe 9s ease-in-out 2.6s infinite}
.beam-core{background:linear-gradient(203deg,transparent 48.9%,rgba(248,235,206,.3) 50%,transparent 51.1%);
  filter:blur(5px);opacity:0;animation:beamIn 1.6s var(--ease) .62s forwards}
.beam-src{position:absolute;top:-16%;right:-2%;width:min(46vw,520px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(250,238,212,.22) 0%,rgba(196,143,50,.12) 32%,transparent 68%);
  filter:blur(30px);opacity:0;animation:beamIn 2.6s var(--ease) .2s forwards,beamBreathe 13s ease-in-out 3s infinite}
@keyframes beamIn{from{opacity:0}to{opacity:1}}
@keyframes beamBreathe{0%,100%{opacity:1}50%{opacity:.62}}

/* placa de circuito */
.board{position:absolute;left:0;right:0;bottom:0;z-index:-1;pointer-events:none;
  mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 88%,transparent);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 88%,transparent)}
.board svg{width:100%;height:clamp(240px,33vh,360px)}
.trace{fill:none;stroke:rgba(255,255,255,.17);stroke-width:1}
.trace-2{stroke:rgba(255,255,255,.08)}
.pulse{fill:none;stroke:#F2D9A4;stroke-width:1.7;stroke-linecap:round;stroke-dasharray:46 954;
  stroke-dashoffset:1000;filter:url(#bloom);animation:runTrace 5.2s linear infinite}
@keyframes runTrace{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
.via{fill:#0D1114;stroke:rgba(255,255,255,.13);stroke-width:1}
.node-box{fill:rgba(22,28,34,.92);stroke:rgba(255,255,255,.19);stroke-width:1}
.node-ico{fill:none;stroke:#A8B4BC;stroke-width:1;vector-effect:non-scaling-stroke}
.node-lbl{fill:#7A8892;font-family:var(--mono);font-size:8px;letter-spacing:1.6px;text-transform:uppercase}
.chip-body{fill:#171E25;stroke:rgba(192,139,44,.55);stroke-width:1}
.chip-in{fill:none;stroke:rgba(192,139,44,.22);stroke-width:1}
.chip-pin{fill:rgba(255,255,255,.22)}
.chip-tx{fill:#E4B15C;font-family:var(--mono);font-weight:500;font-size:13px;letter-spacing:2.6px}
.chip-sub{fill:#7A8892;font-family:var(--mono);font-size:7.5px;letter-spacing:2px;text-transform:uppercase}
.chip-halo{fill:url(#coreGlow);animation:corePulse 4.4s ease-in-out infinite}
@keyframes corePulse{0%,100%{opacity:.5}50%{opacity:1}}

/* ═══ CABECERA INTERIOR (páginas secundarias) ═══ */
.phead{position:relative;padding:calc(var(--nav-h) + clamp(70px,11vh,130px)) 0 clamp(56px,8vh,96px);
  overflow:hidden;isolation:isolate;text-align:center}
.phead .hero-bg{filter:brightness(1.2) contrast(1.03)}
.phead h1{max-width:18ch;margin:22px auto 20px;text-wrap:balance}
.phead p{max-width:56ch;margin:0 auto;color:var(--fg-2)}

/* ═══ MÉTRICAS ═══ */
.metrics{border-block:1px solid var(--line-2);background:var(--bg-2)}
.metrics-in{display:grid;grid-template-columns:repeat(4,1fr)}
.met{padding:clamp(26px,3.2vw,40px) clamp(16px,2.2vw,30px);border-left:1px solid var(--line-2)}
.met:first-child{border-left:0}
.met-v{display:flex;align-items:baseline;gap:3px;font-family:var(--mono);font-weight:500;
  font-size:clamp(1.75rem,3.1vw,2.6rem);letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.met-v s{text-decoration:none;font-size:.45em;color:var(--accent);letter-spacing:0}
.met-l{margin-top:12px;max-width:19ch;font-size:.8125rem;line-height:1.5;color:var(--fg-2)}
.met-bar{margin-top:18px;height:2px;background:var(--line-2);position:relative;overflow:hidden}
.met-bar b{position:absolute;inset:0 auto 0 0;width:0;background:var(--accent-g);transition:width 1.5s var(--ease)}
.met-scale{position:absolute;inset:0;background-image:linear-gradient(90deg,var(--bg-2) 1px,transparent 1px);
  background-size:10% 100%}
@media(max-width:860px){.metrics-in{grid-template-columns:1fr 1fr}
  .met:nth-child(3){border-left:0}.met:nth-child(n+3){border-top:1px solid var(--line-2)}}

/* ═══ VARIOS COMPONENTES DE CONTENIDO ═══ */
.big{font-family:var(--mono);font-weight:500;font-size:clamp(3.4rem,8.4vw,6.4rem);line-height:.85;
  letter-spacing:-.05em;color:var(--oxide);font-variant-numeric:tabular-nums;display:flex;align-items:baseline}
.big s{text-decoration:none;font-size:.35em;letter-spacing:0;margin-left:4px}
.big-l{margin-top:16px;max-width:26ch;color:var(--fg-2)}
.symp{list-style:none;margin-top:30px;border-top:1px solid var(--line-2)}
.symp li{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:14px 0;
  border-bottom:1px solid var(--line-2);font-size:.9375rem;color:var(--fg-2);line-height:1.5}
.symp li::before{content:attr(data-n);font-family:var(--mono);font-size:.5625rem;letter-spacing:.1em;
  color:var(--fg-3);padding-top:.35em}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,38px)}
.ba-col.aft{padding-left:clamp(20px,3vw,38px);border-left:1px solid var(--line-2)}
.ba-col h4{font-family:var(--mono);font-weight:400;font-size:.5625rem;letter-spacing:.19em;
  text-transform:uppercase;color:var(--fg-3);padding-bottom:12px;border-bottom:1px solid var(--line-2);margin-bottom:14px}
.ba-col.aft h4{color:var(--accent)}
.ba-col h4 s{text-decoration:none;color:var(--fg-3);letter-spacing:.14em}
.ba-col ul{list-style:none;display:grid;gap:11px}
.ba-col li{font-size:.9375rem;color:var(--fg-3);line-height:1.35}
.ba-col.aft li{color:var(--fg)}
@media(max-width:560px){.ba{grid-template-columns:1fr;gap:24px}
  .ba-col.aft{padding-left:0;border-left:0;border-top:1px solid var(--line-2);padding-top:24px}}

.plot-wide{margin-top:1px;border:1px solid var(--line-2);background:var(--surface);
  padding:clamp(26px,3.4vw,44px);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);
  gap:clamp(26px,4vw,56px);align-items:center}
.plot-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px}
.plot-head b{font-weight:500;font-size:.8125rem}
#trace{width:100%;height:auto;aspect-ratio:16/10}
.plot-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:12px;
  padding-top:12px;border-top:1px solid var(--line-2);flex-wrap:wrap}
.key{display:flex;gap:18px}
.key i{font-style:normal;display:flex;align-items:center;gap:7px;font-family:var(--mono);
  font-size:.5625rem;letter-spacing:.13em;text-transform:uppercase;color:var(--fg-3)}
.key i::before{content:'';width:14px;height:1px;background:currentColor}
.key .k-b{color:var(--accent)}
.delta-v{font-family:var(--mono);font-weight:500;font-size:clamp(2rem,4.4vw,3.2rem);line-height:.9;
  letter-spacing:-.04em;color:var(--accent)}
.delta-l{max-width:26ch;font-size:.875rem;color:var(--fg-2);line-height:1.5;margin-top:14px}
@media(max-width:820px){.plot-wide{grid-template-columns:1fr;gap:28px}}

/* sistema GRESA — pista fijada */
.pin{position:relative}
.stage{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.stage-head{padding-inline:var(--gut);max-width:var(--maxw);margin:0 auto;width:100%;display:flex;
  justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:clamp(24px,4vh,42px)}
.prog{width:min(240px,34vw)}
.prog-rail{height:1px;background:var(--line);position:relative;margin-top:10px}
.prog-rail b{position:absolute;left:0;top:-1px;height:3px;width:0;background:var(--accent-g)}
.prog-t{position:absolute;top:-4px;width:1px;height:9px;background:var(--line)}
.track{display:flex;gap:clamp(16px,2vw,26px);padding-inline:var(--gut);will-change:transform}
.step{flex:0 0 clamp(268px,25vw,360px);border:1px solid var(--line-2);
  background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 45%),var(--surface);
  padding:clamp(22px,2.4vw,32px);display:flex;flex-direction:column;min-height:clamp(290px,42vh,390px);
  transition:border-color .6s var(--ease)}
.step.act{border-color:rgba(192,139,44,.42)}
.step-w{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;
  border-bottom:1px solid var(--line-2);margin-bottom:20px}
.step-n{font-family:var(--mono);font-weight:500;font-size:.5625rem;letter-spacing:.18em;
  color:var(--fg-3);transition:color .6s}
.step.act .step-n{color:var(--accent)}
.step h3{font-size:1.125rem;margin-bottom:12px}
.step p{color:var(--fg-2);font-size:.9375rem;line-height:1.6}
.step-out{margin-top:auto;padding-top:20px;border-top:1px solid var(--line-2)}
.step-out b{display:block;font-family:var(--mono);font-weight:400;font-size:.5rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--fg-3);margin-bottom:7px}
.step-out span{font-size:.875rem}
.hint-drag{padding-inline:var(--gut);max-width:var(--maxw);margin:0 auto;width:100%;padding-top:clamp(18px,3vh,34px)}
.hint-drag .mono{color:var(--fg-2);position:relative;padding-left:15px}
.hint-drag .mono::before{content:'↓';position:absolute;left:0;color:var(--accent)}
@media(max-width:900px){
  .pin{height:auto!important}
  .stage{position:static;height:auto;padding-block:clamp(76px,9.4vh,124px)}
  .track{flex-direction:column;transform:none!important}
  .step{flex:1 1 auto;min-height:0}
  .prog,.hint-drag{display:none}
}

/* garantía */
.guar-in{max-width:820px;margin:0 auto;text-align:center;border:1px solid var(--line);
  background:var(--surface);padding:clamp(34px,5vw,60px) clamp(24px,4vw,54px);box-shadow:var(--shadow)}
.seal{width:56px;height:56px;margin:0 auto 24px;color:var(--accent)}
.guar-in h2{font-size:clamp(1.4rem,2.7vw,2.05rem);line-height:1.2;margin-bottom:18px}
.guar-in h2 em{color:var(--accent)}
.guar-in p{color:var(--fg-2);max-width:50ch;margin:0 auto}
.guar-terms{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 26px;margin-top:26px;
  padding-top:22px;border-top:1px solid var(--line-2)}

/* especialidades / nosotros */
.esp-c h3{font-size:1.1875rem;margin:14px 0 8px}
.esp-c>p{color:var(--fg-2);font-size:.9375rem;margin-bottom:24px}
.esp-c ul{list-style:none;border-top:1px solid var(--line-2)}
.esp-c li{padding:13px 0;border-bottom:1px solid var(--line-2);font-size:.9375rem;color:var(--fg-2);
  display:grid;grid-template-columns:auto 1fr;gap:13px;line-height:1.45}
.esp-c li::before{content:'—';color:var(--fg-3);font-family:var(--mono);font-size:.6875rem;padding-top:.2em}
.abt-c h3{font-family:var(--mono);font-weight:400;font-size:.5625rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--accent);margin-bottom:18px}
.abt-c p{color:var(--fg-2);line-height:1.68}
.val b{display:block;font-weight:600;font-size:.9375rem;margin-bottom:9px}
.val span{font-size:.8125rem;color:var(--fg-3);line-height:1.45}

/* contexto / globo */
.ctx{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,4.5vw,70px);align-items:center}
.globe-wrap{position:relative;display:grid;place-items:center;min-height:clamp(300px,38vw,440px)}
#globe{width:100%;max-width:500px;aspect-ratio:1}
.globe-cap{position:absolute;bottom:0;left:50%;transform:translateX(-50%);white-space:nowrap}
.ctx p{color:var(--fg-2)}
.ctx p strong{color:var(--fg);font-weight:500}
.ctx-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-2);
  border:1px solid var(--line-2);margin-top:clamp(28px,4vw,50px)}
.ctx-s{background:var(--surface);padding:clamp(20px,2.6vw,32px)}
.band-dark .ctx-s{background:var(--surface)}
.ctx-s b{display:block;font-family:var(--mono);font-weight:500;font-size:clamp(1.4rem,2.6vw,2rem);
  letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.ctx-s span{display:block;margin-top:9px;font-size:.8125rem;color:var(--fg-2);line-height:1.4}
.link-b{display:inline-flex;align-items:center;gap:12px;margin-top:26px;padding:15px 24px;
  border:1px solid var(--line);font-family:var(--mono);font-size:.6875rem;letter-spacing:.16em;
  text-transform:uppercase;transition:border-color .4s,background .4s}
.link-b:hover{border-color:var(--accent);background:var(--accent-soft)}
.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}
.tag{font-family:var(--mono);font-size:.5rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--fg-3);border:1px solid var(--line-2);padding:6px 10px}
@media(max-width:900px){.ctx{grid-template-columns:1fr;gap:36px}.ctx-stats{grid-template-columns:1fr 1fr}}

/* contacto */
.cta-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(32px,5vw,78px)}
.cta-grid h2{font-size:clamp(1.8rem,3.6vw,2.9rem);margin-bottom:20px}
.facts{list-style:none;margin-top:32px;border-top:1px solid var(--line-2)}
.facts li{display:grid;grid-template-columns:8.5rem 1fr;gap:16px;align-items:baseline;padding:15px 0;
  border-bottom:1px solid var(--line-2)}
.facts b{font-family:var(--mono);font-weight:400;font-size:.5625rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--fg-3)}
.facts span,.facts a{font-size:.9375rem}
.facts a:hover{color:var(--accent)}
form{border:1px solid var(--line-2);background:var(--surface);padding:clamp(26px,3.2vw,42px)}
.f-row{margin-bottom:24px}
.f-row label{display:block;font-family:var(--mono);font-size:.5625rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--fg-3);margin-bottom:9px}
.f-row input,.f-row textarea,.f-row select{width:100%;background:transparent;border:0;
  border-bottom:1px solid var(--line);color:var(--fg);font-family:var(--sans);font-weight:350;
  font-size:1rem;padding:9px 0;transition:border-color .35s}
.f-row select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:22px;
  background-repeat:no-repeat;background-position:right 2px center}
.f-row textarea{resize:vertical;min-height:78px;line-height:1.55}
.f-row input::placeholder,.f-row textarea::placeholder{color:var(--fg-3);opacity:.7}
.f-row input:focus,.f-row textarea:focus,.f-row select:focus{outline:0;border-bottom-color:var(--accent)}
.f-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.submit{width:100%;justify-content:center;border:0;cursor:pointer}
.f-note{margin-top:16px;text-align:center}
@media(max-width:900px){.cta-grid{grid-template-columns:1fr;gap:40px}}
@media(max-width:520px){.f-2{grid-template-columns:1fr}}

/* ═══ GALERÍA ═══ */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.4vw,18px)}
.gal figure{position:relative;overflow:hidden;background:var(--bg-2);border:1px solid var(--line-2)}
.gal img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;
  transition:transform 1s var(--ease),filter .6s;filter:saturate(.9)}
.gal figure:hover img{transform:scale(1.04);filter:saturate(1)}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px;
  background:linear-gradient(to top,rgba(13,17,20,.88),transparent);color:#DEE5EA;
  font-family:var(--mono);font-size:.5625rem;letter-spacing:.16em;text-transform:uppercase;
  opacity:0;transform:translateY(6px);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.gal figure:hover figcaption{opacity:1;transform:none}
.gal .tall{grid-row:span 2}
.gal .tall img{aspect-ratio:2/3}
@media(max-width:820px){.gal{grid-template-columns:1fr 1fr}.gal .tall{grid-row:auto}.gal .tall img{aspect-ratio:4/3}}
@media(max-width:520px){.gal{grid-template-columns:1fr}}

/* ═══ EQUIPO ═══ */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-2);
  border:1px solid var(--line-2)}
.tm{background:var(--surface);padding:0 0 clamp(22px,2.6vw,30px);position:relative;overflow:hidden}
.tm-ph{aspect-ratio:1;background:var(--bg-2);overflow:hidden;position:relative;margin-bottom:22px}
.tm-ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);
  transition:filter .6s var(--ease),transform 1s var(--ease)}
.tm:hover .tm-ph img{filter:grayscale(0);transform:scale(1.04)}
.tm-ph.empty{display:grid;place-items:center;color:var(--fg-3)}
.tm-in{padding-inline:clamp(20px,2.4vw,28px)}
.tm-n{font-family:var(--mono);font-size:.5625rem;letter-spacing:.18em;color:var(--fg-3);display:block;margin-bottom:10px}
.tm h3{font-size:1.0625rem;margin-bottom:6px}
.tm-role{font-family:var(--mono);font-size:.5625rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);display:block;margin-bottom:14px}
.tm p{font-size:.875rem;color:var(--fg-2);line-height:1.55}
@media(max-width:1000px){.team{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.team{grid-template-columns:1fr}}

/* ═══ CONTENIDO LARGO (impacto) ═══ */
.prose{max-width:70ch}
.prose p{color:var(--fg-2);margin-bottom:18px}
.prose p strong{color:var(--fg);font-weight:500}
.dtable{width:100%;border-collapse:collapse;margin-top:8px}
.dtable th,.dtable td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line-2);font-size:.9375rem}
.dtable th{font-family:var(--mono);font-weight:400;font-size:.5625rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--fg-3)}
.dtable td.n{font-family:var(--mono);font-weight:500;font-variant-numeric:tabular-nums;color:var(--accent);text-align:right}
.dtable tr:hover td{background:var(--accent-soft)}
.barlist{list-style:none;display:grid;gap:20px}
.barlist li{display:grid;gap:9px}
.barlist .bl-t{display:flex;justify-content:space-between;align-items:baseline;gap:14px;font-size:.9375rem}
.barlist .bl-v{font-family:var(--mono);font-weight:500;color:var(--accent);font-variant-numeric:tabular-nums}
.barlist .bl-r{height:3px;background:var(--line-2);position:relative;overflow:hidden}
.barlist .bl-r b{position:absolute;inset:0 auto 0 0;width:0;background:var(--accent-g);
  transition:width 1.4s var(--ease)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important}
  .rv,.fade-up{opacity:1!important;transform:none!important}
  .wd-i{opacity:1!important;filter:none!important;transform:none!important}
  .pulse,.chip-halo,.pill i{animation:none!important}
  .pulse{opacity:.45;stroke-dasharray:none;stroke-dashoffset:0}
  .beam b,.beam-src{animation:none!important;opacity:1!important}
  .pin{height:auto!important}
  .stage{position:static;height:auto;padding-block:clamp(76px,9.4vh,124px)}
  .track{flex-direction:column;transform:none!important}
  .step{flex:1 1 auto;min-height:0}
  .prog,.hint-drag{display:none}
}

/* ═══ VISOR DE GALERÍA ═══ */
.lightbox{position:fixed;inset:0;z-index:120;display:none;place-items:center;
  background:rgba(9,12,14,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:5vmin}
.lightbox.on{display:grid}
.lightbox img{max-width:100%;max-height:90vh;object-fit:contain;box-shadow:0 40px 90px -30px rgba(0,0,0,.9)}
.lb-x{position:absolute;top:18px;right:22px;width:44px;height:44px;background:none;border:1px solid rgba(255,255,255,.25);
  color:#DEE5EA;font-size:26px;line-height:1;cursor:pointer;transition:border-color .3s,background .3s}
.lb-x:hover{border-color:#E4B15C;background:rgba(192,139,44,.12)}
.gal img{cursor:zoom-in}
