/* One aligned footer grid, followed by a shared credentials/help row. */
.bxm-footer-v55 { padding-block:clamp(32px,3vw,54px) 22px; font-family:var(--bxm-font-family); font-size:var(--bxm-type-body); }
.bxm-footer-v55__inner { width:min(1840px,calc(100% - clamp(40px,5vw,128px))); }
.bxm-footer-v55__grid { grid-template-columns:minmax(170px,.65fr) minmax(0,2.55fr) minmax(240px,.8fr); gap:clamp(24px,2.5vw,44px); }
.bxm-footer-v55 h2 { min-height:1.3em; margin-bottom:26px; font-size:var(--bxm-type-heading-small); }
.bxm-footer-v55__services > a { padding-block:5px; font-size:var(--bxm-type-body); }
.bxm-footer-v55__services > .bxm-footer-v64__privacy { margin-top:16px; color:#cce1ec; font-size:var(--bxm-type-support); }
.bxm-footer-v55__cities { gap:clamp(18px,2vw,32px); }
.bxm-footer-v55 address h3 { display:flex; align-items:center; gap:9px; min-height:32px; margin:0 0 6px; font-size:var(--bxm-type-heading-small); }
.bxm-footer-v55 address h3 svg { width:23px; height:26px; flex:none; color:#c3e5f5; }
.bxm-footer-v55 address > p { margin-bottom:14px; }
.bxm-footer-v55 address { border:0; padding:0; font-size:var(--bxm-type-body); }
.bxm-footer-v55 address .bxm-footer-v55__map { font-size:var(--bxm-type-action); }
.bxm-footer-v55__call { display:block; grid-column:auto; padding:0; border:0; }
.bxm-footer-v55__call h2 { display:block; }
.bxm-footer-v55__phone { font-size:var(--bxm-type-heading-small); }
.bxm-footer-v55__hours { margin-top:4px; padding:0; border:0; font-size:var(--bxm-type-body); }
.bxm-footer-v55__hours span,.bxm-footer-v55__phone small { font-size:var(--bxm-type-support); }
.bxm-footer-v55__email { padding-block:16px 12px; font-size:var(--bxm-type-body); }
/* Separate, optically balanced marks and a quiet editorial guide panel. */
.bxm-footer-v64__support { display:grid; grid-template-columns:minmax(0,1fr) minmax(370px,.48fr); align-items:center; gap:clamp(30px,3vw,56px); margin-top:28px; padding-block:32px; border-block:1px solid #ffffff30; }
.bxm-footer-v55__marks { display:grid; grid-template-columns:1.15fr .7fr 1.7fr 1fr .7fr .8fr .65fr 1.45fr; align-items:center; gap:clamp(16px,1.8vw,32px); min-width:0; width:100%; max-width:none; margin:0; padding:0; border:0; list-style:none; }
.bxm-footer-mark { display:flex; justify-content:center; align-items:center; min-width:0; height:76px; }
.bxm-footer-v55__marks .bxm-footer-mark img { width:auto; height:auto; max-width:100%; max-height:58px; object-fit:contain; }
.bxm-footer-mark--google-partners img,.bxm-footer-mark--php-developers img { max-height:38px!important; }
.bxm-footer-mark--google-adwords img { max-height:62px!important; }
.bxm-footer-v64__guide { min-width:0; border-left:1px solid #ffffff30; padding-left:clamp(24px,2.5vw,44px); }
.bxm-footer-v64__guide[hidden] { display:none; }
.bxm-footer-guide__heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.bxm-footer-guide__eyebrow,.bxm-footer-guide__count { font:600 10px/1.5 var(--bxm-font-family); letter-spacing:.13em; color:#c3e5f5; }
.bxm-footer-guide__count { white-space:nowrap; letter-spacing:.08em; }
.bxm-footer-v55 .bxm-footer-v64__guide h2 { min-height:0; margin:0 0 7px; font-size:clamp(21px,1.45vw,27px); line-height:1.2; letter-spacing:-.03em; }
.bxm-footer-v64__guide > p { margin:0; color:#d8e8ef; font:400 14px/1.55 var(--bxm-font-family); max-width:46ch; }
.bxm-footer-v64__guide .bxm-guide-footer { display:flex; flex-wrap:wrap; align-items:center; gap:6px 18px; margin:16px 0 0; padding:0; }
.bxm-footer-v64__guide button.bxm-action { min-height:50px; gap:12px; font-size:var(--bxm-type-action); }
.bxm-footer-v64__guide button.bxm-action--primary { padding:7px 7px 7px 18px; background:#fff; color:#286bd2!important; }
.bxm-footer-v64__guide button.bxm-action--primary .bxm-action__arrow { background:#286bd2; color:#fff; }
.bxm-footer-v64__guide button.bxm-footer-guide__restore { color:#fff!important; }
.bxm-footer-v64__guide .bxm-action__arrow { width:34px; height:34px; flex-basis:34px; background:#ffffff1f; color:#fff; }
.bxm-footer-v64__guide button.bxm-action:hover { background:#e8f1ff; color:#286bd2!important; }
.bxm-footer-v64__guide button.bxm-footer-guide__restore:hover { background:transparent; color:#d2efff!important; }
.bxm-footer-v64__guide .bxm-action__arrow svg { width:19px; height:19px; }
.bxm-footer-v64__support:not(:has(.bxm-footer-v64__guide:not([hidden]))) { grid-template-columns:1fr; }
.bxm-footer-v55__bottom { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:20px; border:0; margin-top:18px; padding:0; font-size:var(--bxm-type-support); }
.bxm-footer-v55__bottom small { font-size:inherit; }
.bxm-footer-v55__bottom .bxm-footer-v64__powered { align-items:flex-end; text-align:right; }
.bxm-footer-v64__powered a { color:#cce1ec; }
.bxm-footer-v64__powered span { color:#fff; }
.bxm-footer-v55 :is(a,button):focus-visible { outline:2px solid #d2efff; outline-offset:4px; border-radius:4px; }
@media(max-width:1360px) {
 .bxm-footer-v55__grid { grid-template-columns:minmax(170px,.8fr) minmax(0,2.2fr); }
 .bxm-footer-v55__cities { grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); }
 .bxm-footer-v55__call { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 28px; }
 .bxm-footer-v55__call h2 { margin:0; }
 .bxm-footer-v55__email { padding:0; }
 .bxm-footer-v55__hours { margin:0; }
 .bxm-footer-v64__support { grid-template-columns:minmax(0,1fr); gap:20px; }
 .bxm-footer-v64__guide { display:block; border-left:0; border-top:1px solid #ffffff30; padding:24px 0 0; }
 .bxm-footer-v64__guide > p { margin:0; }
}
@media(max-width:760px) {
 .bxm-footer-v55__inner { width:calc(100% - 36px); }
 .bxm-footer-v55__grid { grid-template-columns:minmax(0,1fr); gap:28px; }
 .bxm-footer-v55 h2 { min-height:0; margin-bottom:18px; }
 .bxm-footer-v55__services > .bxm-footer-v64__privacy { grid-column:1/-1; margin-top:8px; }
 .bxm-footer-v55__cities { grid-template-columns:1fr; gap:22px; }
 .bxm-footer-v55__call { display:grid; grid-template-columns:1fr; gap:12px 20px; }
 .bxm-footer-v55__call h2 { grid-column:1/-1; margin:0; }
 .bxm-footer-v55__hours { grid-column:1/-1; }
 .bxm-footer-v64__guide { display:block; }
 .bxm-footer-v64__guide > p { margin-bottom:8px; }
 .bxm-footer-v55__bottom { grid-template-columns:1fr; gap:12px; }
 .bxm-footer-v55__bottom .bxm-footer-v64__powered { align-items:flex-start; text-align:left; }
 .bxm-footer-v64__support { padding-block:18px; }
}

@media(max-width:760px) {
 .bxm-footer-v55__marks { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px 22px; }
 .bxm-footer-mark { height:64px; }
 .bxm-footer-v55__marks .bxm-footer-mark img { max-height:48px; }
 .bxm-footer-v64__guide .bxm-guide-footer { gap:6px 16px; }
}
@media(max-width:380px) {
 .bxm-footer-v55__marks { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 32px; }
 .bxm-footer-v55__marks .bxm-footer-mark img { max-width:125px; }
}

@media(min-width:761px) and (max-width:1600px) {
 .bxm-footer-v55__marks { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px 32px; }
 .bxm-footer-v55__marks .bxm-footer-mark img { max-width:170px; width:100%; max-height:60px; }
}
@media(max-width:480px) {
 .bxm-footer-v55__marks { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 30px; }
 .bxm-footer-v55__marks .bxm-footer-mark img { max-width:140px; }
}

/* Shared scroll-folding top edge, matching the portfolio/company sections. */
.bxm-footer-v55 { position:relative; padding-top:clamp(64px,5vw,90px); }
.bxm-footer-edge { position:absolute; top:-1px; left:0; width:100%; height:clamp(24px,3vw,48px); background:var(--footer-edge-background,var(--bxm-theme-surface,#f3f5f6)); clip-path:polygon(0 0,100% 0,50% 100%); transform:scaleY(var(--footer-fold,1)); transform-origin:50% 0; pointer-events:none; }
@media(prefers-reduced-motion:reduce) { .bxm-footer-edge { transform:scaleY(1); } }

/* Cities share one baseline; the primary conversation sits beneath them. */
.bxm-footer-v55__grid{grid-template-columns:minmax(180px,.6fr) minmax(0,3fr);gap:clamp(32px,4vw,72px)}
.bxm-footer-v55__offices{min-width:0}
.bxm-footer-v55__cities{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,2.7vw,48px)}
.bxm-footer-city-heading{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:14px;min-height:84px;margin-bottom:16px}
.bxm-footer-v55 .bxm-footer-location-icon{width:54px;height:60px;color:#fff;max-width:none}
.bxm-footer-v55 .bxm-footer-city-heading h3{min-height:0;margin:0 0 5px;display:block;font-size:clamp(20px,1.65vw,29px);line-height:1.25}
.bxm-footer-v55 .bxm-footer-city-heading p{margin:0;font-size:clamp(13px,1vw,17px);line-height:1.5;color:#dceaff}
.bxm-footer-v55__cities address>a{font-size:clamp(14px,1.05vw,18px);padding-block:4px}
.bxm-footer-v55__cities address>a[href^="tel:"]{font-size:clamp(19px,1.3vw,23px);font-weight:600}
.bxm-footer-v55__cities address .bxm-footer-v55__map{margin-top:13px;gap:12px;font-size:14px}
.bxm-footer-v55__cities address .bxm-footer-v55__map svg{width:21px;height:21px}
.bxm-footer-v55__offices .bxm-footer-v55__call{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px 32px;margin-top:32px;padding:28px 0 0;border-top:1px solid #ffffff35}
.bxm-footer-v55 .bxm-footer-call-intro h2{display:block;min-height:0;margin:0 0 10px;font-size:clamp(26px,2.35vw,40px);font-weight:300;line-height:1.2}
.bxm-footer-v55 .bxm-footer-call-intro .bxm-footer-v55__email{padding:0;font-size:14px;gap:10px}
.bxm-footer-v55__call .bxm-footer-v55__phone{gap:24px;font-size:clamp(32px,3.5vw,56px);text-decoration:none;letter-spacing:-.045em;justify-self:end;line-height:1.25}
.bxm-footer-v55__phone strong{font-weight:500}
.bxm-footer-v55__phone small{margin-bottom:7px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#dceaff}
.bxm-footer-call-arrow{position:relative;display:grid;place-items:center;flex:none;width:64px;height:64px;border-radius:50%;background:#fff;color:#286bd2;transition:background .25s,transform .25s}
.bxm-footer-call-arrow svg{width:30px;height:30px}
.bxm-footer-call-arrow::after{content:'';position:absolute;inset:-7px;border:1px solid #ffffff70;border-radius:50%;opacity:0;pointer-events:none}
.bxm-footer-v55__phone.is-call-visible .bxm-footer-call-arrow svg{animation:footer-call-point 4.8s ease-in-out both}
.bxm-footer-v55__phone.is-call-visible .bxm-footer-call-arrow::after{animation:footer-call-ring 4.8s ease-out both}
.bxm-footer-v55__phone:hover .bxm-footer-call-arrow{transform:translateX(4px);background:#e3efff}
.bxm-footer-v55__call .bxm-footer-v55__hours{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;padding:0;margin:0;font-size:13px;color:#dceaff;line-height:1.6}
.bxm-footer-v55__hours p{margin:0}
.bxm-footer-v55__hours strong{margin-left:6px;white-space:nowrap}
@keyframes footer-call-point{0%,12%,32%,62%,82%,100%{transform:translateX(0)}22%,72%{transform:translateX(5px)}}
@keyframes footer-call-ring{0%,12%,34%,62%,84%,100%{opacity:0;transform:scale(.94)}16%,66%{opacity:.55;transform:scale(.94)}32%,82%{opacity:0;transform:scale(1.22)}}
@media(max-width:1100px){.bxm-footer-v55__grid{grid-template-columns:1fr;gap:34px}.bxm-footer-v55__services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 20px}.bxm-footer-v55__services h2{grid-column:1/-1;margin-bottom:10px}.bxm-footer-v55__services>.bxm-footer-v64__privacy{grid-column:1/-1;margin-top:8px}.bxm-footer-v55__cities{gap:28px}.bxm-footer-v55__offices .bxm-footer-v55__call{margin-top:28px}}
@media(max-width:760px){.bxm-footer-v55__services{grid-template-columns:repeat(2,minmax(0,1fr))}.bxm-footer-v55__cities{grid-template-columns:1fr;gap:26px}.bxm-footer-city-heading{grid-template-columns:60px 1fr;gap:16px;min-height:68px;margin:0;grid-row:1/4}.bxm-footer-v55 .bxm-footer-location-icon{width:60px;height:64px}.bxm-footer-v55__cities address{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:20px;align-items:start;padding-bottom:24px;border-bottom:1px solid #ffffff25}.bxm-footer-v55__cities address>a{grid-column:2}.bxm-footer-v55__cities address .bxm-footer-v55__map{margin-top:8px}.bxm-footer-v55 .bxm-footer-city-heading h3{font-size:24px}.bxm-footer-v55__offices .bxm-footer-v55__call{margin-top:0;border-top:0;grid-template-columns:1fr;gap:22px;padding-top:6px}.bxm-footer-v55__call .bxm-footer-v55__phone{justify-self:start;font-size:clamp(32px,7vw,48px);gap:22px}.bxm-footer-call-arrow{width:56px;height:56px}.bxm-footer-v55__call .bxm-footer-v55__hours{display:grid;gap:5px}}
@media(max-width:520px){.bxm-footer-v55__cities address{display:block}.bxm-footer-city-heading{margin-bottom:14px}.bxm-footer-v55__cities address>a{margin-left:76px;font-size:14px}.bxm-footer-v55__cities address>a[href^="tel:"]{font-size:20px}.bxm-footer-v55 .bxm-footer-city-heading p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.bxm-footer-v55__phone .bxm-footer-call-arrow,.bxm-footer-v55__phone .bxm-footer-call-arrow svg,.bxm-footer-v55__phone .bxm-footer-call-arrow::after{animation:none!important;transition:none!important;transform:none!important}}
/* Compact contact row with three distinct folded maps and a pointing cursor. */
.bxm-footer-city-heading{grid-template-columns:76px minmax(0,1fr);gap:15px;margin-bottom:10px}.bxm-footer-v55 .bxm-footer-location-icon{width:76px;height:70px}.bxm-footer-v55__cities address .bxm-footer-v55__map{font-weight:700;font-size:16px;margin-top:8px}.bxm-footer-v55__offices .bxm-footer-v55__call{grid-template-columns:minmax(200px,.8fr) minmax(0,1.2fr);gap:12px 28px;margin-top:22px;padding-top:22px}.bxm-footer-v55 .bxm-footer-call-intro h2{font-size:30px;margin-bottom:8px}.bxm-footer-v55 .bxm-footer-call-intro .bxm-footer-v55__email{font-size:18px;font-weight:600}.bxm-footer-v55__call .bxm-footer-v55__phone{justify-self:start;gap:18px;font-size:clamp(35px,3.4vw,56px)}.bxm-footer-v55__phone small{font-size:16px;letter-spacing:0;text-transform:none;margin-bottom:3px}.bxm-footer-v55__call .bxm-footer-v55__hours{font-size:16px;justify-content:flex-start}.bxm-footer-call-arrow{width:50px;height:56px;background:transparent!important;color:white;border-radius:0;align-self:end}.bxm-footer-call-arrow svg{width:46px;height:46px;transform:rotate(-20deg)}.bxm-footer-call-arrow::after{display:none}.bxm-footer-v55__phone.is-call-visible .bxm-footer-call-arrow svg{animation:footer-cursor 4.8s ease both}.footer-map-pin{transform-box:fill-box;transform-origin:center bottom}.footer-map-paper{transform-box:fill-box;transform-origin:center}.is-map-moving .footer-map-pin{animation:footer-map-pin 4.8s ease both}.is-map-moving .footer-map-paper{animation:footer-map-paper 4.8s ease both}.bxm-footer-v55__map:hover svg{transform:translateX(4px)}@keyframes footer-map-pin{0%,100%{transform:translateY(0)}25%,55%{transform:translateY(-5px)}40%,70%{transform:translateY(0)}}@keyframes footer-map-paper{0%,100%{transform:scaleX(1)}35%{transform:scaleX(.93)}60%{transform:scaleX(1)}}@keyframes footer-cursor{0%,100%{transform:rotate(-20deg) translate(0,0)}25%,65%{transform:rotate(-20deg) translate(-6px,-5px)}40%,80%{transform:rotate(-20deg) translate(0,0)}}@media(max-width:760px){.bxm-footer-v55__offices .bxm-footer-v55__call{grid-template-columns:1fr;gap:16px}.bxm-footer-city-heading{grid-template-columns:76px minmax(0,1fr)}.bxm-footer-v55__cities address>a{margin-left:91px}.bxm-footer-v55__phone small{font-size:15px}.bxm-footer-v55__call .bxm-footer-v55__hours{font-size:15px}.bxm-footer-v55__call .bxm-footer-v55__phone{font-size:clamp(32px,8vw,48px);gap:12px}}@media(prefers-reduced-motion:reduce){.bxm-footer-location-icon *{animation:none!important}}
.bxm-contact-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.bxm-contact-protected{display:grid;grid-template-columns:25px 1fr;align-items:center;gap:2px 8px;text-align:left;color:#365f8c;font:600 14px/1.5 var(--bxm-font-family)}.bxm-contact-protected>span:first-child{grid-row:1/3;background:#e8f2ff;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;color:#286bd2}.bxm-contact-protected__note{font-size:11px;font-weight:400;grid-column:2;color:#677e95}.bxm-contact-v55__send{flex-wrap:wrap}.bxm-contact-v55__send .bxm-contact-protected{margin-right:14px}@media(max-width:600px){.bxm-contact-v55__send .bxm-contact-protected{margin-bottom:10px}}

/* Contact protection stays beside the action, with a compact mobile layout. */
.bxm-contact-v55 .bxm-contact-v55__send{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 16px;container-type:normal}
.bxm-contact-v55 .bxm-contact-v55__send>small{grid-column:1/-1;text-align:right}
.bxm-contact-v55 .bxm-contact-protected{margin:0}
@media(max-width:600px){.bxm-contact-v55 .bxm-contact-v55__send{grid-template-columns:1fr}.bxm-contact-v55 .bxm-contact-v55__send>small{text-align:left}}
.bxm-footer-v55 .bxm-footer-ai-heading{font-size:17px;font-weight:600;margin:22px 0 8px;color:#fff}
.bxm-footer-v55 .bxm-footer-location-icon{width:84px;height:76px;overflow:visible}.bxm-footer-v55 .bxm-footer-city-heading{grid-template-columns:84px minmax(0,1fr)}
.bxm-footer-v55 .bxm-footer-call-arrow{border:0!important;box-shadow:none!important;background:none!important;border-radius:0!important;width:54px;flex:none}
.bxm-footer-v55__phone strong{display:inline-block;transform-origin:left center}
.bxm-footer-v55__phone.is-call-moving strong{animation:footer-number-emphasis 4.8s ease both}
.bxm-footer-v55__phone.is-call-visible .bxm-footer-call-arrow svg{animation:none}
.bxm-footer-v55__phone.is-call-moving .bxm-footer-call-arrow svg{animation:footer-cursor 4.8s ease both}
@keyframes footer-number-emphasis{0%,65%,100%{transform:scale(1)}25%,45%{transform:scale(1.035)}}
@media(prefers-reduced-motion:reduce){.bxm-footer-v55__phone strong{animation:none!important;transform:none!important}}

/* Contact first, followed by a full-width directory of services. */
.bxm-footer-v55__grid{display:block}
.bxm-footer-contact-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.bxm-footer-v55 .bxm-footer-contact-heading h2{font-size:clamp(28px,2.5vw,42px);font-weight:300;line-height:1.2;min-height:0;margin:8px 0 0}
.bxm-footer-eyebrow{font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin:0;color:#dfebff}
.bxm-footer-motion{display:flex;align-items:center;gap:12px;flex:none;min-height:44px;padding:8px 0;border:0;background:none;color:#e4efff;font:inherit;font-size:14px;cursor:pointer}
.bxm-footer-motion[hidden]{display:none}
.bxm-footer-motion span{font-size:21px}
.bxm-footer-v55__cities{gap:clamp(28px,4vw,70px)}
.bxm-footer-v55 .bxm-footer-city-heading{grid-template-columns:100px minmax(0,1fr);gap:18px;margin-bottom:12px;min-height:94px}
.bxm-footer-v55 .bxm-footer-location-icon{width:100px;height:88px}
.bxm-footer-v55 .bxm-footer-city-heading h3{font-size:clamp(27px,2.2vw,36px);font-weight:600}
.bxm-footer-v55 .bxm-footer-city-heading p{font-size:17px}
.bxm-footer-v55__cities address>a{font-size:clamp(17px,1.25vw,21px);line-height:1.5;overflow-wrap:anywhere}
.bxm-footer-v55__cities address>a[href^="tel:"]{font-size:clamp(23px,1.7vw,28px)}
.bxm-footer-v55__cities address .bxm-footer-v55__map{font-size:17px;font-weight:600;margin-top:8px}
.bxm-footer-v55__offices .bxm-footer-v55__call{grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1.4fr);gap:28px;margin-top:28px;padding:26px 0;border-bottom:1px solid #ffffff35}
.bxm-footer-v55 .bxm-footer-call-intro h2{font-size:clamp(30px,2.5vw,42px);margin-bottom:12px}
.bxm-footer-v55 .bxm-footer-call-intro .bxm-footer-v55__email{font-size:clamp(18px,1.4vw,23px);font-weight:500}
.bxm-footer-v55__call .bxm-footer-v55__hours{display:block;grid-column:auto;border:0;border-left:1px solid #ffffff35;padding-left:28px;font-size:18px;line-height:1.4}
.bxm-footer-v55__hours>strong{display:block;margin:5px 0;font-size:30px;font-weight:500}
.bxm-footer-v55__hours>span{margin:0;font-size:17px;color:#e4efff}
.bxm-footer-v55__call .bxm-footer-v55__phone{font-size:clamp(38px,3.7vw,64px);gap:28px;justify-self:end;white-space:nowrap}
.bxm-footer-v55__phone small{font-size:clamp(16px,1.2vw,20px);margin:0 0 8px;white-space:normal}
.bxm-footer-v55 .bxm-footer-call-arrow{width:60px;height:64px}
.bxm-footer-call-arrow svg{width:56px;height:56px}
.bxm-footer-v55__phone:hover .bxm-footer-call-arrow{transform:none}
.bxm-footer-directory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 4%;padding-top:30px}
.bxm-footer-v55 .bxm-footer-directory h2{font-size:clamp(22px,1.7vw,28px);font-weight:400;line-height:1.25;min-height:0;margin:0 0 10px}
.bxm-footer-directory p{font-size:15px;line-height:1.5;color:#dceaff;margin:0 0 15px;max-width:30ch;min-height:45px}
.bxm-footer-directory a{display:block;width:fit-content;max-width:100%;padding:5px 0;font-size:clamp(16px,1.15vw,19px);line-height:1.45;color:white;text-decoration:none;overflow-wrap:anywhere}
.bxm-footer-directory a:hover{text-decoration:underline;text-underline-offset:5px}
.bxm-footer-v55__cities address:nth-child(2){--map-delay:-1.8s}.bxm-footer-v55__cities address:nth-child(3){--map-delay:-3.4s}
.is-map-moving .footer-map-pin{animation:footer-map-pin 5.2s ease-in-out var(--map-delay,0s) infinite}
.is-map-moving .footer-map-paper{animation:footer-map-paper 5.2s ease-in-out var(--map-delay,0s) infinite}
.bxm-footer-v55__phone.is-call-moving .bxm-footer-call-arrow svg{animation:footer-cursor 4s ease-in-out infinite}
.bxm-footer-v55__phone.is-call-moving strong{animation:footer-number-emphasis 4s ease-in-out infinite}
@keyframes footer-map-pin{0%,100%{transform:translate(0,0) rotate(0)}28%{transform:translate(-2px,-9px) rotate(-9deg)}56%{transform:translate(2px,-3px) rotate(7deg)}78%{transform:translate(0,-6px) rotate(-3deg)}}
@keyframes footer-map-paper{0%,100%{transform:scaleX(1) rotate(0)}30%{transform:scaleX(.88) rotate(-3deg)}65%{transform:scaleX(1.04) rotate(2deg)}}
@keyframes footer-cursor{0%,100%{transform:rotate(-20deg) translate(0,0)}30%{transform:rotate(-27deg) translate(-13px,-9px)}45%{transform:rotate(-27deg) translate(-10px,-6px) scale(.92)}65%{transform:rotate(-20deg) translate(2px,2px)}}
@keyframes footer-number-emphasis{0%,65%,100%{transform:scale(1)}30%,45%{transform:scale(1.045)}}
@media(max-width:1100px){.bxm-footer-v55__offices .bxm-footer-v55__call{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.bxm-footer-v55__call .bxm-footer-v55__hours{grid-column:1;grid-row:2;border:0;padding:0}.bxm-footer-v55__call .bxm-footer-v55__phone{grid-column:2;grid-row:1/3;font-size:clamp(38px,4.7vw,52px)}.bxm-footer-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.bxm-footer-v55 .bxm-footer-city-heading{grid-template-columns:76px minmax(0,1fr);gap:12px}.bxm-footer-v55 .bxm-footer-location-icon{width:76px;height:76px}.bxm-footer-v55 .bxm-footer-city-heading h3{font-size:26px}.bxm-footer-v55 .bxm-footer-city-heading p{font-size:15px}}
@media(max-width:760px){.bxm-footer-contact-heading{align-items:start;flex-direction:column;gap:12px;margin-bottom:20px}.bxm-footer-v55__cities address{display:block;padding-bottom:22px}.bxm-footer-v55 .bxm-footer-city-heading{grid-template-columns:84px minmax(0,1fr);min-height:84px}.bxm-footer-v55 .bxm-footer-location-icon{width:84px;height:80px}.bxm-footer-v55__cities address>a{margin-left:96px;font-size:17px}.bxm-footer-v55__cities address>a[href^="tel:"]{font-size:24px}.bxm-footer-v55__offices .bxm-footer-v55__call{grid-template-columns:1fr;gap:24px;margin-top:0;padding:10px 0 26px}.bxm-footer-v55__call .bxm-footer-v55__phone{grid-column:1;grid-row:2;justify-self:start;gap:24px;font-size:clamp(34px,8.6vw,50px)}.bxm-footer-v55__call .bxm-footer-v55__hours{grid-row:3}.bxm-footer-v55__hours>strong{font-size:26px}.bxm-footer-v55 .bxm-footer-call-arrow{width:44px}.bxm-footer-call-arrow svg{width:44px;height:44px}.bxm-footer-directory{gap:26px 18px}.bxm-footer-directory p{min-height:0}.bxm-footer-v55 .bxm-footer-directory h2{font-size:23px}}
@media(max-width:520px){.bxm-footer-directory{grid-template-columns:1fr}.bxm-footer-directory>div{padding-bottom:20px;border-bottom:1px solid #ffffff25}.bxm-footer-directory a{font-size:18px}.bxm-footer-directory p{max-width:none;margin-bottom:10px}.bxm-footer-v55__cities address>a{margin-left:0}.bxm-footer-v55 .bxm-footer-city-heading{margin-bottom:8px}}

.bxm-footer-v55__call .bxm-footer-v55__phone{display:grid;grid-template-columns:max-content 60px;align-items:end;gap:4px 28px;justify-self:start}
.bxm-footer-v55__phone>small{grid-column:1/-1;line-height:1.4}.bxm-footer-v55__phone>strong{font-size:inherit;line-height:1.15}.bxm-footer-v55__phone>.bxm-footer-call-arrow{grid-column:2;grid-row:2}
@media(max-width:760px){.bxm-footer-v55__call .bxm-footer-v55__phone{grid-template-columns:max-content 44px;gap:4px 24px}.bxm-footer-v55__phone>.bxm-footer-call-arrow{height:42px}}
/* Footer navigation: direction and motion instead of underlines. */
#bxm-footer a,#bxm-footer a:is(:link,:visited,:hover,:focus,:active),#bxm-footer a :is(small,strong,span){text-decoration:none}
#bxm-footer a:focus-visible,#bxm-footer button:focus-visible{outline:2px solid #fff;outline-offset:5px;border-radius:4px}
#bxm-footer .bxm-footer-directory a{position:relative;width:100%;padding:7px 0;transition:padding-left .22s ease,color .22s ease}
#bxm-footer .bxm-footer-directory a::before{content:'→';position:absolute;left:0;top:50%;font-size:1.05em;line-height:1;opacity:0;transform:translate(-9px,-50%);transition:opacity .22s ease,transform .22s ease}
#bxm-footer .bxm-footer-directory a:is(:hover,:focus-visible){padding-left:27px;color:#fff}
#bxm-footer .bxm-footer-directory a:is(:hover,:focus-visible)::before{opacity:1;transform:translate(0,-50%)}
#bxm-footer .bxm-footer-v55__cities address>a:not(.bxm-footer-v55__map){position:relative;transition:padding-left .22s ease}
#bxm-footer .bxm-footer-v55__cities address>a:not(.bxm-footer-v55__map)::before{content:'→';position:absolute;left:0;opacity:0;transform:translateX(-8px);transition:opacity .22s,transform .22s}
#bxm-footer .bxm-footer-v55__cities address>a:not(.bxm-footer-v55__map):is(:hover,:focus-visible){padding-left:26px}
#bxm-footer .bxm-footer-v55__cities address>a:not(.bxm-footer-v55__map):is(:hover,:focus-visible)::before{opacity:1;transform:translateX(0)}
#bxm-footer .bxm-footer-v55__map svg,#bxm-footer .bxm-footer-v55__email svg{transition:transform .25s ease}
#bxm-footer :is(.bxm-footer-v55__map,.bxm-footer-v55__email):is(:hover,:focus-visible) svg{transform:translateX(7px)}
#bxm-footer .bxm-footer-motion{display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0;border:1px solid #ffffff50;border-radius:50%;align-self:center;background:#ffffff08}
#bxm-footer .bxm-footer-motion[hidden]{display:none}#bxm-footer .bxm-footer-motion span{font-size:19px;line-height:1}#bxm-footer .bxm-footer-motion:hover{background:#ffffff20}
#bxm-footer .bxm-footer-v55__call{grid-template-columns:minmax(0,.95fr) minmax(0,.65fr) minmax(0,1.4fr);gap:clamp(22px,3vw,52px);align-items:center;padding-block:28px}
#bxm-footer .bxm-footer-v55__phone{width:100%;min-width:0;justify-self:stretch;grid-template-columns:minmax(0,1fr) 64px;gap:8px 22px;font-size:clamp(42px,4.1vw,82px)}
#bxm-footer .bxm-footer-v55__phone>strong{letter-spacing:-.045em;white-space:nowrap;font-weight:500}
#bxm-footer .bxm-footer-v55__phone>small{font-size:clamp(18px,1.3vw,23px);margin:0 0 3px}
#bxm-footer .bxm-footer-call-arrow{width:64px;height:64px;justify-self:end}
#bxm-footer .bxm-footer-call-arrow svg{width:60px;height:60px}
#bxm-footer .bxm-footer-call-label{grid-column:1/-1;grid-row:3;font-size:16px;font-weight:500;color:#e0edff;letter-spacing:.015em;line-height:1.4}
#bxm-footer .bxm-footer-call-intro h2{font-size:clamp(32px,2.8vw,48px)}
#bxm-footer .bxm-footer-call-intro .bxm-footer-v55__email{font-size:clamp(19px,1.5vw,25px)}
#bxm-footer .bxm-footer-v55__hours{padding-left:24px;font-size:18px}#bxm-footer .bxm-footer-v55__hours>strong{font-size:clamp(29px,2.3vw,38px)}
@media(max-width:1100px){#bxm-footer .bxm-footer-v55__call{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:18px 26px}#bxm-footer .bxm-footer-v55__phone{font-size:clamp(39px,4.6vw,53px);grid-column:2;grid-row:1/3;grid-template-columns:minmax(0,1fr) 48px;gap:8px 14px}#bxm-footer .bxm-footer-v55__hours{grid-column:1;grid-row:2;padding-left:0}#bxm-footer .bxm-footer-call-arrow,#bxm-footer .bxm-footer-call-arrow svg{width:48px;height:48px}}
@media(max-width:760px){#bxm-footer .bxm-footer-contact-heading{flex-direction:row;align-items:start}#bxm-footer .bxm-footer-motion{align-self:start}#bxm-footer .bxm-footer-v55__call{grid-template-columns:1fr;gap:24px}#bxm-footer .bxm-footer-v55__phone{grid-column:1;grid-row:2;font-size:clamp(36px,9.6vw,65px);grid-template-columns:minmax(0,1fr) 44px;gap:8px 14px}#bxm-footer .bxm-footer-v55__hours{grid-row:3}#bxm-footer .bxm-footer-call-arrow,#bxm-footer .bxm-footer-call-arrow svg{width:44px;height:44px}#bxm-footer .bxm-footer-directory a{padding-block:8px}}
@media(prefers-reduced-motion:reduce){#bxm-footer a,#bxm-footer a::before,#bxm-footer a svg{transition:none!important}}
#bxm-footer .bxm-footer-v55__phone>strong{display:flex;justify-content:space-between;gap:.15em;font-size:clamp(42px,5.1vw,102px);font-variant-numeric:tabular-nums;transform-origin:center}
#bxm-footer .bxm-footer-v55__phone>strong>span{display:block}
@media(max-width:1100px){#bxm-footer .bxm-footer-v55__phone>strong{font-size:clamp(37px,4.8vw,52px)}}
@media(max-width:760px){#bxm-footer .bxm-footer-v55__phone>strong{font-size:clamp(34px,9vw,62px)}}
