/**
 * Theme: Geothermie
 * 
 * Responsive Breakpoint Strategy:
 * - Desktop: 1280px+
 * - Tablet (iPad): 768px - 1024px
 * - Mobile: 520px - 767px
 * - Small Mobile: < 520px
 * 
 * Touch Target Minimums:
 * - Buttons: min-height 44px (iOS guideline)
 * - Interactive elements: min 44x44px
 * 
 * Container Padding:
 * - Desktop (1323px+): 0 (centered)
 * - Desktop (< 1323px): 20px
 * - Tablet: 32px
 * - Mobile: 24px
 * - Small Mobile: 24px
 */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Motiva Sans';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/MotivaSans/font.woff') format('woff'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Motiva Sans';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/MotivaSansMedium/font.woff') format('woff'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Motiva Sans';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/MotivaSansBold/font.woff') format('woff'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
body {
    width: 100%;
    margin: 0;
    font-family: "Motiva Sans",  sans-serif;
    --scroll-bar-height: 95px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body::after {
    content: '';
    position: fixed;
    right: 20px;
    top: 0;
    width: 16px;
    height: var(--scroll-bar-height, 95px);
    background-color: #fff;
    transition: height 0.1s ease-out;
    z-index: 1800;
    border-bottom-left-radius: 32px;
    border-bottom-right-radius: 32px;
    border: 2px solid #00314D;
    border-top: none;
}

@media screen and (max-width: 767px) {
    body::after {
        display: none;
    }
}

h3, h4 {
    font-size: 22px!important;
}
ul {
    list-style: initial;
}
.nav-text {
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 145%;
    color: #fff;
    letter-spacing: 0.3px;
    max-width: 110px;
}
.nav-wrapper {
    display: flex;
    gap: 24px;
    align-items: center;
}
.nav-wrapper.nav-mobile {
    display: none;
}
/* Header Styles */
.site-header {
    background: linear-gradient(90deg, #00314D 38.35%, #467A39 99.63%);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1700;
    width: 100%;
    transform: translateY(0);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.site-header.header-hidden {
    transform: translateY(-150%);
}

.site-header.header-visible {
    transform: translateY(0);
}

.container {
    max-width: 1283px;
    margin: 0 auto;
    padding: 0 20px;
}

@media screen and (min-width: 1323px) {
    .container {
        padding: 0;
    }
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
    .container {
        padding: 0 32px;
    }
}

@media screen and (max-width: 767px) {
    .container {
        padding: 0 24px;
    }
}

@media screen and (max-width: 520px) {
    .container {
        padding: 0 24px;
    }
}

.header-container {
    max-width: 1283px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 85px;
    position: relative;
    z-index: 1600;
    padding: 0 20px;
}

@media screen and (min-width: 1323px) {
    .header-container {
        padding: 0;
    }
}
@media screen and (max-width: 1360px) {
    .nav-wrapper {
        padding-right: 40px;
    }
}
@media screen and (max-width: 768px) {
    .nav-wrapper {
        position: absolute;
        top: 115px;
        left: 24px;
        flex-direction: column;
        align-items: start;
        gap: 11px;
    }
    .nav-wrapper.nav-mobile {
        display: flex;
        z-index: 99;
    }
    .nav-wrapper.nav-desktop {
        display: none;
    }
    .nav-text {
        max-width: unset;
    }
}

.site-branding {
    flex-shrink: 0;
    z-index: 9999;
}

.logo-link {
    display: block;
    line-height: 0;
}

.site-logo {
    height: 50px;
    position: relative;
    top: 0;
    width: auto;
    display: block;
}

/* Navigation Styles */
.main-navigation {
    display: none;
    align-items: center;
}
@media screen and (max-width: 768px) {
    .main-navigation {
        display: flex;
    }
}
.menu-toggle {
    display: none;
}
.hero-header__close {
    display: none;
    width: 32px;
    margin-left: auto;
}
.menu-toggle[aria-expanded="true"] .hero-header__burger {
    display: none;
}
.menu-toggle[aria-expanded="true"] .hero-header__close {
    display: block;
}
.nav-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 40px;
    align-items: flex-end;
}

.nav-menu li {
    margin: 0;
    padding: 0;
    position: relative;
}

.nav-menu a {
    color: #00314D;
    text-decoration: none;
    font-size: 14px;
    letter-spacing: 0.28px;
    font-weight: 500;
    padding: 10px 0 20px 0;
    display: block;
    transition: color 0.3s ease, transform 0.2s ease;
    position: relative;
}

.nav-menu a:hover {
    color: #86BC25;
}

.nav-menu li.current-menu-item>a,
.nav-menu li.current_page_item>a {
    color: #86BC25;
}

.nav-menu li.current-menu-item>a::after,
.nav-menu li.current_page_item>a::after {
    width: 100%;
}

/* FAQ Button Style */
.nav-menu li:last-child {
    height: 70px;
    display: flex;
    align-items: center;
}

.nav-menu li:last-child a {
    position: relative;
    background: #30633f;
    z-index: 1600;
    min-width: 140px;
    color: #fff;
    padding: 0 24px 10px 24px;
    height: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    transition: background 0.3s ease;
}

.nav-menu li:last-child a.scrolled {
    background: #fff;
}

.nav-menu li:last-child a span {
    position: relative;
    z-index: 9999;
    border-radius: 32px;
    background-color: #fff;
    color: #598210;
    padding: 10px 12px;
}

/* Mobile Menu Toggle */
.menu-toggle {
    display: none;
}

/* Mobile Menu Toggle Button Styles */
.menu-toggle {
    background: none;
    border: none;
    padding: 12px 8px;
    cursor: pointer;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    z-index: 1002;
    position: relative;
    width: 48px;
    height: 48px;
    border-radius: 4px;
    transition: background-color 0.3s ease;
}

.menu-toggle:hover {
}

.menu-toggle-bar {
    width: 28px;
    height: 3px;
    background-color: #00314D;
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 3px;
    display: block;
}

.menu-toggle[aria-expanded="true"] .menu-toggle-bar {
    background-color: #00314D;
}

.menu-toggle[aria-expanded="true"] .menu-toggle-bar:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] .menu-toggle-bar:nth-child(2) {
    opacity: 0;
    transform: scale(0);
}

.menu-toggle[aria-expanded="true"] .menu-toggle-bar:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
}

/* Dropdown Menu Styles */
.nav-menu .sub-menu {
    list-style: none;
    margin: 0;
    padding: 15px 0;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #fff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    min-width: 200px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 1000;
}

.nav-menu li:hover>.sub-menu,
.nav-menu li:focus-within>.sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.nav-menu .sub-menu li {
    padding: 0;
}

.nav-menu .sub-menu a {
    padding: 10px 20px;
    display: block;
    white-space: nowrap;
}

.nav-menu .sub-menu a:hover {
    background-color: #f5f5f5;
}

/* Responsive Styles */
@media screen and (max-width: 1024px) and (min-width: 768px) {
    .header-container {
        padding: 0 32px;
    }

    .nav-menu {
        gap: 24px;
    }

    .nav-menu a {
        font-size: 13px;
    }
}
.menu-outer {
    padding-right: 40px;
    display: none;
}
@media screen and (max-width: 768px) {
    body:not(.scrolled) .menu-outer {
        width: 96px;
        background: #689d2f;
        height: 85px;
        margin-right: 17px;
        display: flex;
        align-items: center;
        flex-direction: row;
        padding-right: 10px;
    }
    .nav-menu li:last-child a span {
        background-color: unset;
        color: #fff;
    }
}
@media screen and (max-width: 1024px) {
    .header-container {
        padding: 0;
        min-height: 70px;
    }
    .site-branding {
        padding: 15px 32px;
    }

    .site-logo {
        height: 55px;
        top: 0;
    }

    .menu-toggle {
        display: flex;
        padding: 0;
        margin-left: 23px;
    }

    /* Mobile menu overlay background */
    body.menu-open::before {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 49, 77, 0.6);
        backdrop-filter: blur(4px);
        z-index: 999;
        animation: fadeIn 0.3s ease;
    }

    @keyframes fadeIn {
        from {
            opacity: 0;
        }

        to {
            opacity: 1;
        }
    }

    /* Mobile Navigation Drawer (use transforms for reliable animation) */
    .main-navigation {
        position: fixed;
        top: 0;
        right: 0;
        width: 85%;
        max-width: 360px;
        height: 100vh;
        background-color: #fff;
        transform: translateX(100%);
        /* hidden by moving full-width to the right */
        transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        overflow-y: auto;
        box-shadow: -8px 0 24px rgba(0, 49, 77, 0.15);
        z-index: 1001;
        -webkit-overflow-scrolling: touch;
        align-items: start;
    }

    .main-navigation::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 70px;
        background: linear-gradient(180deg, rgba(134, 188, 37, 0.05) 0%, rgba(134, 188, 37, 0) 100%);
        pointer-events: none;
    }

    .main-navigation.menu-open {
        transform: translateX(0);
    }

    /* Mobile Menu Navigation */
    .nav-menu {
        flex-direction: column;
        gap: 0;
        padding: 120px 24px 40px;
        width: 100%;
        align-items: stretch;
    }

    .nav-menu li {
        width: 100%;
        border-bottom: 1px solid rgba(0, 49, 77, 0.1);
        animation: slideInRight 0.4s ease backwards;
    }

    /* Staggered animation for menu items */
    .menu-open .nav-menu li:nth-child(1) {
        animation-delay: 0.1s;
    }

    .menu-open .nav-menu li:nth-child(2) {
        animation-delay: 0.15s;
    }

    .menu-open .nav-menu li:nth-child(3) {
        animation-delay: 0.2s;
    }

    .menu-open .nav-menu li:nth-child(4) {
        animation-delay: 0.25s;
    }

    .menu-open .nav-menu li:nth-child(5) {
        animation-delay: 0.3s;
    }

    .menu-open .nav-menu li:nth-child(6) {
        animation-delay: 0.35s;
    }

    @keyframes slideInRight {
        from {
            opacity: 0;
            transform: translateX(30px);
        }

        to {
            opacity: 1;
            transform: translateX(0);
        }
    }

    .nav-menu a {
        padding: 18px 12px;
        font-size: 18px;
        font-weight: 500;
        position: relative;
        transition: all 0.3s ease;
    }

    .nav-menu a::after {
        display: none;
    }

    .nav-menu a:hover,
    .nav-menu a:focus {
        padding-left: 20px;
        color: #86BC25;
    }

    .nav-menu a::before {
        content: '';
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-left: 4px solid #86BC25;
        border-top: 4px solid transparent;
        border-bottom: 4px solid transparent;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .nav-menu a:hover::before,
    .nav-menu a:focus::before,
    .nav-menu li.current-menu-item>a::before {
        opacity: 1;
    }

    /* Last menu item (CTA button) styling */
    .nav-menu li:last-child {
        border-bottom: none;
        margin-top: 24px;
        height: auto;
    }

    .nav-menu li:last-child a {
        text-align: center;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 54px;
        border-radius: 32px;
        padding: 0 24px;
        font-size: 16px;
        background-color: #86BC25;
        color: #fff;
        transition: all 0.3s ease;
        box-shadow: 0 4px 12px rgba(134, 188, 37, 0.3);
    }

    .nav-menu li:last-child a:hover,
    .nav-menu li:last-child a:focus {
        padding-left: 24px;
        background-color: #7CB342;
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(134, 188, 37, 0.4);
    }

    .nav-menu li:last-child a::before {
        display: none;
    }

    /* Mobile Dropdown Menus */
    .nav-menu .sub-menu {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        background-color: rgba(134, 188, 37, 0.05);
        display: none;
        padding: 0;
        border-left: 3px solid #86BC25;
        margin-left: 12px;
        margin-top: 8px;
        margin-bottom: 8px;
        border-radius: 4px;
    }

    .nav-menu li.menu-item-has-children>a {
        position: relative;
        padding-right: 40px;
    }

    .nav-menu li.menu-item-has-children>a::after {
        content: '';
        position: absolute;
        right: 12px;
        top: 50%;
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 6px solid #00314D;
        transition: transform 0.3s ease, border-top-color 0.3s ease;
    }

    .nav-menu li.menu-item-has-children.open>a::after {
        transform: translateY(-50%) rotate(180deg);
        border-top-color: #86BC25;
    }

    .nav-menu li.menu-item-has-children.open>.sub-menu {
        display: block;
        animation: slideDown 0.3s ease;
    }

    @keyframes slideDown {
        from {
            opacity: 0;
            max-height: 0;
        }

        to {
            opacity: 1;
            max-height: 500px;
        }
    }

    .nav-menu .sub-menu a {
        padding: 14px 16px;
        font-size: 16px;
        font-weight: 400;
    }

    .nav-menu .sub-menu a:hover,
    .nav-menu .sub-menu a:focus {
        padding-left: 24px;
        background-color: rgba(134, 188, 37, 0.1);
    }
}

@media screen and (max-width: 480px) {
    .header-container {
        min-height: 60px;
    }

    .site-logo {
        height: 55px;
        top: 0;
    }

    .main-navigation {
        width: 100%;
        max-width: 100%;
    }

    .nav-menu {
        padding: 130px 20px 32px;
    }

    .nav-menu a {
        font-size: 17px;
        padding: 16px 10px;
    }

    .nav-menu li:last-child a {
        height: 50px;
        font-size: 15px;
    }
}

/* Accessibility */
.menu-toggle:focus {
    outline: 2px solid #86BC25;
    outline-offset: 2px;
}



/* Prevent body scroll when mobile menu is open */
body.menu-open {
    overflow: hidden;
    position: fixed;
    width: 100%;
    height: 100vh;
    touch-action: none;
}

@media screen and (min-width: 1025px) {
    body.menu-open {
        overflow: visible;
        position: static;
        width: auto;
        height: auto;
        touch-action: auto;
    }
}

/* Smooth scroll behavior */
html {
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

/* Skip link */
.skip-link {
    position: absolute;
    left: -9999px;
    top: 2.5em;
    z-index: 999999999;
    text-decoration: underline;
}

.skip-link:focus {
    display: block;
    left: 6px;
    top: 7px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    line-height: normal;
    padding: 15px 23px 14px;
    z-index: 100000;
    right: auto;
}

/* ========================================
   Footer Styles
   ======================================== */

.site-footer {
    background: #0D2336;
    color: #ffffff;
    margin-top: auto;
}

/* Footer Main Section */
.footer-main {
    position: relative;
    z-index: 1;
    padding: 112px 0 40px 0;
}

.footer-container {
    max-width: 1283px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;

}

@media screen and (min-width: 1323px) {
    .footer-container {
        padding: 0;
    }
}

.footer-main .footer-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    align-items: center;
}

/* Footer Columns */
.footer-column {
    display: flex;
    flex-direction: column;
}

/* Footer Titles */
.footer-title {
    font-size: 26px;
    font-weight: 500;
    line-height: 36px;
    letter-spacing: -0.52px;
    margin-bottom: 13px;
    color: #ffffff;
    position: relative;
}

/* Green Accent Line */
.footer-accent {
    width: 90px;
    height: 6px;
    background-color: #86BC25;
    margin-bottom: 20px;
}

/* Contact Items */
.footer-contact-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    color: #fff;
}

.footer-contact-item a {
    color: #ffffff;
    text-decoration: underline;
    font-size: 15px;
    line-height: 22.5px;
    font-weight: 400;
    transition: color 0.3s ease;
}

.footer-contact-item a:hover,
.footer-contact-item a:focus {
    color: #7CB342;
    text-decoration: underline;
}

/* Footer Navigation (Quicklinks) */
.footer-quicklinks .footer-navigation {
    width: 100%;
    text-align: center;
}

.footer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.footer-menu li {
    margin: 0;
    padding: 0;
}

.footer-menu a {
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.28px;
    transition: color 0.3s ease;
    display: inline-block;
}

.footer-menu a:hover,
.footer-menu a:focus {
    color: #7CB342;
}

/* Footer Logos */
.footer-logos {
    display: flex;
    flex-direction: column;
    gap: 30px;
    align-items: flex-end;
    justify-content: center;
}

.footer-logo-item {
    display: flex;
    align-items: center;
}

.footer-logo {
    max-height: 50px;
    width: auto;
    filter: brightness(0) invert(1);
    transition: opacity 0.3s ease;
}

.footer-logo:hover {
    opacity: 0.8;
}

/* Footer Bottom Section */
.footer-bottom {
    padding: 24px 0;
    position: relative;
}

.footer-bottom::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background-color: #BAC5CD;
    z-index: 2;
}

.footer-gradient {
    position: absolute;
    bottom: 0;
    left: -60px;
    width: 360px;
    height: 255px;
    object-fit: cover;
    pointer-events: none;
    z-index: 0;
}

