/* ═══════════════ EL EXPEDIENTE DE NAVEGACIÓN · The Ark of ISO ═══════════════
   Un expediente de a bordo sobre un mar nocturno: consola de instrumentos +
   documentos de papel encintados, sellos y anotaciones a mano.            */
:root{
  --noche:#062220; --noche-2:#083430; --noche-3:#0C4540;
  --lm:rgba(240,236,222,.07); --lm2:rgba(240,236,222,.16);
  --papel:#F4F1E7; --papel-2:#ECE6D4; --pborde:#D8D0B8;
  --tinta:#22333B; --tsuave:#5A6B70;
  --laton:#C79A3F; --laton-2:#A87B24; --lsuave:rgba(199,154,63,.14);
  --sello:#B3402E; --ok:#2E7D4E; --warn:#C9861B; --info:#3E6C8E;
  /* variantes de TEXTO sobre papel (#F4F1E7) — todas >=4.5:1 */
  --laton-txt:#8F6519; --ok-txt:#2B7548; --warn-txt:#8A5B0F;
  --hand:'Caveat',cursive;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--noche);color:var(--papel);
  font-family:'Public Sans',system-ui,sans-serif;font-size:16px;line-height:1.6;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
body::before{ /* carta náutica: retícula + marcas de cruz + resplandor latón */
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(1100px 700px at 82% -8%, rgba(199,154,63,.07), transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cpath d='M90 82v16M82 90h16' stroke='%23F4F1E7' stroke-opacity='.09'/%3E%3C/svg%3E"),
    linear-gradient(var(--lm) 1px, transparent 1px),
    linear-gradient(90deg, var(--lm) 1px, transparent 1px);
  background-size:auto,180px 180px,100% 64px,64px 100%;
}
main,header.site,footer.colofon{position:relative;z-index:1}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--laton);color:var(--noche)}
:focus-visible{outline:2px solid var(--laton);outline-offset:3px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}
.mono{font-family:var(--mono)}
.mano{font-family:var(--hand);font-weight:600;color:var(--laton);
  /* sobre papel se oscurece por contraste — ver .papel .mano */font-size:clamp(19px,2.1vw,23px);line-height:1.12}

h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;font-weight:600;letter-spacing:-.015em}
h1 em,h2 em,h3 em{font-style:italic;font-weight:500;color:var(--laton)}

/* ── botones ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-weight:700;font-size:14.5px;line-height:1;padding:15px 24px;border-radius:2px;
  border:1px solid transparent;cursor:pointer;white-space:nowrap;
  transition:transform .16s ease,background .2s,border-color .2s,color .2s}
.btn-laton{background:var(--laton);color:var(--noche)}
.btn-laton:hover{background:#D8AB4E;transform:translateY(-1px)}
.btn-linea{background:transparent;color:var(--papel);border-color:var(--lm2)}
.btn-linea:hover{border-color:var(--laton);color:var(--laton)}

/* ── regla de profundidad (borde izquierdo) ── */
.regla{position:fixed;left:0;top:0;bottom:0;width:30px;z-index:50;border-right:1px solid var(--lm);
  background:
    repeating-linear-gradient(to bottom,var(--lm2) 0 1px,transparent 1px 14px) right top/9px 100% no-repeat,
    repeating-linear-gradient(to bottom,var(--lm2) 0 1px,transparent 1px 84px) right top/17px 100% no-repeat}
.regla b{position:absolute;left:5px;top:80px;writing-mode:vertical-rl;font:500 8.5px var(--mono);
  letter-spacing:.34em;color:rgba(244,241,231,.62);text-transform:uppercase;white-space:nowrap}
#reglaDot{position:absolute;right:-4px;top:8%;width:9px;height:9px;border-radius:50%;
  background:var(--laton);box-shadow:0 0 12px rgba(199,154,63,.9)}
#reglaDot::after{content:attr(data-p);position:absolute;left:13px;top:-3px;
  font:600 9px var(--mono);letter-spacing:.08em;color:var(--laton)}
