/* Custom nav code from the Webflow design site (its site-wide code embed), nav parts only. */
:root{--ch-ease:cubic-bezier(.2,.8,.2,1)}

/* Current page: soft pill only (overrides legacy Current state underline and weight) */
.ch-nav-navlink.w--current,.ch-hubnav-link.w--current{background-color:var(--_hub-theme---colour--pillactive);color:var(--_hub-theme---colour--text);text-decoration:none!important;border-bottom:0!important;box-shadow:none!important}
.ch-nav-navlink.w--current{font-weight:600}
.ch-hubnav-link.w--current{font-weight:500}

/* Focus */
.ch-nav-navlink:focus-visible,.ch-nav-findhub-button:focus-visible,.ch-hubnav-link:focus-visible,.ch-nav-mobhubs-toggle:focus-visible,.chm-entry:focus-visible,.chm-back:focus-visible,.chm-link:focus-visible,.chm-chip:focus-visible,.chm-lockup:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.ch-hubfinder-name:focus-visible{outline:none}
.ch-hubfinder-card:has(.ch-hubfinder-name:focus-visible){outline:2px solid currentColor;outline-offset:2px}

/* Desktop: Find a hub button and panel */
.ch-nav-findhub-button{transition:transform .2s var(--ch-ease)}
.ch-nav-findhub-button:hover{transform:translateY(-1px)}
.ch-nav-findhub-icon,.ch-nav-mobhubs-icon{transition:transform .3s var(--ch-ease)}
.ch-nav-findhub-button.w--open .ch-nav-findhub-icon,.ch-nav-mobhubs-toggle.w--open .ch-nav-mobhubs-icon{transform:rotate(180deg)}
.ch-hubfinder.w--open{animation:chPanelIn .32s var(--ch-ease) both}
.ch-hubfinder.w--open .ch-hubfinder-grid>*{animation:chCardIn .45s var(--ch-ease) both}
.ch-hubfinder.w--open .ch-hubfinder-grid>*:nth-child(2){animation-delay:.05s}
.ch-hubfinder.w--open .ch-hubfinder-grid>*:nth-child(3){animation-delay:.1s}
.ch-hubfinder.w--open .ch-hubfinder-grid>*:nth-child(4){animation-delay:.15s}
.ch-hubfinder.w--open .ch-hubfinder-grid>*:nth-child(5){animation-delay:.2s}
.ch-hubfinder.w--open .ch-hubfinder-grid>*:nth-child(n+6){animation-delay:.25s}
.ch-hubfinder-name::after{content:"";position:absolute;inset:0;border-radius:inherit}
.ch-hubfinder-card{transition:border-color .2s ease,transform .25s var(--ch-ease)}
.ch-hubfinder-card:hover{transform:translateY(-3px)}
.ch-hubfinder-dot{transition:transform .25s var(--ch-ease)}
.ch-hubfinder-card:hover .ch-hubfinder-dot{transform:scale(1.4)}


