.promo-backdrop{z-index:1400;background:#031428b8;place-items:center;padding:16px;animation:.25s both promoFade;display:grid;position:fixed;inset:0}.promo{isolation:isolate;color:#fff;background:#0b1a2b url(/images/season-promo-storm-over-los-angeles.webp) 45% 0/auto 114% no-repeat;border:1px solid #fff;border-radius:24px;flex-direction:column;width:100%;max-width:460px;min-height:540px;padding:26px 22px 24px;animation:.3s both promoIn;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 80px #00000080}.promo:before{content:"";z-index:-1;background:linear-gradient(#040e1acc 0%,#040e1a99 34%,#040e1a1f 58%,#040e1a6b 76%,#040e1adb 100%);position:absolute;inset:0}.promo:after{content:"";z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(120% 70% at 70% 0,#e1ecff80,#0000 70%);animation:6s ease-out -4.8s infinite promoFlash;position:absolute;inset:0}.promo-rain{z-index:-1;pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity 1.8s;position:absolute;inset:0}.promo-rain.is-on{opacity:1}.promo-eyebrow{color:var(--gold-2);font:600 12px/1.4 var(--font-head);letter-spacing:.14em;text-transform:uppercase;text-wrap:balance;margin:0 34px 10px 0}.promo-eyebrow:before{content:"";vertical-align:1px;background:#ff5b4f;border-radius:50%;width:8px;height:8px;margin-right:9px;animation:1.6s ease-out infinite promoPing;display:inline-block}.promo-title{color:#fff;font:800 42px/.96 var(--font-display);letter-spacing:.01em;text-transform:uppercase;text-wrap:balance;text-shadow:0 2px 18px #00000073;margin:0 24px 14px 0;animation:6s ease-out -4.8s infinite promoStrike}.promo-title.promo-title-exit{font-size:30px;font-weight:600;line-height:1.04}.promo-text{color:#ffffffe0;text-shadow:0 1px 10px #00000080;margin:0 0 22px;font-size:15px;font-weight:400;line-height:1.6}.promo-actions{flex-direction:column;align-items:stretch;gap:14px;margin-top:auto;display:flex}.promo-actions .btn{white-space:nowrap;min-height:52px;padding:10px 20px;font-size:17px}.promo-call,.promo-skip{align-self:center}.promo-call{white-space:nowrap;color:#fff;font:600 15px/1 var(--font-head);text-shadow:0 1px 8px #0009;align-items:center;gap:7px;text-decoration:none;display:inline-flex}.promo-call svg{width:16px;height:16px;color:var(--gold-2)}.promo-call:hover{text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:4px}.promo-skip{color:#ffffffb8;font:500 14px/1 var(--font-head);cursor:pointer;background:0 0;border:0;padding:6px 2px}.promo-skip:hover{color:#fff;text-underline-offset:3px;text-decoration:underline}.promo-close{color:#ffffffd9;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px;place-items:center;width:34px;height:34px;padding:0;transition:background .2s,color .2s;display:grid;position:absolute;top:12px;right:12px}.promo-close:hover{color:#fff;background:#fff3}.promo-close svg{width:13px;height:13px}.promo-close:focus-visible,.promo-skip:focus-visible,.promo-call:focus-visible{outline-offset:2px;outline:3px solid #d4b572b3}body.promo-open{overflow:hidden}body.promo-open .qa-teaser{visibility:hidden}@keyframes promoIn{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}@keyframes promoFade{0%{opacity:0}to{opacity:1}}@keyframes promoPing{0%{box-shadow:0 0 #ff5b4fb3}to{box-shadow:0 0 0 10px #ff5b4f00}}@keyframes promoFlash{0%,88%,to{opacity:0}90%{opacity:.9}91.5%{opacity:.15}93%{opacity:1}97%{opacity:0}}@keyframes promoStrike{0%,88%,96%,to{text-shadow:0 2px 18px #00000073}90%{text-shadow:0 0 16px #ffffffd9,0 0 40px #bedcffa6}91.5%{text-shadow:0 2px 18px #00000073}93%{text-shadow:0 0 20px #fff,0 0 58px #bedcffcc}}@media (prefers-reduced-motion:reduce){.promo,.promo-backdrop,.promo:after,.promo-title,.promo-eyebrow:before{animation:none}}@media (min-width:621px){.promo{min-height:560px;padding:32px 34px 30px}.promo-title{font-size:52px}.promo-title.promo-title-exit{font-size:36px}.promo-text{font-size:16px}}@media (max-height:620px){.promo{min-height:0}}.promo-band{background:var(--paper);padding:56px 0}.promo-photo{object-fit:cover;object-position:50% 25%;z-index:-2}.promo.promo-inline,.promo.promo-landing{text-align:center;background-image:none;align-items:center;max-width:1120px;min-height:0;margin:0 auto;animation:none}.promo-inline .promo-eyebrow,.promo-landing .promo-eyebrow{margin:0 0 12px}.promo-inline .promo-title,.promo-landing .promo-title{max-width:900px;margin:0 0 16px}.promo-inline .promo-text,.promo-landing .promo-text{max-width:640px;margin:0 auto 24px;font-size:16px}.promo-inline .promo-actions,.promo-landing .promo-actions{align-items:center;margin-top:0}.promo-inline .promo-actions .btn,.promo-landing .promo-actions .btn{width:100%;max-width:380px}.promo.promo-inline{border-color:#ffffff73;padding:52px 22px 46px}.promo.promo-inline:before{background:linear-gradient(#040e1ac7 0%,#040e1a85 46%,#040e1ad1 100%)}.promo-inline .promo-title{font-size:clamp(38px,10vw,60px);line-height:.98}.promo.promo-landing{width:100%;max-width:none;min-height:clamp(560px,86vh,760px);box-shadow:none;border:0;border-radius:0;justify-content:center;padding:130px 20px 64px}.promo.promo-landing:before{background:linear-gradient(#040e1ab8 0%,#040e1a80 40%,#040e1a66 62%,#040e1ae0 100%)}.promo-landing .promo-title{max-width:1000px;font-size:clamp(46px,13vw,104px);line-height:.96}.promo-landing .promo-text{font-size:17px}.promo-points{font:600 14px/1.4 var(--font-head);color:#ffffffe6;text-shadow:0 1px 8px #00000080;flex-direction:column;align-items:center;gap:8px;margin:28px 0 0;padding:0;list-style:none;display:flex}.promo-points li:before{content:"✓";color:var(--gold-2);font-family:var(--font-glyph);margin-right:8px}@media (min-width:621px){.promo-band{padding:72px 0}.promo.promo-inline{padding:76px 48px 68px}.promo-inline .promo-text,.promo-landing .promo-text{font-size:19px}.promo-inline .promo-actions,.promo-landing .promo-actions{flex-direction:row;justify-content:center;gap:24px}.promo-inline .promo-actions .btn,.promo-landing .promo-actions .btn{width:auto;min-width:300px}.promo.promo-landing{padding:150px 40px 80px}.promo-points{flex-flow:wrap;justify-content:center;gap:10px 28px;font-size:15px}}@media (min-width:901px){.promo-landing .promo-text{font-size:21px}.promo.promo-landing{min-height:clamp(640px,88vh,820px)}}
