@import url('https://fonts.googleapis.com/css2?family=Schibsted+Grotesk:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500&family=Space+Mono:wght@400;700&display=swap');

:root{
  --bg:#0E1117; --panel:#141A22; --panel-2:#1A212B;
  --fg:#F2F5F9; --fg-soft:#98A2B2; --fg-faint:#697384;
  --line:rgba(242,245,249,.12); --line-2:rgba(242,245,249,.06);
  --accent:#3B74F2; --accent-2:#6E97F6;
  --display:'Schibsted Grotesk',system-ui,sans-serif;
  --mono:'Space Mono',ui-monospace,monospace;
  --maxw:1180px; --gut:clamp(20px,5vw,64px); --gap:clamp(88px,13vh,140px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:var(--display);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-2)}
img{max-width:100%;display:block}
::selection{background:var(--accent);color:#fff}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut)}

/* ── stamped section label (Space Mono, extreme tracking) ── */
.stamp{font-family:var(--display);text-transform:none;color:var(--fg);
  font-size:clamp(30px,5vw,58px);letter-spacing:-.025em;line-height:1.03;font-weight:700;
  display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .5em}
.stamp .ix{font-family:var(--mono);font-weight:400;font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-faint);align-self:flex-start;margin-top:.4em}
.eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--fg-faint);display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--accent)}

/* ── hairline ── */
.hr{height:1px;background:var(--line);border:0}

/* ── nav (frosted) ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(14,17,23,.72);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav .in{max-width:var(--maxw);margin:0 auto;padding:14px var(--gut);display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:11px;color:var(--fg)}
.brand svg{width:26px;height:26px;flex:none}
.brand b{font-weight:800;letter-spacing:-.02em;font-size:15px;line-height:.9}
.brand i{color:var(--accent);font-style:normal}
.brand .tm{font-size:.6em;vertical-align:super;color:var(--fg-soft);font-weight:400;margin-left:1px;line-height:1}
.nav .links{margin-left:auto;display:flex;gap:26px}
.nav .links a{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-soft)}
.nav .links a:hover{color:var(--fg)}
.nav-cta{display:flex;align-items:center;gap:12px;margin-left:auto}
@media(max-width:720px){.nav-cta .btn.solid{display:none}}
.foot .coord a{color:var(--fg-faint)}.foot .coord a:hover{color:var(--accent)}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:12px 18px;border-radius:8px;border:1px solid var(--line);color:var(--fg);background:transparent;transition:border-color .18s,background .18s,transform .18s;cursor:pointer}
.btn:hover{border-color:var(--accent-2);color:var(--fg);transform:translateY(-1px)}
.btn.solid{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.solid:hover{background:#2E63DC;border-color:#2E63DC;color:#fff}
.btn.lg{padding:16px 26px;font-size:13px}
.btn .ar{font-family:var(--mono)}
@media(max-width:720px){.nav .links{display:none}}

/* ── hero ── */
.hero{position:relative;padding:calc(var(--gap) + 40px) 0 var(--gap);overflow:hidden}
.hero::before{content:"";position:absolute;top:-10%;right:-8%;width:60vw;height:60vw;max-width:760px;max-height:760px;
  background:radial-gradient(circle,rgba(59,116,242,.18),transparent 62%);pointer-events:none;z-index:0}
.hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='54' height='44'%3E%3Cpath d='M14 8 L26 22 L14 36' fill='none' stroke='%23F2F5F9' stroke-width='2'/%3E%3C/svg%3E");
  -webkit-mask-image:radial-gradient(120% 90% at 100% 0%,#000,transparent 60%);mask-image:radial-gradient(120% 90% at 100% 0%,#000,transparent 60%)}
.hero .in{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(36px,6vw,80px);align-items:center}
@media(max-width:900px){.hero .in{grid-template-columns:1fr;gap:44px}}
.hero h1{font-weight:400;font-size:clamp(52px,9vw,116px);line-height:.92;letter-spacing:-.04em;margin:26px 0 0}
.hero h1 .it{font-style:italic;font-weight:400}
.hero h1 .bl{font-style:italic;color:var(--accent)}
.hero .sub{color:var(--fg-soft);font-size:clamp(17px,2vw,21px);line-height:1.55;max-width:44ch;margin:28px 0 0}
.hero .cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}

