:root{--navy:#1E1646;--orange:#5B2FA0;--steel:#7F2F92;--bg:#F5F3F9;--ink:#1F1A3F;--muted:#5A5675;--line:#DAD3E8;--pass:#fff;
--disp:"Archivo","Helvetica Neue",Arial,sans-serif;--body:"Public Sans","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)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0F0B22;--ink:#ECE8F7;--muted:#B2ABCB;--line:#2E2650;--pass:#1A1433;--orange:#B58CF0}}
:root[data-theme="dark"]{--bg:#0F0B22;--ink:#ECE8F7;--muted:#B2ABCB;--line:#2E2650;--pass:#1A1433;--orange:#B58CF0}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 72px);scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.65 var(--body)}
a{color:inherit}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.btn{display:inline-block;font:700 .98rem/1 var(--disp);background:var(--orange);color:var(--navy);padding:15px 26px;border-radius:4px;text-decoration:none;border:0;cursor:pointer}
.btn:hover{background:#E78A5F}
.link{font:700 .98rem var(--disp);color:#fff;margin-left:22px;text-underline-offset:5px}
header{background:var(--navy);color:#fff;position:sticky;top:env(safe-area-inset-top,0px);z-index:5}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.mark{font:800 1.3rem var(--disp);letter-spacing:-.01em;text-decoration:none}
nav{display:flex;align-items:center;gap:26px;font:600 .95rem var(--disp)}
nav a{text-decoration:none}
nav a:hover{text-decoration:underline;text-underline-offset:5px}
nav .btn{padding:10px 18px;font-size:.92rem}
.hero{background:var(--navy);color:#fff;padding-top:64px}
h1{font:800 clamp(2.5rem,6.6vw,5.4rem)/1.04 var(--disp);letter-spacing:-.025em;margin:0;max-width:13em}
.hero p{font-size:1.12rem;color:#DAD3EE;max-width:34em;margin:26px 0 30px}
.hero .cta{padding-bottom:56px}
.shot{display:block;width:100%;aspect-ratio:21/9;object-fit:cover;object-position:50% 6%}
.sec{padding:84px 0}
h2{font:800 clamp(1.9rem,4vw,2.8rem)/1.1 var(--disp);letter-spacing:-.02em;margin:0 0 14px;max-width:16em}
.lead{color:var(--muted);max-width:36em;margin:0}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-top:56px;padding-bottom:8px}
.three h3{font:800 1.5rem/1.1 var(--disp);letter-spacing:-.01em;margin:0 0 8px}
.three p{margin:0;color:var(--muted)}
.legend{display:flex;flex-wrap:wrap;gap:12px 28px;margin:30px 0 34px;font:600 .95rem var(--disp)}
.legend i{display:inline-block;width:14px;height:14px;border-radius:2px;margin-right:8px;vertical-align:-1px}
.passes{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.pass{position:relative;background:var(--pass);border:1px solid var(--line);border-radius:10px;overflow:hidden;transform-origin:50% 0}
.pass::before{content:"";position:absolute;top:12px;left:50%;margin-left:-24px;width:48px;height:9px;border-radius:5px;background:var(--bg);box-shadow:inset 0 1px 2px rgba(0,0,0,.25)}
.band{padding:34px 20px 10px;font:700 .9rem var(--disp)}
.entry .band{background:var(--orange);color:var(--navy)}
.move .band{background:var(--navy);color:#fff}
.lead-p .band{background:var(--steel);color:#fff}
.pass h3{font:800 1.4rem/1.15 var(--disp);letter-spacing:-.01em;margin:20px 20px 8px}
.pass p{margin:0 20px 24px;color:var(--muted);font-size:.95rem;line-height:1.6}
.pending .pass{opacity:0}
.swing .pass{animation:swing .9s cubic-bezier(.2,.7,.2,1) both}
.swing .pass:nth-child(2){animation-delay:.08s}.swing .pass:nth-child(3){animation-delay:.16s}.swing .pass:nth-child(4){animation-delay:.24s}.swing .pass:nth-child(5){animation-delay:.32s}.swing .pass:nth-child(6){animation-delay:.4s}.swing .pass:nth-child(7){animation-delay:.48s}.swing .pass:nth-child(8){animation-delay:.56s}
@keyframes swing{from{opacity:0;transform:translateY(-16px) rotate(-3deg)}60%{transform:rotate(1deg)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.pending .pass{opacity:1}.swing .pass{animation:none}html{scroll-behavior:auto}}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:40px}
.steps div{border-top:4px solid var(--navy);padding-top:14px}
.steps b{font:800 2.8rem/1 var(--disp);color:var(--orange)}
.steps h3{font:800 1.3rem/1.2 var(--disp);letter-spacing:-.01em;margin:6px 0}
.steps p{margin:0;color:var(--muted)}
blockquote{margin:0}
.big{font:600 clamp(1.35rem,2.8vw,2rem)/1.4 var(--disp);letter-spacing:-.01em;max-width:26em;margin:34px 0 8px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px;max-width:900px}
.two blockquote{border-left:4px solid var(--orange);padding-left:20px}
cite{display:block;font:600 .95rem var(--disp);font-style:normal;color:var(--muted);margin-top:10px}
.note{font-size:.9rem;color:var(--muted);margin-top:36px}
.quote{background:var(--navy);color:#fff}
.quote .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:56px}
.quote .lead{color:#DAD3EE}
form{display:grid;gap:14px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:grid;gap:5px;font:600 .92rem var(--disp)}
input,select,textarea{font:1rem var(--body);padding:11px 12px;border:1px solid #5B4B9A;border-radius:4px;background:#fff;color:var(--navy);width:100%}
footer{background:var(--navy);color:#C9C2E0;padding:26px 0 30px;font-size:.92rem;border-top:1px solid #3A2E73}
@media(max-width:820px){.three,.passes,.steps,.two,.quote .wrap,.row,.door .wrap{grid-template-columns:1fr}.shot{aspect-ratio:4/3}.sec{padding:60px 0}.link{display:inline-block;margin:18px 0 0}}
.door .wrap{display:grid;grid-template-columns:1fr 1.25fr;gap:56px;align-items:center}
.door img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:55% 20%;border-radius:8px}
.door ul{list-style:none;margin:22px 0 0;padding:0;font:600 1rem var(--disp)}
.door li{padding:12px 0;border-top:1px solid var(--line)}
.door li:last-child{border-bottom:1px solid var(--line)}

.page[hidden],[hidden]{display:none!important}
.menu{display:none;font:600 .95rem var(--disp);background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45);border-radius:4px;padding:8px 14px;cursor:pointer}
nav a.on:not(.btn){text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:3px;text-underline-offset:8px}
.pagehead{background:var(--navy);color:#fff;padding:64px 0 56px}
.pagehead h1{font-size:clamp(2.1rem,5vw,3.6rem)}
.pagehead p{color:#DAD3EE;max-width:36em;margin:16px 0 0;font-size:1.1rem}
.events{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;margin-top:34px}
.events div{border-top:1px solid var(--line);padding:20px 0 28px}
.events h3{font:800 1.3rem/1.2 var(--disp);letter-spacing:-.01em;margin:0 0 6px}
.events p{margin:0;color:var(--muted)}
.cta2{background:var(--navy);color:#fff}
.cta2 .lead{color:#DAD3EE;margin-bottom:26px}
.split .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:56px}
.plain{list-style:none;margin:20px 0 0;padding:0;font:600 1rem var(--disp)}
.plain li{padding:12px 0;border-top:1px solid var(--line)}
.plain li:last-child{border-bottom:1px solid var(--line)}
.split input,.split select,.split textarea{border-color:var(--line)}
.door p{color:var(--muted);margin:0 0 14px;max-width:34em}
.details{margin:28px 0 0}.details dt{font:700 .9rem var(--disp);color:var(--orange);margin-top:14px}.details dd{margin:2px 0 0}
.faq{margin-top:28px;max-width:760px}
details{border-top:1px solid var(--line);padding:18px 0}details:last-child{border-bottom:1px solid var(--line)}
summary{font:700 1.1rem var(--disp);cursor:pointer}
details p{margin:10px 0 0;color:var(--muted)}
.ok{display:none;background:#fff;color:var(--navy);padding:14px 16px;border-radius:4px;border-left:6px solid var(--orange)}
footer{padding:48px 0 30px}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:28px}
.foot b{display:block;font:700 .95rem var(--disp);color:#fff;margin-bottom:8px}
.foot a,.foot span{display:block;color:#C9C2E0;text-decoration:none;margin:5px 0}
.foot a:hover{color:#fff;text-decoration:underline}
.foot p{margin:0;max-width:22em}
.copy{border-top:1px solid #3A2E73;padding-top:18px}
@media(max-width:820px){.menu{display:inline-block}
nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--navy);flex-direction:column;align-items:flex-start;padding:16px 24px 26px;gap:18px;border-top:1px solid #3A2E73}
header.open nav{display:flex}
.events,.split .wrap,.foot{grid-template-columns:1fr}.pagehead{padding:48px 0 40px}}
@media(min-width:1000px){#passes{grid-template-columns:repeat(4,1fr)}}
.founder{max-width:38em;margin-top:24px}.founder p{margin:0 0 16px;font-size:1.08rem;line-height:1.7}

:root{--grad-dark:linear-gradient(135deg,#1A1240 0%,#2A2380 55%,#5B2FA0 130%);--grad-btn:linear-gradient(135deg,#5B2FA0,#7F2F92)}
header{background:var(--pass);color:var(--ink);border-bottom:1px solid var(--line)}
.mark{display:flex;align-items:center;gap:10px;color:var(--ink)}
.mark img{height:38px;width:auto;display:block}
.menu{color:var(--ink);border-color:var(--line)}
.btn{background:var(--grad-btn);color:#fff}
.btn:hover{background:var(--grad-btn);filter:brightness(1.15)}
.hero .btn,.pagehead .btn,.cta2 .btn,.quote .btn{background:#fff;color:#2A2380}
.hero .btn:hover,.pagehead .btn:hover,.cta2 .btn:hover,.quote .btn:hover{background:#fff;filter:none;box-shadow:0 0 0 4px rgba(255,255,255,.3)}
.hero,.pagehead,.cta2,.quote{background:var(--grad-dark)}
.hero a:focus-visible,.pagehead a:focus-visible,.cta2 a:focus-visible,.quote :focus-visible,footer a:focus-visible{outline-color:#fff}
.entry .band{background:linear-gradient(135deg,#5B2FA0,#7A3BBF);color:#fff}
.move .band{background:linear-gradient(135deg,#1E2460,#242E75);color:#fff}
.lead-p .band{background:linear-gradient(135deg,#6E2A86,#7F2F92);color:#fff}
.quote .details dt{color:#CDB4F5}
footer{background:#140E30}
.flogo{height:88px;width:auto;display:block;margin-bottom:14px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .mark img{filter:brightness(1.8)}}
:root[data-theme="dark"] .mark img{filter:brightness(1.8)}
@media(max-width:820px){nav{background:var(--pass);border-top:1px solid var(--line)}}
