:root { color-scheme: dark; --bg:#0a0c10; --panel:#11151b; --ink:#f4f1e8; --muted:#aab0bc; --line:#2b323d; --accent:#b7ff4a; --hot:#ff8b5f; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--ink); font:18px/1.72 system-ui,-apple-system,"Segoe UI",sans-serif; }
a { color:var(--accent); text-underline-offset:4px; overflow-wrap:anywhere; }
a:hover, a:focus-visible { color:var(--hot); }
header { border-bottom:1px solid var(--line); background:linear-gradient(135deg,#151b22,#0a0c10 65%); }
.site-nav, main, footer { width:min(820px,calc(100% - 36px)); margin:auto; }
.site-nav { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:18px 0; color:var(--accent); font-size:.78rem; font-weight:800; letter-spacing:.16em; }
.site-nav nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:16px; }
.site-nav nav a, footer a { color:var(--ink); }
.site-nav nav a { display:inline-flex; min-height:44px; align-items:center; }
main { min-height:70vh; padding:68px 0 80px; }
.eyebrow { color:var(--hot); font-size:.78rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
h1 { margin:.3em 0 .35em; font-size:clamp(2.5rem,7vw,5rem); line-height:.96; letter-spacing:-.05em; }
h2 { margin:2em 0 .55em; color:var(--accent); font-size:1.15rem; }
p, li { max-width:72ch; }
.lede { color:var(--muted); font-size:1.08rem; }
.panel { margin:28px 0; padding:20px; border:1px solid var(--line); border-radius:14px; background:var(--panel); }
.contact-link { display:inline-block; margin-top:6px; padding:12px 16px; border:1px solid var(--accent); border-radius:10px; font-weight:750; text-decoration:none; }
footer { padding:30px 0 50px; border-top:1px solid var(--line); color:var(--muted); font-size:.85rem; }
.footer-links { display:flex; flex-wrap:wrap; gap:16px; margin-top:10px; }
@media (max-width:650px) {
  body { font-size:16px; line-height:1.65; }
  .site-nav, main, footer { width:min(100% - 28px,820px); }
  .site-nav { align-items:flex-start; flex-direction:column; gap:12px; }
  .site-nav nav { justify-content:flex-start; gap:12px; }
  main { padding:48px 0 60px; }
}