/* boarding pass card */
.pass{border:1px solid var(--line);border-radius:18px;background:linear-gradient(160deg,rgba(242,245,249,.045),rgba(242,245,249,.01));padding:0;overflow:hidden}
.pass .ph{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px dashed var(--line)}
.pass .ph .lbl{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-faint)}
.pass .ph .mk{width:22px;height:22px}
.pass .route{display:flex;align-items:center;gap:10px;padding:20px}
.pass .route .pt{flex:1}
.pass .route .pt .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-faint)}
.pass .route .pt .v{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:-.01em;margin-top:4px}
.pass .route .arw{color:var(--accent);font-family:var(--mono);font-size:14px}
.pass .strip{display:flex;gap:14px;padding:0 22px 22px}
.pass .strip .cell .k{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-faint)}
.pass .strip .cell .v{font-size:15px;font-weight:600;margin-top:3px}
.pass .foot{display:flex;align-items:stretch;gap:16px;border-top:1px dashed var(--line);padding:18px 22px}
.pass .foot .bars{flex:none;width:52px;background:repeating-linear-gradient(90deg,var(--fg) 0 2px,transparent 2px 5px,var(--fg) 5px 6px,transparent 6px 10px);opacity:.5;border-radius:2px}
.pass .foot .btn{flex:1}

/* ── generic section ── */
section.band{padding:var(--gap) 0;position:relative}
.shead{max-width:26ch}
.slede{color:var(--fg-soft);font-size:clamp(17px,1.9vw,20px);line-height:1.6;max-width:60ch;margin-top:22px}
.slede b{color:var(--fg)}

/* problema — editorial, rules not cards */
.prob{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:44px;border-top:1px solid var(--line)}
@media(max-width:760px){.prob{grid-template-columns:1fr}}
.prob .col{padding:30px 0}
.prob .col:first-child{padding-right:44px;border-right:1px solid var(--line)}
.prob .col:last-child{padding-left:44px}
@media(max-width:760px){.prob .col:first-child{padding-right:0;border-right:0;border-bottom:1px solid var(--line)}.prob .col:last-child{padding-left:0}}
.prob .ch{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:20px}
.prob .col.bad .ch{color:var(--fg-faint)}
.prob .col.good .ch{color:var(--accent-2)}
.prob ul{list-style:none}
.prob li{display:flex;gap:14px;align-items:baseline;padding:12px 0;border-top:1px solid var(--line-2);font-size:16px;line-height:1.45}
.prob li:first-child{border-top:0}
.prob li .m{flex:none;font-family:var(--mono);font-size:13px}
.prob .bad li .m{color:var(--fg-faint)}
.prob .good li .m{color:var(--accent)}

/* 3 capas — ruta con nodos */
.route-wrap{margin-top:52px;position:relative}
.capas{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;position:relative}
@media(max-width:820px){.capas{grid-template-columns:1fr;gap:16px}}
.capas::before{content:"";position:absolute;top:38px;left:8%;right:8%;height:1px;background:var(--line);z-index:0}
@media(max-width:820px){.capas::before{display:none}}
.capa{position:relative;z-index:1;border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:28px 26px 30px}
.capa .node{width:15px;height:15px;border-radius:50%;background:var(--bg);border:1px solid var(--line-2);position:absolute;top:-8px;left:50%;transform:translateX(-50%)}
@media(max-width:820px){.capa .node{display:none}}
.capa .cn{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-faint);margin-top:14px}
.capa h3{font-family:var(--display);font-weight:700;font-size:24px;letter-spacing:-.02em;margin:8px 0 10px}
.capa p{color:var(--fg-soft);font-size:15px;line-height:1.5}
.capa .pr{margin-top:16px;font-family:var(--mono);font-size:12px;color:var(--fg-soft);letter-spacing:.02em}
.capa.lit{border-color:rgba(59,116,242,.55);background:radial-gradient(130% 130% at 70% 0%,rgba(59,116,242,.16),rgba(59,116,242,.02))}
.capa.lit .node{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 5px rgba(59,116,242,.18)}
.capa.lit .cn{color:var(--accent-2)}
.capa.lit .pr{color:var(--accent-2)}
.capnote{margin-top:26px;font-family:var(--mono);font-size:12px;color:var(--fg-faint);letter-spacing:.02em;display:flex;align-items:center;gap:10px}
.capnote::before{content:"";width:18px;height:1px;background:var(--accent)}

