/* ═══════════════════ RESET & TOKENS ═══════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#000;--fg:#f2f2f4;--fg-strong:#fff;--muted:#74747a;--muted-2:#9a9aa0;
  --line:rgba(255,255,255,0.085);--line-2:rgba(255,255,255,0.14);
  --card-hover:rgba(255,255,255,0.04);
  --sans:'Inter',system-ui,-apple-system,sans-serif;
  --serif:'Instrument Serif',Georgia,serif;
  --ease:cubic-bezier(.19,1,.22,1);
  --ease-2:cubic-bezier(.22,1,.36,1);
  --maxw:1240px;--pad:clamp(24px,5vw,80px);
}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{font-family:var(--sans);background:var(--bg);color:var(--fg);line-height:1.6;font-weight:400;overflow-x:hidden}
body.smooth{cursor:none}
body.lock{overflow:hidden;height:100vh}
::selection{background:rgba(255,255,255,0.18);color:#fff}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font-family:inherit}
::-webkit-scrollbar{width:0}

/* ═══════════════════ CURSOR ═══════════════════ */
#cur-dot,#cur-ring{position:fixed;top:0;left:0;pointer-events:none;border-radius:50%;
  transform:translate(-50%,-50%);z-index:9999;opacity:0;transition:opacity .4s}
body.smooth.ready #cur-dot,body.smooth.ready #cur-ring{opacity:1}
#cur-dot{width:6px;height:6px;background:#fff;mix-blend-mode:difference;
  transition:width .25s var(--ease-2),height .25s var(--ease-2),opacity .4s}
#cur-ring{width:34px;height:34px;border:1px solid rgba(255,255,255,0.35);
  display:flex;align-items:center;justify-content:center;
  transition:width .35s var(--ease-2),height .35s var(--ease-2),border-color .35s,background .35s,opacity .4s}
body.is-hover #cur-dot{width:0;height:0}
body.is-hover #cur-ring{width:54px;height:54px;border-color:rgba(255,255,255,0.7)}

/* ═══════════════════ BACKDROP ═══════════════════ */
#gl{position:fixed;inset:0;z-index:0;width:100%;height:100%;display:block}
#galaxy{position:fixed;inset:0;z-index:0;width:100%;height:100%}
#flash{position:fixed;inset:0;z-index:3;pointer-events:none;background:#fff;opacity:0;mix-blend-mode:screen}
#vignette{position:fixed;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(ellipse 72% 58% at 28% 44%, rgba(0,0,0,0.66) 0%, transparent 60%),
    radial-gradient(ellipse 130% 100% at 50% 50%, transparent 32%, rgba(0,0,0,0.6) 100%)}
#grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:180px 180px}

/* ═══════════════════ INTRO LOADER / PAGE CURTAIN ═══════════════════ */
#intro{position:fixed;inset:0;z-index:500;background:#000;display:flex;align-items:center;justify-content:center;
  transition:transform 1.15s var(--ease)}
#intro.done{transform:translateY(-100%);pointer-events:none}
#intro.leaving{transition:transform .72s var(--ease-2)}
#intro.leaving .intro-inner,#intro.leaving .intro-pct{opacity:0;transition:opacity .25s}
.intro-inner{display:flex;flex-direction:column;align-items:center;gap:36px}
.intro-logo{width:42px;height:42px;mix-blend-mode:screen;filter:brightness(1.5);
  opacity:0;transform:translateY(16px);transition:opacity 1s var(--ease) .25s,transform 1.05s var(--ease) .25s}
.intro-wordwrap{overflow:hidden;padding:0 .12em}
.intro-word{display:block;font-size:clamp(26px,4.2vw,44px);font-weight:300;letter-spacing:.5em;
  text-transform:uppercase;color:#fff;padding-left:.5em;transform:translateY(116%);transition:transform 1.15s var(--ease) .4s}
.intro-line{position:relative;width:min(220px,52vw);height:1px;background:rgba(255,255,255,.13);overflow:hidden;
  opacity:0;transition:opacity .9s var(--ease) .7s}
.intro-line i{position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:0 50%}
#intro.show .intro-logo{opacity:1;transform:none}
#intro.show .intro-word{transform:none}
#intro.show .intro-line{opacity:1}
.intro-pct{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);
  font-size:11px;letter-spacing:.34em;color:var(--muted-2);font-variant-numeric:tabular-nums;
  opacity:0;transition:opacity .9s var(--ease) .8s}
