/* A native keyboard-operable button with switch semantics. */
.site-header .theme-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 6px; margin-left: auto; margin-right: 12px; flex-shrink: 0; min-height: 44px; min-width: 100px; padding: 4px; border: 0; border-radius: 8px; background: transparent; color: var(--ink); cursor: pointer; }
.theme-symbol { font: 22px/1 Arial,sans-serif; }
.theme-track { position: relative; display: block; width: 44px; height: 26px; border: 2px solid #c6a7ff; border-radius: 999px; background: #70439c; }
.theme-thumb { position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transform: translateX(18px); }
.theme-toggle[aria-checked=false] .theme-track { background: #57515f; border-color: #57515f; }
.theme-toggle[aria-checked=false] .theme-thumb { transform: translateX(0); }
.theme-toggle:focus-visible { outline: 3px solid var(--primary); outline-offset: 4px; }
@media(prefers-reduced-motion:no-preference) { .theme-thumb { transition: transform .18s ease; } }
@media(max-width:600px) { .site-header .theme-toggle { min-width: 92px; margin-right: 6px; gap: 4px; } }
html[data-theme=light] {
 color-scheme: light; --background: #faf9fc; --foreground: #232128; --ink: #232128; --ink-soft: #57515f; --muted-foreground: #57515f; --primary: #70439c; --cobalt: #70439c; --border: #d8d2df; --surface: #fff; --midnight: #f1edf5; --sky: #f0ecf6; --lilac: #eee8f5; --rose: #f4eef2; --perspective-blue: #f0eef6; --perspective-lavender: #eee8f5; --perspective-pink: #f4eef2; --shadow-soft: 0 12px 44px -24px rgb(44 30 60 / .18);
}
html[data-theme=light] :is(.site-header .desktop-nav,.site-header.is-scrolled .wordmark,.menu-toggle,.mobile-menu[data-slot=dialog-content],.contact.wrap,.case-meta,.edma-details,.approach-item,.capability:nth-child(4),.edma-metrics dl > div,.edma-image-trigger,.edma-zoom-viewport,.edma-lightbox[data-slot=dialog-content]) { background: var(--surface); border-color: var(--border); color: var(--ink); }
html[data-theme=light] :is(.case-section p,.case-section li,.edma-narrative p,.capability p,.contact > p:not(.eyebrow),.contact .eyebrow,.edma-metrics dt,.edma-visual-heading > p:last-child,.edma-panels figcaption,.edma-placeholder-note,.edma-end p,.edma-lightbox-heading [data-slot=dialog-description],.home-page .hero-topics,.case-meta,.case-visual .visual-caption) { color: var(--ink-soft); }
html[data-theme=light] :is(.contact h2,.contact h2 em,.home-page .hero-final,.edma-opportunity h2) { color: var(--ink); }
html[data-theme=light] :is(.site-header .desktop-nav a:last-child,.contact-icon,.skip) { background: var(--primary); color: #fff; }
html[data-theme=light] :is(.site-header .desktop-nav a:last-child:hover,.contact-icon:hover) { background: #59327f; color: #fff; }
html[data-theme=light] .wordmark::before { color: #fff; }
html[data-theme=light] :is(.text-link,.capability,.case-next,.edma-end) { border-color: var(--border); }
html[data-theme=light] .about-page .about { background: none; }
html[data-theme=light] .home-page .projects > .project { border-color: var(--border); }
html[data-theme=light] .home-page .project-copy > p { color: var(--ink-soft); }
html[data-theme=light] .home-page .project-copy .case-link { background: var(--surface); color: var(--ink); border-color: var(--border); }
html[data-theme=light] .home-page .project-copy .case-link:hover { background: var(--primary); color: #fff; }
html[data-theme=light] .home-page .projects :is(.visual-0,.visual-1,.visual-2) { background: #eeeaf2; color: var(--ink); }
html[data-theme=light] :is(.case-snapshot,.workshop-days strong,.home-page .projects .edma-card-art .eyebrow,.home-page .projects .edma-card-art h3 em) { color: var(--ink); }
html[data-theme=light] :is(.snapshot-scale > span,.workshop-days div > span:last-child,.home-page .projects .snapshot-result) { color: var(--ink-soft); border-color: var(--border); }
html[data-theme=light] :is(.snapshot-scale > strong,.snapshot-number,.day-label,.day-connector) { color: var(--primary); }
html[data-theme=light] .snapshot-flow li { background: var(--surface); border-color: var(--border); }
html[data-theme=light] .preview-window-bar { background: #e5deed; color: var(--ink); }
html[data-theme=light] .edma-preview-window { border-color: #c4b8d2; box-shadow: 0 16px 30px rgb(40 25 55 / .12); }
html[data-theme=light] :is(.sc-case .sc-opportunity,.pr-case .pr-day:nth-child(2),.pr-case .pr-training > div,.edma-opportunity) { background: #f0eaf6; border-color: var(--border); }
html[data-theme=light] :is(.edma .edma-placeholder,.edma .edma-wide .edma-placeholder) { background: #f2eef6; border-color: #bcb0c9; color: var(--ink-soft); }
html[data-theme=light] .contact-icon-group .copy-status { background: var(--surface); color: var(--ink); border-color: var(--border); }
html[data-theme=light] .edma-image-trigger:hover { background: #f2eef6; border-color: var(--primary); }
html[data-theme=light] .edma-opportunity .eyebrow { color: var(--ink-soft); }
html[data-theme=light] ::selection { background: #e1cfef; color: #232128; }

/* Override legacy fixed dark-mode colours at their actual selector specificity. */
html[data-theme=light] .home-page .project-copy > p:not(.project-category):not(.project-meta),
html[data-theme=light] .home-page .project-copy > p.project-category,
html[data-theme=light] .home-page .project-copy > p.project-meta { color: #494350; }
html[data-theme=light] .home-page .projects .edma-card-art h3 { color: #232128; }
html[data-theme=light] :is(.home-page .projects .visual-caption,footer.wrap,.site-header .desktop-nav .nav-unavailable,.mobile-menu nav > .nav-unavailable,.topic-dot) { color: #57515f; opacity: 1; }
html[data-theme=light] :is(.hero-topline .eyebrow,.home-page .hero-bottom,.home-page .hero-position .role-pill,.intro-prompts button,.technical-note) { background: #fff; border-color: #81758c; color: #494350; }
html[data-theme=light] :is(.hero-position .focus-label,.scroll-cue) { color: #57515f; }
html[data-theme=light] .intro-prompts button[data-state=active] { background: #70439c; color: #fff; }
html[data-theme=light] :is(.home-page .projects .sources span,.case-visual .sources span,.home-page .projects .brief,.case-visual .brief,.home-page .projects .learning-line,.case-visual .learning-line) { background: #fff; color: #494350; border-color: #81758c; }
html[data-theme=light] :is(.home-page .projects .brief h3,.case-visual .brief h3,.home-page .projects .learning-line h3,.case-visual .learning-line h3) { color: #232128; }
html[data-theme=light] :is(.home-page .projects .brief .tiny,.home-page .projects .brief > div,.home-page .projects .learning > .tiny,.home-page .projects .learning-line > span,.home-page .projects .learning-line p,.case-visual .learning > .tiny,.case-visual .learning-line > span,.case-visual .learning-line p,.home-page .projects .workflow-top,.home-page .projects .workflow-bottom,.home-page .projects .connector,.case-visual .workflow-top,.case-visual .workflow-bottom,.case-visual .connector) { color: #57515f; }
html[data-theme=light] :is(.case-visual .visual-1,.case-visual .visual-2) { background: #eeeaf2; color: #232128; }
html[data-theme=light] .home-page .hero h1 { opacity: 1; }
html[data-theme=light] :is(.menu-toggle,.edma-lightbox-control,.home-page .project-copy .case-link) { border-color: #81758c; }