/* prueba real — expedientes visuales Don Ventas */
.evidence-key{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:30px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-faint)}
.evidence-key span{display:flex;align-items:center;gap:9px}
.evidence-key span+span::before{content:"/";margin-right:12px;color:var(--line)}
.evidence-key i{width:18px;height:1px;background:var(--accent);box-shadow:0 0 12px rgba(59,116,242,.6)}
.gal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:26px}
.shot{position:relative;min-width:0;overflow:hidden;display:grid;grid-template-rows:auto auto 1fr;border:1px solid var(--line);border-radius:18px;background:linear-gradient(155deg,rgba(242,245,249,.045),rgba(20,26,34,.82) 58%);box-shadow:0 18px 48px rgba(0,0,0,.16);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.shot::before{content:"";position:absolute;inset:0 0 auto;height:2px;z-index:3;background:linear-gradient(90deg,var(--accent),rgba(59,116,242,0) 42%);pointer-events:none}
.shot:hover{transform:translateY(-3px);border-color:rgba(110,151,246,.42);box-shadow:0 24px 62px rgba(0,0,0,.26)}
.case-top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;border-bottom:1px solid var(--line-2);background:rgba(14,17,23,.5)}
.case-index{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:10px;letter-spacing:.15em;color:var(--accent-2)}
.case-index::before{content:"";width:14px;height:1px;background:var(--accent)}
.case-state{font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-faint)}
.case-media{position:relative;display:grid;gap:10px;padding:12px;background:radial-gradient(circle at 82% 8%,rgba(59,116,242,.13),transparent 32%),#0A0D12;border-bottom:1px solid var(--line)}
.case-stage,.case-thumb{appearance:none;border:0;color:inherit;font:inherit;padding:0;background:#070A0F;cursor:pointer}
.case-stage{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:16/10;overflow:hidden;border:1px solid rgba(242,245,249,.1);border-radius:10px;cursor:zoom-in}
.case-stage::after{content:"AMPLIAR  ↗";position:absolute;right:10px;bottom:10px;padding:6px 8px;border:1px solid rgba(242,245,249,.18);border-radius:999px;background:rgba(7,10,15,.82);font-family:var(--mono);font-size:7.5px;letter-spacing:.11em;color:var(--fg-soft);opacity:0;transform:translateY(3px);transition:opacity .18s ease,transform .18s ease}
.case-stage:hover::after,.case-stage:focus-visible::after{opacity:1;transform:none}
.case-stage:focus-visible,.case-thumb:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px}
.case-stage img{width:100%;height:100%;object-fit:contain;object-position:center;border-radius:9px;filter:saturate(.96) contrast(1.015);transition:filter .22s ease,transform .22s ease}
.case-stage:hover img{filter:saturate(1.03) contrast(1.025);transform:scale(1.006)}
.case-thumbs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.case-thumb{position:relative;display:grid;place-items:center;height:66px;overflow:hidden;border:1px solid rgba(242,245,249,.12);border-radius:8px;opacity:.82;transition:opacity .18s ease,border-color .18s ease,background .18s ease,transform .18s ease}
.case-thumb:hover{opacity:1;border-color:rgba(110,151,246,.5);background:rgba(59,116,242,.07);transform:translateY(-1px)}
.case-thumb::after{content:"";position:absolute;inset:auto 9px 7px;height:1px;background:transparent}
.case-thumb img{width:100%;height:100%;object-fit:contain;object-position:center}
.shot .meta{position:static;z-index:2;padding:21px 22px 22px;display:flex;flex-direction:column;align-items:flex-start}
.shot .meta .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--accent-2)}
.shot .meta .n{font-weight:700;font-size:clamp(22px,2.2vw,28px);line-height:1.05;letter-spacing:-.025em;margin-top:7px}
.shot .meta .d{font-size:14px;color:var(--fg-soft);line-height:1.5;margin-top:10px;max-width:46ch}
.case-tags{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin-top:18px}
.case-tags li{font-family:var(--mono);font-size:8.5px;line-height:1;letter-spacing:.09em;text-transform:uppercase;color:var(--fg-faint);border:1px solid var(--line);border-radius:999px;padding:7px 9px;background:rgba(14,17,23,.38)}
.galnote{margin-top:28px;font-size:14px;color:var(--fg-soft);line-height:1.6;max-width:76ch}
.galnote b{color:var(--fg)}
@media(max-width:760px){
  .gal{grid-template-columns:1fr;gap:18px;margin-top:24px}
  .evidence-key{margin-top:24px;gap:8px 14px;line-height:1.5}
  .evidence-key span+span::before{display:none}
  .case-top{padding:13px 15px}
  .case-media{padding:10px;gap:8px}
  .case-stage{aspect-ratio:4/3}
  .case-stage::after{opacity:1;transform:none}
  .case-thumb{height:60px}
  .shot .meta{padding:19px 18px 20px}
  .shot .meta .n{font-size:24px}
  .shot .meta .d{font-size:13.5px}
}