.footer-bottom-content {
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 1;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.footer-copyright {
    color: #ffffff;
    font-size: 13px;
}

.footer-bottom-right {
    display: flex;
    align-items: center;
    gap: 30px;
    flex-wrap: wrap;
}

.footer-credit {
    color: #ffffff;
    font-size: 13px;
    margin: 0;
}

.footer-credit a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-credit a:hover,
.footer-credit a:focus {
    color: #7CB342;
}
@media screen and (min-width: 767px) {
    .footer-credit {
        display: none;
    }
}
.footer-credit-desktop {
    color: #ffffff;
    font-size: 13px;
    margin: 0;
}
.footer-credit-desktop a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.3s ease;
}
@media screen and (max-width: 767px) {
    .footer-credit-desktop {
        display: none;
    }
}

/* Footer Bottom Navigation */
.footer-bottom-navigation {
    display: flex;
}

.footer-bottom-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 25px;
    align-items: center;
}

.footer-bottom-menu li {
    margin: 0;
    padding: 0;
}

.footer-bottom-menu a {
    color: #ffffff;
    text-decoration: none;
    font-size: 13px;
    transition: color 0.3s ease;
}

.footer-bottom-menu a:hover,
.footer-bottom-menu a:focus {
    color: #7CB342;
}

/* Responsive Styles */
@media screen and (max-width: 992px) {
    .footer-main .footer-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 30px;
    }

    .footer-logos {
        flex-direction: row;
        gap: 40px;
        grid-column: 1 / -1;
        justify-content: center;
    }
}

@media screen and (max-width: 767px) {
    .footer-main {
        padding: 40px 0 30px;
    }

    .footer-main .footer-container {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .footer-quicklinks .footer-navigation {
        text-align: left;
    }

    .footer-title {
        font-size: 16px;
        margin-bottom: 15px;
    }

    .footer-contact-item a,
    .footer-menu a {
        font-size: 15px;
    }

    .footer-logos {
        gap: 16px;
        align-items: center;
        grid-column: auto;
    }
    .footer-column.footer-logos {
        align-items: flex-start;
        flex-direction: column;
    }

    .footer-logo {
        max-height: 35px;
    }

    .footer-bottom-content {
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }

    .footer-bottom-right {
        flex-direction: column;
        gap: 15px;
    }

    .footer-bottom-menu {
        flex-wrap: wrap;
        justify-content: center;
        gap: 15px 20px;
    }
}

@media screen and (max-width: 480px) {
    .footer-main {
        padding: 30px 24px;
    }

    .footer-container {
        padding: 0;
    }

    .footer-gradient {
        width: 100%;
        left: 0;
    }

    .footer-accent {
        width: 60px;
        height: 2px;
    }

    .footer-title {
        font-size: 15px;
    }

    .footer-contact-item a,
    .footer-menu a {
        font-size: 14px;
    }

    .footer-logo {
        max-height: 15px;
    }

    .tab-module__background {
        display: none;
    }

    .footer-copyright,
    .footer-credit,
    .footer-bottom-menu a {
        font-size: 13px;
    }
}

/* Accessibility */
.footer-menu a:focus,
.footer-bottom-menu a:focus,
.footer-contact-item a:focus,
.footer-credit a:focus {
    outline: 2px solid #7CB342;
    outline-offset: 2px;
}

/* Hero header block */
.hero-header {
    margin-top: 70px;
    position: relative;
    overflow: visible;
    background-color: #00314D;
    color: #ffffff;
    padding: 25px 0 75px 0;
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
    .hero-header {
        padding: 60px 0;
    }
}

.hero-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("../img/Background%20shape.svg") no-repeat center bottom;
    background-size: 100% auto;
    z-index: 1;
}

.hero-header__decor {
    position: absolute;
    top: 21%;
    right: calc((100% - min(100%, 1283px)) / 2);
    transform: translateY(-35%);
    z-index: 1500;
    pointer-events: none;
}
.hero-header__decor_mobile {
    display: none;
}

.hero-header__container {
    position: relative;
    z-index: 1650;
}

.hero-header__subtitle {
    font-size: 19px;
    font-weight: 500;
    color: #86BC25;
    margin: 70px 0 37px 0;
}

.hero-header__title {
    max-width: 939px;
    font-size: 72px;
    line-height: 110%;
    font-weight: 700;
    letter-spacing: -1.6px;
    margin: 0 0 144px 0;
}
.logo-wrapper {
    display: flex;
    gap: 15px;
}
.logo-wrapper a {
    align-content: center;
    display: block;
}
.logo-wrapper a:nth-child(2) {
    padding-left: 15px;
    border-left: 1px solid #fff;
}
.hero-header__description {
    font-size: 21px;
    line-height: 30px;
    max-width: 540px;
    margin: 0 0 42px;
    font-weight: 400;
    color: #fff;
}

.hero-header__description strong,
.hero-header__description b {
    font-weight: 700;
}

.hero-header__description em,
.hero-header__description i {
    font-style: italic;
}

.hero-header__description u {
    text-decoration: underline;
}

.hero-header__button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px 10px 16px;
    min-height: 44px;
    border-radius: 999px;
    background: #86BC25;
    color: #00314D;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    letter-spacing: 0.28px;
    transition: all 0.3s ease;
}

.hero-header__button-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 18px;
    transition: all 0.3s ease;
}

.hero-header__button-icon svg {
    width: 22px;
    height: 22px;
}

.hero-header__button:hover,
.hero-header__button:focus {
    transform: translateY(-2px) scale(1.05);
    filter: brightness(1.05);
}

.hero-header__button:focus {
    outline: 3px solid rgba(255, 255, 255, 0.6);
    outline-offset: 3px;
}

.hero-header__button-label {
    display: inline-flex;
    align-items: center;
}

.hero-header__illustration {
    position: relative;
    width: 100%;
    max-width: 1283px;
    height: auto;
    display: block;
    margin: 53px auto 0;
    z-index: 1;
}

@media screen and (max-width: 1024px) {
    .hero-header {
        padding: 70px 0 90px;
    }

    .hero-header__decor {
        right: -22%;
        width: 360px;
        height: 480px;
    }

    .hero-header__title {
        margin-bottom: 88px;
    }

    .hero-header__description {
        max-width: 480px;
    }

    .hero-header__illustration {
        margin: -60px auto 0;
    }
}

@media screen and (max-width: 767px) {
    .hero-header {
        padding: 230px 0 70px;
        overflow-x: hidden;
    }

    .hero-header::before {
        left: 0;
        right: auto;
        width: 200%;
        transform: unset;
    }

    .hero-header__container {
        width: auto;
    }

    .hero-header__subtitle {
        font-size: 16px;
        margin: 50px 0 16px 0;
        letter-spacing: 0.3px;
    }

    .hero-header__title {
        font-size: clamp(32px, 7vw, 50px);
        overflow-wrap: break-word;
        margin-bottom: 48px;
    }

    .hero-header__description {
        font-size: 18px;
        max-width: 100%;
        overflow-wrap: break-word;
    }

    .hero-header__decor {
        display: none;
    }
    .hero-header__decor_mobile {
        display: block;
        position: absolute;
        right: 16px;
        top: 0;
        width: 300px;
        max-width: unset;
        z-index: 9;
    }

    .hero-header__illustration {
        margin: -40px auto 0;
    }
}

@media screen and (max-width: 520px) {

    .hero-header__title {
        font-size: 42px;
    }

    .hero-header__description {
        font-size: 16px;
        line-height: 1.5;
    }

    .hero-header__button {
        width: 100%;
        justify-content: center;
        padding: 12px 24px;
        font-size: 15px;
        max-width: max-content;
    }

    .hero-header__illustration {
        margin: 10px auto 0;
    }
}

/* FAQ Module */
.faq-module {
    position: relative;
    background-color: #ffffff;
    overflow: hidden;
}

/* Spacing variations */
.faq-module--default-space {
    padding: 80px 0;
}

.faq-module--space-above {
    padding: 80px 0 0 0;
}

.faq-module--space-below {
    padding: 0 0 80px 0;
}

.faq-module--no-space {
    padding: 0;
}

/* Top Section with Intro and Contact Box */
.faq-module__top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 60px;
    margin-bottom: 60px;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 80px;
}

.faq-module__intro {
    flex: 1;
    max-width: 720px;
}

.faq-module__headline {
    margin: 0 0 8px 0;
    font-size: 40px;
    line-height: 48px;
    letter-spacing: -0.8px;
    color: #00314D;
    font-weight: 500;
}

.faq-module__headline::before {
    content: '';
    display: block;
    width: 90px;
    height: 6px;
    background-color: #86BC25;
    margin-bottom: 20px;
}

.faq-module__teaser {
    max-width: 580px;
    font-size: 17px;
    line-height: 25px;
    color: #00314D;
}

.faq-module__teaser p {
    margin: 0 0 16px 0;
}

.faq-module__teaser p:last-child {
    margin-bottom: 0;
}

.faq-module__teaser strong,
.faq-module__teaser b {
    font-weight: 700;
}

.faq-module__teaser em,
.faq-module__teaser i {
    font-style: italic;
}

.faq-module__teaser u {
    text-decoration: underline;
}

/* Category Filters */
.faq-module__filters {
    margin: 48px 0 48px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.faq-module__filter-btn {
    padding: 10px 20px;
    background: transparent;
    border: 1px solid #86BC25;
    border-radius: 32px;
    font-size: 14px;
    line-height: 17px;
    color: #598210;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: "Motiva Sans",  sans-serif;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.faq-module__filter-btn:hover {
    background-color: #8CC63F;
    color: #ffffff;
}

.faq-module__filter-btn.active {
    background-color: #86BC25;
    color: #00314D;
}

/* Contact Box (Green) */
.faq-module__contact-box {
    position: absolute;
    right: 81px;
    top: 250px;
    width: 306px;
    min-height: 287px;
    background-color: #86BC25;
    padding: 40px;
    border-radius: 0;
    z-index: 10;
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
    .faq-module__contact-box {
        position: static;
        width: 100%;
        max-width: 400px;
        margin-top: 0;
        padding: 32px;
    }
}

.faq-module__contact-headline {
    margin: 0 0 8px 0;
    font-size: 26px;
    line-height: 32px;
    letter-spacing: -0.52px;
    color: #00314D;
    font-weight: 500;
    max-width: 306px;
}

.faq-module__contact-headline::before {
    content: '';
    display: block;
    width: 60px;
    height: 6px;
    background-color: #ffffff;
    margin-bottom: 20px;
}

.faq-module__contact-text {
    margin-bottom: 24px;
    font-size: 15px;
    line-height: 22px;
    color: #00314D;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.faq-module__contact-text p {
    margin: 0 0 12px 0;
}

.faq-module__contact-text p:last-child {
    margin-bottom: 0;
}

.faq-module__contact-text strong,
.faq-module__contact-text b {
    font-weight: 700;
}

.faq-module__contact-text em,
.faq-module__contact-text i {
    font-style: italic;
}

.faq-module__contact-text u {
    text-decoration: underline;
}

.faq-module__contact-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 10px 20px 10px 16px;
    background-color: #ffffff;
    border-radius: 32px;
    font-size: 14px;
    line-height: 22px;
    color: #598210;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
}

.faq-module__contact-btn:hover,
.faq-module__contact-btn:focus {
    transform: scale(1.05);
}

.faq-module__contact-btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background-image: url('../img/mail.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: all 0.3s ease;
}

.faq-module__contact-btn-icon img {
    width: 100%;
    height: auto;
}

.faq-module__contact-btn-label {
    font-size: inherit;
}

/* FAQ Content Section with Dark Background */
.faq-module__content {
    background-color: #00314D;
    background-image: url("../img/faq_background.svg");
    background-repeat: no-repeat;
    background-position: right 0 bottom 0;
    background-size: 705px auto;
    padding: 60px 80px 80px;
    margin: 0 -80px;
}

.faq-module__category-section {
    max-width: 1283px;
    margin: 0 auto 60px auto;
    display: block;
}

.faq-module__category-section:last-child {
    margin-bottom: 0;
}

.faq-module__category-section.hidden {
    display: none;
}

.faq-module__category-headline {
    margin: 0 0 24px 0;
    font-size: 26px;
    line-height: 36px;
    letter-spacing: -0.52px;
    color: #ffffff;
    font-weight: 500;
}

.faq-module__list {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.faq-item {
    overflow: hidden;
    border: 1px solid #fff;
    max-width: 790px;
}

.faq-item.is-active {
    background: #ffffff;
    border-color: transparent;
    box-shadow: 0 24px 40px rgba(5, 38, 55, 0.25);
}

.faq-item__toggle {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 16px 24px 16px 32px;
    min-height: 60px;
    background: transparent;
    border: none;
    cursor: pointer;
    font-size: 17px;
    font-weight: 500;
    line-height: 25px;
    color: inherit;
    text-align: left;
    transition: color 0.3s ease, background-color 0.3s ease, padding 0.3s ease;
}

.faq-item.is-active .faq-item__toggle {
    color: #00314D;
    padding-bottom: 12px;
}

.faq-item__title {
    flex: 1;
    font-size: inherit;
    color: #fff;
    font-family: "Motiva Sans", sans-serif;
}

.faq-item.is-active .faq-item__title {
    color: #00314D;
}

.faq-item__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
}

.faq-icon {
    display: none;
    width: 40px;
    height: 40px;
}

.faq-icon--plus {
    display: block;
}

.faq-item.is-active .faq-icon--plus {
    display: none;
}

.faq-item.is-active .faq-icon--minus {
    display: block;
}

.faq-item__content {
    display: none;
    color: #00314D;
    background: #ffffff;
}

.faq-item.is-active .faq-item__content {
    display: block;
}

.faq-item__content-inner {
    padding: 0 32px 34px;
    font-size: 15px;
    line-height: 22px;
    font-weight: 400;
    max-width: 700px;
}

.faq-item__content-inner>*:first-child {
    margin-top: 0;
}

.faq-item__content-inner>*:last-child {
    margin-bottom: 0;
}

.faq-item__content-inner strong,
.faq-item__content-inner b {
    font-weight: 700;
}

.faq-item__content-inner em,
.faq-item__content-inner i {
    font-style: italic;
}

.faq-item__content-inner u {
    text-decoration: underline;
}

.faq-item__content-inner img {
    max-width: 100%;
    border-radius: 12px;
    height: auto;
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
    .faq-module__top {
        padding: 0 32px;
    }

    .faq-module__content {
        padding: 50px 32px 70px;
        margin: 0 -32px;
        background-size: 460px auto;
    }

    .faq-module__headline {
        font-size: 36px;
        line-height: 44px;
    }

    .faq-item__toggle {
        padding: 20px 24px;
        font-size: 17px;
    }
}

@media screen and (max-width: 767px) {
    .faq-module__top {
        padding: 0 24px;
    }

    .faq-module__content {
        padding: 40px 24px 60px;
        margin: 0px;
        background-size: 340px auto;
    }

    .faq-item__toggle {
        font-size: 18px;
        padding: 22px 26px;
    }

    .faq-item.is-active .faq-item__toggle {
        padding-bottom: 10px;
    }

    .faq-item__content-inner {
        padding: 0 26px 30px;
    }
}

@media screen and (max-width: 767px) {
    .faq-module--default-space {
        padding: 60px 0;
    }

    .faq-module--space-above {
        padding: 60px 0 0 0;
    }

    .faq-module--space-below {
        padding: 0 0 60px 0;
    }

    .faq-module__top {
        padding: 0 24px;
    }

    .faq-module__content {
        padding: 40px 24px 60px;
        margin: 0px;
        background-image: none;
    }

    .faq-module__top {
        flex-direction: column;
        gap: 32px;
        margin-bottom: 40px;
    }

    .faq-module__intro {
        max-width: 100%;
    }

    .faq-module__headline {
        font-size: 28px;
        line-height: 36px;
    }

    .faq-module__headline::before {
        width: 60px;
        height: 3px;
        margin-bottom: 20px;
    }

    .faq-module__teaser {
        font-size: 16px;
        line-height: 24px;
        margin: 20px 0 32px 0;
    }

    .faq-module__contact-box {
        max-width: 100%;
        width: 100%;
    }

    .faq-module__category-section {
        margin-bottom: 48px;
    }

    .faq-module__category-headline {
        font-size: 22px;
        margin-bottom: 20px;
    }

    .faq-item__toggle {
        font-size: 17px;
        padding: 20px 22px;
        gap: 16px;
    }

    .faq-item__icon {
        width: 34px;
        height: 34px;
    }

    .faq-icon {
        width: 34px;
        height: 34px;
    }

    .faq-item__content-inner {
        padding: 0 22px 26px;
        font-size: 17px;
    }
}