@media(max-width:1100px){.regla{display:none}}

/* ── cabecera ── */
header.site{position:sticky;top:0;z-index:60;background:rgba(6,34,32,.84);
  backdrop-filter:saturate(130%) blur(12px);border-bottom:1px solid transparent;transition:border-color .3s}
header.site.stuck{border-bottom-color:var(--lm2)}
.nav{display:flex;align-items:center;gap:20px;height:66px}
.brand{display:flex;align-items:center;gap:11px}
.brand .mark{width:36px;height:36px;border-radius:8px;background:#0F5C58;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.brand .mark svg{width:24px;height:24px}
.brand .wm{font-family:'Fraunces',serif;font-weight:700;font-size:17px;line-height:1;color:var(--papel);white-space:nowrap}
.brand .wm i{font-style:italic;font-weight:500;color:var(--laton)}
.brand .wm small{display:block;font:500 7.5px var(--mono);letter-spacing:.26em;color:rgba(244,241,231,.5);margin-top:4px;text-transform:uppercase}
.nav-links{display:flex;gap:24px;margin-left:auto}
.nav-links a{font:500 11.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(244,241,231,.62);transition:color .2s}
.nav-links a:hover{color:var(--laton)}
.langtoggle{display:inline-flex;border:1px solid var(--lm2);border-radius:2px;overflow:hidden}
.langtoggle button{background:transparent;border:0;min-width:46px;min-height:44px;padding:7px 11px;cursor:pointer;
  font:600 11px var(--mono);letter-spacing:.06em;color:rgba(244,241,231,.6)}
.langtoggle button.on{background:var(--papel);color:var(--noche)}
.nav .btn{padding:11px 16px;font-size:12.5px}
@media(max-width:940px){.nav-links{display:none}}
@media(max-width:640px){.nav .btn{display:none}.nav{gap:12px}.nav .langtoggle{margin-left:auto}}

/* ── papel ── */
.papel{position:relative;background:linear-gradient(180deg,#F7F4EB,var(--papel) 55%,#EFEADB);
  color:var(--tinta);border-radius:2px;
  box-shadow:0 2px 0 rgba(255,255,255,.05),0 34px 70px -30px rgba(1,15,13,.9),0 10px 26px -14px rgba(1,15,13,.6)}
.papel::after{content:"";position:absolute;inset:0;background-image:var(--grain);opacity:.38;
  mix-blend-mode:multiply;pointer-events:none;border-radius:inherit}
.papel>*{position:relative;z-index:1}
.tape{position:absolute;z-index:2;width:92px;height:25px;top:-12px;
  background:linear-gradient(rgba(233,223,193,.92),rgba(221,209,175,.86));
  box-shadow:0 2px 6px rgba(1,15,13,.28)}
.tape.l{left:26px;transform:rotate(-5deg)} .tape.r{right:26px;transform:rotate(4deg)}
.stamp{display:inline-block;font:600 10.5px var(--mono);letter-spacing:.18em;text-transform:uppercase;
  color:var(--sello);border:2px solid currentColor;padding:7px 12px;border-radius:3px;
  transform:rotate(-6deg);opacity:.92}
.stamp.teal{color:#106B60}

/* ── héroe ── */
.hero{position:relative;padding:78px 0 96px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:64px;align-items:center}
@media(max-width:920px){.hero-grid{grid-template-columns:1fr;gap:56px}}
.kicker{display:inline-flex;align-items:center;gap:10px;font:600 11px var(--mono);
  letter-spacing:.3em;text-transform:uppercase;color:var(--laton)}
.kicker .cur{width:8px;height:13px;background:var(--laton);animation:blink 1.15s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.hero h1{font-size:clamp(50px,7.6vw,92px);line-height:.96;margin:26px 0 0;color:var(--papel)}
.hero .lede{margin-top:24px;font-size:18px;line-height:1.65;color:rgba(244,241,231,.72);max-width:54ch}
.hero .lede b{color:var(--papel);font-weight:600}
form.wait{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px;max-width:540px}
form.wait input{flex:1;min-width:220px;background:rgba(244,241,231,.06);border:1px solid var(--lm2);
  border-radius:2px;padding:15px 18px;color:var(--papel);font:500 15px 'Public Sans'}
form.wait input::placeholder{color:rgba(244,241,231,.62)}
form.wait input:focus{outline:none;border-color:var(--laton);background:rgba(244,241,231,.09)}
.form-ok{display:none;flex-basis:100%;background:rgba(46,125,78,.14);border:1px solid rgba(120,200,160,.45);
  border-radius:2px;padding:13px 16px;color:#CFE9DB;font-size:14px}
.form-ok.show{display:block}
.form-ok.err{background:rgba(179,64,46,.16);border-color:rgba(214,120,100,.5);color:#F0CFC8}
.micro{margin-top:16px;font:500 10.5px var(--mono);letter-spacing:.12em;color:rgba(244,241,231,.5);text-transform:uppercase}
.nota-mano{display:flex;align-items:center;gap:8px;margin-top:18px;transform:rotate(-1.6deg)}
.nota-mano svg{flex-shrink:0}

/* panel de a bordo */
.puente{position:relative}
.sonar{position:absolute;inset:-40px;display:grid;place-items:center;pointer-events:none}
.sonar i{position:absolute;width:min(430px,80vw);height:min(430px,80vw);border:1px solid rgba(199,154,63,.28);
  border-radius:50%;animation:ping 5s ease-out infinite}
.sonar i:nth-child(2){animation-delay:1.7s}.sonar i:nth-child(3){animation-delay:3.4s}
@keyframes ping{0%{transform:scale(.32);opacity:.85}100%{transform:scale(1.18);opacity:0}}
.panel{transform:rotate(-1.3deg);padding:22px 22px 18px}
@media(max-width:920px){.panel{transform:rotate(-.6deg)}}
.p-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.p-live{font:600 9px var(--mono);letter-spacing:.22em;color:#4A5B60;text-transform:uppercase;display:flex;align-items:center;gap:7px}
.p-live i{width:7px;height:7px;border-radius:50%;background:var(--ok);animation:pulse 2.2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(46,125,78,.5)}70%{box-shadow:0 0 0 8px rgba(46,125,78,0)}100%{box-shadow:0 0 0 0 rgba(46,125,78,0)}}
.p-chip{position:relative;font:600 10.5px var(--mono);letter-spacing:.1em;color:var(--laton-txt);
  border:1.5px solid var(--laton-txt);border-radius:2px;padding:6px 10px}
.p-chip svg{position:absolute;left:-14px;top:-12px;width:calc(100% + 28px);height:calc(100% + 24px);pointer-events:none}
.p-chip .mano{position:absolute;right:-6px;top:calc(100% + 4px);font-size:19px;white-space:nowrap;transform:rotate(-3deg)}
.p-co{font-family:'Fraunces',serif;font-weight:600;font-size:17px;margin-top:14px}
.p-co small{display:block;font:400 9.5px var(--mono);letter-spacing:.08em;color:var(--tsuave);margin-top:3px}
.p-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.p-tab{font:500 10px var(--mono);letter-spacing:.06em;padding:5px 10px;border:1px solid var(--pborde);border-radius:2px;color:var(--tsuave);background:#FBF8EF}
.p-tab.on{background:var(--tinta);color:var(--papel);border-color:var(--tinta)}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}
.kpi{background:#FBF8EF;border:1px solid var(--pborde);border-radius:2px;padding:10px 12px}
.kpi .lab{font:500 8.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--tsuave)}
.kpi .val{font-family:'Fraunces',serif;font-weight:600;font-size:22px;margin-top:4px;line-height:1;color:var(--tinta)}
.kpi .val small{font-size:11px;color:var(--tsuave);font-family:'Public Sans';font-weight:500}
.kpi .val .up{color:var(--ok);font-size:13px}
.kpi.hot .val{color:#0F5C58}
.p-sec{font:600 9px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--laton-txt);
  margin:16px 0 8px;display:flex;justify-content:space-between}
.clause{display:grid;grid-template-columns:66px 1fr 60px;align-items:center;gap:10px;padding:6px 0;border-bottom:1px dashed var(--pborde)}
.clause:last-of-type{border-bottom:none}
.clause .cn{font:500 10.5px var(--mono);color:var(--tinta)}
.clause .cn b{display:block;font-weight:400;font-size:8.5px;color:var(--tsuave);letter-spacing:.02em;margin-top:1px}
.bar{height:7px;border-radius:99px;background:#E6DFC9;overflow:hidden;position:relative}
.bar span{position:absolute;left:0;top:0;bottom:0;border-radius:99px;width:0;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.bar span.ok{background:var(--ok)} .bar span.warn{background:var(--warn)}
.bar span.bad{background:var(--sello)} .bar span.info{background:var(--info)}
.chip{font:600 8.5px var(--mono);letter-spacing:.04em;text-transform:uppercase;text-align:center}
.chip::before{content:"●";margin-right:4px;font-size:7px}
.chip.ok{color:var(--ok-txt)}.chip.warn{color:var(--warn-txt)}.chip.bad{color:var(--sello)}.chip.info{color:var(--info)}
.feed{margin-top:14px;background:var(--noche);border-radius:2px;padding:11px 13px;color:rgba(244,241,231,.85)}
.feed .fh{font:600 8.5px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--laton);margin-bottom:7px}
.feed .fr{display:flex;gap:9px;font-size:11px;line-height:1.5;padding:2.5px 0}
.feed .fr .t{font:500 9.5px var(--mono);color:rgba(199,154,63,.85);flex-shrink:0;padding-top:1px}
.feed .fr b{color:#fff;font-weight:600}
.feed .fr .st{font:500 8.5px var(--mono);color:rgba(199,154,63,.85);margin-left:auto;flex-shrink:0}

/* ── marquesina de sellos ── */
.cartas{border-top:1px solid var(--lm);border-bottom:1px solid var(--lm);padding:24px 0;overflow:hidden}
.cartas .clabel{text-align:center;font:600 9.5px var(--mono);letter-spacing:.34em;color:var(--laton);text-transform:uppercase;margin-bottom:18px}
.marquee{display:flex;width:max-content;animation:scroll 46s linear infinite}
.cartas:hover .marquee{animation-play-state:paused}
@keyframes scroll{to{transform:translateX(-50%)}}
.sn{font:500 11.5px var(--mono);letter-spacing:.14em;border:1.5px solid rgba(244,241,231,.35);
  color:rgba(244,241,231,.82);padding:9px 16px;margin:0 11px;border-radius:2px;white-space:nowrap}
.sn:nth-child(odd){transform:rotate(-1.6deg)} .sn:nth-child(even){transform:rotate(1.2deg)}
.sn.new{border-color:var(--laton);color:var(--laton)}
.sn sup{font-size:8px;letter-spacing:.05em;margin-left:5px}

/* ── secciones / folios ── */
section.carta{padding:96px 0}
.folio{display:flex;align-items:baseline;gap:20px;border-top:1px solid var(--lm2);padding-top:16px;margin-bottom:40px;flex-wrap:wrap}
.fnum{font:600 11px var(--mono);letter-spacing:.28em;color:var(--laton);white-space:nowrap}
.folio h2{font-size:clamp(32px,4.6vw,54px);line-height:1.02;color:var(--papel)}
.fnote{margin-left:auto;font:500 9.5px var(--mono);letter-spacing:.2em;color:rgba(244,241,231,.66);text-transform:uppercase;padding-top:8px}
@media(max-width:720px){.fnote{display:none}}
.lede{color:rgba(244,241,231,.7);font-size:17px;max-width:62ch}
.lede b{color:var(--papel)}

/* carta 01 · problema */
.dos-papeles{display:grid;grid-template-columns:1fr 1fr;gap:26px}
@media(max-width:860px){.dos-papeles{grid-template-columns:1fr}}
.dp{padding:34px 30px 30px}
.dp .stamp{position:absolute;top:-14px;right:22px;z-index:3}
.dp h3{font-size:23px;margin-bottom:12px}
.dp p{color:var(--tsuave);font-size:15px}
.dp .cifras{display:flex;gap:28px;margin-top:22px}
.dp .cifras b{font-family:'Fraunces',serif;font-weight:600;font-size:27px;display:block;line-height:1}
.dp .cifras span{font:500 9px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--tsuave);display:block;margin-top:5px}
.dp.muerto{transform:rotate(-.8deg)} .dp.muerto .cifras b{color:var(--sello)}
.dp.vivo{transform:rotate(.7deg)} .dp.vivo .cifras b{color:#0F5C58}

/* carta 02 · ruta */
.chart{position:relative;border:1px solid var(--lm2);background:rgba(244,241,231,.02);padding:14px 10px 4px;border-radius:2px}
.chart svg{width:100%;height:auto;display:block}
.chart .esq{position:absolute;font:500 8.5px var(--mono);letter-spacing:.18em;color:rgba(244,241,231,.35);text-transform:uppercase}
.chart .esq.a{top:10px;left:14px} .chart .esq.b{bottom:8px;right:14px}
.traza{stroke:var(--laton);stroke-width:2.5;fill:none;stroke-linecap:round;
  stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.4s ease .3s}
.reveal.in .traza{stroke-dashoffset:0}
.wp{opacity:0;transition:opacity .5s ease}
.reveal.in .wp{opacity:1}
.reveal.in .wp:nth-of-type(1){transition-delay:.5s}.reveal.in .wp:nth-of-type(2){transition-delay:.9s}
.reveal.in .wp:nth-of-type(3){transition-delay:1.3s}.reveal.in .wp:nth-of-type(4){transition-delay:1.7s}
.reveal.in .wp:nth-of-type(5){transition-delay:2.1s}.reveal.in .wp:nth-of-type(6){transition-delay:2.5s}
.svg-lab{font:500 10px var(--mono);letter-spacing:.14em;fill:rgba(244,241,231,.75)}
.svg-lab.laton{fill:var(--laton)}
.svg-mano{font-family:var(--hand);font-weight:600;font-size:21px;fill:var(--laton)}
.fichas{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:18px;margin-top:34px}
.ficha{padding:20px 18px;transition:transform .25s ease}
.ficha:hover{transform:rotate(0deg) translateY(-4px)!important}
.ficha .fi{font:600 9px var(--mono);letter-spacing:.22em;color:var(--laton-txt);text-transform:uppercase}
.ficha h3{font-size:17.5px;margin:10px 0 7px}
.ficha p{color:var(--tsuave);font-size:13.5px;line-height:1.55}

/* carta 03 · travesías */
.registro{padding:36px 38px 30px;transform:rotate(-.4deg)}
.registro .rmano{position:absolute;top:-8px;right:34px;transform:rotate(-2deg);z-index:3}
.scen{display:grid;grid-template-columns:170px 1fr;gap:22px;align-items:center;padding:15px 0;border-bottom:1px dashed var(--pborde)}
.scen:last-of-type{border-bottom:none}
@media(max-width:680px){.scen{grid-template-columns:1fr;gap:9px}}
.scen .e{font:600 9.5px var(--mono);letter-spacing:.18em;color:var(--laton-2)}
.scen h4{font-size:16.5px;margin-top:2px}
.trow{display:flex;align-items:center;gap:12px;margin:5px 0}
.trow .tl{font:500 8.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--tsuave);width:58px;flex-shrink:0}
.tbar{position:relative;height:22px;background:#EAE4D0;border-radius:2px;flex:1;overflow:hidden}
.tbar .fill{position:absolute;left:0;top:0;bottom:0;width:0;display:flex;align-items:center;justify-content:flex-end;
  padding-right:9px;transition:width 1.2s cubic-bezier(.2,.8,.2,1);border-radius:2px}
.tbar .fill.before{background:repeating-linear-gradient(45deg,#CEC5A8 0 6px,#C2B99B 6px 12px)}
.tbar .fill.after{background:linear-gradient(90deg,#0C4540,#11635C)}
.tbar .fill b{font:600 10px var(--mono);white-space:nowrap}
.tbar .fill.before b{color:var(--tinta)} .tbar .fill.after b{color:var(--papel)}
.rnota{margin-top:18px;font:400 10.5px var(--mono);color:var(--tsuave);letter-spacing:.02em}

/* carta 04 · manifiesto */
.mlineas{max-width:840px}
.mline{font-family:'Fraunces',serif;font-style:italic;font-weight:500;
  font-size:clamp(23px,3.4vw,37px);line-height:1.3;color:rgba(244,241,231,.92);
  padding:20px 0;border-bottom:1px solid var(--lm)}
.mline:last-of-type{border-bottom:none}
.mline em{font-style:italic;color:var(--laton)}
.firma{margin-top:36px}
.firma .mano{font-size:30px}
.firma .coords{font:500 10px var(--mono);letter-spacing:.24em;color:rgba(244,241,231,.42);margin-top:8px;text-transform:uppercase}

/* carta 05 · personas */
.personas-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
@media(max-width:920px){.personas-grid{grid-template-columns:1fr;gap:48px}}
.gob{padding:26px 26px 22px;transform:rotate(-.6deg);margin-top:30px}
.gob .stamp{position:absolute;top:-15px;right:20px;z-index:3}
.gob .q{font-family:'Fraunces',serif;font-style:italic;font-size:21px;font-weight:500;line-height:1.35}
.gob p{color:var(--tsuave);font-size:13.5px;margin-top:10px}
.fotos{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.foto{padding:10px 10px 30px;transition:transform .3s ease}
.foto:hover{transform:rotate(0deg) translateY(-4px)!important}
.foto:first-child{grid-column:1/-1}
.foto .ph{aspect-ratio:4/3;background-color:var(--noche-3);background-size:cover;background-position:center;filter:saturate(.92) contrast(1.03)}
.foto:first-child .ph{aspect-ratio:16/9}
.foto .cap{font:500 8.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--tsuave);margin-top:9px}
.foto .fmano{position:absolute;bottom:-4px;right:10px;transform:rotate(-3deg);z-index:3;font-size:19px}
.foto .tape{width:70px;left:50%;margin-left:-35px;transform:rotate(-3deg)}
@media(max-width:560px){.fotos{grid-template-columns:1fr}}

/* carta 06 · zarpe (pase de abordaje) */
.ticket{max-width:880px;margin:0 auto;display:grid;grid-template-columns:1fr 210px;transform:rotate(-.5deg);position:relative}
.ticket::before,.ticket::after{content:"";position:absolute;left:calc(100% - 210px);transform:translateX(-50%);
  width:24px;height:24px;border-radius:50%;background:var(--noche);z-index:3}
.ticket::before{top:-12px} .ticket::after{bottom:-12px}
.t-main{padding:32px 36px 28px}
.t-head{display:flex;justify-content:space-between;gap:10px;font:600 9.5px var(--mono);letter-spacing:.26em;text-transform:uppercase;color:var(--tsuave)}
.t-main h2{font-size:clamp(26px,3.4vw,34px);color:var(--tinta);margin:14px 0 18px}
.t-main h2 em{color:var(--laton-2)}
.flds{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;margin-bottom:22px}
.fld{border-top:1px solid var(--pborde);padding-top:8px}
.fld .k{font:500 8px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--tsuave)}
.fld .v{font:600 12px var(--mono);letter-spacing:.04em;color:var(--tinta);margin-top:4px}
.t-main form.wait input{background:#FBF9F0;border:1px solid var(--pborde);color:var(--tinta)}
.t-main form.wait input::placeholder{color:#A39B82}
.t-main form.wait input:focus{border-color:var(--laton-2)}
.t-main .form-ok{background:rgba(46,125,78,.1);border-color:rgba(46,125,78,.4);color:#245F41}
.t-micro{margin-top:14px;font:500 10px var(--mono);letter-spacing:.06em;color:var(--tsuave)}
.t-micro a{color:var(--laton-2);text-decoration:underline;text-underline-offset:3px}
.t-stub{border-left:2px dashed var(--pborde);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px 16px}
.t-stub .bnum{font:600 9px var(--mono);letter-spacing:.3em;color:var(--tsuave);text-transform:uppercase}
@media(max-width:680px){
  .ticket{grid-template-columns:1fr}
  .ticket::before,.ticket::after{display:none}
  .t-stub{border-left:none;border-top:2px dashed var(--pborde);flex-direction:row;justify-content:space-around;padding:18px}
}

/* carta 07 · preguntas */
.faq-list{border-top:1px solid var(--lm2);max-width:860px}
.faq-item{border-bottom:1px solid var(--lm)}
.faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;position:relative;
  padding:22px 48px 22px 0;font-family:'Fraunces',serif;font-weight:600;font-size:18.5px;line-height:1.35;color:var(--papel)}
.faq-q .pn{font:600 10px var(--mono);letter-spacing:.2em;color:var(--laton);margin-right:14px}
.faq-q::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);
  font:400 22px var(--mono);color:var(--laton)}
.faq-item.open .faq-q::after{content:"–"}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;color:rgba(244,241,231,.65);font-size:15px}
.faq-a div{padding:0 48px 24px 0;max-width:70ch}
.faq-item.open .faq-a{max-height:360px}
.faq-cta{margin-top:30px;font:500 11px var(--mono);letter-spacing:.18em;text-transform:uppercase}
.faq-cta a{color:var(--laton);border-bottom:1px solid var(--laton);padding-bottom:3px}

/* ── colofón ── */
footer.colofon{border-top:1px solid var(--lm2);padding:74px 0 32px}
.cf-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:44px;align-items:start}
@media(max-width:820px){.cf-grid{grid-template-columns:1fr;gap:36px}}
.cf-sello svg{width:118px;height:118px}
.cf-sello p{font:400 10.5px var(--mono);color:rgba(244,241,231,.45);line-height:1.7;margin-top:18px;max-width:40ch}
.cf-col h5{font:600 9.5px var(--mono);letter-spacing:.26em;text-transform:uppercase;color:var(--laton);margin-bottom:16px}
.cf-col a{display:block;color:rgba(244,241,231,.72);font-size:14px;padding:5px 0;transition:color .2s}
.cf-col a:hover{color:var(--laton)}
.cf-bottom{margin-top:54px;padding-top:22px;border-top:1px solid var(--lm);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;align-items:center}
.cf-bottom span{font:500 10px var(--mono);letter-spacing:.06em;color:rgba(244,241,231,.42)}
.cf-bottom .lema{color:var(--laton);letter-spacing:.14em;text-transform:uppercase}

/* ── revelado ── */
.reveal{opacity:0;translate:0 26px;transition:opacity .7s ease,translate .7s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;translate:0 0}
.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}.reveal.d3{transition-delay:.3s}.reveal.d4{transition-delay:.4s}

/* ── v3 · añadidos ─────────────────────────────────────────────── */
.salta{position:absolute;left:-9999px;top:0;background:var(--papel);color:var(--noche);
  padding:12px 16px;z-index:200;border-radius:3px;font-weight:600}
.salta:focus{left:38px;top:12px}

/* normas: primera versión + las que vienen */
.sn-link{text-decoration:none;transition:border-color .2s,color .2s}
.sn-link:hover{border-color:var(--laton);color:var(--laton)}
.proximas{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;
  margin-top:18px;padding-top:16px;border-top:1px dashed var(--lm2)}
.proximas .pxl{font:600 9.5px var(--mono);letter-spacing:.26em;text-transform:uppercase;
  color:rgba(244,241,231,.62)}
.proximas .px{font:500 11px var(--mono);letter-spacing:.1em;color:rgba(244,241,231,.72);
  border:1px dashed var(--lm2);border-radius:2px;padding:6px 12px}
.proximas .px:nth-of-type(odd){transform:rotate(-1deg)}
.proximas .px:nth-of-type(even){transform:rotate(.8deg)}
.proximas .mano{font-size:19px;transform:rotate(-3deg);margin-left:4px}
.nota-normas{text-align:center;margin-top:12px;font-size:12.5px;color:rgba(244,241,231,.62)}

/* héroe sin formulario: par de botones */
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}

/* autorización de datos (Ley 1581) */
.autoriza{display:flex;gap:11px;align-items:flex-start;margin-top:14px;
  font-size:12.5px;line-height:1.5;color:var(--tsuave)}
.autoriza input{width:24px;height:24px;flex-shrink:0;accent-color:var(--laton-2);margin-top:1px}
.autoriza a{color:var(--laton-2);text-decoration:underline;text-underline-offset:2px}
.wait .autoriza{flex:0 0 100%;min-width:0;max-width:100%;margin-top:4px}
.autoriza span{min-width:0;overflow-wrap:anywhere}
.hero .autoriza{color:rgba(244,241,231,.72)}
.hero .autoriza a{color:var(--laton)}

/* barra de acción en móvil */
.movil{position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;
  background:rgba(6,34,32,.96);backdrop-filter:blur(10px);
  border-top:1px solid var(--lm2);padding:10px 16px}
.movil .btn{width:100%}
@media(max-width:900px){.movil{display:block}body{padding-bottom:68px}}

/* registros del expediente (sustituyen las fotos de banco) */
.reg-svg{width:100%;height:auto;display:block;border-radius:2px;background:#FBF8EF}
.foto .fmano{bottom:-14px}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;translate:0 0}
  .traza{stroke-dashoffset:0}.wp{opacity:1}
}

/* v3 · contraste de anotaciones y enlaces sobre papel */
.papel .mano,.foto .fmano,.registro .rmano{color:var(--laton-txt)}
.autoriza a,.t-micro a{color:var(--laton-txt)}
/* ═══ v3 · añadidos de las subpáginas ═══════════════════════════════ */
.prosa p{color:rgba(244,241,231,.72);font-size:16.5px;line-height:1.68;max-width:74ch;margin-bottom:18px}
.prosa p b,.prosa strong{color:var(--papel);font-weight:600}
.prosa ul{margin:0 0 18px 22px;max-width:74ch;color:rgba(244,241,231,.72)}
.prosa li{margin-bottom:9px;font-size:16.5px;line-height:1.6}
.prosa li b{color:var(--papel)}

/* nota de campo: papel con prosa oscura */
.dp.vivo .prosa p,.papel p{color:var(--tsuave)}
.papel.dp p{font-size:15.5px;line-height:1.62;margin-bottom:14px}
.papel.dp p:last-child{margin-bottom:0}
.papel.dp p b{color:var(--tinta)}
.papel.dp ul{margin:0 0 14px 20px;color:var(--tsuave);font-size:15.5px}
.papel.dp li{margin-bottom:7px}
.papel.dp li b{color:var(--tinta)}
.papel.dp .stamp{position:absolute;top:-14px;right:24px;z-index:3}

/* filas de estado normativo */
.papel.registro .clause{grid-template-columns:200px 1fr 108px;gap:16px;padding:12px 0;align-items:start}
.papel.registro .clause .cn{font:500 12px var(--mono);color:var(--tinta);line-height:1.35}
.papel.registro .clause .chip{text-align:right;padding-top:2px}
@media(max-width:640px){
  .papel.registro .clause{grid-template-columns:1fr;gap:6px}
  .papel.registro .clause .chip{text-align:left}
}

/* enlaces a las otras normas */
.proximas .sn-link{margin:0 10px 10px 0;white-space:normal;max-width:100%}
@media(max-width:520px){.proximas .sn-link{width:100%;text-align:center}}

/* migas */
.micro a{text-decoration:underline;text-underline-offset:3px}