/* voces / testimonios — feed publicado desde el portal (testimonios.json) */
.voces-wrap{margin-top:56px}
.voces-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px}
.voces-note{font-size:13px;color:var(--fg-faint);line-height:1.5}
.voces{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-top:26px}
.tcard{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:26px 26px 22px;display:flex;flex-direction:column;gap:16px}
.tcard .stars{display:flex;gap:3px;font-size:15px;color:var(--fg-faint);letter-spacing:1px}
.tcard .stars .on{color:var(--accent-2)}
.tcard blockquote{font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(17px,1.5vw,20px);line-height:1.42;letter-spacing:-.01em;color:var(--fg)}
.tcard blockquote::before{content:"\201C"}
.tcard blockquote::after{content:"\201D"}
.tcard figcaption{margin-top:auto;display:flex;flex-direction:column;gap:2px;padding-top:4px}
.tcard figcaption .n{font-weight:700;font-size:15px;color:var(--fg)}
.tcard figcaption .k{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-2)}

/* spec sheet — tabla mono */
.spec{margin-top:44px;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.spec .row{display:grid;grid-template-columns:1.4fr 1fr 1.6fr;gap:20px;padding:20px 26px;border-top:1px solid var(--line-2);align-items:baseline}
.spec .row:first-child{border-top:0}
.spec .row.head{background:var(--panel);border-top:0}
.spec .row.head span{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-faint)}
.spec .row .svc{font-weight:600;font-size:16px}
.spec .row .svc small{display:block;color:var(--fg-faint);font-family:var(--mono);font-size:11px;margin-top:4px;letter-spacing:.02em;font-weight:400}
.spec .row .amt{font-family:var(--mono);font-size:15px;color:var(--accent-2);white-space:nowrap}
.spec .row .lg{color:var(--fg-soft);font-size:14px;line-height:1.5}
.spec .row.hot{background:linear-gradient(120deg,rgba(59,116,242,.09),transparent)}
@media(max-width:760px){.spec .row{grid-template-columns:1fr;gap:6px}.spec .row.head{display:none}}
.specnote{margin-top:22px;font-family:var(--mono);font-size:12px;color:var(--fg-faint);letter-spacing:.02em}
.qcta{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-2)}
.qcta:hover{color:var(--fg)}

