/* BG Lab after hours: cobalt ink, blue-black canvas, tactile paper objects.
   Theme changes color only; scroll geometry and motion clocks stay independent. */
:root{color-scheme:light}
.theme-toggle{display:none;flex:0 0 44px;width:44px;height:44px;padding:0;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink)}
.theme-ready .theme-toggle{display:inline-flex}
.theme-toggle:hover{background:var(--soft)}
.theme-toggle svg{width:20px;height:20px;pointer-events:none}
.theme-toggle .theme-icon-sun{display:none}
html[data-theme=dark] .theme-toggle .theme-icon-moon{display:none}
html[data-theme=dark] .theme-toggle .theme-icon-sun{display:block}
@media(min-width:1200px){.theme-ready .header-inner{gap:16px}.theme-ready .desktop-nav{gap:17px}}
@media(max-width:767px){.theme-ready .header-inner{gap:8px}.theme-ready .menu-toggle{flex:0 0 36px}.theme-ready .theme-toggle{margin-left:auto}.theme-ready .header-action{margin-left:auto}.theme-ready .header-action+.theme-toggle{margin-left:0}}
@media(max-width:390px){.theme-ready .header-action{display:none}.theme-ready .header-inner>.theme-toggle{margin-left:auto}}

html[data-theme=dark]{
  color-scheme:dark;
  --paper:#10182b;
  --ink:#edf3ff;
  --muted:#afbdd2;
  --line:#35445e;
  --blue:#93afff;
  --soft:#202f50;
  --peach:#392d32;
  --lavender:#2d2b48;
  --lime:#303e32;
  --night-section:#152138;
  --night-surface:#1c2a42;
  --night-raised:#23344f;
  --night-button:#3659d9;
  --night-shadow:0 18px 42px #03091438;
}
html[data-theme=dark] ::selection{background:#5576df;color:#fff}
html[data-theme=dark] :is(a,button,summary,input,select,textarea,[tabindex]):focus-visible{outline-color:#b3c6ff}
html[data-theme=dark] .site-header{background:#10182bf5;border-bottom-color:var(--line)}
html[data-theme=dark] .mobile-contact{background:#10182bf5;border-top:1px solid var(--line);box-shadow:0 -6px 20px #03091438}
html[data-theme=dark] :is(.primary,.header-action,.mobile-contact>a:last-child,.document-controls button[aria-pressed=true]){background:var(--night-button);color:#fff;border-color:var(--night-button)}
html[data-theme=dark] :is(.primary,.header-action):hover{background:#4165e9;box-shadow:0 8px 24px #03091438}
html[data-theme=dark] :is(.secondary,.icon-button,.document-controls button,.mobile-contact>a){border-color:#6e809b}
html[data-theme=dark] :is(.light,.skip-link){background:#edf3ff;color:#172641}
html[data-theme=dark] .light:hover{background:#dce7ff}
html[data-theme=dark] :is(.mega-panel,dialog){background:var(--night-surface);border-color:var(--line);box-shadow:0 25px 70px #03091480}
html[data-theme=dark] dialog::backdrop{background:#030914b8}
html[data-theme=dark] .close-dialog{background:var(--night-surface)}
html[data-theme=dark] .mega-side{background:var(--peach)}

/* Pinned service chapters and the document map. */
html[data-theme=dark] .chapter-document{background:var(--night-surface);border-color:var(--line);box-shadow:var(--night-shadow)}
html[data-theme=dark] .chapter-document:hover{border-color:#7289b4;box-shadow:0 22px 48px #03091460}
html[data-theme=dark] .chapter-tenders .chapter-document{background:#23253e}
html[data-theme=dark] .chapter-refusal .mini-icon{background:#523b40;color:#f4b9a4}
html[data-theme=dark] .step-number{color:#c3b4ed}
html[data-theme=dark] :is(.doc-line,.map-lines i){background:#3c4d67}
html[data-theme=dark] :is(.documents-section,.needs-section){background:var(--night-section)}
html[data-theme=dark] .map-card{background:var(--night-surface);border-color:var(--line);box-shadow:var(--night-shadow)}
html[data-theme=dark] .map-card[aria-pressed=true]{background:#293d67;border-color:var(--blue);box-shadow:0 0 0 1px var(--blue),0 15px 36px #03091445}
html[data-theme=dark] .map-connections{color:#748db7}

/* Paper remains paper: isolate object colors from the UI token palette. */
html[data-theme=dark] :is(.dossier-art,.service-art-paper,.refusal-art,.optics-sheet){--ink:#213653;--muted:#596d88;--blue:#284bdd;--soft:#e9eeff;--peach:#f8e7df;--lavender:#ece8ff;--lime:#dff082;color:#213653}
html[data-theme=dark] :is(.hr-art-caption,.hv-art-caption,.art-caption,.service-art-caption,.assembly-caption){color:var(--muted)}
html[data-theme=dark] .dossier-art :is(.hr-art-caption,.hv-art-caption,.art-caption){color:#afbdd2}
html[data-theme=dark] .assembly-caption{color:#afbdd2}
html[data-theme=dark] .hr-orbit-line{border-color:#61789e55}
html[data-theme=dark] .hr-orbit-line-two{border-color:#61789e33}
html[data-theme=dark] .hr-stage-shadow{background:radial-gradient(ellipse,#03091480,transparent 68%)}
html[data-theme=dark] .service-art-symbol{color:#93afff20}
html[data-theme=dark] .floating-sheet{color:#213653;--muted:#596d88}
html[data-theme=dark] .optical-scanner{border-color:#a5b9d3aa;box-shadow:inset 0 2px 0 #dce7ff,0 12px 28px #03091455}

/* Content pages, decisions and interactive explanations. */
html[data-theme=dark] .refusal-teaser{background:#302831}
html[data-theme=dark] :is(.reason-list,.reason-result){background:var(--night-surface);border-color:var(--line)}
html[data-theme=dark] :is(.panel-label,.reason-choice small,.reason-result>p,.result-next span){color:var(--muted)}
html[data-theme=dark] .reason-choice>.icon{color:#b1a4aa}
html[data-theme=dark] :is(.reason-choice[aria-pressed=true],.reason-choice[aria-pressed=true]>.icon){color:var(--blue)}
html[data-theme=dark] .reason-choice{border-color:var(--line)}
html[data-theme=dark] .result-next{border-color:var(--line)}
html[data-theme=dark] :is(.check-panel,.requisites){background:var(--night-surface)}
html[data-theme=dark] .comparison-grid article{background:#222a42;border-color:#4a4664}
html[data-theme=dark] .compare-sign{background:#333951}
html[data-theme=dark] :is(.comparison-grid p,.cost-note p){color:#c4c0d5}
html[data-theme=dark] .refusal-boundary{background:#1c2a42;color:var(--ink)}
html[data-theme=dark] :is(.demonstration-media,.lab-shortcuts a){background:var(--soft);border-color:var(--line)}
html[data-theme=dark] .demonstration-media button{background:var(--night-surface);border-color:var(--line)}

/* Photos retain their natural colors; surrounding surfaces carry the theme. */
html[data-theme=dark] .people-section{background:var(--night-section)}
html[data-theme=dark] :is(.people-heading h2,.team-member h3){color:var(--ink)}
html[data-theme=dark] :is(.people-heading p,.team-member p,.team-position,.people-principles p,.people-directions){color:var(--muted)}
html[data-theme=dark] .team-shell{background:var(--night-surface)}
html[data-theme=dark] .team-track{scrollbar-color:#63789b transparent}
html[data-theme=dark] .team-portrait{background:var(--night-raised)}
html[data-theme=dark] .team-buttons button{background:var(--night-surface);border-color:#6e809b;color:var(--blue)}
html[data-theme=dark] .team-buttons button:hover:not(:disabled){background:var(--night-button);border-color:var(--night-button);color:#fff}
html[data-theme=dark] .people-principles>div+div{border-color:var(--line)}
html[data-theme=dark] .depth-card{border-color:var(--line)}
html[data-theme=dark] .depth-case-story{background:#10182b33}
html[data-theme=dark] .depth-case-quote,
html[data-theme=dark] .carousel-ready .has-case-photo .depth-case-quote{background:#10182b33}
html[data-theme=dark] .has-case-photo .depth-case-story .depth-case-quote{background:transparent}
html[data-theme=dark] .case-author>span{background:var(--night-raised)}
html[data-theme=dark] .case-photo{background:var(--night-surface)}

/* Keep bank marks in their official colors on neutral logo plates. */
html[data-theme=dark] .trust-section{background:linear-gradient(180deg,#17263f,#152138 240px);border-color:var(--line)}
html[data-theme=dark] :is(.trust-signature p>span,.trust-principle p,.trust-banks-heading p,.trust-bank-note){color:var(--muted)}
html[data-theme=dark] .trust-principle>span{color:var(--blue)}
html[data-theme=dark] :is(.trust-principle,.trust-banks){border-color:var(--line)}
html[data-theme=dark] .verified-bank,
html[data-theme=dark] .bank-marquee .verified-bank{background:#e8edf5;border-color:#d7deeb;color:#213653}
html[data-theme=dark] .bank-motion-toggle{color:var(--ink);border-color:#6e809b}
html[data-theme=dark] .bank-motion-toggle:hover{background:var(--night-raised);border-color:var(--blue)}

/* Forms have their own elevation and native dark controls. */
html[data-theme=dark] .request-section{background:#192746}
html[data-theme=dark] .request-note{color:var(--muted)}
html[data-theme=dark] .inquiry-form{background:var(--night-surface)}
html[data-theme=dark] .inquiry-form :is(input,select,textarea){background:#121e33;border-color:#71839f;color:var(--ink);accent-color:#93afff}
html[data-theme=dark] .inquiry-form :is(input,textarea)::placeholder{color:#a2b1c9;opacity:1}
html[data-theme=dark] .optional{color:#a2b1c9}
html[data-theme=dark] .form-status{color:#a3e0b8}
html[data-theme=dark] .form-errors{background:#432d36;border-color:#b77a7f;color:#ffcac5}
html[data-theme=dark] .inquiry-form [aria-invalid=true]{border-color:#ff9d98}
html[data-theme=dark] .form-details{border-color:var(--line)}

/* The public design archive uses the same surrounding UI, without recoloring renders. */
html[data-theme=dark] :is(.concept-card,.concept-navigation){background:var(--night-surface);border-color:var(--line)}
html[data-theme=dark] .concept-preview{background:var(--soft)}
html[data-theme=dark] .concept-preview-object{background:#101d35}
html[data-theme=dark] :is(.concept-card p,.lab-outro p,.concept-navigation .back-to-lab){color:var(--muted)}
html[data-theme=dark] .concept-navigation>.container>div>a{border-color:var(--line)}
html[data-theme=dark] .concept-navigation a>span{color:var(--muted)}
html[data-theme=dark] .concept-navigation a[aria-current]{background:var(--night-button);border-color:var(--night-button);color:#fff}
html[data-theme=dark] .concept-navigation a[aria-current]>span{color:#edf3ff}
html[data-theme=dark] .lab-shortcuts a:hover{background:var(--night-raised)}
html[data-theme=dark] .cv-v3{background:var(--night-section);color:var(--ink)}
html[data-theme=dark] .cv-v3 .cv-atmosphere{background:radial-gradient(ellipse at 24% 50%,#34496955,transparent 70%)}
html[data-theme=dark] .cv-v3 .cv-kicker{color:var(--blue)}
html[data-theme=dark] .cv-v3 .cv-copy>p{color:var(--muted)}
html[data-theme=dark] .cv-v3 .cv-secondary{color:var(--blue);border-color:#7085ae}

/* Retain the oversized, high-contrast cobalt signature from the light theme. */
html[data-theme=dark] .footer{background:#0d172d}
@media(prefers-reduced-motion:reduce){.theme-toggle{transition:none}}
