/* Masephula Logistics Transport and Services — HTML/CSS/vanilla JS */
:root{--ink:#171b1e;--ink2:#23292d;--gold:#e6ad3d;--goldlight:#f3c86b;--muted:#647078;--border:#e3e6e4;--paper:#f5f5f1;--white:#fff;--max:1250px;--head:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;--body:'DM Sans',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;font-family:var(--body);font-size:14px;line-height:1.8;color:var(--ink);background:#fff;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--head);line-height:1.04;font-weight:800;margin:0 0 20px;text-transform:uppercase}h1{font-size:clamp(52px,7.3vw,116px)}h2{font-size:clamp(42px,5vw,72px)}h3{font-size:29px}h1 em,h2 em{font-style:normal;color:var(--gold)}p{color:var(--muted);margin:0 0 20px;line-height:1.92}.container{width:min(var(--max),calc(100% - 56px));margin-inline:auto}.section{padding:108px 0}.offwhite{background:var(--paper)}.dark-section{background:var(--ink);color:#fff}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.skip-link{position:absolute;top:-80px;left:12px;z-index:2500;padding:12px 20px;color:#000;background:var(--gold)}.skip-link:focus{top:12px}.eyebrow{display:inline-flex;align-items:center;gap:10px;letter-spacing:2.5px;font-size:10px;font-weight:800;color:#a87821;text-transform:uppercase}.eyebrow::before{content:'';height:2px;width:24px;background:currentColor}.eyebrow.gold{color:var(--goldlight)}.section-heading{margin-bottom:46px;max-width:820px}.section-heading h2{margin:15px 0 20px}.section-heading p{max-width:630px}.button{min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:24px;text-transform:uppercase;font-size:11px;letter-spacing:.55px;font-weight:800;padding:14px 23px;border:1px solid transparent;transition:background .22s,transform .22s}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--gold);color:var(--ink)}.button-gold:hover{background:var(--goldlight)}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#394247}.button-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.8)}.button-outline:hover{background:#fff;color:var(--ink)}.button span{font-size:17px}.small-link,.underlined{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:#986d1d}.small-link b{margin-left:10px;font-size:16px}.underlined{border-bottom:2px solid var(--gold);padding-bottom:8px}.underlined span{font-size:17px;margin-left:14px}.topline{background:#101314;color:#aab1b3;font-weight:800;font-size:9px;letter-spacing:1.8px}.topline-inner{height:33px;display:flex;align-items:center;justify-content:space-between}.site-header{background:var(--ink);color:white;position:sticky;top:0;z-index:1000;box-shadow:0 7px 20px #00000018}.navbar{min-height:83px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:inline-flex;gap:13px;align-items:center;flex:none}.brand img{width:50px;height:50px;object-fit:contain}.brand span{display:flex;flex-direction:column;gap:2px;min-width:0}.brand strong{font-family:var(--head);font-weight:900;font-size:32px;letter-spacing:1.3px;line-height:1}.brand small{font-size:7.5px;font-weight:800;letter-spacing:1.14px;color:#b8c1c5;line-height:1.5}.nav-links{display:flex;gap:18px;align-items:center;font-size:11px;font-weight:800}.nav-links>a:not(.nav-button),.nav-more summary{white-space:nowrap;color:#e1e4e4;transition:color .2s;cursor:pointer}.nav-links>a:hover,.nav-links>a[aria-current=page],.nav-more summary:hover{color:var(--gold)}.nav-button{background:var(--gold);color:var(--ink);padding:15px 17px;white-space:nowrap}.nav-button:hover{background:var(--goldlight)}.nav-button span{margin-left:8px}.nav-more{position:relative}.nav-more summary{list-style:none}.nav-more summary::-webkit-details-marker{display:none}.dropdown-menu{position:absolute;top:27px;right:0;min-width:260px;background:#2a3033;padding:10px;border-top:3px solid var(--gold);box-shadow:0 15px 35px #0005}.dropdown-menu a{display:block;padding:11px;color:#f3f5f5;font-size:11px}.dropdown-menu a:hover{background:#3a4346;color:var(--gold)}.hamburger{display:none;min-width:44px;height:43px;background:transparent;border:1px solid #ffffff65;padding:9px}.hamburger span{width:23px;height:2px;background:white;display:block;margin:5px auto}
/* Photographic hero */
.home-hero{height:calc(100svh - 116px);min-height:605px;max-height:850px;background:#181d1f;position:relative;isolation:isolate;overflow:hidden}.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 850ms ease,visibility 850ms ease;pointer-events:none}.slide.active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}.slide-picture,.subhero-photo{position:absolute;inset:0}.photo-cover{width:100%;height:100%;object-fit:cover;object-position:center;background:#2a3235}.slide .photo-cover{transition:transform 8s ease;transform:scale(1.02)}.slide.active .photo-cover{transform:scale(1.09)}.hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,13,15,.93) 0%,rgba(9,13,15,.75) 38%,rgba(9,13,15,.16) 100%);pointer-events:none}.slide-text{height:100%;position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;color:#fff;padding-bottom:48px}.slide-text h1{margin:22px 0 24px;max-width:940px;letter-spacing:-1.5px;font-size:clamp(64px,8vw,126px)}.slide-text p{max-width:585px;font-size:16px;color:#e3e6e7;margin-bottom:30px}.hero-actions{display:flex;flex-wrap:wrap;gap:13px}.slide-navigation{z-index:5;position:absolute;left:max(calc((100% - var(--max))/2),28px);bottom:29px;display:flex;align-items:center;gap:9px}.slide-navigation>button{background:#13171988;color:white;border:1px solid #ffffff70;width:40px;height:40px;font-size:17px}.slide-navigation>button:hover{background:var(--gold);color:var(--ink)}.dots{display:flex;align-items:center;gap:6px;margin:0 10px}.dots button{width:22px;height:4px;border:0;background:#ffffff8c;padding:0}.dots button[aria-current=true]{width:36px;background:var(--gold)}.hero-vertical{position:absolute;z-index:5;right:10px;top:47%;transform:rotate(90deg) translateX(50%);transform-origin:right;font-size:9px;letter-spacing:3px;font-weight:800;color:#eeefef}.gold-strip{background:var(--gold);color:var(--ink);text-align:center;font-size:13px;font-family:var(--head);font-weight:800;letter-spacing:1.7px;padding:20px}.gold-strip span{padding:0 35px;color:#826020}.subhero{height:480px;position:relative;background:#252d30;color:#fff;display:flex;align-items:center;overflow:hidden}.subhero-content{z-index:1;position:relative}.subhero h1{max-width:1020px;font-size:clamp(56px,6.8vw,100px);letter-spacing:-.6px;margin:20px 0}.subhero p{max-width:650px;color:#e1e5e6;font-size:16px}.accent-rule{width:77px;height:4px;background:var(--gold);margin-top:27px}
/* Layout blocks */
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.copy-block h2{margin:18px 0 25px}.copy-block p{font-size:14px;line-height:2}.copy-block strong{color:var(--ink)}.copy-block .button{margin-top:16px}.photo-composition,.picture-frame,.about-photo,.dark-photo{position:relative;min-height:460px}.photo-composition .photo-cover,.picture-frame .photo-cover,.about-photo .photo-cover,.dark-photo .photo-cover{position:absolute;inset:0}.year-stamp{position:absolute;right:-23px;bottom:-23px;background:var(--gold);padding:20px 25px;display:flex;flex-direction:column;min-width:172px;color:var(--ink)}.year-stamp strong{font-size:62px;line-height:.92;font-family:var(--head)}.year-stamp span{font-size:10px;letter-spacing:1px;font-weight:900;line-height:1.4}.section-action{text-align:right;margin-top:35px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.service-card{display:block;background:white;border:1px solid var(--border);transition:transform .3s,box-shadow .3s}.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 45px #18212520}.service-card-img{height:238px;position:relative;overflow:hidden}.service-card-img img{transition:transform .5s}.service-card:hover .service-card-img img{transform:scale(1.06)}.service-index{position:absolute;bottom:0;left:0;background:var(--gold);font-family:var(--head);font-size:27px;font-weight:900;padding:4px 18px;line-height:1.5}.service-card-body{padding:29px 27px 30px}.service-card h3{font-size:31px;margin:0 0 12px}.service-card p{font-size:13px;min-height:74px}.image-spotlight{height:610px;position:relative;display:flex;align-items:center;color:#fff;background:var(--ink);overflow:hidden}.image-spotlight>.photo-cover{position:absolute;inset:0}.spot-content{z-index:1;position:relative;padding-top:60px;padding-bottom:60px}.spot-content h2{font-size:clamp(57px,7.4vw,106px);margin:24px 0}.spot-content p{max-width:540px;color:#e0e4e5;font-size:15px}.spot-content .button{margin-top:12px}.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);background:var(--border);gap:1px;border:1px solid var(--border)}.industry-tile{position:relative;min-height:258px;background:#fff;padding:32px;transition:background .2s}.industry-tile:hover{background:var(--paper)}.industry-tile span{font-family:var(--head);font-size:18px;color:#a17a2e;letter-spacing:.5px;font-weight:800}.industry-tile h3{font-size:31px;margin:31px 0 10px}.industry-tile p{font-size:12px;margin:0;max-width:240px}.industry-tile b{position:absolute;right:25px;top:25px;color:#9b7527;font-size:22px}.dark-section h2{color:white}.dark-section p{color:#b3bec0}.dark-section .dark-photo{min-height:540px}.principle-list{margin-top:32px}.principle-list>div{padding:15px 0;border-top:1px solid #ffffff2f;display:flex;gap:23px;align-items:center}.principle-list>div:last-child{border-bottom:1px solid #ffffff2f}.principle-list b{font-family:var(--head);color:var(--gold);font-size:22px}.principle-list strong{font-weight:600;color:white;font-size:13px}
/* Map */
.map-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:24px;align-items:stretch}.map-frame{background:#e8eeed;border:1px solid #cbd4d4;min-height:485px}.coverage-map{height:100%;min-height:485px;width:100%;position:relative;z-index:0}.map-offline{height:100%;min-height:485px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;background:#e7ece9;text-align:center}.map-fallback-title{font-family:var(--head);font-size:28px;font-weight:800;letter-spacing:1.2px}.map-offline svg{width:100%;max-height:310px}.map-offline p{font-size:11px}.map-aside{padding:40px 34px;background:var(--ink2);color:white}.map-aside h3{font-size:43px;margin:20px 0}.map-aside p{font-size:13px;color:#c0c9ca}.map-aside .small-link{color:var(--goldlight)}.map-legend{margin:29px 0;padding:18px 0;border-top:1px solid #ffffff35;border-bottom:1px solid #ffffff35}.map-legend span{display:flex;gap:12px;align-items:center;font-size:11px;color:#e5ebec;margin:10px 0}.legend-dot{width:12px;height:12px;border-radius:50%;display:inline-block;flex:none}.legend-dot.local{background:var(--gold)}.legend-dot.regional{background:#3988b6}.map-aside .small-disclaimer{font-size:11px;color:#aebabc;line-height:1.7}.province-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:24px}.province-grid>div{padding:15px;background:var(--paper);border:1px solid var(--border);font-size:12px;font-weight:700}.province-grid span{font-family:var(--head);font-size:18px;color:#b18020;margin-right:14px}.mini-heading{font-size:26px;margin:55px 0 15px}
/* Interior content */
.photo-note{position:absolute;bottom:0;right:0;padding:18px 24px;background:var(--gold);color:var(--ink);font-size:11px;font-weight:700;letter-spacing:1px}.photo-note strong{font-family:var(--head);font-size:22px;letter-spacing:0}.card-two{display:grid;grid-template-columns:1fr 1fr;gap:26px}.value-panel{padding:47px;background:white;border-left:4px solid var(--gold)}.value-panel h3{font-size:45px;margin-top:20px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.value-item{padding:31px;background:var(--paper);border-bottom:3px solid transparent}.value-item:hover{border-bottom-color:var(--gold)}.value-item>span{font-family:var(--head);font-size:25px;font-weight:800;color:#a27c2b}.value-item h3{margin:25px 0 10px}.value-item p{font-size:13px}.industry-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.industry-detail{padding:36px;border:1px solid var(--border);display:flex;gap:24px}.industry-detail>span{font-family:var(--head);font-weight:800;font-size:34px;color:#aa802d}.industry-detail h3{margin:5px 0 12px}.industry-detail p{font-size:13px}.capability-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.capability{border:1px solid var(--border)}.cap-img{height:275px;position:relative}.cap-content{padding:29px}.cap-content p{font-size:13px}.notice{background:#fff5da;border-left:4px solid var(--gold);padding:21px 25px;margin:34px 0;color:#614f2e;font-size:13px}.breadcrumbs{font-size:12px;display:flex;gap:15px;align-items:center;margin-bottom:65px;color:#747e82}.breadcrumbs a:hover{color:#9a7627}.mini-card-grid,.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.mini-card{background:white;padding:30px 24px;border-top:3px solid var(--gold);min-height:195px}.mini-card span,.steps-grid span{font-family:var(--head);color:#a7802d;font-size:19px;font-weight:800}.mini-card h3{font-size:24px;margin-top:28px;line-height:1.17}.steps-grid>div{padding:20px 25px;border-left:3px solid var(--gold);background:var(--paper)}.steps-grid h3{font-size:24px;margin:18px 0 6px}
/* Contact and forms */
.contact-top{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);align-items:start;gap:72px}.contact-lead h2{margin:20px 0}.contact-lead p{font-size:14px}.contact-note{border-top:1px solid var(--border);margin-top:48px;padding-top:24px}.contact-note span{font-size:10px;font-weight:800;letter-spacing:1px;color:#977022}.contact-note p{font-size:12px}.contact-form{padding:42px;background:white;border:1px solid var(--border);box-shadow:0 18px 52px #1922260b}.form-head{padding-bottom:23px;border-bottom:1px solid var(--border);margin-bottom:29px}.form-head h2{font-size:47px;margin:14px 0 8px}.form-head p{font-size:12px;margin:0}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{display:flex;flex-direction:column;gap:8px}.form-field label{font-size:11px;color:#263034;font-weight:800}.form-field label b,.consent b{color:#a07016}.form-field input,.form-field select,.form-field textarea{padding:13px 14px;border:1px solid #cdd3d4;background:#fff;min-height:48px;font-size:13px;border-radius:0;color:var(--ink);width:100%}.form-field textarea{min-height:125px;resize:vertical}.form-field :is(input,textarea)::placeholder{color:#8a969a}.form-field.full,.consent.full{grid-column:1/-1}.consent{display:flex;align-items:flex-start;gap:10px;font-size:11px;color:#596367}.consent input{margin-top:6px;accent-color:var(--gold)}.form-warning{font-size:12px;padding:17px;margin:25px 0;background:#fff5dd;color:#735624;border-left:3px solid var(--gold)}.form-status{display:none;padding:15px;margin-bottom:18px;font-size:12px}.form-status.show{display:block}.form-status.warning{background:#fff1e8;color:#9c4b25}.form-status.success{background:#edf8ef;color:#24683c}.narrow-form{max-width:900px}.narrow-form .contact-form{padding:50px}.faq-layout{display:grid;grid-template-columns:1fr 1.45fr;gap:80px}.faq-layout h2{margin:22px 0}.faq-layout .button{margin-top:13px}.faq-item{border-bottom:1px solid var(--border)}.faq-item summary{list-style:none;padding:20px 40px 20px 0;position:relative;cursor:pointer;font-size:14px;font-weight:800}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{position:absolute;right:7px;top:17px;font-size:23px;color:#b38529}.faq-item[open] summary span{transform:rotate(45deg)}.faq-item p{font-size:13px;padding-right:30px}.legal{max-width:860px}.legal section{border-bottom:1px solid var(--border);padding:16px 0}.legal h2{font-size:31px;margin:16px 0}.legal p{font-size:13px}.error-page h1{font-size:clamp(60px,9vw,120px);margin:20px 0}
/* Closing CTA and footer */
.cta{background:var(--gold);padding:74px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta-inner .eyebrow{color:#574218}.cta h2{font-size:clamp(50px,6vw,88px);margin:17px 0 10px}.cta h2 em{color:#fff}.cta p{margin:0;color:#594a31}.cta .button{flex:none}.footer{background:#121619;color:#fff;padding:70px 0 24px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1.1fr 1fr;gap:38px}.footer-intro p{font-size:13px;color:#aeb9bc;max-width:330px;margin-top:24px}.footer-tag{font-size:9px;color:var(--gold);font-weight:800;letter-spacing:1.3px}.footer-col h3{font-family:var(--body);font-size:11px;color:var(--goldlight);letter-spacing:1.2px;margin:15px 0 23px}.footer-col>a{display:block;font-size:12px;color:#c7cfd1;margin-bottom:9px}.footer-col>a:hover{color:var(--gold)}.footer-col p{color:#c0c9cb;font-size:12px}.footer-col .footer-link{color:var(--gold);font-size:12px;font-weight:800;margin:17px 0}.footer-end{margin-top:65px;padding-top:20px;border-top:1px solid #ffffff25;display:flex;gap:18px;justify-content:space-between;font-size:10px;color:#abb5b8}.footer-end>div{display:flex;gap:20px}.footer-end a:hover{color:var(--gold)}.back-top{position:fixed;bottom:23px;right:23px;width:45px;height:45px;border:0;background:var(--gold);font-size:21px;font-weight:800;z-index:999;box-shadow:0 8px 30px #0003;display:none}.back-top.visible{display:block}
@media(max-width:1250px){.nav-links{gap:11px}.nav-links>a:not(.nav-button),.nav-more summary{font-size:10px}.brand strong{font-size:29px}.brand small{font-size:7px}.gold-strip span{padding:0 18px}}
@media(max-width:1080px){.hamburger{display:block}.navbar{min-height:78px}.nav-links{display:none;position:absolute;left:0;right:0;top:100%;background:var(--ink);padding:18px 28px 30px;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100vh - 80px);overflow-y:auto;box-shadow:0 15px 28px #0005}.nav-links.open{display:flex}.nav-links>a:not(.nav-button),.nav-more summary{display:block;padding:12px 8px;font-size:13px}.nav-more{width:100%}.dropdown-menu{position:static;box-shadow:none;border-top:1px solid #ffffff22;background:#2d3539}.nav-button{display:block;text-align:center;margin-top:14px}.split{gap:40px}.service-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.container{width:calc(100% - 36px)}.section{padding:75px 0}.topline-inner{font-size:8px}.home-hero{height:660px;min-height:610px}.slide-text h1{font-size:clamp(59px,10vw,88px)}.hero-vertical{display:none}.subhero{height:420px}.subhero h1{font-size:clamp(56px,9vw,80px)}.split,.map-grid,.faq-layout,.contact-top{grid-template-columns:1fr;gap:40px}.photo-composition,.picture-frame,.about-photo,.dark-photo{min-height:370px}.year-stamp{right:0}.industry-grid,.values-grid{grid-template-columns:repeat(2,1fr)}.mini-card-grid,.steps-grid{grid-template-columns:repeat(2,1fr)}.map-frame,.coverage-map,.map-offline{min-height:390px}.map-grid{gap:0}.map-aside{padding:32px}.cta-inner{flex-direction:column;align-items:flex-start}.card-two,.capability-grid,.industry-detail-grid{grid-template-columns:1fr}.footer-grid{gap:32px}.gold-strip{font-size:10px}.gold-strip span{padding:0 9px}}
@media(max-width:520px){.container{width:calc(100% - 30px)}.topline-inner span:last-child{display:none}.brand img{width:41px;height:41px}.brand strong{font-size:25px}.brand small{font-size:6.3px;letter-spacing:.7px}.section{padding:60px 0}h2{font-size:45px}.home-hero{height:670px}.slide-text{padding-bottom:75px}.slide-text h1{font-size:clamp(55px,11.6vw,73px)}.slide-text p{font-size:13px}.hero-actions{width:100%;gap:10px}.hero-actions .button{width:100%}.slide-navigation{left:15px;bottom:19px}.slide-navigation>button{width:37px;height:37px}.dots{margin:0 3px}.subhero{min-height:405px;height:auto}.subhero-content{padding:65px 0}.subhero h1{font-size:clamp(50px,11vw,65px)}.subhero p{font-size:13px}.gold-strip{font-size:9px;line-height:2.5}.gold-strip span{padding:0 3px}.service-grid,.industry-grid,.values-grid,.mini-card-grid,.steps-grid,.province-grid{grid-template-columns:1fr}.industry-tile{min-height:210px}.service-card-img{height:210px}.service-card p{min-height:0}.photo-composition,.picture-frame,.about-photo,.dark-photo{min-height:315px}.image-spotlight{height:580px}.spot-content h2{font-size:56px}.value-panel{padding:30px}.map-frame,.coverage-map,.map-offline{min-height:340px}.map-aside{padding:25px}.map-aside h3{font-size:37px}.contact-form,.narrow-form .contact-form{padding:23px 18px}.form-head h2{font-size:41px}.form-fields{grid-template-columns:1fr}.form-field.full,.consent.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-end{flex-direction:column}.cta h2{font-size:57px}.principle-list>div{gap:12px}.principle-list strong{font-size:12px}.industry-detail{padding:24px}.service-card-body{padding:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* ===============================================
   LOCAL SOUTHERN AFRICAN VECTOR MAP (NO TILE API)
   =============================================== */
.vector-map-shell{height:100%;min-height:485px;position:relative;isolation:isolate;overflow:hidden;background:#e7eeee;color:#1f3036}
.vector-map-svg{display:block;width:100%;height:100%;min-height:485px;touch-action:pan-y;user-select:none;cursor:grab}
.vector-map-svg:active{cursor:grabbing}
.map-country{stroke:#f7fbfb;stroke-width:2;stroke-linejoin:round;cursor:pointer;transition:fill .17s}
.map-country.national{fill:#e4ae42}
.map-country.regional{fill:#b9d1d6}
.map-country.context{fill:#d9e1de}
.map-country.national:hover,.map-country.national:focus{fill:#f0c66f}
.map-country.regional:hover,.map-country.regional:focus{fill:#8dbbc6}
.map-country.context:hover,.map-country.context:focus{fill:#bfd1cb}
.map-country:focus-visible,.map-pin:focus-visible{outline:none;filter:drop-shadow(0 0 4px #122426)}
.map-country-label{font-family:Arial,sans-serif;font-weight:800;font-size:11px;letter-spacing:1px;fill:#354a51;paint-order:normal;stroke:none;pointer-events:none}
.map-pin{cursor:pointer}
.map-pin .pin-halo{fill:transparent}
.map-pin .pin-core{fill:#a47418;stroke:#fff;stroke-width:2}
.map-pin.regional .pin-core{fill:#2a7da4}
.map-pin .pin-centre{fill:#fff}
.map-pin:hover .pin-halo,.map-pin:focus .pin-halo{fill:#ffffff88}
.map-topline{position:absolute;z-index:5;top:17px;left:20px;font-size:11px;font-weight:900;letter-spacing:2px;pointer-events:none}
.map-topline span{color:#667b81;margin-left:10px;font-size:10px;font-weight:600;letter-spacing:1px}
.map-controls{position:absolute;right:17px;top:18px;display:flex;flex-direction:column;gap:4px;z-index:5}
.map-controls button{width:38px;height:38px;background:#fff;border:1px solid #d1dedd;color:#273639;font-family:Arial,sans-serif;font-weight:800;font-size:23px;box-shadow:0 2px 5px #1112}
.map-controls button:hover{background:#f6d88e}
.map-controls button:focus-visible{outline:2px solid #202d2c;outline-offset:2px}
.map-detail{position:absolute;left:18px;bottom:36px;z-index:5;background:#fffefaed;box-shadow:0 6px 20px #2035381a;max-width:min(70%,335px);padding:11px 15px;border-left:3px solid #e6ad3d;pointer-events:none}
.map-detail strong{display:block;font-family:var(--head,Arial,sans-serif);font-size:17px;line-height:1.1;text-transform:uppercase}
.map-detail span{display:block;font-size:10px;color:#5a6b70;line-height:1.55;margin-top:3px}
.map-credit{position:absolute;right:0;left:0;bottom:0;background:#f4f7f5df;padding:7px 10px;text-align:right;color:#526267;font-size:9px;line-height:1.3;z-index:5}
.map-offline img{max-width:100%;max-height:400px;width:100%;height:auto;object-fit:contain}
@media(max-width:800px){.vector-map-shell,.vector-map-svg{min-height:390px}.map-topline span{display:none}}
@media(max-width:520px){.vector-map-shell,.vector-map-svg{min-height:340px}.map-topline{font-size:8px;letter-spacing:1.2px}.map-controls{right:10px;top:10px}.map-controls button{width:33px;height:33px;font-size:21px}.map-detail{max-width:76%;left:10px;bottom:28px;padding:9px 11px}.map-detail strong{font-size:14px}.map-detail span{font-size:9px}.map-credit{font-size:8px}}
@media(prefers-reduced-motion:reduce){.map-country{transition:none}}