#intro.show .intro-pct{opacity:1}
.intro-pct::after{content:'%';margin-left:3px;color:var(--muted)}

/* ═══════════════════ SMOOTH SCROLL WRAPPER ═══════════════════ */
body.smooth #scroller{position:fixed;top:0;left:0;width:100%;will-change:transform}
#scroller{opacity:0;transition:opacity 1.2s var(--ease)}
body.ready #scroller{opacity:1}
#progress{position:fixed;top:0;left:0;height:1px;width:100%;transform-origin:0 50%;
  transform:scaleX(0);background:rgba(255,255,255,0.8);z-index:200;opacity:0;transition:opacity .6s}
body.ready #progress{opacity:1}

/* ═══════════════════ TOPBAR ═══════════════════ */
#topbar{position:fixed;top:0;left:0;width:100%;z-index:150;
  display:flex;align-items:center;justify-content:space-between;padding:26px var(--pad);
  mix-blend-mode:difference;opacity:0;transition:opacity 1s var(--ease) .2s}
body.ready #topbar{opacity:1}
.brand{display:flex;align-items:center;gap:11px;cursor:none}
.brand img{width:30px;height:30px;mix-blend-mode:screen;filter:brightness(1.4)}
.brand span{font-size:13px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:#fff}
.topnav{display:flex;gap:36px}
.topnav a{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#fff;opacity:.55;transition:opacity .3s var(--ease);cursor:none}
.topnav a:hover,.topnav a.active{opacity:1}
@media(max-width:760px){.topnav{display:none}}

/* ═══════════════════ PRIMITIVES ═══════════════════ */
main{position:relative;z-index:2}
.section{padding:clamp(96px,15vh,190px) var(--pad);max-width:var(--maxw);margin:0 auto}
.section.tight{padding:clamp(70px,10vh,120px) var(--pad)}
.rule{max-width:var(--maxw);margin:0 auto;height:1px;background:var(--line)}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--muted-2);margin-bottom:30px}
.eyebrow::before{content:'';width:30px;height:1px;background:var(--muted)}
.h2{font-size:clamp(30px,4.6vw,58px);font-weight:500;line-height:1.04;letter-spacing:-0.03em;color:var(--fg-strong)}
.h2 .serif{font-family:var(--serif);font-style:italic;font-weight:400}
.lead{font-size:clamp(15px,1.5vw,17px);color:var(--muted-2);line-height:1.7;font-weight:300}

/* ── kinetic masked type ── */
.kin .ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.kin .ln>span{display:block;transform:translateY(118%);transition:transform 1.05s var(--ease)}
.kin.in .ln>span{transform:none}
.kin .ln:nth-child(1)>span{transition-delay:.05s}
.kin .ln:nth-child(2)>span{transition-delay:.16s}
.kin .ln:nth-child(3)>span{transition-delay:.27s}
.kin .ln:nth-child(4)>span{transition-delay:.38s}

