:root { --bg:#fff; --fg:#1b1d21; --muted:#5a6068; --accent:#d9480f; --band:#f3f4f6; --dark:#15171a; }
@media (prefers-color-scheme: dark) {
  :root { --bg:#111316; --fg:#eceef1; --muted:#9aa1ab; --band:#1a1d21; --dark:#0a0b0d; }
}
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; background:var(--bg); color:var(--fg); line-height:1.6; }
a { color: var(--accent); }
.wrap { max-width: 1000px; margin: 0 auto; padding: 0 16px; }
.section { padding-top: 56px; padding-bottom: 56px; }
.site-header { position: sticky; top:0; background: var(--dark); z-index: 10; }
.bar { display:flex; justify-content:space-between; align-items:center; height:60px; }
.brand { color:#fff; font-weight:800; text-decoration:none; font-size:1.2rem; }
nav a { color:#d5d8dd; margin-left:20px; text-decoration:none; }
nav a:hover { color:#fff; }
.hero { background: linear-gradient(135deg, #15171a, #2b2f36); color:#fff; padding: 96px 0; }
.hero h1 { font-size: clamp(2.2rem, 6vw, 3.8rem); margin:0 0 12px; }
.lead { font-size:1.2rem; color:#d5d8dd; max-width:560px; margin-bottom:28px; }
.btn { display:inline-block; background:var(--accent); color:#fff; padding:12px 24px; border:0; border-radius:6px; font-weight:700; text-decoration:none; cursor:pointer; font-size:1rem; }
.btn:hover { filter: brightness(1.1); }
.cards { display:grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap:20px; }
.cards article { background:var(--band); padding:24px; border-radius:8px; }
.cards h3 { margin-top:0; }
.band { background: var(--band); }
.points { padding-left:20px; font-size:1.1rem; }
.contact { display:grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap:32px; }
footer { background:var(--dark); color:#9aa1ab; padding:24px 0; text-align:center; }
nav a[aria-current="page"] { color:#fff; font-weight:700; }
.notice { display:inline-block; margin:0 0 16px; padding:4px 12px; border:1px solid #9aa1ab; border-radius:999px; font-size:.9rem; color:#d5d8dd; }
.btn-ghost { background:transparent; border:2px solid #fff; padding:10px 22px; margin-left:8px; }
.narrow { max-width: 760px; }
.page-title { background: linear-gradient(135deg, #15171a, #2b2f36); color:#fff; padding:48px 0; }
.page-title h1 { margin:0 0 8px; font-size: clamp(1.9rem, 5vw, 2.8rem); }
.page-title .lead { margin-bottom:0; }
footer p { margin:4px 0; }
footer a { color:#d5d8dd; }
@media (max-width: 640px) { .bar { height:auto; flex-wrap:wrap; padding-top:10px; padding-bottom:10px; } nav a { margin:0 14px 0 0; display:inline-block; } .btn-ghost { margin:12px 0 0; } }
