:root{--bg:#fff;--fg:#1c1c1c;--muted:#5d5d5d;--line:#e3e3e3;--soft:#f5f4f2;--ink:#0e0e10;--on-ink:#fff;--gold:#b08a3e;--gold2:#e2c283;--red:#c8102e;--shadow:0 30px 60px -20px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:18px/1.6 "Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
/* top bar + header */
.util{background:var(--ink);color:#bbb;font-size:13px}.util .wrap{display:flex;justify-content:space-between;height:34px;align-items:center}
.util a{text-decoration:none;margin-left:20px}.util a:hover{color:#fff}
header.main{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}
header.main .wrap{display:flex;align-items:center;justify-content:space-between;height:76px}
.logo{font-size:26px;font-weight:300;letter-spacing:.04em;text-decoration:none}.logo b{font-weight:700;color:var(--gold)}
nav.primary a{margin-left:34px;text-decoration:none;font-size:16px;padding:26px 0;border-bottom:3px solid transparent}
nav.primary a:hover{border-color:var(--red)}
.cta{background:var(--red);color:#fff!important;padding:12px 24px;text-decoration:none;font-weight:600;font-size:15px;display:inline-block;transition:transform .2s,box-shadow .2s;border:0}
.cta:hover{transform:translateY(-2px);box-shadow:0 10px 20px -6px rgba(200,16,46,.6)}
.cta.ghost{background:none;border:1px solid currentColor;color:inherit!important;margin-left:10px}
.cta.ghost:hover{box-shadow:none;background:rgba(255,255,255,.08)}
/* hero */
.hero{background:radial-gradient(1200px 600px at 75% 30%,#2a2418 0,#0e0e10 60%);color:#fff;overflow:hidden;position:relative}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;min-height:620px;padding-top:50px;padding-bottom:50px}
.eyebrow{color:var(--gold2);letter-spacing:.18em;text-transform:uppercase;font-size:13px;font-weight:600;margin:0 0 18px}
.hero h1{font-weight:300;font-size:clamp(38px,5.6vw,68px);line-height:1.04;margin:0 0 22px;letter-spacing:-.01em}
.hero h1 em{font-style:normal;color:var(--gold2)}
.hero p.lead{color:#c9c9cc;font-size:20px;max-width:540px;margin:0 0 30px}
.badges{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 30px}
.badge{border:1px solid rgba(226,194,131,.5);color:var(--gold2);padding:8px 16px;font-size:14px;font-weight:600;letter-spacing:.04em;background:rgba(226,194,131,.08)}
/* 3D stage */
.stage{perspective:1200px;height:480px;position:relative}
.scene{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .25s ease-out}
.pane{position:absolute;width:300px;padding:22px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.04));backdrop-filter:blur(8px);box-shadow:0 40px 60px -20px rgba(0,0,0,.7);color:#fff}
.pane small{display:block;color:var(--gold2);letter-spacing:.14em;text-transform:uppercase;font-size:11px;margin-bottom:6px}
.pane strong{font-size:34px;font-weight:300;display:block;line-height:1.1}
.pane span{font-size:14px;color:#cfcfd3}
.p1{left:6%;top:4%;transform:translateZ(40px) rotateY(-10deg)}
.p2{right:2%;top:30%;transform:translateZ(130px) rotateY(-10deg);background:linear-gradient(135deg,rgba(200,16,46,.55),rgba(200,16,46,.15))}
.p3{left:14%;bottom:2%;transform:translateZ(80px) rotateY(-10deg)}
.ring{position:absolute;left:30%;top:22%;width:260px;height:260px;border-radius:50%;border:1px solid rgba(226,194,131,.45);transform:translateZ(-60px) rotateX(70deg);box-shadow:0 0 60px rgba(226,194,131,.25)}
.ring.r2{width:380px;height:380px;left:22%;top:12%;transform:translateZ(-120px) rotateX(70deg);opacity:.5}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -12px}}
.p1{animation:float 6s ease-in-out infinite}.p2{animation:float 7s ease-in-out -2s infinite}.p3{animation:float 8s ease-in-out -4s infinite}
/* sections */
section{padding:88px 0}
section.soft{background:var(--soft)}
h2{font-weight:300;font-size:clamp(30px,4vw,46px);line-height:1.1;margin:0 0 14px;letter-spacing:-.01em}
.sub{color:var(--muted);max-width:660px;margin:0 0 48px;font-size:19px}
.kick{color:var(--red);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:12px;margin:0 0 12px}
/* fast track band */
.band{background:var(--ink);color:#fff;padding:96px 0;position:relative;overflow:hidden}
.band:before{content:"";position:absolute;inset:-40% -10% auto auto;width:700px;height:700px;background:radial-gradient(circle,rgba(200,16,46,.28),transparent 65%)}
.band .sub{color:#b9b9be}
.big2{display:grid;grid-template-columns:1fr 1fr;gap:28px;perspective:1400px;position:relative}
.feat{padding:44px 38px;border:1px solid rgba(255,255,255,.15);background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.02));box-shadow:var(--shadow);transform-style:preserve-3d;transition:transform .15s ease-out}
.feat .tag{display:inline-block;background:var(--red);color:#fff;font-size:12px;font-weight:700;letter-spacing:.14em;padding:5px 12px;margin-bottom:22px;transform:translateZ(30px)}
.feat h3{font-weight:300;font-size:40px;line-height:1.05;margin:0 0 14px;transform:translateZ(40px)}
.feat p{color:#c7c7cc;margin:0 0 18px;transform:translateZ(20px)}
.feat ul{margin:0;padding:0;list-style:none}.feat li{padding:9px 0;border-top:1px solid rgba(255,255,255,.12);font-size:16px}.feat li:before{content:"✓";color:var(--gold2);margin-right:12px;font-weight:700}
/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;perspective:1400px}
.card{background:var(--bg);border:1px solid var(--line);padding:32px 28px;box-shadow:0 8px 24px -14px rgba(0,0,0,.25);transform-style:preserve-3d;transition:transform .15s ease-out,box-shadow .2s;position:relative}
.card:hover{box-shadow:var(--shadow)}
.card:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--red),var(--gold))}
.card .n{font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--gold);margin-bottom:12px;transform:translateZ(20px)}
.card h3{font-weight:400;font-size:22px;margin:0 0 8px;transform:translateZ(30px)}
.card p{margin:0;color:var(--muted);font-size:16px;transform:translateZ(15px)}
.tags span{display:inline-block;font-size:12px;border:1px solid var(--line);padding:3px 10px;margin:0 6px 12px 0;color:var(--muted);letter-spacing:.06em}
.kv{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:9px 0;font-size:15px;transform:translateZ(10px)}.kv span:first-child{color:var(--muted)}.kv b{font-weight:600}
.note{font-size:14px;color:var(--muted)}
/* timeline */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;counter-reset:s}
.step{padding:0 24px 0 0;position:relative}
.step:before{content:"";position:absolute;top:19px;left:44px;right:0;height:1px;background:var(--line)}.step:last-child:before{display:none}
.dot{width:40px;height:40px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:700;box-shadow:0 10px 18px -6px rgba(200,16,46,.6);position:relative;margin-bottom:20px}
.step h3{font-weight:400;font-size:21px;margin:0 0 6px}.step p{margin:0;color:var(--muted);font-size:16px}
.step .ft{display:inline-block;margin-top:10px;font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--red)}
/* faq */
details{border-top:1px solid var(--line);padding:22px 0}details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-size:20px;font-weight:300;list-style:none;display:flex;justify-content:space-between}summary:after{content:"+";color:var(--red);font-size:26px;line-height:1}details[open] summary:after{content:"–"}
details p{color:var(--muted);margin:12px 0 0;max-width:700px}
/* closing */
.close{background:var(--ink);color:#fff;text-align:center}.close h2{margin-left:auto;margin-right:auto}.close .sub{margin:0 auto 30px;color:#b9b9be}
footer{background:#08080a;color:#8d8d93;font-size:13px;padding:36px 0}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.reveal.in{opacity:1;transform:none}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr;min-height:0}.stage{height:380px}.big2{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr;row-gap:36px}.step:before{display:none}nav.primary a:not(.cta){display:none}.pane{width:240px}.util{display:none}}
@media(max-width:560px){.steps{grid-template-columns:1fr}.cta.ghost{margin:10px 0 0}}
@media(prefers-reduced-motion:reduce){.pane{animation:none}.reveal{opacity:1;transform:none;transition:none}*{scroll-behavior:auto!important}}
/* inner pages */
.page-head{background:radial-gradient(900px 400px at 80% 0,#2a2418 0,#0e0e10 65%);color:#fff;padding:72px 0 56px}
.page-head h1{font-weight:300;font-size:clamp(34px,5vw,56px);margin:0 0 10px;letter-spacing:-.01em}
.page-head p{color:#c9c9cc;margin:0;max-width:640px;font-size:19px}
.prose{max-width:760px;padding:64px 0}
.prose h2{font-size:26px;margin:44px 0 10px}.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:var(--fg);font-size:17px}.prose li{margin-bottom:6px}
.prose .updated{color:var(--muted);font-size:14px;margin:0 0 32px}
.two{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;padding:64px 0}
form.contact label{display:block;font-size:14px;font-weight:600;letter-spacing:.04em;margin:20px 0 6px}
form.contact input,form.contact select,form.contact textarea{width:100%;padding:13px 14px;border:1px solid var(--line);background:var(--bg);color:var(--fg);font:inherit;font-size:16px;border-radius:0}
form.contact input:focus,form.contact select:focus,form.contact textarea:focus{outline:2px solid var(--red);outline-offset:0}
form.contact .chk{display:flex;gap:10px;align-items:flex-start;font-weight:400;letter-spacing:0;font-size:15px}
form.contact .chk input{width:auto;margin-top:5px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#status{margin-top:18px;padding:14px 16px;border-left:3px solid var(--gold);background:var(--soft);display:none;font-size:15px}
.aside{background:var(--soft);padding:32px;align-self:start}.aside h3{font-weight:400;font-size:22px;margin:0 0 10px}.aside p{color:var(--muted);font-size:16px}
.fl{display:flex;flex-wrap:wrap;gap:8px 28px;margin:0 0 18px}.fl a{text-decoration:none;color:#b9b9be}.fl a:hover{color:#fff}
@media(max-width:900px){.two{grid-template-columns:1fr;gap:32px}.row2{grid-template-columns:1fr}}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
