/* Owner-supplied company film: compact, click-to-load media in the introduction. */
.brand-blue .manufacturer-intro--film {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  align-items: center;
  gap: clamp(30px, 4vw, 64px);
  scroll-margin-top: 100px;
}
.brand-blue .manufacturer-intro--film h1 { font-size: clamp(32px, 3vw, 44px); }
.manufacturer-intro--film .corporate-intro-copy { margin-top: 24px; }
.company-film { min-width: 0; margin: 0; border: 0; background: #fff; scroll-margin-top: 100px; }
.company-film-frame { position: relative; aspect-ratio: 16 / 9; background: #062b50; }
.company-film video { display: block; width: 100%; height: 100%; object-fit: contain; }
.company-film-play {
  position: absolute; inset: 0; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 14px;
  color: #fff; background: linear-gradient(0deg, #021b3455, #021b341a);
  text-decoration: none; font: 600 15px/1.5 Arial, sans-serif;
}
.company-film-play[hidden] { display: none; }
.company-film-play svg { width: 66px; height: 66px; border: 1px solid #ffffff88; border-radius: 50%; background: #006dc7; box-shadow: 0 3px 18px #021b3466; }
.company-film-play:hover svg { background: #0055a3; }
.company-film-play:focus-visible { outline: 3px solid #ff8500; outline-offset: -4px; }
.company-film-status:empty { display: none; }
.company-film-status { padding: 0 20px 16px; margin: 0; color: #526579; font: 13px/1.6 Arial, sans-serif; }
.company-profile-media { min-width: 0; display: grid; gap: 20px; }
.company-profile-media .about-profile-image { display: grid; grid-template-columns: 144px minmax(0, 1fr); align-items: stretch; }
.company-profile-media .about-profile-image > a { height: 100%; min-height: 106px; }
.company-profile-media .about-profile-image img { width: 100%; height: 100%; object-fit: cover; }
.company-profile-media .about-profile-image figcaption { display: flex; flex-direction: column; justify-content: center; padding: 14px 18px; border-top: 0; border-left: 1px solid #d5e1ed; }
.company-profile-media .about-profile-image strong { font-size: 14px; }
@media (max-width: 1000px) {
  .brand-blue .manufacturer-intro--film { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .manufacturer-intro--film .company-film { width: 100%; max-width: 760px; justify-self: center; }
}
@media (max-width: 640px) {
  .company-film-play { gap: 9px; font-size: 13px; }
  .company-film-play svg { width: 52px; height: 52px; }
  .company-profile-media .about-profile-image { grid-template-columns: 104px minmax(0, 1fr); }
  .company-profile-media .about-profile-image figcaption { padding: 12px; }
}
