/* SERIE v3.1 — ajustada al Brand System v2.0
   Paleta oficial exclusiva · Bebas Neue + Libre Franklin · sin degradados, sombras ni brillos
   Negro 60-70% · Rojo 10-15% · Verde (CTAs) 5-10% · Crema + Grafito 15-20% */
:root{
  --negro:#0D0D0D;   /* Negro Crudo — base */
  --rojo:#D4442A;    /* Rojo Cancha — impacto */
  --verde:#2C4A3E;   /* Verde Cancha — acción / CTAs */
  --crema:#E8E3D8;   /* Crema — texto principal */
  --grafito:#6B6560; /* Grafito — SOLO datos y micro-etiquetas */
  --texto:#A9A097;   /* Crema atenuada — cuerpo de texto (5.2:1 sobre Negro Crudo) */
  --hair:rgba(232,227,216,.12);
  --hair2:rgba(232,227,216,.24);
  --panel:#0A0A0A;
  --disp:'Bebas Neue',Arial Narrow,sans-serif;
  --body:'Libre Franklin',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--negro);font-family:var(--body);color:var(--crema);font-weight:400}
a{color:var(--rojo);text-decoration:none}a:hover{color:var(--crema)}

.pg{--px:96px;--h1:104px;--h2:70px;--h3:38px;--pad:130px;--wh:34px;font-size:16px;line-height:1.8;color:var(--texto);position:relative;background:var(--negro)}
.pad .pg{--px:56px;--h1:76px;--h2:52px;--h3:31px;--pad:94px;--wh:26px}
.mob .pg{--px:22px;--h1:47px;--h2:35px;--h3:24px;--pad:62px;--wh:20px;font-size:15px;line-height:1.75}
.pg section{padding:var(--pad) var(--px);position:relative;border-top:1px solid var(--hair)}

/* tipografía — Bebas siempre en mayúsculas, tracking mínimo .1em */
.tag{display:inline-flex;align-items:center;gap:11px;font-family:var(--body);font-size:10px;font-weight:500;letter-spacing:.36em;text-transform:uppercase;color:var(--texto)}
.tag .sq{width:5px;height:5px;background:var(--rojo)}
.tag.live .sq{border-radius:50%}
.slab{font-family:var(--disp);font-size:var(--h2);line-height:.98;letter-spacing:.1em;color:var(--crema);font-weight:400;text-transform:uppercase}
.slab .r{display:block;color:var(--rojo)}
.whisper{font-family:var(--body);font-weight:300;font-size:var(--wh);line-height:1.5;color:var(--crema);letter-spacing:.005em}
.whisper .m{color:var(--grafito)}
.p{max-width:54ch;margin-top:26px;font-weight:300}
.p+.p{margin-top:15px}
.p b{color:var(--crema);font-weight:500}
.micro{font-size:10.5px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--texto);line-height:2.1}
.sig{font-family:var(--disp);font-size:22px;letter-spacing:.4em;color:var(--crema);margin-top:42px;text-transform:uppercase}

