/* Blue mode is additive: light mode keeps the existing page design. */
:root{--theme-bg:#fff;--theme-surface:#f7f8fa;--theme-raised:#fff;--theme-input:#fff;--theme-text:#101936;--theme-muted:#697087;--theme-soft:#697087;--theme-line:#dce0e9;--theme-accent:#244a99;--theme-focus:#5779f5}
html[data-theme="light"]{color-scheme:light}
html[data-theme="dark"]{color-scheme:dark;--theme-bg:#071327;--theme-surface:#0c1c36;--theme-raised:#112746;--theme-input:#091a32;--theme-text:#edf3ff;--theme-muted:#afbdd5;--theme-soft:#8fa5c8;--theme-line:#304664;--theme-accent:#b5cdff;--theme-focus:#aac8ff;--ink:#edf3ff;--muted:#afbdd5;--paper:#0c1c36;--line:#304664;--blue:#a6c4ff}
html[data-theme="dark"] body{background:var(--theme-bg);color:var(--theme-text);font-weight:450}
html[data-theme="dark"] ::selection{background:#b5cdff;color:#071327}
html[data-theme="dark"] :is(a,button,input,select,textarea,summary):focus-visible{outline-color:var(--theme-focus)}
html[data-theme="dark"] .muted-text{color:#a6b9d9}
html[data-theme="dark"] .eyebrow{color:var(--theme-accent)}
html[data-theme="dark"] .text-link{color:var(--theme-accent);border-color:#657da5}
html[data-theme="dark"] .text-link:hover{color:#fff;border-color:#c7d9ff}
html[data-theme="dark"] .skip-link{background:#c4d8ff;color:#071327;border:1px solid #edf3ff}

/* A compact, consistent 44px theme target sits alongside language and menu controls. */
.theme-toggle{display:inline-grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid #d2dbea;border-radius:50%;background:#f4f7fd;color:#15295d;cursor:pointer;line-height:1;transition:background-color .25s,color .25s,border-color .25s,transform .18s}
.theme-toggle svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.6;fill:none;pointer-events:none}
.theme-toggle:hover{background:#e5edfc;border-color:#91a9db}
.theme-toggle:active{transform:scale(.93)}
.theme-toggle .theme-icon-sun{display:none}
html[data-theme="dark"] .theme-toggle{background:#22427d;color:#f4f7ff;border-color:#6988bd}
html[data-theme="dark"] .theme-toggle:hover{background:#315798;border-color:#b2ccf7}
html[data-theme="dark"] .theme-toggle .theme-icon-moon{display:none}
html[data-theme="dark"] .theme-toggle .theme-icon-sun{display:block}

/* Header artwork changes independently from photographs and retains the logo hover scale. */
.site-header .brand-logo{transition:transform .24s ease,filter .32s ease}
html[data-theme="dark"] .site-header{background:#10285ff5;color:#f2f6ff;border-bottom-color:#466395;box-shadow:0 8px 28px #02081433}
html[data-theme="dark"] .site-header .brand-logo{filter:brightness(0) invert(1);mix-blend-mode:normal}
html[data-theme="dark"] .main-nav>a{color:#eef4ff}
html[data-theme="dark"] .main-nav>a:after{background:#b8d1ff}
html[data-theme="dark"] .main-nav>a:hover{color:#bfd7ff}
html[data-theme="dark"] .language-menu{color:#edf4ff}
html[data-theme="dark"] .language-options{background:#102342;color:var(--theme-text);border-color:#49618a;box-shadow:0 18px 45px #02071380}
html[data-theme="dark"] .language-options>a{color:var(--theme-text)}
html[data-theme="dark"] .language-options>a small{color:#b0c1df}
html[data-theme="dark"] .language-options>a:is([aria-current],:hover){background:#24416f;color:#fff}
html[data-theme="dark"] .menu-toggle span{background:#f1f6ff}

/* Branded hero/CTA photography remains intact; only controls and supporting surfaces adapt. */
html[data-theme="dark"] .button:not(.button-white):not(.button-outline-light):not(.button-whatsapp){background:#345cb8;border-color:#6284cd;color:#fff}
html[data-theme="dark"] .button:not(.button-white):not(.button-outline-light):not(.button-whatsapp):hover{background:#426cc8;border-color:#a6bff3}
html[data-theme="dark"] .button-white{background:#edf3ff;color:#102457;border-color:#edf3ff}
html[data-theme="dark"] .button-white:hover{background:#cddfff;border-color:#cddfff}
html[data-theme="dark"] .button-outline-light{background:transparent;color:#f3f7ff;border-color:#8ca8d7}
html[data-theme="dark"] .button-outline-light:hover{background:#afc8ff14;border-color:#d0e1ff}
html[data-theme="dark"] .expertise-strip{background:#0d1e3b;border-color:var(--theme-line)}
html[data-theme="dark"] .expertise-strip span:first-child{color:var(--theme-muted)}
html[data-theme="dark"] .expertise-strip p,html[data-theme="dark"] .strip-arrow{color:#d6e4ff}
html[data-theme="dark"] .expertise-strip b{color:#859dca}
html[data-theme="dark"] :is(.row-icon,.service-card-icon,.card-bottom,.breadcrumb a,.aside-phone){color:var(--theme-accent)}
html[data-theme="dark"] :is(.row-number,.card-index,.focus-grid>a>span,.section-note){color:var(--theme-soft)}
html[data-theme="dark"] .solution-row:hover{color:#bfd4ff}
html[data-theme="dark"] .about-home{background:#0b1b34}
html[data-theme="dark"] .year-stamp{background:#142e50;color:#f0f5ff;box-shadow:0 14px 35px #0004;border:1px solid #49618a}
html[data-theme="dark"] .year-stamp span{color:#bdcce5}
html[data-theme="dark"] .focus-grid>a:hover{background:#122b4d}
html[data-theme="dark"] .process-steps>div{border-color:var(--theme-line)}
html[data-theme="dark"] .cta-section{background:linear-gradient(110deg,#10255a,#173a7d 55%,#315db4)}

/* Service overview, detail and legal pages. */
html[data-theme="dark"] .filter-bar>button{color:#b6c6e2}
html[data-theme="dark"] .filter-bar>button[aria-pressed=true]{background:#3157a5;color:#fff;border-color:#6e91d1}
html[data-theme="dark"] .filter-bar>button:hover{background:#172e50;border-color:#7391be;color:#f6f9ff}
html[data-theme="dark"] .service-card{background:#0a1b34;border-color:var(--theme-line)}
html[data-theme="dark"] .service-card:hover{background:#132c50;border-color:#718fbc}
html[data-theme="dark"] .service-card h2{color:#edf3ff}
html[data-theme="dark"] :is(.detail-image,.request-aside,.about-fact){background:var(--theme-surface)}
html[data-theme="dark"] .about-fact strong{color:#c9dcff}
html[data-theme="dark"] .tag-list>span{color:#c2d1e9;background:#13294a;border-color:#405e86}
html[data-theme="dark"] .large-copy{color:#edf3ff}
html[data-theme="dark"] .legal-content a{color:#bcd4ff}
html[data-theme="dark"] .content-status{background:#352b19;color:#f4d397;border-color:#87703b}

/* Native form controls, validation, loading and a committed enquiry receipt. */
html[data-theme="dark"] .quote-panel{background:#10233f;color:var(--theme-text)}
html[data-theme="dark"] .quick-quote{border-top-color:#769cdb}
html[data-theme="dark"] :is(.form-step label,.quote-options summary,.route-tools button,.form-progress>span,.quote-sending){color:#e6efff}
html[data-theme="dark"] :is(.quote-badge,.route-picker legend,.form-data-note,.quote-options summary>span,.receipt-card>span,.receipt-card time,.receipt-download){color:#afc1de}
html[data-theme="dark"] :is(input,select,textarea){background:var(--theme-input);color:var(--theme-text);border-color:#526b92;caret-color:#c4d9ff;color-scheme:dark}
html[data-theme="dark"] :is(input,textarea)::placeholder{color:#9bb0d1;opacity:1}
html[data-theme="dark"] :is(input,select,textarea):focus{border-color:#afccff}
html[data-theme="dark"] :is(input,select,textarea)[aria-invalid=true]{border-color:#ff94af}
html[data-theme="dark"] input:-webkit-autofill,html[data-theme="dark"] textarea:-webkit-autofill,html[data-theme="dark"] select:-webkit-autofill{-webkit-text-fill-color:#edf3ff;caret-color:#c4d9ff;box-shadow:0 0 0 1000px #091a32 inset}
html[data-theme="dark"] select option{background:#0c1d38;color:#edf3ff}
html[data-theme="dark"] :is(.form-data-note a,.review-actions>button,.receipt-details summary,.receipt-help>a){color:var(--theme-accent)}
html[data-theme="dark"] .route-chips button{background:#152e51;color:#d9e7ff;border-color:#536e98}
html[data-theme="dark"] .route-chips button:is(:hover,[aria-pressed=true]){background:#2a4b82;color:#fff;border-color:#a1bff1}
html[data-theme="dark"] .quote-options{border-color:#425a7e}
html[data-theme="dark"] .review-icon{background:#263f72;color:#d7e6ff}
html[data-theme="dark"] .success-icon{background:#123c32;color:#a8e8c5;border-color:#467d68;box-shadow:0 0 0 7px #214e3838}
html[data-theme="dark"] .receipt-card{background:#0a1a33;border-color:#4a648c}
html[data-theme="dark"] .receipt-card strong{color:#c9ddff}
html[data-theme="dark"] .receipt-help svg{color:#8ee2b1}
html[data-theme="dark"] .quick-quote #email-request{color:#bfd6ff;border-color:#6e8dbb;background:transparent}
html[data-theme="dark"] .quick-quote #email-request:hover{background:#28456d}
html[data-theme="dark"] .quick-quote .receipt-help #email-request{background:transparent;color:#bfd6ff}
html[data-theme="dark"] .form-error{color:#ffc4d1}
html[data-theme="dark"] .quick-quote #quote-error{background:#3a1b30;color:#ffc4d1;border-left-color:#ff94af}
html[data-theme="dark"] .sending-spinner{border-color:#4d6792;border-top-color:#c3d9ff}

/* Footer text remains distinct from the page's deeper blue surfaces. */
html[data-theme="dark"] .site-footer{background:#040d21;color:#d9e5fa;border-top:1px solid #253b60}
html[data-theme="dark"] .site-footer .brand-logo{filter:brightness(0) invert(1);mix-blend-mode:normal}
html[data-theme="dark"] .footer-top>div:not(:first-child)>a{color:#d6e4fb}
html[data-theme="dark"] :is(.footer-brand>p,.footer-address,.footer-label,.footer-bottom,.site-footer .footer-address-note,.visual-info,.visual-info p){color:#a9bfdf}
html[data-theme="dark"] .back-top{color:#c9dcff}
html[data-theme="dark"] .whatsapp-tooltip{background:#142d4c;color:#edf3ff;border-color:#6c8cba;box-shadow:0 8px 25px #02081755}
html[data-theme="dark"] .whatsapp-float:focus-visible{outline-color:#d1e6ff}

/* The transient class only animates color surfaces, never geometry or photo filters. */
html.theme-transition :is(body,.site-header,.main-nav,.language-menu,.language-options,.language-options>a,.expertise-strip,.about-home,.year-stamp,.service-card,.request-aside,.quote-panel,.receipt-card,.quote-options,.site-footer,input,select,textarea){transition-property:background-color,color,border-color,box-shadow;transition-duration:.35s;transition-timing-function:ease}
html.theme-transition :is(.eyebrow,.muted-text,.section-heading p,.about-copy p,.form-intro,.form-data-note,.receipt-card strong,.receipt-card time,.filter-bar>button,.card-index,.card-bottom,.row-icon,.row-number,.footer-brand>p,.footer-label,.footer-address,.footer-bottom){transition:color .35s ease,border-color .35s ease}

/* Native crossfades also soften gradient changes; older browsers use color transitions. */
::view-transition{pointer-events:none}
::view-transition-old(root),::view-transition-new(root){animation-duration:.38s;animation-timing-function:ease}
html.theme-view-transition .site-header .brand-logo{transition:none}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}

/* Keep mobile line breaks stable while only the palette changes. */
@media(max-width:780px),(hover:none),(pointer:coarse){
 html[data-theme] body{font-weight:400}
}

/* The additional control must fit light and blue headers alike. */
@media(min-width:781px) and (max-width:1200px){.header-inner{gap:22px}.header-actions{gap:14px}.main-nav{gap:18px}html[lang=ru] .main-nav{gap:15px}}
@media(min-width:781px) and (max-width:1020px){.header-inner{padding-inline:26px;gap:18px}.main-nav{gap:14px}html[lang=ru] .main-nav{gap:12px}.header-actions{gap:10px}.brand-logo{width:122px}}
@media(max-width:780px){.header-actions{gap:12px}.menu-toggle{min-width:44px;min-height:44px;flex-shrink:0}html[data-theme="dark"] .main-nav{background:#10264b;color:#edf3ff}html[data-theme="dark"] .main-nav>a{border-color:#49618a}html[data-theme="dark"] .menu-open .site-header{box-shadow:none}}
@media(max-width:520px){.header-inner{padding-inline:16px;gap:8px}.site-header .brand-logo{width:110px}.header-actions{gap:4px}.language-menu summary{gap:4px;padding-inline:2px;justify-content:center;min-width:44px;min-height:44px}.theme-toggle{flex-basis:44px}.menu-toggle{width:44px;padding-inline:8px}}
@media(max-width:380px){.language-menu summary>svg{display:none}}
@media(prefers-reduced-motion:reduce){.theme-toggle,.site-header .brand-logo,html.theme-transition :is(body,.site-header,.main-nav,.language-menu,.language-options,.language-options>a,.expertise-strip,.about-home,.year-stamp,.service-card,.request-aside,.quote-panel,.receipt-card,.route-chips button,.quote-options,.site-footer,input,select,textarea,.eyebrow,.muted-text,.section-heading p,.about-copy p,.form-intro,.form-data-note,.receipt-card strong,.receipt-card time,.filter-bar>button,.card-index,.card-bottom,.row-icon,.row-number,.footer-brand>p,.footer-label,.footer-address,.footer-bottom){transition:none}.theme-toggle:active{transform:none}}
