:root{--bg:#000;--fg:#fff;--mute:rgba(255,255,255,.66);
--head:"Helvetica Neue",Helvetica,Arial,sans-serif;--body:"Urbanist","Helvetica Neue",Arial,sans-serif;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);color-scheme:dark}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-weight:300;font-size:19px;line-height:1.5;overflow-x:hidden}
a{color:inherit}
:focus-visible{outline:2px solid #fff;outline-offset:3px}
h1,h2,h3,.big{font-family:var(--head);font-weight:700;letter-spacing:-.075em;line-height:.84;margin:0}
h1{font-size:min(17vw,17rem);font-size:19.5cqw;margin-left:-.04em;white-space:nowrap}
.hero .wrap{container-type:inline-size}
h2{font-size:clamp(3rem,9.5vw,9.5rem)}
h3{font-size:clamp(1.6rem,3vw,2.6rem);letter-spacing:-.06em;line-height:.9}
p{margin:0 0 1em;max-width:46ch;color:var(--mute)}
strong{color:var(--fg);font-weight:600}
.wrap{max-width:1480px;margin:0 auto;padding:0 clamp(20px,4vw,64px)}
section{padding:clamp(80px,13vw,200px) 0 0}
nav{position:sticky;top:0;z-index:5;background:var(--bg);padding-top:env(safe-area-inset-top,0px)}
nav .wrap{display:flex;justify-content:space-between;align-items:center;height:68px}
.logo{font-family:var(--head);font-weight:700;letter-spacing:-.07em;font-size:1.6rem;text-decoration:none}
nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0;font-size:.95rem}
nav ul a{text-decoration:none;color:var(--mute)}nav ul a:hover{color:var(--fg)}
.btn{display:inline-block;border:1px solid var(--fg);padding:16px 30px;text-decoration:none;font-weight:400;font-size:1rem;background:var(--bg);color:var(--fg);transition:background .2s,color .2s}
.btn:hover,.btn.solid{background:var(--fg);color:var(--bg)}
.btn.solid:hover{background:var(--bg);color:var(--fg)}
.ph{background:#121212 var(--img,none) center/cover no-repeat;position:relative;min-height:320px}
.hero{padding-top:clamp(24px,4vw,56px)}
.hero .sub{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin:clamp(24px,3vw,44px) 0 clamp(32px,5vw,72px)}
.hero .sub p{font-size:clamp(1.3rem,2.4vw,2rem);line-height:1.15;color:var(--fg);max-width:22ch;margin:0;letter-spacing:-.02em}
.hero .ph{min-height:clamp(320px,52vw,760px)}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,110px);align-items:end}
.split .ph{min-height:clamp(380px,48vw,720px)}
.split h2{margin-bottom:clamp(28px,4vw,56px)}
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(36px,5vw,72px) clamp(24px,4vw,64px);margin-top:clamp(56px,8vw,110px)}
.feat h3{margin-bottom:14px}.feat p{margin:0;font-size:1rem}
.full{min-height:clamp(480px,70vw,900px);display:flex;align-items:flex-end;padding:clamp(24px,4vw,64px)}
.full::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,.05) 70%)}
.full>*{position:relative}.full h2{max-width:9ch}
.full .txt{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,90px);align-items:end;width:100%}
.full p{color:#fff;margin:0}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:clamp(32px,4vw,56px) 0 12px}
.chip{border:0;background:#161616;color:var(--fg);font:400 1rem var(--body);padding:12px 24px;border-radius:99px;cursor:pointer}
.chip[aria-pressed=true]{background:var(--fg);color:var(--bg)}
.note{font-size:.95rem;margin-top:24px}
.aud{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(32px,5vw,72px);margin-top:clamp(48px,7vw,100px)}
.aud h3{margin-bottom:16px;font-size:clamp(2rem,4vw,3.6rem)}.aud p{font-size:1rem}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(48px,7vw,100px)}
.plan{background:#0f0f0f;padding:clamp(28px,3vw,44px);display:flex;flex-direction:column}
.plan.hl{background:var(--fg);color:var(--bg)}
.plan.hl p,.plan.hl li,.plan.hl .no{color:rgba(0,0,0,.68)}.plan.hl strong,.plan.hl h3,.plan.hl .price{color:var(--bg)}
.plan h3{font-size:2rem}
.plan .for{margin:12px 0 40px;font-size:1rem}
.price{font-family:var(--head);font-weight:700;font-size:clamp(3.4rem,6vw,5.6rem);letter-spacing:-.08em;line-height:.9}
.plan small{font-size:.95rem;color:var(--mute)}.plan.hl small{color:rgba(0,0,0,.6)}
.plan ul{list-style:none;padding:0;margin:28px 0 0;font-size:1rem;color:var(--mute);flex:1}
.plan li{padding:7px 0}
.no{font-size:.9rem;color:var(--mute);margin:28px 0 0}
.cta{padding-bottom:clamp(64px,9vw,140px)}
.cta .q{font-size:clamp(1.8rem,4vw,3.4rem);max-width:12ch;margin-bottom:clamp(24px,3vw,40px)}
.mega{display:block;background:var(--fg);color:var(--bg);font-family:var(--head);font-weight:700;letter-spacing:-.08em;line-height:.8;text-decoration:none;font-size:16vw;padding:.08em .06em .14em;transition:background .2s,color .2s}
.mega:hover{background:var(--bg);color:var(--fg);box-shadow:inset 0 0 0 2px var(--fg)}
footer{padding:0 0 48px;font-size:.95rem;color:var(--mute)}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}
@media (max-width:860px){
nav ul{display:none}
.split,.feat,.aud,.plans,.full .txt{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.mega,.cal b{transition:none}}
.cal .row[hidden]{display:none}
.head{display:flex;justify-content:space-between;align-items:baseline;gap:24px;width:100%;background:none;border:0;color:inherit;text-align:left;cursor:pointer;padding:clamp(14px,2vw,26px) 0;font:inherit}
.head b{font-family:var(--head);font-weight:700;font-size:clamp(1.8rem,5.6vw,5.4rem);letter-spacing:-.07em;line-height:.95;flex:1;transition:opacity .2s}
.head:hover b{opacity:.55}
.head em{font-style:normal;color:var(--mute);font-size:1rem;white-space:nowrap}
.head i{font-style:normal;font-family:var(--head);font-weight:300;font-size:clamp(2rem,4.4vw,4rem);line-height:.8;transition:transform .25s}
.row.open .head i{transform:rotate(45deg)}
.panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .3s,visibility 0s .3s}
.row.open .panel{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .3s}
.panel>div{overflow:hidden}
.info{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,72px);padding:12px 0 clamp(32px,4vw,64px)}
.facts{display:grid;grid-template-columns:auto 1fr;gap:10px 28px;margin:0 0 32px}
.facts dt{color:var(--mute)}.facts dd{margin:0}
.info ul,.info ol{margin:0 0 1em;padding-left:1.2em;color:var(--mute)}
.lbl{color:var(--fg);font-weight:600;margin:1.4em 0 .4em}
.reach{display:flex;flex-wrap:wrap;gap:12px 40px;margin-top:20px;font-family:var(--head);font-weight:700;letter-spacing:-.05em;font-size:clamp(1.5rem,3.4vw,2.8rem)}
.reach a{text-decoration:none;display:inline-flex;align-items:center;gap:.35em}.reach a:hover{opacity:.6}
@media (max-width:860px){.info{grid-template-columns:1fr}.head{flex-wrap:wrap;gap:4px 16px}.head em{order:3;width:100%}}
@media (prefers-reduced-motion:reduce){.panel,.head i{transition:none}}