/* botones — verde es acción */
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;font-family:var(--disp);font-size:15px;letter-spacing:.22em;padding:0 24px;min-height:60px;cursor:pointer;border:1px solid var(--verde);background:var(--verde);color:var(--crema);transition:background .25s,border-color .25s;text-align:left;text-transform:uppercase}
.btn:hover{background:#365a4b;border-color:#365a4b;color:var(--crema)}
.btn .ar{transition:transform .25s}
.btn:hover .ar{transform:translateX(6px)}
.btn.o{background:transparent;color:var(--crema);border-color:var(--hair2)}
.btn.o:hover{border-color:var(--verde);background:rgba(44,74,62,.22)}
.acts{display:flex;gap:14px;margin-top:44px;flex-wrap:wrap}
.mob .btn{width:100%}
.pg .stamp,.pg .tag,.pg .mark,.pg .btn{align-self:flex-start}
.nav .mark{align-self:center}
.mob .pg .btn{align-self:stretch}

/* logo */
.mark{display:inline-flex;align-items:center;font-family:var(--disp);line-height:1;color:var(--crema);letter-spacing:.05em}
.mark .cl{display:inline-flex;gap:.055em;margin:-.1em .055em 0;align-items:center}
.mark .cl i{display:block;width:.055em;height:.72em;background:var(--rojo);transform:skewX(-9deg)}

/* NAV */
.nav{position:sticky;top:0;z-index:120;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 var(--px);min-height:74px;background:var(--negro);border-bottom:1px solid var(--hair)}
.nlinks{display:flex;align-items:center;gap:22px;flex-wrap:nowrap}
.nlinks a{font-size:10px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--texto);white-space:nowrap}
.nlinks a:hover{color:var(--crema)}
.nreq{font-family:var(--disp);font-size:12px;letter-spacing:.22em;color:var(--crema);border:1px solid var(--verde);background:var(--verde);padding:0 16px;min-height:42px;display:inline-flex;align-items:center;gap:9px}
.nlinks a.nreq{color:var(--crema)}
.nreq:hover{background:#365a4b;color:var(--crema)}
.lang{font-size:9.5px;font-weight:500;letter-spacing:.2em;color:var(--grafito);border:0;background:transparent;cursor:pointer;padding:6px;white-space:nowrap}
.lang:hover{color:var(--crema)}
.burger{display:none;flex-direction:column;gap:5px;background:transparent;border:0;cursor:pointer;padding:12px}
.burger i{display:block;width:22px;height:1px;background:var(--crema)}
.mob .nlinks{display:none}
.pad .nlinks{gap:13px}
.pad .nlinks a{font-size:9px;letter-spacing:.18em}
.pad .nreq{font-size:11px;letter-spacing:.16em;padding:0 12px}
.mob .burger{display:flex}

/* menú móvil */
.mmenu{position:fixed;inset:0;z-index:200;background:var(--negro);display:none;flex-direction:column;padding:26px 24px 40px}
.mmenu.on{display:flex}
.mmenu .mhead{display:flex;align-items:center;justify-content:space-between;min-height:48px}
.mmenu .mclose{background:transparent;border:0;color:var(--crema);font-size:24px;cursor:pointer;padding:10px;line-height:1}
.mmenu nav{display:flex;flex-direction:column;margin-top:34px;border-top:1px solid var(--hair)}
.mmenu nav a{font-family:var(--disp);font-size:30px;letter-spacing:.1em;color:var(--crema);padding:20px 0;border-bottom:1px solid var(--hair);text-transform:uppercase}
.mmenu nav a:hover{color:var(--rojo)}
.mmenu .mcta{margin-top:auto;display:flex;flex-direction:column;gap:12px}
.mmenu .mlang{display:flex;gap:8px;margin-top:22px}
.mmenu .mlang button{flex:1;background:transparent;border:1px solid var(--hair2);color:var(--grafito);font-family:var(--disp);font-size:14px;letter-spacing:.2em;padding:14px;cursor:pointer}
.mmenu .mlang button.on{background:var(--verde);border-color:var(--verde);color:var(--crema)}

/* HERO — sin degradados: overlay plano */
.hero{border-top:0;min-height:92vh;display:flex;flex-direction:column;justify-content:center;padding-top:calc(var(--pad) * .8);padding-bottom:0}
.mob .hero{min-height:88vh}
.hero .bg{position:absolute;inset:0;z-index:0;overflow:hidden;background:var(--negro)}
.hero video.hv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1) brightness(.42)}
.hero .fallback{position:absolute;inset:0;background:var(--negro)}
.hero .scrim{position:absolute;inset:0;background:rgba(13,13,13,.66)}
.hero .vg i{position:absolute;top:0;bottom:0;width:1px;background:var(--crema);opacity:.06}
.hero .in{position:relative;z-index:2;max-width:1180px}
.hero h1{font-family:var(--disp);font-size:var(--h1);line-height:.94;letter-spacing:.1em;color:var(--crema);font-weight:400;margin-top:30px;max-width:15em;text-transform:uppercase}
.hero .wh{margin-top:30px;max-width:24ch}
.hstat{position:relative;z-index:2;margin-top:auto;display:flex;flex-wrap:wrap;border-top:1px solid var(--hair);margin-left:calc(var(--px) * -1);margin-right:calc(var(--px) * -1);padding:0 var(--px)}
.hstat > div{padding:20px 30px 20px 0;display:flex;align-items:center;gap:11px}
.hstat .k{font-size:9.5px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--texto)}
.hstat .v{font-family:var(--disp);font-size:16px;letter-spacing:.16em;color:var(--crema)}
.hstat .v.red{color:var(--rojo)}

