/* Only Elmam Flow video page / teaser — site design tokens remain unchanged. */
.flow-video-teaser-section { padding-block: clamp(40px, 6vw, 75px); }
.flow-video-teaser {
  display: grid; grid-template-columns: minmax(240px, .85fr) minmax(0, 1.15fr);
  align-items: center; gap: clamp(20px, 4vw, 52px);
  padding: clamp(18px, 3vw, 30px); border-radius: 26px;
  border: 1px solid #dce7f1; background: #fff; box-shadow: var(--shadow-md);
}
.flow-video-teaser-media { position: relative; display: block; isolation: isolate; overflow: hidden;
  border-radius: 18px; background: #eff5fd; aspect-ratio: 1200/630; }
.flow-video-teaser-media img { display: block; height: 100%; width: 100%; object-fit: cover; }
.flow-video-play-indicator { position: absolute; inset-inline-start: 50%; inset-block-start: 50%;
  transform: translate(-50%, -50%); display: grid; place-items: center;
  width: 64px; height: 64px; border-radius: 50%; color: #fff; background: rgba(11,40,76,.86);
  box-shadow: 0 8px 28px rgba(5,20,44,.25); font-size: 27px; line-height: 1; }
.flow-video-teaser-content h2 { margin: 0 0 12px; font-size: clamp(1.6rem, 3.2vw, 2.35rem); line-height: 1.3; }
.flow-video-teaser-content p { margin: 0 0 22px; color: var(--muted); font-size: 1rem; }
.flow-video-watch { padding-block: clamp(38px, 6vw, 80px); }
.flow-video-watch .section-head { max-width: 840px; margin-bottom: 29px; }
.flow-video-watch h1 { font-size: clamp(2rem, 4vw, 3.3rem); letter-spacing: -.025em; line-height: 1.3; margin-block: 0 14px; }
.flow-video-watch .section-head > p { font-size: clamp(.95rem, 1.7vw, 1.13rem); }
.flow-video-player-shell { width: min(1040px, 100%); margin-inline: auto;
  border: 1px solid #d8e5f1; border-radius: 22px; padding: clamp(7px, 1.4vw, 12px);
  background: #fff; box-shadow: var(--shadow-md); }
.flow-video-player { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9;
  border-radius: 14px; background: #091e39; object-fit: contain; }
.flow-video-watch-actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.flow-video-note { margin: 20px auto 0; text-align: center; color: var(--muted); font-size: .88rem; }
@media (max-width: 760px) {
  .flow-video-teaser { grid-template-columns: 1fr; }
  .flow-video-play-indicator { width: 53px; height: 53px; font-size: 22px; }
  .flow-video-teaser-content .btn { width: 100%; }
  .flow-video-player-shell { border-radius: 15px; padding: 5px; }
  .flow-video-player { border-radius: 10px; }
  .flow-video-watch-actions .btn { min-width: min(100%, 220px); }
}