@media screen and (max-width: 520px) {
    .faq-module--default-space {
        padding: 50px 0;
    }

    .faq-module--space-above {
        padding: 50px 0 0 0;
    }

    .faq-module--space-below {
        padding: 0 0 50px 0;
    }

    .faq-module__top {
        padding: 0 24px;
        gap: 16px;
    }

    .faq-module__content {
        padding: 30px 24px 50px;
    }

    .faq-module__headline::before {
        width: 50px;
        margin-bottom: 16px;
    }

    .faq-module__teaser {
        font-size: 15px;
        line-height: 22px;
        margin: 16px 0 28px 0;
    }

    .faq-module__filters {
        gap: 10px;
        margin: 16px 0 16px 0;
    }

    .faq-module__filter-btn {
        padding: 10px 20px;
        font-size: 14px;
    }

    .faq-module__contact-box {
        padding: 24px 20px;
    }

    .faq-module__contact-headline {
        font-size: 20px;
        line-height: 28px;
    }

    .faq-module__contact-text {
        font-size: 14px;
        line-height: 20px;
    }

    .faq-module__category-section {
        margin-bottom: 40px;
    }

    .faq-module__category-headline {
        font-size: 20px;
        margin-bottom: 16px;
    }

    .faq-item__toggle {
        font-size: 16px;
        padding: 18px 24px;
    }

    .faq-item.is-active .faq-item__toggle {
        padding-bottom: 8px;
    }

    .faq-item__content-inner {
        padding: 0 18px 22px;
        font-size: 16px;
    }
}

/* Big Image Text Module */
.big-image-text-module {
    position: relative;
    background-color: #fff;
    overflow: hidden;
}

/* Spacing variations */
.big-image-text-module--default-space {
    padding: 160px 0 280px 0;
}

.big-image-text-module--space-above {
    padding: 160px 0 0 0;
}

.big-image-text-module--space-below {
    padding: 0 0 280px 0;
}

.big-image-text-module--no-space {
    padding: 0;
}

.big-image-text-module__container {
    max-width: 1283px;
    margin: 0 auto;
}

/* Top content section */
.big-image-text-module__content-top {
    margin-bottom: 48px;
}

.big-image-text-module__accent {
    width: 90px;
    height: 6px;
    background-color: #86BC25;
    margin-bottom: 24px;
}

.big-image-text-module__headline {
    font-size: 40px;
    line-height: 48px;
    font-weight: 500;
    color: #00314D;
    margin: 0 0 32px;
    letter-spacing: -0.8px;
}

.big-image-text-module__intro {
    max-width: 100%;
    padding-left: 100px;
}

.big-image-text-module__intro-text {
    font-size: 17px;
    line-height: 25.5px;
    color: #00314D;
    font-weight: 400;
    max-width: 920px;
}

.big-image-text-module__intro-text p {
    margin: 0 0 16px;
}

.big-image-text-module__intro-text p:last-child {
    margin-bottom: 0;
}

.big-image-text-module__intro-text strong,
.big-image-text-module__intro-text b {
    font-weight: 700;
}

.big-image-text-module__intro-text em,
.big-image-text-module__intro-text i {
    font-style: italic;
}

.big-image-text-module__intro-text u {
    text-decoration: underline;
}

/* Media section with image and blue text box */
.big-image-text-module__media-section {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: flex-start;
}

.big-image-text-module__image-wrapper {
    position: relative;
    width: 100%;
    max-width: calc(50% + 640px);
    height: 414px;
    overflow: hidden;
}

.big-image-text-module__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    min-height: inherit;
}

/* Blue text box overlay */
.big-image-text-module__text-box {
    position: absolute;
    bottom: -165px;
    left: 50%;
    transform: translateX(-57%);
    max-width: 1024px;
    width: calc(100% - 40px);
    background-color: #00314D;
    padding: 40px;
    z-index: 2;
}

.big-image-text-module__text-box-content {
    color: #ffffff;
    font-size: 17px;
    line-height: 25px;
    font-weight: 400;
}

.big-image-text-module__text-box-content p {
    margin: 0 0 16px;
}

.big-image-text-module__text-box-content p:last-child {
    margin-bottom: 0;
}

.big-image-text-module__text-box-content h3,
.big-image-text-module__text-box-content h4 {
    color: #ffffff;
    margin: 0 0 16px;
    font-weight: 500;
    font-size: 17px;
    line-height: 25.5px;
}

.big-image-text-module__text-box-content strong,
.big-image-text-module__text-box-content b {
    font-weight: 700;
}

.big-image-text-module__text-box-content em,
.big-image-text-module__text-box-content i {
    font-style: italic;
}

.big-image-text-module__text-box-content u {
    text-decoration: underline;
}

.big-image-text-module__text-box-content a {
    color: #86BC25;
    text-decoration: underline;
    transition: color 0.3s ease;
}

.big-image-text-module__text-box-content a:hover,
.big-image-text-module__text-box-content a:focus {
    color: #7CB342;
}

/* Responsive Styles */
@media screen and (max-width: 1280px) {
    .big-image-text-module__container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .big-image-text-module__image-wrapper {
        max-width: 100%;
    }
}

@media screen and (max-width: 1180px) and (min-width: 768px) {
    .big-image-text-module--default-space {
        padding: 120px 0 200px;
    }

    .big-image-text-module--space-above {
        padding: 120px 0 0;
    }

    .big-image-text-module--space-below {
        padding: 0 0 200px;
    }

    .big-image-text-module__content-top {
        margin-bottom: 44px;
    }

    .big-image-text-module__headline {
        font-size: 38px;
        line-height: 46px;
        margin-bottom: 28px;
    }

    .big-image-text-module__intro-text {
        font-size: 16px;
        line-height: 24px;
    }

    .big-image-text-module__intro {
        padding-left: 0;
    }

    .big-image-text-module__media-section {
        flex-direction: column;
        align-items: center;
        gap: 32px;
    }

    .big-image-text-module__image-wrapper {
        height: auto;
        min-height: 380px;
    }

    .big-image-text-module__text-box {
        position: relative;
        left: auto;
        bottom: auto;
        transform: none;
        width: 100%;
        max-width: 960px;
        padding: 38px 40px;
        margin-top: 0;
    }
}

@media screen and (max-width: 767px) {
    .big-image-text-module--default-space {
        padding: 60px 0;
    }

    .big-image-text-module--space-above {
        padding: 60px 0 0;
    }

    .big-image-text-module--space-below {
        padding: 0 0 60px;
    }

    .big-image-text-module__content-top {
        margin-bottom: 40px;
    }

    .big-image-text-module__accent {
        width: 70px;
        height: 5px;
        margin-bottom: 20px;
    }

    .big-image-text-module__headline {
        font-size: 30px;
        line-height: 38px;
        margin-bottom: 24px;
    }

    .big-image-text-module__intro-text {
        font-size: 16px;
        line-height: 24px;
    }

    .big-image-text-module__intro {
        padding-left: 0;
    }

    .big-image-text-module__media-section {
        flex-direction: column;
        align-items: center;
        gap: 0;
    }

    .big-image-text-module__image-wrapper {
        height: auto;
        min-height: 320px;
    }

    .big-image-text-module__text-box {
        position: relative;
        left: auto;
        bottom: auto;
        transform: none;
        padding: 32px 36px;
        width: 100%;
        max-width: 900px;
        margin-top: 0;
    }
}

@media screen and (max-width: 520px) {
    .big-image-text-module--default-space {
        padding: 50px 0;
    }

    .big-image-text-module--space-above {
        padding: 50px 0 0;
    }

    .big-image-text-module--space-below {
        padding: 0 0 50px;
    }

    .big-image-text-module__container {
        padding-left: 24px;
        padding-right: 24px;
    }

    .big-image-text-module__content-top {
        margin-bottom: 32px;
    }

    .big-image-text-module__accent {
        width: 60px;
        height: 4px;
        margin-bottom: 16px;
    }

    .big-image-text-module__headline {
        font-size: 26px;
        line-height: 34px;
        margin-bottom: 20px;
    }

    .big-image-text-module__intro-text {
        font-size: 15px;
        line-height: 22.5px;
    }

    .big-image-text-module__image-wrapper {
        height: auto;
        min-height: 0;
    }

    .big-image-text-module__text-box {
        padding: 28px 24px;
        position: relative;
        width: 100%;
        left: auto;
        bottom: auto;
        transform: none;
        margin-top: 0;
    }

    .big-image-text-module__text-box-content {
        font-size: 14px;
        line-height: 21px;
    }
}

/* CTA Module */
.cta-module {
    position: relative;
    background-color: #86BC25;
    padding: 100px 0;
    overflow: hidden;
    color: #00314D;
}

.cta-module__decor {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background-image: url("../img/cta_decor.svg");
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: contain;
    pointer-events: none;
    z-index: 1;
}

.cta-module__container {
    position: relative;
    z-index: 2;
    max-width: 1280px;
    margin: 0 auto;
}

.cta-module__title {
    font-size: 40px;
    line-height: 48px;
    font-weight: 500;
    color: #00314D;
    margin: 0 0 8px;
    max-width: 800px;
    text-align: left;
}

.cta-module__description {
    font-size: 17px;
    line-height: 24px;
    color: #00314D;
    margin: 0;
    max-width: 710px;
}

.cta-module__description p {
    margin: 0 0 16px;
}

.cta-module__description p:last-child {
    margin-bottom: 0;
}

.cta-module__description strong,
.cta-module__description b {
    font-weight: 700;
}

.cta-module__description em,
.cta-module__description i {
    font-style: italic;
}

.cta-module__description u {
    text-decoration: underline;
}

.cta-module__button {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.cta-module__btn {
    margin-top: 48px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    min-height: 44px;
    border-radius: 32px;
    background-color: #ffffff;
    color: #598210;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    letter-spacing: 0.28px;
    transition: all 0.3s ease;
}

.cta-module__btn:hover,
.cta-module__btn:focus {
    transform: scale(1.05);
    background-color: #f8f8f8;
}

.cta-module__btn:focus {
    outline: 3px solid rgba(0, 49, 77, 0.4);
    outline-offset: 3px;
}

.cta-module__btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.cta-module__btn-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.cta-module__btn-label {
    display: inline-flex;
    align-items: center;
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
    .cta-module {
        padding: 90px 0;
    }

    .cta-module__container {
        padding: 0 32px;
    }

    .cta-module__title {
        font-size: 38px;
        line-height: 46px;
    }

    .cta-module__description {
        font-size: 16px;
        margin-bottom: 36px;
    }

    .cta-module__btn {
        padding: 12px 24px;
        font-size: 15px;
    }
}

@media screen and (max-width: 767px) {
    .cta-module {
        padding: 60px 0;
    }

    .cta-module__decor {
        width: 60%;
        background-size: 50px 50px;
    }

    .cta-module__title {
        font-size: clamp(26px, 6vw, 36px);
        margin-bottom: 24px;
    }

    .cta-module__description {
        font-size: 16px;
        margin-bottom: 32px;
    }

    .cta-module__button {
        flex-direction: column;
        align-items: flex-start;
    }

    .cta-module__btn {
        width: 100%;
        justify-content: center;
        padding: 14px 24px;
    }
}

@media screen and (max-width: 520px) {
    .cta-module {
        padding: 50px 0;
    }

    .cta-module__container {
        padding: 0 24px;
    }

    .cta-module__decor {
        width: 70%;
        background-size: 40px 40px;
    }

    .cta-module__title {
        font-size: clamp(24px, 7vw, 32px);
        margin-bottom: 20px;
    }

    .cta-module__description {
        font-size: 15px;
        margin-bottom: 28px;
    }

    .cta-module__btn {
        font-size: 15px;
        padding: 12px 20px;
    }
}

/* ========================================
   FAQ Archive Page Styles
   ======================================== */

.faqs-archive-container {
    max-width: 1283px;
    margin: 0 auto;
    padding: 60px 20px 100px;
}

.page-header {
    margin-bottom: 48px;
}

.page-title {
    font-size: 40px;
    line-height: 48px;
    font-weight: 500;
    color: #00314D;
    margin: 0;
    letter-spacing: -0.8px;
}

/* FAQ Filter Bar */
.faq-filter-bar {
    margin-bottom: 48px;
    padding-bottom: 24px;
    border-bottom: 1px solid #e0e0e0;
}

.faq-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.faq-filter-btn {
    padding: 10px 20px;
    background-color: #fff;
    border: 2px solid #00314D;
    border-radius: 32px;
    color: #00314D;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.28px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: "Motiva Sans", sans-serif;
}

.faq-filter-btn:hover {
    background-color: #f5f5f5;
    transform: scale(1.05);
}

.faq-filter-btn.active {
    background-color: #86BC25;
    border-color: #86BC25;
    color: #fff;
}

.faq-filter-btn:focus {
    outline: 2px solid #86BC25;
    outline-offset: 2px;
}

/* FAQ Category Headline */
.faq-category-headline {
    font-size: 32px;
    line-height: 40px;
    font-weight: 500;
    color: #00314D;
    margin: 0 0 32px;
    letter-spacing: -0.64px;
}

/* FAQ List */
.faqs-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.faq-item {
    border: 1px solid #fff;
    overflow: hidden;
    transition: all 0.3s ease;
}

.faq-item.faq-open {
    border-color: #86BC25;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.faq-question-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 20px 24px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.faq-question-wrapper:hover {
    background-color: #f5f5f5;
}

.faq-item.faq-open .faq-question-wrapper {
    background-color: #f9f9f9;
    border-bottom: 1px solid #e0e0e0;
}

.faq-question {
    flex: 1;
    margin: 0;
    font-size: 18px;
    line-height: 27px;
    font-weight: 500;
    color: #00314D;
}

.faq-question p {
    margin: 0;
}

.faq-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    font-size: 28px;
    font-weight: 300;
    color: #00314D;
    line-height: 1;
    transition: transform 0.3s ease, color 0.3s ease;
}

.faq-item.faq-open .faq-toggle {
    color: #86BC25;
    transform: rotate(45deg);
}

.faq-answer {
    padding: 24px 32px 32px;
    font-size: 15px;
    line-height: 22.5px;
    color: #333;
    font-weight: 400;
}

.faq-answer p {
    margin: 0 0 16px;
}

.faq-answer p:last-child {
    margin-bottom: 0;
}

.faq-answer h3,
.faq-answer h4,
.faq-answer h5 {
    color: #00314D;
    font-weight: 500;
    margin: 24px 0 12px;
}

.faq-answer h3 {
    font-size: 20px;
    line-height: 28px;
}

.faq-answer h4 {
    font-size: 18px;
    line-height: 26px;
}

.faq-answer h5 {
    font-size: 16px;
    line-height: 24px;
}

.faq-answer ul,
.faq-answer ol {
    margin: 16px 0;
    padding-left: 24px;
}

.faq-answer li {
    margin-bottom: 8px;
}

.faq-answer a {
    color: #86BC25;
    text-decoration: underline;
    transition: color 0.3s ease;
}

.faq-answer a:hover,
.faq-answer a:focus {
    color: #00314D;
}

.faq-answer img {
    max-width: 100%;
    height: auto;
    margin: 16px 0;
    border-radius: 8px;
}

.faq-answer strong,
.faq-answer b {
    font-weight: 700;
}

.faq-answer em,
.faq-answer i {
    font-style: italic;
}

.faq-answer u {
    text-decoration: underline;
}

.no-faqs {
    text-align: center;
    padding: 60px 20px;
    font-size: 18px;
    color: #666;
}

/* Responsive Styles */
@media screen and (max-width: 1024px) {
    .faqs-archive-container {
        padding: 50px 20px 80px;
    }

    .page-title {
        font-size: 36px;
        line-height: 44px;
    }

    .faq-category-headline {
        font-size: 28px;
        line-height: 36px;
    }
}

@media screen and (max-width: 767px) {
    .faqs-archive-container {
        padding: 40px 20px 60px;
    }

    .page-header {
        margin-bottom: 36px;
    }

    .page-title {
        font-size: 32px;
        line-height: 40px;
    }

    .faq-filter-bar {
        margin-bottom: 36px;
    }

    .faq-category-headline {
        font-size: 24px;
        line-height: 32px;
        margin-bottom: 24px;
    }

    .faq-question-wrapper {
        padding: 18px 20px;
        gap: 16px;
    }

    .faq-question {
        font-size: 17px;
        line-height: 25.5px;
    }

    .faq-toggle {
        width: 28px;
        height: 28px;
        font-size: 24px;
    }

    .faq-answer {
        padding: 20px 24px 24px;
        font-size: 16px;
        line-height: 24px;
    }
}

