/* Haze drifts behind the camera; only the lens control bands turn. */
.home-page .hero { isolation: isolate; }
.hero-fog-plane {
  position: absolute;
  pointer-events: none;
  visibility: hidden;
  overflow: hidden;
}
.hero.fog-ready .hero-fog-plane { visibility: visible; }
.hero-fog-layer {
  position: absolute;
  width: 116%;
  height: 116%;
  max-width: none;
  left: -8%;
  top: -8%;
  object-fit: fill;
  mix-blend-mode: screen;
  opacity: 0.42;
  -webkit-mask-image: linear-gradient(90deg, transparent 24%, #000 55%), linear-gradient(0deg, transparent, #000 22%, #000 84%, transparent);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(90deg, transparent 24%, #000 55%), linear-gradient(0deg, transparent, #000 22%, #000 84%, transparent);
  mask-composite: intersect;
  animation: hero-fog-drift 26s ease-in-out infinite alternate;
}
.hero-fog-layer--far {
  opacity: 0.23;
  filter: blur(5px);
  animation: hero-fog-counterdrift 37s ease-in-out infinite alternate;
  animation-delay: -13s;
}
.hero-camera-foreground {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  filter: brightness(0.95);
  pointer-events: none;
}
.hero[data-fog-running="false"] .hero-fog-layer { animation-play-state: paused; }
/* Only the photographed geared control bands are reprojected around the barrel. */
.hero-ring-surface {
  position: absolute;
  left: 63.1510417%;
  top: 30.2734375%;
  width: 20.8333333%;
  height: 35.15625%;
  pointer-events: none;
  filter: brightness(.95);
}
.fog-motion-toggle {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 6px 0;
  min-height: 36px;
  color: #b8b09f;
  font: inherit;
  font-size: 12px;
  text-align: left;
}
.fog-motion-toggle:hover { color: #eed6a9; }
.fog-motion-toggle[hidden] { display: none; }
@keyframes hero-fog-drift {
  0% { transform: translate3d(4%, 3%, 0) scale(1.035); opacity: 0.32; }
  50% { opacity: 0.49; }
  100% { transform: translate3d(-5%, -3%, 0) scale(1.105); opacity: 0.4; }
}
@keyframes hero-fog-counterdrift {
  0% { transform: translate3d(-4%, 3%, 0) scale(1.15); opacity: 0.18; }
  50% { opacity: 0.3; }
  100% { transform: translate3d(4%, -5%, 0) scale(1.03); opacity: 0.23; }
}
@media (max-width: 640px) {
  .hero-fog-layer--far { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-fog-plane, .fog-motion-toggle { display: none; }
  .hero-fog-layer { animation: none !important; }
}

.hero-camera-foreground { clip-path: polygon(48.3724% 47.6562%, 48.5026% 42.2852%, 49.3490% 37.6953%, 50.7812% 33.5938%, 52.8646% 30.2734%, 55.3385% 27.7344%, 56.9661% 26.7578%, 58.9193% 26.9531%, 61.9792% 29.0039%, 66.5365% 31.7383%, 71.6146% 33.6914%, 75.3255% 34.6680%, 75.3255% 31.3477%, 74.6094% 30.4688%, 74.6094% 26.4648%, 65.4297% 23.6328%, 64.7135% 22.6562%, 64.5833% 19.0430%, 65.3646% 17.9688%, 67.3828% 17.1875%, 79.7526% 21.6797%, 79.8828% 12.2070%, 86.4583% 10.0586%, 89.4531% 10.3516%, 90.1042% 13.1836%, 94.5964% 12.6953%, 97.0703% 13.7695%, 97.1354% 29.4922%, 96.4193% 31.1523%, 92.3177% 32.2266%, 94.5312% 33.3008%, 96.2240% 35.5469%, 97.6562% 39.0625%, 98.5026% 43.2617%, 98.6979% 53.5156%, 100.0000% 53.3203%, 100.0000% 59.8633%, 97.3958% 59.6680%, 97.2656% 62.5000%, 94.8568% 63.6719%, 94.0104% 66.1133%, 95.3776% 66.3086%, 95.8333% 68.1641%, 95.7031% 69.7266%, 100.0000% 70.2148%, 100.0000% 73.1445%, 96.9401% 73.3398%, 96.5495% 75.2930%, 100.0000% 77.1484%, 100.0000% 100.0000%, 73.5677% 100.0000%, 74.4141% 93.9453%, 72.5260% 91.9922%, 72.3307% 84.3750%, 71.2240% 83.3984%, 70.9635% 81.2500%, 71.6797% 78.7109%, 72.5260% 77.4414%, 72.2656% 74.8047%, 71.8750% 72.1680%, 62.2396% 71.3867%, 59.7656% 69.5312%, 59.5703% 67.4805%, 60.3516% 66.1133%, 65.8203% 65.5273%, 72.3307% 65.3320%, 72.3307% 63.0859%, 66.9271% 62.3047%, 63.1510% 64.3555%, 59.4401% 65.9180%, 56.6406% 65.7227%, 54.5573% 64.4531%, 52.8646% 62.5977%, 51.3021% 59.8633%, 49.8047% 56.4453%, 48.8281% 52.6367%); }
