/* Bereroig · estilos de la web (identidad aprobada en la fase 1)
   Papel técnico claro, tinta casi negra; cada producto con su color de señal.
   Las capturas reales van en marcos oscuros para que destaque el neón de las apps. */
:root{
  --paper:#eef1f2; --panel:#ffffff; --ink:#0d1417; --muted:#55636a; --line:#d3dadd; --soft:#e3e8ea;
  --night:#11181b; --night-line:#26323a; --night-ink:#dfe7ea;
  --cast:#d23f22; --kairos:#08856f; --hilvana:#ad1f95;
  --cast-t:#fbe9e5; --kairos-t:#e0f3ef; --hilvana-t:#f7e3f3;
  --on-c:#ffffff;
  --ok:#1b7f45; --warn:#9a6400; --warn-t:#fbf0dc; --bad:#b3261e;
  --f-display:"Schibsted Grotesk",ui-sans-serif,system-ui,sans-serif;
  --f-body:"Atkinson Hyperlegible Next","Atkinson Hyperlegible",ui-sans-serif,system-ui,"Segoe UI",sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  --r:10px;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root{
  --paper:#0c1113; --panel:#141b1e; --ink:#e8eef0; --muted:#97a6ad; --line:#26323a; --soft:#1a2327;
  --night:#070b0c; --night-line:#22303a; --night-ink:#dfe7ea;
  --cast:#ff7657; --kairos:#38d9b9; --hilvana:#ef6ad8;
  --cast-t:#2c1712; --kairos-t:#0f2925; --hilvana-t:#2a1226; --on-c:#0b0f10;
  --ok:#5fd18f; --warn:#e6b450; --warn-t:#2a2210; --bad:#ff8a80; color-scheme:dark}}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--f-display);margin:0;line-height:1.05;text-wrap:balance;letter-spacing:-.025em}
p{margin:0}
.gut{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.w{max-width:1180px;margin:0 auto}
.narrow{max-width:820px}
.mono{font-family:var(--f-mono);font-size:.82em}
.eyebrow{font-family:var(--f-mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.muted{color:var(--muted)}
.c-cast{--c:var(--cast);--ct:var(--cast-t)} .c-kairos{--c:var(--kairos);--ct:var(--kairos-t)} .c-hilvana{--c:var(--hilvana);--ct:var(--hilvana-t)}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--paper);padding:8px 12px;border-radius:6px;z-index:50}
.skip:focus{left:12px}

/* Logo */
.logo{display:inline-flex;align-items:center;gap:9px;font-family:var(--f-display);font-weight:900;font-size:1.3rem;letter-spacing:-.04em;text-decoration:none;color:var(--ink)}
.logo svg{width:26px;height:26px;flex:none}

/* Cabecera */
.site-h{border-bottom:1px solid var(--line);background:var(--paper)}
.site-h .w{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;padding-block:16px;flex-wrap:wrap}
.site-h nav{display:flex;gap:6px 22px;flex-wrap:wrap;font-size:.95rem}
.site-h nav a{text-decoration:none;color:var(--muted)}
.site-h nav a:hover,.site-h nav a[aria-current="page"]{color:var(--ink)}

/* Botones */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--f-body);font-weight:700;font-size:.95rem;line-height:1;padding:13px 18px;border-radius:9px;border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);text-decoration:none;cursor:pointer;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.prod{background:var(--c);border-color:var(--c);color:var(--on-c)}
.btn.sm{padding:9px 13px;font-size:.85rem}
.btn[aria-disabled="true"]{opacity:.55;pointer-events:none}
.btn svg{width:17px;height:17px}
@media (prefers-reduced-motion:reduce){.btn:hover{transform:none}}

/* Línea de ficha */
.spec{display:flex;flex-wrap:wrap;gap:4px 14px;font-family:var(--f-mono);font-size:.78rem;color:var(--muted)}
.spec span{white-space:nowrap}
.spec span+span::before{content:"·";margin-right:14px;color:var(--line)}

/* Marco de captura */
.shot{margin:0;background:var(--night);border-radius:12px;padding:8px;border:1px solid var(--night-line);box-shadow:0 30px 60px -30px rgba(10,20,25,.45)}
.shot .bar{display:flex;gap:6px;padding:4px 6px 9px}
.shot .bar i{width:9px;height:9px;border-radius:50%;background:var(--night-line)}
.shot img{border-radius:6px;width:100%}

/* Inicio */
.hero .w{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:center;padding-block:64px 56px}
.hero h1{font-size:clamp(2.6rem,6.2vw,5rem);font-weight:900;letter-spacing:-.045em;margin-top:14px}
.hero h1 em{font-style:normal;background:linear-gradient(transparent 62%,var(--soft) 62%)}
.hero .lead{font-size:1.2rem;color:var(--muted);margin-top:22px;max-width:44ch}
.ctas{display:flex;gap:10px 12px;flex-wrap:wrap;align-items:center}
.hero .ctas{margin-top:30px}
.stack{position:relative;aspect-ratio:1.18;max-width:100%}
.stack .shot{position:absolute;padding:6px}
.stack .shot .bar{padding:2px 4px 6px}
.stack .s1{width:78%;left:0;top:4%;transform:rotate(-2.2deg)}
.stack .s2{width:74%;right:0;top:30%;transform:rotate(1.6deg)}
.stack .s3{width:62%;left:10%;bottom:0;transform:rotate(-.6deg)}
.stack .tag{position:absolute;z-index:2;font-family:var(--f-mono);font-size:.72rem;background:var(--c);color:var(--on-c);padding:3px 8px;border-radius:5px}
.stack .s1 .tag{top:-10px;left:14px} .stack .s2 .tag{top:-10px;right:14px} .stack .s3 .tag{bottom:-10px;right:14px}

.products{border-top:1px solid var(--line)}
.prow .w{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center;padding-block:72px}
.prow:nth-child(even) .w{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.prow:nth-child(even) .txt{order:2}
.prow + .prow{border-top:1px solid var(--line)}
.txt{display:grid;gap:16px;align-content:start}
.pname{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:800;font-size:1.05rem;letter-spacing:-.01em}
.pname i{width:12px;height:12px;border-radius:3px;background:var(--c)}
.prow h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
.prow p{color:var(--muted);max-width:50ch}
.ticks{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.ticks li{padding-left:22px;position:relative}
.ticks li::before{content:"";position:absolute;left:2px;top:.62em;width:10px;height:2px;background:var(--c,var(--ink))}

.steps{background:var(--panel);border-block:1px solid var(--line)}
.steps .w{padding-block:64px;display:grid;gap:30px}
.steps h2{font-size:clamp(1.7rem,3vw,2.3rem)}
.steps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;counter-reset:s}
.steps li{counter-increment:s;display:grid;gap:8px;align-content:start;padding-top:18px;border-top:2px solid var(--ink)}
.steps li::before{content:"Paso " counter(s);font-family:var(--f-mono);font-size:.75rem;color:var(--muted)}
.steps li b{font-family:var(--f-display);font-size:1.2rem;letter-spacing:-.01em}
.steps li span{color:var(--muted)}
.trust .w{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-block:44px}
.trust div{display:grid;gap:4px}
.trust b{font-family:var(--f-display);font-size:1.02rem}
.trust span{color:var(--muted);font-size:.92rem}

/* Pie */
.foot{background:var(--night);color:var(--night-ink)}
.foot .w{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;padding-block:48px 36px}
.foot .logo{color:var(--night-ink)}
.foot h4{font-family:var(--f-mono);font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;opacity:.65;margin-bottom:10px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.92rem}
.foot a{text-decoration:none;opacity:.9}
.foot a:hover{text-decoration:underline}
.foot p{font-size:.88rem;opacity:.7;margin-top:12px;max-width:34ch}
.foot .legal{grid-column:1/-1;border-top:1px solid var(--night-line);padding-top:18px;font-size:.8rem;opacity:.65;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.foot button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}

/* Ficha de producto */
.crumbs{font-size:.85rem;color:var(--muted);padding-top:26px}
.crumbs a{text-decoration:none}
.phero .w{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;padding-block:22px 56px;align-items:start}
.phero h1{font-size:clamp(2.2rem,4.8vw,3.7rem);font-weight:900;margin-top:16px}
.phero .lead{font-size:1.15rem;color:var(--muted);margin-top:18px;max-width:46ch}
.dl{margin-top:28px;border:1.5px solid var(--ink);border-radius:var(--r);background:var(--panel);padding:18px;display:grid;gap:14px}
.dl small{color:var(--muted);font-size:.85rem}
.pills{display:flex;gap:6px;flex-wrap:wrap}
.pill{font-size:.78rem;font-weight:700;padding:4px 10px;border-radius:99px;background:var(--ct);color:var(--c)}
.pnav{position:sticky;top:0;z-index:10;background:var(--paper);border-block:1px solid var(--line)}
.pnav .w{display:flex;gap:24px;overflow-x:auto;padding-block:13px;font-size:.92rem}
.pnav a{text-decoration:none;color:var(--muted);white-space:nowrap}
.pnav a:hover{color:var(--ink)}
.sec .w{padding-block:64px;display:grid;gap:30px}
.sec.alt{background:var(--panel);border-block:1px solid var(--line)}
.sec h2{font-size:clamp(1.7rem,3vw,2.4rem)}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px}
.fgrid div{display:grid;gap:6px;padding-top:16px;border-top:1px solid var(--line);align-content:start}
.fgrid b{font-family:var(--f-display);font-size:1.15rem;letter-spacing:-.01em}
.fgrid span{color:var(--muted)}
.split2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.who{margin:0;padding:0;list-style:none;display:grid;gap:14px}
.who li{display:grid;gap:2px}
.who li b{font-family:var(--f-display)}
.who li span{color:var(--muted)}
.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.plan{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:22px;display:grid;gap:12px;align-content:start}
.plan.main{border:1.5px solid var(--c)}
.plan h3{font-size:1.3rem}
.plan .price{font-family:var(--f-display);font-weight:800;font-size:1.6rem;letter-spacing:-.02em}
.plan .price small{font-family:var(--f-body);font-weight:400;font-size:.85rem;color:var(--muted)}
.plan .price small.alt{display:block;letter-spacing:0;margin-top:2px}
.card.medida{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;margin-top:18px}
.medida h3{margin:0 0 4px}.medida p{margin:0;max-width:60ch}.medida>div{flex:1 1 320px}.medida>a{flex:none;width:auto}
.plan ul{margin:0;padding-left:1.1em;color:var(--muted);display:grid;gap:4px;font-size:.95rem}
.plan .btn{justify-self:start}
details{border-bottom:1px solid var(--line);padding-block:14px}
summary{cursor:pointer;font-weight:700;font-size:1.05rem}
details p{color:var(--muted);margin-top:8px}
.reqs{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 24px;margin:0}
.reqs dt{font-weight:700}
.reqs dd{margin:0;color:var(--muted)}
.changes{display:grid;gap:14px}
.changes div{display:grid;gap:4px;border-left:2px solid var(--c);padding-left:14px}

/* Descarga y verificación */
.thanks .w{padding-block:48px 24px;display:grid;gap:14px}
.thanks h1{font-size:clamp(2rem,4.4vw,3.2rem);font-weight:900}
.status{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:.78rem;color:var(--c);background:var(--ct);padding:5px 10px;border-radius:99px;justify-self:start}
.status i{width:8px;height:8px;border-radius:50%;background:var(--c);animation:pulse 1.4s ease-in-out infinite}
@keyframes pulse{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.status i{animation:none}}
.thanks p{color:var(--muted);max-width:60ch}
.block .w{padding-block:18px}
.card{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:24px;display:grid;gap:16px}
.card.warn{border-color:var(--warn);background:var(--warn-t)}
.card h2{font-size:1.45rem;letter-spacing:-.02em}
.card p{color:var(--muted)}
.ss{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:24px;align-items:center}
.smart{background:#1f6fb2;color:#fff;border-radius:6px;padding:16px 16px 12px;font-family:"Segoe UI",system-ui,sans-serif;font-size:.78rem;display:grid;gap:8px}
.smart b{font-size:1.05rem;font-weight:600}
.smart u{justify-self:start;outline:2px solid #ffd54a;outline-offset:2px}
.smart .bt{display:flex;justify-content:flex-end;gap:6px;margin-top:6px}
.smart .bt span{border:1px solid rgba(255,255,255,.8);padding:4px 12px;font-size:.75rem}
.smart .bt span:first-child{outline:2px solid #ffd54a;outline-offset:2px}
.ss ol{margin:0;padding-left:1.2em;display:grid;gap:6px}
.hash{display:grid;gap:6px}
.hash label,.hash .lbl{font-size:.85rem;color:var(--muted)}
.hashv{font-family:var(--f-mono);font-size:.8rem;background:var(--soft);border-radius:8px;padding:10px 12px;word-break:break-all;display:flex;gap:10px;justify-content:space-between;align-items:center}
.hashv button{flex:none}
.select{font:inherit;font-weight:700;font-size:.95rem;color:var(--ink);background:var(--panel);border:1.5px solid var(--ink);border-radius:9px;padding:11px 14px;max-width:100%;cursor:pointer}
.select option{background:var(--panel);color:var(--ink);font-weight:400}
.drop{position:relative;border:2px dashed var(--line);border-radius:var(--r);padding:26px;text-align:center;display:grid;gap:8px;justify-items:center;color:var(--muted);cursor:pointer;transition:border-color .15s,background .15s}
.drop.over{border-color:var(--c,var(--ink));background:var(--ct,var(--soft))}
.drop strong{color:var(--ink)}
.drop input{position:absolute;width:1px;height:1px;opacity:0}
.result{border-radius:8px;padding:12px 14px;font-weight:700}
.result[hidden]{display:none}
.result.ok{background:color-mix(in srgb,var(--ok) 14%,var(--panel));color:var(--ok)}
.result.bad{background:color-mix(in srgb,var(--bad) 14%,var(--panel));color:var(--bad)}
.result.busy{background:var(--soft);color:var(--muted);font-weight:400}
.result span{display:block;font-family:var(--f-mono);font-weight:400;font-size:.75rem;margin-top:4px;word-break:break-all}
.cmds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cmd{display:grid;gap:6px;min-width:0}
.cmd span{font-size:.82rem;color:var(--muted)}
.cmd code{font-family:var(--f-mono);font-size:.78rem;background:var(--night);color:var(--night-ink);border-radius:8px;padding:10px 12px;overflow-x:auto;white-space:nowrap}
.next{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.next div{border-top:2px solid var(--c);padding-top:12px;display:grid;gap:4px}
.next b{font-family:var(--f-display)}
.next span{color:var(--muted);font-size:.93rem}

/* Páginas de texto (legal, soporte) */
.doc .w{padding-block:48px 72px}
.doc h1{font-size:clamp(2rem,4.4vw,3rem);font-weight:900;margin-bottom:10px}
.doc h2{font-size:1.4rem;margin:34px 0 10px}
.doc p,.doc li{color:var(--muted);max-width:68ch}
.doc p+p{margin-top:12px}
.doc ul{padding-left:1.2em;display:grid;gap:6px}
.doc table{border-collapse:collapse;width:100%;font-size:.92rem;margin-top:10px}
.doc th,.doc td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.doc .tbl{overflow-x:auto}
.doc .upd{font-family:var(--f-mono);font-size:.78rem;color:var(--muted)}

/* Banner de cookies */
.consent{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:0 max(12px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}
.consent .box{max-width:780px;margin:0 auto;background:var(--panel);border:1.5px solid var(--ink);border-radius:var(--r);padding:16px 18px;display:flex;gap:14px 18px;align-items:center;justify-content:space-between;flex-wrap:wrap;box-shadow:0 20px 40px -20px rgba(0,0,0,.4)}
.consent p{font-size:.9rem;color:var(--muted);flex:1 1 320px}
.consent .ctas{gap:8px}

@media (max-width:860px){
  .hero .w,.prow .w,.prow:nth-child(even) .w,.phero .w,.split2,.ss{grid-template-columns:1fr}
  .prow:nth-child(even) .txt{order:0}
  .steps ol,.next{grid-template-columns:1fr}
  .trust .w{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot .w{grid-template-columns:1fr 1fr}
  .fgrid,.cmds{grid-template-columns:1fr}
  .hero .w{padding-block:40px}
  .prow .w{padding-block:52px;gap:32px}
}
@media (max-width:480px){.trust .w,.foot .w{grid-template-columns:1fr}.reqs{grid-template-columns:1fr}}
