/*
Theme Name: Brightscope
Theme URI: https://brightscope.io
Description: Brightscope corporate site theme (child of Getfolyo).
Author: Brightscope
Version: 1.0.0
Template: getfolyo
Text Domain: brightscope
*/

/*
 * Keep layout width stable when page height crosses the scrollbar threshold.
 * Without this, switching short↔tall inner pages shifts the centered header ~½ scrollbar.
 */
html {
    scrollbar-gutter: stable;
}

/* Parent .header uses transition: all — never animate width/top/height on chrome */
.header.brightscope-header,
.brightscope-header {
    transition: background-color 0.3s ease !important;
    --bs-header-top: 30px;
    top: var(--bs-header-top) !important;
    height: 70px !important;
}

body.admin-bar .brightscope-header {
    --bs-header-top: calc(var(--wp-admin--admin-bar--height, 32px) + 30px);
}
.promo-bar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 901;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 30px;
    min-height: 30px;
    padding: 0 16px;
    box-sizing: border-box;
    background: #000;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 30px;
    text-align: center;
}

body.admin-bar .promo-bar {
    top: var(--wp-admin--admin-bar--height, 32px);
}

.promo-bar::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(90deg, #57A2F1 0%, #6061F5 20%, #DB64A1 40%, #EE7B3C 60%, #EFAE3D 80%, #ED7458 100%);
    pointer-events: none;
}

.promo-bar__inner {
    position: relative;
    z-index: 1;
    margin: 0;
    max-width: 72rem;
}

.promo-bar__lead {
    color: #fff;
}

.promo-bar__cta {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.promo-bar__cta:hover,
.promo-bar__cta:focus-visible {
    color: #fff;
    opacity: 0.92;
    outline: none;
}

/* WP Admin Bar: hidden on phones; promo + header offsets match Getfolyo */
@media screen and (max-width: 782px) {
    #wpadminbar {
        display: none !important;
    }

    html {
        margin-top: 0 !important;
    }

    body.admin-bar .promo-bar {
        top: 0;
    }
}

@media (max-width: 767px) {
    .promo-bar {
        font-size: 14px;
        line-height: 30px;
        padding-left: 12px;
        padding-right: 12px;
    }
}

/* --- Brightscope header --- */
.brightscope-header {
    position: fixed;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 900;
    background: #000;
    overflow: visible;
    box-sizing: border-box;
}

.brightscope-header .header__wrapper {
    position: relative;
    max-width: 1200px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
}

.brightscope-header .header__logo {
    transform: translateY(5px);
}

.brightscope-header .header__logo img {
    display: block;
    width: 158.7px;
    height: 28px;
}

.brightscope-header .header__nav {
    flex: 1;
    display: flex;
    justify-content: center;
    margin: 0;
    min-width: 0;
    overflow: visible;
}

@media (min-width: 992px) {
    .brightscope-header .header__nav,
    .brightscope-header .header__menu {
        height: 100%;
    }

    .brightscope-header .header__menu-item--mega {
        position: relative;
        height: 100%;
        display: flex;
        align-items: center;
    }
}

.brightscope-header .header__menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow: visible;
}

.brightscope-header .header__menu-item {
    position: static;
    margin: 0;
    padding: 0;
}

.brightscope-header .header__menu-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 30px;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.15s ease;
}

.brightscope-header .header__menu-link:hover,
.brightscope-header .header__menu-link:focus-visible {
    color: #fff;
    opacity: 0.85;
    outline: none;
}

.brightscope-header .header__menu-item--mega > .header__menu-link {
    position: relative;
    z-index: 2;
}

.brightscope-header .header__menu-item--mega:hover > .header__menu-link,
.brightscope-header .header__menu-item--mega:focus-within > .header__menu-link {
    color: #FF5B00;
    opacity: 1;
}

.brightscope-header .header__arrow {
    width: 9px;
    height: 5px;
    flex-shrink: 0;
    transition: transform 0.15s ease;
}

.brightscope-header .header__menu-item--mega:hover .header__arrow,
.brightscope-header .header__menu-item--mega:focus-within .header__arrow {
    transform: rotate(180deg);
}

/* --- Mega menu (Platform / Company) --- */
.bs-mega {
    position: absolute;
    left: 50%;
    top: 100%;
    z-index: 950;
    box-sizing: border-box;
    width: min(1200px, calc(100% - 48px));
    transform: translateX(-50%);
    display: block;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.12s ease, visibility 0s linear 0.2s;
}

/* Invisible hover bridge — covers the gap between nav link and panel */
.bs-mega::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: -32px;
    height: 32px;
}

@media (min-width: 992px) {
    .brightscope-header .header__menu-item--mega::after {
        content: '';
        position: absolute;
        left: -24px;
        right: -24px;
        top: 100%;
        height: 24px;
    }
}

.brightscope-header .header__menu-item--mega:hover .bs-mega,
.brightscope-header .header__menu-item--mega:focus-within .bs-mega {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transition: opacity 0.12s ease, visibility 0s linear 0s;
}

.bs-mega__panel {
    box-sizing: border-box;
    width: 100%;
    background: #FFFFFF;
    border: 0.5px solid rgba(85, 96, 114, 0.5);
    border-radius: 3px;
    border-top: 5px solid #FF5B00;
    box-shadow: 0 8px 32px rgba(2, 48, 71, 0.12);
}

.bs-mega--platform .bs-mega__panel {
    min-height: 135px;
    padding: 28px 32px;
}

.bs-mega--company .bs-mega__panel {
    min-height: 280px;
    padding: 28px 32px 32px;
}

.bs-mega__grid {
    display: grid;
    gap: 16px 24px;
}

.bs-mega__grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
}

.bs-mega__grid--company {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: minmax(70px, auto);
}

.bs-mega__item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 12px 14px;
    border-radius: 3px;
    text-decoration: none;
    transition: background-color 0.15s ease;
}

.bs-mega__item:hover,
.bs-mega__item:focus-visible {
    background: #F0F2F7;
    border-radius: 3px;
    outline: none;
}

.bs-mega__item:hover .bs-mega__icon,
.bs-mega__item:focus-visible .bs-mega__icon {
    background: #fff;
}

.bs-mega__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 51px;
    height: 42px;
    background: rgba(255, 91, 0, 0.1);
    border-radius: 3px;
}

