/* P.Stop — Next. Original theme UI; no external font or UI dependency. */
:root {
	--civica-ink: #283129;
	--civica-muted: #586256;
	--color-brand: #93b235;
	--civica-brand: var(--color-accent, #4b641a);
	--civica-brand-dark: #354911;
	--civica-navy: #26302a;
	--civica-paper: #fafbf6;
	--civica-white: #ffffff;
	--civica-soft: #eff3e4;
	--civica-line: #d9e1dc;
	--civica-gold: #93b235;
	--civica-focus: #9b5000;
	--civica-radius: 6px;
	--civica-radius-lg: 12px;
	--civica-shadow: 0 12px 36px rgb(22 46 59 / 8%);
	--civica-max: 1280px;
	--civica-gutter: clamp(20px, 4.3vw, 64px);
	--civica-duration: 180ms;
	--civica-ease: cubic-bezier(.22,.61,.36,1);
	--civica-card-lift: -3px;
	--civica-control-lift: -1px;
	--civica-image-scale: 1.035;
	--civica-press-scale: .985;
	--civica-arrow-shift: 3px;
	--civica-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-block-start: var(--civica-scroll-offset, 120px); scrollbar-gutter: stable; -webkit-text-size-adjust: 100%; }
html.motion-enabled { scroll-behavior: smooth; }
body { margin: 0; background: var(--civica-paper); color: var(--civica-ink); font-family: var(--civica-font); font-size: 1rem; line-height: 1.65; overflow-wrap: break-word; }
body:has(dialog[open]), body.has-open-dialog { overflow: hidden; }
[hidden] { display: none !important; }
img, video { display: block; max-width: 100%; height: auto; }
iframe { max-width: 100%; }
svg { flex-shrink: 0; }
a { color: var(--civica-brand); text-decoration-thickness: .075em; text-underline-offset: .21em; }
a:hover { color: var(--civica-brand-dark); }
a, button, input, textarea, select { -webkit-tap-highlight-color: transparent; }
button, input, textarea, select { font: inherit; }
button, input[type="submit"], input[type="button"] { cursor: pointer; }
button { color: inherit; }
button:disabled, input:disabled { cursor: not-allowed; opacity: .58; }
button, input, select, textarea { max-width: 100%; }
input, select, textarea { border: 1px solid #8b9b92; border-radius: var(--civica-radius); color: var(--civica-ink); background: var(--civica-white); padding: .72rem .9rem; }
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]), select { min-height: 48px; }
input[type="checkbox"], input[type="radio"] { width: 1.15em; height: 1.15em; accent-color: var(--civica-brand); vertical-align: middle; }
input::placeholder, textarea::placeholder { color: #64736b; opacity: 1; }
textarea { width: 100%; resize: vertical; }
label { display: block; margin-bottom: .5rem; font-weight: 650; }
fieldset { border: 1px solid var(--civica-line); padding: 1.5rem; margin: 1.5rem 0; min-width: 0; }
legend { padding-inline: .5rem; font-weight: 700; }
:focus-visible { outline: 3px solid var(--civica-focus); outline-offset: 4px; }
::selection { color: #fff; background: var(--civica-brand); }
h1, h2, h3, h4, h5, h6 { margin: 0 0 1rem; color: var(--civica-ink); line-height: 1.18; font-weight: 720; letter-spacing: -.035em; overflow-wrap: break-word; text-wrap: balance; }
h1 { font-size: clamp(2.25rem, 5.2vw, 4.75rem); }
h2 { font-size: clamp(1.75rem, 3.1vw, 2.75rem); }
h3 { font-size: clamp(1.3rem, 2vw, 1.7rem); }
h4 { font-size: 1.2rem; }
h5 { font-size: 1.08rem; }
h6 { font-size: 1rem; }
p { margin: 0 0 1.35em; }
ul, ol { padding-inline-start: 1.4rem; }
li + li { margin-top: .3rem; }
hr { border: 0; border-top: 1px solid var(--civica-line); margin: 2rem 0; }
blockquote { margin: 2rem 0; border-inline-start: 4px solid var(--civica-brand); padding-block: .4rem; padding-inline: 1.5rem 0; font-size: 1.2rem; }
blockquote p:last-child { margin-bottom: 0; }
blockquote cite { display: block; margin-top: .8rem; font-size: .92rem; color: var(--civica-muted); font-style: normal; }
figure { margin: 0 0 1.5rem; }
figcaption, .wp-caption-text { margin-top: .7rem; font-size: .87rem; line-height: 1.5; color: var(--civica-muted); }
pre { padding: 1.25rem; background: #edf0ec; border-radius: var(--civica-radius); overflow-x: auto; font-size: .9rem; }
code { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
table { border-collapse: collapse; width: 100%; }
th, td { border-bottom: 1px solid var(--civica-line); padding: .9rem 1rem; text-align: start; vertical-align: top; }
th { font-weight: 700; background: var(--civica-soft); }
.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); position: absolute !important; width: 1px; height: 1px; overflow: hidden; white-space: nowrap; }
.skip-link:focus { clip: auto !important; clip-path: none !important; position: fixed !important; z-index: 100000; width: auto; height: auto; top: 12px; left: 12px; padding: .85rem 1.25rem; background: #fff; color: #103e34; border-radius: 4px; font-weight: 700; box-shadow: var(--civica-shadow); }
.container { width: min(100% - (var(--civica-gutter) * 2), var(--civica-max)); margin-inline: auto; }
.section { padding-block: clamp(48px, 7vw, 92px); }
.section + .section { border-top: 1px solid var(--civica-line); }
.section-heading { display: flex; justify-content: space-between; align-items: end; flex-wrap: wrap; gap: 1.5rem 2rem; margin-bottom: 2rem; }
.section-heading h2 { margin-bottom: 0; }
.section-heading p { margin: .7rem 0 0; color: var(--civica-muted); max-width: 54ch; }
.eyebrow { display: block; margin: 0 0 1.05rem; color: var(--civica-brand); font-size: .75rem; font-weight: 750; line-height: 1.5; text-transform: uppercase; letter-spacing: .13em; }
.lead { font-size: clamp(1.08rem, 1.6vw, 1.3rem); line-height: 1.6; color: var(--civica-muted); max-width: 54ch; }
.button, .wp-block-button__link, button.search-submit, input[type="submit"], button[type="submit"], .comment-reply-link { display: inline-flex; align-items: center; justify-content: center; gap: .65rem; min-height: 48px; padding: .8rem 1.25rem; border: 1px solid var(--civica-brand); border-radius: var(--civica-radius); background: var(--civica-brand); color: #fff; text-decoration: none; font-size: .95rem; font-weight: 650; line-height: 1.35; transition: background-color var(--civica-duration), border-color var(--civica-duration), box-shadow var(--civica-duration), transform var(--civica-duration) var(--civica-ease); }
.button:hover, .wp-block-button__link:hover, button[type="submit"]:hover, input[type="submit"]:hover, .comment-reply-link:hover { color: #fff; background: var(--civica-brand-dark); border-color: var(--civica-brand-dark); box-shadow: 0 3px 10px rgb(13 65 56 / 12%); }
.button-secondary, .wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--civica-brand); border-color: var(--civica-brand); }
.button-secondary:hover, .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--civica-soft); color: var(--civica-brand-dark); }
.button svg, .text-link svg, .header-action svg, .icon-button svg, .back-to-top svg { width: 21px; height: 21px; }
.text-link { display: inline-flex; align-items: center; gap: .65rem; min-height: 44px; font-weight: 650; text-decoration: none; }
.text-link:hover { text-decoration: underline; }
.text-link svg, .back-to-top svg, .hero-actions .icon { transform: scaleX(var(--civica-icon-direction, 1)); transition: transform var(--civica-duration) var(--civica-ease); }
.button:active, .header-action:active, .icon-button:active { transform: scale(var(--civica-press-scale)); }
.button[aria-busy="true"] { cursor: progress; }
/* Header: one navigation tree moves into the mobile dialog without duplicate IDs. */
.site-header { position: relative; z-index: 100; background: var(--civica-white); border-bottom: 1px solid var(--civica-line); transition: box-shadow 220ms var(--civica-ease); }
.site-header--sticky { position: sticky; top: 0; }
.site-header--sticky.is-scrolled:not(.is-header-tall) { box-shadow: 0 5px 24px rgb(38 48 42 / 9%); }
.site-header.site-header--sticky.is-header-tall { position: relative; top: auto; }
html:not(.has-dialogs) .site-header--sticky { position: relative; top: auto; }
.admin-bar .site-header--sticky { top: 32px; }
.institution-bar { background: var(--civica-navy); color: #fff; font-size: .77rem; }
.institution-bar__inner { display: flex; justify-content: space-between; align-items: center; gap: .75rem 2rem; min-height: 39px; }
.institution-bar__identity { min-width: 0; letter-spacing: .025em; overflow-wrap: anywhere; }
.institution-bar__identity a { display: inline-flex; gap: .6rem; align-items: center; }
.institution-bar__identity svg { width: 13px; height: 13px; }
.institution-bar a { color: #fff; text-decoration: none; }
.institution-bar a:hover { text-decoration: underline; }
.institution-bar__links { display: flex; flex-wrap: wrap; align-items: center; justify-content: end; gap: .5rem 1.5rem; min-width: 0; }
.utility-navigation ul, .social-navigation ul, .footer-navigation ul, .mobile-utility-navigation ul { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem 1.3rem; margin: 0; padding: 0; list-style: none; }
.utility-navigation li, .footer-navigation li, .social-navigation li { margin: 0; }
.utility-navigation a { display: inline-flex; min-height: 36px; align-items: center; }
.language-switcher, .languages, .civica-languages { display: flex; align-items: center; gap: .6rem; font-size: .77rem; }
.language-switcher ul, .languages ul, .civica-languages ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .25rem .7rem; }
.language-switcher li, .languages li, .civica-languages li { margin: 0; }
.language-switcher a, .languages a, .civica-languages a { display: inline-flex; align-items: center; min-height: 36px; }
.language-switcher [aria-current], .languages [aria-current], .civica-languages [aria-current] { text-decoration: underline; text-underline-offset: 4px; }
.identity-row { display: flex; align-items: center; justify-content: space-between; min-height: 112px; gap: 2rem; padding-block: 21px; }
.site-branding { display: flex; align-items: center; gap: 1rem; min-width: 0; }
.site-branding a { color: inherit; text-decoration: none; }
.site-branding__link { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; min-width: 0; }
.site-branding__text, .site-branding__text .site-title, .site-branding__text .site-description { display: block; }
.site-branding__text { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.site-logo { max-width: min(120px, 100%); max-height: 76px; width: auto; object-fit: contain; flex-shrink: 0; }
.site-branding .custom-logo { max-width: 100px; max-height: 76px; width: auto; object-fit: contain; }
.site-branding .custom-logo-link { flex-shrink: 0; }
.site-title, .site-branding__title, .brand-title { font-size: clamp(1.35rem, 2.3vw, 2rem); font-weight: 750; line-height: 1.15; letter-spacing: -.045em; margin: 0; }
.site-title a:hover { color: var(--civica-brand); }
.site-description, .site-branding__description, .brand-description { margin: .32rem 0 0; font-size: .79rem; line-height: 1.5; color: var(--civica-muted); letter-spacing: .015em; max-width: 58ch; }
.brand-mark, .site-branding__mark { display: flex; align-items: center; justify-content: center; width: 52px; height: 60px; flex-shrink: 0; color: var(--civica-ink); background: var(--color-brand); border-radius: 6px; font-size: 1.5rem; font-weight: 750; }
.header-actions { display: flex; align-items: center; gap: .4rem; flex-shrink: 0; max-width: 100%; }
.header-action { display: inline-flex; align-items: center; justify-content: center; gap: .65rem; min-height: 46px; padding: .65rem .85rem; border: 1px solid transparent; border-radius: var(--civica-radius); color: var(--civica-ink); background: transparent; text-decoration: none; font-size: .86rem; font-weight: 650; white-space: nowrap; transition: background-color var(--civica-duration), color var(--civica-duration), transform var(--civica-duration) var(--civica-ease); }
.header-action:hover { background: var(--civica-soft); color: var(--civica-brand); }
.header-account { border-color: var(--civica-line); }
.icon-action { padding-inline: .75rem; }
.cart-link { position: relative; gap: .4rem; }
.civica-cart-count { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding-inline: .25rem; background: var(--civica-brand); color: #fff; font-size: .7rem; border-radius: 50%; }
.menu-trigger { display: none; }
.has-mobile-navigation .menu-trigger:not([hidden]) { display: inline-flex; }
.navigation-shell.is-mobile-navigation { display: none; }
.navigation-shell { border-top: 1px solid #edf0eb; }
.navigation-inner { min-height: 58px; position: relative; }
.primary-navigation { font-size: .91rem; font-weight: 650; }
.primary-navigation ul { list-style: none; margin: 0; padding: 0; }
.primary-navigation > ul, .primary-navigation > div > ul { display: flex; align-items: stretch; gap: .5rem 1.1rem; flex-wrap: wrap; }
.primary-navigation li { margin: 0; position: relative; }
.primary-navigation a { display: flex; align-items: center; min-height: 58px; padding: .85rem .2rem; color: var(--civica-ink); text-decoration: none; transition: color var(--civica-duration), background-color var(--civica-duration), border-color var(--civica-duration); }
.primary-navigation > ul > li > a, .primary-navigation > div > ul > li > a { border-bottom: 3px solid transparent; }
.primary-navigation li.current-menu-item > a, .primary-navigation li.current-menu-ancestor > a, .primary-navigation > ul > li > a:hover { color: var(--civica-brand); border-bottom-color: var(--civica-brand); }
.primary-navigation .menu-item-has-children > a { padding-inline-end: 2.75rem; }
.submenu-toggle { position: absolute; inset-inline-end: 0; top: 7px; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; padding: 0; background: transparent; color: currentColor; border-radius: 3px; transition: background-color var(--civica-duration); }
.submenu-toggle:hover { background: var(--civica-soft); }
.submenu-toggle svg { width: 15px; height: 15px; transition: transform var(--civica-duration); }
.submenu-open > .submenu-toggle svg { transform: rotate(180deg); }
.primary-navigation .sub-menu, .primary-navigation .children { visibility: hidden; opacity: 0; pointer-events: none; position: absolute; z-index: 110; top: 100%; inset-inline-start: -.9rem; width: min(300px, calc(100vw - 40px)); padding: .6rem; border: 1px solid var(--civica-line); border-top: 3px solid var(--civica-brand); border-radius: 0 0 var(--civica-radius) var(--civica-radius); background: var(--civica-white); box-shadow: var(--civica-shadow); transform: translateY(5px); transition: opacity var(--civica-duration), transform var(--civica-duration) var(--civica-ease), visibility var(--civica-duration); }
.primary-navigation:not(.nav-enhanced) li:hover > .sub-menu, .primary-navigation:not(.nav-enhanced) li:focus-within > .sub-menu, .primary-navigation li.submenu-open > .sub-menu, .primary-navigation:not(.nav-enhanced) li:hover > .children, .primary-navigation:not(.nav-enhanced) li:focus-within > .children { visibility: visible; opacity: 1; pointer-events: auto; transform: none; }
.primary-navigation .sub-menu a, .primary-navigation .children a { min-height: 44px; padding: .7rem .8rem; border: 0; border-radius: 3px; font-weight: 550; }
.primary-navigation .sub-menu a:hover, .primary-navigation .children a:hover { background: var(--civica-soft); }
.primary-navigation .sub-menu .menu-item-has-children > a { padding-inline-end: 2.8rem; }
.primary-navigation .sub-menu .submenu-toggle { top: 1px; width: 44px; height: 44px; }
.primary-navigation .sub-menu .sub-menu { top: -.65rem; inset-inline-start: calc(100% + .1rem); }
.primary-navigation .opens-left > .sub-menu { inset-inline-start: auto; inset-inline-end: 0; }
.primary-navigation .sub-menu .opens-left > .sub-menu { inset-inline-end: calc(100% + .1rem); }
.primary-navigation.nav-enhanced .submenu-dismissed > .sub-menu { opacity: 0; visibility: hidden; pointer-events: none; }
.menu-dialog .primary-navigation.nav-enhanced .submenu-dismissed > .sub-menu { display: none; }
.header-extra { border-top: 1px solid var(--civica-line); font-size: .88rem; }
.header-widget-area { border-top: 1px solid var(--civica-line); background: var(--civica-soft); font-size: .84rem; }
.header-widget-area > .container { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.5rem; padding-block: .65rem; }
.header-widget-area .widget { margin: 0; }
.header-widget-area p:last-child { margin-bottom: 0; }
.header-widget-area .widget-title { font-size: .8rem; margin-bottom: .4rem; }
.header-extra .container { display: flex; gap: 1rem 2rem; flex-wrap: wrap; align-items: center; padding-block: .75rem; }
.header-extra.container, .header-widget-band { display: flex; gap: 1rem 2rem; flex-wrap: wrap; align-items: center; padding-block: .75rem; }
.header-widget-band .widget { margin: 0; font-size: .88rem; }
.header-widget-band p:last-child { margin-bottom: 0; }
.button-small { min-height: 40px; padding: .6rem 1rem; font-size: .85rem; }
.header-extra p:last-child { margin: 0; }
.primary-navigation .menu-item--mega { position: static; }
@media (min-width: 1081px) {
	.primary-navigation .menu-item--mega { display: flex; align-items: stretch; }
	.primary-navigation .menu-item--mega > a { padding-inline-end: .2rem; }
	.primary-navigation .menu-item--mega > .submenu-toggle { position: static; align-self: center; flex-shrink: 0; }
}
.primary-navigation .sub-menu.mega-menu-panel { inset-inline: 0; width: min(1180px, calc(100vw - var(--civica-gutter) * 2)); margin-inline: auto; padding: clamp(22px, 3vw, 40px); border-radius: 0 0 var(--civica-radius-lg) var(--civica-radius-lg); }
.primary-navigation .mega-menu-panel > ul.sub-menu { position: static; inset: auto; width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem 1.5rem; padding: 1rem 0 0; margin: 1rem 0 0; border: 0; border-top: 1px solid var(--civica-line); border-radius: 0; box-shadow: none; opacity: 1; visibility: inherit; pointer-events: inherit; transform: none; background: transparent; }
.mega-menu-content { min-width: 0; font-size: .94rem; font-weight: 400; line-height: 1.7; }
.mega-menu-content h2 { font-size: 1.5rem; }
.mega-menu-content h3 { font-size: 1.17rem; }
.mega-menu-content > :last-child { margin-bottom: 0; }
.primary-navigation .mega-menu-content a { display: inline; min-height: 0; padding: 0; border: 0; border-radius: 0; color: var(--civica-brand); font-size: inherit; font-weight: inherit; text-decoration: underline; }
.primary-navigation .mega-menu-content a:hover { background: transparent; }
.primary-navigation .mega-menu-content .wp-block-button__link, .primary-navigation .mega-menu-content .button { display: inline-flex; align-items: center; min-height: 44px; padding: .75rem 1.1rem; border-radius: var(--civica-radius); color: #fff; background: var(--civica-brand); text-decoration: none; font-weight: 650; }
.primary-navigation .mega-menu-content ul { list-style: disc; padding-inline-start: 1.3rem; margin-block: .7rem; }
.primary-navigation .mega-menu-content ol { list-style: decimal; padding-inline-start: 1.3rem; margin-block: .7rem; }
.primary-navigation .mega-menu-content .wp-block-columns { gap: 2rem; }
.announcement { background: #edf2e9; color: #294b3d; border-bottom: 1px solid #d9e3d4; font-size: .86rem; }
.announcement__inner { display: flex; align-items: center; gap: .65rem 1.5rem; padding-block: .8rem; }
.announcement__label { font-size: .66rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; white-space: nowrap; }
.announcement a { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex: 1; color: #294b3d; text-decoration: none; }
.announcement a:hover { text-decoration: underline; }
.announcement svg { width: 17px; height: 17px; }
.inline-search { padding-block: 1.3rem; }
/* Hero and editorial components. */
.page-hero { background: #f0f3e8; border-bottom: 1px solid var(--civica-line); padding-block: clamp(44px, 6.7vw, 88px); }
.home-hero { border-top: 4px solid var(--color-brand); background-image: radial-gradient(ellipse at 100% 0, rgb(147 178 53 / 12%), transparent 65%); }
.home-content.section { padding-block: clamp(32px, 4.5vw, 64px); }
.home-content .entry-content > p { max-width: 75ch; }
.page-hero__inner { position: relative; }
.page-hero .breadcrumbs { margin-top: -1rem; margin-bottom: 2rem; }
.page-hero h1 { max-width: 19ch; margin-bottom: 1.5rem; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); align-items: center; gap: clamp(2rem, 6vw, 6rem); }
.hero-grid.hero-grid--text { grid-template-columns: 1fr; }
.hero-grid--text .hero-copy { max-width: 940px; }
.hero-grid--text h1 { max-width: 21ch; }
.hero-copy h1 { font-size: clamp(2.4rem, 4.8vw, 4.5rem); }
.hero-copy .lead { margin-bottom: 1.6rem; }
.hero-copy .button { margin-top: .4rem; }
.hero-media { position: relative; margin: 0; border-radius: var(--civica-radius-lg); overflow: hidden; background: #e0e7dd; }
.hero-media img { width: 100%; aspect-ratio: 1.16; object-fit: cover; }
.hero-media figcaption { padding: .6rem 1rem; background: #fff; margin: 0; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.quick-links, .quick-links-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 1px; padding: 0; list-style: none; border: 1px solid var(--civica-line); background: var(--civica-line); border-radius: var(--civica-radius); overflow: hidden; }
.quick-links li, .quick-links-grid li { margin: 0; background: #fff; }
nav.quick-links { display: block; }
nav.quick-links > ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 1px; list-style: none; padding: 0; margin: 0; }
.quick-links a, .quick-link, .quick-links-grid a { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; min-height: 84px; padding: 1.2rem 1.4rem; color: var(--civica-ink); font-weight: 650; text-decoration: none; transition: background var(--civica-duration); }
.quick-links a:hover, .quick-link:hover, .quick-links-grid a:hover { background: var(--civica-soft); color: var(--civica-brand); }
.quick-links svg, .quick-link svg { width: 20px; height: 20px; }
.content-layout { padding-block: clamp(40px, 5.5vw, 76px); }
.section > .content-layout { padding-block: 0; }
.page:not(.elementor-page):not(.page-template-template-full-width) .content-layout:not(.has-sidebar) > .content-main > article { max-width: 900px; margin-inline: auto; }
.content-layout.has-sidebar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 300px); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.content-layout.has-sidebar.sidebar-left { grid-template-columns: minmax(240px, 300px) minmax(0, 1fr); }
.content-layout.sidebar-left .sidebar { grid-column: 1; grid-row: 1; }
.content-layout.sidebar-left .content-main { grid-column: 2; }
.content-main { min-width: 0; }
.content-layout:not(.has-sidebar) > .content-main > .entry-content, .single .content-layout:not(.has-sidebar) > .content-main > article > .entry-content { max-width: 800px; margin-inline: auto; }
.content-layout.full-width > .content-main > .entry-content, .page-template-template-full-width .content-main > .entry-content { max-width: none; }
.card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.3vw, 32px); }
.has-sidebar .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.content-card { display: flex; flex-direction: column; min-width: 0; background: var(--civica-white); border: 1px solid var(--civica-line); border-radius: var(--civica-radius-lg); overflow: hidden; box-shadow: 0 2px 4px rgb(22 46 59 / 2%); transition: border-color 220ms, box-shadow 220ms, transform 260ms var(--civica-ease); }
.content-card:focus-within { border-color: var(--civica-brand); box-shadow: var(--civica-shadow); }
.card-media { display: block; overflow: hidden; margin: 0; background: var(--civica-soft); }
.card-media img { width: 100%; aspect-ratio: 1.65; object-fit: cover; transition: transform 450ms var(--civica-ease); }
.card-body { display: flex; flex-direction: column; flex: 1; gap: .85rem; padding: clamp(20px, 2.1vw, 30px); }
.card-body > :last-child { margin-bottom: 0; }
.card-meta { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem .8rem; font-size: .75rem; font-weight: 550; line-height: 1.6; color: var(--civica-muted); }
.card-meta a { color: var(--civica-brand); text-decoration: none; font-weight: 700; }
.card-meta a:hover { text-decoration: underline; }
.card-meta svg { width: 15px; height: 15px; }
.card-title { font-size: clamp(1.2rem, 1.8vw, 1.5rem); line-height: 1.3; letter-spacing: -.025em; margin: 0; }
.card-title a { color: var(--civica-ink); text-decoration: none; }
.card-title a:hover { color: var(--civica-brand); text-decoration: underline; }
.card-excerpt { color: var(--civica-muted); font-size: .93rem; line-height: 1.65; margin: 0; }
.card-excerpt p { margin: 0; }
.card-body > .text-link { margin-top: auto; padding-top: .4rem; font-size: .85rem; justify-content: space-between; }
.content-card.is-featured { border-top: 3px solid var(--civica-brand); }
.entry-header { max-width: 920px; margin-bottom: 2.5rem; }
.entry-title { font-size: clamp(2rem, 4.5vw, 3.75rem); margin-bottom: 1.3rem; }
.entry-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.2rem; color: var(--civica-muted); font-size: .87rem; }
.entry-meta a { color: inherit; }
.entry-meta time { white-space: nowrap; }
.entry-meta svg { width: 16px; height: 16px; vertical-align: text-bottom; }
.entry-media, .post-thumbnail, .entry-featured-image { margin-bottom: 2.25rem; border-radius: var(--civica-radius-lg); overflow: hidden; }
.entry-media img, .post-thumbnail img, .entry-featured-image img { width: 100%; height: auto; }
.entry-content { font-size: 1.045rem; line-height: 1.8; }
.entry-content::after { content: ""; display: table; clear: both; }
.entry-content > h2, .entry-content > h3, .entry-content > h4 { margin-top: 2.1em; scroll-margin-block-start: 1rem; }
.entry-content > :first-child { margin-top: 0; }
.entry-content > :last-child { margin-bottom: 0; }
.entry-content > ul, .entry-content > ol { margin-block: 1.25rem 1.7rem; }
.entry-content a:not(.button):not(.wp-block-button__link) { text-decoration: underline; }
.entry-content .wp-block-table { overflow-x: auto; }
.entry-content .wp-block-image img { border-radius: var(--civica-radius); }
.entry-content .wp-block-separator { margin-block: 3rem; }
.entry-content .wp-block-pullquote { border-block: 2px solid var(--civica-brand); padding: 2rem; }
.entry-content .wp-block-cover { margin-block: 2rem; }
.entry-content .wp-block-cover h1, .entry-content .wp-block-cover h2, .entry-content .wp-block-cover h3, .entry-content .has-text-color { color: inherit; }
.entry-content .wp-block-quote { border-inline-start-color: var(--civica-brand); }
.entry-content .wp-block-file { padding: 1.25rem; border: 1px solid var(--civica-line); border-radius: var(--civica-radius); background: #fff; }
.entry-content .wp-block-file__button { color: #fff; background: var(--civica-brand); border-radius: 4px; }
.entry-content .wp-block-details { border-block: 1px solid var(--civica-line); padding: 1rem 0; }
.entry-content .wp-block-details summary { cursor: pointer; font-weight: 650; min-height: 44px; }
.entry-content .wp-block-details[open] summary { margin-bottom: 1rem; }
.entry-content .wp-block-columns { gap: 2rem; }
.alignwide { width: min(100%, 1120px); max-width: 1120px; margin-inline: auto; }
.alignfull { max-width: none; }
.alignleft { float: left; margin-inline-end: 1.5rem; margin-bottom: 1rem; }
.alignright { float: right; margin-inline-start: 1.5rem; margin-bottom: 1rem; }
.aligncenter { display: block; margin-inline: auto; }
.wp-caption { max-width: 100%; }
.gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.gallery-item { margin: 0; }
.gallery img { width: 100%; }
.gallery-columns-1 { grid-template-columns: 1fr; }
.gallery-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gallery-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.legacy-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 1rem; }
.legacy-gallery img { width: 100%; border-radius: var(--civica-radius); }
.legacy-quote { padding: 2rem; background: var(--civica-soft); border-radius: var(--civica-radius); }
.legacy-quote img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.wp-video, .wp-audio-shortcode { max-width: 100%; }
.entry-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem; padding-block: 1.75rem; margin-top: 2.5rem; border-block: 1px solid var(--civica-line); }
.tags-links, .tagcloud { display: flex; flex-wrap: wrap; gap: .5rem; font-size: .8rem; }
.tags-links a, .tagcloud a { display: inline-flex; align-items: center; min-height: 36px; padding: .25rem .75rem; border-radius: 3px; border: 1px solid var(--civica-line); font-size: .8rem !important; text-decoration: none; background: #fff; }
.tags-links a:hover, .tagcloud a:hover { background: var(--civica-soft); }
.post-engagement, .entry-engagement, .share-links { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; font-size: .85rem; }
.like-button, [data-civica-like] { display: inline-flex; gap: .5rem; align-items: center; min-height: 44px; padding: .5rem .8rem; border-radius: 4px; border: 1px solid var(--civica-line); background: #fff; }
.like-button[aria-pressed="true"], [data-civica-like][aria-pressed="true"] { border-color: var(--civica-brand); background: var(--civica-soft); color: var(--civica-brand); }
.like-button svg, .post-engagement svg, .entry-engagement svg, [data-civica-like] svg { width: 18px; height: 18px; }
.author-box, .author-info { display: flex; align-items: start; gap: 1.5rem; padding: 2rem; margin-block: 2.5rem; background: var(--civica-soft); border-radius: var(--civica-radius); }
.author-box .avatar, .author-info .avatar { width: 72px; height: 72px; border-radius: 50%; flex-shrink: 0; }
.author-box h2, .author-box h3, .author-info h2 { font-size: 1.2rem; }
.author-box p:last-child, .author-info p:last-child { margin: 0; }
.breadcrumbs { font-size: .78rem; color: var(--civica-muted); }
.breadcrumbs.container { padding-top: 1.4rem; }
.breadcrumbs.container + main.section { padding-top: 2.4rem; }
.breadcrumbs ol, .breadcrumbs ul { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem .65rem; list-style: none; padding: 0; margin: 0; }
.breadcrumbs li { display: inline-flex; align-items: center; gap: .65rem; margin: 0; min-width: 0; overflow-wrap: anywhere; }
.breadcrumbs a { min-width: 0; }
.breadcrumbs li + li::before { content: "/"; color: #829087; }
.breadcrumbs a { color: var(--civica-muted); text-decoration: underline; }
.breadcrumbs [aria-current] { color: var(--civica-ink); }
.pagination, .posts-navigation, .post-navigation, .comment-navigation, .page-links { margin-block: 2.5rem 1rem; }
.pagination .nav-links, .page-links { display: flex; justify-content: center; flex-wrap: wrap; gap: .5rem; align-items: center; }
.page-numbers, .page-links > a, .page-links > .current { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: .4rem .8rem; border: 1px solid var(--civica-line); border-radius: 4px; color: var(--civica-ink); text-decoration: none; font-size: .9rem; background: #fff; }
ul.page-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; padding: 0; border: 0; background: none; list-style: none; }
ul.page-numbers li { margin: 0; }
.page-numbers.current, .page-links > .current { background: var(--civica-brand); color: #fff; border-color: var(--civica-brand); }
a.page-numbers:hover { background: var(--civica-soft); }
.page-numbers.dots { border-color: transparent; background: none; }
.post-navigation .nav-links, .posts-navigation .nav-links, .comment-navigation .nav-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
.post-navigation .nav-next, .posts-navigation .nav-next { text-align: end; }
.post-navigation a { text-decoration: none; }
.post-navigation .nav-subtitle { display: block; font-size: .73rem; text-transform: uppercase; letter-spacing: .08em; color: var(--civica-muted); margin-bottom: .4rem; }
.post-navigation .nav-title { font-weight: 650; }
.related-posts { padding-top: 3rem; margin-top: 3rem; border-top: 1px solid var(--civica-line); }
.empty-state { padding: clamp(2rem, 5vw, 5rem); border: 1px solid var(--civica-line); border-radius: var(--civica-radius-lg); background: #fff; max-width: 850px; margin-inline: auto; }
.empty-state h1, .empty-state h2 { max-width: 20ch; }
.empty-state .search-form { margin-block: 2rem; }
.error-code { font-size: clamp(4rem, 12vw, 9rem); color: var(--civica-brand); font-weight: 750; line-height: 1; letter-spacing: -.07em; margin-bottom: 1.5rem; }
/* Sidebar and forms. */
.sidebar { min-width: 0; font-size: .92rem; }
.sidebar .widget { margin-bottom: 1.5rem; padding: 1.5rem; background: #fff; border: 1px solid var(--civica-line); border-radius: var(--civica-radius); }
.widget-title, .widget h2, .widget h3 { font-size: 1.07rem; line-height: 1.35; margin-bottom: 1rem; }
.widget ul { list-style: none; padding: 0; margin: 0; }
.widget li + li { border-top: 1px solid var(--civica-line); margin-top: .55rem; padding-top: .55rem; }
.widget ul ul { padding-inline-start: 1rem; margin-top: .5rem; }
.widget a { text-decoration: none; }
.widget a:hover { text-decoration: underline; }
.widget select { width: 100%; }
.widget .search-form__row { flex-wrap: wrap; }
.widget .search-field { min-width: 0; width: 100%; }
.widget .search-submit { width: 100%; }
.widget_recent_entries .post-date { display: block; font-size: .76rem; color: var(--civica-muted); }
.search-form { width: 100%; }
.search-form label { font-size: .87rem; margin-bottom: .6rem; }
.search-form__row { display: flex; gap: .65rem; align-items: stretch; }
.search-field { flex: 1 1 auto; min-width: 0; width: 100%; padding: .9rem 1rem; font-size: 1rem; }
.search-submit { flex-shrink: 0; }
.search-results .search-form { margin-bottom: 2.5rem; }
.search-summary { color: var(--civica-muted); margin-bottom: 1.5rem; }
.comments-area { border-top: 1px solid var(--civica-line); margin-top: 3rem; padding-top: 2.5rem; }
.comments-title, .comment-reply-title { font-size: 1.5rem; margin-bottom: 1.5rem; }
.comment-list { list-style: none; padding: 0; margin: 0; }
.comment-list .children { list-style: none; padding-inline-start: clamp(1rem, 3vw, 2rem); }
.comment-body { margin-block: 1.5rem; padding: 1.5rem; border: 1px solid var(--civica-line); background: #fff; border-radius: var(--civica-radius); }
.comment-author { display: flex; align-items: center; gap: .75rem; font-size: .92rem; }
.comment-author img { width: 42px; height: 42px; border-radius: 50%; }
.comment-metadata { margin: .7rem 0 1rem; font-size: .75rem; }
.comment-metadata a { color: var(--civica-muted); }
.comment-content { font-size: .95rem; }
.comment-reply-link { min-height: 36px; font-size: .8rem; padding: .4rem .8rem; background: var(--civica-soft); color: var(--civica-brand); border-color: var(--civica-line); }
.comment-respond { margin-top: 2.5rem; }
.comment-form input:not([type="checkbox"]):not([type="submit"]) { width: 100%; }
.comment-form label { font-size: .86rem; }
.comment-notes, .logged-in-as, .comment-form-cookies-consent { font-size: .83rem; color: var(--civica-muted); }
.comment-form-cookies-consent label { display: inline; margin-inline-start: .5rem; font-weight: 450; }
.bypostauthor > .comment-body { border-inline-start: 3px solid var(--civica-brand); }
.sticky .card-title::before { content: ""; display: block; width: 28px; height: 3px; background: var(--civica-brand); margin-bottom: .6rem; }
/* Dialogs use the native modal focus model. Opening and closing end at the same geometry. */
.site-dialog { position: fixed; inset: 0; z-index: 1000; width: min(680px, calc(100% - 32px)); max-width: none; max-height: min(85vh, 900px); max-height: min(85dvh, 900px); margin: auto; padding: clamp(24px, 4vw, 42px); border: 1px solid var(--civica-line); border-radius: var(--civica-radius-lg); background: var(--civica-paper); color: var(--civica-ink); box-shadow: 0 24px 90px rgb(0 0 0 / 18%); overflow-y: auto; overscroll-behavior: contain; opacity: 1; transform: none; transition: opacity 200ms, transform 200ms var(--civica-ease); }
.site-dialog:not([open]) { display: none; }
.site-dialog::backdrop { background: rgb(24 38 29 / 58%); transition: background-color 200ms; }
.site-dialog.is-opening, .site-dialog.is-closing { opacity: 0; transform: translateY(8px); }
.site-dialog.is-opening::backdrop, .site-dialog.is-closing::backdrop { background: transparent; }
.dialog-heading { display: flex; justify-content: space-between; align-items: start; gap: 1.5rem; margin-bottom: 1rem; }
.dialog-heading h2 { font-size: clamp(1.55rem, 3vw, 2.1rem); margin: .35rem 0 0; }
.icon-button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex-shrink: 0; border-radius: 50%; border: 1px solid var(--civica-line); padding: 0; background: #fff; color: var(--civica-ink); transition: background-color var(--civica-duration), border-color var(--civica-duration), transform var(--civica-duration); }
.icon-button:hover { background: var(--civica-soft); }
.dialog-description { color: var(--civica-muted); font-size: .95rem; margin-bottom: 2rem; }
.menu-dialog, .information-dialog { inset-inline-start: auto; width: min(480px, 100%); height: 100vh; height: 100dvh; max-height: 100vh; max-height: 100dvh; margin: 0; border-block: 0; border-inline-end: 0; border-radius: 0; padding: 26px; padding-block-start: max(26px, env(safe-area-inset-top)); padding-block-end: max(26px, env(safe-area-inset-bottom)); }
.menu-dialog.is-opening, .menu-dialog.is-closing, .information-dialog.is-opening, .information-dialog.is-closing { transform: translateX(20px); }
[dir="rtl"] .menu-dialog.is-opening, [dir="rtl"] .menu-dialog.is-closing, [dir="rtl"] .information-dialog.is-opening, [dir="rtl"] .information-dialog.is-closing { transform: translateX(-20px); }
.menu-dialog .dialog-heading, .information-dialog .dialog-heading { padding-bottom: 1.5rem; margin-bottom: 1rem; border-bottom: 1px solid var(--civica-line); }
.menu-dialog .primary-navigation > ul, .menu-dialog .primary-navigation > div > ul { display: block; }
.menu-dialog .primary-navigation > ul > li, .menu-dialog .primary-navigation > div > ul > li { border-bottom: 1px solid var(--civica-line); }
.menu-dialog .primary-navigation a { min-height: 56px; font-size: 1.05rem; padding: .9rem .2rem; border: 0; }
.menu-dialog .primary-navigation .menu-item-has-children > a { padding-inline-end: 3rem; }
.menu-dialog .submenu-toggle { top: 5px; width: 44px; height: 46px; border: 1px solid var(--civica-line); }
.menu-dialog .primary-navigation .sub-menu, .menu-dialog .primary-navigation .children { display: none; visibility: visible; opacity: 1; position: static; width: auto; padding-block: 0 .9rem; padding-inline: .9rem 0; margin: 0; border: 0; border-radius: 0; box-shadow: none; transform: none; background: none; transition: none; }
.menu-dialog .primary-navigation .submenu-open > .sub-menu { display: block; pointer-events: auto; }
.menu-dialog .primary-navigation .sub-menu a, .menu-dialog .primary-navigation .children a { min-height: 44px; font-size: .92rem; padding-block: .6rem; }
.menu-dialog .primary-navigation .sub-menu .submenu-toggle { top: 1px; }
.menu-dialog .primary-navigation .menu-item--mega { display: block; position: relative; }
.menu-dialog .primary-navigation .sub-menu.mega-menu-panel { width: 100%; padding: .5rem 0 1rem; margin: 0; }
.menu-dialog .primary-navigation .mega-menu-panel > ul.sub-menu { display: block; visibility: inherit; padding-block: .7rem 0; padding-inline: .6rem 0; margin: 1rem 0 0; }
.menu-dialog .mega-menu-content { padding: .8rem; background: var(--civica-soft); border-radius: var(--civica-radius); }
.menu-dialog .primary-navigation .mega-menu-content a { min-height: 0; padding: 0; font-size: inherit; }
.menu-dialog .primary-navigation .mega-menu-content .wp-block-button__link, .menu-dialog .primary-navigation .mega-menu-content .button { padding: .7rem 1rem; }
.menu-dialog .mega-menu-content .wp-block-columns { display: block; }
.mobile-utility-navigation { padding-top: 2rem; font-size: .86rem; }
.mobile-utility-navigation ul { display: block; }
.mobile-utility-navigation a { display: inline-flex; align-items: center; min-height: 44px; }
.information-fallback { padding-block: 3rem; }
.information-dialog .widget { margin-bottom: 2rem; }
/* Structured footer. Empty widget containers disappear naturally. */
.site-footer { padding-top: clamp(42px, 6vw, 70px); background: var(--civica-navy); color: #dce5e5; }
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5, .site-footer h6 { color: #fff; }
.site-footer a { color: #fff; text-decoration-color: #93aaa9; }
.site-footer a { transition: color var(--civica-duration), text-decoration-color var(--civica-duration); }
.site-footer a:hover { color: #d5e5a7; }
.footer-main { display: grid; grid-template-columns: minmax(230px, .8fr) minmax(0, 1.8fr); gap: clamp(2rem, 5vw, 5rem); padding-bottom: 3rem; }
.footer-main.footer-main--compact { grid-template-columns: 1fr; }
.footer-intro { max-width: 410px; }
.footer-branding { margin-bottom: 1.3rem; }
.footer-branding .site-branding { align-items: start; }
.footer-branding .site-title, .footer-branding .site-branding__title, .footer-branding .brand-title { font-size: 1.65rem; color: #fff; }
.footer-branding .site-description, .footer-branding .site-branding__description, .footer-branding .brand-description { color: #c1d0d2; }
.footer-branding .site-branding .custom-logo { max-width: 70px; max-height: 60px; }
.footer-branding .site-logo { max-width: 90px; max-height: 60px; }
.footer-description { color: #c1d0d2; font-size: .9rem; line-height: 1.75; }
.footer-legal-details { color: #c1d0d2; font-size: .78rem; line-height: 1.7; margin-block: 1.25rem; }
.footer-legal-details p:last-child { margin-bottom: 0; }
.footer-contact { font-size: .85rem; font-style: normal; color: #dce5e5; margin-block: 1.5rem; }
.footer-contact p { display: flex; align-items: start; gap: .7rem; margin-bottom: .65rem; }
.footer-contact svg { width: 17px; height: 17px; margin-top: .3em; color: #99bdb4; }
.footer-contact a { overflow-wrap: anywhere; }
.social-navigation { margin-top: 1.6rem; font-size: .8rem; }
.social-navigation a { display: inline-flex; align-items: center; min-height: 40px; }
.footer-widgets { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); gap: 2rem; }
.footer-widgets:empty { display: none; }
.footer-widget-column .widget { font-size: .86rem; margin-bottom: 1.5rem; }
.site-footer .widget-title, .site-footer .widget h2, .site-footer .widget h3 { font-size: .77rem; font-weight: 700; line-height: 1.5; letter-spacing: .065em; text-transform: uppercase; margin-bottom: 1.2rem; }
.site-footer .widget li + li { border-color: transparent; padding-top: .25rem; margin-top: .3rem; }
.site-footer .widget a { line-height: 1.6; display: inline-block; padding-block: .15rem; }
.footer-fragment { color: #dce5e5; font-size: .92rem; }
.footer-bottom { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 2rem; border-top: 1px solid #38515c; padding-block: 1.4rem; font-size: .74rem; }
.copyright { color: #c1d0d2; }
.copyright p { margin: 0; }
.footer-navigation { margin-inline-start: auto; }
.footer-navigation a { display: inline-flex; align-items: center; min-height: 36px; }
.back-to-top { display: inline-flex; align-items: center; gap: .6rem; min-height: 40px; text-decoration: none; }
.back-to-top svg { width: 16px; height: 16px; }
/* WooCommerce and supported plugins retain their own logic and responsive templates. */
.woocommerce .woocommerce-breadcrumb { margin-bottom: 2rem; color: var(--civica-muted); }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.75rem; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; float: none; margin: 0; padding: 1rem; border: 1px solid var(--civica-line); border-radius: var(--civica-radius); background: #fff; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.15rem; letter-spacing: -.02em; }
.woocommerce ul.products li.product .price { color: var(--civica-brand); font-size: 1rem; }
.woocommerce div.product .summary p.price, .woocommerce div.product .summary span.price { color: var(--civica-brand); }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt { background: var(--civica-brand); color: #fff; padding: .85rem 1.1rem; border-radius: var(--civica-radius); line-height: 1.4; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { color: #fff; background: var(--civica-brand-dark); }
.woocommerce span.onsale { background: var(--civica-brand); }
.woocommerce .quantity .qty { min-width: 78px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding-inline-start: 0; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea { padding: .8rem; }
.woocommerce form .form-row .password-input input.input-text { padding-inline-start: .8rem; padding-inline-end: 56px; }
.woocommerce form .form-row .password-input .show-password-input { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; min-width: 44px; min-height: 44px; inset-inline-start: auto; inset-inline-end: 2px; padding: 0; }
.woocommerce-error, .woocommerce-info, .woocommerce-message { background: #fff; border-top-color: var(--civica-brand); border-radius: var(--civica-radius); }
.woocommerce table.shop_table { border-color: var(--civica-line); background: #fff; }
.woocommerce-cart .content-main, .woocommerce-checkout .content-main { width: 100%; }
.woocommerce .woocommerce-MyAccount-navigation ul { padding: 0; list-style: none; }
.woocommerce .woocommerce-MyAccount-navigation a { display: block; padding: .85rem 1rem; border-bottom: 1px solid var(--civica-line); text-decoration: none; }
.woocommerce .woocommerce-MyAccount-navigation .is-active a { background: var(--civica-soft); font-weight: 700; }
.wpcf7-form label { font-size: .9rem; }
.wpcf7-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), .wpcf7-form select { width: 100%; }
.wpcf7-not-valid-tip { font-size: .8rem; margin-top: .4rem; }
.wpcf7 form .wpcf7-response-output { margin-inline: 0; padding: 1rem; }
.event-details, .location-details { padding: 1.5rem; background: var(--civica-soft); border-radius: var(--civica-radius); margin-block: 1.5rem; }
.event-details dl, .location-details dl { display: grid; grid-template-columns: minmax(100px, .4fr) 1fr; gap: .7rem 1rem; margin: 0; }
.event-details dt, .location-details dt { font-weight: 700; }
.event-details dd, .location-details dd { margin: 0; }
.point-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.75rem; }
.points-filter { display: flex; align-items: end; flex-wrap: wrap; gap: 1rem; padding: 1.4rem; margin-block: 1.5rem 2rem; border: 1px solid var(--civica-line); border-radius: var(--civica-radius); background: #fff; }
.points-filter > div, .points-filter > label { flex: 1 1 200px; margin: 0; }
.points-filter label { font-size: .85rem; }
.points-filter input, .points-filter select { width: 100%; }
.points-filter > button { flex: 0 0 auto; }
.point-details { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 1.5rem; padding: 1.75rem; background: var(--civica-soft); border: 1px solid var(--civica-line); border-radius: var(--civica-radius-lg); margin-block: 2rem; }
.point-details h2, .point-details h3 { font-size: 1.1rem; margin-bottom: .75rem; }
.point-details p:last-child { margin-bottom: 0; }
.point-details svg { width: 19px; height: 19px; vertical-align: text-bottom; margin-inline-end: .35rem; }
.point-services { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 1rem 0; list-style: none; }
.point-services li, .point-services a, .point-services > span { display: inline-flex; align-items: center; gap: .4rem; margin: 0; padding: .35rem .7rem; border-radius: 4px; border: 1px solid #d3ddbf; background: #f3f6eb; color: #3d5317; font-size: .78rem; line-height: 1.5; text-decoration: none; }
.point-services a:hover { background: #e4edcf; }
.point-services svg { width: 16px; height: 16px; }
.featured-quote { padding: 2rem; background: var(--civica-soft); border-radius: var(--civica-radius); }
.featured-quote img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.featured-link { padding: 1.5rem; border: 1px solid var(--civica-line); border-inline-start: 4px solid var(--color-brand); border-radius: var(--civica-radius); font-weight: 650; background: #fff; }
.media-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 1rem; margin-block: 2rem; }
.media-gallery img { width: 100%; border-radius: var(--civica-radius); }
.entry-featured { margin-bottom: 2.25rem; border-radius: var(--civica-radius-lg); overflow: hidden; }
.entry-featured img { width: 100%; height: auto; }
.author-card { display: flex; align-items: start; gap: 1.5rem; padding: 2rem; margin-block: 2.5rem; background: var(--civica-soft); border-radius: var(--civica-radius); }
.author-card .avatar { width: 72px; height: 72px; border-radius: 50%; flex-shrink: 0; }
.author-card h2, .author-card h3 { font-size: 1.2rem; }
.author-card p:last-child { margin: 0; }
.notice { padding: 1.25rem 1.5rem; margin-block: 1.5rem; border: 1px solid var(--civica-line); border-inline-start: 4px solid var(--civica-brand); border-radius: var(--civica-radius); background: #fff; font-size: .94rem; }
.notice p:last-child { margin-bottom: 0; }
.em-search-wrapper input, .em-search-wrapper select { max-width: 100%; }
.em-booking-form { max-width: 100%; }
.em.pixelbones.em-list { --accent-color: var(--civica-brand); --accent-color-hover: var(--civica-brand-dark); --meta-color: var(--civica-muted); }
.em.em-list .em-item, .em.em-list .em-item .em-item-info { min-width: 0; }
.em.em-list .em-item .em-item-info .em-item-meta > div { min-width: min(200px, 100%); overflow-wrap: anywhere; }
.dropcap, .dropcap-bg { float: inline-start; font-size: 3rem; line-height: 1; margin-inline-end: .65rem; padding-top: .1rem; font-weight: 700; }
.highlighter { color: #fff; background: var(--civica-brand); padding-inline: .2em; }
.no-list-style { list-style: none; padding-inline-start: 0; }
/* Entry effects are temporary Web Animations; there is no invisible waiting state. */
.reveal-ready, .reveal-ready.is-visible { opacity: 1; transform: none; }
.search-form input, .points-filter input, .points-filter select, .comment-form input, .comment-form textarea { transition: border-color var(--civica-duration), box-shadow var(--civica-duration); }
.search-form input:focus, .points-filter input:focus, .points-filter select:focus, .comment-form input:focus, .comment-form textarea:focus { border-color: var(--civica-brand); box-shadow: 0 0 0 2px rgb(75 100 26 / 10%); }
@media (hover: hover) and (pointer: fine) {
	.content-card:hover { border-color: #9aae9e; box-shadow: var(--civica-shadow); transform: translateY(var(--civica-card-lift)); }
	.content-card:hover .card-media img { transform: scale(var(--civica-image-scale)); }
	.button:hover, .wp-block-button__link:hover { transform: translateY(var(--civica-control-lift)); }
	.button:active, .wp-block-button__link:active { transform: scale(var(--civica-press-scale)); }
	.text-link:hover svg, .back-to-top:hover svg { transform: translateX(calc(var(--civica-inline-direction, 1) * var(--civica-arrow-shift))) scaleX(var(--civica-icon-direction, 1)); }
}
@media (min-width: 1500px) {
	:root { --civica-max: 1360px; }
	.hero-grid { gap: 7rem; }
}
@media (max-width: 1080px) {
	.identity-row { min-height: 92px; padding-block: 17px; gap: 1.25rem; }
	.site-branding .custom-logo { max-height: 60px; max-width: 80px; }
	.site-logo { max-height: 60px; max-width: min(100px, 100%); }
	.site-title, .site-branding__title, .brand-title { font-size: 1.65rem; }
	.site-description, .site-branding__description { max-width: 45ch; }
	.header-actions { gap: .15rem; }
	.header-account span { display: none; }
	.header-action { padding-inline: .7rem; }
	.menu-trigger:not([hidden]) { display: inline-flex; }
	.navigation-shell.is-mobile-navigation { display: none; }
	.primary-navigation > ul, .primary-navigation > div > ul { gap: .4rem 1rem; }
	.primary-navigation:not(.nav-enhanced) .sub-menu, .primary-navigation:not(.nav-enhanced) .children { position: static; width: 100%; visibility: visible; opacity: 1; pointer-events: auto; transform: none; box-shadow: none; border: 0; padding-inline-start: 1rem; }
	.primary-navigation:not(.nav-enhanced) .mega-menu-panel > ul.sub-menu { display: block; }
	.card-grid { gap: 20px; }
	.hero-grid { gap: 2.5rem; }
	.hero-copy h1 { font-size: clamp(2.3rem, 5vw, 3.5rem); }
	.content-layout.has-sidebar { grid-template-columns: minmax(0, 1fr) 260px; gap: 2rem; }
	.content-layout.has-sidebar.sidebar-left { grid-template-columns: 260px minmax(0, 1fr); }
	.footer-main { grid-template-columns: 1fr 1.5fr; gap: 3rem; }
}
@media (max-width: 800px) {
	:root { --civica-gutter: 24px; }
	.institution-bar__inner { min-height: 34px; flex-wrap: wrap; padding-block: .25rem; }
	.has-mobile-navigation .utility-navigation { display: none; }
	.hero-grid { grid-template-columns: 1fr; gap: 2rem; }
	.hero-copy h1 { max-width: 18ch; font-size: clamp(2.3rem, 7vw, 3.9rem); }
	.hero-media img { aspect-ratio: 1.8; }
	.page-hero { padding-block: 40px; }
	.page-hero h1 { max-width: 22ch; }
	.card-grid, .has-sidebar .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.point-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.content-layout.has-sidebar, .content-layout.has-sidebar.sidebar-left { grid-template-columns: 1fr; }
	.content-layout.sidebar-left .sidebar, .content-layout.sidebar-left .content-main { grid-column: auto; grid-row: auto; }
	.sidebar { margin-top: 1.5rem; }
	.footer-main { grid-template-columns: 1fr; gap: 2rem; }
	.footer-intro { max-width: 600px; }
	.footer-navigation { margin-inline-start: 0; }
	.footer-bottom { gap: .5rem 1.4rem; }
	.copyright { width: 100%; }
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 601px) and (max-width: 782px) {
	.admin-bar .site-header--sticky { top: 46px; }
}
@media (max-width: 600px) {
	:root { --civica-gutter: 20px; }
	html { scroll-padding-block-start: var(--civica-scroll-offset, 105px); }
	.admin-bar .site-header--sticky { top: 0; }
	.identity-row { flex-wrap: wrap; gap: .75rem; min-height: 84px; padding-block: 16px; }
	.identity-row > .site-branding { flex: 1 1 110px; min-width: min(100%, 110px); }
	.site-branding { gap: .7rem; }
	.site-branding__link { gap: .7rem; }
	.site-title, .site-branding__title, .brand-title { font-size: 1.3rem; }
	.site-description, .site-branding__description, .brand-description { font-size: .69rem; max-width: 27ch; }
	.site-branding .custom-logo { max-width: 54px; max-height: 55px; }
	.site-logo { max-width: min(64px, 100%); max-height: 55px; }
	.brand-mark, .site-branding__mark { width: 40px; height: 48px; font-size: 1.2rem; }
	.header-action { min-height: 44px; min-width: 44px; padding: .5rem; }
	.search-trigger span, .menu-trigger span { display: none; }
	.header-account { border-color: transparent; }
	.header-actions { flex-wrap: wrap; justify-content: end; max-width: 210px; margin-inline-start: auto; }
	.institution-bar { font-size: .67rem; }
	.institution-bar__inner { gap: .5rem; }
	.institution-bar__links { gap: .5rem; }
	.announcement__inner { align-items: start; gap: .75rem; font-size: .78rem; }
	.announcement__label { padding-top: .2rem; font-size: .6rem; }
	.announcement a { gap: .8rem; }
	.primary-navigation > ul, .primary-navigation > div > ul { display: block; padding-block: .5rem; }
	.primary-navigation:not(.nav-enhanced) .sub-menu, .primary-navigation:not(.nav-enhanced) .children { position: static; width: 100%; display: block; opacity: 1; visibility: visible; pointer-events: auto; box-shadow: none; border: 0; padding-inline-start: 1rem; transform: none; }
	.primary-navigation a { min-height: 44px; padding-block: .5rem; }
	.primary-navigation > ul > li > a, .primary-navigation > div > ul > li > a { border: 0; }
	.section { padding-block: 42px; }
	.section-heading { align-items: start; gap: 1rem; margin-bottom: 1.5rem; }
	.section-heading .text-link { min-height: 36px; }
	.card-grid, .has-sidebar .card-grid { grid-template-columns: 1fr; }
	.point-grid { grid-template-columns: 1fr; }
	.point-details { padding: 1.4rem; }
	.points-filter { padding: 1.1rem; gap: .9rem; }
	.points-filter > div, .points-filter > label, .points-filter > button { flex-basis: 100%; width: 100%; }
	.author-card { padding: 1.3rem; gap: 1rem; }
	.author-card .avatar { width: 48px; height: 48px; }
	.card-body { padding: 23px; }
	.card-title { font-size: 1.4rem; }
	.card-media img { aspect-ratio: 1.75; }
	.hero-copy h1 { font-size: 2.65rem; }
	.hero-copy .lead { font-size: 1.08rem; }
	.hero-media img { aspect-ratio: 1.35; }
	.page-hero h1 { font-size: 2.45rem; }
	.eyebrow { font-size: .68rem; margin-bottom: .85rem; }
	.quick-links, .quick-links-grid { grid-template-columns: 1fr; }
	nav.quick-links > ul { grid-template-columns: 1fr; }
	.quick-links a, .quick-link, .quick-links-grid a { min-height: 68px; padding: 1rem 1.25rem; }
	.entry-title { font-size: 2.2rem; }
	.entry-content { font-size: 1rem; line-height: 1.75; }
	.entry-meta { gap: .5rem .8rem; font-size: .78rem; }
	.author-box, .author-info { padding: 1.3rem; gap: 1rem; }
	.author-box .avatar, .author-info .avatar { width: 48px; height: 48px; }
	.post-navigation .nav-links { gap: 1rem; }
	.post-navigation a { font-size: .88rem; }
	.gallery, .gallery-columns-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gallery-columns-1 { grid-template-columns: 1fr; }
	.alignleft, .alignright { float: none; margin-inline: 0; }
	.comment-body { padding: 1.1rem; }
	.search-form__row { gap: .5rem; }
	.search-submit.button { padding-inline: 1rem; }
	.search-submit svg { display: none; }
	.footer-main { padding-bottom: 2rem; }
	.footer-widgets { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
	.footer-widget-column { min-width: 0; }
	.footer-navigation ul { gap: .4rem 1rem; }
	.footer-bottom { font-size: .73rem; }
	.back-to-top { margin-inline-start: auto; }
	.event-details dl, .location-details dl { grid-template-columns: 1fr; gap: .25rem; }
	.event-details dd, .location-details dd { margin-bottom: .7rem; }
	/* The native event list must fit before its script assigns size-small, and without JavaScript. */
	.em.em-list:not(.em-grid) .em-item { grid-template-columns: minmax(0, 1fr); padding: 10px; }
	.em.em-list:not(.em-grid) .em-item .em-item-image { min-width: 0; max-width: 100%; }
	.em.em-list:not(.em-grid) .em-item .em-item-info { border-inline-start: 0; padding: 10px; }
	.site-dialog { padding: 24px; }
	.menu-dialog, .information-dialog { padding: 24px; padding-block-start: max(24px, env(safe-area-inset-top)); padding-block-end: max(24px, env(safe-area-inset-bottom)); }
	.woocommerce ul.products { gap: 1rem; }
	.woocommerce ul.products li.product { padding: .7rem; }
}
@media (max-width: 380px) {
	:root { --civica-gutter: 16px; }
	.site-title, .site-branding__title, .brand-title { font-size: 1.15rem; }
	.identity-row .site-description { display: none; }
	.site-branding .custom-logo { max-width: 44px; }
	.hero-copy h1, .page-hero h1 { font-size: 2.2rem; }
	.header-action { min-width: 40px; }
	.footer-widgets { grid-template-columns: 1fr; }
	.woocommerce ul.products { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	:root { --civica-card-lift: 0px; --civica-control-lift: 0px; --civica-image-scale: 1; --civica-press-scale: 1; --civica-arrow-shift: 0px; }
	html { scroll-behavior: auto !important; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
	.reveal-ready { opacity: 1 !important; transform: none !important; }
}
body[data-motion="off"] { --civica-card-lift: 0px; --civica-control-lift: 0px; --civica-image-scale: 1; --civica-press-scale: 1; --civica-arrow-shift: 0px; }
body[data-motion="off"] *, body[data-motion="off"] *::before, body[data-motion="off"] *::after { transition-duration: 0ms !important; animation-duration: 0ms !important; scroll-behavior: auto !important; }
@media print {
	.site-header, .site-footer, .sidebar, .announcement, .site-dialog, .header-actions, .comments-area, .entry-engagement, .post-engagement, .share-links, .related-posts, .inline-search { display: none !important; }
	body { background: #fff; color: #000; font-size: 11pt; }
	.container { width: 100%; max-width: none; }
	.page-hero { background: #fff; padding: 1rem 0; }
	.content-layout, .content-layout.has-sidebar { display: block; padding: 1rem 0; }
	h1, h2, h3 { break-after: avoid; color: #000; }
	img, figure, .content-card { break-inside: avoid; }
	a { color: #000; }
	.reveal-ready { opacity: 1; transform: none; }
}
