/* Citizen-facing editorial scale. Brand colors remain administered in the CMS. */
html.portal-site { --portal-text:#30445e; --portal-muted:#52647b; --portal-border:#d7e1ec; }
html.portal-site { scroll-padding-top:var(--portal-header-offset,125px); }
html.portal-site body { line-height:1.7; text-rendering:optimizeLegibility; }
html.portal-site :is(h1,h2,h3,h4) { font-family:Cabin,"Nunito Sans",sans-serif; letter-spacing:-.015em; text-wrap:balance; }
html.portal-site :is(h1,h2,h3,h4) { overflow-wrap:anywhere; }
html.portal-site .portal-skip { top:0; transform:translateY(-200%); max-width:calc(100vw - 30px); }
html.portal-site .portal-skip:focus { top:10px; transform:translateY(0); }
html.portal-site :is(p,li,td,a,strong) { overflow-wrap:break-word; }
html.portal-site main a { color:var(--portal-link); }
html.portal-site main :is(h1,h2,h3,h4) { color:var(--portal-heading); }
html.portal-site main :is(input,select,textarea) { color:var(--portal-text); }
html.portal-site input::placeholder,html.portal-site textarea::placeholder { color:#5c6d82; opacity:1; }
html.portal-site :is(button,a,input,select,textarea,summary) { scroll-margin-top:var(--portal-header-offset,125px); }
html.portal-site :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--portal-link); outline-offset:4px; box-shadow:0 0 0 6px #fff; }
html.portal-site :is(.btn,.portal-search-trigger,.navbar-toggler,.pw-search-button,.portal-primary-button),
html.portal-site .portal-search-form button,html.portal-site .portal-search-form input { min-height:44px; }
html.portal-site .portal-search-trigger { width:44px; flex-basis:44px; }
html.portal-site #pageHeader .navbar-toggler { border:1px solid var(--portal-border); border-radius:6px; color:var(--portal-link); min-width:44px; }
html.portal-site #pageHeader .mainNavigation>.nav-item>.nav-link { font-size:.875rem; letter-spacing:0; padding-inline:10px; }
html.portal-site #pageHeader .dropdown-item { min-height:44px; display:flex; align-items:center; white-space:normal; line-height:1.45; }
html.portal-site .portal-topbar { font-size:.8125rem; }
html.portal-site .portal-topbar .portal-text-controls button,html.portal-site .portal-contrast-toggle { min-width:32px; min-height:32px; font-size:.8125rem; }
html.portal-site .portal-a11y>summary { min-height:32px; }
html.portal-site .portal-a11y-panel>button { min-height:44px; font-size:.875rem; }
html.portal-site .portal-a11y-panel p { font-size:.8125rem; }
html.portal-site button:disabled { cursor:default; opacity:.55; }

/* Clear hierarchy and sufficient line length for institutional information. */
html.portal-site main :is(.briefHistoryBlock,.aboutWelcomeBlock,.newsSingleWrap) p { font-size:1rem; line-height:1.85; max-width:75ch; margin-bottom:1.25em; }
html.portal-site main :is(.briefHistoryBlock,.aboutWelcomeBlock,.newsSingleWrap) :is(h2,h3) { margin-top:1.5em; margin-bottom:.7em; }
html.portal-site .pageMainHead .breadcrumb { line-height:1.6; }
html.portal-site .pageMainHead .breadcrumb a:hover { text-decoration:underline; text-underline-offset:4px; }
html.portal-site .portal-home-copy { max-width:620px; }
html.portal-site .portal-home-copy h1 { font-family:Cabin,"Nunito Sans",sans-serif; font-weight:700; line-height:1.16; }
html.portal-site .portal-home-copy h1 span { color:var(--portal-hero-accent); }
html.portal-site .portal-home-copy>p { font-size:1.0625rem; max-width:53ch; line-height:1.75; }
html.portal-site .portal-home-copy small { font-size:.8125rem; }
html.portal-site .portal-services-grid>a { padding:22px 13px; gap:11px; }
html.portal-site .portal-services-grid>a>strong { font-size:1rem; line-height:1.4; color:var(--portal-heading); }
html.portal-site .portal-services-grid>a>span { font-size:.875rem; line-height:1.6; color:var(--portal-muted); }
html.portal-site .portal-services-grid>a>i:first-child { font-size:1.875rem; color:var(--portal-link); }
html.portal-site .portal-services-grid>a:hover { box-shadow:0 6px 18px #102f4e0c; }
html.portal-site .portal-section-heading h2 { font-size:1.5rem!important; }
html.portal-site .portal-section-heading p { font-size:.9375rem; }
html.portal-site .portal-section-heading>a { font-size:.875rem; min-height:32px; }
html.portal-site .portal-home-content { gap:28px; }
html.portal-site .portal-news-body { padding:18px; }
html.portal-site .portal-news-body h3 { font-size:1.0625rem!important; line-height:1.5; }
html.portal-site .portal-news-body h3 a { color:var(--portal-heading); }
html.portal-site .portal-news-body p { font-size:.9375rem; line-height:1.75; color:var(--portal-muted); }
html.portal-site .portal-news-body footer { flex-wrap:wrap; font-size:.875rem; }
html.portal-site .portal-news-body footer>a { min-height:36px; display:inline-flex; align-items:center; gap:6px; color:var(--portal-link); }
html.portal-site .portal-news-body footer>span { font-size:.75rem; color:var(--portal-link); }
html.portal-site .portal-news-photo time { font-size:.75rem; padding:5px 10px; }
html.portal-site .portal-quick-link strong { font-size:.9375rem; line-height:1.5; color:var(--portal-heading); }
html.portal-site .portal-quick-link small { font-size:.8125rem; color:var(--portal-muted); }
html.portal-site .portal-home-aside :is(p,li) { font-size:.9375rem; }
html.portal-site .portal-stats-grid span { font-size:.9375rem; }
html.portal-site .portal-stats-grid>div,html.portal-site .portal-stats-grid>div>span { min-width:0; }
html.portal-site .portal-stats-grid strong { font-size:1.75rem; font-variant-numeric:tabular-nums; }
html.portal-site .portal-stats-note { font-size:.8125rem; opacity:1; line-height:1.65; }
html.portal-site .portal-home-works .pw-card h3 { font-size:1rem!important; line-height:1.55; }
html.portal-site .pw-card h3 a { color:var(--portal-heading); }
html.portal-site .pw-card :is(.pw-card-location,.pw-card-meta,.pw-progress>span,.pw-progress small) { color:var(--portal-muted); font-size:.8125rem; }
html.portal-site .pw-card-meta strong { font-size:.875rem; color:var(--portal-text); }
html.portal-site .pw-card-action { font-size:.875rem; min-height:44px; color:var(--portal-link); }
html.portal-site .portal-home-works .pw-card-meta strong { font-size:.8125rem; }
html.portal-site .portal-home-works .pw-card-location { font-size:.8125rem; }
html.portal-site .portal-home-alert p { font-size:1rem; }
html.portal-site .portal-footer :is(p,li,summary) { font-size:.875rem; opacity:1; }
html.portal-site .portal-footer h2 { font-size:.875rem; letter-spacing:.035em; }
html.portal-site .portal-footer-bottom :is(p,a) { font-size:.8125rem; }
html.portal-site .portal-footer a:hover { text-decoration:underline; text-underline-offset:4px; }
html.portal-site .portal-carousel-control { min-height:40px; font-size:.8125rem; }
html.portal-site .portal-banner-carousel .slick-dots li { width:44px; height:44px; margin:0; }
html.portal-site .portal-banner-carousel .slick-dots button { width:44px; height:44px; padding:16px; background-clip:content-box!important; }
html.portal-site .portal-search-dialog { margin:auto; }

/* Enlarged text reflows rather than being clipped in fixed-height controls. */
html.portal-site .management-section .management-category-tile { border-radius:7px; padding:20px; }
html.portal-site .management-section .management-category-tile h3 { font-size:1.0625rem; line-height:1.5; color:var(--portal-heading); }
html.portal-site .management-section .management-category-tile h3 a { color:var(--portal-heading); }
html.portal-site .management-tile-facts { color:var(--portal-muted); font-size:.875rem; gap:9px 12px; }
html.portal-site .management-display-tools button { min-width:44px; min-height:44px; }
html.portal-site .management-display-tools button[aria-pressed=true] { color:var(--portal-on-primary); }
html.portal-site .management-section .management-category-actions .management-action { min-height:44px; font-size:.875rem; }
html.portal-site .management-section .management-primary-open { color:var(--portal-on-primary); }
html.portal-site .management-public-status { font-size:.8125rem; }
html.portal-site[data-portal-large=true] .management-section .management-category-catalog,
html.portal-site[data-portal-large=true] .management-section .management-category-catalog.is-list { grid-template-columns:minmax(0,1fr); }
html.portal-site[data-portal-large=true] .management-section .management-category-tile,
html.portal-site[data-portal-large=true] .management-section .management-category-catalog.is-list .management-category-tile { display:flex; }
html.portal-site[data-portal-large=true] .management-tile-heading { flex-wrap:wrap; }
html.portal-site[data-portal-large=true] .management-tile-heading>div { min-width:min(160px,100%); }
html.portal-site[data-portal-large=true] .management-display-tools,
html.portal-site[data-portal-large=true] .management-display-tools label { flex-wrap:wrap; max-width:100%; }
html.portal-site[data-portal-large=true] .management-display-tools select { min-width:0; max-width:100%; width:100%; }
html.portal-site[data-portal-large=true] .pw-grid { grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr)); }
html.portal-site[data-portal-large=true] .portal-stats-grid { grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr)); }
html.portal-site[data-portal-text] main :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea,.btn,.pw-search-button) { height:auto; min-height:44px; }
html.portal-site[data-portal-text] #pageHeader .mainNavigation { flex-wrap:wrap; }
html.portal-site[data-portal-text] #pageHeader .mainNavigation>.nav-item>.nav-link { white-space:normal; }
html.portal-site[data-portal-text] .portal-topbar>.container { flex-wrap:wrap; padding-block:6px; }
html.portal-site[data-portal-text] .portal-top-right { flex-wrap:wrap; }
html.portal-site[data-portal-large=true] .portal-home-intro { position:relative; background:var(--portal-secondary); }
html.portal-site[data-portal-large=true] .portal-home-copy { padding-block:30px 65px; max-width:850px; }