@media screen and (max-width: 520px) {
    .faqs-archive-container {
        padding: 32px 24px 50px;
    }

    .page-header {
        margin-bottom: 32px;
    }

    .page-title {
        font-size: 28px;
        line-height: 36px;
    }

    .faq-filter-bar {
        margin-bottom: 32px;
        padding-bottom: 20px;
    }

    .faq-filters {
        gap: 10px;
    }

    .faq-filter-btn {
        padding: 8px 16px;
        font-size: 13px;
    }

    .faq-category-headline {
        font-size: 22px;
        line-height: 30px;
        margin-bottom: 20px;
    }

    .faq-question-wrapper {
        padding: 16px;
        gap: 12px;
    }

    .faq-question {
        font-size: 16px;
        line-height: 24px;
    }

    .faq-toggle {
        width: 26px;
        height: 26px;
        font-size: 22px;
    }

    .faq-answer {
        padding: 18px 20px 20px;
        font-size: 15px;
        line-height: 22.5px;
    }

    .faq-answer h3 {
        font-size: 18px;
        line-height: 26px;
    }

    .faq-answer h4 {
        font-size: 17px;
        line-height: 24px;
    }

    .faq-answer h5 {
        font-size: 15px;
        line-height: 22px;
    }
}

/* Accessibility improvements */
.faq-question-wrapper:focus {
    outline: 2px solid #86BC25;
    outline-offset: -2px;
}

.faq-item:focus-within {
    border-color: #86BC25;
}

/* ========================================
   Benefits Module
   ======================================== */

.benefits-module {
    position: relative;
    width: 100%;
}

/* Spacing variations */
.benefits-module--default-space {
    padding: 100px 0;
}

.benefits-module--space-above {
    padding: 100px 0 0 0;
}

.benefits-module--space-below {
    padding: 0 0 100px 0;
}

.benefits-module--no-space {
    padding: 0;
}

/* Background color variations */
.benefits-module--bg-lightblue {
    background-color: #E8EFF3;
}

.benefits-module--bg-white {
    background-color: #ffffff;
}

/* Header section */
.benefits-module__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 56px;
}

.benefits-module__accent {
    width: 90px;
    height: 6px;
    background-color: #86BC25;
    margin-bottom: 20px;
}

.benefits-module__headline {
    font-size: 40px;
    line-height: 48px;
    font-weight: 500;
    color: #00314D;
    letter-spacing: -0.8px;
    margin-bottom: 10px;
}

.benefits-module__headline h2 {
    font-size: 48px;
    line-height: 120%;
    font-weight: 700;
    color: #00314D;
    letter-spacing: -0.96px;
    margin: 0;
}

.benefits-module__teaser {
    max-width: 540px;
}

.benefits-module__teaser p {
    font-size: 17px;
    line-height: 24px;
    font-weight: 400;
    color: #00314D;
}

.benefits-module__teaser p:last-child {
    margin-bottom: 0;
}

.benefits-module__teaser strong,
.benefits-module__teaser b {
    font-weight: 700;
}

.benefits-module__teaser em,
.benefits-module__teaser i {
    font-style: italic;
}

.benefits-module__teaser u {
    text-decoration: underline;
}

.benefits-module__button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px 10px 16px;
    min-height: 44px;
    border-radius: 999px;
    background: #86BC25;
    color: #00314D;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    letter-spacing: 0.28px;
    transition: all 0.3s ease;
}

.benefits-module__button:hover,
.benefits-module__button:focus {
    transform: scale(1.05);
    filter: brightness(1.05);
}

.benefits-module__button:focus {
    outline: 3px solid rgba(0, 49, 77, 0.4);
    outline-offset: 3px;
}

