/* Homepage-only B. Existing shared fonts and the homepage gutter token are inherited. */
.footer-b{position:relative;isolation:isolate;overflow:hidden;background:#062b40;color:#fff;font:400 .875rem/1.65 var(--font-body,'DM Sans',sans-serif);--muted:#b8ced7;--line:#b5e8ec29;--cyan:#75e3dc;--footer-inset:var(--content-inset,max(clamp(24px,9vw,220px),calc((100vw - 1900px)/2)));border-top:0;padding-top:1px}
/* Reuse the existing values-grid divider as one full-width footer seam. */
.footer-b:before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:#4c798d;z-index:2;pointer-events:none}
.footer-b:after{content:'';position:absolute;top:0;left:0;width:16%;height:1px;background:linear-gradient(90deg,transparent,#96f5e5,transparent);animation:home-b-border-stream 12s linear infinite;animation-play-state:paused;z-index:3;pointer-events:none}
.footer-b[data-motion-running=true]:after{animation-play-state:running}
@keyframes home-b-border-stream{from{left:0}to{left:84%}}
@media(prefers-reduced-motion:reduce){.footer-b:after{display:none;animation:none!important}}
.footer-b :where(h2,p,ul){margin:0}
.footer-b :where(h2){font-family:var(--font-display,Manrope,sans-serif);font-weight:700}
.footer-b :where(em,address){font-style:normal}
.footer-b :where(a){color:inherit;text-decoration:none}
.footer-b :where(button,input){font:inherit}
.footer-b :where(a,button,input):focus-visible{outline:2px solid #79e2de;outline-offset:5px}
.footer-b :where(img){display:block;max-width:100%;height:auto}
.footer-b :where(svg){width:20px;height:20px;flex:none;stroke:currentColor;stroke-width:1.6}
.footer-b .b-wrap{width:auto;max-width:none;margin-inline:var(--footer-inset)}
.footer-b .eyebrow{display:block;font-size:.73rem;line-height:1.5;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#8aebe4}
.footer-b .b-footer-content{position:relative;z-index:1}
.footer-b .b-atmosphere{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:linear-gradient(115deg,#061e32 0%,#073448 50%,#075465 100%)}
.footer-b .b-aura{position:absolute;width:1100px;height:1100px;right:-410px;top:-430px;background:radial-gradient(ellipse,#19c6cf55 0%,#087f9d22 38%,transparent 68%);animation:home-b-aura-breathe 22s ease-in-out infinite alternate;animation-play-state:paused}
.footer-b .b-thread-field{position:absolute;inset:-3% -12% auto auto;width:118%;height:110%;max-width:none;stroke:none;opacity:.7}
.footer-b .b-thread-lines{stroke:url(#home-b-thread-color);stroke-width:.8}
.footer-b .b-thread-flow{stroke:url(#home-b-thread-light);stroke-width:1.4;opacity:.7}
.footer-b .b-thread-flow path{stroke-dasharray:100 1900;stroke-dashoffset:2000;animation:home-b-thread-travel 20s linear infinite;animation-delay:var(--thread-delay,0s);animation-play-state:paused}
.footer-b .b-reading-veil{position:absolute;inset:0;background:linear-gradient(180deg,#052a3e00,#052a3e19 20%,#052a3e9c 45%,#052a3eb8 76%,#052a3eeb)}
.footer-b[data-motion-running=true] .b-aura,.footer-b[data-motion-running=true] .b-thread-flow path{animation-play-state:running}
@keyframes home-b-thread-travel{to{stroke-dashoffset:-2000}}
@keyframes home-b-aura-breathe{to{transform:translate(-6%,9%) scale(1.1);opacity:.65}}
.footer-b .b-newsletter{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:9%;padding-block:66px 58px;border-bottom:1px solid var(--line)}
.footer-b .b-newsletter .eyebrow{margin-bottom:20px}
.footer-b .b-newsletter h2{font-size:clamp(2.55rem,4.1vw,4.25rem);line-height:1.12;letter-spacing:-.055em}
.footer-b .b-newsletter h2 em{color:#6ee0dc}
.footer-b .b-newsletter-signup>p{font-size:1rem;line-height:1.75;color:#c5dce3}
.footer-b .newsletter-form{width:100%;margin-top:23px}
.footer-b .newsletter-form label{display:block;font-size:.8rem;font-weight:600;margin-bottom:8px}
.footer-b .email-row{display:flex;min-height:58px;border:1px solid #8bc7d078;background:#04273ad9;transition:border-color .25s,box-shadow .25s}
.footer-b .email-row:focus-within{border-color:#75e3dc;box-shadow:0 0 0 3px #75e3dc14}
.footer-b .email-row input{min-width:0;flex:1;width:100%;border:0;padding:14px 16px;color:inherit;background:transparent;border-radius:0;outline-offset:-4px;font-size:1rem}
.footer-b .email-row input::placeholder{color:#a3c3ce;opacity:1}
.footer-b .email-row button{border:0;border-left:1px solid #75e3dc;display:inline-flex;align-items:center;justify-content:center;flex:none;gap:24px;padding:13px 20px;background:#75e3dc;color:#082e40;font-size:.875rem;font-weight:700;cursor:pointer;transition:background .2s}
.footer-b .email-row button:hover,.footer-b .email-row button:focus-visible{background:#b1f6eb}
.footer-b .email-row button:active{background:#d2fff5}
.footer-b .email-row button:disabled{cursor:default}
.footer-b .email-row button svg{width:18px;height:18px;transition:transform .25s}
.footer-b .email-row button:hover svg{transform:translate(2px,-2px)}
.footer-b .form-note{font-size:.75rem;line-height:1.7;margin-top:13px;color:#b1cad5}
.footer-b .form-note a{text-decoration:underline;text-underline-offset:3px}
.footer-b .form-status:empty{display:none}
.footer-b .form-status{margin-top:14px;font-size:.8rem;line-height:1.6;padding-left:12px;border-left:2px solid var(--cyan);max-width:480px;color:#d3eee9}
.footer-b .b-directory{display:grid;grid-template-columns:minmax(230px,1fr) minmax(0,2.4fr);column-gap:10%;padding-block:49px 43px}
.footer-b .footer-logo{display:block;width:198px;max-width:100%}
.footer-b .brand-description{font-size:.875rem;line-height:1.75;margin-block:23px 20px;color:#c5d9e0}
.footer-b .contact-details{display:flex;flex-direction:column;align-items:start;gap:4px;font-size:.875rem;overflow-wrap:anywhere}
.footer-b .contact-details .phone{font-size:1.125rem;font-weight:600;letter-spacing:-.02em}
.footer-b .contact-details address{margin-top:12px;line-height:1.8;color:#a8c5d2}
.footer-b .contact-details a:hover{text-decoration:underline;text-underline-offset:4px;color:var(--cyan)}
.footer-b .footer-directory{display:grid;grid-template-columns:1fr 1fr .9fr;gap:9%;padding-top:1px}
.footer-b .link-group{min-width:0}
.footer-b .link-group h2{font-family:var(--font-body,'DM Sans',sans-serif);color:#fff;font-size:.94rem;line-height:1.6;font-weight:700;letter-spacing:0;margin-bottom:17px}
.footer-b .link-group ul{list-style:none;padding:0}
.footer-b .link-group li+li{margin-top:9px}
.footer-b .link-group a{position:relative;display:inline-block;color:#b8ced7;font-size:.875rem;line-height:1.8}
.footer-b .link-group a:after{content:'';position:absolute;height:1px;bottom:1px;left:0;width:100%;background:currentColor;transform:scaleX(0);transform-origin:0 50%;transition:transform .2s}
.footer-b .link-group a:hover,.footer-b .link-group a:focus-visible{color:#8af2e7}
.footer-b .link-group a:hover:after,.footer-b .link-group a:focus-visible:after{transform:scaleX(1)}
.footer-b .b-socials{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}
.footer-b .b-social{position:relative;isolation:isolate;display:grid;place-items:center;width:44px;height:44px;border:1px solid #79c5d244;background:#0c425866;overflow:hidden;color:#d6ebed;transition:border-color .25s,color .25s,background .25s}
.footer-b .b-social:before{content:'';position:absolute;inset:0;z-index:-1;background:#75e3dc;transform:translateY(101%);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.footer-b .b-social:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:#75e3dc;transform:scaleX(.22);transform-origin:left;transition:transform .3s}
.footer-b .b-social svg{width:18px;height:18px;stroke:none;fill:currentColor;transition:transform .3s}
.footer-b .b-social:hover,.footer-b .b-social:focus-visible{color:#072b3d;border-color:#75e3dc;background:#75e3dc}
.footer-b .b-social:hover:before,.footer-b .b-social:focus-visible:before{transform:none}
.footer-b .b-social:hover:after,.footer-b .b-social:focus-visible:after{transform:scaleX(1)}
.footer-b .b-social:hover svg,.footer-b .b-social:focus-visible svg{transform:translateY(-1px)}
.footer-b .b-social:active{background:#baf9ec}
.footer-b .b-partners{display:grid;grid-template-columns:minmax(230px,1fr) minmax(0,2.4fr);column-gap:10%;align-items:center;padding-block:28px 31px;border-top:1px solid var(--line)}
.footer-b .b-partners-label .eyebrow{font-family:var(--font-body,'DM Sans',sans-serif);font-size:.61rem;letter-spacing:.15em;margin-bottom:9px;color:#84d8da}
.footer-b .b-partners-label p{font-size:.8rem;line-height:1.65;color:#b0cad4}
.footer-b .b-partner-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 64px;align-items:center;gap:clamp(22px,3vw,42px);list-style:none;padding:0}
.footer-b .b-partner-list li{position:relative;isolation:isolate;min-width:0;display:flex;align-items:center;justify-content:center}
.footer-b .b-partner-link{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;width:100%;max-width:252px;min-height:54px;outline-offset:8px}
.footer-b .b-member-mark .b-partner-link{max-width:77px}
.footer-b .b-partner-list img{position:relative;z-index:1;width:228px;height:auto;max-height:54px;object-fit:contain}
.footer-b .b-partner-list .b-member-mark img{width:61px;height:54px}
.footer-b .legal{border-top:1px solid var(--line);display:flex;align-items:center;padding-block:21px 24px;color:#9cbbc9;gap:28px;font-size:.75rem;line-height:1.65}
.footer-b .legal .back-top{display:flex;align-items:center;gap:10px;margin-left:auto;min-height:28px}
.footer-b .legal svg{width:17px;height:17px}
.footer-b .legal a:hover,.footer-b .legal a:focus-visible{color:#8af2e7}
@media(min-width:1700px){.footer-b .b-thread-field{inset:-12% -4% auto auto;width:110%;height:125%}}
@media(max-width:1100px){.footer-b .b-newsletter{gap:6%;padding-block:54px 47px}.footer-b .b-newsletter h2{font-size:3rem}.footer-b .email-row button{gap:13px;padding-inline:16px}.footer-b .b-directory,.footer-b .b-partners{column-gap:6%;grid-template-columns:minmax(210px,.9fr) minmax(0,2.2fr)}.footer-b .footer-directory{gap:6%}.footer-b .b-partner-list{gap:18px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 64px}.footer-b .b-partner-list .b-member-mark img{width:51px;height:auto}.footer-b .b-thread-field{width:145%;right:-24%}}
@media(max-width:850px){.footer-b{--footer-inset:var(--content-inset,24px)}.footer-b .b-newsletter{grid-template-columns:minmax(0,1fr);gap:27px;padding-block:45px 41px}.footer-b .b-newsletter h2{font-size:3.4rem}.footer-b .b-newsletter-signup>p br{display:none}.footer-b .newsletter-form{max-width:620px;margin-top:20px}.footer-b .b-directory{grid-template-columns:minmax(0,1fr);gap:38px;padding-block:39px}.footer-b .b-brand{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 8%}.footer-b .b-brand .brand-description{grid-column:1;margin:0}.footer-b .b-brand .contact-details{grid-column:2;grid-row:1/4}.footer-b .b-brand .b-socials{grid-column:1;margin:0}.footer-b .footer-directory{gap:10%}.footer-b .b-partners{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:25px 28px}.footer-b .b-partners-label{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.footer-b .b-partners-label .eyebrow{margin:0}.footer-b .b-partners-label p{font-size:.73rem}.footer-b .b-partners-label br{display:none}.footer-b .b-partner-list{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 64px;gap:27px}.footer-b .b-partner-list .b-member-mark img{width:61px}.footer-b .b-thread-field{width:180%;right:-54%;height:100%;opacity:.65}}
@media(max-width:600px){.footer-b{--footer-inset:var(--content-inset,20px)}.footer-b .b-newsletter{padding-block:37px 33px;gap:23px}.footer-b .b-newsletter .eyebrow{font-size:.66rem;margin-bottom:17px}.footer-b .b-newsletter h2{font-size:clamp(2.35rem,8.9vw,3.3rem);max-width:400px}.footer-b .b-newsletter-signup>p{font-size:.94rem;max-width:32em}.footer-b .newsletter-form{margin-top:20px}.footer-b .email-row{flex-wrap:wrap}.footer-b .email-row input{flex-basis:100%;min-height:54px;padding:14px}.footer-b .email-row button{border-left:0;border-top:1px solid #75e3dc;min-height:50px;width:100%;justify-content:space-between;gap:18px;padding:12px 16px}.footer-b .form-note{font-size:.73rem;max-width:32em}.footer-b .b-directory{padding-block:33px;gap:31px}.footer-b .b-brand{display:block}.footer-b .brand-description{margin-block:21px 18px}.footer-b .b-brand .brand-description{margin-block:21px 18px}.footer-b .b-brand .b-socials{margin-top:22px;gap:10px}.footer-b .footer-directory{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px 13%}.footer-b .link-group h2{margin-bottom:10px}.footer-b .link-group li+li{margin-top:4px}.footer-b .link-group a{display:flex;align-items:center;min-height:35px}.footer-b .b-partners{padding-block:25px 27px;gap:22px}.footer-b .b-partners-label{display:block}.footer-b .b-partners-label p{margin-top:7px;font-size:.78rem}.footer-b .b-partner-list{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px 25px}.footer-b .b-partner-list .b-member-mark img{width:54px;height:auto}.footer-b .legal{align-items:start;flex-wrap:wrap;padding-block:22px 24px;gap:12px 20px;font-size:.73rem}.footer-b .legal>span{width:100%}.footer-b .legal .back-top{min-height:26px}.footer-b .b-thread-field{height:85%;width:300%;right:-135%;top:0;opacity:.62}.footer-b .b-reading-veil{background:linear-gradient(180deg,#052a3e10,#052a3e66 22%,#052a3ed9 48%,#052a3ef2 80%)}.footer-b .b-aura{right:-700px;top:-450px;opacity:.8}}
/* Partner layout adapts independently so the original small lettering stays readable. */
@media(min-width:601px) and (max-width:1100px){.footer-b .b-partners{grid-template-columns:minmax(0,1fr);gap:22px}.footer-b .b-partners-label{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.footer-b .b-partners-label .eyebrow{margin-bottom:0}.footer-b .b-partners-label br{display:none}.footer-b .b-partner-list{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 64px;gap:clamp(22px,3vw,36px)}.footer-b .b-partner-list .b-member-mark img{width:61px;height:auto}}
@media(max-width:600px){.footer-b .b-partner-list{grid-template-columns:minmax(0,1fr) minmax(0,1fr) clamp(44px,8vw,48px);gap:clamp(8px,2.2vw,14px)}.footer-b .b-partner-list .b-member-mark{grid-column:auto;justify-self:stretch}.footer-b .b-partner-list img{width:100%;max-width:228px;height:auto}.footer-b .b-partner-list .b-member-mark img{width:clamp(30px,8vw,44px);max-width:100%;height:auto}}
@media(prefers-reduced-motion:reduce){.footer-b .b-aura,.footer-b .b-thread-flow path{animation:none!important}.footer-b :where(a,button,input,svg),.footer-b :where(a,button):before,.footer-b :where(a,button):after,.footer-b .email-row{transition:none!important}.footer-b .b-social:hover svg,.footer-b .b-social:focus-visible svg,.footer-b .email-row button:hover svg{transform:none}.footer-b .b-thread-flow{display:none}}
