body.vp-body .vp-footer.vp-footer--refined {
 --footer-ink: #f0f5f6;
 --footer-muted: #bac8cc;
 --footer-accent: var(--theme-color-bdeff2, #bdeff2);
 position: relative;
 background: var(--theme-color-25292d, #25292d) !important;
 color: var(--footer-ink) !important;
 padding: 48px 0 24px !important;
 border-top: 1px solid rgba(189,239,242,.14) !important;
}
body.vp-body .vp-footer.vp-footer--refined::before { display:none; }
body.vp-body .vp-footer--refined > .vp-container {
 width:calc(100% - 48px) !important; max-width:1240px !important;
 padding-inline:0 !important; margin-inline:auto;
}
body.vp-body .vp-footer--refined .vp-footer__grid {
 display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 20px;
}
body.vp-body .vp-footer--refined .vp-footer__grid > * { min-width:0; grid-column:auto; }
body.vp-body .vp-footer--refined .vp-footer__grid > .vp-footer__brandcol { grid-column:1 / -1; padding-bottom:4px; }
body.vp-body .vp-footer--refined .vp-footer__logo {
 width:200px !important; max-width:100%; margin:0 0 18px;
}
body.vp-body .vp-footer--refined .vp-footer__brandcol > strong {
 display:block; font-size:22px; letter-spacing:-.025em; overflow-wrap:anywhere;
}
body.vp-body .vp-footer--refined h2 {
 color:var(--footer-ink) !important; font-size:12px; font-weight:650;
 line-height:1.5; letter-spacing:.13em; text-transform:uppercase; margin:0 0 10px;
 overflow-wrap:anywhere;
}
body.vp-body .vp-footer--refined p {
 color:var(--footer-muted) !important; font-size:14px; line-height:1.8;
 margin:0 0 10px; max-width:32ch; overflow-wrap:anywhere;
}
body.vp-body .vp-footer--refined a {
 color:var(--footer-accent) !important; width:fit-content; max-width:100%;
 display:flex; align-items:center; min-height:44px; margin:0; padding:7px 0;
 font-size:14px; line-height:1.55; text-decoration:none; overflow-wrap:anywhere;
 transition:color .16s ease;
}
body.vp-body .vp-footer--refined a:hover {
 color:var(--footer-ink) !important; text-decoration:underline;
 text-decoration-thickness:1px; text-underline-offset:5px;
}
body.vp-body .vp-footer--refined .vp-footer__grid > :last-child {
 grid-column:1 / -1; padding-top:24px; border-top:1px solid rgba(189,239,242,.12);
}
/* Keep CMS address paragraphs from introducing a second set of margins.
   Align address and link text on one axis; icons occupy a quiet 24px gutter. */
body.vp-body .vp-footer--refined .vp-footer__contact { align-self:start; }
body.vp-body .vp-footer--refined .vp-footer__contact h2 { margin-bottom:8px; }
body.vp-body .vp-footer--refined .vp-footer__address {
 color:var(--footer-muted); font-size:14px; line-height:1.5;
 padding-left:24px; margin:0 0 2px; overflow-wrap:anywhere;
}
body.vp-body .vp-footer--refined .vp-footer__address p {
 margin:0; font-size:inherit; line-height:inherit; max-width:none;
}
body.vp-body .vp-footer--refined .vp-footer__contact-link {
 gap:8px; min-height:40px; padding:6px 0; line-height:1.5;
}
body.vp-body .vp-footer--refined .vp-footer__contact-link svg {
 width:16px; height:16px; flex:0 0 16px; color:var(--footer-accent);
}
body.vp-body .vp-footer--refined .vp-footer__contact-link span { min-width:0; }
body.vp-body .vp-footer--refined .vp-footer__bottom {
 position:relative; display:flex !important; flex-direction:column;
 align-items:flex-start; justify-content:space-between; gap:12px;
 margin-top:32px; padding-top:24px; border-top:1px solid rgba(189,239,242,.12);
 color:var(--footer-muted) !important; font-size:12px; line-height:1.7; text-align:left;
}
body.vp-body .vp-footer--refined .vp-footer__bottom::before {
 content:""; position:absolute; top:-1px; left:0; width:44px; height:1px;
 background:var(--footer-accent);
}
body.vp-body .vp-footer--refined .vp-footer__bottom > span { min-width:0; overflow-wrap:anywhere; }
body.vp-body .vp-footer--refined .vp-footer__legal {
 display:flex; flex-direction:row; flex-wrap:wrap; align-items:center;
 gap:0 20px; margin:0; min-width:0; max-width:100%;
}
body.vp-body .vp-footer--refined .vp-footer__legal a,
body.vp-body .vp-footer--refined .vp-cookie-reopen {
 display:inline-flex; align-items:center; min-height:44px; padding:8px 0;
 margin:0; border:0; border-radius:0; background:transparent;
 color:var(--footer-muted) !important; font:inherit; font-size:12px;
 line-height:1.7; text-align:left; text-decoration:none; cursor:pointer;
}
body.vp-body .vp-footer--refined .vp-cookie-reopen:hover {
 color:var(--footer-ink) !important; text-decoration:underline; text-underline-offset:5px;
}
body.vp-body .vp-footer--refined :is(a,button):focus-visible {
 outline:2px solid var(--footer-accent); outline-offset:4px; border-radius:3px;
}
@media(min-width:768px) {
 body.vp-body .vp-footer--refined .vp-footer__grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 28px; }
 body.vp-body .vp-footer--refined .vp-footer__grid > :last-child { grid-column:auto; border:0; padding:0; }
 body.vp-body .vp-footer--refined .vp-footer__legal { flex-direction:row; align-items:center; gap:8px 24px; }
}
@media(min-width:1100px) {
 body.vp-body .vp-footer.vp-footer--refined { padding:64px 0 24px !important; }
 body.vp-body .vp-footer--refined .vp-footer__grid { grid-template-columns:1.15fr .85fr .85fr 1.15fr; gap:40px; }
 body.vp-body .vp-footer--refined .vp-footer__grid > .vp-footer__brandcol { grid-column:auto; }
 body.vp-body .vp-footer--refined .vp-footer__grid > :last-child { padding-left:28px; border-left:1px solid rgba(189,239,242,.12); }
 body.vp-body .vp-footer--refined .vp-footer__bottom { flex-direction:row; align-items:center; margin-top:44px; gap:24px; }
}
@media(prefers-reduced-motion:reduce) {
 body.vp-body .vp-footer--refined a { transition:none; }
}
