html {
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

/* Entrance transforms may extend full-width sections beyond the viewport.
 * Clip at the block boundary without creating a scroll container (sticky stays intact). */
.site-page-block {
    overflow-x: clip;
}

:root {
    --site-primary-color: #2563eb;
}

.site-primary-blue {
    --site-primary-color: #2563eb;
}

.site-primary-green {
    --site-primary-color: #16a34a;
}

.site-primary-red {
    --site-primary-color: #dc2626;
}

.site-primary-violet {
    --site-primary-color: #7c3aed;
}

.site-primary-black {
    --site-primary-color: #111827;
}

body {
    margin: 0;
    font-family: Arial, sans-serif;
    color: #222;
    background: #fff;
}

.site-theme-light {
    background: #ffffff;
    color: #111827;
}

.site-theme-dark {
    background: #111111;
    color: #f9fafb;
}

.site-theme-blue {
    background: #eff6ff;
    color: #1f2937;
}

a {
    color: inherit;
}

.container {
    max-width: 1180px;
    width: 100%;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
    box-sizing: border-box;
}

.site-header {
    background: #ffffff;
    color: #111827;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.site-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    padding-block: 16px;
}

.site-header__brand {
    font-size: 20px;
    font-weight: var(--site-header-text-weight, 700);
    font-style: var(--site-header-text-style, normal);
    text-decoration: none;
    white-space: nowrap;
}

.site-header__logo {
    height: var(--site-header-logo-height, 40px);
    max-height: var(--site-header-logo-height, 40px);
    width: auto;
    object-fit: contain;
    display: block;
}

.site-header__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    justify-content: center;
    flex: 1;
}

.site-header__link {
    text-decoration: none;
    font-size: 15px;
    font-weight: var(--site-header-link-weight, 600);
    font-style: var(--site-header-link-style, normal);
    opacity: 0.85;
}

.site-header__link.is-active {
    color: var(--site-accent, var(--site-primary-color));
    opacity: 1;
    font-weight: 700;
}

