/* Company map and directory, scoped to the new page. */
.company-map-page { background:#031b2d; color:#edf5fb; }
.atlas-main { background:radial-gradient(ellipse at 95% 0,#06455a66,transparent 32%),#031b2d; font-family:"Plus Jakarta Sans",sans-serif; }
.atlas-container { width:min(1360px,calc(100% - 64px)); margin-inline:auto; }
.atlas-hero { padding:28px 0 52px; border-bottom:1px solid #24475d; }
.atlas-breadcrumb { display:flex; gap:12px; align-items:center; color:#b3cad7; font-size:12px; margin-bottom:34px; }
.atlas-breadcrumb a { color:#91b3c6; text-decoration:none; }
.atlas-hero-row { display:grid; grid-template-columns:1fr 300px; gap:60px; align-items:center; }
.atlas-main .atlas-eyebrow { display:block; margin:0 0 12px; color:#ff9b56; font-size:10px; letter-spacing:.12em; font-weight:700; line-height:1.6; }
.atlas-main h1 { color:#f2f8ff; font-size:clamp(34px,3.8vw,54px); letter-spacing:-.035em; line-height:1.18; margin:0 0 20px; font-weight:750; }
.atlas-main h1 span { color:#00bce4; }
.atlas-lead { color:#b4cbd9; font-size:16px; line-height:1.9; max-width:750px; margin:0; }
.atlas-hero-facts { display:grid; gap:14px; padding:26px; border:1px solid #2c6178; border-radius:16px; background:#0a3047; }
.atlas-hero-facts > span { display:flex; align-items:baseline; gap:10px; font-size:12px; color:#abc8d8; }
.atlas-hero-facts strong { color:#d7f6ff; font-size:23px; }
.atlas-hero-facts a { border-top:1px solid #285268; padding-top:16px; color:#80d9ef; font-size:13px; }
.atlas-explorer-section,.atlas-directory-section,.atlas-website-section { padding:56px 0; scroll-margin-top:130px; }
.atlas-section-heading { display:flex; align-items:end; justify-content:space-between; gap:36px; margin-bottom:26px; }
.atlas-main h2 { margin:0; color:#edf6ff; font-size:clamp(25px,2.5vw,34px); line-height:1.3; font-weight:700; letter-spacing:-.025em; }
.atlas-section-heading > p { max-width:390px; color:#aac4d5; font-size:13px; line-height:1.8; margin:0; }
.atlas-explorer { display:grid; grid-template-columns:310px minmax(0,1fr); gap:20px; align-items:stretch; }
.atlas-selector { padding:20px; min-width:0; border:1px solid #2b536b; border-radius:16px; background:#06263c; }
.atlas-selector label { display:block; color:#cde2ed; font-size:12px; margin-bottom:8px; }
.atlas-selector input { width:100%; padding:12px; border:1px solid #356179; border-radius:8px; background:#0a3048; color:white; font:inherit; font-size:12px; }
.atlas-selector input::placeholder { color:#95b3c4; }
.atlas-country-filters { display:flex; gap:8px; margin-top:14px; }
.atlas-country-filters button { padding:8px 13px; border:1px solid #36617a; border-radius:999px; color:#c9e0ee; background:#0b3047; font:inherit; font-size:11px; cursor:pointer; }
.atlas-country-filters button[aria-pressed="true"] { background:#00bce4; color:#042134; border-color:#00bce4; }
.atlas-result-count { color:#91b1c4; font-size:11px; margin:16px 0 10px; }
.atlas-location-options { display:grid; gap:8px; max-height:550px; overflow:auto; padding:2px 4px 3px 2px; scrollbar-width:thin; scrollbar-color:#36758e #082a40; }
.atlas-location-option { display:grid; grid-template-columns:24px minmax(0,1fr) 12px; align-items:center; gap:10px; width:100%; padding:13px 10px; border:1px solid #244f66; border-radius:9px; background:#0a2e44; color:#edf6fc; font:inherit; text-align:left; cursor:pointer; }
.atlas-option-index { color:#73d3ea; font-size:10px; }
.atlas-location-option strong { display:block; color:inherit; font-size:12px; line-height:1.5; }
.atlas-location-option small { display:block; color:inherit; opacity:.75; font-size:10px; line-height:1.6; margin-top:3px; }
.atlas-location-option[aria-pressed="true"] { border-color:#ff9754; box-shadow:inset 3px 0 #ff8024; }
.atlas-map-panel { min-width:0; border:1px solid #2b5e75; border-radius:16px; overflow:hidden; background:#082a40; }
.atlas-map-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 22px; }
.atlas-map-heading .atlas-eyebrow { margin-bottom:6px; }
.atlas-main .atlas-map-heading h3 { margin:0; font-size:23px; line-height:1.4; color:#eff8ff; }
.atlas-map-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; flex-shrink:0; padding:10px 12px; border:1px solid #376c83; border-radius:8px; background:#104159; color:#d8f6ff; font:inherit; font-size:11px; font-weight:650; line-height:1.5; text-decoration:none; cursor:pointer; }
.atlas-map-frame { height:360px; background:#153c4b; }
.atlas-map-frame iframe { display:block; width:100%; height:100%; border:0; }
.atlas-map-status { margin:0; padding:11px 22px; border-bottom:1px solid #285168; color:#93bbce; font-size:10px; line-height:1.8; }
.atlas-map-info { padding:20px 22px 24px; }
.atlas-map-info > p { margin:0 0 12px; color:#acc8d8; font-size:13px; line-height:1.9; }
.atlas-map-info .atlas-selected-address { color:#eef8ff; font-size:14px; }
.atlas-map-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:20px; }
.atlas-main .atlas-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:12px 16px; min-height:44px; border:1px solid #ff9a55; border-radius:8px; background:#ff8024; color:white; font-size:12px; font-weight:700; line-height:1.5; text-decoration:none; }
.atlas-main .atlas-button-secondary { border-color:#34718b; background:#0d3c55; color:#d5f4ff; }
.atlas-text-link { color:#85d9ed; font-size:12px; text-decoration:none; }
.atlas-directory-section { background:#052237; border-block:1px solid #21495f; }
.atlas-directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.atlas-location-card { min-width:0; padding:26px; border:1px solid #31556c; border-radius:16px; background:linear-gradient(140deg,#0b3047,#07263b); scroll-margin-top:140px; }
.atlas-card-heading { display:flex; align-items:center; gap:14px; margin-bottom:20px; }
.atlas-card-heading > div { flex:1; min-width:0; }
.atlas-card-number { display:grid; place-items:center; flex:0 0 36px; height:36px; border-radius:9px; color:#6cd9ee; background:#0d4359; font-size:11px; }
.atlas-card-heading .atlas-eyebrow { color:#91bfd2; margin:0 0 5px; font-size:9px; }
.atlas-main .atlas-card-heading h3 { color:#eff7fd; font-size:20px; line-height:1.4; margin:0; }
.atlas-address { color:#deedf5; font-size:14px; line-height:1.85; margin:0 0 14px; }
.atlas-location-summary { color:#afc8d7; font-size:13px; line-height:1.9; margin:0 0 22px; }
.atlas-main .atlas-location-card h4 { color:#d3e9f5; font-size:12px; line-height:1.7; margin:0 0 12px; }
.atlas-services { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:0 0 22px; }
.atlas-services li { background:#103c51; border:1px solid #2b566b; border-radius:6px; padding:6px 9px; color:#b4e5f1; font-size:10px; line-height:1.5; }
.atlas-contact-details { display:flex; flex-direction:column; gap:8px; padding-top:18px; border-top:1px solid #2c5065; }
.atlas-contact-details a { align-self:start; color:#a9d9ec; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.atlas-visit-note { color:#dfb18b; font-size:11px; line-height:1.8; margin:18px 0; }
.atlas-card-actions { display:flex; flex-wrap:wrap; gap:10px; }
.atlas-additional-heading { margin-top:52px; }
.atlas-source-panel { padding:24px; margin-top:28px; border:1px solid #5f5447; border-radius:12px; background:#302c29; }
.atlas-source-panel strong { color:#ffe1c8; font-size:14px; }
.atlas-source-panel p { margin:10px 0; color:#d4bfad; font-size:12px; line-height:1.9; }
.atlas-source-panel a { color:#ffd4af; font-size:12px; }
.atlas-website-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.atlas-website-grid nav { display:flex; flex-direction:column; gap:14px; padding:26px; border:1px solid #2d566e; border-radius:14px; background:#082b41; }
.atlas-main .atlas-website-grid h3 { color:#f1f8fe; font-size:19px; margin:0 0 8px; }
.atlas-website-grid a { display:flex; justify-content:space-between; gap:14px; color:#b3d8e8; font-size:12px; line-height:1.8; }
.atlas-website-grid a:hover { color:#ff9d59; }
.atlas-main [hidden] { display:none !important; }
.atlas-main :is(a,button,input):focus-visible { outline:2px solid #00bce4; outline-offset:4px; }
.atlas-no-results { padding:16px 4px; color:#aac5d5; font-size:12px; }
@media (max-width:1050px) { .atlas-explorer { grid-template-columns:260px minmax(0,1fr); } .atlas-hero-row { grid-template-columns:1fr 260px; gap:28px; } .atlas-card-heading { flex-wrap:wrap; } .atlas-card-heading .atlas-map-button { margin-left:50px; } }
@media (max-width:850px) { .atlas-hero-row,.atlas-explorer { grid-template-columns:1fr; } .atlas-hero-facts { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:center; gap:18px; } .atlas-hero-facts > span { display:block; } .atlas-hero-facts strong { display:block; font-size:21px; } .atlas-hero-facts a { padding:0; border:0; } .atlas-location-options { grid-template-columns:repeat(2,minmax(0,1fr)); max-height:270px; } .atlas-section-heading { align-items:start; flex-direction:column; gap:18px; } .atlas-section-heading > p { max-width:650px; } .atlas-directory-grid { grid-template-columns:1fr; } .atlas-website-grid { grid-template-columns:1fr; } }
@media (max-width:600px) { .atlas-container { width:calc(100% - 36px); } .atlas-hero { padding:24px 0 36px; } .atlas-hero-facts { padding:20px; gap:14px; } .atlas-hero-facts strong { font-size:17px; } .atlas-hero-facts > span { font-size:10px; } .atlas-hero-facts a { font-size:11px; } .atlas-lead { font-size:14px; } .atlas-explorer-section,.atlas-directory-section,.atlas-website-section { padding:38px 0; } .atlas-location-options { grid-template-columns:1fr; max-height:260px; } .atlas-selector { padding:16px; } .atlas-map-heading { padding:18px 16px; flex-wrap:wrap; } .atlas-main .atlas-map-heading h3 { font-size:21px; } .atlas-map-frame { height:300px; } .atlas-map-info { padding:18px 16px; } .atlas-map-status { padding:10px 16px; } .atlas-location-card { padding:20px; } .atlas-card-heading .atlas-map-button { margin-left:0; } .atlas-card-heading .atlas-eyebrow { font-size:8px; } .atlas-card-number { flex-basis:30px; height:32px; } .atlas-main .atlas-card-heading h3 { font-size:18px; } .atlas-address { font-size:13px; } .atlas-card-actions { flex-direction:column; } .atlas-source-panel { padding:20px; } }
@media (prefers-reduced-motion:no-preference) { .atlas-main :is(a,button) { transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease; } }
.atlas-main :is(a,button) svg { display:inline-block; width:14px; height:14px; flex-shrink:0; vertical-align:middle; }
.atlas-location-option > span:last-child { display:flex; }
.atlas-pin-badge { display:inline-flex; margin-top:9px; padding:4px 8px; border:1px solid #31748a; border-radius:5px; color:#a1e9f7; background:#0b4053; font-size:10px; line-height:1.6; }
.atlas-listing-link { display:inline-flex; align-items:center; gap:7px; color:#79d7ed; font-size:11px; text-decoration:none; margin-top:2px; }
.atlas-listing-link:hover { color:#ffab72; }
