/* Technigator V5: genuinely light winter mode + lower-compositing-cost rendering */
:root{--winter-paper:#f2fbff;--winter-paper-2:#e4f4fb;--winter-line:#a5cad8;--winter-ink:#183945;--winter-muted:#476875;--winter-blue:#367f97}
html.xmas-snow-mode{color-scheme:light!important;--bg:#f2fbff!important;--bg2:#e5f4fa!important;--ink:#183945!important;--muted:#476875!important;--green:#33788c!important;--green2:#246c83!important;--cyan:#498fa5!important;--line:rgba(63,124,147,.23)!important;--line2:rgba(63,124,147,.13)!important}
html.xmas-snow-mode,html.xmas-snow-mode body,html.xmas-snow-mode #root,html.xmas-snow-mode main.page-shell,html.xmas-snow-mode .immersive-scene,html.xmas-snow-mode .immersive-stage{background:#f2fbff!important;color:var(--winter-ink)!important}
html.xmas-snow-mode body{background-image:radial-gradient(ellipse at 50% 9%,rgba(255,255,255,.97),transparent 38%),linear-gradient(160deg,#f9feff,#e3f3f9 60%,#f1fbff)!important}
/* All complete site section surfaces; avoid the half-white / half-emerald split. */
html.xmas-snow-mode body main.page-shell>section,
html.xmas-snow-mode body main.page-shell>.xcf-wrap,
html.xmas-snow-mode body main.page-shell>.xcf-wrap>section,
html.xmas-snow-mode body main.page-shell :is(.hero-cinematic,.service-orbit-section,.transformation,.experience,.section-pad,.page-hero,.service-detail-hero,.about-v18-hero,.about-v18-statement,.about-v18-belief,.final-cta,.xmas-home-feature,.xpro-gift-hunt,.xw-workshop,.xcf-city,.xcf-frozen),
html.xmas-snow-mode body .site-footer,
html.xmas-snow-mode body .xpro-fallback-hero,
html.xmas-snow-mode body .xpro-fallback-services,
html.xmas-snow-mode body .xpro-fallback-contact{
 background:linear-gradient(145deg,#fafdff 0%,#eef9fd 52%,#e3f2f8 100%)!important;
 color:#173b49!important;border-color:rgba(63,127,153,.22)!important
}
/* Pale-blue decorative grid, NOT a dark/green painted background. */
html.xmas-snow-mode body :is(.hero-grid,.fallback-grid){background-image:linear-gradient(rgba(76,149,181,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(76,149,181,.10) 1px,transparent 1px)!important;opacity:.35!important}
html.xmas-snow-mode body :is(.fallback-ring,.system-ring,.holo-ring,.service-orbit-plane){border-color:rgba(55,128,153,.23)!important}
html.xmas-snow-mode body .xpro-winter-scene{background:transparent!important;opacity:.42!important}
html.xmas-snow-mode body .xpro-aurora{background:linear-gradient(118deg,rgba(148,207,247,.16),rgba(211,235,255,.17),rgba(164,203,247,.19))!important;filter:none!important}
html.xmas-snow-mode body .xpro-tree{opacity:.22!important;filter:saturate(.3)!important}
html.xmas-snow-mode body .xpro-snow-hill{background:linear-gradient(#cce7f4b0,#fff8,transparent)!important}
html.xmas-snow-mode body .preloader{background:#f1fbff!important}
html.xmas-snow-mode body .preloader-meta,html.xmas-snow-mode body .preloader-meta b{color:#28586b!important}
html.xmas-snow-mode body .preloader-line{background:#d0e9f2!important}
html.xmas-snow-mode body .preloader-line span{background:#528aa2!important}
/* The Snow logo is a genuinely transparent logo with charcoal lettering. No dark plate. */
html.xmas-snow-mode body img[src$="technigator-logo.png"],
html.xmas-snow-mode body img[src$="christmas-logo-user.webp"],
html.xmas-snow-mode body img[src$="christmas-logo-user.png"],
html.xmas-snow-mode body img[src$="christmas-logo.png"]{content:url('/christmas-logo-snow.webp')!important;background:transparent!important;filter:drop-shadow(0 4px 6px #8db8c23d)!important;object-fit:contain!important}
html.xmas-snow-mode body :is(.site-header>.brand,.site-footer .footer-brand,.preloader-logo-wrap){background:transparent!important;box-shadow:none!important;border:0!important}
html.xmas-snow-mode body :is(.site-header>.brand img,.site-footer .footer-brand img,.preloader-logo-wrap img){background:transparent!important;box-shadow:none!important}
html.xmas-snow-mode body .site-header{background:#f4fcfffa!important;border-bottom:1px solid #a0c5d4!important}
html.xmas-snow-mode body .site-header :is(a,.menu-toggle,.main-nav a){color:#1a4657!important}
html.xmas-snow-mode body .nav-drawer{background:#f3fbfffa!important;color:#174254!important}
html.xmas-snow-mode body .nav-drawer a{color:#174254!important}
html.xmas-snow-mode body .xul-mode-switch{background:#ffffff!important;border-color:#93b9c7!important;color:#174457!important}
/* Recolour large actual panels, including nested dashboards and cards. */
html.xmas-snow-mode body :is(.orbit-service-card,.service-index-row,.metric,.metric-grid .metric,.chart-card,.dash-top>div,.dash-bottom>div,.experience-panel,.experience-browser,.browser-window,.browser-frame,.phone-shell,.phone-screen,.transform-state,.transformation .transform-state,.transform-label,.transform-stat-row>span,.xpro-present,.xpro-hunt-reveal,.xw-copy,.xw-visual,.xmas-feature-card,.xmas-feature-art,.deliverable-anchor-inner,.detail-system-panel,.service-hero-panel,.contact-form,.xmas-offer-dialog,.xul-countdown,.xcf-city-shell,.xcf-city-viewport,.xcf-city-detail,.xcf-freeze-shell,.xcf-ice-stage,.xcf-before,.xcf-after,.xpro-fallback-service-grid>a,.about-node,.audio-controller.audio-controller-v2){
 background:linear-gradient(146deg,#ffffff 0%,#f2fbff 49%,#dfeff7 100%)!important;
 border-color:rgba(100,158,180,.41)!important;
 color:#173e4c!important;
 box-shadow:0 9px 24px #76aab425,inset 0 1px #fff!important;
}
html.xmas-snow-mode body .xcf-city-sky{background:linear-gradient(140deg,#deebf6,#f9feff)!important;filter:none!important;opacity:.42!important}
html.xmas-snow-mode body :is(.xpro-sleigh-silhouette,.xpro-snow-ridge,.xul-snowcap,.xul-footer-snow){filter:none!important}
html.xmas-snow-mode body .xcf-building{filter:saturate(.40) hue-rotate(38deg)}
html.xmas-snow-mode body .xcf-city .xcf-city-chip{background:#f7feff!important;color:#163f4b!important;border-color:#a3c5d1!important}
html.xmas-snow-mode body .xcf-city .xcf-city-chip.is-current{background:#245c70!important;color:#fff!important}
html.xmas-snow-mode body .xcf-city .xcf-city-chip.is-current *{color:#fff!important}
/* Fundamental contrast: readable dark ink in content, including explicit hard-coded white text. */
html.xmas-snow-mode body main.page-shell :is(h1,h2,h3,h4,h5,h6,p,small,blockquote,label,li,dt,dd,figcaption),
html.xmas-snow-mode body main.page-shell :is(.section-head,.hero-copy,.service-hero-copy,.xw-copy,.xpro-hunt-copy,.xcf-section-intro,.xcf-city-detail,.xcf-frozen,.transform-state,.experience-panel,.chart-card,.phone-screen,.xmas-feature-copy) :is(span,strong,em,b,i),
html.xmas-snow-mode body .site-footer :is(h2,h3,p,small,span,strong,em,a),
html.xmas-snow-mode body .xul-countdown :is(span,strong,em,b),
html.xmas-snow-mode body .xmas-offer-dialog :is(h2,h3,p,span,label,small){color:#173e4c!important;text-shadow:none!important}
html.xmas-snow-mode body main.page-shell :is(h1,h2,h3,h4) em{color:#276d89!important;text-shadow:none!important}
html.xmas-snow-mode body main.page-shell :is(.kicker,.xmas-kicker,.xcf-kicker,.xpro-eyebrow,.section-label,.eyebrow,.xul-time-label){color:#316d81!important}
html.xmas-snow-mode body :is(.phone-screen,.xcf-after,.xcf-before,.xw-visual) :is(span,p,strong,b,em,h2,h3,h4){color:#214959!important}
html.xmas-snow-mode body :is(.audio-controller.audio-controller-v2,.audio-controller.audio-controller-v2 *){color:#153b47!important}
/* Buttons inverse contrast; their children must remain white after content rules. */
html.xmas-snow-mode body :is(.mega-button,.pill-button.primary,.xmas-offer-submit,.xcf-city-detail a,.xmas-feature-button){background:#1d5b70!important;color:#fff!important;border-color:#1b657b!important}
html.xmas-snow-mode body :is(.mega-button,.pill-button.primary,.xmas-offer-submit,.xcf-city-detail a,.xmas-feature-button) *{color:#fff!important}
html.xmas-snow-mode body input:not([type=range]),html.xmas-snow-mode body textarea,html.xmas-snow-mode body select{background:#fff!important;color:#1e4451!important;border-color:#a6c8d5!important}
html.xmas-snow-mode body input::placeholder,html.xmas-snow-mode body textarea::placeholder{color:#597786!important}
/* Shadows/effects must not paint large emerald blocks back on white. */
html.xmas-snow-mode body :is(.hero-system,.fallback-aurora,.about-belief-signal,.pointer-glow,.dynamic-grain,.dynamic-scan){opacity:.10!important}
html.xmas-snow-mode body :is(.transform-before,.transform-after,.dash-live,.xmas-home-feature)::before{background:transparent!important}
/* Performance: preserve the character, remove repeat expensive visual compositing. */
html.xmas-active body :is(.service-orbit-plane,.holo-ring,.home-ecg,.xpro-winter-scene,.xmas-hero-sleigh,.xmas-globe>span){animation:none!important}
html.xmas-active body :is(.xmas-snow-canvas,.xcf-city-sky){filter:none!important}
html.xmas-active body :is(.site-header,.audio-controller,.orbit-service-card,.xcf-city-shell,.xcf-freeze-shell,.nav-drawer,.xmas-feature-card,.service-index-row,.xul-countdown){backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html.xmas-active body .mesh-canvas{display:none!important}
@media(max-width:900px){html.xmas-active body .xpro-winter-scene{display:none!important}html.xmas-active body .xmas-snow-canvas{opacity:.47!important}}
@media(prefers-reduced-motion:reduce){html.xmas-active *,html.xmas-active *:before,html.xmas-active *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Render only when these heavy optional sections enter the viewport. */
@supports (content-visibility:auto){
  main.page-shell :is(.xcf-city,.xcf-frozen,.xpro-gift-hunt,.xmas-home-feature){content-visibility:auto;contain-intrinsic-size:auto 790px}
}
