/* Three studio palettes; photographic sets and physical materials keep their colours. */
:root,:root[data-theme=signature]{--signature-ink:#2b1939;--signature-ink-soft:#463352;--signature-paper:#f5f1e9;--signature-paper-2:#ebe6dd;--signature-white:#fffdf7;--signature-accent:#dbee9e;--signature-accent-ink:#526526;--signature-accent-wash:#e9ebd8;--signature-muted:#736879;--signature-inverse:#faf7ef;--signature-inverse-muted:#cfc6d3;--ambient-line-accent:rgba(83,102,39,.19);--ambient-line-ink:rgba(43,25,57,.1)}
:root[data-theme=ocean]{--signature-ink:#102f38;--signature-ink-soft:#294b54;--signature-paper:#f1f3ef;--signature-paper-2:#e3e9e3;--signature-white:#fbfdf8;--signature-accent:#b4e6cf;--signature-accent-ink:#28644f;--signature-accent-wash:#deece2;--signature-muted:#596b70;--signature-inverse:#f3faf6;--signature-inverse-muted:#bed0d2;--ambient-line-accent:rgba(40,100,79,.19);--ambient-line-ink:rgba(16,47,56,.1)}
:root[data-theme=terre]{--signature-ink:#3b241e;--signature-ink-soft:#5b3e32;--signature-paper:#f5efe6;--signature-paper-2:#eae0d3;--signature-white:#fffaf2;--signature-accent:#efbd91;--signature-accent-ink:#8d4f2f;--signature-accent-wash:#f0e0cf;--signature-muted:#76675f;--signature-inverse:#fff7ee;--signature-inverse-muted:#d9c8bb;--ambient-line-accent:rgba(141,79,47,.19);--ambient-line-ink:rgba(59,36,30,.1)}
:root{--ink:var(--signature-ink);--ink-soft:var(--signature-ink-soft);--paper:var(--signature-paper);--paper-2:var(--signature-paper-2);--white:var(--signature-white);--lime:var(--signature-accent);--muted:var(--signature-muted);--line:color-mix(in srgb,var(--ink) 16%,transparent);--accent:var(--signature-accent-ink)}
html,.ambient-background{background:var(--paper)}
body{color:var(--ink)}
::selection{background:var(--lime);color:var(--ink)}
:focus-visible{outline-color:var(--accent)}
.ambient-glow{background:radial-gradient(ellipse at 80% 15%,color-mix(in srgb,var(--lime) 25%,transparent),transparent 50%),radial-gradient(ellipse at 15% 80%,color-mix(in srgb,var(--ink) 7%,transparent),transparent 45%)}
.site-header{background:color-mix(in srgb,var(--white) 94%,transparent);border-color:var(--white);box-shadow:0 8px 34px color-mix(in srgb,var(--ink) 5%,transparent)}
.brand-name small,.nav a{color:var(--muted)}
.brand-mark{background:var(--ink);color:var(--lime)}
.nav a:hover{background:var(--paper-2);color:var(--ink)}
.nav .nav-contact{background:var(--ink);color:var(--white)}
.nav .nav-contact:hover{background:var(--ink-soft)}
.nav-contact span{background:var(--lime);color:var(--ink)}
.eyebrow,.production-head>p,.project-head p,.project-card p,.direction-card p,.atelier-copy>p,.listening-heading>p,.listening-row p,.method-top p,.step p{color:var(--muted)}
.eyebrow::before{background:var(--accent)}
.button{background:var(--ink);color:var(--white)}
.button:hover{background:var(--ink-soft);box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 12%,transparent)}
.button-light{background:transparent;color:var(--ink);border-color:var(--line)}
.button-light:hover{background:var(--paper-2)}
.hero{background:var(--ink);color:var(--signature-inverse);box-shadow:0 20px 70px color-mix(in srgb,var(--ink) 7%,transparent)}
.hero::before{background:radial-gradient(circle,color-mix(in srgb,var(--lime) 10%,transparent),transparent 65%)}
.hero .eyebrow,.hero-lede{color:var(--signature-inverse-muted)}
.hero .eyebrow::before{background:var(--lime)}
.hero h1 span{color:var(--lime)}
.hero .button{background:var(--lime);color:var(--ink)}
.hero .button:hover{background:color-mix(in srgb,var(--lime) 80%,white)}
.hero .button-light{background:transparent;color:var(--signature-inverse);border-color:color-mix(in srgb,var(--white) 30%,transparent)}
.hero .button-light:hover{background:color-mix(in srgb,var(--white) 8%,transparent)}
.opening-caption{color:var(--signature-inverse-muted)}
.opening-bottom button{color:var(--ink);background:color-mix(in srgb,var(--white) 92%,transparent)}
.intro,.lab,.contact{background:var(--ink);color:var(--signature-inverse)}
.intro p,.lab p,.contact-copy,.email-note{color:var(--signature-inverse-muted)}
.intro .eyebrow,.lab .eyebrow,.contact .eyebrow{color:var(--signature-inverse-muted)}
.intro h2 em,.contact h2 span{color:var(--lime)}
.intro .eyebrow::before,.lab .eyebrow::before,.contact .eyebrow::before{background:var(--lime)}
.production-head h2 em,.directions h2 em,.atelier-copy h2 em,.listening h2 em{color:var(--accent)}
.motion-ribbon{border-color:var(--line);color:var(--muted)}
.ribbon-track b{color:var(--accent)}
.sector-selector,.sector-choice{border-color:var(--line)}
.sector-choice,.sector-number{color:var(--muted)}
.sector-choice[aria-pressed=true],.sector-choice:hover{color:var(--ink)}
.sector-choice[aria-pressed=true]::before{background:var(--accent)}
.sector-choice[aria-pressed=true] .sector-number,.sector-arrow{color:var(--accent)}
.view-switch{border-color:var(--line);background:var(--white)}
.view-switch button{color:var(--muted)}
.view-switch button[aria-pressed=true]{background:var(--ink);color:var(--white)}
#production-stage,#opening-stage,.scene-panel #scene3d{border-color:var(--white)}
.production-toolbar,.scene-toolbar{justify-content:flex-end;gap:0;padding-top:12px}
.production-toolbar button,.scene-toolbar button{background:var(--white);border-color:var(--line);color:var(--ink);min-height:40px;padding:8px 16px}
.production-toolbar button:hover,.scene-toolbar button:hover{background:var(--lime);border-color:var(--lime)}
.production-description{border-color:var(--line)}
.production-kicker{color:var(--accent)}
.production-description h3{color:var(--ink)}
.part-card{background:var(--white);color:var(--ink);border-color:var(--line)}
.part-card:hover{border-color:var(--accent);background:var(--paper)}
.part-card[aria-pressed=true]{background:var(--signature-accent-wash);border-color:var(--accent)}
.project-card{background:var(--white);border-color:var(--line);box-shadow:0 10px 32px color-mix(in srgb,var(--ink) 4%,transparent)}
.project-card:hover{border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 20px 55px color-mix(in srgb,var(--ink) 8%,transparent)}
.project-type,.project-number,.project-footnote{color:var(--muted)}
.project-link{background:var(--paper);color:var(--ink);border-color:var(--line)}
.project-link:hover{background:var(--signature-accent-wash);border-color:var(--accent)}
.lab-controls button{color:var(--signature-inverse);border-color:color-mix(in srgb,var(--white) 25%,transparent)}
.lab-controls button[aria-pressed=true]{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.listening-row{border-color:var(--line)}
.listening-row>span,.listening-row>b{color:var(--accent)}
.method{background:var(--paper-2)}
.step{background:color-mix(in srgb,var(--white) 75%,transparent);border-color:var(--white)}
.step:hover{background:var(--white)}
.step-num{background:var(--signature-accent-wash);color:var(--accent)}
.domain-pill{color:var(--signature-inverse-muted);border-color:color-mix(in srgb,var(--white) 15%,transparent)}
.domain-pill strong{color:var(--lime)}
.email-box h3,.email-address,.copy-btn{color:var(--signature-inverse)}
.copy-btn:hover{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.footer,.footer a,.texture-credits,.footer .texture-credits a{color:var(--signature-inverse-muted)}
.motion-toggle{background:color-mix(in srgb,var(--white) 95%,transparent);color:var(--ink);border-color:var(--line);box-shadow:0 6px 20px color-mix(in srgb,var(--ink) 8%,transparent)}
.atelier-scroll{height:170svh}
.theme-picker{display:flex;align-items:center;gap:8px;margin-top:30px;flex-wrap:wrap}
.theme-picker>span{font-size:10px;color:var(--signature-inverse-muted);margin-right:6px}
.theme-picker button{display:flex;align-items:center;gap:7px;min-height:44px;padding:6px 10px;border:1px solid transparent;background:transparent;border-radius:100px;color:var(--signature-inverse-muted);cursor:pointer}
.theme-picker button[aria-pressed=true]{border-color:color-mix(in srgb,var(--lime) 50%,transparent);color:var(--signature-inverse)}
.theme-picker button:hover{background:color-mix(in srgb,var(--white) 8%,transparent)}
.theme-picker button b{font-size:10px;font-weight:500}
.theme-swatch{display:block;width:29px;height:29px;border:1px solid #ffffff60;border-radius:50%;background:conic-gradient(var(--swatch-ink) 0 33.33%,var(--swatch-paper) 33.33% 66.66%,var(--swatch-accent) 66.66%);transform:rotate(-30deg)}
.theme-picker button[aria-pressed=true] .theme-swatch{box-shadow:0 0 0 3px color-mix(in srgb,var(--white) 12%,transparent)}
@media(max-width:900px){.sector-choice[aria-pressed=true]{background:var(--white);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}}
@media(max-width:680px){.js .menu-toggle,.js .nav{background:var(--white)}.theme-picker{margin-top:22px;gap:4px}.theme-picker>span{flex-basis:100%;font-size:9px;margin-bottom:2px}.theme-picker button{padding:5px 9px}.theme-picker button b{font-size:10px}.theme-swatch{width:25px;height:25px}.atelier-scroll{height:160svh}.production-toolbar,.scene-toolbar{padding-top:10px}.production-toolbar button,.scene-toolbar button{min-height:38px;min-width:88px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.atelier-scroll{height:auto}.theme-picker button{transition:none}}
