/* Technigator 2026 - Stability V4 | last-loaded overrides; limited GPU cost, accessible snow palette */

/* HEADER. Keep switch IN grid; do not absolute-position across Contact. */
html body .site-header{
  height:92px!important;min-height:92px!important;
  padding:0 clamp(16px,2.3vw,38px)!important;
  display:grid!important;grid-template-columns:minmax(120px,1fr) auto auto auto auto!important;
  grid-template-rows:1fr!important;column-gap:clamp(12px,1.8vw,28px)!important;
  align-items:center!important;
  overflow:visible!important;
}
html body .site-header>.brand{grid-column:1!important;grid-row:1!important;width:min(180px,100%)!important;min-width:105px!important;justify-self:start!important;position:relative!important;z-index:4!important}
html body .site-header>.main-nav{grid-column:2!important;grid-row:1!important;justify-self:center!important;min-width:0!important;gap:clamp(12px,2vw,30px)!important;white-space:nowrap!important}
html body .site-header>.header-contact-wrap{grid-column:5!important;grid-row:1!important;justify-self:end!important;position:relative!important;transform:none!important;z-index:3!important}
html body .site-header>.menu-toggle{grid-column:4!important;grid-row:1!important;justify-self:end!important;z-index:4!important}
html body .site-header>.xul-mode-switch{
  position:relative!important;grid-column:4!important;grid-row:1!important;
  justify-self:end!important;align-self:center!important;
  top:auto!important;right:auto!important;left:auto!important;bottom:auto!important;
  min-width:137px!important;max-width:148px!important;height:43px!important;
  padding:8px 12px!important;margin:0!important;transform:none!important;
  white-space:nowrap!important;z-index:5!important;
}
html body .site-header>.xpro-light-switch{
  position:relative!important;grid-column:3!important;grid-row:1!important;
  justify-self:end!important;align-self:center!important;
  right:auto!important;top:auto!important;left:auto!important;bottom:auto!important;
  width:auto!important;min-width:91px!important;max-width:112px!important;height:38px!important;
  padding:8px 10px!important;transform:none!important;z-index:4!important;
  font-size:9px!important;white-space:nowrap!important;
}
html body .site-header .header-contact{padding:13px 18px!important;white-space:nowrap!important}
html body .site-header .xpro-lights.xul-real-lights{bottom:-41px!important}
/* Screen sizes where a 4-column desktop header cannot safely fit. */
@media(max-width:1160px){
 html body .site-header{grid-template-columns:minmax(110px,1fr) auto auto!important;column-gap:14px!important}
 html body .site-header>.main-nav,html body .site-header>.header-contact-wrap,html body .site-header>.xpro-light-switch{display:none!important}
 html body .site-header>.xul-mode-switch{grid-column:2!important;grid-row:1!important;min-width:127px!important;max-width:137px!important}
 html body .site-header>.menu-toggle{display:flex!important;grid-column:3!important;grid-row:1!important;align-items:center!important;gap:9px!important;position:relative!important}
 html body .site-header>.nav-drawer{display:flex!important;grid-column:auto!important;grid-row:auto!important}
}
@media(max-width:570px){
 html body .site-header{height:89px!important;min-height:89px!important;padding:0 14px!important;grid-template-columns:minmax(78px,1fr) auto auto!important;column-gap:9px!important}
 html body .site-header>.brand{width:min(126px,100%)!important;min-width:0!important;height:64px!important}
 html body .site-header>.brand img{max-height:57px!important}
 html body .site-header>.xul-mode-switch{min-width:102px!important;max-width:113px!important;height:39px!important;padding:7px 8px!important;gap:5px!important}
 html body .site-header>.xul-mode-switch .xul-switch-copy b{font-size:8px!important;letter-spacing:.015em!important}
 html body .site-header>.xul-mode-switch .xul-switch-copy span{display:none!important}
 html body .site-header>.xul-mode-switch .xul-switch-chip{width:27px!important;height:16px!important;flex:0 0 27px!important}
 html body .site-header>.xul-mode-switch .xul-switch-chip:after{width:12px!important;height:12px!important;top:1px!important;left:1px!important}
 html.xmas-snow-mode body .site-header>.xul-mode-switch .xul-switch-chip:after{transform:translateX(12px)!important}
 html body .site-header>.menu-toggle{padding:8px 0!important;gap:6px!important}
 html body .site-header>.menu-toggle .menu-toggle-label{font-size:10px!important}
 html body .site-header>.xpro-light-switch{display:none!important}
}
@media(max-width:360px){
 html body .site-header>.brand{width:96px!important}
 html body .site-header>.xul-mode-switch{min-width:94px!important;max-width:102px!important}
 html body .site-header>.menu-toggle .menu-toggle-label{font-size:9px!important}
}