/* ── fade reveal ── */
.fade{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.fade.in{opacity:1;transform:none}
[data-delay="1"]{transition-delay:.1s}[data-delay="2"]{transition-delay:.2s}
[data-delay="3"]{transition-delay:.3s}[data-delay="4"]{transition-delay:.4s}

/* ── buttons ── */
.btn{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:none;
  font-size:13px;letter-spacing:.06em;font-weight:500;transition:all .35s var(--ease-2)}
.btn-primary{padding:15px 30px;background:#fff;color:#000;border-radius:100px;will-change:transform}
.btn-primary:hover{box-shadow:0 0 0 1px #fff,0 14px 40px rgba(255,255,255,.18)}
.btn-primary svg{width:15px;height:15px}
.btn-text{color:var(--fg);opacity:.7}.btn-text:hover{opacity:1}
.btn-text .underline{position:relative}
.btn-text .underline::after{content:'';position:absolute;left:0;bottom:-3px;width:100%;height:1px;
  background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease-2)}
.btn-text:hover .underline::after{transform:scaleX(1);transform-origin:left}

/* ═══════════════════ HERO (home) ═══════════════════ */
#hero{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:1.05fr 0.95fr;
  align-items:center;gap:40px;padding:0 var(--pad);max-width:var(--maxw);margin:0 auto;position:relative}
.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--muted-2);margin-bottom:34px}
.live{width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.5);animation:live 2.4s infinite}
@keyframes live{0%{box-shadow:0 0 0 0 rgba(255,255,255,.45)}70%,100%{box-shadow:0 0 0 7px rgba(255,255,255,0)}}
.hero-title{font-size:clamp(46px,6.8vw,92px);font-weight:500;line-height:0.98;letter-spacing:-0.045em;color:var(--fg-strong)}
.hero-title .serif{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-0.01em;font-size:1.05em}
.hero-sub{margin-top:34px;font-size:clamp(15px,1.6vw,18px);color:var(--muted-2);line-height:1.7;max-width:480px;font-weight:300}
.hero-cta{margin-top:46px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.hero-art{position:relative;display:flex;align-items:center;justify-content:center;will-change:transform}
.hero-art .ring{position:absolute;border:1px solid var(--line);border-radius:50%;animation:spin 46s linear infinite}
.hero-art .ring.r1{width:78%;height:78%;animation-duration:32s;animation-direction:reverse}
.hero-art .ring.r2{width:100%;height:100%}
.hero-art .ring::after{content:'';position:absolute;top:-3px;left:50%;width:5px;height:5px;border-radius:50%;
  background:#fff;box-shadow:0 0 10px 1px rgba(255,255,255,.8);transform:translateX(-50%)}
@keyframes spin{to{transform:rotate(360deg)}}
#warrior{width:clamp(280px,34vw,470px);aspect-ratio:1;object-fit:contain;mix-blend-mode:screen;
  filter:brightness(1.16) contrast(1.04) grayscale(1)}
.hero-art::before{content:'';position:absolute;width:70%;height:70%;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.13) 0%,transparent 70%);filter:blur(12px);
  animation:breathe 6.5s ease-in-out infinite}
