.intro-video-dialog{box-sizing:border-box;width:min(920px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:18px;border:0;border-radius:16px;background:#fff;color:#253b2e;overflow:auto;box-shadow:0 16px 60px #0005}
.intro-video-dialog::backdrop{background:#000b}
.intro-video-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.intro-video-heading h2{margin:0;font-size:clamp(18px,3vw,24px);line-height:1.5}
.intro-video-close{flex-shrink:0;border:1px solid #a0b4a8;border-radius:8px;background:#f4f7f4;color:#254631;padding:10px 14px;font:inherit;font-weight:700;cursor:pointer;min-height:44px}
.intro-video-dialog video{display:block;width:100%;max-height:72dvh;aspect-ratio:16/9;background:#000;border-radius:8px}
.intro-video-error{color:#963b27;line-height:1.7}
@media(max-width:480px){.intro-video-dialog{padding:12px}.intro-video-close{padding:8px 10px}}
.intro-video-card{display:block;position:relative;width:min(100%,740px);aspect-ratio:16/9;margin:0 auto 28px;padding:0;overflow:hidden;border:2px solid #b8d9d3;border-radius:18px;background:#eef6fa;text-align:left;cursor:pointer;box-shadow:0 6px 20px #183b3215;font:inherit;color:#174f55}
.intro-video-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.intro-video-copy{position:absolute;left:6%;top:0;bottom:0;width:47%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:clamp(8px,1.8vw,18px)}
.intro-video-eyebrow{font-size:clamp(13px,2.1vw,18px);font-weight:700;letter-spacing:.08em}
.intro-video-title{font-size:clamp(22px,4.6vw,36px);font-weight:800;line-height:1.35;letter-spacing:.02em}
.intro-video-play{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:999px;background:#176c72;color:#fff;font-size:clamp(14px,2.2vw,20px);font-weight:700;white-space:nowrap;box-shadow:0 4px 12px #174f5528}
.intro-video-time{font-size:clamp(12px,1.9vw,16px);color:#405d60}
.intro-video-card:hover .intro-video-play{background:#10535a}
.intro-video-card:focus-visible,.intro-video-close:focus-visible{outline:3px solid #b47c24;outline-offset:4px}
@media(max-width:480px){.intro-video-card{margin-bottom:20px;border-radius:14px}.intro-video-copy{left:5%;gap:8px;width:49%}.intro-video-play{padding:10px 11px;font-size:14px;gap:5px}.intro-video-title{font-size:23px}.intro-video-eyebrow{font-size:12px}.intro-video-time{font-size:11px}}
