/* Original charcoal base, with sage replacing the orange site accent. */
:root,html[data-theme=dark]{--portfolio-bg:#141414;--portfolio-panel:#191919;--portfolio-ink:#efeeeb;--portfolio-muted:#a1a19c;--portfolio-line:#343432;--portfolio-accent:#b9d5b1;--portfolio-secondary:#b9d5b1;--bg:var(--portfolio-bg);--bg2:var(--portfolio-panel);--bg3:#1e1e1d;--fg:var(--portfolio-ink);--muted:var(--portfolio-muted);--border:var(--portfolio-line);--tp:var(--portfolio-ink);--ts:var(--portfolio-ink);--tt:var(--portfolio-muted);--tt-aa:var(--portfolio-muted);--ac:var(--portfolio-accent);--focus-ring:2px solid var(--portfolio-secondary);--case-bg:var(--portfolio-bg);--case-fg:var(--portfolio-ink);--case-muted:var(--portfolio-muted);--case-line:var(--portfolio-line);--case-panel:var(--portfolio-panel);--project:var(--portfolio-accent)}
html[data-theme=light]{--portfolio-bg:#fafaf7;--portfolio-panel:#f0f0ee;--portfolio-ink:#202020;--portfolio-muted:#64645f;--portfolio-line:#ddddd6;--portfolio-accent:#3f6b58;--portfolio-secondary:#3f6b58;--bg:var(--portfolio-bg);--bg2:var(--portfolio-panel);--fg:var(--portfolio-ink);--muted:var(--portfolio-muted);--border:var(--portfolio-line);--tp:var(--portfolio-ink);--ts:var(--portfolio-ink);--tt:var(--portfolio-muted);--tt-aa:var(--portfolio-muted);--ac:var(--portfolio-accent);--case-bg:var(--portfolio-bg);--case-fg:var(--portfolio-ink);--case-muted:var(--portfolio-muted);--case-line:var(--portfolio-line);--case-panel:var(--portfolio-panel)}
body{background:var(--portfolio-bg)!important;color:var(--portfolio-ink)}
.garage-body,.garage-shell,.home-cases,.home-thoughts{background-color:var(--portfolio-bg);color:var(--portfolio-ink)}
.home-cases{--case-muted:var(--portfolio-muted);--case-line:var(--portfolio-line);--case-panel:var(--portfolio-panel)}
html[data-theme=light] .home-cases{color:var(--portfolio-ink);--case-muted:var(--portfolio-muted);--case-line:var(--portfolio-line);--case-panel:var(--portfolio-panel)}
.personal-hero,.personal-about{color:var(--portfolio-ink)}
.personal-about,.personal-story-nav,.about-extras{border-color:var(--portfolio-line)}
.personal-hero a,.about-story-link,.about-story-nav a,.about-section-heading>a{border-color:var(--portfolio-accent)!important}
.personal-hero a:hover,.about-story-link:hover,.case-header a:hover,.thought-card:hover h2,.about-note:hover h3,.sidebar nav a:hover{color:var(--portfolio-accent)}
.home-work-link{background:var(--portfolio-panel);border-color:var(--portfolio-line);color:var(--portfolio-ink)!important}
.hdr-terminal,.garage-intro-hi,.gcmd,.gcmd-content,.hdr-jump{border-color:var(--portfolio-line);color:var(--portfolio-ink)}
.garage-body .hdr{background:linear-gradient(var(--portfolio-bg),transparent)}
:focus-visible,a:focus-visible,button:focus-visible,.personal-hero a:focus-visible,.bell-button:focus-visible{outline-color:var(--portfolio-secondary)!important}
.case-header,.sidebar{background-color:var(--portfolio-bg)}
.home-cases,.about-extras{background-image:repeating-linear-gradient(0deg,transparent 0,transparent 47px,rgba(185,213,177,.035) 47px,rgba(185,213,177,.035) 48px)}
.ps-sheet{background:var(--portfolio-panel);border-color:var(--portfolio-line)}
.ps-frame-meta span:last-child,.personal-caption{color:var(--portfolio-accent)!important}
.publication-link,.thought-read{color:var(--portfolio-accent)}
.projection-page{background:#101010!important}.projection-header{color:#efeeeb}.projection-caption{color:#efeeeb}.projection-copy{color:#a1a19c}
@media(prefers-reduced-transparency:reduce){.home-cases,.about-extras{background-image:none}}
.hdr-jump,.hdr-terminal,.garage-intro-hi{border-color:var(--portfolio-line)!important;color:var(--portfolio-ink)!important}
.garage-intro-hi:hover,.hdr-terminal:hover{border-color:var(--portfolio-accent)!important}
.gsb{--ac:var(--portfolio-accent);--border:var(--portfolio-line)}
.projection-nav{color:var(--portfolio-ink)}.projection-nav button{border-color:var(--portfolio-line);color:var(--portfolio-accent)}
.home-work-link{z-index:101}
@media(max-width:700px){.home-work-link{top:76px}.personal-hero{padding-top:108px}}

/* Replace the full orange family, including selections and translucent states. */
:root,html[data-theme=dark]{--ac-soft:#d2e4cd;--sel:#486344;--ac-dim:#b9d5b11a;--ac-b:#b9d5b138;--hdr-bg:#141414eb;--border-h:#ffffff40;--stage-glow:rgba(185,213,177,.12);--stage-edge:rgba(185,213,177,.025);--stage-floor:rgba(185,213,177,.045)}
html[data-theme=light]{--ac-soft:#416b50;--sel:#d2e4cd;--ac-dim:#3f6b5810;--ac-b:#3f6b5838;--hdr-bg:#fafaf7eb;--border-h:#0a0a0a2e;--stage-glow:rgba(63,107,88,.08);--stage-edge:rgba(63,107,88,.025);--stage-floor:rgba(63,107,88,.045)}
.personal-story .thoughts-inline{text-decoration-color:var(--portfolio-accent)}
.personal-story .thoughts-inline:hover{color:var(--portfolio-accent)}
.garage-body .garage-ascii,.gt-room--plaster{
 background-color:var(--portfolio-bg)!important;
 background-image:radial-gradient(ellipse 42% 52% at 50% 38%,var(--stage-glow),transparent 88%),radial-gradient(ellipse 60% 24% at 50% 100%,var(--stage-floor),transparent 90%),url('/stage/sage-room-grid.svg')!important;
 background-size:100% 100%,100% 100%,100% 100%!important;
 background-repeat:no-repeat!important;
 background-position:center!important;
}
.garage-body .garage-ascii--plaster:before,.gt-room--plaster:before{background:linear-gradient(var(--gt-light-angle,118deg),transparent 52%,var(--stage-edge) 64%,var(--stage-glow) 74%,var(--stage-edge) 84%,transparent 94%)!important}
.garage-body .garage-ascii--plaster:after,.gt-room--plaster .gt-room-back:after{background:radial-gradient(ellipse 40% 34% at 50% 46%,rgba(210,228,205,.25),rgba(185,213,177,.06) 50%,transparent 78%)}
@media(max-width:759px){.garage-body .garage-ascii{background-size:100% 100%,100% 100%,auto 100%!important}}

/* The mobile decorative canyon loop carried the old orange palette. */
.garage-body .garage-ascii-video{display:none}

/* Shared light / dark control; existing page-specific controls are superseded. */
:root{color-scheme:dark}html[data-theme=light]{color-scheme:light;--bg3:#e6e8e1;--project:var(--portfolio-accent)}
.theme-toggle,#theme{display:none!important}
.portfolio-theme-toggle{position:fixed;right:22px;top:14px;z-index:1200;display:grid;place-items:center;width:40px;height:40px;padding:9px;background:var(--portfolio-panel);color:var(--portfolio-ink);border:1px solid var(--portfolio-line);border-radius:50%;cursor:pointer;box-shadow:0 3px 12px #0000000a;touch-action:manipulation}
.portfolio-theme-toggle svg{width:21px;height:21px;display:block}.portfolio-theme-toggle:hover{border-color:var(--portfolio-accent);color:var(--portfolio-accent)}.portfolio-theme-toggle:focus-visible{outline:2px solid var(--portfolio-accent);outline-offset:4px}
.case-header{padding-right:82px}.garage-body .hdr{padding-right:82px!important}.projection-nav{padding-right:82px}.sc-hud--top{padding-right:82px}
html[data-theme=light] .hdr-jump,html[data-theme=light] .hdr-terminal{background:var(--portfolio-panel)}
html[data-theme=light] .contact-photo figcaption{color:var(--portfolio-muted)}
html[data-theme=light] .contact-story{background-image:radial-gradient(ellipse at 25% 45%,#87a67a18,transparent 65%)}
html[data-theme=light] .contact-story.is-dusk{background-image:radial-gradient(ellipse at 25% 45%,#87a67a2c,transparent 65%)}
/* A bright projection room still keeps its dark photographic film border. */
html[data-theme=light] .projection-page{background:var(--portfolio-bg)!important;--paper:var(--portfolio-ink)}
html[data-theme=light] .projection-stage{background:radial-gradient(ellipse at 55% 40%,#fffef9 0,#f2f1ea 60%,#e6e7df 100%)}
html[data-theme=light] .projection-intro p,html[data-theme=light] .projection-intro em,html[data-theme=light] .projection-intro>span,html[data-theme=light] .projection-console,html[data-theme=light] .projection-demo,html[data-theme=light] .frame-label,html[data-theme=light] .projected-frame p{color:var(--portfolio-muted)}
html[data-theme=light] .projection-nav{color:var(--portfolio-ink)}
html[data-theme=light] .lamp-status i,html[data-theme=light] .reel-progress span{background:var(--portfolio-accent)}
html[data-theme=light] .reel-progress{background:var(--portfolio-line)}
/* The alternate 3D view shares the same sage/neutral room in both modes. */
.sc-body{background:radial-gradient(ellipse at 50% 60%,var(--portfolio-panel),var(--portfolio-bg) 80%);color:var(--portfolio-ink)}
.sc-title,.sc-kicker,.sc-meta,.sc-back,.sc-hint,.sc-hint-sound,.sc-era,.sc-esc,.sc-open{color:var(--portfolio-ink)}.sc-tagline,.sc-focus-desc,.sc-era-tools{color:var(--portfolio-muted)}
.sc-dot:before{background:var(--portfolio-line)}.sc-dot--on:before{background:var(--portfolio-accent)}
.sc-sound{background:var(--portfolio-panel);border-color:var(--portfolio-line);color:var(--portfolio-ink)}.sc-sound[aria-pressed=true]{background:var(--portfolio-accent);color:var(--portfolio-bg)}
.sc-back{background-image:linear-gradient(var(--portfolio-ink),var(--portfolio-ink))}.sc-back:hover,.sc-back:focus-visible{color:var(--portfolio-bg)}
.sc-open:before,.sc-open:after{color:var(--portfolio-muted)}.sc-open:hover{background:var(--portfolio-ink);color:var(--portfolio-bg)}.sc-open:hover:before,.sc-open:hover:after{color:var(--portfolio-bg)}
.sc-bloom{background:radial-gradient(ellipse at 50% 44%,#b9d5b126,transparent 72%)}
@media(max-width:700px){.portfolio-theme-toggle{right:14px;top:12px;width:38px;height:38px}.case-header{padding-right:68px}.garage-body .hdr{padding-right:68px!important}.projection-nav{padding-right:68px;gap:12px}.sc-hud--top{padding-right:68px}.projection-nav>span{display:none}}
html[data-theme=light] .contact-story .field input,html[data-theme=light] .contact-story .field textarea{border-bottom-color:var(--portfolio-line)}
html[data-theme=light] .contact-story .field input:focus,html[data-theme=light] .contact-story .field textarea:focus{border-bottom-color:var(--portfolio-accent)}
html[data-theme=light] .contact-story .field ::placeholder{color:var(--portfolio-muted);opacity:1}
html[data-theme=light] .contact-story .term{box-shadow:inset 0 1px 0 #ffffff,0 16px 45px #20202018}
html[data-theme=light] .contact-photo img{box-shadow:0 16px 45px #20202020}
html[data-theme=light] .projection-actions button{border-color:var(--portfolio-line);color:var(--portfolio-ink)}
html[data-theme=light] .projection-actions button[aria-pressed=true]{color:var(--portfolio-accent);border-color:var(--portfolio-accent)}
html .sc-body{background:radial-gradient(ellipse at 50% 60%,var(--portfolio-panel),var(--portfolio-bg) 80%);color:var(--portfolio-ink)}
html .sc-title,html .sc-kicker,html .sc-meta,html .sc-back,html .sc-hint,html .sc-hint-sound,html .sc-era,html .sc-esc,html .sc-open{color:var(--portfolio-ink)}
html .sc-tagline,html .sc-focus-desc,html .sc-era-tools{color:var(--portfolio-muted)}
html .sc-back:hover,html .sc-open:hover{color:var(--portfolio-bg)}