@keyframes breathe{0%,100%{opacity:.65;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}
@media(max-width:900px){
  #hero{grid-template-columns:1fr;text-align:center;padding-top:120px;padding-bottom:80px}
  .hero-eyebrow,.hero-cta{justify-content:center}.hero-sub{margin-left:auto;margin-right:auto}.hero-art{display:none}
}
.scrolldown{position:absolute;bottom:38px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:12px}
.scrolldown span{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.scrolldown i{width:1px;height:42px;background:linear-gradient(var(--muted-2),transparent);animation:drop 2.2s var(--ease) infinite}
@keyframes drop{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}
  46%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ═══════════════════ PAGE HERO (sub-pages) ═══════════════════ */
.page-hero{min-height:82vh;min-height:82dvh;display:flex;flex-direction:column;justify-content:center;
  max-width:var(--maxw);margin:0 auto;padding:150px var(--pad) 70px;position:relative}
.page-hero .eyebrow{margin-bottom:26px}
.page-hero h1{font-size:clamp(44px,7.4vw,108px);font-weight:500;line-height:0.94;letter-spacing:-0.045em;color:var(--fg-strong)}
.page-hero h1 .serif{font-family:var(--serif);font-style:italic;font-weight:400}
.page-hero .lead{margin-top:34px;max-width:580px;font-size:clamp(16px,1.7vw,19px)}
.page-hero .hero-cta{margin-top:46px}

/* ── prose ── */
.prose{max-width:760px}
.prose p{font-size:clamp(17px,1.9vw,22px);line-height:1.65;color:var(--muted-2);font-weight:300;margin-bottom:26px;letter-spacing:-0.01em}
.prose p:last-child{margin-bottom:0}
.prose p .serif{font-family:var(--serif);font-style:italic;color:var(--fg)}
.prose strong{color:var(--fg-strong);font-weight:500}

/* ── features grid ── */
.features{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:56px}
@media(max-width:680px){.features{grid-template-columns:1fr}}
.feature{background:#000;padding:40px 36px;position:relative;overflow:hidden;transition:background .4s var(--ease-2)}
.feature:hover{background:var(--card-hover)}
.feature .f-ico{width:30px;height:30px;color:var(--fg-strong);margin-bottom:24px}
.feature .f-ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.3}
.feature h3{font-size:18px;font-weight:500;color:var(--fg-strong);margin-bottom:11px;letter-spacing:-0.01em}
.feature p{font-size:14px;color:var(--muted-2);line-height:1.65;font-weight:300}

/* ── steps ── */
.steps{display:flex;flex-direction:column;border-top:1px solid var(--line);margin-top:56px}
.step-row{display:grid;grid-template-columns:96px 1fr;gap:36px;padding:40px 0;border-bottom:1px solid var(--line);align-items:start}
@media(max-width:640px){.step-row{grid-template-columns:1fr;gap:14px}}
.step-row .s-n{font-family:var(--serif);font-size:44px;line-height:1;color:var(--fg-strong)}
.step-row h3{font-size:20px;font-weight:500;color:var(--fg-strong);margin-bottom:10px;letter-spacing:-0.01em}
.step-row p{font-size:15px;color:var(--muted-2);line-height:1.7;font-weight:300;max-width:640px}

/* ── two-column intro row ── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,90px);align-items:start}
@media(max-width:820px){.split{grid-template-columns:1fr;gap:32px}}

/* ═══════════════════ METRICS ═══════════════════ */
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.metric{padding:8px clamp(16px,2.5vw,40px);position:relative}
.metric+.metric{border-left:1px solid var(--line)}
.metric .num{font-family:var(--serif);font-weight:400;font-size:clamp(48px,6vw,82px);line-height:1;
  color:var(--fg-strong);letter-spacing:-0.02em;font-variant-numeric:tabular-nums}
.metric .num .u{font-size:.5em;vertical-align:super;margin-left:2px;color:var(--muted-2)}
.metric .mlabel{margin-top:18px;font-size:13px;letter-spacing:.02em;color:var(--muted-2);line-height:1.5;font-weight:300}
@media(max-width:760px){
  .metrics{grid-template-columns:1fr 1fr;gap:48px 0}.metric{padding:0 20px}
  .metric:nth-child(odd){border-left:none}
  .metric:nth-child(3),.metric:nth-child(4){border-top:1px solid var(--line);padding-top:48px}
  .metric:nth-child(2),.metric:nth-child(4){border-left:1px solid var(--line)}
}
.metrics.tri{grid-template-columns:repeat(3,1fr)}
@media(max-width:760px){.metrics.tri{grid-template-columns:1fr 1fr}}

/* ═══════════════════ MANIFESTO ═══════════════════ */
.manifesto{max-width:1020px}
.manifesto p{font-size:clamp(26px,3.6vw,46px);line-height:1.28;font-weight:400;letter-spacing:-0.02em;color:var(--fg)}
.manifesto .serif{font-family:var(--serif);font-style:italic;color:var(--fg-strong)}
.manifesto .dim{color:var(--muted)}

/* ═══════════════════ SISTEMAS — PINNED HORIZONTAL ═══════════════════ */
#sistemas{position:relative}
.pin-inner{position:absolute;top:0;left:0;width:100%;height:100vh;height:100dvh;overflow:hidden;will-change:transform}
.pin-head{position:absolute;top:0;left:0;width:100%;padding:clamp(62px,8vh,92px) var(--pad) 0;
  display:flex;justify-content:space-between;align-items:flex-start;gap:30px;z-index:3;pointer-events:none}
.pin-head .eyebrow{margin-bottom:12px}
.pin-head .h2{font-size:clamp(26px,3.2vw,42px)}
.pin-head .lead{max-width:300px}
.track{position:absolute;left:0;top:clamp(206px,33vh,280px);bottom:clamp(92px,13vh,128px);
  display:flex;align-items:center;gap:clamp(20px,2.4vw,40px);padding:0 var(--pad);will-change:transform}
.panel{flex:0 0 auto;width:min(420px,78vw);height:100%;max-height:440px;position:relative;
  background:linear-gradient(160deg,rgba(255,255,255,0.045),rgba(255,255,255,0.012));
  border:1px solid var(--line);border-radius:18px;padding:40px 36px;overflow:hidden;
  display:flex;flex-direction:column;justify-content:space-between;cursor:none;color:inherit;
  transition:border-color .4s var(--ease-2),transform .5s var(--ease-2)}
.panel::before{content:'';position:absolute;inset:0;opacity:0;pointer-events:none;border-radius:18px;
  background:radial-gradient(500px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.07),transparent 55%);
  transition:opacity .4s}
.panel:hover{border-color:var(--line-2);transform:translateY(-4px)}
.panel:hover::before{opacity:1}
.panel .p-top{display:flex;justify-content:space-between;align-items:flex-start}
.panel .p-idx{font-family:var(--serif);font-size:46px;line-height:1;color:var(--fg-strong)}
.panel .p-ico{width:30px;height:30px;color:var(--fg-strong)}
.panel .p-ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.3}
.panel h3{font-size:24px;font-weight:500;letter-spacing:-0.02em;color:var(--fg-strong);margin-bottom:14px}
.panel p{font-size:14.5px;color:var(--muted-2);line-height:1.65;font-weight:300}
.panel .p-foot{margin-top:24px;display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--fg);opacity:.85}
.panel .p-foot svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5;transition:transform .4s var(--ease)}
.panel:hover .p-foot svg{transform:translateX(5px)}
.pin-prog{position:absolute;bottom:clamp(40px,8vh,72px);left:var(--pad);right:var(--pad);
  height:1px;background:var(--line);z-index:3}
