:root{
  --bg:#0f1114; --bg2:#171a1f; --panel:#1d2127; --line:#2c323b;
  --text:#e9e7e2; --muted:#a7a9ad; --gold:#c9a24a; --gold-d:#a8832f; --paper:#f6f4ef; --ink:#17191c;
  --serif:Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--bg);color:var(--text);line-height:1.65;font-size:17px}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.narrow{max-width:760px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15}
h1{font-size:clamp(2.2rem,6vw,4rem)}
h2{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:18px}
h3{font-size:1.25rem;margin-bottom:8px}
.eyebrow{letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;color:var(--gold);margin-bottom:14px;font-weight:600}
.btn{display:inline-block;padding:15px 28px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;text-decoration:none;border:1px solid var(--gold);cursor:pointer;transition:.2s;font-family:var(--sans)}
.btn-gold{background:var(--gold);color:#16130b}
.btn-gold:hover{background:var(--gold-d);border-color:var(--gold-d)}
.btn-ghost{background:transparent;color:var(--text);border-color:#555b64}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
section{padding:84px 0}
.alt{background:var(--bg2)}
.light{background:var(--paper);color:var(--ink)}
.light .eyebrow{color:var(--gold-d)}
.light p{color:#3b3f45}

header{position:sticky;top:0;z-index:50;background:rgba(15,17,20,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{font-family:var(--serif);font-size:1.15rem;letter-spacing:.04em;text-decoration:none}
.logo b{color:var(--gold)}
.nav a.btn{padding:10px 18px}
.nav-links{display:flex;gap:24px;align-items:center}
.nav-links a.t{font-size:.85rem;color:var(--muted);text-decoration:none}
.nav-links a.t:hover,.nav-links a.t.on{color:var(--text)}
@media(max-width:900px){.nav-links a.t{display:none}}

.hero{padding:110px 0 100px;background:
  linear-gradient(180deg,rgba(15,17,20,.78),rgba(15,17,20,.95)),
  radial-gradient(circle at 75% 20%,#2a2f38 0,#0f1114 60%);}
.hero h1{max-width:840px;margin-bottom:22px}
.hero .sub{font-family:var(--serif);font-size:clamp(1.3rem,3vw,1.9rem);color:#cfcdc7;max-width:740px;margin-bottom:22px}
.hero p.lead{max-width:660px;color:var(--muted);margin-bottom:34px}
.hero p.lead em{color:var(--gold);font-style:normal}
.page-hero{padding:90px 0 70px;background:radial-gradient(circle at 80% 0,#2a2f38 0,#0f1114 65%);border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(2rem,5vw,3.2rem);max-width:800px;margin-bottom:16px}
.page-hero p{color:var(--muted);max-width:680px}
.cta-row{display:flex;gap:14px;flex-wrap:wrap}

.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:48px;max-width:900px}
.facts div{background:var(--bg2);padding:18px 20px}
.facts small{display:block;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;margin-bottom:4px}
.facts strong{font-family:var(--serif);font-size:1.15rem;font-weight:600}
@media(max-width:700px){.facts{grid-template-columns:repeat(2,1fr)}}

.grid{display:grid;gap:22px}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.g3,.g2,.g4{grid-template-columns:1fr}}
.card{background:var(--panel);border:1px solid var(--line);padding:28px}
.card p{color:var(--muted);font-size:.97rem}
.num{font-family:var(--serif);color:var(--gold);font-size:1.6rem;margin-bottom:6px}
.intro{max-width:700px;color:var(--muted);margin-bottom:44px}
.center{text-align:center}
.center .intro{margin-left:auto;margin-right:auto}

.pillar{border-top:2px solid var(--gold);padding-top:16px}
.pillar p{color:var(--muted)}

.vs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}
.vs div{padding:20px 24px;border-bottom:1px solid var(--line)}
.vs .h{background:var(--panel);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.8rem}
.vs .h.us{color:var(--gold)}
.vs div:nth-child(odd){border-right:1px solid var(--line);color:var(--muted)}
@media(max-width:620px){.vs{grid-template-columns:1fr}.vs div:nth-child(odd){border-right:0}}

.module{display:grid;grid-template-columns:120px 1fr;gap:30px;padding:36px 0;border-top:1px solid var(--line)}
.module:last-child{border-bottom:1px solid var(--line)}
.module .m{font-family:var(--serif);color:var(--gold);font-size:3rem;line-height:1}
.module .m small{display:block;font-family:var(--sans);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.module h3{font-size:1.5rem}
.module p{color:var(--muted);margin-bottom:14px}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags span{border:1px solid var(--line);background:var(--panel);padding:5px 12px;font-size:.82rem;color:var(--text)}
@media(max-width:700px){.module{grid-template-columns:1fr;gap:12px}}

.ticks{list-style:none;margin:20px 0 30px}
.ticks li{padding:9px 0 9px 30px;position:relative;border-bottom:1px solid var(--line)}
.ticks li::before{content:"";position:absolute;left:0;top:17px;width:14px;height:8px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.light .ticks li{border-bottom-color:#d9d5ca;color:#2d3035}

.cols{display:grid;grid-template-columns:1fr 1fr;gap:40px}
@media(max-width:820px){.cols{grid-template-columns:1fr}}
.list{list-style:none}
.list li{padding:10px 0;border-bottom:1px solid #d9d5ca;color:#2d3035}

.steps{list-style:none;counter-reset:s;max-width:760px}
.steps li{counter-increment:s;position:relative;padding:18px 0 18px 64px;border-bottom:1px solid var(--line);color:var(--muted)}
.steps li::before{content:counter(s);position:absolute;left:0;top:14px;width:42px;height:42px;border:1px solid var(--gold);color:var(--gold);font-family:var(--serif);font-size:1.2rem;display:flex;align-items:center;justify-content:center}
.steps li strong{color:var(--text)}

.day{margin-bottom:34px}
.day h3{color:var(--gold);border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:6px}
.slot{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}
.slot span{color:var(--muted);font-size:.9rem}
@media(max-width:620px){.slot{grid-template-columns:1fr;gap:2px}}

.callout{border-left:3px solid var(--gold);background:var(--panel);padding:22px 26px;color:var(--muted);font-size:.95rem}
.callout strong{color:var(--text)}
.disclaimer{font-size:.8rem;color:var(--muted);margin-top:22px;max-width:760px}
.badge{display:inline-block;border:1px solid var(--gold);color:var(--gold);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;padding:3px 9px;margin-bottom:12px}

.about{display:grid;grid-template-columns:300px 1fr;gap:44px;align-items:start}
.photo{aspect-ratio:4/5;background:linear-gradient(135deg,#252a32,#1a1d22);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.85rem;text-align:center;padding:20px}
@media(max-width:820px){.about{grid-template-columns:1fr}.photo{max-width:300px}}

details{border-bottom:1px solid var(--line);padding:18px 0}
summary{cursor:pointer;font-weight:600;list-style:none}
summary::after{content:"+";float:right;color:var(--gold);font-size:1.3rem;line-height:1}
details[open] summary::after{content:"\2212"}
details p{color:var(--muted);margin-top:12px}

form{display:grid;gap:16px;margin-top:28px}
label{display:grid;gap:6px;font-size:.85rem;color:var(--muted)}
input,select,textarea{width:100%;padding:14px;background:#12151a;border:1px solid var(--line);color:var(--text);font:inherit;border-radius:0}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:0}
.hp{position:absolute;left:-9999px}
.note{font-size:.8rem;color:var(--muted)}

/* legal pages */
.legal{padding:70px 0 90px}
.legal h2{font-size:1.5rem;margin:38px 0 10px}
.legal p,.legal li{color:var(--muted);margin-bottom:12px}
.legal ul{margin:0 0 12px 22px}
.draft{border:1px dashed var(--gold);padding:14px 18px;color:var(--gold);font-size:.88rem;margin-bottom:30px}

footer{padding:44px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px}
footer nav{display:flex;flex-wrap:wrap;gap:6px 18px}
footer a{text-decoration:none}
footer a:hover{color:var(--text)}
