:root{--color-brand: #002868;--color-brand-dark: #001a4d;--color-accent: #bf0a30;--color-accent-dark: #9a0826;--color-gold: #c9a227;--color-gold-dark: #8e7022;--color-gold-darker: #7a6019;--color-surface: #ffffff;--color-surface-2: #f8f9fa;--color-surface-3: #f5f5f5;--color-ink: #0a1628;--color-cream: #faf7f2;--color-border: #e0e0e0;--color-border-2: #e9ecef;--color-text: #1a1a1a;--color-text-muted: #666;--font-display: "Frank Ruhl Libre", Georgia, "Times New Roman", serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--shadow-sm: 0 1px 2px rgba(10,22,40,.06), 0 1px 3px rgba(10,22,40,.1);--shadow-md: 0 4px 6px rgba(10,22,40,.07), 0 10px 24px rgba(10,22,40,.1);--shadow-lg: 0 18px 50px rgba(10,22,40,.18);--fill-color: #002868;--fill-opacity: .2;--spotlight-opacity: .62}.dml .wrap{max-width:1180px;margin:0 auto;padding:clamp(1.5rem,4vw,3.5rem) clamp(1rem,3vw,2rem) 3.5rem}.dml .masthead{text-align:center;margin-bottom:clamp(1.25rem,3vw,2rem)}.dml .eyebrow{font-family:var(--font-body);font-weight:600;font-size:clamp(.66rem,1.4vw,.78rem);letter-spacing:.24em;text-transform:uppercase;color:var(--color-gold-darker);margin:0 0 1rem}.dml .rule{height:2px;width:46px;background:var(--color-gold);margin:0 auto 1.25rem}.dml .masthead h1{font-family:var(--font-display);font-weight:900;color:var(--color-brand);line-height:1.08;letter-spacing:-.015em;font-size:clamp(1.85rem,3.8vw,2.7rem);margin:0 auto 1.25rem;max-width:24ch;text-wrap:balance}.dml .masthead h1 em{color:var(--color-accent);font-style:italic}.dml .subhead{font-size:clamp(.96rem,1.5vw,1.08rem);line-height:1.6;color:#34425a;max-width:60ch;margin:0 auto}.dml .meta-row{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:1.4rem}.dml .pill{display:inline-flex;align-items:center;gap:.5rem;font-size:.74rem;font-weight:600;letter-spacing:.04em;padding:.45rem .8rem;border-radius:999px;background:#fff;border:1px solid var(--color-border);color:var(--color-ink);box-shadow:var(--shadow-sm)}.dml .pill .dot{width:8px;height:8px;border-radius:50%}.dml .pill--district{background:var(--color-brand);color:#fff;border-color:var(--color-brand-dark)}.dml .pill--lean .dot{background:var(--color-accent)}.dml .pill--plan .dot{background:var(--color-gold)}.dml .mapcard{position:relative;background:#fff;border:1px solid var(--color-border);border-radius:10px;box-shadow:var(--shadow-md);overflow:hidden}.dml #map{width:100%;height:clamp(460px,66vh,700px);background:#dde6f0;z-index:0}.dml .leaflet-container{font-family:var(--font-body);background:#dde6f0}.dml .d14-shape{filter:drop-shadow(0 2px 10px rgba(0,40,104,.35))}.dml .d14-shape.draw{stroke-dasharray:var(--d14-len, 8000);stroke-dashoffset:var(--d14-len, 8000)}.dml .d14-shape.draw.in{stroke-dashoffset:0;transition:stroke-dashoffset 2s cubic-bezier(.19,1,.22,1)}.dml .nbr-label{background:#ffffffdb;border:1px solid var(--color-border);color:#5a6678;font-size:11px;font-weight:700;letter-spacing:.06em;padding:1px 6px;border-radius:4px;box-shadow:0 1px 2px #0a162814;white-space:nowrap}.dml .nbr-label b{color:var(--color-brand)}.dml .mk{position:relative}.dml .mk-pin{width:16px;height:16px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--color-brand);border:2px solid #fff;box-shadow:0 2px 5px #0a162866}.dml .mk-pin:after{content:"";position:absolute;inset:0;margin:auto;width:5px;height:5px;border-radius:50%;background:var(--color-gold);transform:translate(-.5px,-.5px)}.dml .mk--southern .mk-pin{background:#1d4e89}.dml .mk--anchor .mk-pin{width:24px;height:24px;background:var(--color-accent);border-width:3px;box-shadow:0 3px 9px #bf0a3073}.dml .mk--anchor .mk-pin:after{width:7px;height:7px;background:#fff}.dml .mk--tampa .mk-pin{border-radius:3px;transform:rotate(0);background:var(--color-gold-dark)}.dml .mk--tampa .mk-pin:after{background:#fff;transform:none}.dml .mk-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-210%);font-size:11px;font-weight:700;color:var(--color-ink);white-space:nowrap;letter-spacing:-.005em;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 5px #fff,0 1px 1px #fff;pointer-events:none}.dml .mk--anchor .mk-label{transform:translate(-50%,-150%);font-size:12.5px;color:var(--color-accent-dark)}.dml .maphide-labels .mk-label{display:none}.dml .mk:hover{z-index:9999!important}.dml .mk:hover .mk-pin{filter:brightness(1.12)}.dml .leaflet-popup-content-wrapper{border-radius:8px;box-shadow:var(--shadow-lg);border-top:3px solid var(--color-brand);padding:2px 2px 0}.dml .leaflet-popup-content{margin:.9rem 1.05rem 1rem;font-family:var(--font-body);line-height:1.5}.dml .pop-zone{font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--color-gold-darker);margin:0 0 .3rem}.dml .pop-name{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--color-brand);margin:0 0 .35rem;letter-spacing:-.01em}.dml .pop-blurb{font-size:.86rem;color:#41506a;margin:0 0 .6rem}.dml .pop-link{display:inline-flex;align-items:center;gap:.3rem;font-size:.76rem;font-weight:600;color:var(--color-accent);text-decoration:none}.dml .pop-link:hover{color:var(--color-accent-dark);text-decoration:underline}.dml .leaflet-popup-tip{box-shadow:var(--shadow-md)}.dml .panel{position:absolute;z-index:600;background:#fffffff5;backdrop-filter:blur(6px);border:1px solid var(--color-border);border-radius:9px;box-shadow:var(--shadow-md)}.dml .toolbar{top:14px;left:14px;padding:10px;width:min(290px,calc(100% - 76px))}.dml .search{position:relative;margin-bottom:9px}.dml .search input{width:100%;font-family:var(--font-body);font-size:.84rem;padding:.5rem .6rem .5rem 1.9rem;border-radius:6px;border:1px solid var(--color-border-2);background:#fff;color:var(--color-ink);outline:none}.dml .search input:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px #0028681f}.dml .search svg{position:absolute;left:.55rem;top:50%;transform:translateY(-50%);width:15px;height:15px;color:#8a93a3}.dml .search-results{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:50;background:#fff;border:1px solid var(--color-border);border-radius:6px;box-shadow:var(--shadow-lg);max-height:230px;overflow-y:auto;display:none}.dml .search-results.open{display:block}.dml .search-results button{display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:.5rem;background:none;border:0;border-bottom:1px solid var(--color-border-2);padding:.5rem .7rem;cursor:pointer;text-align:left;font-family:var(--font-body)}.dml .search-results button:last-child{border-bottom:0}.dml .search-results button:hover,.dml .search-results button.active{background:var(--color-cream)}.dml .search-results .sr-name{font-weight:600;font-size:.84rem;color:var(--color-ink)}.dml .search-results .sr-zone{font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-gold-darker)}.dml .layers{display:flex;flex-wrap:wrap;gap:6px}.dml .chip{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:600;letter-spacing:.01em;padding:.36rem .55rem;border-radius:6px;cursor:pointer;user-select:none;background:var(--color-surface-2);border:1px solid var(--color-border-2);color:#46506a;transition:all .14s ease}.dml .chip .swatch{width:11px;height:11px;border-radius:3px;flex:none}.dml .chip[aria-pressed=true]{background:var(--color-brand);border-color:var(--color-brand-dark);color:#fff}.dml .chip[aria-pressed=true] .swatch{box-shadow:0 0 0 1.5px #ffffffb3}.dml .chip:hover{border-color:#c4ccd6}.dml .chip[aria-pressed=true]:hover{filter:brightness(1.08)}.dml .basemap{bottom:14px;left:14px;padding:4px;display:flex;gap:3px}.dml .basemap button{font-family:var(--font-body);font-size:.74rem;font-weight:600;letter-spacing:.02em;border:0;background:none;color:#46506a;cursor:pointer;padding:.4rem .7rem;border-radius:6px;transition:all .14s ease}.dml .basemap button[aria-pressed=true]{background:var(--color-brand);color:#fff;box-shadow:var(--shadow-sm)}.dml .legend{bottom:14px;right:14px;padding:11px 13px;max-width:220px}.dml .legend .legend-title{font-family:var(--font-display);font-weight:700;font-size:.78rem;margin:0 0 .55rem;color:var(--color-ink);letter-spacing:.01em}.dml .legend ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.dml .legend li{display:flex;align-items:center;gap:.55rem;font-size:.73rem;color:#41506a}.dml .lg{width:18px;height:13px;flex:none;border-radius:2px}.dml .lg--d14{background:#00286838;border:1.5px solid var(--color-brand)}.dml .lg--nbr{background:transparent;border:1.5px dashed #9aa6b6}.dml .lg--cty{background:transparent;border-top:2px dashed var(--color-accent);border-radius:0;height:0;align-self:center}.dml .lg-pin{width:12px;height:12px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--color-brand);border:1.5px solid #fff;flex:none}.dml .lg-pin--anchor{background:var(--color-accent)}.dml .lg-pin--tampa{border-radius:2px;transform:none;background:var(--color-gold-dark)}.dml .locator{top:14px;right:14px;padding:9px 10px 7px;width:150px}.dml .locator svg{display:block;width:100%;height:auto}.dml .locator .loc-state{fill:var(--color-cream);stroke:#c9cfd8;stroke-width:1;stroke-linejoin:round}.dml .locator .loc-dot{fill:var(--color-accent);stroke:#fff;stroke-width:1.5}.dml .locator .loc-ring{fill:none;stroke:var(--color-accent);stroke-width:1.5;opacity:.5}.dml .locator-cap{font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-gold-darker);text-align:center;margin:4px 0 0}.dml .reset{position:absolute;z-index:600;top:14px;left:50%;transform:translate(-50%);display:none}.dml .reset.show{display:block}.dml .reset button{font-family:var(--font-body);font-size:.74rem;font-weight:600;background:#fffffff5;border:1px solid var(--color-border);color:var(--color-brand);padding:.4rem .8rem;border-radius:999px;cursor:pointer;box-shadow:var(--shadow-md);display:inline-flex;align-items:center;gap:.4rem}.dml .reset button:hover{background:#fff;border-color:var(--color-brand)}.dml .leaflet-bar a{color:var(--color-brand);border-color:var(--color-border);font-weight:600}.dml .leaflet-bar a:hover{background:var(--color-cream);color:var(--color-brand-dark)}.dml .leaflet-control-zoom{box-shadow:var(--shadow-md);border-radius:8px;overflow:hidden}.dml .leaflet-control-attribution{font-size:10px;background:#ffffffd1}.dml .caption{margin:.85rem .2rem 0;font-size:.74rem;color:var(--color-text-muted);line-height:1.5;text-align:center}.dml .caption strong{color:#41506a;font-weight:600}.dml .stats{list-style:none;margin:2.4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem}.dml .stat{background:#fff;border:1px solid var(--color-border);border-top:3px solid var(--color-brand);border-radius:8px;padding:1.15rem 1.2rem;box-shadow:var(--shadow-sm)}.dml .stat .v{font-family:var(--font-display);font-weight:900;font-size:clamp(1.9rem,3.2vw,2.5rem);line-height:1;color:var(--color-brand);letter-spacing:-.02em}.dml .stat .l{font-family:var(--font-body);font-weight:700;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-ink);margin-top:.5rem}.dml .stat .c{font-size:.78rem;line-height:1.5;color:var(--color-text-muted);margin-top:.55rem}.dml .commsec{margin-top:2.6rem}.dml .commsec h2{font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--color-ink);text-align:center;margin:0 0 .4rem}.dml .commsec p.sub{text-align:center;font-size:.82rem;color:var(--color-text-muted);margin:0 0 1.3rem}.dml .commgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.dml .commgrid li{display:flex}.dml .commgrid button{display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:.5rem;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:6px;padding:.55rem .75rem;cursor:pointer;font-family:var(--font-body);text-align:left;transition:all .14s ease}.dml .commgrid button:hover{background:var(--color-cream);border-color:var(--color-gold-darker);transform:translateY(-1px)}.dml .commgrid .cg-name{font-family:var(--font-display);font-weight:700;font-size:.92rem;color:var(--color-ink);letter-spacing:-.01em}.dml .commgrid .cg-zone{font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-gold-darker)}@media(min-width:640px){.dml .stats{grid-template-columns:repeat(4,1fr)}.dml .commgrid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.dml .commgrid{grid-template-columns:repeat(4,1fr)}}@media(max-width:560px){.dml .locator,.dml .legend{display:none}.dml .toolbar{width:calc(100% - 28px)}}@media(prefers-reduced-motion:reduce){.dml .d14-shape.draw{stroke-dasharray:none!important;stroke-dashoffset:0!important}.dml .commgrid button:hover{transform:none}}