.pin-prog i{display:block;height:100%;width:0;background:#fff;transform-origin:0 50%}
.pin-count{position:absolute;bottom:clamp(56px,9vh,90px);right:var(--pad);font-size:11px;
  letter-spacing:.2em;color:var(--muted-2);z-index:3;font-variant-numeric:tabular-nums}
body.no-smooth #sistemas{height:auto!important}
body.no-smooth .pin-inner{position:relative;height:auto;overflow:visible;padding:clamp(70px,9vh,110px) 0 40px}
body.no-smooth .pin-head{position:static;padding:0 var(--pad);flex-direction:column;margin-bottom:40px;pointer-events:auto}
body.no-smooth .track{position:static;height:auto;overflow-x:auto;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;padding-bottom:24px}
body.no-smooth .panel{scroll-snap-align:center;height:64vh;max-height:520px}
body.no-smooth .pin-prog,body.no-smooth .pin-count{display:none}

/* ═══════════════════ PROTOCOLO — PINNED CHAPTERS ═══════════════════ */
#protocolo{position:relative}
.pin2-inner{position:absolute;top:0;left:0;width:100%;height:100vh;height:100dvh;overflow:hidden;will-change:transform}
.ch-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:0}
.ch-bg span{font-family:var(--serif);font-size:min(64vh,560px);line-height:1;color:rgba(255,255,255,0.035)}
.proto-head{position:absolute;top:0;left:0;width:100%;padding:clamp(62px,8vh,92px) var(--pad) 0;z-index:3;pointer-events:none}
.chapters{position:absolute;inset:0;z-index:2}
.chapter{position:absolute;top:clamp(196px,30vh,256px);bottom:clamp(132px,19vh,172px);left:var(--pad);right:var(--pad);
  max-width:720px;display:flex;flex-direction:column;justify-content:center;opacity:0;will-change:transform,opacity}