/* MANIFESTO */
.door .lines{margin-top:46px;display:flex;flex-direction:column;border-top:1px solid var(--hair)}
.door .ln{display:flex;align-items:baseline;gap:22px;padding:20px 0;border-bottom:1px solid var(--hair);opacity:1}
.door .ln.in{animation:omFade .8s ease .05s}
@keyframes omFade{from{opacity:.14}to{opacity:1}}
@keyframes omFadeSlide{from{opacity:.12;transform:translateX(-12px)}to{opacity:1;transform:none}}
.door .ln .no{font-size:9.5px;font-weight:500;letter-spacing:.26em;color:var(--grafito);min-width:32px}
.door .ln .tx{font-family:var(--disp);font-size:var(--h3);letter-spacing:.1em;color:var(--crema);line-height:1.06;text-transform:uppercase}
.door .ln .tx em{font-style:normal;color:var(--rojo)}

/* FORMATO */
.dos{margin-top:50px;border-top:1px solid var(--hair)}
.dosrow{display:grid;grid-template-columns:84px 1fr 1.35fr;gap:34px;padding:38px 0;border-bottom:1px solid var(--hair);align-items:start}
.pad .dosrow{grid-template-columns:64px 1fr 1.1fr;gap:24px}
.mob .dosrow{grid-template-columns:1fr;gap:12px;padding:28px 0}
.dosrow .dn{font-family:var(--disp);font-size:40px;line-height:.8;color:var(--rojo);letter-spacing:.1em}
.mob .dosrow .dn{font-size:30px}
.dosrow .dt{font-family:var(--disp);font-size:calc(var(--h3) * .95);line-height:1.04;letter-spacing:.1em;color:var(--crema);text-transform:uppercase}
.dosrow .dk{font-size:9.5px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--grafito);margin-top:9px}
.dosrow .db{font-size:15px;line-height:1.78;font-weight:300}
.dosrow .db b{color:var(--crema);font-weight:500}

/* ACCESS */
.access{background:var(--panel);min-height:96vh;display:flex;flex-direction:column;justify-content:center}
.stack{margin-top:46px;display:flex;flex-direction:column;max-width:940px}
.stack .w{display:flex;align-items:baseline;gap:22px;padding:17px 0;border-bottom:1px solid var(--hair);opacity:1}
.stack .w.in{animation:omFadeSlide .9s ease .05s}
.stack .w .n{font-size:9.5px;font-weight:500;letter-spacing:.26em;color:var(--rojo);min-width:34px;flex:0 0 34px}
.stack .w .t{font-family:var(--disp);font-size:calc(var(--h2) * .56);line-height:1.14;letter-spacing:.1em;color:var(--texto);text-transform:uppercase}
.mob .stack .w .t{font-size:calc(var(--h2) * .7)}
.stack .w.fin{border-bottom:0;padding-top:40px;align-items:center}
.stack .w.fin .n{color:var(--rojo)}
.stack .w.fin .t{color:var(--rojo);font-size:calc(var(--h2) * .84)}
.accrem{margin-top:54px;font-family:var(--disp);font-size:var(--h2);line-height:.98;color:var(--crema);letter-spacing:.1em;text-transform:uppercase}
.accrem span{color:var(--rojo)}

