/* Locations only: shared header, footer and global service styles are untouched. */
.loc-page{--loc-ink:#182b36;--loc-blue:#76c7f4;--loc-red:#d80000}
.loc-page :is(h1,h2,h3){letter-spacing:-.025em}
.loc-page h2{font-size:clamp(2rem,3.8vw,3.7rem);line-height:1.12;margin:12px 0 22px}
.loc-page p{line-height:1.75}
.loc-page :is(a,button):focus-visible{outline:3px solid #d80000;outline-offset:5px}
.loc-hero{padding:34px 0 68px;background:#172a35;color:#fff;position:relative;overflow:hidden}
.loc-hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.23;background:linear-gradient(90deg,#172a35,transparent),url('/assets/images/maps/coverage-world.svg') right center/auto 140% no-repeat}
.loc-hero>.wrap{position:relative}
.loc-breadcrumb{display:flex;gap:12px;font-size:.83rem;color:#d0dde5;margin-bottom:42px}
.loc-breadcrumb a{color:inherit}
.loc-hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:64px;align-items:center}
.loc-hero .eyebrow{color:#a8d8f3}
.loc-hero h1{font-size:clamp(3rem,5.2vw,5.4rem);line-height:1.04;color:#fff;margin:20px 0 0}
.loc-hero h1 em{font-style:normal;color:#a9d8f3}
.loc-hero-intro>p:first-child{font-size:1.35rem;line-height:1.5;color:#fff}
.loc-hero-intro p{color:#d5e1e8;font-size:1rem}
.loc-hero-intro nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.loc-hero-intro a{color:#fff;border:1px solid #638092;padding:10px 15px;font-size:.94rem}
.loc-hero-intro a span{color:#8fd0f6;margin-left:12px}
.loc-map-section{padding:60px 0;background:#f1f4f5}
.loc-map-heading{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:24px}
.loc-map-heading p{color:#405661;max-width:620px}
.loc-map{background:#122733;border:1px solid #395365;color:#e5edf2;overflow:hidden}
.loc-map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 25px}
.loc-legend{display:flex;gap:24px;flex-wrap:wrap;font-size:.8rem}
.loc-legend>span{display:flex;align-items:center;gap:8px}
.loc-office-key,.loc-region-key{display:inline-block;border-radius:50%;flex-shrink:0}
.loc-office-key{width:12px;height:12px;background:#ef4040;box-shadow:0 0 0 4px #ef404020}
.loc-region-key{width:6px;height:6px;background:#79c8f5}
.loc-motion{font:inherit;font-size:.8rem;color:#fff;background:transparent;border:1px solid #86a7bb;padding:10px 14px;cursor:pointer;white-space:nowrap}
.loc-motion[hidden]{display:none}
.loc-network{display:block;width:100%;height:auto;max-height:470px}
.loc-wire{fill:none;stroke:#659dbd;stroke-width:1.2;opacity:.65}
.loc-signal{fill:none;stroke:#a0e0ff;stroke-width:2;stroke-dasharray:20 980;opacity:.9}
.loc-region{fill:#7dcef6;stroke:#173b50;stroke-width:1}
.loc-office{fill:#ef4040;stroke:#ffc3c3;stroke-width:1.2}
.loc-pulse{fill:none;stroke:#ef4040;stroke-width:1;opacity:.45;transform-box:fill-box;transform-origin:center}
.loc-map.loc-motion-ready .loc-signal{animation:loc-travel 7s linear infinite;animation-delay:var(--delay);animation-direction:var(--direction)}
.loc-map.loc-motion-ready .loc-pulse{animation:loc-pulse 5s ease-out infinite}
.loc-map.loc-paused :is(.loc-signal,.loc-pulse){animation-play-state:paused}
.loc-map-label path{stroke:#9db2bf;stroke-width:.8;fill:none}
.loc-map-label text{fill:#fff;font-family:var(--body);font-size:12px;font-weight:650;letter-spacing:.8px;text-anchor:middle}
.loc-office-links{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #365162}
.loc-office-links a{color:#fff;display:grid;grid-template-columns:12px 1fr;gap:5px 14px;padding:20px 25px;border-right:1px solid #365162;text-decoration:none}
.loc-office-links a:last-child{border-right:0}
.loc-office-links .loc-office-key{align-self:center;grid-row:span 2}
.loc-office-links strong{font-size:1.12rem}
.loc-office-links a>span:last-child{font-size:.85rem;color:#b9cbd7}
.loc-map-note{max-width:none;font-size:.78rem;color:#bed0dc;margin:0;padding:16px 25px;border-top:1px solid #365162}
.loc-map :focus-visible{outline-color:#a0e0ff}
.loc-regions{display:flex;gap:20px;align-items:center;margin-top:25px}
.loc-regions>span{font-size:.75rem;letter-spacing:.08em;color:#405763;max-width:150px}
.loc-regions ul{display:flex;list-style:none;flex-wrap:wrap;gap:9px;padding:0;margin:0}
.loc-regions li{font-size:.85rem;border:1px solid #ccd7dd;background:#fff;padding:7px 12px;color:#273f4e}
.loc-offices{padding-top:20px;padding-bottom:20px}
.loc-office-section{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center;padding:65px 0;border-bottom:1px solid #d9e0e4;scroll-margin-top:120px}
.loc-office-section:last-child{border-bottom:0}
.loc-office-section.loc-reverse{grid-template-columns:1fr 1.1fr}
.loc-reverse .loc-photo{order:2}
.loc-photo{margin:0;min-width:0}
.loc-photo picture,.loc-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2}
.loc-photo picture{background:#d8e0e5;overflow:hidden}
.loc-photo img{object-fit:cover}
.loc-photo figcaption{color:#596b76;font-size:.73rem;margin-top:10px;line-height:1.5}
.loc-office-copy h2{font-size:clamp(3.2rem,6vw,5.4rem);margin:10px 0 3px}
.loc-country{font-size:1rem;color:#516775;margin:0 0 22px}
.loc-office-copy h3{font-size:1.6rem;color:#233e50;line-height:1.2;margin:0 0 20px}
.loc-office-copy>p:not(.loc-country){color:#405661;font-size:.95rem;margin:0 0 17px}
.loc-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:24px 0}
.loc-tags li{padding:7px 10px;background:#f0f3f5;border-left:2px solid #d80000;color:#3a5060;font-size:.75rem}
.loc-delivery{background:#172a35;color:#fff;padding:64px 0}
.loc-delivery .eyebrow{color:#a0d5f4}
.loc-delivery h2{color:#fff}
.loc-process{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:35px 0}
.loc-process article{border-top:1px solid #6a8d9f;padding-top:22px}
.loc-process article>span{color:#9fd8fa;font-size:.8rem;font-weight:650}
.loc-process h3{color:#fff;font-size:1.6rem;line-height:1.2;margin:15px 0}
.loc-process p{color:#c7d8e3;font-size:.9rem;margin:0}
.loc-delivery-note{font-size:.82rem;color:#b8ccda;padding-top:22px;border-top:1px solid #456171}
.loc-services{padding:65px 0;background:#f4f6f7}
.loc-services> .wrap>p{color:#435b69;max-width:930px}
.loc-service-table{width:100%;border-collapse:collapse;margin-top:26px;background:#fff;table-layout:fixed}
.loc-service-table caption{text-align:left;padding:0 0 14px;font-size:.83rem;color:#435b69}
.loc-service-table th,.loc-service-table td{border-bottom:1px solid #d9e2e7;padding:14px 20px;text-align:center}
.loc-service-table th:first-child{text-align:left;width:46%}
.loc-service-table thead{background:#233c4c;color:#fff}
.loc-service-table thead th{font-weight:600;font-size:.92rem}
.loc-service-table tbody th{font-size:.95rem;font-weight:500}
.loc-service-table a{color:#243e4f;text-underline-offset:4px}
.loc-service-table td>span[aria-hidden]{color:#b60000;font-size:1.15rem}
.loc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.loc-contact{padding:58px 0;background:#fff}
.loc-contact>.wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}
.loc-contact h2{margin-bottom:12px}
.loc-contact p{font-size:1.3rem;color:#4e626e;margin:0}
@keyframes loc-travel{to{stroke-dashoffset:-1000}}
@keyframes loc-pulse{0%{transform:scale(1);opacity:.55}35%{transform:scale(2.6);opacity:0}100%{transform:scale(2.6);opacity:0}}
@media(max-width:1100px){.loc-hero-grid{gap:35px}.loc-office-section{gap:30px}.loc-process{grid-template-columns:repeat(2,1fr)}.loc-office-copy h3{font-size:1.4rem}.loc-map-heading{gap:30px}}
@media(max-width:800px){.loc-hero-grid,.loc-map-heading,.loc-office-section,.loc-office-section.loc-reverse{grid-template-columns:1fr}.loc-hero{padding-bottom:42px}.loc-hero h1{font-size:clamp(2.6rem,8vw,4.4rem)}.loc-hero-grid{gap:22px}.loc-breadcrumb{margin-bottom:26px}.loc-hero-intro>p:first-child{font-size:1.2rem}.loc-map-section{padding:38px 0}.loc-map-heading{gap:0}.loc-reverse .loc-photo{order:0}.loc-office-section{padding:38px 0;gap:25px}.loc-office-copy h2{font-size:3.6rem}.loc-regions{align-items:start;flex-direction:column;gap:12px}.loc-regions>span{max-width:none}.loc-services,.loc-delivery{padding:42px 0}.loc-map-toolbar{align-items:start;flex-direction:column}.loc-office-links a{padding:16px 12px;gap:5px 9px}.loc-office-links strong{font-size:1rem}.loc-office-links a>span:last-child{font-size:.72rem}}
@media(max-width:480px){.loc-hero h1{font-size:2.6rem}.loc-hero-intro a{padding:10px 12px}.loc-map-toolbar{padding:18px}.loc-network{min-height:205px}.loc-map-label{display:none}.loc-office-links{grid-template-columns:1fr}.loc-office-links a{border-right:0;border-bottom:1px solid #365162;grid-template-columns:12px 1fr 1fr;padding:15px 18px;align-items:center}.loc-office-links .loc-office-key{grid-row:auto}.loc-office-links a>span:last-child{text-align:right;font-size:.85rem}.loc-map-note{padding:15px 18px}.loc-process{grid-template-columns:1fr;gap:24px}.loc-service-table th,.loc-service-table td{padding:13px 7px}.loc-service-table th:first-child{width:43%}.loc-service-table thead th{font-size:.76rem}.loc-service-table tbody th{font-size:.8rem}.loc-contact>.wrap{align-items:start;flex-direction:column}.loc-country{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){.loc-map.loc-motion-ready :is(.loc-signal,.loc-pulse){animation:none}.loc-pulse{opacity:.3}}
@media(forced-colors:active){.loc-wire,.loc-map-label path{stroke:CanvasText}.loc-node{fill:CanvasText}.loc-office{stroke:Highlight}.loc-office-key,.loc-region-key{background:CanvasText}}
/* Map-only mobilisation trails; office/page layouts remain unchanged. */
.loc-map .loc-wire{stroke:#65b8df;opacity:.65}
.loc-map :is(.loc-glow,.loc-traveller,.loc-signal){fill:none;stroke-linecap:round;opacity:0;stroke:#70d2ff;stroke-dasharray:65 935}
.loc-map .loc-glow{stroke-width:6;stroke:#279fd8}
.loc-map .loc-traveller{stroke:#edfaff;stroke-width:2.8;stroke-dasharray:5 995}
.loc-map .loc-signal{stroke-width:2}
.loc-map.loc-motion-ready :is(.loc-glow,.loc-traveller,.loc-signal){animation:loc-deploy 14s linear infinite;animation-delay:var(--delay);animation-direction:var(--direction)}
.loc-map.loc-motion-ready .loc-glow{animation-name:loc-halo}
.loc-map.loc-motion-ready .loc-pulse{animation-delay:var(--pulse-delay);animation-duration:6s}
.loc-map .loc-service-pulse{stroke:#70d2ff;stroke-width:1}
.loc-map.loc-paused :is(.loc-glow,.loc-traveller,.loc-signal,.loc-pulse){animation-play-state:paused}
@keyframes loc-deploy{0%{stroke-dashoffset:80;opacity:0}5%{opacity:1}58%{stroke-dashoffset:-1000;opacity:1}64%,100%{stroke-dashoffset:-1000;opacity:0}}
@keyframes loc-halo{0%{stroke-dashoffset:80;opacity:0}5%{opacity:.19}58%{stroke-dashoffset:-1000;opacity:.19}64%,100%{stroke-dashoffset:-1000;opacity:0}}
@media(max-width:700px){.loc-map .loc-route:nth-of-type(even) :is(.loc-glow,.loc-traveller,.loc-signal){animation:none;opacity:0}.loc-map .loc-service-pulse{animation:none!important;opacity:.25}}
@media(prefers-reduced-motion:reduce){.loc-map :is(.loc-glow,.loc-traveller,.loc-signal,.loc-pulse){animation:none!important}.loc-map :is(.loc-glow,.loc-traveller,.loc-signal){opacity:0}.loc-map .loc-pulse{opacity:.3}}