.chapter .c-label{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted-2);margin-bottom:20px;display:flex;align-items:center;gap:12px}
.chapter .c-label::before{content:'';width:30px;height:1px;background:var(--muted)}
.chapter h3{font-size:clamp(30px,5.4vw,64px);font-weight:500;letter-spacing:-0.04em;line-height:1.02;color:var(--fg-strong);margin-bottom:22px}
.chapter h3 .serif{font-family:var(--serif);font-style:italic;font-weight:400}
.chapter p{font-size:clamp(15px,1.7vw,19px);color:var(--muted-2);line-height:1.7;font-weight:300;max-width:560px}
.chapter .c-week{margin-top:24px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.belt{position:absolute;bottom:clamp(56px,10vh,96px);left:var(--pad);right:var(--pad);z-index:3}
.belt-line{position:relative;height:1px;background:var(--line);margin-bottom:18px}
.belt-line i{position:absolute;left:0;top:0;height:100%;width:100%;background:#fff;transform:scaleX(0);transform-origin:0 50%}
.belt-nodes{display:flex;justify-content:space-between}
.bnode{display:flex;flex-direction:column;gap:9px}
.bnode:nth-child(2){align-items:center}.bnode:nth-child(3){align-items:flex-end}
.bnode .dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.2);transition:background .4s var(--ease),box-shadow .4s var(--ease)}
.bnode.on .dot{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.12)}
.bnode .bn-t{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);transition:color .4s}
.bnode.on .bn-t{color:var(--fg)}
body.no-smooth #protocolo{height:auto!important}
body.no-smooth .pin2-inner{position:relative;height:auto;overflow:visible;padding:clamp(70px,9vh,110px) 0}
body.no-smooth .proto-head{position:static;padding:0 var(--pad) 36px}
body.no-smooth .chapters{position:static}
body.no-smooth .chapter{position:relative;top:auto;left:auto;right:auto;opacity:1!important;transform:none!important;margin:0 var(--pad) 56px;padding-bottom:48px;border-bottom:1px solid var(--line)}
body.no-smooth .ch-bg,body.no-smooth .belt{display:none}

/* ═══════════════════ MARQUEE TICKER ═══════════════════ */
.marquee{position:relative;z-index:2;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:24px 0;background:rgba(0,0,0,0.28)}
.mq-track{display:flex;width:max-content;white-space:nowrap;animation:mq 42s linear infinite}
.marquee:hover .mq-track{animation-play-state:paused}
.mq-track span{font-family:var(--serif);font-size:clamp(20px,2.6vw,36px);color:var(--muted-2);
  display:inline-flex;align-items:center;letter-spacing:-0.01em}
.mq-track span::after{content:'✦';font-size:.46em;color:var(--fg-strong);opacity:.45;margin:0 clamp(22px,3vw,46px)}
@keyframes mq{to{transform:translateX(-50%)}}

/* ═══════════════════ STATEMENT ═══════════════════ */
.statement{max-width:1120px}
.statement p{font-size:clamp(30px,5.2vw,72px);font-weight:500;letter-spacing:-0.035em;line-height:1.02;color:var(--fg-strong)}
.statement .serif{font-family:var(--serif);font-style:italic;font-weight:400}
.statement .dim{color:var(--muted)}

/* ═══════════════════ NEXT (cinematic page link) ═══════════════════ */
.next{position:relative;display:block;padding:clamp(74px,13vh,140px) var(--pad);max-width:var(--maxw);margin:0 auto;
  border-top:1px solid var(--line);overflow:hidden;cursor:none}
.next .n-label{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted-2);margin-bottom:20px}
.next .n-row{display:flex;align-items:center;gap:clamp(18px,3vw,36px)}
.next .n-title{font-size:clamp(34px,6.4vw,86px);font-weight:500;letter-spacing:-0.04em;line-height:1;color:var(--fg-strong);
  transition:transform .6s var(--ease)}
.next .n-title .serif{font-family:var(--serif);font-style:italic;font-weight:400}
.next .n-arrow{flex-shrink:0;width:clamp(34px,5vw,58px);height:clamp(34px,5vw,58px);color:var(--fg-strong);transition:transform .6s var(--ease)}
.next .n-arrow svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1}
.next:hover .n-title{transform:translateX(20px)}
.next:hover .n-arrow{transform:translateX(14px)}