.site-header__contacts {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.site-header__contact {
    text-decoration: none;
    font-size: 14px;
    font-weight: var(--site-header-link-weight, 400);
    font-style: var(--site-header-link-style, normal);
}

.site-header__contact--accent {
    color: var(--site-primary-color);
    font-weight: var(--site-header-link-weight, 400);
}

.site-theme-light .site-header {
    background: #ffffff;
    color: #111827;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.site-theme-light .site-header__link,
.site-theme-light .site-header__contact {
    color: #111827;
    opacity: 0.85;
}

.site-theme-light .site-header__link.is-active,
.site-theme-light .site-header__contact--accent {
    color: var(--site-accent, var(--site-primary-color));
    opacity: 1;
}

.site-theme-dark .site-header {
    background: #18181b;
    color: #f9fafb;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.site-theme-dark .site-header__brand {
    color: #f9fafb;
}

.site-theme-dark .site-header__link,
.site-theme-dark .site-header__contact {
    color: #e5e7eb;
    opacity: 1;
}

.site-theme-dark .site-header__link.is-active,
.site-theme-dark .site-header__contact--accent {
    color: var(--site-accent, var(--site-primary-color));
}

.site-theme-blue .site-header {
    background: #1d4ed8;
    color: #ffffff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.site-theme-blue .site-header__brand {
    color: #ffffff;
}

.site-theme-blue .site-header__link,
.site-theme-blue .site-header__contact {
    color: rgba(255, 255, 255, 0.85);
    opacity: 1;
}

.site-theme-blue .site-header.site-header--default:not(.site-header--overlay):not(.site-header--custom-colors):not(.site-header--overlay-custom-colors) .site-header__link.is-active {
    color: #ffffff;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.site-theme-blue .site-header:not(.site-header--default):not(.site-header--overlay) .site-header__link.is-active,
.site-theme-blue .site-header.site-header--custom-colors .site-header__link.is-active,
.site-theme-blue .site-header.site-header--overlay-custom-colors .site-header__link.is-active {
    color: var(--site-accent, var(--site-primary-color));
    text-decoration: none;
}

.site-theme-blue .site-header__contact--accent {
    color: #ffffff;
    font-weight: 700;
}

.page--header-overlay {
    /* .site-header__inner padding: 16px 0 */
    --site-header-inner-padding-block: 32px;
    /* .site-header__inner gap: 20px */
    --site-header-inner-gap: 20px;
    --site-header-offset: calc(var(--site-header-logo-height, 40px) + var(--site-header-inner-padding-block, 32px));
    position: relative;
}

@media (max-width: 1199.98px) {
    .site-header {
        --site-header-mobile-logo-height: min(var(--site-header-logo-height, 40px), 56px);
        --site-header-mobile-toolbar-height: max(64px, calc(var(--site-header-mobile-logo-height) + 20px));
    }

    .page--header-overlay {
        --site-header-mobile-logo-height: min(var(--site-header-logo-height, 40px), 56px);
        --site-header-mobile-toolbar-height: max(64px, calc(var(--site-header-mobile-logo-height) + 20px));
        --site-header-offset: var(--site-header-mobile-toolbar-height);
    }
}

.site-page-top-anchor {
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    overflow: hidden;
    pointer-events: none;
}

.page--sticky-header {
    --site-header-inner-padding-block: 32px;
    --site-sticky-header-offset-fallback: calc(var(--site-header-logo-height, 40px) + var(--site-header-inner-padding-block, 32px));
    --site-sticky-header-offset: var(--site-sticky-header-offset-fallback);
}

@media (max-width: 1199.98px) {
    .page--sticky-header {
        --site-header-mobile-logo-height: min(var(--site-header-logo-height, 40px), 56px);
        --site-header-mobile-toolbar-height: max(64px, calc(var(--site-header-mobile-logo-height) + 20px));
        --site-sticky-header-offset-fallback: var(--site-header-mobile-toolbar-height);
    }
}

.page--sticky-header .site-page-block {
    scroll-margin-top: var(--site-sticky-header-offset, var(--site-sticky-header-offset-fallback));
}

.site-header.site-header--sticky {
    position: sticky;
    top: 0;
    z-index: 60;
}

body.page--sticky-header.page--header-overlay header.site-header + .site-page-block {
    margin-top: calc(-1 * var(--site-sticky-header-offset, var(--site-sticky-header-offset-fallback)));
}

.site-header--overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
    background: transparent;
    border-bottom: none;
}

.site-header.site-header--overlay.site-header--sticky {
    position: sticky;
    top: 0;
    left: auto;
    right: auto;
    z-index: 60;
}

.site-header.site-header--overlay.site-header--sticky:not(.site-header--scrolled) {
    background: transparent;
    border-bottom: none;
}

.site-header.site-header--overlay.site-header--sticky:not(.site-header--scrolled):not(.site-header--menu-open) .site-header__chrome {
    background: transparent;
}

.site-theme-light .site-header.site-header--overlay.site-header--sticky:not(.site-header--scrolled),
.site-theme-dark .site-header.site-header--overlay.site-header--sticky:not(.site-header--scrolled),
.site-theme-blue .site-header.site-header--overlay.site-header--sticky:not(.site-header--scrolled) {
    background: transparent;
    border-bottom: none;
}

.site-header.site-header--overlay.site-header--sticky.site-header--scrolled {
    background: var(--site-header-mobile-menu-bg, #ffffff);
    border-bottom: 1px solid rgba(17, 24, 39, 0.08);
}

.site-header.site-header--overlay.site-header--sticky.site-header--scrolled .site-header__chrome {
    background: var(--site-header-mobile-menu-bg, #ffffff);
}

.site-header.site-header--overlay.site-header--sticky.site-header--scrolled .site-header__brand {
    color: var(--site-header-mobile-text-color, #111827);
    opacity: 1;
}

.site-header.site-header--overlay.site-header--sticky.site-header--scrolled .site-header__link,
.site-header.site-header--overlay.site-header--sticky.site-header--scrolled .site-header__contact {
    color: var(--site-header-mobile-link-color, #111827);
    opacity: 1;
}

.site-header.site-header--overlay.site-header--sticky.site-header--scrolled .site-header__link.is-active {
    color: var(--site-accent, var(--site-primary-color));
    opacity: 1;
}

.site-header.site-header--overlay.site-header--sticky.site-header--scrolled .site-header__contact--accent {
    color: var(--site-header-mobile-link-color, #111827);
    opacity: 1;
}

.site-theme-light .site-header.site-header--overlay.site-header--sticky.site-header--scrolled,
.site-theme-dark .site-header.site-header--overlay.site-header--sticky.site-header--scrolled,
.site-theme-blue .site-header.site-header--overlay.site-header--sticky.site-header--scrolled {
    background: var(--site-header-mobile-menu-bg, #ffffff);
    border-bottom: 1px solid rgba(17, 24, 39, 0.08);
}

.site-theme-light .site-header.site-header--overlay,
.site-theme-dark .site-header.site-header--overlay,
.site-theme-blue .site-header.site-header--overlay {
    background: transparent;
    border-bottom: none;
}

.site-header--overlay.site-header--text-light .site-header__brand,
.site-header--overlay.site-header--text-light .site-header__link,
.site-header--overlay.site-header--text-light .site-header__contact {
    color: #ffffff;
    opacity: 0.92;
}

.site-header--overlay.site-header--text-light .site-header__link.is-active {
    color: var(--site-accent, var(--site-primary-color));
    opacity: 1;
}

.site-header--overlay.site-header--text-light .site-header__contact--accent {
    color: #ffffff;
    opacity: 1;
}

.site-header--overlay.site-header--text-dark .site-header__brand,
.site-header--overlay.site-header--text-dark .site-header__link,
.site-header--overlay.site-header--text-dark .site-header__contact {
    color: #111827;
    opacity: 0.92;
}

.site-header--overlay.site-header--text-dark .site-header__link.is-active {
    color: var(--site-accent, var(--site-primary-color));
    opacity: 1;
}

.site-header--overlay.site-header--text-dark .site-header__contact--accent {
    color: #111827;
    opacity: 1;
}

.site-header--overlay .site-header__link.is-active {
    color: var(--site-accent, var(--site-primary-color));
    opacity: 1;
}

.site-theme-light .site-header.site-header--custom-bg:not(.site-header--overlay),
.site-theme-dark .site-header.site-header--custom-bg:not(.site-header--overlay),
.site-theme-blue .site-header.site-header--custom-bg:not(.site-header--overlay) {
    background: var(--site-header-bg);
}

.site-theme-light .site-header.site-header--custom-text:not(.site-header--overlay),
.site-theme-dark .site-header.site-header--custom-text:not(.site-header--overlay),
.site-theme-blue .site-header.site-header--custom-text:not(.site-header--overlay) {
    color: var(--site-header-text);
}

.site-theme-light .site-header.site-header--custom-text:not(.site-header--overlay) .site-header__brand,
.site-theme-dark .site-header.site-header--custom-text:not(.site-header--overlay) .site-header__brand,
.site-theme-blue .site-header.site-header--custom-text:not(.site-header--overlay) .site-header__brand {
    color: var(--site-header-text);
}

.site-theme-light .site-header.site-header--custom-link:not(.site-header--overlay) .site-header__link,
.site-theme-dark .site-header.site-header--custom-link:not(.site-header--overlay) .site-header__link,
.site-theme-blue .site-header.site-header--custom-link:not(.site-header--overlay) .site-header__link,
.site-theme-light .site-header.site-header--custom-link:not(.site-header--overlay) .site-header__contact,
.site-theme-dark .site-header.site-header--custom-link:not(.site-header--overlay) .site-header__contact,
.site-theme-blue .site-header.site-header--custom-link:not(.site-header--overlay) .site-header__contact {
    color: var(--site-header-link);
    opacity: 0.85;
}

.site-theme-light .site-header.site-header--custom-link:not(.site-header--overlay) .site-header__link.is-active,
.site-theme-dark .site-header.site-header--custom-link:not(.site-header--overlay) .site-header__link.is-active,
.site-theme-blue .site-header.site-header--custom-link:not(.site-header--overlay) .site-header__link.is-active,
.site-theme-light .site-header.site-header--custom-link:not(.site-header--overlay) .site-header__contact--accent,
.site-theme-dark .site-header.site-header--custom-link:not(.site-header--overlay) .site-header__contact--accent,
.site-theme-blue .site-header.site-header--custom-link:not(.site-header--overlay) .site-header__contact--accent {
    color: var(--site-accent, var(--site-primary-color));
    opacity: 1;
}

.site-header--overlay.site-header--custom-text .site-header__brand {
    color: var(--site-header-text);
    opacity: 0.92;
}

.site-header--overlay.site-header--custom-text:not(.site-header--custom-link) .site-header__link,
.site-header--overlay.site-header--custom-text:not(.site-header--custom-link) .site-header__contact {
    color: var(--site-header-text);
    opacity: 0.92;
}

.site-header--overlay.site-header--custom-link .site-header__link,
.site-header--overlay.site-header--custom-link .site-header__contact {
    color: var(--site-header-link);
    opacity: 0.92;
}

.site-header--overlay.site-header--custom-link .site-header__link.is-active,
.site-header--overlay.site-header--custom-text:not(.site-header--custom-link) .site-header__link.is-active {
    color: var(--site-accent, var(--site-primary-color));
    opacity: 1;
}

.site-header--overlay.site-header--custom-link .site-header__contact--accent {
    color: var(--site-header-link);
    opacity: 1;
}

.site-header--overlay.site-header--custom-text:not(.site-header--custom-link) .site-header__contact--accent {
    color: var(--site-header-text);
    opacity: 1;
}

.site-header--overlay.site-header--overlay-custom-text .site-header__brand {
    color: var(--site-header-overlay-text);
    opacity: 0.92;
}

.site-header--overlay.site-header--overlay-custom-text:not(.site-header--overlay-custom-link) .site-header__link,
.site-header--overlay.site-header--overlay-custom-text:not(.site-header--overlay-custom-link) .site-header__contact {
    color: var(--site-header-overlay-text);
    opacity: 0.92;
}

.site-header--overlay.site-header--overlay-custom-link .site-header__link,
.site-header--overlay.site-header--overlay-custom-link .site-header__contact {
    color: var(--site-header-overlay-link);
    opacity: 0.92;
}

.site-header--overlay.site-header--overlay-custom-link .site-header__link.is-active {
    color: var(--site-accent, var(--site-primary-color));
    opacity: 1;
}

.site-header--overlay.site-header--overlay-custom-link .site-header__contact--accent {
    color: var(--site-header-overlay-link);
    opacity: 1;
}

.site-header--overlay.site-header--overlay-custom-text:not(.site-header--overlay-custom-link) .site-header__link.is-active {
    color: var(--site-accent, var(--site-primary-color));
    opacity: 1;
}

.site-header--overlay.site-header--overlay-custom-text:not(.site-header--overlay-custom-link) .site-header__contact--accent {
    color: var(--site-header-overlay-text);
    opacity: 1;
}

.site-footer {
    margin-top: 0;
    padding: 48px 0 24px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    background: #f9fafb;
    color: #111827;
}

.site-footer__inner {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 32px;
    padding-bottom: 32px;
}

/* Let footer content shrink and wrap instead of widening the page. */
.site-footer__inner > * {
    min-width: 0;
}

.site-footer {
    overflow-wrap: anywhere;
}

@media (max-width: 768px) {
    .site-footer__inner {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

.site-footer__brand {
    font-size: 18px;
    font-weight: var(--site-footer-text-weight, 700);
    font-style: var(--site-footer-text-style, normal);
    margin-bottom: 10px;
}

.site-footer__description {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    font-weight: var(--site-footer-text-weight, inherit);
    font-style: var(--site-footer-text-style, inherit);
    opacity: 0.85;
}

.site-footer__nav {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.site-footer__link {
    text-decoration: none;
    font-size: 14px;
    font-weight: var(--site-footer-link-weight, inherit);
    font-style: var(--site-footer-link-style, inherit);
    opacity: 0.85;
}

.site-footer__link.is-active {
    color: var(--site-accent, var(--site-primary-color));
    opacity: 1;
}

.site-footer__contacts {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.site-footer__contact {
    text-decoration: none;
    font-size: 14px;
    font-weight: var(--site-footer-link-weight, inherit);
    font-style: var(--site-footer-link-style, inherit);
}

.site-footer__contact--accent {
    color: var(--site-accent, var(--site-primary-color));
    font-weight: var(--site-footer-link-weight, 600);
}

.site-footer__bottom {
    padding-top: 20px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    font-size: 13px;
    opacity: 0.75;
}

.site-theme-light .site-footer {
    background: #f9fafb;
    color: #111827;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.site-theme-light .site-footer__link,
.site-theme-light .site-footer__contact {
    color: #111827;
}

.site-theme-light .site-footer__link.is-active,
.site-theme-light .site-footer__contact--accent {
    color: var(--site-accent, var(--site-primary-color));
}

.site-theme-dark .site-footer {
    background: #18181b;
    color: #f9fafb;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.site-theme-dark .site-footer__bottom {
    border-top-color: rgba(255, 255, 255, 0.12);
}

.site-theme-dark .site-footer__link,
.site-theme-dark .site-footer__contact {
    color: #e5e7eb;
}

.site-theme-dark .site-footer__link.is-active,
.site-theme-dark .site-footer__contact--accent {
    color: var(--site-accent, var(--site-primary-color));
}

.site-theme-blue .site-footer {
    background: #1e3a8a;
    color: #ffffff;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.site-theme-blue .site-footer__bottom {
    border-top-color: rgba(255, 255, 255, 0.15);
    color: rgba(255, 255, 255, 0.8);
}

.site-theme-blue .site-footer__link,
.site-theme-blue .site-footer__contact {
    color: rgba(255, 255, 255, 0.85);
}

.site-theme-blue .site-footer__link.is-active {
    color: #ffffff;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.site-theme-blue .site-footer__contact--accent {
    color: #ffffff;
    font-weight: 700;
}

.site-theme-light .site-footer.site-footer--scheme-light,
.site-theme-dark .site-footer.site-footer--scheme-light,
.site-theme-blue .site-footer.site-footer--scheme-light {
    background: #f9fafb;
    color: #111827;
    border-top-color: rgba(0, 0, 0, 0.08);
}

.site-theme-light .site-footer.site-footer--scheme-light .site-footer__link,
.site-theme-dark .site-footer.site-footer--scheme-light .site-footer__link,
.site-theme-blue .site-footer.site-footer--scheme-light .site-footer__link,
.site-theme-light .site-footer.site-footer--scheme-light .site-footer__contact,
.site-theme-dark .site-footer.site-footer--scheme-light .site-footer__contact,
.site-theme-blue .site-footer.site-footer--scheme-light .site-footer__contact {
    color: #111827;
    opacity: 0.85;
}

.site-theme-light .site-footer.site-footer--scheme-light .site-footer__link.is-active,
.site-theme-dark .site-footer.site-footer--scheme-light .site-footer__link.is-active,
.site-theme-blue .site-footer.site-footer--scheme-light .site-footer__link.is-active,
.site-theme-light .site-footer.site-footer--scheme-light .site-footer__contact--accent,
.site-theme-dark .site-footer.site-footer--scheme-light .site-footer__contact--accent,
.site-theme-blue .site-footer.site-footer--scheme-light .site-footer__contact--accent {
    color: var(--site-accent, var(--site-primary-color));
    opacity: 1;
    text-decoration: none;
}

.site-theme-light .site-footer.site-footer--scheme-light .site-footer__bottom,
.site-theme-dark .site-footer.site-footer--scheme-light .site-footer__bottom,
.site-theme-blue .site-footer.site-footer--scheme-light .site-footer__bottom {
    border-top-color: rgba(0, 0, 0, 0.08);
    color: inherit;
    opacity: 0.75;
}

.site-theme-light .site-footer.site-footer--scheme-dark,
.site-theme-dark .site-footer.site-footer--scheme-dark,
.site-theme-blue .site-footer.site-footer--scheme-dark {
    background: #18181b;
    color: #f9fafb;
    border-top-color: rgba(255, 255, 255, 0.12);
}

.site-theme-light .site-footer.site-footer--scheme-dark .site-footer__link,
.site-theme-dark .site-footer.site-footer--scheme-dark .site-footer__link,
.site-theme-blue .site-footer.site-footer--scheme-dark .site-footer__link,
.site-theme-light .site-footer.site-footer--scheme-dark .site-footer__contact,
.site-theme-dark .site-footer.site-footer--scheme-dark .site-footer__contact,
.site-theme-blue .site-footer.site-footer--scheme-dark .site-footer__contact {
    color: #e5e7eb;
    opacity: 1;
}

.site-theme-light .site-footer.site-footer--scheme-dark .site-footer__link.is-active,
.site-theme-dark .site-footer.site-footer--scheme-dark .site-footer__link.is-active,
.site-theme-blue .site-footer.site-footer--scheme-dark .site-footer__link.is-active,
.site-theme-light .site-footer.site-footer--scheme-dark .site-footer__contact--accent,
.site-theme-dark .site-footer.site-footer--scheme-dark .site-footer__contact--accent,
.site-theme-blue .site-footer.site-footer--scheme-dark .site-footer__contact--accent {
    color: #e5e7eb;
    opacity: 1;
    text-decoration: none;
}

.site-theme-light .site-footer.site-footer--scheme-dark .site-footer__bottom,
.site-theme-dark .site-footer.site-footer--scheme-dark .site-footer__bottom,
.site-theme-blue .site-footer.site-footer--scheme-dark .site-footer__bottom {
    border-top-color: rgba(255, 255, 255, 0.12);
    color: inherit;
    opacity: 0.75;
}

.site-theme-light .site-footer.site-footer--scheme-custom,
.site-theme-dark .site-footer.site-footer--scheme-custom,
.site-theme-blue .site-footer.site-footer--scheme-custom {
    background: var(--site-footer-bg);
    color: var(--site-footer-text);
    border-top-color: rgba(0, 0, 0, 0.08);
}

.site-theme-light .site-footer.site-footer--scheme-custom .site-footer__brand,
.site-theme-dark .site-footer.site-footer--scheme-custom .site-footer__brand,
.site-theme-blue .site-footer.site-footer--scheme-custom .site-footer__brand,
.site-theme-light .site-footer.site-footer--scheme-custom .site-footer__description,
.site-theme-dark .site-footer.site-footer--scheme-custom .site-footer__description,
.site-theme-blue .site-footer.site-footer--scheme-custom .site-footer__description {
    color: var(--site-footer-text);
    opacity: 0.85;
}

.site-theme-light .site-footer.site-footer--scheme-custom .site-footer__link,
.site-theme-dark .site-footer.site-footer--scheme-custom .site-footer__link,
.site-theme-blue .site-footer.site-footer--scheme-custom .site-footer__link,
.site-theme-light .site-footer.site-footer--scheme-custom .site-footer__contact:not(.site-footer__contact--accent),
.site-theme-dark .site-footer.site-footer--scheme-custom .site-footer__contact:not(.site-footer__contact--accent),
.site-theme-blue .site-footer.site-footer--scheme-custom .site-footer__contact:not(.site-footer__contact--accent) {
    color: var(--site-footer-link);
    opacity: 0.85;
}

.site-theme-light .site-footer.site-footer--scheme-custom .site-footer__link.is-active,
.site-theme-dark .site-footer.site-footer--scheme-custom .site-footer__link.is-active,
.site-theme-blue .site-footer.site-footer--scheme-custom .site-footer__link.is-active,
.site-theme-light .site-footer.site-footer--scheme-custom .site-footer__contact--accent,
.site-theme-dark .site-footer.site-footer--scheme-custom .site-footer__contact--accent,
.site-theme-blue .site-footer.site-footer--scheme-custom .site-footer__contact--accent {
    color: var(--site-footer-link);
    opacity: 1;
    text-decoration: none;
}

.site-theme-light .site-footer.site-footer--scheme-custom .site-footer__bottom,
.site-theme-dark .site-footer.site-footer--scheme-custom .site-footer__bottom,
.site-theme-blue .site-footer.site-footer--scheme-custom .site-footer__bottom {
    border-top-color: rgba(0, 0, 0, 0.08);
    color: inherit;
    opacity: 0.75;
}


.site-section {
    padding: 96px 0;
}

@media (max-width: 768px) {
    .site-section {
        padding: 64px 0;
    }
}

.site-button {
    display: inline-block;
    width: 100%;
    padding: 14px 20px;
    border: none;
    border-radius: 10px;
    background: var(--site-accent, var(--site-primary-color));
    color: var(--site-accent-contrast, #fff);
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: filter 0.15s ease;
}

.site-button:hover {
    filter: brightness(0.92);
}

/* Overlay active navigation must retain the chosen readable overlay link color. */
.site-header.site-header--overlay:not(.site-header--scrolled):not(.site-header--menu-open) .site-header__link.is-active {
    color: var(--site-header-overlay-link, var(--site-header-link, var(--site-header-overlay-text, var(--site-header-text, #fff))));
    text-decoration: underline;
    text-underline-offset: .25em;
}

.site-header.site-header--overlay.site-header--text-dark:not(.site-header--scrolled):not(.site-header--menu-open) .site-header__link.is-active {
    color: var(--site-header-overlay-link, var(--site-header-link, var(--site-header-overlay-text, var(--site-header-text, #111827))));
}

/* Form anchors live on the inner section, not the sortable wrapper. */
.page--sticky-header [id^="lead-form-"] { scroll-margin-top: var(--site-sticky-header-offset, var(--site-sticky-header-offset-fallback)); }

/* Opt-in responsive background images retain the existing cover geometry. */
img.delivery-background-image { width: calc(100% + 128px); height: calc(100% + 128px); object-fit: cover; object-position: center; }

.site-footer__bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px 24px}
.site-footer .site-footer__credit{color:inherit;font-size:.85em;text-decoration:none;opacity:.8}
.site-footer .site-footer__credit:hover{opacity:1;text-decoration:underline}
.site-footer .site-footer__credit:focus-visible{outline:2px solid currentColor;outline-offset:4px}

/* Overlay is transparent at rest; opaque backing belongs to scroll/menu states. */
.site-header.site-header--overlay:not(.site-header--scrolled):not(.site-header--menu-open),
.site-header.site-header--overlay:not(.site-header--scrolled):not(.site-header--menu-open) .site-header__chrome,
.site-header.site-header--overlay:not(.site-header--scrolled):not(.site-header--menu-open) .site-header__chrome::before {
    background: transparent;
}

.site-header.site-header--overlay.site-header--photo-contrast.site-header--scrolled .site-header__link.is-active {
    color: var(--site-header-mobile-link-color);
}

/* An explicit header link colour also owns its phone contact. */
.site-header.site-header--custom-link:not(.site-header--overlay) .site-header__contact.site-header__contact--accent { color: var(--site-header-link); }

/* Explicit active-page style, shared by header, footer and the mobile menu. */
.site-header[data-active-navigation] { --active-nav-menu: var(--site-header-link, var(--site-header-text, inherit)); }
.site-header--overlay[data-active-navigation]:not(.site-header--scrolled):not(.site-header--menu-open) { --active-nav-menu: var(--site-header-overlay-link, var(--site-header-overlay-text, #fff)); }
.site-footer[data-active-navigation] { --active-nav-menu: var(--site-footer-link, inherit); }
[data-active-navigation="palette"] { --active-nav-color: var(--site-accent, var(--site-primary-color)); }
[data-active-navigation="custom"] { --active-nav-color: var(--active-nav-custom); }
[data-active-navigation="menu"] { --active-nav-color: var(--active-nav-menu); }
.site-header[data-active-navigation] .site-header__link.is-active,
.site-footer[data-active-navigation] .site-footer__link.is-active {
    color: var(--active-nav-color) !important;
    font-weight: var(--active-nav-weight) !important;
    text-decoration: var(--active-nav-decoration) !important;
    text-underline-offset: .35em;
    opacity: 1;
}
.site-header--scrolled[data-active-navigation], .site-header--menu-open[data-active-navigation] { --active-nav-menu: var(--site-header-mobile-link-color, var(--site-header-link, inherit)); }
@media (max-width: 991px) {
    .site-header[data-active-navigation] { --active-nav-menu: var(--site-header-mobile-link-color, var(--site-header-link, inherit)); }
}
