:root{
  --ink:#0E1220; --surface:#171C2D; --surface2:#232A41; --line:#283049;
  --text:#F3F5FA; --mute:#8F98AF; --cyan:#25F4EE; --pink:#FE2C55; --ok:#2BD67B;
  --display:'Bricolage Grotesque','Instrument Sans',system-ui,sans-serif;
  --body:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--ink);color:var(--text);font:400 1.0625rem/1.6 var(--body);-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;border-radius:4px}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
h2{font:800 clamp(1.8rem,3.6vw,2.8rem)/1.08 var(--display);letter-spacing:-.03em;margin:0 0 40px;max-width:22ch}

.top .wrap{display:flex;align-items:center;justify-content:space-between;height:80px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:700 1.35rem/1 var(--display);letter-spacing:-.02em}
.lang{color:var(--mute);text-decoration:none;min-height:48px;display:inline-flex;align-items:center}
.lang:hover{color:var(--text)}

/* héroe: el triángulo con su separación de color es la marca */
.hero{padding:56px 0 96px;text-align:center}
.hero .wrap{display:flex;flex-direction:column;align-items:center}
.hero-icon{border-radius:30px;box-shadow:-14px -8px 60px rgba(37,244,238,.28),14px 8px 60px rgba(254,44,85,.28);margin-bottom:36px}
.hero h1{font:800 clamp(2.4rem,6.4vw,4.8rem)/1 var(--display);letter-spacing:-.04em;margin:0 0 24px;max-width:15ch;
  text-shadow:-3px -2px 0 rgba(37,244,238,.55),3px 2px 0 rgba(254,44,85,.55)}
.hero p{color:#C3C9DA;font-size:1.2rem;max-width:36em;margin:0 0 34px}
.soon{display:inline-flex;align-items:center;min-height:52px;padding:0 26px;border-radius:999px;background:var(--text);color:var(--ink);font-weight:600}
.hero .free{margin:18px 0 0;font-size:1rem;color:var(--ok)}

/* capas: una pila, de la red a la app */
.layers{padding:40px 0 100px}
.stack{display:flex;flex-direction:column;gap:10px;max-width:860px}
.layer{display:grid;grid-template-columns:170px 1fr;gap:24px;align-items:center;padding:22px 26px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.layer p{margin:0;color:#C3C9DA}
.ln{font:400 1.5rem/1 var(--display);letter-spacing:-.02em;color:var(--mute)}
.ln strong{font-weight:800;color:var(--text)}
.l4{margin-left:0;border-left:4px solid var(--cyan)}
.l3{margin-left:18px;border-left:4px solid #7BD8F0}
.l2{margin-left:36px;border-left:4px solid #C98AB4}
.l1{margin-left:54px;border-left:4px solid var(--pink)}

/* cómo funciona: es una secuencia */
.steps{background:var(--surface);padding:90px 0}
.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}
.steps li::before{content:counter(s);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:2px solid var(--cyan);color:var(--cyan);font:800 1.1rem/1 var(--display);margin-bottom:18px}
.steps h3{font:700 1.35rem/1.2 var(--display);margin:0 0 8px}
.steps p{margin:0;color:#C3C9DA}

/* precios */
.plans{padding:96px 0 110px}
.plans h2{margin-bottom:16px}
.plans-lead{color:#C3C9DA;max-width:40em;margin:0 0 40px}
.plans ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:860px}
.plans li{position:relative;display:flex;flex-direction:column;gap:6px;padding:28px 26px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.plans .best{background:var(--surface2);border-color:var(--cyan)}
.p-tag{position:absolute;top:-13px;left:22px;padding:3px 12px;border-radius:999px;background:var(--cyan);color:var(--ink);font-size:.85rem;font-weight:600}
.p-name{color:var(--mute)}
.p-price{font:800 2.2rem/1 var(--display);letter-spacing:-.03em}

footer{border-top:1px solid var(--line);padding:28px 0;color:var(--mute);font-size:.95rem}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer a{color:var(--mute)}

@media (max-width:760px){
  .layer{grid-template-columns:1fr;gap:8px}
  .l3,.l2,.l1{margin-left:0}
  .steps ol,.plans ul{grid-template-columns:1fr}
  .plans .best{margin-top:10px}
}
@media (max-width:480px){ .wrap{padding:0 16px} }

/* páginas de vuelta de Stripe (/pro/…) */
.back{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:24px;text-align:center}
.back img{border-radius:24px;box-shadow:-10px -6px 44px rgba(37,244,238,.25),10px 6px 44px rgba(254,44,85,.25)}
.back h1{font:800 clamp(1.8rem,5vw,3rem)/1.08 var(--display);letter-spacing:-.03em;margin:0;max-width:16ch}
.back .soon{text-decoration:none}
