.insurance-scene {
  position: relative; isolation: isolate; overflow: hidden;
  scroll-margin-top: 60px; min-height: 800px;
  padding-top: 120px; padding-bottom: 100px;
  color: #fffcf2; background: #10251f;
}
.insurance-scene-image {
  position: absolute; inset: -3%; z-index: -2;
  background: url('media/car-accident-response.jpg') center center / cover no-repeat;
  animation: insurance-camera 24s ease-in-out infinite alternate;
}
.insurance-scene::before {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, #081b1638, #081b16c9 65%), linear-gradient(0deg, #081b16cc, transparent 80%);
}
.insurance-scene .policy {
  background: #0b211bbf; border-color: #d5ba7a99; color: #fffcf2;
  padding: 28px; backdrop-filter: blur(4px); margin-top: 170px;
}
.insurance-scene .policy blockquote,
.insurance-scene .excess .eyebrow,
.insurance-scene .excess h2 span { color: #edcf96; }
.insurance-scene .excess { text-shadow: 0 2px 16px #000a; }
.insurance-motion-toggle {
  position: absolute; top: 22px; right: 6vw;
  border: 1px solid #ffffff80; background: #10251fe6; color: white;
  padding: 10px 14px; cursor: pointer; font: 12px Arial, sans-serif;
}
.insurance-scene.is-paused .insurance-scene-image { animation-play-state: paused; }
@keyframes insurance-camera {
  from { transform: scale(1) translateX(0); }
  to { transform: scale(1.045) translateX(-.7%); }
}
@media (max-width: 950px) {
  .insurance-scene { padding-top: 240px; gap: 35px; }
  .insurance-scene-image { background-position: 30% center; }
  .insurance-scene::before { background: linear-gradient(0deg, #081b16f2 30%, #081b1640 100%); }
  .insurance-scene .policy { margin-top: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .insurance-scene-image { animation: none; }
  .insurance-motion-toggle { display: none; }
}