.bs-mega__icon img {
    display: block;
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.bs-mega__text {
    display: flex;
    flex-direction: column;
    min-width: 0;
    text-align: left;
}

.bs-mega__title {
    color: #023047;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 27px;
}

.bs-mega__desc {
    color: rgba(2, 48, 71, 0.6);
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 27px;
}

@media (max-width: 991px) {
    .bs-mega {
        position: static;
        left: auto;
        top: auto;
        width: 100%;
        transform: none;
        display: none;
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transition: none;
        padding: 0;
    }

    .brightscope-header .header__menu-item--mega::after {
        content: none;
    }

    .bs-mega::before {
        content: none;
    }

    .brightscope-header .header__menu-item--mega.is-open .bs-mega,
    .brightscope-header .header__nav.active .header__menu-item--mega.is-open .bs-mega {
        display: block;
    }

    .bs-mega__panel {
        min-height: 0 !important;
        margin-top: 8px;
        padding: 16px !important;
        border-top-width: 3px;
    }

    .bs-mega__grid--3,
    .bs-mega__grid--company {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .bs-mega__item {
        padding: 10px 8px;
    }

    .bs-mega__desc {
        font-size: 14px;
        line-height: 22px;
    }
}

.brightscope-header .header__actions {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-shrink: 0;
}

.brightscope-header .header__lang {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
}

.brightscope-header .header__lang img {
    width: 24px;
    height: 24px;
    display: block;
}

.brightscope-header .header__btn-login {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 180px;
    height: 40px;
    box-sizing: border-box;
    border: 1px solid #fff;
    border-radius: 3px;
    background: transparent;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 30px;
    text-decoration: none;
    white-space: nowrap;
}

.brightscope-header .header__btn-login:hover,
.brightscope-header .header__btn-login:focus-visible {
    color: #fff;
    opacity: 0.9;
    outline: none;
}

.brightscope-header .header__btn-login-short {
    display: none;
}

/* --- Brightscope inner pages: homepage hero PNG, then solid #F0F2F7 --- */
body.brightscope-inner-page {
    padding-top: 100px !important;
    background-color: #f0f2f7;
    background-image: none;
}

.getfolyo-inner-page .brightscope-header,
.getfolyo-driver-page .brightscope-header,
body.brightscope-inner-page .brightscope-header {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

body.brightscope-inner-page .brightscope-header.brightscope-header--solid {
    background: #0b2b4c !important;
    background-color: #0b2b4c !important;
    background-image: none !important;
}

body.brightscope-inner-page .brightscope-header .header__menu-link,
body.brightscope-inner-page .brightscope-header .header__btn-login {
    color: #fff !important;
}

body.brightscope-inner-page .brightscope-header .header__btn-login {
    border-color: #fff !important;
}

body.brightscope-inner-page .hero--inner,
body.brightscope-inner-page .bs-inner-hero {
    position: relative;
    box-sizing: border-box;
    height: unset;
    min-height: 600px;
    margin-top: -100px;
    padding: 130px 0 110px;
    overflow: visible;
    /* Page canvas: solid grey. Hero PNG only in top band (::after). */
    background-color: #f0f2f7;
    background-image: none !important;
}

/* Kill Folyo rainbow stripe / any leftover pseudo art */
body.brightscope-inner-page .hero--inner::before,
body.brightscope-inner-page .bs-inner-hero::before {
    content: none !important;
    display: none !important;
    background: none !important;
}

/* Same homepage hero band height (~1200px), then solid #F0F2F7 */
body.brightscope-inner-page .hero--inner::after,
body.brightscope-inner-page .bs-inner-hero::after {
    content: '';
    display: block !important; /* parent sets .hero--inner:after { display:none } */
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1200px;
    z-index: 0;
    pointer-events: none;
    background-color: #0a1628;
    background-image: var(--bs-inner-bg, none);
    background-size: 3000px auto;
    background-position: top center;
    background-repeat: no-repeat;
}

body.brightscope-inner-page .inner-outer,
body.brightscope-inner-page .bs-inner-card {
    position: relative;
    z-index: 1;
    width: min(1200px, calc(100% - 32px));
    max-width: 1200px;
    min-height: 1150px;
    margin: 0 auto;
    background: #fff;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 0 18px 50px rgba(2, 48, 71, 0.12);
    display: flex;
    flex-direction: column;
}

/* Orange bar under white card (not impressum/contact — they have panel bars) */
body.brightscope-inner-page:not(.bs-page-impressum):not(.bs-page-contact) .inner-outer::after,
body.brightscope-inner-page:not(.bs-page-impressum):not(.bs-page-contact) .bs-inner-card::after {
    content: '';
    display: block;
    width: 100%;
    height: 9px;
    background: #ff5b00;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    margin-top: auto;
    flex: 0 0 9px;
}

/* Contact: one 1100px orange bar at card bottom (Figma) */
body.brightscope-inner-page.bs-page-contact .inner-outer::after,
body.brightscope-inner-page.bs-page-contact .bs-inner-card::after {
    content: '';
    display: block;
    width: min(1100px, calc(100% - 48px));
    height: 9px;
    margin: auto auto 0;
    background: #ff5b00;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    flex: 0 0 9px;
}

body.brightscope-inner-page .inner-menu-bar {
    padding: 18px 24px 0;
    margin: 0;
    flex: 0 0 auto;
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
}

body.brightscope-inner-page .inner-menu {
    gap: 0.35em 1.15em;
    min-height: 29px;
    height: 29px;
    margin: 0;
    padding: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 30px;
    letter-spacing: 0;
    color: #023047;
}

body.brightscope-inner-page .inner-menu__item {
    position: relative;
    margin: 0;
    padding: 0 !important;
    font-size: 16px;
    font-weight: 400;
    line-height: 30px;
    letter-spacing: 0;
    color: #023047;
}

body.brightscope-inner-page .inner-menu__link {
    display: inline-block;
    color: #023047;
    font-size: 16px;
    font-weight: 400;
    line-height: 30px;
    letter-spacing: 0;
}

body.brightscope-inner-page .inner-menu__item--active .inner-menu__link {
    font-weight: 700;
    color: #023047;
    text-decoration: none;
    border-bottom: none;
    box-shadow: none;
}

body.brightscope-inner-page .inner-menu__item--active::after,
body.brightscope-inner-page .inner-menu__item--active:after {
    display: none !important;
    content: none !important;
}

body.brightscope-inner-page .bs-inner-rule {
    display: block;
    box-sizing: border-box;
    width: min(1100px, calc(100% - 48px));
    height: 0;
    margin: 14px auto 50px;
    padding: 0;
    border: 0;
    border-top: 1px solid #023047;
    outline: none;
    flex: 0 0 auto;
    overflow: visible;
}

/* Mobile: submenu wraps to rows — rule must sit below all rows */
@media (max-width: 767px) {
    body.brightscope-inner-page .inner-menu-bar {
        padding: 18px 16px 0;
    }

    body.brightscope-inner-page .inner-menu {
        height: auto;
        min-height: 0;
        gap: 8px 12px;
        line-height: 24px;
    }

    body.brightscope-inner-page .inner-menu__item,
    body.brightscope-inner-page .inner-menu__link {
        line-height: 24px;
        font-size: 15px;
    }

    body.brightscope-inner-page .bs-inner-rule {
        width: min(1100px, calc(100% - 32px));
        margin: 15px auto;
    }

    body.brightscope-inner-page.bs-page-legal .bs-inner-rule {
        margin: 15px auto;
    }
}

body.brightscope-inner-page .bs-contact__footer {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-top: 28px;
    padding: 0 0 8px;
    flex: 0 0 auto;
}

body.brightscope-inner-page .bs-contact__footer .bs-inner-rule {
    width: 100%;
    max-width: none;
    margin: 0;
}

body.brightscope-inner-page .bs-contact__grow {
    flex: 1 1 auto;
    min-height: 0;
}

body.brightscope-inner-page .bs-contact__social {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.35em;
    width: 100%;
    min-height: 32px;
    margin: 4px 0 0;
    padding: 0;
    text-align: center;
    font-family: Inter, sans-serif;
    font-size: 16px;
    line-height: 28px;
}

body.brightscope-inner-page .bs-inner-body,
body.brightscope-inner-page .contact-inner,
body.brightscope-inner-page .listing-outer {
    width: min(1100px, calc(100% - 48px));
    max-width: 1100px;
    margin: 0 auto 40px;
    flex: 1 1 auto;
}

/* Terms / Privacy / blog single: white content, orange bar on card */
body.brightscope-inner-page.bs-page-legal .bs-inner-rule {
    margin: 14px auto 0;
}

body.brightscope-inner-page.bs-page-legal .bs-inner-body {
    width: min(1100px, calc(100% - 48px));
    max-width: 1100px;
    margin: 0 auto;
    flex: 1 1 auto;
}

body.brightscope-inner-page.bs-page-legal .bs-inner-panel {
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
    margin: 0;
    background: transparent !important;
    border-radius: 0;
    overflow: visible;
}

body.brightscope-inner-page.bs-page-legal .inner__body {
    display: block !important;
    align-items: stretch;
    justify-content: flex-start;
    width: 100%;
    margin: 0 !important;
    padding: 45px 0 28px !important;
    text-align: left;
    background: transparent !important;
}

body.brightscope-inner-page.bs-page-legal .bs-inner-panel__bar {
    display: none;
}

/* Impressum: grey panel, 25px side padding */
body.brightscope-inner-page.bs-page-impressum .bs-inner-body {
    width: min(1100px, calc(100% - 48px));
    max-width: 1100px;
    margin: 0 auto 40px;
    flex: 0 0 auto;
}

body.brightscope-inner-page.bs-page-impressum .bs-inner-panel {
    flex: 0 0 auto;
    background: #f0f2f7 !important;
    border-radius: 3px;
    overflow: hidden;
}

body.brightscope-inner-page.bs-page-impressum .bs-inner-panel .inner__body {
    display: block !important;
    margin: 0 !important;
    padding: 35px 25px 24px !important;
    background: #f0f2f7 !important;
}

body.brightscope-inner-page.bs-page-impressum .bs-inner-panel__bar {
    display: block;
}

body.brightscope-inner-page .bs-legal {
    width: 100%;
    max-width: none;
    margin: 0;
    background: transparent;
    color: #000;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 25px;
}

body.brightscope-inner-page .bs-legal p {
    margin: 0 0 16px;
    color: #000;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 25px;
}

body.brightscope-inner-page .bs-legal p:last-child {
    margin-bottom: 0;
}

body.brightscope-inner-page .bs-legal .terms-link {
    color: #2a62fb;
    text-decoration: underline;
}

body.brightscope-inner-page .bs-legal .terms-link:hover {
    color: #1a4fd4;
}

body.brightscope-inner-page .bs-inner-panel {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 479px;
    margin: 0;
    padding: 0;
    background: #f0f2f7;
    border-radius: 3px;
    border-bottom: 0;
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    color: #212b5f;
    overflow: hidden;
}

body.brightscope-inner-page .bs-inner-panel .inner__body {
    flex: 1 1 auto;
    margin: 0;
    padding: 35px 50px 24px;
}

body.brightscope-inner-page .bs-inner-panel__bar {
    flex: 0 0 9px;
    width: 100%;
    height: 9px;
    margin: 0;
    margin-top: auto;
    background: #ff5b00;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
}

body.brightscope-inner-page .nl-page-inner {
    border-bottom: 0 !important;
}

/* --- Newsletter page (Figma 1100×216 #F0F2F7 + orange bar) --- */
.bs-nl {
    width: 100%;
    margin: 0;
}

.bs-nl__panel {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 216px;
    margin: 0;
    background: #f0f2f7;
    border-radius: 3px;
    overflow: hidden;
}

.bs-nl__body {
    box-sizing: border-box;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 207px;
    padding: 18px 24px 8px;
    text-align: center;
}

.bs-nl__body--success {
    gap: 16px;
}

.bs-nl__copy {
    box-sizing: border-box;
    width: 100%;
    max-width: 695px;
    margin: 0 auto 12px;
}

.bs-nl__title {
    margin: 0;
    color: #023047;
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 30px;
}

.bs-nl__lead {
    margin: 0;
    color: #023047;
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 30px;
}

.bs-nl__error {
    margin: 0 0 12px;
    color: #e53935;
    font-family: Inter, sans-serif;
    font-size: 15px;
    line-height: 22px;
}

.bs-nl__form {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}

.bs-nl__row {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: center;
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    gap: 0;
}

.bs-nl__field {
    flex: 1 1 auto;
    width: 450px;
    max-width: 450px;
    min-width: 0;
}

.bs-nl__input {
    box-sizing: border-box;
    display: block;
    width: 100%;
    height: 40px;
    margin: 0;
    padding: 0 16px;
    border: 0;
    border-radius: 3px 0 0 3px;
    background: #fff;
    color: #023047;
    font-family: Inter, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 30px;
    outline: none;
}

.bs-nl__input::placeholder {
    color: rgba(106, 111, 140, 0.5);
    opacity: 1;
}

.bs-nl__input:focus {
    box-shadow: inset 0 0 0 1px rgba(255, 91, 0, 0.45);
}

.bs-nl__field.is-invalid .bs-nl__input {
    box-shadow: inset 0 0 0 1px #e53935;
}

.bs-nl__submit {
    box-sizing: border-box;
    flex: 0 0 150px;
    width: 150px;
    height: 40px;
    margin: 0;
    padding: 0 12px;
    border: 1px solid #ff5b00;
    border-radius: 0 3px 3px 0;
    background: #ff5b00;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 30px;
    text-align: center;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.bs-nl__submit:hover:not(:disabled),
.bs-nl__submit:focus-visible:not(:disabled) {
    background: #e65200;
    border-color: #e65200;
    outline: none;
}

.bs-nl__submit:disabled {
    background: #c8ccd8;
    border-color: #c8ccd8;
    color: #fff;
    cursor: not-allowed;
    opacity: 1;
}

.bs-nl__field-error {
    min-height: 0;
    margin: 6px 0 0;
    color: #e53935;
    font-family: Inter, sans-serif;
    font-size: 13px;
    line-height: 18px;
    text-align: center;
}

.bs-nl__terms {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 52px;
    margin: 0;
    padding: 10px 0 2px;
}

.bs-nl__terms-row {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0;
    cursor: pointer;
}

.bs-nl__checkbox {
    appearance: none;
    -webkit-appearance: none;
    box-sizing: border-box;
    flex: 0 0 13px;
    width: 13px;
    height: 13px;
    margin: 0;
    padding: 0;
    border: 0;
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 13 13' fill='none'%3E%3Cpath d='M11.5556 1.44444V11.5556H1.44444V1.44444H11.5556ZM11.5556 0H1.44444C0.65 0 0 0.65 0 1.44444V11.5556C0 12.35 0.65 13 1.44444 13H11.5556C12.35 13 13 12.35 13 11.5556V1.44444C13 0.65 12.35 0 11.5556 0Z' fill='%23212B5F' fill-opacity='0.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 13px 13px;
    cursor: pointer;
}

.bs-nl__checkbox:checked {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 13 13' fill='none'%3E%3Crect x='0.5' y='0.5' width='12' height='12' rx='1' stroke='%23212B5F' stroke-opacity='0.5'/%3E%3Cpath d='M3.2 6.6L5.5 9L9.8 4.2' stroke='%23FF5B00' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.bs-nl__terms.is-invalid .bs-nl__checkbox {
    outline: 1px solid #e53935;
    outline-offset: 2px;
}

.bs-nl__terms-text {
    color: rgba(33, 43, 95, 0.5);
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 30px;
}

.bs-nl__terms-link {
    color: #2a62fb;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 30px;
    text-decoration: none;
}

.bs-nl__terms-link:hover,
.bs-nl__terms-link:focus-visible {
    text-decoration: underline;
    outline: none;
}

.bs-nl__bar {
    flex: 0 0 9px;
    width: 100%;
    height: 9px;
    margin: 0;
    background: #ff5b00;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
}

.bs-nl__success-icon {
    display: block;
    width: 50px;
    height: 50px;
}

.bs-nl__success-title {
    margin: 0;
    color: #023047;
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 30px;
}

@media (max-width: 700px) {
    .bs-nl__row {
        flex-direction: column;
        max-width: 100%;
    }

    .bs-nl__field {
        width: 100%;
        max-width: none;
    }

    .bs-nl__input {
        border-radius: 3px 3px 0 0;
    }

    .bs-nl__submit {
        flex: 0 0 auto;
        width: 100%;
        border-radius: 0 0 3px 3px;
    }

    .bs-nl__terms-row {
        align-items: flex-start;
        text-align: left;
    }
}

body.brightscope-inner-page .imprint-cols {
    display: grid !important;
    grid-template-columns: 400px 300px 300px;
    justify-content: space-between;
    gap: 0;
    max-width: none;
    padding: 0;
}

body.brightscope-inner-page .imprint-cols__col {
    width: auto;
    min-height: 409px;
}

body.brightscope-inner-page .imprint-cols__text {
    color: #212b5f;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 25px;
    margin: 0;
}

body.brightscope-inner-page .imprint-cols__text strong {
    font-weight: 700;
}

/* Contact — Figma: HQ #F0F2F7 + bar, 4 offices, line + LinkedIn, card orange 1100 */
body.brightscope-inner-page .contact-inner {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
    padding-bottom: 0;
}

body.brightscope-inner-page .bs-contact {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    width: 100%;
    color: #023047;
}

body.brightscope-inner-page .bs-contact__hq {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0 0 28px;
    background: #f0f2f7;
    border-radius: 3px;
    overflow: hidden;
}

body.brightscope-inner-page .bs-contact__hq-main {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 443px);
    align-items: stretch;
    min-height: 225px;
}

body.brightscope-inner-page .bs-contact__hq-text {
    position: relative;
    z-index: 2;
    box-sizing: border-box;
    max-width: 420px;
    padding: 28px 24px 24px 28px;
}

body.brightscope-inner-page .bs-contact__hq-title {
    margin: 0;
    color: #023047;
    font-size: 16px;
    font-weight: 700;
    line-height: 28px;
}

body.brightscope-inner-page .bs-contact__hq-address,
body.brightscope-inner-page .bs-contact__hq-contacts {
    margin: 0;
    color: #023047;
    font-size: 16px;
    font-weight: 400;
    line-height: 28px;
}

body.brightscope-inner-page .bs-contact__hq-contacts {
    margin-top: 28px;
}

body.brightscope-inner-page .bs-contact__hq-email {
    color: #023047;
    text-decoration: underline;
}

body.brightscope-inner-page .bs-contact__hq-phone {
    color: #023047;
    text-decoration: none;
}

body.brightscope-inner-page .bs-contact__hq-visual {
    position: relative;
    justify-self: end;
    align-self: stretch;
    width: 100%;
    max-width: 443px;
    min-height: 225px;
    overflow: hidden;
}

body.brightscope-inner-page .bs-contact__hq-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Figma: linear-gradient(90deg, #F0F2F7 0%, transparent 100%) */
body.brightscope-inner-page .bs-contact__hq-fade {
    position: absolute;
    inset: 0 auto 0 0;
    width: 55%;
    background: linear-gradient(90deg, #f0f2f7 0%, rgba(141, 142, 145, 0) 100%);
    pointer-events: none;
}

body.brightscope-inner-page .bs-contact__hq-bar {
    flex: 0 0 9px;
    width: 100%;
    height: 9px;
    background: #ff5b00;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
}

body.brightscope-inner-page .bs-contact__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 260px));
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 0;
}

body.brightscope-inner-page .bs-contact__social-prefix {
    color: #023047;
    font-weight: 400;
}

body.brightscope-inner-page .bs-contact__social-link {
    color: #2a62fb;
    font-weight: 700;
    text-decoration: none;
}

body.brightscope-inner-page .bs-contact__social-link:hover {
    text-decoration: underline;
}

body.brightscope-inner-page .bs-contact__office {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 200px;
    background: #f0f2f7;
    border-radius: 3px;
    overflow: hidden;
}

body.brightscope-inner-page .bs-contact__office-body {
    flex: 1 1 auto;
    padding: 22px 18px 16px;
}

body.brightscope-inner-page .bs-contact__office-title {
    margin: 0 0 4px;
    color: #023047;
    font-size: 16px;
    font-weight: 700;
    line-height: 28px;
}

body.brightscope-inner-page .bs-contact__office-text {
    margin: 0;
    color: #023047;
    font-size: 16px;
    font-weight: 500;
    line-height: 28px;
}

body.brightscope-inner-page .bs-contact__office-bar {
    flex: 0 0 9px;
    width: 100%;
    height: 9px;
    margin-top: auto;
    background: #ff5b00;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
}

@media (max-width: 991px) {
    body.brightscope-inner-page .imprint-cols {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    body.brightscope-inner-page .imprint-cols__col {
        min-height: 0;
    }

    body.brightscope-inner-page .bs-contact__hq-main {
        grid-template-columns: 1fr;
        gap: 0;
    }

    body.brightscope-inner-page .bs-contact__hq-visual {
        max-width: none;
        min-height: 200px;
        height: 200px;
    }

    body.brightscope-inner-page .bs-contact__grid {
        grid-template-columns: 1fr 1fr;
        justify-content: stretch;
    }

    body.brightscope-inner-page .hero--inner,
    body.brightscope-inner-page .bs-inner-hero {
        margin-top: -100px;
        padding: 120px 0 64px;
        height: unset;
        min-height: max(600px, 70vh);
        overflow: visible;
    }

    body.brightscope-inner-page .hero--inner::after,
    body.brightscope-inner-page .bs-inner-hero::after {
        height: 720px;
        background-size: cover;
        background-position: top center;
    }

    body.brightscope-inner-page .inner-outer,
    body.brightscope-inner-page .bs-inner-card {
        min-height: 0;
    }
}

@media (max-width: 640px) {
    body.brightscope-inner-page .bs-contact__grid {
        grid-template-columns: 1fr;
    }
}

body {
    padding-top: 100px; /* 30 promo + 70 header */
    font-family: Inter, var(--bs-font-sans-serif, sans-serif);
}

html {
    scroll-padding-top: 100px;
}

html:has(body.brightscope-home) {
    scroll-padding-top: 100px;
}

html:has(body.brightscope-home.admin-bar) {
    scroll-padding-top: 132px;
}

body.brightscope-home {
    padding-top: 0;
    background-color: #F4F5F8;
    background-image: none;
    --bs-design-w: 3000;
    --bs-hero-h: 1272;
    --bs-hero-break: 1300;
    --bs-promo-h: 30px;
    --bs-header-h: 70px;
    --bs-hero-menu-gap: 74px;
}

body.brightscope-home .brightscope-header {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

body.brightscope-home .brightscope-header.brightscope-header--solid {
    background: #0b2b4c !important;
    background-color: #0b2b4c !important;
    background-image: none !important;
}

/* Getfolyo parent uses #023047 on .header / .header--scroll — Brightscope scrolled navy */
.brightscope-header.header--scroll,
.brightscope-header.active {
    background-color: #0b2b4c !important;
    background-image: none !important;
}

body.brightscope-home .brightscope-main {
    min-height: auto;
    padding-top: 0;
    background: transparent;
}

/*
 * Hero adaptive (design 3000×1272 PNG):
 * ≥1300px — image stays 3000×1272, sides crop, height fixed
 * <1300px — scale width + height proportionally
 * ≤767px — stack: text first, image below
 */
.bs-hero {
    position: relative;
    width: 100%;
    max-width: 3000px;
    margin: 0 auto;
    background: #0a1628;
}

.bs-hero__stage {
    position: relative;
    width: 100%;
    height: calc(var(--bs-hero-h) * 1px);
    overflow: hidden;
}

.bs-hero__bg {
    position: absolute;
    top: 0;
    left: 50%;
    width: calc(var(--bs-design-w) * 1px);
    height: calc(var(--bs-hero-h) * 1px);
    max-width: none;
    transform: translateX(-50%);
    display: block;
    object-fit: fill;
    object-position: center top;
    pointer-events: none;
    user-select: none;
}

.bs-hero__content {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: min(1200px, calc(100% - 48px));
    max-width: 1200px;
    min-height: 265px;
    margin: 0 auto;
    padding-top: calc(var(--bs-promo-h) + var(--bs-header-h) + var(--bs-hero-menu-gap));
    text-align: center;
}

body.admin-bar.brightscope-home .bs-hero__content {
    padding-top: calc(var(--wp-admin--admin-bar--height, 32px) + var(--bs-promo-h) + var(--bs-header-h) + var(--bs-hero-menu-gap));
}

@media screen and (max-width: 782px) {
    body.admin-bar.brightscope-home .bs-hero__content {
        padding-top: calc(var(--bs-promo-h) + var(--bs-header-h) + var(--bs-hero-menu-gap));
    }
}

.bs-hero__title {
    margin: 0;
    font-family: Rift, sans-serif;
    font-weight: 700;
    font-size: 65px;
    line-height: 60px;
    letter-spacing: 0;
    text-transform: uppercase;
}

.bs-hero__title-line {
    color: #fff;
}

.bs-hero__title-accent {
    display: block;
    color: #FF5B00;
}

.bs-hero__text {
    margin: 12px auto 0;
    max-width: 900px;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
}

.bs-hero__text-strong {
    font-weight: 700;
}

.bs-hero__buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 19px;
    margin-top: 22px;
}

.bs-hero__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 150px;
    height: 40px;
    min-width: 150px;
    min-height: 40px;
    padding: 0 16px;
    box-sizing: border-box;
    border-radius: 3px;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.bs-hero__btn:hover,
.bs-hero__btn:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(2, 48, 71, 0.18);
}

.bs-hero__btn--outline {
    border: 1px solid #FF5B00;
    background: transparent;
    color: #FF5B00;
}

.bs-hero__btn--outline:hover,
.bs-hero__btn--outline:focus-visible {
    border-color: rgba(255, 91, 0, 0.75);
    color: rgba(255, 91, 0, 0.89);
    outline: none;
}

.bs-hero__btn--solid {
    border: 1px solid #FF5B00;
    background: #FF5B00;
    color: #fff;
}

.bs-hero__btn--solid:hover,
.bs-hero__btn--solid:focus-visible {
    background: rgba(255, 91, 0, 0.91);
    border-color: rgba(255, 91, 0, 0.91);
    color: rgba(255, 255, 255, 0.92);
    outline: none;
}

/* Below 1300px: proportional scale (width + height) */
@media (max-width: 1299px) {
    .bs-hero__stage {
        height: calc(100vw * var(--bs-hero-h) / var(--bs-hero-break));
    }

    .bs-hero__bg {
        left: 0;
        width: 100%;
        height: 100%;
        transform: none;
        object-fit: cover;
        object-position: center top;
    }

    .bs-hero__title {
        font-size: clamp(28px, calc(100vw * 65 / var(--bs-hero-break)), 65px);
        line-height: 1.05;
    }

    .bs-hero__text {
        font-size: clamp(14px, calc(100vw * 18 / var(--bs-hero-break)), 18px);
        line-height: 1.55;
    }

    .bs-hero__content {
        --bs-hero-menu-gap: clamp(32px, calc(100vw * 74 / var(--bs-hero-break)), 74px);
        min-height: 0;
    }
}

/* Tablet/mobile: stack text above image so the stage height can show the full scene */
@media (max-width: 991px) {
    .bs-hero {
        background: #0a2f56;
    }

    .bs-hero__stage {
        display: flex;
        flex-direction: column;
        height: auto;
        min-height: 0;
        overflow: visible;
    }

    .bs-hero__bg {
        position: relative;
        order: 2;
        left: 0;
        width: 100%;
        height: auto;
        min-height: min(72vw, 520px);
        aspect-ratio: 3000 / 1272;
        transform: none;
        object-fit: cover;
        object-position: center 38%;
    }

    .bs-hero__content {
        order: 1;
        width: calc(100% - 32px);
        padding-top: calc(var(--bs-promo-h) + var(--bs-header-h) + 28px);
        padding-bottom: 28px;
        min-height: 0;
    }

    body.admin-bar.brightscope-home .bs-hero__content {
        padding-top: calc(var(--bs-promo-h) + var(--bs-header-h) + 28px);
    }

    .bs-hero__title {
        font-size: clamp(28px, 5.5vw, 48px);
        line-height: 1.08;
    }

    .bs-hero__text {
        font-size: clamp(15px, 2.2vw, 18px);
        line-height: 1.55;
    }

    .bs-hero__buttons {
        flex-direction: column;
        align-items: center;
        gap: 12px;
        margin-top: 20px;
    }

    .bs-hero__btn {
        width: min(220px, 100%);
    }
}

@media (max-width: 767px) {
    .bs-hero__bg {
        min-height: min(88vw, 420px);
        object-position: center 40%;
    }

    .bs-hero__title {
        font-size: clamp(26px, 8vw, 36px);
    }

    .bs-hero__text {
        font-size: 15px;
        line-height: 24px;
    }
}

/* --- Brands (inside hero stage, 50px from bottom) --- */
.bs-brands {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 50px;
    z-index: 2;
    margin: 0;
    padding: 0;
    background: transparent;
    pointer-events: none;
}

.bs-brands__container {
    width: min(1660px, calc(100% - 48px));
    max-width: 100%;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
    pointer-events: auto;
}

.bs-brands__title {
    margin: 0 0 24px;
    color: #6A6F8C;
    font-family: Inter, sans-serif;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: 0.06em;
    text-align: center;
    text-transform: uppercase;
}

.bs-brands__logos {
    display: flex;
    justify-content: center;
    width: 100%;
}

.bs-brands__marquee {
    overflow: hidden;
    max-width: 100%;
    mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
}

.bs-brands__track {
    display: flex;
    width: max-content;
    animation: bs-brands-marquee 22.5s linear infinite;
    will-change: transform;
}

.bs-brands__track .bs-brands__logos-img {
    flex: 0 0 auto;
    width: min(1433px, 92vw);
    max-width: none;
}

@keyframes bs-brands-marquee {
    from {
        transform: translateX(-50%);
    }

    to {
        transform: translateX(0);
    }
}

.bs-brands__logos-img {
    display: block;
    width: min(1590px, 100%);
    height: auto;
    margin: 0 auto;
}

@media (prefers-reduced-motion: reduce) {
    .bs-brands__track {
        animation: none;
        justify-content: center;
        width: 100%;
    }

    .bs-brands__track .bs-brands__logos-img + .bs-brands__logos-img {
        display: none;
    }
}

@media (max-width: 1299px) {
    .bs-brands {
        bottom: calc(100vw * 50 / var(--bs-hero-break));
    }

    .bs-brands__title {
        margin-bottom: clamp(12px, calc(100vw * 24 / var(--bs-hero-break)), 24px);
        font-size: clamp(12px, calc(100vw * 14 / var(--bs-hero-break)), 14px);
    }
}

@media (max-width: 991px) {
    .bs-brands {
        position: relative;
        bottom: auto;
        order: 3;
        padding: 24px 0 40px;
        background: #F4F5F8;
    }

    .bs-brands__container {
        width: calc(100% - 32px);
    }

    .bs-brands__logos-img,
    .bs-brands__track .bs-brands__logos-img {
        width: 100%;
        min-height: 52px;
        object-fit: contain;
    }
}

@media (max-width: 767px) {
    .bs-brands {
        padding: 24px 0 50px;
    }

    .bs-brands__title {
        font-size: 13px;
        line-height: 1.45;
        letter-spacing: 0.05em;
    }

    .bs-brands__logos-img,
    .bs-brands__track .bs-brands__logos-img {
        width: calc(165% * 2.5);
        min-height: calc(58px * 2.5);
        max-width: none;
    }

    .bs-brands__marquee {
        mask-image: none;
        -webkit-mask-image: none;
    }

    .bs-brands__track {
        animation: bs-brands-marquee 13s linear infinite;
    }
}

/* --- Performance system (design 3000×1100, no gradients) --- */
.bs-performance {
    --bs-performance-h: 1100;
    --bs-performance-break: 1300;
    --bs-performance-center: 457;
    box-sizing: border-box;
    position: relative;
    width: 100%;
    max-width: 3000px;
    height: 1100px;
    margin: 0 auto;
    background: #fff;
    overflow: hidden;
}

.bs-performance__inner {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: min(1200px, calc(100% - 48px));
    max-width: 1200px;
    height: 100%;
    margin: 0 auto;
    /* Bottom padding lives in stage (CTA over quadrants) */
    padding: 48px 0 0;
    text-align: center;
}

.bs-performance__title {
    margin: 0;
    flex-shrink: 0;
    color: #023047;
    font-family: Rift, sans-serif;
    font-size: 65px;
    font-weight: 700;
    line-height: 70px;
    text-transform: uppercase;
}

.bs-performance__lead {
    margin: 16px auto 0;
    flex-shrink: 0;
    max-width: 1200px;
    color: #023047;
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
}

.bs-performance__stage {
    position: relative;
    flex: 1;
    width: 100%;
    min-height: 0;
    margin-top: 40px;
    overflow: visible;
}

/* Quadrant backgrounds — scoped to stage only (not title/button) */
.bs-performance__glows {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.bs-performance__glow {
    position: absolute;
    width: 50%;
    height: 50%;
}

.bs-performance__glow--tl {
    top: 0;
    left: 0;
    background: linear-gradient(270deg, rgba(250, 186, 101, 0.15) 0%, rgba(148, 110, 60, 0) 100%);
}

.bs-performance__glow--tr {
    top: 0;
    right: 0;
    background: linear-gradient(90deg, rgba(2, 48, 71, 0.10) 0%, rgba(5, 117, 173, 0) 100%);
}

.bs-performance__glow--bl {
    bottom: 0;
    left: 0;
    background: linear-gradient(270deg, rgba(42, 98, 251, 0.10) 0%, rgba(25, 58, 149, 0) 100%);
}

.bs-performance__glow--br {
    bottom: 0;
    right: 0;
    background: linear-gradient(90deg, rgba(255, 91, 0, 0.10) 0%, rgba(153, 55, 0, 0) 100%);
}

.bs-performance__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--bs-performance-center) minmax(0, 1fr);
    grid-template-rows: 1fr 1fr;
    align-items: center;
    gap: 24px 20px;
    width: 100%;
    height: 100%;
    max-width: 1200px;
    margin: 0 auto;
    /* Room for absolute CTA over bottom quadrants */
    padding-bottom: 72px;
    box-sizing: border-box;
}

.bs-performance__center {
    grid-column: 2;
    grid-row: 1 / 3;
    display: flex;
    justify-content: center;
    align-items: center;
}

.bs-performance__center-img {
    display: block;
    width: 457px;
    height: 457px;
    max-width: 100%;
    object-fit: contain;
}

.bs-performance__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 300px;
    text-align: center;
}

