main{overflow:clip}
@supports not (overflow:clip){main{overflow:visible}}
.practice-story{position:relative;height:auto;min-height:0;border-top:1px solid #ffffff40;margin-top:8px}
.practice-scene{position:relative;top:0;height:auto;min-height:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(18px,3.5svh,28px);padding:48px 0;text-align:center}
.practice-heading{min-height:100px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}
.practice-heading .number{display:block;color:#c7d6cb;margin:0 0 13px;font-size:10px;letter-spacing:2px}
.practice-heading h3{font:500 clamp(27px,7.4vw,34px)/1.1 Arial,sans-serif;letter-spacing:-1.1px;margin:0;max-width:350px;min-height:2.2em;display:flex;align-items:center;justify-content:center}
.practice-visual{position:relative;width:calc(100% + 40px);margin:0 -20px;aspect-ratio:16/9;flex:none;background:transparent}
.practice-visual img,.practice-visual video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.practice-visual video{opacity:0;pointer-events:none}
.practice-visual.video-ready video{opacity:1}
@media (min-width: 640px) {
  .practice-visual{background:#1c4033;overflow:hidden}
  /* Keep fractional video edges inside the green section during playback. */
  .practice-visual video{object-fit:cover;clip-path:inset(2px)}
}
.practice-caption{font-size:16px;line-height:1.55;letter-spacing:-.4px;color:#d4dfd7;max-width:340px;margin:0;min-height:7.75em}
@media(max-height:650px){.practice-scene{top:0;height:auto;min-height:0;gap:12px;padding:36px 0}.practice-heading{min-height:80px}.practice-heading h3{font-size:27px}.practice-caption{font-size:15px;min-height:6.2em}}
@media(prefers-reduced-motion:reduce){.practice-scene{position:relative;top:0;height:auto;min-height:0;padding:38px 0;gap:23px}.practice-heading,.practice-heading h3,.practice-caption{min-height:0}.practice-visual.video-ready video{opacity:0}}
