/* IAthletix — estilos compartidos. Paleta: verde claro, negro, azul marino sobre fondo claro. */
:root{
  --green:#7BDB3B; --green-d:#4FB317; --green-soft:#E9F9DB;
  --ink:#0E0F12; --navy:#0B2A5B; --navy-2:#13408A;
  --bg:#F4F7FA; --card:#FFFFFF; --muted:#5B6675; --line:#DDE4EC;
  --bad:#D63B3B; --bad-soft:#FDE9E9; --warn:#B7791F;
  --r:18px; --shadow:0 8px 24px rgba(11,42,91,.10);
  --maxw:1120px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55;-webkit-tap-highlight-color:transparent}
img,video{max-width:100%;display:block}
a{color:var(--navy-2)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
h1,h2,h3{line-height:1.12;margin:0 0 .5em;letter-spacing:-.01em}
h1,h2{font-weight:900;text-transform:uppercase;font-style:italic}
h1{font-size:clamp(2rem,6.2vw,3.8rem)}
h2{font-size:clamp(1.5rem,4.2vw,2.3rem)}
h3{font-size:1.15rem}
.accent{color:var(--green-d)}
.navy{color:var(--navy)}
.muted{color:var(--muted)}
.eyebrow{display:inline-block;font-weight:800;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);background:var(--green-soft);padding:.35rem .7rem;border-radius:999px}

/* Header */
.site-header{position:sticky;top:0;z-index:20;background:rgba(244,247,250,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:12px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand img{height:38px;width:auto}
.wordmark{font-weight:900;font-style:italic;font-size:1.35rem;letter-spacing:-.02em;color:var(--navy)}
.wordmark .i{color:var(--green-d)}.wordmark .a{color:var(--ink)}
.nav{display:flex;gap:6px;align-items:center}
.nav a{font-weight:700;text-decoration:none;color:var(--navy);padding:.5rem .75rem;border-radius:10px;font-size:.95rem}
.nav a:hover{background:var(--green-soft)}
.nav .cta{background:var(--navy);color:#fff}.nav .cta:hover{background:var(--navy-2)}
@media(max-width:560px){.nav a:not(.cta):not(.sess){display:none}}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:0;cursor:pointer;font:inherit;font-weight:800;text-decoration:none;padding:.95rem 1.4rem;border-radius:14px;min-height:48px;transition:transform .08s,box-shadow .15s,background .15s}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--green);color:var(--ink);box-shadow:0 6px 0 var(--green-d)}
.btn-primary:hover{background:#8BE64D}
.btn-dark{background:var(--navy);color:#fff;box-shadow:0 6px 0 #061b3d}
.btn-ghost{background:transparent;color:var(--navy);border:2px solid var(--navy)}
.btn:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--navy-2);outline-offset:2px}

/* Hero */
.hero{position:relative;overflow:hidden;padding:56px 0 72px;background:
  radial-gradient(900px 400px at 85% -10%,rgba(123,219,59,.35),transparent 60%),
  radial-gradient(700px 400px at -10% 110%,rgba(19,64,138,.18),transparent 60%),var(--bg)}
.hero .grid{display:grid;gap:36px;grid-template-columns:1.1fr .9fr;align-items:center}
.hero p.lead{font-size:clamp(1.05rem,2.4vw,1.3rem);color:#2b3445;max-width:36rem}
.hero .actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.hero-card{background:var(--navy);color:#fff;border-radius:28px;padding:28px;box-shadow:var(--shadow);position:relative}
.hero-card .stat{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.14);padding:12px 0;font-weight:700}
.hero-card .stat:last-child{border:0}
.hero-card .stat b{color:var(--green)}
.hero-card h3{color:var(--green);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;margin-bottom:6px}
@media(max-width:860px){.hero .grid{grid-template-columns:1fr}.hero{padding:36px 0 52px}}

/* Secciones */
section.block{padding:64px 0}
section.alt{background:#fff;border-block:1px solid var(--line)}
.cards{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--shadow)}
.card .ico{width:48px;height:48px;border-radius:14px;background:var(--green-soft);display:grid;place-items:center;font-size:1.5rem;margin-bottom:12px}
.card p{margin:0;color:var(--muted)}
.roadmap{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:18px}
.step{border-left:5px solid var(--green);background:#fff;border-radius:0 var(--r) var(--r) 0;padding:16px 18px;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.step small{display:block;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.step.soon{border-left-color:var(--navy-2)}.step.later{border-left-color:#9AA6B6}
.pill{display:inline-block;font-size:.72rem;font-weight:800;padding:.18rem .55rem;border-radius:999px;background:var(--navy);color:#fff;vertical-align:middle;margin-left:.4rem}

/* Banner HYROX Quiz */
.promo{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center;background:linear-gradient(135deg,var(--navy),#071a3b);color:#fff;border-radius:28px;padding:36px;box-shadow:var(--shadow)}
.promo h2{color:#fff}.promo .accent{color:var(--green)}
.promo p{color:#d6e1f3}
@media(max-width:760px){.promo{grid-template-columns:1fr;padding:26px}}

/* Formulario */
form.waitlist{display:grid;gap:14px;max-width:560px}
label.field{display:grid;gap:6px;font-weight:700}
input[type=text],input[type=email],select{font:inherit;padding:.85rem 1rem;border:2px solid var(--line);border-radius:12px;background:#fff;min-height:48px;width:100%}
input:focus,select:focus{border-color:var(--navy-2)}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:.93rem}
.check input{width:22px;height:22px;margin-top:2px;flex:none;accent-color:var(--navy)}
.form-msg{padding:.8rem 1rem;border-radius:12px;font-weight:700;display:none}
.form-msg.ok{display:block;background:var(--green-soft);color:#1b4d05}
.form-msg.err{display:block;background:var(--bad-soft);color:#7a1717}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}

/* Footer */
.site-footer{background:var(--ink);color:#c8d0dc;padding:36px 0 48px;font-size:.9rem}
.site-footer a{color:var(--green)}
.site-footer .legal{max-width:60ch;color:#9aa6b6;margin-top:10px}

/* Placeholder de medios */
.media{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:repeating-linear-gradient(45deg,#E9F9DB,#E9F9DB 12px,#F4FBEC 12px,#F4FBEC 24px);border:2px dashed var(--green-d);display:grid;place-items:center}
.media img,.media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.media .ph{position:relative;text-align:center;padding:10px;color:var(--navy);font-weight:800;font-size:.8rem;line-height:1.3}
.media .ph small{display:block;font-weight:600;color:var(--muted);word-break:break-all}
.media.has{border-style:solid;border-color:transparent;background:#000}
.media.has .ph{display:none}

.card-note{background:var(--green-soft);border:1px solid var(--green-d);border-radius:12px;padding:12px 14px;font-size:.93rem}

/* Indicador de sesión (cabecera) */
.nav .sess{display:inline-flex;align-items:center;gap:8px;max-width:190px;white-space:nowrap}
.nav .sess span{overflow:hidden;text-overflow:ellipsis}
.nav .sess.in{background:var(--green-soft);border:1px solid var(--green-d);color:var(--navy)}
.nav .sess.in i{width:9px;height:9px;border-radius:50%;background:var(--green-d);flex:none;box-shadow:0 0 0 3px rgba(79,179,23,.22)}
.nav .sess.out{border:2px solid var(--navy)}
@media(max-width:560px){.nav .sess{display:inline-flex!important;max-width:130px}}