.bs-performance__card--tl {
    grid-column: 1;
    grid-row: 1;
    justify-self: end;
}

.bs-performance__card--tr {
    grid-column: 3;
    grid-row: 1;
    justify-self: start;
}

.bs-performance__card--bl {
    grid-column: 1;
    grid-row: 2;
    justify-self: end;
}

.bs-performance__card--br {
    grid-column: 3;
    grid-row: 2;
    justify-self: start;
}

.bs-performance__card-icon {
    display: block;
    width: 100px;
    height: 82px;
}

.bs-performance__card-title {
    margin: 16px 0 0;
    font-family: Rift, sans-serif;
    font-size: 45px;
    font-weight: 700;
    line-height: 45px;
    text-transform: uppercase;
}

.bs-performance__card--mmm .bs-performance__card-title {
    color: #FABA65;
}

.bs-performance__card--measurement .bs-performance__card-title {
    color: #023047;
}

.bs-performance__card--verification .bs-performance__card-title {
    color: #2A62FB;
}

.bs-performance__card--optimization .bs-performance__card-title {
    color: #FF5B00;
}

.bs-performance__card-text {
    margin: 12px 0 0;
    color: #023047;
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 28px;
}

.bs-performance__btn {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 40px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 175px;
    height: 40px;
    margin-left: auto;
    margin-right: auto;
    flex-shrink: 0;
    box-sizing: border-box;
    border: 1px solid #FF5B00;
    background: #fff;
    border-radius: 3px;
    background: transparent;
    color: #FF5B00;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.bs-performance__btn:hover,
.bs-performance__btn:focus-visible {
    border-color: rgba(255, 91, 0, 0.75);
    color: rgba(255, 91, 0, 0.89);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(255, 91, 0, 0.18);
    outline: none;
}

@media (max-width: 1299px) {
    .bs-performance {
        --bs-performance-center: calc(100vw * 457 / var(--bs-performance-break));
        height: calc(100vw * 1100 / var(--bs-performance-break));
    }

    .bs-performance__inner {
        width: calc(100% - 48px);
        padding: calc(100vw * 48 / var(--bs-performance-break)) 0 calc(100vw * 56 / var(--bs-performance-break));
    }

    .bs-performance__title {
        font-size: clamp(32px, calc(100vw * 65 / var(--bs-performance-break)), 65px);
        line-height: 1.08;
    }

    .bs-performance__lead {
        font-size: clamp(15px, calc(100vw * 18 / var(--bs-performance-break)), 18px);
    }

    .bs-performance__grid {
        gap: clamp(12px, calc(100vw * 24 / var(--bs-performance-break)), 24px) clamp(10px, calc(100vw * 20 / var(--bs-performance-break)), 20px);
    }

    .bs-performance__center-img {
        width: var(--bs-performance-center);
        height: var(--bs-performance-center);
    }

    .bs-performance__card {
        max-width: clamp(200px, calc(100vw * 300 / var(--bs-performance-break)), 300px);
    }

    .bs-performance__card-title {
        font-size: clamp(24px, calc(100vw * 45 / var(--bs-performance-break)), 45px);
        line-height: 1.05;
    }

    .bs-performance__card-text {
        font-size: clamp(14px, calc(100vw * 18 / var(--bs-performance-break)), 18px);
    }
}

@media (max-width: 991px) {
    .bs-performance {
        height: auto;
    }

    .bs-performance__inner {
        height: auto;
    }

    .bs-performance__stage {
        flex: none;
        margin-top: 32px;
        /* Keep 2×2 quadrant canvas behind the card grid */
        min-height: 520px;
    }

    .bs-performance__glows {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
    }

    .bs-performance__glow {
        position: relative;
        width: 100%;
        height: 100%;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto;
    }

    .bs-performance__glow--tl { grid-column: 1; grid-row: 1; }
    .bs-performance__glow--tr { grid-column: 2; grid-row: 1; }
    .bs-performance__glow--bl { grid-column: 1; grid-row: 2; }
    .bs-performance__glow--br { grid-column: 2; grid-row: 2; }

    .bs-performance__grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto auto;
        height: auto;
        gap: 28px 20px;
        padding: 28px 12px;
    }

    .bs-performance__center {
        grid-column: 1 / 3;
        grid-row: 2;
        order: 0;
    }

    .bs-performance__center-img {
        width: min(457px, 72vw);
        height: min(457px, 72vw);
    }

    .bs-performance__card {
        max-width: none;
        justify-self: center !important;
    }

    .bs-performance__card--tl {
        grid-column: 1;
        grid-row: 1;
    }

    .bs-performance__card--tr {
        grid-column: 2;
        grid-row: 1;
    }

    .bs-performance__card--bl {
        grid-column: 1;
        grid-row: 3;
    }

    .bs-performance__card--br {
        grid-column: 2;
        grid-row: 3;
    }

    .bs-performance__grid {
        padding-bottom: 72px;
    }

    .bs-performance__btn {
        bottom: 20px;
    }
}

