[data-pn-block="3218"] .sec-service-areas {
  --c-primary:   var(--pn-brand-primary);
  --c-secondary: var(--pn-brand-secondary);
  --c-accent:    var(--pn-brand-accent);
  --c-sand:      var(--pn-brand-dark);
  --c-cream:     var(--pn-brand-brand-5);
  --c-ivory:     var(--pn-brand-brand-6);
  --c-gold:      var(--pn-brand-brand-7);
  --c-body:  color-mix(in srgb, var(--pn-brand-accent) 70%, transparent);
  --c-muted: color-mix(in srgb, var(--pn-brand-accent) 48%, transparent);
  --font-heading: var(--font-display, serif);
  --font-body:    var(--font-sans, sans-serif);
  --radius-sm:9px;
  --radius-md:13px;
  --radius-lg:20px;
  --shadow-card:0 22px 60px -18px color-mix(in srgb, var(--pn-brand-accent) 30%, transparent), 0 4px 14px color-mix(in srgb, var(--pn-brand-accent) 8%, transparent);
  --shadow-soft:0 8px 24px color-mix(in srgb, var(--pn-brand-accent) 12%, transparent);
  --maxw:1200px;
}
[data-pn-block="3218"] .sec-service-areas { position:relative; width:100%; height:82vh; min-height:560px; overflow:hidden; font-family:var(--font-body); }
[data-pn-block="3218"] .sec-service-areas__map { position:absolute; inset:0; background:var(--c-secondary); }
[data-pn-block="3218"] .sec-service-areas__card {
  position:absolute; top:20px; left:20px; z-index:600;
  width:336px; max-width:calc(100% - 40px); max-height:calc(100% - 40px); overflow:auto;
  background:var(--c-ivory); border:1px solid var(--c-sand); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card); padding:16px 17px 14px;
  animation:sa-rise .55s cubic-bezier(.22,1,.36,1) both;
}
[data-pn-block="3218"] .sa-eyebrow { display:flex; align-items:center; gap:10px; margin-bottom:9px; font-size:11px; letter-spacing:.2em; font-weight:600; color:var(--c-primary); text-transform:uppercase; }
[data-pn-block="3218"] .sa-eyebrow__dash { width:22px; height:2px; background:var(--c-gold); border-radius:2px; }
[data-pn-block="3218"] .sa-title { font-family:var(--font-heading); font-weight:400; font-size:clamp(19px,2.1vw,24px); line-height:1.12; color:var(--c-accent); margin-bottom:8px; letter-spacing:-.01em; }
[data-pn-block="3218"] .sa-title em { font-style:italic; color:var(--c-primary); }
[data-pn-block="3218"] .sa-amp { font-style:italic; color:var(--c-gold); }
[data-pn-block="3218"] .sa-dot { color:var(--c-gold); }
[data-pn-block="3218"] .sa-lede { font-size:12.5px; line-height:1.46; color:var(--c-body); margin-bottom:12px; }
[data-pn-block="3218"] .sa-list { border-top:1px solid var(--c-sand); }
[data-pn-block="3218"] .sa-row { display:flex; align-items:center; gap:10px; width:100%; padding:8px 8px; background:transparent; border:none; border-bottom:1px solid var(--c-sand); cursor:pointer; text-align:left; border-radius:var(--radius-sm); transition:background .15s; }
[data-pn-block="3218"] .sa-row:hover { background:color-mix(in srgb, var(--c-gold) 12%, transparent); }
[data-pn-block="3218"] .sa-row__dot { width:8px; height:8px; border-radius:50%; background:var(--c-primary); flex:none; box-shadow:0 0 0 3px color-mix(in srgb, var(--c-primary) 16%, transparent); }
[data-pn-block="3218"] .sa-row__name { font-weight:600; color:var(--c-accent); font-size:14px; flex:1; }
[data-pn-block="3218"] .sa-row__count { font-size:12px; color:var(--c-muted); font-weight:500; }
[data-pn-block="3218"] .sa-row.is-selected { background:color-mix(in srgb, var(--c-gold) 18%, transparent); }
[data-pn-block="3218"] .sa-row.is-selected .sa-row__dot { background:var(--c-gold); box-shadow:0 0 0 3px color-mix(in srgb, var(--c-gold) 34%, transparent); }
[data-pn-block="3218"] .sa-detail { padding:12px 2px 2px; animation:sa-rise .4s ease both; }
[data-pn-block="3218"] .sa-detail__head { font-size:10.5px; letter-spacing:.16em; font-weight:600; color:var(--c-primary); text-transform:uppercase; margin-bottom:9px; }
[data-pn-block="3218"] .sa-chips { display:flex; flex-wrap:wrap; gap:6px; }
[data-pn-block="3218"] .sa-chip { font-size:11.5px; font-weight:500; padding:5px 10px; border-radius:999px; background:var(--c-cream); color:var(--c-accent); border:1px solid var(--c-sand); cursor:pointer; transition:background .15s, border-color .15s; }
[data-pn-block="3218"] .sa-chip:hover { background:var(--c-sand); border-color:var(--c-gold); }
[data-pn-block="3218"] .sa-chip.is-active { background:var(--c-primary); color:var(--c-ivory); border-color:var(--c-primary); }
[data-pn-block="3218"] .sa-back { margin-top:12px; font-size:12.5px; color:var(--c-primary); background:none; border:none; cursor:pointer; padding:0; font-weight:600; }
[data-pn-block="3218"] .sa-back:hover { opacity:.65; }
[data-pn-block="3218"] .sa-divider { height:1px; background:var(--c-sand); margin:12px 0 11px; }
[data-pn-block="3218"] .sa-cta { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; padding:11px 16px; background:var(--c-gold); color:var(--c-accent); font-weight:700; font-size:14px; border-radius:var(--radius-md); text-decoration:none; box-shadow:0 8px 20px -6px color-mix(in srgb, var(--c-gold) 55%, transparent); transition:transform .15s, box-shadow .15s; }
[data-pn-block="3218"] .sa-cta:hover { transform:translateY(-1px); box-shadow:0 13px 28px -6px color-mix(in srgb, var(--c-gold) 70%, transparent); }
[data-pn-block="3218"] .sa-call { text-align:center; font-size:12px; color:var(--c-body); margin-top:9px; }
[data-pn-block="3218"] .sa-call a { color:var(--c-accent); font-weight:700; text-decoration:none; }
[data-pn-block="3218"] .sec-service-areas__loading { position:absolute; left:50%; bottom:24px; transform:translateX(-50%); z-index:600; display:flex; align-items:center; gap:11px; background:var(--c-ivory); padding:10px 16px; border-radius:999px; box-shadow:0 10px 28px color-mix(in srgb, var(--c-accent) 18%, transparent); font-weight:600; font-size:12.5px; color:var(--c-accent); }
[data-pn-block="3218"] .sec-service-areas__loading.is-done { display:none; }
[data-pn-block="3218"] .sa-spinner { width:15px; height:15px; border:2.5px solid var(--c-sand); border-top-color:var(--c-primary); border-radius:50%; display:inline-block; animation:sa-spin .8s linear infinite; }
@keyframes sa-spin { to{ transform:rotate(360deg); } }
@keyframes sa-rise { from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }
[data-pn-block="3218"] .sec-service-areas .leaflet-container { font-family:var(--font-body); background:var(--c-secondary); }
[data-pn-block="3218"] .sec-service-areas .leaflet-interactive { outline:none; }
[data-pn-block="3218"] .sec-service-areas .leaflet-interactive:focus, [data-pn-block="3218"] .sec-service-areas .leaflet-interactive:focus-visible { outline:none; }
[data-pn-block="3218"] .sec-service-areas .leaflet-control-zoom { border:none!important; box-shadow:var(--shadow-soft)!important; border-radius:12px!important; overflow:hidden; margin:18px 18px 0 0!important; }
[data-pn-block="3218"] .sec-service-areas .leaflet-control-zoom a { width:36px; height:36px; line-height:36px; font-size:19px; color:var(--c-accent)!important; background:var(--c-ivory)!important; border:none!important; font-weight:500; }
[data-pn-block="3218"] .sec-service-areas .leaflet-control-zoom a:hover { background:var(--c-cream)!important; }
[data-pn-block="3218"] .sec-service-areas .leaflet-bar a:first-child { border-radius:12px 12px 0 0; }
[data-pn-block="3218"] .sec-service-areas .leaflet-bar a:last-child { border-radius:0 0 12px 12px; border-top:1px solid var(--c-sand)!important; }
[data-pn-block="3218"] .leaflet-tooltip.amelia-tip { background:var(--c-accent); color:var(--c-ivory); border:none; box-shadow:0 6px 18px color-mix(in srgb, var(--c-accent) 30%, transparent); font-family:var(--font-body); font-weight:600; font-size:12px; padding:5px 10px; border-radius:8px; }
[data-pn-block="3218"] .leaflet-tooltip.amelia-tip::before { display:none; border:none; }
[data-pn-block="3218"] .sec-service-areas .leaflet-control-attribution { font-size:10px; background:color-mix(in srgb, var(--c-ivory) 85%, transparent); color:var(--c-body); padding:2px 7px; }
[data-pn-block="3218"] .sec-service-areas .leaflet-control-attribution a { color:var(--c-primary); }
@media (max-width:768px) {
[data-pn-block="3218"] .sec-service-areas { height:auto; min-height:0; }
[data-pn-block="3218"] .sec-service-areas__map { position:relative; inset:auto; height:54vh; min-height:340px; }
[data-pn-block="3218"] .sec-service-areas__card { position:static; width:auto; max-width:none; max-height:none; border-radius:0; animation:none; }
[data-pn-block="3218"] .sa-title { font-size:clamp(20px,5.4vw,24px); }
}