/* Frontend surfaces only. Joomla dialogs and embedded map controls keep their own styles. */
body.site:not(.is-home) { --field-border: #bccac2; background: #fff; }
body.site:not(.is-home) .content-layout { padding-top: 20px; padding-bottom: 64px; }
.page-breadcrumbs { width: min(calc(100% - 48px), var(--content)); margin: 0 auto; padding: 22px 0 10px; }
.page-breadcrumbs ol { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 10px; margin: 0; padding: 0; list-style: none; font-size: .85rem; line-height: 1.5; }
.page-breadcrumbs li { display: inline-flex; align-items: baseline; gap: 10px; min-width: 0; color: var(--muted); overflow-wrap: anywhere; }
.page-breadcrumbs li + li::before { content: "/"; color: #83958c; }
.page-breadcrumbs a { color: #425e50; text-decoration: none; }
.page-breadcrumbs a:hover { text-decoration: underline; }
.page-breadcrumbs [aria-current="page"] { color: var(--ink); font-weight: 500; }

body.site:not(.is-home) .component-area { font-size: 1rem; line-height: 1.7; }
body.site:not(.is-home) .component-area :where(h1, h2, h3, h4, h5, h6):not(:where(.modal *, .leaflet-container *)) { color: var(--forest); font-family: var(--font); font-weight: 600; letter-spacing: 0; overflow-wrap: anywhere; }
body.site:not(.is-home) .component-area :where(h1):not(:where(.modal *, .leaflet-container *)) { font-size: 2.625rem; line-height: 1.2; }
body.site:not(.is-home) .component-area :where(h2):not(:where(.modal *, .leaflet-container *)) { font-size: 1.75rem; line-height: 1.35; }
body.site:not(.is-home) .component-area :where(h3, h4):not(:where(.modal *, .leaflet-container *)) { font-size: 1.3rem; line-height: 1.4; }
body.site:not(.is-home) .component-area :where(p, li, dd) { overflow-wrap: anywhere; }
body.site:not(.is-home) .component-area :where(a):not(:where(.btn, .button, [class*="-button"], .leaflet-container a, .modal a)) { color: #31644c; text-underline-offset: 4px; }
body.site:not(.is-home) .component-area :where(a):hover { text-decoration-thickness: 1px; }

body.site:not(.is-home) .item-page { width: 100%; max-width: none; min-width: 0; margin-inline: auto; }
body.site:not(.is-home) .interior-hero { min-height: 0; margin: 0; padding: 12px 0 28px; border-bottom: 1px solid var(--border); background: transparent; box-shadow: none; clip-path: none; }
body.site:not(.is-home) .interior-hero__art { display: none; }
body.site:not(.is-home) .interior-hero .page-header :is(h1, h2) { max-width: 100%; margin: 0; font-size: 2.625rem; line-height: 1.2; text-wrap: balance; }
body.site:not(.is-home) .interior-hero .page-header :is(h1, h2)::after { display: none; }
body.site:not(.is-home) .interior-hero .article-info { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 18px 0 0; font-size: .82rem; font-weight: 400; line-height: 1.6; color: var(--muted); }
body.site.com_content.view-article:not(.is-home) .interior-hero .article-info > :is(dd.create, dd.published) { display: none; }
body.site.com_content.view-article:not(.is-home) .interior-hero .article-info:not(:has(> dd:not(.create, .published))) { display: none; }
body.site:not(.is-home) .com-content-article__body { display: flow-root; max-width: 100%; min-width: 0; padding-top: 32px; font-size: 1.0625rem; line-height: 1.8; }
body.site:not(.is-home) .com-content-article__body :where(p, ul, ol) { margin-block: 0 22px; }
body.site:not(.is-home) .com-content-article__body :where(h2, h3, h4, h5) { margin: 36px 0 16px; font-family: var(--font); line-height: 1.4; }
body.site:not(.is-home) .com-content-article__body :where(h4, h5)::before { display: none; }
body.site:not(.is-home) .com-content-article__body > :first-child { margin-top: 0; }
body.site:not(.is-home) .com-content-article__body p[style*="justify"] { text-align: left !important; }
body.site:not(.is-home) .com-content-article__body [style*="#ff0000" i] { color: #a7352b !important; }
body.site:not(.is-home) .com-content-article__body [style*="#0000ff" i] { color: #26557d !important; }
body.site:not(.is-home) .com-content-article__body :where(a[href]) { text-decoration: underline; }
body.site:not(.is-home) .com-content-article__body :where(.tm-map-block a) { text-decoration: none; }
body.site:not(.is-home) .com-content-article__body > :is(p, h4, figure) img { max-width: 100%; height: auto; border-radius: 6px; box-shadow: none; }
body.site:not(.is-home) .com-content-article__body blockquote { margin: 28px 0; padding: 18px 24px; border-left: 3px solid #ce9b29; border-radius: 0; background: #f3f6f4; color: #354c40; }
body.site:not(.is-home) .com-content-article__body table { max-width: 100%; border: 1px solid var(--border); font-size: .95rem; }
body.site:not(.is-home) .com-content-article__body :is(th, td) { padding: 12px 16px; border-color: var(--border); }
body.site:not(.is-home) .com-content-article__body th { background: #edf3ef; color: var(--forest); }
body.site:not(.is-home) .pagenav { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-top: 40px; padding: 24px 0 0; border-top: 1px solid var(--border); list-style: none; }

/* Keep original article nodes and links; improve only their public presentation. */
body.site:not(.is-home) .component-area .article-type-reset { font-family: var(--font) !important; }
body.site:not(.is-home) .component-area .article-type-bold { font-weight: 600; }
body.site:not(.is-home) .component-area .article-type-italic { font-style: italic; }
body.site:not(.is-home) .component-area .article-copy-size { font-size: 1em !important; }
body.site:not(.is-home) .component-area .article-spacer { display: none; }
body.site:not(.is-home) .component-area img.article-status-media { display: block; width: 320px; max-width: 100%; height: auto; margin: 0 auto !important; }
body.site:not(.is-home) .component-area .article-subheading { margin: 32px 0 16px; color: var(--forest); font-size: 1.2rem; font-weight: 600; line-height: 1.5; }
body.site:not(.is-home) .com-content-article__body :is(ul, ol):not(:where(.modal *, .leaflet-container *, .tm-map-block *, form *, .swarm-directory *)) { padding-left: 26px; }
body.site:not(.is-home) .com-content-article__body li:not(:where(.modal *, .leaflet-container *, .tm-map-block *, form *, .swarm-directory *)) { padding-left: 4px; margin-bottom: 8px; }
body.site:not(.is-home) .com-content-article__body li:not(:where(.modal *, .leaflet-container *, .tm-map-block *, form *, .swarm-directory *))::marker { color: #8a641d; }
body.site:not(.is-home) .com-content-article__body li:not(:where(.modal *, .leaflet-container *, .tm-map-block *, form *, .swarm-directory *)) > p:last-child { margin-bottom: 0; }
body.site:not(.is-home) .com-content-article__body .article-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr)); align-items: center; gap: 20px; margin: 24px 0 32px; }
body.site:not(.is-home) .com-content-article__body .article-gallery > * { min-width: 0; margin: 0 !important; }
body.site:not(.is-home) .com-content-article__body .article-gallery img { display: block; width: 100%; height: auto; max-height: 320px; margin: 0 auto !important; float: none !important; object-fit: contain; }
body.site:not(.is-home) .component-area a:is(.article-document, .article-resource) { display: inline-flex; align-items: center; gap: 12px; min-height: 48px; max-width: 100%; padding: 12px 18px; border: 1px solid #cddcd1; border-left: 3px solid #d9a429; border-radius: 4px; background: #f3f7f4; color: #28533d; font-weight: 500; line-height: 1.5; overflow-wrap: anywhere; text-decoration: none; }
body.site:not(.is-home) .component-area a:is(.article-document, .article-resource) .fas { flex: 0 0 auto; color: #816114; }
body.site:not(.is-home) .component-area a:is(.article-document, .article-resource) .fas::before { font-family: inherit; }
body.site:not(.is-home) .component-area a:is(.article-document, .article-resource):hover { border-color: #87a893; background: #eaf2ec; text-decoration: underline; }
body.site:not(.is-home) .component-area a.article-document-inline { font-weight: 600; text-decoration-color: #ba8927; text-decoration-thickness: 2px; }
body.site:not(.is-home) .com-content-article__body .article-timeline-step { position: relative; margin: 0; padding: 2px 0 24px 28px; border-left: 2px solid #dce5de; }
body.site:not(.is-home) .com-content-article__body .article-timeline-step::before { position: absolute; top: 9px; left: -6px; width: 10px; height: 12px; background: #b48322; clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%); content: ""; }
body.site:not(.is-home) .com-content-article__body .article-timeline-step > :is(strong, b):first-child { color: var(--forest); }
.article-table-scroll { max-width: 100%; margin: 24px 0; overflow-x: auto; overscroll-behavior-x: contain; }
.article-table-scroll:focus-visible { outline: 3px solid #286345; outline-offset: 3px; }
body.site:not(.is-home) .com-content-article__body .article-table-scroll table { display: table; width: 100%; margin: 0; border-collapse: collapse; }
body.site:not(.is-home) .com-content-article__body .article-table-scroll tbody tr:nth-child(even) { background: #f5f8f6; }
body.site:not(.is-home) .com-content-article__body .article-table-scroll caption { padding: 0 0 12px; color: var(--forest); font-weight: 600; text-align: left; }
body.site:not(.is-home) .component-area :is([data-event-item], [data-agenda-calendar], [class$="-agenda__header"], [class$="-event"]) [class^="icon-"]::before { font-family: inherit; }

/* Follow the site's available column, including sidebars; embedded tools keep their own widths. */
body.site:not(.is-home) .com-content-article__body.article-prose {
    --article-measure: 100%;
    width: 100%;
    max-width: var(--article-measure);
    margin-inline: auto;
    color: #30443b;
    font-size: 1.125rem;
    line-height: 1.8;
}
body.site:not(.is-home) .com-content-article__body.article-wide-content { max-width: 100%; }
body.site:not(.is-home) .is-text-dominant > .com-content-article__body.article-prose { max-width: var(--article-measure); }
body.site:not(.is-home) .article-prose > :is(p, ul, ol, dl, blockquote, .article-heading):not(.article-gallery, .article-media-row),
body.site:not(.is-home) .article-prose > :is(article, section, div):not([class]) > :is(p, ul, ol, dl, blockquote, .article-heading):not(.article-gallery, .article-media-row) { max-width: var(--article-measure); margin-inline: auto; }
body.site:not(.is-home) .editorial-layout > .article-prose > :is(p, ul, ol, dl, blockquote, .article-heading):not(.article-gallery, .article-media-row),
body.site:not(.is-home) .editorial-layout > .article-prose > :is(article, section, div):not([class]) > :is(p, ul, ol, dl, blockquote, .article-heading):not(.article-gallery, .article-media-row) { margin-inline: 0; }
body.site:not(.is-home) .article-prose :is(p, li, dt, dd):not(:where(.modal *, .leaflet-container *, .tm-map-block *, form *, pre *, code *)) { line-height: 1.8; }
body.site:not(.is-home) .article-prose p:not(:where(.modal *, .leaflet-container *, .tm-map-block *, form *)) { text-wrap: pretty; orphans: 3; widows: 3; }
body.site:not(.is-home) .article-prose > p:not(.article-gallery, .article-media-row),
body.site:not(.is-home) .article-prose > :is(article, section, div):not([class]) > p:not(.article-gallery, .article-media-row) { margin-bottom: 24px; }
body.site:not(.is-home) .article-prose .article-heading { margin: 40px auto 18px; color: var(--forest); font-weight: 600; line-height: 1.35; text-wrap: pretty; break-after: avoid-page; }
body.site:not(.is-home) .article-prose .article-heading:is(h1, h2) { padding-bottom: 12px; border-bottom: 1px solid #dce5de; font-size: 1.75rem; }
body.site:not(.is-home) .article-prose .article-heading:is(h3) { font-size: 1.375rem; }
body.site:not(.is-home) .article-prose .article-heading:is(h4, h5, h6) { font-size: 1.1875rem; }
body.site:not(.is-home) .article-prose .article-heading:first-child { margin-top: 0; }
body.site:not(.is-home) .article-prose > :first-child { margin-top: 0; }
body.site:not(.is-home) .article-prose .article-heading u { text-decoration: none; }
body.site:not(.is-home) .article-prose .article-heading-inline { font-family: inherit !important; font-size: inherit !important; line-height: inherit !important; }
body.site:not(.is-home) .article-prose .article-flow-reset { line-height: inherit !important; }
body.site:not(.is-home) .article-prose .article-subheading { margin: 32px 0 14px; padding-left: 0; border-left: 0; font-size: 1.25rem; font-style: normal; }
body.site:not(.is-home) .article-prose .article-subheading span { font-style: inherit; }
body.site:not(.is-home) .article-prose .article-point { padding-left: 1.2em; text-indent: -0.85em; }
body.site:not(.is-home) .article-prose :is(ul, ol):not(:where(.modal *, .leaflet-container *, .tm-map-block *, form *, .swarm-directory *)) { margin-bottom: 24px; }
body.site:not(.is-home) .article-prose li > :is(ul, ol):not(:where(.modal *, .leaflet-container *, .tm-map-block *, form *)) { margin-block: 12px; }
body.site:not(.is-home) .article-prose li > p:not(:where(.modal *, .leaflet-container *, .tm-map-block *, form *)) { margin-block: 12px; }
body.site:not(.is-home) .article-prose li > p:first-child:not(:where(.modal *, .leaflet-container *, .tm-map-block *, form *)) { margin-top: 0; }
body.site:not(.is-home) .article-prose dt:not(:where(.modal *, .leaflet-container *, .tm-map-block *, form *)) { margin-top: 20px; color: var(--forest); font-weight: 600; }
body.site:not(.is-home) .article-prose dd:not(:where(.modal *, .leaflet-container *, .tm-map-block *, form *)) { margin: 6px 0 20px; }
body.site:not(.is-home) .article-prose .article-media-row { display: flex; justify-content: center; align-items: center; margin: 32px auto; text-align: center; }
body.site:not(.is-home) .article-prose .article-media-row > * { min-width: 0; max-width: 100%; }
body.site:not(.is-home) .article-prose :is(.article-media-row, figure:not(:where(.modal *, .leaflet-container *, .tm-map-block *, form *))) img:not(.article-status-media) {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 640px;
    margin-inline: auto !important;
    float: none !important;
    object-fit: contain;
}
body.site:not(.is-home) .article-prose > figure { margin: 32px auto; }
body.site:not(.is-home) .article-prose :is(figcaption, .img_caption p, .caption):not(:where(.modal *, .leaflet-container *, .tm-map-block *, form *)) { max-width: var(--article-measure); margin: 10px auto 24px; padding-bottom: 0; border: 0; color: #53675b; font-size: .875rem; line-height: 1.6; }
body.site:not(.is-home) .article-prose figure.article-montage { width: var(--montage-width); max-width: 100%; margin: 32px auto; }
body.site:not(.is-home) .article-prose .article-montage__image { margin: 0; }
body.site:not(.is-home) .article-prose figure.article-montage .article-montage__image img { width: 100%; max-height: none; }
body.site:not(.is-home) .article-prose figure.article-montage .article-montage__caption-row { max-width: 100%; margin: 12px 0 0; }
body.site:not(.is-home) .article-prose p.article-montage__captions { display: grid; grid-template-columns: var(--montage-columns); padding-inline: var(--montage-inset); margin: 0 !important; font-size: .9375rem !important; line-height: 1.5; text-align: center; }
body.site:not(.is-home) .article-prose .article-montage__caption { min-width: 0; overflow-wrap: anywhere; text-align: center; }
body.site:not(.is-home) .has-article-presentation > .item-image { max-width: 100%; margin: 32px auto 0; }
body.site:not(.is-home) .has-article-presentation > .item-image img { display: block; width: auto; height: auto; max-width: 100%; max-height: 640px; margin-inline: auto; object-fit: contain; }
body.site:not(.is-home) .article-prose :is([id], a[name]):not(:where(.modal *, .leaflet-container *, .tm-map-block *, form *)) { scroll-margin-top: calc(var(--header-height, 88px) + 24px); }
@media (max-width: 899px) {
    body.site:not(.is-home) .com-content-article__body.article-prose { font-size: 1.0625rem; }
    body.site:not(.is-home) .article-prose .article-heading:is(h1, h2) { font-size: 1.5rem; }
    body.site:not(.is-home) .article-prose .article-heading { margin-top: 32px; }
}
@media print {
    body.site:not(.is-home) .com-content-article__body.article-prose { max-width: none; font-size: 11pt; color: #000; }
    body.site:not(.is-home) .article-prose .article-heading { color: #000; }
    body.site:not(.is-home) .article-prose :is(.article-media-row, figure) { break-inside: avoid; }
}

body.site:not(.is-home) .item-page.has-editorial-visual .interior-hero,
body.site:not(.is-home) .com-contact.has-editorial-visual .interior-hero,
body.site:not(.is-home) .gabi-agenda.has-editorial-visual .interior-hero { isolation: isolate; min-height: 244px; padding: 36px 42px; border-bottom: 4px solid #edb83f; background: #1b4d3e; }
body.site:not(.is-home) .has-editorial-visual .interior-hero::before { position: absolute; inset: 0; z-index: 1; background: rgba(16, 36, 28, .72); content: ""; pointer-events: none; }
body.site:not(.is-home) .has-editorial-visual .interior-hero__art { display: block; position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; opacity: 1; background: none; }
body.site:not(.is-home) .has-editorial-visual .interior-hero__art img { display: block; width: 100%; height: 100%; max-width: none; margin: 0; border: 0; border-radius: 0; object-fit: cover; object-position: center; }
body.site:not(.is-home) .has-editorial-visual .interior-hero .page-header { z-index: 2; }
body.site:not(.is-home) .has-editorial-visual .interior-hero .page-header :is(h1, h2) { color: #fff; }
body.site:not(.is-home) .has-editorial-visual .interior-hero .article-info { position: relative; z-index: 2; color: #fff; }
body.site:not(.is-home) .has-editorial-visual .interior-hero .article-info a { color: #fff; text-decoration: underline; }
body.site:not(.is-home) .has-editorial-visual .interior-hero .article-info a:is(:hover, :focus-visible) { color: #ffe1a0; }
body.site:not(.is-home) .has-editorial-visual .interior-hero a:focus-visible { outline-color: #fff; }
/* Widen the layout rather than using viewport units that include the scrollbar. */
body.site:not(.is-home) .content-layout.has-fullwidth-hero { width: 100%; }
body.site:not(.is-home) .has-fullwidth-hero .item-page.has-editorial-visual { max-width: none; }
body.site:not(.is-home) .has-fullwidth-hero .item-page.has-editorial-visual > :not(.interior-hero, meta, script, style),
body.site:not(.is-home) .has-fullwidth-hero .interior-hero > :is(.page-header, .article-info) { width: min(calc(100% - 48px), var(--content)); margin-inline: auto; }
body.site:not(.is-home) .has-fullwidth-hero .item-page.has-editorial-visual .interior-hero,
body.site:not(.is-home) .has-fullwidth-hero .com-contact.has-editorial-visual .interior-hero,
body.site:not(.is-home) .has-fullwidth-hero .gabi-agenda.has-editorial-visual .interior-hero { min-height: 280px; padding: 44px 0; }
body.site:not(.is-home) .is-text-dominant > .com-content-article__body { max-width: 100%; margin-inline: auto; padding-top: 38px; }
body.site:not(.is-home) .component-area .article-ornament { display: flex; align-items: center; gap: 28px; max-width: 100%; margin: 28px auto 0; }
body.site:not(.is-home) .component-area .article-ornament::before { content: ""; flex: 1; border-top: 1px solid #dce5de; }
body.site:not(.is-home) .component-area .article-ornament img { display: block; flex: 0 0 170px; width: 170px; height: 170px; margin: 0; object-fit: contain; }
body.site:not(.is-home) .is-text-dominant .com-content-article__body > .article-lead { margin-bottom: 28px; padding: 4px 0 4px 24px; border-left: 3px solid #d9a429; color: #284d3d; font-size: 1.25rem; line-height: 1.65; }
body.site:not(.is-home) .is-text-dominant .com-content-article__body > .article-chapter { margin: 40px 0 20px; padding-top: 24px; border-top: 1px solid var(--border); text-align: left !important; scroll-margin-top: calc(var(--header-height, 88px) + 24px); }
body.site:not(.is-home) .is-text-dominant .com-content-article__body > .article-chapter::before { display: block; width: 36px; height: 3px; margin-bottom: 14px; border-radius: 0; background: #d9a429; content: ""; }
body.site:not(.is-home) .is-text-dominant .com-content-article__body > .article-chapter:target { border-top-color: #b88820; }
body.site:not(.is-home) .is-text-dominant .com-content-article__body :is([id], a[name]) { scroll-margin-top: calc(var(--header-height, 88px) + 24px); }
body.site:not(.is-home) .is-text-dominant .com-content-article__body a.article-document { display: inline-flex; align-items: center; gap: 12px; max-width: 100%; min-height: 48px; padding: 12px 18px; border: 1px solid #cddcd1; border-left: 3px solid #d9a429; border-radius: 4px; background: #f3f7f4; color: #28533d; font-weight: 500; line-height: 1.5; text-decoration: none; }
body.site:not(.is-home) .is-text-dominant .article-document .fas { flex-shrink: 0; color: #816114; }
body.site:not(.is-home) .is-text-dominant .article-document .fas::before, body.site:not(.is-home) .has-editorial-visual .interior-hero [class^="icon-"]::before { font-family: inherit; }
body.site:not(.is-home) .is-text-dominant .com-content-article__body a.article-document:hover { border-color: #87a893; background: #eaf2ec; text-decoration: underline; }
.editorial-layout { display: flex; flex-direction: column; gap: 28px; width: 100%; padding-top: 28px; }
body.site:not(.is-home) .is-text-dominant .editorial-layout > .com-content-article__body { grid-column: 1; grid-row: 1; max-width: none; min-width: 0; padding-top: 0; }
.article-outline { width: 100%; min-width: 0; padding: 0; border-block: 1px solid #dce3df; font-size: .95rem; line-height: 1.5; }
.article-outline summary { padding: 8px 0 14px; color: var(--forest); font-size: 1rem; font-weight: 600; cursor: pointer; }
.article-outline nav ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; margin: 0 0 14px; padding: 0; list-style: none; }
.article-outline nav li { margin: 0; border-top: 1px solid #e5ece7; }
.article-outline nav a { display: block; padding: 10px 0; color: #3e5b4b; overflow-wrap: anywhere; text-decoration: none; }
.article-outline nav a:hover { color: #204632; text-decoration: underline; }
.article-outline summary:focus-visible { outline: 3px solid #286345; outline-offset: 3px; }
body.site:not(.is-home) .interior-hero:not(:has(.interior-hero__art img)) { min-height: 0; padding: 8px 0 20px; background: transparent; }
body.site:not(.is-home) .interior-hero:not(:has(.interior-hero__art img)) .interior-hero__art { display: none; }
body.site:not(.is-home) .interior-hero:not(:has(.interior-hero__art img)) .page-header :is(h1, h2) { margin: 0; font-size: 2rem; }
body.site:not(.is-home) .gabi-agenda:not(.has-editorial-visual) .gabi-agenda__header { padding-block: 8px 20px; }
body.site:not(.is-home) .gabi-agenda:not(.has-editorial-visual) .gabi-agenda__header h1 { font-size: 2rem; margin-block: 6px 10px; }
body.site:not(.is-home) .gabi-agenda:not(.has-editorial-visual) .gabi-agenda__header p { margin-bottom: 0; }

body.site:not(.is-home) .blog > .page-header { margin: 0 0 32px; padding: 12px 0 26px; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: none; }
body.site:not(.is-home) .blog > .page-header::after { display: none; }
body.site:not(.is-home) .blog > .page-header h1 { font-size: 2.625rem; }
body.site:not(.is-home) .blog > .page-header h1::after { display: none; }
body.site:not(.is-home) .blog .blog-item { border-color: var(--border); border-radius: 6px; box-shadow: none; transition: border-color .2s ease; }
body.site:not(.is-home) .blog .blog-item:hover { border-color: #98b5a4; box-shadow: none; transform: none; }
body.site:not(.is-home) .blog .blog-item .item-image { height: auto; aspect-ratio: 16 / 10; background: #f3f6f4; }
body.site:not(.is-home) .blog .blog-item .item-image img { object-fit: contain; transform: none; }
body.site:not(.is-home) .blog .blog-item .item-image.card-media--cover :is(picture, a) { display: block; width: 100%; height: 100%; }
body.site:not(.is-home) .blog .blog-item .item-image.card-media--cover img { object-fit: cover; }
body.site:not(.is-home) .blog .blog-item .item-image.card-media--contain :is(picture, a) { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
body.site:not(.is-home) .blog .blog-item .item-image.card-media--contain picture { padding: 18px; }
body.site:not(.is-home) .blog .blog-item .item-image.card-media--contain img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; border: 1px solid #dde3df; box-shadow: 0 2px 6px rgba(32, 43, 41, .08); }
body.site:not(.is-home) .blog .blog-item .item-content { min-height: 280px; padding: 24px; }
body.site:not(.is-home) .blog .blog-item .page-header h2 { font-size: 1.3rem; line-height: 1.4; text-wrap: pretty; }
body.site:not(.is-home) .blog .blog-item .page-header h2:not(:has(a)) { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
body.site:not(.is-home) .blog .blog-item .page-header h2 a { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
body.site:not(.is-home) .blog .blog-item .page-header h2::after { display: none; }
body.site:not(.is-home) .blog .blog-item .article-info { color: var(--muted); font-weight: 400; }
body.site:not(.is-home) .blog .article-info [class^="icon-"]::before { font-family: inherit; }
body.site:not(.is-home) .blog .items-leading .blog-item { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
body.site:not(.is-home) .blog .items-leading .blog-item .item-image { min-height: 0; height: 360px; aspect-ratio: auto; }
body.site:not(.is-home) .blog .items-leading .blog-item .item-content { min-height: 330px; padding: 32px; }
body.site:not(.is-home) .blog .items-leading .blog-item .page-header h2 { font-size: 1.5rem; }
body.site:not(.is-home) .blog .com-content-blog__links { padding: 24px 0; border: 0; border-top: 1px solid var(--border); border-radius: 0; background: transparent; }

body.site:not(.is-home) .component-area :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]), select, textarea):not(:where(.modal *, .leaflet-container *)) { min-height: 48px; padding: 11px 14px; border: 1px solid var(--field-border); border-radius: 6px; background: #fff; color: var(--ink); box-shadow: none; font: inherit; }
body.site:not(.is-home) .component-area :where(input, select, textarea):focus-visible:not(:where(.modal *, .leaflet-container *)) { border-color: #397558; outline: 3px solid #dbe9df; outline-offset: 1px; box-shadow: none; }
body.site:not(.is-home) .component-area :where(input[type="checkbox"], input[type="radio"]):not(:where(.modal *)) { width: 18px; height: 18px; min-height: 18px; padding: 0; flex-shrink: 0; accent-color: var(--forest); }
body.site:not(.is-home) .component-area :where(.control-label, legend, .ti-field > span):not(:where(.modal *, .leaflet-container *)) { color: #354d40; font-weight: 500; }
body.site:not(.is-home) .component-area :where(.star, .form-control-feedback):not(:where(.modal *)) { color: #a7352b; }
body.site:not(.is-home) .component-area :where(.btn-primary, button[type="submit"], .gabi-button, [class$="-button"]):not(:where(.modal *, .leaflet-container *, .input-password-toggle)) { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 48px; padding: 11px 20px; border: 1px solid #1b4d3e; border-radius: 6px; background: #1b4d3e; color: #fff; box-shadow: none; font-size: 1rem; font-weight: 600; letter-spacing: 0; line-height: 1.5; text-decoration: none; transform: none; white-space: normal; }
body.site:not(.is-home) .component-area :where(.btn-primary, button[type="submit"], .gabi-button, [class$="-button"]):hover:not(:where(.modal *, .leaflet-container *, .input-password-toggle)) { background: #133c2e; color: #fff; box-shadow: none; transform: none; }
body.site:not(.is-home) .component-area :where(.btn-secondary, .gabi-button--secondary, [class$="-button--secondary"]):not(:where(.modal *)) { min-height: 48px; padding: 11px 18px; border: 1px solid #b6c9bc; border-radius: 6px; background: #fff; color: #234b36; box-shadow: none; font-weight: 500; text-decoration: none; transform: none; }
body.site:not(.is-home) .component-area :where(.btn-secondary, .gabi-button--secondary, [class$="-button--secondary"]):hover:not(:where(.modal *)) { border-color: #668b76; background: #edf4ef; color: #234b36; }
body.site:not(.is-home) .component-area :where(button, .btn):disabled { opacity: .55; cursor: not-allowed; }
body.site:not(.is-home) .component-area :where(.btn, .gabi-button, button[type="submit"], input, select, textarea):not(:where(.modal *, .leaflet-container *, .g-recaptcha *, [contenteditable="true"] *)) { transition: background-color .18s ease, border-color .18s ease, color .18s ease; }
body.site:not(.is-home) .component-area :where(.btn, .gabi-button, button):focus-visible:not(:where(.modal *, .leaflet-container *, .g-recaptcha *)) { outline: 2px solid var(--forest); outline-offset: 3px; }
body.site #system-message-container :is(.alert, joomla-alert) { border-radius: 6px; box-shadow: none; font: inherit; line-height: 1.6; }
body.site #system-message-container :is(.alert-success, joomla-alert[type="success"]) { background: #edf5f0; border-color: #8da99a; color: #234b36; }
body.site #system-message-container :is(.alert-danger, .alert-error, joomla-alert[type="danger"]) { background: #fff2ef; border-color: #c78275; color: #8c3028; }
body.site #system-message-container :is(.alert-warning, joomla-alert[type="warning"]) { background: #fff6de; border-color: #b58a29; color: #6e5014; }
@media(prefers-reduced-motion: reduce) { body.site:not(.is-home) .component-area :where(.btn, .gabi-button, button, input, select, textarea) { transition: none; } }

.member-dashboard { width: 100%; max-width: none; color: var(--ink); }
.member-dashboard .fas::before { font-family: inherit; font-weight: 900; }
.member-dashboard__header, .member-dashboard__section-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
body.site:not(.is-home) .member-dashboard h1 { font-size: 2rem; margin: 0 0 8px; }
.member-dashboard__header p { margin: 0; color: var(--muted); }
.member-dashboard__nav { display: flex; flex-wrap: wrap; gap: 4px 28px; border-bottom: 1px solid var(--border); margin: 24px 0 0; }
.member-dashboard__nav a { display: inline-flex; align-items: center; min-height: 48px; padding: 10px 0; color: var(--forest); text-decoration: none; border-bottom: 2px solid transparent; }
.member-dashboard__nav a:is(:hover, :focus-visible) { border-bottom-color: #c58b23; }
.member-dashboard__membership { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px 40px; padding: 28px 0; border-bottom: 1px solid var(--border); }
body.site:not(.is-home) .member-dashboard h2 { font-size: 1.5rem; margin: 0 0 20px; padding: 0; border: 0; }
.member-dashboard h2 :is(.fas, small) { margin-right: 10px; }
.member-dashboard h2 small { margin-left: 8px; color: var(--muted); font-size: 1rem; font-weight: 400; }
.member-dashboard__membership > div { min-width: 0; }
.member-dashboard__membership-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 32px; margin: 0; }
.member-dashboard__membership-details > div { min-width: 0; }
.member-dashboard__membership-details dt { font-size: .875rem; color: var(--muted); }
.member-dashboard__membership-details dd { margin: 6px 0 0; color: var(--forest); font-size: 1rem; font-weight: 600; overflow-wrap: anywhere; line-height: 1.6; }
.member-dashboard__status { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; padding: 6px 10px; border-radius: 4px; font-size: .9rem; font-weight: 600; margin: 0 0 20px; }
.member-dashboard__status.is-current { background: #edf5f0; color: #234b36; }
.member-dashboard__status.is-pending { background: #fbf1dd; color: #725015; }
.member-dashboard__membership-actions { display: flex; flex-direction: column; align-items: start; justify-content: center; gap: 14px; }
.member-dashboard__section { padding: 28px 0; border-bottom: 1px solid var(--border); }
.member-dashboard__details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 40px; margin: 20px 0 0; }
.member-dashboard__details > div { min-width: 0; }
.member-dashboard__details dt { color: var(--muted); font-size: .875rem; }
.member-dashboard__details dd { margin: 6px 0 0; overflow-wrap: anywhere; line-height: 1.65; }
.member-dashboard__section:last-child { border: 0; padding-bottom: 0; }
.member-dashboard__events { margin: 0; padding: 0; list-style: none; }
.member-dashboard__events li { display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 20px 0; border-top: 1px solid var(--border); }
.member-dashboard__events time { display: grid; font-weight: 600; color: var(--forest); font-size: .95rem; }
.member-dashboard__events time small { margin-top: 6px; color: var(--muted); font-weight: 400; }
body.site:not(.is-home) .member-dashboard__events h3 { margin: 6px 0; font-size: 1.15rem; line-height: 1.5; }
.member-dashboard__events h3 a { color: var(--forest); text-decoration: none; }
.member-dashboard__events h3 a:hover { text-decoration: underline; }
.member-dashboard__events p { margin: 0; color: var(--muted); font-size: .9rem; }
.member-dashboard__category { color: var(--muted); font-size: .85rem; }
.member-dashboard__category::before { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 8px; background: var(--gabi-category-color, #1b4d3e); content: ""; }
.member-dashboard__booking-status { padding: 6px 10px; border-radius: 4px; background: #edf5f0; color: #234b36; font-size: .85rem; }
.member-dashboard__booking-status.is-cancelled { background: #fff2ef; color: #8c3028; }
.member-dashboard__pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 20px; }
.member-dashboard :is([id]) { scroll-margin-top: calc(var(--header-height, 88px) + 24px); }
@media(max-width: 700px) {
    .member-dashboard__details { grid-template-columns: minmax(0, 1fr); }
    .member-dashboard__membership { grid-template-columns: minmax(0, 1fr); }
    .member-dashboard__membership-details { grid-template-columns: minmax(0, 1fr); }
    .member-dashboard__events li { grid-template-columns: 84px minmax(0, 1fr); gap: 12px; }
    .member-dashboard__events li > :last-child { grid-column: 2; justify-self: start; }
    .member-dashboard__nav { gap: 4px 16px; }
    .article-outline nav ol { grid-template-columns: minmax(0, 1fr); }
}
body.site:not(.is-home) .component-area :where(.form-control):is(.invalid, [aria-invalid="true"]) { border-color: #a7352b; }
body.site:not(.is-home) .component-area :where(.com-users-reset, .com-users-remind, .com-users-registration, .com-users-profile, .com-users-profile__edit, .visforms, .com-content-form, .com-weblinks-edit) { max-width: 860px; margin-inline: auto; }
body.site:not(.is-home) .component-area :where(.com-users-reset, .com-users-remind, .com-users-registration) form { max-width: 620px; margin-top: 28px; }
body.site:not(.is-home) .component-area :where(.com-users-reset, .com-users-remind, .com-users-registration) fieldset { margin: 0 0 24px; padding: 0; border: 0; }
body.site:not(.is-home) .account-page-title { margin: 12px 0 24px; }
/* Account layout keeps Joomla fields, validation and multifactor dialogs intact. */
body.site:not(.is-home) .component-area .member-account { width: 100%; max-width: none; margin-inline: 0; }
.member-account .fas::before { font-family: inherit; font-weight: 900; }
.member-account__header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; padding: 8px 0 26px; border-bottom: 1px solid var(--border); }
body.site:not(.is-home) .member-account__header h1 { margin: 6px 0 0; font-size: 2rem; line-height: 1.25; }
.member-account__eyebrow { margin: 0; color: #766023; font-size: .8125rem; font-weight: 600; }
.member-account__back { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: .9375rem; text-decoration: none; }
.member-account__back:is(:hover, :focus-visible) { text-decoration: underline; }
.member-account__layout { display: grid; grid-template-columns: minmax(0, 1fr) 264px; gap: 64px; align-items: start; }
.member-account__form { min-width: 0; margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
.member-account__section { min-width: 0; margin: 26px 0 0; padding: 0 0 26px; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: none; }
.member-account__section > legend { display: flex; align-items: center; gap: 12px; float: none; width: 100%; margin: 0 0 22px; padding: 0; color: var(--forest); font-size: 1.25rem; font-weight: 600; line-height: 1.4; }
.member-account__section > legend .fas { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 6px; color: #34694f; background: #edf4ef; font-size: .95rem; }
.member-account__description { margin: 0 0 22px; color: var(--muted); font-size: .9375rem; }
.member-account__fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px 24px; }
.member-account__field { min-width: 0; }
.member-account__field.is-wide { grid-column: 1 / -1; }
.member-account__field .control-group { margin: 0; }
.member-account__field .control-label { margin-bottom: 8px; padding: 0; }
.member-account__field :is(.controls, .input-group) { min-width: 0; }
.member-account__field .password-group > .input-group { display: flex; flex-wrap: nowrap; align-items: stretch; }
.member-account__field :is(input:not([type="hidden"], [type="radio"], [type="checkbox"]), select, textarea) { width: 100%; min-width: 0; min-height: 52px; border-color: var(--field-border); background: #fcfdfc; box-shadow: none; }
.member-account__field .password-group .input-group > input { flex: 1 1 0; width: 1%; border-start-end-radius: 0; border-end-end-radius: 0; }
.member-account__field :is(input, select, textarea):focus-visible { border-color: #397558; outline: 3px solid #dbe9df; outline-offset: 1px; background: #fff; box-shadow: none; }
.member-account__field :is(input, select, textarea):is(.invalid, [aria-invalid="true"]) { border-color: #a7352b; }
.member-account__field .input-password-toggle { display: grid; place-items: center; flex: 0 0 52px; width: 52px; height: 52px; min-height: 52px; border-color: var(--field-border); border-start-start-radius: 0; border-end-start-radius: 0; border-inline-start: 0; color: var(--forest); background: #f3f6f4; }
.member-account__field .input-password-toggle :is(.icon-eye, .icon-eye-slash) { display: inline-block; width: auto; height: auto; margin: 0; border: 0; border-radius: 0; transform: none; font-size: 1rem; }
.member-account__field .input-password-toggle .icon-eye::after { display: none; content: none; }
.member-account__field .input-password-toggle :is(.icon-eye, .icon-eye-slash)::before { font-family: inherit; font-weight: inherit; }
.member-account__field :is(.form-text, .form-text small) { color: var(--muted); font-size: .875rem; line-height: 1.6; }
.member-account__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.member-account__actions .btn { display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 48px; padding: 12px 22px; border-radius: 6px; font-weight: 600; }
.member-account__actions .member-account__save { border-color: var(--forest); background: var(--forest); color: #fff; }
.member-account__actions .member-account__save:hover { background: #24644f; border-color: #24644f; }
.member-account__actions .member-account__cancel { border-color: #b6c9bc; background: #fff; color: var(--forest); }
.member-account__actions .member-account__cancel:hover { background: #edf4ef; }
.member-account__aside { min-width: 0; padding-top: 30px; }
.member-account__drawing { width: min(100%, 240px); aspect-ratio: 1; margin: 0 auto 20px; }
.member-account__drawing :is(picture, img) { display: block; width: 100%; height: 100%; object-fit: contain; }
.member-account__aside-title { margin: 0 0 10px; color: var(--forest); font-size: 1.125rem; font-weight: 600; line-height: 1.45; }
.member-account__aside-content > p:not(.member-account__aside-title) { margin: 0; color: var(--muted); font-size: .9375rem; }
.member-account__links { display: grid; gap: 4px; margin-top: 22px; padding-top: 14px; border-top: 1px solid var(--border); }
.member-account__links a { display: grid; grid-template-columns: 20px minmax(0, 1fr) 14px; align-items: center; gap: 10px; min-height: 44px; font-size: .9375rem; text-decoration: none; }
.member-account__links a:is(:hover, :focus-visible) { text-decoration: underline; }
.member-account__links a .fas:last-child { font-size: .8rem; }
@media (max-width: 899px) {
    .member-account__layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .member-account__aside { display: flex; align-items: center; gap: 20px; grid-row: 1; padding: 22px 0; border-bottom: 1px solid var(--border); }
    .member-account__drawing { flex: 0 0 96px; width: 96px; margin: 0; }
    .member-account__aside-content { min-width: 0; }
    .member-account__aside-title { margin-bottom: 4px; font-size: 1rem; }
    .member-account__links { display: flex; flex-wrap: wrap; gap: 4px 22px; margin: 8px 0 0; padding: 0; border: 0; }
    .member-account__links a { grid-template-columns: 16px minmax(0, 1fr); min-height: 32px; gap: 8px; font-size: .875rem; }
    .member-account__links a .fas:last-child { display: none; }
}
@media (max-width: 599px) {
    .member-account__header { align-items: start; gap: 12px; padding-bottom: 20px; }
    .member-account__header > div { width: 100%; }
    .member-account__fields { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .member-account__field { grid-column: 1; }
    .member-account__section { margin-top: 24px; padding-block: 0 24px; }
    .member-account__actions .btn { flex: 1 1 140px; padding-inline: 16px; }
    .member-account__aside { align-items: start; gap: 14px; }
    .member-account__drawing { flex-basis: 80px; width: 80px; }
}
@media print {
    .member-account__layout { display: block; }
    .member-account__aside, .member-account__back, .member-account__actions { display: none; }
}
body.site:not(.is-home) .visforms fieldset { padding: 24px 0; border: 0; border-top: 1px solid var(--border); border-radius: 0; background: none; }
body.site:not(.is-home) .visforms legend { padding: 0 12px 0 0; }
body.site:not(.is-home) .pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 32px 0 0; padding: 0; list-style: none; }
body.site:not(.is-home) .pagination :where(a, .page-link, span.pagenav) { display: inline-flex; justify-content: center; align-items: center; min-width: 44px; min-height: 44px; padding: 8px 12px; border: 1px solid var(--border); border-radius: 4px; background: #fff; color: #315340; }
body.site:not(.is-home) .pagination .active > .page-link { background: #1b4d3e; border-color: #1b4d3e; color: #fff; }
body.site:not(.is-home) .pagination .disabled > .page-link { color: #65766c; background: #f3f6f4; }

body.site:not(.is-home) .com-contact.contact { max-width: 1080px; margin-inline: auto; grid-template-columns: minmax(240px, 300px) minmax(0, 1fr); gap: 0 48px; }
body.site:not(.is-home) .contact > .com-contact__container { min-height: 0; padding: 12px 30px 24px 0; border: 0; border-right: 1px solid var(--border); border-radius: 0; background: none; color: var(--ink); box-shadow: none; }
body.site:not(.is-home) .contact > .com-contact__container::after { display: none; }
body.site:not(.is-home) .contact .com-contact__container :is(h2, h3) { margin: 0 0 28px; color: var(--forest); font-size: 1.75rem; line-height: 1.3; }
body.site:not(.is-home) .contact h3::after { display: none; }
body.site:not(.is-home) .contact-address dd { padding-bottom: 18px; border-bottom-color: var(--border); }
body.site:not(.is-home) .contact-address dd > span::before { color: #64776a; font-size: .75rem; }
body.site:not(.is-home) .contact-address a { color: #285b42; }
body.site:not(.is-home) .contact > :is(h1, h3) { grid-column: 2; margin: 8px 0 24px; font-size: 2.125rem; line-height: 1.3; }
body.site:not(.is-home) .contact > .com-contact__form { padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
body.site:not(.is-home) .contact-form fieldset > legend { margin-bottom: 20px; color: var(--muted); font-size: .95rem; }
body.site:not(.is-home) .contact-form .controls textarea { height: 180px; min-height: 170px; }
body.site:not(.is-home) .contact-form .control-group { margin-bottom: 18px; }

body.site:not(.is-home) .com-contact.is-modern-contact { max-width: none; grid-template-columns: minmax(230px, 290px) minmax(0, 1fr); gap: 0 48px; }
body.site:not(.is-home) .is-modern-contact > .contact-hero { grid-column: 1 / -1; }
body.site:not(.is-home) .is-modern-contact > :not(.contact-hero, .com-contact__container) { grid-column: 2; min-width: 0; }
body.site:not(.is-home) .contact-hero .page-header { position: relative; width: 100%; margin: 0; }
body.site:not(.is-home) .contact-hero h1 { margin: 0; }
body.site:not(.is-home) .is-modern-contact:not(:has(> .com-contact__container)) { grid-template-columns: minmax(0, 1fr); }
body.site:not(.is-home) .is-modern-contact:not(:has(> .com-contact__container)) > :not(.contact-hero) { grid-column: 1; }
body.site:not(.is-home) .has-fullwidth-hero .com-contact.is-modern-contact { grid-template-columns: minmax(24px, 1fr) minmax(230px, 290px) 48px minmax(0, 742px) minmax(24px, 1fr); column-gap: 0; }
body.site:not(.is-home) .has-fullwidth-hero .is-modern-contact > :not(.contact-hero, .com-contact__container) { grid-column: 4; }
body.site:not(.is-home) .has-fullwidth-hero .is-modern-contact > .com-contact__container { grid-column: 2; }
body.site:not(.is-home) .has-fullwidth-hero .is-modern-contact:not(:has(> .com-contact__container)) { grid-template-columns: minmax(24px, 1fr) minmax(0, 760px) minmax(24px, 1fr); }
body.site:not(.is-home) .has-fullwidth-hero .is-modern-contact:not(:has(> .com-contact__container)) > :not(.contact-hero) { grid-column: 2; }
body.site:not(.is-home) .is-modern-contact > .com-contact__container { grid-column: 1; grid-row: 2 / span 2; min-width: 0; min-height: 0; margin-top: 40px; padding: 0 30px 0 0; border: 0; border-right: 1px solid var(--border); border-radius: 0; background: none; color: var(--ink); box-shadow: none; }
body.site:not(.is-home) .is-modern-contact .com-contact__container::after { display: none; }
body.site:not(.is-home) .is-modern-contact .com-contact__container > h2,
body.site:not(.is-home) .is-modern-contact > h2 { margin: 0 0 26px; font-size: 1.5rem; line-height: 1.35; }
body.site:not(.is-home) .is-modern-contact > h2 { padding-top: 40px; }
body.site:not(.is-home) .is-modern-contact .contact-address { gap: 0; }
body.site:not(.is-home) .is-modern-contact .contact-address dt { display: block; position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
body.site:not(.is-home) .is-modern-contact .contact-address dd { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: start; gap: 12px; padding: 20px 0; border-bottom: 1px solid var(--border); font-size: .95rem; }
body.site:not(.is-home) .is-modern-contact .contact-address dd:first-of-type { padding-top: 0; }
body.site:not(.is-home) .is-modern-contact .contact-address dd:last-of-type { border-bottom: 0; padding-bottom: 0; }
body.site:not(.is-home) .is-modern-contact .contact-address dd > span:not(.contact-detail-icon)::before { display: block; width: auto; margin: 0 0 5px; color: #607267; font-size: .72rem; font-weight: 600; }
body.site:not(.is-home) .is-modern-contact .contact-detail-icon { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; margin-top: 3px; border-radius: 6px; background: #edf4ef; color: #34694f; font-size: .95rem; }
body.site:not(.is-home) .is-modern-contact .contact-detail-icon::before { display: inline; margin: 0; color: inherit; font-size: inherit; }
body.site:not(.is-home) .is-modern-contact .fas::before { font-family: inherit; font-weight: inherit; }
body.site:not(.is-home) .is-modern-contact .contact-address a:is(:hover, :focus-visible) { color: #123c2e; text-decoration: underline; text-underline-offset: 4px; }
body.site:not(.is-home) .is-modern-contact > .com-contact__form { padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
body.site:not(.is-home) .is-modern-contact #contact-form fieldset { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 22px; }
body.site:not(.is-home) .is-modern-contact #contact-form fieldset > :is(.control-group, legend) { grid-column: 1 / -1; min-width: 0; }
body.site:not(.is-home) .is-modern-contact #contact-form fieldset:has(#jform_contact_name):has(#jform_contact_email) > .control-group:has(:is(#jform_contact_name, #jform_contact_email)) { grid-column: auto; }
body.site:not(.is-home) .is-modern-contact #contact-form .field-spacer { margin-bottom: 16px; font-size: .8rem; }
body.site:not(.is-home) .is-modern-contact #contact-form .control-label { margin-bottom: 7px; }
body.site:not(.is-home) .is-modern-contact #contact-form .controls { min-width: 0; }
body.site:not(.is-home) .is-modern-contact #contact-form .controls :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), textarea, select) { border-color: #b9cec1; background: #fcfdfc; box-shadow: none; }
body.site:not(.is-home) .is-modern-contact #contact-form .controls :is(input, textarea, select):focus-visible { border-color: #397558; outline: 3px solid #dbe9df; outline-offset: 1px; background: #fff; box-shadow: none; }
body.site:not(.is-home) .is-modern-contact #contact-form .controls :is(.invalid, [aria-invalid="true"]) { border-color: #a7352b; }
body.site:not(.is-home) .is-modern-contact #contact-form .control-group:has(#jform_contact_email_copy) { display: flex; flex-direction: row-reverse; align-items: center; justify-content: flex-end; gap: 10px; }
body.site:not(.is-home) .is-modern-contact #contact-form .control-group:has(#jform_contact_email_copy) :is(.control-label, label) { margin: 0; }
body.site:not(.is-home) .is-modern-contact #contact-form .control-group:has(#jform_contact_email_copy) .form-check { display: flex; padding: 0; margin: 0; }
body.site:not(.is-home) .is-modern-contact #contact-form #jform_contact_email_copy { margin: 0; }
body.site:not(.is-home) .is-modern-contact #contact-form .control-group:has(#jform_captcha) { overflow: visible; }
body.site:not(.is-home) .is-modern-contact #contact-form .control-group:last-child { margin-bottom: 0; }

body.site:not(.is-home) .com-users-login.login { display: block; max-width: 540px; margin: 0 auto; overflow: visible; border: 0; border-radius: 0; background: none; box-shadow: none; }
body.site:not(.is-home) .login-panel { padding: 12px 0 24px; }
body.site:not(.is-home) .login-panel__heading { margin-bottom: 28px; }
body.site:not(.is-home) .login-panel__heading h1 { margin: 8px 0 0; font-size: 2.625rem; }
body.site:not(.is-home) .login-kicker { color: #64776a; font-size: .78rem; letter-spacing: 0; }
body.site:not(.is-home) .login-panel .input-group input { padding-right: 58px; }
body.site:not(.is-home) .login-panel .input-password-toggle { min-height: 48px; height: 48px; border-color: var(--field-border); color: #315b45; }
body.site:not(.is-home) .login-panel .com-users-login__options a { color: #31644c; text-decoration: underline; }
body.site:not(.is-home) .site-main:has(.is-modern-login) { display: flex; flex-direction: column; }
body.site:not(.is-home) .site-main:has(.is-modern-login) > .content-layout:not(.has-left, .has-right) { flex: 1 0 auto; align-content: center; padding-block: 32px 48px; }
body.site:not(.is-home) .com-users-login.is-modern-login { max-width: 480px; padding: 20px 0; }
body.site:not(.is-home) .is-modern-login.has-login-illustration { display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 460px); column-gap: 64px; max-width: 844px; }
body.site:not(.is-home) .has-login-illustration > :not(.login-illustration) { grid-column: 2; min-width: 0; }
body.site:not(.is-home) .has-login-illustration > .login-illustration { grid-column: 1; grid-row: 1 / span 3; align-self: center; justify-self: center; width: min(100%, 300px); aspect-ratio: 1; }
body.site:not(.is-home) .login-illustration :is(picture, img) { display: block; width: 100%; height: 100%; object-fit: contain; }
body.site:not(.is-home) .is-modern-login .login-panel__heading { margin: 0 0 28px; padding: 0; border: 0; }
body.site:not(.is-home) .is-modern-login .login-panel__heading h1 { margin: 6px 0 12px; font-size: 2rem; line-height: 1.25; overflow-wrap: anywhere; }
body.site:not(.is-home) .is-modern-login .login-kicker { margin: 0; color: #766023; font-size: .8125rem; font-weight: 600; }
body.site:not(.is-home) .is-modern-login .login-greeting { margin: 0; color: var(--muted); font-size: 1rem; }
body.site:not(.is-home) .is-modern-login .com-users-login__description { margin: 0 0 24px; }
body.site:not(.is-home) .is-modern-login input:not([type="checkbox"], [type="hidden"], [type="radio"]) { min-width: 0; min-height: 52px; border-color: var(--field-border); background: #fcfdfc; }
body.site:not(.is-home) .is-modern-login input:focus-visible { border-color: #397558; outline: 3px solid #dbe9df; outline-offset: 1px; background: #fff; box-shadow: none; }
body.site:not(.is-home) .is-modern-login input:is(.invalid, [aria-invalid="true"]) { border-color: #a7352b; }
body.site:not(.is-home) .is-modern-login .input-password-toggle { min-width: 52px; height: 52px; min-height: 52px; color: var(--forest); background: #f3f6f4; }
body.site:not(.is-home) .is-modern-login .input-password-toggle :is(.icon-eye, .icon-eye-slash) { display: inline-block; width: auto; height: auto; margin: 0; border: 0; border-radius: 0; transform: none; font-size: 1rem; line-height: 1; }
body.site:not(.is-home) .is-modern-login .input-password-toggle .icon-eye::after { display: none; content: none; }
body.site:not(.is-home) .is-modern-login :is(.fas, .icon-eye, .icon-eye-slash)::before { font-family: inherit; font-weight: inherit; }
body.site:not(.is-home) .is-modern-login button[type="submit"] { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; }
body.site:not(.is-home) .is-modern-login .com-users-login__options { margin-top: 24px; padding-top: 20px; font-size: .9375rem; }
body.site:not(.is-home) .is-modern-login .com-users-login__options a { display: inline-flex; align-items: center; min-height: 32px; text-underline-offset: 4px; }
@media (max-width: 899px) {
    body.site:not(.is-home) .is-modern-login.has-login-illustration { grid-template-columns: minmax(0, 1fr) 104px; column-gap: 18px; max-width: 480px; }
    body.site:not(.is-home) .has-login-illustration > :not(.login-illustration) { grid-column: 1 / -1; }
    body.site:not(.is-home) .has-login-illustration > .login-panel__heading { grid-column: 1; }
    body.site:not(.is-home) .has-login-illustration > .login-illustration { grid-column: 2; grid-row: 1; width: 104px; margin-bottom: 28px; }
    body.site:not(.is-home) .is-modern-login .login-panel__heading h1 { font-size: 1.75rem; }
    body.site:not(.is-home) .site-main:has(.is-modern-login) > .content-layout:not(.has-left, .has-right) { padding-block: 24px 36px; }
}
@media print {
    body.site:not(.is-home) .com-users-login.is-modern-login { display: block; }
    body.site:not(.is-home) .is-modern-login > .login-illustration { display: none; }
    body.site:not(.is-home) .site-main:has(.is-modern-login) { display: block; }
}

body.site:not(.is-home) .ti-page { --ti-paper: #fff; --ti-mist: #f3f6f4; --ti-line: #dce3df; --ti-leaf: #1b4d3e; --ti-leaf-dark: #1b4d3e; --ti-ink: #202b29; margin: 0; padding: 0; color: var(--ink); }
body.site:not(.is-home) .ti-intro { min-height: 0; padding: 12px 0 28px; border-bottom: 1px solid var(--border); background: none; gap: 36px; }
body.site:not(.is-home) .ti-intro::after { display: none; }
body.site:not(.is-home) .ti-intro h1 { margin: 12px 0 18px; font-family: var(--font); font-size: 2.625rem; font-weight: 600; line-height: 1.2; }
body.site:not(.is-home) .ti-intro__copy p { font-size: 1.0625rem; color: var(--muted); }
body.site:not(.is-home) .ti-intro__aside { border-left-color: #ce9b29; }
body.site:not(.is-home) .ti-intro__aside strong { font-family: var(--font); font-size: 1.1rem; }
body.site:not(.is-home) .ti-intro__aside span { color: var(--muted); font-size: .92rem; }
body.site:not(.is-home) .ti-eyebrow { color: #756020; letter-spacing: 0; font-weight: 600; }
body.site:not(.is-home) .ti-form { gap: 48px; grid-template-columns: minmax(0, 1fr) 320px; margin-top: 32px; }
body.site:not(.is-home) .ti-form__body { gap: 32px; }
body.site:not(.is-home) .ti-section { padding: 0 0 28px; border: 0; border-bottom: 1px solid var(--border); background: none; }
body.site:not(.is-home) .ti-section__heading { margin-bottom: 24px; gap: 14px; }
body.site:not(.is-home) .ti-section__heading > span { flex-basis: 36px; height: 36px; border-radius: 4px; background: #edf3ef; color: #315340; }
body.site:not(.is-home) .ti-section h2 { font-family: var(--font); font-size: 1.5rem; font-weight: 600; }
body.site:not(.is-home) .ti-section__heading p { color: var(--muted); font-size: .88rem; }
body.site:not(.is-home) .ti-choice { display: flex; flex-wrap: wrap; gap: 12px 24px; }
body.site:not(.is-home) .ti-choice label { min-height: 44px; margin: 0; }
body.site:not(.is-home) .ti-apiary { border-left-color: #9bb9a7; border-radius: 4px; }
body.site:not(.is-home) .ti-apiary > strong { font-family: var(--font); font-size: 1.05rem; }
body.site:not(.is-home) .ti-insurances > label { border-radius: 6px; }
body.site:not(.is-home) .ti-insurances > label:has(input:checked) { background: #edf4ef; border-color: #6b997d; }
body.site:not(.is-home) .ti-summary { top: calc(var(--header-height, 88px) + 24px); padding: 26px; border: 1px solid var(--border); border-radius: 6px; background: #f3f6f4; color: var(--ink); }
body.site:not(.is-home) .ti-summary h2 { margin: 8px 0 20px; font-family: var(--font); font-size: 1.5rem; color: var(--forest); }
body.site:not(.is-home) .ti-summary__eyebrow { color: #64776a; letter-spacing: 0; }
body.site:not(.is-home) .ti-summary dl div { border-bottom-color: #d4dfd8; }
body.site:not(.is-home) .ti-summary dt, body.site:not(.is-home) .ti-summary :is(p, small) { color: #52665a; }
body.site:not(.is-home) .ti-summary__total strong { color: var(--forest); font-family: var(--font); font-size: 2rem; }
body.site:not(.is-home) .ti-summary button[type="submit"] { display: flex; width: 100%; border-color: #cc961f; background: #f4cb68; color: #202b29; }
body.site:not(.is-home) .ti-summary button[type="submit"]:hover { background: #edbe4f; color: #202b29; }
body.site:not(.is-home) .tn-subscribe { max-width: 980px; margin: 12px auto 24px; gap: 48px; border: 0; border-radius: 0; background: none; box-shadow: none; }
body.site:not(.is-home) .tn-subscribe-copy { padding: 0; background: none; color: var(--ink); }
body.site:not(.is-home) .tn-subscribe-copy h1 { margin: 12px 0 20px; color: var(--forest); font-size: 2.625rem; }
body.site:not(.is-home) .tn-subscribe-copy p { color: var(--muted); }
body.site:not(.is-home) .tn-subscribe-copy > span { color: #756020; }
body.site:not(.is-home) .tn-subscribe form { padding: 0; }

body.site:not(.is-home) :is(.gabi-agenda__header, [class$="-agenda__header"]) { align-items: center; margin-bottom: 24px; padding: 12px 0 28px; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; }
body.site:not(.is-home) :is(.gabi-agenda__eyebrow, [class$="-agenda__eyebrow"]) { color: #64776a; font-weight: 600; letter-spacing: 0; }
body.site:not(.is-home) :is(.gabi-agenda__header, [class$="-agenda__header"]) h1 { margin: 10px 0 16px; font-size: 2.625rem; }
body.site:not(.is-home) .gabi-agenda__header .interior-hero__content { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 32px; width: 100%; min-width: 0; }
body.site:not(.is-home) .gabi-agenda__header .interior-hero__content { flex-wrap: wrap; }
body.site:not(.is-home) .gabi-agenda__header .interior-hero__content > :first-child { flex: 1 1 360px; }
body.site:not(.is-home) :is(.gabi-agenda__actions, .member-account__header, .member-dashboard__header) > a { min-width: 0; max-width: 100%; overflow-wrap: anywhere; white-space: normal; }
body.site:not(.is-home) .gabi-agenda__header .interior-hero__content > :first-child { min-width: 0; }
body.site:not(.is-home) .gabi-agenda.has-editorial-visual .gabi-agenda__header :is(h1, p, .gabi-agenda__eyebrow) { color: #fff; }
body.site:not(.is-home) .gabi-agenda.has-editorial-visual .gabi-agenda__propose { border-color: #cc961f; background: #f4cb68; color: #202b29; }
body.site:not(.is-home) .gabi-agenda.has-editorial-visual .gabi-agenda__propose:hover { background: #edbe4f; }
body.site:not(.is-home) .has-fullwidth-hero .gabi-agenda.has-editorial-visual > :not(.interior-hero, script, style),
body.site:not(.is-home) .has-fullwidth-hero .gabi-agenda.has-editorial-visual .interior-hero__content { width: min(calc(100% - 48px), var(--content)); margin-inline: auto; }
body.site:not(.is-home) [data-event-category] { min-width: min(270px, 100%); }
body.site:not(.is-home) [data-event-item]:is(article) { min-width: 0; gap: 20px; padding: 20px; border-color: var(--border); border-radius: 6px; box-shadow: none; transform: none; transition: background-color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease; }
body.site:not(.is-home) [data-event-item]:is(article):focus-within { background: #f8faf9; border-color: #8da99a; box-shadow: 0 8px 20px -6px rgba(27, 77, 62, .14); }
body.site:not(.is-home) [data-event-item] h2 a:focus-visible { outline: 2px solid var(--forest); outline-offset: 4px; border-radius: 2px; }
body.site:not(.is-home) [data-event-item]:is(article):not(:has(img)) { grid-template-columns: 80px minmax(0, 1fr) auto; }
body.site:not(.is-home) [data-event-item] :is(.gabi-event-card__media, [class$="-event-card__media"]):not(:has(img)) { display: none; }
body.site:not(.is-home) [data-event-item] :is(.gabi-event-card__date, [class$="-event-card__date"]) { min-height: 80px; border: 0; border-radius: 4px; padding: 10px; background: #edf3ef; transition: background-color .22s ease; }
body.site:not(.is-home) [data-event-item]:is(article):focus-within :is(.gabi-event-card__date, [class$="-event-card__date"]) { background: #f9edcf; }
body.site:not(.is-home) [data-event-item] :is(.gabi-event-card__date, [class$="-event-card__date"]) strong { color: var(--forest); font-size: 1.85rem; }
body.site:not(.is-home) [data-event-item] :is(.gabi-event-card__meta, [class$="-event-card__meta"]) { flex-wrap: wrap; }
body.site:not(.is-home) [data-event-item] :is(.gabi-event-card__meta, [class$="-event-card__meta"]) > span { padding: 3px 8px; border-radius: 3px; background: #edf3ef; color: #315b45; font-size: .72rem; letter-spacing: 0; }
body.site:not(.is-home) [data-event-item] h2 { margin: 10px 0 8px; font-size: 1.2rem; line-height: 1.4; }
body.site:not(.is-home) [data-event-item] p { margin: 0 0 10px; color: var(--muted); font-size: .95rem; }
body.site:not(.is-home) [data-event-item] :is(.gabi-event-card__media, [class$="-event-card__media"]) img { object-fit: contain; }
body.site:not(.is-home) :is(.gabi-event__header, [class$="-event__header"]) { gap: 36px; margin-top: 24px; }
body.site:not(.is-home) :is(.gabi-event__header, [class$="-event__header"]) h1 { font-size: 2.625rem; }
body.site:not(.is-home) :is(.gabi-event__header, [class$="-event__header"]) img { object-fit: contain; }
body.site:not(.is-home) :is(.gabi-event__facts, [class$="-event__facts"]) { border-left: 0; border-block: 1px solid var(--border); background: #f3f6f4; }
body.site:not(.is-home) :is(.gabi-event__information, [class$="-event__information"]) { border: 0; border-top: 1px solid var(--border); background: #fff; }
body.site:not(.is-home) :is(.gabi-event__information, [class$="-event__information"]) > div { background: #fff; }
body.site:not(.is-home) :is(.gabi-event__information, [class$="-event__information"]) h2 { font-size: 1rem; line-height: 1.5; }
body.site:not(.is-home) :is(.gabi-calendar, [class$="-calendar"]) > header h2 { font-size: 1.25rem; line-height: 1.4; }
body.site:not(.is-home) [data-agenda-calendar] :is([data-calendar-grid] a, [data-calendar-mobile-events] > a),
body.site:not(.is-home) [data-calendar-fallback] li { transition: background-color .22s ease, color .22s ease, box-shadow .22s ease, transform .22s ease; }
body.site:not(.is-home) [data-agenda-calendar] :is([data-calendar-grid] a, [data-calendar-mobile-events] > a):focus-visible { background: #d9eade; color: var(--forest); outline: 2px solid var(--forest); outline-offset: 2px; }
body.site:not(.is-home) [data-calendar-fallback] li:focus-within { background: #f1f6f2; }
body.site:not(.is-home) [data-calendar-fallback] a:focus-visible { outline: 2px solid var(--forest); outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) {
    body.site:not(.is-home) [data-event-item]:is(article):hover { background: #f8faf9; border-color: #8da99a; box-shadow: 0 8px 20px -6px rgba(27, 77, 62, .14); transform: translateY(-3px); }
    body.site:not(.is-home) [data-event-item]:is(article):hover :is(.gabi-event-card__date, [class$="-event-card__date"]) { background: #f9edcf; }
    body.site:not(.is-home) [data-event-item]:is(article):hover h2 a { color: var(--forest); text-decoration: underline; text-underline-offset: 3px; }
    body.site:not(.is-home) [data-agenda-calendar] :is([data-calendar-grid] a, [data-calendar-mobile-events] > a):hover { background: #d9eade; color: var(--forest); box-shadow: 0 3px 10px rgba(27, 77, 62, .12); transform: translateY(-1px); }
    body.site:not(.is-home) [data-calendar-fallback] li:hover { background: #f1f6f2; }
}
@media (prefers-reduced-motion: reduce) {
    body.site:not(.is-home) [data-event-item]:is(article),
    body.site:not(.is-home) [data-event-item] :is(.gabi-event-card__date, [class$="-event-card__date"]),
    body.site:not(.is-home) [data-agenda-calendar] :is([data-calendar-grid] a, [data-calendar-mobile-events] > a),
    body.site:not(.is-home) [data-calendar-fallback] li { transition: none; }
    body.site:not(.is-home) [data-event-item]:is(article):hover,
    body.site:not(.is-home) [data-agenda-calendar] :is([data-calendar-grid] a, [data-calendar-mobile-events] > a):hover { transform: none; }
}
body.site:not(.is-home) .ic-event-list, body.site:not(.is-home) #icagenda { padding: 24px 0; border: 0; border-radius: 0; background: none; }
body.site:not(.is-home) .tm-map-block { margin: 32px 0; border: 1px solid var(--border); border-radius: 6px; background: #fff; }
body.site:not(.is-home) .tm-map-block > header { padding: 20px 24px; border-bottom: 1px solid var(--border); }
body.site:not(.is-home) .tm-map-block > header > span { color: #64776a; font-weight: 600; letter-spacing: 0; }
body.site:not(.is-home) .tm-map-block > header h2 { margin: 6px 0; font-family: var(--font); font-size: 1.5rem; font-weight: 600; }
body.site:not(.is-home) .tm-map-help { background: #f3f6f4; color: var(--muted); font-size: .875rem; line-height: 1.6; }
body.site:is(.page-role-swarm,.page-role-mentors) .item-page { max-width: 100%; }
body.site:is(.page-role-swarm,.page-role-mentors) .com-content-article__body { max-width: none; }
body.site:is(.page-role-swarm,.page-role-mentors) .com-content-article__body > p { max-width: 100%; }
.swarm-directory, #gabi-carte-cueilleurs { scroll-margin-top: calc(var(--header-height, 88px) + 20px); }
.swarm-directory { padding: 0 0 32px; margin-bottom: 32px; border-bottom: 1px solid var(--border); }
.swarm-directory__heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px 24px; }
body.site:is(.page-role-swarm,.page-role-mentors) .swarm-directory h2 { margin: 0 0 16px; font-size: 1.4rem; line-height: 1.4; }
.swarm-directory__search { display: grid; gap: 8px; max-width: 540px; margin: 16px 0 24px; }
.swarm-directory__search input, .swarm-directory__search select { width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid #819c8c; border-radius: 4px; background: #fff; color: var(--ink); font: inherit; }
body.site:is(.page-role-swarm,.page-role-mentors) ul.swarm-directory__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; padding: 0; margin: 0 0 20px; list-style: none; }
.swarm-directory__contact { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 20px; padding: 16px 0; border-top: 1px solid var(--border); min-width: 0; }
.swarm-directory__name { display: block; font-weight: 600; color: var(--forest); overflow-wrap: anywhere; }
.swarm-directory__address { display: block; font-size: .9rem; color: var(--muted); overflow-wrap: anywhere; }
.swarm-directory__contact > div { min-width: 0; }
.swarm-directory__contact .swarm-directory__address { margin: 4px 0 0; }
.swarm-directory__phones { display: flex; flex-wrap: wrap; gap: 8px; }
.swarm-directory__phone .fas::before { font-family: inherit; }
body.site:is(.page-role-swarm,.page-role-mentors) a.swarm-directory__phone { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 8px 12px; border: 1px solid #a6beb0; border-radius: 4px; color: #1b4d3e; font-size: .95rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
body.site:is(.page-role-swarm,.page-role-mentors) a.swarm-directory__phone:hover { background: #edf4ef; border-color: #1b4d3e; }
.swarm-directory__status { font-size: .9rem; color: var(--muted); }
.swarm-directory__more { min-height: 44px; }
body.site:not(.is-home) .interior-hero__art picture { display: block; width: 100%; height: 100%; }
body.site:not(.is-home) .article-ornament picture { display: block; flex: 0 0 170px; width: 170px; height: 170px; }
body.site:not(.is-home) .blog .item-image picture { display: block; width: 100%; height: 100%; }
body.site:not(.is-home) .blog .item-image img.card-image--cover { object-fit: cover; }
@media (max-width: 599px) {
    body.site:is(.page-role-swarm,.page-role-mentors) ul.swarm-directory__list { grid-template-columns: minmax(0, 1fr); }
    body.site:not(.is-home) .article-ornament picture { flex-basis: 140px; width: 140px; height: 140px; }
}
body.site:not(.is-home) .com-weblinks-category h1 { margin: 12px 0 28px; font-size: 2.625rem; }
body.site:not(.is-home) .com-weblinks-category h1::after { display: none; }
body.site:not(.is-home) .com-weblinks-category .category.list-unstyled { max-width: 980px; border-top: 1px solid var(--border); }
body.site:not(.is-home) .com-weblinks-category .list-group { margin: 0; padding: 22px 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: none; }
body.site:not(.is-home) .com-weblinks-category .list-title { padding: 0; border: 0; background: none; font-size: 1.15rem; }
body.site:not(.is-home) .com-weblinks-category .list-title a { font-weight: 500; }
body.site:not(.is-home) .com-weblinks-category .list-group p { margin: 10px 0 0; color: var(--muted); }
body.site:not(.is-home) .friend-sites { max-width: 1120px; margin: 12px auto 48px; }
body.site:not(.is-home) .friend-sites h1 { max-width: none; margin: 0 0 28px; padding: 0 0 24px; border-bottom: 1px solid var(--border); }
body.site:not(.is-home) .friend-sites.item-page.has-editorial-visual { margin-top: 0; }
body.site:not(.is-home) .friend-sites .interior-hero .page-header h1 { margin: 0; padding: 0; border-bottom: 0; }
.friend-sites .category-desc:empty { display: none; }
.friend-site-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
.friend-site { position: relative; min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--border); border-radius: 6px; background: #fff; transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease; }
body.site:not(.is-home) .friend-site__heading { display: flex; flex: 1; margin: 0; font-size: 1.15rem; font-weight: 600; line-height: 1.45; }
body.site:not(.is-home) .friend-site__link { display: flex; flex: 1; flex-direction: column; gap: 20px; min-width: 0; width: 100%; padding: 24px; border: 0; border-radius: 6px; background: transparent; color: var(--forest); font: inherit; text-align: left; text-decoration: none; }
button.friend-site__link { cursor: pointer; }
.friend-site__visual { display: flex; align-items: center; justify-content: center; width: 100%; height: 72px; padding: 10px; border-radius: 6px; background: #f8faf9; }
.friend-site__visual picture { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.friend-site__visual img { width: auto; height: auto; max-width: min(180px, 100%); max-height: 100%; object-fit: contain; }
.friend-sites .friend-site__placeholder { display: grid; place-items: center; width: 64px; height: 64px; border: 1px solid #e1e8e3; border-radius: 6px; background: #f3f6f4; color: #8a641d; font-size: 28px; }
.friend-sites .fas::before { font-family: inherit; }
.friend-site__name { flex: 1; min-height: 2.9em; overflow-wrap: anywhere; text-wrap: pretty; }
.friend-site__domain { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-width: 0; padding-top: 16px; border-top: 1px solid var(--border); color: var(--muted); font-size: .85rem; font-weight: 400; line-height: 1.5; }
.friend-site__domain > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.friend-site__domain .fas { flex: 0 0 auto; color: #8a641d; font-size: .9rem; }
.friend-site__description, .friend-site__details { padding: 0 24px 20px; color: var(--muted); font-size: .95rem; overflow-wrap: anywhere; }
.friend-site__description > :last-child { margin-bottom: 0; }
.friend-site__edit, .friend-site__status { position: relative; margin: 12px 12px 0; align-self: flex-end; }
.friend-sites__filter { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 24px; }
.friend-sites__filter input { flex: 1 1 240px; min-width: 0; }
.friend-sites__limit { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
.friend-site:focus-within { border-color: #8da99a; box-shadow: 0 8px 20px -6px rgba(27, 77, 62, .12); }
body.site:not(.is-home) .friend-site__link:focus-visible { outline: 3px solid #286345; outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) {
    .friend-site:hover { border-color: #8da99a; box-shadow: 0 8px 20px -6px rgba(27, 77, 62, .12); transform: translateY(-3px); }
    .friend-site__link:hover .friend-site__name { text-decoration: underline; text-underline-offset: 3px; }
}
@media (max-width: 999px) {
    .friend-site-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 599px) {
    .friend-site-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    body.site:not(.is-home) .friend-site__link { gap: 16px; padding: 20px; }
    .friend-site__description, .friend-site__details { padding-inline: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    .friend-site { transition: none; }
    .friend-site:hover { transform: none; }
}

body.utility-page { background: #fff; color: var(--ink); }
.utility-page .error-page { display: block; width: min(calc(100% - 48px), 700px); min-height: 80svh; margin: 0 auto; padding: 64px 0; text-align: left; }
.utility-logo { display: inline-block; margin-bottom: 48px; }
.utility-logo img { width: 108px; height: 92px; object-fit: contain; }
.utility-page .offline-access { margin-top: 32px; max-width: 480px; padding-top: 24px; border-top: 1px solid #d3e0d7; }
.utility-page .offline-access h2 { font-size: 1.375rem; color: var(--forest); }
.utility-page .offline-access p { color: var(--muted); line-height: 1.6; }
.utility-page .offline-access__form { display: grid; gap: 18px; margin-top: 24px; }
.utility-page .offline-access__form label { display: block; margin-bottom: 8px; font-weight: 600; }
.utility-page .offline-access__form input:not([type="hidden"]) { box-sizing: border-box; width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid #829b8c; border-radius: 6px; background: #fff; color: #233c33; font: inherit; }
.utility-page .offline-access__form button { min-height: 48px; padding: 12px 18px; border-radius: 6px; background: #1b4d3e; color: #fff; }
.utility-page .offline-access__form button:hover { background: #133c2e; }
.utility-page .offline-access :is(a,button,input):focus-visible { outline: 3px solid #8b5d12; outline-offset: 4px; }
.utility-page .offline-access__admin { margin-top: 24px; }
.utility-page .offline-access__admin a { color: #1b4d3e; text-decoration: underline; text-underline-offset: 3px; }
.utility-page .error-code { margin: 0 0 10px; color: #64776a; font-size: 1rem; font-weight: 500; }
.utility-page .error-page h1 { margin: 0 0 20px; font-size: 2.625rem; line-height: 1.2; color: var(--forest); }
.utility-page .error-page > p:not(.error-code) { max-width: 60ch; margin: 0 0 28px; color: var(--muted); }

@media (max-width: 1000px) {
    body.site:not(.is-home) .ti-form { grid-template-columns: 1fr; }
    body.site:not(.is-home) .ti-summary { position: static; max-width: 620px; }
}
@media (max-width: 899px) {
    .page-breadcrumbs { width: calc(100% - 40px); padding-top: 18px; }
    body.site:not(.is-home) .content-layout { width: calc(100% - 40px); padding-top: 16px; padding-bottom: 40px; }
    body.site:not(.is-home) .component-area :where(h1), body.site:not(.is-home) .interior-hero .page-header :is(h1, h2), body.site:not(.is-home) .blog > .page-header h1, body.site:not(.is-home) .ti-intro h1, body.site:not(.is-home) :is(.gabi-agenda__header, [class$="-agenda__header"]) h1, body.site:not(.is-home) :is(.gabi-event__header, [class$="-event__header"]) h1, body.site:not(.is-home) .com-weblinks-category h1, body.site:not(.is-home) .tn-subscribe-copy h1 { font-size: 2rem; line-height: 1.25; }
    body.site:not(.is-home) .interior-hero { padding: 8px 0 24px; }
    body.site:not(.is-home) .gabi-agenda__header .interior-hero__content { flex-direction: column; align-items: stretch; gap: 24px; }
    body.site:not(.is-home) .gabi-agenda__header .interior-hero__content > :first-child { flex-basis: auto; }
    body.site:not(.is-home) .gabi-agenda__header .gabi-agenda__actions { width: 100%; }
    body.site:not(.is-home) .com-content-article__body { padding-top: 26px; font-size: 1rem; line-height: 1.75; }
    body.site:not(.is-home) .com-content-article__body img[style*="float"] { float: none !important; margin: 20px 0 !important; }
    body.site:not(.is-home) .blog .items-leading .blog-item { grid-template-columns: 1fr; }
    body.site:not(.is-home) .blog .items-leading .blog-item .item-image { height: auto; aspect-ratio: 16 / 10; }
    body.site:not(.is-home) .blog .items-leading .blog-item .item-content { min-height: 0; padding: 24px; }
    body.site:not(.is-home) .blog .blog-item .item-content { min-height: 0; padding: 22px; }
    body.site:not(.is-home) .com-contact.contact { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    body.site:not(.is-home) .contact > .com-contact__container { padding: 8px 0 24px; border-right: 0; border-bottom: 1px solid var(--border); }
    body.site:not(.is-home) .contact .com-contact__container :is(h2, h3) { margin-bottom: 10px; font-size: 1.1rem; }
    body.site:not(.is-home) .contact-address { gap: 0; }
    body.site:not(.is-home) .contact-address dd { padding-block: 8px; border: 0; font-size: .95rem; }
    body.site:not(.is-home) .contact-address dd > span::before { display: inline-block; width: 76px; margin: 0 8px 0 0; font-size: .7rem; }
    body.site:not(.is-home) .contact > :is(h1, h3) { grid-column: 1; margin: 4px 0 0; font-size: 1.75rem; }
    body.site:not(.is-home) .com-contact.is-modern-contact { grid-template-columns: minmax(0, 1fr); column-gap: 0; }
    body.site:not(.is-home) .is-modern-contact > :not(.contact-hero) { grid-column: 1; }
    body.site:not(.is-home) .has-fullwidth-hero .com-contact.is-modern-contact,
    body.site:not(.is-home) .has-fullwidth-hero .is-modern-contact:not(:has(> .com-contact__container)) { grid-template-columns: 20px minmax(0, 1fr) 20px; }
    body.site:not(.is-home) .has-fullwidth-hero .is-modern-contact > :not(.contact-hero) { grid-column: 2; }
    body.site:not(.is-home) .is-modern-contact > .com-contact__container { grid-row: auto; margin-top: 32px; padding: 0 0 24px; border-right: 0; border-bottom: 1px solid var(--border); }
    body.site:not(.is-home) .is-modern-contact .contact-address { grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 22px; }
    body.site:not(.is-home) .is-modern-contact .contact-address dd { padding: 0; border: 0; }
    body.site:not(.is-home) .is-modern-contact .com-contact__container > h2,
    body.site:not(.is-home) .is-modern-contact > h2 { margin-bottom: 22px; font-size: 1.375rem; }
    body.site:not(.is-home) .is-modern-contact > h2 { padding-top: 32px; }
    body.site:not(.is-home) .login-panel__heading h1 { font-size: 2rem; }
    body.site:not(.is-home) .ti-intro { gap: 24px; }
    body.site:not(.is-home) .ti-intro__aside { margin: 0; }
    body.site:not(.is-home) [data-event-item]:is(article) { padding: 18px; gap: 16px; }
    body.site:not(.is-home) [data-event-item]:is(article), body.site:not(.is-home) [data-event-item]:is(article):not(:has(img)) { grid-template-columns: 64px minmax(0, 1fr); }
    body.site:not(.is-home) [data-event-item] :is(.gabi-event-card__media, [class$="-event-card__media"]) { grid-column: 1 / -1; width: 100%; height: auto; }
    body.site:not(.is-home) [data-event-item] :is(.gabi-event-card__media, [class$="-event-card__media"]) img { max-height: 260px; aspect-ratio: 16 / 9; }
    body.site:not(.is-home) [data-event-item] > :is(.gabi-button, [class$="-button"]) { grid-column: 2; justify-self: start; max-width: 100%; }
    body.site:not(.is-home) .tn-subscribe { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 599px) {
    body.site:not(.is-home) .component-area .article-ornament { gap: 20px; margin-top: 20px; }
    body.site:not(.is-home) .component-area .article-ornament img { flex-basis: 140px; width: 140px; height: 140px; }
    body.site:not(.is-home) .ti-intro { grid-template-columns: minmax(0, 1fr); }
    body.site:not(.is-home) .ti-fields, body.site:not(.is-home) .ti-apiaries { grid-template-columns: minmax(0, 1fr); }
    body.site:not(.is-home) .ti-summary { max-width: 100%; padding: 22px; }
    body.site:not(.is-home) .ti-summary button[type="submit"] { padding-inline: 12px; }
    body.site:not(.is-home) .tm-map-block > header { padding: 18px; }
    .utility-page .error-page { padding-top: 32px; }
    .utility-logo { margin-bottom: 32px; }
    .utility-page .error-page h1 { font-size: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
    body.site:not(.is-home) .blog .blog-item { transition: none; }
}
@media (max-width: 999px) {
    .editorial-layout { grid-template-columns: minmax(0, 1fr); gap: 26px; padding-top: 26px; }
    .article-outline { position: static; grid-column: 1; grid-row: 1; max-height: none; padding: 0; overflow: visible; border-left: 0; border-block: 1px solid #dce3df; }
    .article-outline summary { padding: 14px 0; }
    .article-outline nav { padding-bottom: 12px; }
    body.site:not(.is-home) .is-text-dominant .editorial-layout > .com-content-article__body { grid-row: 2; }
}
@media (max-width: 599px) {
    body.site:not(.is-home) .item-page.has-editorial-visual .interior-hero,
    body.site:not(.is-home) .com-contact.has-editorial-visual .interior-hero,
    body.site:not(.is-home) .gabi-agenda.has-editorial-visual .interior-hero { min-height: 200px; padding: 28px 22px; }
    body.site:not(.is-home) .has-fullwidth-hero .item-page.has-editorial-visual > :not(.interior-hero, meta, script, style),
    body.site:not(.is-home) .has-fullwidth-hero .interior-hero > :is(.page-header, .article-info),
    body.site:not(.is-home) .has-fullwidth-hero .gabi-agenda.has-editorial-visual > :not(.interior-hero, script, style),
    body.site:not(.is-home) .has-fullwidth-hero .gabi-agenda.has-editorial-visual .interior-hero__content { width: calc(100% - 30px); }
    body.site:not(.is-home) .has-fullwidth-hero .item-page.has-editorial-visual .interior-hero,
    body.site:not(.is-home) .has-fullwidth-hero .com-contact.has-editorial-visual .interior-hero,
    body.site:not(.is-home) .has-fullwidth-hero .gabi-agenda.has-editorial-visual .interior-hero { min-height: 216px; padding: 32px 0; }
    body.site:not(.is-home) .has-fullwidth-hero .com-contact.is-modern-contact,
    body.site:not(.is-home) .has-fullwidth-hero .is-modern-contact:not(:has(> .com-contact__container)) { grid-template-columns: 15px minmax(0, 1fr) 15px; }
    body.site:not(.is-home) .is-modern-contact #contact-form fieldset { grid-template-columns: minmax(0, 1fr); }
    body.site:not(.is-home) .is-text-dominant > .com-content-article__body { padding-top: 28px; }
    body.site:not(.is-home) .is-text-dominant .com-content-article__body > .article-lead { padding-left: 18px; font-size: 1.125rem; }
}
@media screen {
    body.site:not(.is-home) .component-area { container: gabi-content / inline-size; }
    body.site:not(.is-home) .ti-page.has-editorial-visual { max-width: none; }
    body.site:not(.is-home) .ti-page.has-editorial-visual .ti-intro.interior-hero { display: block; isolation: isolate; min-height: 280px; padding: 44px 0; background: #fff; border-bottom: 2px solid #edb83f; }
    body.site:not(.is-home) .ti-page.has-editorial-visual .interior-hero::before { display: none; }
    body.site:not(.is-home) .ti-page.has-editorial-visual .interior-hero__art img { object-fit: contain; }
    body.site:not(.is-home) .ti-page.has-editorial-visual .ti-intro__copy,
    body.site:not(.is-home) .ti-page.has-editorial-visual > :not(.interior-hero, script, style) { width: min(calc(100% - 48px), var(--content)); margin-inline: auto; }
    body.site:not(.is-home) .ti-page.has-editorial-visual .ti-intro__copy { z-index: 2; }
    body.site:not(.is-home) .ti-page.has-editorial-visual .ti-intro__copy :is(h1, p) { max-width: 45%; }
    body.site:not(.is-home) .ti-page.has-editorial-visual .ti-intro h1 { color: #1b4d3e; text-shadow: none; }
    body.site:not(.is-home) .ti-page.has-editorial-visual > .ti-intro__aside { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; max-width: none; margin-block: 0; padding: 18px 0; border-left: 0; border-bottom: 1px solid var(--border); }
    body.site:not(.is-home) .item-page.has-editorial-visual .interior-hero.interior-hero--illustrated { background: #fff; border-bottom: 2px solid #edb83f; }
    body.site:not(.is-home) .item-page.has-editorial-visual .interior-hero--illustrated::before { display: none; }
    body.site:not(.is-home) .item-page.has-editorial-visual .interior-hero--illustrated .interior-hero__art img { object-fit: contain; }
    body.site:not(.is-home) .item-page.has-editorial-visual .interior-hero--illustrated .page-header :is(h1, h2) { max-width: 45%; color: #1b4d3e; text-shadow: none; }
    body.site:not(.is-home) .item-page.has-editorial-visual .interior-hero--illustrated .article-info { color: #1b4d3e; }
    body.site:not(.is-home) .item-page.has-editorial-visual .interior-hero--illustrated .article-info a { color: #1b4d3e; }
    body.site:not(.is-home) .item-page.has-editorial-visual .interior-hero--illustrated .article-info a:focus-visible { outline-color: #1b4d3e; }
}
@media screen and (max-width: 899px) {
    body.site:not(.is-home) :is(.ti-page, .item-page).has-editorial-visual .interior-hero.interior-hero--illustrated { display: flex; flex-direction: column; justify-content: flex-start; gap: 20px; min-height: 0; padding-block: 24px 0; }
    body.site:not(.is-home) .ti-page.has-editorial-visual .ti-intro__copy,
    body.site:not(.is-home) .ti-page.has-editorial-visual > :not(.interior-hero, script, style) { width: calc(100% - 30px); }
    body.site:not(.is-home) .ti-page.has-editorial-visual .ti-intro__copy :is(h1, p) { max-width: none; }
    body.site:not(.is-home) .item-page.has-editorial-visual .interior-hero--illustrated .page-header :is(h1, h2) { max-width: none; }
    body.site:not(.is-home) :is(.ti-page, .item-page).has-editorial-visual .interior-hero--illustrated .interior-hero__art { position: relative; inset: auto; flex: none; height: auto; max-height: 300px; aspect-ratio: 1.65; overflow: hidden; }
    body.site:not(.is-home) :is(.ti-page, .item-page).has-editorial-visual .interior-hero--illustrated .interior-hero__art img { object-fit: cover; }
}
/* A desktop sidebar can leave less room than a tablet. Keep the same narrow layout. */
@container gabi-content (max-width: 899px) {
    body.site:not(.is-home) .gabi-agenda__header .interior-hero__content { flex-direction: column; align-items: stretch; gap: 20px; }
    body.site:not(.is-home) .gabi-agenda__header .interior-hero__content > :first-child { flex-basis: auto; }
    body.site:not(.is-home) .gabi-agenda__header .gabi-agenda__actions { width: 100%; }
    body.site:not(.is-home) :is(.ti-page, .item-page).has-editorial-visual .interior-hero.interior-hero--illustrated { display: flex; flex-direction: column; justify-content: flex-start; gap: 20px; min-height: 0; padding: 24px 0 0; }
    body.site:not(.is-home) :is(.ti-page, .item-page).has-editorial-visual .interior-hero--illustrated :is(.page-header, .article-info, .ti-intro__copy) { width: calc(100% - 30px); min-width: 0; margin-inline: auto; }
    body.site:not(.is-home) :is(.ti-page, .item-page).has-editorial-visual .interior-hero--illustrated :is(h1, h2, .ti-intro__copy p) { max-width: none; }
    body.site:not(.is-home) :is(.ti-page, .item-page).has-editorial-visual .interior-hero--illustrated :is(h1, h2) { font-size: 2rem; line-height: 1.25; }
    body.site:not(.is-home) :is(.ti-page, .item-page).has-editorial-visual .interior-hero--illustrated .interior-hero__art { position: relative; inset: auto; flex: none; height: auto; max-height: 300px; aspect-ratio: 1.65; overflow: hidden; }
    body.site:not(.is-home) :is(.ti-page, .item-page).has-editorial-visual .interior-hero--illustrated .interior-hero__art img { object-fit: cover; }
}
@media print {
    body.site:not(.is-home) .ti-page.has-editorial-visual .ti-intro.interior-hero { display: block; min-height: 0; padding: 0 0 20px; background: #fff; border-bottom: 1px solid #999; }
    body.site:not(.is-home) .ti-page.has-editorial-visual .ti-intro__copy,
    body.site:not(.is-home) .ti-page.has-editorial-visual > :not(.interior-hero, script, style) { width: 100%; margin-inline: 0; }
    body.site:not(.is-home) .ti-page.has-editorial-visual .ti-intro__copy :is(h1, p) { max-width: none; color: #000; }
    body.site:not(.is-home) .component-area .article-ornament { display: none; }
    body.site:not(.is-home) .item-page.has-editorial-visual .interior-hero,
    body.site:not(.is-home) .com-contact.has-editorial-visual .interior-hero,
    body.site:not(.is-home) .gabi-agenda.has-editorial-visual .interior-hero { min-height: 0; padding: 0 0 20px; background: #fff; border-bottom: 1px solid #999; }
    body.site:not(.is-home) .content-layout.has-fullwidth-hero { width: 100%; }
    body.site:not(.is-home) .has-fullwidth-hero .item-page.has-editorial-visual > :not(.interior-hero, meta, script, style),
    body.site:not(.is-home) .has-fullwidth-hero .interior-hero > :is(.page-header, .article-info) { width: 100%; }
    body.site:not(.is-home) .has-fullwidth-hero .item-page.has-editorial-visual .interior-hero,
    body.site:not(.is-home) .has-fullwidth-hero .com-contact.has-editorial-visual .interior-hero,
    body.site:not(.is-home) .has-fullwidth-hero .gabi-agenda.has-editorial-visual .interior-hero { min-height: 0; padding: 0 0 20px; }
    body.site:not(.is-home) .has-fullwidth-hero .gabi-agenda.has-editorial-visual > :not(.interior-hero, script, style),
    body.site:not(.is-home) .has-fullwidth-hero .gabi-agenda.has-editorial-visual .interior-hero__content { width: 100%; }
    body.site:not(.is-home) .gabi-agenda.has-editorial-visual .gabi-agenda__header :is(h1, p, .gabi-agenda__eyebrow) { color: #000; }
    body.site:not(.is-home) .has-fullwidth-hero .com-contact.is-modern-contact { grid-template-columns: minmax(230px, 290px) minmax(0, 1fr); column-gap: 32px; }
    body.site:not(.is-home) .has-fullwidth-hero .is-modern-contact > :not(.contact-hero, .com-contact__container) { grid-column: 2; }
    body.site:not(.is-home) .has-fullwidth-hero .is-modern-contact > .com-contact__container { grid-column: 1; }
    body.site:not(.is-home) .has-editorial-visual .interior-hero::before, body.site:not(.is-home) .has-editorial-visual .interior-hero__art, .article-outline { display: none; }
    body.site:not(.is-home) .has-editorial-visual .interior-hero .page-header :is(h1, h2), body.site:not(.is-home) .has-editorial-visual .interior-hero .article-info { color: #000; }
    body.site:not(.is-home) .has-editorial-visual .interior-hero .article-info a, body.site:not(.is-home) .has-editorial-visual .interior-hero .article-info a:is(:hover, :focus-visible) { color: #000; }
    .editorial-layout { display: block; }
}

/* SOS Essaim: one directory, optional map and preserved editorial guidance. */
body.site:is(.page-role-swarm,.page-role-mentors) .swarm-directory{padding-bottom:1rem;margin-bottom:1rem}body.site:is(.page-role-swarm,.page-role-mentors) .swarm-directory__search{max-width:none;grid-template-columns:1fr 1fr;align-items:end;gap:.4rem 1rem;margin:1rem 0}.swarm-directory__search label:nth-of-type(1){grid-column:1;grid-row:1}.swarm-directory__search select{grid-column:1;grid-row:2}.swarm-directory__search label:nth-of-type(2){grid-column:2;grid-row:1}.swarm-directory__search input{grid-column:2;grid-row:2}.swarm-directory__pagination{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin:.5rem 0}.swarm-directory__pagination button,.swarm-directory__more{min-height:44px;padding:.5rem .85rem;border:1px solid #8da99a;border-radius:.35rem;background:#fff;color:#1b4d3e;font:inherit;cursor:pointer}.swarm-directory__pagination button:disabled{opacity:.5;cursor:default}.swarm-directory__pagination[hidden]{display:none}.swarm-disclosure{border:1px solid var(--border,#dce2dd);border-radius:.5rem;margin:1rem 0;background:#fff}.swarm-disclosure>summary{padding:1rem;cursor:pointer;font-weight:700;color:var(--forest,#1b4d3e);min-height:44px}.swarm-advice__content{padding:0 1rem 1rem}.swarm-map>.tm-map-block{margin:0;border:0}.swarm-notice{margin:0 0 1rem;color:var(--forest,#1b4d3e)}body.site:is(.page-role-swarm,.page-role-mentors) .tm-directory[hidden]{display:none!important}.swarm-disclosure:target{scroll-margin-top:110px}@media(max-width:600px){body.site:is(.page-role-swarm,.page-role-mentors) .swarm-directory__search{grid-template-columns:1fr}.swarm-directory__search :is(label,input,select){grid-column:1!important;grid-row:auto!important}}

/* Blend the initiation watercolor into the white banner on every edge. */
/* Keep legacy orange emphasis readable without changing the stored article. */
body.site:not(.is-home) .component-area[data-editorial-theme="training-illustration"] [data-readable-accent] { color: #a34400 !important; }
@media screen {
    body.site:not(.is-home) .component-area[data-editorial-theme="training-illustration"] .interior-hero__art img {
        width: auto;
        max-width: 100%;
        margin-left: auto;
        -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 28%, #000 95%, transparent 100%), linear-gradient(to bottom, transparent 0%, #000 12%, #000 86%, transparent 100%);
        -webkit-mask-composite: source-in;
        mask-image: linear-gradient(to right, transparent 0%, #000 28%, #000 95%, transparent 100%), linear-gradient(to bottom, transparent 0%, #000 12%, #000 86%, transparent 100%);
        mask-composite: intersect;
        mask-repeat: no-repeat;
    }
}

/* SOS: readable contact cards and a clear path from commune to phone call. */
body.site:is(.page-role-swarm,.page-role-mentors) .com-content-article__body { color: #233c33; font-size: 1.0625rem; line-height: 1.65; }
body.site:is(.page-role-swarm,.page-role-mentors) .swarm-intro { margin: 16px 0 36px; padding: clamp(20px,3vw,36px); border: 1px solid #dbe6df; border-radius: 20px; background: linear-gradient(120deg,#f1f7f2,#fffdf5); }
body.site:is(.page-role-swarm,.page-role-mentors) .swarm-intro__eyebrow { margin: 0 0 6px; color: #6a4c12; font-size: .8125rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
body.site:is(.page-role-swarm,.page-role-mentors) .swarm-intro h2 { margin: 0 0 10px; font-size: clamp(1.5rem,2.6vw,2rem); line-height: 1.25; color: #1b4d3e; }
body.site:is(.page-role-swarm,.page-role-mentors) .swarm-intro > p { max-width: none; margin-bottom: 20px; }
body.site:is(.page-role-swarm,.page-role-mentors) ol.swarm-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; list-style: none; padding: 0; margin: 24px 0; }
body.site:is(.page-role-swarm,.page-role-mentors) ol.swarm-steps li { display: flex; align-items: flex-start; gap: 12px; padding: 0; margin: 0; }
.swarm-steps li > span { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 36px; border-radius: 50%; background: #1b4d3e; color: #fff; font-size: .8rem; font-weight: 750; }
body.site:is(.page-role-swarm,.page-role-mentors) .swarm-steps strong { display: block; color: #163e32; font-size: 1rem; line-height: 1.4; }
body.site:is(.page-role-swarm,.page-role-mentors) .swarm-steps p { margin: 6px 0 0; font-size: .9375rem; line-height: 1.55; color: #3d574b; }
body.site:is(.page-role-swarm,.page-role-mentors) .swarm-intro__advice { color: #1b4d3e; font-weight: 650; text-underline-offset: 4px; }
body.site:is(.page-role-swarm,.page-role-mentors) .swarm-directory { padding: 0 0 28px; margin-bottom: 24px; border: 0; }
body.site:is(.page-role-swarm,.page-role-mentors) .swarm-directory h2 { margin: 0; font-size: clamp(1.4rem,2.5vw,1.8rem); line-height: 1.3; }
.swarm-directory__heading { align-items: center; margin-bottom: 20px; }
body.site:is(.page-role-swarm,.page-role-mentors) .swarm-directory__map-link { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px; border: 1px solid #aec4b8; border-radius: 10px; color: #1b4d3e; background: #fff; font-size: .9375rem; font-weight: 650; text-decoration: none; }
body.site:is(.page-role-swarm,.page-role-mentors) .swarm-directory__search { grid-template-columns: 1fr 1fr auto; padding: 20px; margin: 0 0 14px; border-radius: 14px; background: #f0f5f2; border: 1px solid #dbe6df; gap: 8px 20px; }
.swarm-directory__search label { color: #233c33; font-weight: 650; font-size: .9375rem; }
.swarm-directory__search input, .swarm-directory__search select { border-radius: 8px; border-color: #829b8c; font-size: 1rem; }
.swarm-directory__reset { grid-column: 3; grid-row: 2; min-height: 48px; padding: 8px 12px; border: 0; border-radius: 8px; color: #1b4d3e; background: transparent; font: inherit; font-size: .9375rem; font-weight: 650; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
body.site:is(.page-role-swarm,.page-role-mentors) .swarm-directory__status { margin: 12px 0 18px; color: #405a4e; font-size: .9375rem; }
body.site:is(.page-role-swarm,.page-role-mentors) ul.swarm-directory__list { gap: 16px; margin: 0; }
body.site:is(.page-role-swarm,.page-role-mentors) .swarm-directory__contact { display: flex; flex-direction: column; align-items: stretch; justify-content: space-between; gap: 20px; padding: 22px; border: 1px solid #d9e4dc; border-radius: 14px; background: #fff; box-shadow: 0 3px 14px #183d2d06; }
body.site:is(.page-role-swarm,.page-role-mentors) .swarm-directory__name { color: #183e31; font-size: 1.1875rem; font-weight: 750; line-height: 1.4; }
body.site:is(.page-role-swarm,.page-role-mentors) .swarm-directory__address { color: #405a4e; font-size: 1rem; line-height: 1.5; margin: 6px 0 0; }
.swarm-directory__phones { gap: 10px; }
body.site:is(.page-role-swarm,.page-role-mentors) a.swarm-directory__phone { min-height: 48px; gap: 10px; padding: 10px 16px; border: 1px solid #1b4d3e; border-radius: 9px; background: #1b4d3e; color: #fff; font-size: 1rem; font-variant-numeric: tabular-nums; }
body.site:is(.page-role-swarm,.page-role-mentors) a.swarm-directory__phone:hover { color: #fff; background: #113c2f; border-color: #113c2f; }
.swarm-directory__call-label { font-weight: 500; }
.swarm-directory__unavailable { font-size: .9375rem; color: #405a4e; }
.swarm-directory__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 22px; }
.swarm-directory__pagination { margin: 0; }
.swarm-directory__pagination button, .swarm-directory__more { border-radius: 8px; min-height: 44px; color: #1b4d3e; font-size: .9375rem; }
.swarm-directory__pagination button:disabled { opacity: 1; color: #66766d; border-color: #cfd8d2; background: #f2f4f2; }
body.site:is(.page-role-swarm,.page-role-mentors) .swarm-disclosure { border-radius: 14px; border-color: #d3e0d7; margin: 16px 0; }
body.site:is(.page-role-swarm,.page-role-mentors) .swarm-disclosure > summary { padding: 20px; color: #1b4d3e; font-size: 1.0625rem; }
body.site:is(.page-role-swarm,.page-role-mentors) :is(.swarm-directory,.swarm-intro,.swarm-disclosure) :is(a,button,input,select,summary):focus-visible { outline: 3px solid #8b5d12; outline-offset: 4px; }
@media(max-width:900px) { body.site:is(.page-role-swarm,.page-role-mentors) .swarm-directory__search { grid-template-columns: 1fr 1fr; } .swarm-directory__reset { grid-column: 1 / -1; grid-row: 3; justify-self: start; padding-left: 0; } body.site:is(.page-role-swarm,.page-role-mentors) ol.swarm-steps { grid-template-columns: 1fr; gap: 18px; } }
@media(max-width:600px) { body.site:is(.page-role-swarm,.page-role-mentors) .swarm-directory__search { grid-template-columns: 1fr; padding: 16px; } .swarm-directory__reset { grid-column: 1!important; grid-row: auto!important; } body.site:is(.page-role-swarm,.page-role-mentors) ul.swarm-directory__list { grid-template-columns: minmax(0,1fr); } body.site:is(.page-role-swarm,.page-role-mentors) .swarm-directory__contact { padding: 20px; } body.site:is(.page-role-swarm,.page-role-mentors) a.swarm-directory__phone { flex: 1 1 auto; } .swarm-directory__footer { align-items: stretch; } .swarm-directory__pagination { width: 100%; justify-content: space-between; gap: 8px; } .swarm-directory__more { width: 100%; } }

/* SOS: permanent map and identification guidance, without folding controls. */
body.site:is(.page-role-swarm,.page-role-mentors) .swarm-disclosure > h2 { margin: 0; padding: 20px; color: #1b4d3e; font-size: 1.25rem; line-height: 1.4; }
body.site:is(.page-role-swarm,.page-role-mentors) .swarm-map__notice { margin: 0; padding: 0 20px 16px; color: #52665a; font-size: .875rem; line-height: 1.6; }

body.site:is(.page-role-swarm,.page-role-mentors) .swarm-map > .tm-map-block { margin: 0; border: 0; border-radius: 0; box-shadow: none; }

body.site:is(.page-role-swarm,.page-role-mentors) .swarm-map .tm-map-controls { margin: 0; padding: 20px 24px; border-bottom: 1px solid var(--border); box-sizing: border-box; }
@media (max-width: 600px) { body.site:is(.page-role-swarm,.page-role-mentors) .swarm-map .tm-map-controls { padding: 20px 16px; } }

body.site:not(.is-home) .com-content-article__body :where(.tm-map-block) .leaflet-control-attribution a { text-decoration: underline; text-underline-offset: 2px; }

/* Shared contact directory: mentors keep explicit labels for both map colours. */
body.site.page-role-mentors .swarm-directory__search { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.site.page-role-mentors .mentor-role-label { grid-column: 3; grid-row: 1; }
body.site.page-role-mentors .mentor-role-select { grid-column: 3; grid-row: 2; }
body.site.page-role-mentors .swarm-directory__reset { grid-column: 1 / -1; grid-row: 3; justify-self: start; }
.mentor-role-badge { display: table; margin-top: 8px; padding: 4px 10px; border: 1px solid #b3d2c0; border-radius: 6px; background: #edf7ef; color: #175237; font-size: .875rem; font-weight: 650; }
.mentor-role-badge--hornet { border-color: #b7cfdf; background: #edf4fa; color: #1e526f; }
@media(max-width:900px) {
    body.site.page-role-mentors .swarm-directory__search { grid-template-columns: minmax(0,1fr); }
    body.site.page-role-mentors .swarm-directory__search :is(label,input,select,button) { grid-column: 1 !important; grid-row: auto !important; }
}

body.site.page-role-mentors .swarm-advice__content > ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; padding: 0; list-style: none; }
body.site.page-role-mentors .swarm-advice__content > ol > li { padding: 18px; margin: 0; border: 1px solid #dbe6df; border-radius: 10px; background: #f4f8f5; }
body.site.page-role-mentors .mentors-resource-link { display: inline-block; min-height: 44px; padding-block: 10px; font-weight: 650; }
@media(max-width:600px) { body.site.page-role-mentors .swarm-advice__content > ol { grid-template-columns: minmax(0,1fr); } }

.article-training-outline .article-chapter { scroll-margin-top: calc(var(--header-height, 88px) + 24px); }

.member-account__advanced { margin: 24px 0; padding: 18px; border: 1px solid var(--border-color, #d6e1dc); border-radius: 8px; }
.member-account__advanced > summary { cursor: pointer; font-weight: 600; color: var(--primary, #1b4d3e); }
.member-account__advanced[open] > summary { margin-bottom: 24px; }
.member-account__advanced summary:focus-visible { outline: 3px solid #b77912; outline-offset: 4px; }
/* Panoramic watercolor banners: continuous artwork, soft white title veil. */
@media screen {
    body.site:not(.is-home) :is(.ti-page, .item-page, .com-contact, .gabi-agenda).has-editorial-visual .interior-hero.interior-hero--illustrated {
        display: flex; flex-direction: column; justify-content: center; gap: 12px;
        min-height: 280px; height: 280px; aspect-ratio: auto; padding: 0;
        border: 0; background: #f5f7f0; overflow: hidden;
    }
    body.site:not(.is-home) :is(.ti-page, .item-page, .com-contact, .gabi-agenda).has-editorial-visual .interior-hero.interior-hero--illustrated::before {
        display: block; position: absolute; inset: 0; z-index: 1; pointer-events: none; content: "";
        background: linear-gradient(90deg, rgba(255,255,255,.88) 0%, rgba(255,255,255,.76) 30%, rgba(255,255,255,.38) 50%, rgba(255,255,255,0) 72%);
    }
    body.site:not(.is-home) :is(.ti-page, .item-page, .com-contact, .gabi-agenda).has-editorial-visual .interior-hero.interior-hero--illustrated .interior-hero__art {
        position: absolute; inset: 0; width: 100%; height: 100%; max-height: none; aspect-ratio: auto; margin: 0;
    }
    body.site:not(.is-home) .component-area :is(.ti-page, .item-page, .com-contact, .gabi-agenda).has-editorial-visual .interior-hero.interior-hero--illustrated .interior-hero__art img {
        position: absolute; inset: 0; width: 100%; max-width: none; height: 100%; margin: 0; object-fit: cover; object-position: center;
        -webkit-mask-image: none; mask-image: none;
    }
    body.site:not(.is-home) :is(.ti-page, .item-page, .com-contact, .gabi-agenda).has-editorial-visual .interior-hero--illustrated .interior-hero__art img { position: absolute; }
    body.site:not(.is-home) :is(.ti-page, .item-page, .com-contact, .gabi-agenda).has-editorial-visual .interior-hero.interior-hero--illustrated :is(.page-header, .ti-intro__copy, .article-info, .interior-hero__content) { position: relative; z-index: 2; }
    body.site:not(.is-home) :is(.ti-page, .item-page, .com-contact, .gabi-agenda).has-editorial-visual .interior-hero.interior-hero--illustrated :is(h1, h2, .ti-intro__copy p) { max-width: 60%; color: #1b4d3e; }
}
@media screen and (max-width: 899px) {
    body.site:not(.is-home) :is(.ti-page, .item-page, .com-contact, .gabi-agenda).has-editorial-visual .interior-hero.interior-hero--illustrated { min-height: 0; height: auto; aspect-ratio: auto; padding: 0; gap: 0; }
    body.site:not(.is-home) :is(.ti-page, .item-page, .com-contact, .gabi-agenda).has-editorial-visual .interior-hero.interior-hero--illustrated::before { display: none; }
    body.site:not(.is-home) .component-area :is(.ti-page, .item-page, .com-contact, .gabi-agenda).has-editorial-visual .interior-hero.interior-hero--illustrated .interior-hero__art img { position: relative; width: 100%; object-fit: contain; object-position: center !important; -webkit-mask-image: none; mask-image: none; }
    body.site:not(.is-home) :is(.ti-page, .item-page, .com-contact, .gabi-agenda).has-editorial-visual .interior-hero.interior-hero--illustrated :is(h1, h2, .ti-intro__copy p) { max-width: 100%; }
}

@media screen and (max-width: 899px) {
    body.site:not(.is-home) :is(.ti-page, .item-page, .com-contact, .gabi-agenda).has-editorial-visual .interior-hero.interior-hero--illustrated .interior-hero__art { position: relative; inset: auto; order: -1; flex: none; width: 100%; height: auto; aspect-ratio: var(--gabi-hero-ratio, 3 / 1); }
    body.site:not(.is-home) :is(.ti-page, .item-page, .com-contact, .gabi-agenda).has-editorial-visual .interior-hero.interior-hero--illustrated :is(.page-header, .ti-intro__copy, .interior-hero__content) { padding-block: 20px; margin-block: 0; }
    body.site:not(.is-home) :is(.ti-page, .item-page, .com-contact, .gabi-agenda).has-editorial-visual .interior-hero.interior-hero--illustrated { background: #fff; }
}


/* Calendar artwork keeps its controls in a readable title panel. */
body.site:not(.is-home) .gabi-agenda.has-editorial-visual .interior-hero--illustrated .interior-hero__content { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
body.site:not(.is-home) .gabi-agenda.has-editorial-visual .interior-hero--illustrated .interior-hero__content > :first-child { flex: none; max-width: 60%; }
body.site:not(.is-home) .gabi-agenda.has-editorial-visual .interior-hero--illustrated :is(h1, p, .gabi-agenda__eyebrow) { max-width: none; color: #1b4d3e; }
body.site:not(.is-home) .gabi-agenda.has-editorial-visual .interior-hero--illustrated .gabi-agenda__actions { justify-content: flex-start; }
@media (max-width: 899px) {
    body.site:not(.is-home) .gabi-agenda.has-editorial-visual .interior-hero--illustrated .interior-hero__content > :first-child { max-width: 100%; }
}

/* Calendar actions sit below the shared banner rather than changing its format. */
body.site:not(.is-home) .gabi-agenda.has-editorial-visual > .gabi-agenda__actions { flex-direction: row; flex-wrap: wrap; justify-content: flex-start; margin-block: 24px; }
@media (max-width: 800px) {
    body.site:not(.is-home) .gabi-agenda.has-editorial-visual > .gabi-agenda__actions { flex-direction: column; }
}

/* Keep distant focal scenes within the same narrow banner as Maison de l Abeille. */
@media screen and (min-width: 900px) {
    body.site:not(.is-home) .component-area[data-editorial-image$="training-gabi-20261023.png"] .interior-hero__art img { object-position: center 57% !important; }
    body.site:not(.is-home) .component-area[data-editorial-image$="calendar-gabi-20261023.png"] .interior-hero__art img { object-position: center 60% !important; }
    body.site:not(.is-home) .component-area[data-editorial-image$="friends-gabi-20261023.png"] .interior-hero__art img { object-position: center 60% !important; }
    body.site:not(.is-home) .component-area[data-editorial-image$="partners-gabi-20261023.png"] .interior-hero__art img { object-position: center 57% !important; }
}
