/* Approved global footer only: map silhouettes above navy strip; no footer logo. */
.xs-footer { color:#1c4966; background:#fff; font-family:var(--font,system-ui); }
.xs-footer-reach { background:linear-gradient(180deg,#ffffff 0%,#f4fbff 100%); padding:22px 18px 28px; text-align:center; }
.xs-reach-intro { font-size:13px; line-height:1.5; font-weight:650; letter-spacing:.015em; margin:0 0 10px; color:#5e7c94; }
.xs-reach-intro span { margin:0 7px; color:#66afd7; }
.xs-reach-grid { width:min(1080px,100%); margin:auto; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; align-items:center; }
.xs-reach-location { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0; min-width:0; }
.xs-reach-location img { display:block; width:clamp(94px,11.1vw,154px); height:82px; max-width:100%; object-fit:contain; opacity:.88; }
.xs-reach-city { font:750 clamp(13px,1.05vw,15px)/1.45 var(--display,system-ui); color:#1677b7; margin-top:0; }
.xs-reach-location small { display:block; margin-top:0; font:550 11px/1.5 var(--font,system-ui); color:#728da3; }
.xs-footer-bottom { position:relative; color:#fff; min-height:127px; background:linear-gradient(102deg,#0a2647 0%,#0f568e 60%,#0874b8 100%); }
.xs-footer-bottom-inner { width:min(1180px,calc(100% - 100px)); min-height:127px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; gap:36px; }
.xs-footer-left { display:flex; flex-direction:column; align-items:flex-start; gap:17px; flex:0 0 auto; }
.xs-footer-socials { display:flex; align-items:center; gap:9px; }
.xs-footer-socials button { display:grid; place-items:center; border:0; width:30px; height:30px; padding:0; border-radius:50%; background:#fff; color:#0d68a6; font:800 16px/1 Arial,sans-serif; cursor:pointer; transition:background .2s,transform .2s; }
.xs-footer-socials button:nth-child(3) { font-size:12px; letter-spacing:-.07em; }
.xs-footer-socials button svg { width:15px; height:15px; }
.xs-footer-socials button:hover { background:#d7f4ff; transform:translateY(-2px); }
.xs-footer-left small { font-size:12px; line-height:1.5; white-space:nowrap; color:#e3f6ff; }
.xs-footer-links { display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:8px; text-align:right; font:550 12.5px/1.55 var(--font,system-ui); }
.xs-footer-links a,.xs-footer-links button { color:#fff; border:0; padding:0; background:transparent; font:inherit; cursor:pointer; white-space:nowrap; }
.xs-footer-links a:hover,.xs-footer-links button:hover { text-decoration:underline; text-underline-offset:4px; }
.xs-footer-links span { opacity:.48; }
.xs-scroll-top { position:absolute; right:max(18px,2.6vw); bottom:19px; z-index:3; width:42px; height:42px; display:grid; place-items:center; border:1px solid #b2eaff75; border-radius:50%; background:#118ed0; box-shadow:0 6px 19px #001d3c44; color:#fff; cursor:pointer; transition:transform .2s,background .2s; }
.xs-scroll-top:hover { transform:translateY(-4px); background:#15a8ef; }
@media(max-width:950px) {
 .xs-footer-bottom-inner { width:calc(100% - 105px); min-height:138px; gap:19px; }
 .xs-footer-links { gap:6px; }
}
@media(max-width:700px) {
 .xs-footer-reach { padding:21px 10px 24px; }
 .xs-reach-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 6px; }
 .xs-reach-location img { width:136px; height:78px; }
 .xs-footer-bottom-inner { width:calc(100% - 30px); min-height:180px; padding:24px 0 66px; flex-direction:column; align-items:flex-start; gap:23px; }
 .xs-footer-left { gap:11px; }
 .xs-footer-left small { font-size:11px; white-space:normal; }
 .xs-footer-links { justify-content:flex-start; text-align:left; font-size:12px; }
 .xs-scroll-top { right:16px; bottom:18px; }
}
@media(prefers-reduced-motion:reduce) { .xs-scroll-top,.xs-footer-socials button { transition:none; } }

/* Four truthful service-reach markers; USA is a market, not a physical office. */
@media (min-width:701px) and (max-width:960px){
 .xs-reach-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;}
 .xs-reach-location img{width:105px;height:72px;}
 .xs-reach-city{font-size:12.5px;}
 .xs-reach-location small{font-size:10px;}
}
@media (max-width:700px){
 .xs-reach-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 .xs-reach-location:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;}
 .xs-footer-bottom-inner{gap:16px;}
 .xs-footer-left small{font-size:12px;line-height:1.55;}
 .xs-footer-links{gap:9px;font-size:12px;line-height:1.6;}
}
