/* Whole-page color studies. Shared semantic tokens keep every section in one palette. */
:root,html[data-theme="bronze"]{
 --paper:#f0ece4;--paper-light:#fbf8f2;--ink:#292e27;--muted:#60695a;--line:#cec8bb;--bronze:#806746;--accent:#d8bd91;--dark:#212820;
 --surface:#e5dfd3;--surface-2:#dfd8ca;--card:#fcfaf5;--deep:#17201b;--on-dark:#f6f1e8;--dark-muted:#c3cbbd;--dark-subtle:#a5b29b;--dark-line:#4a5444;--dark-accent:#dec399;
 --ribbon:#d4c2a2;--ribbon-ink:#30382b;--cta:#30382b;--cta-ink:#f7f3eb;--light-cta:#f0e3ca;--light-cta-ink:#292e27;
 --veil:19 27 21;--accent-rgb:216 189 145;--signal:var(--dark-accent);--circuit:#c2cba9;
 --header-glass:#f0ece4f5;
 --accent-bright:#f2d9af;--color-scheme:light;
}
html[data-theme="cyan"]{
 --paper:#101b22;--paper-light:#14232c;--ink:#edf5f6;--muted:#acbdc4;--line:#30444f;--bronze:#6ce4de;--accent:#6ce4de;--dark:#081419;
 --surface:#182a34;--surface-2:#1b3039;--card:#182b35;--deep:#071014;--on-dark:#f0fbfb;--dark-muted:#b2cbd1;--dark-subtle:#9db9c1;--dark-line:#28424a;--dark-accent:#78e8e0;
 --ribbon:#75e4dc;--ribbon-ink:#092c32;--cta:#78e8e0;--cta-ink:#0b242a;--light-cta:#78e8e0;--light-cta-ink:#0b242a;
 --veil:5 20 28;--accent-rgb:108 228 222;--circuit:#a5e2d6;
 --header-glass:#101b22f5;
 --accent-bright:#c8fff6;--color-scheme:dark;
}
html[data-theme="blue"]{
 --paper:#f2f6fc;--paper-light:#ffffff;--ink:#14283e;--muted:#576c85;--line:#cdd8e6;--bronze:#2454c7;--accent:#99b8ff;--dark:#0e213c;
 --surface:#e4edf9;--surface-2:#d8e5f7;--card:#ffffff;--deep:#09182e;--on-dark:#f6f9ff;--dark-muted:#c0cfe6;--dark-subtle:#a5bad7;--dark-line:#314667;--dark-accent:#a7c3ff;
 --ribbon:#2d59d0;--ribbon-ink:#ffffff;--cta:#2454c7;--cta-ink:#ffffff;--light-cta:#e8efff;--light-cta-ink:#183e91;
 --veil:7 21 42;--accent-rgb:153 184 255;--circuit:#b3c6e9;
 --header-glass:#f2f6fcf5;
 --accent-bright:#e2ecff;--color-scheme:light;
}
html{color-scheme:var(--color-scheme)}
::selection{background:rgb(var(--accent-rgb)/.4);color:inherit}
body{background:var(--paper);color:var(--ink)}
.section-description,.model-note,.all-in-one-summary div>p+p,.memo-copy,.delivery-note p,.packing-note li,.repair-figure figcaption span:last-child{color:var(--muted)}
.button-dark{background:var(--cta);color:var(--cta-ink)}
.button-light{background:var(--light-cta);color:var(--light-cta-ink)}
.button-dark:hover{background:color-mix(in srgb,var(--cta),var(--ink) 15%);color:var(--cta-ink)}
.button-light:hover{background:var(--dark-accent);color:var(--light-cta-ink)}
.button:hover{box-shadow:0 10px 28px -16px rgb(var(--accent-rgb)/.55)}
.header{color:var(--on-dark);border-color:rgb(var(--accent-rgb)/.2)}
.header.is-scrolled,.header.menu-open{background:var(--header-glass);color:var(--ink);border-color:var(--line)}
.header.is-scrolled .nav-contact{border-color:var(--line)}
.header.is-scrolled .nav a:hover,.header.is-scrolled .nav a.is-current{color:var(--bronze)}
.nav-contact{border-color:rgb(var(--accent-rgb)/.4)}
.hero,.dark-section{background:var(--dark);color:var(--on-dark)}
.hero-media img,.closing-bg,.process-card-bg,.repair-image img{filter:none}
.hero:after{background:linear-gradient(90deg,rgb(12 16 17/.96),rgb(12 16 17/.78) 29%,rgb(12 16 17/.25) 59%,rgb(12 16 17/.03) 84%),linear-gradient(0deg,rgb(12 16 17/.65),transparent 34%)}
.hero-copy>.eyebrow,.hero-type-word,.motion-symbol,.type-replay span,.repair-orbit,.target{color:var(--dark-accent)}
.hero h1 em,.hero h1 em .kinetic-letter{color:var(--dark-accent)!important}
.hero h1 em:after{background:var(--dark-accent)}
.hero h1 em{text-shadow:0 0 30px rgb(var(--accent-rgb)/.1)}
@keyframes kinetic-accent-color{0%,100%{color:var(--dark-accent)}50%{color:var(--accent-bright)}}
.hero-lead{color:var(--on-dark)}
.hero-description,.hero-bottom,.motion-toggle,.type-replay{color:var(--dark-muted)}
.hero-type-caption,.hero-edge-note{color:var(--dark-subtle)}
.hero-type-strip{border-color:var(--dark-accent)}
.hero-bottom{border-color:rgb(var(--accent-rgb)/.25)}
.type-replay:hover,.motion-toggle:hover{color:var(--on-dark)}
.technical-grid{background-image:linear-gradient(rgb(var(--accent-rgb)/.045) 1px,transparent 1px),linear-gradient(90deg,rgb(var(--accent-rgb)/.045) 1px,transparent 1px)}
.hero-ghost{-webkit-text-stroke-color:rgb(var(--accent-rgb)/.2)}
.hero-scan i{background:linear-gradient(0deg,rgb(var(--accent-rgb)/.15),transparent);border-color:rgb(var(--accent-rgb)/.65)}
.target-point{background:rgb(var(--accent-rgb)/.25)}
.target-point:before,.target-point:after{border-color:rgb(var(--accent-rgb)/.5)}
.target-label{background:linear-gradient(90deg,rgb(var(--veil)/.65),transparent);border-color:rgb(var(--accent-rgb)/.3)}
.target-label:before{background:rgb(var(--accent-rgb)/.45)}
.technical-cross{color:rgb(var(--accent-rgb)/.65)}
.orbit-cursor{fill:rgb(var(--accent-rgb)/.07)}
.service-strip{background:var(--surface);border-color:var(--line)}
.service-strip>div{border-color:var(--line)}
.strip-icon{color:var(--bronze)}
.service-strip p span{color:var(--muted)}
.brand-ribbon{background:var(--ribbon);color:var(--ribbon-ink);border-color:color-mix(in srgb,var(--ribbon-ink),transparent 70%)}
.ribbon-group>.outline-type{-webkit-text-stroke-color:var(--ribbon-ink)}
.all-in-one:before{-webkit-text-stroke-color:color-mix(in srgb,var(--bronze),transparent 84%)}
.repair-image{background:var(--surface)}
.photo-reticle{border-color:rgb(var(--accent-rgb)/.3)}
.photo-reticle:before,.photo-reticle:after{border-color:var(--dark-accent)}
.photo-reticle i{border-color:var(--dark-accent);background:linear-gradient(0deg,rgb(var(--accent-rgb)/.25),transparent)}
.photo-reticle>span,.image-label{background:var(--header-glass);color:var(--ink)}
.parts-heading{border-color:var(--line)}
.part-number{color:var(--muted)}
.parts-grid svg{stroke:var(--muted)}
.accent-stroke{stroke:var(--bronze)}
.parts-grid>div:hover{background:var(--surface)}
.parts-grid>div:before{background:var(--bronze)}
.parts-grid>div:hover svg{stroke:var(--bronze)}
.parts-grid>div:hover .part-number{color:var(--ink)}
.all-in-one-summary{background:var(--surface-2)}
.summary-parts b,.summary-mark{color:var(--bronze)}
.repair-lab{background:var(--dark);border-color:var(--dark-line)}
.g102-scene{filter:none}
.lab-heading>.eyebrow,.lab-phase-label,.lab-tabs>button[aria-selected="true"],.lab-tabs>button:hover,.lab-controls button,.lab-copy>.rule-link{color:var(--dark-accent)}
.lab-heading>p:last-child,.lab-model-note,.lab-panel p{color:var(--dark-muted)}
.lab-model-note strong{color:var(--on-dark)}
.lab-coordinate,.lab-concept-label,.lab-tab-instruction,.lab-pagination{color:var(--dark-subtle)}
.lab-big-type{-webkit-text-stroke-color:rgb(var(--accent-rgb)/.2)}
.phase-led,.lab-tabs>button>i{background:var(--dark-accent)}
.phase-led{box-shadow:0 0 12px rgb(var(--accent-rgb)/.3)}
.lab-task-chips span{color:var(--dark-muted);border-color:var(--dark-line)}
.lab-tabs>button,.lab-controls,.lab-copy{border-color:var(--dark-line)}
.lab-tabs>button{color:var(--dark-subtle)}
.lab-controls button:hover{color:var(--on-dark)}
.lab-visual:after{background:rgb(var(--accent-rgb)/.035)}
.process-gallery{background:var(--paper);border-color:var(--line)}
.process-scroll-cue{color:var(--bronze)}
.scroll-mouse{border-color:var(--bronze)}
.scroll-mouse i{background:var(--bronze)}
.process-gallery .process-steps{background:var(--deep)}
.process-viewer{box-shadow:0 20px 45px -32px rgb(var(--veil)/.5)}
.process-viewer:focus-visible{outline-color:var(--bronze)}
.process-card:before{background:linear-gradient(90deg,rgb(12 16 17/.97),rgb(12 16 17/.88) 24%,rgb(12 16 17/.63) 43%,rgb(12 16 17/.12) 68%),linear-gradient(0deg,rgb(12 16 17/.8),transparent 29%,transparent 78%,rgb(12 16 17/.2))}
.process-card:after{border-color:rgb(var(--accent-rgb)/.25)}
.process-gallery .process-card-content,.process-gallery .process-steps h3{color:var(--on-dark)}
.process-gallery .step-en,.process-gallery .step-number,.process-gallery .address-mini>span,.process-gallery .address-mini .text-button,.process-gallery .work-list dt,.process-gallery .process-card-end,.process-card-content .rule-link,.process-card-controls,.process-gallery .process-current{color:var(--dark-accent)}
.process-gallery .step-number{border-color:rgb(var(--accent-rgb)/.4)}
.process-gallery .process-card-content>p:not(.step-en),.process-gallery .address-mini p,.process-gallery .work-list dd,.process-check-chips span{color:var(--dark-muted)}
.process-gallery .process-card-content>.step-detail{color:var(--dark-muted)!important}
.process-gallery .address-mini,.process-gallery .work-list>div,.process-check-chips span,.process-card-controls>button,.process-card-controls{border-color:rgb(var(--accent-rgb)/.25)}
.process-gallery .address-mini a:hover{color:var(--on-dark)}
.process-card-ordinal{color:rgb(var(--accent-rgb)/.05);-webkit-text-stroke-color:rgb(var(--accent-rgb)/.25)}
.process-card-end>span:last-child,.process-gallery .process-total,.process-counter-divider{color:var(--dark-subtle)}
.process-gallery .process-card-content>.process-final-label{color:var(--dark-accent)}
.process-card-controls>button{background:rgb(var(--veil)/.25)}
.process-card-controls>button:hover{background:var(--dark-accent);color:var(--deep)}
.process-card-controls>button:disabled{background:transparent;color:inherit}
.process-gallery .process-meter{color:var(--dark-muted)}
.process-navigator button{color:var(--muted);border-color:var(--line)}
.process-navigator button>span{color:var(--muted)}
.process-navigator button>i{background:var(--bronze)}
.process-navigator button[aria-current="step"]{color:var(--ink)}
.process-navigator button[aria-current="step"]>span,.process-navigator button:hover{color:var(--bronze)}
.process-gallery-caption p,.process-gallery-caption>span{color:var(--muted)}
.dark-section .section-description,.visit-options h3+p,.visit-options .visit-address,.packing-short,.visit-location p{color:var(--dark-muted)}
.visit-options,.visit-options article+article,.visit-location{border-color:var(--dark-line)}
.option-top svg{stroke:var(--dark-accent)}
.visit-notice,.visit-options .rule-link,.location-actions .text-button{color:var(--dark-accent)}
.status-dot{background:var(--dark-accent)}
.note-symbol,.memo-heading .eyebrow,.memo-fields li>span,.packing-note li:before{color:var(--bronze)}
.memo-sheet{background:var(--card);border-color:var(--bronze);box-shadow:0 10px 40px -20px rgb(var(--veil)/.2)}
.memo-sheet:before,.memo-heading,.memo-fields li{border-color:var(--line)}
.memo-stamp{color:var(--bronze);border-color:var(--line)}
.memo-fields p,.memo-bottom>span,.memo-bottom svg{color:var(--muted)}
.closing:before{background:linear-gradient(90deg,rgb(12 16 17/.96),rgb(12 16 17/.89) 35%,rgb(12 16 17/.3) 85%),linear-gradient(0deg,rgb(12 16 17/.7),transparent)}
.closing-lead,.closing-description{color:var(--dark-muted)}
.closing-path{color:var(--dark-accent)}
.closing-path span{color:var(--dark-subtle)}
.closing-word{-webkit-text-stroke-color:rgb(var(--accent-rgb)/.23)}
.closing:after{background-image:linear-gradient(90deg,transparent 49.9%,rgb(var(--accent-rgb)/.075) 50%,transparent 50.1%)}
.contact-band{background:var(--surface-2);border-color:var(--line)}
.contact-band>a>span{color:var(--bronze)}
.footer{background:var(--deep);color:var(--dark-muted)}
.footer-brand .wordmark{color:var(--on-dark)}
.footer-details,.blog-link,.footer-bottom a{color:var(--dark-muted)}
.footer-details address,.footer-bottom{color:var(--dark-subtle)}
.footer-bottom{border-color:var(--dark-line)}
.mobile-contact{background:var(--paper);border-color:var(--line)}
.mobile-contact>a:last-child{background:var(--cta);color:var(--cta-ink)}
.toast{background:var(--deep);color:var(--on-dark);border-color:var(--dark-line)}
dialog textarea{background:var(--card)}
dialog::backdrop{background:rgb(var(--veil)/.75)}
/* A compact review control: the selected palette also has a shareable URL. */
.color-picker{position:fixed;left:22px;bottom:22px;z-index:45;font-family:var(--sans);color:var(--ink)}
.color-picker-toggle{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--paper-light);color:var(--ink);box-shadow:0 5px 25px #0002;border-radius:30px;padding:10px 16px;min-height:44px;font-size:11px;line-height:1.4}
.color-picker-dots{display:flex}
.color-picker-dots i{width:10px;height:10px;border-radius:50%;border:1px solid #ffffff60;background:#c3a373}
.color-picker-dots i+i{margin-left:-2px;background:#73e3dc}
.color-picker-dots i:last-child{background:#3564d4}
.color-picker-toggle strong{font:10px var(--mono);color:var(--bronze);font-weight:400}
.color-picker-toggle .picker-chevron{font-size:12px;transition:transform .2s}
.color-picker-toggle[aria-expanded="true"] .picker-chevron{transform:rotate(180deg)}
.color-picker-panel{position:absolute;bottom:56px;left:0;width:310px;max-width:calc(100vw - 32px);padding:20px;background:var(--paper-light);border:1px solid var(--line);box-shadow:0 12px 48px #0003;border-radius:14px}
.color-picker-panel[hidden]{display:none}
.color-picker-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}
.color-picker-heading p{font-size:11px;font-weight:500}
.color-picker-close{border:0;background:none;color:var(--muted);padding:0 4px;font-size:22px;line-height:1}
.color-option{width:100%;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;text-align:left;padding:11px 9px;border:1px solid transparent;border-radius:7px;background:transparent;line-height:1.5;color:var(--ink)}
.color-option+.color-option{margin-top:3px}
.color-option[aria-pressed="true"]{background:var(--surface);border-color:var(--line)}
.color-option>span:first-child{font:10px var(--mono);color:var(--muted)}
.color-option b{display:block;font-size:12px;font-weight:500}
.color-option small{display:block;font-size:9px;color:var(--muted);margin-top:3px}
.color-swatches{display:flex;gap:2px}
.color-swatches i{width:10px;height:24px;border:1px solid #8882;background:var(--swatch)}
.color-compare-link{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding:12px 0 0;border-top:1px solid var(--line);font-size:10px;color:var(--bronze)}
html[data-review="off"] .color-picker{display:none}
@media(max-width:850px){.process-card:before{background:linear-gradient(90deg,rgb(12 16 17/.95),rgb(12 16 17/.85) 35%,rgb(12 16 17/.48) 68%,rgb(12 16 17/.2)),linear-gradient(0deg,rgb(12 16 17/.75),transparent 30%)}}
@media(max-width:640px){
 .hero:after{background:linear-gradient(0deg,rgb(12 16 17) 0%,rgb(12 16 17) 23%,rgb(12 16 17/.97) 40%,rgb(12 16 17/.28) 72%,rgb(12 16 17/.2))}
 .hero-description{color:var(--dark-muted)}
 .process-card:before{background:linear-gradient(90deg,rgb(12 16 17/.88),rgb(12 16 17/.72) 50%,rgb(12 16 17/.4)),linear-gradient(0deg,rgb(12 16 17/.96),rgb(12 16 17/.3) 60%,rgb(12 16 17/.15))}
 .closing:before{background:linear-gradient(90deg,rgb(12 16 17/.98),rgb(12 16 17/.92) 40%,rgb(12 16 17/.65))}
 .color-picker{left:12px;bottom:calc(72px + env(safe-area-inset-bottom,0px))}
 .color-picker-toggle{font-size:10px;padding:9px 12px;min-height:40px;gap:8px}
 .color-picker-panel{bottom:51px;padding:17px;width:296px}
}
@media print{.color-picker{display:none!important}.memo-sheet{background:white;color:#14283e}.memo-fields p{color:#576c85}}
