/* Four complete GRADE palettes; generated by tools/build_themes.py. */
:root,html[data-grade-theme="grade"]{--bg:#0c1d15;--surface:#12291e;--ink:#ede7db;--muted:#a8b5a8;--accent:#70c696;--cta-bg:#dfe4d2;--cta-ink:#172b1e;--cta-muted:#47604a;--cta-button-bg:#173e28;--cta-button-ink:#ede7db;--cta-link:#1b4b2d;--surface2:#1e3328;--line:#344139;--gold:#d7bd84;--accent-ink:#0c1d15;--accent-hover:#8ad0a9;--interactive-line:#787e74;--interactive-line-hover:#5aa17a;--field-line:#787e74;--field-bg:#0e2219;--dialog-bg:#12291e;--placeholder:#a8b5a8;--selected:#1e3d2e;--card-bg:#10251b;--footer-bg:#091610;--header-bg:rgba(12,29,21,0.97);--dock-bg:rgba(12,29,21,0.97);--visual-start:rgba(18,41,30,0.6);--visual-end:#12291e;--backdrop:rgba(0,0,0,.72);--hero-glow:rgba(112,198,150,0.11);--error:#edac94;--photo-link:#94d4b0;color-scheme:dark;}
html[data-grade-theme="night"]{--bg:#0e1114;--surface:#161b21;--ink:#e9edf2;--muted:#a3adb9;--accent:#bfd8ff;--cta-bg:#e3ecf8;--cta-ink:#101b2a;--cta-muted:#46556a;--cta-button-bg:#182b49;--cta-button-ink:#e9edf2;--cta-link:#154677;--surface2:#22272c;--line:#35393c;--gold:#bfd8ff;--accent-ink:#0e1114;--accent-hover:#cbdfff;--interactive-line:#777b7f;--interactive-line-hover:#98accb;--field-line:#777b7f;--field-bg:#111519;--dialog-bg:#161b21;--placeholder:#a3adb9;--selected:#2c343e;--card-bg:#13181c;--footer-bg:#0a0d0f;--header-bg:rgba(14,17,20,0.97);--dock-bg:rgba(14,17,20,0.97);--visual-start:rgba(22,27,33,0.6);--visual-end:#161b21;--backdrop:rgba(0,0,0,.72);--hero-glow:rgba(191,216,255,0.11);--error:#edac94;--photo-link:#cfe2ff;color-scheme:dark;}
html[data-grade-theme="warm"]{--bg:#14100c;--surface:#211b13;--ink:#f3ece2;--muted:#b8ac9a;--accent:#ffb547;--cta-bg:#f3ece2;--cta-ink:#211b13;--cta-muted:#685741;--cta-button-bg:#68400d;--cta-button-ink:#ffedd3;--cta-link:#724300;--surface2:#2d261e;--line:#3c3833;--gold:#ffb547;--accent-ink:#14100c;--accent-hover:#ffc268;--interactive-line:#7f7a73;--interactive-line-hover:#cb913a;--field-line:#7f7a73;--field-bg:#19140f;--dialog-bg:#211b13;--placeholder:#b8ac9a;--selected:#3e2f1a;--card-bg:#1c1711;--footer-bg:#0f0c09;--header-bg:rgba(20,16,12,0.97);--dock-bg:rgba(20,16,12,0.97);--visual-start:rgba(33,27,19,0.6);--visual-end:#211b13;--backdrop:rgba(0,0,0,.72);--hero-glow:rgba(255,181,71,0.11);--error:#edac94;--photo-link:#ffc875;color-scheme:dark;}
html[data-grade-theme="lab"]{--bg:#f2f4f6;--surface:#ffffff;--ink:#0f1b2d;--muted:#4f5d70;--accent:#1f5bff;--cta-bg:#0f1b2d;--cta-ink:#f2f4f6;--cta-muted:#c2ccdb;--cta-button-bg:#dce7ff;--cta-button-ink:#0f1b2d;--cta-link:#bfd8ff;--surface2:#f2f2f3;--line:#c9cdd2;--gold:#1f5bff;--accent-ink:#ffffff;--accent-hover:#1d53e6;--interactive-line:#858c96;--interactive-line-hover:#4d7dfd;--field-line:#858c96;--field-bg:#ffffff;--dialog-bg:#ffffff;--placeholder:#4f5d70;--selected:#e2eaff;--card-bg:#fafbfc;--footer-bg:#e8edf3;--header-bg:rgba(242,244,246,0.97);--dock-bg:rgba(242,244,246,0.97);--visual-start:rgba(255,255,255,0.6);--visual-end:#ffffff;--backdrop:rgba(0,0,0,.72);--hero-glow:rgba(31,91,255,0.07);--error:#a02d20;--photo-link:#c6daff;color-scheme:light;}
::selection{background:var(--accent);color:var(--accent-ink)}
.primary{color:var(--accent-ink)}
.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.secondary{border-color:var(--interactive-line)}
.secondary:hover{background:var(--surface2);border-color:var(--interactive-line-hover)}
.review-strip{background:var(--footer-bg)}
.site-header{background:var(--header-bg)}
.brand-sub{border-left:1px solid var(--interactive-line);color:var(--muted)}
.home-hero{background:radial-gradient(ellipse at 80% 40%,var(--hero-glow),transparent 55%)}
.hero-visual{background:linear-gradient(145deg,var(--visual-start),var(--visual-end))}
.visual-heading{border-bottom:1px solid var(--line)}
.visual-heading .mono{color:var(--muted)}
.visual-footer{border-top:1px solid var(--line)}
.art-grid{stroke:var(--line)}
.art-label{color:var(--muted)}
.light-toggle{border:1px solid var(--interactive-line)}
.light-toggle[aria-pressed=false]>span{background:var(--muted)}
.technical-plus{color:var(--muted)}
.car-outline{stroke:var(--interactive-line)}
.principle-strip p{color:var(--ink)}
.symptom-list button[aria-pressed=true]{background:linear-gradient(90deg,var(--selected),transparent)}
.solution-result{background:var(--surface)}
.filter-row button{border:1px solid var(--interactive-line)}
.service-card{background:var(--card-bg);border:1px solid var(--line)}
.service-card:hover{background:var(--surface2)}
.card-top .mono{color:var(--muted)}
.case-card{background:var(--card-bg)}
.case-card .technical-art{background:radial-gradient(ellipse at 50% 50%,var(--visual-start),var(--visual-end))}
.studio-logo{background:var(--surface)}
.cta-section{background:var(--cta-bg);color:var(--cta-ink)}
.cta-inner .eyebrow{color:var(--cta-muted)}
.cta-inner p{color:var(--cta-muted)}
.cta-inner .button.primary{background:var(--cta-button-bg);border-color:var(--cta-button-bg);color:var(--cta-button-ink)}
.cta-inner .text-link{color:var(--cta-link)}
.footer{background:var(--footer-bg)}
.footer-bottom{color:var(--muted)}
.breadcrumbs{color:var(--muted)}
.inline-config{background:var(--field-bg)}
.choice>span{border:1px solid var(--field-line)}
.choice-tick{border:1px solid var(--interactive-line)}
.choice input:checked+span{background:var(--selected)}
.steps-row li{border-top:1px solid var(--line)}
.notice{background:var(--surface)}
.visit-panel{background:var(--surface);border:1px solid var(--line)}
.visit-panel li p{color:var(--ink)}
.route-placeholder{background:repeating-linear-gradient(0deg,transparent,transparent 59px,var(--visual-start) 60px),repeating-linear-gradient(90deg,transparent,transparent 59px,var(--visual-start) 60px),var(--surface)}
dialog{border:1px solid var(--field-line);background:var(--dialog-bg)}
dialog::backdrop{background:var(--backdrop)}
.icon-button{border:1px solid var(--interactive-line)}
.field>label{color:var(--ink)}
.field input:not([type=file]),.field textarea,.field select{background:var(--field-bg);border:1px solid var(--field-line)}
.field input::placeholder,.field textarea::placeholder{color:var(--placeholder)}
.upload-area{border:1px dashed var(--interactive-line)}
.file-item{background:var(--field-bg)}
.form-error{color:var(--error)}
.request-dialog pre{background:var(--field-bg)}
.case-dialog .technical-art{background:var(--field-bg)}
.noscript{background:var(--surface2)}
@media(max-width:700px){.mobile-dock{background:var(--dock-bg)}}
.services-menu{background:var(--surface)}
.principle-copy p{color:var(--ink)}
.footer-phone{color:var(--ink)}.consent-choice input{accent-color:var(--accent)}.photo-visual{color:#e9edf2}.photo-visual figcaption a{color:var(--photo-link)}.cta-section :focus-visible{outline-color:var(--cta-link)}html[data-grade-theme="lab"] .brand-vector.brand-full:not([src$="grade-logo-dark.svg"]){filter:brightness(0)}

.design-switcher{position:fixed;left:6px;top:50%;transform:translateY(-50%);z-index:36;max-width:156px;border-radius:0 10px 10px 0;background:#202526f5;color:#f4f6f5;box-shadow:0 5px 24px #0004;backdrop-filter:blur(10px);font-family:Onest,Arial,sans-serif;font-size:12px;line-height:1.3}.design-switcher>summary>.design-switcher-label{font:inherit;color:inherit;transform:none}
.design-switcher>summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;min-height:40px;padding:10px 12px;font-size:11px;font-weight:500;letter-spacing:.03em;color:#f4f6f5}.design-switcher>summary::-webkit-details-marker{display:none}.design-switcher>summary>svg{width:16px;height:16px;flex-shrink:0}.design-switcher .picker-chevron{width:12px;height:12px;margin-left:auto}.design-switcher[open] .picker-chevron{transform:rotate(180deg)}.theme-options{display:grid;gap:5px;padding:0 6px 7px}.theme-options>button{display:flex;align-items:center;gap:7px;width:144px;min-height:38px;text-align:left;padding:7px 8px;border:1px solid #626b6a;border-radius:5px;background:#343c3b;color:#f4f6f5;font-size:11px;line-height:1.35;font-weight:500}.theme-options>button:hover{background:#47514f}.theme-options>button[aria-pressed="true"]{background:#f5f6f3;color:#17211c;border-color:#f5f6f3}.theme-chip{height:12px;width:12px;flex-shrink:0;border:1px solid #b2beb8;border-radius:50%}.chip-grade{background:#70c696}.chip-night{background:#bfd8ff}.chip-warm{background:#ffb547}.chip-lab{background:#1f5bff}.theme-check{margin-left:auto;opacity:0;font-size:12px}.theme-options>button[aria-pressed="true"] .theme-check{opacity:1}.theme-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.design-switcher>summary:focus-visible,.theme-options>button:focus-visible{outline:2px solid #fff;outline-offset:3px}body.menu-open .design-switcher,body:has(dialog[open]) .design-switcher{visibility:hidden;pointer-events:none}
@media(max-width:1599px) and (min-width:701px){.design-switcher:not([open])>summary{writing-mode:vertical-rl;padding:12px 8px;gap:8px}.design-switcher:not([open])>summary>.picker-chevron{margin:0;transform:rotate(90deg)}}
@media(max-width:700px){.design-switcher{top:auto;bottom:calc(84px + env(safe-area-inset-bottom));left:12px;transform:none;border-radius:8px;max-width:190px}.design-switcher>summary{min-height:42px;font-size:12px;padding:11px 12px}.theme-options>button{width:168px;min-height:44px;font-size:12px}.theme-options{padding:0 6px 7px}}
@media print{.design-switcher{display:none!important}}

