.campaign-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:rgba(3,17,23,.76);backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease}
.campaign-overlay.is-visible{opacity:1;visibility:visible}
.campaign-card{position:relative;width:min(960px,100%);max-height:calc(100vh - 48px);display:grid;grid-template-columns:1.08fr .92fr;overflow:auto;background:#f8fafb;color:#10232c;box-shadow:0 26px 80px rgba(0,0,0,.38);transform:translateY(14px) scale(.985);transition:transform .3s ease}
.campaign-overlay.is-visible .campaign-card{transform:translateY(0) scale(1)}
.campaign-visual{min-height:490px;display:grid;place-items:center;background:linear-gradient(145deg,#e6ecee,#fff);overflow:hidden}
.campaign-visual img{display:block;width:100%;height:100%;object-fit:contain}
.campaign-flyer{display:contents}
.campaign-flyer-link{display:none}
.campaign-card--flyer{width:min(1180px,calc(100vw - 64px));max-height:calc(100dvh - 120px);grid-template-columns:1fr;overflow:visible;background:transparent;box-shadow:none}
.campaign-card--flyer .campaign-visual{min-height:0;background:transparent;overflow:visible}
.campaign-card--flyer .campaign-flyer{position:relative;display:block;width:min(100%,calc((100dvh - 120px)*1.5));margin:auto;line-height:0}
.campaign-card--flyer .campaign-flyer img{display:block;width:100%;height:auto;max-height:calc(100dvh - 120px);object-fit:contain;border-radius:10px;box-shadow:0 26px 80px rgba(0,0,0,.42)}
.campaign-card--flyer .campaign-copy{display:none}
.campaign-card--flyer .campaign-flyer-link{position:absolute;right:8.3%;bottom:20.5%;width:33.1%;height:7.2%;display:block;border:0;border-radius:5px;background:transparent;color:transparent;font-size:0;line-height:0;text-decoration:none;box-shadow:none}
.campaign-card--flyer .campaign-flyer-link:hover,.campaign-card--flyer .campaign-flyer-link:focus-visible{filter:brightness(1.1);outline:3px solid #fff;outline-offset:3px}
.campaign-mail{width:1.55em;height:1.12em;border:2px solid currentColor;border-radius:2px;position:relative;flex:0 0 auto}
.campaign-mail:after{content:'';position:absolute;left:12%;right:12%;top:2%;height:55%;border-bottom:2px solid currentColor;transform:skewY(-32deg) rotate(-1deg)}
.campaign-card--flyer .campaign-close{top:-18px;right:-18px}
.campaign-overlay.is-visible .campaign-card--flyer{transform:translateY(-48px) scale(1)}
@media(min-width:721px){.campaign-card--flyer .campaign-flyer-link>*{visibility:hidden}.campaign-card--flyer .campaign-flyer-link:hover,.campaign-card--flyer .campaign-flyer-link:focus-visible{filter:none}}
.campaign-copy{display:flex;flex-direction:column;justify-content:center;padding:54px 46px 46px}
.campaign-eyebrow{margin:0 0 13px;color:#2f7189;font-size:.73rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.campaign-copy h2{margin:0;color:#10232c;font-size:clamp(2.2rem,4vw,3.6rem);line-height:.98;letter-spacing:-.045em}
.campaign-title-event{display:inline-flex;align-items:center;gap:.1em;white-space:nowrap}
.campaign-title-logo{display:inline-block;width:auto;height:.72em;object-fit:contain;vertical-align:-.04em}
.campaign-copy>p{margin:20px 0 0;color:#53666f;font-size:1rem;line-height:1.65}
.campaign-details{display:flex;flex-direction:column;gap:6px;margin:23px 0 0}
.campaign-detail{min-width:0;padding:0}
.campaign-detail small{display:none}
.campaign-detail strong{display:block;color:#10232c;font-size:.9rem;line-height:1.4}
.campaign-actions{display:flex;align-items:center;gap:18px;margin-top:25px}
.campaign-actions[hidden]{display:none}
.campaign-primary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:3px;background:#2f7189;color:#fff;font-size:.84rem;font-weight:780;text-decoration:none}
.campaign-primary:hover,.campaign-primary:focus-visible{background:#23596e}
.campaign-secondary{color:#53666f;font-size:.77rem;font-weight:720;text-decoration:none}
.campaign-secondary:hover,.campaign-secondary:focus-visible{color:#10232c;text-decoration:underline}
.campaign-close{position:absolute;z-index:2;top:14px;right:14px;width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;background:#10232c;color:#fff;cursor:pointer;font:inherit;font-size:1.25rem;line-height:1}
.campaign-close:hover,.campaign-close:focus-visible{background:#2f7189;outline:0}
body.campaign-open{overflow:hidden}
@media(max-width:720px){.campaign-overlay{place-items:center;padding:18px 10px}.campaign-card{width:100%;max-height:calc(100dvh - 36px);grid-template-columns:1fr;border-radius:10px}.campaign-visual{min-height:0;height:200px;padding:0;background-color:#fff;background-image:var(--campaign-image)!important;background-position:center!important;background-repeat:no-repeat!important;background-size:contain!important;box-sizing:border-box}.campaign-visual img{display:none!important}.campaign-copy{justify-content:flex-start;padding:20px 22px 12px}.campaign-eyebrow{margin-bottom:9px;font-size:.66rem}.campaign-copy h2{font-size:1.72rem;line-height:1.02}.campaign-copy>p{margin-top:11px;font-size:.84rem;line-height:1.45}.campaign-details{gap:3px;margin-top:13px}.campaign-detail strong{font-size:.8rem}.campaign-actions{align-items:stretch;flex-direction:column;gap:8px;margin-top:15px}.campaign-primary{width:100%;min-height:44px}.campaign-secondary{text-align:center}.campaign-close{top:9px;right:9px;width:38px;height:38px}.campaign-card--flyer{width:min(100%,calc((100dvh - 36px)*.6667));max-height:calc(100dvh - 36px);border-radius:0}.campaign-card--flyer .campaign-visual{height:auto;background:none!important}.campaign-card--flyer .campaign-flyer{width:100%;margin:0}.campaign-card--flyer .campaign-flyer img{display:block!important;width:100%;height:auto;max-height:calc(100dvh - 36px);border-radius:9px}.campaign-card--flyer .campaign-flyer-link{left:6.1%;right:auto;bottom:5.2%;width:87.9%;height:4.8%;border-radius:5px}.campaign-card--flyer .campaign-flyer-link>*{visibility:hidden}.campaign-card--flyer .campaign-close{top:8px;right:8px}.campaign-overlay.is-visible .campaign-card--flyer{transform:translateY(0) scale(1)}}
@media(max-width:430px){.campaign-visual{height:184px}.campaign-copy{padding:17px 17px 8px}.campaign-copy h2{font-size:1.57rem}.campaign-title-logo{height:.7em}.campaign-detail strong{font-size:.76rem}.campaign-primary{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.campaign-overlay,.campaign-card{transition:none}}
