/* One shared container edge for the header and every page section. */
:root{--page-gutter:clamp(20px,5vw,90px);--page-width:1800px}
.header,.hero,.section,.footer{max-width:var(--page-width);margin-left:auto;margin-right:auto;padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.hero-copy{max-width:none;margin-left:0;margin-right:0}
.hero-visual{margin-left:0;margin-right:0}

/* A single business network, with equal treatment for all countries. */
.reach .map-layout{grid-template-columns:minmax(0,2.6fr) minmax(250px,1fr);gap:6%;align-items:center}
.reach .map-wrap{aspect-ratio:300/170;width:100%;margin-left:0;isolation:isolate}
.business-map{display:block;width:100%;height:100%;opacity:.8}
.reach .map-sidebar{min-width:0}
.market-heading{font-size:18px;line-height:1.35;letter-spacing:-.015em;margin:0 0 20px}
.reach #country-list{display:flex;flex-direction:column;gap:0}
.reach .country{padding:17px 0;border-bottom:1px solid var(--line);font-size:18px;align-items:center;min-height:56px}
.reach .country[aria-pressed=true]{color:var(--action);font-weight:500}
.reach .country[aria-pressed=true]::before{display:none}
.reach .country[aria-pressed=true]::after{content:'';width:17px;height:17px;flex:0 0 17px;background:var(--action);mask:url('assets/arrow-up-right.svg') center/contain no-repeat}
.reach #market-detail{border-top:0;margin-top:20px;padding-top:0;font-size:14px;line-height:1.6;min-height:45px;color:var(--muted)}
.reach .map-pin{width:40px;height:40px;z-index:1}
.reach .map-pin::after{width:10px;height:10px}
.reach .map-pin[aria-pressed=true]{z-index:2}
.pin-label{position:absolute;bottom:calc(100% + 2px);left:50%;transform:translateX(-50%);background:#fff;padding:7px 10px;font-size:12px;line-height:1.25;white-space:nowrap;color:var(--action);border:1px solid var(--line);pointer-events:none;opacity:0;transition:opacity .2s}
.map-pin[aria-pressed=true] .pin-label,.map-pin:hover .pin-label,.map-pin:focus-visible .pin-label{opacity:1}
@media(max-width:1100px){.reach .map-layout{gap:4%;grid-template-columns:minmax(0,1.8fr) minmax(220px,1fr)}}
@media(max-width:767px){
 .header nav{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
 .reach .map-layout{display:block}
 .reach .map-sidebar{margin-top:28px}
 .reach .country{font-size:17px;padding:15px 0;min-height:52px}
 .reach .map-pin{width:36px;height:36px}
 .pin-label{font-size:11px;padding:6px 8px}
}
