.aerial-promo{width:min(1080px,calc(100% - 40px));max-height:calc(100dvh - 40px);padding:0;border:0;background:white;overflow:auto;color:var(--ink)}
.aerial-promo::backdrop{background:#080a09d9;backdrop-filter:blur(4px)}
.promo-grid{display:grid;grid-template-columns:52% minmax(0,1fr)}
.promo-close{position:absolute;z-index:3;right:12px;top:12px;width:40px;height:40px;background:#fff;color:var(--ink);border:1px solid #dedfe1}
.promo-close:hover{background:var(--lime)}
.promo-visual{padding:30px;background:var(--ink);color:white;display:flex;flex-direction:column;justify-content:center}
.promo-brand{width:210px;filter:grayscale(1) invert(1);margin-bottom:25px}
.promo-kicker{font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;color:var(--lime)}
.promo-film{position:relative;aspect-ratio:16/9;width:100%;background:#171717}
.promo-film video{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.promo-video-toggle{position:absolute;right:10px;bottom:10px;padding:7px 12px;background:#000a;color:#fff;border:1px solid #ffffff60;font-size:13px;line-height:1.2}
.promo-visual h2{font-size:clamp(42px,4.4vw,64px);line-height:1.1;margin-top:22px;letter-spacing:-.02em}
.promo-visual h2 span{color:var(--lime)}
.promo-copy{padding:42px 36px 30px;display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.promo-start{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--lime);font-size:16px;font-weight:750;line-height:1.3}
.promo-start svg{width:20px;height:20px}
.promo-copy h3{font-size:58px;line-height:1.08;letter-spacing:-.03em}
.promo-schedule{width:100%;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.promo-schedule>p{font-size:20px;font-weight:650;margin-bottom:12px}
.promo-times{display:flex;gap:28px;font:900 italic 46px/1.1 var(--display)}
.promo-times span+span{border-left:2px solid var(--lime);padding-left:28px}
.promo-capacity{display:flex;align-items:center;gap:10px;font-size:16px;line-height:1.35}
.promo-capacity svg{width:24px;height:24px}
.promo-signup{width:100%;font-size:24px;min-height:59px;padding:14px 20px;margin-top:2px}
.promo-phone{display:flex;align-items:center;gap:10px;font-size:22px;line-height:1.3;font-weight:750}
.promo-phone svg{width:22px;height:22px}
.promo-terms{font-size:13px;line-height:1.5;color:var(--muted)}
@media(min-width:701px) and (max-height:780px){
 .promo-copy{padding:28px 30px 24px;gap:15px}
 .promo-copy h3{font-size:48px}
 .promo-schedule{padding:14px 0}
 .promo-visual h2{font-size:54px}
 .promo-visual{padding:26px}
 .promo-brand{margin-bottom:20px}
}
@media(max-width:700px){
 .aerial-promo{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}
 .promo-grid{grid-template-columns:minmax(0,1fr)}
 .promo-visual{padding:24px 20px 20px}
 .promo-brand{width:160px;margin-bottom:18px}
 .promo-kicker{font-size:12px;margin-bottom:12px}
 .promo-visual h2{font-size:42px;margin-top:16px}
 .promo-copy{padding:24px 20px;gap:18px}
 .promo-copy h3{font-size:43px}
 .promo-close{position:sticky;float:right;margin-right:10px;margin-top:10px;top:10px;right:10px;margin-bottom:-50px}
 .promo-schedule>p{font-size:18px}
 .promo-times{font-size:43px}
 .promo-signup{font-size:22px;padding:14px 18px}
 .promo-phone{font-size:20px}
 .promo-capacity{font-size:15px}
}
.comfort-promo{width:min(1040px,calc(100% - 32px),calc((100dvh - 32px)*1.333333));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:0;background:white;overflow:auto;color:var(--ink)}
.comfort-promo::backdrop{background:#080a09d9;backdrop-filter:blur(4px)}
.comfort-promo-link,.comfort-promo-image{display:block;width:100%}
.comfort-promo-image{height:auto}
.comfort-promo .promo-close{position:absolute;top:10px;right:10px;margin:0;float:none;border-radius:50%;width:38px;height:38px;box-shadow:0 2px 8px #0003}
.comfort-promo-link:focus-visible{outline:3px solid var(--lime);outline-offset:-3px}
@media(max-width:700px){.comfort-promo{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.comfort-promo .promo-close{width:32px;height:32px;top:6px;right:6px}}
