.location-hero { padding: 30px 0 80px; color: #fff; background: radial-gradient(ellipse at 85% 70%, #350c13, #09090c 65%); }
.location-hero-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; align-items: center; }
.location-hero .eyebrow { color: #ff8c83; }
.location-hero h1 { color: #fff; font-size: clamp(3rem, 5.1vw, 5.2rem); line-height: 1.06; }
.location-hero h1 span { color: #ff756c; }
.location-intro { color: #bcbcc7; font-size: 1.06rem; line-height: 1.85; max-width: 540px; margin: 28px 0 32px; }
.location-globe { text-align: center; }
.location-globe svg { width: 100%; height: auto; max-width: 480px; }
.location-globe > span { display: block; color: #c2a7ad; font: .65rem/1.7 ui-monospace, monospace; letter-spacing: .12em; }
.globe-meridian { transform-origin: 240px 240px; transform: scaleX(.62); animation: globe-meridians 10s linear infinite paused; }
.globe-meridian-second { transform: scaleX(.25); animation-delay: -3.33s; }
.globe-meridian-third { transform: scaleX(.9); animation-delay: -6.66s; }
.globe-orbit { transform-origin: 240px 240px; animation: globe-orbit-turn 24s linear infinite paused; }
.globe-is-running .globe-meridian, .globe-is-running .globe-orbit { animation-play-state: running; }
.globe-motion-toggle { margin-top: 22px; }
.globe-connection { stroke: #ff5148; stroke-width: 1.5; stroke-opacity: .6; }
.globe-packet { stroke: #fff0ea; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 2 98; animation: globe-route-flow 5s linear infinite paused; animation-delay: var(--route-delay, 0s); }
.globe-is-running .globe-packet { animation-play-state: running; }
.globe-ph { fill: #fff; font-size: 27px; font-weight: 700; letter-spacing: .02em; }
.globe-hq { fill: #ff9a90; font: 10px ui-monospace, monospace; letter-spacing: .12em; }
.globe-country-name { fill: #f6eeef; font-size: 15px; font-weight: 500; paint-order: stroke; stroke: #130d12; stroke-width: 5px; stroke-linejoin: round; }
.location-globe .globe-network-note { max-width: 340px; margin: 14px auto 0; color: #b8a9ae; font-size: .78rem; line-height: 1.65; }
@keyframes globe-route-flow { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
@keyframes globe-meridians { 0% { transform: scaleX(1); } 50% { transform: scaleX(-1); } 100% { transform: scaleX(1); } }
@keyframes globe-orbit-turn { to { transform: rotate(360deg); } }
@media (max-width: 900px) { .globe-orbit { animation-duration: 32s; } }
@media (prefers-reduced-motion: reduce) { .globe-meridian, .globe-orbit, .globe-packet { animation: none; } .globe-packet { display: none; } }
.location-section-heading { margin-bottom: 44px; max-width: 680px; }
.location-section-heading h2 { font-size: clamp(2.4rem, 4vw, 3.6rem); line-height: 1.1; }
.location-section-heading > p:last-child { color: #61616e; line-height: 1.8; margin-top: 24px; }
.location-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.location-card { display: flex; flex-direction: column; min-width: 0; padding: 40px; border: 1px solid #dedee5; border-radius: 14px; background: #fff; }
.location-hq { border-top: 3px solid #e10600; }
.location-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 36px; }
.location-tag { color: #ac2017; font-size: .7rem; letter-spacing: .1em; font-weight: 650; }
.location-country { display: grid; place-items: center; width: 44px; height: 44px; color: #a52017; border: 1px solid #f0d3d0; border-radius: 8px; background: #fff4f2; font: .8rem ui-monospace, monospace; }
.location-card h3 { font-size: clamp(2rem, 3vw, 3rem); line-height: 1.1; }
.location-card p { color: #60606d; line-height: 1.8; }
.location-card .location-region { color: #9e231d; margin: 10px 0 24px; }
.location-card dl { margin: 28px 0; }
.location-card dl > div { border-top: 1px solid #e8e8ec; padding-block: 17px; }
.location-card dt { color: #73737f; font-size: .75rem; margin-bottom: 6px; }
.location-card dd { margin: 0; color: #30303b; font-size: .94rem; line-height: 1.7; }
.location-card dd a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
.location-card .location-visit-note { font-size: .83rem; }
.location-card-link { display: flex; align-items: center; justify-content: space-between; min-height: 52px; border-top: 1px solid #e8e8ec; margin-top: auto; padding-top: 18px; color: #ae1c14; font-size: .87rem; font-weight: 650; }
.location-card-link:hover { color: #730d09; }
@media (max-width: 900px) { .location-hero-grid { grid-template-columns: 1fr; gap: 28px; } .location-globe svg { max-width: 340px; } .location-cards { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .location-hero { padding-block: 15px 48px; } .location-hero h1 { font-size: 3.05rem; } .location-card { padding: 26px; } .location-hero .button { width: 100%; } .location-intro { font-size: 1rem; } .location-globe > span { font-size: .58rem; } }
