:root{
  --home-navy:#172033;
  --home-green:#006231;
  --home-green-dark:#004c2e;
  --home-green-soft:#eaf4ee;
  --home-gold:#d1be78;
  --home-ink:#172033;
  --home-muted:#5a6e7f;
  --home-line:#d7e2dc;
  --home-surface:#ffffff;
  --home-bg:#f5f8f6;
}

.wc-home-landing-page{background:var(--home-bg);color:var(--home-ink)}
.wc-home-landing-page #content{max-width:none;padding:0}
html.wc-embedded-budget-landing nav#nav-menu:not(.is-search-open){display:none!important}
html.wc-embedded-budget-landing nav#nav-menu.is-search-open{display:flex!important;position:fixed!important;inset:0!important;height:0!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;z-index:20000!important}
html.wc-embedded-budget-landing nav#nav-menu.is-search-open>.logo-container,
html.wc-embedded-budget-landing nav#nav-menu.is-search-open>.wc-nav-links,
html.wc-embedded-budget-landing nav#nav-menu.is-search-open>.wc-nav-actions{visibility:hidden!important}
html.wc-embedded-budget-landing{overscroll-behavior-y:contain}
html.wc-embedded-budget-landing body{display:flex;min-height:100vh;min-height:100dvh;flex-direction:column;overscroll-behavior-y:contain}
html.wc-embedded-budget-landing #layout{display:block!important;min-height:0;flex:1 0 auto;padding-top:94px}
html.wc-embedded-budget-landing footer[role="contentinfo"]{margin-top:auto!important}
.wc-explorer-popup-header{display:none}
html.wc-embedded-budget-landing .wc-explorer-popup-header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:76px;padding:9px max(82px,calc((100% - 1500px)/2)) 9px max(24px,calc((100% - 1500px)/2));border-bottom:1px solid var(--home-line);background:#fff}
html.wc-embedded-budget-landing .wc-explorer-popup-header{--wc-publication-brand-top:var(--home-green);--wc-publication-brand-bottom:var(--home-green)}
.wc-explorer-header-search{width:min(600px,48vw);flex:0 1 600px}
.wc-explorer-header-search .wc-home-search-form{padding:3px 4px 3px 13px;box-shadow:none}
.wc-explorer-header-search .wc-home-search-form input{padding:7px 9px;font-size:.8rem}
.wc-explorer-header-search .wc-home-search-form button{padding:9px 17px;font-size:.7rem}
html.wc-embedded-budget-landing .wc-explorer-intro{padding-top:16px}
.wc-explorer-home{width:min(1500px,calc(100% - 36px));margin:0 auto;padding:22px 0 34px}
.wc-explorer-eyebrow,.wc-explorer-section-label{margin:0 0 6px;color:var(--home-green);font-size:.66rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}

