/* All surfaces share the selected palette; primary buttons retain accessible blue. */
:root { --page:#ffffff; --surface:#ffffff; --closing:#0f172a; --button:#2563eb; color-scheme:light; }
:root[data-theme="grey"] { --page:#e9edf1; --surface:#f5f7f9; --light:#dde4ec; --navy:#172235; --muted:#45566b; --line:#b8c4d1; --blue:#174fc4; }
:root[data-theme="dark"] { color-scheme:dark; --page:#101722; --surface:#192331; --light:#202d3e; --navy:#e9eef6; --muted:#b9c6d8; --line:#45566b; --blue:#92b9ff; --closing:#192b45; }
body { background:var(--page); font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif; line-height:1.7; }
h1,h2,h3 { letter-spacing:-.025em; font-weight:600; text-wrap:balance; }
.hero-title { letter-spacing:-.015em; }
.project-card,.button.secondary,.tags span,.menu,.skip { background:var(--surface); }
.button { background:var(--button); border-color:var(--button); color:#fff; }
.button.secondary { color:var(--navy); border-color:var(--line); }
.closing { background:var(--closing); color:#fff; }
.caption { color:var(--muted); font-size:12px; }
.eyebrow { font-size:12px; letter-spacing:.12em; }
.card-body .eyebrow { font-size:11px; }
footer p,footer small { font-size:12px; }
a:focus-visible,button:focus-visible,select:focus-visible { outline-color:var(--blue); }
.theme-control { display:flex; align-items:center; gap:8px; margin-left:auto; font-size:12px; color:var(--muted); white-space:nowrap; }
.theme-control select { font:inherit; color:var(--navy); background:var(--surface); border:1px solid var(--line); border-radius:5px; padding:9px 26px 9px 10px; min-height:40px; }
header { flex-wrap:wrap; column-gap:24px; row-gap:12px; }
nav { gap:20px; }
@media(max-width:680px) { .theme-control { order:2; margin-left:0; } nav { order:3; } .menu { margin-left:auto; } .theme-control select { min-height:44px; } }