/* ── proceso · Ruta Don Ventas (cómo trabajamos) ── */
.proc{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:48px;border-top:1px solid var(--line)}
@media(max-width:820px){.proc{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.proc{grid-template-columns:1fr}}
.proc .st{padding:28px 26px 30px;border-right:1px solid var(--line)}
.proc .st:last-child{border-right:0}
@media(max-width:820px){.proc .st:nth-child(2){border-right:0}}
.proc .st .no{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--accent)}
.proc .st h4{font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:-.01em;margin:12px 0 8px}
.proc .st p{color:var(--fg-soft);font-size:14px;line-height:1.5}
.proc .st .wh{margin-top:14px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--fg-faint)}
.procnote{margin-top:24px;font-family:var(--mono);font-size:12px;color:var(--fg-faint);display:flex;align-items:center;gap:10px}
.procnote::before{content:"";width:18px;height:1px;background:var(--accent)}

/* ── quién está detrás (calidez + El Don) ── */
.who{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:linear-gradient(150deg,rgba(242,245,249,.045),rgba(242,245,249,.008));margin-top:48px;display:grid;grid-template-columns:.72fr 1.28fr;align-items:stretch}
@media(max-width:820px){.who{grid-template-columns:1fr}}
.who .por{position:relative;min-height:440px;background:var(--panel-2)}
.who .por image-slot{position:absolute;inset:0;width:100%;height:100%;display:block}
.who .por .por-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 32%;display:block}
.who .por .cap{position:absolute;left:16px;bottom:14px;z-index:3;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg);background:rgba(14,17,23,.68);border:1px solid var(--line);border-radius:8px;padding:6px 10px}
.who .txt{padding:clamp(30px,4vw,54px);display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
.who .eldon{position:absolute;right:-30px;top:-30px;width:230px;height:230px;opacity:.10;z-index:0;pointer-events:none}
.who .txt .q{font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(24px,2.7vw,34px);line-height:1.25;letter-spacing:-.015em;color:var(--fg)}
.who .txt .q b{color:var(--accent-2);font-weight:500}
.who .txt .by{margin-top:22px;display:flex;align-items:center;gap:12px}
.who .txt .by .mk{width:30px;height:30px;flex:none}
.who .txt .by .nm{font-weight:700;font-size:15px;letter-spacing:-.01em}
.who .txt .by .rl{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--fg-faint);margin-top:2px}

/* ── El Don como firma en el footer ── */
.foot .l .eldon{width:26px;height:26px;flex:none}

/* CTA */
.cta-final{padding:var(--gap) 0;text-align:center;position:relative;overflow:hidden}
.cta-final::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70vw;height:70vw;max-width:640px;max-height:640px;background:radial-gradient(circle,rgba(59,116,242,.16),transparent 60%);pointer-events:none}
.cta-final .eldon{position:absolute;left:50%;top:50%;transform:translate(-50%,-58%);width:min(46vw,430px);height:min(46vw,430px);opacity:.06;z-index:0;pointer-events:none}
.cta-final .in{position:relative;z-index:1}
.cta-final h2{font-weight:400;font-size:clamp(38px,6vw,74px);letter-spacing:-.035em;line-height:.98}
.cta-final h2 .bl{font-style:italic;color:var(--accent)}
.cta-final p{color:var(--fg-soft);font-size:18px;max-width:52ch;margin:22px auto 0;line-height:1.6}
.cta-final .cta{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:34px}

