:root { --paper: #f7f7f3; --surface: #fff; --ink: #292b29; --muted: #646862; --line: #daddd5; --pale: #f0f1eb; --accent: #ed632b; color-scheme: light; background: var(--paper); color: var(--ink); }
:root[data-theme="dark"] { --paper: #141515; --surface: #202221; --ink: #edeee7; --muted: #acb2a8; --line: #363b36; --pale: #1a1d1b; --accent: #ff9566; color-scheme: dark; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --paper: #141515; --surface: #202221; --ink: #edeee7; --muted: #acb2a8; --line: #363b36; --pale: #1a1d1b; --accent: #ff9566; color-scheme: dark; }
}
body, .blog-page { background: var(--paper); color: var(--ink); }
.theme-toggle { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 38px; height: 38px; padding: 0; border: 1px solid #666; background: transparent; color: #eee; border-radius: 50%; font-size: 23px; line-height: 1; }
.theme-toggle:hover { opacity: .7; }
.header-inner { gap: 28px; }
.header-inner #main-nav { margin-left: auto; }
.header-inner .theme-toggle { margin-left: 0; }
.blog-header nav { margin-left: auto; }
.site-footer, .blog-footer, .band, .text-page .project-detail, .selected-projects { border-color: var(--line); }
.site-footer, .pale { background: var(--pale); }
.intro, .work-copy .intro, .blog-intro > p:last-child, .article-summary, .article-body p, .article-body li { color: var(--muted); }
.section-title, .work-copy h2, .selected-project h3, .contact-band h2, .text-page h1, .text-page h2, .blog-intro h1, .blog-card h2, .article-header h1, .article-section h2, .article-cta h2 { color: var(--ink); }
.form-field label, .form-privacy, .legal-note, .blog-eyebrow, .blog-card-meta, .article-meta, .blog-footer, .blog-back { color: var(--muted); }
.form-field label span { color: var(--muted); }
.form-field input, .form-field textarea, .form-field input:focus, .form-field textarea:focus { background: var(--surface); border-color: var(--line); color: var(--ink); }
.form-field textarea::placeholder { color: var(--muted); }
.button, .contact-form .button { background: var(--ink); color: var(--paper); }
.article-cta, .snapshot { background: var(--surface); border-color: var(--line); }
.blog-card-visual { color: #292b29; }
.article-toc > p, .article-toc ol, .blog-read { color: var(--muted); }
.blog-contact-link, .article-meta, .article-toc, .related-posts, .blog-index-cta { border-color: var(--line); }
.blog-header nav > a[aria-current] { color: #fff; }
.form-status[data-state="success"] { color: var(--accent); }
.inline-link, .inline-link:hover { color: var(--ink); border-color: var(--line); }
.text-page p, .text-page li, .site-footer { color: var(--muted); }
.text-page .callout, .back-top, .snapshot:first-child img { background: var(--pale); }
.footer-inner a:hover { color: var(--ink); }
.button:hover { background: var(--ink); opacity: .85; }
#main-nav > a.active { color: #eee; text-decoration: underline; text-underline-offset: 7px; }
#main-nav > a:hover, .blog-header nav > a:hover { color: #fff; }
:root[data-theme="dark"] .form-status[data-state="error"] { color: #f0b4ac; }
@media (max-width: 620px) { .header-inner { gap: 16px; } .header-inner .menu-toggle { margin-left: auto; } .header-inner #main-nav { margin-left: 0; } }
