/* ============================================================================
   piel.css — la piel de la landing v2 (sceno.cc)
   ----------------------------------------------------------------------------
   Nace en V3 (páginas de fase) desde la maqueta aprobada en ronda 3
   (docs/specs/LANDING-V2-maqueta.html). V2 la comparte cuando reescriba la
   portada: es UNA hoja para toda la landing, no una por página.

   Decisiones que manda el brief (V0):
   - Página SIEMPRE clara; la app sale oscura dentro de los marcos (.frame).
     No hay conmutador de tema ni bloque [data-theme]: los clips se graban una
     vez y el marco negro hace saltar el producto sobre la página clara.
   - Naranja de Sceno (--accent) con protagonismo: botón principal, rótulos
     (.eyebrow), cifra del plan destacado, enlaces «Ver la…» (.more) en tinta
     con subrayado naranja y todo naranja al hover, primer punto de la barra
     del marco y una palabra del H1 (<em>).
   - Piel «Footnotes»: rectas, plano, color como línea, jerarquía por opacidad.
   - Fuentes AUTOALOJADAS (CSP font-src 'self'): los mismos ficheros que la app.
   ============================================================================ */

/* ── Fuentes ─────────────────────────────────────────────────────────────── */
@font-face { font-family:'Hanken Grotesk'; font-style:normal; font-weight:400 800; font-display:swap;
  src:url('/fonts/HankenGrotesk-VF.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Hanken Grotesk'; font-style:normal; font-weight:400 800; font-display:swap;
  src:url('/fonts/HankenGrotesk-VF-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Fraunces'; font-style:normal; font-weight:100 900; font-display:swap;
  src:url('/fonts/Fraunces-VF.woff2') format('woff2'); }
@font-face { font-family:'DM Mono'; font-style:normal; font-weight:400; font-display:swap;
  src:url('/fonts/DMMono-400.woff2') format('woff2'); }
@font-face { font-family:'DM Mono'; font-style:normal; font-weight:500; font-display:swap;
  src:url('/fonts/DMMono-500.woff2') format('woff2'); }

/* ── Tokens (solo claro; mismos nombres que src/styles/tokens.css) ───────── */
:root{
  --bg:#EDEBE5;--surface:#FFFFFF;--surface-3:#EFEDE7;--ink:#1A1B1D;--ink-2:#5C5E63;--ink-3:#8C8E95;
  --line:rgba(20,20,28,.09);--line-2:rgba(20,20,28,.16);--accent:#E8552E;--accent-2:#F2A93B;
  --pre:#3E9BD6;--rod:#E8973A;--post:#6A5CC9;--frame:#0E0F12;--frame-2:#1B1C21;
  --fd:'Hanken Grotesk',system-ui,sans-serif;--fw:'Fraunces',Georgia,serif;--fm:'DM Mono',ui-monospace,monospace;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--fd);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
strong{color:var(--ink);font-weight:600}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}
.wide{max-width:1480px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ── Nav ─────────────────────────────────────────────────────────────────── */
.nav{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:30px;height:64px}
.nav nav{display:flex;gap:26px;align-items:center}
.brand{font:600 24px var(--fw);letter-spacing:-.01em;margin-right:auto;display:flex;align-items:center;gap:10px}
.brand img{width:24px;height:24px;display:block}
.nav a.l{font-size:15px;color:var(--ink-2);padding-bottom:2px;border-bottom:2px solid transparent}
.nav a.l:hover{color:var(--ink)}
.nav a.l[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border:1px solid var(--ink);font:600 15px var(--fd);color:var(--ink);background:transparent;cursor:pointer;line-height:1.2}
.btn.p{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.p:hover{background:color-mix(in srgb,var(--accent) 88%,#000);border-color:color-mix(in srgb,var(--accent) 88%,#000)}
.btn.sm{padding:8px 14px;font-size:14px}

/* ── Hero ────────────────────────────────────────────────────────────────── */
.hero{padding:96px 0 40px;text-align:center}
.eyebrow{font:500 12px var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
h1{font:700 clamp(40px,6vw,72px)/1.02 var(--fd);letter-spacing:-.035em;margin:18px auto 22px;max-width:15ch;text-wrap:balance}
h1 em{font-style:normal;color:var(--accent)}
.hero p{font-size:21px;color:var(--ink-2);max-width:44ch;margin:0 auto 32px;text-wrap:balance}
.ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.sub{font-size:14px;color:var(--ink-3);margin-top:14px}
.hero .frame{margin:56px auto 0;max-width:1480px}

/* Hero de PÁGINA DE FASE: más corto, con el rótulo en el color de su fase y la tira de las tres
   fases debajo (en móvil los enlaces de la nav se esconden y esta tira es la única forma de pasar
   de una fase a la siguiente). */
.hero.fase{padding:72px 0 8px}
.hero.fase h1{max-width:18ch}
.hero .eyebrow.ph{display:inline-flex;align-items:center;gap:8px}
.hero .eyebrow.ph:before{content:"";width:22px;height:2px;background:var(--ph)}
.fases{display:flex;justify-content:center;gap:0;margin:36px auto 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fases a{padding:14px 26px;font:600 14px var(--fd);color:var(--ink-2);border-right:1px solid var(--line);position:relative}
.fases a:last-child{border-right:0}
.fases a:hover{color:var(--ink)}
.fases a[aria-current="page"]{color:var(--ink);box-shadow:inset 0 -3px 0 var(--ph)}
.fases a b{display:block;font:500 11px var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:2px}

/* ── Marco de app (oscuro siempre) ───────────────────────────────────────── */
.frame{background:var(--frame);border:1px solid var(--line-2);box-shadow:0 30px 80px -20px rgba(10,10,20,.45);overflow:hidden}
.frame .bar{height:34px;background:var(--frame-2);display:flex;align-items:center;gap:7px;padding:0 14px;border-bottom:1px solid rgba(255,255,255,.06)}
.frame .bar i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.14)}
.frame .bar i:first-child{background:var(--accent)}
.frame .bar span{margin-left:auto;font:400 11px var(--fm);color:rgba(255,255,255,.35);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.frame video,.frame img{display:block;width:100%;height:auto;background:var(--frame)}
/* Reserva de alto mientras el póster/clip carga: los clips de bloque son 16:10 y el hero 16:10 —
   sin esto la página salta al entrar cada vídeo. */
.frame video{aspect-ratio:16/10}
.frame img{aspect-ratio:16/10;object-fit:cover}

/* ── Bloques de función ──────────────────────────────────────────────────── */
.feat{display:grid;grid-template-columns:4fr 8fr;gap:56px;align-items:center;padding:96px 0;border-top:1px solid var(--line)}
.feat.rev{grid-template-columns:8fr 4fr}
.feat.rev .txt{order:2}
.feat h2{font:700 clamp(30px,3.6vw,42px)/1.08 var(--fd);letter-spacing:-.03em;margin:14px 0 14px;text-wrap:balance}
.feat p{font-size:19px;color:var(--ink-2);margin:0 0 22px;max-width:36ch;text-wrap:balance}
.feat .eyebrow{display:inline-flex;align-items:center;gap:8px}
.feat .eyebrow:before{content:"";width:22px;height:2px;background:var(--ph)}
.f-pre{--ph:var(--pre)}.f-rod{--ph:var(--rod)}.f-post{--ph:var(--post)}
.more{font:600 15px var(--fd);color:var(--ink);border-bottom:2px solid var(--accent);padding-bottom:2px;transition:color .15s}
.more:hover{color:var(--accent)}
.cap{font:400 12px var(--fm);color:var(--ink-3);margin-top:10px;letter-spacing:.02em}

/* Detalle bajo el párrafo de un bloque (páginas de fase): filas clave · valor, sin tarjeta.
   Es lo que la portada v1 llamaba .spec / .who / .fmts / .steps, unificado en un solo molde. */
.det{list-style:none;margin:0 0 22px;padding:0;border-top:1px solid var(--line-2);max-width:40ch}
.det li{display:grid;grid-template-columns:9ch 1fr;gap:14px;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink-2);line-height:1.4}
.det li b{font:500 12px/1.6 var(--fm);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:500}
.det.w li{grid-template-columns:11ch 1fr}

/* ── Galería «Y todo lo demás de la fase» (capturas grandes, dos por fila) ── */
.rest{padding:96px 0 40px;border-top:1px solid var(--line)}
.rest h2{font:700 clamp(30px,3.6vw,42px)/1.08 var(--fd);letter-spacing:-.03em;margin:14px 0 36px;text-wrap:balance}
.tabs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:40px 32px}
.tabs li{min-width:0}
.tabs .frame{box-shadow:0 18px 50px -20px rgba(10,10,20,.4)}
.tabs h3{font:600 20px/1.2 var(--fd);letter-spacing:-.02em;margin:18px 0 6px}
.tabs p{font-size:16px;color:var(--ink-2);margin:0;line-height:1.5}

/* ── En todas las fases (tres columnas de texto) ─────────────────────────── */
.trans{padding:64px 0 96px;border-top:1px solid var(--line)}
.trans ul{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.trans h3{font:600 18px/1.2 var(--fd);letter-spacing:-.02em;margin:0 0 6px}
.trans p{font-size:15px;color:var(--ink-2);margin:0;line-height:1.5}

/* ── Paginador de fases (anterior · siguiente) ───────────────────────────── */
.pager{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.pager a{padding:26px 8px;display:block}
.pager a+a{text-align:right;border-left:1px solid var(--line-2)}
.pager a:only-child{grid-column:2;text-align:right}
.pager b{display:block;font:500 11px var(--fm);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.pager span{font:700 22px/1.1 var(--fd);letter-spacing:-.02em}
.pager a:hover span{color:var(--accent)}

/* ── Cierre y pie ────────────────────────────────────────────────────────── */
.end{padding:112px 0;border-top:1px solid var(--line);text-align:center}
.end h2{font:700 clamp(36px,5vw,58px)/1.02 var(--fd);letter-spacing:-.035em;margin:0 0 26px;text-wrap:balance}
.end .sub{margin-top:18px}
footer{border-top:1px solid var(--line);padding:28px 0;font-size:13px;color:var(--ink-3)}
footer .wrap{display:flex;gap:24px;flex-wrap:wrap}
footer span:first-child{margin-right:auto}
footer a:hover{color:var(--ink)}

/* ── Móvil / tablet ──────────────────────────────────────────────────────── */
@media (max-width:860px){
  .wrap{padding:0 20px}
  .nav .wrap{gap:12px}
  .nav a.l{display:none}
  .hero{padding:64px 0 24px}
  .hero.fase{padding:48px 0 0}
  .feat,.feat.rev{grid-template-columns:1fr;gap:28px;padding:56px 0}
  .feat.rev .txt{order:0}
  .feat p{max-width:none}
  .det{max-width:none}
  .fases{margin-top:28px}
  .fases a{padding:12px 14px;font-size:13px;flex:1;text-align:center}
  .fases a b{display:none}
  .tabs{grid-template-columns:1fr;gap:36px}
  .trans ul{grid-template-columns:1fr;gap:22px}
  .pager span{font-size:18px}
  .end{padding:72px 0}
}
