@font-face{font-family:"Saira Stencil";src:url("/fuentes/saira-stencil.woff2") format("woff2");font-weight:400;font-display:swap}
:root{
  --fondo:#0a0d0f;--sup:#11161a;--sup-2:#171e23;--linea:#232c32;--linea-2:#33404a;
  --texto:#eaeff1;--suave:#c1cbd0;--tenue:#8e9aa1;
  --rojo:#ff8a7e;--rojo-tx:#1b0d0b;
  --papel:#f6f4ee;--papel-tinta:#15181a;--papel-tenue:#6d6a63;--sello:#b42318;
  --verde:#6fd39b;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,"Roboto Mono",monospace;
  --plantilla:"Saira Stencil",Impact,"Arial Narrow",sans-serif;
  --curva:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html{color-scheme:dark;scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--fondo);color:var(--texto);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid var(--rojo);outline-offset:3px;border-radius:8px}
.contenedor{max-width:1120px;margin:0 auto;padding:0 24px}

/* Barra */
.barra{position:sticky;top:0;z-index:10;background:rgba(10,13,15,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--linea)}
.barra .contenedor{display:flex;align-items:center;justify-content:space-between;height:62px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;font:22px/1 var(--plantilla);letter-spacing:.1em}
.marca img{border-radius:8px}
.barra nav{display:flex;align-items:center;gap:22px;font-size:14.5px}
.barra nav a{text-decoration:none;color:var(--tenue)}
.barra nav a:hover{color:var(--texto)}
.barra .barra-cta{color:var(--rojo-tx);background:var(--rojo);padding:8px 16px;border-radius:999px;font-weight:650}
.barra .barra-cta:hover{color:var(--rojo-tx)}

/* Héroe */
.heroe{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;padding-top:88px;padding-bottom:88px}
.antetitulo{margin:0 0 18px;font-size:12px;font-weight:650;letter-spacing:.2em;text-transform:uppercase;color:var(--rojo)}
h1{margin:0 0 22px;font-size:clamp(2.7rem,6.2vw,4.8rem);line-height:1.02;font-weight:800;letter-spacing:-.04em;text-wrap:balance}
h1 em{font-style:normal;color:var(--rojo)}
.entrada{margin:0 0 30px;max-width:56ch;font-size:1.1rem;color:var(--suave)}
.acciones{display:flex;flex-wrap:wrap;gap:12px}
.boton{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:14px;font-size:15.5px;font-weight:650;text-decoration:none;transition:transform .15s var(--curva),border-color .2s}
.boton:active{transform:translateY(1px)}
.boton--rojo{background:var(--rojo);color:var(--rojo-tx)}
.boton--linea{background:var(--sup);border:1px solid var(--linea);color:var(--texto)}
.boton--linea:hover{border-color:var(--linea-2)}
.letra-pequena{margin:18px 0 0;font-size:13.5px;color:var(--tenue)}