.wc-explorer-intro{display:block;padding:38px 5px 23px}
.wc-explorer-intro-categories-section{padding-top:8px}
.wc-explorer-intro-categories-section h2{font-size:1.35rem}
.wc-explorer-intro-copy-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);align-items:center;gap:34px}
.wc-explorer-intro-copy p{max-width:1000px;margin:10px 0 0;color:var(--home-muted);font-size:1rem;line-height:1.65}
.wc-explorer-intro-copy p strong{color:var(--home-navy)}
.wc-explorer-intro-lede{max-width:640px;font-size:1.02rem}
.wc-explorer-intro-views{display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:22px 36px;margin:20px 0 0;padding:0}
.wc-explorer-intro-views>div{min-width:0}
.wc-explorer-intro-views dt{margin:0 0 8px;color:var(--home-navy);font-size:.95rem;font-weight:800;letter-spacing:-.01em;line-height:1.3}
.wc-explorer-intro-views dd{margin:0;color:var(--home-muted);font-size:.82rem;line-height:1.6}
.wc-full-budget-feature{display:flex;align-items:center;gap:13px;min-height:0;padding:14px 18px;border:1px solid rgba(0,98,49,.24);border-left:4px solid var(--home-gold);border-radius:14px;background:linear-gradient(135deg,#edf6f0 0%,#fff 100%);color:var(--home-navy);text-decoration:none;box-shadow:0 8px 20px rgba(18,70,45,.07);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.wc-full-budget-feature:hover{transform:translateY(-2px);border-color:#77b192;box-shadow:0 12px 26px rgba(18,70,45,.11)}
.wc-full-budget-feature:focus-visible{outline:3px solid var(--home-gold);outline-offset:3px}
.wc-full-budget-feature-icon{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:12px;background:var(--home-green);color:#fff}
.wc-full-budget-feature-icon svg{width:22px;height:22px}
.wc-full-budget-feature-copy{display:flex;min-width:0;flex:1;flex-direction:column}
.wc-full-budget-feature-copy small{color:var(--home-green);font-size:.6rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.wc-full-budget-feature-copy strong{margin-top:3px;font-size:.94rem;line-height:1.15}
.wc-full-budget-feature-copy em{margin-top:3px;color:var(--home-muted);font-size:.72rem;font-style:normal;line-height:1.4}
.wc-full-budget-feature>b{color:var(--home-green);font-size:1.1rem}
.wc-explorer-intro h2{margin:0;color:var(--home-navy);font-size:clamp(1.65rem,3vw,2.55rem);letter-spacing:-.04em;line-height:1.05}
.wc-explorer-intro>div>p{max-width:800px;margin:10px 0 0;color:var(--home-muted);font-size:.8rem;line-height:1.65}
.wc-explorer-intro-icons{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:30px;padding-top:26px;border-top:1px solid var(--home-line)}
.wc-explorer-intro-icon-link{display:flex;align-items:center;gap:10px;padding:9px 16px 9px 10px;border:1px solid var(--home-line);border-radius:999px;background:rgba(255,255,255,.72);color:var(--home-navy);text-decoration:none;font-size:.78rem;font-weight:700;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.wc-explorer-intro-icon-link:hover{transform:translateY(-2px);border-color:#77b192;box-shadow:0 10px 22px rgba(18,70,45,.09)}
.wc-explorer-intro-icon-link:focus-visible{outline:3px solid var(--home-gold);outline-offset:2px}
.wc-explorer-intro-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 auto;border-radius:50%;background:var(--home-green-soft);color:var(--home-green)}
.wc-explorer-intro-icon svg{width:17px;height:17px}
.wc-explorer-intro-facts{display:flex;gap:12px}
.wc-explorer-intro-facts>div{display:grid;grid-template-columns:34px auto;grid-template-rows:auto auto;column-gap:10px;min-width:150px;padding:13px 17px;border:1px solid var(--home-line);border-radius:13px;background:rgba(255,255,255,.72)}
.wc-home-search{display:grid;grid-template-columns:minmax(220px,.45fr) minmax(360px,1fr);align-items:center;gap:28px;margin:0 0 24px;padding:20px 22px;border:1px solid var(--home-line);border-radius:18px;background:linear-gradient(135deg,#edf6f0 0%,#f8fbf9 100%);box-shadow:0 8px 24px rgba(0,63,40,.06)}
.wc-home-search h2{margin:0;color:var(--home-navy);font-size:1.15rem;line-height:1.2}
.wc-home-search p{margin:5px 0 0;color:var(--home-muted);font-size:.8rem;line-height:1.5}
.wc-home-search-form{display:flex;align-items:center;min-width:0;padding:5px 5px 5px 15px;border:1px solid #b9cdc1;border-radius:999px;background:#fff;box-shadow:0 5px 16px rgba(0,63,40,.08)}
.wc-home-search-form:focus-within{border-color:var(--home-green);box-shadow:0 0 0 3px rgba(0,98,49,.12),0 5px 16px rgba(0,63,40,.08)}
.wc-home-search-form svg{width:19px;height:19px;flex:0 0 auto;color:var(--home-green)}
.wc-home-search-form input{min-width:0;flex:1;padding:8px 11px;border:0;outline:0;background:transparent;color:var(--home-ink);font:inherit;font-size:.85rem}
.wc-home-search-form input::placeholder{color:#78899a}
.wc-home-search-form button{flex:0 0 auto;padding:10px 20px;border:0;border-radius:999px;background:var(--home-green);color:#fff;cursor:pointer;font:inherit;font-size:.76rem;font-weight:850}
.wc-home-search-form button:hover{background:var(--home-green-dark)}
.wc-home-search-input-wrap{position:relative;min-width:0}
.wc-home-search-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:40;max-height:360px;overflow-y:auto;padding:6px;border:1px solid #b9cdc1;border-radius:14px;background:#fff;box-shadow:0 12px 32px rgba(0,63,40,.14)}
.wc-home-search-dropdown[hidden]{display:none}
.wc-home-search-result{display:flex;flex-direction:column;gap:1px;padding:9px 12px;border-radius:9px;color:var(--home-ink);text-decoration:none}
.wc-home-search-result:hover,.wc-home-search-result.is-active{background:var(--home-green-soft)}
.wc-home-search-result strong{font-size:.86rem;font-weight:700}
.wc-home-search-result span{font-size:.7rem;color:var(--home-muted)}
.wc-home-search-empty{padding:10px 12px;font-size:.78rem;color:var(--home-muted)}
.wc-explorer-intro-facts span{grid-row:1/3;align-self:center;color:#49a878;font-size:1.45rem}
.wc-explorer-intro-facts strong{color:var(--home-navy);font-size:1rem;line-height:1}
.wc-explorer-intro-facts small{margin-top:3px;color:var(--home-muted);font-size:.59rem;font-weight:700;text-transform:uppercase}

.wc-explorer-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.wc-explorer-card-grid-categories{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.wc-explorer-card-grid-secondary{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin-top:14px}
.wc-explorer-card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;padding:22px 22px 18px;border:1px solid var(--home-line);border-radius:18px;background:var(--home-surface);color:var(--home-ink);text-decoration:none;box-shadow:0 5px 16px rgba(28,56,43,.035);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.wc-explorer-card:hover{transform:translateY(-3px);border-color:#77b192;box-shadow:0 15px 30px rgba(18,70,45,.09)}
.wc-explorer-card:focus-visible{outline:3px solid var(--home-gold);outline-offset:3px}
.wc-explorer-card-heading{display:block}
.wc-explorer-card-heading h3{margin:1px 0 0;color:var(--home-navy);font-size:1.04rem;letter-spacing:-.02em}
.wc-explorer-card-heading p{margin:4px 0 0;color:var(--home-muted);font-size:.75rem;line-height:1.5}
.wc-explorer-card-body{display:grid;grid-template-columns:1fr 130px;gap:24px;align-items:center;min-height:132px;padding:12px 0 17px}
.wc-explorer-card-primary strong{display:block;color:var(--home-green);font-size:clamp(1.65rem,3vw,2.35rem);font-weight:900;letter-spacing:-.045em;line-height:1}
.wc-explorer-card-primary span{display:block;margin-top:7px;color:var(--home-navy);font-size:.67rem;font-weight:850}
.wc-explorer-card-primary small{display:block;margin-top:5px;color:var(--home-green);font-size:.61rem;font-weight:750}
.wc-card-revenue .wc-explorer-card-body,.wc-card-personnel .wc-explorer-card-body,.wc-card-departments .wc-explorer-card-body,.wc-card-capital .wc-explorer-card-body,.wc-card-constitutional .wc-explorer-card-body,.wc-card-independent .wc-explorer-card-body{min-height:150px;flex:1}
.wc-card-revenue .wc-explorer-card-primary strong,.wc-card-personnel .wc-explorer-card-primary strong,.wc-card-departments .wc-explorer-card-primary strong,.wc-card-capital .wc-explorer-card-primary strong,.wc-card-constitutional .wc-explorer-card-primary strong,.wc-card-independent .wc-explorer-card-primary strong{font-size:clamp(2.2rem,4vw,3.15rem)}
.wc-card-revenue .wc-explorer-card-primary span,.wc-card-personnel .wc-explorer-card-primary span,.wc-card-departments .wc-explorer-card-primary span,.wc-card-capital .wc-explorer-card-primary span,.wc-card-constitutional .wc-explorer-card-primary span,.wc-card-independent .wc-explorer-card-primary span{margin-top:10px;font-size:.76rem}
.wc-card-revenue .wc-explorer-card-primary small,.wc-card-personnel .wc-explorer-card-primary small,.wc-card-departments .wc-explorer-card-primary small,.wc-card-capital .wc-explorer-card-primary small,.wc-card-constitutional .wc-explorer-card-primary small,.wc-card-independent .wc-explorer-card-primary small{margin-top:8px;font-size:.9rem;font-weight:850}

.wc-mini-donut{position:relative;width:104px;height:104px;margin:auto;border-radius:50%;background:conic-gradient(#087443 0 48%,#4da985 48% 67%,#78bed0 67% 82%,#d1be78 82% 100%)}
.wc-mini-donut:after{content:"";position:absolute;inset:24px;border-radius:50%;background:var(--home-surface)}
.wc-mini-donut span{position:absolute;z-index:1;inset:36px;border-radius:50%;background:var(--home-green-soft)}
.wc-dollar-mark{position:relative;height:98px;display:flex;align-items:flex-end;justify-content:center}
.wc-dollar-mark i{position:absolute;left:50%;width:88px;height:32px;border-radius:50%;transform:translateX(-50%)}
.wc-dollar-mark i:nth-child(1){bottom:0;background:#bcdccb}
.wc-dollar-mark i:nth-child(2){bottom:15px;background:#4da985}
.wc-dollar-mark i:nth-child(3){bottom:30px;background:var(--home-green)}
.wc-people-mark{display:flex;align-items:flex-end;justify-content:center;height:98px}
.wc-people-mark i{position:relative;width:28px;height:42px;margin:0 -2px;border-radius:16px 16px 7px 7px;background:#62ae8a}
.wc-people-mark i:before{content:"";position:absolute;top:-22px;left:5px;width:18px;height:18px;border-radius:50%;background:#62ae8a}
.wc-people-mark i:nth-child(2){z-index:1;width:34px;height:51px;background:var(--home-green)}
.wc-people-mark i:nth-child(2):before{left:6px;width:22px;height:22px;background:var(--home-green)}
.wc-office-badges{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:9px;width:100%;height:98px;align-content:center}
.wc-office-badges i{position:relative;border-radius:9px;background:#d7e9de}
.wc-office-badges i:before{content:"";position:absolute;inset:0;margin:auto;width:11px;height:11px;border-radius:50%;background:var(--home-green)}
.wc-office-badges i:nth-child(1),.wc-office-badges i:nth-child(4){background:var(--home-green)}
.wc-office-badges i:nth-child(1):before,.wc-office-badges i:nth-child(4):before{background:#fff}
.wc-office-badges i:nth-child(3),.wc-office-badges i:nth-child(5){background:var(--home-gold)}
.wc-office-badges i:nth-child(3):before,.wc-office-badges i:nth-child(5):before{background:var(--home-navy)}
.wc-road-mark{position:relative;display:flex;align-items:flex-end;justify-content:center;height:98px}
.wc-road-shape{width:90px;height:88px;background:var(--home-green);clip-path:polygon(41% 0%, 59% 0%, 100% 100%, 0% 100%)}
.wc-road-dash{position:absolute;left:50%;width:6px;height:13px;border-radius:3px;background:#cfe6da;transform:translateX(-50%)}
.wc-road-dash:nth-child(2){bottom:14px}
.wc-road-dash:nth-child(3){bottom:38px}
.wc-road-dash:nth-child(4){bottom:62px}
.wc-department-mark{display:flex;align-items:flex-end;justify-content:center;gap:6px;height:98px}
.wc-department-mark i{width:14px;border-radius:6px 6px 3px 3px;background:#62ae8a}
.wc-department-mark i:nth-child(1){height:46px}
.wc-department-mark i:nth-child(2){height:72px;background:var(--home-green)}
.wc-department-mark i:nth-child(3){height:58px;background:#4da985}
.wc-department-mark i:nth-child(4){height:88px;background:var(--home-green)}
.wc-department-mark i:nth-child(5){height:64px;background:#4da985}

.wc-explorer-stat-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-height:77px;padding:10px 0 15px;border-top:1px solid #edf1ee}
.wc-explorer-stat-pair>div{padding:9px 12px;border-radius:10px;background:#f3f7f4}
.wc-explorer-stat-pair span{display:block;color:var(--home-muted);font-size:.57rem;text-transform:uppercase}
.wc-explorer-stat-pair strong{display:block;margin-top:5px;color:var(--home-navy);font-size:.9rem}
.wc-explorer-card-action{display:flex;align-items:center;justify-content:center;min-height:35px;margin-top:auto;border:1px solid #8cbda2;border-radius:7px;color:var(--home-green);font-size:.65rem;font-weight:900;transition:background .18s ease,color .18s ease}
.wc-explorer-card-action b{margin-left:8px;font-size:.9rem}.wc-explorer-card:hover .wc-explorer-card-action{background:var(--home-green);color:#fff}

@media(min-width:1350px){.wc-explorer-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wc-explorer-card-body{grid-template-columns:1fr 112px}.wc-mini-donut{width:94px;height:94px}.wc-mini-donut:after{inset:22px}.wc-mini-donut span{inset:33px}.wc-dollar-mark,.wc-road-mark,.wc-department-mark{height:88px;transform:scale(.9);transform-origin:bottom center}}
@media(max-width:900px){.wc-explorer-intro-copy-row{grid-template-columns:1fr}.wc-full-budget-feature{min-height:0}}
@media(max-width:760px){html.wc-embedded-budget-landing #layout{padding-top:138px}html.wc-embedded-budget-landing .wc-explorer-popup-header{align-items:stretch;flex-direction:column;gap:8px;padding:10px 70px 12px 14px}.wc-explorer-header-search{width:100%;flex-basis:auto}.wc-explorer-home{width:min(100% - 22px,1500px);padding-top:12px}.wc-explorer-intro{padding:30px 3px 20px}.wc-explorer-intro-facts{display:grid;grid-template-columns:1fr 1fr}.wc-home-search{grid-template-columns:1fr;gap:14px;padding:18px}.wc-explorer-card-grid{grid-template-columns:1fr}.wc-explorer-card-grid-categories,.wc-explorer-card-grid-secondary{grid-template-columns:1fr!important}.wc-explorer-intro-views{grid-template-columns:1fr 1fr;gap:20px 28px}}
@media(max-width:430px){.wc-explorer-intro-facts{grid-template-columns:1fr}.wc-home-search-form{padding-left:12px}.wc-home-search-form button{padding-inline:14px}.wc-explorer-card{min-height:0;padding:19px 17px 16px}.wc-explorer-card-body{grid-template-columns:1fr 90px;gap:10px}.wc-mini-donut{width:82px;height:82px}.wc-mini-donut:after{inset:19px}.wc-mini-donut span{inset:29px}.wc-dollar-mark,.wc-road-mark,.wc-department-mark{height:72px;transform:scale(.72);transform-origin:bottom center}.wc-explorer-intro-views{grid-template-columns:1fr;gap:18px}}
@media(prefers-reduced-motion:reduce){.wc-explorer-card,.wc-explorer-card-action{transition:none}}

html.wc-home-explorer-open{height:100%;overflow:hidden;overscroll-behavior:none}
body.wc-home-explorer-open{position:fixed;left:0;right:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
/* The sitewide "Still looking for something?" footer sits in normal
   document flow at the bottom of the page, well below the fixed-position
   explorer/department modals -- it should always be fully occluded by
   them, but has been observed peeking through under the popup's edges in
   some browsers regardless of the z-index stack. Hiding it outright
   whenever any home explorer modal is open (this class covers both) is a
   simple, reliable guarantee rather than chasing that stacking quirk. */
body.wc-home-explorer-open footer[role="contentinfo"]{display:none!important}
.wc-home-explorer-modal{position:fixed;inset:0;z-index:20000;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:18px;background:#0b2a20;overscroll-behavior:contain;isolation:isolate}
.wc-home-explorer-modal[hidden]{display:none}
.wc-home-explorer-modal.is-department-popup-open{overflow:hidden}
.wc-home-explorer-modal.is-department-popup-open>.wc-home-explorer-modal-wave,
.wc-home-explorer-modal.is-department-popup-open>.wc-home-explorer-modal-backdrop,
.wc-home-explorer-modal.is-department-popup-open>.wc-home-explorer-modal-panel{display:none!important}
.wc-home-explorer-modal-wave{position:fixed;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.72) saturate(.9);pointer-events:none}
.wc-home-explorer-modal-backdrop{position:fixed;z-index:1;inset:0;background:rgba(3,38,28,.22);pointer-events:none}
/* Sizes to its own content (head + body + footer) up to the viewport cap,
   rather than always opening near-full height -- a short explorer (e.g.
   Independent Agencies with only a few cards) no longer leaves empty space
   below its footer. Content here is built directly into the DOM (not an
   iframe like the department popup), so the browser's own layout keeps
   this in sync automatically -- no JS height measurement needed. Content
   taller than the cap scrolls inside .wc-home-explorer-modal-body instead
   of the whole page, so the head/footer chrome stays pinned in view. */
.wc-home-explorer-modal-panel{position:relative;z-index:2;display:flex;flex-direction:column;width:min(1500px,100%);max-height:calc(100vh - 36px);max-height:calc(100dvh - 36px);margin:0;overflow:hidden;border:1px solid rgba(0,63,40,.16);border-radius:22px;background:var(--light);box-shadow:0 28px 80px rgba(0,27,17,.34)}
/* Opens small and holds there for MIN_POPUP_REVEAL_MS (see
   home-explorer-modal.js) before revealing at full content size -- the same
   deliberate reveal the department/org-chart/GFOA-award popups use, so
   every popup in the explorer reads as one consistent motion. */
.wc-home-explorer-modal.is-loading .wc-home-explorer-modal-panel{height:360px;max-height:360px}
.wc-home-explorer-modal.is-loading .wc-home-explorer-modal-body,
.wc-home-explorer-modal.is-loading .wc-home-explorer-modal-footer{visibility:hidden}
.wc-home-explorer-modal.is-loading .wc-home-explorer-modal-panel::after{content:"Loading explorer…";position:absolute;inset:62px 0 0;display:grid;place-items:center;background:var(--light);color:var(--green);font-size:.8rem;font-weight:800;letter-spacing:.04em}
.wc-home-explorer-modal-head{position:static;flex:0 0 auto;display:flex;align-items:center;gap:16px;padding:15px 24px;border-bottom:1px solid var(--border);border-radius:20px 20px 0 0;background:var(--light);box-shadow:0 4px 14px rgba(0,27,17,.08)}
.wc-home-explorer-modal-heading{flex:1 1 auto;min-width:0;overflow:hidden}
.wc-home-explorer-modal-heading h2{margin:0;overflow:hidden;color:var(--navy);font-size:1.45rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.wc-home-explorer-modal-close{display:grid;width:38px;height:38px;margin-left:0;padding:0;place-items:center;border:1px solid var(--border);border-radius:50%;background:#f5f8f6;color:var(--navy);font:inherit;font-size:1.45rem;line-height:1;cursor:pointer}
.wc-home-explorer-modal-close:hover{background:#eaf3ed}
.wc-home-explorer-modal-close:focus-visible{outline:3px solid rgba(121,185,154,.58);outline-offset:2px}
.wc-home-explorer-modal-body{flex:1 1 auto;min-width:0;min-height:0;overflow-y:auto;padding:24px;background:linear-gradient(135deg,#f4f8f5 0%,#eef7f1 100%)}
.wc-home-explorer-modal-footer{position:relative;z-index:2;flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:18px clamp(22px,4vw,64px) 16px;border-top:1px solid rgba(36,52,77,.1);border-radius:0 0 20px 20px;background:#f6f8f5;color:var(--home-ink)}
.wc-home-explorer-modal-footer button{padding:0;border:0;background:transparent;color:#172033;cursor:pointer;font:inherit;font-size:11px;font-weight:700;letter-spacing:.02em}
.wc-home-explorer-modal-footer nav{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:18px}
.wc-home-explorer-modal-footer button:hover{color:#004b2d}
.wc-home-explorer-modal.is-utility-page>.wc-home-explorer-modal-panel{height:calc(100vh - 36px);height:calc(100dvh - 36px);min-height:0}
.wc-home-explorer-modal.is-utility-page .wc-home-explorer-modal-body{display:flex;min-height:0;padding:0;overflow:hidden;background:var(--light)}
.wc-home-explorer-modal.is-utility-page .wc-home-explorer-modal-footer{display:none}
.wc-home-explorer-utility-frame{display:block;width:100%;min-height:0;flex:1;border:0;background:var(--light)}
.wc-home-explorer-modal-body>.wc-data-loading{min-height:280px}
.wc-home-explorer-modal-body .wc-department-explorer,.wc-home-explorer-modal-body .wc-personnel-explorer,.wc-home-explorer-modal-body .wc-revenue-concentration{margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.wc-home-explorer-modal-body .wc-revenue-concentration-head h3,
.wc-home-explorer-modal-body .wc-personnel-explorer-head>div:first-child>h2,
.wc-home-explorer-modal-body .wc-department-explorer-head>div:first-child>h2{display:none}
.wc-home-explorer-modal-body .wc-revenue-source-dialog{z-index:21000}
/* Budget-detail dialogs are appended to <body>, not inside the explorer.
   Raise office pickers and other drill-down dialogs above the home explorer
   while it is open so their controls remain visible and clickable. */
body.wc-home-explorer-open .wc-budget-detail-modal{z-index:21000}
.wc-home-department-modal{position:fixed;inset:0;z-index:22000;display:flex;align-items:center;justify-content:center;padding:18px;background:#0b2a20;overflow:hidden;overscroll-behavior:none;box-sizing:border-box}
.wc-home-department-modal[hidden]{display:none}
.wc-home-department-modal-wave{display:block;position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.72) saturate(.9);pointer-events:none}
.wc-home-department-modal-backdrop{position:absolute;z-index:1;inset:0;background:rgba(3,38,28,.22)}
/* Height defaults to the near-full-viewport calc() below (matching the
   loading state's own height) until JS measures the loaded page's actual
   content height and sets a shorter inline height on this element -- see
   updateDepartmentModalHeight() in home-explorer-modal.js. That keeps a
   short page (Public Defender, State Attorney, etc.) from sitting inside a
   tall panel with empty space below its footer; max-height still caps any
   page at the viewport so a tall one behaves exactly as before. */
.wc-home-department-modal-panel{position:relative;z-index:2;display:flex;width:min(1500px,100%);height:calc(100vh - 36px);height:calc(100dvh - 36px);max-height:calc(100vh - 36px);max-height:calc(100dvh - 36px);min-height:0;margin:0;flex-direction:column;overflow:hidden;border:1px solid rgba(0,63,40,.16);border-radius:22px;background:var(--light);box-shadow:0 28px 80px rgba(0,27,17,.34);box-sizing:border-box;transition:height .22s ease}
.wc-home-department-modal.is-loading .wc-home-department-modal-panel{transition:none}
@media(prefers-reduced-motion:reduce){.wc-home-department-modal-panel{transition:none}}
.wc-home-department-modal.is-loading .wc-home-department-modal-panel::after{content:"Loading budget page…";position:absolute;inset:62px 0 0;display:grid;place-items:center;background:var(--light);color:var(--green);font-size:.8rem;font-weight:800;letter-spacing:.04em}
.wc-home-department-modal-head{display:flex;align-items:center;gap:16px;padding:13px 24px;border-bottom:1px solid var(--border);background:var(--light)}
.wc-home-department-modal-head h2{margin:0;color:var(--navy);font-size:1.2rem}
.wc-home-department-modal-back{display:inline-flex;align-items:center;flex:0 0 auto;height:32px;padding:0 12px;border:1px solid rgba(0,98,49,.14);border-radius:999px;background:#fff;color:var(--green);font:inherit;font-size:.78rem;font-weight:800;white-space:nowrap;cursor:pointer}
.wc-home-department-modal-back[hidden]{display:none}
.wc-home-department-modal-back:hover{border-color:var(--green)}
.wc-home-department-modal-close{display:grid;width:38px;height:38px;margin-left:auto;padding:0;place-items:center;border:1px solid var(--border);border-radius:50%;background:#f5f8f6;color:var(--navy);font:inherit;font-size:1.45rem;line-height:1;cursor:pointer}
.wc-home-department-modal-frame{display:block;width:100%;min-height:0;flex:1;border:0;background:var(--light);overscroll-behavior:contain}
.wc-home-department-modal.is-loading .wc-home-department-modal-frame{visibility:hidden}
/* Interactive budget book: it draws its own minimal, floating chrome (page
   arrows, page indicator, download/fullscreen/close -- see
   budget-book-viewer.js/.css) over the wave video, so this popup's own
   opaque header and panel background are dropped instead of layering a
   second, redundant set of chrome on top. */
.wc-home-department-modal.is-budget-book{padding:4px}
.wc-home-department-modal.is-budget-book .wc-home-department-modal-head{display:none}
.wc-home-department-modal.is-budget-book .wc-home-department-modal-panel{width:min(2000px,100%);height:calc(100vh - 8px);height:calc(100dvh - 8px);max-height:calc(100vh - 8px);max-height:calc(100dvh - 8px);border:0;border-radius:0;background:transparent;box-shadow:none}
.wc-home-department-modal.is-budget-book .wc-home-department-modal-frame{background:transparent}
.wc-home-department-modal.is-budget-book.is-loading .wc-home-department-modal-panel::after{inset:0;background:rgba(3,38,28,.4);color:#fff}
.wc-home-explorer-modal-body .wc-department-budget-cards{margin-top:18px}
.wc-home-explorer-modal-body .wc-revenue-view-actions,.wc-home-explorer-modal-body .wc-department-ledger-actions{gap:12px;margin-top:12px}
.wc-home-explorer-modal-body .wc-revenue-ledger-trigger,.wc-home-explorer-modal-body .wc-personnel-ledger-trigger,.wc-home-explorer-modal-body .wc-personnel-explainer-link,.wc-home-explorer-modal-body .wc-department-ledger-trigger{min-height:44px;padding:10px 16px;line-height:1.2}
.wc-home-capital-summary{margin-bottom:18px}
.wc-home-capital-summary p{max-width:850px}
@media(max-width:700px){.wc-home-explorer-modal{padding:0}.wc-home-explorer-modal-panel{width:100%;height:100vh;height:100dvh;max-height:none;margin:0;border:0;border-radius:0}.wc-home-explorer-modal-head{padding:11px 16px;border-radius:0}.wc-home-explorer-modal-body{padding:16px}.wc-home-explorer-modal-heading h2{font-size:1.05rem}.wc-home-explorer-modal-footer{align-items:flex-start;flex-direction:column;padding:14px 16px;border-radius:0}.wc-home-explorer-modal-footer nav{justify-content:flex-start;flex-wrap:wrap}.wc-home-department-modal{padding:0}.wc-home-department-modal-panel{width:100%;height:100vh;height:100dvh;margin:0;border:0;border-radius:0}.wc-home-department-modal-head{padding:11px 16px}}
@media(prefers-reduced-motion:reduce){.wc-home-explorer-modal-wave,.wc-home-department-modal-wave{display:none!important}}
@media print{.wc-home-explorer-modal{display:none!important}}