/* ── back link ── */
.backlink{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted-2);cursor:none;margin-bottom:40px}
.backlink svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.5;transition:transform .35s var(--ease)}
.backlink:hover{color:var(--fg)}.backlink:hover svg{transform:translateX(-4px)}

/* ═══════════════════ SIDE DOT NAV ═══════════════════ */
#dots{position:fixed;right:28px;top:50%;transform:translateY(-50%);z-index:150;
  display:flex;flex-direction:column;gap:16px;opacity:0;transition:opacity 1s var(--ease) .6s}
body.ready #dots{opacity:1}
#dots .dot{width:9px;height:9px;border-radius:50%;border:1px solid rgba(255,255,255,.4);cursor:none;
  transition:background .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease)}
#dots .dot.active{background:#fff;border-color:#fff;transform:scale(1.25)}
#dots .dot:hover{border-color:#fff}
@media(max-width:900px){#dots{display:none}}

/* ═══════════════════ CONTACTO ═══════════════════ */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,100px);align-items:start}
@media(max-width:880px){.contact{grid-template-columns:1fr;gap:56px}}
.guarantees{margin-top:44px;display:flex;flex-direction:column;gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.guar{background:#000;padding:22px 4px;display:flex;gap:18px;align-items:flex-start}
.guar svg{width:20px;height:20px;stroke:var(--fg-strong);fill:none;stroke-width:1.4;flex-shrink:0;margin-top:2px}
.guar h4{font-size:14px;font-weight:500;color:var(--fg-strong);margin-bottom:3px}
.guar p{font-size:13px;color:var(--muted);font-weight:300}
.form{display:flex;flex-direction:column;gap:0}
.field{position:relative;border-bottom:1px solid var(--line);padding:22px 0}
.field label{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.field input,.field select,.field textarea{width:100%;background:transparent;border:none;outline:none;
  color:var(--fg-strong);font-family:var(--sans);font-size:16px;font-weight:300;cursor:none}
.field textarea{resize:none;min-height:84px;line-height:1.6}
.field input::placeholder,.field textarea::placeholder{color:#46464b}
.field select{appearance:none;cursor:none}.field select option{background:#0a0a0a;color:#fff}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:36px}
@media(max-width:520px){.field-row{grid-template-columns:1fr;gap:0}}
.submit{margin-top:38px;align-self:flex-start;padding:16px 38px;background:#fff;color:#000;border:none;border-radius:100px;
  font-size:13px;font-weight:600;letter-spacing:.06em;cursor:none;display:inline-flex;align-items:center;gap:10px;transition:box-shadow .35s var(--ease-2)}
.submit:hover{box-shadow:0 14px 40px rgba(255,255,255,.2)}
.submit:disabled{cursor:none}
.submit svg{width:15px;height:15px}
.form-status{margin-top:18px;font-size:13px;line-height:1.5;color:var(--muted-2);min-height:1em;letter-spacing:.01em}
.form-status.err{color:#e0726b}
.form-sent{padding:18px 0}
.form-sent .fs-ico{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);color:#fff;
  display:flex;align-items:center;justify-content:center;margin-bottom:22px}
.form-sent .fs-ico svg{width:20px;height:20px;stroke:currentColor;fill:none}
.form-sent h3{font-size:24px;font-weight:500;color:var(--fg-strong);margin-bottom:12px;letter-spacing:-0.02em}
.form-sent p{font-size:15px;color:var(--muted-2);font-weight:300;line-height:1.65;max-width:440px}

/* ═══════════════════ FOOTER ═══════════════════ */
footer{position:relative;z-index:2;border-top:1px solid var(--line);padding:46px var(--pad);max-width:var(--maxw);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
footer .brand img{filter:brightness(1.3);opacity:.85;width:26px;height:26px}
footer .brand span{color:var(--muted-2)}
.foot-nav{display:flex;gap:26px;flex-wrap:wrap}
.foot-nav a{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);cursor:none;transition:color .3s}
.foot-nav a:hover{color:var(--fg)}
.foot-meta{font-size:12px;color:var(--muted);letter-spacing:.02em}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.2s!important}
  .kin .ln>span,.fade{opacity:1!important;transform:none!important}
  #intro{display:none}
}
