:root { --bg-deep:#07100b; --bg-charcoal:#0d1710; --bg-elevated:#142018; --bg-card:#18271d; --green-mid:#2c8658; --gold:#d7a521; --gold-soft:#f1ca62; --cream:#f6eedb; --off-white:#fffaf0; --text:#f2ead8; --text-muted:#bdb9aa; --text-dim:#928d7e; --line:rgba(241,202,98,.2); --shadow:0 22px 55px rgba(0,0,0,.35); --radius:18px; --radius-sm:12px; --header-h:76px; --container:1180px; --font:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; --font-display:"Space Grotesk","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif; --ease:.25s ease; }
*,:before,:after { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; padding-top:var(--header-h); overflow-x:hidden; background:var(--bg-deep); color:var(--text); font-family:var(--font); font-size:16px; line-height:1.68; } body::before { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.22; background-image:radial-gradient(rgba(255,255,255,.18) .5px,transparent .5px); background-size:7px 7px; } body.nav-open { overflow:hidden; } img,svg { display:block; max-width:100%; } a { color:var(--gold-soft); text-decoration:none; } a:hover { color:var(--off-white); } :focus-visible { outline:2px solid var(--gold-soft); outline-offset:3px; } h1,h2,h3,h4 { margin:0 0 .7em; color:var(--off-white); font-family:var(--font-display); font-weight:700; letter-spacing:-.03em; line-height:1.12; } h1 { font-size:clamp(2.1rem,5vw,3.8rem); } h2 { font-size:clamp(1.65rem,3.2vw,2.55rem); } h3 { font-size:1.1rem; } p { margin:0 0 1rem; color:var(--text-muted); } .container { width:min(100% - 2rem,var(--container)); margin-inline:auto; } .lead { max-width:63ch; font-size:1.08rem; color:#d7d0bd; } .btn { position:relative; isolation:isolate; display:inline-flex; align-items:center; justify-content:center; min-height:51px; padding:.78rem 1.35rem; border:1px solid transparent; border-radius:999px; overflow:hidden; font-size:.94rem; font-weight:800; letter-spacing:.02em; text-decoration:none; transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease); } .btn:hover { transform:translateY(-2px); } .btn-primary,.btn-accent { color:#191205; background:linear-gradient(115deg,#d99c16,#fff0a8 32%,#e5ac27 51%,#fff3b5 70%,#c9850e); background-size:250% 100%; box-shadow:0 10px 26px rgba(217,156,22,.28); animation:gold-flow 4s linear infinite; } .btn-primary::after,.btn-accent::after { content:""; position:absolute; z-index:-1; inset:1px; border-radius:inherit; background:linear-gradient(105deg,transparent 24%,rgba(255,255,255,.52) 47%,transparent 62%); transform:translateX(-130%); animation:cta-sheen 3.8s ease-in-out infinite; } .btn-primary:hover,.btn-accent:hover { color:#191205; box-shadow:0 14px 32px rgba(241,202,98,.38); } .btn-secondary { border-color:rgba(246,238,219,.3); color:var(--cream); background:rgba(255,255,255,.055); backdrop-filter:blur(8px); } .btn-secondary:hover { color:var(--off-white); border-color:rgba(241,202,98,.6); background:rgba(241,202,98,.1); } .btn-row { display:flex; flex-wrap:wrap; gap:.7rem; } @keyframes gold-flow { to { background-position:250% 0; } } @keyframes cta-sheen { 35%,100% { transform:translateX(130%); } } @media (prefers-reduced-motion:reduce) { *,*:before,*:after { animation:none!important; transition:none!important; } html { scroll-behavior:auto; } }

.btn-secondary { font-family:var(--font-display); }
.btn-primary,.btn-accent { font-family:var(--font-display); }
.section-heading h2 { position:relative; padding-top:.85rem; }
.section-heading h2::before { content:""; position:absolute; top:0; left:0; width:46px; height:3px; border-radius:2px; background:linear-gradient(90deg,#f1ca62,rgba(241,202,98,0)); }
.pill-row { display:flex; flex-wrap:wrap; gap:.5rem; padding:0; margin:1.35rem 0 0; list-style:none; }
.pill-row li { display:inline-flex; align-items:center; gap:.42rem; padding:.42rem .82rem .45rem; border:1px solid rgba(241,202,98,.24); border-radius:999px; background:rgba(241,202,98,.06); color:var(--cream); font-size:.8rem; font-weight:650; }
.pill-row li::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--gold-soft); flex:none; }
.eyebrow { display:flex; gap:.55rem; align-items:center; margin:0 0 1rem; color:var(--gold-soft); font-family:var(--font-display); font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.eyebrow::before { content:""; width:32px; height:1px; background:currentColor; flex:none; }
