
:root{
  --bg: #0b1220;
  --text: #101828;
  --muted: #475467;
  --brand: #2563eb;
  --brand-2: #0ea5e9;
  --surface: #ffffff;
  --surface-2: #f9fafb;
  --border: #e5e7eb;
  --ok: #16a34a;
  --warn: #d97706;
  --err: #dc2626;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;color:var(--text);background:#fff;line-height:1.6}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:0 16px}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:static;width:auto;height:auto;padding:8px;background:#000;color:#fff;z-index:999}

.site-header{position:sticky;top:0;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--border);z-index:50}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}
.brand{display:flex;align-items:center;gap:10px}
.logo{height:40px;display:block}
.logo--dark{display:none}
@media (prefers-color-scheme: dark){
  body{background:#0b1220;color:#e5e7eb}
  .site-header{background:rgba(11,18,32,.85);border-color:#1f2937}
  .logo--light{display:none}
  .logo--dark{display:block}
  .card{background:#111827;border-color:#1f2937}
  .site-footer{background:#0b1220;border-top-color:#1f2937}
}

.site-nav .nav-toggle{display:none}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:16px;align-items:center}
.site-nav a{display:block;padding:8px 10px;border-radius:10px}
.site-nav a.active,.site-nav a:hover{background:var(--surface-2)}
.has-sub{position:relative}
.has-sub .sub{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--border);border-radius:12px;padding:8px;min-width:240px;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.has-sub:hover .sub{display:block}
.has-sub .sub a{padding:8px 10px}

.topnote{background:linear-gradient(90deg,var(--brand),var(--brand-2));color:#fff;font-size:14px;text-align:center;padding:6px 12px}

.hero{padding:64px 0;background:linear-gradient(180deg,#f8fafc,transparent)}
.lead{font-size:20px;color:var(--muted)}
.cta-row{display:flex;gap:12px;margin:24px 0}
.btn{display:inline-block;background:var(--brand);color:#fff;padding:10px 16px;border-radius:12px;border:1px solid transparent;font-weight:600}
.btn:hover{opacity:.95;text-decoration:none}
.btn-secondary{background:#fff;color:var(--brand);border-color:var(--brand)}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:32px auto}
.card{border:1px solid var(--border);border-radius:16px;padding:16px;background:#fff}
.link{display:inline-block;margin-top:8px}

.prose h1{font-size:36px;margin-top:24px}
.prose h2{margin-top:24px}
.prose ul{padding-left:18px}

.ref-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ref-card{border:1px dashed var(--border);border-radius:12px;min-height:120px;display:flex;align-items:center;justify-content:center}
.placeholder{color:var(--muted)}

.map-wrap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:16px;border:1px solid var(--border)}
.map-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%}

.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.grid textarea{grid-column:1/-1}
.checkbox{grid-column:1/-1}
.hp{display:none !important}
.form-msg{margin-top:8px}

.site-footer{margin-top:48px;border-top:1px solid var(--border);padding:24px 0}
.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.footer-nav{list-style:none;margin:0;padding:0}
.footer-nav li+li{margin-top:6px}
.tiny{font-size:12px;color:var(--muted);padding-top:12px}

@media (max-width:900px){
  .cards{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .site-nav .nav-toggle{display:inline-block}
  .site-nav ul{display:none;flex-direction:column;align-items:flex-start;border:1px solid var(--border);border-radius:12px;padding:8px;background:#fff;position:absolute;right:16px;top:60px}
  .site-nav[aria-expanded="true"] ul{display:flex}
}
