.zbOffer{--offer-bg:var(--ds-page);--offer-surface:var(--ds-surface);--offer-ink:var(--ds-ink);--offer-muted:var(--ds-muted);--offer-line:var(--ds-border);--offer-soft:var(--ds-inset);--offer-link:var(--ds-brand);margin:0;background:var(--offer-bg);color:var(--offer-ink);font:16px/1.6 var(--ds-font)}
.zbOffer *{box-sizing:border-box}
.zbOffer .offerWrap{width:min(1140px,calc(100% - 40px));margin-inline:auto}
.zbOffer h1,.zbOffer h2,.zbOffer h3,.zbOffer p{margin-top:0}
.zbOffer h1,.zbOffer h2,.zbOffer h3{line-height:1.17;letter-spacing:-.03em}
.zbOffer h1{font-size:clamp(2.5rem,5vw,4.6rem);margin-bottom:25px;max-width:11.5em}
.zbOffer h2{font-size:clamp(2rem,3.4vw,3rem);margin-bottom:20px}
.zbOffer h3{font-size:1.35rem;margin-bottom:10px}
.zbOffer a{color:var(--offer-link);text-underline-offset:4px}
.zbOffer a:hover{text-decoration-thickness:2px}
.zbOffer a:focus-visible,.zbOffer button:focus-visible{outline:3px solid #ffcc32!important;outline-offset:4px!important}
.zbOffer .offerEyebrow{color:var(--offer-link);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:18px}
.offerHero{background:#123963;color:#fff;padding:65px 0 72px}
.offerHeroGrid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(32px,5vw,70px)}
.offerHero .offerEyebrow{color:#bfe9ff}
.offerIntro{font-size:clamp(1.05rem,1.6vw,1.25rem);max-width:55ch;color:#f3f9ff;line-height:1.62}
.offerActions{display:flex;flex-wrap:wrap;gap:12px;margin:27px 0}
.offerButton{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:12px 18px;border:2px solid transparent;border-radius:11px;font-weight:750;text-decoration:none!important;text-align:center;transition:background .16s,border-color .16s,transform .16s}
.offerButton:hover{transform:translateY(-2px)}
.zbOffer a.offerButtonPrimary{background:#fff;color:#123963!important;border-color:#fff}
.zbOffer a.offerButtonPrimary:hover{background:#d7f0ff;border-color:#d7f0ff}
.zbOffer a.offerButtonSecondary{background:transparent;color:#fff!important;border-color:#b7dbf2}
.zbOffer a.offerButtonSecondary:hover{background:#ffffff25}
.offerSmall{font-size:.85rem;color:#dbeaf6;max-width:62ch}
.offerPhoto{position:relative;overflow:hidden;border-radius:22px;min-height:470px;background:#23517b;box-shadow:0 20px 48px #061c3180}
.offerPhoto img{display:block;width:100%;height:470px;object-fit:cover}
.offerPhotoCaption{position:absolute;bottom:16px;left:16px;right:16px;display:grid;gap:3px;padding:19px 22px;background:#fff;color:#14233a;border-radius:14px;box-shadow:0 8px 25px #001b3a47}
.offerPhotoCaption strong{font-size:1.2rem}.offerPhotoCaption span{font-size:.9rem;color:#465a70}.offerPhotoCaption a{font-weight:750}
.offerSection{padding-top:88px;padding-bottom:88px}
.offerSectionHead{max-width:750px;margin-bottom:32px}.offerSectionHead>p:last-child{color:var(--offer-muted);font-size:1.1rem}
.offerGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.offerCard,.offerAside,.offerFuture>div{background:var(--offer-surface);border:1px solid var(--offer-line);border-radius:17px;padding:30px}
.offerCard p,.offerFuture p{color:var(--offer-muted);margin:0}.offerNumber{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:10px;background:var(--offer-soft);color:var(--offer-link);font-weight:800;margin-bottom:24px}
.offerStrip{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:25px 30px;margin-top:16px;background:var(--offer-soft);border-radius:16px}.offerStrip p{margin:0;max-width:70ch}.offerStrip a{flex:none;font-weight:750}
.offerSoft{background:var(--offer-soft)}.offerSplit{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.75fr);gap:9%;align-items:center}.offerSplit>div>p:not(.offerEyebrow){max-width:62ch;color:var(--offer-muted)}
.offerAside ul{padding-left:21px;margin:8px 0 22px}.offerAside li{padding:4px 0}.offerAside a{font-weight:750}
.offerFuture{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.offerSteps{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:0;margin:0;list-style:none;counter-reset:steps}
.offerSteps li{display:grid;align-content:start;gap:10px;border-top:3px solid var(--offer-link);padding-top:20px;counter-increment:steps}.offerSteps li:before{content:'0' counter(steps);color:var(--offer-link);font-size:1.45rem;font-weight:800}.offerSteps span{color:var(--offer-muted)}
.offerContact{display:flex;justify-content:space-between;align-items:center;gap:42px;padding-top:72px;padding-bottom:72px}.offerContact>div:first-child{max-width:700px}.offerContact h2{max-width:18ch}.offerContact p:last-child{color:var(--offer-muted)}.offerContactActions{display:grid;justify-items:center;gap:13px;min-width:250px}.zbOffer .offerContact .offerButtonPrimary{background:#123963;color:#fff!important;border-color:#123963}.zbOffer .offerContact .offerButtonPrimary:hover{background:#075f91;border-color:#075f91}.offerMail{font-size:.95rem}
.offerFooter{background:#123963;color:#fff;padding:27px 0}.offerFooter .offerWrap{display:flex;flex-wrap:wrap;gap:18px 25px}.zbOffer .offerFooter a{color:#fff!important}
html[data-theme=contrast] .offerHero,html[data-theme=contrast] .offerFooter{background:#000}
html[data-theme=contrast] .offerPhotoCaption{border:2px solid #000}
@media(max-width:900px){.offerHeroGrid,.offerSplit{grid-template-columns:1fr}.offerPhoto{min-height:340px}.offerPhoto img{height:340px}.offerGrid,.offerFuture{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.zbOffer .offerWrap{width:calc(100% - 32px)}.offerHero{padding:42px 0 52px}.zbOffer h1{font-size:clamp(2.35rem,9.5vw,3.4rem)}.offerSection{padding-top:58px;padding-bottom:58px}.offerPhoto,.offerPhoto img{height:330px;min-height:330px}.offerPhotoCaption{bottom:10px;left:10px;right:10px;padding:13px 15px}.offerGrid,.offerFuture,.offerSteps{grid-template-columns:1fr}.offerCard,.offerAside,.offerFuture>div{padding:24px}.offerStrip,.offerContact{flex-direction:column;align-items:flex-start}.offerStrip a{flex:auto}.offerContact{padding-top:55px;padding-bottom:55px}.offerContactActions{justify-items:start}}
@media(prefers-reduced-motion:reduce){.offerButton{transition:none}.offerButton:hover{transform:none}}


/* Long offer headings and contact links reflow at increased text sizes. */
.zbOffer{overflow-wrap:anywhere}
.zbOffer .offerContactActions{min-width:min(250px,100%);max-width:100%}