/* Logo: dark glass mounting plate in icy mode ensures WHITE LETTERING remains readable. */
html.xmas-snow-mode .site-header>.brand,
html.xmas-snow-mode .site-footer .footer-brand img,
html.xmas-snow-mode .preloader-logo-wrap img{
  background:linear-gradient(145deg,#071f2a,#10414a)!important;
  border-radius:14px!important;
  box-shadow:0 7px 24px rgba(18,63,77,.20)!important;
}
html.xmas-snow-mode .site-header>.brand{padding:5px 8px!important;border:1px solid rgba(147,207,217,.50)!important}
html.xmas-snow-mode .site-header>.brand img{filter:drop-shadow(0 2px 6px rgba(106,255,204,.28))!important}
html.xmas-snow-mode .site-header{background:linear-gradient(180deg,#e9f8fc 5%,#dbf1f7 100%)!important;border-bottom:1px solid #a9cad4!important}
html.xmas-snow-mode .site-header .main-nav a,
html.xmas-snow-mode .site-header .header-contact,
html.xmas-snow-mode .site-header .menu-toggle{color:#133d48!important}
html.xmas-snow-mode .site-header .header-contact{border:1px solid #96bdca!important;background:#f6ffff!important}
html.xmas-snow-mode .site-header .xul-mode-switch{background:linear-gradient(150deg,#fff,#d6edf5)!important;color:#173f48!important;border:1px solid #9fbfc9!important;box-shadow:0 6px 22px #7aafc02b!important}
html.xmas-snow-mode .site-header .xul-mode-switch .xul-switch-copy span{color:#507984!important}
html.xmas-snow-mode .nav-drawer{background:#e3f3f8f7!important}
html.xmas-snow-mode .nav-drawer :is(a,small,span,b,i){color:#1d505d!important}

/* Snow-white site is a palette, not a white overlay. All main sections + their text must change together. */
html.xmas-snow-mode{--ink:#183a45;--muted:#456c78;--green:#286f78;--green2:#23717d;--cyan:#337a86;--bg:#e9f5f8;--bg2:#daeaf0;--line:rgba(67,132,147,.20);color-scheme:light}
html.xmas-snow-mode body,
html.xmas-snow-mode .page-shell,
html.xmas-snow-mode #root{background:#e9f6f9!important;color:#193c47!important}
html.xmas-snow-mode .page-shell>section,
html.xmas-snow-mode .page-shell>.xcf-wrap,
html.xmas-snow-mode .page-shell>.xcf-wrap>section,
html.xmas-snow-mode .page-shell>.xpro-gift-hunt,
html.xmas-snow-mode .page-shell>.xmas-home-feature,
html.xmas-snow-mode .site-footer{
  background:radial-gradient(ellipse 90% 50% at 70% 1%,#fff 0%,transparent 80%),linear-gradient(150deg,#effbfc,#daedf2 57%,#e9f6fa)!important;
  color:#173b46!important;border-color:rgba(85,150,166,.20)!important;
}
html.xmas-snow-mode .page-shell>section :is(h1,h2,h3,h4,h5,p,small,label,blockquote),
html.xmas-snow-mode .page-shell>.xcf-wrap>section :is(h1,h2,h3,h4,p,small,label),
html.xmas-snow-mode .site-footer :is(p,small,a,span,small),
html.xmas-snow-mode .page-hero :is(h1,h2,h3,p),
html.xmas-snow-mode .hero-cinematic :is(h1,h2,h3,p){color:#173b46!important;text-shadow:none!important}
html.xmas-snow-mode .page-shell :is(.kicker,.xmas-kicker,.xcf-kicker,.section-label,.eyebrow,.xpro-eyebrow){color:#326c7b!important}
html.xmas-snow-mode .page-shell :is(h1,h2,h3) em{color:#287b87!important;text-shadow:none!important}
html.xmas-snow-mode .page-shell :is(a:not(.mega-button):not(.pill-button),button:not(.mega-button)){text-decoration-color:#5d9ba8}
html.xmas-snow-mode .page-shell .section-head>p,
html.xmas-snow-mode .page-shell .hero-copy>p{color:#335e6c!important}
html.xmas-snow-mode .page-shell :is(.service-index-row,.orbit-service-card,.metric,.chart-card,.experience-panel,.xpro-present,.xul-countdown,.xw-copy,.xpro-hunt-reveal,.xmas-feature-copy,.contact-form,.about-node,.about-v18-statement,.service-detail-hero){color:#173b46!important}
html.xmas-snow-mode .page-shell :is(.service-index-row,.orbit-service-card,.metric,.chart-card,.experience-panel,.xpro-present,.xul-countdown,.xw-copy,.xpro-hunt-reveal,.contact-form){background:linear-gradient(155deg,#fcffff,#deeff4 85%)!important;border-color:#aacdd6!important;box-shadow:0 10px 27px rgba(57,110,129,.10),inset 0 1px white!important}
html.xmas-snow-mode .page-shell :is(.service-index-row,.orbit-service-card,.metric,.chart-card,.experience-panel,.xpro-present,.xul-countdown,.xw-copy,.contact-form) :is(h2,h3,h4,p,small,span,strong,b,em,label,i){color:#173b46!important;text-shadow:none!important}
html.xmas-snow-mode .page-shell :is(.xul-countdown-eyebrow,.xul-time-label,.xpro-present-top){color:#366d7c!important}
html.xmas-snow-mode .page-shell .xul-countdown .xul-number{color:#0f3642!important;text-shadow:none!important}
html.xmas-snow-mode .page-shell .xul-countdown .xul-colon{color:#557f89!important}
html.xmas-snow-mode .page-shell .xul-countdown strong em{color:#24707b!important}
html.xmas-snow-mode .page-shell .xul-countdown .xul-hms .xul-time-label{color:#376f7a!important}
html.xmas-snow-mode .page-shell :is(.mega-button,.pill-button.primary,.xpro-fallback-actions a){background:#0f4550!important;color:#f6ffff!important;border:1px solid #1f6774!important}
/* Mock browsers, phone and active visual stages intentionally remain dark for screen realism. */
html.xmas-snow-mode .page-shell :is(.phone-shell,.phone-screen,.xcf-city-shell,.xcf-city-viewport,.xcf-freeze-shell,.xcf-ice-stage,.xcf-after,.xw-visual,.xmas-feature-art,.xpro-fallback-gator){color:#eafefa!important}
html.xmas-snow-mode .page-shell :is(.phone-screen,.xcf-city-shell,.xcf-freeze-shell,.xcf-after,.xw-visual) :is(h2,h3,h4,p,small,span,strong,b,em,label){color:#f2ffff!important}
html.xmas-snow-mode .page-shell .xcf-city .xcf-city-chip{background:#ebf7fa!important;color:#174650!important;border-color:#9ac2cc!important}
html.xmas-snow-mode .page-shell .xcf-city .xcf-city-chip span{color:#174650!important}
html.xmas-snow-mode .page-shell .xcf-city .xcf-city-chip.is-current{background:#176472!important;color:white!important}
html.xmas-snow-mode .page-shell .xcf-city .xcf-city-chip.is-current span{color:#fff!important}
html.xmas-snow-mode .page-shell .xcf-city .xcf-city-detail :is(h3,p,small,span){color:#e7fcff!important}
html.xmas-snow-mode .page-shell .xcf-city .xcf-city-detail a{color:#123941!important}
html.xmas-snow-mode .page-shell .xcf-ice-top :is(span,b){color:#f4feff!important}
html.xmas-snow-mode .page-shell .xcf-before :is(h2,h3,p,span,b){color:#4c6872!important}
html.xmas-snow-mode .page-shell .xcf-after :is(h2,h3,p,span,b){color:#e9fff8!important}
html.xmas-snow-mode .page-shell .xmas-offer-submit{background:#0c5260!important;color:#fff!important}
html.xmas-snow-mode .page-shell .site-footer .footer-brand img{max-width:230px}
/* Sidebar snow trail needs contrast against the white palette */
html.xmas-snow-mode .xpro-scroll-track{color:#1e6675!important}
html.xmas-snow-mode .xpro-scroll-line{background:#9fc8d1!important}

/* PERFORMANCE: dramatically reduce GPU layers and overlapping continuous animations. */
html.xmas-active .page-shell :is(.orbit-service-card,.service-index-row,.metric,.experience-panel,.chart-card,.browser-window,.xpro-present,.xw-visual,.xmas-feature-card,.xw-copy,.deliverable-anchor-inner,.xpro-hunt-reveal,.xul-countdown,.xmas-offer-dialog),
html.xmas-active :is(.site-header,.nav-drawer,.audio-controller,.xcf-city-shell,.xcf-freeze-shell){
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
}
html.xmas-active .page-shell :is(.orbit-service-card,.metric,.experience-panel,.xpro-present,.service-index-row){
  box-shadow:inset 0 1px rgba(255,255,255,.12),0 9px 22px #001a2026!important;
}
html.xmas-active :is(.pointer-glow,.dynamic-grain,.dynamic-scan,.xul-card-crystals,.xpro-sleigh-silhouette){display:none!important}
html.xmas-active .xpro-aurora{animation:none!important;filter:blur(12px)!important;opacity:.30!important}
html.xmas-active .xpro-winter-scene{filter:none!important}
html.xmas-active .xcf-city-sky{animation:none!important;filter:none!important;opacity:.27!important}
html.xmas-active .xul-real-lights .xul-bulb,
html.xmas-active .xul-real-lights .xul-glass{animation:none!important}
html.xmas-active .xcf-santa-flight{animation:none!important;display:none!important}
html.xmas-active .xmas-snow-canvas{opacity:.35!important}
/* On low-powered devices, decorative ambient loops stop; interaction remains live. */
html.xmas-perf-lite .xmas-snow-canvas{opacity:.22!important}
html.xmas-perf-lite .service-orbit-stage .orbit-ambient-line,
html.xmas-perf-lite .fallback-ring{animation:none!important}
@media(max-width:900px){
 html.xmas-active .page-shell :is(.service-index-row,.metric,.experience-panel,.orbit-service-card,.chart-card){filter:none!important}
 html.xmas-active :is(.xul-real-lights .xul-glass,.xul-real-lights .xul-bulb,.xpro-aurora,.xpro-winter-scene,.xcf-city-sky,.xmas-hero-sleigh){animation:none!important}
 html.xmas-active .xul-sparkle-burst{display:none!important}
}
/* Keep dynamic mascot visible, while reducing expensive blur across it. */
html.xmas-active .service-hologram img{filter:drop-shadow(0 0 12px rgba(95,222,205,.18))!important}

/* Round snow caps along curved phone corners, but never over screen content. */
html .experience .phone-shell{border-radius:42px 42px 35px 35px!important;overflow:hidden!important}
html .experience .phone-shell::before{border-radius:inherit!important;clip-path:ellipse(80% 100% at 50% 0%)!important;height:18px!important;top:0!important;left:0!important;right:0!important;width:100%!important;opacity:.90!important}
/* Avoid extra theme glow that whitens text. */
html.xmas-snow-mode .xul-card-crystals{display:none!important}

/* Preserve original Three.js layer visibility beneath the snowy hero. */
html.xmas-snow-mode .page-shell{background:transparent!important}
html.xmas-snow-mode .page-shell.is-home>.hero-cinematic{
 background:radial-gradient(ellipse at 75% 45%,rgba(248,255,255,.56),transparent 42%),linear-gradient(135deg,rgba(240,251,253,.97),rgba(226,244,248,.87) 52%,rgba(233,249,252,.88))!important;
}
html.xmas-snow-mode .immersive-scene.scene-home{opacity:.88!important;z-index:1!important}
html.xmas-snow-mode .service-hologram img{filter:drop-shadow(0 3px 12px rgba(21,94,104,.30))!important}
/* Inputs in Snow Mode must have dark ink on white, including placeholder and select option. */
html.xmas-snow-mode .page-shell :is(.contact-form,.xpro-fallback-contact,.xmas-offer-dialog,.xmas-offer-form) :is(input,textarea,select){
 background:#faffff!important;color:#143c46!important;border-color:#9ec2cd!important;
}
html.xmas-snow-mode .page-shell :is(input,textarea)::placeholder{color:#5b7d88!important;opacity:1!important}
html.xmas-snow-mode .page-shell :is(input,select,textarea):focus-visible{outline:2px solid #2e8190!important;outline-offset:2px}
html.xmas-snow-mode .xmas-offer-dialog :is(h2,h3,p,label,small,span){color:#1b444e!important}
html.xmas-snow-mode .xmas-offer-dialog button.xmas-offer-submit{background:#125865!important;color:#f8ffff!important}