/* SERIE 01 — expediente */
.file{padding:0;overflow:hidden;min-height:96vh;display:flex}
.mob .file{min-height:auto}
.file .bg{position:absolute;inset:0;z-index:0;background:var(--negro)}
.file .bg i{position:absolute;top:0;bottom:0;width:1px;background:var(--crema);opacity:.06}
.file .in{position:relative;z-index:2;padding:var(--pad) var(--px);width:100%;display:flex;flex-direction:column;justify-content:center}
.stamp{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--rojo);color:var(--rojo);font-family:var(--disp);font-size:12px;letter-spacing:.28em;padding:9px 15px;text-transform:uppercase}
.fid{font-size:10px;font-weight:500;letter-spacing:.36em;text-transform:uppercase;color:var(--grafito);margin-top:34px}
.fname{font-family:var(--disp);font-size:calc(var(--h1) * 1.6);line-height:.84;letter-spacing:.06em;color:var(--crema);margin-top:8px;text-transform:uppercase}
.mob .fname{font-size:calc(var(--h1) * 1.5)}
.fsub{font-family:var(--body);font-weight:300;font-size:calc(var(--wh) * .74);color:var(--crema);margin-top:18px}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:44px;border-top:1px solid var(--hair2);border-bottom:1px solid var(--hair2)}
.pad .grid4,.mob .grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid4 > div{padding:22px 20px;border-left:1px solid var(--hair2);min-width:0;overflow:hidden}
.grid4 > div:first-child{border-left:0;padding-left:0}
.pad .grid4 > div:nth-child(odd),.mob .grid4 > div:nth-child(odd){border-left:0;padding-left:0}
.pad .grid4 > div:nth-child(-n+2),.mob .grid4 > div:nth-child(-n+2){border-bottom:1px solid var(--hair2)}
.grid4 .gv{font-family:var(--disp);font-size:38px;line-height:1;color:var(--crema);letter-spacing:.1em}
.mob .grid4 .gv{font-size:32px}
.grid4 > div:first-child .gv{color:var(--rojo)}
.grid4 .gk{font-size:9px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--grafito);margin-top:11px;line-height:1.5;overflow-wrap:anywhere}
.frows{margin-top:34px;border-top:1px solid var(--hair);max-width:720px}
.frow{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;padding:14px 0;border-bottom:1px solid var(--hair);font-size:14.5px;font-weight:300}
.pad .frow{grid-template-columns:126px minmax(0,1fr);gap:16px}
.mob .frow{grid-template-columns:1fr;gap:3px;padding:12px 0}
.frow .fk{font-size:9.5px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--texto);padding-top:4px}
.frow .fv{color:var(--crema)}
.plz{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:32px;max-width:520px}
.plz > div{border:1px solid var(--hair2);padding:18px 8px;text-align:center;min-width:0}
.plz div .pv{font-family:var(--disp);font-size:28px;line-height:1;color:var(--crema);letter-spacing:.1em}
.plz div .pk{font-size:8.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--grafito);margin-top:8px}
.plz div.open{border-color:var(--rojo)}
.plz div.open .pv{color:var(--rojo)}
.closes{margin-top:22px;font-family:var(--body);font-weight:300;font-size:calc(var(--wh) * .62);color:var(--crema);line-height:1.5;max-width:34ch}
.gender{margin-top:26px;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--texto);border-left:2px solid var(--rojo);padding-left:15px;line-height:1.9;max-width:46ch}
.fsel{margin-top:38px;font-family:var(--disp);font-size:var(--h3);line-height:1.06;letter-spacing:.1em;color:var(--crema);text-transform:uppercase}
.fsel span{display:block;color:var(--rojo)}
.imgnote{position:absolute;right:var(--px);bottom:22px;z-index:2;font-size:9.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--grafito);border:1px dashed var(--hair2);padding:7px 11px}
.mob .imgnote,.pad .imgnote{display:none}