@media (max-width: 767px) {
    .bs-performance__inner {
        width: calc(100% - 32px);
        padding: 32px 0 40px;
    }

    .bs-performance__title {
        font-size: clamp(28px, 9vw, 40px);
    }

    .bs-performance__lead {
        font-size: 15px;
        line-height: 24px;
    }

    .bs-performance__stage {
        min-height: 0;
        overflow: visible;
    }

    /* Stack quadrant backgrounds one under another */
    .bs-performance__glows {
        display: none;
    }

    .bs-performance__grid {
        grid-template-columns: 1fr;
        grid-template-rows: none;
        gap: 16px;
        padding: 0;
    }

    .bs-performance__card--tl,
    .bs-performance__card--tr,
    .bs-performance__card--bl,
    .bs-performance__card--br {
        grid-column: 1;
        grid-row: auto;
        box-sizing: border-box;
        width: 100%;
        max-width: none;
        padding: 28px 20px;
        border-radius: 2px;
    }

    .bs-performance__card--mmm {
        background: linear-gradient(180deg, rgba(250, 186, 101, 0.18) 0%, rgba(250, 186, 101, 0.06) 100%);
    }

    .bs-performance__card--measurement {
        background: linear-gradient(180deg, rgba(2, 48, 71, 0.12) 0%, rgba(2, 48, 71, 0.04) 100%);
    }

    .bs-performance__card--verification {
        background: linear-gradient(180deg, rgba(42, 98, 251, 0.12) 0%, rgba(42, 98, 251, 0.04) 100%);
    }

    .bs-performance__card--optimization {
        background: linear-gradient(180deg, rgba(255, 91, 0, 0.12) 0%, rgba(255, 91, 0, 0.04) 100%);
    }

    .bs-performance__center {
        grid-column: 1;
        grid-row: auto;
        order: 0;
        margin: 8px 0;
        padding: 12px 0;
    }

    .bs-performance__center-img {
        width: min(320px, 88vw);
        height: min(320px, 88vw);
    }

    .bs-performance__card-title {
        font-size: clamp(22px, 7vw, 32px);
    }

    .bs-performance__card-text {
        font-size: 15px;
        line-height: 24px;
    }

    .bs-performance__grid {
        padding-bottom: 0;
    }

    .bs-performance__stage {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .bs-performance__btn {
        position: relative;
        left: auto;
        bottom: auto;
        transform: none;
        width: min(220px, 100%);
        margin: 28px auto 0;
    }

    .bs-performance__btn:hover,
    .bs-performance__btn:focus-visible {
        transform: translateY(-2px);
    }
}

/* --- Gradient strip (same as promo bar, no text) --- */
.bs-gradient-strip {
    width: 100%;
    max-width: 3000px;
    height: 30px;
    min-height: 30px;
    margin: 0 auto;
    background: #000;
    background: linear-gradient(90deg, #57A2F1 0%, #6061F5 20%, #DB64A1 40%, #EE7B3C 60%, #EFAE3D 80%, #ED7458 100%);
}

/* --- Measures band (b2.html: #023047, 300px) --- */
.bs-measures {
    width: 100%;
    max-width: 3000px;
    margin: 0 auto;
    background: #023047;
}

.bs-measures__inner {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(1200px, calc(100% - 48px));
    max-width: 1200px;
    min-height: 300px;
    margin: 0 auto;
    padding: 48px 0;
    text-align: center;
}

.bs-measures__text {
    margin: 0;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 45px;
    font-weight: 700;
    line-height: 65px;
}

.bs-measures__muted {
    color: rgba(255, 255, 255, 0.4);
}

.bs-measures__accent {
    color: #FF5B00;
}

.bs-measures__gold {
    color: #FABA65;
}

@media (max-width: 1299px) {
    .bs-measures__text {
        font-size: clamp(22px, calc(100vw * 45 / 1300), 45px);
        line-height: 1.45;
    }

    .bs-measures__inner {
        min-height: clamp(180px, calc(100vw * 300 / 1300), 300px);
        padding: clamp(28px, calc(100vw * 48 / 1300), 48px) 0;
    }
}

@media (max-width: 767px) {
    .bs-measures__inner {
        min-height: 0;
        padding: 32px 0;
    }

    .bs-measures__text {
        font-size: 20px;
        line-height: 30px;
    }
}

/* --- Platform grid (block 3: full-bleed bg, content max 1200px) --- */
.bs-platform {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: 3000px;
    height: 1100px;
    margin: 0 auto;
    overflow: hidden;
}

.bs-platform__bgs {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
}

.bs-platform__bg--mmm {
    background: #FABA65;
}

.bs-platform__bg--measurement {
    position: relative;
    background: #023047;
}

.bs-platform__bg--measurement::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 100px;
    background: linear-gradient(360deg, #023047 0%, #0575AD 100%);
    border-top-left-radius: 3px;
    pointer-events: none;
}

.bs-platform__bg--verification {
    background: #2A62FB;
}

.bs-platform__bg--optimization {
    background: #FF5B00;
}

.bs-platform__inner {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: min(1200px, calc(100% - 48px));
    max-width: 1200px;
    height: 100%;
    margin: 0 auto;
}

.bs-platform__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 550px 550px;
    width: 100%;
    height: 100%;
}

.bs-platform__quadrant {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 32px 24px 40px;
    background: transparent;
}

.bs-platform__quadrant-title {
    margin: 0 0 50px;
    color: rgba(255, 255, 255, 0.6);
    font-family: Rift, sans-serif;
    font-size: 45px;
    font-weight: 700;
    line-height: 45px;
    text-transform: uppercase;
}

.bs-platform__list {
    display: flex;
    flex-direction: column;
    gap: 32px;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bs-platform__item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.bs-platform__icon-wrap {
    position: relative;
    flex-shrink: 0;
    width: 100px;
    height: 82px;
}

.bs-platform__icon-bg {
    display: block;
    width: 100px;
    height: 82px;
}

.bs-platform__icon {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: block;
    max-width: 54px;
    max-height: 47px;
    width: auto;
    height: auto;
}

.bs-platform__item-text {
    min-width: 0;
    text-align: left;
}

.bs-platform__item-title {
    margin: 0;
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 30px;
}

.bs-platform__item-desc {
    margin: 0;
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 30px;
}

.bs-platform__quadrant--dark .bs-platform__item-title {
    color: #023047;
}

.bs-platform__quadrant--dark .bs-platform__item-desc {
    color: rgba(2, 48, 71, 0.6);
}

.bs-platform__quadrant--light .bs-platform__item-title,
.bs-platform__quadrant--light .bs-platform__item-desc {
    color: #fff;
}

.bs-platform__center {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 2;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.bs-platform__center-img {
    display: block;
    width: 88px;
    height: 88px;
    object-fit: contain;
}

@media (max-width: 1247px) {
    .bs-platform {
        height: calc(100vw * 1100 / 1200);
    }

    .bs-platform__grid {
        grid-template-rows:
            calc(100vw * 550 / 1200)
            calc(100vw * 550 / 1200);
    }

    .bs-platform__bg--measurement::before {
        height: calc(100vw * 100 / 1200);
    }

    .bs-platform__quadrant {
        padding:
            clamp(20px, calc(100vw * 32 / 1200), 32px)
            clamp(16px, calc(100vw * 24 / 1200), 24px)
            clamp(24px, calc(100vw * 40 / 1200), 40px);
    }

    .bs-platform__quadrant-title {
        font-size: clamp(28px, calc(100vw * 45 / 1200), 45px);
        line-height: 1;
        margin-bottom: clamp(24px, calc(100vw * 50 / 1200), 50px);
    }

    .bs-platform__list {
        gap: clamp(20px, calc(100vw * 32 / 1200), 32px);
    }

    .bs-platform__item-title,
    .bs-platform__item-desc {
        font-size: clamp(14px, calc(100vw * 18 / 1200), 18px);
        line-height: 1.55;
    }

    .bs-platform__center-img {
        width: clamp(56px, calc(100vw * 88 / 1200), 88px);
        height: clamp(56px, calc(100vw * 88 / 1200), 88px);
    }
}

@media (max-width: 991px) {
    .bs-platform {
        display: flex;
        flex-direction: column;
        height: auto;
    }

    .bs-platform__bgs {
        position: relative;
        inset: auto;
        grid-template-columns: 1fr;
        grid-template-rows: none;
        display: none;
    }

    .bs-platform__inner {
        width: min(1200px, calc(100% - 32px));
        height: auto;
    }

    .bs-platform__grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .bs-platform__quadrant {
        align-items: stretch !important;
        justify-content: flex-start !important;
        min-height: 0;
        padding: 32px 24px 40px;
    }

    .bs-platform__quadrant--mmm {
        background: #FABA65;
    }

    .bs-platform__quadrant--measurement {
        position: relative;
        background: #023047;
    }

    .bs-platform__quadrant--measurement::before {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        height: 100px;
        background: linear-gradient(360deg, #023047 0%, #0575AD 100%);
        border-top-left-radius: 3px;
        pointer-events: none;
    }

    .bs-platform__quadrant--verification {
        background: #2A62FB;
    }

    .bs-platform__quadrant--optimization {
        background: #FF5B00;
    }

    .bs-platform__quadrant > * {
        position: relative;
        z-index: 1;
    }

    .bs-platform__list {
        max-width: none;
    }

    .bs-platform__center {
        position: relative;
        left: auto;
        top: auto;
        transform: none;
        display: flex;
        justify-content: center;
        padding: 32px 16px 0;
        order: -1;
    }

    .bs-platform__center-img {
        width: 88px;
        height: 88px;
    }
}

@media (max-width: 767px) {
    .bs-platform__center {
        display: none;
    }

    .bs-platform__quadrant-title {
        font-size: 32px;
    }

    .bs-platform__item {
        gap: 16px;
    }

    .bs-platform__icon-wrap {
        width: 80px;
        height: 66px;
    }

    .bs-platform__icon-bg {
        width: 80px;
        height: 66px;
    }

    .bs-platform__icon {
        max-width: 40px;
        max-height: 36px;
    }
}

/* --- Hybrid measurement (section 4: 3000×1100, b4_de/en) --- */
.bs-hybrid {
    --bs-hybrid-gap: 112px;
    position: relative;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 3000px;
    height: 1100px;
    margin: 0 auto;
    padding-top: 45px;
    overflow: hidden;
    background: #F0F2F7;
    gap: var(--bs-hybrid-gap);
}

.bs-hybrid__header {
    box-sizing: border-box;
    width: min(1200px, calc(100% - 48px));
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 0;
    text-align: center;
    flex: 0 0 auto;
}

.bs-hybrid__title {
    margin: 0;
    color: #023047;
    font-family: Rift, sans-serif;
    font-size: 65px;
    font-weight: 700;
    line-height: 70px;
    text-transform: uppercase;
}

.bs-hybrid__lead {
    margin: 8px 0 0;
    color: #212B5F;
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
}

.bs-hybrid--en .bs-hybrid__title {
    font-size: 70px;
}

.bs-hybrid--en .bs-hybrid__lead {
    font-size: 20px;
    line-height: 30px;
}

.bs-hybrid__visual {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 100%;
    flex: 1 1 auto;
    min-height: 0;
    margin: 0;
}

.bs-hybrid__img {
    display: block;
    width: 100%;
    max-width: 1500px;
    height: 100%;
    object-fit: contain;
    object-position: bottom center;
}

@media (max-width: 1547px) {
    .bs-hybrid__img {
        max-width: min(1500px, calc(100% - 48px));
    }
}

@media (max-width: 1299px) {
    .bs-hybrid {
        height: calc(100vw * 1100 / 1200);
        padding-top: clamp(32px, calc(100vw * 45 / 1200), 45px);
        --bs-hybrid-gap: clamp(60px, calc(100vw * 112 / 1200), 112px);
    }

    .bs-hybrid__title {
        font-size: clamp(32px, calc(100vw * 65 / 1200), 65px);
        line-height: 1.08;
    }

    .bs-hybrid__lead {
        font-size: clamp(15px, calc(100vw * 18 / 1200), 18px);
        line-height: 1.55;
    }
}

/* Below content width: real 60px gap via flex gap + natural image flow */
@media (max-width: 1199px) {
    .bs-hybrid {
        height: auto;
        min-height: 0;
        padding-top: 40px;
        --bs-hybrid-gap: 60px;
        overflow: visible;
    }

    .bs-hybrid__visual {
        flex: 0 0 auto;
    }

    .bs-hybrid__img {
        height: auto;
        max-height: none;
    }
}

@media (max-width: 767px) {
    .bs-hybrid {
        padding-top: 32px;
        --bs-hybrid-gap: 60px;
    }

    .bs-hybrid__title {
        font-size: 28px;
        line-height: 34px;
    }

    .bs-hybrid__lead {
        font-size: 16px;
        line-height: 24px;
    }
}

/* --- Deliver results (section 5: 1080px min, white + diagonal bg, b5 max 1200) --- */
.bs-deliver {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: 3000px;
    min-height: 1080px;
    margin: 0 auto;
    overflow: hidden;
    background: #fff;
}

.bs-deliver__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.bs-deliver__bg-svg {
    display: block;
    width: 100%;
    height: 100%;
}

.bs-deliver__inner {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: min(1200px, calc(100% - 48px));
    max-width: 1200px;
    min-height: 1080px;
    margin: 0 auto;
    padding: 72px 0 0;
}

.bs-deliver__header {
    width: 100%;
    max-width: 1200px;
    text-align: center;
    flex: 0 0 auto;
}

.bs-deliver__title {
    margin: 0;
    color: #fff;
    font-family: Rift, sans-serif;
    font-size: 65px;
    font-weight: 700;
    line-height: 70px;
    text-transform: uppercase;
}

.bs-deliver__lead {
    margin: 16px 0 0;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
}

.bs-deliver__lead strong {
    font-weight: 700;
}

.bs-deliver__visual {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin-top: 80px;
    flex: 0 0 auto;
}

.bs-deliver__img {
    display: block;
    width: 100%;
    max-width: 1200px;
    height: auto;
    margin: 0 auto;
}

.bs-deliver__cassandra {
    position: absolute;
    right: 11%;
    bottom: 14%;
    z-index: 2;
    width: clamp(88px, 10vw, 132px);
    height: auto;
    opacity: 0.5;
    pointer-events: none;
}

.bs-deliver__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 72px;
    margin-bottom: 90px;
    flex: 0 0 auto;
}

.bs-deliver__btn {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 175px;
    height: 40px;
    border-radius: 3px;
    border: 1px solid #FF5B00;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.bs-deliver__btn--ghost {
    background: transparent;
    color: #FF5B00;
}

.bs-deliver__btn--ghost:hover,
.bs-deliver__btn--ghost:focus-visible {
    background: rgba(255, 91, 0, 0.08);
    color: #FF5B00;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(255, 91, 0, 0.18);
}

.bs-deliver__btn--solid {
    background: #FF5B00;
    color: #fff;
}

.bs-deliver__btn--solid:hover,
.bs-deliver__btn--solid:focus-visible {
    background: #e65200;
    border-color: #e65200;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(255, 91, 0, 0.24);
}

@media (max-width: 1299px) {
    .bs-deliver {
        min-height: calc(100vw * 1080 / 1200);
    }

    .bs-deliver__inner {
        min-height: calc(100vw * 1080 / 1200);
        padding-top: clamp(40px, calc(100vw * 72 / 1200), 72px);
    }

    .bs-deliver__title {
        font-size: clamp(32px, calc(100vw * 65 / 1200), 65px);
        line-height: 1.08;
    }

    .bs-deliver__lead {
        font-size: clamp(15px, calc(100vw * 18 / 1200), 18px);
        line-height: 1.55;
    }

    .bs-deliver__visual {
        margin-top: clamp(48px, calc(100vw * 80 / 1200), 80px);
    }

    .bs-deliver__actions {
        margin-top: clamp(40px, calc(100vw * 72 / 1200), 72px);
        margin-bottom: clamp(48px, calc(100vw * 90 / 1200), 90px);
    }
}

@media (max-width: 767px) {
    .bs-deliver {
        min-height: 0;
    }

    .bs-deliver__inner {
        width: min(1200px, calc(100% - 32px));
        min-height: 0;
        padding-top: 48px;
    }

    .bs-deliver__bg-svg {
        min-height: 100%;
    }

    .bs-deliver__title {
        font-size: 28px;
        line-height: 34px;
    }

    .bs-deliver__lead {
        font-size: 16px;
        line-height: 24px;
    }

    .bs-deliver__visual {
        margin-top: 48px;
    }

    .bs-deliver__actions {
        flex-direction: column;
        width: 100%;
        margin-top: 40px;
        margin-bottom: 60px;
    }

    .bs-deliver__btn {
        width: 100%;
        max-width: 280px;
    }
}

/* --- Solutions --- */
.bs-solutions {
    background: #F0F2F7;
    padding: 74px 0 120px;
}

.bs-solutions__inner {
    box-sizing: border-box;
    width: min(1200px, calc(100% - 48px));
    max-width: 1200px;
    margin: 0 auto;
}

.bs-solutions__header {
    text-align: center;
}

.bs-solutions__title {
    margin: 0;
    color: #212B5F;
    font-family: Rift, sans-serif;
    font-size: 72px;
    font-weight: 700;
    line-height: 72px;
    text-transform: uppercase;
}

.bs-solutions__lead {
    margin: 11px 0 0;
    color: #212B5F;
    font-family: Inter, sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 30px;
}

.bs-solutions__lead strong {
    font-weight: 700;
}

.bs-solutions__cards {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin-top: 67px;
}

.bs-solutions__card {
    box-sizing: border-box;
    width: 590px;
    max-width: 100%;
    min-height: 400px;
    padding: 55px 24px;
    color: #fff;
    text-align: center;
}

.bs-solutions__card--measurement {
    background: #3371FF;
    border-radius: 20px 0 0 0;
}

.bs-solutions__card--optimization {
    position: relative;
    background: #FF5B00;
    border-radius: 0 20px 0 0;
}

.bs-solutions__ai-badge {
    position: absolute;
    top: -50px;
    right: -50px;
    width: 120px;
    height: 120px;
    pointer-events: none;
}

.bs-solutions__card-head {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 17px;
    margin-bottom: 53px;
}

.bs-solutions__card-icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 82px;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 2px;
}

.bs-solutions__card-icon {
    width: 40px;
    height: 40px;
}

.bs-solutions__card-title {
    margin: 0;
    font-family: Rift, sans-serif;
    font-size: 50px;
    font-weight: 700;
    line-height: 1;
}

.bs-solutions__card-text {
    margin: 0;
    font-family: Inter, sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 30px;
}

.bs-solutions__card-text strong {
    font-weight: 700;
}

.bs-solutions__process {
    margin-top: 20px;
    padding: 27px 0 15px;
    background: linear-gradient(90deg, #57A2F1 0%, #6061F5 20%, #DB64A1 40%, #EE7B3C 60%, #EFAE3D 80%, #ED7458 100%);
    border-radius: 0 0 20px 20px;
}

.bs-solutions__steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bs-solutions__step {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 380px;
    padding: 0 50px;
    color: #fff;
    text-align: center;
}

.bs-solutions__step-title {
    margin: 0;
    font-family: Inter, sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 30px;
}

.bs-solutions__step-text {
    margin: 0;
    font-family: Inter, sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 30px;
}

.bs-solutions__step-arrow {
    flex-shrink: 0;
}

.bs-solutions__footnote {
    margin: 31px 0 0;
    color: #6A6F8C;
    font-family: Inter, sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 30px;
    text-align: center;
}

.bs-solutions__footnote strong {
    font-weight: 700;
}

.bs-solutions__lines {
    display: block;
    width: min(100%, 1200px);
    margin: -20px auto 10px;
}

@media (max-width: 1199px) {
    .bs-solutions__card--measurement,
    .bs-solutions__card--optimization {
        border-radius: 20px;
    }

    .bs-solutions__process {
        border-radius: 20px;
    }
}

@media (max-width: 900px) {
    .bs-solutions {
        padding: 48px 0 64px;
    }

    .bs-solutions__inner {
        width: calc(100% - 20px);
    }

    .bs-solutions__title {
        font-size: clamp(32px, 8vw, 48px);
        line-height: 1.05;
    }

    .bs-solutions__lead {
        font-size: 16px;
        line-height: 24px;
    }

    .bs-solutions__cards {
        margin-top: 40px;
    }

    .bs-solutions__card {
        min-height: 0;
        padding: 25px 16px;
    }

    .bs-solutions__card-head {
        margin-bottom: 20px;
    }

    .bs-solutions__card-icon-wrap {
        width: 80px;
        height: 60px;
    }

    .bs-solutions__card-icon {
        width: 30px;
        height: 30px;
    }

    .bs-solutions__card-title {
        font-size: 32px;
    }

    .bs-solutions__card-text {
        font-size: 13px;
        line-height: 20px;
    }

    .bs-solutions__ai-badge {
        top: -10px;
        right: -10px;
        width: 60px;
        height: 60px;
    }

    .bs-solutions__steps {
        flex-direction: column;
        gap: 20px;
    }

    .bs-solutions__step {
        padding: 0 16px;
    }

    .bs-solutions__step-arrow {
        display: none;
    }

    .bs-solutions__step-title,
    .bs-solutions__step-text {
        font-size: 13px;
        line-height: 20px;
    }

    .bs-solutions__footnote {
        font-size: 18px;
        line-height: 32px;
    }
}

body.admin-bar:not(.brightscope-home) {
    padding-top: 132px;
}

@media (max-width: 767px) {
    body.admin-bar:not(.brightscope-home) {
        padding-top: 100px !important;
    }

    body.admin-bar .brightscope-header {
        --bs-header-top: 30px;
    }

    .brightscope-header .header__nav {
        display: none !important;
        position: fixed;
        inset: 0;
        z-index: -1;
        flex-direction: column;
        justify-content: flex-start;
        align-items: stretch;
        overflow-y: auto;
        /* Same navy as scrolled header / mega overlay */
        background: #0b2b4c;
        padding: 100px 24px 120px;
    }

    .brightscope-header .header__nav.active {
        display: flex !important;
        z-index: 900;
    }

    .brightscope-header .header__menu {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .brightscope-header .header__actions--mobile {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
        margin-top: 24px;
    }

    /* Keep globe + Login away from logo */
    .brightscope-header .header__wrapper {
        gap: 10px;
        padding: 0 12px 0 16px;
    }

    .brightscope-header .header__logo {
        flex: 0 1 auto;
        min-width: 0;
        margin-right: 8px;
    }

    .brightscope-header .header__logo img {
        width: 136px;
        height: auto;
    }

    .brightscope-header .header__actions:not(.header__actions--mobile) {
        margin-left: auto;
        gap: 12px;
    }

    .brightscope-header .header__burger {
        margin-left: 2px;
        flex-shrink: 0;
    }

    /* Top bar only: short "Login"; overlay keeps full label */
    .brightscope-header .header__actions:not(.header__actions--mobile) .header__btn-login {
        width: auto;
        min-width: 0;
        padding: 0 12px;
        font-size: 14px;
    }

    .brightscope-header .header__actions:not(.header__actions--mobile) .header__btn-login-full {
        display: none;
    }

    .brightscope-header .header__actions:not(.header__actions--mobile) .header__btn-login-short {
        display: inline;
    }

    .brightscope-header .header__actions--mobile .header__btn-login {
        width: 100%;
    }

    /* Burger: only the span (+ its :before/:after) — no extra :: on the button itself */
    .brightscope-header .header__burger {
        position: relative;
        z-index: 910;
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        cursor: pointer;
    }

    .brightscope-header .header__burger::before,
    .brightscope-header .header__burger::after {
        content: none !important;
        display: none !important;
    }

    .brightscope-header .header__burger span,
    .brightscope-header .header__burger span::before,
    .brightscope-header .header__burger span::after {
        position: absolute;
        left: 2px;
        right: 2px;
        top: calc(50% - 1px);
        display: block;
        width: auto;
        height: 2px;
        background: #fff;
        transition: transform 0.2s ease, top 0.2s ease, opacity 0.2s ease;
    }

    .brightscope-header .header__burger span::before {
        content: '';
        top: calc(50% - 8px);
    }

    .brightscope-header .header__burger span::after {
        content: '';
        top: calc(50% + 6px);
    }

    /* Open: clean X (hide middle bar leftovers from parent transforms) */
    .brightscope-header .header__burger.active span {
        background: transparent;
        transform: none;
    }

    .brightscope-header .header__burger.active span::before {
        top: calc(50% - 1px);
        transform: rotate(45deg);
    }

    .brightscope-header .header__burger.active span::after {
        display: block;
        top: calc(50% - 1px);
        transform: rotate(-45deg);
    }

    body.mobile-menu-open .brightscope-header {
        background: #0b2b4c !important;
        background-color: #0b2b4c !important;
    }
}

@media (min-width: 768px) {
    .brightscope-header .header__burger {
        display: none !important;
    }

    .brightscope-header .header__actions--mobile {
        display: none;
    }
}

@media (max-width: 1219px) {
    .brightscope-header .header__wrapper {
        max-width: 100%;
    }

    .brightscope-header .header__menu {
        gap: 24px;
    }
}

@media (max-width: 991px) {
    .brightscope-header .header__menu {
        gap: 16px;
    }

    .brightscope-header .header__menu-link {
        font-size: 15px;
    }

    .brightscope-header .header__btn-login {
        width: auto;
        min-width: 150px;
        padding: 0 12px;
        font-size: 14px;
    }
}

/* --- Hub & Careers (section 10: gradient + two 200px panels) --- */
.bs-hub {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    max-width: 3000px;
    margin: 0 auto;
}

.bs-hub__panel {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    min-height: 200px;
    padding: 32px 40px;
    text-decoration: none;
    transition: filter 0.2s ease;
}

.bs-hub__panel:hover,
.bs-hub__panel:focus-visible {
    filter: brightness(1.05);
}

.bs-hub__panel--knowledge {
    background: #3371FF;
}

.bs-hub__panel--careers {
    background: #FF5B00;
}

.bs-hub__icon-wrap {
    box-sizing: border-box;
    display: flex;
    flex: 0 0 100px;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 82px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.8);
}

.bs-hub__icon {
    display: block;
    width: 30px;
    height: 43px;
}

.bs-hub__icon--people {
    width: 40px;
    height: 25px;
}

.bs-hub__copy {
    display: flex;
    flex-direction: column;
    max-width: 480px;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 18px;
    line-height: 30px;
}

.bs-hub__title {
    font-weight: 700;
}

.bs-hub__text {
    font-weight: 400;
}

@media (max-width: 899px) {
    .bs-hub {
        grid-template-columns: 1fr;
    }

    .bs-hub__panel {
        justify-content: flex-start;
        padding: 28px 24px;
    }
}

@media (max-width: 767px) {
    .bs-hub__panel {
        gap: 16px;
        min-height: 160px;
    }

    .bs-hub__icon-wrap {
        flex-basis: 80px;
        width: 80px;
        height: 66px;
    }

    .bs-hub__icon {
        width: 24px;
        height: 34px;
    }

    .bs-hub__icon--people {
        width: 32px;
        height: 20px;
    }

    .bs-hub__copy {
        font-size: 16px;
        line-height: 26px;
    }
}

/* --- Trust brands (section 9: white, logos PNG max 1200px) --- */
.bs-trust {
    box-sizing: border-box;
    width: 100%;
    max-width: 3000px;
    margin: 0 auto;
    background: #fff;
}

.bs-trust__inner {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: min(1200px, calc(100% - 48px));
    max-width: 1200px;
    margin: 0 auto;
    padding: 50px 0 110px;
}

.bs-trust__title {
    margin: 0 0 110px;
    color: #212B5F;
    font-family: Rift, sans-serif;
    font-size: 65px;
    font-weight: 700;
    line-height: 60px;
    text-align: center;
    text-transform: uppercase;
}

.bs-trust__visual {
    width: 100%;
    max-width: 1200px;
}

.bs-trust__logos-img {
    display: block;
    width: 100%;
    max-width: 1200px;
    height: auto;
    margin: 0 auto;
}

@media (max-width: 1199px) {
    .bs-trust__inner {
        padding-top: clamp(32px, calc(100vw * 50 / 1200), 50px);
        padding-bottom: clamp(64px, calc(100vw * 110 / 1200), 110px);
    }

    .bs-trust__title {
        margin-bottom: clamp(48px, calc(100vw * 110 / 1200), 110px);
        font-size: clamp(32px, calc(100vw * 65 / 1200), 65px);
        line-height: 1.1;
    }
}

@media (max-width: 767px) {
    .bs-trust__inner {
        width: min(1200px, calc(100% - 32px));
        padding-top: 32px;
        padding-bottom: 64px;
    }

    .bs-trust__title {
        margin-bottom: 48px;
        font-size: 28px;
        line-height: 34px;
    }
}

/* --- Products & Pricing (section 8: #F0F2F7, 1300px) --- */
.bs-pricing {
    box-sizing: border-box;
    width: 100%;
    max-width: 3000px;
    min-height: 1300px;
    margin: 0 auto;
    background: #F0F2F7;
}

.bs-pricing__inner {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: min(1200px, calc(100% - 48px));
    max-width: 1200px;
    min-height: 1300px;
    margin: 0 auto;
    padding: 72px 0 64px;
}

.bs-pricing__title {
    margin: 0 0 48px;
    color: #212B5F;
    font-family: Rift, sans-serif;
    font-size: 65px;
    font-weight: 700;
    line-height: 70px;
    text-align: center;
    text-transform: uppercase;
}

.bs-pricing__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    align-items: stretch;
    width: 100%;
}

.bs-pricing__card-wrap {
    position: relative;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 900px;
    /* Same inset as featured gradient so all card bottoms/buttons align */
    padding: 10px;
    transition: transform 0.28s ease, box-shadow 0.28s ease;
    will-change: transform;
}

@media (hover: hover) and (pointer: fine) {
    .bs-pricing__card-wrap:hover {
        transform: translateY(-6px) scale(1.02);
        z-index: 1;
    }

    .bs-pricing__card-wrap--featured:hover {
        box-shadow: 0 18px 40px rgba(33, 43, 95, 0.14);
    }

    .bs-pricing__card-wrap:not(.bs-pricing__card-wrap--featured):hover .bs-pricing__card {
        box-shadow: 0 16px 36px rgba(33, 43, 95, 0.12);
    }
}

@media (prefers-reduced-motion: reduce) {
    .bs-pricing__card-wrap {
        transition: none;
    }

    .bs-pricing__card-wrap:hover {
        transform: none;
    }
}

.bs-pricing__card-wrap--featured {
    border-radius: 5px;
    background: linear-gradient(90deg, #57A2F1 0%, #6061F5 20%, #DB64A1 40%, #E8745B 54%, #EE7B3C 60%, #EFAE3D 80%, #ED7458 100%);
}

.bs-pricing__card {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 28px 24px 32px;
    border-radius: 5px;
    border: 0.5px solid rgba(85, 96, 114, 0.5);
    background: #fff;
}

.bs-pricing__card-wrap--featured .bs-pricing__card {
    border: 0;
}

.bs-pricing__card--large {
    position: relative;
    overflow: hidden;
    background: #212B5F;
    border-color: rgba(85, 96, 114, 0.5);
}

.bs-pricing__card-head {
    margin-bottom: 20px;
}

.bs-pricing__eyebrow {
    margin: 0 0 8px;
    color: rgba(33, 43, 95, 0.5);
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 30px;
}

.bs-pricing__card--large .bs-pricing__eyebrow {
    color: #fff;
}

.bs-pricing__name {
    margin: 0;
    color: #2A62FB;
    font-family: Inter, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 40px;
}

.bs-pricing__card--large .bs-pricing__name {
    color: #fff;
}

.bs-pricing__tagline {
    margin: 4px 0 0;
    color: #FF5B00;
    font-family: Inter, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 40px;
}

.bs-pricing__features {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
    flex: 1 1 auto;
}

/* Price + buttons pinned to card bottom (design: price above CTAs) */
.bs-pricing__bottom {
    position: relative;
    z-index: 2;
    margin-top: auto;
    padding-top: 28px;
}

.bs-pricing__price-block {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    margin: 0 0 20px;
    min-height: 84px;
}

.bs-pricing__price-block--sold {
    align-items: center;
    justify-content: center;
}

.bs-pricing__from {
    margin: 0 0 4px;
    color: #2A62FB;
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 30px;
}

.bs-pricing__price-row {
    display: flex;
    align-items: flex-end;
    gap: 10px;
}

.bs-pricing__amount {
    margin: 0;
    color: #2A62FB;
    font-family: Rift, sans-serif;
    font-size: 55px;
    font-weight: 700;
    line-height: 50px;
}

.bs-pricing__currency {
    display: flex;
    flex-direction: column;
    margin: 0 0 2px;
    line-height: 22px;
}

.bs-pricing__currency-label {
    color: #2A62FB;
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 700;
}

.bs-pricing__period {
    color: #2A62FB;
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 400;
}

.bs-pricing__sold {
    margin: 0;
    color: rgba(145, 139, 158, 0.5);
    font-family: Rift, sans-serif;
    font-size: 48px;
    font-weight: 700;
    line-height: 50px;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
}

.bs-pricing__actions {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
    min-height: 40px;
}

.bs-pricing__btn {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    border-radius: 3px;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.bs-pricing__btn:hover,
.bs-pricing__btn:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(33, 43, 95, 0.12);
}

.bs-pricing__btn--solid-blue,
.bs-pricing__btn--ghost-blue,
.bs-pricing__btn--waitlist,
.bs-pricing__btn--sold {
    width: 155px;
    flex: 0 0 155px;
}

.bs-pricing__btn--ghost-orange,
.bs-pricing__btn--solid-orange {
    width: 175px;
}

.bs-pricing__btn--solid-blue {
    background: #2A62FB;
    border: 1px solid #2A62FB;
    color: #fff;
}

.bs-pricing__btn--solid-blue:hover,
.bs-pricing__btn--solid-blue:focus-visible {
    background: #1f52d6;
    border-color: #1f52d6;
    color: #fff;
}

.bs-pricing__btn--ghost-blue {
    background: #fff;
    border: 1px solid #2A62FB;
    color: #2A62FB;
}

.bs-pricing__btn--ghost-blue:hover,
.bs-pricing__btn--ghost-blue:focus-visible {
    background: rgba(42, 98, 251, 0.08);
    color: #2A62FB;
}

/* Large card: orange outline waitlist */
.bs-pricing__btn--waitlist {
    background: transparent;
    border: 1px solid #FF5B00;
    color: #FF5B00;
}

.bs-pricing__btn--waitlist:hover,
.bs-pricing__btn--waitlist:focus-visible {
    background: rgba(255, 91, 0, 0.12);
    border-color: #FF5B00;
    color: #FF5B00;
}

/* Large card: disabled Sold Out */
.bs-pricing__btn--sold {
    background: #918B9E;
    border: 1px solid #918B9E;
    color: #3d3a4a;
    cursor: not-allowed;
    pointer-events: none;
    user-select: none;
}

.bs-pricing__btn--ghost-orange {
    background: transparent;
    border: 1px solid #FF5B00;
    color: #FF5B00;
}

.bs-pricing__btn--ghost-orange:hover,
.bs-pricing__btn--ghost-orange:focus-visible {
    background: rgba(255, 91, 0, 0.08);
    color: #FF5B00;
}

.bs-pricing__btn--solid-orange {
    background: #FF5B00;
    border: 1px solid #FF5B00;
    color: #fff;
}

.bs-pricing__btn--solid-orange:hover,
.bs-pricing__btn--solid-orange:focus-visible {
    background: #e65200;
    border-color: #e65200;
    color: #fff;
}

.bs-pricing__feature {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.bs-pricing__check {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    margin-top: 2px;
}

.bs-pricing__feature-text {
    color: #023047;
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
}

.bs-pricing__feature-text strong {
    font-weight: 700;
}

.bs-pricing__card--large .bs-pricing__feature-text {
    color: #fff;
}

.bs-pricing__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 48px;
}

@media (max-width: 1199px) {
    .bs-pricing {
        min-height: 0;
    }

    .bs-pricing__inner {
        min-height: 0;
        padding: 56px 0 48px;
    }

    .bs-pricing__title {
        margin-bottom: 36px;
        font-size: clamp(36px, calc(100vw * 65 / 1200), 65px);
        line-height: 1.1;
    }

    .bs-pricing__cards {
        grid-template-columns: 1fr;
        max-width: 420px;
        margin: 0 auto;
        gap: 24px;
    }

    .bs-pricing__card-wrap {
        min-height: 0;
    }

    .bs-pricing__card,
    .bs-pricing__card-wrap--featured .bs-pricing__card {
        height: auto;
        min-height: 0;
    }

    .bs-pricing__footer {
        margin-top: 36px;
    }
}

@media (max-width: 767px) {
    .bs-pricing__inner {
        width: min(1200px, calc(100% - 32px));
        padding: 40px 0 36px;
    }

    .bs-pricing__title {
        font-size: 32px;
        line-height: 38px;
    }

    .bs-pricing__name,
    .bs-pricing__tagline {
        font-size: 24px;
        line-height: 32px;
    }

    .bs-pricing__amount,
    .bs-pricing__sold {
        font-size: 40px;
        line-height: 44px;
    }

    .bs-pricing__feature-text {
        font-size: 16px;
        line-height: 24px;
    }
}

/* --- Independence band (section 6: #212B5F, 500px) --- */
.bs-independence {
    box-sizing: border-box;
    width: 100%;
    max-width: 3000px;
    height: 500px;
    margin: 0 auto;
    background: #212B5F;
}

.bs-independence__inner {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 28px;
    width: min(1200px, calc(100% - 48px));
    max-width: 1200px;
    height: 100%;
    margin: 0 auto;
    padding: 40px 0;
    text-align: center;
}

.bs-independence__headline {
    margin: 0;
    max-width: 1200px;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 30px;
}

.bs-independence__body {
    margin: 0;
    max-width: 1200px;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
}

.bs-independence__body strong {
    font-weight: 700;
}

.bs-independence__icons {
    width: 100%;
    max-width: 1197px;
    overflow: hidden;
    background: transparent;
}

.bs-independence__icons-img {
    display: block;
    width: 100%;
    max-width: 1197px;
    height: auto;
    margin: 0 auto;
}

@media (max-width: 1299px) {
    .bs-independence {
        height: auto;
        min-height: clamp(360px, calc(100vw * 500 / 1300), 500px);
    }

    .bs-independence__inner {
        gap: clamp(20px, calc(100vw * 28 / 1300), 28px);
        padding: clamp(32px, calc(100vw * 40 / 1300), 40px) 0;
    }

    .bs-independence__headline {
        font-size: clamp(15px, calc(100vw * 18 / 1300), 18px);
        line-height: 1.55;
    }

    .bs-independence__body {
        font-size: clamp(15px, calc(100vw * 18 / 1300), 18px);
        line-height: 1.55;
    }
}

@media (max-width: 767px) {
    .bs-independence {
        min-height: 0;
        height: auto;
    }

    .bs-independence__inner {
        width: min(1200px, calc(100% - 32px));
        gap: 20px;
        padding: 32px 0;
    }

    .bs-independence__headline,
    .bs-independence__body {
        font-size: 15px;
        line-height: 24px;
    }
}

/* --- Brightscope site footer --- */
.bs-footer {
    box-sizing: border-box;
    width: 100%;
    max-width: 3000px;
    margin: 0 auto;
    background: #212B5F;
    color: #fff;
}

.bs-footer__inner {
    box-sizing: border-box;
    width: min(1200px, calc(100% - 48px));
    max-width: 1200px;
    margin: 0 auto;
    padding: 75px 0 80px;
}

.bs-footer__newsletter {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    min-height: 125px;
    padding: 28px 35px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.15);
}

.bs-footer__newsletter-title {
    margin: 0 0 8px;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;
}

.bs-footer__newsletter-lead {
    margin: 0;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 30px;
}

.bs-footer__newsletter-form {
    width: 100%;
    max-width: 600px;
    flex: 1 1 420px;
}

.bs-footer__newsletter-row {
    display: flex;
    width: 100%;
    max-width: 600px;
}

.bs-footer__newsletter-input {
    box-sizing: border-box;
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    height: 40px;
    padding: 0 14px;
    border: 0;
    border-radius: 3px 0 0 3px;
    background: #F0F2F7;
    color: #6A6F8C;
    font-family: Inter, sans-serif;
    font-size: 15px;
    line-height: 30px;
}

.bs-footer__newsletter-input::placeholder {
    color: rgba(106, 111, 140, 0.5);
}

.bs-footer__newsletter-input:focus {
    outline: 2px solid #FF5B00;
    outline-offset: -2px;
}

.bs-footer__newsletter-btn {
    box-sizing: border-box;
    flex: 0 0 150px;
    height: 40px;
    border: 1px solid #FF5B00;
    border-radius: 0 3px 3px 0;
    background: #FF5B00;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 30px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.bs-footer__newsletter-btn:hover,
.bs-footer__newsletter-btn:focus-visible {
    background: #e65200;
    border-color: #e65200;
}

.bs-footer__newsletter-msg[hidden] {
    display: none !important;
}

/* Support — Figma: 1100×189 #F0F2F7 + text 20/30 + orange bar 9px */
.bs-support {
    width: 100%;
    margin: 0;
}

.bs-support__panel {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 189px;
    margin: 0;
    padding: 0;
    background: #f0f2f7;
    border-radius: 2px;
    overflow: hidden;
    text-align: center;
}

.bs-support__body {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    min-height: 149px;
    padding: 28px 24px 20px;
    font-family: Inter, sans-serif;
}

.bs-support__title {
    margin: 0;
    color: #212b5f;
    font-family: Inter, sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 30px;
}

.bs-support__email {
    display: block;
    margin: 0;
    color: #3371ff;
    font-family: Inter, sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 30px;
    text-decoration: none;
}

.bs-support__email:hover {
    text-decoration: underline;
}

.bs-support__lead {
    margin: 30px 0 0;
    color: #212b5f;
    font-family: Inter, sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 30px;
}

.bs-support__bar {
    flex: 0 0 9px;
    width: 100%;
    height: 9px;
    margin: 0;
    background: #ff5b00;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
}

.bs-legal h1 {
    color: #212b5f;
    font-size: 1.5rem;
    margin: 0 0 1rem;
}

.bs-legal p,
.bs-legal span {
    color: #000;
}

.bs-legal__version {
    margin-top: 1.5rem;
    color: rgba(0, 0, 0, 0.5) !important;
}

@media (max-width: 650px) {
    .bs-support__body {
        padding: 24px 16px 16px;
        min-height: 0;
    }

    .bs-support__title,
    .bs-support__email,
    .bs-support__lead {
        font-size: 18px;
        line-height: 28px;
    }

    .bs-support__lead {
        margin-top: 24px;
    }
}

.bs-footer__newsletter-msg {
    margin: 10px 0 0;
    font-family: Inter, sans-serif;
    font-size: 14px;
    line-height: 20px;
}

.bs-footer__newsletter-msg--ok {
    color: #8dffb0;
}

.bs-footer__newsletter-msg--err {
    color: #ffb4b4;
}

.bs-footer__brand-row {
    display: flex;
    align-items: center;
    gap: 24px;
    margin: 72px 0 56px;
}

.bs-footer__brand-logo {
    flex: 0 0 auto;
    line-height: 0;
}

.bs-footer__brand-logo img {
    display: block;
    width: 158.7px;
    height: 28px;
}

.bs-footer__rule {
    width: 100%;
    max-width: 1200px;
    height: 0;
    margin: 56px 0 42px;
    border: 0;
    border-top: 1px solid #fff;
}

.bs-footer__rule--inline {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    margin: 0;
}

.bs-footer__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.bs-footer__heading {
    margin: 0 0 24px;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 16px;
}

.bs-footer__heading--spaced {
    margin-top: 32px;
}

.bs-footer__text {
    margin: 0;
    color: rgba(255, 255, 255, 0.75);
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 28px;
}

.bs-footer__text a {
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
}

.bs-footer__text a:hover {
    color: #fff;
}

.bs-footer__follow-label {
    margin: 28px 0 16px;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 16px;
}

.bs-footer__social {
    display: inline-flex;
}

.bs-footer__social img {
    display: block;
    opacity: 0.85;
}

.bs-footer__social:hover img {
    opacity: 1;
}

.bs-footer__links {
    margin: 0;
    padding: 0;
    list-style: none;
}

.bs-footer__links li + li {
    margin-top: 24px;
}

.bs-footer__links a {
    color: rgba(255, 255, 255, 0.75);
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 16px;
    text-decoration: none;
}

.bs-footer__links a:hover {
    color: #fff;
}

.bs-footer__logo-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
}

.bs-footer__logo-row img,
.bs-footer__privacy-img,
.bs-footer__partners img {
    display: block;
    height: auto;
    max-width: 100%;
    opacity: 0.9;
}

.bs-footer__partners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 28px;
    align-items: center;
    margin-top: 12px;
}

.bs-footer__offices {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.bs-footer__bottom {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.bs-footer__copyright {
    margin: 0;
    color: rgba(255, 255, 255, 0.75);
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
}

.bs-footer__legal {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, 0.7);
    font-family: Inter, sans-serif;
    font-size: 14px;
}

.bs-footer__legal a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
}

.bs-footer__legal a:hover {
    color: #fff;
}

@media (max-width: 1199px) {
    .bs-footer__grid,
    .bs-footer__offices {
        grid-template-columns: 1fr 1fr;
        gap: 40px 32px;
    }

    .bs-footer__newsletter {
        flex-direction: column;
        align-items: stretch;
        min-height: 0;
        height: auto;
        padding: 28px 24px;
        gap: 20px;
    }

    .bs-footer__newsletter-copy {
        text-align: center;
    }

    .bs-footer__newsletter-form {
        max-width: none;
        flex: 0 0 auto;
        width: 100%;
    }

    .bs-footer__brand-row {
        margin: 48px 0 40px;
        gap: 16px;
    }
}

@media (max-width: 767px) {
    .bs-footer__inner {
        width: min(1200px, calc(100% - 32px));
        padding: 48px 0 56px;
    }

    .bs-footer__newsletter-title,
    .bs-footer__newsletter-lead {
        font-size: 16px;
        line-height: 24px;
    }

    .bs-footer__newsletter {
        padding: 24px 16px;
        gap: 16px;
    }

    .bs-footer__newsletter-row {
        flex-direction: column;
        gap: 10px;
    }

    .bs-footer__newsletter-input,
    .bs-footer__newsletter-btn {
        width: 100%;
        flex: none;
        border-radius: 3px;
    }

    .bs-footer__newsletter-msg:not([hidden]) {
        margin-top: 10px;
    }

    /* Content + Unternehmen side by side; HQ / logos full width */
    .bs-footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: 32px 20px;
    }

    .bs-footer__col--hq,
    .bs-footer__col--logos {
        grid-column: 1 / -1;
    }

    .bs-footer__links li + li {
        margin-top: 16px;
    }

    .bs-footer__heading {
        margin-bottom: 16px;
    }

    /* 4 offices → 2×2 */
    .bs-footer__offices {
        grid-template-columns: 1fr 1fr;
        gap: 28px 16px;
    }

    .bs-footer__office .bs-footer__text {
        font-size: 14px;
        line-height: 22px;
    }

    .bs-footer__partners {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* --- Blog listing (Figma: grey card → orange hover) --- */
body.brightscope-inner-page .listing-outer--blog .blog-cards {
    display: grid;
    grid-template-columns: repeat(3, 340px);
    justify-content: space-between;
    gap: 20px 0;
    width: 100%;
    max-width: 1100px;
}

body.brightscope-inner-page .listing-outer--blog .blog-card,
body.brightscope-inner-page .listing-outer--blog .blog-card--first,
body.brightscope-inner-page .listing-outer--blog .blog-card--first-row-last,
body.brightscope-inner-page .listing-outer--blog .blog-card--last {
    display: flex;
    flex-direction: column;
    width: 340px;
    height: 275px;
    margin: 0;
    padding: 0;
    border-radius: 3px;
    background: #f0f2f7;
    box-shadow: none;
    transform: none;
    transition: background-color 0.2s ease;
    overflow: hidden;
}

body.brightscope-inner-page .listing-outer--blog .blog-card:hover,
body.brightscope-inner-page .listing-outer--blog .blog-card:focus-within {
    background: #ff5b00;
    transform: none;
    box-shadow: none;
}

body.brightscope-inner-page .listing-outer--blog .blog-card__bar {
    display: block;
    flex: 0 0 9px;
    width: 100%;
    height: 9px;
    margin: 0;
    background: #ff5b00;
}

body.brightscope-inner-page .listing-outer--blog .blog-card__link {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    box-sizing: border-box;
    width: 100%;
    min-height: 0;
    padding: 26px 26px 24px;
    text-decoration: none;
    color: inherit;
}

body.brightscope-inner-page .listing-outer--blog .blog-card__link:hover {
    text-decoration: none;
}

body.brightscope-inner-page .listing-outer--blog .blog-card__title {
    display: block;
    width: 288px;
    max-width: 100%;
    margin: 0;
    padding: 0;
    color: #023047;
    font-family: Inter, sans-serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 30px;
    word-wrap: break-word;
    text-transform: none !important;
    transition: color 0.2s ease;
}

body.brightscope-inner-page .listing-outer--blog .blog-card:hover .blog-card__title,
body.brightscope-inner-page .listing-outer--blog .blog-card:focus-within .blog-card__title {
    color: #fff;
}

body.brightscope-inner-page .listing-outer--blog .blog-card__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    box-sizing: border-box;
    width: 175px;
    height: 40px;
    margin: 0;
    border: 1px solid #ff5b00;
    border-radius: 3px;
    background: transparent;
    color: #ff5b00;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 30px;
    text-align: center;
    transition: color 0.2s ease, border-color 0.2s ease;
}

body.brightscope-inner-page .listing-outer--blog .blog-card:hover .blog-card__cta,
body.brightscope-inner-page .listing-outer--blog .blog-card:focus-within .blog-card__cta {
    border-color: #fff;
    color: #fff;
}

@media (max-width: 1100px) {
    body.brightscope-inner-page .listing-outer--blog .blog-cards {
        grid-template-columns: repeat(2, minmax(0, 340px));
        justify-content: center;
        gap: 20px;
    }
}

@media (max-width: 740px) {
    body.brightscope-inner-page .listing-outer--blog .blog-cards {
        grid-template-columns: minmax(0, 340px);
        justify-content: center;
    }

    body.brightscope-inner-page .listing-outer--blog .blog-card,
    body.brightscope-inner-page .listing-outer--blog .blog-card--first,
    body.brightscope-inner-page .listing-outer--blog .blog-card--first-row-last,
    body.brightscope-inner-page .listing-outer--blog .blog-card--last {
        width: 100%;
        max-width: 340px;
        height: auto;
        min-height: 275px;
    }

    body.brightscope-inner-page .listing-outer--blog .blog-card__title {
        width: 100%;
        font-size: 22px;
        line-height: 28px;
    }
}

/* --- Blog single (legal panel chrome) --- */
body.brightscope-inner-page.bs-page-legal .blog-single__back {
    margin: 0 0 20px;
    padding: 0;
    color: rgba(0, 0, 0, 0.55);
    font-family: Inter, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 25px;
}

body.brightscope-inner-page.bs-page-legal .blog-single__back-link {
    color: #2a62fb;
    font-weight: 700;
    text-decoration: none;
}

body.brightscope-inner-page.bs-page-legal .blog-single__back-link:hover {
    text-decoration: underline;
}

body.brightscope-inner-page.bs-page-legal .blog-single__date::before {
    content: " | ";
}

body.brightscope-inner-page.bs-page-legal .blog-single__title {
    margin: 0 0 20px;
    color: #000;
    font-family: Inter, sans-serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 32px;
}

body.brightscope-inner-page.bs-page-legal .blog-single__intro {
    margin: 0 0 16px;
    color: #000;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 25px;
}

body.brightscope-inner-page.bs-page-legal .blog-single__body {
    color: #000;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 25px;
}

body.brightscope-inner-page.bs-page-legal .blog-single__body p {
    margin: 0 0 16px;
}

body.brightscope-inner-page.bs-page-legal .blog-single__body p:last-child {
    margin-bottom: 0;
}

body.brightscope-inner-page.bs-page-legal .blog-single__body a {
    color: #2a62fb;
}

/* --- Career single (same inner chrome as blog single) --- */
body.brightscope-inner-page.bs-page-career-single .career-single {
    width: 100%;
    margin: 0;
    color: #023047;
    font-family: Inter, sans-serif;
}

body.brightscope-inner-page.bs-page-career-single .career-single__back {
    margin: 0 0 14px;
    padding: 0;
    font-size: 15px;
    font-weight: 400;
    line-height: 25px;
}

body.brightscope-inner-page.bs-page-career-single .career-single__back-link {
    color: #2a62fb;
    font-weight: 700;
    text-decoration: none;
}

body.brightscope-inner-page.bs-page-career-single .career-single__back-link:hover,
body.brightscope-inner-page.bs-page-career-single .career-single__back-link:focus-visible {
    text-decoration: underline;
}

body.brightscope-inner-page.bs-page-career-single .career-single__title {
    margin: 0 0 4px;
    color: #023047;
    font-family: Inter, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 36px;
    text-transform: uppercase;
}

body.brightscope-inner-page.bs-page-career-single .career-single__meta {
    margin: 0;
    color: #023047;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 25px;
}

body.brightscope-inner-page.bs-page-career-single .career-single__image-wrap {
    width: 100%;
    margin: 20px 0 0;
    overflow: hidden;
}

body.brightscope-inner-page.bs-page-career-single .career-single__image {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0;
    object-fit: cover;
}

body.brightscope-inner-page.bs-page-career-single .career-single__body {
    max-width: 996px;
    margin: 30px 0 0;
    color: #023047;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 25px;
}

body.brightscope-inner-page.bs-page-career-single .career-single__body p {
    margin: 0 0 16px;
}

body.brightscope-inner-page.bs-page-career-single .career-single__link-wrap {
    margin: 30px 0 0;
}

body.brightscope-inner-page.bs-page-career-single .career-single__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 175px;
    height: 40px;
    padding: 0 24px;
    border: 1px solid #ff5b00;
    border-radius: 3px;
    color: #ff5b00;
    font-size: 16px;
    font-weight: 700;
    line-height: 30px;
    text-decoration: none;
}