/* logo del menú: oculto mientras el título gigante está visible */
.logo{position:relative;z-index:2}
.js .logo{opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .25s}
.js nav.show-logo .logo{opacity:1;visibility:visible;transition:opacity .25s}
/* botón de menú (móvil) y panel */
.menu-btn{display:none;position:relative;z-index:2;font-family:var(--body);line-height:1.2;padding:10px 20px;cursor:pointer}
.menu{position:fixed;inset:0;z-index:1;background:var(--bg);display:flex;flex-direction:column;justify-content:space-between;gap:32px;overflow-y:auto;padding:calc(68px + env(safe-area-inset-top,0px) + 24px) clamp(20px,4vw,64px) calc(32px + env(safe-area-inset-bottom,0px))}
.menu[hidden]{display:none}
.menu ul,nav .menu ul{display:block;list-style:none;margin:0;padding:0;gap:0;font-size:inherit}
.menu li a,nav .menu li a{display:block;color:var(--fg);font-family:var(--head);font-weight:700;letter-spacing:-.075em;line-height:.95;font-size:clamp(3rem,16vw,6rem);text-decoration:none;padding:.06em 0}
.menu .btn{text-align:center;font-size:1.1rem;padding:20px 40px}
body.menu-open{overflow:hidden}
@media (max-width:860px){.menu-btn{display:inline-block}}
@media (min-width:861px){.menu{display:none!important}}
@media (prefers-reduced-motion:reduce){.js .logo,.js nav.show-logo .logo{transition:none}}
