/* One footer system, independent of the retained page templates. */
.cv-footer{box-sizing:border-box;position:relative;isolation:isolate;margin-top:56px;padding:40px 32px 18px;border-top:1px solid #cbd7e2;background:#eaf0f6;color:#26394e;font-family:Arial,Helvetica,sans-serif;line-height:1.5;overflow-anchor:none}
.cv-footer *, .cv-footer *::before,.cv-footer *::after{box-sizing:border-box}
.cv-footer .cv-footer-inner{max-width:1280px;margin:0 auto}
.cv-footer .cv-footer-main{display:grid;grid-template-columns:minmax(260px,1.8fr) minmax(140px,1fr) minmax(180px,1fr);gap:32px;padding:4px 0 32px}
.cv-footer a{color:#334b64!important;text-decoration:none!important;font-size:13px;line-height:20px;display:inline-flex;align-items:center;min-height:44px;width:fit-content;max-width:100%;overflow-wrap:anywhere}
.cv-footer a:hover{color:#102b47!important;text-decoration:underline!important;text-underline-offset:4px}
.cv-footer a:focus-visible,.cv-footer summary:focus-visible{outline:2px solid #3965a0;outline-offset:3px;border-radius:4px}
.cv-footer .cv-footer-brand{display:inline-flex;align-items:center;gap:8px;font-size:21px;letter-spacing:-.8px;line-height:28px;color:#1b2e43!important;white-space:nowrap}
.cv-footer .cv-footer-brand img{width:30px;height:30px;display:block;object-fit:contain;flex:none}
.cv-footer .cv-footer-intro p{margin:10px 0 8px!important;font-size:14px!important;color:#52667c!important;line-height:22px}
.cv-footer .cv-footer-email{font-size:13px;word-break:normal}
.cv-footer .cv-footer-main nav{display:flex;flex-direction:column;align-items:flex-start}
.cv-footer h2{font-size:12px!important;line-height:20px!important;font-weight:600!important;letter-spacing:.03em;margin:10px 0 8px!important;color:#64758a}
.cv-footer .cv-footer-bottom{display:flex;align-items:center;gap:24px;border-top:1px solid #cbd7e2;padding-top:12px;padding-right:76px;min-height:44px}
.cv-footer small{font-size:11px;color:#64758a;white-space:nowrap;line-height:18px}
.cv-footer .cv-footer-bottom>nav{display:flex;gap:20px;align-items:center;margin-left:auto}
.cv-footer .cv-footer-bottom>nav a{font-size:12px}
.cv-footer.cv-footer-compact{margin-top:0;padding:8px 28px 4px}
.cv-footer-compact .cv-footer-inner{padding-right:76px}
.cv-footer .cv-footer-compact-top{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px}
.cv-footer-compact .cv-footer-brand{font-size:17px;letter-spacing:-.6px}
.cv-footer-compact .cv-footer-brand img{width:24px;height:24px}
.cv-footer-compact .cv-footer-compact-top>nav{display:flex;gap:20px}
.cv-footer-compact .cv-footer-bottom{border:0;padding:0;min-height:36px;gap:20px}
.cv-footer-compact .cv-footer-bottom>nav{gap:20px}
.cv-footer-compact .cv-footer-bottom a{min-height:36px;font-size:11px}
.cv-footer .cv-footer-explore{position:relative;margin:0 0 0 auto;padding:0;border:0;background:none;flex:none}
.cv-footer .cv-footer-explore summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font-size:12px;list-style:none;color:#334b64}
.cv-footer .cv-footer-explore summary::-webkit-details-marker{display:none}
.cv-footer .cv-footer-explore>nav{position:absolute;bottom:calc(100% + 8px);right:0;z-index:100;width:208px;max-height:min(70svh,440px);overflow:auto;overscroll-behavior:contain;padding:12px;background:#f8fbfe;border:1px solid #bdccdc;border-radius:14px;box-shadow:0 10px 32px #26394e1c}
.cv-footer .cv-footer-explore>nav>a{display:flex;width:100%;min-height:44px;padding:6px 10px}
@media(min-width:800px){.cv-footer-compact .cv-footer-inner{display:flex;align-items:center;gap:32px}.cv-footer-compact .cv-footer-compact-top{gap:32px}.cv-footer-compact .cv-footer-bottom{flex:1}.cv-footer-compact .cv-footer-bottom>nav{margin-left:auto}}
@media(max-width:700px){
 .cv-footer{margin-top:32px;padding:28px 16px 12px}
 .cv-footer .cv-footer-main{grid-template-columns:1fr 1fr;gap:20px 24px;padding:0 0 20px}
 .cv-footer .cv-footer-intro{grid-column:1/-1}
 .cv-footer .cv-footer-main nav>a{min-height:44px}
 .cv-footer .cv-footer-bottom{gap:12px;flex-wrap:wrap;padding-right:64px}
 .cv-footer .cv-footer-bottom>nav{gap:16px;margin-left:0}
 .cv-footer.cv-footer-compact{padding:6px 12px max(4px,env(safe-area-inset-bottom))}
 .cv-footer-compact .cv-footer-inner{padding-right:64px}
 .cv-footer-compact .cv-footer-brand{font-size:15px;gap:5px;letter-spacing:-.55px}
 .cv-footer-compact .cv-footer-brand img{width:22px;height:22px}
 .cv-footer-compact .cv-footer-compact-top{gap:8px;flex-wrap:wrap;min-height:38px}
 .cv-footer-compact .cv-footer-compact-top>nav{gap:12px}
 .cv-footer-compact .cv-footer-compact-top>nav>a{font-size:11px;min-height:38px}
 .cv-footer-compact .cv-footer-bottom{gap:8px;padding:0;flex-wrap:wrap;min-height:44px}
 .cv-footer-compact .cv-footer-bottom>nav{gap:10px;margin-left:auto}
 .cv-footer-compact .cv-footer-bottom>nav>a{min-height:44px;font-size:10px}
 .cv-footer-compact small{font-size:9px}
 .cv-footer .cv-footer-explore{margin-left:0}
 .cv-footer .cv-footer-explore summary{font-size:10px;min-height:44px;gap:4px}
}
@media(prefers-reduced-motion:reduce){.cv-footer *{scroll-behavior:auto!important}}

@media(max-height:500px){
 body:has(.cv-circle-canvas) .cv-footer-compact .cv-footer-inner{display:flex;align-items:center;gap:12px;padding-right:64px}
 body:has(.cv-circle-canvas) .cv-footer-compact .cv-footer-brand span,body:has(.cv-circle-canvas) .cv-footer-compact small span{display:none}
 body:has(.cv-circle-canvas) .cv-footer-compact .cv-footer-compact-top{flex-wrap:nowrap;gap:10px;min-height:44px}
 body:has(.cv-circle-canvas) .cv-footer-compact .cv-footer-compact-top>nav{gap:10px}
 body:has(.cv-circle-canvas) .cv-footer-compact .cv-footer-bottom{flex:1;flex-wrap:nowrap;gap:10px;min-height:44px}
 body:has(.cv-circle-canvas) .cv-footer-compact .cv-footer-bottom>nav{margin-left:auto;gap:10px}
}
.cv-footer-compact .cv-footer-compact-top>nav>a{min-height:44px}

/* Retained templates set strong generic type/details rules; scope these explicitly. */
html body .cv-footer small{font-size:11px!important}
html body .cv-footer .cv-footer-explore{width:auto!important;min-width:0!important;max-width:none!important;flex:0 0 auto!important}
html body .cv-footer .cv-footer-brand{font-size:21px!important}
html body .cv-footer-compact .cv-footer-brand{font-size:17px!important}
html body .cv-footer .cv-footer-brand span{font-size:inherit!important}
@media(max-width:700px){html body .cv-footer-compact small{font-size:10px!important}html body .cv-footer-compact .cv-footer-brand{font-size:15px!important}html body .cv-footer-compact .cv-footer-bottom a,html body .cv-footer-compact .cv-footer-explore summary{font-size:11px!important}}
@media(max-width:360px){.cv-footer-compact small span{display:none}}
/* The launcher occupies the reserved footer edge, including after a resize. */
html[data-cv-social] body:has(.cv-circle-canvas) #cv-chat-heads{position:fixed!important;inset:auto 12px max(12px,env(safe-area-inset-bottom)) auto!important;transform:none!important;width:auto!important;height:auto!important;min-height:0!important;z-index:1200!important}
html[data-cv-social] body:has(.cv-circle-canvas) #cv-chat-heads .cvch-rail{position:static!important;inset:auto!important;transform:none!important;margin:0!important}

html body .cv-footer small span{font-size:inherit!important;color:inherit!important}
html body .cv-footer .cv-footer-explore{margin:0 0 0 auto!important;padding:0!important;border:0!important;background:none!important}
@media(max-width:700px){
 html body .cv-footer-compact .cv-footer-bottom{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center!important;gap:8px!important;min-height:44px!important}
 html body .cv-footer-compact .cv-footer-bottom>small{white-space:normal!important;min-width:0!important;line-height:16px!important}
 html body .cv-footer-compact .cv-footer-bottom>nav{margin:0!important;gap:10px!important;white-space:nowrap}
 html body .cv-footer-compact .cv-footer-explore{margin:0!important;justify-self:end}
}

/* Keep inherited button and heading styles out of the shared footer. */
html body footer.cv-footer a{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;font-weight:400!important}
html body footer.cv-footer h2{font-size:12px!important;line-height:20px!important;font-weight:600!important;letter-spacing:.03em!important;color:#64758a!important}
html body footer.cv-footer .cv-footer-explore>nav>a{padding:6px 10px!important}