/* Mobile-only parts: hidden on desktop */
.chm-entry,.chm-l2,.chm-lockup{display:none}
.chm-eyebrow{display:block;font-size:12px;line-height:140%;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.chm-arrow{flex-shrink:0;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--_hub-theme---colour--text);color:var(--_hub-theme---colour--basebg);font-size:18px;transition:transform .25s var(--ch-ease)}
@media (max-width:991px){

/* Hub lockup in the header: CITIZEN HUB / Hub name. Replaces the hub row on mobile. */
.chm-has-lockup .ch-hubnav{display:none!important}
.chm-has-lockup .ch-nav-bar{justify-content:flex-start!important;gap:8px!important}
.chm-has-lockup .ch-nav-logo{width:140px!important;flex-shrink:0}
.chm-lockup{display:inline-flex;align-items:center;gap:7px;flex:1 1 auto;min-width:0;min-height:48px;margin:0;padding:0 4px 0 2px;border:0;background:transparent;color:var(--_hub-theme---colour--text);font-family:var(--font--headings),sans-serif;font-size:20px;line-height:1;letter-spacing:-.01em;text-align:left;cursor:pointer}
.chm-lockup-sep{flex-shrink:0;opacity:.4;font-weight:400}
.chm-lockup-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.chm-lockup-chev{flex-shrink:0;width:13px;height:13px;margin-top:2px;transition:transform .3s var(--ch-ease)}
.chm-lockup[aria-expanded="true"] .chm-lockup-chev{transform:rotate(180deg)}
.chm-lockup:active{opacity:.75}
/* On hub pages the menu button drops its label: a 48px round icon button */
.chm-has-lockup .ch-nav-mobmenu{flex-shrink:0}
.chm-has-lockup .ch-nav-btncontent.mobtrigger{width:48px;min-width:48px;padding:0!important;justify-content:center}
.chm-has-lockup .ch-nav-btncontent.mobtrigger>div:not(.ch-nav-btn-iconwrapper){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.ch-nav-mobsheet{animation:chSheetIn .38s var(--ch-ease) both}
.ch-nav-mobsheet>*{animation:chCardIn .5s var(--ch-ease) both}
.ch-nav-mobsheet>*:nth-child(2){animation-delay:.06s}
.ch-nav-mobsheet>*:nth-child(n+3){animation-delay:.1s}
.ch-nav-mobsheet .ch-nav-links{display:flex!important;flex-direction:column;align-items:stretch;gap:0}
.ch-nav-mobsheet .ch-nav-links>*{animation:chCardIn .5s var(--ch-ease) both}
.ch-nav-mobsheet .ch-nav-links>*:nth-child(1){animation-delay:.12s}
.ch-nav-mobsheet .ch-nav-links>*:nth-child(2){animation-delay:.16s}
.ch-nav-mobsheet .ch-nav-links>*:nth-child(3){animation-delay:.2s}
.ch-nav-mobsheet .ch-nav-links>*:nth-child(4){animation-delay:.24s}
.ch-nav-mobsheet .ch-nav-links>*:nth-child(5){animation-delay:.28s}
.ch-nav-mobsheet .ch-nav-links>*:nth-child(n+6){animation-delay:.32s}
.ch-nav-mobsheet .ch-nav-navlink{position:relative;padding:16px 0;border-radius:0;border-bottom:1px solid var(--_hub-theme---colour--rule)!important;background:transparent!important;white-space:normal;font-family:var(--font--headings),sans-serif;font-size:28px;line-height:115%;letter-spacing:-.01em}
.ch-nav-mobsheet .ch-nav-navlink.w--current{padding-left:20px}
.ch-nav-mobsheet .ch-nav-navlink.w--current::before,.chm-link.is-current::before{content:"";position:absolute;left:0;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--_hub-theme---colour--accent)}
.ch-nav-mobhubs-list.w--open .ch-nav-mobhubs-item{animation:chCardIn .4s var(--ch-ease) both}
.ch-nav-mobsheet .ch-nav-navlink,.chm-link,.chm-entry,.chm-chip,.ch-nav-mobhubs-item{transition:transform .2s var(--ch-ease),opacity .2s ease}
.ch-nav-mobsheet .ch-nav-navlink:active,.ch-nav-mobhubs-item:active,.ch-nav-btnwrapper:active,.ch-nav-mobhubs-toggle:active,.chm-entry:active,.chm-link:active,.chm-chip:active{transform:scale(.98);opacity:.85}

/* Two levels: 1 = network, 2 = current hub */
.chm-has-hub .chm-entry{display:flex}
.ch-nav-mobsheet[data-chm-level="2"]>*:not(.chm-l2){display:none!important}
.ch-nav-mobsheet[data-chm-level="2"] .chm-l2{display:block;animation:chSlideIn .4s var(--ch-ease) both}
.ch-nav-mobsheet[data-chm-level="1"]>*:not(.chm-l2){animation-name:chSlideBack}

/* Level 1: slim pill back into the hub */
.chm-entry{width:100%;min-height:56px;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 12px;padding:6px 6px 6px 20px;border:1px solid var(--_hub-theme---colour--rule);border-radius:999px;background:var(--_hub-theme---colour--pillhover);color:var(--_hub-theme---colour--text);text-align:left;font:inherit;cursor:pointer}
.chm-entry-text{display:flex;align-items:baseline;gap:10px;min-width:0}
.chm-entry .chm-eyebrow{flex-shrink:0}
.chm-entry-name{font-family:var(--font--headings),sans-serif;font-size:20px;line-height:120%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chm-entry:hover .chm-arrow{transform:translateX(3px)}

/* Level 2: the hub */
.chm-l2{padding-top:8px;color:var(--_hub-theme---colour--text)}
.chm-l2>*{animation:chCardIn .5s var(--ch-ease) both}
.chm-l2>*:nth-child(2){animation-delay:.05s}
.chm-l2>*:nth-child(3){animation-delay:.1s}
.chm-l2>*:nth-child(4){animation-delay:.15s}
.chm-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0 0 28px;padding:10px 16px 10px 12px;border:1px solid var(--_hub-theme---colour--rule);border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.chm-l2-head{margin:0 0 24px}
.chm-l2-head .chm-eyebrow{margin:0 0 10px}
.chm-hub{margin:0;font-family:var(--font--headings),sans-serif;font-size:44px;line-height:105%;letter-spacing:-.02em}
.chm-links{display:flex;flex-direction:column;margin:0;padding:0;border-top:1px solid var(--_hub-theme---colour--rule)}
.chm-link{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:60px;padding:16px 0;border-bottom:1px solid var(--_hub-theme---colour--rule);color:inherit;text-decoration:none;font-family:var(--font--headings),sans-serif;font-size:28px;line-height:115%;letter-spacing:-.01em}
.chm-link::after{content:"\2192";font-size:20px;opacity:.45;transition:transform .25s var(--ch-ease),opacity .2s}
.chm-link:hover::after{transform:translateX(4px);opacity:1}
.chm-link.is-current{padding-left:22px}
.chm-others{margin-top:36px}
.chm-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.chm-chip{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border:1px solid var(--_hub-theme---colour--rule);border-radius:999px;color:inherit;text-decoration:none;font-size:15px;font-weight:600}
.chm-chip:hover{background:var(--_hub-theme---colour--pillhover)}
}
@media (max-width:479px){.ch-nav-mobsheet .ch-nav-navlink,.chm-link{font-size:24px;padding-top:14px;padding-bottom:14px}.chm-link{min-height:56px}.chm-hub{font-size:38px}.chm-back{margin-bottom:24px}.chm-has-lockup .ch-nav-logo{width:116px!important}.chm-lockup{font-size:17px;gap:5px}.chm-lockup-chev{width:11px;height:11px}}
@media (max-width:359px){.chm-has-lockup .ch-nav-logo{width:100px!important}.chm-lockup{font-size:15px}}

@keyframes chPanelIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes chSheetIn{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes chCardIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes chSlideIn{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes chSlideBack{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