.benefits-module__button-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.benefits-module__button-icon img {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

.benefits-module__button-label {
    display: inline-flex;
    align-items: center;
}

/* Benefits Grid */
.benefits-module__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
    .benefits-module__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

.benefits-module__item {
    background-color: #00314D;
    padding: 40px 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: transform 0.3s ease;
}

.benefits-module__item:hover {
    transform: translateY(-4px);
}

.benefits-module__item-icon {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    flex-shrink: 0;
}

.benefits-module__item-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.benefits-module__item-headline {
    font-size: 20px;
    line-height: 25px;
    font-weight: 500;
    color: #ffffff;
    margin: 0 0 8px 0;
}

.benefits-module__item-text {
    color: #ffffff;
    font-size: 15px;
    line-height: 23px;
    font-weight: 400;
}

.benefits-module__item-text p {
    margin: 0 0 12px 0;
}

.benefits-module__item-text p:last-child {
    margin-bottom: 0;
}

.benefits-module__item-text strong,
.benefits-module__item-text b {
    font-weight: 700;
}

.benefits-module__item-text em,
.benefits-module__item-text i {
    font-style: italic;
}

.benefits-module__item-text u {
    text-decoration: underline;
}

/* Responsive Styles */
@media screen and (max-width: 1024px) and (min-width: 768px) {
    .benefits-module--default-space {
        padding: 80px 0;
    }

    .benefits-module--space-above {
        padding: 80px 0 0 0;
    }

    .benefits-module--space-below {
        padding: 0 0 80px 0;
    }

    .benefits-module__header {
        margin-bottom: 48px;
        flex-wrap: wrap;
    }

    .benefits-module__headline h2 {
        font-size: 40px;
    }

    .benefits-module__teaser p {
        font-size: 16px;
    }
}

@media screen and (max-width: 767px) {
    .benefits-module--default-space {
        padding: 60px 0;
    }


    .benefits-module--default-space {
        padding: 60px 0;
    }

    .benefits-module--space-above {
        padding: 60px 0 0 0;
    }

    .benefits-module--space-below {
        padding: 0 0 60px 0;
    }

    .benefits-module>.container {
        padding: 0 24px;
    }

    .benefits-module__headline {
        font-size: 28px;
        line-height: 36px;
    }

    .benefits-module__header {
        margin-bottom: 40px;
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .benefits-module__headline h2 {
        font-size: 36px;
    }

    .benefits-module__teaser p {
        font-size: 17px;
    }

    .benefits-module__grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .benefits-module__item {
        padding: 32px 24px;
    }

    .benefits-module__item-icon {
        width: 70px;
        height: 70px;
        margin-bottom: 20px;
    }

    .benefits-module__item-headline {
        font-size: 22px;
    }

    .benefits-module__item-text {
        font-size: 14px;
    }
}

@media screen and (max-width: 520px) {
    .benefits-module--default-space {
        padding: 40px 0;
    }

    .benefits-module--space-above {
        padding: 40px 0 0 0;
    }

    .benefits-module--space-below {
        padding: 0 0 40px 0;
    }

    .benefits-module>.container {
        padding: 0 24px;
    }

    .benefits-module__accent {
        width: 70px;
        height: 5px;
        margin-bottom: 16px;
    }

    .benefits-module__header {
        margin-bottom: 32px;
    }

    .benefits-module__headline h2 {
        font-size: 28px;
        letter-spacing: -0.56px;
    }

    .benefits-module__teaser {
        margin-bottom: 24px;
    }

    .benefits-module__teaser p {
        font-size: 16px;
    }

    .benefits-module__button {
        padding: 8px 16px 8px 12px;
        font-size: 13px;
    }

    .benefits-module__button-icon {
        width: 18px;
        height: 18px;
    }

    .benefits-module__button-icon img {
        width: 18px;
        height: 18px;
    }

    .benefits-module__item {
        padding: 28px 20px;
    }

    .benefits-module__item-icon {
        width: 60px;
        height: 60px;
        margin-bottom: 16px;
    }

    .benefits-module__item-headline {
        font-size: 20px;
        margin-bottom: 12px;
    }

    .benefits-module__item-text {
        font-size: 13px;
    }
}

/* ========================================
   Single Media Module Styles
   ======================================== */

.single-media-module {
    position: relative;
    background-color: #fff;
    overflow: hidden;
}

/* Spacing variations */
.single-media-module--default-space {
    padding: 80px 0;
}

.single-media-module--space-above {
    padding: 80px 0 0 0;
}

.single-media-module--space-below {
    padding: 0 0 80px 0;
}

.single-media-module--no-space {
    padding: 0;
}

.single-media-module__container {
    max-width: 1283px;
    margin: 0 auto;
}

.single-media-module__media-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Image Styles */
.single-media-module__image {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.single-media-module__image-element {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* Video Styles */
.single-media-module__video {
    width: 100%;
    max-width: 100%;
}

/* YouTube Video - Responsive 16:9 aspect ratio */
.single-media-module__video--youtube {
    position: relative;
}

.single-media-module__video-wrapper {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    /* 16:9 aspect ratio */
    height: 0;
    overflow: hidden;
}

.single-media-module__video-iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/* Uploaded Video */
.single-media-module__video-element {
    width: 100%;
    height: auto;
    display: block;
    background-color: #000;
}

/* Responsive Styles */
@media screen and (max-width: 1280px) {
    .single-media-module__container {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media screen and (max-width: 1024px) {
    .single-media-module--default-space {
        padding: 60px 0;
    }

    .single-media-module--space-above {
        padding: 60px 0 0 0;
    }

    .single-media-module--space-below {
        padding: 0 0 60px 0;
    }
}

@media screen and (max-width: 767px) {
    .single-media-module--default-space {
        padding: 50px 0;
    }

    .single-media-module--space-above {
        padding: 50px 0 0 0;
    }

    .single-media-module--space-below {
        padding: 0 0 50px 0;
    }
}

@media screen and (max-width: 520px) {
    .single-media-module--default-space {
        padding: 40px 0;
    }

    .single-media-module--space-above {
        padding: 40px 0 0 0;
    }

    .single-media-module--space-below {
        padding: 0 0 40px 0;
    }

    .single-media-module__container {
        padding-left: 24px;
        padding-right: 24px;
    }
}

/* ========================================
   Map Module Styles
   ======================================== */

.map-module {
    position: relative;
    overflow: hidden;
    background-color: #00314D;
}

/* Spacing variations */
.map-module--default-space {
    padding: 150px 0;
}

.map-module--space-above {
    padding: 150px 0 0 0;
}

.map-module--space-below {
    padding: 0 0 150px 0;
}

.map-module--no-space {
    padding: 0;
}
.map-module__new-image img {
    max-height: 600px;
    width: 100%;
    object-fit: cover;
}

/* Decorative gradient background */
.map-module__decor {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-height: 263px;
    z-index: 0;
    pointer-events: none;
}

.map-module__decor-image {
    width: 100%;
    display: block;
}
@media screen and (max-width: 778px) {
    .map-module__decor-image {
        scale: 1.7;
        transform-origin: right;
    }
}

.map-module__content {
    position: relative;
    z-index: 1;
}

/* Header section */
.map-module__header {
    margin-bottom: 60px;
}

.map-module__accent {
    width: 90px;
    height: 6px;
    background-color: #86BC25;
    margin-bottom: 20px;
}

.map-module__headline {
    margin-bottom: 8px;
}

.map-module__headline h2 {
    font-size: 40px;
    line-height: 48px;
    font-weight: 500;
    color: #ffffff;
    letter-spacing: -0.8px;
    margin: 0;
    max-width: 545px;
}

.map-module__teaser {
    max-width: 935px;
}

.map-module__teaser p {
    font-size: 17px;
    line-height: 24px;
    font-weight: 400;
    color: #ffffff;
    margin: 0;
}

.map-module__teaser p:last-child {
    margin-bottom: 0;
}

.map-module__teaser strong,
.map-module__teaser b {
    font-weight: 700;
}

.map-module__teaser em,
.map-module__teaser i {
    font-style: italic;
}

.map-module__teaser u {
    text-decoration: underline;
}

/* Map wrapper */
.map-module__map-wrapper {
    position: relative;
    width: 100%;
}

.map-module__map-container {
    position: relative;
    width: 100%;
    height: 405px;
    background: #f5f5f5;
    overflow: hidden;
}

.map-module__map-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/* Responsive Styles */
@media screen and (max-width: 1024px) and (min-width: 768px) {
    .map-module--default-space {
        padding: 120px 0;
    }

    .map-module--space-above {
        padding: 120px 0 0 0;
    }

    .map-module--space-below {
        padding: 0 0 120px 0;
    }

    .map-module__header {
        margin-bottom: 56px;
    }

    .map-module__headline h2 {
        font-size: 38px;
        line-height: 46px;
        letter-spacing: -0.76px;
    }

    .map-module__teaser p {
        font-size: 16px;
        line-height: 24px;
    }

    .map-module__decor {
        height: 240px;
    }

    .map-module__truck-icon {
        right: 80px;
        width: 100px;
        height: 46px;
    }

    .map-module__map-container {
        height: 450px;
    }
}

@media screen and (max-width: 767px) {
    .map-module--default-space {
        padding: 80px 0;
    }

    .map-module--space-above {
        padding: 80px 0 0 0;
    }

    .map-module--space-below {
        padding: 0 0 80px 0;
    }

    .map-module__header {
        margin-bottom: 40px;
    }

    .map-module__headline h2 {
        font-size: 36px;
        line-height: 120%;
        letter-spacing: -0.72px;
    }

    .map-module__teaser {
        max-width: 100%;
    }

    .map-module__teaser p {
        font-size: 15px;
        line-height: 21px;
    }

    .map-module__accent {
        width: 75px;
        height: 5px;
        margin-bottom: 16px;
    }

    .map-module__decor {
        height: 180px;
    }

    .map-module__truck-icon {
        right: 20px;
        width: 70px;
        height: 32px;
    }

    .map-module__map-container {
        height: 320px;
    }
}

@media screen and (max-width: 520px) {
    .map-module--default-space {
        padding: 40px 0;
    }

    .map-module--space-above {
        padding: 40px 0 0 0;
    }

    .map-module--space-below {
        padding: 0 0 40px 0;
    }

    .map-module__header {
        margin-bottom: 32px;
    }

    .map-module__headline h2 {
        font-size: 28px;
        line-height: 120%;
        letter-spacing: -0.56px;
    }

    .map-module__teaser p {
        font-size: 14px;
        line-height: 20px;
    }

    .map-module__accent {
        width: 60px;
        height: 4px;
        margin-bottom: 14px;
    }

    .map-module__decor {
        height: 150px;
    }

    .map-module__truck-icon {
        display: none;
    }

    .map-module__map-container {
        height: 260px;
        border-radius: 6px;
    }
}

/* ========================================
   Tab Module Styles
   ======================================== */

.tab-module {
    position: relative;
    padding: 128px 0 80px 0;
    overflow: hidden;
    background-color: #00314D;
}

/* Spacing variations */
.tab-module--default-space {
    padding: 128px 0 80px 0;
}

.tab-module--space-above {
    padding: 128px 0 0 0;
}

.tab-module--space-below {
    padding: 0 0 80px 0;
}

.tab-module--no-space {
    padding: 0;
}

/* Background */
.tab-module__background {
    position: absolute;
    top: 0;
    /* left: 0; */
    width: 78%;
    height: 223px;
    z-index: 0;
    right: 0;
    pointer-events: none;
}

.tab-module__bg-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tab-module__container {
    position: relative;
    z-index: 1;
}

/* Header section */
.tab-module__header {
    text-align: left;
    margin-bottom: 50px;
}

.tab-module__accent {
    width: 90px;
    height: 6px;
    background-color: #86BC25;
    margin-bottom: 24px;
}

.tab-module__headline {
    font-size: 40px;
    line-height: 48px;
    font-weight: 500;
    color: #FFFFFF;
    letter-spacing: -0.8px;
    margin: 0 0 8px 0;
}

.tab-module__teaser {
    max-width: 605px;
}

.tab-module__teaser p {
    font-size: 17px;
    line-height: 25px;
    color: #FFFFFF;
    margin: 0 0 12px 0;
}

.tab-module__teaser p:last-child {
    margin-bottom: 0;
}

.tab-module__teaser strong,
.tab-module__teaser b {
    font-weight: 700;
}

.tab-module__teaser em,
.tab-module__teaser i {
    font-style: italic;
}

.tab-module__teaser u {
    text-decoration: underline;
}

/* Tab Navigation */
.tab-module__nav {
    display: flex;
    gap: 16px;
    justify-content: flex-start;
    margin-bottom: 60px;
    flex-wrap: wrap;
}

.tab-module__nav-btn {
    padding: 10px 20px;
    background-color: transparent;
    color: #86BC25;
    border-radius: 32px;
    border: 1px solid #86BC25;
    font-size: 14px;
    line-height: 17px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tab-module__nav-btn:hover {
    background-color: rgba(255, 255, 255, 0.1);
    transform: scale(1.05);
}

.tab-module__nav-btn.is-active {
    background-color: #86BC25;
    border-color: #86BC25;
    color: #00314D;
}

/* Tab Panels */
.tab-module__panels {
    position: relative;
}

.tab-module__panel {
    display: none;
    animation: fadeIn 0.4s ease-in-out;
}

.tab-module__panel.is-active {
    display: block;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.tab-module__panel-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 53px;
    align-items: center;
}

/* Left side - Logo and Image */
.tab-module__panel-left {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.tab-module__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;

}

.tab-module__logo img {
    padding: 20px;
    max-width: 138px;
    height: auto;
    display: block;
    background-color: #fff;
}

.tab-module__image {
    position: relative;
    overflow: hidden;
}

.tab-module__image img {
    width: 100%;
    height: auto;
    display: block;
}

/* Right side - Content */
.tab-module__panel-right {
    color: #FFFFFF;
}

.tab-module__panel-headline {
    font-size: 26px;
    line-height: 36px;
    font-weight: 500;
    color: #FFFFFF;
    letter-spacing: -0.52px;
    margin: 0 0 20px 0;
}

.tab-module__panel-teaser {
    margin-bottom: 24px;
}

.tab-module__panel-teaser p {
    font-size: 17px;
    line-height: 25px;
    font-weight: 500;
    color: #FFFFFF;
    margin: 0 0 12px 0;
}

.tab-module__panel-teaser p:last-child {
    margin-bottom: 0;
}

.tab-module__panel-teaser strong,
.tab-module__panel-teaser b {
    font-weight: 700;
}

.tab-module__panel-teaser em,
.tab-module__panel-teaser i {
    font-style: italic;
}

.tab-module__panel-teaser u {
    text-decoration: underline;
}

.tab-module__panel-text {
    margin-bottom: 32px;
}

.tab-module__panel-text p {
    font-size: 15px;
    line-height: 22px;
    font-weight: 400;
    color: #FFFFFF;
    margin: 0 0 16px 0;
}

.tab-module__panel-text p:last-child {
    margin-bottom: 0;
}

.tab-module__panel-text h3,
.tab-module__panel-text h4 {
    color: #FFFFFF;
    margin: 24px 0 16px 0;
}

.tab-module__panel-text h3 {
    font-size: 24px;
    line-height: 120%;
    font-weight: 700;
}

.tab-module__panel-text h4 {
    font-size: 20px;
    line-height: 120%;
    font-weight: 700;
}

.tab-module__panel-text ul,
.tab-module__panel-text ol {
    margin: 16px 0;
    padding-left: 24px;
}

.tab-module__panel-text li {
    margin-bottom: 8px;
    color: #FFFFFF;
}

.tab-module__panel-text a {
    color: #86BC25;
    text-decoration: underline;
}

.tab-module__panel-text a:hover,
.tab-module__panel-text a:focus {
    color: #FFFFFF;
}

.tab-module__panel-text strong,
.tab-module__panel-text b {
    font-weight: 700;
}

.tab-module__panel-text em,
.tab-module__panel-text i {
    font-style: italic;
}

.tab-module__panel-text u {
    text-decoration: underline;
}

/* Button */
.tab-module__panel-button {
    margin-top: 32px;
}

.tab-module__link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #86BC25;
    font-size: 14px;
    line-height: 16px;
    font-weight: 500;
    letter-spacing: 0.28px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.tab-module__link:hover,
.tab-module__link:focus {
    color: #86BC25;
    gap: 16px;
}

.tab-module__link-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
}

.tab-module__link-icon svg {
    width: 100%;
    height: 100%;
}

/* Responsive Styles */
@media screen and (max-width: 1280px) {
    .tab-module__panel-content {
        gap: 53px;
    }

    .tab-module__panel-headline {
        font-size: 26px;
        letter-spacing: -0.56px;
    }
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
    .tab-module--default-space {
        padding: 100px 0 80px;
    }

    .tab-module--space-above {
        padding: 100px 0 0 0;
    }

    .tab-module--space-below {
        padding: 0 0 80px 0;
    }

    .tab-module__header {
        margin-bottom: 48px;
    }

    .tab-module__headline {
        font-size: 38px;
        letter-spacing: -0.76px;
    }

    .tab-module__teaser p {
        font-size: 16px;
        line-height: 24px;
    }

    .tab-module__nav {
        margin-bottom: 48px;
    }

    .tab-module__nav-btn {
        padding: 12px 24px;
        font-size: 15px;
    }

    .tab-module__panel-content {
        gap: 48px;
    }
}



@media screen and (max-width: 767px) {
    .tab-module--default-space {
        padding: 60px 0;
    }

    .tab-module--space-above {
        padding: 60px 0 0 0;
    }

    .tab-module--space-below {
        padding: 0 0 60px 0;
    }

    .tab-module__header {
        margin-bottom: 40px;
    }

    .tab-module__accent {
        width: 75px;
        height: 5px;
        margin-bottom: 16px;
    }

    .tab-module__headline {
        font-size: 32px;
        letter-spacing: -0.64px;
    }

    .tab-module__teaser p {
        font-size: 16px;
        line-height: 24px;
    }

    .tab-module__nav {
        margin-bottom: 40px;
        gap: 12px;
    }

    .tab-module__nav-btn {
        padding: 12px 24px;
        font-size: 15px;
    }

    .tab-module__panel-content {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .tab-module__panel-left {
        gap: 30px;
    }

    .tab-module__logo {
        top: 0;
        left: 0;
    }

    .tab-module__logo img {
        max-width: 160px;
    }

    .tab-module__panel-headline {
        font-size: 24px;
        letter-spacing: -0.48px;
    }

    .tab-module__panel-teaser p {
        font-size: 17px;
        line-height: 25px;
    }

    .tab-module__panel-text p {
        font-size: 15px;
        line-height: 23px;
    }
}

@media screen and (max-width: 520px) {
    .tab-module--default-space {
        padding: 40px 0;
    }

    .tab-module--space-above {
        padding: 40px 0 0 0;
    }

    .tab-module--space-below {
        padding: 0 0 40px 0;
    }

    .tab-module__header {
        margin-bottom: 32px;
    }

    .tab-module__accent {
        width: 60px;
        height: 4px;
        margin-bottom: 14px;
    }

    .tab-module__headline {
        font-size: 28px;
        letter-spacing: -0.56px;
        margin-bottom: 16px;
    }

    .tab-module__teaser p {
        font-size: 15px;
        line-height: 22px;
    }

    .tab-module__nav {
        margin-bottom: 32px;
        gap: 10px;
    }

    .tab-module__nav-btn {
        padding: 10px 16px;
        font-size: 14px;
        flex: 1 1 100%;
        min-width: 100%;
    }

    .tab-module__panel-content {
        gap: 32px;
    }

    .tab-module__panel-left {
        gap: 24px;
    }

    .tab-module__logo {
        padding: 20px;
    }

    .tab-module__logo img {
        max-width: 140px;
    }

    .tab-module__image {
        border-radius: 8px;
    }

    .tab-module__panel-headline {
        font-size: 22px;
        letter-spacing: -0.44px;
        margin-bottom: 16px;
    }

    .tab-module__panel-teaser {
        margin-bottom: 20px;
    }

    .tab-module__panel-teaser p {
        font-size: 16px;
        line-height: 24px;
    }

    .tab-module__panel-text {
        margin-bottom: 28px;
    }

    .tab-module__panel-text p {
        font-size: 14px;
        line-height: 22px;
        margin-bottom: 14px;
    }

    .tab-module__panel-text h3 {
        font-size: 20px;
        margin: 20px 0 14px 0;
    }

    .tab-module__panel-text h4 {
        font-size: 18px;
        margin: 18px 0 12px 0;
    }

    .tab-module__panel-button {
        margin-top: 28px;
    }

    .tab-module__link {
        font-size: 15px;
        gap: 10px;
    }

    .tab-module__link:hover,
    .tab-module__link:focus {
        gap: 14px;
    }

    .tab-module__link-icon {
        width: 20px;
        height: 20px;
    }
}

/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
    .tab-module__panel {
        animation: none;
    }

    .tab-module__nav-btn,
    .tab-module__link,
    .tab-module__link-icon {
        transition: none;
    }
}

/* ========================================
   Timeline Module Styles
   ======================================== */

.timeline-module {
    position: relative;
    overflow: hidden;
    background-color: #fff;
}

/* Spacing variations */
.timeline-module--default-space {
    padding: 125px 0;
}

.timeline-module--space-above {
    padding: 125px 0 0 0;
}

.timeline-module--space-below {
    padding: 0 0 125px 0;
}

.timeline-module--no-space {
    padding: 0;
}

.timeline-module__container {
    position: relative;
    z-index: 1;
}

.timeline-module .swiper-wrapper {
    padding-left: 30px;
}

/* Decorative dots background */
.timeline-module__decor {
    position: absolute;
    top: 41%;
    left: 50.1%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 1283px;
    height: 150px;
    z-index: 1;
    pointer-events: none;
}
.timeline-module__dots_mobile {
    display: none;
}

/* Header section */
.timeline-module__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 40px;
}

.timeline-module__header-left {
    flex: 1;
}

.timeline-module__header-nav {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-shrink: 0;
}

.timeline-module__accent {
    width: 90px;
    height: 6px;
    background-color: #86BC25;
    margin-bottom: 20px;
}

.timeline-module__headline {
    font-size: 40px;
    line-height: 48px;
    font-weight: 500;
    color: #00314D;
    letter-spacing: -0.8px;
    margin: 0 0 16px 0;
}

.timeline-module__teaser {
    max-width: 680px;
}

.timeline-module__teaser p {
    font-size: 17px;
    line-height: 25px;
    font-weight: 400;
    color: #00314D;
    margin: 0 0 12px 0;
}

.timeline-module__teaser p:last-child {
    margin-bottom: 0;
}

.timeline-module__teaser strong,
.timeline-module__teaser b {
    font-weight: 700;
}

.timeline-module__teaser em,
.timeline-module__teaser i {
    font-style: italic;
}

.timeline-module__teaser u {
    text-decoration: underline;
}

/* Slider wrapper */
.timeline-module__slider-wrapper {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding-top: 250px;
}

/* Navigation Arrows */
.timeline-module__nav {
    position: relative;
    width: 44px;
    height: 44px;
    min-width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 10;
    border: none;
    padding: 0;
    background-color: transparent;
}

.timeline-module__nav:hover {
    background-color: #9ACC3E;
    transform: scale(1.1);
}

.timeline-module__nav.swiper-button-disabled {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
}

.timeline-module__nav img {
    width: 40px;
    height: 40px;
    display: block;
}

/* Timeline Item */
.timeline-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.timeline-item__content {
    width: 100%;
}

.timeline-item__headline {
    font-size: 32px;
    line-height: 40px;
    font-weight: 500;
    color: #00314D;
    letter-spacing: -0.64px;
    margin: 0 0 16px 0;
}

.timeline-item__text {
    color: #4D5A62;
    max-width: 270px;
}

.timeline-item__text p {
    font-size: 17px;
    line-height: 26px;
    font-weight: 500;
    color: #4D5A62;
    margin: 0 0 12px 0;
}

.timeline-item__text p:last-child {
    margin-bottom: 0;
}

.timeline-item__text h3,
.timeline-item__text h4 {
    color: #00314D;
    margin: 20px 0 12px 0;
}

.timeline-item__text h3 {
    font-size: 22px;
    line-height: 120%;
    font-weight: 700;
}

.timeline-item__text h4 {
    font-size: 18px;
    line-height: 120%;
    font-weight: 700;
}

.timeline-item__text ul,
.timeline-item__text ol {
    margin: 12px 0;
    padding-left: 24px;
}

.timeline-item__text li {
    margin-bottom: 8px;
    color: #5A6A75;
}

.timeline-item__text a {
    color: #00314D;
    text-decoration: underline;
}

.timeline-item__text strong,
.timeline-item__text b {
    font-weight: 700;
    color: #00314D;
}

.timeline-item__text em,
.timeline-item__text i {
    font-style: italic;
}

.timeline-item__text u {
    text-decoration: underline;
}

/* Swiper overrides */
.timeline-module .swiper {
    overflow: visible;
    width: 100%;
}

.timeline-module .swiper-slide {
    height: auto;
    width: auto;
    flex-shrink: 0;
}

/* Responsive Styles */
@media screen and (max-width: 1280px) {
    .timeline-module__header {
        gap: 30px;
    }
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
    .timeline-module--default-space {
        padding: 100px 0;
    }

    .timeline-module--space-above {
        padding: 100px 0 0 0;
    }

    .timeline-module--space-below {
        padding: 0 0 100px 0;
    }

    .timeline-module__header {
        margin-bottom: 60px;
        gap: 32px;
    }

    .timeline-module__headline {
        font-size: 38px;
        line-height: 46px;
        letter-spacing: -0.76px;
    }

    .timeline-module__teaser p {
        font-size: 16px;
        line-height: 24px;
    }

    .timeline-item__headline {
        font-size: 30px;
        line-height: 38px;
        letter-spacing: -0.6px;
    }

    .timeline-item__text p {
        font-size: 14px;
        line-height: 22px;
    }

    .timeline-module__slider-wrapper {
        padding-top: 180px;
    }

    .timeline-module .swiper-wrapper {
        padding-left: 0;
    }

    .timeline-module__decor {
        top: 45%;
        height: 120px;
    }
}



@media screen and (max-width: 767px) {
    .timeline-module--default-space {
        padding: 80px 0;
    }

    .timeline-module--space-above {
        padding: 80px 0 0 0;
    }

    .timeline-module--space-below {
        padding: 0 0 80px 0;
    }

    .timeline-module__header {
        margin-bottom: 50px;
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
    }

    .timeline-module__header-nav {
        justify-content: flex-start;
    }

    .timeline-module__accent {
        width: 75px;
        height: 5px;
        margin-bottom: 16px;
    }

    .timeline-module__headline {
        font-size: 32px;
        line-height: 40px;
        letter-spacing: -0.64px;
    }

    .timeline-module__teaser {
        max-width: 100%;
    }

    .timeline-module__teaser p {
        font-size: 15px;
        line-height: 23px;
    }

    .timeline-module__slider-wrapper {
        padding-top: 24px;
    }

    .timeline-module .swiper-wrapper {
        padding-left: 0;
    }

    .timeline-module__decor {
        display: none;
    }
    .timeline-module__dots_mobile {
        display: block;
    }

    .timeline-item__headline {
        font-size: 26px;
        line-height: 34px;
        letter-spacing: -0.52px;
        margin-bottom: 14px;
    }

    .timeline-item__text p {
        font-size: 14px;
        line-height: 21px;
    }

    .timeline-item__text {
        max-width: 100%;
    }
}

@media screen and (max-width: 520px) {
    .timeline-module--default-space {
        padding: 40px 0;
    }

    .timeline-module--space-above {
        padding: 40px 0 0 0;
    }

    .timeline-module--space-below {
        padding: 0 0 40px 0;
    }

    .timeline-module__header {
        margin-bottom: 32px;
    }

    .timeline-module__accent {
        width: 60px;
        height: 4px;
        margin-bottom: 14px;
    }

    .timeline-module__headline {
        font-size: 28px;
        line-height: 36px;
        letter-spacing: -0.56px;
        margin-bottom: 14px;
    }

    .timeline-module__teaser p {
        font-size: 14px;
        line-height: 22px;
    }

    .timeline-item {
        padding-bottom: 30px;
    }

    .timeline-item__headline {
        font-size: 24px;
        line-height: 32px;
        letter-spacing: -0.48px;
        margin-bottom: 12px;
    }

    .timeline-item__text p {
        font-size: 13px;
        line-height: 20px;
        margin-bottom: 10px;
    }

    .timeline-item__text h3 {
        font-size: 20px;
        margin: 16px 0 10px 0;
    }

    .timeline-item__text h4 {
        font-size: 16px;
        margin: 14px 0 8px 0;
    }
}

/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
    .timeline-module__nav {
        transition: none;
    }
}

/* ========================================
   News Module Styles
   ======================================== */

.news-module {
    padding: 125px 0;
    position: relative;
}

/* Spacing variations */
.news-module--default-space {
    padding: 125px 0;
}

.news-module--space-above {
    padding: 125px 0 0 0;
}

.news-module--space-below {
    padding: 0 0 125px 0;
}

.news-module--no-space {
    padding: 0;
}

.news-module__container {
    max-width: 1283px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    overflow: hidden;
}

/* Header section */
.news-module__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 40px;
    margin-bottom: 48px;
}

.news-module__header-left {
    flex: 1;
}

.news-module__header-nav {
    display: flex;
    gap: 16px;
    align-items: center;
    flex-shrink: 0;
}

.news-module__accent {
    width: 95px;
    height: 7px;
    background: #8CC63F;
    margin-bottom: 24px;
}

.news-module__headline {
    font-size: 48px;
    font-weight: 500;
    line-height: 56px;
    letter-spacing: -0.96px;
    color: #00314D;
    margin: 0 0 20px 0;
}

.news-module__description {
    max-width: 720px;
    color: #00314D;
}

.news-module__description p {
    font-size: 17px;
    line-height: 25px;
}

.news-module__description p:last-child {
    margin-bottom: 0;
}

.news-module__description strong,
.news-module__description b {
    font-weight: 700;
}

.news-module__description em,
.news-module__description i {
    font-style: italic;
}

.news-module__description u {
    text-decoration: underline;
}

/* Navigation Arrows */
.news-module__nav {
    width: 44px;
    height: 44px;
    min-width: 44px;
    border-radius: 50%;
    background: #86BC25;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
    border: none;
    padding: 0;
}

.news-module__nav:hover {
    background: #7AB32E;
    transform: scale(1.05);
}

.news-module__nav.swiper-button-disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.news-module__nav img {
    width: 40px;
    height: 40px;
}

/* Slider Wrapper */
.news-module__slider-wrapper {
    position: relative;
}

.news-module .swiper {
    overflow: visible;
    height: auto !important;
}

.news-module .swiper-wrapper {
    display: flex;
    height: auto !important;
}

.news-module .swiper-slide {
    height: auto !important;
    display: flex;
    align-self: flex-start;
}

/* News Item */
.news-item {
    display: flex;
    flex-direction: row;
    width: 100%;
    background: #FFFFFF;
    overflow: hidden;
    min-height: 414px;
}

.news-item__image-wrapper {
    position: relative;
    width: 50%;
    min-height: 414px;
    overflow: hidden;
    flex-shrink: 0;
}

.news-item__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.news-item__content {
    background: #EFF2F5;
    padding: 40px 40px 40px 80px;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 50%;
}

.news-item__category {
    font-size: 13px;
    font-weight: 400;
    line-height: 20px;
    color: #4D5A62;
    margin-bottom: 16px;
    padding: 9px;
    border-radius: 4px;
    border: 1px solid #4D5A62;
}

.news-item__headline {
    font-size: 26px;
    font-weight: 500;
    line-height: 40px;
    letter-spacing: -0.52px;
    color: #00314D;
    margin: 0 0 8px 0;
}

.news-item__text {
    color: #4D5A62;
    margin-bottom: 40px;
    max-width: 550px;
    font-size: 15px;
    line-height: 23px;
}

.news-item__text p {
    font-size: 15px;
    line-height: 23px;
    margin: 0;
}

.news-item__text p:last-child {
    margin-bottom: 0;
}

.news-item__text strong,
.news-item__text b {
    font-weight: 700;
}

.news-item__text em,
.news-item__text i {
    font-style: italic;
}

.news-item__text u {
    text-decoration: underline;
}

.news-item__button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 10px 20px;
    min-height: 44px;
    background: #86BC25;
    border-radius: 32px;
    text-decoration: none;
    color: #00314D;
    font-size: 14px;
    font-weight: 500;
    line-height: 16px;
    letter-spacing: 0.28px;
    transition: all 0.3s ease;
    align-self: flex-start;
}

.news-item__button:hover,
.news-item__button:focus {
    background: #7AB32E;
    transform: scale(1.05);
}

.news-item__button:focus {
    outline: 3px solid rgba(140, 198, 63, 0.4);
    outline-offset: 3px;
}

.news-item__button-icon {
    width: 12px;
    height: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.news-item__button-icon svg {
    width: 100%;
    height: 100%;
}

.news-item__button-label {
    white-space: nowrap;
}

/* Responsive Styles */
@media screen and (max-width: 1280px) {
    .news-module__header {
        margin-bottom: 50px;
    }

    .news-item__image-wrapper {
        min-height: 380px;
    }

    .news-item__content {
        padding: 36px;
    }
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
    .news-module--default-space {
        padding: 100px 0;
    }

    .news-module--space-above {
        padding: 100px 0 0 0;
    }

    .news-module--space-below {
        padding: 0 0 100px 0;
    }

    .news-module__header {
        margin-bottom: 48px;
    }

    .news-module__accent {
        width: 85px;
        height: 6px;
        margin-bottom: 20px;
    }

    .news-module__headline {
        font-size: 44px;
        line-height: 52px;
        letter-spacing: -0.88px;
        margin-bottom: 18px;
    }

    .news-module__description p {
        font-size: 16px;
        line-height: 24px;
    }

    .news-item__image-wrapper {
        min-height: 400px;
    }

    .news-item__content {
        padding: 40px;
    }

    .news-item__headline {
        font-size: 26px;
        line-height: 36px;
        letter-spacing: -0.52px;
    }
}



@media screen and (max-width: 767px) {
    .news-module--default-space {
        padding: 80px 0;
    }

    .news-module--space-above {
        padding: 80px 0 0 0;
    }

    .news-module--space-below {
        padding: 0 0 80px 0;
    }

    .news-module__header {
        margin-bottom: 40px;
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
    }

    .news-module__header-nav {
        justify-content: flex-end;
    }

    .news-module__accent {
        width: 75px;
        height: 5px;
        margin-bottom: 16px;
    }

    .news-module__headline {
        font-size: 36px;
        line-height: 44px;
        letter-spacing: -0.72px;
        margin-bottom: 16px;
    }

    .news-module__description {
        max-width: 100%;
    }

    .news-module__description p {
        font-size: 16px;
        line-height: 24px;
    }

    .news-module__nav {
        width: 44px;
        height: 44px;
    }

    .news-item {
        flex-direction: column;
    }

    .news-item__image-wrapper {
        width: 100%;
        min-height: 240px;
    }

    .news-item__content {
        padding: 28px;
        width: 100%;
    }

    .news-item__category {
        font-size: 13px;
        margin-bottom: 10px;
    }

    .news-item__headline {
        font-size: 26px;
        line-height: 34px;
        letter-spacing: -0.52px;
        margin-bottom: 16px;
    }

    .news-item__text {
        margin-bottom: 24px;
    }

    .news-item__text p {
        font-size: 15px;
        line-height: 23px;
    }

    .news-item__button {
        padding: 12px 24px;
        font-size: 15px;
    }
}

@media screen and (max-width: 520px) {
    .news-module--default-space {
        padding: 60px 0;
    }

    .news-module--space-above {
        padding: 60px 0 0 0;
    }

    .news-module--space-below {
        padding: 0 0 60px 0;
    }

    .news-module__header {
        margin-bottom: 32px;
    }

    .news-module__accent {
        width: 60px;
        height: 4px;
        margin-bottom: 14px;
    }

    .news-module__headline {
        font-size: 28px;
        line-height: 36px;
        letter-spacing: -0.56px;
        margin-bottom: 14px;
    }

    .news-module__description p {
        font-size: 15px;
        line-height: 23px;
    }

    .news-item {
        flex-direction: column;
    }

    .news-item__image-wrapper {
        width: 100%;
        min-height: 200px;
    }

    .news-item__content {
        padding: 24px;
        width: 100%;
    }

    .news-item__category {
        font-size: 12px;
        margin-bottom: 8px;
    }

    .news-item__headline {
        font-size: 22px;
        line-height: 30px;
        letter-spacing: -0.44px;
        margin-bottom: 14px;
    }

    .news-item__text {
        margin-bottom: 20px;
    }

    .news-item__text p {
        font-size: 14px;
        line-height: 22px;
        margin-bottom: 10px;
    }

    .news-item__button {
        padding: 11px 20px;
        font-size: 14px;
        gap: 10px;
    }

    .news-item__button:hover,
    .news-item__button:focus {
        gap: 14px;
    }

    .news-item__button-icon {
        width: 11px;
        height: 11px;
    }
}

/* Accessibility */
.news-module__nav:focus {
    outline: 3px solid rgba(140, 198, 63, 0.4);
    outline-offset: 3px;
}

.news-item__button:focus {
    outline: 3px solid rgba(140, 198, 63, 0.4);
    outline-offset: 3px;
}

/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
    .news-module__nav {
        transition: none;
    }

    .news-item__button {
        transition: none;
    }
}

/* ========================================
   Standard Text Module Styles
   ======================================== */

.standard-text-module {
    position: relative;
    overflow: hidden;
}
.standard-text-module .editor h1 {
    font-size: 56px;
    font-style: normal;
    font-weight: 700;
    line-height: 110%; /* 61.6px */
    letter-spacing: -1.12px;
    color: #00314D;
}
.standard-text-module .editor h2 {
    font-size: 40px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    letter-spacing: -0.8px;
    color: #00314D;
}
.standard-text-module .editor h3 {
    font-size: 17px;
    font-style: normal;
    font-weight: 500;
    color: #00314D;
    line-height: 145%; /* 24.65px */
}
.standard-text-module .editor h4 {
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 125%;
    color: #00314D;
}

/* Spacing variations */
.standard-text-module--default-space {
    padding: 125px 0;
}

.standard-text-module--space-above {
    padding: 125px 0 0 0;
}

.standard-text-module--space-below {
    padding: 0 0 125px 0;
}

.standard-text-module--no-space {
    padding: 0;
}

/* Background color variations */
.standard-text-module--bg-white {
    background-color: #FFFFFF;
}

.standard-text-module--bg-lightblue {
    background-color: #EFF2F5;
}

.standard-text-module--bg-darkblue {
    background-color: #00314D;
}

/* Dark background text color overrides */
.standard-text-module--bg-darkblue .standard-text-module__headline h2,
.standard-text-module--bg-darkblue .standard-text-module__teaser,
.standard-text-module--bg-darkblue .standard-text-module__teaser p,
.standard-text-module--bg-darkblue .standard-text-module__text,
.standard-text-module--bg-darkblue .standard-text-module__text p {
    color: #FFFFFF;
}

.standard-text-module__container {
    max-width: 1280px;
    margin: 0 auto;
}

/* Accent Line */
.standard-text-module__accent {
    width: 90px;
    height: 6px;
    background-color: #86BC25;
    margin-bottom: 24px;
}

/* Headline */
.standard-text-module__headline {
    margin-bottom: 32px;
    max-width: 700px;
}

.standard-text-module__headline h2 {
    font-size: 40px;
    line-height: 48px;
    font-weight: 500;
    color: #00314D;
    letter-spacing: -0.8px;
    margin: 0;
}

/* Teaser Wrapper - flexbox for side button layout */
.standard-text-module__teaser-wrapper {
    display: flex;
    gap: 40px;
    align-items: flex-end;
    margin-bottom: 32px;
}

/* When button is below, teaser takes full width */
.standard-text-module:not(.standard-text-module--button-side) .standard-text-module__teaser-wrapper {
    display: block;
}

/* Teaser Text */
.standard-text-module__teaser {
    flex: 1;
}

.standard-text-module__teaser p {
    font-size: 17px;
    line-height: 25px;
    font-weight: 500;
    color: #00314D;
    margin: 0 0 16px 0;
}

.standard-text-module__teaser p:last-child {
    margin-bottom: 0;
}

.standard-text-module__teaser strong,
.standard-text-module__teaser b {
    font-weight: 700;
}

.standard-text-module__teaser em,
.standard-text-module__teaser i {
    font-style: italic;
}

.standard-text-module__teaser u {
    text-decoration: underline;
}

/* Button on the side (next to teaser) */
.standard-text-module__button-side {
    flex-shrink: 0;
    align-self: flex-start;
}

/* Content section - one or two columns */
.standard-text-module__content {
    display: grid;
    gap: 80px;
    margin-bottom: 0;
}

/* One column layout */
.standard-text-module--one-column .standard-text-module__content {
    grid-template-columns: 1fr;
}

/* Two column layout */
.standard-text-module--two-columns .standard-text-module__content {
    grid-template-columns: 1fr 1fr;
}

/* Main Text Content */
.standard-text-module__text {
    color: #4D5A62;
}

.standard-text-module__text p {
    font-size: 17px;
    line-height: 25px;
    font-weight: 400;
    color: #00314D;
    margin: 0 0 16px 0;
}

.standard-text-module__text p:last-child {
    margin-bottom: 0;
}

.standard-text-module__text h3,
.standard-text-module__text h4 {
    color: #00314D;
    margin: 24px 0 16px 0;
}

.standard-text-module__text h3 {
    font-size: 24px;
    line-height: 120%;
    font-weight: 700;
}

.standard-text-module__text h4 {
    font-size: 20px;
    line-height: 120%;
    font-weight: 700;
}

.standard-text-module__text ul,
.standard-text-module__text ol {
    margin: 16px 0;
    padding-left: 24px;
}

.standard-text-module__text li {
    margin-bottom: 8px;
    color: #4D5A62;
}

.standard-text-module__text a {
    color: #00314D;
    text-decoration: underline;
}

.standard-text-module__text a:hover,
.standard-text-module__text a:focus {
    color: #86BC25;
}

.standard-text-module__text strong,
.standard-text-module__text b {
    font-weight: 700;
}

.standard-text-module__text em,
.standard-text-module__text i {
    font-style: italic;
}

.standard-text-module__text u {
    text-decoration: underline;
}

/* Dark background text overrides */
.standard-text-module--bg-darkblue .standard-text-module__text h3,
.standard-text-module--bg-darkblue .standard-text-module__text h4,
.standard-text-module--bg-darkblue .standard-text-module__text a {
    color: #FFFFFF;
}

.standard-text-module--bg-darkblue .standard-text-module__text a:hover,
.standard-text-module--bg-darkblue .standard-text-module__text a:focus {
    color: #86BC25;
}

/* Button Styles */
.standard-text-module__button {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 14px 24px;
    min-height: 48px;
    background-color: #86BC25;
    color: #00314D;
    text-decoration: none;
    border-radius: 32px;
    font-size: 14px;
    line-height: 16px;
    font-weight: 500;
    letter-spacing: 0.28px;
    transition: all 0.3s ease;
}

.standard-text-module__button:hover,
.standard-text-module__button:focus {
    background-color: #9ACC3E;
    transform: scale(1.05);
}

.standard-text-module__button:focus {
    outline: 3px solid rgba(134, 188, 37, 0.4);
    outline-offset: 3px;
}

.standard-text-module__button-label {
    white-space: nowrap;
}

/* Button below (centered) */
.standard-text-module__button-wrapper {
    margin-top: 48px;
    text-align: left;
}

/* Responsive Styles */
@media screen and (max-width: 1280px) {
    .standard-text-module__container {
        padding-left: 32px;
        padding-right: 32px;
    }

    .standard-text-module--two-columns .standard-text-module__content {
        gap: 60px;
    }
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
    .standard-text-module--default-space {
        padding: 100px 0;
    }

    .standard-text-module--space-above {
        padding: 100px 0 0 0;
    }

    .standard-text-module--space-below {
        padding: 0 0 100px 0;
    }

    .standard-text-module__accent {
        width: 85px;
        height: 6px;
        margin-bottom: 22px;
    }

    .standard-text-module__headline {
        margin-bottom: 30px;
    }

    .standard-text-module__headline h2 {
        font-size: 38px;
        line-height: 46px;
        letter-spacing: -0.76px;
    }

    .standard-text-module__teaser-wrapper {
        gap: 36px;
        margin-bottom: 36px;
    }

    .standard-text-module__teaser p {
        font-size: 16px;
        line-height: 24px;
    }

    .standard-text-module--two-columns .standard-text-module__content {
        gap: 56px;
    }

    .standard-text-module__text p {
        font-size: 14px;
        line-height: 21px;
    }

    .standard-text-module__button-wrapper {
        margin-top: 44px;
    }
}



@media screen and (max-width: 767px) {
    .standard-text-module--default-space {
        padding: 80px 0;
    }

    .standard-text-module--space-above {
        padding: 80px 0 0 0;
    }

    .standard-text-module--space-below {
        padding: 0 0 80px 0;
    }

    .standard-text-module__accent {
        width: 75px;
        height: 5px;
        margin-bottom: 16px;
    }

    .standard-text-module__headline {
        margin-bottom: 24px;
    }

    .standard-text-module__headline h2 {
        font-size: 32px;
        line-height: 40px;
        letter-spacing: -0.64px;
    }

    .standard-text-module__teaser-wrapper {
        flex-direction: column;
        gap: 24px;
        margin-bottom: 32px;
    }

    .standard-text-module__teaser p {
        font-size: 15px;
        line-height: 23px;
    }

    /* Two columns become one column on tablet */
    .standard-text-module--two-columns .standard-text-module__content {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .standard-text-module__text p {
        font-size: 14px;
        line-height: 21px;
    }

    .standard-text-module__text h3 {
        font-size: 22px;
        margin: 20px 0 14px 0;
    }

    .standard-text-module__text h4 {
        font-size: 18px;
        margin: 18px 0 12px 0;
    }

    .standard-text-module__button {
        padding: 12px 24px;
        font-size: 14px;
    }

    .standard-text-module__button-wrapper {
        margin-top: 32px;
    }

    .standard-text-module__content {
        display: grid;
        gap: 24px;
    }

    .standard-text-module--button-side .standard-text-module__teaser-wrapper {
        display: contents;
    }

    .standard-text-module--button-side .standard-text-module__container {
        display: flex;
        flex-direction: column;
        gap: 24px;
    }

    .standard-text-module--button-side .standard-text-module__teaser {
        order: 1;
    }

    .standard-text-module--button-side .standard-text-module__content {
        order: 2;
    }

    .standard-text-module--button-side .standard-text-module__button-side {
        order: 3;
        width: 100%;
        text-align: left;
        margin-top: 8px;
    }
}

@media screen and (max-width: 520px) {
    .standard-text-module--default-space {
        padding: 40px 0;
    }

    .standard-text-module--space-above {
        padding: 40px 0 0 0;
    }

    .standard-text-module--space-below {
        padding: 0 0 40px 0;
    }

    .standard-text-module__container {
        padding-left: 24px;
        padding-right: 24px;
    }

    .standard-text-module__accent {
        width: 60px;
        height: 4px;
        margin-bottom: 14px;
    }

    .standard-text-module__headline {
        margin-bottom: 20px;
    }

    .standard-text-module__headline h2 {
        font-size: 28px;
        line-height: 36px;
        letter-spacing: -0.56px;
    }

    .standard-text-module__teaser-wrapper {
        gap: 20px;
        margin-bottom: 28px;
    }

    .standard-text-module__teaser p {
        font-size: 14px;
        line-height: 22px;
        margin-bottom: 14px;
    }

    .standard-text-module--two-columns .standard-text-module__content {
        gap: 28px;
    }

    .standard-text-module__text p {
        font-size: 14px;
        line-height: 20px;
        margin-bottom: 14px;
    }

    .standard-text-module__text h3 {
        font-size: 20px;
        margin: 18px 0 12px 0;
    }

    .standard-text-module__text h4 {
        font-size: 16px;
        margin: 16px 0 10px 0;
    }

    .standard-text-module__button {
        padding: 11px 20px;
        font-size: 13px;
        gap: 10px;
    }

    .standard-text-module__button-wrapper {
        margin-top: 28px;
    }
}

/* Accessibility */
.standard-text-module__button:focus {
    outline: 3px solid rgba(134, 188, 37, 0.4);
    outline-offset: 3px;
}

/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
    .standard-text-module__button {
        transition: none;
    }
}

/* ========================================
   Image Text Module Styles
   ======================================== */

.image-text-module {
    position: relative;
    overflow: hidden;
}

/* Spacing variations */
.image-text-module--default-space {
    padding: 150px 0;
}

.image-text-module--space-above {
    padding: 150px 0 0 0;
}

.image-text-module--space-below {
    padding: 0 0 150px 0;
}

.image-text-module--no-space {
    padding: 0;
}

/* Background color variations */
.image-text-module--bg-white {
    background-color: #ffffff;
}

.image-text-module--bg-lightblue {
    background-color: #E6F0F5;
}

.image-text-module--bg-darkblue {
    background-color: #00314D;
}

.image-text-module--bg-darkblue .image-text-module__headline,
.image-text-module--bg-darkblue .image-text-module__text {
    color: #ffffff;
}

.image-text-module--bg-darkblue .image-text-module__text p {
    color: #ffffff;
}

.image-text-module__container {
    max-width: 1283px;
    margin: 0 auto;
}

/* Single Image Layout */
.image-text-module--single-image .image-text-module__content-wrapper {
    display: flex;
    align-items: center;
    gap: 130px;
    margin-bottom: 24px;
}

.image-text-module--single-image.image-text-module--image-right .image-text-module__content-wrapper {
    flex-direction: row-reverse;
}

.image-text-module--single-image .image-text-module__image-column {
    flex: 0 0 50%;
    max-width: 50%;
}

.image-text-module--single-image .image-text-module__text-column {
    flex: 1;
    padding-top: 24px;
    padding-bottom: 24px;
}

.image-text-module--single-image .image-text-module__image-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.image-text-module--single-image .image-text-module__image {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* Two Images Layout - 3 Columns */
.image-text-module--two-images .image-text-module__content-wrapper {
    display: grid;
    grid-template-columns: 1fr 306px 306px;
    gap: 16px;
    align-items: start;
}

.image-text-module--two-images .image-text-module__text-column {
    flex: none;
    max-width: 567px;
}

.image-text-module--two-images .image-text-module__image-column {
    flex: none;
    max-width: 306px;
}

.image-text-module--two-images .image-text-module__image-wrapper {
    position: relative;
    width: 306px;
    height: 306px;
    overflow: hidden;
}

.image-text-module--two-images .image-text-module__image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* Typography */
.image-text-module__headline {
    font-size: 20px;
    font-weight: 500;
    line-height: 25px;
    color: #00314D;
    margin: 0 0 12px 0;
}
.image-text-module__headline.bigger {
    font-size: 40px;
    line-height: 48px;
    font-weight: 500;
    color: #fff;
    letter-spacing: -0.8px;
    margin: 0 0 16px 0;
}
@media screen and (max-width: 767px) {
    .image-text-module__headline.bigger {
        font-size: 28px;
        line-height: 36px;
        letter-spacing: -0.56px;
    }
}

.image-text-module__text {
    font-size: 15px;
    line-height: 23px;
    color: #00314D;
}

.image-text-module__text p {
    margin: 0 0 20px 0;
    color: #00314D;
}

.image-text-module__text p:last-child {
    margin-bottom: 0;
}

.image-text-module__text h3,
.image-text-module__text h4,
.image-text-module__text h5 {
    font-weight: 700;
    color: #00314D;
    margin: 32px 0 16px 0;
}

.image-text-module__text h3 {
    font-size: 32px;
}

.image-text-module__text h4 {
    font-size: 24px;
}

.image-text-module__text h5 {
    font-size: 20px;
}

.image-text-module__text ul,
.image-text-module__text ol {
    margin: 20px 0;
    padding-left: 24px;
}

.image-text-module__text li {
    margin-bottom: 12px;
}

.image-text-module__text a {
    color: #86BC25;
    text-decoration: underline;
    transition: color 0.3s ease;
}

.image-text-module__text a:hover,
.image-text-module__text a:focus {
    color: #00314D;
}

.image-text-module__text strong,
.image-text-module__text b {
    font-weight: 700;
}

.image-text-module__text em,
.image-text-module__text i {
    font-style: italic;
}

.image-text-module__text u {
    text-decoration: underline;
}
.image-text-module__content-wrapper.reverse {
    flex-direction: row-reverse;
}
/* Responsive Styles */
@media screen and (max-width: 1280px) {
    .image-text-module--single-image .image-text-module__content-wrapper {
        gap: 60px;
    }

    .image-text-module__headline {
        font-size: 20px;
    }

    .image-text-module--two-images .image-text-module__content-wrapper {
        gap: 32px;
    }
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
    .image-text-module--default-space {
        padding: 120px 0;
    }

    .image-text-module--space-above {
        padding: 120px 0 0 0;
    }

    .image-text-module--space-below {
        padding: 0 0 120px 0;
    }

    .image-text-module__container {
        padding: 0 32px;
    }

    .image-text-module--single-image .image-text-module__content-wrapper {
        gap: 56px;
    }

    .image-text-module__headline {
        font-size: 18px;
        margin-bottom: 16px;
    }

    .image-text-module__text {
        font-size: 14px;
        line-height: 21px;
    }

    .image-text-module--two-images .image-text-module__content-wrapper {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .image-text-module--two-images .image-text-module__image-wrapper {
        width: 100%;
        height: auto;
        aspect-ratio: 1/1;
        max-width: 400px;
        margin: 0 auto;
    }
    .image-text-module--two-images .image-text-module__image-column {
        max-width: 100%;
    }

    .image-text-module--two-images .image-text-module__image-wrapper {
        width: 280px;
        height: 280px;
    }
}



@media screen and (max-width: 767px) {
    .image-text-module--default-space {
        padding: 80px 0;
    }

    .image-text-module--space-above {
        padding: 80px 0 0 0;
    }

    .image-text-module--space-below {
        padding: 0 0 80px 0;
    }

    .image-text-module__container {
        padding: 0 24px;
    }

    .image-text-module--single-image .image-text-module__content-wrapper {
        flex-direction: column;
        gap: 40px;
    }

    .image-text-module--single-image.image-text-module--image-right .image-text-module__content-wrapper {
        flex-direction: column;
    }

    .image-text-module--single-image .image-text-module__image-column {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .image-text-module--single-image .image-text-module__text-column {
        flex: 0 0 100%;
    }

    .image-text-module__headline {
        font-size: 32px;
        margin-bottom: 24px;
    }

    .image-text-module__text {
        font-size: 16px;
    }

    .image-text-module--two-images .image-text-module__content-wrapper {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .image-text-module--two-images .image-text-module__image-wrapper {
        width: 100%;
        height: auto;
        aspect-ratio: 1/1;
        max-width: 400px;
        margin: 0 auto;
    }

    .image-text-module--two-images .image-text-module__image-column {
        max-width: 100%;
    }
}

@media screen and (max-width: 520px) {
    .image-text-module--default-space {
        padding: 60px 0;
    }

    .image-text-module--space-above {
        padding: 60px 0 0 0;
    }

    .image-text-module--space-below {
        padding: 0 0 60px 0;
    }

    .image-text-module__container {
        padding: 0 24px;
    }

    .image-text-module--single-image .image-text-module__content-wrapper {
        gap: 32px;
    }

    .image-text-module__headline {
        font-size: 28px;
        margin-bottom: 20px;
    }

    .image-text-module__text {
        font-size: 15px;
        line-height: 1.7;
    }

    .image-text-module__text p {
        margin-bottom: 16px;
    }

    .image-text-module__text h3 {
        font-size: 24px;
        margin: 24px 0 12px 0;
    }

    .image-text-module__text h4 {
        font-size: 20px;
        margin: 24px 0 12px 0;
    }

    .image-text-module__text h5 {
        font-size: 18px;
        margin: 20px 0 12px 0;
    }

    .image-text-module--two-images .image-text-module__content-wrapper {
        gap: 24px;
    }

    .image-text-module--two-images .image-text-module__image-wrapper {
        max-width: 100%;
    }
}

/* Accessibility */
.image-text-module__image {
    transition: transform 0.3s ease;
}

.image-text-module__image-wrapper:hover .image-text-module__image {
    transform: scale(1.02);
}

/* Anchor block: make in-page jumps respect fixed header */
.anchor {
    scroll-margin-top: 100px;
}

@media (prefers-reduced-motion: reduce) {
    .image-text-module__image {
        transition: none;
    }

    .image-text-module__image-wrapper:hover .image-text-module__image {
        transform: none;
    }
}

/* ========================================
   Highlight Module Styles
   ======================================== */

.highlight-module {
    position: relative;
    overflow: hidden;
    background-color: #00314D;
}

/* Spacing variations */
.highlight-module--default-space {
    padding: 0;
}

.highlight-module--space-above {
    padding: 125px 0 0 0;
}

.highlight-module--space-below {
    padding: 0 0 125px 0;
}

.highlight-module--no-space {
    padding: 0;
}

.highlight-module__wrapper {
    display: flex;
    position: relative;
    min-height: 800px;
}

/* Left Content Section */
.highlight-module__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    position: relative;
}

.highlight-module__text-section {
    padding: 80px 0 115px 0;
    position: relative;
}

.highlight-module__text-section .container {
    position: relative;
    z-index: 2;
    max-width: 1283px;
    margin: 0 auto;
}

.highlight-module__accent {
    width: 95px;
    height: 7px;
    background-color: #86BC25;
    margin-bottom: 24px;
}

.highlight-module__headline {
    max-width: 700px;
    font-size: 40px;
    line-height: 48px;
    font-weight: 500;
    color: #fff;
    letter-spacing: -0.8px;
    margin: 0 0 32px 0;
}

.highlight-module__teaser {
    max-width: 1062px;
    margin: 0 auto;
    margin-bottom: 32px;
}

.highlight-module__teaser p {
    font-size: 17px;
    line-height: 25px;
    font-weight: 500;
    color: #fff;
    margin: 0 0 16px 0;
}

.highlight-module__teaser p:last-child {
    margin-bottom: 0;
}

.highlight-module__teaser strong,
.highlight-module__teaser b {
    font-weight: 700;
}

.highlight-module__teaser em,
.highlight-module__teaser i {
    font-style: italic;
}

.highlight-module__teaser u {
    text-decoration: underline;
}

.highlight-module__text {
    color: #4D5A62;
}

.highlight-module__text p {
    font-size: 15px;
    line-height: 23px;
    font-weight: 400;
    color: #fff;
    margin: 0 0 16px 0;
}

.highlight-module__text p:last-child {
    margin-bottom: 0;
}

.highlight-module__text strong,
.highlight-module__text b {
    font-weight: 700;
}

.highlight-module__text em,
.highlight-module__text i {
    font-style: italic;
}

.highlight-module__text u {
    text-decoration: underline;
}

/* Two columns layout for text */
.highlight-module__text--two-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    max-width: 1062px;
    margin: 0 auto;
}

.highlight-module__text-column h3,
.highlight-module__text-column h4 {
    color: #fff;
    margin: 24px 0 16px 0;
}

.highlight-module__text-column h3 {
    font-size: 24px;
    line-height: 120%;
    font-weight: 700;
}

.highlight-module__text-column h4 {
    font-size: 20px;
    line-height: 120%;
    font-weight: 700;
}

.highlight-module__text-column ul,
.highlight-module__text-column ol {
    margin: 16px 0;
    padding-left: 24px;
}

.highlight-module__text-column li {
    margin-bottom: 8px;
    color: #fff;
}

.highlight-module__text-column a {
    color: #fff;
    text-decoration: underline;
}

.highlight-module__text-column a:hover,
.highlight-module__text-column a:focus {
    color: #86BC25;
}

.highlight-module__text-column strong,
.highlight-module__text-column b {
    font-weight: 700;
}

.highlight-module__text-column em,
.highlight-module__text-column i {
    font-style: italic;
}

.highlight-module__text-column u {
    text-decoration: underline;
}

/* Highlights Section - Dark Blue Background */
.highlight-module__highlights-section {
    background-color: #00314D;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.highlight-module__highlights-section .container {
    max-width: 1424px;
    margin: 0 auto;
    display: flex;
    align-items: flex-end;
    width: 100%;
}

.highlight-module__highlights-section::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: -80px;
    width: 680px;
    height: 478px;
    background-image: url("../img/highlight_gradient.svg");
    background-repeat: no-repeat;
    background-size: 648px;
    pointer-events: none;
    z-index: 0;
}

.highlight-module__highlights {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    flex: 1;
    padding: 80px;
    background-color: #EFF2F5;
    position: relative;
    z-index: 2;
}

/* Single highlight - spans 2 columns */
.highlight-module__highlights--single {
    grid-template-columns: 1fr;
    justify-items: center;
}

.highlight-module__highlights--single .highlight-module__highlight-item {
    grid-column: 1 / -1;
    max-width: 620px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 80px 60px;
}

/* Three highlights - first one spans 2 columns */
.highlight-module__highlights--three {
    justify-items: center;
}

.highlight-module__highlights--three .highlight-module__highlight-item:first-child {
    grid-column: 1 / -1;
    max-width: 620px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 60px;
}

/* Five highlights - first one spans 2 columns */
.highlight-module__highlights--five {
    justify-items: center;
}

.highlight-module__highlights--five .highlight-module__highlight-item:first-child {
    grid-column: 1 / -1;
    max-width: 620px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 60px;
}

.highlight-module__highlight-item {
    background-color: #00314D;
    padding: 24px;
    max-width: 302px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: transform 0.3s ease;
    min-height: 200px;
}

.highlight-module__highlight-item:hover {
    transform: translateY(-5px);
}

.highlight-module__highlight-icon {
    width: 80px;
    height: 80px;
    background-color: #86BC25;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    flex-shrink: 0;
}

.highlight-module__highlight-icon img {
    width: 48px;
    height: 48px;
    object-fit: contain;
}

.highlight-module__highlight-headline {
    font-size: 22px;
    line-height: 28px;
    font-weight: 500;
    color: #FFFFFF;
    margin: 0 0 12px 0;
}

.highlight-module__highlight-text {
    color: #FFFFFF;
}

.highlight-module__highlight-text p {
    font-size: 14px;
    line-height: 21px;
    font-weight: 400;
    color: #FFFFFF;
    margin: 0 0 12px 0;
}

.highlight-module__highlight-text p:last-child {
    margin-bottom: 0;
}

.highlight-module__highlight-text strong,
.highlight-module__highlight-text b {
    font-weight: 700;
}

.highlight-module__highlight-text em,
.highlight-module__highlight-text i {
    font-style: italic;
}

.highlight-module__highlight-text u {
    text-decoration: underline;
}

/* Right Image Section */
.highlight-module__image-wrapper {
    position: relative;
    width: 650px;
    height: 637px;
    overflow: visible;
    flex-shrink: 0;
}

.highlight-module__image-container {
    position: relative;
    width: 100%;
    height: 100%;
    clip-path: polygon(0 15%, 100% 0, 100% 100%, 0% 100%);
}

@media screen and (min-width: 1425px) {
    .highlight-module__image-container {
        width: calc(100% + ((100vw - 1424px) / 2));
    }
}

.highlight-module__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Responsive Styles */
@media screen and (max-width: 1440px) {
    .highlight-module__wrapper {
        min-height: 700px;
    }

    .highlight-module__image-wrapper {
        width: 600px;
        height: 600px;
    }

    .highlight-module__image-container {
        clip-path: polygon(0 12%, 100% 0, 100% 100%, 0% 100%);
    }
}

@media screen and (max-width: 1280px) {
    .highlight-module__text-section {
        padding: 60px 32px 50px 32px;
    }

    .highlight-module__highlights-section {
        padding: 50px 32px 60px 32px;
    }

    .highlight-module__highlights {
        padding: 60px;
    }

    .highlight-module__headline {
        font-size: 36px;
        line-height: 44px;
        letter-spacing: -0.72px;
    }

    .highlight-module__image-wrapper {
        width: 550px;
        height: 550px;
    }
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
    .highlight-module--space-above {
        padding: 100px 0 0 0;
    }

    .highlight-module--space-below {
        padding: 0 0 100px 0;
    }

    .highlight-module__wrapper {
        flex-direction: column;
        min-height: auto;
    }

    .highlight-module__content {
        width: 100%;
    }

    .highlight-module__text-section {
        padding: 70px 32px 60px 32px;
    }

    .highlight-module__headline {
        font-size: 38px;
        line-height: 46px;
        letter-spacing: -0.76px;
        margin-bottom: 24px;
    }

    .highlight-module__teaser {
        margin-bottom: 28px;
    }

    .highlight-module__teaser p {
        font-size: 16px;
        line-height: 24px;
    }

    .highlight-module__text p {
        font-size: 14px;
        line-height: 21px;
    }

    .highlight-module__text--two-columns {
        gap: 32px;
    }

    .highlight-module__highlights-section {
        padding: 60px 32px 70px 32px;
    }

    .highlight-module__highlights-section .container {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
    }

    .highlight-module__highlights {
        padding: 56px;
        gap: 20px;
    }

    .highlight-module__highlight-item {
        padding: 32px 24px;
    }

    .highlight-module__image-wrapper {
        position: relative;
        width: 100%;
        max-width: 560px;
        height: auto;
        aspect-ratio: 4 / 3;
        margin: 0 auto;
    }

    .highlight-module__image-container {
        clip-path: polygon(0 10%, 100% 0, 100% 100%, 0% 100%);
    }
}



@media screen and (max-width: 767px) {
    .highlight-module--space-above {
        padding: 80px 0 0 0;
    }

    .highlight-module--space-below {
        padding: 0 0 80px 0;
    }

    .highlight-module__text-section {
        padding: 60px 24px 50px 24px;
    }

    .highlight-module__accent {
        width: 80px;
        height: 6px;
        margin-bottom: 20px;
    }

    .highlight-module__headline {
        font-size: 28px;
        line-height: 36px;
        letter-spacing: -0.56px;
        margin-bottom: 18px;
    }

    .highlight-module__teaser {
        margin-bottom: 24px;
    }

    .highlight-module__teaser p {
        font-size: 15px;
        line-height: 23px;
    }

    .highlight-module__text p {
        font-size: 14px;
        line-height: 21px;
    }

    .highlight-module__text--two-columns {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .highlight-module__highlights-section {
        padding: 40px 24px 50px 24px;
    }

    .highlight-module__highlights-section .container {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 28px;
    }

    .highlight-module__highlights {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .highlight-module__highlights::before {
        display: none;
    }

    .highlight-module__highlights--single .highlight-module__highlight-item,
    .highlight-module__highlights--three .highlight-module__highlight-item:first-child,
    .highlight-module__highlights--five .highlight-module__highlight-item:first-child {
        padding: 40px 32px;
    }

    .highlight-module__highlight-item {
        padding: 32px 24px;
    }

    .highlight-module__highlight-icon {
        width: 70px;
        height: 70px;
        margin-bottom: 20px;
    }

    .highlight-module__highlight-icon img {
        width: 40px;
        height: 40px;
    }

    .highlight-module__highlight-headline {
        font-size: 20px;
        line-height: 26px;
        margin-bottom: 10px;
    }

    .highlight-module__highlight-text p {
        font-size: 13px;
        line-height: 20px;
    }

    .highlight-module__image-wrapper {
        width: 100%;
        max-width: 520px;
        height: auto;
        aspect-ratio: 4 / 3;
        margin: 0 auto;
    }

    .highlight-module__image-container {
        clip-path: polygon(0 8%, 100% 0, 100% 100%, 0% 100%);
        height: 100%;
    }
}

@media screen and (max-width: 520px) {
    .highlight-module--space-above {
        padding: 40px 0 0 0;
    }

    .highlight-module--space-below {
        padding: 0 0 40px 0;
    }

    .highlight-module__text-section {
        padding: 40px 24px 32px 24px;
    }

    .highlight-module__text-section .container,
    .highlight-module__highlights-section .container,
    .standard-text-module__container {
        padding: 0;
    }

    .highlight-module__accent {
        width: 70px;
        height: 5px;
        margin-bottom: 16px;
    }

    .highlight-module__headline {
        font-size: 24px;
        line-height: 32px;
        letter-spacing: -0.48px;
        margin-bottom: 16px;
    }

    .highlight-module__teaser {
        margin-bottom: 20px;
    }

    .highlight-module__teaser p {
        font-size: 14px;
        line-height: 22px;
    }

    .highlight-module__text p {
        font-size: 13px;
        line-height: 20px;
        margin-bottom: 14px;
    }

    .highlight-module__text--two-columns {
        gap: 20px;
    }

    .highlight-module__highlights-section {
        padding: 32px 24px 40px 24px;
    }

    .highlight-module__highlights {
        gap: 10px;
    }

    .highlight-module__highlights--single .highlight-module__highlight-item,
    .highlight-module__highlights--three .highlight-module__highlight-item:first-child,
    .highlight-module__highlights--five .highlight-module__highlight-item:first-child {
        padding: 36px 24px;
    }

    .highlight-module__highlight-item {
        padding: 28px 20px;
    }

    .highlight-module__highlight-icon {
        width: 64px;
        height: 64px;
        margin-bottom: 16px;
    }

    .highlight-module__highlight-icon img {
        width: 36px;
        height: 36px;
    }

    .highlight-module__highlight-headline {
        font-size: 18px;
        line-height: 24px;
        margin-bottom: 8px;
    }

    .highlight-module__highlight-text p {
        font-size: 12px;
        line-height: 18px;
    }

    .highlight-module__image-wrapper {
        width: 100%;
        max-width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
        margin: 0 auto;
    }

    .highlight-module__image-container {
        clip-path: polygon(0 6%, 100% 0, 100% 100%, 0% 100%);
        height: 100%;
    }
}

/* Accessibility */
.highlight-module__highlight-item:focus-within {
    outline: 3px solid rgba(134, 188, 37, 0.5);
    outline-offset: 3px;
}

/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
    .highlight-module__highlight-item {
        transition: none;
    }

    .highlight-module__highlight-item:hover {
        transform: none;
    }
}

/* ========================================
   Responsive Polish Pass
   ======================================== */

@media screen and (max-width: 1323px) {
    .hero-header__decor {
        right: 21px;
    }
}
@media screen and (max-width: 1024px) {
    .hero-header__decor {
        right: 32px;
        top: 120px;
        width: 260px;
        max-width: 32vw;
        transform: none;
        opacity: 0.6;
    }
}

@media screen and (max-width: 767px) {
    .hero-header__decor {
        right: 24px;
        top: 96px;
        width: 180px;
        max-width: 42vw;
        transform: none;
        opacity: 0.45;
    }

    .faq-module--default-space,
    .big-image-text-module--default-space,
    .benefits-module--default-space,
    .single-media-module--default-space,
    .map-module--default-space,
    .tab-module--default-space,
    .timeline-module--default-space,
    .news-module--default-space,
    .standard-text-module--default-space,
    .image-text-module--default-space {
        padding-top: 72px;
        padding-bottom: 72px;
    }

    .faq-module--space-above,
    .big-image-text-module--space-above,
    .benefits-module--space-above,
    .single-media-module--space-above,
    .map-module--space-above,
    .tab-module--space-above,
    .timeline-module--space-above,
    .news-module--space-above,
    .standard-text-module--space-above,
    .image-text-module--space-above,
    .highlight-module--space-above {
        padding-top: 72px;
        padding-bottom: 0;
    }

    .faq-module--space-below,
    .big-image-text-module--space-below,
    .benefits-module--space-below,
    .single-media-module--space-below,
    .map-module--space-below,
    .tab-module--space-below,
    .timeline-module--space-below,
    .news-module--space-below,
    .standard-text-module--space-below,
    .image-text-module--space-below,
    .highlight-module--space-below {
        padding-top: 0;
        padding-bottom: 72px;
    }

    .cta-module {
        padding-top: 72px;
        padding-bottom: 72px;
    }

    .hero-header__description p,
    .faq-module__teaser p,
    .faq-item__content-inner p,
    .big-image-text-module__intro-text p,
    .big-image-text-module__text-box-content p,
    .cta-module__description p,
    .benefits-module__teaser p,
    .benefits-module__item-text p,
    .map-module__teaser p,
    .tab-module__teaser p,
    .tab-module__panel-teaser p,
    .tab-module__panel-text p,
    .timeline-module__teaser p,
    .timeline-item__text p,
    .news-module__description p,
    .news-item__text p,
    .standard-text-module__teaser p,
    .standard-text-module__text p,
    .image-text-module__text p,
    .highlight-module__teaser p,
    .highlight-module__text p,
    .highlight-module__highlight-text p {
        font-size: 16px;
        line-height: 1.55;
        margin-bottom: 14px;
    }

    .hero-header__description p:last-child,
    .faq-module__teaser p:last-child,
    .faq-item__content-inner p:last-child,
    .big-image-text-module__intro-text p:last-child,
    .big-image-text-module__text-box-content p:last-child,
    .cta-module__description p:last-child,
    .benefits-module__teaser p:last-child,
    .benefits-module__item-text p:last-child,
    .map-module__teaser p:last-child,
    .tab-module__teaser p:last-child,
    .tab-module__panel-teaser p:last-child,
    .tab-module__panel-text p:last-child,
    .timeline-module__teaser p:last-child,
    .timeline-item__text p:last-child,
    .news-module__description p:last-child,
    .news-item__text p:last-child,
    .standard-text-module__teaser p:last-child,
    .standard-text-module__text p:last-child,
    .image-text-module__text p:last-child,
    .highlight-module__teaser p:last-child,
    .highlight-module__text p:last-child,
    .highlight-module__highlight-text p:last-child {
        margin-bottom: 0;
    }
}

@media screen and (max-width: 520px) {
    .hero-header__decor {
        right: 16px;
        top: 86px;
        width: 132px;
        max-width: 36vw;
        opacity: 0.35;
    }

    .faq-module--default-space,
    .big-image-text-module--default-space,
    .benefits-module--default-space,
    .single-media-module--default-space,
    .map-module--default-space,
    .tab-module--default-space,
    .timeline-module--default-space,
    .news-module--default-space,
    .standard-text-module--default-space,
    .image-text-module--default-space {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .faq-module--space-above,
    .big-image-text-module--space-above,
    .benefits-module--space-above,
    .single-media-module--space-above,
    .map-module--space-above,
    .tab-module--space-above,
    .timeline-module--space-above,
    .news-module--space-above,
    .standard-text-module--space-above,
    .image-text-module--space-above,
    .highlight-module--space-above {
        padding-top: 56px;
    }

    .faq-module--space-below,
    .big-image-text-module--space-below,
    .benefits-module--space-below,
    .single-media-module--space-below,
    .map-module--space-below,
    .tab-module--space-below,
    .timeline-module--space-below,
    .news-module--space-below,
    .standard-text-module--space-below,
    .image-text-module--space-below,
    .highlight-module--space-below {
        padding-bottom: 56px;
    }

    .cta-module {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .hero-header__description p,
    .faq-module__teaser p,
    .faq-item__content-inner p,
    .big-image-text-module__intro-text p,
    .big-image-text-module__text-box-content p,
    .cta-module__description p,
    .benefits-module__teaser p,
    .benefits-module__item-text p,
    .map-module__teaser p,
    .tab-module__teaser p,
    .tab-module__panel-teaser p,
    .tab-module__panel-text p,
    .timeline-module__teaser p,
    .timeline-item__text p,
    .news-module__description p,
    .news-item__text p,
    .standard-text-module__teaser p,
    .standard-text-module__text p,
    .image-text-module__text p,
    .highlight-module__teaser p,
    .highlight-module__text p,
    .highlight-module__highlight-text p {
        font-size: 16px;
        line-height: 1.55;
        margin-bottom: 12px;
    }
}

/* ========================================
   Requested Mobile/Tablet Fixes
   ======================================== */

@media screen and (max-width: 1024px) and (min-width: 768px) {
    .faq-module__contact-box {
        position: static;
        top: auto;
        right: auto;
        width: 100%;
        max-width: 100%;
        min-height: 0;
        margin-top: 8px;
        box-sizing: border-box;
    }
}

@media screen and (max-width: 767px) {
    .faq-module__contact-box {
        position: static;
        top: auto;
        right: auto;
        width: 100%;
        max-width: 100%;
        min-height: 0;
        margin-top: 0;
        padding: 24px;
        box-sizing: border-box;
    }

    .image-text-module__container.container {
        padding-bottom: 16px;
        padding-left: 0;
        padding-right: 0;
    }

    .image-text-module__headline {
        line-height: 36px;
    }

    .image-text-module__text-column {
        padding: 0 24px;
    }

    .highlight-module__highlights-section {
        padding: 28px 24px 36px;
    }

    .highlight-module__highlights {
        padding: 24px;
        gap: 16px;
    }

    .highlight-module__highlights--single .highlight-module__highlight-item,
    .highlight-module__highlights--three .highlight-module__highlight-item:first-child,
    .highlight-module__highlights--five .highlight-module__highlight-item:first-child {
        max-width: 100%;
        padding: 32px 24px;
    }

    .highlight-module__highlight-item {
        max-width: 100%;
        min-height: 240px;
        padding: 32px 24px;
    }
}

@media screen and (max-width: 520px) {
    .faq-module__contact-box {
        padding: 20px;
    }

    .image-text-module__container.container {
        padding-bottom: 24px;
    }

    .highlight-module__highlights-section {
        padding: 0;
    }

    .highlight-module__highlights {
        padding: 24px;
        gap: 14px;
    }

    .highlight-module__highlights--single .highlight-module__highlight-item,
    .highlight-module__highlights--three .highlight-module__highlight-item:first-child,
    .highlight-module__highlights--five .highlight-module__highlight-item:first-child,
    .highlight-module__highlight-item {
        max-width: 100%;
        min-height: 220px;
        padding: 28px 20px;
    }
}

@media screen and (max-width: 834px) and (min-width: 768px) {
    .faq-module__contact-box {
        margin-top: 12px;
        padding: 28px;
    }

    .image-text-module__container.container {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .highlight-module__highlights-section {
        padding: 36px 24px 44px;
    }

    .highlight-module__highlights {
        padding: 30px;
        gap: 18px;
    }

    .highlight-module__highlight-item {
        min-height: 250px;
        padding: 34px 24px;
    }
}

@media screen and (max-width: 390px) {
    .faq-module__contact-box {
        padding: 18px;
    }

    .image-text-module__container.container {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .highlight-module__highlights-section {
        padding: 20px 16px 28px;
    }

    .highlight-module__highlights {
        padding: 16px;
        gap: 12px;
    }

    .highlight-module__highlights--single .highlight-module__highlight-item,
    .highlight-module__highlights--three .highlight-module__highlight-item:first-child,
    .highlight-module__highlights--five .highlight-module__highlight-item:first-child,
    .highlight-module__highlight-item {
        min-height: 200px;
        padding: 24px 16px;
    }
}

@media screen and (max-width: 360px) {
    .faq-module__contact-box {
        padding: 16px;
    }

    .image-text-module__container.container {
        padding-bottom: 8px;
    }

    .highlight-module__highlights-section {
        padding: 18px 14px 24px;
    }

    .highlight-module__highlights {
        padding: 14px;
        gap: 10px;
    }

    .highlight-module__highlights--single .highlight-module__highlight-item,
    .highlight-module__highlights--three .highlight-module__highlight-item:first-child,
    .highlight-module__highlights--five .highlight-module__highlight-item:first-child,
    .highlight-module__highlight-item {
        min-height: 188px;
        padding: 22px 14px;
    }
}
.trans {
    opacity:0;
}