.crs-site-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(12px, 1.35vw, 24px);
    min-width: 0;
}

.crs-site-nav > a,
.crs-site-nav__more-button {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 2px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: #142b20;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
}

.crs-site-nav > a:hover,
.crs-site-nav > a:focus-visible,
.crs-site-nav__more-button:hover,
.crs-site-nav__more-button:focus-visible {
    color: #006c35;
    outline: none;
}

.crs-site-nav > a.active,
.crs-site-nav > a[aria-current="page"],
.crs-site-nav__more.is-active .crs-site-nav__more-button {
    color: #006c35;
    border-bottom-color: #006c35;
}

.crs-site-nav__more {
    position: relative;
    display: flex;
    align-items: center;
}

.crs-site-nav__chevron {
    width: 7px;
    height: 7px;
    margin-top: -4px;
    border-inline-end: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform 160ms ease;
}

.crs-site-nav__more.is-open .crs-site-nav__chevron {
    margin-top: 4px;
    transform: rotate(225deg);
}

.crs-site-nav__more-menu {
    position: absolute;
    inset-block-start: calc(100% + 7px);
    inset-inline-end: 0;
    z-index: 1000;
    width: 250px;
    padding: 8px;
    border: 1px solid rgba(0, 108, 53, 0.14);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 20px 50px rgba(15, 40, 27, 0.18);
}

.crs-site-nav__more-menu[hidden] {
    display: none !important;
}

