
header.rr-header .rr-search {
    --rr-search-navy: #171245;
    --rr-search-light: #F9F9F9;
    --rr-search-accent: #6A59FD;
    --rr-search-field-bg: #F9F9F9;
    --rr-search-font: 'Archivo', 'Noto Sans', 'Segoe UI', Arial, sans-serif;

    /* Static so the panel positions against .rr-header__inner (full header width). */
    position: static;
    display: flex;
    align-items: center;
}
/* Neutral light heroes and pages without a hero need a contrasting grey field. */
header.rr-header.rr-header--gray-hero .rr-search,
header.rr-header.rr-header--solid .rr-search {
    --rr-search-field-bg: #B5B4C3;
}
header.rr-header .rr-search__icon {
    display: block;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1;
    stroke-linecap: round;
    stroke-linejoin: round;
}
header.rr-header .rr-search__trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--rr-header-text);
    cursor: pointer;
}
header.rr-header .rr-search__trigger:hover {
        color: var(--rr-header-hover);
    }
header.rr-header .rr-search__trigger:focus {
        outline: none;
    }
header.rr-header .rr-search__trigger:focus-visible {
        outline: 2px solid var(--rr-search-accent);
        outline-offset: 2px;
    }
header.rr-header .rr-search__icon--close,
header.rr-header .rr-search__trigger[aria-expanded="true"] .rr-search__icon--search {
    display: none;
}
header.rr-header .rr-search__trigger[aria-expanded="true"] .rr-search__icon--close {
    display: block;
}
header.rr-header.rr-header--search-open {
    --rr-header-text: #171245;
    --rr-header-hover: #6A59FD;
    background-color: #F9F9F9;
    border-bottom-color: rgba(23, 18, 69, 0.3);
}
header.rr-header.rr-header--search-open #logo a {
        position: relative;
    }
header.rr-header.rr-header--search-open #logo a::after {
            content: "";
            position: absolute;
            inset: 0;
            background-color: #6A59FD;
            -webkit-mask: var(--rr-logo-mask) center / contain no-repeat;
            mask: var(--rr-logo-mask) center / contain no-repeat;
            pointer-events: none;
        }
header.rr-header.rr-header--search-open #logo img.rr-header__logo-img {
        visibility: hidden;
    }
header.rr-header .rr-search__panel {
    position: absolute;
    /* Under the masthead and its 1px border. */
    top: calc(100% + 1px);
    left: 0;
    right: 0;
    box-sizing: border-box;
    padding: 12px var(--rr-header-padding-x) 16px;
    background: transparent;
    color: var(--rr-search-navy);
    font-family: var(--rr-search-font);
    text-align: left;
    box-shadow: none;
    z-index: 10;
}
header.rr-header .rr-search__panel[hidden] {
        display: none;
    }
header.rr-header .rr-search__panel[data-rr-search-surface="neutral"] {
    --rr-search-field-bg: #B5B4C3;
}
header.rr-header .rr-search__panel[data-rr-search-surface="colored"] {
    --rr-search-field-bg: #F9F9F9;
}

header.rr-header .rr-search__form {
    position: relative;
    display: block;
    width: 100%;
    max-width: 880px;
    margin: 0 auto;
    padding: 0;
}
header.rr-header .rr-search__box {
    position: relative;
}
header.rr-header .rr-search__row {
    display: flex;
    align-items: center;
    gap: 12px;
    box-sizing: border-box;
    width: 100%;
    padding: 9px 15px;
    border: 1px solid rgba(23, 18, 69, 0.3);
    border-radius: 10px;
    background: var(--rr-search-field-bg);
    color: var(--rr-search-navy);
}
header.rr-header .rr-search__box--open .rr-search__row {
    border-radius: 10px 10px 0 0;
}
header.rr-header .rr-search__input,
header.rr-header .rr-search__input:focus {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    height: 28px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    outline: none;
    box-shadow: none;
    background: transparent;
    color: var(--rr-search-navy);
    /* !important: _base.css forces Noto Sans on every input with !important; Figma uses Archivo. */
    font-family: var(--rr-search-font) !important;
    font-size: 18px;
    font-weight: 500;
    line-height: 28px;
    letter-spacing: 0;
    -webkit-appearance: none;
    appearance: none;
}
header.rr-header .rr-search__input::placeholder {
        color: var(--rr-search-navy);
        opacity: 0.5;
    }
header.rr-header .rr-search__input::-webkit-search-cancel-button,
    header.rr-header .rr-search__input::-webkit-search-decoration {
        -webkit-appearance: none;
        display: none;
    }
header.rr-header .rr-search__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--rr-search-navy);
    opacity: 0.3;
    cursor: pointer;
}
header.rr-header .rr-search__toggle:focus {
        outline: none;
    }
header.rr-header .rr-search__toggle:focus-visible {
        outline: 2px solid var(--rr-search-accent);
        outline-offset: 2px;
    }
