/* Stable responsive foundation. Keep this file last in the public cascade. */
:root{--container:1440px;--gutter:clamp(12px,2.2vw,34px);--header-height:82px;--radius:18px;--focus-ring:0 0 0 3px color-mix(in srgb,var(--brand) 30%,transparent)}
html{scroll-padding-top:calc(var(--header-height) + 18px)}
body{min-width:280px;background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface-2) 35%,var(--surface)))}
.container{width:min(var(--container),calc(100% - (var(--gutter) * 2)));max-width:none;padding-inline:0}
:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--brand);outline-offset:3px;box-shadow:var(--focus-ring)}
:where(button,input,select,textarea){min-height:44px}
:where(img,video){height:auto}
.section{padding-block:clamp(48px,6vw,88px)}
.section-heading{margin-bottom:clamp(22px,3vw,34px)}
.page-hero,.article-hero{padding-block:clamp(48px,6vw,82px)}
.page-hero h1,.article-hero h1{font-size:clamp(2.1rem,4.6vw,4.5rem)}
.prose{max-width:78ch}.prose-card .prose{max-width:none}.prose p{hyphens:auto;text-wrap:pretty}
.prose table{max-width:100%;white-space:normal}
.responsive-table,.table-responsive{scrollbar-gutter:stable}
.card,.content-card,.prose-card{overflow-wrap:anywhere}
.site-header{height:var(--header-height);background:color-mix(in srgb,var(--surface) 96%,transparent)}
.site-header .header-inner{gap:clamp(12px,1.8vw,26px)}
.site-header .brand{flex:0 1 245px}.site-header .brand img{width:50px;height:62px}
.desktop-nav>ul{gap:1px}.nav-item>a{padding-inline:9px}.header-actions{flex:none}
.drawer-panel{width:min(420px,94vw);max-width:100%;padding-bottom:env(safe-area-inset-bottom)}
.drawer-nav summary,.drawer-nav a{min-height:44px}
.search-panel{width:min(760px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto}
@media (min-width:1440px){.site-header .brand{flex-basis:270px}.nav-item>a{font-size:.86rem;padding-inline:11px}}
@media (max-width:1180px){.site-header .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto}.site-header .desktop-nav{display:none!important}.site-header .mobile-menu-toggle{display:grid!important}.site-header .brand{max-width:min(58vw,330px)}.header-contact{display:none}}
@media (max-width:760px){
  :root{--header-height:70px;--gutter:12px}
  body:not(.admin-body) .container{width:calc(100% - 24px)!important;max-width:none!important}
  .site-header .header-inner{grid-template-columns:minmax(0,1fr) auto!important;gap:8px}
  .site-header .brand{width:auto!important;max-width:min(46vw,220px)!important}.site-header .brand img{width:40px!important;height:50px!important}
  .site-header .brand span{display:grid!important}.site-header .brand strong{font-size:.78rem;white-space:normal;line-height:1.15}.site-header .brand small{display:none}
  .header-actions{gap:5px!important}.header-actions>.icon-button,.header-actions>.button,.mobile-menu-toggle{width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;padding:0!important}
  .header-login span{display:none}.section-heading{display:grid;align-items:start;gap:10px}.hero-actions,.form-actions{display:grid;grid-template-columns:1fr}.hero-actions .button,.form-actions .button{width:100%}
  .article-layout,.split-layout{grid-template-columns:1fr!important}.prose{padding:20px;font-size:1rem}.prose table{font-size:.88rem}.mobile-bottom-nav{padding-bottom:env(safe-area-inset-bottom)}
}
@media (max-width:420px){:root{--gutter:8px}body:not(.admin-body) .container{width:calc(100% - 16px)!important}.site-header .brand{max-width:44px!important}.site-header .brand span{display:none!important}.ticker-label span{display:none}.ticker-item{padding-inline:18px;font-size:.82rem}.page-hero,.article-hero{padding-block:38px}.prose{padding:16px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media print{.site-header,.site-ticker,.mobile-bottom-nav,.floating-actions,.accessibility-toggle,.back-to-top,.whatsapp-float,.scroll-progress{display:none!important}body{background:#fff;color:#000}.container{width:100%!important}a{color:#000;text-decoration:underline}}

/* Search, service directory, download center, calendar, and role dashboard */
.search-command,.download-filter,.calendar-filter{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(150px,.5fr) minmax(140px,.42fr) auto;gap:10px;align-items:end;margin-top:28px;padding:14px;border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line));border-radius:20px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow-sm)}
.search-command label,.download-filter label,.calendar-filter label{display:grid;gap:5px;min-width:0}.search-command label>span:not(.sr-only){font-size:.72rem;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.search-command input,.search-command select,.download-filter input,.download-filter select,.calendar-filter input,.calendar-filter select{width:100%;min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);padding:10px 12px}
.download-filter,.calendar-filter{grid-template-columns:minmax(220px,1fr) 180px auto auto}.download-filter label:first-child,.calendar-filter label:first-child{position:relative}.download-filter label:first-child>.icon,.calendar-filter label:first-child>.icon{position:absolute;left:12px;top:13px;color:var(--muted)}.download-filter label:first-child input,.calendar-filter label:first-child input{padding-left:40px}
.search-result-head,.download-summary,.calendar-summary,.service-group>header{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}.search-result-head h2,.download-summary h2,.calendar-summary h2,.service-group h2{margin:5px 0 0;font-size:clamp(1.5rem,2.6vw,2.2rem)}
.search-count-chips{display:flex;gap:8px;flex-wrap:wrap;margin:-8px 0 24px}.search-count-chips span{padding:7px 11px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.78rem;font-weight:750}.search-count-chips b{color:var(--brand)}
.search-result-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.search-result-meta time{font-size:.76rem;color:var(--muted)}
.search-discovery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.search-discovery a{display:grid;gap:8px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-sm);transition:.2s}.search-discovery a:hover{transform:translateY(-3px);border-color:var(--brand);box-shadow:var(--shadow-md)}.search-discovery a>.icon{color:var(--brand)}.search-discovery span{color:var(--muted);font-size:.86rem}
.service-hub-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:24px}.service-hub-summary span,.service-hub-summary a{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:7px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:.82rem}.service-hub-summary a{color:var(--brand);font-weight:800}
.service-filter-bar{position:sticky;top:calc(var(--header-height) + 12px);z-index:20;display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:32px;padding:12px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(16px);box-shadow:var(--shadow-sm)}.service-filter-bar label{position:relative;flex:1;max-width:470px}.service-filter-bar label>.icon{position:absolute;left:13px;top:13px;color:var(--muted)}.service-filter-bar input{width:100%;padding:10px 12px 10px 40px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink)}.service-filter-bar>div{display:flex;gap:6px;overflow-x:auto}.service-filter-bar button{min-height:40px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);white-space:nowrap;cursor:pointer}.service-filter-bar button.is-active{background:var(--brand);border-color:var(--brand);color:#fff}
.service-group-stack{display:grid;gap:42px}.service-group>header{border-bottom:1px solid var(--line);padding-bottom:14px}.service-group>header>span{color:var(--muted);font-size:.82rem}
.download-group{margin-top:34px}.download-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}.download-group>header h2{margin:0;font-size:1.25rem}.download-group>header span{color:var(--muted);font-size:.8rem}.download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.download-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-sm)}.download-card-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:color-mix(in srgb,var(--brand) 11%,var(--surface));color:var(--brand)}.download-card small{color:var(--brand);font-weight:850}.download-card h3{margin:5px 0;font-size:1.05rem;line-height:1.35}.download-card p{margin:0 0 13px;color:var(--muted);font-size:.86rem}.download-card>div>div{display:flex;gap:7px;flex-wrap:wrap}
.calendar-event-meta{display:flex;justify-content:space-between;gap:12px}.calendar-event-meta>b{font-size:.68rem;padding:4px 8px;border-radius:999px;background:#e9fbf3;color:#087a52}.calendar-event-card.is-past{opacity:.72}.calendar-event-card.is-past .calendar-event-meta>b{background:var(--surface-2);color:var(--muted)}
.admin-priority-board{margin-bottom:22px;padding:22px;border:1px solid var(--border,var(--line));border-radius:20px;background:var(--surface);box-shadow:var(--shadow-sm)}.admin-priority-board>header{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:15px}.admin-priority-board h2{margin:4px 0 0}.admin-priority-board>header small{color:var(--text-muted,var(--muted))}.admin-priority-board>div{display:grid;gap:9px}.admin-priority-board article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px;border:1px solid var(--border,var(--line));border-left:4px solid var(--brand);border-radius:14px;background:var(--surface-soft,var(--surface-2))}.admin-priority-board article.is-danger{border-left-color:#d92d20}.admin-priority-board article.is-warning{border-left-color:#f79009}.admin-priority-board article.is-success{border-left-color:#12b76a}.admin-priority-board article>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--surface);color:var(--brand)}.admin-priority-board h3{margin:0 0 3px;font-size:.96rem}.admin-priority-board p{margin:0;color:var(--text-muted,var(--muted));font-size:.82rem}
@media(max-width:980px){.search-command{grid-template-columns:1fr 1fr}.search-command label:first-child{grid-column:1/-1}.search-discovery{grid-template-columns:repeat(2,minmax(0,1fr))}.service-filter-bar{align-items:stretch;flex-direction:column}.service-filter-bar label{max-width:none}.download-grid{grid-template-columns:1fr}}
@media(max-width:680px){.search-command,.download-filter,.calendar-filter{grid-template-columns:1fr;padding:12px}.search-command label:first-child{grid-column:auto}.search-command .button,.download-filter .button,.calendar-filter .button{width:100%}.search-result-head,.download-summary,.calendar-summary,.service-group>header{align-items:start;display:grid}.search-discovery{grid-template-columns:1fr}.service-filter-bar{position:static;margin-bottom:24px}.service-filter-bar>div{padding-bottom:4px}.digital-service-grid{grid-template-columns:1fr!important}.download-card{padding:16px}.calendar-event-meta{align-items:start}.admin-priority-board{padding:16px}.admin-priority-board>header{display:grid;align-items:start}.admin-priority-board article{grid-template-columns:auto minmax(0,1fr)}.admin-priority-board article .button{grid-column:2;width:100%}}

/* V2.11.1 — Digital service directory: resilient text and controls */
.digital-services-section .container{max-width:var(--container)}
.service-filter-bar{isolation:isolate}
.service-search-field{min-width:220px}
.service-search-field input{font:inherit;line-height:1.35}
.service-audience-filter{scrollbar-width:thin;overscroll-behavior-inline:contain}
.service-audience-filter button{font:inherit;font-size:.8rem;font-weight:780;line-height:1;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.service-audience-filter button:hover{border-color:color-mix(in srgb,var(--brand) 48%,var(--line));color:var(--brand)}
.service-audience-filter button.is-active:hover{color:#fff}
.service-group-stack{gap:clamp(34px,5vw,56px)}
.service-group-heading{align-items:center!important;margin-bottom:18px!important}
.service-group-heading>div{min-width:0}
.service-group-heading .section-kicker{display:block;margin:0 0 5px;line-height:1.25}
.service-group-heading h2{max-width:26ch;margin:0!important;overflow-wrap:break-word;text-wrap:balance}
.service-group-count{flex:none;display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-weight:750;white-space:nowrap}
.service-group .digital-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.service-directory-card{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  grid-template-rows:auto auto;
  align-items:start!important;
  column-gap:15px!important;
  row-gap:14px!important;
  min-width:0;
  min-height:202px!important;
  padding:19px!important;
  overflow:hidden;
  color:var(--ink);
  text-decoration:none;
}
.service-directory-card[hidden],.service-group[hidden],.service-filter-empty[hidden]{display:none!important}
.service-directory-card .digital-service-icon{grid-column:1;grid-row:1;width:52px;height:52px;border-radius:15px}
.service-card-content{grid-column:2;grid-row:1;display:flex;min-width:0;flex-direction:column;align-items:flex-start}
.service-card-title{display:block;max-width:100%;color:var(--ink);font-size:1.05rem;font-weight:850;line-height:1.3;overflow-wrap:anywhere;text-wrap:balance}
.service-card-description{display:block;max-width:62ch;margin-top:5px;color:var(--muted);font-size:.87rem;font-weight:480;line-height:1.55;overflow-wrap:break-word;text-wrap:pretty}
.service-card-audience{display:flex;max-width:100%;align-items:center;gap:6px;flex-wrap:wrap;margin-top:12px;font-style:normal}
.service-card-audience-label{color:var(--muted);font-size:.7rem;font-weight:720;line-height:1.2}
.service-audience-chip{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--brand) 7%,var(--surface));color:color-mix(in srgb,var(--brand) 82%,var(--ink));font-size:.68rem;font-weight:780;line-height:1.15;white-space:nowrap}
.service-card-footer{grid-column:1/-1;grid-row:2;display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px;padding-top:13px;border-top:1px solid var(--line)}
.service-card-status{display:inline-flex!important;align-items:center;min-height:27px;padding:5px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.67rem;font-weight:820;line-height:1.15;white-space:nowrap}
.service-card-status.is-up{background:#e9fbf3;color:#087a52}
.service-card-status.is-down{background:#fff0ef;color:#b42318}
.service-card-action{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:6px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--brand) 25%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--brand) 7%,var(--surface));color:var(--brand);font-size:.72rem;font-weight:820;line-height:1.15;white-space:nowrap}
.service-directory-card:hover .service-card-action{border-color:var(--brand);background:var(--brand);color:#fff}
.service-filter-empty{max-width:680px;margin:20px auto 0;text-align:center}

@media(max-width:820px){
  .service-group .digital-service-grid{grid-template-columns:1fr}
  .service-directory-card{min-height:0!important}
}
@media(max-width:680px){
  .digital-services-section{padding-top:20px}
  .service-filter-bar{gap:10px;padding:10px;border-radius:15px}
  .service-search-field{min-width:0}
  .service-audience-filter{width:100%;margin:0;padding:1px 1px 5px}
  .service-audience-filter button{min-height:38px;padding:7px 11px}
  .service-group-heading{display:flex!important;align-items:flex-end!important;gap:12px!important}
  .service-group-heading>div{flex:1}
  .service-group-heading h2{font-size:clamp(1.45rem,7vw,2rem)!important;line-height:1.16}
  .service-group-count{min-height:30px;padding:5px 8px;font-size:.7rem!important}
  .service-directory-card{grid-template-columns:48px minmax(0,1fr)!important;column-gap:12px!important;row-gap:12px!important;padding:15px!important;border-radius:16px}
  .service-directory-card .digital-service-icon{width:48px;height:48px;border-radius:14px}
  .service-card-title{font-size:1rem;line-height:1.28}
  .service-card-description{margin-top:4px;font-size:.83rem;line-height:1.5}
  .service-card-audience{gap:5px;margin-top:10px}
  .service-card-footer{gap:8px;padding-top:11px}
  .service-card-status{font-size:.64rem}
  .service-card-action{min-height:34px;padding:6px 9px;font-size:.68rem}
}
@media(max-width:380px){
  .service-group-heading{display:grid!important;align-items:start!important}
  .service-group-count{justify-self:start}
  .service-directory-card{grid-template-columns:42px minmax(0,1fr)!important;padding:13px!important}
  .service-directory-card .digital-service-icon{width:42px;height:42px;border-radius:12px}
  .service-card-footer{align-items:stretch;flex-direction:column}
  .service-card-status{align-self:flex-start}
  .service-card-action{width:100%}
}
