:root{--ink:#1d1a3d;--ink2:#2c2860;--bg:#eceaf4;--card:#fff;--text:#47446b;--blue:#3d6bff;--ember:#ff6a3d;--gold:#ffc857;--line:#d6d2e8}
*{box-sizing:border-box}html{scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--text);font:17px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--blue);text-underline-offset:4px}img{display:block;width:100%;height:auto;border-radius:14px}figure{margin:0}figcaption{font-size:.75rem;margin-top:8px}
h1,h2,h3{font-family:"Avenir Next","Trebuchet MS",system-ui,sans-serif;color:var(--ink);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:0 0 16px}
h1{font-size:clamp(2.4rem,6vw,4.4rem)}h2{font-size:clamp(1.7rem,3.4vw,2.5rem)}h3{font-size:1.15rem}p{margin:0 0 18px}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.wrap{width:min(1120px,calc(100% - 40px));margin:auto}
.skip{position:absolute;left:12px;top:-80px;background:#fff;padding:10px;z-index:20}.skip:focus{top:8px}
.bar{position:sticky;top:0;z-index:10;background:var(--ink);color:#fff}
.bar .wrap{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font:800 1.35rem "Avenir Next","Trebuchet MS",sans-serif;letter-spacing:-.03em}
.brand svg{color:var(--gold)}.brand span b{color:var(--gold)}
nav{display:flex;gap:6px}nav a{color:#d9d6f5;text-decoration:none;padding:8px 14px;border-radius:99px;font-size:.92rem}
nav a:hover{background:var(--ink2)}nav a[aria-current]{background:var(--gold);color:var(--ink);font-weight:700}
.menu-toggle{background:var(--ink2);color:#fff;border:0;border-radius:99px;padding:9px 16px;font:inherit;cursor:pointer}
.hero{background:var(--ink);color:#cfcbf0;padding:56px 0 0;overflow:hidden}
.hero h1{color:#fff;max-width:760px}.hero .lede{font-size:1.15rem;max-width:620px}
.hero img{border-radius:0;margin-top:40px;max-height:420px;object-fit:cover}
.hero .split{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.btn{display:inline-block;background:var(--gold);color:var(--ink);font-weight:800;padding:13px 22px;border-radius:99px;text-decoration:none;border:0;cursor:pointer;font-size:.95rem}
.btn:hover{background:#ffd98a}.btn.ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px #6a65b5}.btn:disabled{opacity:.6}
.section{padding:64px 0}
.lanes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:var(--card);border-radius:18px;padding:26px;border-top:6px solid var(--blue)}
.card.e{border-color:var(--ember)}.card.g{border-color:var(--gold)}
.card a.more{font-weight:700;text-decoration:none}
.spot{background:var(--ink);color:#cfcbf0;border-radius:24px;display:grid;grid-template-columns:1.1fr 1fr;gap:36px;padding:36px;align-items:center}
.spot h2,.spot h3{color:#fff}.spot img{border-radius:16px}
.chips{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none;margin:0 0 22px}
.chips li{background:var(--ink2);color:#fff;border-radius:99px;padding:6px 14px;font-size:.85rem}
.light .chips li{background:#e4e0f6;color:var(--ink)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:s;padding:0;list-style:none}
.steps li{counter-increment:s;background:var(--card);border-radius:18px;padding:26px}
.steps li::before{content:counter(s);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:var(--gold);font-weight:800;margin-bottom:14px}
.head{padding:52px 0 8px;max-width:760px}.head p{font-size:1.1rem}
.roster{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}
.roster .big{grid-column:1/-1}
.big .spot{margin:0}.dev{color:var(--blue);font-weight:700;font-size:.9rem}
.note{background:#e4e0f6;border-radius:12px;padding:14px 18px;font-size:.9rem}
.tw{overflow:auto;border-radius:14px;background:#fff}table{border-collapse:collapse;width:100%;min-width:640px;font-size:.92rem}
th,td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line)}thead{background:var(--ink);color:#fff}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.prose{max-width:760px}.prose h2{font-size:1.6rem;margin-top:34px}
details{background:#fff;border-radius:14px;margin-bottom:10px;padding:4px 22px}
summary{cursor:pointer;font-weight:700;color:var(--ink);padding:16px 0}details[open] summary{color:var(--blue)}
.contact{display:grid;grid-template-columns:1fr 1.3fr;gap:36px;align-items:start}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}label{font-weight:700;color:var(--ink);font-size:.9rem}
input,textarea{font:inherit;padding:12px;border:2px solid var(--line);border-radius:10px;width:100%}
[aria-invalid=true]{border-color:#c0392b}.field-error{color:#c0392b;font-size:.85rem}.field-error:empty{display:none}
.status.error{color:#c0392b}small{font-size:.8rem}
dialog{border:0;border-radius:18px;padding:30px;max-width:460px}dialog::backdrop{background:#1d1a3dbb}
footer{background:var(--ink);color:#b9b5e3;margin-top:40px;padding:44px 0 24px;font-size:.88rem}
footer a{color:#fff}.fnav{display:flex;flex-wrap:wrap;gap:8px 22px;margin:18px 0}
footer dl{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}footer dt{color:#fff;font-weight:700}footer dd{margin:0;overflow-wrap:anywhere}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
[hidden]{display:none!important}
@media(max-width:800px){.lanes,.steps,.roster,.grid2,.spot,.contact,footer dl{grid-template-columns:1fr}.spot{padding:24px}nav{position:absolute;top:68px;left:0;right:0;background:var(--ink);flex-direction:column;padding:10px 20px 20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
