:root{--region-ink:#073e2e;--region-green:#006b4c;--region-gold:#ffc400;--region-red:#c9222b;--region-soft:#f7faf5}
#service-coverage,#region-enquiry{scroll-margin-top:100px}
.region-hero{position:relative;overflow:hidden;padding:clamp(9rem,12vw,11rem) 0 clamp(4rem,7vw,6rem);background:radial-gradient(circle at 83% 24%,rgba(255,196,0,.18),transparent 25%),linear-gradient(125deg,#083629 0%,#075b44 65%,#0e8060 100%);color:#fff}
.region-hero::after{content:"";position:absolute;right:-8rem;bottom:-14rem;width:31rem;height:31rem;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 4rem rgba(255,255,255,.025),0 0 0 8rem rgba(255,255,255,.025);pointer-events:none}
.region-hero .container{position:relative;z-index:1}
.region-eyebrow,.region-kicker{margin:0 0 1rem;color:var(--region-red);font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.region-eyebrow{display:flex;align-items:center;gap:.75rem;color:var(--region-gold)}
.region-eyebrow-line{display:block;width:34px;height:3px;background:var(--region-gold)}
.region-hero h1{max-width:13ch;margin:0 0 1.5rem;color:#fff;font-size:clamp(2.8rem,5.6vw,5.6rem);font-weight:800;letter-spacing:-.045em;line-height:1.07}
.region-hero h1 span{color:var(--region-gold)}
.region-lead{max-width:58ch;color:#dfefe8;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.8}
.region-hero-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem}
.region-primary-link,.region-secondary-link{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:52px;padding:.8rem 1.25rem;border-radius:10px;font-weight:800;text-decoration:none}
.region-primary-link{background:var(--region-gold);color:var(--region-ink);box-shadow:0 12px 28px rgba(0,0,0,.17)}
.region-primary-link:hover{background:#ffe16a;color:var(--region-ink)}
.region-secondary-link{border:1px solid rgba(255,255,255,.4);color:#fff}
.region-secondary-link:hover{border-color:#fff;color:#fff}
.region-hero-panel{position:relative;padding:clamp(1.5rem,3vw,2.5rem);border:1px solid rgba(255,255,255,.3);border-radius:24px;background:rgba(255,255,255,.11);box-shadow:0 24px 55px rgba(0,28,18,.25);backdrop-filter:blur(8px)}
.region-hero-panel-label{display:inline-block;padding:.4rem .65rem;border-radius:6px;background:var(--region-gold);color:var(--region-ink);font-size:.7rem;font-weight:800;letter-spacing:.12em}
.region-hero-panel-route{display:flex;align-items:center;gap:1rem;margin:2.5rem 0 1.25rem;color:#fff;font-size:clamp(1.2rem,2vw,1.65rem);font-weight:800}
.region-hero-panel-route i{color:var(--region-gold)}
.region-hero-panel-countries{display:flex;flex-wrap:wrap;gap:.55rem}
.region-hero-panel-countries span{padding:.55rem .8rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff;font-size:.9rem}
.region-hero-panel p{margin:1.8rem 0 0;color:#d7e8df;line-height:1.7}
.region-coverage-section{padding:clamp(4rem,7vw,6rem) 0;background:#fcfdf9}
.region-section-heading{max-width:760px;margin:0 auto 2.5rem;text-align:center}
.region-section-heading h2,.region-enquiry-section h2{color:var(--region-ink);font-size:clamp(2rem,3.5vw,3.2rem);font-weight:800;line-height:1.2}
.region-section-heading p:last-child{margin:.75rem auto 0;color:#5b7066;line-height:1.7}
.region-map-panel{height:100%;padding:1rem;border:1px solid #dce7df;border-radius:22px;background:#fff;box-shadow:0 15px 35px rgba(0,60,42,.07)}
.region-map-topline{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.45rem .6rem 1rem;color:var(--region-ink);font-size:.82rem;font-weight:800}
.region-map-topline span:last-child{color:#72877e;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.region-map-topline i{margin-right:.4rem;color:var(--region-green)}
.region-route-map{display:block;width:100%;height:auto;border-radius:16px}
.region-map-path{fill:none;stroke:#d5a400;stroke-width:4;stroke-linecap:round;stroke-dasharray:7 12}
.region-map-origin{fill:#fff;font-size:22px;font-weight:900;letter-spacing:.09em}
.region-map-origin-sub{fill:#d4f4e4;font-size:12px;letter-spacing:.08em}
.region-map-target{cursor:pointer}
.region-map-target circle{fill:var(--region-gold);stroke:#fff;stroke-width:5;transition:fill .2s,transform .2s;transform-origin:center}
.region-map-target:hover circle,.region-map-target:focus circle,.region-map-target.is-active circle{fill:var(--region-red);transform:scale(1.13)}
.region-map-target text{fill:var(--region-ink);font-size:13px;font-weight:900;pointer-events:none}
.region-map-target:hover text:not(.region-map-country),.region-map-target.is-active text:not(.region-map-country){fill:#fff}
.region-map-target .region-map-country{fill:var(--region-ink);font-size:17px;font-weight:800}
.region-map-note{margin:.75rem .5rem .25rem;color:#65796e;font-size:.84rem}
.region-country-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;height:100%}
.region-country-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;min-height:190px;padding:1.35rem;border:1px solid #dce7df;border-radius:18px;background:#fff;color:var(--region-ink);text-align:left;box-shadow:0 12px 28px rgba(0,60,42,.05);transition:transform .2s,border-color .2s,box-shadow .2s}
.region-country-card:hover,.region-country-card:focus-visible,.region-country-card.is-active{transform:translateY(-3px);border-color:var(--region-gold);box-shadow:0 18px 32px rgba(0,60,42,.12)}
.region-country-number{color:var(--region-red);font-size:.68rem;font-weight:900;letter-spacing:.13em}
.region-country-card strong{font-size:1.3rem}
.region-country-card span:nth-of-type(2){padding-right:.5rem;color:#5e7168;font-size:.9rem;line-height:1.55}
.region-country-card i{position:absolute;right:1.2rem;top:1.15rem;color:var(--region-green)}
.region-planning-section{padding:0 0 clamp(4rem,7vw,6rem);background:#fcfdf9}
.region-planning-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem;padding:clamp(1.5rem,3vw,2.5rem);border-radius:22px;background:#fff4cc;border-left:6px solid var(--region-gold)}
.region-planning-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:16px;background:var(--region-ink);color:var(--region-gold);font-size:1.7rem}
.region-planning-card .region-kicker{margin-bottom:.45rem}
.region-planning-card h2{margin:0 0 .5rem;color:var(--region-ink);font-size:clamp(1.45rem,2vw,2rem);font-weight:800}
.region-planning-card p:last-child{margin:0;max-width:76ch;color:#486154;line-height:1.7}
.region-planning-card a{display:inline-flex;align-items:center;gap:.55rem;padding:.8rem 1rem;border-radius:9px;background:var(--region-ink);color:#fff;font-weight:800;white-space:nowrap;text-decoration:none}
.region-planning-card a:hover{background:var(--region-green);color:#fff}
.region-enquiry-section{padding:clamp(4rem,7vw,6rem) 0;background:linear-gradient(150deg,#ecf7f1,#fffdf5)}
.region-enquiry-section .col-lg-4 > p:not(.region-kicker){color:#576d62;line-height:1.75}
.region-contact-note{display:flex;align-items:center;gap:1rem;margin-top:2rem;padding:1rem;border:1px solid #d6e5dc;border-radius:14px;background:#fff}
.region-contact-note i{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#e4f3e9;color:var(--region-green)}
.region-contact-note div{display:flex;flex-direction:column}
.region-contact-note a{color:var(--region-green);font-weight:800}
.region-enquiry-form{padding:clamp(1.35rem,3vw,2.5rem);border-top:5px solid var(--region-gold);border-radius:20px;background:#fff;box-shadow:0 24px 55px rgba(0,60,42,.1)}
.region-enquiry-form fieldset{margin:0 0 1.8rem;padding:0;border:0}
.region-enquiry-form legend{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem;color:var(--region-ink);font-size:1.05rem;font-weight:800}
.region-enquiry-form legend span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#e1f1e7;color:var(--region-green);font-size:.8rem}
.region-enquiry-form label:not(.region-consent){display:block;margin-bottom:.4rem;color:var(--region-ink);font-size:.86rem;font-weight:700}
.region-enquiry-form label span[aria-hidden]{color:var(--region-red)}
.region-enquiry-form label small{color:#75867d;font-weight:500}
.region-enquiry-form input:not([type=checkbox]):not([type=hidden]),.region-enquiry-form select,.region-enquiry-form textarea{display:block;width:100%;min-height:49px;padding:.7rem .85rem;border:1px solid #ccdbd1;border-radius:9px;background:#fff;color:var(--region-ink)}
.region-enquiry-form textarea{min-height:112px;resize:vertical}
.region-enquiry-form input:focus,.region-enquiry-form select:focus,.region-enquiry-form textarea:focus{border-color:var(--region-green);outline:3px solid rgba(0,107,76,.15)}
.region-consent{display:flex;align-items:flex-start;gap:.7rem;margin:0 0 1.5rem;padding:1rem;border:1px solid #d8e8dc;border-radius:12px;background:#f6fbf7;color:#435d50;font-size:.88rem;line-height:1.5}
.region-consent input{width:18px;height:18px;margin-top:.1rem;accent-color:var(--region-green);flex:none}
.region-form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}
.region-form-actions button{display:inline-flex;align-items:center;gap:.6rem;min-height:50px;padding:.8rem 1.2rem;border:0;border-radius:9px;background:var(--region-gold);color:var(--region-ink);font-weight:800}
.region-form-actions button:hover{background:#ffe26a}
.region-form-actions button:disabled{opacity:.65;cursor:wait}
.region-form-actions p{margin:0;color:#6c7e73;font-size:.82rem}
.region-form-status{margin-top:1rem;padding:1rem;border-radius:10px;background:#e8f5ec;color:#075735}
.region-form-status.is-error{background:#fff0ef;color:#a3242c}
.region-form-status.is-warning{background:#fff7de;color:#725100}
@media(max-width:991.98px){.region-planning-card{grid-template-columns:auto 1fr}.region-planning-card a{grid-column:2;justify-self:start}.region-hero-panel{max-width:620px}}
@media(max-width:575.98px){.region-hero{padding:7.5rem 0 3.5rem}.region-hero-actions a{width:100%}.region-hero-panel-route{flex-wrap:wrap}.region-country-grid{grid-template-columns:1fr}.region-country-card{min-height:150px}.region-planning-card{grid-template-columns:1fr}.region-planning-card a{grid-column:1}.region-enquiry-form{padding:1.25rem}.region-form-actions button{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.region-country-card,.region-map-target circle{transition:none}}