header.rr-header .rr-search__toggle[aria-expanded="true"] {
        opacity: 1;
    }
header.rr-header .rr-search__toggle[aria-expanded="true"] .rr-search__icon {
            stroke-width: 1.5;
        }
header.rr-header .rr-search__toggle[disabled] {
        cursor: default;
    }
header.rr-header .rr-search__list {
    position: static;
    margin: 0;
    padding: 0;
    list-style: none;
    border: 1px solid rgba(23, 18, 69, 0.3);
    border-top: 0;
    border-radius: 0 0 10px 10px;
    overflow: hidden;
    background: var(--rr-search-light);
    box-shadow: 0 12px 24px rgba(23, 18, 69, 0.1);
    z-index: 1;
}
header.rr-header .rr-search__list[hidden] {
        display: none;
    }
header.rr-header .rr-search__option {
    margin: 0;
    padding: 0;
}
header.rr-header .rr-search__link {
    display: flex;
    align-items: center;
    gap: 16px;
    box-sizing: border-box;
    min-height: 54px;
    /* 1px #E8E8E8 divider inside the 54px row. */
    padding: 18px 24px 17px;
    border-bottom: 1px solid #E8E8E8;
    color: var(--rr-search-navy);
    font-family: var(--rr-search-font);
    font-size: 16px;
    font-weight: 400;
    line-height: 115%;
    letter-spacing: 0;
    text-decoration: none;
}
header.rr-header .rr-search__link:hover,
    header.rr-header .rr-search__link:focus {
        /* Outrank the global important purple hover rule in _base.css. */
        color: var(--rr-search-navy) !important;
        text-decoration: none;
        outline: none;
    }
header.rr-header .rr-search__option--active .rr-search__link {
    background: rgba(23, 18, 69, 0.3);
}
header.rr-header .rr-search__link-icon {
    opacity: 0.6;
}
header.rr-header .rr-search__text {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
header.rr-header .rr-search__text strong {
        font-weight: 700;
    }
header.rr-header .rr-search__arrow {
    opacity: 0.3;
}
header.rr-header .rr-search__option--active .rr-search__arrow {
    opacity: 0.8;
}

/* ---------- Large (1025 - 1280): same layout, 40px sides from header-new.css ---------- */

/* ---------- Medium / Small (below 1000px): full-screen panel like the burger menu ---------- */

@media (max-width: 999.98px) {
html.rr-search-is-open,
    html.rr-search-is-open body {
        overflow: hidden;
    }
header.rr-header .rr-search__panel {
        position: fixed;
        top: calc(var(--rr-header-height) + 1px);
        bottom: 0;
        padding: 16px 0 40px;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        background: var(--rr-search-navy);
        color: var(--rr-search-light);
        box-shadow: none;
        z-index: 999;
    }
header.rr-header .rr-search__form {
        max-width: none;
    }
header.rr-header .rr-search__box {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }
header.rr-header .rr-search__row,
    header.rr-header .rr-search__box--open .rr-search__row {
        width: calc(100% - 48px);
        margin: 8px 24px;
        padding: 9px 15px;
        border-color: rgba(255, 255, 255, 0.1);
        border-radius: 12px;
        background: rgba(255, 255, 255, 0.06);
        color: var(--rr-search-light);
    }
header.rr-header .rr-search__input,
    header.rr-header .rr-search__input:focus {
        height: 28px;
        color: var(--rr-search-light);
        font-size: 18px;
        line-height: 28px;
    }
header.rr-header .rr-search__input::placeholder {
            color: var(--rr-search-light);
        }
header.rr-header .rr-search__toggle {
        color: var(--rr-search-light);
        opacity: 1;
    }
header.rr-header .rr-search__list {
        position: static;
        display: flex;
        flex-direction: column;
        gap: 4px;
        border: 0;
        border-radius: 0;
        overflow: visible;
        background: transparent;
        box-shadow: none;
    }
header.rr-header .rr-search__link {
        min-height: 45px;
        padding: 14px 20px;
        border-bottom: 0;
        color: var(--rr-search-light);
        font-weight: 500;
        line-height: 105%;
    }
header.rr-header .rr-search__link:hover,
        header.rr-header .rr-search__link:focus {
            color: var(--rr-search-light) !important;
        }
header.rr-header .rr-search__option--active .rr-search__link {
        background: rgba(255, 255, 255, 0.05);
    }
header.rr-header .rr-search__option--active .rr-search__arrow {
        opacity: 1;
    }
}

@media (max-width: 749.98px) {
header.rr-header .rr-search__row,
    header.rr-header .rr-search__box--open .rr-search__row {
        width: calc(100% - 40px);
        margin: 4px 20px;
        gap: 12px;
        padding: 9px 11px;
        border-radius: 8px;
    }
header.rr-header .rr-search__input,
    header.rr-header .rr-search__input:focus {
        height: 24px;
        font-size: 16px;
        line-height: 24px;
    }
header.rr-header .rr-search__toggle {
        display: none;
    }
}