/* UNIVERSO */
.mq{margin-top:46px;overflow:hidden;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:30px 0}
.mqr{display:flex;gap:44px;white-space:nowrap;font-family:var(--disp);font-size:calc(var(--h2) * .72);letter-spacing:.1em;animation:mar 34s linear infinite;will-change:transform}
.mqr span{color:var(--crema);opacity:.24}
.mqr span.q{color:var(--rojo);opacity:1}
@keyframes mar{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SELECCIÓN */
.crit{display:flex;flex-wrap:wrap;gap:9px;margin-top:34px;max-width:820px}
.crit span{font-family:var(--disp);font-size:17px;letter-spacing:.14em;color:var(--texto);border:1px solid var(--hair2);padding:12px 17px;transition:border-color .2s,color .2s;text-transform:uppercase}
.crit span:hover{border-color:var(--rojo);color:var(--crema)}
.pr{margin-top:48px;border-top:1px solid var(--hair)}
.prow{display:grid;grid-template-columns:100px 1fr 1.2fr;gap:30px;padding:34px 0;border-bottom:1px solid var(--hair);align-items:baseline}
.pad .prow{grid-template-columns:72px 1fr 1fr;gap:22px}
.mob .prow{grid-template-columns:1fr;gap:9px;padding:26px 0}
.prow .pn{font-family:var(--disp);font-size:34px;line-height:.85;color:var(--rojo);letter-spacing:.1em}
.mob .prow .pn{font-size:26px}
.prow .pt{font-family:var(--disp);font-size:calc(var(--h3) * .92);line-height:1.06;letter-spacing:.1em;color:var(--crema);text-transform:uppercase}
.prow .pb{font-size:14.5px;line-height:1.75;font-weight:300}
.prow .pb b{color:var(--crema);font-weight:500}
.selend{margin-top:46px;display:grid;border-top:1px solid var(--hair);max-width:720px}
.selend div{padding:17px 0;border-bottom:1px solid var(--hair);font-size:15.5px;font-weight:300;display:flex;gap:18px;align-items:baseline}
.selend div::before{content:'—';color:var(--rojo);font-size:13px}
.selend div:last-child{color:var(--crema)}

/* NEVER TWICE */
.nt{background:var(--negro);min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.mob .nt{min-height:78vh}
.ntl{display:flex;flex-direction:column;gap:10px}
.ntl div{font-family:var(--body);font-weight:300;font-size:calc(var(--wh) * .92);line-height:1.4;color:var(--crema);opacity:1}
.ntl div.in{animation:omFade 1s ease .05s}
.ntbig{font-family:var(--disp);font-size:calc(var(--h1) * 1.4);line-height:.9;letter-spacing:.1em;color:var(--crema);margin-top:76px;text-transform:uppercase}
.mob .ntbig{font-size:calc(var(--h1) * 1.2);margin-top:50px}
.ntsub{margin-top:36px;max-width:42ch;font-size:15.5px;line-height:1.85;font-weight:300}

/* THE LIST */
.req{background:var(--panel)}
.reqhead{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.serial{font-size:9.5px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--grafito);text-align:right;line-height:2}
.mob .serial{text-align:left}
.urg{display:flex;flex-wrap:wrap;margin-top:42px;border-top:1px solid var(--rojo);border-bottom:1px solid var(--rojo)}
.urg > div{flex:1 1 150px;padding:18px 22px}
.urg > div+div{border-left:1px solid var(--hair)}
.mob .urg > div{flex:1 1 100%;padding:14px 16px}
.mob .urg > div+div{border-left:0;border-top:1px solid var(--hair)}
.urg .uk{font-size:8.5px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--grafito)}
.urg .uv{font-family:var(--disp);font-size:19px;letter-spacing:.14em;color:var(--crema);margin-top:6px}
.urg .uv.red{color:var(--rojo)}
.warnbox{margin-top:30px;border:1px solid var(--hair2);padding:20px 24px;max-width:620px;font-size:14.5px;line-height:1.75;font-weight:300}
.warnbox b{color:var(--crema);font-weight:500}
.f{max-width:560px;margin-top:42px;display:flex;flex-direction:column;gap:32px}
.fg{display:flex;flex-direction:column;gap:13px}
.fl{font-family:var(--disp);font-size:15px;letter-spacing:.26em;color:var(--crema);text-transform:uppercase}
.fh{font-size:13px;color:var(--texto);margin-top:-7px;font-weight:300}
.ti{background:transparent;border:0;border-bottom:1px solid var(--hair2);color:var(--crema);font:inherit;font-size:16px;padding:15px 2px;outline:0;width:100%;transition:border-color .25s}
.ti::placeholder{color:var(--texto)}
.ti:focus{border-bottom-color:var(--verde)}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chip{-webkit-tap-highlight-color:transparent;min-height:50px;padding:13px 19px;background:transparent;color:var(--texto);border:1px solid var(--hair2);font-family:var(--disp);font-size:15px;letter-spacing:.14em;cursor:pointer;transition:background .18s,border-color .18s,color .18s;text-transform:uppercase}
.chip:hover{border-color:var(--verde);color:var(--crema)}
.chip[aria-pressed=true]{background:var(--verde);border-color:var(--verde);color:var(--crema)}
.chip.dash[aria-pressed=false]{border-style:dashed}
.sub{background:var(--verde);color:var(--crema);font-family:var(--disp);font-size:17px;letter-spacing:.3em;padding:21px;min-height:62px;border:1px solid var(--verde);cursor:pointer;transition:background .25s;width:100%;text-transform:uppercase}
.sub:hover{background:#365a4b}
.legal{font-size:12px;color:var(--texto);line-height:1.8;font-weight:300}
.othw{display:none}.othw.show{display:block}
.cbx{display:flex;gap:13px;align-items:flex-start;cursor:pointer;font-size:13px;line-height:1.7;color:var(--texto);font-weight:300}
.cbx input{appearance:none;-webkit-appearance:none;flex:0 0 22px;width:22px;height:22px;margin-top:2px;border:1px solid var(--hair2);background:transparent;cursor:pointer;position:relative}
.cbx input:checked{background:var(--verde);border-color:var(--verde)}
.cbx input:checked::after{content:'';position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid var(--crema);border-width:0 2px 2px 0;transform:rotate(42deg)}
.cbx input:focus-visible{outline:2px solid var(--verde);outline-offset:2px}
.cbx a{color:var(--rojo)}.cbx a:hover{color:var(--crema)}
.conf{display:none;max-width:620px;margin-top:40px}
.conf.on{display:block}
.conf .cn{font-size:9.5px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--rojo)}
.conf .ch{font-family:var(--disp);font-size:var(--h2);line-height:1;color:var(--crema);margin-top:16px;letter-spacing:.1em;text-transform:uppercase}
.conf .cw{font-family:var(--body);font-weight:300;font-size:calc(var(--wh) * .66);color:var(--crema);margin-top:22px;line-height:1.5}
.req.done .f,.req.done .warnbox{display:none}

/* FOOTER */
.ft{padding:52px var(--px) 30px;border-top:1px solid var(--hair);display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between;align-items:flex-start}
.ftl{display:flex;flex-direction:column;gap:9px}
.ftl .nt2{font-size:9.5px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--grafito)}
.ftnav{display:flex;gap:40px;flex-wrap:wrap}
.ftcol{display:flex;flex-direction:column;gap:10px}
.ftcol .ch2{font-size:9px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--grafito);margin-bottom:3px}
.ftcol a,.ftcol button{font-size:12.5px;letter-spacing:.08em;color:var(--texto);background:transparent;border:0;padding:0;text-align:left;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:8px}
.ftcol a:hover,.ftcol button:hover{color:var(--crema)}
.ftcol svg{width:14px;height:14px;flex:0 0 14px;stroke:currentColor;fill:none;stroke-width:1.6}
.cp{padding:0 var(--px) 34px;font-size:9.5px;font-weight:500;letter-spacing:.24em;color:var(--grafito);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.chatbar{margin:0 var(--px) 46px;border:1px solid var(--hair2);display:flex;align-items:center;gap:12px;padding:16px 18px;max-width:540px;transition:border-color .25s}
.chatbar:focus-within{border-color:var(--verde)}
.chatbar input{flex:1;background:transparent;border:0;outline:0;color:var(--crema);font:inherit;font-size:14px}
.chatbar input::placeholder{color:var(--texto)}
.chatbar .snd{font-family:var(--disp);font-size:13px;letter-spacing:.2em;color:var(--verde);cursor:pointer;background:transparent;border:0}
.chatbar .snd:hover{color:var(--crema)}

/* MODAL */
.ov{position:fixed;inset:0;z-index:400;background:rgba(13,13,13,.94);display:none;align-items:center;justify-content:center;padding:24px}
.ov.on{display:flex}
.modal{background:var(--negro);border:1px solid var(--hair2);max-width:520px;width:100%;max-height:90vh;overflow-y:auto;padding:38px}
.modal h3{font-family:var(--disp);font-size:34px;letter-spacing:.14em;color:var(--crema);font-weight:400;line-height:1;text-transform:uppercase}
.modal .mx{float:right;background:transparent;border:0;color:var(--grafito);font-size:20px;cursor:pointer;line-height:1;padding:0 0 0 12px}
.modal .mx:hover{color:var(--rojo)}
.modal .msub{font-size:13.5px;color:var(--texto);margin-top:11px;line-height:1.7;font-weight:300}
.modal form{display:flex;flex-direction:column;gap:20px;margin-top:28px}
.modal textarea.ti{resize:vertical;min-height:100px;border:1px solid var(--hair2);padding:14px}
.modal .done{display:none;text-align:center;padding:30px 0}
.modal .done .dh{font-family:var(--disp);font-size:30px;color:var(--crema);letter-spacing:.12em;text-transform:uppercase}
.modal .done p{margin-top:14px;font-size:14px;color:var(--texto);font-weight:300}
.modal.sent form{display:none}.modal.sent .done{display:block}

/* coming soon */
.cs-note{margin-top:16px;font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--grafito)}
.csmodal{max-width:460px;text-align:left}
.csmodal .cst{font-family:var(--disp);font-size:44px;letter-spacing:.1em;color:var(--crema);line-height:1;text-transform:uppercase}
.csmodal .csr{color:var(--rojo)}
.csmodal p{font-size:14.5px;color:var(--texto);line-height:1.75;margin-top:18px;font-weight:300}
.csmodal p b{color:var(--crema);font-weight:500}
.csmodal .csacts{display:flex;flex-direction:column;gap:11px;margin-top:28px}


