/* Sharp, coordinated 3D visuals, preserving the original page and scroll mechanics. */
.site *, .site *::before, .site *::after {
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.site-header { background: #08111bf5; }
.hero-copy, .hero-visual, [data-arrive] { opacity: 1 !important; }
.is-pinned .service-panel .service-visual { opacity: 1; }
.three-site-canvas { position: fixed; inset: 0; width: 100vw; height: 100vh; z-index: 12; pointer-events: none; }
.three-site-ready .hero-visual>.orbital,
.three-site-ready .about-visual>.orbital,
.three-site-ready .service-visual>.orbital,
.three-site-ready .service-visual>.service-focus-icon,
.three-site-ready .process-path { visibility: hidden; }
.contact-three-region { display: none; width: 100%; height: 220px; max-width: 380px; margin: 26px 0 0; }
.three-site-ready .contact-three-region { display: block; }
.button svg, .text-button svg { transition: transform .25s ease; }
.feature { perspective: 800px; }
.feature-icon { transition: border-color .3s, background .3s; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .site:not(.motion-off) .button:hover svg, .site:not(.motion-off) .text-button:hover svg { transform: translate(3px,-3px); }
 .feature:hover .feature-icon { border-color: #89edfb; background: #102435; }
}
@media(max-width:760px) { .contact-three-region { height: 180px; margin-inline: auto; } }
/* Avoid fractional-scale text softening from the original scroll transforms. */
.hero-copy, [data-arrive] { transform: none !important; }