/* Demostración */
.demo{margin:0;display:grid;gap:18px}
.pantalla{background:var(--sup);border:1px solid var(--linea);border-radius:26px;padding:18px 18px 20px;box-shadow:0 40px 90px -50px #000}
.pantalla-cab{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--tenue)}
.cuenta{margin-left:auto;font-family:var(--mono);color:var(--texto)}
.punto{width:8px;height:8px;border-radius:50%;background:var(--verde);box-shadow:0 0 0 4px rgba(111,211,155,.14)}
.mensaje{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.mensaje li{background:var(--sup-2);border:1px solid var(--linea);border-radius:14px;padding:10px 6px 8px;text-align:center}
.mensaje small{display:block;font:11px var(--mono);color:var(--tenue)}
.celda{position:relative;display:block;height:3.1rem;overflow:hidden}
.celda b{position:absolute;inset:0;display:grid;place-items:center;font:400 2.5rem/1 var(--plantilla);letter-spacing:.03em;transition:transform .5s var(--curva),opacity .35s}
.celda .letra{color:var(--rojo);transform:translateY(100%);opacity:0}
.revelado .celda .num{transform:translateY(-100%);opacity:0}
.revelado .celda .letra{transform:none;opacity:1}
.mensaje li:nth-child(2) b{transition-delay:.06s}
.mensaje li:nth-child(3) b{transition-delay:.12s}
.mensaje li:nth-child(4) b{transition-delay:.18s}
.barra-tiempo{height:3px;margin-top:14px;border-radius:2px;background:var(--linea);overflow:hidden}
.barra-tiempo i{display:block;height:100%;background:var(--rojo);transform-origin:left;transform:scaleX(.7);transition:transform 1s linear}

.tarjeta{background:var(--papel);color:var(--papel-tinta);border-radius:6px;padding:16px 18px 14px;transform:rotate(-1.5deg);box-shadow:0 24px 50px -28px #000;transition:transform .55s var(--curva)}
.revelado .tarjeta{transform:rotate(0) translateY(-8px)}
.tarjeta-cab{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font:13px/1 var(--plantilla);letter-spacing:.14em}
.sello{font:700 10px/1 var(--sans);letter-spacing:.14em;color:var(--sello);border:1.5px solid var(--sello);padding:4px 7px;border-radius:3px;transform:rotate(-3deg)}
.tiras{display:grid;gap:4px}
.tira{display:grid;grid-template-columns:56px repeat(5,1fr);align-items:center;font-family:var(--mono)}
.tira .f{font-size:11px;color:var(--papel-tenue)}
.tira span:not(.f){display:grid;justify-items:center;padding:3px 0 4px;border-radius:5px;transition:background .35s,color .35s}
.tira small{font-size:9.5px;color:var(--papel-tenue)}
.tira b{font-size:16px;font-weight:600}
.revelado .tira .clave{background:var(--sello);color:#fff}
.revelado .tira .clave small{color:#ffd8d3}

.conmutador{justify-self:start;display:inline-flex;align-items:center;gap:12px;padding:10px 16px 10px 12px;border-radius:999px;border:1px solid var(--linea);background:var(--sup);color:var(--texto);font:600 14.5px var(--sans);cursor:pointer}
.conmutador:hover{border-color:var(--linea-2)}
.interruptor{position:relative;width:36px;height:20px;border-radius:999px;background:var(--linea-2);transition:background .3s}
.interruptor::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--texto);transition:transform .3s var(--curva)}
.conmutador[aria-pressed="true"] .interruptor{background:var(--rojo)}
.conmutador[aria-pressed="true"] .interruptor::after{transform:translateX(16px)}
.demo figcaption{min-height:3.2em;font-size:14.5px;color:var(--tenue)}

/* Secciones */
.seccion{padding:88px 0;border-top:1px solid var(--linea)}
.seccion h2{margin:0 0 12px;font-size:clamp(1.9rem,3.6vw,2.8rem);line-height:1.08;font-weight:800;letter-spacing:-.03em;text-wrap:balance}
.intro{margin:0 0 44px;max-width:60ch;font-size:1.05rem;color:var(--tenue)}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.contenedor.dos{align-items:center;gap:56px}
.contenedor.dos .intro{margin-bottom:0}

.pasos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;counter-reset:paso}
.pasos li{counter-increment:paso;border-top:2px solid var(--linea-2);padding-top:18px}
.pasos li::before{content:counter(paso,decimal-leading-zero);display:block;margin-bottom:14px;font:400 34px/1 var(--plantilla);letter-spacing:.04em;color:var(--rojo)}
.pasos h3{margin:0 0 6px;font-size:1.08rem}
.pasos p{margin:0;font-size:.96rem;color:var(--tenue)}

.ejemplo{background:var(--papel);color:var(--papel-tinta);border-radius:8px;padding:26px 26px 22px}
.ejemplo-titulo{margin:0 0 16px;font-size:14px;color:var(--papel-tenue)}
.ejemplo-titulo b{color:var(--papel-tinta);font-size:18px}
.ejemplo ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ejemplo li{text-align:center;border:1.5px solid #d8d4ca;border-radius:10px;padding:8px 4px 10px}
.ejemplo li small{display:block;font:11px var(--mono);color:var(--papel-tenue)}
.ejemplo li b{display:block;font:400 2.2rem/1.15 var(--plantilla);color:var(--sello)}
.ejemplo > p:last-child{margin:16px 0 0;font-size:14px;color:var(--papel-tenue)}

.lista{border-radius:18px;padding:26px;border:1px solid var(--linea)}
.lista h3{margin:0 0 14px;font-size:1.1rem}
.lista ul{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.lista li{position:relative;padding-left:28px;color:var(--suave)}
.lista li::before{position:absolute;left:0;top:.1em;font-weight:800}
.lista--si{background:var(--sup)}
.lista--si li::before{content:"✓";color:var(--verde)}
.lista--no li::before{content:"✕";color:var(--rojo)}
.lista--no > p{margin:18px 0 0;font-size:14px;color:var(--tenue)}

.opcion{display:flex;flex-direction:column;gap:14px;background:var(--sup);border:1px solid var(--linea);border-radius:20px;padding:26px}
.opcion h3{margin:0;font-size:1.25rem}
.opcion > p{margin:0;color:var(--tenue)}
.opcion .boton{align-self:flex-start}
details{font-size:.94rem;color:var(--tenue)}
summary{cursor:pointer;color:var(--texto)}
details ol{margin:10px 0;padding-left:20px}
details b{color:var(--texto)}
.huella{font-size:.82rem}
code{font:12px/1.5 var(--mono);color:var(--suave);word-break:break-all}

.pie{border-top:1px solid var(--linea);padding:36px 0 max(36px,env(safe-area-inset-bottom))}
.pie .contenedor{display:flex;align-items:center;gap:14px}
.pie img{border-radius:7px}
.pie p{margin:0;color:var(--tenue);font-size:14px}

@media (max-width:920px){
  .heroe{grid-template-columns:1fr;gap:0;padding-top:44px;padding-bottom:64px}
  /* El truco tiene que verse en el primer pantallazo: título, demostración y después la explicación. */
  .heroe-texto{display:contents}
  .antetitulo{order:1}h1{order:2}.demo{order:3;margin:6px 0 34px}.entrada{order:4}.acciones{order:5}.letra-pequena{order:6}
  .dos,.contenedor.dos{grid-template-columns:1fr;gap:28px}
  .pasos{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  .contenedor{padding-left:18px;padding-right:18px}
  .barra nav a:not(.barra-cta){display:none}
  .pasos{grid-template-columns:1fr}
  .celda{height:2.6rem}.celda b{font-size:2rem}
  .tira{grid-template-columns:48px repeat(5,1fr)}
  .seccion{padding:64px 0}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important}
}