/* línea de progreso de lectura */
.prog{position:fixed;top:0;left:0;right:0;height:2px;z-index:130;background:var(--rojo);transform:scaleX(0);transform-origin:left center;pointer-events:none}

/* imágenes de fondo */
.hero img.hbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%;filter:grayscale(1) brightness(.5) contrast(1.06)}
.hero video.hv{opacity:0}
.hero.hasvid video.hv{opacity:1}
.hero .scrim{background:rgba(13,13,13,.62)}
.file .bg{overflow:hidden}
.file img.fbg{position:absolute;right:0;top:0;width:56%;height:100%;object-fit:cover;object-position:38% center;filter:grayscale(1) brightness(.42) contrast(1.05)}
.file .bg .sh{position:absolute;inset:0;background:rgba(13,13,13,.58)}
.mob .file img.fbg,.pad .file img.fbg{width:100%;object-position:50% center}
.mob .file .bg .sh,.pad .file .bg .sh{background:rgba(13,13,13,.72)}

/* expediente: dos columnas */
.pg section.file{display:grid;grid-template-columns:1fr 38%;align-items:stretch;padding:0}
.file .bg{position:relative;grid-area:1/2;overflow:hidden;inset:auto}
.file .in{grid-area:1/1;position:relative;z-index:2}
.file img.fbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:42% center;filter:grayscale(1) brightness(.52) contrast(1.05)}
.file .bg .sh{position:absolute;inset:0;background:rgba(13,13,13,.26)}
.file .bg i{display:none}
.pad .pg section.file,.mob .pg section.file{grid-template-columns:1fr}
.pad .file .bg,.mob .file .bg{grid-area:1/1;position:absolute;inset:0}
.pad .file img.fbg,.mob .file img.fbg{object-position:50% center;filter:grayscale(1) brightness(.32) contrast(1.05)}
.pad .file .bg .sh,.mob .file .bg .sh{background:rgba(13,13,13,.74)}
