/* UI palettes only: films, stills and the reflective sculpture keep their colours. */
:root{color-scheme:dark}
:root[data-theme=light]{color-scheme:light;--charcoal:#efe3ca;--panel:#e1dacb;--cream:#090f11;--paper:#152124;--muted:#293633;--teal:#20534b;--purple:#5e3e75;--line:#293e3b38}
.nav-actions{display:flex;align-items:center;gap:clamp(20px,3vw,48px)}
.theme-toggle{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;place-items:center;flex:none;width:72px;height:44px;padding:5px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);transition:border-color .2s,background .25s}
.theme-toggle[hidden]{display:none}
.theme-toggle:hover{border-color:var(--teal)}
.theme-toggle svg{position:relative;z-index:1;width:18px;height:18px;pointer-events:none}
.theme-thumb{position:absolute;left:5px;top:5px;width:30px;height:32px;border-radius:50%;background:var(--cream);box-shadow:0 1px 4px #0002;transform:translateX(30px);transition:transform .32s var(--ease),background .25s;pointer-events:none}
.theme-toggle .theme-moon{color:var(--charcoal)}
[data-theme=light] .theme-thumb{transform:translateX(0)}
[data-theme=light] .theme-toggle .theme-sun{color:var(--charcoal)}
[data-theme=light] .theme-toggle .theme-moon{color:var(--muted)}
[data-theme=light] .site-header{background:#efe3cae8}
[data-theme=light] .brand img{filter:brightness(0) saturate(100%)}
[data-theme=light] .london-world{background:var(--charcoal)}
/* Each daylight plate rides the original plane: toggling never changes the camera. */
.london-plane>.london-image{position:absolute;inset:0;transition:opacity .8s ease}
.london-night{opacity:1}.london-day{opacity:0}
[data-theme=light] .london-world[data-day-ready=true] .london-night{opacity:0}
[data-theme=light] .london-world[data-day-ready=true] .london-day{opacity:1}
/* Neutral daylight keeps the blue sky and stone visible behind the dark copy. */
[data-theme=light] .london-world:after{background-image:linear-gradient(90deg,#f4f1e735,transparent 26%,transparent 74%,#f4f1e735);background-color:rgb(244 241 231 / calc(.25 + var(--scene-shade) * .65 - var(--tube-open,0) * .25))}
[data-theme=light] .project-copy .summary,[data-theme=light] .service p,[data-theme=light] .section-description,[data-theme=light] .process-step p,[data-theme=light] .about-copy>p.muted{color:#152124}
[data-theme=light] .tool-badge{color:var(--paper)}
[data-theme=light] .tool-badge img.tool-mono{filter:none}
[data-theme=light] .floating-film{background:#d9e1d4;border-color:#275d5440;box-shadow:0 26px 50px #17272230,0 1px 1px #fff8}
[data-theme=light] .float-offerbook{background:#e4daeb;border-color:#6d4c8640}
[data-theme=light] .project-media{border-color:#293e3b30;box-shadow:0 24px 52px #13252130}
[data-theme=light] .journey-active .journey-panel .project-media{box-shadow:none}
[data-theme=light] .portrait{border-color:#6d4c8640;box-shadow:0 30px 65px #261d3330}
[data-theme=light] .still-grid img{border-color:#293e3b30}
[data-theme=light] .tube-chapter-label{color:var(--paper)}
[data-theme=light] .tube-is-open .tube-chapter-label{color:#f4f0e7}
[data-theme=light] .tube-is-open .tube-chapter-label span:last-child{color:#b3e1d3}
[data-theme=light] .line-accent{--drawing-ink:#101c1f;--drawing-guide:#264d45;--drawing-highlight:#654082;--drawing-node:#f4ecda;--drawing-edge:#fff5deeb;--drawing-shadow:#fff5de99}
/* Controls sit over untouched footage, so retain their own high-contrast palette. */
.preview-sound,.hero-pause{color:#f4f0e7}
.preview-sound:hover,.preview-sound:focus-visible{border-color:#efe3ca}
.preview-sound[data-muted=false]{color:#090f11;background:#efe3ca;border-color:#efe3ca}
@media(max-width:800px){.nav-actions{gap:20px}.site-header nav{gap:16px}}
@media(max-width:700px){.site-header nav a:not(:first-child):not(:last-child){display:none}}
@media(max-width:600px){
 .nav-shell{gap:12px}.nav-actions{gap:12px}.site-header nav{gap:12px}.site-header nav a{font-size:13px}
 .site-header .brand{gap:6px}.site-header .brand img{width:79px;height:auto}.site-header .brand span{font-size:9px;letter-spacing:.05em}
 .theme-toggle{width:64px}.theme-thumb{width:26px;transform:translateX(26px)}.theme-toggle svg{width:17px;height:17px}
}
@media(max-width:360px){.site-header{padding-inline:16px}.nav-shell{gap:8px}.nav-actions{gap:8px}.site-header nav{gap:10px}.site-header .brand img{width:71px}}
@media(prefers-reduced-motion:reduce){html:not([data-motion=enabled]) .theme-thumb,html:not([data-motion=enabled]) .london-plane>.london-image{transition:none}}
