.hp-site .hp-gallery-carousel[data-hp-carousel-ready]{display:block;position:relative;container-type:inline-size;padding:12px 12px 56px;border:1px solid #e9f2f9;border-radius:10px;overflow:hidden;background:var(--hp-section-background,var(--municipality-stripe,#f0f8fe))}
.hp-gallery-carousel[data-hp-carousel-ready] .hp-gallery-card{position:relative;margin:0;border:0;border-radius:8px;overflow:hidden;box-shadow:none;background:transparent}
.hp-gallery-carousel[data-hp-carousel-ready] .hp-gallery-image{aspect-ratio:var(--hp-carousel-aspect,16/9);max-height:min(65vh,640px);background:transparent}
.hp-gallery-image > img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;flex:none}
.hp-gallery .hp-gallery-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.hp-gallery-caption-text{min-width:0;overflow-wrap:anywhere}
.hp-site .hp-gallery-carousel .hp-gallery-caption > .hp-ai{position:static;inset:auto;flex-shrink:0;max-width:100%;margin-left:auto;background:#102c48e6;color:#fff;border:1px solid #ffffff55;border-radius:4px;padding:4px 7px;font-size:11px}
.hp-site .hp-gallery-carousel[data-hp-carousel-ready] .hp-gallery-caption{position:absolute;inset:auto 0 0;margin:0;padding:44px 20px 18px;background:linear-gradient(transparent,#071e34e6);color:#fff;pointer-events:none}
.hp-gallery-carousel[data-hp-carousel-ready] .hp-gallery-caption-text{font-weight:650;text-shadow:0 1px 3px #0008}
@supports (width:1cqw){.hp-gallery-carousel[data-hp-carousel-ready] .hp-carousel-arrow{top:calc(12px + min(calc(50cqw / var(--hp-carousel-aspect,1.7777778)),32.5vh,320px))}}
.hp-gallery-carousel .hp-carousel-controls{display:contents;background:transparent}
.hp-gallery-carousel .hp-carousel-arrow{position:absolute;top:calc((100% - 56px)/2);transform:translateY(-50%);display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #fff9;border-radius:50%;background:#fffffff2;color:#17324d;font-size:24px;box-shadow:0 3px 12px #102c4826;cursor:pointer;z-index:1}
.hp-gallery-carousel .hp-carousel-arrow:hover{background:#fff;box-shadow:0 3px 16px #102c4855}
.hp-gallery-carousel .hp-carousel-previous{left:24px}.hp-gallery-carousel .hp-carousel-next{right:24px}
.hp-carousel-counter{position:absolute;top:28px;right:28px;padding:6px 13px;border-radius:20px;background:#102c48e6;color:#fff;font-size:12px;line-height:1.5;font-variant-numeric:tabular-nums;pointer-events:none}
.hp-gallery-carousel .hp-carousel-expand{position:absolute;bottom:6px;right:12px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #d6e4f0;border-radius:50%;background:#fff;color:#17324d;cursor:pointer}
.hp-gallery-carousel .hp-carousel-expand:hover{background:#e0effc}
.hp-gallery-carousel :is(button,a):focus-visible{outline:3px solid #066fd1;outline-offset:3px}
@media(max-width:600px){.hp-site .hp-gallery-carousel[data-hp-carousel-ready] .hp-gallery-caption{position:static;padding:12px;background:#17324d;text-shadow:none;gap:8px;font-size:14px}.hp-gallery-carousel .hp-carousel-arrow{width:44px;height:44px}.hp-carousel-counter{top:20px;right:20px}.hp-gallery-carousel .hp-carousel-dots{gap:0}.hp-gallery-carousel .hp-carousel-dot{width:28px}}
.hp-gallery-carousel .hp-carousel-dots{position:absolute;bottom:6px;left:64px;right:64px;min-height:44px;display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:0}
.hp-gallery-carousel .hp-carousel-dot{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;background:transparent;cursor:pointer}
.hp-gallery-carousel .hp-carousel-autoplay{position:absolute;bottom:6px;left:12px;display:grid;place-items:center;min-width:44px;min-height:44px;padding:4px 10px;margin-right:8px;border:1px solid #cbd8e3;border-radius:8px;background:transparent;color:var(--municipality-primary);cursor:pointer;font-size:18px}
.hp-gallery-carousel .hp-carousel-dot span{width:8px;height:8px;border-radius:50%;background:#8495a5}
.hp-gallery-carousel .hp-carousel-dot[aria-current="true"] span{background:var(--municipality-primary);box-shadow:0 0 0 3px #dbe5ef}
html.hp-site-root{margin-left:0}
.hp-site a[aria-disabled="true"],.hp-site .hp-nav-disabled{opacity:.55;cursor:default;text-decoration:none}
@media(min-width:1101px){.hp-homepage-mobile .hp-quicklinks.hp-quicklinks-five{grid-template-columns:repeat(5,minmax(0,1fr))}}
.hp-container.hp-today-hours{margin-top:24px;margin-bottom:24px}
.hp-today-hours+.hp-block{padding-top:0}
.hp-today-hours-bar{display:flex;align-items:center;gap:24px;width:fit-content;max-width:100%;margin-inline:auto;min-height:60px;padding:6px 24px 6px 12px;background:#fff;border:1px solid #e0e6ec;border-radius:32px;box-shadow:0 4px 14px #172b4008}
.hp-today-hours-heading{display:flex;align-items:center;gap:20px;flex:none;padding-right:28px;border-right:1px solid #dce3e9}
.hp-today-hours-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:#f1f6f8;font-size:24px;color:#172b40}
.hp-today-hours-details{display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px;min-width:0;flex:1}
.hp-today-hours-date,.hp-today-hours-time{display:inline-flex;align-items:center;gap:6px}
.hp-today-hours-date{color:#526579}.hp-today-hours-date i,.hp-today-hours-time i{font-size:21px}
.hp-today-hours-status{padding:5px 18px;border-radius:24px;background:#f1f3f5;color:#526579;font-weight:700;white-space:nowrap}
.hp-today-hours-status.is-open{background:#e5f4e9;color:#216e39}
.hp-today-hours-note{flex-basis:100%;font-size:.88rem;color:#526579}
.hp-site .hp-today-hours-link{display:inline-flex;align-items:center;gap:6px;flex:none;margin-left:auto;padding:4px 0 4px 28px;border-left:1px solid #dce3e9;font-weight:700;text-decoration:none}
.hp-site .hp-today-hours-link:hover{text-decoration:underline}
@media(max-width:1100px){.hp-today-hours-bar{flex-wrap:wrap;gap:16px;border-radius:24px;padding:12px 18px}.hp-today-hours-heading{gap:12px;padding-right:18px}.hp-today-hours-details{gap:12px 20px}.hp-site .hp-today-hours-link{padding-left:18px}}
@media(max-width:600px){.hp-today-hours-bar{align-items:flex-start;gap:12px;border-radius:20px;padding:14px}.hp-today-hours-heading{width:100%;border-right:0;padding-right:0}.hp-today-hours-details{flex-basis:100%;gap:12px}.hp-today-hours-date{flex-basis:100%}.hp-site .hp-today-hours-link{margin-left:0;padding:10px 0 0;border-left:0;border-top:1px solid #dce3e9;min-height:44px;width:100%}}
.hp-admin-bar .hp-admin-bar-inner{padding-left:0;padding-right:0}.hp-site .hp-admin-bar .hp-admin-bar-brand{padding-left:0}.hp-site .hp-admin-bar-actions>a:last-child{padding-right:0}
.hp-header .hp-brand-row{padding-left:0;padding-right:0}
.hp-header .hp-brand:has(.hp-logo){justify-content:flex-start;min-width:0;max-width:400px}
.hp-header .hp-logo-wrap{min-width:0;max-width:100%;flex-shrink:1}
.hp-header .hp-logo:not([data-hp-logo-dimension]){width:400px;height:auto;max-width:100%;max-height:96px;object-position:left center}
@media(max-width:700px){.hp-header .hp-brand:has(.hp-logo){max-width:min(400px,100%);flex-shrink:1}.hp-header .hp-brand-group-text .hp-brand:has(.hp-logo){max-width:40%}.hp-header .hp-logo:not([data-hp-logo-dimension]){max-height:80px}}
/* Municipal footer: contact, optional opening hours and a separate legal navigation bar. */
.hp-site .hp-footer.hp-footer-municipal{--hp-footer-line:#ffffff26;--hp-footer-accent:#6cbeef;padding:52px 0 0;background:linear-gradient(115deg,#0d3456,#123d60);color:#f2f6fc}
.hp-site .hp-footer.hp-footer-municipal.hp-footer-themed{--hp-footer-line:color-mix(in srgb,var(--municipality-on-footer) 15%,transparent);--hp-footer-accent:var(--municipality-on-footer);background:var(--municipality-footer);color:var(--municipality-on-footer)}
.hp-site .hp-footer.hp-footer-municipal.hp-footer-themed .hp-footer-contact-icon{background:color-mix(in srgb,var(--municipality-on-footer) 12%,transparent);color:inherit}
.hp-site .hp-footer.hp-footer-municipal.hp-footer-themed .hp-footer-hours-details{color:inherit}
.hp-site .hp-footer.hp-footer-municipal.hp-footer-themed a{color:inherit}
.hp-site .hp-footer.hp-footer-municipal.hp-footer-themed a:hover,.hp-site .hp-footer.hp-footer-municipal.hp-footer-themed button:hover{color:inherit;background-color:color-mix(in srgb,var(--municipality-on-footer) 6%,transparent)}
.hp-footer-municipal .hp-footer-columns{display:grid;grid-template-columns:1fr;gap:0;padding-bottom:44px}
.hp-footer-municipal.hp-footer-with-hours .hp-footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
.hp-footer-municipal .hp-footer-columns>section{min-width:0;padding-inline:28px;border-left:1px solid var(--hp-footer-line)}
.hp-footer-municipal .hp-footer-columns>section:first-child{padding-left:0;border:0}
.hp-footer-municipal .hp-footer-columns>section:last-child{padding-right:0}
.hp-site .hp-footer-municipal .hp-footer-heading{margin:0 0 26px;padding:0;border:0;font-size:1.125rem;font-weight:600;line-height:1.4;color:inherit}
.hp-footer-municipal .hp-footer-heading:after{content:"";display:block;width:34px;height:3px;margin-top:18px;background:var(--hp-footer-accent)}
.hp-site .hp-footer-municipal .hp-footer-heading a{font-size:inherit;font-weight:inherit;margin:0}
.hp-site .hp-footer-municipal .hp-footer-contact-row{display:flex;align-items:center;gap:14px;margin:0 0 22px;font-size:.875rem;line-height:1.6;overflow-wrap:anywhere}
.hp-footer-municipal .hp-footer-contact-row>span{min-width:0}
.hp-footer.hp-footer-municipal address{margin:0;font-size:inherit;line-height:inherit}
.hp-footer-municipal .hp-footer-contact-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:#69baff30;color:#d7edff;font-size:22px}
.hp-footer-municipal .hp-footer-socials{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:30px;padding-top:20px;border-top:1px solid var(--hp-footer-line)}
.hp-site .hp-footer-municipal .hp-footer-socials a{display:grid;place-items:center;margin:0;width:34px;height:44px}
.hp-footer-municipal .hp-footer-socials img{display:block;width:34px;height:34px}
.hp-site .hp-footer-municipal .hp-footer-link-list a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;margin:0;padding:9px 2px;border-bottom:1px solid var(--hp-footer-line);font-size:.9375rem;line-height:1.5;overflow-wrap:anywhere}
.hp-footer-municipal .hp-footer-link-list i{flex:none}
.hp-footer-municipal .hp-footer-hours-week{margin:0 0 20px}
.hp-footer-municipal .hp-footer-hours-day{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:10px;padding:7px 0;border-bottom:1px solid var(--hp-footer-line);font-size:.875rem;line-height:1.5}
.hp-footer-municipal .hp-footer-hours-day:last-child{border:0}
.hp-footer-municipal .hp-footer-hours-day dt{font-weight:400}
.hp-footer-municipal .hp-footer-hours-day dd{margin:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.hp-site .hp-footer-municipal .hp-footer-hours-details{margin:16px 0;white-space:pre-line;font-size:.8125rem;line-height:1.6;color:#dce9f5}
.hp-site .hp-footer-municipal .hp-footer-hours-link{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;margin:0;padding:9px 12px;border:1px solid var(--hp-footer-accent);border-radius:8px;font-size:.9375rem;font-weight:600}
.hp-footer-municipal .hp-footer-hours-link>i:last-child{margin-left:auto}
.hp-site .hp-footer-municipal a:hover,.hp-site .hp-footer-municipal button:hover{color:#fff;background-color:#ffffff0a}
.hp-footer-municipal :focus-visible{outline:3px solid var(--hp-footer-accent);outline-offset:3px}
.hp-site .hp-footer-municipal .hp-footer-bottom{display:block;margin:0;padding:24px 0;border-top:1px solid var(--hp-footer-line)}
.hp-footer-municipal .hp-footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 28px}
.hp-site .hp-footer-municipal .hp-footer-copyright{font-size:.8125rem}
.hp-site .hp-footer-municipal .hp-footer-service-nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;min-width:0}
.hp-site .hp-footer-municipal .hp-footer-service-nav :is(a,button){display:inline-flex;align-items:center;min-height:32px;min-width:0;max-width:100%;margin:0;padding:0 12px;border:0;border-left:1px solid var(--hp-footer-line);background:transparent;color:inherit;font-size:.8125rem;line-height:1.6;text-align:left;overflow-wrap:anywhere}
.hp-site .hp-footer-municipal .hp-footer-service-nav>:first-child{padding-left:0;border-left:0}
.hp-site .hp-footer-municipal.hp-footer-compact{padding-top:28px}
.hp-footer-municipal.hp-footer-compact .hp-footer-columns{padding-bottom:28px}
@media(max-width:1199px){
    .hp-footer-municipal.hp-footer-with-hours .hp-footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:36px}
    .hp-footer-municipal .hp-footer-columns>section:nth-child(odd){padding-left:0;border-left:0}
    .hp-footer-municipal .hp-footer-columns>section:nth-child(even){padding-right:0}
}
@media(max-width:600px){
    .hp-site .hp-footer.hp-footer-municipal{padding-top:32px}
    .hp-footer-municipal.hp-footer-with-hours .hp-footer-columns,.hp-footer-municipal .hp-footer-columns{grid-template-columns:1fr;gap:28px;padding-bottom:32px}
    .hp-footer-municipal .hp-footer-columns>section{padding:28px 0 0;border:0;border-top:1px solid var(--hp-footer-line)}
    .hp-footer-municipal .hp-footer-columns>section:first-child{padding-top:0}
    .hp-site .hp-footer-municipal .hp-footer-service-nav :is(a,button){min-height:44px}
    .hp-site .hp-footer-municipal .hp-footer-socials a{width:44px}
}
/* Light card surfaces follow the homepage design palette. */
.hp-site {
    --municipality-card-background: color-mix(in srgb, var(--municipality-primary) 10%, white);
    --municipality-card-border: color-mix(in srgb, var(--municipality-primary) 24%, white);
    --municipality-card-hover: color-mix(in srgb, var(--municipality-primary) 18%, white);
}
.hp-site .hp-community-heading{display:flex;align-items:center;gap:10px;font-size:1.08rem;margin-bottom:10px}.hp-community-heading:before{content:"";width:22px;height:3px;background:var(--municipality-primary);flex:none}.hp-site .hp-community-intro{font-size:.88rem;color:#526579;margin-bottom:16px}.hp-community-topics-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.5fr);gap:16px}.hp-community-topics-body.hp-community-no-image{grid-template-columns:1fr}.hp-community-topics-body figure{position:relative;margin:0;min-height:150px}.hp-community-topics-body figure img{width:100%;height:100%;object-fit:cover;border-radius:var(--municipality-radius)}.hp-community-topic-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.hp-site .hp-community-topic-links a{display:flex;justify-content:space-between;align-items:flex-start;gap:4px;padding:14px 10px;background:var(--municipality-card-background);border:1px solid var(--municipality-card-border);border-radius:var(--municipality-radius);color:#263b50;font-size:max(14px, .875rem);font-weight:650;text-decoration:none;overflow-wrap:anywhere}.hp-site .hp-community-topic-links a:hover,.hp-site .hp-community-topic-links a:focus-visible{background:var(--municipality-card-hover);border-color:var(--municipality-primary);color:var(--municipality-link)}.hp-community-info{position:relative;isolation:isolate;padding:22px;background:transparent;border:0;border-radius:var(--municipality-radius);overflow:hidden}.hp-community-crest{position:absolute;top:18px;right:18px;width:65px;max-height:90px;object-fit:contain;opacity:.13;z-index:-1}.hp-site .hp-community-info p{font-size:max(14px, .875rem);color:#526579;margin-bottom:14px}.hp-community-info-links{display:flex;gap:6px 12px;flex-wrap:wrap;margin-top:14px}.hp-community-info-links a{font-size:max(14px, .875rem)}.hp-site .hp-greeting-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:0;background:var(--municipality-card-background);border:1px solid var(--municipality-card-border);border-radius:var(--municipality-radius);overflow:hidden}.hp-site .hp-greeting-card.hp-image-right{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.hp-site .hp-greeting-card figure{margin:0;min-height:0;position:relative}.hp-site .hp-greeting-card figure img{height:100%;width:100%;object-fit:cover;aspect-ratio:auto}.hp-greeting-card .hp-text-image-copy{padding:20px 16px}.hp-site .hp-greeting-card h2{font-size:1.08rem;margin-bottom:12px}.hp-greeting-card .hp-richtext{font-size:max(14px, .875rem)}.hp-site .hp-greeting-card .hp-button,.hp-site .hp-community-info .hp-button{font-size:max(14px, .875rem);padding:8px 12px}
@container hp-column (max-width:450px){.hp-community-topics-body{grid-template-columns:1fr}.hp-community-topics-body figure{height:160px}.hp-community-topic-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.hp-community-topics-body{grid-template-columns:1fr}.hp-community-topics-body figure{height:180px}.hp-community-topic-links{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-site .hp-greeting-card,.hp-site .hp-greeting-card.hp-image-right{grid-template-columns:1fr}.hp-site .hp-greeting-card figure img{max-height:260px;object-fit:contain}.hp-greeting-card .hp-text-image-copy{padding:20px}}
.hp-main .hp-container.hp-block{padding-left:0;padding-right:0}
.hp-header .hp-desktop-nav{padding-left:0;padding-right:0}
.hp-contact-detail{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px;overflow-wrap:anywhere}.hp-contact-detail>i{flex:none;line-height:1.6}.hp-contact-detail address{font-style:normal;margin:0}.hp-contact-details .hp-actions{align-items:flex-start;flex-wrap:wrap;margin-top:18px}.hp-contact-details .hp-contact-detail a{text-decoration:none;color:inherit}.hp-contact-details .hp-contact-detail a:hover{color:var(--municipality-primary)}.hp-site .hp-button-outline{background:transparent;color:var(--municipality-link)!important;border:1px solid var(--municipality-link);text-decoration:none}.hp-site .hp-button-outline:hover{background:color-mix(in srgb,var(--municipality-link) 8%,white);color:var(--municipality-link);text-decoration:none}.hp-contact-hours summary{cursor:pointer;list-style:none}.hp-contact-hours summary::-webkit-details-marker{display:none}.hp-contact-hours[open] summary i{transform:rotate(180deg)}.hp-contact-hours .hp-opening-hours{margin:12px 0 0}.hp-help-card{padding:24px;background:var(--municipality-card-background);border:1px solid var(--municipality-card-border);border-radius:var(--municipality-radius);overflow-wrap:anywhere}.hp-help-card .hp-help-icon{display:block;font-size:32px;line-height:1;margin-bottom:18px}.hp-site .hp-help-card h2{font-size:1.15rem;margin-bottom:12px}.hp-site .hp-help-card p{color:#526579;margin-bottom:18px}
.hp-site{margin:0;background:#fff;color:#172b40;font-family:var(--municipality-font);font-size:16px;line-height:1.6;--bsplus-primary:var(--municipality-primary);--tblr-primary:var(--municipality-primary)}
.hp-admin-bar{position:sticky;top:0;z-index:40;background:#172b40;color:#fff;font-size:max(14px, .875rem);line-height:1.5}
.hp-admin-bar-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 16px;min-height:40px}
.hp-admin-bar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:0 4px;min-width:0}
.hp-site .hp-admin-bar a{display:inline-flex;align-items:center;padding:10px 8px;color:#fff;text-decoration:none;white-space:nowrap}
.hp-admin-bar-brand{font-weight:700}.hp-site .hp-admin-bar a:hover{background:#ffffff1a;color:#fff}.hp-site .hp-admin-bar a:focus-visible{outline:2px solid #fff;outline-offset:-3px}
.hp-site .hp-admin-bar a.hp-admin-bar-edit{background:#18703c;color:#fff}.hp-site .hp-admin-bar a.hp-admin-bar-edit:hover{background:#12582f;color:#fff}
.hp-embedded .hp-admin-bar{display:none}
@media(max-width:700px){.hp-admin-bar-inner{justify-content:flex-start;gap:0 4px}.hp-admin-bar-actions{display:contents}.hp-site .hp-admin-bar a{padding:9px 6px}}
@media print{.hp-admin-bar{display:none}}
.hp-site .hp-nav-group> a{padding:6px 0}.hp-site .hp-nav-group:hover> a,.hp-site .hp-nav-group:focus-within> a,.hp-site .hp-nav-group:has(>button[aria-expanded="true"])> a,.hp-site .hp-nav-group>button:hover,.hp-site .hp-nav-group>button[aria-expanded="true"]{color:var(--municipality-primary)}.hp-site .hp-nav-group>button i{display:block;transition:transform .15s}.hp-site .hp-nav-group>button[aria-expanded="true"] i{transform:rotate(180deg)}
.hp-site *{box-sizing:border-box}.hp-site [hidden]{display:none!important}.hp-site img{max-width:100%;display:block}.hp-site a{color:var(--municipality-link);text-underline-offset:3px}.hp-site h1,.hp-site h2,.hp-site h3{color:#172b40;font-family:inherit;line-height:1.3}.hp-site h2{font-size:1.45rem;margin:0 0 18px}.hp-site h3{font-size:1.04rem;margin:0 0 8px}.hp-site p{margin:0 0 14px}.hp-site button,.hp-site input,.hp-site textarea,.hp-site select{font:inherit}.hp-site :focus-visible{outline:3px solid var(--municipality-primary);outline-offset:4px}.hp-container{width:100%;max-width:var(--municipality-width);margin:auto;padding:0}.hp-skip{position:fixed;left:16px;top:-100px;z-index:1000;background:#fff;padding:14px;border:2px solid var(--municipality-primary)}.hp-skip:focus{top:12px}.hp-header{background:#fff;border-bottom:1px solid #e6edf3;position:relative;z-index:20}.hp-brand-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:22px;padding-bottom:15px}.hp-brand{display:flex;align-items:center;gap:13px;color:#172b40!important;text-decoration:none;font-weight:750;font-size:1.08rem;line-height:1.2;max-width:310px}.hp-emblem{background:var(--municipality-primary);color:var(--municipality-on-primary);display:grid;place-items:center;width:45px;height:55px;border-radius:3px 3px 19px 19px;flex-shrink:0;font-size:32px}.hp-logo-wrap{position:relative;flex-shrink:0}.hp-logo{max-width:64px;max-height:64px;object-fit:contain}.hp-utility{display:flex;gap:22px;align-items:center;font-size:max(14px, .875rem);font-weight:600}.hp-utility a{text-decoration:none;color:#263b50}.hp-utility i{color:var(--municipality-primary)}.hp-desktop-nav{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:4px;padding-bottom:12px;font-size:max(14px, .875rem);font-weight:700}.hp-desktop-nav a{color:#243b52;text-decoration:none}.hp-desktop-nav a:hover{text-decoration:underline}.hp-nav-group{position:relative;display:flex;align-items:center;gap:2px}.hp-nav-group>button{border:0;background:transparent;color:#243b52;padding:6px;cursor:pointer}.hp-submenu{position:absolute;top:100%;left:0;min-width:265px;padding:12px;margin:0;background:#fff;box-shadow:0 8px 30px #14395426;border:1px solid #e7edf3;border-radius:var(--municipality-radius);list-style:none;z-index:30}.hp-submenu a{display:block;padding:9px 12px}.hp-submenu a:hover{background:#f0f6fa}.hp-nav-group:last-child .hp-submenu{left:auto;right:0}.hp-mega-nav .hp-submenu{min-width:360px}.hp-menu-label{font-size:max(14px, .875rem);display:block;margin:9px 12px 0;color:#536779}.hp-menu-toggle{display:none;background:#fff;color:#173c5b;border:0;font-size:26px;padding:10px}.hp-main{min-height:50vh}.hp-block{padding-top:30px;padding-bottom:30px}.hp-hero{position:relative;overflow:hidden;background:#244458;max-width:var(--municipality-width);margin:auto;isolation:isolate}.hp-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hp-hero-overlay:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#081c28bd,#09243333 80%);z-index:-1}.hp-hero-copy{position:relative;padding-top:82px;padding-bottom:82px;color:white}.hp-hero-copy h1,.hp-hero-copy h2{max-width:600px;color:white;font-size:2.5rem;font-weight:750;margin:0 0 16px;line-height:1.16;text-shadow:0 1px 5px #071e3566}.hp-hero-copy p{font-size:1.12rem;max-width:600px;margin-bottom:28px}.hp-center .hp-hero-copy{text-align:center}.hp-center .hp-hero-copy h1,.hp-center .hp-hero-copy h2,.hp-center .hp-hero-copy p{margin-left:auto;margin-right:auto}.hp-center .hp-actions{justify-content:center}.hp-actions{display:flex;flex-wrap:wrap;gap:13px}.hp-button{display:inline-flex;align-items:center;justify-content:center;gap:2px;padding:12px 20px;border:1px solid var(--municipality-primary);border-radius:var(--municipality-radius);background:var(--municipality-primary);color:var(--municipality-on-primary)!important;text-decoration:none;font-size:.9rem;font-weight:700;cursor:pointer}.hp-button:hover{filter:brightness(.92);text-decoration:none}.hp-button-light{background:white;color:#183d58!important;border-color:white}.hp-rounded-buttons .hp-button{border-radius:999px}.hp-focus-left{object-position:25% center}.hp-focus-right{object-position:75% center}.hp-focus-center{object-position:center}.hp-quicklinks{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.hp-quicklink{padding:26px 13px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;background:linear-gradient(#edf5fb,#f7fbfe);border:1px solid #edf5fb;border-radius:var(--municipality-radius);text-decoration:none;color:#172b40!important}.hp-site .hp-quicklink:hover{border-color:var(--municipality-primary);background:#e7f1f8;text-decoration:none}.hp-quicklink>i{color:var(--municipality-primary);font-size:36px;margin-bottom:18px}.hp-quicklink h3{font-size:.94rem;font-weight:750;margin:0 0 12px;min-height:2.5em}.hp-quicklink p{font-size:max(14px, .875rem);line-height:1.5;margin:0}.hp-quicklinks-section{padding-bottom:12px}.hp-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding-bottom:38px}.hp-overview-column+.hp-overview-column{border-left:1px solid #e8eef4;padding-left:28px}.hp-section-heading{display:flex;gap:15px;justify-content:space-between;align-items:baseline;margin-bottom:16px}.hp-section-heading h2{margin:0;font-size:1.25rem}.hp-section-heading>a{font-size:max(14px, .875rem);white-space:nowrap;font-weight:650;text-decoration:none}.hp-feed-item{display:flex;gap:18px;padding:19px 0;border-bottom:1px solid #e6edf3}.hp-feed-item:first-child{padding-top:0}.hp-feed-image{position:relative;width:130px;flex-shrink:0}.hp-feed-image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px}.hp-feed-copy{min-width:0}.hp-feed-copy h3 a{text-decoration:none;color:#173754}.hp-feed-copy h3 a:hover{text-decoration:underline}.hp-meta{font-size:max(14px, .875rem);color:#566978;margin:0 0 5px!important}.hp-feed-copy>p{font-size:max(14px, .875rem);line-height:1.6}.hp-readmore{display:block;font-size:max(14px, .875rem);text-decoration:none;font-weight:650}.hp-overview .hp-feed-item{gap:12px;padding:14px 0}.hp-overview .hp-feed-image{width:73px}.hp-overview .hp-feed-copy h3{font-size:max(14px, .875rem);margin-bottom:4px}.hp-overview .hp-feed-copy>p:not(.hp-meta){font-size:max(14px, .875rem)}.hp-overview .hp-meta{font-size:max(14px, .875rem)}.hp-overview .hp-readmore{display:none}.hp-progress{display:flex;gap:8px;align-items:center;font-size:max(14px, .875rem)}.hp-progress progress{height:7px;width:100%;accent-color:var(--municipality-primary)}.hp-feed-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.hp-feed-cards .hp-feed-item{display:block;border:1px solid #e5edf4;border-radius:var(--municipality-radius);padding:0;overflow:hidden}.hp-feed-cards .hp-feed-image{width:100%}.hp-feed-cards .hp-feed-copy{padding:20px}.hp-empty{background:#f5f9fc;border-radius:var(--municipality-radius);padding:20px;color:#526879;font-size:max(14px, .875rem)}.hp-text-image{display:grid;grid-template-columns:1fr 2fr;background:#f2f6f9;border:1px solid #e7edf3;border-radius:var(--municipality-radius);overflow:hidden}.hp-text-image figure{margin:0;position:relative;min-height:200px}.hp-text-image figure img{width:100%;height:100%;object-fit:cover}.hp-text-image-copy{padding:32px}.hp-text-image-copy p{font-size:.94rem}.hp-image-right figure{order:2}.hp-image-right{grid-template-columns:2fr 1fr}.hp-richtext{overflow-wrap:anywhere}.hp-richtext p{max-width:80ch}.hp-richtext a{text-decoration:underline}.hp-page-banner{padding:48px 0;background:linear-gradient(115deg,var(--municipality-secondary),var(--municipality-primary));color:var(--municipality-on-secondary)}.hp-page-banner h1{color:inherit;font-size:2.1rem;margin:0 0 10px}.hp-page-banner p{margin:0;max-width:75ch}.hp-breadcrumb{display:flex;gap:10px;padding-top:20px;font-size:max(14px, .875rem)}.hp-search{margin:0 0 28px}.hp-search label{display:block;font-weight:650;margin-bottom:8px}.hp-search>div{display:flex;gap:10px}.hp-search input,.hp-contact-form input,.hp-contact-form textarea{width:100%;padding:11px 13px;border:1px solid #cbd7e2;border-radius:var(--municipality-radius);color:#172b40;background:white}.hp-search-result{padding:24px 0;border-bottom:1px solid #e7edf3}.hp-search-result h2{font-size:1.2rem;margin-bottom:8px}.hp-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.hp-contact-form label{display:block;font-size:.9rem;margin-bottom:6px;font-weight:650}.hp-contact-form>div{margin-bottom:18px}.hp-contact-form textarea{min-height:140px}.hp-contact-form .hp-checkbox{display:flex;align-items:flex-start;gap:9px;font-size:max(14px, .875rem)}.hp-contact-form .hp-checkbox input{width:18px;height:18px;flex-shrink:0;margin-top:4px}.hp-opening-hours{white-space:pre-line}.hp-contact-grid address{font-style:normal}.hp-location{padding:35px;background:repeating-linear-gradient(45deg,#f1f2ee,#f1f2ee 25px,#fff 26px,#fff 29px);text-align:center;border:1px solid #e0e7e7;border-radius:var(--municipality-radius)}.hp-location>i{font-size:38px;color:var(--municipality-primary)}.hp-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.hp-service-tile{display:flex;align-items:center;flex-direction:column;gap:14px;text-decoration:none;padding:30px;background:#edf5fb;border-radius:var(--municipality-radius)}.hp-service-tile>i{font-size:36px}.hp-service-tile span{font-size:max(14px, .875rem)}.hp-faq details{border:1px solid #e0e9f1;margin-bottom:12px;border-radius:var(--municipality-radius)}.hp-faq summary{padding:18px;font-weight:650;cursor:pointer}.hp-faq details p{padding:0 18px 18px;white-space:pre-line}.hp-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.hp-gallery figure{margin:0;min-width:0;border:1px solid #dbe5ef;border-radius:var(--municipality-radius);background:#fff;overflow:hidden;box-shadow:0 1px 2px #172b400d}.hp-gallery-image{display:flex;align-items:center;justify-content:center;position:relative;aspect-ratio:4/3;background:#f2f6f9}.hp-gallery-image:focus-visible{outline-offset:-4px}.hp-gallery img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;border-radius:0}.hp-gallery figcaption{padding:14px 16px;font-size:.875rem;line-height:1.5;color:#263b50;overflow-wrap:anywhere}.hp-cta{background:#edf5fb;padding:35px;border-radius:var(--municipality-radius);border-left:5px solid var(--municipality-primary)}.hp-footer{background:var(--municipality-footer, var(--municipality-secondary));color:var(--municipality-on-footer, var(--municipality-on-secondary));padding:35px 0;margin-top:30px}.hp-footer-grid{display:grid;grid-template-columns:1.15fr 1.4fr 1fr 1fr;gap:35px}.hp-footer h2{font-size:.9rem;margin:0 0 12px;color:inherit}.hp-footer a{display:block;color:inherit;text-decoration:none;font-size:max(14px, .875rem);margin-bottom:7px}.hp-footer a:hover{text-decoration:underline}.hp-footer-brand{display:flex!important;color:inherit!important;font-size:.92rem!important}.hp-footer-brand>i{font-size:34px}.hp-footer address{font-size:max(14px, .875rem);font-style:normal;margin:15px 0 0}.hp-footer p{font-size:max(14px, .875rem)}.hp-socials{display:flex;gap:14px}.hp-socials a{font-size:23px}.hp-footer-note{margin-top:14px!important}.hp-footer-compact{padding:22px 0}.hp-header-compact .hp-brand-row{padding-top:12px;padding-bottom:10px}.hp-mobile-menu{position:fixed;inset:0 0 0 auto;width:min(420px,94vw);max-width:none;max-height:none;height:100dvh;border:0;margin:0;padding:24px;background:white;color:#172b40;overflow:auto}.hp-mobile-menu::backdrop{background:#0a263e99}.hp-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:15px;border-bottom:1px solid #e7edf3}.hp-dialog-head h2{font-size:1.2rem;margin:0}.hp-dialog-head button{background:none;border:0;padding:10px;font-size:25px}.hp-mobile-menu nav>a,.hp-mobile-nav-group>a{display:block;padding:13px 5px;text-decoration:none;font-weight:650}.hp-mobile-nav-group{border-bottom:1px solid #e7edf3}.hp-mobile-nav-group>.hp-mobile-child{font-size:.9rem;font-weight:450;padding:9px 5px 9px 24px}.hp-preview-banner{background:#fff0cc;color:#684900;text-align:center;padding:9px;font-size:max(14px, .875rem);border-bottom:1px solid #e8d094}.hp-site .btn-primary{background:var(--municipality-primary);border-color:var(--municipality-primary);color:var(--municipality-on-primary)}.hp-site .btn{border-radius:var(--municipality-radius)}.hp-site .appointment-frontend-card{margin-top:30px;margin-bottom:30px}.hp-site .appointment-frontend-module-title{color:#172b40}.hp-embedded .hp-header,.hp-embedded .hp-footer{display:none}.hp-embedded .hp-main{min-height:0}.hp-header a,.hp-menu-toggle{min-height:24px}
@media(min-width:1000px){.hp-main>.hp-container{padding-left:0;padding-right:0}}
/* Switch the header to the menu dialog before tablet navigation overflows. */
@media (max-width: 1199.98px) {
    .hp-header .hp-utility, .hp-header .hp-desktop-nav { display: none; }
    .hp-header .hp-menu-toggle { display: block; flex-shrink: 0; }
}
@media(max-width:999px){.hp-container{padding-left:0;padding-right:0}.hp-utility{gap:12px;font-size:max(14px, .875rem)}.hp-desktop-nav{gap:7px;font-size:max(14px, .875rem)}.hp-quicklinks{grid-template-columns:repeat(3,minmax(0,1fr))}.hp-overview{gap:18px}.hp-overview-column+.hp-overview-column{padding-left:18px}.hp-section-heading{flex-wrap:wrap;gap:6px}.hp-section-heading h2{font-size:1.05rem}.hp-footer-grid{grid-template-columns:1fr 1fr}.hp-hero-copy h1{font-size:2.15rem}}
@media(max-width:700px){.hp-container{padding-left:0;padding-right:0}.hp-brand-row{padding-top:14px;padding-bottom:14px}.hp-brand{font-size:.97rem;max-width:260px;gap:10px}.hp-emblem{width:35px;height:43px;font-size:27px}.hp-hero-copy{padding-top:82px;padding-bottom:54px}.hp-hero-copy h1,.hp-hero-copy h2{font-size:1.7rem;max-width:360px}.hp-hero-copy p{font-size:.97rem;margin-bottom:23px}.hp-hero-image{object-position:60% center}.hp-hero-overlay:before{background:linear-gradient(90deg,#081c28bb,#09243355)}.hp-actions{display:grid;max-width:350px;gap:10px}.hp-button{padding:12px 16px}.hp-block{padding-top:24px;padding-bottom:24px}.hp-quicklinks{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hp-quicklink{padding:22px 12px 18px}.hp-quicklink>i{font-size:32px;margin-bottom:12px}.hp-quicklink h3{min-height:0;font-size:.88rem;margin-bottom:8px}.hp-overview{grid-template-columns:1fr;gap:30px}.hp-overview-column+.hp-overview-column{border-left:0;padding-left:0}.hp-section-heading{flex-wrap:nowrap}.hp-section-heading h2{font-size:1.2rem}.hp-overview .hp-feed-image{width:95px}.hp-overview .hp-feed-copy h3{font-size:.96rem}.hp-overview .hp-meta{font-size:max(14px, .875rem)}.hp-feed-image{width:90px}.hp-feed-item{gap:13px}.hp-feed-cards{grid-template-columns:1fr}.hp-feed-cards .hp-feed-image{width:100%}.hp-text-image,.hp-image-right{grid-template-columns:1fr}.hp-image-right figure{order:0}.hp-text-image figure{min-height:0}.hp-text-image figure img{height:auto;aspect-ratio:2/1}.hp-text-image-copy{padding:24px}.hp-page-banner{padding:32px 0}.hp-page-banner h1{font-size:1.75rem}.hp-contact-grid{grid-template-columns:1fr;gap:25px}.hp-search>div{flex-wrap:wrap}.hp-search input{flex-basis:100%}.hp-search button{width:100%}.hp-service-grid,.hp-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-footer-grid{grid-template-columns:1fr 1fr;gap:28px}.hp-footer{padding:30px 0}.hp-footer h2{font-size:max(14px, .875rem)}.hp-footer-brand{font-size:max(14px, .875rem)!important}.hp-main{min-height:35vh}}
@media(max-width:380px){.hp-footer-grid,.hp-service-grid{grid-template-columns:1fr}.hp-quicklink p{font-size:max(14px, .875rem)}}
@media(prefers-reduced-motion:reduce){.hp-site *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.hp-main>.hp-container.hp-page-columns{padding-left:0;padding-right:0}
.hp-page-columns{display:grid;grid-template-columns:230px minmax(0,1fr);gap:32px;padding-top:24px;padding-bottom:35px;align-items:start}.hp-sidebar{background:var(--municipality-sidebar-surface,#fff);border:1px solid var(--municipality-sidebar-line,#dce8f1);border-radius:var(--municipality-radius);box-shadow:0 1px 6px #17324d0d;overflow:hidden}.hp-sidebar a{display:block;padding:12px 15px;font-size:max(14px, .875rem);font-weight:650;text-decoration:none;color:var(--municipality-sidebar-text,#203e57);border-bottom:1px solid var(--municipality-sidebar-line,#dce8f1)}.hp-sidebar a:last-child{border-bottom:0}.hp-sidebar a:hover,.hp-sidebar a[aria-current]{background:var(--municipality-primary);color:var(--municipality-on-primary)}.hp-page-body>.hp-container{padding-left:0;padding-right:0}.hp-page-body .hp-block:first-child{padding-top:0}.hp-module-content{max-width:var(--municipality-width);padding:30px 24px;margin:auto}.hp-article-image{position:relative;margin-top:24px}.hp-article-image img{width:100%;max-height:450px;object-fit:cover;border-radius:var(--municipality-radius)}.hp-contact-form>input,.hp-contact-form>textarea{margin-bottom:18px}.hp-muted{color:#526879;font-size:max(14px, .875rem)}.hp-button:disabled{opacity:.65;cursor:default}.hp-contact-form .hp-checkbox{margin-top:18px}
@media(max-width:700px){.hp-page-columns{grid-template-columns:1fr;gap:24px}.hp-sidebar{display:flex;flex-wrap:wrap}.hp-sidebar a{flex:1 1 160px}.hp-module-content{padding:20px 12px}.hp-breadcrumb{flex-wrap:wrap}}
.hp-sidebar-list{list-style:none;margin:0;padding:0;width:100%}.hp-sidebar-list>li{border-bottom:1px solid var(--municipality-sidebar-line,#dce8f1)}.hp-sidebar-list>li:last-child{border-bottom:0}.hp-sidebar-list a{border-bottom:0;overflow-wrap:anywhere}.hp-sidebar-children{padding:4px 0 8px 15px;background:var(--municipality-sidebar-surface,#fff)}.hp-sidebar-children>li{border-bottom:0}.hp-sidebar-children a{padding:8px 12px;font-weight:500;font-size:max(14px, .875rem)}.hp-sidebar-list>li:has(.hp-sidebar-children)>a{font-weight:700}@media(max-width:700px){.hp-sidebar{display:block}}
@media screen and (min-width:701px){
    .hp-page-columns[data-hp-sidebar-sticky="true"] > .hp-sidebar{
        position:sticky;
        top:var(--hp-sidebar-top,16px);
        max-height:calc(100vh - var(--hp-sidebar-top,16px) - 16px);
        max-height:calc(100dvh - var(--hp-sidebar-top,16px) - 16px);
        overflow-y:auto;
        scroll-padding-block:8px;
    }
}
.hp-page-banner{position:relative;isolation:isolate;overflow:hidden;max-width:var(--municipality-width);margin:auto}.hp-page-banner-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hp-page-banner:has(.hp-page-banner-image){color:white}.hp-page-banner:has(.hp-page-banner-image):before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#081c28bd,#09243366);z-index:-1}
.hp-site.sbr-page{--shop-accent-color:var(--municipality-primary);--shop-text-color:#172b40;--shop-background-color:#fff;--shop-surface-color:#edf5fb}.hp-site .sbr-shop{--on-accent:var(--municipality-on-primary);--on-ink:var(--municipality-on-secondary)}
@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url('../../fonts/pdf/lato/Lato-Regular.ttf') format('truetype')}
@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url('../../fonts/pdf/lato/Lato-Bold.ttf') format('truetype')}
.hp-overview-single{grid-template-columns:minmax(0,1fr)}
.hp-page-body .hp-quicklinks{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){.hp-page-body .hp-quicklinks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:701px){.hp-text-image.hp-image-size-small{grid-template-columns:minmax(0,1fr) minmax(0,3fr)}.hp-text-image.hp-image-size-small.hp-image-right{grid-template-columns:minmax(0,3fr) minmax(0,1fr)}.hp-text-image.hp-image-size-large{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hp-location-map{display:block;width:100%;height:420px;border:1px solid #dbe5ef;border-radius:var(--municipality-radius);margin-bottom:14px}@media(max-width:700px){.hp-location-map{height:320px}}

@media(max-width:575px){.hp-gallery{grid-template-columns:minmax(0,1fr)}}

.hp-gallery-modal-open{overflow:hidden}
/* Dark viewer chrome keeps the photograph in focus, independently of the page theme. */
.hp-gallery-modal{box-sizing:border-box;width:min(1280px,94vw);height:90dvh;max-width:94vw;max-height:90dvh;margin:auto;padding:0;border:1px solid #ffffff26;border-radius:16px;background:#101b25;color:#f4f7fb;box-shadow:0 24px 80px #0006;overflow:hidden;color-scheme:dark}
.hp-gallery-modal:not([open]),.hp-gallery-modal [hidden]{display:none!important}.hp-gallery-modal[open]{display:flex;flex-direction:column}.hp-gallery-modal::backdrop{background:#071421e6}
.hp-gallery-modal button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;border:1px solid #ffffff40;border-radius:50%;background:#1c2a38;color:#fff;cursor:pointer;font-size:22px;flex-shrink:0}.hp-gallery-modal button:hover{background:#34495e;border-color:#ffffff80}.hp-gallery-modal button:focus-visible{outline:3px solid #90caff;outline-offset:3px}
.hp-gallery-modal-image{position:relative;flex:1;min-height:80px;margin:12px 18px;touch-action:pan-y pinch-zoom}.hp-gallery-modal-image>img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:contain}.hp-gallery-modal-image>p{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:24px 64px;color:#d5e0ec;text-align:center}.hp-gallery-modal-image>p:empty{display:none}.hp-gallery-modal-image>button{position:absolute;top:50%;transform:translateY(-50%);background:#101b25e6;box-shadow:0 2px 12px #0004}.hp-gallery-modal-previous{left:10px}.hp-gallery-modal-next{right:10px}
.hp-gallery-modal-image>[data-hp-gallery-counter]{position:absolute;top:10px;left:10px;z-index:1;padding:6px 12px;border:1px solid #ffffff40;border-radius:999px;background:#101b25e6;color:#f4f7fb;font-size:max(14px, .875rem);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}.hp-gallery-modal-image>[data-hp-gallery-close]{top:10px;right:10px;z-index:1;transform:none}
.hp-gallery-modal-footer{display:flex;flex-direction:column;align-items:center;gap:10px;padding:4px 18px 14px;flex-shrink:0}.hp-gallery-modal-description{width:100%;min-width:0;max-height:12dvh;overflow-y:auto;text-align:center;font-size:.9rem;line-height:1.5;overflow-wrap:anywhere}.hp-gallery-modal-description:has(p[hidden]):has([data-hp-gallery-ai][hidden]){display:none}.hp-gallery-modal-description p{margin:0;color:#edf3fa}
.hp-gallery-modal-thumbnails{display:flex;gap:8px;max-width:100%;box-sizing:border-box;overflow-x:auto;overscroll-behavior-x:contain;padding:5px;scrollbar-width:thin}.hp-gallery-modal .hp-gallery-modal-thumbnail{width:64px;height:48px;min-width:64px;min-height:48px;padding:3px;border-radius:8px;background:#ffffff0d;border:2px solid transparent;opacity:.6}.hp-gallery-modal-thumbnail img{width:100%;height:100%;object-fit:cover;border-radius:4px}.hp-gallery-modal .hp-gallery-modal-thumbnail[aria-current=true]{border-color:#90caff;background:#90caff26;opacity:1}.hp-gallery-modal .hp-gallery-modal-thumbnail:hover,.hp-gallery-modal .hp-gallery-modal-thumbnail:focus-visible{opacity:1}.hp-gallery-modal-hint{margin:0;color:#b6c6d6;font-size:max(14px, .875rem);text-align:center}
@media(pointer:coarse){.hp-gallery-modal-hint{display:none}}
@media(max-width:575px){.hp-gallery-modal{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}.hp-gallery-modal-image{margin:8px;min-height:44px}.hp-gallery-modal-previous{left:4px}.hp-gallery-modal-next{right:4px}.hp-gallery-modal-footer{padding:4px 12px max(12px,env(safe-area-inset-bottom));gap:8px}.hp-gallery-modal .hp-gallery-modal-thumbnail{width:56px;min-width:56px;height:44px;min-height:44px}.hp-gallery-modal-description{font-size:max(14px, .875rem)}}
.hp-alert-panel{padding:24px;border-radius:var(--municipality-radius);background:var(--hp-default-important-background,linear-gradient(120deg,#fff0f2,#faf5f6))}.hp-alert-panel .hp-section-heading h2{display:flex;align-items:center;gap:10px;margin:0}.hp-alert-panel .hp-section-heading h2>i{font-size:34px;color:#bf1237}.hp-alert-panel .hp-section-heading>a{color:#b51b3c;font-weight:650}.hp-alert-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.hp-site .hp-alert-card{position:relative;display:flex;flex-direction:column;gap:10px;min-width:0;padding:22px 20px 42px;border:1px solid #f0e5e8;border-radius:var(--municipality-radius);background:#fff9;color:#172b40;text-decoration:none;box-shadow:0 2px 4px #172b4008}.hp-site .hp-alert-card:hover{background:#fff;border-color:#d9a0ab;text-decoration:none}.hp-alert-card h3{margin:0;font-size:1rem;overflow-wrap:anywhere}.hp-alert-card p{margin:0;font-size:max(14px, .875rem);line-height:1.55;overflow-wrap:anywhere}.hp-alert-priority{display:flex;align-items:center;gap:4px;font-size:max(14px, .875rem);font-weight:750;text-transform:uppercase;color:#925600}.hp-alert-urgent .hp-alert-priority{color:#bd1238}.hp-alert-arrow{position:absolute;right:18px;bottom:15px;color:#bd1238;font-size:20px}@media(max-width:850px){.hp-alert-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575px){.hp-alert-cards{grid-template-columns:1fr}.hp-alert-panel{padding:18px}.hp-alert-panel .hp-section-heading{align-items:flex-start;gap:12px;flex-wrap:wrap}}

@media(max-width:700px){.hp-site .hp-logo-wrap{min-width:0;max-width:100%;flex-shrink:1}.hp-site .hp-logo{max-width:100%;height:auto}}

body.hp-site:not(.hp-editor-preview){display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.hp-site:not(.hp-editor-preview)>.hp-main{flex:1 0 auto;min-height:0}.hp-site>.hp-header,.hp-site>.hp-footer,.hp-site>.hp-admin-bar{flex-shrink:0}.hp-embedded body.hp-site{min-height:0}

.hp-hero-copy{z-index:1}.hp-hero-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:max(14px, .875rem);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.hp-hero-eyebrow:before{content:"";width:28px;height:3px;background:var(--municipality-primary);flex-shrink:0}.hp-center .hp-hero-eyebrow{justify-content:center}.hp-hero-search{display:flex;align-items:stretch;gap:6px;width:100%;max-width:680px;margin:0 0 16px;padding:6px;background:#fff;border-radius:var(--municipality-radius);box-shadow:0 3px 18px #071e3533}.hp-hero-search-input{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:0 12px;color:#526576}.hp-hero-search input{width:100%;min-width:0;padding:12px 0;border:0;background:transparent;color:#172b40}.hp-hero-search input::placeholder{color:#526576;opacity:1}.hp-hero-search .hp-button{flex-shrink:0}.hp-center .hp-hero-search{margin-left:auto;margin-right:auto}.hp-hero-search-terms{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:24px;font-size:max(14px, .875rem)}.hp-hero-search-terms>span{font-weight:600}.hp-site .hp-hero-search-terms a{display:inline-flex;padding:6px 10px;border:1px solid #ffffff99;border-radius:999px;background:#142a3c44;color:#fff;text-decoration:none}.hp-site .hp-hero-search-terms a:hover{background:#142a3caa;border-color:#fff}.hp-center .hp-hero-search-terms{justify-content:center}.hp-hero-crest{position:absolute;z-index:0;top:50%;right:5%;transform:translateY(-50%);width:28%;max-width:290px;max-height:80%;object-fit:contain;opacity:.2;pointer-events:none}.hp-hero-crest-ai{position:absolute;right:12px;top:12px;z-index:2;font-size:max(14px, .875rem)}
@media(max-width:700px){.hp-hero-search{gap:4px;padding:4px}.hp-hero-search-input{gap:7px;padding:0 8px}.hp-hero-search input{font-size:.9rem}.hp-hero-search .hp-button{padding:10px 12px;font-size:max(14px, .875rem)}.hp-hero-search-terms{gap:6px}.hp-hero-eyebrow{font-size:max(14px, .875rem)}.hp-hero-crest{top:24px;right:12px;width:130px;max-height:160px;transform:none;opacity:.12}}
.hp-news-featured{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:30px}.hp-news-featured-single{grid-template-columns:1fr}.hp-news-lead{position:relative;display:flex;align-items:flex-end;min-width:0;min-height:430px;overflow:hidden;border-radius:var(--municipality-radius);background:#172b40;color:#fff}.hp-news-lead-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hp-news-lead:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#07152100 10%,#071521dd 65%,#071521 100%);pointer-events:none}.hp-news-lead-copy{position:relative;z-index:1;padding:28px;overflow-wrap:anywhere}.hp-news-lead-copy h3{margin:12px 0;font-size:1.5rem;line-height:1.3}.hp-site .hp-news-lead-copy a{color:#fff;text-decoration:none}.hp-news-lead-copy p{margin:10px 0;font-size:.9rem;line-height:1.6}.hp-news-topic{display:inline-block;padding:5px 9px;background:var(--municipality-primary);color:var(--municipality-on-primary);font-size:max(14px, .875rem);font-weight:750;text-transform:uppercase}.hp-news-lead-copy .hp-news-date{font-size:max(14px, .875rem)}.hp-news-lead-link{display:inline-flex;align-items:center;padding:9px 14px;border:1px solid #ffffffb3;border-radius:var(--municipality-radius);font-size:max(14px, .875rem)}.hp-news-lead-link:hover{background:#ffffff20}.hp-news-secondary{display:flex;flex-direction:column;min-width:0;gap:14px}.hp-news-row{display:flex;align-items:flex-start;gap:18px;padding-bottom:14px;border-bottom:1px solid #e0e9f1;min-width:0}.hp-news-row>div:last-child{min-width:0;flex:1}.hp-news-row h3{margin:6px 0 10px;font-size:1rem;line-height:1.4;overflow-wrap:anywhere}.hp-news-thumbnail{position:relative;width:130px;flex-shrink:0}.hp-news-thumbnail img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--municipality-radius)}.hp-news-row .hp-meta{margin:0}.hp-news-row .hp-readmore{font-size:max(14px, .875rem)}
.hp-event-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.hp-event-card{position:relative;display:flex;align-items:flex-start;gap:14px;min-width:0;padding:18px 14px 36px;background:#fff;border:1px solid #e0e9f1;border-radius:var(--municipality-radius);box-shadow:0 2px 8px #172b4008}.hp-event-date{display:flex;align-items:center;flex-direction:column;flex-shrink:0;min-width:46px;padding:8px 6px;background:var(--municipality-primary);color:var(--municipality-on-primary);border-radius:var(--municipality-radius)}.hp-event-date strong{font-size:1.4rem;line-height:1.1}.hp-event-date span{font-size:max(14px, .875rem);text-transform:uppercase}.hp-event-copy{min-width:0}.hp-event-copy h3{font-size:.9rem;line-height:1.4;margin:3px 0 14px;overflow-wrap:anywhere}.hp-event-copy p{font-size:max(14px, .875rem);line-height:1.5;margin:5px 0;overflow-wrap:anywhere}.hp-event-link{position:absolute;right:14px;bottom:12px;font-size:20px}.hp-event-cards>.hp-empty{grid-column:1/-1}
@media(max-width:1000px){.hp-event-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-news-thumbnail{width:100px}.hp-news-featured{gap:22px}.hp-news-lead-copy{padding:22px}}
@media(max-width:700px){.hp-news-featured{grid-template-columns:1fr}.hp-news-lead{min-height:370px}.hp-news-lead-copy h3{font-size:1.3rem}.hp-news-row{gap:14px}.hp-news-row h3{font-size:.95rem}}
@media(max-width:480px){.hp-event-cards{grid-template-columns:1fr}.hp-news-thumbnail{width:95px}}
.hp-topic-heading{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.05em}.hp-site .hp-topic-heading{font-size:1rem;font-weight:750;margin-bottom:20px}.hp-topic-heading:before{content:"";width:28px;height:3px;flex-shrink:0;background:var(--municipality-primary)}.hp-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.hp-site .hp-topic-tile{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-width:0;overflow:hidden;border-radius:var(--municipality-radius);background:var(--municipality-secondary);color:var(--municipality-on-secondary);text-decoration:none}.hp-site a.hp-topic-tile:hover{color:var(--municipality-on-secondary);text-decoration:none;box-shadow:0 4px 15px #172b4033}.hp-topic-image{position:relative;display:flex;align-items:center;justify-content:center;min-height:175px;background:#ffffff12}.hp-topic-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hp-topic-image>i{font-size:40px;opacity:.5}.hp-topic-copy{position:relative;display:flex;align-items:flex-start;gap:14px;min-width:0;padding:24px 22px 36px}.hp-topic-copy>div{min-width:0}.hp-topic-icon{font-size:28px;line-height:1.1;flex-shrink:0}.hp-site .hp-topic-copy h3{color:inherit;margin:0 0 12px;font-size:1rem;overflow-wrap:anywhere}.hp-topic-copy ul{padding-left:16px;margin:0;font-size:max(14px, .875rem);line-height:1.65;overflow-wrap:anywhere}.hp-topic-arrow{position:absolute;right:18px;bottom:14px;font-size:20px}.hp-site a.hp-topic-tile:focus-visible{outline-offset:4px}
@media(max-width:900px){.hp-topic-grid{grid-template-columns:1fr}.hp-topic-copy{padding:22px 20px 36px}}
@media(max-width:480px){.hp-site .hp-topic-tile{grid-template-columns:1fr}.hp-topic-image{min-height:170px}.hp-topic-copy{padding:20px 18px 36px}.hp-topic-grid{gap:16px}}
.hp-content-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}.hp-columns-equal_3{grid-template-columns:repeat(3,minmax(0,1fr))}.hp-columns-left_narrow{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.hp-columns-right_narrow{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.hp-content-column{min-width:0;container-type:inline-size;container-name:hp-column}.hp-column-block>.hp-container{padding-left:0;padding-right:0}.hp-column-block>.hp-block{padding-top:14px;padding-bottom:14px}.hp-column-block>.hp-block:first-child{padding-top:0}.hp-content-column .hp-container{max-width:100%}.hp-content-column .hp-contact-grid,.hp-content-column .hp-overview{grid-template-columns:1fr}.hp-content-column .hp-feed-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-column-block{min-width:0;overflow-wrap:anywhere}.hp-content-column .hp-event-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
@container hp-column (max-width:650px){.hp-news-featured,.hp-topic-grid,.hp-text-image,.hp-image-right{grid-template-columns:1fr}.hp-news-lead{min-height:330px}.hp-quicklinks,.hp-service-grid,.hp-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-image-right figure{order:0}.hp-text-image figure{min-height:0}.hp-text-image figure img{height:auto;aspect-ratio:3/2}.hp-topic-copy{padding:18px 16px 32px}}
@container hp-column (max-width:380px){.hp-site .hp-topic-tile,.hp-content-column .hp-event-cards,.hp-content-column .hp-feed-cards,.hp-quicklinks,.hp-service-grid,.hp-gallery{grid-template-columns:1fr}.hp-feed-item{gap:12px}.hp-feed-image{width:80px}.hp-news-thumbnail{width:85px}.hp-section-heading{flex-wrap:wrap}.hp-topic-image{min-height:150px}}
@media(max-width:700px){.hp-content-columns,.hp-columns-equal_3,.hp-columns-left_narrow,.hp-columns-right_narrow{grid-template-columns:1fr;gap:22px}}

.hp-site .hp-event-cards.hp-event-agenda{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch}.hp-site .hp-event-agenda .hp-event-card{display:grid;grid-template-columns:50px minmax(0,1fr);grid-template-rows:auto 1fr;gap:14px;align-content:start;padding:14px;border-radius:8px;box-shadow:none}.hp-event-agenda .hp-event-copy{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start}.hp-event-agenda .hp-event-details{margin-top:auto}.hp-event-agenda .hp-event-date{align-self:start;min-width:0;padding:0 12px 0 0;border-right:1px solid #e2e8f0;border-radius:0;background:transparent;color:#071a44;gap:3px;text-align:center}.hp-event-agenda .hp-event-date strong{font-size:30px;font-weight:800}.hp-event-agenda .hp-event-date span{font-size:max(14px, .875rem)}.hp-event-agenda .hp-event-date span:last-child{text-transform:none}.hp-site .hp-event-image{position:relative;display:flex;align-items:center;justify-content:center;align-self:start;min-width:0;aspect-ratio:4/3;border-radius:6px;overflow:hidden;background:#f0f5f9;text-decoration:none}.hp-event-image img{width:100%;height:100%;object-fit:cover}.hp-event-image>i{font-size:36px}.hp-event-category{display:inline-block;padding:3px 8px;margin-bottom:8px;border-radius:4px;font-size:max(14px, .875rem)}.hp-site .hp-event-agenda h3{font-size:1.1rem;font-weight:600;margin:0 0 8px}.hp-site .hp-event-agenda h3 a{color:inherit;text-decoration:none}.hp-event-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:12px;color:#526879;font-size:max(14px, .875rem)}.hp-site .hp-event-agenda .hp-event-description{font-size:.9rem;color:#526879;margin:0 0 16px}.hp-site .hp-event-details{display:inline-flex;align-items:center;min-height:36px;padding:6px 9px;border:1px solid var(--municipality-primary);border-radius:4px;color:var(--municipality-link);font-size:max(14px, .875rem);text-decoration:none}.hp-site .hp-event-details:hover{background:var(--municipality-primary);color:var(--municipality-on-primary);text-decoration:none}
@media(max-width:1000px){.hp-site .hp-event-cards.hp-event-agenda{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.hp-site .hp-event-cards.hp-event-agenda{grid-template-columns:1fr}}
@container hp-column (max-width:1000px){.hp-site .hp-event-cards.hp-event-agenda{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container hp-column (max-width:600px){.hp-site .hp-event-cards.hp-event-agenda{grid-template-columns:1fr}}
.hp-section-heading:has(.hp-section-actions){align-items:center;flex-wrap:wrap}.hp-section-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px}.hp-section-actions>a:not(.hp-button){font-size:max(14px, .875rem);white-space:nowrap;font-weight:650;text-decoration:none}.hp-site .hp-section-actions .hp-button{padding:9px 14px;font-size:max(14px, .875rem)}
.hp-digital-services{position:relative;overflow:hidden;background:#202d33;color:#fff;width:100%;max-width:var(--municipality-width);padding:28px 0;margin:12px auto 24px}.hp-digital-services:before{content:"";position:absolute;left:0;bottom:0;width:180px;height:40px;background:var(--municipality-primary);clip-path:polygon(0 0,100% 100%,0 100%);pointer-events:none}.hp-digital-services-inner{display:flex;align-items:center;flex-wrap:wrap;gap:24px;position:relative}.hp-digital-intro{display:flex;align-items:center;gap:16px;flex:1 1 270px;min-width:0}.hp-digital-intro>i{font-size:48px;flex-shrink:0}.hp-site .hp-digital-intro h2{color:inherit;font-size:1.2rem;line-height:1.4;margin:0 0 10px}.hp-digital-intro p{font-size:max(14px, .875rem);margin:0}.hp-digital-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;flex:2 1 420px;min-width:0}.hp-site .hp-digital-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:16px 14px 12px;border:1px solid #dfe6ec;border-radius:4px;background:#f8fafb;color:#172b40;text-decoration:none;overflow-wrap:anywhere;min-height:155px}.hp-site a.hp-digital-card:hover{background:#eaf3fa;border-color:var(--municipality-primary);text-decoration:none}.hp-digital-card-icon{font-size:26px;margin-bottom:16px}.hp-site .hp-digital-card h3{font-size:max(14px, .875rem);font-weight:700;line-height:1.4;margin:0 0 4px}.hp-digital-card p{font-size:max(14px, .875rem);line-height:1.4;color:#526879;margin:0 0 10px}.hp-digital-card-arrow{align-self:flex-end;margin-top:auto;font-size:18px}.hp-digital-action{flex-shrink:0;white-space:nowrap;font-size:max(14px, .875rem);padding:10px 14px}.hp-content-column .hp-digital-services-inner{padding:16px}.hp-content-column .hp-digital-links{flex-basis:100%}
@media(max-width:600px){.hp-digital-services-inner{gap:20px}.hp-digital-links{flex-basis:100%;grid-template-columns:1fr}.hp-site .hp-digital-card{min-height:130px}.hp-digital-intro>i{font-size:40px}.hp-digital-action{white-space:normal}}
@container hp-column (max-width:600px){.hp-digital-links{grid-template-columns:1fr}.hp-digital-action{white-space:normal}}
.hp-site{background:var(--municipality-stripe,#f5f9fc)}.hp-hero,.hp-page-banner{border-radius:var(--municipality-radius)}.hp-site .hp-section-heading h2{font-size:1.25rem}.hp-quicklinks{gap:12px}.hp-site .hp-quicklink{padding:20px 12px 18px;background:#f8fbfe;border-color:#e5edf4;box-shadow:0 2px 7px #172b4008}.hp-quicklink>i{font-size:29px;margin-bottom:12px}.hp-site .hp-quicklink h3{font-size:max(14px, .875rem);margin-bottom:8px}.hp-site .hp-alert-panel{padding:20px;background:var(--hp-default-important-background,linear-gradient(120deg,#ffecef,#fcf4f5))}.hp-alert-cards{gap:14px}.hp-news-featured{gap:18px}.hp-news-lead{border-radius:var(--municipality-radius)}.hp-news-secondary{display:flex;flex-direction:column;gap:10px}.hp-site .hp-news-row{padding:12px;background:#fff;border:1px solid #e5edf4;border-radius:var(--municipality-radius);box-shadow:0 2px 7px #172b4006;gap:14px;flex:1}.hp-news-row>div:last-child{min-width:0}.hp-site .hp-news-row h3{font-size:.94rem;line-height:1.4}.hp-site .hp-news-row h3 a{color:var(--municipality-secondary);text-decoration:none}.hp-news-thumbnail{width:110px;flex-shrink:0}.hp-feed-projects.hp-feed-cards .hp-feed-item{background:#fff;box-shadow:0 3px 12px #172b4009}.hp-feed-projects.hp-feed-cards .hp-feed-image img{height:150px;aspect-ratio:auto;object-fit:cover}.hp-feed-projects.hp-feed-cards .hp-feed-copy{padding:16px}.hp-site .hp-feed-projects h3 a{color:var(--municipality-secondary);text-decoration:none}.hp-topic-image{min-height:150px}.hp-topic-copy{padding:20px 18px 30px}.hp-topic-grid{gap:14px}.hp-digital-services{border-radius:var(--municipality-radius);background:var(--municipality-secondary);color:var(--municipality-on-secondary)}.hp-digital-intro>i{font-size:38px}.hp-site .hp-digital-intro h2{font-size:1.05rem}.hp-site .hp-digital-card{min-height:130px}.hp-digital-card-icon{font-size:23px;margin-bottom:12px}
.hp-site .hp-event-cards.hp-event-agenda{gap:18px}.hp-site .hp-event-agenda .hp-event-card{grid-template-columns:42px minmax(0,1fr);gap:16px;padding:18px;background:#fff;border-radius:var(--municipality-radius);border:1px solid #e3ebf2;box-shadow:0 3px 12px #172b4009}.hp-event-agenda .hp-event-date{padding-right:10px}.hp-event-agenda .hp-event-date strong{font-size:27px}.hp-site .hp-event-agenda .hp-event-image{width:120px;max-width:100%;height:80px;aspect-ratio:auto;justify-self:end;align-self:center}.hp-event-agenda .hp-event-copy{gap:0;min-width:0}.hp-event-category{font-size:max(14px, .875rem);padding:3px 7px;margin-bottom:10px}.hp-site .hp-event-agenda h3{font-size:.96rem;line-height:1.4;margin-bottom:12px}.hp-event-meta{display:grid;gap:6px;margin-bottom:12px;font-size:max(14px, .875rem);line-height:1.5}.hp-site .hp-event-agenda .hp-event-description{font-size:max(14px, .875rem);line-height:1.6;margin-bottom:18px}.hp-event-agenda .hp-event-details{margin-top:auto}
@media(max-width:600px){.hp-news-thumbnail{width:85px}.hp-site .hp-news-row{gap:12px}.hp-site .hp-event-agenda .hp-event-image{width:105px;height:70px}.hp-site .hp-alert-panel{padding:16px}.hp-feed-projects.hp-feed-cards .hp-feed-image img{height:170px}}
.hp-language-switch { display: inline-flex; align-items: center; margin: 0; color: #12365b; font: inherit; }
.hp-language-toggle.form-check { display: inline-flex; align-items: center; gap: .5rem; margin: 0; padding: .4rem 0; min-height: 2.5rem; cursor: pointer; white-space: nowrap; }
.hp-language-toggle .form-check-input { float: none; flex: 0 0 auto; width: 2.25rem; height: 1.25rem; margin: 0; border-color: #7d91a8; cursor: pointer; }
.hp-language-toggle .form-check-input:checked { background-color: #066bfa; border-color: #066bfa; }
.hp-language-toggle .form-check-input:focus-visible { outline: 2px solid #12365b; outline-offset: 3px; box-shadow: none; }
.hp-language-toggle .form-check-input:disabled { cursor: progress; opacity: .65; }
.hp-mobile-menu .hp-language-switch { display: flex; flex-wrap: wrap; padding: 1rem 0; }

.hp-mobile-preferences{display:flex;flex-direction:column;gap:12px;padding:16px 5px;border-bottom:1px solid #e7edf3}.hp-mobile-preferences>a{display:block;text-decoration:none;font-weight:650;padding:6px 0}

.hp-brand-group{display:flex;align-items:center;gap:18px;min-width:0;flex:1}.hp-header-text{min-width:0;overflow-wrap:anywhere;line-height:1.2}.hp-header-text p{margin:0}.hp-header-text p+p{margin-top:4px}.hp-brand-group .hp-brand{flex-shrink:0}.hp-brand-group .hp-header-text{flex:1}@media(max-width:700px){.hp-brand-group{gap:10px}.hp-brand-group-text .hp-brand{max-width:80px}.hp-brand-group-text .hp-logo{max-width:80px}.hp-header-text{font-size:max(14px, .875rem)}}
.hp-header .hp-brand:has(.hp-logo[data-hp-logo-dimension]){min-width:0;max-width:100%;flex-shrink:1}
.hp-header .hp-logo-wrap:has(.hp-logo[data-hp-logo-dimension]){min-width:0;max-width:100%;flex-shrink:1}
.hp-header .hp-logo[data-hp-logo-dimension="width"]{width:var(--hp-logo-size);height:auto;max-width:100%;max-height:320px;object-fit:contain;object-position:left center}
.hp-header .hp-logo[data-hp-logo-dimension="height"]{width:auto;height:var(--hp-logo-size);max-width:100%;max-height:none;object-fit:contain;object-position:left center}
@media(max-width:700px){.hp-header .hp-brand-group-text .hp-brand:has(.hp-logo[data-hp-logo-dimension]){max-width:40%;flex-shrink:0}.hp-header .hp-menu-toggle{flex-shrink:0}.hp-header .hp-logo[data-hp-logo-dimension]{max-height:80px}}

/* Public document cards, shared by the homepage and the builder preview. */
.hp-flow-body{display:flow-root}
.hp-flow-body.hp-richtext p{max-width:none}
.hp-flow-image{display:block;width:var(--hp-image-width,33%);max-width:100%;margin:0 0 16px;overflow-wrap:anywhere}
.hp-flow-left{float:left;margin:0 24px 16px 0}
.hp-flow-right{float:right;margin:0 0 16px 24px}
.hp-flow-center,.hp-flow-full{clear:both;margin:16px auto}
.hp-flow-image-frame{display:block;position:relative}
.hp-flow-image img{display:block;width:100%;height:auto;border-radius:var(--municipality-radius)}
.hp-flow-caption{display:block;font-size:max(14px, .875rem);color:#526879;margin-top:6px}
.hp-flow-caption small{display:block}
@media(max-width:700px){.hp-flow-image{float:none;width:100%;margin:16px 0;clear:both}}
.hp-document-list{list-style:none;padding:0;margin:0}
.hp-document-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;padding:12px 0;border-bottom:1px solid #dbe3ec}
.hp-document-list-copy{min-width:0;overflow-wrap:anywhere}
.hp-site .hp-document-list h3{font-size:1rem;margin:0 0 4px}
.hp-site .hp-document-list h3 a{text-decoration:none;color:inherit}
.hp-document-list-meta{display:flex;flex-wrap:wrap;gap:4px 12px;color:#526879;font-size:max(14px, .875rem)}
.hp-document-list-actions{display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px}
.hp-site .hp-document-list-actions .hp-button{font-size:max(14px, .875rem);padding:7px 10px;min-height:32px}
.hp-document-list-attachments{font-size:max(14px, .875rem);margin-top:4px}
.hp-document-list-attachments summary{cursor:pointer;width:fit-content}
.hp-document-list-attachments ul{padding-left:20px;margin:6px 0 0}
@media(max-width:600px){.hp-document-list-row{align-items:flex-start;flex-direction:column;gap:8px}.hp-document-list-actions{flex-shrink:1}}
.hp-document-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:24px}
.hp-document-card{display:flex;min-width:0;background:#fff;border:1px solid #dbe3ec;border-radius:var(--municipality-radius);box-shadow:0 2px 8px #18304b08;overflow:hidden;container-type:inline-size}
.hp-document-preview{position:relative;flex:0 0 32%;min-height:270px;background:#edf1f5;overflow:hidden;display:flex;align-items:center;justify-content:center}
.hp-document-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.hp-document-ribbon{position:absolute;top:12px;left:10px;z-index:1;border-radius:4px;background:#d63939;color:#fff;font-size:max(14px, .875rem);font-weight:700;padding:2px 7px}
.hp-document-placeholder{font-size:64px;color:#8494a5}
.hp-document-tags{position:absolute;bottom:0;left:0;right:0;display:flex;flex-wrap:wrap;gap:4px;padding:30px 10px 10px;background:linear-gradient(transparent,#10243cd9)}
.hp-document-tags span{border-radius:3px;padding:2px 6px;background:var(--municipality-primary);color:var(--municipality-on-primary);font-size:max(14px, .875rem);line-height:1.4;overflow-wrap:anywhere}
.hp-document-body{flex:1;min-width:0;padding:18px 16px;display:flex;flex-direction:column;align-items:flex-start;overflow-wrap:anywhere}
.hp-site .hp-document-body h3{font-size:1.1rem;line-height:1.35;margin:0 0 5px}
.hp-site .hp-document-description{font-size:.88rem;line-height:1.5;margin:0 0 12px;color:#526879}
.hp-document-meta{display:flex;flex-wrap:wrap;gap:6px 12px;color:#526879;font-size:max(14px, .875rem);margin-bottom:14px}
.hp-document-meta span{display:inline-flex;align-items:center;flex-wrap:wrap}
.hp-document-actions,.hp-document-attachments{display:flex;flex-wrap:wrap;gap:8px;width:100%}
.hp-document-actions{margin-top:auto;padding-top:6px}
.hp-document-attachments{margin-bottom:8px}
.hp-document-attachments strong{width:100%;font-size:max(14px, .875rem)}
.hp-site .hp-document-card .hp-button{font-size:max(14px, .875rem);padding:9px 10px;min-height:36px;gap:0;white-space:normal}
@container(max-width:420px){.hp-document-preview{flex-basis:26%;min-height:240px}.hp-document-body{padding:14px 12px}.hp-document-actions .hp-button{width:100%;justify-content:center}}
@media(max-width:380px){.hp-document-card{flex-direction:column}.hp-document-preview{flex-basis:auto;min-height:200px}.hp-document-preview img{object-fit:contain}.hp-document-actions .hp-button{width:100%;justify-content:center}}

/* Calendar sheet used only by the homepage event widget. */
.hp-site .hp-event-agenda .hp-event-card {
    --hp-event-calendar-width: 8rem;
    --hp-event-calendar-height: 106px;
    grid-template-columns: var(--hp-event-calendar-width) minmax(0, 1fr);
    grid-template-rows: auto 1fr auto;
    gap: 18px 16px;
    padding: 20px;
    border-radius: 16px;
    border-color: #e6f0fa;
    box-shadow: 0 4px 18px #206bc409;
}
.hp-event-agenda .hp-event-date {
    display: grid;
    align-items: stretch;
    grid-template-rows: 28px minmax(0, 1fr) 28px;
    width: var(--hp-event-calendar-width, 8rem);
    height: var(--hp-event-calendar-height, 106px);
    padding: 0;
    gap: 0;
    border: 1px solid #c5d9ee;
    border-radius: 10px;
    background: #fff;
    color: #182433;
    overflow: hidden;
    text-align: center;
}
.hp-event-agenda .hp-event-date .hp-event-date-weekday {
    display: grid;
    place-items: center;
    width: 100%;
    padding: 0 6px;
    background: #e6f1ff;
    color: #206bc4;
    font-size: max(14px, .875rem);
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}
.hp-event-agenda .hp-event-date .hp-event-date-day {
    align-self: center;
    font-size: 36px;
    font-weight: 800;
    line-height: 1;
}
.hp-event-agenda .hp-event-date .hp-event-date-month {
    align-self: stretch;
    display: grid;
    place-items: center;
    margin: 0 8px;
    border-top: 1px solid #dbeafa;
    color: #526579;
    font-size: max(14px, .875rem);
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
}
.hp-site .hp-event-agenda .hp-event-image {
    width: 100%;
    height: var(--hp-event-calendar-height, 106px);
    align-self: start;
    border-radius: 10px;
}
.hp-event-agenda .hp-event-copy { align-self: stretch; }
.hp-event-agenda .hp-event-category {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 6px 8px;
    margin-bottom: 14px;
    border-radius: 999px;
    font-size: max(14px, .875rem);
    font-weight: 400;
}
.hp-event-agenda .hp-event-category > :first-child { flex-shrink: 0; }
.hp-event-agenda .hp-event-category-label {
    flex-shrink: 0;
    white-space: nowrap;
}
.hp-site .hp-event-agenda h3 {
    font-size: 1.1rem;
    font-weight: 750;
    line-height: 1.35;
    margin-bottom: 16px;
    color: #182433;
}
.hp-event-agenda h3 .ti-repeat { color: #526579; }
.hp-event-agenda .hp-event-meta {
    gap: 10px;
    margin-bottom: 18px;
    font-size: max(14px, .875rem);
    color: #526579;
}
.hp-event-agenda .hp-event-meta > span {
    display: flex;
    align-items: baseline;
    gap: 7px;
    overflow-wrap: anywhere;
}
.hp-event-agenda .hp-event-meta i { flex-shrink: 0; font-size: 1.1rem; }
.hp-site .hp-event-agenda .hp-event-description {
    font-size: .88rem;
    line-height: 1.65;
    margin-bottom: 4px;
}
.hp-site .hp-event-agenda .hp-event-details {
    grid-column: 1 / -1;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 44px;
    padding: 10px 13px;
    border-radius: 8px;
    background: #f5faff;
    font-size: .88rem;
    font-weight: 700;
}
.hp-event-agenda .hp-event-details i { flex-shrink: 0; font-size: 1.2rem; }
.hp-site .hp-event-agenda .hp-event-details:hover {
    background: var(--municipality-primary);
    color: var(--municipality-on-primary);
}
@media (max-width: 1000px) {
    .hp-site .hp-event-agenda .hp-event-card {
        --hp-event-calendar-height: 100px;
    }
    .hp-event-agenda .hp-event-date .hp-event-date-weekday { font-size: max(14px, .875rem); }
    .hp-event-agenda .hp-event-date .hp-event-date-day { font-size: 34px; }
}
@container hp-column (max-width: 1000px) {
    .hp-site .hp-event-agenda .hp-event-card {
        --hp-event-calendar-height: 100px;
    }
    .hp-event-agenda .hp-event-date .hp-event-date-weekday { font-size: max(14px, .875rem); }
    .hp-event-agenda .hp-event-date .hp-event-date-day { font-size: 34px; }
}

/* Mobile start page: preserve the content and desktop layout. */
@media screen and (max-width: 700px) {
    .hp-site.hp-homepage-mobile .hp-container { padding-left: 0; padding-right: 0; }
    .hp-site.hp-homepage-mobile .hp-main .hp-container.hp-block { padding-left: 0; padding-right: 0; }
    .hp-site.hp-homepage-mobile .hp-column-block > .hp-container.hp-block { padding-left: 0; padding-right: 0; }
    .hp-homepage-mobile .hp-block { padding-top: 20px; padding-bottom: 20px; }
    .hp-homepage-mobile .hp-header .hp-brand-row { gap: 12px; padding: 10px 0; }
    .hp-homepage-mobile .hp-brand-group { min-width: 0; }
    .hp-homepage-mobile .hp-brand-group .hp-brand { flex-shrink: 1; min-width: 0; }
    .hp-homepage-mobile .hp-menu-toggle { display: grid; place-items: center; width: 44px; height: 44px; padding: 8px; }
    .hp-site.hp-homepage-mobile .hp-button { min-height: 44px; gap: 6px; font-size: .94rem; }
    .hp-homepage-mobile .hp-hero-copy { padding-top: 48px; padding-bottom: 40px; }
    .hp-homepage-mobile .hp-hero-copy h1 { font-size: clamp(1.65rem, 6.5vw, 2.1rem); line-height: 1.2; }
    .hp-homepage-mobile .hp-hero-copy p { font-size: 1rem; margin-bottom: 20px; }
    .hp-homepage-mobile .hp-hero-search input { font-size: 1rem; }
    .hp-homepage-mobile .hp-hero-search .hp-button { padding: 10px; font-size: .9rem; }
    .hp-homepage-mobile .hp-hero-search-terms { gap: 8px; font-size: max(14px, .875rem); margin-bottom: 16px; }
    .hp-homepage-mobile .hp-hero-search-terms > span { flex-basis: 100%; }
    .hp-site.hp-homepage-mobile .hp-hero-search-terms a { display: inline-flex; align-items: center; min-height: 44px; }
    .hp-homepage-mobile .hp-section-heading { flex-wrap: wrap; align-items: center; gap: 8px 12px; }
    .hp-site.hp-homepage-mobile .hp-section-heading h2 { font-size: 1.2rem; }
    .hp-homepage-mobile .hp-section-heading > a { display: inline-flex; align-items: center; min-height: 44px; font-size: .88rem; white-space: normal; }

    .hp-site.hp-homepage-mobile .hp-quicklink { position: relative; align-items: flex-start; text-align: left; padding: 16px 28px 16px 14px; }
    .hp-homepage-mobile .hp-quicklink > i { font-size: 28px; margin-bottom: 10px; }
    .hp-site.hp-homepage-mobile .hp-quicklink h3 { font-size: .95rem; line-height: 1.4; }
    .hp-homepage-mobile .hp-quicklink p { font-size: max(14px, .875rem); }
    .hp-homepage-mobile a.hp-quicklink::after { content: ''; position: absolute; right: 14px; top: 20px; width: 7px; height: 7px; border-top: 2px solid var(--municipality-link); border-right: 2px solid var(--municipality-link); transform: rotate(45deg); }
    .hp-homepage-mobile .hp-alert-cards { grid-template-columns: 1fr; gap: 10px; }
    .hp-site.hp-homepage-mobile .hp-alert-card { gap: 8px; padding: 16px 34px 16px 14px; }
    .hp-homepage-mobile .hp-alert-card h3 { font-size: 1rem; }
    .hp-homepage-mobile .hp-alert-card p { font-size: .9rem; }
    .hp-homepage-mobile .hp-alert-arrow { right: 12px; top: 18px; bottom: auto; }
    .hp-homepage-mobile .hp-news-lead { min-height: 320px; }
    .hp-homepage-mobile .hp-news-lead-copy { padding: 20px; }
    .hp-homepage-mobile .hp-news-lead-copy p { font-size: .95rem; }
    .hp-homepage-mobile .hp-news-lead-link { min-height: 44px; }
    .hp-site.hp-homepage-mobile .hp-news-row { padding: 12px; }
    .hp-homepage-mobile .hp-news-thumbnail { width: 76px; }
    .hp-homepage-mobile .hp-news-row h3 a { display: inline-block; padding: 4px 0; }
    .hp-homepage-mobile .hp-news-row .hp-readmore { display: inline-flex; align-items: center; min-height: 44px; font-size: .88rem; }

    .hp-site.hp-homepage-mobile .hp-event-cards.hp-event-agenda { grid-template-columns: 1fr; gap: 12px; }
    .hp-site.hp-homepage-mobile .hp-event-agenda .hp-event-card { --hp-event-calendar-height: 90px; grid-template-columns: var(--hp-event-calendar-width) minmax(0, 1fr); grid-template-rows: auto 1fr auto; gap: 12px; padding: 14px; }
    .hp-homepage-mobile .hp-event-agenda .hp-event-date { grid-column: 1; grid-row: 1; }
    .hp-homepage-mobile .hp-event-agenda .hp-event-date .hp-event-date-weekday { font-size: max(14px, .875rem); }
    .hp-homepage-mobile .hp-event-agenda .hp-event-date .hp-event-date-day { font-size: 30px; }
    .hp-site.hp-homepage-mobile .hp-event-agenda .hp-event-image { grid-column: 1; grid-row: 2; align-self: start; width: 64px; height: 64px; }
    .hp-homepage-mobile .hp-event-agenda .hp-event-copy { grid-column: 2; grid-row: 1 / 3; }
    .hp-homepage-mobile .hp-event-agenda .hp-event-meta { font-size: max(14px, .875rem); }
    .hp-site.hp-homepage-mobile .hp-event-agenda .hp-event-description { font-size: .9rem; margin-bottom: 0; }
    .hp-site.hp-homepage-mobile .hp-event-agenda .hp-event-details { grid-column: 1 / -1; grid-row: 3; font-size: .9rem; }

    .hp-homepage-mobile .hp-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .hp-site.hp-homepage-mobile .hp-topic-tile { grid-template-columns: minmax(0, 1fr); align-content: start; }
    .hp-homepage-mobile .hp-topic-image { min-height: 0; aspect-ratio: 3 / 2; }
    .hp-homepage-mobile .hp-topic-copy { display: block; padding: 14px 12px 38px; }
    .hp-homepage-mobile .hp-topic-icon { display: block; margin-bottom: 10px; font-size: 24px; }
    .hp-site.hp-homepage-mobile .hp-topic-copy h3 { font-size: .98rem; line-height: 1.4; margin-bottom: 8px; }
    .hp-homepage-mobile .hp-topic-copy ul { font-size: max(14px, .875rem); line-height: 1.6; padding-left: 14px; }
    .hp-homepage-mobile .hp-topic-arrow { right: 12px; bottom: 12px; }
    .hp-homepage-mobile .hp-topic-heading { letter-spacing: .02em; }
    .hp-homepage-mobile .hp-digital-services { margin: 12px auto 20px; padding: 24px 0; }
    .hp-homepage-mobile .hp-digital-services-inner { gap: 16px; }
    .hp-homepage-mobile .hp-digital-intro { flex-basis: 100%; align-items: flex-start; gap: 12px; }
    .hp-homepage-mobile .hp-digital-intro > i { font-size: 30px; }
    .hp-homepage-mobile .hp-digital-links { flex-basis: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .hp-site.hp-homepage-mobile .hp-digital-card { position: relative; min-height: 120px; padding: 14px 28px 14px 12px; }
    .hp-homepage-mobile .hp-digital-card-icon { margin-bottom: 10px; }
    .hp-site.hp-homepage-mobile .hp-digital-card h3 { font-size: .94rem; }
    .hp-homepage-mobile .hp-digital-card p { font-size: max(14px, .875rem); margin-bottom: 0; }
    .hp-homepage-mobile .hp-digital-card-arrow { position: absolute; top: 14px; right: 10px; }
    .hp-homepage-mobile .hp-digital-action { width: 100%; justify-content: space-between; }

    .hp-homepage-mobile .hp-community-topic-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .hp-site.hp-homepage-mobile .hp-community-topic-links a { min-height: 48px; font-size: .9rem; align-items: center; gap: 8px; }
    .hp-homepage-mobile .hp-community-topic-links a i { flex-shrink: 0; }
    .hp-site.hp-homepage-mobile .hp-community-intro, .hp-site.hp-homepage-mobile .hp-community-info p { font-size: .95rem; }
    .hp-site.hp-homepage-mobile .hp-greeting-card, .hp-site.hp-homepage-mobile .hp-greeting-card.hp-image-right { grid-template-columns: 1fr; }
    .hp-homepage-mobile .hp-greeting-card .hp-text-image-copy { padding: 20px; }
    .hp-homepage-mobile .hp-greeting-card .hp-richtext { font-size: .95rem; }
    .hp-site.hp-homepage-mobile .hp-greeting-card .hp-button, .hp-site.hp-homepage-mobile .hp-community-info .hp-button { font-size: .94rem; }
    .hp-homepage-mobile .hp-contact-detail { align-items: center; }
    .hp-homepage-mobile .hp-contact-detail > a { display: inline-flex; align-items: center; min-height: 44px; min-width: 0; overflow-wrap: anywhere; }
    .hp-homepage-mobile .hp-contact-details .hp-actions { display: grid; max-width: none; }
    .hp-homepage-mobile .hp-contact-hours summary, .hp-homepage-mobile .hp-contact-details .hp-actions > a { width: 100%; justify-content: space-between; }
    .hp-homepage-mobile .hp-help-card { padding: 20px; }
    .hp-homepage-mobile .hp-help-card .hp-button { width: 100%; justify-content: space-between; }
    .hp-homepage-mobile .hp-footer-top { align-items: flex-start; gap: 16px; }
    .hp-homepage-mobile .hp-footer-main-nav, .hp-homepage-mobile .hp-footer-service-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; width: 100%; }
    .hp-homepage-mobile .hp-footer-bottom { gap: 16px; }
    .hp-homepage-mobile .hp-footer-main-nav a, .hp-homepage-mobile .hp-footer-service-nav a, .hp-homepage-mobile .hp-footer-service-nav button { display: inline-flex; align-items: center; min-height: 44px; font-size: .88rem; overflow-wrap: anywhere; }
    .hp-homepage-mobile .hp-footer-socials { gap: 8px; }
    .hp-site.hp-homepage-mobile .hp-footer-socials a { display: grid; place-items: center; width: 44px; height: 44px; }
}

/* Start page typography: readable text sizes at every viewport width. */
.hp-site.hp-homepage .hp-main h2 { font-size: 1.5rem; }
.hp-site.hp-homepage .hp-quicklink h3,
.hp-site.hp-homepage .hp-news-row h3,
.hp-site.hp-homepage .hp-topic-copy h3,
.hp-site.hp-homepage .hp-digital-card h3 { font-size: 1.0625rem; }
.hp-site.hp-homepage .hp-quicklink h3 { overflow-wrap: anywhere; }
.hp-site.hp-homepage .hp-quicklink p,
.hp-site.hp-homepage .hp-alert-card p,
.hp-site.hp-homepage .hp-news-lead-copy p:not(.hp-news-date),
.hp-site.hp-homepage .hp-event-agenda .hp-event-description,
.hp-site.hp-homepage .hp-topic-copy ul,
.hp-site.hp-homepage .hp-digital-intro p,
.hp-site.hp-homepage .hp-digital-card p,
.hp-site.hp-homepage .hp-community-intro,
.hp-site.hp-homepage .hp-community-info p,
.hp-site.hp-homepage .hp-greeting-card .hp-richtext,
.hp-site.hp-homepage .hp-greeting-card .hp-richtext p,
.hp-site.hp-homepage .hp-document-description { font-size: 1rem; line-height: 1.6; }
.hp-site.hp-homepage .hp-button,
.hp-site.hp-homepage .hp-section-heading > a,
.hp-site.hp-homepage .hp-section-actions > a,
.hp-site.hp-homepage .hp-readmore,
.hp-site.hp-homepage .hp-news-lead-link,
.hp-site.hp-homepage .hp-event-agenda .hp-event-details,
.hp-site.hp-homepage .hp-community-topic-links a,
.hp-site.hp-homepage .hp-community-info-links a,
.hp-site.hp-homepage .hp-utility,
.hp-site.hp-homepage .hp-desktop-nav,
.hp-site.hp-homepage .hp-submenu a,
.hp-site.hp-homepage .hp-footer-main-nav a,
.hp-site.hp-homepage .hp-footer-service-nav a,
.hp-site.hp-homepage .hp-footer-service-nav button { font-size: .9375rem; }
.hp-site.hp-homepage .hp-meta,
.hp-site.hp-homepage .hp-news-date,
.hp-site.hp-homepage .hp-news-topic,
.hp-site.hp-homepage .hp-alert-priority,
.hp-site.hp-homepage .hp-event-agenda .hp-event-meta,
.hp-site.hp-homepage .hp-event-agenda .hp-event-category,
.hp-site.hp-homepage .hp-document-meta,
.hp-site.hp-homepage .hp-document-tags span,
.hp-site.hp-homepage .hp-document-ribbon,
.hp-site.hp-homepage .hp-document-attachments strong,
.hp-site.hp-homepage .hp-hero-search-terms,
.hp-site.hp-homepage .hp-footer-copyright { font-size: .875rem; }
.hp-site.hp-homepage .hp-section-heading,
.hp-site.hp-homepage .hp-section-actions,
.hp-site.hp-homepage .hp-desktop-nav { flex-wrap: wrap; }
.hp-site.hp-homepage .hp-section-heading > a,
.hp-site.hp-homepage .hp-section-actions > a { white-space: normal; }
.hp-site.hp-homepage .hp-button { white-space: normal; }
.hp-site.hp-homepage .hp-digital-card p { line-height: 1.5; }
@media screen and (max-width: 700px) {
    .hp-site.hp-homepage .hp-hero-copy p { font-size: 1rem; }
}

/* Section backgrounds follow the website design unless a custom color is set. */
.hp-community-topics-body figure img { display: block; }
.hp-site { --hp-section-spacing: 24px; }
.hp-site :is(small, sub, sup, .small, .form-text, .form-hint, .badge) { font-size: max(14px, .875em); }
.hp-section-background { display: flow-root; padding-block: var(--hp-section-spacing, 24px); background: var(--hp-section-background, var(--municipality-stripe, #f5f9fc)); }
.hp-section-background > .hp-block { padding-top: 0; padding-bottom: 0; }
.hp-section-background > .hp-today-hours,
.hp-section-background > .hp-digital-services { margin-top: 0; margin-bottom: 0; }
.hp-site .hp-main .hp-hero { margin-top: 16px; margin-bottom: var(--hp-section-spacing); }
.hp-site .hp-digital-services .hp-digital-intro,
.hp-site .hp-digital-services .hp-digital-intro :is(h2, p) { color: var(--municipality-on-secondary, #fff); }
.hp-section-background:not(:has(section)) { display: none; }
.hp-page-body > .hp-section-background > .hp-container { padding-left: 0; padding-right: 0; }
.hp-column-block > .hp-section-background { padding-block: 0; background: var(--hp-section-background, transparent); min-width: 0; }
.hp-column-block > .hp-section-background > .hp-container { padding-left: 0; padding-right: 0; }
.hp-column-block > .hp-section-background > .hp-block { padding-top: 0; padding-bottom: 14px; }
.hp-section-background[style*="--hp-section-background:"] > section:not(.hp-digital-services) { color: var(--hp-section-foreground); }
.hp-site .hp-section-background > section > :is(h2, p),
.hp-site .hp-section-background > section > .hp-section-heading > h2,
.hp-site .hp-section-background > section.hp-richtext :is(h2, h3, p, a),
.hp-section-background > .hp-contact-details .hp-contact-detail,
.hp-site .hp-section-background > .hp-contact-details > h2 {
    color: var(--hp-section-foreground, var(--hp-default-card-text, #172b40));
}
.hp-site .hp-section-background[style*="--hp-section-background:"] > section > .hp-section-heading > a,
.hp-site .hp-section-background[style*="--hp-section-background:"] .hp-community-intro {
    color: var(--hp-section-foreground);
}
@media (min-width: 701px) {
    .hp-content-columns { align-items: stretch; }
    .hp-content-column { display: flex; flex-direction: column; }
    .hp-content-column > .hp-column-block:only-child,
    .hp-column-block:only-child > .hp-section-background,
    .hp-column-block:only-child > .hp-section-background > .hp-block { display: flex; flex-direction: column; flex: 1; }
    .hp-column-block:only-child > .hp-section-background > .hp-block { padding-bottom: 0; }
    .hp-column-block:only-child .hp-community-info,
    .hp-column-block:only-child .hp-help-card,
    .hp-column-block:only-child .hp-greeting-card { flex: 1; }
}

.hp-site .hp-feed-contacts .hp-feed-copy > a[href^="tel:"],
.hp-site .hp-feed-contacts .hp-feed-copy > a[href^="mailto:"] { text-decoration: none; }
.hp-site .hp-feed-contacts .hp-feed-copy > a {
    display: flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    min-height: 44px;
    padding-block: 6px;
    margin-block: 2px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.hp-site .hp-feed-contacts .hp-feed-copy > a > .hp-symbol { flex-shrink: 0; }
.hp-site [data-hp-privacy-consent] code { color: inherit; }
.hp-feed-contacts .hp-feed-image { align-self: flex-start; }
.hp-feed-contacts.hp-feed-cards .hp-feed-image img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }

.hp-site .hp-main > .hp-section-background > .hp-container.hp-block { padding-left: 0; padding-right: 0; }
@media (max-width: 999px) {
    .hp-site .hp-main > .hp-section-background > .hp-container.hp-block { padding-left: 0; padding-right: 0; }
}
.hp-site .hp-flow-body h5,.hp-site .hp-flow-body h6{font-size:14px}
.hp-site .hp-flow-body table{max-width:100%;border-collapse:collapse;table-layout:fixed}
.hp-site .hp-flow-body td,.hp-site .hp-flow-body th{border:1px solid #ccd5df;padding:8px;overflow-wrap:anywhere}
.hp-site .hp-flow-body{overflow-x:auto}
@media (max-width: 700px) {
    .hp-site { --hp-section-spacing: 20px; }
    .hp-site .hp-main .hp-hero { margin-top: 12px; }
    .hp-site .hp-main > .hp-section-background > .hp-container.hp-block { padding-left: 0; padding-right: 0; }
}

/* Start page sections align with the hero without an additional container inset. */
.hp-site.hp-homepage-mobile .hp-main > .hp-section-background > .hp-container,
.hp-site.hp-homepage-mobile .hp-main > .hp-section-background > .hp-container.hp-block,
.hp-site.hp-homepage-mobile .hp-main > .hp-section-background > .hp-digital-services > .hp-container {
    padding-left: 0;
    padding-right: 0;
}

.hp-sidebar-group > summary{background:var(--municipality-sidebar-group, #edf5fb);display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:12px 15px;cursor:pointer;list-style:none;font-size:max(14px, .875rem);font-weight:700;color:var(--municipality-on-sidebar-group, #203e57);overflow-wrap:anywhere}
.hp-sidebar-group > summary::-webkit-details-marker{display:none}
.hp-sidebar-group > summary:hover{background:color-mix(in srgb, var(--municipality-sidebar-group, #edf5fb) 94%, var(--municipality-on-sidebar-group, #203e57))}
.hp-sidebar-group > summary:focus-visible{outline:2px solid var(--municipality-primary);outline-offset:-3px}
.hp-sidebar-group > summary .ti{flex-shrink:0;transition:transform .15s}
.hp-sidebar-group[open] > summary > .ti-chevron-down{transform:rotate(180deg)}
.hp-navigation-icon{display:inline-block;vertical-align:middle;font-size:1.2em;flex-shrink:0}
.hp-sidebar-group[open] > summary{border-bottom:1px solid var(--municipality-sidebar-line,#dce8f1)}
.hp-sidebar-group > .hp-sidebar-children{padding:4px 0 6px;background:var(--municipality-sidebar-surface,#fff)}
.hp-sidebar-group > .hp-sidebar-children > li > a{min-height:44px;padding:11px 15px 11px 23px;box-sizing:border-box}

.hp-link-collection-intro { max-width: 70ch; margin: 0 0 22px; color: #526576; white-space: pre-line; }
.hp-site .hp-link-collection-items { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin: 0; padding: 0; list-style: none; }
.hp-link-collection-items > li { min-width: 0; }
.hp-site .hp-link-collection-card { display: flex; align-items: center; gap: 20px; height: 100%; min-height: 86px; padding: 19px 24px; box-sizing: border-box; border: 1px solid #dfe7ee; border-radius: 16px; background: color-mix(in srgb, var(--municipality-stripe, #f5f9fc) 30%, white); color: #172b40; text-decoration: none; box-shadow: 0 2px 5px #172b4004; transition: background .18s, border-color .18s, box-shadow .18s; }
.hp-site a.hp-link-collection-card:hover { background: color-mix(in srgb, var(--municipality-primary) 4%, white); border-color: color-mix(in srgb, var(--municipality-primary) 45%, #dfe7ee); box-shadow: 0 6px 18px #172b4010; text-decoration: none; }
.hp-site a.hp-link-collection-card:focus-visible { outline: 3px solid var(--municipality-primary); outline-offset: 3px; }
.hp-link-collection-icon { display: flex; align-items: center; justify-content: center; flex: 0 0 46px; width: 46px; height: 46px; border-radius: 13px; background: color-mix(in srgb, var(--municipality-primary) 8%, white); font-size: 25px; }
.hp-link-collection-copy { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.hp-link-collection-title { display: block; font-size: 1rem; font-weight: 600; line-height: 1.5; }
.hp-link-collection-source { display: block; margin-top: 3px; color: #607487; font-size: max(14px, .875rem); font-weight: 400; line-height: 1.5; letter-spacing: .015em; }
.hp-link-collection-buttons .hp-link-collection-source { display: none; }
.hp-link-collection-description { display: block; margin-top: 4px; font-size: .9rem; line-height: 1.6; color: #526576; }
.hp-site .hp-link-collection-arrow { display: flex; align-items: center; justify-content: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; font-size: 20px; color: var(--municipality-primary); background: color-mix(in srgb, var(--municipality-primary) 6%, white); transition: background .18s, color .18s; }
.hp-link-collection-card:hover .hp-link-collection-arrow { background: var(--municipality-primary); color: var(--municipality-on-primary, #fff); }
.hp-site .hp-link-collection-tiles { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.hp-link-collection-tiles .hp-link-collection-card { align-items: flex-start; }
@media (prefers-reduced-motion: reduce) {
    .hp-site .hp-link-collection-card, .hp-link-collection-arrow { transition: none; }
}
.hp-tabs-list { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 10px; margin-bottom: 32px; }
.hp-tabs-list[hidden], .hp-tabs-panel[hidden] { display: none; }
.hp-site .hp-tabs-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; max-width: 100%; min-height: 44px; padding: 12px 20px; border: 0; border-radius: var(--municipality-radius); background: #f4f4f4; color: #172b40; font: inherit; font-weight: 600; line-height: 1.5; cursor: pointer; overflow-wrap: anywhere; }
.hp-tabs-button > span { min-width: 0; }
.hp-tabs-button > .ti { flex-shrink: 0; color: #555b61; }
.hp-site .hp-tabs-button:hover { background: #e7e7e7; }
.hp-site .hp-tabs-button[aria-selected="true"] { background: var(--municipality-primary); color: var(--municipality-on-primary, #fff); }
.hp-tabs-button[aria-selected="true"] > .ti { color: inherit; }
.hp-tabs-button:focus-visible, .hp-tabs-panel:focus-visible { outline: 3px solid var(--municipality-primary); outline-offset: 3px; }
.hp-tabs[data-hp-tabs-ready] .hp-tabs-fallback-title { display: none; }
.hp-tabs-panel { min-width: 0; }
.hp-image-cards-intro { max-width: 75ch; margin-bottom: 24px; white-space: pre-line; }
.hp-image-cards-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 20px; }
.hp-image-cards-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hp-image-card-full-width { grid-column: 1 / -1; }
.hp-image-card { min-width: 0; height: 320px; overflow: hidden; border-radius: var(--municipality-radius, 6px); background: var(--municipality-secondary, #12365b); color: var(--municipality-on-secondary, #fff); }
.hp-image-card > summary { position: relative; display: flex; align-items: flex-end; min-height: var(--hp-image-card-height, 320px); padding: 0; cursor: pointer; list-style: none; background: linear-gradient(135deg, var(--municipality-secondary, #12365b), var(--municipality-primary, #066fd1)); }
.hp-image-card > summary::-webkit-details-marker { display: none; }
.hp-image-card > summary > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hp-image-card-title-in-image > summary { background: var(--municipality-stripe, #f5f9fc); }
.hp-image-card-title-in-image > summary > img { object-fit: contain; }
.hp-image-card-title-in-image:not([open]) .hp-image-card-heading { justify-content: flex-end; padding: 12px; background: transparent; }
.hp-image-card-title-in-image:not([open]) .hp-image-card-title { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.hp-image-card-title-in-image:not([open]) .hp-image-card-heading > .ti { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #071a2fe6; color: #fff; }
.hp-image-card-full-width > summary > img { object-fit: cover; object-position: center top; }
.hp-image-card-full-width.hp-image-card-title-in-image:not([open]) .hp-image-card-heading { justify-content: space-between; padding: 22px 24px; background: #071a2fd9; }
.hp-image-card-full-width.hp-image-card-title-in-image:not([open]) .hp-image-card-title { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip-path: none; white-space: normal; }
.hp-image-card-heading { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; padding: 22px 24px; background: #071a2fd9; color: #fff; font-size: clamp(18px, 2vw, 24px); font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
.hp-image-card-heading > .ti { flex-shrink: 0; font-size: 24px; transition: transform .2s; }
.hp-image-card > summary:focus-visible { outline: 3px solid var(--municipality-primary); outline-offset: -4px; }
.hp-image-card[open] > summary { min-height: 0; background: transparent; }
.hp-image-card[open] > summary > img { display: none; }
.hp-image-card[open] .hp-image-card-heading { background: transparent; color: inherit; padding-bottom: 12px; }
.hp-image-card[open] .hp-image-card-heading > .ti { transform: rotate(45deg); }
.hp-image-card-body { padding: 0 24px 24px; max-height: calc(320px - var(--hp-image-card-heading-height, 100px)); overflow-y: auto; overscroll-behavior-y: contain; scrollbar-width: thin; scrollbar-color: #ffffff80 transparent; font-size: max(14px, 1rem); line-height: 1.65; overflow-wrap: anywhere; }
.hp-image-card-body:focus-visible { outline-offset: -4px; }
.hp-site .hp-image-card-body > p { color: inherit; white-space: pre-line; margin: 0 0 20px; }
.hp-image-card-credit { display: block; margin-top: 14px; font-size: 14px; }
.hp-image-card[open] .hp-image-card-ai { display: none; }
@media (max-width: 999px) { .hp-image-cards-three { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .hp-image-cards-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; } }
@media (prefers-reduced-motion: reduce) { .hp-image-card-heading > .ti { transition: none; } }
.hp-tabs-panel::after { content: ''; display: table; clear: both; }
.hp-site.hp-rounded-buttons .hp-tabs-button { border-radius: 999px; }
.hp-site .hp-link-collection-buttons { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.hp-link-collection-buttons > li { max-width: 100%; }
.hp-site .hp-link-collection-buttons .hp-link-collection-card { min-height: 86px; padding: 16px; gap: 16px; border: 1px solid #dfeaf7; border-radius: 6px; background: #fff; color: #17324d; box-shadow: 0 3px 12px #17324d05; }
.hp-link-collection-buttons .hp-link-collection-icon { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 8px; background: color-mix(in srgb,var(--municipality-primary) 9%,white); color: var(--municipality-primary); font-size: 24px; }
.hp-link-collection-buttons .hp-link-collection-title { font-size: 15px; font-weight: 700; line-height: 1.4; }
.hp-link-collection-buttons .hp-link-collection-description { margin-top: 4px; font-size: 13px; line-height: 1.5; color: #526981; }
.hp-link-collection-buttons .hp-link-collection-arrow { display: inline-flex; flex: 0 0 20px; width: 20px; height: 24px; border-radius: 0; background: transparent; color: var(--municipality-primary); font-size: 20px; }
.hp-site .hp-link-collection-buttons a.hp-link-collection-card:hover { background: color-mix(in srgb,var(--municipality-primary) 4%,white); border-color: color-mix(in srgb,var(--municipality-primary) 35%,white); box-shadow: 0 5px 16px #17324d0d; }
.hp-link-collection-buttons .hp-link-collection-card:hover .hp-link-collection-arrow { background: transparent; color: var(--municipality-primary); }
.hp-site .hp-link-collection-buttons .hp-link-collection-highlighted .hp-link-collection-card { background: linear-gradient(135deg,var(--municipality-primary),color-mix(in srgb,var(--municipality-primary),#000 12%)); border-color: var(--municipality-primary); color: var(--municipality-on-primary, #fff); box-shadow: 0 5px 14px #17324d14; }
.hp-link-collection-buttons .hp-link-collection-highlighted .hp-link-collection-icon { background: #ffffff1f; color: inherit; }
.hp-link-collection-buttons .hp-link-collection-highlighted .hp-link-collection-arrow { color: inherit; }
.hp-link-collection-buttons .hp-link-collection-highlighted .hp-link-collection-icon .ti { color: inherit !important; }
.hp-link-collection-buttons .hp-link-collection-highlighted .hp-link-collection-description { color: inherit; }
.hp-site .hp-link-collection-buttons .hp-link-collection-highlighted a.hp-link-collection-card:hover { background: color-mix(in srgb, var(--municipality-primary), #000 12%); }
@media(max-width:1000px){.hp-site .hp-link-collection-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.hp-site .hp-link-collection-buttons{grid-template-columns:minmax(0,1fr)}}
@media (max-width: 575px) {
    .hp-site .hp-link-collection-card { gap: 12px; padding: 16px; }
    .hp-link-collection-icon { flex-basis: 36px; width: 36px; height: 36px; font-size: 24px; }
}

/* Optional editorial presentation; selected per page in the visual editor. */
.hp-container.hp-page-content { padding: 24px 0 35px; }
.hp-posts-page .hp-main { position: relative; isolation: isolate; background: var(--municipality-stripe, #f5f9fc); }
.hp-posts-content { max-width: var(--municipality-width); min-height: inherit; margin-inline: auto; padding: 20px 0 28px; }
.hp-posts-breadcrumb { display: flex; align-items: center; gap: 10px; color: #526b83; font-size: 14px; }
.hp-site .hp-posts-breadcrumb a { color: #36536d; text-decoration: none; }
.hp-posts-breadcrumb a i { color: var(--municipality-primary); font-size: 18px; }
.hp-posts-heading { padding-block: 36px 28px; }
.hp-site .hp-posts-heading h1 { margin: 0 0 14px; font-size: clamp(34px, 3.5vw, 48px); font-weight: 800; letter-spacing: -.04em; }
.hp-posts-heading h1:after { content: ''; display: block; width: 48px; height: 4px; margin-top: 10px; background: var(--municipality-primary); }
.hp-site .hp-posts-heading p { margin: 0; color: #294861; font-size: clamp(17px, 1.5vw, 20px); }
.hp-posts-toolbar { display: flex; align-items: end; flex-wrap: wrap; gap: 14px; margin-bottom: 22px; padding: 16px 18px 20px; border: 1px solid #e3edf6; border-radius: 9px; background: #ffffffed; box-shadow: 0 4px 18px #204b7310; }
.hp-posts-category { flex: 1 1 220px; min-width: 0; }
.hp-posts-category > label { display: block; margin-bottom: 5px; font-size: 14px; color: #294861; }
.hp-posts-search { flex: 1.2 1 240px; min-width: 0; }
.hp-posts-field { position: relative; }
.hp-posts-field > i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: #234563; font-size: 20px; pointer-events: none; }
.hp-posts-field :is(input, select) { width: 100%; height: 44px; padding: 9px 12px 9px 42px; border: 1px solid #d3e0ec; border-radius: 6px; background: #fff; color: #294861; font-size: 14px; }
.hp-posts-field input::placeholder { color: #6a7e92; opacity: 1; }
.hp-site :is(.hp-posts-filter, .hp-posts-reset) { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 9px 18px; border: 1px solid #afc4d8; border-radius: 6px; background: #f8fbfe; color: #234563; font-size: 14px; font-weight: 500; text-decoration: none; cursor: pointer; }
.hp-site .hp-posts-filter { border-color: var(--municipality-primary); background: var(--municipality-primary); color: var(--municipality-on-primary); box-shadow: 0 3px 8px #0069b51a; }
.hp-posts-filter:hover, .hp-posts-reset:hover { filter: brightness(.96); }
.hp-posts-tools { display: flex; align-items: center; justify-content: flex-end; gap: 18px; margin-left: auto; min-height: 44px; }
.hp-posts-count { font-size: 14px; color: #60758a; white-space: nowrap; }
.hp-posts-view { display: flex; padding: 3px; border: 1px solid #e0eaf3; border-radius: 7px; background: #f1f6fa; }
.hp-site .hp-posts-view a { display: grid; place-items: center; width: 40px; height: 36px; border-radius: 4px; color: #72869a; font-size: 21px; text-decoration: none; }
.hp-site .hp-posts-view a[aria-current] { color: var(--municipality-primary); background: #fff; box-shadow: 0 1px 5px #21496d0d; }
.hp-posts-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; }
.hp-post-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #e5edf5; border-radius: 9px; background: #fff; box-shadow: 0 4px 12px #204b7309; transition: box-shadow .18s; }
.hp-post-card:hover { box-shadow: 0 7px 20px #204b7317; }
.hp-post-card-featured { grid-column: span 2; }
.hp-post-card-image { display: block; position: relative; aspect-ratio: 1.9; overflow: hidden; background: #e8f0f6; }
.hp-post-card-image img { width: 100%; height: 100%; object-fit: cover; }
.hp-post-card-copy { display: flex; flex-direction: column; flex: 1; align-items: flex-start; padding: 14px 16px 17px; }
.hp-site .hp-post-card-date { margin: 0 0 8px; color: #60758a; font-size: 12px; }
.hp-site .hp-post-card-category { display: inline-flex; align-items: flex-start; gap: 5px; max-width: 100%; margin-bottom: 10px; padding: 4px 8px; border: 1px solid #dbe8f3; border-radius: 6px; background: #eef5fb; color: #294d6b; font-size: 12px; font-weight: 600; line-height: 1.45; text-decoration: none; overflow-wrap: anywhere; }
.hp-post-card-category > i { flex: none; margin-top: 2px; }
.hp-post-card-category > span { min-width: 0; }
.hp-site .hp-post-card-category:hover { background: #e1eef9; border-color: #afcce4; color: #173657; }
.hp-site .hp-post-card h2 { margin: 0 0 12px; font-size: 14px; line-height: 1.35; font-weight: 700; overflow-wrap: anywhere; }
.hp-site .hp-post-card h2 a { color: #173657; text-decoration: none; }
.hp-site .hp-post-card h2 a:hover { text-decoration: underline; }
.hp-site .hp-post-card-featured h2 { margin-bottom: 8px; font-size: 18px; }
.hp-site .hp-post-card-excerpt { margin: 0 0 14px; color: #526b83; font-size: 15px; line-height: 1.6; }
.hp-post-card:not(.hp-post-card-featured) .hp-post-card-excerpt { display: none; }
.hp-site .hp-post-card-more { display: inline-flex; align-items: center; margin-top: auto; min-height: 30px; font-size: 14px; font-weight: 600; text-decoration: none; }
.hp-post-card-more:hover { text-decoration: underline; }
.hp-posts-grid > .hp-empty { grid-column: 1 / -1; }
.hp-posts-pagination { margin-top: 28px; }
.hp-pagination { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; }
.hp-site .hp-pagination-summary { margin: 0; color: #4d6276; font-size: 14px; }
.hp-pagination .pagination { flex-wrap: wrap; gap: 3px; }
.hp-pagination .page-link { display: grid; place-items: center; min-width: 32px; min-height: 36px; padding: 6px; }
.hp-posts-list { grid-template-columns: minmax(0, 1fr); }
.hp-posts-list .hp-post-card { grid-column: auto; flex-direction: row; }
.hp-posts-list .hp-post-card-image { width: 230px; flex: 0 0 230px; aspect-ratio: 1.8; }
.hp-posts-list .hp-post-card h2 { font-size: 18px; }
.hp-posts-list .hp-post-card-excerpt { display: block; }
@media (max-width: 1399px) {
    .hp-posts-tools { flex: 1 1 auto; }
}
@media (max-width: 999px) {
    .hp-posts-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
    .hp-post-card-featured { grid-column: auto; }
    .hp-posts-list { grid-template-columns: minmax(0, 1fr); }
    .hp-posts-toolbar { gap: 12px; }
}
@media (max-width: 700px) {
    .hp-posts-content { padding-top: 16px; }
    .hp-posts-heading { padding-block: 26px 22px; }
    .hp-posts-toolbar { padding: 14px; }
    .hp-posts-category, .hp-posts-search { flex-basis: 100%; }
    .hp-posts-tools { width: 100%; justify-content: space-between; }
    .hp-posts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .hp-post-card-featured { grid-column: 1 / -1; }
    .hp-post-card-copy { padding: 12px; }
    .hp-posts-list { grid-template-columns: minmax(0, 1fr); }
    .hp-posts-list .hp-post-card { grid-column: auto; }
    .hp-posts-list .hp-post-card-image { width: 100px; flex-basis: 100px; aspect-ratio: auto; }
    .hp-posts-list .hp-post-card h2 { font-size: 15px; }
    .hp-posts-list .hp-post-card-excerpt { display: none; }
}
.hp-flow-caption.hp-flow-caption-note { display: flex; align-items: center; gap: 12px; margin-top: 0; padding: 14px; border-radius: 0 0 var(--municipality-radius) var(--municipality-radius); background: #edf7ff; color: #294861; }
.hp-flow-caption-symbol { display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%; background: var(--municipality-primary); color: var(--municipality-on-primary, #fff); font-size: 24px; }
.hp-flow-caption-symbol.hp-flow-caption-emoji { background: transparent; font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; font-size: 28px; line-height: 1; }
.hp-flow-caption-copy { min-width: 0; white-space: pre-line; overflow-wrap: anywhere; }
.hp-flow-image:has(> .hp-flow-caption-note) > .hp-flow-image-frame { padding: 0; border: 0; box-shadow: none; border-radius: var(--municipality-radius) var(--municipality-radius) 0 0; overflow: hidden; }
.hp-flow-image:has(> .hp-flow-caption-note) > .hp-flow-image-frame img { border-radius: 0; }
.hp-article-header { margin: 0 0 18px; }
.hp-site .hp-article-heading h1 { margin: 0 0 16px; font-size: clamp(26px, 3vw, 36px); font-weight: 750; letter-spacing: -.025em; }
.hp-article-heading h1:after { content: ''; display: block; width: 44px; height: 3px; margin-top: 14px; background: var(--municipality-primary); }
.hp-article-heading > p { color: #526579; }
.hp-article-meta { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.hp-article-meta time { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; color: #526579; }
.hp-article-meta time > i { color: var(--municipality-primary); font-size: 18px; }
.hp-article-actions { display: flex; gap: 10px; }
.hp-article-action { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #dbe5ef; border-radius: 50%; background: #fff; color: var(--municipality-primary); font-size: 20px; cursor: pointer; }
.hp-article-action:hover { background: #eef6fc; border-color: var(--municipality-primary); }
.hp-article-share { position: relative; }
.hp-share-panel { position: absolute; right: 0; top: calc(100% + 8px); z-index: 25; width: min(290px, calc(100vw - 48px)); padding: 16px; border: 1px solid #dbe5ef; border-radius: var(--municipality-radius); background: #fff; box-shadow: 0 8px 24px #172b4020; }
.hp-share-panel > p { font-weight: 700; margin-bottom: 8px; }
.hp-share-panel > a, .hp-share-panel > button { display: block; width: 100%; padding: 10px 0; border: 0; background: transparent; color: var(--municipality-link); text-align: left; text-decoration: none; cursor: pointer; }
.hp-share-panel > input { width: 100%; min-width: 0; padding: 8px; border: 1px solid #dbe5ef; border-radius: 4px; font-size: 14px; }
.hp-page-body > .hp-article-image { margin: 0 0 26px; padding: 0; border-radius: var(--municipality-radius); overflow: hidden; }
.hp-page-body > .hp-article-image > img { display: block; width: 100%; height: auto; max-height: none; aspect-ratio: 3.6 / 1; object-fit: cover; object-position: center; border-radius: 0; }
.hp-article-image-caption { position: absolute; bottom: 0; left: 0; right: 0; display: flex; align-items: center; gap: 10px; padding: 12px 16px; background: #102c40d9; color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.hp-article-image-caption > i { flex: none; font-size: 16px; }
@media (max-width: 700px) {
    .hp-page-body > .hp-article-image > img { aspect-ratio: 16 / 9; }
    .hp-article-image-caption { position: relative; padding: 10px 12px; flex-wrap: wrap; font-size: 11px; }
}
@media print {
    .hp-header, .hp-footer, .hp-admin-bar, .hp-breadcrumb-container, .hp-article-actions, [data-hp-language-notice], .hp-sidebar, .hp-sidebar-toggle, .hp-chatbot, .hp-aid-launcher, .hp-reading-aid, #cc-main { display: none !important; }
    .hp-site { background: #fff !important; color: #000; }
    .hp-container.hp-page-content { max-width: none; padding: 0; }
    .hp-site .hp-page-body.hp-content-shared { padding: 0; box-shadow: none; }
    .hp-article-header, .hp-article-image { break-inside: avoid; }
    .hp-article-image-caption { position: static; background: #fff; color: #000; }
    .hp-page-body > .hp-article-image > img { max-height: 65mm; }
}
.hp-main > .hp-container.hp-breadcrumb-container { padding-left: 0; padding-right: 0; }
.hp-page-body { min-width: 0; }
.hp-breadcrumb-with-toggle { display: flex; align-items: center; gap: 16px; padding-top: 18px; }
.hp-breadcrumb-with-toggle .hp-breadcrumb { min-width: 0; padding-top: 0; align-items: center; row-gap: 4px; }
.hp-site .hp-sidebar-toggle { position: relative; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 1px solid #dce6ee; border-radius: 12px; background: #ffffffd9; color: #526d83; box-shadow: 0 2px 5px #17324d05; cursor: pointer; transition: color .18s, background .18s, border-color .18s, box-shadow .18s; }
.hp-sidebar-toggle > .ti { font-size: 22px; line-height: 1; }
.hp-site .hp-sidebar-toggle:hover { color: var(--municipality-primary); background: #fff; border-color: color-mix(in srgb, var(--municipality-primary) 32%, #dce6ee); box-shadow: 0 3px 10px #17324d0d; }
.hp-site .hp-sidebar-toggle[aria-expanded="false"] { color: var(--municipality-primary); background: color-mix(in srgb, var(--municipality-primary) 6%, white); }
.hp-sidebar-toggle:focus-visible { outline: 3px solid var(--municipality-primary); outline-offset: 3px; }
.hp-sidebar-toggle:after { content: attr(aria-label); position: absolute; z-index: 30; top: calc(100% + 8px); left: 0; padding: 8px 11px; border-radius: 8px; background: #203e57; color: #fff; font-size: 14px; font-weight: 500; line-height: 1.4; white-space: nowrap; pointer-events: none; opacity: 0; transform: translateY(-3px); transition: opacity .15s, transform .15s; }
.hp-sidebar-toggle:is(:hover, :focus-visible):after { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) { .hp-site .hp-sidebar-toggle, .hp-sidebar-toggle:after { transition: none; } }
.hp-sidebar-toggle[hidden], .hp-sidebar[hidden] { display: none; }
.hp-page-columns.hp-sidebar-collapsed { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 700px) {
    [data-hp-page-columns]:not([data-hp-sidebar-ready]) > .hp-sidebar { display: none; }
}
.hp-module-frame { display: block; width: 100%; min-height: 360px; height: 700px; border: 0; background: transparent; }
.hp-external-frame { display: block; width: 100%; height: 1024px; border: 1px solid #dfe7ee; border-radius: var(--municipality-radius); background: #fff; }
.hp-external-content { display: grid; }
.hp-external-content > .hp-external-frame, .hp-external-loading, .hp-external-error { grid-area: 1 / 1; }
.hp-external-frame[aria-busy="true"] { visibility: hidden; }
.hp-external-loading { display: flex; align-items: center; justify-content: center; padding: 24px; border: 1px solid #dfe7ee; border-radius: var(--municipality-radius); background: #f5f9fc; color: var(--municipality-secondary); font-size: clamp(1rem, 2vw, 1.25rem); font-weight: 600; text-align: center; }
.hp-external-loading[hidden] { display: none; }
.hp-external-error { display: grid; place-items: center; min-height: 1024px; padding: 32px; border: 1px solid #dfe7ee; border-radius: var(--municipality-radius); background: #f5f9fc; text-align: center; }
.hp-external-error > div { max-width: 36rem; }
.hp-external-error-icon { display: inline-block; margin-bottom: 16px; font-size: 2rem; color: var(--municipality-primary); }
.hp-external-error[hidden] { display: none; }
.hp-external-dots { display: inline-flex; margin-left: .15em; }
.hp-external-dots > span { animation: hp-external-dot 1.2s infinite; }
.hp-external-dots > span:nth-child(2) { animation-delay: .2s; }
.hp-external-dots > span:nth-child(3) { animation-delay: .4s; }
@keyframes hp-external-dot { 0%, 80%, 100% { opacity: .25; } 40% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .hp-external-dots > span { animation: none; } }
.hp-external-direct { margin-top: 16px; }
.hp-page-body > .hp-page-banner { width: 100%; margin: 0 0 18px; padding-left: 30px; padding-right: 30px; }
.hp-page-body > .hp-page-banner > .hp-container { padding-left: 0; padding-right: 0; }
.hp-page-body > .hp-hero { margin: 0 0 18px; }
.hp-content-eyebrow, .hp-page-banner-eyebrow { margin-bottom: 8px; font-size: 14px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; line-height: 1.5; }
.hp-content-eyebrow { color: var(--municipality-secondary); }
.hp-page-editorial .hp-page-banner { margin-top: 16px; min-height: 220px; padding: 34px 30px; display: flex; align-items: center; }
.hp-page-editorial .hp-page-body > .hp-page-banner { margin-top: 0; }
.hp-site .hp-page-banner:not(:has(.hp-page-banner-image)) { background: transparent; color: inherit; min-height: 0; padding: 0; margin-top: 0; display: block; }
.hp-site .hp-page-banner:not(:has(.hp-page-banner-image)) :is(h1, p) { max-width: 100%; }
.hp-site .hp-page-banner:not(:has(.hp-page-banner-image)) h1 { font-size: clamp(30px, 3vw, 42px); font-weight: 750; line-height: 1.18; letter-spacing: -.025em; color: var(--municipality-secondary, #172b40); margin-bottom: 16px; }
.hp-site .hp-page-banner:not(:has(.hp-page-banner-image)) h1:after { content: ''; display: block; width: 48px; height: 4px; margin-top: 16px; background: var(--municipality-primary); }
.hp-site .hp-page-banner:not(:has(.hp-page-banner-image)) p { max-width: 70ch; font-size: 18px; line-height: 1.65; color: #294861; margin: 0; }
.hp-page-body > .hp-page-banner:not(:has(.hp-page-banner-image)) + .hp-section-background > .hp-block { padding-top: 8px; }
.hp-page-editorial .hp-page-banner > .hp-container { margin: 0; padding: 0; }
.hp-page-editorial .hp-page-banner h1 { max-width: 65%; font-size: clamp(28px, 3vw, 40px); font-weight: 750; }
.hp-page-editorial .hp-page-banner p { max-width: 62%; font-size: 18px; line-height: 1.6; margin: 10px 0 0; }
.hp-page-editorial .hp-page-banner:has(.hp-page-banner-image):before { background: linear-gradient(90deg, #182b12b3 0%, #182b1266 45%, transparent 80%); }
.hp-page-editorial .hp-page-body > .hp-section-background { margin-bottom: 18px; padding: 26px; border-radius: var(--municipality-radius); background: var(--hp-section-background, #ffffffd9); }
.hp-site.hp-page-editorial .hp-page-body > .hp-page-banner:not(:has(.hp-page-banner-image)) { padding: 26px; border-radius: var(--municipality-radius); background: #ffffffd9; }
.hp-page-editorial .hp-page-body > .hp-section-background > .hp-container { padding-left: 0; padding-right: 0; }
.hp-site .hp-page-body.hp-content-shared { padding: 26px; border-radius: var(--municipality-radius); background: #fff; }
.hp-site .hp-page-body.hp-content-shared > .hp-section-background { margin: 0; padding: 0; border-radius: 0; background: var(--hp-section-background, transparent); }
.hp-site .hp-page-body.hp-content-shared > .hp-section-background + .hp-section-background { margin-top: 24px; }
.hp-site .hp-page-body.hp-content-shared > .hp-page-banner:not(:has(.hp-page-banner-image)) { padding: 0; border-radius: 0; background: transparent; }
.hp-page-editorial .hp-page-body h2 { font-size: clamp(24px, 2.1vw, 30px); font-weight: 750; letter-spacing: -.025em; margin-bottom: 22px; }
.hp-page-editorial .hp-page-body > .hp-section-background > section > h2:after { content: ''; display: block; width: 44px; height: 3px; margin-top: 14px; background: var(--municipality-primary); }
.hp-page-editorial .hp-flow-image-frame { padding: 20px; border: 1px solid #e6edf3; border-radius: var(--municipality-radius); background: #fff; box-shadow: 0 4px 20px #172b4005; }
.hp-page-editorial .hp-flow-image img { border-radius: 0; }
.hp-feature-card { display: flex; align-items: center; gap: 20px; padding: 22px; border-radius: var(--municipality-radius); background: var(--hp-section-background, color-mix(in srgb, var(--municipality-primary) 10%, white)); color: var(--hp-section-foreground, inherit); }
.hp-feature-card-icon { display: grid; place-items: center; flex: 0 0 64px; width: 64px; height: 64px; border-radius: var(--municipality-radius); background: var(--hp-section-background, #ffffffb3); color: var(--hp-section-foreground, var(--municipality-primary)); font-size: 30px; }
.hp-feature-card-copy { flex: 1; min-width: 0; }
.hp-site .hp-feature-card h2 { font-size: 20px; margin: 0 0 8px; letter-spacing: normal; }
.hp-site .hp-feature-card p { font-size: 14px; line-height: 1.6; margin: 0; color: var(--hp-section-foreground, #294861); }
.hp-feature-card .hp-content-eyebrow { font-size: 14px; color: var(--municipality-primary); }
.hp-feature-card > .hp-button { flex-shrink: 0; font-size: 14px; }
@media (max-width: 1100px) { .hp-feature-card { flex-wrap: wrap; } .hp-feature-card > .hp-button { margin-left: 84px; } }
@media (max-width: 700px) {
    .hp-page-editorial .hp-page-banner { padding: 28px 20px; min-height: 240px; }
    .hp-page-editorial .hp-page-banner h1, .hp-page-editorial .hp-page-banner p { max-width: 100%; }
    .hp-page-editorial .hp-page-banner p { font-size: 16px; }
    .hp-page-editorial .hp-page-banner:has(.hp-page-banner-image):before { background: #182b12a6; }
    .hp-page-editorial .hp-page-body > .hp-section-background { padding: 20px; }
    .hp-site.hp-page-editorial .hp-page-body > .hp-page-banner:not(:has(.hp-page-banner-image)) { padding: 20px; }
    .hp-site .hp-page-body.hp-content-shared { padding: 20px; }
    .hp-site .hp-page-body.hp-content-shared > .hp-page-banner:not(:has(.hp-page-banner-image)) { padding: 0; }
    .hp-feature-card { padding: 18px; gap: 14px; }
    .hp-feature-card-icon { flex-basis: 48px; width: 48px; height: 48px; font-size: 26px; }
    .hp-feature-card-copy { flex-basis: calc(100% - 62px); }
    .hp-feature-card > .hp-button { margin-left: 0; }
}
.hp-inline-icon { display: inline-block; vertical-align: -.125em; }

/* Editable text cards, also inside columns and the shared content container. */
.hp-site .hp-section-background.hp-text-card-section { background: transparent; }
.hp-site .hp-text-card { flex: 1; min-width: 0; padding: 22px; border-radius: var(--municipality-radius, 6px); background: var(--hp-section-background, var(--hp-default-card-background, #eef6fd)); color: var(--hp-section-foreground, var(--hp-default-card-text, #172b40)); overflow-wrap: anywhere; }
.hp-site .hp-text-card-heading { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.hp-site .hp-text-card-heading > div { min-width: 0; }
.hp-site .hp-text-card-heading h2 { margin: 0; font-size: 1.05rem; color: inherit; }
.hp-site .hp-text-card-icon { flex-shrink: 0; font-size: 32px; line-height: 1; }
.hp-site .hp-text-card .hp-richtext { color: inherit; }
.hp-site .hp-text-card .hp-richtext :is(h2, h3, h4, p) { color: inherit; }
.hp-site .hp-text-card .hp-richtext a { color: inherit; text-decoration: underline; }
.hp-site .hp-text-card .hp-richtext > :last-child { margin-bottom: 0; }
.hp-site .hp-text-card ul, .hp-site .hp-text-card ol { padding-left: 1.25rem; }
@media (max-width: 700px) {
    .hp-site .hp-text-card { padding: 18px; }
    .hp-site .hp-text-card-heading { gap: 12px; }
}

/* Shared AI image label across the public homepage. */
.hp-site :is(.hp-ai, .hp-post-card-ai, .hp-article-ai) { position: absolute; inset: auto 8px 8px auto; z-index: 2; display: inline-block; max-width: calc(100% - 16px); margin: 0; padding: 4px 7px; border: 0; border-radius: 3px; background: #2b2b2b; color: #fff; font-family: var(--municipality-font); font-size: 12px; font-style: normal; font-weight: 400; line-height: 1.4; letter-spacing: normal; text-transform: none; overflow-wrap: anywhere; }
.hp-news-lead:has(.hp-news-lead-ai) .hp-news-lead-copy { padding-bottom: 48px; }
.hp-article-image-caption:has(.hp-article-ai) { padding-right: 140px; }

/* Let small alert groups fill the panel without unused columns. */
.hp-alert-cards:has(> .hp-alert-card:only-child) { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 701px) {
    .hp-alert-cards:has(> .hp-alert-card:nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 701px) {
    .hp-site .hp-alert-panel .hp-alert-card:only-child { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 8px 18px; padding: 18px 52px 18px 20px; }
    .hp-alert-panel .hp-alert-card:only-child .hp-alert-priority { grid-column: 1; grid-row: 1; }
    .hp-alert-panel .hp-alert-card:only-child h3,
    .hp-alert-panel .hp-alert-card:only-child p { grid-column: 2; }
    .hp-alert-panel .hp-alert-card:only-child .hp-alert-arrow { top: 50%; bottom: auto; transform: translateY(-50%); }
}

/* Shared homepage typography overrides component-specific heading weights. */
.hp-site .hp-section-background.hp-notice-section { padding: 0; background: transparent; }
.hp-notice-box { display: flex; align-items: center; gap: 26px; padding: 28px 32px; border-radius: max(12px, var(--municipality-radius, 6px)); background: var(--hp-section-background, var(--hp-default-card-background, #eef6fd)); color: var(--hp-section-foreground, var(--hp-default-card-text, #172b40)); }
.hp-notice-icon { flex: 0 0 48px; font-size: 44px; line-height: 1; text-align: center; }
.hp-notice-copy { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.hp-site .hp-notice-copy h2 { margin: 0 0 8px; font-size: 20px; color: inherit; }
.hp-site .hp-notice-copy .hp-richtext { font-size: 16px; line-height: 1.7; color: inherit; }
.hp-site .hp-notice-copy .hp-richtext p { margin: 0; color: inherit; }
.hp-notice-copy .hp-richtext p + p { margin-top: 10px; }
.hp-notice-copy .hp-richtext a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.hp-notice-copy a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
@media (max-width: 600px) {
    .hp-notice-box { align-items: flex-start; gap: 16px; padding: 22px 20px; }
    .hp-notice-icon { flex-basis: 32px; font-size: 32px; margin-top: 4px; }
    .hp-site .hp-notice-copy .hp-richtext { font-size: 15px; }
}

.hp-site :is(h1, h2, h3, h4, h5, h6) { font-family: var(--municipality-font) !important; font-weight: 600 !important; }
.hp-site .hp-richtext [style*="font-family" i]:not(.ti):not(.hp-inline-icon):not(.hp-flow-caption-emoji) { font-family: var(--municipality-font) !important; }
.hp-site :is(.hp-post-card-category, .hp-post-card-more) { font-family: var(--municipality-font); font-weight: 400; }

/* Search previews use the same media and image metadata as the public content. */
.hp-site .hp-search-card{position:relative;display:flex;align-items:center;gap:24px;padding:18px;margin-bottom:14px;background:#fff;border:1px solid #e5edf4;border-radius:var(--municipality-radius);box-shadow:0 4px 18px #17375406;transition:border-color .18s,box-shadow .18s}
.hp-site .hp-search-card:hover,.hp-site .hp-search-card:focus-within{border-color:var(--municipality-primary);box-shadow:0 6px 22px #17375412}
.hp-search-visual{position:relative;display:grid;place-items:center;width:136px;aspect-ratio:4/3;flex-shrink:0;overflow:hidden;border-radius:var(--municipality-radius);background:#edf5fb;color:var(--municipality-primary)}
.hp-search-visual>img{width:100%;height:100%;object-fit:cover}
.hp-search-visual>.hp-symbol{font-size:30px}
.hp-search-copy{min-width:0;flex:1;overflow-wrap:anywhere}
.hp-site .hp-search-copy h2{font-size:1.08rem;margin:0 0 5px}
.hp-search-copy h2 a{text-decoration:none}
.hp-search-copy h2 a::after{content:"";position:absolute;inset:0;border-radius:var(--municipality-radius)}
.hp-search-copy h2 a:hover{text-decoration:underline}
.hp-site .hp-search-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0;color:#566978;font-size:.9rem;line-height:1.6}
.hp-search-credit{display:block;margin-top:6px;color:#566978;font-size:.75rem}
.hp-search-arrow{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:#edf5fb;color:var(--municipality-primary)}
@media(max-width:600px){.hp-site .hp-search-card{gap:14px;padding:14px;align-items:flex-start}.hp-search-visual{width:80px;aspect-ratio:1}.hp-search-arrow{display:none}.hp-site .hp-search-copy h2{font-size:1rem}.hp-site .hp-search-excerpt{-webkit-line-clamp:3}.hp-search-visual .hp-ai{font-size:9px;padding:2px}}
@media(prefers-reduced-motion:reduce){.hp-site .hp-search-card{transition:none}}

/* Add an outer gutter only when the viewport approaches the content width. */
@media screen {
    body.hp-site { --hp-page-gutter: clamp(0px, calc(var(--municipality-width) + 32px - 100%), 16px); }
    body.hp-site > .hp-header,
    body.hp-site > .hp-admin-bar,
    body.hp-site > .hp-footer,
    body.hp-site > .hp-footer.hp-footer-municipal { padding-inline: var(--hp-page-gutter); }
    body.hp-site > .hp-main { margin-inline: var(--hp-page-gutter); }
}

/* Embedded modules use the same content width and outer gutter as the site header. */
.hp-site .hp-module-content {
    --hp-module-max-width: none;
    width: 100%;
    padding-inline: 0;
}
.hp-site .hp-module-content :is(.container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl, .container-fluid,
    .events-shell, .event-detail-shell, .event-submit-shell, .document-shell,
    .directory-shell, .directory-detail-shell, .directory-suggest-shell, .planning-form-width) {
    width: 100%;
    max-width: none;
}
.hp-site .hp-module-content :is(.container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl, .container-fluid) {
    padding-inline: 0;
}
.hp-site .hp-main .hp-planning-demo { max-width: var(--municipality-width); }

/* Published roadworks share the module feed layouts for tiles and lists. */
.hp-roadworks-heading{flex-wrap:wrap;align-items:center;gap:12px}
.hp-roadworks-heading-copy{flex:1;min-width:0}
.hp-roadworks-heading h2{color:var(--municipality-secondary)}
.hp-site .hp-roadworks-heading h2,.hp-site .hp-page-body:has(.hp-feed-roadworks) .hp-page-banner h1,.hp-site .hp-feed-roadworks h3{font-weight:500!important}
.hp-feed-roadworks strong,.hp-feed-roadworks .hp-roadwork-period{font-weight:600}
.hp-feed-roadworks .hp-roadwork-restrictions,.hp-feed-roadworks .hp-roadwork-modes{font-weight:500}
.hp-site .hp-feed-roadworks .hp-symbol .hp-svg-icon,.hp-site .hp-roadworks-heading .hp-symbol .hp-svg-icon{vertical-align:0}
.hp-site .hp-roadworks-intro{margin:5px 0 0;max-width:80ch;font-size:.875rem;line-height:1.5;color:color-mix(in srgb,var(--municipality-secondary) 78%,white)}
.hp-roadworks-heading>.hp-roadworks-all{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;min-height:44px;border-color:transparent;background:color-mix(in srgb,var(--municipality-primary) 8%,white);color:var(--municipality-link)!important;border-radius:var(--municipality-radius);font-size:.875rem;font-weight:500;white-space:normal;text-align:center}
.hp-roadworks-heading>.hp-roadworks-all:hover{background:var(--municipality-primary);color:var(--municipality-on-primary)!important;filter:none}
@media(max-width:600px){.hp-roadworks-heading-copy{flex-basis:100%}}
@container hp-column (max-width:600px){.hp-roadworks-heading-copy{flex-basis:100%}}
.hp-site .hp-main .hp-section-background > .hp-container.hp-block.hp-roadworks-compact-block{padding-left:0;padding-right:0}
.hp-feed-roadworks .hp-feed-copy{min-width:0;flex:1}
.hp-feed-roadworks .hp-feed-item{padding:20px;background:#fff;border:1px solid #e5edf4;border-radius:var(--municipality-radius);box-shadow:0 3px 12px #172b4009;align-items:flex-start;gap:24px}
.hp-feed-roadworks:not(.hp-feed-cards) .hp-feed-item+.hp-feed-item{margin-top:16px}
.hp-feed-roadworks .hp-feed-image{width:clamp(220px,32%,320px);align-self:flex-start}
.hp-feed-roadworks .hp-feed-image img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.hp-roadwork-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.hp-roadwork-badges span{display:inline-flex;align-items:center;gap:5px;padding:2px 6px;border-radius:5px;font-size:.6875rem;font-weight:500;line-height:1.4;background:color-mix(in srgb,var(--municipality-primary) 8%,white);color:var(--municipality-secondary)}
.hp-roadwork-badges .hp-roadwork-status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--municipality-primary);flex-shrink:0}
.hp-roadwork-details{margin:12px 0 16px;font-size:.875rem;line-height:1.6;overflow-wrap:anywhere}
.hp-roadwork-details p{margin:0 0 4px}
.hp-roadwork-modes{display:flex;flex-wrap:wrap;gap:5px 14px;margin-top:8px}
.hp-feed-roadworks.hp-feed-cards .hp-feed-item{display:flex;flex-direction:column;padding:0;gap:18px}
.hp-feed-roadworks.hp-feed-cards .hp-feed-image{width:100%}
.hp-feed-roadworks.hp-feed-cards .hp-feed-image img{display:block;height:auto;aspect-ratio:4/3;border-radius:0}
.hp-feed-roadworks.hp-feed-cards .hp-feed-copy{display:flex;flex-direction:column;width:100%}
.hp-feed-roadworks.hp-feed-cards .hp-readmore{margin-top:auto}
.hp-roadworks-pagination{margin-top:24px}
.hp-roadworks-pagination .pagination{display:flex;list-style:none;padding:0;margin:0;gap:4px}
.hp-roadworks-pagination .page-link{border:1px solid #dbe5ef;border-radius:5px;background:#fff;color:var(--municipality-link);text-decoration:none;min-width:36px;min-height:40px}
.hp-roadworks-pagination .page-link:hover{background:var(--municipality-stripe,#f5f9fc);border-color:var(--municipality-primary)}
.hp-roadworks-pagination .active .page-link{background:var(--municipality-primary);border-color:var(--municipality-primary);color:var(--municipality-on-primary,#fff)}
.hp-roadworks-pagination .disabled .page-link{color:#6b7b8b;background:#f5f7fa}
.hp-feed-roadworks.hp-feed-compact .hp-feed-item{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(180px,.75fr) auto;align-items:center;padding:12px 14px;gap:20px;border-color:color-mix(in srgb,var(--municipality-primary) 10%,white);box-shadow:0 2px 10px color-mix(in srgb,var(--municipality-secondary) 3%,transparent)}
.hp-feed-roadworks.hp-feed-compact .hp-feed-item+.hp-feed-item{margin-top:10px}
.hp-feed-roadworks.hp-feed-compact .hp-feed-item:focus-within,.hp-feed-roadworks.hp-feed-compact .hp-feed-item:hover{border-color:color-mix(in srgb,var(--municipality-primary) 35%,white)}
.hp-feed-compact .hp-roadwork-badges{margin-bottom:4px}
.hp-roadwork-compact-main{position:relative;min-width:0}
.hp-roadwork-compact-main.hp-roadwork-has-thumbnail{padding-left:80px}
.hp-feed-compact .hp-roadwork-thumbnail{position:absolute;left:0;top:50%;transform:translateY(-50%);width:64px;height:48px;aspect-ratio:4/3;object-fit:cover;border-radius:5px}
.hp-feed-compact h3{margin-bottom:4px;font-size:.9375rem;line-height:1.4}
.hp-feed-compact h3 a{color:var(--municipality-link);text-decoration:none}
.hp-feed-compact h3 a:hover{text-decoration:underline}
.hp-feed-compact p{margin:0;font-size:.8125rem;line-height:1.5;overflow-wrap:anywhere;color:color-mix(in srgb,var(--municipality-secondary) 78%,white)}
.hp-roadwork-compact-details{display:grid;gap:4px}
.hp-roadwork-compact-details p{padding-left:22px}
.hp-roadwork-compact-details p .hp-symbol{margin-left:-22px;margin-right:8px}
.hp-feed-roadworks .hp-readmore.hp-roadwork-more{display:flex;align-items:center;justify-content:center;align-self:flex-end;justify-self:end;gap:6px;width:fit-content;max-width:100%;min-height:36px;margin-left:auto;padding:7px 10px;border:1px solid color-mix(in srgb,var(--municipality-primary) 16%,white);border-radius:var(--municipality-radius);background:color-mix(in srgb,var(--municipality-primary) 4%,white);color:var(--municipality-link);font-size:.8125rem;font-weight:500;line-height:1.4;text-decoration:none;text-align:right;white-space:normal}
.hp-feed-roadworks.hp-feed-compact .hp-readmore.hp-roadwork-more{align-self:center}
.hp-feed-roadworks.hp-feed-cards .hp-readmore.hp-roadwork-more{align-self:flex-end;margin-left:auto;margin-right:0;text-align:right}
.hp-feed-roadworks .hp-readmore.hp-roadwork-more:hover{background:color-mix(in srgb,var(--municipality-primary) 10%,white);border-color:color-mix(in srgb,var(--municipality-primary) 35%,white)}
@media(max-width:900px){.hp-feed-roadworks.hp-feed-compact .hp-feed-item{grid-template-columns:minmax(0,1fr);gap:10px}}
@container hp-column (max-width:800px){.hp-feed-roadworks.hp-feed-compact .hp-feed-item{grid-template-columns:minmax(0,1fr);gap:10px}}
@media(max-width:700px){.hp-feed-roadworks:not(.hp-feed-cards) .hp-feed-item{flex-direction:column;gap:18px}.hp-feed-roadworks:not(.hp-feed-cards) .hp-feed-image{width:100%}}
@container hp-column (max-width:600px){.hp-feed-roadworks:not(.hp-feed-cards) .hp-feed-item{flex-direction:column;gap:18px}.hp-feed-roadworks:not(.hp-feed-cards) .hp-feed-image{width:100%}}

/* Keep hero content inset within its image independently of page containers. */
.hp-site .hp-hero > .hp-container.hp-hero-copy { padding-inline: clamp(20px, 4vw, 56px); }

/* Inset the digital services content within its colored box. */
.hp-site .hp-digital-services { padding-inline: clamp(20px, 2.5vw, 32px); }

/* Featured shortcuts inherit the website palette; no per-card fixed colors. */
.hp-site .hp-quicklinks-featured { padding-block: 20px; }
.hp-quicklinks-panel {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(18px, 2vw, 24px);
    border: 1px solid color-mix(in srgb, var(--municipality-primary) 12%, white);
    border-radius: max(16px, var(--municipality-radius));
    background: white;
    box-shadow: 0 8px 30px color-mix(in srgb, var(--municipality-secondary) 5%, transparent);
}
.hp-site .hp-quicklinks-panel > h2 { font-size: clamp(1.4rem, 2vw, 1.7rem); color: var(--municipality-secondary); margin-bottom: 6px; }
.hp-quicklinks-panel > h2:not(.visually-hidden)::before { content: ''; display: block; width: 36px; height: 3px; margin-bottom: 12px; background: var(--municipality-primary); border-radius: 2px; }
.hp-site .hp-quicklinks-panel > p { color: var(--municipality-secondary); margin-bottom: 18px; line-height: 1.5; }
.hp-site .hp-quicklinks-featured .hp-quicklink {
    --hp-quicklink-tone: var(--municipality-primary);
    position: relative;
    min-width: 0;
    display: grid;
    grid-template-rows: auto 1fr auto;
    justify-items: center;
    min-height: 0;
    align-items: center;
    text-align: center;
    padding: 12px 12px 4px;
    gap: 6px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--municipality-primary) 9%, white);
    border-radius: max(12px, var(--municipality-radius));
    background: white;
    box-shadow: 0 5px 16px color-mix(in srgb, var(--municipality-secondary) 5%, transparent);
    transition: box-shadow .18s ease, border-color .18s ease;
}
.hp-site .hp-quicklinks-featured a.hp-quicklink::after { display: none; }
.hp-site .hp-quicklinks-featured .hp-quicklink:nth-child(3n + 2) { --hp-quicklink-tone: var(--municipality-accent); }
.hp-site .hp-quicklinks-featured .hp-quicklink:nth-child(3n) { --hp-quicklink-tone: var(--municipality-secondary); }
.hp-quicklink-icon { display: grid; place-items: center; flex-shrink: 0; width: 48px; height: 48px; border-radius: 50%; background: color-mix(in srgb, var(--hp-quicklink-tone) 9%, white); color: var(--municipality-link); }
.hp-site .hp-quicklinks-featured .hp-quicklink:nth-child(3n + 2) .hp-quicklink-icon,
.hp-site .hp-quicklinks-featured .hp-quicklink:nth-child(3n) .hp-quicklink-icon { color: var(--municipality-secondary); }
.hp-quicklink-icon .hp-symbol { font-size: 25px; }
.hp-site .hp-quicklinks-featured .hp-quicklink h3 { color: var(--municipality-secondary); font-size: .96rem; line-height: 1.45; min-height: 0; margin: 0; overflow-wrap: anywhere; hyphens: auto; }
.hp-quicklink-arrow { display: grid; place-items: center; align-self: end; justify-self: end; margin-top: 0; width: 32px; height: 32px; flex-shrink: 0; border-radius: 50%; color: var(--municipality-link); background: color-mix(in srgb, var(--municipality-primary) 9%, white); }
.hp-quicklink-arrow .hp-symbol { font-size: 22px; }
.hp-site .hp-quicklinks-featured a.hp-quicklink:hover,
.hp-site .hp-quicklinks-featured a.hp-quicklink:focus-visible { background: white; border-color: var(--municipality-primary); box-shadow: 0 10px 24px color-mix(in srgb, var(--municipality-secondary) 12%, transparent); }
@media (max-width: 1100px) { .hp-quicklinks-featured .hp-quicklinks { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) {
    .hp-site .hp-quicklinks-featured { padding-block: 18px; }
    .hp-quicklinks-featured .hp-quicklinks { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .hp-site.hp-homepage-mobile .hp-quicklinks-featured .hp-quicklink,
    .hp-site .hp-quicklinks-featured .hp-quicklink { min-height: 0; padding: 12px 10px 4px; gap: 6px; }
    .hp-quicklinks-featured .hp-quicklink-icon { width: 44px; height: 44px; }
    .hp-quicklinks-featured .hp-quicklink-icon .hp-symbol { font-size: 23px; }
}
@media (prefers-reduced-motion: reduce) { .hp-site .hp-quicklinks-featured .hp-quicklink { transition: none; } .hp-site .hp-quicklinks-featured a.hp-quicklink:hover, .hp-site .hp-quicklinks-featured a.hp-quicklink:focus-visible { transform: none; } }

/* Keep utility icons beside their labels, including image-based feature icons. */
.hp-utility > a, .hp-mobile-preferences > a { display: inline-flex; align-items: center; white-space: nowrap; }
