/* PPID and Humas share the parent website's colours and icon system. */
.portal-shell .portal-menu-toggle{display:grid!important;place-items:center}
.portal-shell.portal-menu-open{overflow:hidden}
.portal-shell .portal-header{z-index:100;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.portal-shell .portal-nav{display:block!important;position:fixed;top:0;right:0;bottom:0;width:min(360px,88vw);max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;z-index:102;background:var(--surface,#fff);border-left:1px solid var(--line,#dce9e7);box-shadow:-18px 0 45px #082d2930;transform:translateX(105%);visibility:hidden;transition:transform .25s ease,visibility .25s;pointer-events:none}
.portal-shell .portal-nav.is-open{transform:none;visibility:visible;pointer-events:auto}
.portal-shell .portal-nav-backdrop{position:fixed;inset:0;z-index:101;border:0;background:#102b2873;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s}
.portal-shell.portal-menu-open .portal-nav-backdrop{opacity:1;visibility:visible;pointer-events:auto}
.portal-shell .portal-nav-inner{width:100%!important;max-width:none!important;min-height:0;display:grid!important;align-content:start;justify-content:stretch;padding:18px!important;gap:7px}
.portal-nav-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 12px;margin-bottom:7px;border-bottom:1px solid var(--line,#dce9e7);font-size:1.1rem}
.portal-nav-icon{display:inline-grid;place-items:center;width:31px;height:31px;flex:none;border-radius:9px;background:linear-gradient(145deg,#e9fbf5,#b1e4d3);color:#087264;box-shadow:inset 1px 1px 1px #fff,0 3px 0 #75b6a2,0 5px 9px #15564b2b}
.portal-shell .portal-nav-group{width:100%;min-width:0;border:1px solid var(--line,#dce9e7);border-radius:13px}
.portal-shell .portal-nav-group>summary{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:52px;padding:10px!important;white-space:normal}
.portal-shell .portal-nav-group>summary>svg:last-child{margin-left:auto}
.portal-shell .portal-nav-group>div{position:static!important;display:grid!important;width:100%;min-width:0;max-height:0;overflow:hidden;padding:0 8px!important;margin:0;border:0!important;box-shadow:none!important;opacity:0;visibility:hidden;transform:none!important;transition:max-height .22s ease,opacity .2s ease,padding .2s ease;background:transparent!important}
.portal-shell .portal-nav-group[open]>div{max-height:740px;padding:0 8px 8px!important;opacity:1;visibility:visible}
.portal-shell .portal-nav-group a{display:block;padding:9px 11px;min-height:40px;font-size:.9rem}
.ppid-hours-card{align-self:start}.ppid-hours-card:not([open]){padding:0!important;min-height:0}.ppid-hours-card>summary{display:flex;align-items:center;gap:.65rem;cursor:pointer;list-style:none;font-weight:800;padding:16px 20px}.ppid-hours-card>summary::-webkit-details-marker{display:none}.ppid-hours-card>summary>svg:last-child{margin-left:auto}.ppid-hours-card[open]>summary>svg:last-child{transform:rotate(180deg)}
.ppid-hours-card[open]{padding:0 0 18px!important}.ppid-hours-card[open]>*:not(summary){margin-inline:18px}
.humas-services-card{align-self:start}.humas-services-card:not([open]){padding:0!important;min-height:0}.humas-services-card>summary{display:flex;align-items:center;gap:.65rem;cursor:pointer;list-style:none;font-weight:800;padding:16px 20px}.humas-services-card>summary::-webkit-details-marker{display:none}.humas-services-card>summary>svg:last-child{margin-left:auto}.humas-services-card[open]{padding:0 0 14px!important}.humas-services-card[open] p{margin:0 18px}
.portal-shell .module-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.portal-shell .module-stats article{min-width:0;min-height:110px;padding:12px;display:grid;align-content:center;gap:4px}.portal-shell .module-stats article>span{line-height:1}.portal-shell .module-stats article strong{font-size:clamp(1.2rem,3vw,2rem);line-height:1.15}.portal-shell .module-stats article small{font-size:.72rem;line-height:1.25}
.portal-shell .portal-carousel{display:flex!important;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:2px;overscroll-behavior-inline:contain;scrollbar-width:thin;padding:5px 2px 16px}
.portal-shell .portal-carousel>*{flex:0 0 clamp(220px,32vw,340px);min-width:0;max-width:85vw;scroll-snap-align:start}
.portal-shell .module-staff-section{min-width:0}.portal-shell .module-staff-card{height:auto}
.portal-shell .portal-carousel-controls{display:flex;justify-content:center;align-items:center;gap:12px;margin:6px 0 18px}.portal-carousel-controls button{display:grid;place-items:center;width:36px;height:36px;min-width:36px;border:1px solid var(--line,#dce9e7);border-radius:11px;background:var(--surface,#fff);color:var(--brand,#08766d);cursor:pointer}.portal-carousel-controls span{min-width:48px;text-align:center;font-size:.8rem;font-weight:750}
.portal-shell .portal-carousel:focus-visible{outline:2px solid var(--brand,#08766d);outline-offset:2px}
.humas-portal .external-news-grid:not(.portal-carousel){align-items:start;grid-auto-rows:auto;gap:14px}
.humas-portal .external-news-card{height:auto;min-height:0;align-self:start}
.humas-portal .external-news-card .external-news-image{display:block;aspect-ratio:16/9;min-height:0;height:auto;overflow:hidden}
.humas-portal .external-news-card .external-news-image img{display:block;width:100%;height:100%;object-fit:cover}
.humas-portal .external-news-card .external-news-body{display:grid;gap:8px;padding:12px}
.humas-portal .external-news-card h2,.humas-portal .external-news-card h3{font-size:clamp(.96rem,2vw,1.12rem);line-height:1.35}
@media(max-width:700px){.portal-shell .module-stats{gap:6px}.portal-shell .module-stats article{min-height:83px;padding:7px;text-align:center;place-items:center}.portal-shell .module-stats article>span{width:26px;height:26px}.portal-shell .module-stats article>span svg{width:18px;height:18px}.portal-shell .module-stats article strong{font-size:1.15rem}.portal-shell .module-stats article small{font-size:.62rem}.portal-shell .portal-carousel>*{flex-basis:min(78vw,320px)}.portal-shell .module-staff-card{display:flex;flex-direction:column}.portal-shell .module-staff-card img{width:100%;height:230px;object-fit:cover}}
@media(prefers-reduced-motion:reduce){.portal-shell .portal-nav,.portal-shell .portal-nav-backdrop,.portal-shell .portal-nav-group>div{transition:none}}
