/* A compact, centered closing section on every screen. */
.final-cta.section{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:20px;padding:42px 7% 26px;min-height:0}
.final-cta>.reveal:not(.cta-details){order:1;width:100%;max-width:720px;position:relative;z-index:1}
.final-cta .cta-details{order:0;width:auto;max-width:none}
.final-cta .cta-brand .brand-mark{width:110px;height:100px;margin:0;filter:none}
.final-cta .eyebrow{margin:0 0 14px}
.final-cta h2{font-size:clamp(28px,3.4vw,46px);line-height:1.22;letter-spacing:-1.2px;margin:0}
.final-cta h2 span{display:inline}
.final-cta>.reveal>p:not(.eyebrow){font-size:15px;line-height:1.6;margin:18px auto 20px;max-width:490px}
.final-cta .button{min-height:48px;padding:13px 28px;font-size:15px}
.final-cta:after{width:650px;height:650px;left:50%;right:auto;top:50%;transform:translate(-50%,-50%);opacity:.4}
.final-cta .footer-inline{order:2;align-self:stretch;max-width:900px;width:100%;margin:2px auto 0;padding-top:12px}
.footer-inline>div{justify-content:center;gap:10px 24px;flex-wrap:wrap}
.external-link-icon{width:16px;height:16px;flex:0 0 16px}
.footer-reference summary{font-size:12px;color:#e2edca;cursor:pointer;min-height:32px;line-height:32px;list-style:none}
.footer-reference summary::-webkit-details-marker{display:none}
.footer-reference summary:after{content:'+';margin-left:8px}
.footer-reference[open] summary:after{content:'−'}
.final-cta .footer-inline p{max-width:750px;margin:6px auto 0;font-size:12px;line-height:1.65}
.dialog-mobile-brand{display:none}
@media(max-width:760px){
 .final-cta.section{gap:14px;padding:24px 7% max(16px,env(safe-area-inset-bottom));scroll-margin-top:78px}
 .final-cta .cta-brand .brand-mark{width:88px;height:80px}
 .final-cta .eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:12px}
 .final-cta h2{font-size:28px;line-height:1.25;letter-spacing:-.8px}
 .final-cta>.reveal>p:not(.eyebrow){font-size:14px;line-height:1.5;margin:14px auto 16px}
 .final-cta .button{width:100%;max-width:330px;font-size:15px;padding:12px 18px}
 .final-cta .footer-inline{margin:4px 0 0;padding-top:10px}
 .footer-inline>div{gap:0 16px;justify-content:center;font-size:11px}
 .footer-inline a{font-size:11px;min-height:32px;gap:5px}
 .footer-reference summary{font-size:11px}
 .footer-in-view .mobile-cta{display:none}
 /* A compact popup with a visible backdrop; allow scrolling only on constrained screens. */
 #contact-dialog{inset:0;width:calc(100% - 28px);max-width:440px;height:fit-content;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:22px;overflow:auto;box-shadow:0 24px 80px #102b3266}
 #contact-dialog::backdrop{background:#102b32a6;backdrop-filter:blur(4px)}
 #contact-dialog .dialog-layout{height:auto;min-height:0;display:flex}
 #contact-dialog .dialog-apartment{display:none}
 #contact-dialog .dialog-dismiss{position:absolute;inset:0 0 auto;height:0;z-index:5}
 #contact-dialog .dialog-dismiss .dialog-close{right:10px;top:10px;width:44px;height:44px;box-shadow:none;background:#edf3e1}
 #contact-dialog .dialog-content{width:100%;height:auto;min-height:0;overflow:visible;padding:20px;display:flex;flex-direction:column;justify-content:center}
 .dialog-mobile-brand{display:flex;align-items:center;gap:10px;width:100%;max-width:420px;margin:0 auto 16px;padding-right:42px;color:#54812f;font-size:9px;font-weight:600;letter-spacing:.7px;min-height:38px;flex-shrink:0}
 .dialog-mobile-brand .brand-mark{width:42px;height:38px;flex:0 0 42px;background:#39791c}
 #contact-form-view,#contact-result{width:100%;max-width:420px;margin:0 auto}
 #contact-form-view>.eyebrow{display:none}
 #contact-dialog h2{font-size:24px;line-height:1.25;letter-spacing:-.7px;margin:0}
 #contact-dialog #contact-form-view>p:not(.eyebrow){font-size:13px;line-height:1.5;margin:8px 0 18px}
 #contact-dialog form>label:not(.checkbox-label){font-size:13px;line-height:1.4;margin-bottom:5px}
 #contact-dialog form>input,#contact-dialog form>select{font-size:16px;min-height:44px;height:44px;padding:10px 12px;margin-bottom:13px;border-radius:8px}
 #contact-dialog .selected-plan{background:#edf3e1;border-radius:8px;padding:9px 12px;margin:0 0 12px;gap:3px}
 #contact-dialog .selected-plan span{font-size:11px;line-height:1.4}
 #contact-dialog .selected-plan b{font-size:12px;line-height:1.5}
 #contact-dialog .checkbox-label{font-size:12px;gap:9px;line-height:1.5;margin:0 0 14px;align-items:flex-start}
 #contact-dialog .checkbox-label span{line-height:1.5}
 #contact-dialog .checkbox-label input{width:18px;height:18px;margin-top:1px}
 #contact-dialog form .button{min-height:46px;padding:12px;font-size:14px}
 #contact-dialog .dialog-content #contact-result{padding:0}
 #contact-dialog #contact-result .button{margin-bottom:12px}
}
/* Match the type to the circle, with room above and below the central number. */
@media(max-width:760px){
 .story-enabled .interest-zero{gap:3px}
 .story-enabled .interest-zero>span:first-child{font-size:clamp(6.5px,1.8vw,10px);line-height:1.3;letter-spacing:0;white-space:nowrap}
 .story-enabled .interest-zero strong{font-size:clamp(36px,11.2vw,64px);line-height:1.08;letter-spacing:-2px}
 .story-enabled .interest-zero strong small{font-size:clamp(14px,4.8vw,24px);letter-spacing:0;margin-left:3px}
 .story-enabled .interest-duration{font-size:clamp(6.5px,1.8vw,10px);line-height:1.3;letter-spacing:0;white-space:nowrap}
 .story-enabled .interest-duration b{font-size:clamp(12px,3.8vw,20px);min-width:0;margin:0 1px;letter-spacing:0}
}
@media(max-width:760px) and (max-height:660px){
 #contact-dialog .dialog-content{justify-content:flex-start;padding:14px 18px}
 .dialog-mobile-brand{margin-bottom:13px}
 #contact-dialog h2{font-size:24px}
 #contact-dialog #contact-form-view>p:not(.eyebrow){margin:6px 0 12px}
 #contact-dialog form>input,#contact-dialog form>select{margin-bottom:10px}
 #contact-dialog .selected-plan{margin-bottom:10px;padding:7px 10px}
 #contact-dialog .checkbox-label{margin-bottom:10px}
 .final-cta.section{gap:10px;padding-top:18px;padding-bottom:12px}
 .final-cta .cta-brand .brand-mark{width:70px;height:64px}
 .final-cta h2{font-size:26px}
}
@media(max-width:360px) and (max-height:600px){
 #contact-dialog h2{font-size:22px;margin-bottom:12px}
 #contact-dialog #contact-form-view>p:not(.eyebrow){display:none}
 .dialog-mobile-brand{margin-bottom:10px}
}