/* coordinate footer */
.foot{border-top:1px solid var(--line);padding:40px 0 64px}
.foot .in{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
.foot .l{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:12px;letter-spacing:.05em;color:var(--fg-soft)}
.foot .l svg{width:22px;height:22px;flex:none}
.foot .coord{font-family:var(--mono);font-size:12px;letter-spacing:.05em;color:var(--fg-faint);display:flex;gap:18px;flex-wrap:wrap}
.foot .coord b{color:var(--fg-soft);font-weight:400}
.foot .coord .heart{color:var(--accent)}
.hero .sub b{color:var(--fg);font-weight:600}

/* ── entrada / reveal (base visible; solo se oculta con JS + sin reduced-motion) ── */
@media (prefers-reduced-motion: no-preference){
  html.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .72s cubic-bezier(.2,.7,.2,1),transform .72s cubic-bezier(.2,.7,.2,1);will-change:opacity,transform}
  html.js .reveal.in{opacity:1;transform:none}
  html.js .reveal.d1{transition-delay:.09s}
  html.js .reveal.d2{transition-delay:.18s}
  html.js .reveal.d3{transition-delay:.27s}
  html.js .reveal.d4{transition-delay:.36s}
}

/* ── lightbox de galería ── */
.lbx{position:fixed;inset:0;z-index:1000;background:rgba(8,10,14,.92);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:clamp(20px,5vw,64px);opacity:0;pointer-events:none;transition:opacity .3s ease}
.lbx.open{opacity:1;pointer-events:auto}
.lbx figure{margin:0;max-width:1080px;width:100%;transform:scale(.97);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.lbx.open figure{transform:none}
.lbx img{width:100%;max-height:78vh;object-fit:contain;border-radius:14px;border:1px solid var(--line)}
.lbx figcaption{font-family:var(--mono);font-size:12px;letter-spacing:.05em;color:var(--fg-soft);margin-top:16px;text-align:center;line-height:1.5}
.lbx figcaption b{color:var(--fg)}
.lbx .x{position:absolute;top:20px;right:22px;font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg);border:1px solid var(--line);border-radius:999px;padding:10px 16px;cursor:pointer;background:rgba(20,26,34,.7);transition:border-color .18s}
.lbx .x:hover{border-color:var(--accent-2)}

/* ── niveles de la Capa 2 ── */
.nivwrap{margin-top:40px}
.niveles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
@media(max-width:760px){.niveles{grid-template-columns:1fr}}
.niv{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:24px 24px 26px}
.niv.hot{border-color:rgba(59,116,242,.5);background:radial-gradient(130% 130% at 70% 0%,rgba(59,116,242,.13),rgba(59,116,242,.02))}
.niv h4{font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:-.02em;display:flex;align-items:center;gap:10px}
.niv .badge{font-family:var(--mono);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-2);border:1px solid rgba(59,116,242,.42);border-radius:999px;padding:3px 8px;font-weight:400}
.niv .np{font-family:var(--mono);font-size:15px;color:var(--accent-2);font-weight:700;margin:11px 0}
.niv p{color:var(--fg-soft);font-size:13.5px;line-height:1.5}