.crs-site-nav__more-menu a {
    display: flex;
    align-items: center;
    min-height: 43px;
    padding: 10px 12px;
    border-radius: 9px;
    color: #173326;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.crs-site-nav__more-menu a:hover,
.crs-site-nav__more-menu a:focus-visible {
    background: #eef9f2;
    color: #006c35;
    outline: none;
}

.crs-site-nav__more-menu a.active,
.crs-site-nav__more-menu a[aria-current="page"] {
    background: #e5f6eb;
    color: #006c35;
}

.crs-mobile-drawer__nav details {
    border-top: 1px solid rgba(0, 108, 53, 0.12);
}

.crs-mobile-drawer__nav details summary {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 11px 4px;
    color: #173326;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.crs-mobile-drawer__nav details summary::-webkit-details-marker {
    display: none;
}

.crs-mobile-drawer__nav details summary::after {
    content: "⌄";
    color: #006c35;
    font-size: 18px;
    transition: transform 160ms ease;
}

.crs-mobile-drawer__nav details[open] summary::after {
    transform: rotate(180deg);
}

.crs-mobile-drawer__more-links {
    display: grid;
    gap: 4px;
    padding: 0 8px 10px;
}

.crs-mobile-drawer__more-links a {
    min-height: 42px;
    display: flex;
    align-items: center;
    padding: 9px 12px;
    border-radius: 9px;
    background: #f7fbf8;
    color: #244034;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.crs-mobile-drawer__more-links a.active,
.crs-mobile-drawer__more-links a[aria-current="page"] {
    background: #e5f6eb;
    color: #006c35;
}

@media (max-width: 1180px) {
    header .crs-site-nav {
        display: none !important;
    }
}

/*
 * CRS deterministic responsive public header.
 *
 * Wide screens use a four-area grid:
 * actions | navigation | logo | menu
 *
 * Before elements can overlap, the navigation and secondary actions
 * are hidden and the existing three-line menu becomes visible.
 */

.crs-site-header,
.site-header,
.platform-header,
.crs-public-header {
    display: grid !important;
    grid-template-columns:
        max-content
        minmax(0, 1fr)
        max-content
        max-content;
    grid-template-areas:
        "actions navigation logo menu";
    align-items: center;
    column-gap: clamp(14px, 1.3vw, 24px);
    min-width: 0;
}

html[dir="ltr"] .crs-site-header,
html[dir="ltr"] .site-header,
html[dir="ltr"] .platform-header,
html[dir="ltr"] .crs-public-header {
    grid-template-areas:
        "menu logo navigation actions";
}

.crs-site-header .logo,
.crs-site-header .brand,
.site-header .logo,
.site-header .brand,
.platform-header .logo,
.platform-header .brand,
.crs-public-header .logo,
.crs-public-header .brand {
    grid-area: logo;
    min-width: 0;
    flex: none;
}

.crs-site-header .crs-site-nav,
.site-header .crs-site-nav,
.platform-header .crs-site-nav,
.crs-public-header .crs-site-nav {
    grid-area: navigation;
    width: 100%;
    min-width: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    gap: clamp(16px, 1.25vw, 24px);
    overflow: visible;
}

.crs-site-header .actions,
.crs-site-header .header-actions,
.crs-site-header .crs-site-header__actions,
.site-header .actions,
.site-header .header-actions,
.platform-header .actions,
.platform-header .header-actions,
.crs-public-header .actions,
.crs-public-header .header-actions {
    grid-area: actions;
    min-width: max-content;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.crs-site-header .crs-mobile-menu-toggle,
.site-header .crs-mobile-menu-toggle,
.platform-header .crs-mobile-menu-toggle,
.crs-public-header .crs-mobile-menu-toggle {
    grid-area: menu;
    display: none !important;
    flex: none;
}

.crs-site-nav > a,
.crs-site-nav__more-button,
.crs-market-switcher,
.crs-market-switcher__button,
.crs-site-header .btn,
.site-header .btn,
.platform-header .btn,
.crs-public-header .btn {
    flex: 0 0 auto;
}

.crs-site-nav > a {
    gap: 7px;
}

.crs-site-nav > a .crs-icon,
.crs-site-nav__more-button .crs-icon {
    flex: 0 0 auto;
}

/*
 * Switch early enough to preserve safe spacing.
 * At this state only burger, logo, and country selector remain.
 */
@media (max-width: 1360px) {
    .crs-site-header,
    .site-header,
    .platform-header,
    .crs-public-header {
        grid-template-columns:
            max-content
            minmax(0, 1fr)
            max-content;
        grid-template-areas:
            "actions spacer logo";
        column-gap: 14px;
    }

    html[dir="ltr"] .crs-site-header,
    html[dir="ltr"] .site-header,
    html[dir="ltr"] .platform-header,
    html[dir="ltr"] .crs-public-header {
        grid-template-areas:
            "logo spacer actions";
    }

    .crs-site-header::before,
    .site-header::before,
    .platform-header::before,
    .crs-public-header::before {
        content: "";
        grid-area: spacer;
        min-width: 0;
    }

    .crs-site-header .crs-site-nav,
    .site-header .crs-site-nav,
    .platform-header .crs-site-nav,
    .crs-public-header .crs-site-nav {
        display: none !important;
    }

    .crs-site-header .crs-mobile-menu-toggle,
    .site-header .crs-mobile-menu-toggle,
    .platform-header .crs-mobile-menu-toggle,
    .crs-public-header .crs-mobile-menu-toggle {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        position: absolute;
        inset-inline-end: 18px;
        inset-block-start: 50%;
        transform: translateY(-50%);
        z-index: 4;
    }

    html[dir="ltr"] .crs-site-header .crs-mobile-menu-toggle,
    html[dir="ltr"] .site-header .crs-mobile-menu-toggle,
    html[dir="ltr"] .platform-header .crs-mobile-menu-toggle,
    html[dir="ltr"] .crs-public-header .crs-mobile-menu-toggle {
        inset-inline-end: auto;
        inset-inline-start: 18px;
    }

    .crs-site-header .logo,
    .crs-site-header .brand,
    .site-header .logo,
    .site-header .brand,
    .platform-header .logo,
    .platform-header .brand,
    .crs-public-header .logo,
    .crs-public-header .brand {
        margin-inline-end: 54px;
    }

    html[dir="ltr"] .crs-site-header .logo,
    html[dir="ltr"] .crs-site-header .brand,
    html[dir="ltr"] .site-header .logo,
    html[dir="ltr"] .site-header .brand,
    html[dir="ltr"] .platform-header .logo,
    html[dir="ltr"] .platform-header .brand,
    html[dir="ltr"] .crs-public-header .logo,
    html[dir="ltr"] .crs-public-header .brand {
        margin-inline-end: 0;
        margin-inline-start: 54px;
    }

    .crs-site-header .actions > :not(.crs-market-switcher),
    .crs-site-header .header-actions > :not(.crs-market-switcher),
    .site-header .actions > :not(.crs-market-switcher),
    .site-header .header-actions > :not(.crs-market-switcher),
    .platform-header .actions > :not(.crs-market-switcher),
    .platform-header .header-actions > :not(.crs-market-switcher),
    .crs-public-header .actions > :not(.crs-market-switcher),
    .crs-public-header .header-actions > :not(.crs-market-switcher) {
        display: none !important;
    }
}

@media (max-width: 760px) {
    .crs-site-header,
    .site-header,
    .platform-header,
    .crs-public-header {
        min-height: 68px;
        padding-inline: 12px !important;
        column-gap: 8px;
    }

    .crs-site-header .crs-mobile-menu-toggle,
    .site-header .crs-mobile-menu-toggle,
    .platform-header .crs-mobile-menu-toggle,
    .crs-public-header .crs-mobile-menu-toggle {
        inset-inline-end: 12px;
    }

    html[dir="ltr"] .crs-site-header .crs-mobile-menu-toggle,
    html[dir="ltr"] .site-header .crs-mobile-menu-toggle,
    html[dir="ltr"] .platform-header .crs-mobile-menu-toggle,
    html[dir="ltr"] .crs-public-header .crs-mobile-menu-toggle {
        inset-inline-start: 12px;
    }

    .crs-site-header .logo,
    .crs-site-header .brand,
    .site-header .logo,
    .site-header .brand,
    .platform-header .logo,
    .platform-header .brand,
    .crs-public-header .logo,
    .crs-public-header .brand {
        margin-inline-end: 48px;
    }

    html[dir="ltr"] .crs-site-header .logo,
    html[dir="ltr"] .crs-site-header .brand,
    html[dir="ltr"] .site-header .logo,
    html[dir="ltr"] .site-header .brand,
    html[dir="ltr"] .platform-header .logo,
    html[dir="ltr"] .platform-header .brand,
    html[dir="ltr"] .crs-public-header .logo,
    html[dir="ltr"] .crs-public-header .brand {
        margin-inline-end: 0;
        margin-inline-start: 48px;
    }

    .crs-site-header .logo img,
    .crs-site-header .brand img,
    .site-header .logo img,
    .site-header .brand img,
    .platform-header .logo img,
    .platform-header .brand img,
    .crs-public-header .logo img,
    .crs-public-header .brand img {
        width: auto;
        max-width: 124px !important;
        height: auto;
        max-height: 46px !important;
        object-fit: contain;
    }

    .crs-market-switcher__button {
        max-width: 166px;
    }
}

@media (max-width: 430px) {
    .crs-site-header,
    .site-header,
    .platform-header,
    .crs-public-header {
        padding-inline: 9px !important;
    }

    .crs-site-header .logo img,
    .crs-site-header .brand img,
    .site-header .logo img,
    .site-header .brand img,
    .platform-header .logo img,
    .platform-header .brand img,
    .crs-public-header .logo img,
    .crs-public-header .brand img {
        max-width: 102px !important;
    }

    .crs-market-switcher__button {
        max-width: 132px;
        padding-inline: 9px;
    }

    .crs-market-switcher__label {
        max-width: 76px;
    }
}

/*
 * Canonical homepage header shared by all public pages.
 */
body > header.site-header {
    width: 100%;
    min-height: 82px;
    height: 82px;
    margin: 0;
    padding: 0;
    position: sticky;
    inset-block-start: 0;
    z-index: 1000;
    background: #fff;
    border-bottom: 1px solid var(--line, #dce7e1);
    box-shadow: 0 2px 10px rgba(15, 40, 27, 0.04);
}

body > header.site-header > .site-header__inner {
    width: 100%;
    min-height: 82px;
    height: 82px;
    margin: 0 auto;
    padding-inline: clamp(18px, 4vw, 64px);
}

body > header.site-header .brand-logo-approved {
    display: block;
    width: auto;
    height: 58px;
    max-width: 260px;
    object-fit: contain;
}

@media (max-width: 1360px) {
    body > header.site-header > .site-header__inner {
        padding-inline: 18px;
    }
}

@media (max-width: 760px) {
    body > header.site-header,
    body > header.site-header > .site-header__inner {
        min-height: 68px;
        height: 68px;
    }

    body > header.site-header > .site-header__inner {
        padding-inline: 12px;
    }
}
