:root{--ink:#0b1220;--ink-2:#111a2e;--ink-3:#1a2540;--gold:#f2b134;--gold-d:#b97b0c;--cyan:#38bdf8;--paper:#fff;--paper-2:#f5f7fb;--text:#0f172a;--muted:#475569;--muted-l:#b4bfd2;--r:14px;--sh:0 10px 30px rgba(15,23,42,.08);--f:system-ui,-apple-system,"Segoe UI",Roboto,Inter,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;font-family:var(--f);color:var(--text);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{line-height:1.15;margin:0 0 .6em;letter-spacing:-.01em}
p{margin:0 0 1em}a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:var(--ink);padding:8px 14px;border-radius:8px;z-index:99}.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}
header.top{position:sticky;top:0;z-index:10;background:rgba(11,18,32,.95);color:#fff;border-bottom:1px solid rgba(148,163,184,.16)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;text-decoration:none;font-size:1.1rem}
.brand img{width:30px;height:30px}
.nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}
.nav ul a{text-decoration:none;color:var(--muted-l);font-size:.95rem}.nav ul a:hover{color:#fff}
.btn{display:inline-block;background:var(--gold);color:var(--ink);font-weight:700;padding:12px 22px;border-radius:10px;text-decoration:none}
.btn:hover{background:#f6c25a}.btn.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35)}
.hero{background:radial-gradient(1000px 500px at 80% -10%,#1e3a5f 0,transparent 60%),var(--ink);color:#fff;padding:96px 0 88px}
.eyebrow{color:var(--gold);font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}
.hero h1{font-size:clamp(2rem,5vw,3.4rem);max-width:20ch}
.hero .lede{font-size:1.2rem;color:var(--muted-l);max-width:60ch}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
section{padding:80px 0}section.alt{background:var(--paper-2)}
h2{font-size:clamp(1.6rem,3.2vw,2.2rem)}
.sub{color:var(--muted);max-width:65ch;font-size:1.05rem}
.grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:32px}
.card{background:#fff;border:1px solid #e2e8f0;border-radius:var(--r);padding:28px;box-shadow:var(--sh)}
.card h3{font-size:1.2rem}.card ul{padding-left:1.2em;margin:0;color:var(--muted)}
.tag{display:inline-block;font-size:.75rem;font-weight:600;background:#eef6ff;color:#075985;padding:3px 10px;border-radius:999px;margin-bottom:12px}
.ph{background:#fff7e0;border:1px dashed var(--gold-d);color:#7a5200;padding:2px 8px;border-radius:6px;font-size:.85rem}
.stack{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:24px 0 0}
.stack li{background:var(--ink-2);color:#fff;padding:8px 14px;border-radius:999px;font-size:.9rem}
.towns{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:20px 0}
.towns li{border:1px solid #cbd5e1;padding:6px 14px;border-radius:999px;background:#fff}
details{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px 22px;margin-top:12px}
summary{font-weight:600;cursor:pointer}details p{margin:12px 0 0;color:var(--muted)}
.band{background:var(--ink-3);color:#fff;text-align:center}.band .sub{color:var(--muted-l);margin:0 auto 24px}
footer{background:var(--ink);color:var(--muted-l);padding:32px 0;font-size:.9rem}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
@media (max-width:760px){.nav ul{display:none}.hero{padding:64px 0}section{padding:56px 0}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
