html, body { width: 100%; margin: 0; }
body { overflow-x: clip; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
#main, [data-layout-template="true"] { width: 100%!important; max-width: 100%; }
.framer-VYC2e.framer-72rtr7 { width: 100%!important; }
.framer-VYC2e .framer-1u6a2tv { height: 100svh; min-height: 480px; }
.studio-language a { min-height: 44px; }
video, iframe { max-width: 100%; }
@media (pointer: coarse), (prefers-reduced-motion: reduce) {
  .framer-2z1nd7-container { display: none!important; }
  .studio-language, .studio-play { -webkit-backdrop-filter: none; backdrop-filter: none; background-color: #111; }
}
@media (max-height: 500px) and (orientation: landscape) {
  .framer-VYC2e .framer-1u6a2tv { min-height: 420px; position: relative; }
}
@media (max-width: 809px) {
  .studio-showcase { padding-left: max(16px, env(safe-area-inset-left)); padding-right: max(16px, env(safe-area-inset-right)); }
  .studio-language { top: max(12px, env(safe-area-inset-top)); right: max(12px, env(safe-area-inset-right)); }
  .framer-u0pvO .framer-1ajkbi9 { min-width: 0; }
}

/* Keep the introduction on its white surface before the full-width film. */
#about.framer-c4hy5j { padding-bottom: clamp(64px, 8vw, 112px) !important; }

/* Make the animated Services band shallower and preserve more of the film above. */
.framer-VYC2e .framer-mdkm87 { padding-bottom: 64px !important; }
.framer-VYC2e .framer-mdkm87 .framer-1bfxxxq {
  top: clamp(24px, 4vw, 48px);
  height: calc(100% - clamp(24px, 4vw, 48px));
}
@media (min-width: 810px) {
  .framer-VYC2e .framer-mdkm87 { padding-bottom: 104px !important; }
}
@media (min-width: 1200px) {
  .framer-VYC2e .framer-mdkm87 { padding-bottom: 136px !important; }
}

[data-studio-scroll-pending] { opacity: 0 !important; }
@media (prefers-reduced-motion: reduce) {
  [data-studio-scroll-pending] { opacity: 1 !important; }
}

/* Also suppress counters from previously cached hydration modules. */
.studio-count, .studio-film-meta > span { display: none !important; }
