/* A cinematic, native-scroll sequence. The frame alone tilts; media controls stay intact. */
.film-scroll-section.mdw-horizontal-scroll.audit-horizontal-scroll {
  display:block!important; width:100%!important; height:auto!important; min-height:0!important;
  padding:0!important; overflow:visible!important; --film-edge:8vw;
}
.film-scroll-section.mdw-horizontal-scroll > .film-scroll-viewport {
  display:flex!important; flex-direction:column!important; position:relative!important; inset:auto!important;
  width:100%!important; height:auto!important; min-height:0!important; padding:44px 0!important;
  gap:20px!important; overflow:hidden!important; background:radial-gradient(ellipse at 50% 60%,#12212755,transparent 65%),#080808;
  transform:none!important;
}
.film-scroll-section .film-scroll-surface {
  display:block!important; width:100%!important; max-width:none!important; height:auto!important; min-height:0!important;
  padding:0!important; margin:0!important; background:transparent!important; perspective:1600px;
}
.film-scroll-section .film-scroll-track {
  display:flex!important; position:relative; flex-wrap:nowrap!important; gap:clamp(16px,2.2vw,36px)!important;
  width:100%!important; max-width:none!important; height:auto!important; padding:22px var(--film-edge) 28px!important;
  margin:0!important; box-sizing:border-box; overflow-x:auto; overflow-y:hidden; scrollbar-width:none;
  scroll-snap-type:x mandatory; overscroll-behavior-x:contain; transform:none;
}
.film-scroll-section .film-scroll-track::-webkit-scrollbar { display:none; }
.film-scroll-section .film-scroll-card {
  display:block!important; position:relative; width:84vw!important; flex:0 0 84vw!important; min-width:0!important;
  padding:0!important; margin:0!important; border-radius:18px; overflow:hidden; background:#000;
  scroll-snap-align:center; transform-origin:50% 50%;
  transform:perspective(1600px) translate3d(0,var(--film-y,0px),0) rotateY(var(--film-tilt,0deg)) rotateZ(var(--film-roll,0deg)) scale(var(--film-scale,1));
  filter:brightness(var(--film-light,1));
  box-shadow:0 12px 30px #0005,0 0 0 1px #ffffff14;
}
.film-scroll-section .film-scroll-card.is-film-active { box-shadow:0 18px 42px #0007,0 0 0 1px #6dc2df60; }
.film-scroll-section.is-film-moving .film-scroll-card { will-change:transform; }
.film-scroll-section .film-scroll-card .elementor-widget-video,
.film-scroll-section .film-scroll-card .elementor-widget-container { width:100%!important; height:auto!important; padding:0!important; margin:0!important; }
.film-scroll-section .film-scroll-card .elementor-wrapper {
  position:relative!important; width:100%!important; height:auto!important; aspect-ratio:16/9; padding:0!important; overflow:hidden;
}
.film-scroll-section .film-scroll-card iframe { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; border:0; }
.film-scroll-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; padding:0 clamp(20px,6vw,96px); color:#fff; }
.film-scroll-title { display:flex; flex-direction:column; gap:10px; font:clamp(26px,2.7vw,42px)/1.15 the-seasons,Georgia,serif; }
.film-scroll-instruction { color:#a9b1b3; font:13px/1.45 avenir-lt-pro,Arial,sans-serif; letter-spacing:.01em; }
.film-scroll-controls { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.film-scroll-controls button {
  display:grid; place-items:center; width:44px; height:44px; padding:0!important; border:1px solid #ffffff55!important;
  border-radius:50%; background:#ffffff08!important; color:white!important; font:22px/1 Arial,sans-serif!important; cursor:pointer;
  transition:background-color .2s,border-color .2s;
}
.film-scroll-controls button:hover:not(:disabled) { background:#6dc2df24!important; border-color:#6dc2df!important; }
.film-scroll-controls button:focus-visible { outline:2px solid #6dc2df; outline-offset:4px; }
.film-scroll-controls button:disabled { opacity:.35; cursor:default; }
.film-scroll-count { min-width:46px; color:#d6dedf; text-align:center; font:12px/1.4 avenir-lt-pro,Arial,sans-serif; font-variant-numeric:tabular-nums; }
.film-scroll-progress { display:block; height:2px; margin:0 clamp(20px,6vw,96px); width:auto; background:#ffffff20; flex:0 0 2px; overflow:hidden; }
.film-scroll-progress > span { display:block; width:100%; height:100%; background:#6dc2df; transform:scaleX(var(--film-progress,.25)); transform-origin:left; }
.film-scroll-section.film-scroll-enabled.mdw-horizontal-scroll.audit-horizontal-scroll { height:var(--film-section-height,100vh)!important; }
.film-scroll-section.film-scroll-enabled.mdw-horizontal-scroll > .film-scroll-viewport {
  position:sticky!important; top:0!important; height:var(--film-viewport-height,100svh)!important;
  min-height:0!important; padding:28px 0!important; justify-content:center!important; gap:20px!important;
}
.film-scroll-enabled .film-scroll-track {
  width:max-content!important; overflow:visible; scroll-snap-type:none; transform:translate3d(var(--film-offset,0px),0,0);
}
.film-scroll-enabled.is-film-moving .film-scroll-track { will-change:transform; }
.film-scroll-enabled .film-scroll-card {
  width:min(74vw,1040px,calc((100svh - 206px)*1.77778))!important;
  flex:0 0 min(74vw,1040px,calc((100svh - 206px)*1.77778))!important;
}
@media(min-width:601px) and (max-width:899px) {
  .film-scroll-section .film-scroll-card { width:76vw!important; flex-basis:76vw!important; }
}
@media(max-width:600px) {
  .film-scroll-heading { align-items:flex-start; gap:12px; }
  .film-scroll-title { font-size:27px; gap:8px; }
  .film-scroll-instruction { max-width:180px; font-size:12px; }
  .film-scroll-controls { gap:5px; }
  .film-scroll-count { min-width:35px; font-size:11px; }
  .film-scroll-section .film-scroll-card { border-radius:12px; }
  .film-scroll-section.mdw-horizontal-scroll > .film-scroll-viewport { padding:32px 0!important; gap:10px!important; }
}
@media(prefers-reduced-motion:reduce) {
  .film-scroll-section .film-scroll-track { transform:none!important; will-change:auto; }
  .film-scroll-section .film-scroll-card { transform:none!important; filter:none; will-change:auto!important; }
  .film-scroll-controls button { transition:none; }
}