body.brightscope-inner-page.bs-page-career-single .career-single__link:hover,
body.brightscope-inner-page.bs-page-career-single .career-single__link:focus-visible {
    background: #ff5b00;
    color: #fff;
}

/* --- Knowledge Hub (Figma 540×250 cards, 2-col) --- */
body.brightscope-inner-page .listing-outer--knowledge .bs-knowledge-cards,
body.brightscope-inner-page .listing-outer--knowledge .knowledge-cards {
    display: grid;
    grid-template-columns: repeat(2, 540px);
    justify-content: space-between;
    gap: 20px 0;
    width: 100%;
    max-width: 1100px;
    margin: 0;
}

body.brightscope-inner-page .listing-outer--knowledge .bs-knowledge-card {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    width: 540px;
    height: 259px;
    margin: 0;
    padding: 0;
    border-radius: 3px;
    background: #f0f2f7;
    overflow: hidden;
    transform: none;
    box-shadow: none;
    transition: none;
}

body.brightscope-inner-page .listing-outer--knowledge .bs-knowledge-card:hover {
    transform: none;
    box-shadow: none;
}

body.brightscope-inner-page .listing-outer--knowledge .bs-knowledge-card__inner {
    position: relative;
    box-sizing: border-box;
    display: flex;
    flex: 1 1 auto;
    align-items: stretch;
    width: 100%;
    min-height: 0;
    height: 250px;
    overflow: hidden;
}