/* ── refuerzo móvil ── */
@media(max-width:760px){
  .spec .row{padding:20px 22px;gap:9px}
  .spec .row .amt{font-size:17px}
  .spec .row .svc{font-size:17px}
  .hero{padding:calc(var(--gap) + 8px) 0 var(--gap)}
  .who .por{min-height:280px}
}
@media(max-width:720px){
  .nav .in{gap:14px}
  .nav .btn{padding:13px 16px}
}
/* ── waitlist form ── */
.wl{max-width:560px;margin:34px auto 0;text-align:left}
.wl .row{display:flex;gap:12px;flex-wrap:wrap}
.wl .row > *{flex:1;min-width:180px}
.wl .fld{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}
.wl label{font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--fg-faint)}
.wl input,.wl textarea{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:13px 14px;color:var(--fg);font-family:inherit;font-size:15px;width:100%}
.wl input::placeholder,.wl textarea::placeholder{color:var(--fg-faint)}
.wl input:focus,.wl textarea:focus{outline:none;border-color:var(--accent)}
.wl textarea{resize:vertical;min-height:64px}
.wl .consent{display:flex;gap:10px;align-items:flex-start;margin:4px 0 18px;font-size:12.5px;color:var(--fg-soft);line-height:1.5;text-align:left}
.wl .consent input{width:auto;flex:none;margin-top:2px;accent-color:var(--accent)}
.wl .btn.solid{width:100%;justify-content:center}
.wl .hint{font-family:var(--mono);font-size:11px;color:var(--fg-faint);margin-top:12px;text-align:center}
.wl .hint a{color:var(--accent-2)}
.wl-ok{display:none;max-width:560px;margin:34px auto 0;border:1px solid rgba(59,116,242,.4);border-radius:16px;background:radial-gradient(130% 130% at 70% 0%,rgba(59,116,242,.12),rgba(59,116,242,.02));padding:34px 30px;text-align:center}
.wl-ok .ic{width:54px;height:54px;border-radius:50%;border:2px solid var(--accent);display:grid;place-items:center;margin:0 auto 16px;color:var(--accent);font-size:26px}
.wl-ok h3{font-size:23px;font-weight:700;letter-spacing:-.02em;margin:0 0 8px}
.wl-ok p{color:var(--fg-soft);font-size:14.5px;margin:0;line-height:1.55}
.wl-ok .pos{font-family:var(--mono);color:var(--accent-2);margin-top:14px;font-size:13px}
/* ── mini-diagnóstico ── */
.diag{max-width:560px;margin:30px auto 0;text-align:left;border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:22px 22px 10px}
.diag-h{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:15px}
.diag-q{margin-bottom:16px}
.diag-l{display:block;font-size:14px;color:var(--fg);margin-bottom:9px;font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-family:var(--mono);font-size:12px;color:var(--fg-soft);border:1px solid var(--line);background:transparent;border-radius:999px;padding:9px 13px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.chip:hover{border-color:var(--accent-2);color:var(--fg)}
.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}
.diag-res{display:none;border-top:1px solid var(--line-2);margin-top:4px;padding:16px 0 8px}
.diag-res.on{display:block}
.diag-res-l{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint)}
.diag-res-t{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:-.01em;color:var(--fg);margin:6px 0 4px}
.diag-res-d{font-size:13.5px;color:var(--fg-soft);line-height:1.5}
.diag-res-note{font-family:var(--mono);font-size:11px;color:var(--accent-2);margin-top:10px}
.wl .consent a{color:var(--accent-2)}

/* ══ banner de cookies ══ */
#dv-cookie{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:2147483000;
  width:min(680px,calc(100% - 32px));background:#161B23;border:1px solid rgba(238,241,246,.14);
  border-radius:16px;padding:20px 22px;box-shadow:0 20px 60px -20px rgba(0,0,0,.7);
  font-family:'Schibsted Grotesk',system-ui,sans-serif;color:#EEF1F6;
  display:flex;gap:20px;align-items:center;flex-wrap:wrap;
  opacity:0;translate:0 12px;transition:opacity .4s ease,translate .4s ease}
#dv-cookie.show{opacity:1;translate:0 0}
#dv-cookie .tx{flex:1 1 300px;min-width:260px}
#dv-cookie .tx b{font-weight:700;font-size:14px;display:block;margin-bottom:4px}
#dv-cookie .tx p{margin:0;font-size:13px;line-height:1.55;color:#99A2B0}
#dv-cookie .tx a{color:#6E97F6;text-decoration:underline}
#dv-cookie .btns{display:flex;gap:10px;flex:0 0 auto}
#dv-cookie button{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.06em;
  text-transform:uppercase;border-radius:999px;padding:10px 18px;cursor:pointer;border:1px solid rgba(238,241,246,.22);
  background:transparent;color:#EEF1F6;transition:all .2s ease}
#dv-cookie button:hover{border-color:#3B74F2;color:#6E97F6}
#dv-cookie button.accept{background:#3B74F2;border-color:#3B74F2;color:#0E1117;font-weight:700}
#dv-cookie button.accept:hover{background:#6E97F6;color:#0E1117}