html.portal-site[data-portal-large=true] .portal-home-hero .portal-carousel-control { top:12px; bottom:auto; }
html.portal-site[data-portal-large=true] .portal-services-grid { grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr)); }
html.portal-site[data-portal-large=true] .portal-home-content { grid-template-columns:minmax(0,1fr); }
html.portal-site[data-portal-large=true] .portal-news-grid { grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr)); }
html.portal-site[data-portal-large=true] .portal-home-aside { position:static; max-height:none; overflow:visible; }
html.portal-site[data-portal-large=true] .portal-footer-grid { grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr)); }

@media(max-width:1199px) {
 html.portal-site #pageHeader .navbar-toggler { display:inline-flex!important; align-items:center; justify-content:center; }
 html.portal-site #pageMainNavCollapse.collapse:not(.show) { display:none!important; }
 html.portal-site #pageMainNavCollapse { position:absolute!important; inset:100% 0 auto; height:auto!important; max-height:75vh; overflow:auto; background:#fff; border:1px solid var(--portal-border); box-shadow:0 12px 20px #12335b22; }
 html.portal-site #pageMainNavCollapse.show { display:block!important; }
 html.portal-site #pageMainNavCollapse .mainNavigation { flex-direction:column!important; padding:8px 15px; }
 html.portal-site #pageMainNavCollapse .dropdown-menu { position:static; box-shadow:none; }
 html.portal-site #pageHeader .hdNavWrap { justify-content:flex-end!important; }
 html.portal-site .portal-home-content { grid-template-columns:minmax(0,1fr) 270px; }
 html.portal-site .portal-news-grid { grid-template-columns:1fr 1fr; }
 html.portal-site .portal-news-card:last-child { grid-column:1/-1; }
}
@media(max-width:991px) {
 html.portal-site .portal-home-content { grid-template-columns:minmax(0,1fr); }
 html.portal-site .portal-home-copy>p { font-size:1rem; }
}
@media(max-width:767px) {
 html.portal-site .portal-home-copy h1 { font-size:1.875rem!important; }
 html.portal-site .portal-home-copy>p { font-size:1rem; }
 html.portal-site .portal-home-services { margin-top:0; margin-bottom:24px; border-radius:0 0 10px 10px; }
 html.portal-site .portal-services-grid>a { padding:18px 12px; }
 html.portal-site .portal-section-heading { flex-wrap:wrap; }
 html.portal-site .portal-section-heading>a { max-width:none; text-align:left; }
 html.portal-site .portal-home-aside { display:block; }
 html.portal-site .portal-a11y-panel { max-width:calc(100vw - 30px); max-height:75vh; overflow:auto; }
 html.portal-site .portal-topbar .portal-top-right { gap:6px; }
 html.portal-site .portal-footer-grid { gap:28px; }
 html.portal-site .portal-footer-bottom { gap:18px; }
 html.portal-site .portal-stats-grid { gap:22px; }
 html.portal-site .portal-stats-grid>div { align-items:flex-start; gap:11px; }
 html.portal-site .portal-stats-grid i { font-size:1.5rem; }
 html.portal-site .portal-stats-grid strong { font-size:1.5rem; }
 html.portal-site .portal-search-dialog { padding:18px; }
}
@media(max-width:575px) {
 html.portal-site .portal-news-grid { grid-template-columns:1fr; }
 html.portal-site .portal-news-card:last-child { grid-column:auto; }
 html.portal-site .portal-stats-grid { grid-template-columns:1fr 1fr; }
 html.portal-site .portal-stats-note { text-align:left; }
}
@media(max-width:360px) {
 html.portal-site #pageHeader .logo img { max-width:150px!important; }
 html.portal-site .portal-top-right img { max-width:65px; }
 html.portal-site .portal-a11y>summary { font-size:.75rem; }
}
html.portal-site[data-portal-contrast=high] { --portal-heading:#fff; --portal-text:#fff; --portal-muted:#fff; --portal-primary-soft:#000; --portal-border:#fff; --portal-link:#ffef00; }
html.portal-site[data-portal-contrast=high] main :is(div,section,article,aside,header,footer,table,thead,tbody,tr,td,th,span,summary) { background-color:#000!important; color:#fff!important; border-color:#fff!important; }
html.portal-site[data-portal-contrast=high] .pw-hero { background-image:none!important; }
html.portal-site[data-portal-contrast=high] #pageHeader .hdFixerWrap { background:#000!important; }
html.portal-site[data-portal-contrast=high] #pageHeader .logo img { background:#fff; border-radius:4px; }
html.portal-site[data-portal-contrast=high] .navbar-toggler-icon { filter:brightness(0) invert(1); }
@media(prefers-reduced-motion:reduce) {
 html.portal-site *,html.portal-site *::before,html.portal-site *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}
@media(forced-colors:active) {
 html.portal-site :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid Highlight; }
 html.portal-site :is(.portal-service-card,.portal-news-card,.pw-card) { border:1px solid CanvasText; }
}
@media print {
 html.portal-site :is(#pageHeader,.portal-home-hero,.portal-a11y,.portal-search-dialog,.portal-carousel-control,.portal-footer,.portal-home-alert) { display:none!important; }
 html.portal-site body,html.portal-site main { background:#fff!important; color:#000!important; }
 html.portal-site .portal-home-content { display:block; }
 html.portal-site .portal-sticky-panel { position:static; max-height:none; overflow:visible; }
 html.portal-site :is(article,.pw-card,.portal-result-group) { break-inside:avoid; box-shadow:none!important; }
}

/* Shared navigation: identical layout and readable interaction states across the portal. */
html.portal-site #pageHeader .mainNavigation>.nav-item:hover>.nav-link,
html.portal-site #pageHeader .mainNavigation>.nav-item:focus-within>.nav-link,
html.portal-site #pageHeader .mainNavigation>.nav-item>.nav-link:focus-visible,
html.portal-site #pageHeader .mainNavigation>.nav-item.show>.nav-link,
html.portal-site #pageHeader .hdMainDropdown .dropdown-item:hover,
html.portal-site #pageHeader .hdMainDropdown .dropdown-item:focus-visible {
 background:var(--portal-link); color:#fff!important;
}
html.portal-site #pageHeader .mainNavigation>.nav-item>.nav-link::after { color:inherit; }
@media(max-width:1279px){
 html.portal-site #pageHeader .navbar-toggler{display:inline-flex!important;align-items:center;justify-content:center}
 html.portal-site #pageMainNavCollapse.collapse:not(.show){display:none!important}
 html.portal-site #pageMainNavCollapse{position:absolute!important;inset:100% 0 auto;height:auto!important;max-height:75vh;overflow:auto;background:#fff;border:1px solid var(--portal-border);box-shadow:0 12px 20px #12335b22}
 html.portal-site #pageMainNavCollapse.show{display:block!important}
 html.portal-site #pageMainNavCollapse .mainNavigation{flex-direction:column!important;padding:8px 15px}
 html.portal-site #pageMainNavCollapse .dropdown-menu{position:static;box-shadow:none}
 html.portal-site #pageHeader .hdNavWrap{justify-content:flex-end!important}
}