body.brightscope-inner-page .listing-outer--knowledge .bs-knowledge-card__main {
    position: relative;
    z-index: 2;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    max-width: 305px;
    padding: 28px 24px 24px 28px;
}

body.brightscope-inner-page .listing-outer--knowledge .bs-knowledge-card__title {
    margin: 0;
    max-width: 305px;
    color: #ff5b00;
    font-family: Inter, sans-serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 30px;
    word-wrap: break-word;
    text-transform: none !important;
}

body.brightscope-inner-page .listing-outer--knowledge .bs-knowledge-card__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 175px;
    height: 40px;
    margin: 0;
    border: 1px solid #ff5b00;
    border-radius: 3px;
    background: transparent;
    color: #ff5b00;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 30px;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.15s ease, color 0.15s ease;
}

body.brightscope-inner-page .listing-outer--knowledge .bs-knowledge-card__cta:hover,
body.brightscope-inner-page .listing-outer--knowledge .bs-knowledge-card__cta:focus-visible {
    background: #ff5b00;
    color: #fff;
    outline: none;
    text-decoration: none;
}

body.brightscope-inner-page .listing-outer--knowledge .bs-knowledge-card__cta--soon {
    border-color: rgba(33, 43, 95, 0.35);
    color: rgba(33, 43, 95, 0.45);
    pointer-events: none;
    cursor: default;
}

