/* A shared theme preference across the portfolio and case study. */
:root{--page:#171717;--panel:#252229;--panel-alt:#202020;--text:#f3f1ef;--body-text:#d1cbd2;--muted:#bcb4c2;--line:#625b68;--highlight:#d8bdec;--control:#302b35}
:root[data-theme="light"]{--page:#fafafa;--panel:#f0edf5;--panel-alt:#fff;--text:#232027;--body-text:#45404a;--muted:#62596b;--line:#b8b0c0;--highlight:#705082;--control:#e8e1ef}
.theme-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;pointer-events:auto;transition:color .18s ease,background-color .18s ease}.theme-toggle:hover{color:var(--text);background:var(--panel)}.theme-toggle:focus-visible{outline:2px solid var(--highlight);outline-offset:2px}.theme-toggle[hidden]{display:none}
.theme-icon{position:absolute;width:19px;height:19px;transition:opacity .22s ease,transform .28s ease;pointer-events:none}.theme-sun{opacity:0;transform:rotate(-40deg) scale(.7)}.theme-moon{opacity:1;transform:rotate(0) scale(1)}[data-theme="dark"] .theme-sun{opacity:1;transform:rotate(0) scale(1)}[data-theme="dark"] .theme-moon{opacity:0;transform:rotate(25deg) scale(.7)}
@media(prefers-reduced-motion:reduce){.theme-toggle,.theme-icon{transition:none}}

body{background:var(--page);color:var(--text)}
.site-header{background:var(--page);color:var(--text);border-color:var(--line);gap:18px}.site-header nav{gap:17px}
.statement,.project-library,.experience{background:var(--panel-alt);color:var(--text)}
.statement .micro,.library-head .micro,.library-tag,.project-meta span{color:var(--highlight)}.statement em{color:var(--highlight)}
.library-head p,.library-grid p,.project-results,.project-meta,.experience-list p,.recognition p{color:var(--body-text)}.library-grid .project-stack{color:var(--highlight)}
.library-grid,.library-grid article,.library-grid details,.experience-list article,.recognition{border-color:var(--line)}.library-grid article:hover{background:var(--panel)}
.project-filters button{color:var(--text);border-color:var(--line)}.project-filters button[aria-pressed="true"]{background:var(--text);color:var(--page)}
.skills-section,.skill-groups article,.about,.creative-section{background:var(--panel);color:var(--text)}.skill-groups{background:var(--line);border-color:var(--line)}.skills-heading p,.skill-groups p,.about-copy p,.creative-section p{color:var(--body-text)}.skills-heading .micro,.skill-groups a,.creative-section .creative-lead{color:var(--highlight)}.about-label{color:var(--muted)}.experience-list .experience-role{color:var(--text)}
.work-intro,.project-track,.slide-atlas,.slide-caption,.slide-signal{background:var(--panel-alt);color:var(--text)}.work-intro h2 span,.work-intro .micro,.slide-details .micro,.stack-label{color:var(--highlight)}.work-intro p,.slide-details p{color:var(--body-text)}.role-line{color:var(--highlight)!important}.slide-actions a,.slide-actions a:first-child{color:var(--highlight);border-color:var(--highlight)}.slide-actions a:hover{color:var(--text);border-color:var(--text)}
.project-rail{background:var(--page);border-color:var(--line)}.project-rail button{color:var(--muted)}.project-rail button span{color:var(--highlight)}.project-rail button:hover,.project-rail button.is-active{color:var(--text)}.project-rail button.is-active:after{background:var(--highlight)}.track-controls{color:var(--muted);border-color:var(--line)}.track-controls button{color:var(--text);border-color:var(--line)}.track-controls button:hover{background:var(--text);color:var(--page)}
.contact,footer{background:var(--page);color:var(--text)}.contact h2 em{color:var(--highlight)}.contact>p,footer{color:var(--body-text)}footer{border-color:var(--line)}.contact-form,.contact-form input,.contact-form textarea{border-color:var(--line)}.contact-form>p{color:var(--body-text)}.contact-form input,.contact-form textarea{background:var(--panel);color:var(--text)}.contact-form button{background:var(--highlight);color:var(--page)}
[data-theme="light"] .opening-stick{background:#f5f3f7}[data-theme="light"] .hero-image{opacity:.24}[data-theme="light"] .hero-shade{background:linear-gradient(90deg,#f8f6f9ed,#f8f6f955),linear-gradient(0deg,#f8f6f9d9,transparent)}[data-theme="light"] .hero-copy,[data-theme="light"] .hero-reveal{color:#232027}[data-theme="light"] .hero-copy h1 span,[data-theme="light"] .hero-copy .micro,[data-theme="light"] .hero-reveal span:nth-child(2){color:#705082}[data-theme="light"] .hero-links a{color:#232027;border-color:#705082}[data-theme="light"] .hero-links a:first-child,[data-theme="light"] .hero-links a:hover{background:#232027;color:#fff}[data-theme="light"] .hero-progress{color:#423749}[data-theme="light"] .hero-progress i{background:#70508250}[data-theme="light"] .hero-progress i:after{background:#705082}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:var(--highlight)}
/* Match the case study to the same preference while keeping its composition. */
.case-page{background:var(--page);color:var(--text)}.case-page .topbar{background:var(--page);color:var(--text);gap:20px;padding-inline:5vw}.case-page .topbar nav{color:var(--body-text)}.case-page .monogram span{color:var(--highlight)}.case-page .header-cta{border-color:var(--line)}.case-hero,.case-process,.case-diagram,.case-end{background:var(--panel);color:var(--text)}.case-back,.case-eyebrow,.case-label,.case-facts span,.case-hero h1 em,.case-hero h1>span,.case-section h2 em,.case-process h2 em,.case-diagram h2 em,.case-try h2 em,.case-end h2 em,.case-diagram .case-label{color:var(--highlight)}.case-deck,.case-body>p,.case-body>p.case-lead,.decision p,.case-try p,.reflection-grid ul,.case-body>p.case-qualification,.case-note,.case-end>div>p{color:var(--body-text)}.case-section,.case-facts,.case-facts>div,.decision,.case-try{border-color:var(--line)}.case-facts a,.case-marquee{background:var(--highlight);color:var(--page)}.process-grid>div,.arch>div{background:var(--panel-alt);border-color:var(--line);color:var(--text);box-shadow:none}.process-grid span,.decision>span,.arch span{color:var(--highlight)}.process-grid p{color:var(--body-text)}.decision code,.case-try code{background:var(--control);color:var(--text)}.case-try-links a,.case-end-links a{color:var(--text);border-color:var(--line)}.case-try-links a:first-child,.case-end-links a:first-child{background:var(--highlight);color:var(--page)}.case-try-links a:hover,.case-end-links a:hover{background:var(--text);color:var(--page)}
@media(max-width:1100px){.site-header nav{gap:11px}.site-header{gap:14px}}
@media(max-width:850px){.site-header nav{background:var(--page);border-color:var(--line)}.menu-toggle{color:var(--text);border-color:var(--line)}.site-header .theme-toggle{order:1}.site-header .menu-toggle{order:2;margin-left:0}.site-header .wordmark{margin-right:auto}.case-page .topbar{flex-wrap:wrap;padding-block:14px}.case-page .topbar .theme-toggle{margin-left:auto}.case-page .header-cta{display:none}}
@media(max-width:420px){.site-header{gap:8px;padding-inline:4vw}.site-header .wordmark{font-size:.8rem}.menu-toggle{padding:10px;font-size:.8125rem}.case-page .topbar nav{gap:12px}}
@media(min-width:851px) and (max-width:1100px){.site-header .menu-toggle{display:block;order:2;color:var(--text);background:var(--control);border:1px solid var(--line);padding:10px 14px;min-height:44px;font-size:.875rem}.site-header .theme-toggle{order:1}.site-header .wordmark{margin-right:auto}.site-header nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--page);border-bottom:1px solid var(--line);padding:18px 6vw;grid-template-columns:1fr 1fr;gap:8px}.site-header nav.is-open{display:grid}.site-header nav a{padding:10px;font-size:1rem}}
