/* Enhanced motion remains isolated from CRM styles. */
.hero {
  position: relative;
  isolation: isolate;
  background: radial-gradient(ellipse at 80% 35%, #83c6ff99, transparent 63%),
    radial-gradient(ellipse at 7% 90%, #b3ddffbb, transparent 60%),
    linear-gradient(120deg, #e8f5ff, #d3eaff 55%, #b9ddff);
}
.hero::before {
  content: ''; position: absolute; inset: -20%; z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse at 65% 45%, #4dacf93d, transparent 43%);
  animation: blue-drift 14s ease-in-out infinite alternate;
}
.hero h1 > span { background-size: 200% 100%; animation: headline-shift 7s ease-in-out infinite alternate; }
.hero .status-dot { animation: status-pulse 3s ease-out infinite; }
.core { animation: core-glow 5s ease-in-out infinite; }
.orbit-two { animation: orbit-turn 60s linear infinite reverse; }
.service-image { background: #d9edff; height: auto; aspect-ratio: 10 / 7; }
.service-image img { filter: saturate(1.05); animation: image-breathe 15s ease-in-out infinite alternate; }
.service-image::before {
  content: ''; position: absolute; z-index: 2; inset: 0; pointer-events: none;
  background: linear-gradient(115deg, transparent 25%, #ffffff24 48%, transparent 65%);
  transform: translateX(-120%); animation: image-sheen 9s ease-in-out infinite;
}
.service-card:nth-child(2) .service-image::before { animation-delay: -3s; }
.service-card:nth-child(3) .service-image::before { animation-delay: -6s; }
.service-card:hover .icon-box, .group-card:hover .group-icon { transform: rotate(-8deg) scale(1.08); }
.icon-box, .group-icon { transition: transform .35s ease; }
.button span, .text-link span { transition: transform .3s ease; }
.button:hover span, .text-link:hover span { transform: translate(3px, -3px); }
.component-art { height: 115px; stroke-width: 1.5; }
.cylinder-housing { fill: #e1edf7; stroke: #32668d; }
.cylinder-cap { fill: #b6cce0; stroke: #32668d; }
.piston-shaft { fill: #fff; stroke: #49768f; }
.piston-head { fill: #2998ee; stroke: #126dca; }
.piston-assembly { animation: piston-stroke 3.6s ease-in-out infinite alternate; }
.air-tube { stroke: #419bea; stroke-width: 3; }
.valve-manifold { fill: #dfebf6; stroke: #397091; }
.gauge-rim { fill: #d0e0ee; stroke: #5f819b; stroke-width: 2; }
.gauge-face { fill: #fff; }
.gauge-scale { stroke: #218ce7; stroke-width: 2.5; }
.gauge-ticks { stroke: #58788d; }
.gauge-needle { transform-origin: 120px 48px; animation: gauge-sweep 3.8s ease-in-out infinite alternate; stroke: #126dca; stroke-width: 2; }
.needle-tip, .gauge-hub { fill: #126dca; }
.valve-handle { transform-origin: 120px 18px; animation: valve-adjust 4s ease-in-out infinite alternate; }
.process-grid .step-number { overflow: visible; }
.process-grid .step-number::after { animation: none; }
.process-grid article.motion-seen .step-number::after { animation: process-signal 1.8s ease-out both; }
.process-grid article.motion-seen:nth-child(2) .step-number::after { animation-delay: .15s; }
.process-grid article.motion-seen:nth-child(3) .step-number::after { animation-delay: .3s; }
.process-grid article.motion-seen:nth-child(4) .step-number::after { animation-delay: .45s; }
.group-art::after { animation: heritage-orbit 9s ease-in-out infinite alternate; }
.cta-orbit { animation: heritage-orbit 9s ease-in-out infinite alternate; }
.contact-card .contact-symbol { transition: transform .3s ease, background .3s ease; }
.contact-card:hover .contact-symbol { transform: rotate(-8deg); background: #d7edff; }
.map-marker { animation: marker-float 4s ease-in-out infinite; }
.faqs details[open] p { animation: reveal .4s ease both; }
.service-grid > :nth-child(2), .component-grid > :nth-child(2), .group-grid > :nth-child(2) { --reveal-delay: .1s; }
.service-grid > :nth-child(3), .component-grid > :nth-child(3), .group-grid > :nth-child(3) { --reveal-delay: .2s; }
.revealed { animation-delay: var(--reveal-delay, 0s); }
.paused, .paused::before, .paused::after, .paused *, .paused *::before, .paused *::after { animation-play-state: paused !important; }
@keyframes blue-drift { to { transform: translate(-6%, 5%) scale(1.12); } }
@keyframes headline-shift { to { background-position: 100% 50%; } }
@keyframes core-glow { 50% { box-shadow: 20px 35px 65px #1b76d339, inset 0 0 0 1px #fff, 0 0 0 17px #ffffff55, 0 0 50px 22px #59b5ff33; } }
@keyframes status-pulse { 70% { box-shadow: 0 0 0 8px #2da59e00; } }
@keyframes image-breathe { to { transform: scale(1.045); } }
@keyframes image-sheen { 0%, 65% { transform: translateX(-120%); } 100% { transform: translateX(120%); } }
@keyframes piston-stroke { 0%, 12% { transform: translateX(-24px); } 88%, 100% { transform: translateX(19px); } }
@keyframes gauge-sweep { 0%, 8% { transform: rotate(-135deg); } 92%, 100% { transform: rotate(135deg); } }
@keyframes valve-adjust { 0%, 15% { transform: scaleX(1); } 85%, 100% { transform: scaleX(.3); } }
@keyframes process-signal { from { left: 0; opacity: 1; } to { left: calc(100% - 6px); opacity: 1; } }
@keyframes heritage-orbit { to { transform: translate(12px, 10px) scale(1.08); } }
@keyframes marker-float { 50% { transform: translateY(-8px); } }
@media (max-width: 600px) {
  .hero { background: radial-gradient(ellipse at 90% 65%, #83c6ff80, transparent 65%), linear-gradient(145deg, #e6f4ff, #c5e3ff); }
  .hero::before, .service-image img { animation: none; }
  .float-card { animation: float 7s ease-in-out infinite; }
  .factory-card { animation-delay: -2s; }
  .parts-card { animation-delay: -4s; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .gauge-needle { transform: rotate(0deg); }
}