body.brightscope-inner-page .listing-outer--knowledge .bs-knowledge-card__cta--soon:hover,
body.brightscope-inner-page .listing-outer--knowledge .bs-knowledge-card__cta--soon:focus-visible {
    background: transparent;
    color: rgba(33, 43, 95, 0.45);
}

body.brightscope-inner-page .listing-outer--knowledge .bs-knowledge-card__media {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 58%;
    height: 100%;
    padding: 8px 10px 8px 0;
    pointer-events: none;
}

body.brightscope-inner-page .listing-outer--knowledge .bs-knowledge-card__image {
    display: block;
    width: auto;
    max-width: 100%;
    height: 100%;
    max-height: 243px;
    object-fit: contain;
    object-position: right center;
}

body.brightscope-inner-page .listing-outer--knowledge .bs-knowledge-card__bar {
    flex: 0 0 9px;
    width: 100%;
    height: 9px;
    margin: 0;
    background: #ff5b00;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
}

/* Kill parent knowledge-card chrome if leftover classes appear */
body.brightscope-inner-page .listing-outer--knowledge .knowledge-card__bar {
    display: none;
}

@media (max-width: 1140px) {
    body.brightscope-inner-page .listing-outer--knowledge .bs-knowledge-cards,
    body.brightscope-inner-page .listing-outer--knowledge .knowledge-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    body.brightscope-inner-page .listing-outer--knowledge .bs-knowledge-card {
        width: 100%;
    }
}

@media (max-width: 740px) {
    body.brightscope-inner-page .listing-outer--knowledge .bs-knowledge-cards,
    body.brightscope-inner-page .listing-outer--knowledge .knowledge-cards {
        grid-template-columns: minmax(0, 1fr);
    }

    body.brightscope-inner-page .listing-outer--knowledge .bs-knowledge-card {
        height: auto;
        min-height: 259px;
    }

    body.brightscope-inner-page .listing-outer--knowledge .bs-knowledge-card__inner {
        height: auto;
        min-height: 250px;
    }

    body.brightscope-inner-page .listing-outer--knowledge .bs-knowledge-card__main {
        max-width: 100%;
        padding-right: 46%;
    }

    body.brightscope-inner-page .listing-outer--knowledge .bs-knowledge-card--no-media .bs-knowledge-card__main {
        padding-right: 28px;
    }

    body.brightscope-inner-page .listing-outer--knowledge .bs-knowledge-card__title {
        font-size: 22px;
        line-height: 28px;
    }
}

/* --- Media Center (Figma 540×225 cards, 2-col) --- */
body.brightscope-inner-page .listing-outer--media .bs-media-cards {
    display: grid;
    grid-template-columns: repeat(2, 540px);
    justify-content: space-between;
    gap: 20px 0;
    width: 100%;
    max-width: 1100px;
    margin: 0;
}

