.contactus-page{background:#fffefb}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contactus-page .nav-band a[aria-current="page"]{color:var(--teal)}
.contactus-page .nav-band a[aria-current="page"]:after{left:0;right:0}
.contact-hero{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(115deg,#eaf6f2,#dceef0 55%,#e7f1ed);padding:35px 0 86px;text-align:center}
.contact-hero:before{content:"";position:absolute;width:740px;height:740px;left:-350px;top:-400px;border:90px solid #ffffff4d;border-radius:50%;z-index:-1}
.contact-hero:after{content:"";position:absolute;width:650px;height:650px;right:-230px;top:100px;border:70px solid #d3e5d780;border-radius:45% 55% 60% 40%/50% 50% 50% 50%;transform:rotate(25deg);z-index:-1}
.contact-breadcrumb{display:inline-flex;align-items:center;gap:14px;border:1px solid #fff;border-radius:25px;padding:8px 18px;background:#ffffff8a;color:#536b5a;font-size:11px;letter-spacing:1px;margin-bottom:27px}
.contact-breadcrumb [aria-current]{color:var(--teal)}
.contact-hero .eyebrow{font-size:10px;letter-spacing:3.3px;margin-bottom:9px}
.contact-hero h1{font-size:50px;letter-spacing:6px;line-height:1.35;margin:0 0 12px}
.contact-hero-subtitle{font-family:"Songti TC","Noto Serif TC",serif;font-size:21px;letter-spacing:2.5px;color:var(--teal)}
.contact-hero-copy{font-size:14px;line-height:1.9;letter-spacing:.7px;color:#536b5a;margin-top:16px}
.contact-hero-facts{display:flex;justify-content:center;align-items:center;gap:23px;font-size:11px;letter-spacing:1px;color:#536b5a;margin-top:23px}
.contact-hero-facts strong{font:22px/1.2 Georgia;color:var(--teal);margin-right:7px}
.contact-hero-facts i{width:1px;height:20px;background:#b8d0c6}
.contact-hero-flower{position:absolute;left:12%;top:45%;font:68px/1 Georgia;color:#d49db655;transform:rotate(14deg)}
.contact-hero-heart{position:absolute;right:14%;top:21%;font:89px/1 Georgia;color:#84aea754;transform:rotate(-14deg)}
.contact-map-section{position:relative;margin-top:-36px;border:1px solid #dce9e1;background:#fff;border-radius:8px 30px 8px 30px;overflow:hidden;box-shadow:0 16px 45px -23px #365f5c30;scroll-margin-top:24px}
.contact-map-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px 34px 22px}
.contact-map-heading .eyebrow{font-size:8px;letter-spacing:2.7px;margin-bottom:7px}
.contact-map-heading h2{font-size:29px;letter-spacing:1px}
.contact-map-heading p:not(.eyebrow){font-size:12px;color:#536b5a;letter-spacing:.5px;margin-top:8px}
.google-map-link{display:flex;gap:9px;align-items:center;white-space:nowrap;border:1px solid #d9e5df;border-radius:30px;background:#f3f8f4;color:var(--teal);font-size:12px;letter-spacing:.5px;padding:10px 17px;transition:background .25s}
.google-map-link:hover{background:#e4f0e8}
.google-g{font:700 18px/1 Arial;color:var(--teal)}
.contact-map-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 34px 22px}
.map-select-field{display:flex;align-items:center;gap:14px;flex:1;max-width:570px}
.map-select-field>label{font-size:11px;letter-spacing:1px;color:#536b5a;white-space:nowrap}
.map-select-field select{flex:1;min-width:0;max-width:100%;padding:11px 35px 11px 13px;border:1px solid #d8e6de;border-radius:6px;background:#fff;color:#496e65;font-size:12px}
.contact-map-tools>p{font-size:11px;color:#536b5a;max-width:43%;text-align:right}
.contact-map-view{height:475px;background:#edf3ec;position:relative}
.contact-map-view iframe{display:block;width:100%;height:100%;border:0}
.map-caption{display:flex;align-items:center;gap:10px;padding:18px 34px;font-size:12px;color:#536b5a;background:#f8faf6}
.map-caption-dot{display:block;width:7px;height:7px;flex-shrink:0;background:var(--green);border-radius:50%}
.map-caption>p{line-height:1.6}
.map-caption>a{margin-left:auto;white-space:nowrap;font-size:12px;color:var(--teal);letter-spacing:.5px}
.map-caption>a[hidden]{display:none}
.headquarters-strip{display:grid;grid-template-columns:1fr 1.1fr 1.1fr 1.4fr;padding-block:36px 40px;border-bottom:1px solid var(--line);gap:0}
.headquarters-strip>div{display:flex;align-items:flex-start;gap:13px;padding:2px 24px;border-right:1px solid var(--line)}
.headquarters-strip>div:first-child{padding-left:5px}
.headquarters-strip>div:last-child{padding-right:0;border:0}
.headquarters-strip svg{width:21px;height:25px;flex-shrink:0;color:#7ea18c;margin-top:5px}
.headquarters-strip p>span{display:block;font-size:10px;letter-spacing:1px;color:#536b5a;margin-bottom:9px}
.headquarters-strip p>a{display:block;font-size:15px;letter-spacing:.3px;color:var(--teal);line-height:1.4;overflow-wrap:anywhere}
.headquarters-strip p>strong{display:block;font-size:12px;font-weight:500;color:#5c7667}
.headquarters-strip p>small{display:block;font-size:11px;color:#536b5a;margin-top:4px}
.headquarters-strip p>strong.hq-address{font-size:11px;line-height:1.8;letter-spacing:.3px}
.centre-directory{padding:62px 0 50px;background:linear-gradient(#fffefb,#f5f8f2)}
.contact-directory-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:28px}
.contact-directory-heading h2{font-size:32px;letter-spacing:1.5px}
.contact-directory-heading .eyebrow{font-size:9px;letter-spacing:2.5px;margin-bottom:9px}
.contact-directory-heading>p{font-size:12px;letter-spacing:1.5px;color:#536b5a;padding-bottom:7px}
.centre-directory-tools{display:flex;flex-wrap:wrap;gap:18px 25px;justify-content:space-between;align-items:center}
.centre-filters{display:flex;flex-wrap:wrap;gap:7px}
.centre-filter{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:25px;border:1px solid #dfe8dd;background:#fff;color:#536b5a;font-size:11px;letter-spacing:.4px;transition:background .25s,color .25s,border-color .25s}
.centre-filter>span{font:10px/1 Arial;min-width:16px;text-align:center;opacity:1}
.centre-filter:hover{border-color:#9dbeaa;background:#f0f6ec;color:var(--teal)}
.centre-filter.active{background:var(--teal);color:white;border-color:var(--teal)}
.centre-search-controls{display:flex;align-items:center;gap:10px}
.centre-search-field{position:relative;width:245px}
.centre-search-field input{display:block;width:100%;padding:10px 38px 10px 14px;border:1px solid #dce7dc;border-radius:25px;background:#fff;font-size:11px;color:var(--teal);line-height:1.6}
.centre-search-field input::placeholder{color:#536b5a;opacity:1}
.centre-search-field>span{position:absolute;right:14px;top:7px;font:24px/1 Georgia;color:#93aa97;pointer-events:none}
.region-field select{padding:10px 24px 10px 13px;border:1px solid #dce7dc;border-radius:25px;background:#fff;color:#536b5a;font-size:11px;height:40px}
.directory-status-row{display:flex;justify-content:space-between;align-items:center;margin:22px 0 17px;color:#536b5a;font-size:10px;letter-spacing:1px;min-height:24px}
.directory-status-row button{font-size:11px;color:var(--teal);background:none;padding:3px 0}
.centre-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.centre-card{--card-accent:var(--teal);--card-ink:var(--teal);--card-tint:#edf6f1;position:relative;display:flex;flex-direction:column;min-width:0;padding:25px 25px 18px;border:1px solid #dfe8dc;border-top:3px solid var(--card-accent);border-radius:5px 22px 5px 22px;background:#fff;box-shadow:0 10px 23px -16px #4a6c4e24;transition:opacity .7s,transform .8s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s}
.centre-card.category-aqua{--card-accent:#4399ac;--card-ink:#277383;--card-tint:#edf7f8}
.centre-card.category-sage{--card-accent:#779e60;--card-ink:#506f3c;--card-tint:#f0f6e9}
.centre-card.category-orange{--card-accent:#bc854c;--card-ink:#896032;--card-tint:#fbf1e4}
.centre-card[hidden]{display:none}
.centre-card:hover,.centre-card.map-selected{box-shadow:0 15px 29px -17px #3d6c4660;border-color:#a9c4ad;border-top-color:var(--card-ink)}
.centre-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}
.centre-category{display:block;padding:4px 10px;border-radius:15px;background:var(--card-tint);color:var(--card-ink);font-size:10px;letter-spacing:.5px}
.centre-number{font:18px/1 Georgia;color:#65775f;letter-spacing:1px}
.centre-title-block{margin-bottom:23px;min-height:91px}
.centre-area{font-size:10px;letter-spacing:1.5px;color:#536b5a;margin-bottom:8px}
.centre-card h3{font-size:19px;line-height:1.55;letter-spacing:.6px;font-weight:500;color:var(--ink)}
.centre-branch{font-size:12px;color:var(--card-ink);margin-top:7px;letter-spacing:.7px}
.centre-details{margin:0 0 15px;display:flex;flex-direction:column;gap:11px}
.centre-details>div{display:flex;align-items:flex-start;gap:11px}
.centre-details dt{flex-shrink:0;width:16px;position:relative;margin-top:3px}
.centre-details dt svg{display:block;width:16px;height:18px;color:#95b19a}
.centre-details dd{margin:0;min-width:0;font-size:12px;line-height:1.7;color:#536b5a;overflow-wrap:anywhere}
.centre-details .centre-address{min-height:42px}
.centre-details a{color:#547d68;transition:color .2s}
.centre-details a:hover{color:var(--teal);text-decoration:underline;text-underline-offset:3px}
.centre-hours{margin:0 0 18px;border-top:1px solid #edf1e8;padding-top:10px;color:#536b5a}
.centre-hours summary{display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.7px;cursor:pointer;list-style:none;padding:3px 0}
.centre-hours summary::-webkit-details-marker{display:none}
.centre-hours summary>span{font-size:15px;color:#9bb49a;transition:rotate .25s}
.centre-hours[open] summary>span{rotate:45deg}
.centre-hours ul{font-size:11px;line-height:1.8;padding-left:15px;margin:10px 0 0}
.centre-hours>p{font-size:10px;line-height:1.8;margin-top:8px;color:#536b5a}
.centre-card-actions{margin-top:auto;padding-top:16px;border-top:1px solid #edf1e8;display:flex;align-items:center;justify-content:space-between;gap:15px}
.centre-map-button{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:25px;padding:9px 12px;background:var(--card-tint);color:var(--card-ink);font-size:11px;letter-spacing:.4px;transition:background .2s}
.centre-map-button svg{width:14px;height:16px}
.centre-map-button:hover{background:#e4f0e1}
.centre-card-actions>a{font-size:11px;letter-spacing:.7px;color:var(--card-ink)}
.centre-source{display:flex;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:.5px;color:#536b5a;margin-top:15px}
.centre-source a:hover{color:var(--teal)}
.centre-empty{padding:60px 20px;text-align:center;border:1px dashed #d8e3d2;border-radius:8px 25px 8px 25px;background:#fff}
.centre-empty[hidden]{display:none}
.centre-empty>span{display:block;font:45px/1 Georgia;color:#c1d3b8;margin-bottom:15px}
.centre-empty h3{font-size:21px;font-weight:500;letter-spacing:1px;margin-bottom:12px}
.centre-empty>p{font-size:13px;color:#536b5a}
.centre-empty .text-link{margin:23px auto 0;padding:0;background:none;color:var(--teal);font-size:12px}
.contact-source-note{font-size:10px;line-height:1.9;letter-spacing:.4px;text-align:center;color:#536b5a;margin-top:29px}
.contact-source-note a{color:#536b5a;text-decoration:underline;text-underline-offset:3px}
.contact-next{margin-block:48px;display:flex;align-items:center;gap:30px;padding:32px 38px;border:1px solid #dce8dd;border-radius:7px 37px 7px 37px;background:linear-gradient(110deg,#f1f7ec,#edf7f4)}
.contact-next>span{font:65px/1 Georgia;color:#a1b99c}
.contact-next h2{font-size:29px;letter-spacing:1px}
.contact-next .eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:7px}
.contact-next p:not(.eyebrow){font-size:12px;color:#536b5a;letter-spacing:.3px;margin-top:7px}
.contact-next .button{margin-left:auto;white-space:nowrap;font-size:12px}
.contact-hero>.wrap{animation:contact-soft-rise 1s cubic-bezier(.22,1,.36,1) both}
.contact-map-section{animation:contact-soft-rise 1s cubic-bezier(.22,1,.36,1) .15s both}
.centre-card.contact-reveal-pending{opacity:0;transform:translateY(19px)}
@keyframes contact-soft-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(max-width:1200px){
  .contact-map-heading{padding:26px 27px 20px}
  .contact-map-heading h2{font-size:27px}
  .contact-map-tools{padding:0 27px 20px}
  .map-caption{padding:16px 27px}
  .headquarters-strip>div{padding-inline:16px;gap:10px}
  .headquarters-strip p>a{font-size:13px}
  .centre-grid{gap:20px}
  .centre-card{padding:23px 21px 17px}
  .centre-card h3{font-size:18px}
  .contact-next{padding:29px;gap:23px}
  .contact-next h2{font-size:26px}
}
@media(max-width:960px){
  .contact-hero{padding:28px 0 78px}
  .contact-hero h1{font-size:43px}
  .contact-hero-subtitle{font-size:19px}
  .contact-hero-flower{left:5%;font-size:53px}
  .contact-hero-heart{right:6%;font-size:70px}
  .contact-map-heading h2{font-size:25px}
  .contact-map-heading{gap:20px}
  .contact-map-tools{display:block}
  .map-select-field{max-width:100%}
  .contact-map-tools>p{max-width:100%;text-align:left;padding-left:58px;margin-top:10px;font-size:10px}
  .contact-map-view{height:410px}
  .headquarters-strip{grid-template-columns:1fr 1fr;gap:25px 0;padding-block:29px 33px}
  .headquarters-strip>div{padding-inline:16px}
  .headquarters-strip>div:first-child,.headquarters-strip>div:nth-child(3){padding-left:6px}
  .headquarters-strip>div:nth-child(2){border:0}
  .headquarters-strip p>strong.hq-address{font-size:12px}
  .centre-directory{padding-block:48px 40px}
  .contact-directory-heading h2{font-size:29px}
  .contact-directory-heading>p{font-size:10px;letter-spacing:1px}
  .centre-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
  .centre-search-controls{width:100%}
  .centre-search-field{flex:1;width:auto}
  .centre-title-block{min-height:85px}
  .contact-next{gap:18px}
  .contact-next>span{display:none}
  .contact-next h2{font-size:24px}
  .contact-next .button{padding:12px 20px;gap:22px}
}
@media(max-width:760px){
  .contact-hero{padding:21px 0 67px}
  .contact-breadcrumb{font-size:10px;padding:7px 15px;gap:12px;margin-bottom:24px}
  .contact-hero .eyebrow{font-size:8px;letter-spacing:2.5px}
  .contact-hero h1{font-size:38px;letter-spacing:5px;margin-bottom:11px}
  .contact-hero-subtitle{font-size:17px;letter-spacing:1.5px}
  .contact-hero-copy{font-size:12px;letter-spacing:.3px;margin-top:14px;line-height:1.9}
  .contact-hero-facts{font-size:10px;gap:16px;margin-top:19px;letter-spacing:.4px}
  .contact-hero-facts strong{font-size:21px;margin-right:4px}
  .contact-hero-flower{left:-5px;top:51%;font-size:36px;opacity:.6}
  .contact-hero-heart{right:-9px;top:20%;font-size:55px;opacity:.5}
  .contact-map-section{margin-top:-28px;border-radius:6px 23px 6px 23px}
  .contact-map-heading{display:block;padding:23px 20px 19px}
  .contact-map-heading .eyebrow{font-size:7px;letter-spacing:2px}
  .contact-map-heading h2{font-size:22px;letter-spacing:.5px;line-height:1.5}
  .contact-map-heading p:not(.eyebrow){font-size:11px;line-height:1.8;letter-spacing:0;margin-top:8px}
  .google-map-link{width:max-content;font-size:11px;padding:8px 13px;gap:7px;margin-top:15px}
  .google-g{font-size:16px}
  .contact-map-tools{padding:0 20px 16px}
  .map-select-field{display:block}
  .map-select-field>label{display:block;font-size:10px;margin-bottom:7px}
  .map-select-field select{display:block;width:100%;font-size:11px;padding:11px 25px 11px 10px}
  .contact-map-tools>p{padding-left:0;line-height:1.7;font-size:9px;margin-top:9px}
  .contact-map-view{height:330px}
  .map-caption{flex-wrap:wrap;align-items:flex-start;padding:15px 20px;font-size:11px;gap:7px}
  .map-caption-dot{margin-top:5px;width:6px;height:6px}
  .map-caption>p{flex:1;min-width:0}
  .map-caption>a{width:100%;text-align:right;font-size:10px;margin-top:4px}
  .headquarters-strip{padding-block:24px 27px;gap:23px 0}
  .headquarters-strip>div{padding-inline:10px;gap:8px}
  .headquarters-strip>div:first-child,.headquarters-strip>div:nth-child(3){padding-left:1px}
  .headquarters-strip svg{width:16px;height:19px}
  .headquarters-strip p{min-width:0}
  .headquarters-strip p>span{font-size:9px;letter-spacing:.4px;margin-bottom:8px}
  .headquarters-strip p>a{font-size:12px;letter-spacing:0}
  .headquarters-strip p>strong{font-size:11px}
  .headquarters-strip p>small{font-size:10px}
  .headquarters-strip p>strong.hq-address{font-size:10px;letter-spacing:0;line-height:1.8}
  .centre-directory{padding:36px 0 30px}
  .contact-directory-heading{display:block;margin-bottom:22px}
  .contact-directory-heading h2{font-size:25px;letter-spacing:.5px}
  .contact-directory-heading .eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:7px}
  .contact-directory-heading>p{font-size:10px;margin-top:9px;padding:0;letter-spacing:1px}
  .centre-directory-tools{gap:16px}
  .centre-filters{gap:7px}
  .centre-filter{font-size:10px;padding:8px 11px;gap:5px}
  .centre-filter>span{font-size:9px;min-width:12px}
  .centre-search-controls{gap:8px}
  .centre-search-field input{font-size:11px;padding:10px 31px 10px 13px}
  .centre-search-field input::placeholder{color:#536b5a;opacity:1}
.centre-search-field>span{right:11px;font-size:23px}
  .region-field select{font-size:10px;padding:9px 17px 9px 10px;height:39px}
  .directory-status-row{font-size:9px;margin:17px 0 14px;letter-spacing:.5px}
  .directory-status-row button{font-size:10px}
  .centre-grid{grid-template-columns:1fr;gap:21px}
  .centre-card{padding:23px 23px 18px;border-radius:5px 23px 5px 23px}
  .centre-card-heading{margin-bottom:17px}
  .centre-title-block{min-height:0;margin-bottom:20px}
  .centre-card h3{font-size:20px;letter-spacing:.4px;line-height:1.55}
  .centre-branch{font-size:12px}
  .centre-details dd{font-size:12px}
  .centre-details .centre-address{min-height:0}
  .centre-empty{padding:40px 22px}
  .centre-empty h3{font-size:19px}
  .centre-empty>p{font-size:12px;line-height:1.9}
  .contact-source-note{font-size:9px;line-height:1.9;letter-spacing:0;margin-top:25px}
  .contact-next{display:block;margin-block:35px;padding:25px;border-radius:6px 29px 6px 29px}
  .contact-next h2{font-size:23px;letter-spacing:.5px}
  .contact-next p:not(.eyebrow){font-size:12px;line-height:1.8}
  .contact-next .button{display:inline-flex;margin-top:20px;font-size:12px;gap:28px}
}
@media(prefers-reduced-motion:reduce){.centre-card.contact-reveal-pending{opacity:1;transform:none}}
@media print{
  .contactus-page .reference-header,.contact-map-section,.centre-directory-tools,.directory-status-row,.centre-card-actions,.centre-source,.contact-next,.contactus-page .floating-donate{display:none!important}
  .contact-hero{padding:10px 0;background:none}
  .contact-breadcrumb,.contact-hero-flower,.contact-hero-heart{display:none}
  .headquarters-strip{padding-block:20px}
  .centre-directory{padding-top:20px;background:none}
  .centre-grid{grid-template-columns:1fr 1fr;gap:15px}
  .centre-card[hidden]{display:flex}
  .centre-card{break-inside:avoid;box-shadow:none;opacity:1!important;transform:none!important;padding:18px}
  .centre-title-block{min-height:0}
}

/* Service network map: coloured flags and a floating category legend. */
.contact-map-section{width:min(1480px,calc(100% - 64px));border:1px solid #e6e9e5;border-radius:28px;box-shadow:0 18px 48px -28px #335b4740;background:white;overflow:hidden}
.contact-map-heading{display:flex;align-items:center;gap:16px;padding:26px 28px 25px}
.map-heading-icon{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:14px;background:#faf6ed;color:#bc810b}
.map-heading-icon svg{width:27px;height:29px}
.contact-map-heading>div{flex:1;min-width:0}
.contact-map-heading h2{font-family:"PingFang HK","Noto Sans TC","Microsoft JhengHei",sans-serif;font-size:21px;font-weight:600;line-height:1.5;letter-spacing:1.5px;color:#242a44}
.contact-map-heading p:not(.eyebrow){font-size:12px;line-height:1.8;letter-spacing:1px;color:#5d7181;margin-top:9px}
.google-map-link{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;border:1px solid #d28c06;border-radius:30px;background:#edae19;color:#382900;font-size:12px;font-weight:600;letter-spacing:1px;padding:11px 17px;box-shadow:0 4px 13px #d8a52624;transition:background .2s,transform .2s}
.google-map-link:hover{background:#f4bd37;transform:translateY(-2px)}
.google-g{color:inherit;font:700 16px/1 Arial}
.contact-map-stage{position:relative;height:580px;isolation:isolate;background:#e9f0ec}
.interactive-map{width:100%;height:100%;z-index:0;background:#e9f0ec;font-family:"PingFang HK","Noto Sans TC","Microsoft JhengHei",sans-serif}
.interactive-map[hidden]{display:none}
.contact-map-stage .leaflet-control-zoom{margin:16px 0 0 16px;border:1px solid #c4d6d6;box-shadow:0 2px 10px #243f4620}
.contact-map-stage .leaflet-control-zoom a{color:#263f43;width:32px;height:32px;line-height:32px}
.contact-map-stage .leaflet-control-attribution{font:10px/1.5 Arial,sans-serif;background:#ffffffec;padding:3px 8px;color:#384d54}
.contact-map-stage .leaflet-control-attribution a{color:#215e82;text-decoration:underline}
.map-load-notice{position:absolute;top:16px;left:50%;transform:translateX(-50%);z-index:2;max-width:calc(100% - 110px);padding:9px 15px;border:1px solid #dce5df;border-radius:12px;background:#fffffff0;color:#435e57;font-size:12px;pointer-events:none}
.map-load-notice[hidden]{display:none}
.map-notice-error{background:#fff8e3;border-color:#e6d39b}
.map-legend{position:absolute;left:22px;bottom:26px;z-index:2;width:294px;padding:20px 18px 16px;border:1px solid #dde5e7;border-radius:22px;background:#ffffffed;box-shadow:0 9px 30px #334b5920;backdrop-filter:blur(10px)}
.map-legend-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 6px 14px;font-size:12px;font-weight:600;letter-spacing:1px;color:#54677e}
.map-legend-heading>span{display:flex;align-items:center;gap:8px}
.map-legend-heading svg{width:16px;height:18px}
.map-legend-heading button{padding:4px 0;background:none;color:#536c80;font-size:11px;letter-spacing:.5px;text-decoration:underline;text-underline-offset:3px}
.map-legend-heading button:hover,.map-legend-heading button.active{color:#217b80}
.map-legend-options{display:flex;flex-direction:column;gap:3px}
.map-legend-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 9px;border:1px solid transparent;border-radius:12px;background:transparent;color:#273950;text-align:left;font-size:13px;letter-spacing:.5px;transition:background .2s,border-color .2s}
.map-legend-item:hover{background:#f2f7f7}
.map-legend-item.active{background:#edf6f3;border-color:#cbded7}
.map-legend-dot{width:17px;height:17px;flex:0 0 17px;border:2px solid white;border-radius:50%;background:var(--pin-color);box-shadow:0 2px 5px #27395028}
.map-legend-count{display:grid;place-items:center;margin-left:auto;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:#eef3f7;font-size:11px;font-weight:600;color:#526580}
.map-tone-teal{--pin-color:#ce277b;--pin-ink:#9d1c5d}
.map-tone-aqua{--pin-color:#219ab5;--pin-ink:#1d7084}
.map-tone-sage{--pin-color:#07986c;--pin-ink:#086b4e}
.map-tone-orange{--pin-color:#e49b08;--pin-ink:#835906}
.centre-flag-marker{background:none;border:0}
.centre-flag{display:grid;place-items:center;position:relative;width:34px;height:34px;border:3px solid white;border-radius:50% 50% 50% 8px;background:var(--pin-color);box-shadow:0 3px 9px #1a374b4a;transform:rotate(-45deg);animation:map-pin-appear .65s cubic-bezier(.2,.7,.3,1.2) var(--pin-delay) both}
.centre-flag svg{width:22px;height:22px;fill:white;stroke:white;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transform:rotate(45deg)}
.map-marker-selected .centre-flag{box-shadow:0 0 0 7px #ffffff80,0 5px 14px #1a374b60}
.centre-flag-marker:focus-visible{outline:3px solid #263968;outline-offset:7px;border-radius:50%}
.contact-map-stage .leaflet-popup-content-wrapper{border-radius:18px;box-shadow:0 7px 28px #203c4c30;padding:1px}
.contact-map-stage .leaflet-popup-content{margin:21px 22px;width:265px!important;max-width:calc(100vw - 100px);font-size:13px;line-height:1.7}
.centre-map-popup p{margin:0}
.centre-map-popup .map-popup-category{color:var(--pin-ink);font-size:10px;font-weight:600;letter-spacing:1px;margin:0 0 8px}
.centre-map-popup h3{font-family:inherit;font-size:17px;line-height:1.5;font-weight:600;color:#242a64;margin-bottom:9px}
.centre-map-popup .map-popup-branch{font-size:12px;font-weight:500;color:var(--pin-ink);margin:-3px 0 10px}
.centre-map-popup .map-popup-address{font-size:12px;color:#506571;line-height:1.8;margin-bottom:11px}
.centre-map-popup a{color:#246c75}
.centre-map-popup .map-popup-phone{font-size:12px;text-decoration:underline;text-underline-offset:3px}
.map-popup-actions{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #e0e8e8;margin-top:14px;padding-top:12px;font-size:10px;font-weight:600}
.map-popup-actions a{color:#276b75}
.map-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 28px;background:#f8faf8;font-size:11px;color:#536b5a}
.map-select-field{display:flex;align-items:center;gap:12px;flex:1;max-width:640px}
.map-select-field>label{font-size:11px;color:#536b5a;white-space:nowrap}
.map-select-field select{width:100%;max-width:100%;min-width:0;padding:10px 32px 10px 13px;border:1px solid #d4dfd9;border-radius:8px;background:white;font-size:12px;color:#345c58}
#map-current{max-width:43%;font-size:11px;line-height:1.7;text-align:right;color:#536b5a}
.map-selected-details{display:flex;align-items:center;gap:10px;padding:15px 28px;border-top:1px solid #e5ece7;background:#fff;font-size:11px;color:#536b5a}
.map-selected-details>p{flex:1;line-height:1.7}
.map-selected-details>a{color:#237b80;font-size:11px;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.map-selected-details>a[hidden]{display:none}
.map-provider-label{border-left:1px solid #dce8e2;padding-left:14px;margin-left:6px;font-size:10px;color:#536b5a;white-space:nowrap}
.map-fallback{height:100%;background:#f3f7f4}
.map-fallback[hidden]{display:none}
.map-fallback>p{padding:17px 24px;font-size:12px;color:#536b5a;background:#fbf6e9}
.map-fallback iframe{width:100%;height:calc(100% - 60px);border:0;display:block}
.map-unavailable .map-legend{display:none}
.map-no-script{padding:20px;font-size:13px;color:#536b5a}
@keyframes map-pin-appear{from{opacity:0;scale:.65;translate:0 -15px}to{opacity:1;scale:1;translate:0 0}}
@media(max-width:900px){
 .contact-map-section{width:calc(100% - 40px)}
 .contact-map-heading{padding:24px 22px;gap:12px}
 .contact-map-heading h2{font-size:19px;letter-spacing:.5px}
 .contact-map-heading p:not(.eyebrow){font-size:11px;letter-spacing:.5px}
 .map-legend{width:270px;padding:17px 14px;left:18px;bottom:26px}
 .map-legend-item{font-size:12px;gap:10px}
 .map-caption{padding:17px 22px}
 .map-selected-details{padding:14px 22px;flex-wrap:wrap}
 .map-provider-label{width:100%;border:0;padding:4px 0 0;margin:0 0 0 17px}
}
@media(max-width:760px){
 .contact-map-stage{height:auto}
 .interactive-map{height:430px}
 .map-legend{position:relative;inset:auto;z-index:1;width:100%;border:0;border-top:1px solid #dae5e0;border-radius:0;box-shadow:none;backdrop-filter:none;padding:19px 20px 18px;background:#fcfdfc}
 .map-legend-heading{margin:0 3px 13px}
 .map-legend-options{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}
 .map-legend-item{padding:10px 7px;gap:8px;font-size:11px;letter-spacing:0}
 .map-legend-dot{width:15px;height:15px;flex-basis:15px}
 .map-legend-count{width:22px;height:22px;flex-basis:22px;font-size:10px}
 .map-fallback{height:450px}
 .map-caption{flex-direction:column;align-items:stretch;gap:11px;padding:17px 20px}
 .map-select-field{max-width:none}
 #map-current{max-width:none;text-align:left;margin-left:56px;font-size:10px}
 .map-selected-details{padding:14px 20px;align-items:flex-start;font-size:10px}
 .map-caption-dot{margin-top:6px}
 .map-selected-details>a{font-size:10px}
}
@media(max-width:540px){
 .contact-map-section{width:calc(100% - 28px);border-radius:20px}
 .contact-map-heading{flex-wrap:wrap;padding:21px 18px;gap:12px}
 .map-heading-icon{width:38px;height:38px;flex-basis:38px;border-radius:11px}
 .map-heading-icon svg{width:23px;height:25px}
 .contact-map-heading>div{flex-basis:calc(100% - 55px)}
 .contact-map-heading h2{font-size:17px;letter-spacing:.6px}
 .contact-map-heading p:not(.eyebrow){font-size:11px;line-height:1.9;margin-top:8px;letter-spacing:.3px}
 .google-map-link{margin-left:50px;font-size:10px;padding:8px 13px;gap:7px}
 .google-g{font-size:14px}
 .interactive-map{height:390px}
 .map-legend{padding:17px 13px}
 .map-legend-options{grid-template-columns:1fr}
 .map-legend-item{font-size:12px;padding:9px 10px;gap:11px}
 .map-legend-count{width:24px;height:24px;flex-basis:24px}
 .map-selected-details>p{min-width:calc(100% - 20px)}
 .map-selected-details>a{margin-left:17px}
 .contact-map-stage .leaflet-popup-content{max-width:calc(100vw - 110px);margin:19px;width:235px!important}
}
@media(prefers-reduced-motion:reduce){.centre-flag{animation:none}.google-map-link{transition:none}}
@media print{
 .contact-map-section{width:100%;box-shadow:none}
 .contact-map-stage,.map-caption,.map-selected-details{display:none}
 .contact-map-heading{padding:15px}
}
