@import url('/css/brand.css');
:root { color-scheme: light; font-family: system-ui, sans-serif; color: #17211b; background: #f4f7f4; }
h1, h2, h3, h4, h5, h6 { color: var(--brand-dark, #30333c); }
body { margin: 0; }
main { max-width: 48rem; margin: 15vh auto; padding: 2rem; }
.brand { color: #28734a; font-weight: 700; letter-spacing: 0; }
h1 { font-size: 2rem; line-height: 1.2; margin: .5rem 0 1rem; overflow-wrap: anywhere; }
.site-header, .page-layout, .site-navigation, .site-footer { box-sizing: border-box; width: 100%; max-width: var(--site-content-max-width, 1400px); margin-inline: auto; }
.site-header, .page-layout { margin-block: 0; padding-block: 1rem; }
.site-navigation { display: flex; flex-wrap: wrap; gap: 1rem; margin-block: 0; padding-block: 1rem; }
/* Gutter fades across twice its configured width beyond the content cap. */
.site-header, .page-layout, .site-navigation, .site-footer { padding-inline: clamp(0px, calc((var(--site-content-width-px, 1400px) + 2 * var(--site-narrow-gutter, 16px) - 100vw) / 2), var(--site-narrow-gutter, 16px)); }
.content-fields, .content-field, .content-field-value, .content-field-value > .pm-rich { margin-inline: 0; padding-inline: 0; }
.content-field { margin-block: 1rem; }
.content-field-label { font-weight: 600; margin-block-end: .35rem; }
/* Columns share the available content width after the gap; an empty aside keeps its 30%. */
.page-layout--main-aside { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 3fr); gap: 2rem; }
.page-zone img { max-width: 100%; height: auto; }
@media (max-width: 48rem) { .page-layout--main-aside { grid-template-columns: 1fr; } }
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Page media is a bounded image snapshot, shared by public and authenticated preview. */
.cms-media-block { margin: 1rem 0; }
.cms-media-block img { display: block; max-width: 100%; height: auto; }
.cms-media-block figcaption { margin-top: .5rem; color: #50545b; }
.cms-notice-block { border-left: 4px solid #238271; padding: .5rem 1rem; }
.cms-notice-block.warning { border-color: #bd493c; }
.site-header img { display: block; width: 260px; max-width: 100%; height: auto; }
.site-header { background: #fff; }
.site-footer { margin-block: 0; padding-block: 1.5rem; border-top: 1px solid #d6dadd; }
.site-header--compact, .site-footer--compact { padding-block: .5rem; }
.site-logo { display: inline-block; max-width: 100%; }
.site-logo--compact img { width: 180px; }
.site-header .site-navigation { padding-inline: 0; }
.site-preview-toolbar { padding: .75rem 1rem; background: #30333c; color: #fff; }
.site-preview-toolbar a { color: #fff; }
.site-navigation { gap: .75rem 1.25rem; border-bottom: 1px solid #d6dadd; }
.site-navigation a { color: #1b615a; text-underline-offset: 3px; }
.page-layout:has(> [data-zone="aside"]) { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 3fr); gap: 2rem; }
.page-layout > section { min-width: 0; overflow-wrap: anywhere; }
.site-density--compact .page-layout { gap: 1rem; padding-block: .75rem; }
.site-density--compact .site-navigation { padding-block: .5rem; }
@media(max-width: 48rem) { .page-layout:has(> [data-zone="aside"]) { grid-template-columns: minmax(0,1fr); } }
/* Outer bands own backgrounds; inner frames own the configured content width. */
body { container-type:inline-size; }
.site-header,.site-footer { max-width:none; padding-inline:0; }
.site-frame { box-sizing:border-box; width:100%; max-width:var(--site-content-max-width,1400px); margin-inline:auto; padding-inline:clamp(0px,calc((var(--site-content-width-px,1400px) + 2 * var(--site-narrow-gutter,16px) - 100cqw)/2),var(--site-narrow-gutter,16px)); }
.cms-section { box-sizing:border-box; min-width:0; overflow-wrap:anywhere; }
.cms-section--content > .site-frame { padding-inline:0; }
.page-layout:has(> [data-zone="aside"]) > :is([data-zone="main"],[data-zone="aside"]) .cms-section > .site-frame { padding-inline:0; }
.page-layout:not(:has(> [data-zone="aside"])) .cms-section--viewport,
.page-layout > [data-zone="before"] .cms-section--viewport,
.page-layout > [data-zone="after"] .cms-section--viewport { width:100cqw; margin-inline:calc(50% - 50cqw); }
.page-layout > [data-zone="before"],.page-layout > [data-zone="after"] { grid-column:1 / -1; }
.page-layout:has(> [data-zone="aside"]) > [data-zone="main"] { grid-column:1; }
.page-layout > [data-zone="aside"] { grid-column:2; }
.page-zone:empty { display:none; }
.cms-ad { max-width:100%; min-width:0; }
.cms-ad img,.cms-ad iframe { max-width:100%; }
@media(max-width:48rem){.page-layout > [data-zone="aside"]{grid-column:1;}}