body.brightscope-inner-page .listing-outer--media .bs-media-card {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    width: 540px;
    height: 234px;
    margin: 0;
    padding: 0;
    border-radius: 3px;
    background: #f0f2f7;
    overflow: hidden;
}

body.brightscope-inner-page .listing-outer--media .bs-media-card__inner {
    box-sizing: border-box;
    display: flex;
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
    height: 225px;
}

body.brightscope-inner-page .listing-outer--media .bs-media-card__main {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    padding: 28px 28px 24px;
}

body.brightscope-inner-page .listing-outer--media .bs-media-card__copy {
    max-width: 491px;
}

body.brightscope-inner-page .listing-outer--media .bs-media-card__title {
    margin: 0;
    color: #023047;
    font-family: Inter, sans-serif;
    font-size: 21px;
    font-weight: 700;
    line-height: 28px;
    text-transform: none !important;
}

body.brightscope-inner-page .listing-outer--media .bs-media-card__text {
    margin: 0;
    color: #023047;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 28px;
}

body.brightscope-inner-page .listing-outer--media .bs-media-card__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
}

body.brightscope-inner-page .listing-outer--media .bs-media-card__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 175px;
    height: 40px;
    margin: 0;
    border: 1px solid #ff5b00;
    border-radius: 3px;
    background: transparent;
    color: #ff5b00;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 30px;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.15s ease, color 0.15s ease;
}

body.brightscope-inner-page .listing-outer--media .bs-media-card__cta:hover,
body.brightscope-inner-page .listing-outer--media .bs-media-card__cta:focus-visible {
    background: #ff5b00;
    color: #fff;
    outline: none;
    text-decoration: none;
}

body.brightscope-inner-page .listing-outer--media .bs-media-card__cta--disabled {
    opacity: 0.55;
    pointer-events: none;
    cursor: default;
}

body.brightscope-inner-page .listing-outer--media .bs-media-card__brandfetch {
    color: #000;
    font-family: "Brush Script MT", "Segoe Script", "Apple Chancery", cursive;
    font-size: 28px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.01em;
}

body.brightscope-inner-page .listing-outer--media .bs-media-card__logo {
    display: block;
    width: auto;
    max-width: 140px;
    max-height: 36px;
    object-fit: contain;
}

body.brightscope-inner-page .listing-outer--media .bs-media-card__bar {
    flex: 0 0 9px;
    width: 100%;
    height: 9px;
    margin: 0;
    background: #ff5b00;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
}

@media (max-width: 1140px) {
    body.brightscope-inner-page .listing-outer--media .bs-media-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    body.brightscope-inner-page .listing-outer--media .bs-media-card {
        width: 100%;
    }
}

@media (max-width: 740px) {
    body.brightscope-inner-page .listing-outer--media .bs-media-cards {
        grid-template-columns: minmax(0, 1fr);
    }

    body.brightscope-inner-page .listing-outer--media .bs-media-card {
        height: auto;
        min-height: 234px;
    }

    body.brightscope-inner-page .listing-outer--media .bs-media-card__inner {
        height: auto;
        min-height: 225px;
    }

    body.brightscope-inner-page .listing-outer--media .bs-media-card__actions {
        flex-wrap: wrap;
    }
}

/* -------------------------------------------------------------------------
 * Careers — Figma: values 340×410, benefits 1060×330, jobs 340×275
 * ------------------------------------------------------------------------- */
body.brightscope-inner-page.bs-page-career .bs-inner-card {
    min-height: 1914px;
}

body.brightscope-inner-page.bs-page-career [data-aos] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}

body.brightscope-inner-page .listing-outer--career {
    max-width: 1060px;
    margin-bottom: 12px;
    padding-top: 18px;
    padding-bottom: 20px;
}

body.brightscope-inner-page .listing-outer--career .bs-career-title {
    margin: 0 0 12px;
    color: #023047;
    font-family: Inter, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 28px;
    text-align: center;
}

body.brightscope-inner-page .listing-outer--career .bs-career-intro {
    max-width: 1060px;
    margin: 0 auto;
    padding: 0;
    color: #023047;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 30px;
    text-align: center;
}

body.brightscope-inner-page .listing-outer--career .career-block--head {
    margin-bottom: 64px;
}

body.brightscope-inner-page .listing-outer--career .career-block--values {
    margin-bottom: 20px;
}

body.brightscope-inner-page .listing-outer--career .career-values {
    display: grid;
    grid-template-columns: repeat(3, 340px);
    justify-content: space-between;
    gap: 20px;
    align-items: stretch;
}

body.brightscope-inner-page .listing-outer--career .career-value-card {
    position: relative;
    width: 340px;
    min-height: 410px;
    height: 410px;
    background: #f0f2f7;
    border-radius: 3px;
    box-sizing: border-box;
}

body.brightscope-inner-page .listing-outer--career .career-value-card__icon {
    position: absolute;
    left: 26px;
    top: 28px;
    width: 50px;
    height: 50px;
    max-width: 50px;
    max-height: 50px;
    /* Folyo yellow → Brightscope orange */
    filter: brightness(0) saturate(100%) invert(42%) sepia(98%) saturate(2476%) hue-rotate(1deg) brightness(103%) contrast(104%);
}

body.brightscope-inner-page .listing-outer--career .career-value-card__body {
    padding: 100px 26px 28px;
    box-sizing: border-box;
}

body.brightscope-inner-page .listing-outer--career .career-value-card__title {
    margin: 0 0 10px;
    color: #023047;
    font-size: 20px;
    font-weight: 700;
    line-height: 25px;
}

body.brightscope-inner-page .listing-outer--career .career-value-card__text {
    color: #023047;
    font-size: 15px;
    font-weight: 400;
    line-height: 25px;
}

body.brightscope-inner-page .listing-outer--career .career-block--benefits {
    margin-bottom: 63px;
}

body.brightscope-inner-page .listing-outer--career .career-benefits-panel {
    width: 100%;
    max-width: 1060px;
    height: 330px;
    min-height: 330px;
    margin: 0 auto;
    padding: 28px 16px;
    background: #f0f2f7;
    border-radius: 3px;
    box-sizing: border-box;
    overflow: hidden;
}

body.brightscope-inner-page .listing-outer--career .career-benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px 32px;
}

body.brightscope-inner-page .listing-outer--career .career-benefits-grid__item {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 66px;
}

body.brightscope-inner-page .listing-outer--career .career-benefits-grid__icon {
    display: block;
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    max-width: 50px;
    max-height: 50px;
    padding: 0;
    margin-top: 0;
    object-fit: contain;
    object-position: center;
    filter: brightness(0) saturate(100%) invert(42%) sepia(98%) saturate(2476%) hue-rotate(1deg) brightness(103%) contrast(104%);
}

body.brightscope-inner-page .listing-outer--career .career-benefits-grid__text {
    flex: 1 1 auto;
    color: #023047;
    font-size: 15px;
    font-weight: 700;
    line-height: 25px;
}

body.brightscope-inner-page .listing-outer--career .career-block--positions-heading {
    padding-top: 8px;
    margin-bottom: 48px;
}

body.brightscope-inner-page .listing-outer--career .bs-career-positions-title {
    margin: 0;
    color: #023047;
    font-family: Inter, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 25px;
    text-align: center;
}

body.brightscope-inner-page .listing-outer--career .job-cards {
    display: grid;
    grid-template-columns: repeat(3, 340px);
    justify-content: space-between;
    gap: 20px;
    margin: 0 0 28px;
}

body.brightscope-inner-page .listing-outer--career .job-card {
    width: 340px;
    height: 275px;
    min-height: 275px;
    background: #f0f2f7;
    border-radius: 3px;
    overflow: hidden;
    box-sizing: border-box;
    transition: background-color 0.2s ease;
}

body.brightscope-inner-page .listing-outer--career .job-card:hover,
body.brightscope-inner-page .listing-outer--career .job-card:focus-within {
    background: #ff5b00;
}

body.brightscope-inner-page .listing-outer--career .job-card__wrap {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

body.brightscope-inner-page .listing-outer--career .job-card__content {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    padding: 28px 26px 16px;
    box-sizing: border-box;
}

body.brightscope-inner-page .listing-outer--career .job-card__heading {
    margin: 0 0 16px;
}

body.brightscope-inner-page .listing-outer--career .job-card__title {
    display: block;
    color: #023047;
    font-family: Inter, sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 25px;
    transition: color 0.2s ease;
}

body.brightscope-inner-page .listing-outer--career .job-card__meta {
    display: block;
    margin: 0;
    color: #023047;
    font-family: Inter, sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 25px;
    transition: color 0.2s ease;
}

body.brightscope-inner-page .listing-outer--career .job-card__employment,
body.brightscope-inner-page .listing-outer--career .job-card__location {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 4px;
    color: #023047;
    font-family: Inter, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 25px;
    transition: color 0.2s ease;
}

body.brightscope-inner-page .listing-outer--career .job-card__meta-icon {
    flex-shrink: 0;
    width: 15px;
    height: 15px;
}

body.brightscope-inner-page .listing-outer--career .job-card__link {
    margin-top: auto;
    color: #023047;
    font-family: Inter, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 25px;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.2s ease;
}

body.brightscope-inner-page .listing-outer--career .job-card:hover .job-card__title,
body.brightscope-inner-page .listing-outer--career .job-card:hover .job-card__meta,
body.brightscope-inner-page .listing-outer--career .job-card:hover .job-card__employment,
body.brightscope-inner-page .listing-outer--career .job-card:hover .job-card__location,
body.brightscope-inner-page .listing-outer--career .job-card:hover .job-card__link,
body.brightscope-inner-page .listing-outer--career .job-card:focus-within .job-card__title,
body.brightscope-inner-page .listing-outer--career .job-card:focus-within .job-card__meta,
body.brightscope-inner-page .listing-outer--career .job-card:focus-within .job-card__employment,
body.brightscope-inner-page .listing-outer--career .job-card:focus-within .job-card__location,
body.brightscope-inner-page .listing-outer--career .job-card:focus-within .job-card__link {
    color: #fff;
}

body.brightscope-inner-page .listing-outer--career .job-card__bar {
    flex: 0 0 9px;
    width: 100%;
    height: 9px;
    background: #ff5b00;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
}

body.brightscope-inner-page .listing-outer--career .career-unsolicited {
    max-width: 1199px;
    margin: 80px auto 0;
    padding: 0 12px;
    color: #023047;
    font-family: Inter, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 25px;
    text-align: center;
}

body.brightscope-inner-page .listing-outer--career .career-unsolicited__email {
    color: #2a62fb;
    font-weight: 400;
    text-decoration: none;
}

body.brightscope-inner-page .listing-outer--career .career-unsolicited__email--strong {
    font-weight: 700;
}

body.brightscope-inner-page .listing-outer--career .career-unsolicited__email:hover,
body.brightscope-inner-page .listing-outer--career .career-unsolicited__email:focus-visible {
    text-decoration: underline;
}

@media (max-width: 1100px) {
    body.brightscope-inner-page.bs-page-career .bs-inner-card {
        min-height: 0;
    }

    body.brightscope-inner-page .listing-outer--career .career-values,
    body.brightscope-inner-page .listing-outer--career .job-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: stretch;
    }

    body.brightscope-inner-page .listing-outer--career .career-value-card,
    body.brightscope-inner-page .listing-outer--career .job-card {
        width: 100%;
        height: auto;
        min-height: 275px;
    }

    body.brightscope-inner-page .listing-outer--career .career-value-card {
        min-height: 360px;
    }

    /* Fixed 330px height breaks when benefits wrap */
    body.brightscope-inner-page .listing-outer--career .career-benefits-panel {
        height: auto;
        min-height: 0;
        overflow: visible;
        padding: 28px 20px;
    }

    body.brightscope-inner-page .listing-outer--career .career-benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px 16px;
    }
}

@media (max-width: 720px) {
    body.brightscope-inner-page .listing-outer--career {
        width: min(1100px, calc(100% - 32px));
        padding-top: 12px;
    }

    body.brightscope-inner-page .listing-outer--career .bs-career-title,
    body.brightscope-inner-page .listing-outer--career .bs-career-positions-title {
        font-size: 24px;
        line-height: 28px;
    }

    body.brightscope-inner-page .listing-outer--career .bs-career-intro {
        font-size: 15px;
        line-height: 24px;
    }

    body.brightscope-inner-page .listing-outer--career .career-block--head {
        margin-bottom: 36px;
    }

    body.brightscope-inner-page .listing-outer--career .career-block--benefits {
        margin-bottom: 40px;
    }

    body.brightscope-inner-page .listing-outer--career .career-block--positions-heading {
        margin-bottom: 28px;
        padding-top: 0;
    }

    body.brightscope-inner-page .listing-outer--career .career-values,
    body.brightscope-inner-page .listing-outer--career .job-cards,
    body.brightscope-inner-page .listing-outer--career .career-benefits-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body.brightscope-inner-page .listing-outer--career .career-benefits-panel {
        height: auto !important;
        min-height: 0 !important;
        overflow: visible;
        padding: 24px 16px;
    }

    body.brightscope-inner-page .listing-outer--career .career-benefits-grid {
        gap: 18px;
    }

    body.brightscope-inner-page .listing-outer--career .career-benefits-grid__item {
        align-items: center;
        min-height: 0;
        gap: 12px;
    }

    body.brightscope-inner-page .listing-outer--career .career-benefits-grid__icon {
        flex: 0 0 40px;
        width: 40px;
        height: 40px;
        max-width: 40px;
        max-height: 40px;
    }

    body.brightscope-inner-page .listing-outer--career .career-benefits-grid__text {
        font-size: 14px;
        line-height: 22px;
    }

    body.brightscope-inner-page .listing-outer--career .career-value-card {
        display: flex;
        flex-direction: column;
        align-items: center;
        min-height: 0;
        height: auto;
        padding: 28px 20px 24px;
        text-align: center;
    }

    body.brightscope-inner-page .listing-outer--career .career-value-card__icon {
        position: relative;
        left: auto;
        top: auto;
        display: block;
        width: 48px;
        height: 48px;
        max-width: 48px;
        max-height: 48px;
        margin: 0 auto 16px;
    }

    body.brightscope-inner-page .listing-outer--career .career-value-card__body {
        width: 100%;
        padding: 0;
        text-align: center;
    }

    body.brightscope-inner-page .listing-outer--career .career-value-card__title {
        text-align: center;
    }

    body.brightscope-inner-page .listing-outer--career .career-value-card__text {
        text-align: center;
    }

    body.brightscope-inner-page .listing-outer--career .job-card {
        width: 100%;
        height: auto;
        min-height: 0;
    }

    body.brightscope-inner-page .listing-outer--career .job-card__content {
        padding: 24px 20px 16px;
        gap: 8px;
    }

    body.brightscope-inner-page .listing-outer--career .job-card__meta-icon {
        width: 15px;
        height: 15px;
        max-width: 15px;
        max-height: 15px;
        object-fit: contain;
    }

    body.brightscope-inner-page .listing-outer--career .career-unsolicited {
        margin-top: 40px;
        padding: 0;
        font-size: 14px;
        line-height: 22px;
    }
}
