@import '../bento/bentobox.css';
@import '../bento/bbx-default.css';
@import '../owl-carousel/owl.carousel.min.css';

/* MAC corporate palette: web RGB values from the official logo artwork. */
:root {
    --mac-navy: #19253e;
    --mac-blue: #3281c3;
    --mac-blue-soft: #e9f3fa;
    --mac-blue-wash: #f4f8fc;
    --mac-blue-border: #a9cbe6;
    --mac-accent: #f0a128;
    --mac-accent-strong: #c87500;
    --mac-navy-rgb: 25, 37, 62;
    --mac-blue-rgb: 50, 129, 195;
    --mac-accent-rgb: 240, 161, 40;
}

body.bbx-default {
    background: var(--mac-blue-wash);
    color: var(--mac-navy);
}

body.bbx-default * {
    text-transform: none !important;
}

body.bbx-default a {
    color: var(--mac-navy);
}

body.bbx-default :focus-visible {
    outline-color: var(--mac-blue);
}

body.bbx-default .bbx-skip-link {
    border: 0.2rem solid var(--mac-blue);
    color: var(--mac-navy);
}

body.bbx-default :where(.bbx-masonry > div > article, [class^='bbx-bento-'] > div > article, [class*=' bbx-bento-'] > div > article) {
    border-color: rgba(var(--mac-blue-rgb), 0.22);
    box-shadow: 0 1.2rem 3rem rgba(var(--mac-navy-rgb), 0.09);
    color: var(--mac-navy);
}

body.bbx-default .bbx-card--hero,
body.bbx-default .bbx-card--primary,
body.bbx-default .bbx-card--resources,
body.bbx-default .bbx-card--dark,
body.bbx-default article.bbx-dark {
    border-color: var(--mac-navy);
    border-top-color: var(--mac-blue);
    background: var(--mac-navy);
    color: #fff;
    box-shadow: inset 0 0.4rem 0 var(--mac-blue), 0 1.2rem 3rem rgba(var(--mac-navy-rgb), 0.18);
}

body.bbx-default .bbx-card--soft,
body.bbx-default .bbx-card--foundations,
body.bbx-default .bbx-card--accent,
body.bbx-default .bbx-card--components,
body.bbx-default .bbx-card--patterns,
body.bbx-default .bbx-card--accessibility,
body.bbx-default .bbx-card--start {
    border-color: var(--mac-blue-border);
    background: var(--mac-blue-soft);
    color: var(--mac-navy);
}

body.bbx-default .bbx-eyebrow {
    color: var(--mac-navy);
    text-decoration-color: var(--mac-blue);
    text-decoration-line: underline;
    text-decoration-thickness: 0.3rem;
    text-underline-offset: 0.35rem;
}

body.bbx-default .bbx-card--hero .bbx-eyebrow,
body.bbx-default .bbx-card--primary .bbx-eyebrow,
body.bbx-default .bbx-card--resources .bbx-eyebrow,
body.bbx-default .bbx-card--dark .bbx-eyebrow,
body.bbx-default article.bbx-dark .bbx-eyebrow {
    color: #fff;
    text-decoration-color: var(--mac-blue);
}

/* Site and Tiptap buttons use the same visual variants. */
body.bbx-default :where(
    .bbx-button--primary,
    .bbx-button--secondary,
    .bbx-button--tertiary,
    .bbx-button--accent,
    .bbx-rich-text a[data-as-button='true']
) {
    display: inline-flex;
    width: fit-content;
    min-height: 4.4rem;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    cursor: pointer;
    border: 0.2rem solid var(--mac-blue);
    border-radius: .4rem;
    background: var(--mac-blue);
    color: #fff;
    font-weight: 800;
    line-height: 1.2;
    padding: 0.8rem 1.8rem;
    text-align: center;
    text-decoration: none;
    transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease;
}

body.bbx-default :is(
    .bbx-button--sm,
    .bbx-rich-text a[data-as-button='true'][data-as-button-size='sm']
) {
    min-height: 3.6rem;
    font-size: 1.3rem;
    padding: 0.6rem 1.4rem;
}

body.bbx-default :is(
    .bbx-button--lg,
    .bbx-rich-text a[data-as-button='true'][data-as-button-size='lg']
) {
    min-height: 5rem;
    padding: 1rem 2.2rem;
}

body.bbx-default .bbx-button__icon {
    flex: 0 0 auto;
    line-height: 1;
}

body.bbx-default .bbx-rich-text a[data-as-button='true'][data-as-button-icon='fa-solid fa-house'] {
    --bbx-tiptap-button-icon: '\f015';
}

body.bbx-default .bbx-rich-text a[data-as-button='true'][data-as-button-icon='fa-solid fa-download'] {
    --bbx-tiptap-button-icon: '\f019';
}

body.bbx-default .bbx-rich-text a[data-as-button='true'][data-as-button-icon='fa-solid fa-star'] {
    --bbx-tiptap-button-icon: '\f005';
}

body.bbx-default .bbx-rich-text a[data-as-button='true'][data-as-button-icon='fa-solid fa-heart'] {
    --bbx-tiptap-button-icon: '\f004';
}

body.bbx-default .bbx-rich-text a[data-as-button='true'][data-as-button-icon='fa-solid fa-user'] {
    --bbx-tiptap-button-icon: '\f007';
}

body.bbx-default .bbx-rich-text a[data-as-button='true'][data-as-button-icon='fa-solid fa-search'] {
    --bbx-tiptap-button-icon: '\f002';
}

body.bbx-default .bbx-rich-text a[data-as-button='true'][data-as-button-icon='fa-solid fa-envelope'] {
    --bbx-tiptap-button-icon: '\f0e0';
}

body.bbx-default .bbx-rich-text a[data-as-button='true'][data-as-button-icon='fa-solid fa-check'] {
    --bbx-tiptap-button-icon: '\f00c';
}

body.bbx-default .bbx-rich-text a[data-as-button='true'][data-as-button-icon='fa-solid fa-xmark'] {
    --bbx-tiptap-button-icon: '\f00d';
}

body.bbx-default .bbx-rich-text a[data-as-button='true'][data-as-button-icon='fa-solid fa-plus'] {
    --bbx-tiptap-button-icon: '\2b';
}

body.bbx-default .bbx-rich-text a[data-as-button='true'][data-as-button-icon='fa-solid fa-minus'] {
    --bbx-tiptap-button-icon: '\f068';
}

body.bbx-default .bbx-rich-text a[data-as-button='true'][data-as-button-icon='fa-solid fa-info'] {
    --bbx-tiptap-button-icon: '\f129';
}

body.bbx-default .bbx-rich-text a[data-as-button='true'][data-as-button-icon-position='left']::before,
body.bbx-default .bbx-rich-text a[data-as-button='true'][data-as-button-icon-position='right']::after {
    content: var(--bbx-tiptap-button-icon);
    flex: 0 0 auto;
    font-family: 'Font Awesome 6 Free';
    font-style: normal;
    font-weight: 900;
    line-height: 1;
}

body.bbx-default :is(
    .bbx-button--primary,
    .bbx-rich-text a[data-as-button='true'][data-as-button-theme='primary']
) {
    border-color: var(--mac-blue);
    background: var(--mac-blue);
    color: #fff;
}

body.bbx-default :is(
    .bbx-button--primary,
    .bbx-rich-text a[data-as-button='true'][data-as-button-theme='primary']
):hover {
    border-color: var(--mac-blue);
    background: #fff;
    color: var(--mac-blue);
}

body.bbx-default :is(
    .bbx-button--secondary,
    .bbx-rich-text a[data-as-button='true'][data-as-button-theme='secondary']
) {
    border-color: #3b465a;
    background: var(--mac-navy);
    color: #fff;
}

body.bbx-default :is(
    .bbx-button--secondary,
    .bbx-rich-text a[data-as-button='true'][data-as-button-theme='secondary']
):hover {
    border-color: var(--mac-navy);
    background: #fff;
    color: var(--mac-navy);
}

body.bbx-default :is(
    .bbx-button--tertiary,
    .bbx-rich-text a[data-as-button='true'][data-as-button-theme='tertiary']
) {
    border-color: var(--mac-blue);
    background: #fff;
    color: var(--mac-blue);
}

body.bbx-default :is(
    .bbx-button--tertiary,
    .bbx-rich-text a[data-as-button='true'][data-as-button-theme='tertiary']
):hover {
    border-color: var(--mac-blue);
    background: var(--mac-blue);
    color: #fff;
}

body.bbx-default :is(
    .bbx-button--accent,
    .bbx-rich-text a[data-as-button='true'][data-as-button-theme='accent']
) {
    border-color: var(--mac-accent);
    background: var(--mac-accent);
    color: var(--mac-navy);
    box-shadow: 0 0.8rem 2rem rgba(var(--mac-accent-rgb), 0.24);
}

body.bbx-default :is(
    .bbx-button--accent,
    .bbx-rich-text a[data-as-button='true'][data-as-button-theme='accent']
):hover {
    border-color: var(--mac-accent-strong);
    background: var(--mac-navy);
    color: #fff;
    box-shadow: 0 1rem 2.4rem rgba(var(--mac-navy-rgb), 0.2);
}

body.bbx-default .bbx-docs-section:nth-of-type(even),
body.bbx-default .bbx-table-scroll thead th {
    background: var(--mac-blue-soft);
}

body.bbx-default .bbx-responsive-note,
body.bbx-default .bbx-noscript-note {
    border-color: var(--mac-blue);
    background: var(--mac-blue-soft);
}

body.bbx-default .bbx-class-tester__status {
    border-left-color: var(--mac-blue);
}

body.bbx-default .bbx-site-footer {
    border-top: 0.4rem solid var(--mac-blue);
    background: var(--mac-navy);
}

body.bbx-default .bbx-site-footer a:not([class*='bbx-button--']) {
    color: #fff;
}

/* MAC public header */
body.bbx-default .bbx-site-header {
    background: rgba(255, 255, 255, 0.98);
    border-bottom-color: rgba(var(--mac-navy-rgb), 0.14);
}

body.bbx-default .bbx-site-header .bbx-site-header__inner {
    min-height: 9.2rem;
    gap: clamp(2.4rem, 5vw, 6rem);
}

body.bbx-default .bbx-site-header .bbx-site-header__brand {
    align-self: center;
}

body.bbx-default .bbx-site-header .bbx-site-header__logo {
    width: 11.2rem;
    height: auto;
}

.bbx-site-header__navigation {
    display: grid;
    min-width: 0;
    align-self: stretch;
    align-content: center;
    justify-items: end;
    gap: 0.2rem;
    margin-left: auto;
}

body.bbx-default .bbx-site-header nav {
    width: auto;
    overflow: visible;
}

body.bbx-default .bbx-site-header nav ul {
    width: auto;
}

.bbx-lang-menu__list,
.bbx-main-menu__list,
.bbx-main-menu__submenu {
    list-style: none;
    margin: 0;
    padding: 0;
}

body.bbx-default .bbx-site-header .bbx-lang-menu__list {
    display: flex;
    justify-content: flex-end;
    gap: 0.2rem;
}

body.bbx-default .bbx-site-header .bbx-lang-menu__link {
    display: inline-flex;
    min-width: 3rem;
    min-height: 2.8rem;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    background: transparent;
    color: var(--mac-navy);
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    line-height: 1;
    padding: 0.5rem 0.8rem;
    text-decoration: none;
}

body.bbx-default .bbx-site-header .bbx-lang-menu__link:hover {
    background: transparent;
    color: var(--mac-blue);
    box-shadow: inset 0 -0.2rem 0 var(--mac-blue);
}

body.bbx-default .bbx-site-header .bbx-lang-menu__link[aria-current='true'] {
    background: transparent;
    color: var(--mac-navy);
    box-shadow: inset 0 -0.3rem 0 var(--mac-blue);
}

body.bbx-default .bbx-site-header .bbx-main-menu__list {
    display: flex;
    align-items: center;
    gap: 0.2rem;
}

.bbx-main-menu__item {
    position: relative;
}

.bbx-main-menu__row {
    display: flex;
    align-items: center;
}

body.bbx-default .bbx-site-header .bbx-main-menu__link {
    min-height: 4.6rem;
    border-radius: 0;
    background: transparent;
    color: var(--mac-navy);
    font-size: 1.45rem;
    letter-spacing: 0.01em;
}

body.bbx-default .bbx-site-header .bbx-main-menu__link:hover,
body.bbx-default .bbx-site-header .bbx-main-menu__link[aria-current='page'] {
    background: transparent;
    color: var(--mac-navy);
    box-shadow: inset 0 -0.3rem 0 var(--mac-blue);
}

.bbx-main-menu__parent-toggle {
    display: inline-flex;
    min-height: 4.6rem;
    align-items: center;
    gap: 0.6rem;
    justify-content: space-between;
    cursor: pointer;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--mac-navy);
    font-family: inherit;
    font-size: 1.45rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    padding-inline: 1.4rem;
    text-align: left;
}

.bbx-main-menu__parent-toggle:hover,
.bbx-main-menu__item.bbx-is-open > .bbx-main-menu__row .bbx-main-menu__parent-toggle {
    background: transparent;
    color: var(--mac-navy);
    box-shadow: inset 0 -0.3rem 0 var(--mac-blue);
}

.bbx-main-menu__parent-toggle svg {
    width: 1.6rem;
    height: 1.6rem;
    flex: 0 0 auto;
    transition: transform 180ms ease;
}

.bbx-main-menu__item.bbx-is-open > .bbx-main-menu__row .bbx-main-menu__parent-toggle svg {
    transform: rotate(180deg);
}

.bbx-main-menu__submenu-panel {
    position: absolute;
    z-index: 20;
    top: 100%;
    left: 0;
    display: none;
    min-width: 22rem;
    padding-top: 0.6rem;
}

body.bbx-default .bbx-site-header .bbx-main-menu__submenu {
    display: grid;
    gap: 0.2rem;
    width: 100%;
    border: 0.1rem solid rgba(var(--mac-navy-rgb), 0.12);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 1.4rem 3.2rem rgba(var(--mac-navy-rgb), 0.16);
    padding: 0.6rem;
}

body.bbx-default .bbx-site-header .bbx-main-menu__submenu .bbx-main-menu__link {
    flex: 1;
    min-height: 4.2rem;
    justify-content: flex-start;
    white-space: nowrap;
}

body.bbx-default .bbx-site-header .bbx-main-menu__submenu .bbx-main-menu__parent-toggle {
    flex: 1;
    min-height: 4.2rem;
    width: 100%;
    white-space: nowrap;
}

.bbx-main-menu__submenu .bbx-main-menu__submenu-panel {
    top: -0.7rem;
    left: 100%;
    padding-top: 0;
    padding-left: 0.6rem;
}

.bbx-site-header__menu-toggle {
    display: none;
    width: 4.6rem;
    min-height: 4.6rem;
    cursor: pointer;
    border: 0.1rem solid rgba(var(--mac-navy-rgb), 0.2);
    border-radius: 0.8rem;
    background: #fff;
    color: var(--mac-navy);
    padding: 1rem;
}

.bbx-site-header__menu-toggle:hover {
    border-color: var(--mac-blue);
    background: var(--mac-blue-soft);
    color: var(--mac-navy);
}

.bbx-site-header__menu-toggle svg {
    display: block;
    width: 2.4rem;
    height: 2.4rem;
}

.bbx-visually-hidden {
    position: absolute !important;
    width: 0.1rem !important;
    height: 0.1rem !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    margin: -0.1rem !important;
    padding: 0 !important;
    border: 0 !important;
    white-space: nowrap !important;
}

@media (min-width: 72.01rem) {
    .bbx-main-menu__item:hover > .bbx-main-menu__submenu-panel,
    .bbx-main-menu__item:focus-within > .bbx-main-menu__submenu-panel,
    .bbx-main-menu__item.bbx-is-open > .bbx-main-menu__submenu-panel {
        display: block;
    }
}

@media (max-width: 72rem) {
    body.bbx-default .bbx-site-header .bbx-site-header__inner {
        display: grid;
        width: min(100% - 2.4rem, 120rem);
        min-height: 8.2rem;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0;
        padding-block: 0.8rem;
    }

    body.bbx-default .bbx-site-header .bbx-site-header__logo {
        width: 9.4rem;
        height: auto;
    }

    .bbx-navigation-ready .bbx-site-header__menu-toggle {
        display: inline-grid;
        align-items: center;
        justify-content: center;
    }

    .bbx-site-header__navigation {
        display: grid;
        width: 100%;
        grid-column: 1 / -1;
        justify-items: stretch;
        gap: 0.8rem;
        margin: 0;
        padding: 1rem 0 0.6rem;
    }

    .bbx-navigation-ready .bbx-site-header__navigation:not(.bbx-is-open) {
        display: none;
    }

    body.bbx-default .bbx-site-header .bbx-lang-menu,
    body.bbx-default .bbx-site-header .bbx-main-menu {
        width: 100%;
        overflow: visible;
    }

    body.bbx-default .bbx-site-header .bbx-lang-menu {
        border-bottom: 0.1rem solid rgba(var(--mac-navy-rgb), 0.12);
        padding-bottom: 0.8rem;
    }

    body.bbx-default .bbx-site-header .bbx-lang-menu__list {
        width: 100%;
        justify-content: flex-start;
    }

    body.bbx-default .bbx-site-header .bbx-main-menu__list,
    body.bbx-default .bbx-site-header .bbx-main-menu__submenu {
        display: grid;
        width: 100%;
        gap: 0.2rem;
    }

    .bbx-main-menu__row {
        width: 100%;
    }

    body.bbx-default .bbx-site-header .bbx-main-menu__link {
        flex: 1;
        min-height: 4.8rem;
        justify-content: flex-start;
        font-size: 1.6rem;
    }

    body.bbx-default .bbx-site-header .bbx-main-menu__parent-toggle {
        flex: 1;
        min-height: 4.8rem;
        width: 100%;
        font-size: 1.6rem;
    }

    .bbx-main-menu__submenu-panel,
    .bbx-main-menu__submenu .bbx-main-menu__submenu-panel {
        position: static;
        display: block;
        width: 100%;
        min-width: 0;
        padding: 0 0 0 1.4rem;
    }

    .bbx-navigation-ready .bbx-main-menu__submenu-panel {
        display: none;
    }

    .bbx-navigation-ready .bbx-main-menu__item.bbx-is-open > .bbx-main-menu__submenu-panel {
        display: block;
    }

    body.bbx-default .bbx-site-header .bbx-main-menu__submenu {
        border: 0;
        border-left: 0.2rem solid var(--mac-blue);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        padding: 0 0 0 0.8rem;
    }
}

/* MAC static corporate homepage */
:root {
    --mac-ink: #0d1728;
    --mac-navy-2: #253653;
    --mac-navy-3: #354b6c;
    --mac-sky: #dcecf8;
    --mac-line: rgba(var(--mac-navy-rgb), 0.14);
}

body.bbx-default {
    overflow-x: clip;
    background: #f7f9fc;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.bbx-default main {
    overflow: clip;
}

body.bbx-default .bbx-home-kicker,
body.bbx-default .bbx-home-insight-card__meta,
body.bbx-default .bbx-home-solution__index,
body.bbx-default .bbx-home-card-number {
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: 0.16em;
}

body.bbx-default .bbx-home-display {
    max-width: 82rem;
    font-size: clamp(3.4rem, 5.4vw, 6.8rem);
    font-weight: 760;
    letter-spacing: -0.055em;
    line-height: 0.98;
    text-wrap: balance;
}

body.bbx-default .bbx-home-lead {
    max-width: 64rem;
    font-size: clamp(1.7rem, 2vw, 2.15rem);
    line-height: 1.7;
}

body.bbx-default .bbx-home-arrow-link,
body.bbx-default .bbx-home-text-link {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 0.9rem;
    color: inherit;
    font-weight: 800;
    text-decoration: none;
}

body.bbx-default .bbx-home-arrow-link span,
body.bbx-default .bbx-home-text-link span {
    display: inline-grid;
    width: 3.2rem;
    height: 3.2rem;
    place-items: center;
    border: 0.1rem solid currentColor;
    border-radius: 50%;
    transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

body.bbx-default .bbx-home-arrow-link:hover span,
body.bbx-default .bbx-home-text-link:hover span {
    border-color: var(--mac-navy);
    background: var(--mac-navy);
    color: #fff;
    transform: translate(0.2rem, -0.2rem);
}

body.bbx-default .bbx-home-hero .bbx-home-text-link:hover span,
body.bbx-default .bbx-home-solutions .bbx-home-arrow-link:hover span {
    border-color: #fff;
    background: #fff;
    color: var(--mac-navy);
}

/* Hero */
body.bbx-default .bbx-home-hero {
    padding-block: 0;
}

body.bbx-default .bbx-home-hero > div {
    width: 100%;
    gap: 0;
}

body.bbx-default .bbx-home-hero > div > .bbx-home-hero__panel {
    position: relative;
    min-height: calc(100svh - 9.2rem);
    justify-content: space-between;
    isolation: isolate;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background-color: var(--mac-navy);
    box-shadow: none;
    color: #fff;
    padding: clamp(4.8rem, 8vw, 10rem) max(1.6rem, calc((100vw - 120rem) / 2));
}

body.bbx-default .bbx-home-hero > div > .bbx-home-hero__panel:hover {
    box-shadow: none;
    transform: none;
}

.bbx-home-hero__media {
    position: absolute;
    z-index: -3;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.bbx-home-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

body.bbx-default .bbx-home-hero__panel::before {
    position: absolute;
    z-index: -2;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(var(--bbx-home-hero-overlay-rgb, 9, 19, 35), var(--bbx-home-hero-overlay-strong, 0.96)) 0%,
            rgba(var(--bbx-home-hero-overlay-rgb, 9, 19, 35), var(--bbx-home-hero-overlay-main, 0.82)) 36%,
            rgba(var(--bbx-home-hero-overlay-rgb, 9, 19, 35), var(--bbx-home-hero-overlay-mid, 0.28)) 70%,
            rgba(var(--bbx-home-hero-overlay-rgb, 9, 19, 35), var(--bbx-home-hero-overlay-faint, 0.08)) 100%
        ),
        linear-gradient(
            0deg,
            rgba(var(--bbx-home-hero-overlay-rgb, 9, 19, 35), var(--bbx-home-hero-overlay-bottom, 0.78)) 0%,
            transparent 42%
        );
    content: '';
}

body.bbx-default .bbx-home-hero__panel::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.045) 0.1rem, transparent 0.1rem),
        linear-gradient(90deg, rgba(255, 255, 255, 0.045) 0.1rem, transparent 0.1rem);
    background-size: 8rem 8rem;
    content: '';
    mask-image: linear-gradient(90deg, #000, transparent 70%);
}

.bbx-home-hero__content {
    display: grid;
    max-width: 82rem;
    align-content: center;
    gap: 2.2rem;
    padding-top: clamp(2rem, 8vh, 8rem);
}

body.bbx-default .bbx-home-hero .bbx-home-kicker {
    display: flex;
    align-items: center;
    gap: 1rem;
    color: #fff;
}

body.bbx-default .bbx-home-hero .bbx-home-kicker::before {
    width: 4.8rem;
    height: 0.2rem;
    background: var(--mac-blue);
    content: '';
}

body.bbx-default .bbx-home-hero h1 {
    max-width: 90rem;
    color: #fff;
    font-size: clamp(4.5rem, 7.8vw, 10.8rem);
    font-weight: 760;
    letter-spacing: -0.065em;
    line-height: 0.91;
    text-wrap: balance;
}

body.bbx-default .bbx-home-hero__summary {
    max-width: 66rem;
    color: rgba(255, 255, 255, 0.84);
    font-size: clamp(1.65rem, 2vw, 2.15rem);
    line-height: 1.65;
}

.bbx-home-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2rem;
    padding-top: 0.8rem;
}

body.bbx-default .bbx-home-hero .bbx-home-text-link {
    color: #fff;
}

.bbx-home-hero__rail {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 !important;
    width: min(100%, 72rem);
    list-style: none;
    padding: 0 !important;
}

.bbx-home-hero__rail li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.2rem 1.2rem;
    border-top: 0.1rem solid rgba(255, 255, 255, 0.34);
    padding: 1.6rem 2rem 0 0;
}

.bbx-home-hero__rail li + li {
    border-left: 0.1rem solid rgba(255, 255, 255, 0.2);
    padding-left: 2rem;
}

.bbx-home-hero__rail span {
    grid-row: 1 / 3;
    color: var(--mac-blue);
    font-size: 1.2rem;
    font-weight: 850;
}

.bbx-home-hero__rail strong {
    color: #fff;
    font-size: 1.5rem;
    letter-spacing: 0.08em;
}

.bbx-home-hero__rail small {
    color: rgba(255, 255, 255, 0.62);
    font-size: 1.2rem;
}

/* Company introduction */
body.bbx-default .bbx-home-intro {
    background: #fff;
}

body.bbx-default .bbx-home-intro > div > article {
    min-height: 42rem;
}

body.bbx-default .bbx-home-story {
    justify-content: space-between;
    padding: clamp(3.2rem, 5vw, 6rem);
}

body.bbx-default .bbx-home-story .bbx-home-display {
    max-width: 72rem;
}

body.bbx-default .bbx-home-pillars {
    justify-content: space-between;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--mac-blue-rgb), 0.32), transparent 38%),
        var(--mac-navy);
    padding: clamp(3.2rem, 5vw, 5.2rem);
}

.bbx-home-pillar-list {
    display: grid;
    gap: 0 !important;
    list-style: none;
    padding: 0 !important;
}

.bbx-home-pillar-list li {
    display: grid;
    grid-template-columns: 4rem 1fr;
    gap: 1.8rem;
    border-top: 0.1rem solid rgba(255, 255, 255, 0.18);
    padding: 2rem 0;
}

.bbx-home-pillar-list li > span {
    color: var(--mac-blue);
    font-size: 1.25rem;
    font-weight: 850;
}

.bbx-home-pillar-list li > div {
    display: grid;
    gap: 0.5rem;
}

.bbx-home-pillar-list strong {
    color: #fff;
    font-size: 2rem;
}

.bbx-home-pillar-list p {
    color: rgba(255, 255, 255, 0.68) !important;
}

/* Capability Bento */
body.bbx-default .bbx-home-capabilities {
    background: #eef4f9;
}

body.bbx-default .bbx-home-capabilities > div > article {
    position: relative;
    min-height: 25rem;
    justify-content: space-between;
    border-radius: 1.2rem;
    padding: clamp(2.4rem, 3vw, 3.8rem);
}

body.bbx-default .bbx-home-section-intro {
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    padding-left: 0;
}

body.bbx-default .bbx-home-section-intro:hover {
    box-shadow: none;
    transform: none;
}

body.bbx-default .bbx-home-section-intro .bbx-home-display {
    font-size: clamp(3.3rem, 4.7vw, 5.8rem);
}

.bbx-home-capability {
    isolation: isolate;
}

.bbx-home-capability::after {
    position: absolute;
    z-index: -1;
    right: -5rem;
    bottom: -5rem;
    width: 14rem;
    height: 14rem;
    border: 0.1rem solid rgba(var(--mac-blue-rgb), 0.16);
    border-radius: 50%;
    box-shadow: 0 0 0 2.8rem rgba(var(--mac-blue-rgb), 0.05), 0 0 0 5.6rem rgba(var(--mac-blue-rgb), 0.035);
    content: '';
}

.bbx-home-capability__content {
    display: grid;
    max-width: 48rem;
    gap: 1rem;
}

body.bbx-default .bbx-home-capability h3 {
    max-width: 46rem;
    font-size: clamp(2.2rem, 3vw, 3.5rem);
    letter-spacing: -0.035em;
    line-height: 1.05;
}

.bbx-home-card-number {
    color: var(--mac-blue);
}

body.bbx-default .bbx-home-capability--featured {
    border-color: var(--mac-blue);
    background:
        linear-gradient(135deg, rgba(var(--mac-blue-rgb), 0.96), rgba(var(--mac-navy-rgb), 0.98)),
        var(--mac-navy);
    color: #fff;
}

body.bbx-default .bbx-home-capability--featured .bbx-home-card-number,
body.bbx-default .bbx-home-capability--featured .bbx-eyebrow {
    color: #bde3ff;
}

body.bbx-default .bbx-home-card-action {
    display: inline-grid;
    width: 4.6rem;
    height: 4.6rem;
    flex: 0 0 auto;
    place-items: center;
    align-self: flex-end;
    border: 0.1rem solid currentColor;
    border-radius: 50%;
    color: inherit;
    font-size: 2rem;
    text-decoration: none;
    transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

body.bbx-default .bbx-home-card-action:hover {
    border-color: var(--mac-blue);
    background: var(--mac-blue);
    color: #fff;
    transform: rotate(8deg);
}

/* Solution spotlight */
body.bbx-default .bbx-home-solutions {
    background: var(--mac-ink);
}

body.bbx-default .bbx-home-solutions > div > article {
    position: relative;
    min-height: 27rem;
    justify-content: flex-end;
    border-color: rgba(255, 255, 255, 0.14);
    border-radius: 1.2rem;
    background: var(--mac-navy-2);
    color: #fff;
}

body.bbx-default .bbx-home-solutions h2,
body.bbx-default .bbx-home-solutions h3 {
    max-width: 50rem;
    color: #fff;
    font-size: clamp(2.5rem, 4vw, 4.8rem);
    letter-spacing: -0.045em;
    line-height: 1;
}

body.bbx-default .bbx-home-solutions h3 {
    font-size: clamp(2.2rem, 3vw, 3.4rem);
}

body.bbx-default .bbx-home-solutions p {
    color: rgba(255, 255, 255, 0.7);
}

body.bbx-default .bbx-home-solutions .bbx-eyebrow,
body.bbx-default .bbx-home-solutions .bbx-home-solution__index {
    color: #91cffc;
}

body.bbx-default .bbx-home-solutions .bbx-home-arrow-link {
    color: #fff;
    margin-top: 1rem;
}

body.bbx-default .bbx-home-solution--mission {
    min-height: 54rem;
    overflow: hidden;
    background:
        linear-gradient(180deg, transparent 20%, rgba(7, 16, 30, 0.96) 76%),
        linear-gradient(135deg, var(--mac-blue), var(--mac-navy));
}

.bbx-home-solution__visual {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.bbx-home-solution__visual::before,
.bbx-home-solution__visual::after,
.bbx-home-solution__visual span {
    position: absolute;
    border: 0.1rem solid rgba(255, 255, 255, 0.28);
    border-radius: 50%;
    content: '';
}

.bbx-home-solution__visual::before {
    top: -20%;
    right: -10%;
    width: 55rem;
    height: 55rem;
    box-shadow: 0 0 0 6rem rgba(255, 255, 255, 0.025), 0 0 0 12rem rgba(255, 255, 255, 0.02);
}

.bbx-home-solution__visual::after {
    top: 14%;
    right: 16%;
    width: 14rem;
    height: 14rem;
    border-color: rgba(255, 255, 255, 0.5);
}

.bbx-home-solution__visual span {
    top: 28%;
    right: 27%;
    width: 1.2rem;
    height: 1.2rem;
    border: 0;
    background: #fff;
    box-shadow: 0 0 2.8rem 1rem rgba(255, 255, 255, 0.72);
}

.bbx-home-solution--control {
    background: linear-gradient(145deg, var(--mac-navy-3), var(--mac-navy-2)) !important;
}

.bbx-home-solution--awareness {
    background: linear-gradient(145deg, #263b5d, var(--mac-navy)) !important;
}

.bbx-home-solution--planning {
    background: linear-gradient(145deg, var(--mac-blue), #1f517d) !important;
}

/* Engineering lifecycle */
body.bbx-default .bbx-home-engineering {
    background: #fff;
}

body.bbx-default .bbx-home-engineering > div > .bbx-home-engineering__panel {
    min-height: 48rem;
    justify-content: space-between;
    border: 0;
    background:
        linear-gradient(110deg, rgba(25, 37, 62, 0.99), rgba(25, 37, 62, 0.89)),
        var(--mac-navy);
    color: #fff;
    padding: clamp(3.2rem, 5.5vw, 6.8rem);
}

.bbx-home-engineering__copy {
    display: grid;
    max-width: 84rem;
    gap: 1.4rem;
}

body.bbx-default .bbx-home-engineering__copy .bbx-eyebrow {
    color: #a8d8fb;
}

body.bbx-default .bbx-home-engineering__copy p:last-child {
    max-width: 66rem;
    color: rgba(255, 255, 255, 0.72);
    font-size: 1.8rem;
}

.bbx-home-process {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0 !important;
    list-style: none;
    padding: 0 !important;
}

.bbx-home-process li {
    display: grid;
    gap: 1rem;
    border-top: 0.2rem solid rgba(255, 255, 255, 0.22);
    padding: 2rem 1.4rem 0 0;
}

.bbx-home-process li:not(:first-child) {
    padding-left: 1.4rem;
}

.bbx-home-process li::before {
    width: 1rem;
    height: 1rem;
    border: 0.2rem solid var(--mac-blue);
    border-radius: 50%;
    background: var(--mac-navy);
    box-shadow: 0 0 0 0.6rem rgba(var(--mac-blue-rgb), 0.15);
    content: '';
    transform: translateY(-2.6rem);
}

.bbx-home-process span {
    color: #80c8fa;
    font-size: 1.15rem;
    font-weight: 850;
}

.bbx-home-process strong {
    color: #fff;
    font-size: clamp(1.4rem, 1.6vw, 1.8rem);
}

.bbx-home-engineering__note {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    color: rgba(255, 255, 255, 0.55) !important;
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.bbx-home-engineering__note span {
    color: var(--mac-blue);
}

/* Metrics */
body.bbx-default .bbx-home-metrics {
    padding-top: 0;
    background: #fff;
}

body.bbx-default .bbx-home-metrics > div > article {
    min-height: 18rem;
    justify-content: flex-end;
    border-radius: 1.2rem;
}

.bbx-home-metric strong {
    color: var(--mac-blue);
    font-size: clamp(4.4rem, 6vw, 7.5rem);
    font-weight: 760;
    letter-spacing: -0.07em;
    line-height: 0.9;
}

.bbx-home-metric span {
    max-width: 18rem;
    color: var(--mac-navy);
    font-size: 1.4rem;
    font-weight: 800;
    line-height: 1.3;
}

/* Insights */
body.bbx-default .bbx-home-insights {
    background: #eef4f9;
}

body.bbx-default .bbx-home-insights > div > article {
    border-radius: 1.2rem;
}

body.bbx-default .bbx-home-insights__intro {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(28rem, 0.8fr);
    align-items: end;
    border: 0;
    background: transparent;
    box-shadow: none;
    padding-inline: 0;
}

body.bbx-default .bbx-home-insights__intro:hover {
    box-shadow: none;
    transform: none;
}

body.bbx-default .bbx-home-insights__intro > div {
    display: grid;
    gap: 1.2rem;
}

body.bbx-default .bbx-home-insights__intro > p {
    color: rgba(var(--mac-navy-rgb), 0.7);
    font-size: 1.7rem;
}

body.bbx-default .bbx-home-insight-card {
    min-height: 34rem;
    justify-content: space-between;
    padding: clamp(2.4rem, 3.2vw, 3.8rem);
}

body.bbx-default .bbx-home-insight-card h3 {
    font-size: clamp(2.4rem, 3vw, 3.4rem);
    letter-spacing: -0.04em;
    line-height: 1.05;
}

.bbx-home-insight-card__meta {
    color: var(--mac-blue);
}

body.bbx-default .bbx-home-insight-card .bbx-home-card-action {
    color: var(--mac-navy);
}

/* Careers and contact */
body.bbx-default .bbx-home-closing {
    background: #fff;
}

body.bbx-default .bbx-home-closing > div > article {
    min-height: 42rem;
    justify-content: space-between;
    border-radius: 1.2rem;
    padding: clamp(3.2rem, 5vw, 5.8rem);
}

body.bbx-default .bbx-home-careers {
    overflow: hidden;
    background:
        radial-gradient(circle at 85% 15%, rgba(var(--mac-blue-rgb), 0.22), transparent 26%),
        linear-gradient(145deg, #eef6fc, #fff 64%);
}

body.bbx-default .bbx-home-careers::after {
    width: 22rem;
    height: 22rem;
    align-self: flex-end;
    border: 0.1rem solid rgba(var(--mac-blue-rgb), 0.25);
    border-radius: 50%;
    box-shadow: 0 0 0 4rem rgba(var(--mac-blue-rgb), 0.06), 0 0 0 8rem rgba(var(--mac-blue-rgb), 0.03);
    content: '';
    transform: translate(8rem, 8rem);
}

body.bbx-default .bbx-home-contact {
    background:
        linear-gradient(145deg, rgba(var(--mac-blue-rgb), 0.28), transparent 45%),
        var(--mac-navy);
}

body.bbx-default .bbx-home-contact h2 {
    color: #fff;
    font-size: clamp(3.2rem, 4.7vw, 5.8rem);
    letter-spacing: -0.055em;
    line-height: 0.98;
}

body.bbx-default .bbx-home-contact p:not(.bbx-eyebrow) {
    color: rgba(255, 255, 255, 0.72);
    font-size: 1.7rem;
}

/* Footer */
body.bbx-default .bbx-home-footer {
    border-top-color: var(--mac-blue);
}

body.bbx-default .bbx-home-footer > .bbx-home-footer__inner {
    display: grid;
    grid-template-columns: minmax(24rem, 0.9fr) minmax(0, 1.5fr);
    align-items: start;
    gap: clamp(4rem, 8vw, 2rem);
    padding-block: clamp(5rem, 8vw, 4rem) 3rem;
}

.bbx-home-footer__brand {
    display: grid;
    max-width: 36rem;
    gap: 2rem;
}

.bbx-home-footer__brand img {
    height: auto;
}

body.bbx-default .bbx-home-footer__brand-copy {
    display: grid;
    gap: 1.2rem;
}

body.bbx-default .bbx-home-footer__brand p,
body.bbx-default .bbx-home-footer__brand address {
    color: rgba(255, 255, 255, 0.62);
    font-size: 1.5rem;
}

body.bbx-default .bbx-home-footer__brand address {
    font-style: normal;
    line-height: 1.65;
}

.bbx-home-footer__contacts {
    display: grid;
    gap: 0.65rem;
    margin: 0;
}

.bbx-home-footer__contacts > div {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
}

.bbx-home-footer__contacts dt {
    display: inline-flex;
    width: 2rem;
    flex: 0 0 2rem;
    align-items: center;
    justify-content: center;
    color: var(--mac-blue-border);
}

.bbx-contact-icon {
    width: 1.7rem;
    height: 1.7rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.bbx-home-footer__contacts dd {
    color: rgba(255, 255, 255, 0.68);
    font-size: 1.35rem;
    margin: 0;
}

body.bbx-default .bbx-home-footer__contacts a {
    color: inherit;
    text-decoration: none;
}

body.bbx-default .bbx-home-footer__contacts a:hover {
    color: #fff;
}

.bbx-home-footer__socials {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

body.bbx-default .bbx-home-footer__socials a {
    display: inline-flex;
    width: 3.4rem;
    height: 3.4rem;
    align-items: center;
    justify-content: center;
    border: 0.1rem solid var(--mac-blue-border);
    border-radius: 50%;
    color: var(--mac-blue-border);
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

body.bbx-default .bbx-home-footer__socials a:hover {
    border-color: #fff;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    transform: translateY(-0.2rem);
}

.bbx-social-icon {
    width: 1.8rem;
    height: 1.8rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.bbx-social-icon--facebook path,
.bbx-social-icon--behance path,
.bbx-social-icon--vimeo path,
.bbx-social-icon--youtube > path:first-child {
    fill: currentColor;
    stroke: none;
}

.bbx-social-icon--youtube .bbx-social-icon__cutout {
    fill: var(--mac-ink);
    stroke: none;
}

.bbx-home-footer__socials a:hover .bbx-social-icon--youtube .bbx-social-icon__cutout {
    fill: var(--mac-ink);
}

.bbx-social-icon__fill {
    fill: currentColor;
    stroke: none;
}

.bbx-footer-menu {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3rem;
}

.bbx-footer-menu__group {
    display: grid;
    align-content: start;
    gap: 1rem;
}

.bbx-footer-menu__title {
    color: #fff;
    font-size: 1.3rem;
    letter-spacing: 0.12em;
    margin-bottom: 0.5rem;
}

body.bbx-default .bbx-footer-menu__title .bbx-footer-menu__link {
    color: #fff;
    font: inherit;
    letter-spacing: inherit;
}

body.bbx-default .bbx-footer-menu__title .bbx-footer-menu__link:hover {
    color: var(--mac-blue-border);
}

body.bbx-default .bbx-footer-menu__link {
    width: fit-content;
    color: rgba(255, 255, 255, 0.62);
    font-size: 1.4rem;
    text-decoration: none;
}

body.bbx-default .bbx-footer-menu__link:hover {
    color: #fff;
}

.bbx-home-footer__legal {
    display: flex;
    grid-column: 1 / -1;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1.6rem;
    border-top: 0.1rem solid rgba(255, 255, 255, 0.14);
    color: rgba(255, 255, 255, 0.45);
    font-size: 1.2rem;
    padding-top: 2.4rem;
}

.bbx-home-footer__legal-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.8rem;
    margin-left: auto;
}

.bbx-home-footer__copyright {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
}

.bbx-home-footer__copyright-icon {
    color: var(--mac-blue-border);
    font-size: 1.5rem;
    line-height: 1;
}

body.bbx-default.bbx-dialog-open {
    overflow: hidden;
}

.bbx-legal-dialog {
    width: min(92vw, 78rem);
    max-height: min(86vh, 82rem);
    overflow: hidden;
    border: 0;
    border-radius: 1.2rem;
    background: #fff;
    box-shadow: 0 2.8rem 8rem rgba(9, 19, 35, 0.36);
    color: var(--mac-ink);
    padding: 0;
}

.bbx-legal-dialog::backdrop {
    background: rgba(9, 19, 35, 0.78);
    backdrop-filter: blur(0.35rem);
}

.bbx-legal-dialog__panel {
    display: grid;
    max-height: min(86vh, 82rem);
    grid-template-rows: auto minmax(0, 1fr) auto;
}

.bbx-legal-dialog__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
    border-bottom: 0.1rem solid rgba(var(--mac-blue-rgb), 0.18);
    padding: clamp(2rem, 4vw, 3.2rem);
}

body.bbx-default .bbx-legal-dialog__header h2 {
    color: var(--mac-navy);
    font-size: clamp(2.2rem, 4vw, 3.2rem);
    line-height: 1.15;
}

.bbx-legal-dialog__close {
    display: inline-flex;
    width: 3.8rem;
    height: 3.8rem;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border: 0.1rem solid rgba(var(--mac-blue-rgb), 0.24);
    border-radius: 50%;
    background: transparent;
    color: var(--mac-navy);
    font-size: 2.8rem;
    line-height: 1;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.bbx-legal-dialog__close:hover {
    border-color: var(--mac-blue);
    background: var(--mac-blue);
    color: #fff;
}

.bbx-legal-dialog__content {
    overflow-y: auto;
    color: #34435a;
    font-size: 1.55rem;
    line-height: 1.75;
    padding: clamp(2rem, 4vw, 3.2rem);
}

.bbx-legal-dialog__content > * + * {
    margin-top: 1.4rem;
}

.bbx-legal-dialog__content :where(ul, ol) {
    padding-left: 2.2rem;
}

.bbx-legal-dialog__content a {
    color: var(--mac-blue);
    text-decoration: underline;
}

.bbx-legal-dialog__footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 1rem;
    border-top: 0.1rem solid rgba(var(--mac-blue-rgb), 0.18);
    padding: 1.6rem clamp(2rem, 4vw, 3.2rem);
}

.bbx-cookie-consent {
    position: fixed;
    z-index: 80;
    right: clamp(1.6rem, 3vw, 3.2rem);
    bottom: clamp(1.6rem, 3vw, 3.2rem);
    left: clamp(1.6rem, 3vw, 3.2rem);
    display: flex;
    width: min(100% - clamp(3.2rem, 6vw, 6.4rem), 108rem);
    align-items: center;
    justify-content: space-between;
    gap: 2.4rem;
    margin-left: auto;
    border: 0.1rem solid rgba(var(--mac-blue-rgb), 0.26);
    border-radius: 1.2rem;
    background: rgba(9, 19, 35, 0.97);
    box-shadow: 0 2rem 6rem rgba(9, 19, 35, 0.36);
    color: #fff;
    padding: clamp(1.8rem, 3vw, 2.8rem);
}

.bbx-cookie-consent__content {
    display: grid;
    max-width: 72rem;
    gap: 0.8rem;
}

body.bbx-default .bbx-cookie-consent__content h2 {
    color: #fff;
    font-size: clamp(1.8rem, 3vw, 2.3rem);
    line-height: 1.2;
}

.bbx-cookie-consent__text {
    color: rgba(255, 255, 255, 0.76);
    font-size: 1.4rem;
    line-height: 1.65;
}

.bbx-cookie-consent__text > * + * {
    margin-top: 0.8rem;
}

.bbx-cookie-consent__text a {
    color: #fff;
    text-decoration: underline;
}

.bbx-cookie-consent__actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 0.8rem;
}

@media (max-width: 48rem) {
    .bbx-cookie-consent {
        align-items: stretch;
        flex-direction: column;
        gap: 1.6rem;
    }

    .bbx-cookie-consent__actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.bbx-welcome-dialog {
    width: min(96vw, 128rem);
    height: min(90vh, 86rem);
    max-height: min(90vh, 86rem);
    overflow: hidden;
    border: 0;
    border-radius: 1.2rem;
    background: var(--mac-navy);
    box-shadow: 0 2.8rem 8rem rgba(9, 19, 35, 0.4);
    color: #fff;
    padding: 0;
}

.bbx-welcome-dialog::backdrop {
    background: rgba(9, 19, 35, 0.8);
    backdrop-filter: blur(0.35rem);
}

.bbx-welcome-dialog__panel {
    position: relative;
    isolation: isolate;
    width: 100%;
    height: 100%;
    min-height: 100%;
    overflow: hidden;
}

.bbx-welcome-dialog__panel::before {
    position: absolute;
    z-index: 1;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(9, 19, 35, 0.72) 0%, rgba(9, 19, 35, 0.18) 68%, transparent 100%),
        linear-gradient(180deg, transparent 30%, rgba(9, 19, 35, 0.92) 100%);
    content: '';
    pointer-events: none;
}

.bbx-welcome-dialog__panel--without-image {
    background:
        radial-gradient(circle at 82% 18%, rgba(var(--mac-blue-rgb), 0.36), transparent 34%),
        var(--mac-navy);
}

.bbx-welcome-dialog__media {
    position: absolute;
    z-index: 0;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: var(--mac-navy);
}

.bbx-welcome-dialog__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bbx-welcome-dialog__body {
    position: relative;
    z-index: 2;
    display: flex;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 100%;
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-end;
    gap: clamp(1.8rem, 3vw, 2.8rem);
    overflow-y: auto;
    padding: clamp(7rem, 9vw, 10rem) clamp(2.6rem, 6vw, 7rem) clamp(3rem, 6vw, 6rem);
}

.bbx-welcome-dialog__close {
    position: absolute;
    top: 1.8rem;
    right: 1.8rem;
    display: inline-flex;
    width: 3.8rem;
    height: 3.8rem;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border: 0.1rem solid rgba(var(--mac-blue-rgb), 0.25);
    border-radius: 50%;
    background: #fff;
    color: var(--mac-navy);
    font-size: 2.8rem;
    line-height: 1;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.bbx-welcome-dialog__close:hover {
    border-color: var(--mac-blue);
    background: var(--mac-blue);
    color: #fff;
}

.bbx-welcome-dialog__copy {
    display: grid;
    width: min(100%, 72rem);
    gap: 1.8rem;
}

body.bbx-default .bbx-welcome-dialog__copy h2 {
    color: #fff;
    font-size: clamp(3.6rem, 6vw, 7rem);
    letter-spacing: -0.045em;
    line-height: 0.98;
    text-wrap: balance;
}

body.bbx-default .bbx-welcome-dialog__copy p {
    max-width: 62rem;
    color: rgba(255, 255, 255, 0.78);
    font-size: clamp(1.5rem, 2vw, 1.8rem);
    line-height: 1.7;
}

.bbx-welcome-dialog__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

/* CMS-driven public pages */
body.bbx-default .bbx-page-hero {
    background: var(--mac-ink);
    padding: 0;
}

body.bbx-default .bbx-page-hero > div {
    width: 100%;
    max-width: none;
    padding: 0;
}

body.bbx-default .bbx-page-hero > div > .bbx-page-hero__panel {
    position: relative;
    isolation: isolate;
    display: flex;
    height: var(--bbx-page-hero-height, 120px);
    align-items: center;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background:
        radial-gradient(circle at 82% 18%, rgba(var(--mac-blue-rgb), 0.38), transparent 32%),
        linear-gradient(135deg, var(--mac-ink), var(--mac-navy));
    box-shadow: none;
    color: #fff;
    padding: clamp(4rem, 8vw, 9rem) clamp(2.4rem, 8vw, 12rem);
}

body.bbx-default .bbx-page-hero--compact > div > .bbx-page-hero__panel {
    align-items: center;
    justify-content: center;
    padding: 1.2rem clamp(1.8rem, 5vw, 6rem);
}

body.bbx-default .bbx-page-hero > div > .bbx-page-hero__panel:hover {
    transform: none;
}

.bbx-page-hero__panel--with-image::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(var(--bbx-page-hero-overlay-rgb, 9, 19, 35), var(--bbx-page-hero-overlay-start-opacity, 0.94)) 0%,
            rgba(var(--bbx-page-hero-overlay-rgb, 9, 19, 35), var(--bbx-page-hero-overlay-middle-opacity, 0.72)) 48%,
            rgba(var(--bbx-page-hero-overlay-rgb, 9, 19, 35), var(--bbx-page-hero-overlay-end-opacity, 0.2)) 100%
        ),
        linear-gradient(
            180deg,
            transparent 42%,
            rgba(var(--bbx-page-hero-overlay-rgb, 9, 19, 35), var(--bbx-page-hero-overlay-middle-opacity, 0.72)) 100%
        );
    content: '';
}

.bbx-page-hero__media {
    position: absolute;
    z-index: -2;
    inset: 0;
    display: block;
}

.bbx-page-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bbx-page-hero__copy {
    width: min(100% - 3.2rem, 120rem);
    gap: 1.8rem;
}

body.bbx-default .bbx-page-hero__copy h1 {
    max-width: 12ch;
    color: #fff;
    font-size: clamp(4.8rem, 9vw, 10rem);
    letter-spacing: -0.055em;
    line-height: 0.94;
    text-wrap: balance;
}

body.bbx-default .bbx-page-hero__copy > p:last-child {
    max-width: 68rem;
    color: rgba(255, 255, 255, 0.78);
    font-size: clamp(1.6rem, 2vw, 2rem);
    line-height: 1.65;
}

body.bbx-default .bbx-page-hero--compact .bbx-page-hero__copy {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.2rem clamp(1rem, 2vw, 2rem);
}

body.bbx-default .bbx-page-hero--compact .bbx-page-hero__copy h1 {
    max-width: none;
    overflow: hidden;
    font-size: clamp(2.8rem, 4vw, 4.2rem);
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.bbx-default .bbx-page-hero--compact .bbx-page-hero__copy > p:last-child {
    display: -webkit-box;
    overflow: hidden;
    font-size: clamp(1.2rem, 1.4vw, 1.5rem);
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

body.bbx-default .bbx-page-section {
    padding-block: clamp(4rem, 7vw, 8rem);
}

body.bbx-default .bbx-page-section:nth-of-type(odd) {
    background: var(--mac-blue-wash);
}

body.bbx-default .bbx-page-section:nth-of-type(even) {
    background: #fff;
}

body.bbx-default .bbx-page-section.bbx-page-section--parallax {
    background:
        linear-gradient(rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.92)),
        radial-gradient(circle at 10% 20%, rgba(var(--mac-blue-rgb), 0.24), transparent 34%),
        var(--mac-blue-soft);
}

body.bbx-default .bbx-page-section.bbx-page-section--has-parallax-image {
    background-color: var(--mac-blue-soft);
    background-image:
        linear-gradient(
            rgba(var(--bbx-parallax-overlay-rgb, 255, 255, 255), var(--bbx-parallax-overlay-opacity, 0.82)),
            rgba(var(--bbx-parallax-overlay-rgb, 255, 255, 255), var(--bbx-parallax-overlay-opacity, 0.82))
        ),
        var(--bbx-parallax-image);
    background-attachment: scroll, scroll;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

@media (min-width: 64.01rem) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    body.bbx-default .bbx-page-section.bbx-page-section--has-parallax-image {
        background-attachment: scroll, fixed;
    }
}

body.bbx-default .bbx-page-section > div > .bbx-page-card {
    min-width: 0;
    overflow: hidden;
    border-top: 0.35rem solid var(--mac-blue);
    border-radius: 0.8rem;
    padding: clamp(2.2rem, 4vw, 4rem);
}

/*
 * The default theme defines its own article hover transition after BentoBox's
 * motion layer. Keep CMS reveal state in the project layer so opacity,
 * transform, and the Page Designer delay are not reset by that theme rule.
 */
body.bbx-default
    .bbx-page-section
    > div
    > article[data-reveal].bbx-page-card.bbx-reveal-pending:not(.bbx-visible) {
    opacity: 0;
    transform: var(--bbx-reveal-transform, translateY(2rem));
    transition: none;
    will-change: opacity, transform;
}

body.bbx-default
    .bbx-page-section
    > div
    > article[data-reveal].bbx-page-card.bbx-reveal-pending.bbx-page-reveal-ready {
    transition-property: opacity, transform;
    transition-duration: 0.8s;
    transition-timing-function: ease;
}

body.bbx-default
    .bbx-page-section
    > div
    > article[data-reveal].bbx-page-card.bbx-reveal-pending.bbx-page-reveal-ready.bbx-delay-8 {
    transition-delay: 0.8s;
}

body.bbx-default
    .bbx-page-section
    > div
    > article[data-reveal].bbx-page-card.bbx-reveal-pending.bbx-page-reveal-ready.bbx-visible {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    body.bbx-default
        .bbx-page-section
        > div
        > article[data-reveal].bbx-page-card.bbx-reveal-pending {
        opacity: 1;
        transform: none;
        transition: none;
        will-change: auto;
    }
}

body.bbx-default .bbx-page-section > div > .bbx-page-card.bbx-page-card--minimal-padding {
    padding: 4px;
}

body.bbx-default .bbx-page-card-action {
    --bbx-page-card-action-color: var(--mac-navy);
    --bbx-page-card-action-hover-background: var(--mac-blue);
    --bbx-page-card-action-hover-color: #fff;

    display: inline-flex;
    width: fit-content;
    align-items: center;
    align-self: flex-end;
    gap: 1rem;
    color: var(--bbx-page-card-action-color);
    font-size: 1.4rem;
    font-weight: 800;
    margin-top: auto;
    text-decoration: none;
}

body.bbx-default .bbx-page-card-action:hover {
    color: var(--bbx-page-card-action-color);
    text-decoration: none;
}

.bbx-page-card-action__label {
    max-width: min(32rem, 60vw);
    line-height: 1.3;
    text-align: end;
}

body.bbx-default .bbx-page-card-action__icon {
    display: inline-grid;
    width: 4.6rem;
    height: 4.6rem;
    flex: 0 0 auto;
    place-items: center;
    border: 0.1rem solid currentColor;
    border-radius: 50%;
    color: inherit;
    font-size: 2rem;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

body.bbx-default .bbx-page-card-action:hover .bbx-page-card-action__icon {
    border-color: var(--bbx-page-card-action-hover-background);
    background: var(--bbx-page-card-action-hover-background);
    color: var(--bbx-page-card-action-hover-color);
    transform: rotate(8deg);
}

body.bbx-default
    .bbx-page-card:is(.bbx-card--primary, .bbx-card--secondary)
    .bbx-page-card-action {
    --bbx-page-card-action-color: #fff;
    --bbx-page-card-action-hover-background: #fff;
    --bbx-page-card-action-hover-color: var(--mac-navy);
}

body.bbx-default .bbx-page-card.bbx-card--accent .bbx-page-card-action {
    --bbx-page-card-action-color: var(--mac-navy);
    --bbx-page-card-action-hover-background: var(--mac-navy);
    --bbx-page-card-action-hover-color: #fff;
}

body.bbx-default
    .bbx-page-section
    > div
    > .bbx-page-card:is(.bbx-card--primary, .bbx-card--secondary)
    > .bbx-home-card-number {
    color: #bde3ff;
}

.bbx-content-group {
    display: grid;
    min-width: 0;
    gap: 1.8rem;
}

body.bbx-default :where(.bbx-content-group, .bbx-rich-text) h2 {
    color: var(--mac-navy);
    font-size: clamp(2.4rem, 4vw, 3.8rem);
    letter-spacing: -0.035em;
    line-height: 1.08;
}

body.bbx-default .bbx-rich-text {
    color: #34435a;
    font-size: 1.65rem;
    line-height: 1.75;
}

.bbx-rich-text blockquote {
    margin: 0;
    border-inline-start: 0.35rem solid var(--bbx-blockquote-border, var(--mac-blue));
    border-radius: 0.4rem;
    background: var(--bbx-blockquote-background, rgba(var(--mac-blue-rgb), 0.08));
    color: var(--bbx-blockquote-color, inherit);
    font-style: italic;
    padding: 1.2rem 1.6rem;
}

.bbx-rich-text > * + * {
    margin-top: 1.4rem;
}

.bbx-rich-text :where(h2, h3, h4) {
    margin-top: 2.4rem;
}

.bbx-rich-text :where(h3, h4) {
    color: var(--mac-navy);
    line-height: 1.2;
}

.bbx-rich-text :where(ul, ol) {
    padding-left: 2.2rem;
}

.bbx-rich-text ul {
    list-style: disc;
}

.bbx-rich-text ol {
    list-style: decimal;
}

body.bbx-default .bbx-rich-text a:not([data-as-button='true']) {
    color: var(--mac-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 0.2rem;
}

.bbx-content-image {
    display: grid;
    gap: 1rem;
    margin: 0;
}

.bbx-content-image picture,
.bbx-content-image img {
    display: block;
    width: 100%;
}

.bbx-content-image img {
    max-height: 70rem;
    border-radius: 0.6rem;
    object-fit: cover;
}

.bbx-content-image figcaption {
    color: #5d6d84;
    font-size: 1.3rem;
    line-height: 1.5;
}

.bbx-content-gallery {
    display: grid;
    gap: 0.8rem;
}

.bbx-content-gallery__preview {
    position: relative;
    display: block;
    min-width: 0;
    margin: 0;
}

.bbx-content-gallery__trigger {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
    cursor: zoom-in;
    border: 0;
    border-radius: 0.6rem;
    background: var(--mac-ink);
    color: #fff;
    font: inherit;
    padding: 0;
    text-align: left;
}

.bbx-content-gallery__trigger picture,
.bbx-content-gallery__trigger img {
    display: block;
    width: 100%;
}

.bbx-content-gallery__trigger img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: opacity 180ms ease, transform 300ms ease;
}

.bbx-content-gallery__trigger:hover img {
    opacity: 0.84;
    transform: scale(1.015);
}

.bbx-content-gallery__caption {
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    gap: 0.5rem;
    pointer-events: none;
    background: linear-gradient(
        180deg,
        rgba(var(--mac-navy-rgb), 0),
        rgba(var(--mac-navy-rgb), 0.92) 58%
    );
    color: #fff;
    padding: clamp(5rem, 12vw, 10rem) clamp(1.6rem, 3vw, 3rem) clamp(1.6rem, 3vw, 3rem);
    text-shadow: 0 0.2rem 1rem rgba(9, 19, 35, 0.42);
}

body.bbx-default .bbx-content-gallery__caption h2 {
    color: #fff;
    font-size: clamp(2.2rem, 4vw, 4rem);
    line-height: 1.1;
}

body.bbx-default .bbx-content-gallery__caption p {
    max-width: 68ch;
    color: rgba(255, 255, 255, 0.86);
    font-size: clamp(1.35rem, 1.8vw, 1.65rem);
    line-height: 1.5;
}

body.bbx-default .bbx-content-gallery__caption .bbx-content-gallery__image-caption {
    margin-top: 0.3rem;
    color: rgba(255, 255, 255, 0.68);
    font-size: 1.2rem;
}

.bbx-gallery-dialog {
    position: fixed;
    inset: 50% auto auto 50%;
    width: min(calc(100vw - 3.2rem), 120rem);
    max-width: none;
    max-height: calc(100svh - 3.2rem);
    overflow: visible;
    margin: 0;
    border: 0;
    border-radius: 1.2rem;
    background: transparent;
    color: #fff;
    padding: 0;
    transform: translate(-50%, -50%);
}

.bbx-gallery-dialog::backdrop {
    background: rgba(9, 19, 35, 0.9);
    backdrop-filter: blur(0.5rem);
}

.bbx-gallery-dialog__panel {
    display: grid;
    height: min(calc(100svh - 3.2rem), 90rem);
    overflow: hidden;
    border: 0.1rem solid rgba(255, 255, 255, 0.14);
    border-radius: 1.2rem;
    background: var(--mac-ink);
    box-shadow: 0 2.8rem 8rem rgba(9, 19, 35, 0.5);
    grid-template-rows: auto minmax(0, 1fr);
}

.bbx-gallery-dialog__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
    border-bottom: 0.1rem solid rgba(255, 255, 255, 0.14);
    padding: 1.6rem clamp(1.8rem, 3vw, 3rem);
}

body.bbx-default .bbx-gallery-dialog__header h2 {
    color: #fff;
    font-size: clamp(2rem, 3vw, 2.8rem);
    line-height: 1.15;
}

.bbx-gallery-dialog__status {
    margin-top: 0.4rem;
    color: rgba(255, 255, 255, 0.68);
    font-size: 1.25rem;
    line-height: 1.4;
}

.bbx-gallery-dialog__close,
.bbx-gallery-dialog__navigation {
    display: inline-flex;
    width: 4.4rem;
    height: 4.4rem;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border: 0.1rem solid rgba(255, 255, 255, 0.26);
    border-radius: 50%;
    background: rgba(var(--mac-navy-rgb), 0.86);
    color: #fff;
    font-size: 2.4rem;
    line-height: 1;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.bbx-gallery-dialog__close:hover,
.bbx-gallery-dialog__navigation:hover {
    border-color: var(--mac-blue);
    background: var(--mac-blue);
}

.bbx-gallery-dialog__close:disabled,
.bbx-gallery-dialog__navigation:disabled {
    cursor: default;
    opacity: 0.38;
}

.bbx-gallery-dialog__viewport {
    position: relative;
    display: grid;
    min-height: 0;
    padding: clamp(1.2rem, 2vw, 2.4rem) clamp(5.8rem, 7vw, 8rem);
}

.bbx-gallery-dialog__slide {
    display: grid;
    min-width: 0;
    min-height: 0;
    align-items: center;
    gap: 1.2rem;
    margin: 0;
    grid-template-rows: minmax(0, 1fr) auto;
}

.bbx-gallery-dialog__slide[hidden] {
    display: none;
}

.bbx-gallery-dialog__slide picture {
    display: flex;
    min-width: 0;
    min-height: 0;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.bbx-gallery-dialog__slide img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 100%;
    border-radius: 0.5rem;
    object-fit: contain;
}

body.bbx-default .bbx-gallery-dialog .bbx-gallery-dialog__slide figcaption {
    color: rgba(255, 255, 255, 0.78);
    font-size: 1.35rem;
    line-height: 1.5;
    text-align: center;
}

.bbx-gallery-dialog__navigation {
    position: absolute;
    z-index: 1;
    top: 50%;
    transform: translateY(-50%);
}

.bbx-gallery-dialog__navigation--previous {
    left: 1.2rem;
}

.bbx-gallery-dialog__navigation--next {
    right: 1.2rem;
}

.bbx-content-embed {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 0.6rem;
    background: var(--mac-ink);
    aspect-ratio: 16 / 9;
}

.bbx-content-embed iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.bbx-content-map {
    display: grid;
    gap: 0.8rem;
    width: 100%;
}

.bbx-content-map__title {
    margin: 0;
    color: var(--mac-navy);
    font-size: clamp(1.4rem, 2vw, 2rem);
    line-height: 1.2;
}

.bbx-content-accordion {
    display: grid;
    gap: 0.8rem;
}

.bbx-content-accordion details {
    border: 0.1rem solid rgba(var(--mac-navy-rgb), 0.16);
    border-radius: 0.5rem;
    background: #fff;
}

.bbx-content-accordion summary {
    cursor: pointer;
    color: var(--mac-navy);
    font-size: 1.6rem;
    font-weight: 800;
    line-height: 1.4;
    padding: 1.5rem 4.6rem 1.5rem 1.6rem;
}

.bbx-content-accordion details[open] summary {
    border-bottom: 0.1rem solid rgba(var(--mac-navy-rgb), 0.12);
    background: var(--mac-blue-soft);
}

.bbx-content-accordion details .bbx-rich-text {
    padding: 1.6rem;
}

.bbx-content-slider-shell {
    position: relative;
    min-width: 0;
}

.bbx-content-slider {
    display: grid;
    grid-auto-columns: minmax(78%, 1fr);
    grid-auto-flow: column;
    gap: 1.2rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: 0.2rem 0.2rem 1.2rem;
    scroll-snap-type: inline mandatory;
    scrollbar-color: var(--mac-blue) var(--mac-blue-soft);
}

.bbx-content-slider.owl-loaded {
    display: block;
    overflow: hidden;
    padding: 0.2rem;
    scroll-snap-type: none;
}

.bbx-content-slider.owl-loaded .owl-stage {
    display: flex;
}

.bbx-content-slider.owl-loaded .owl-item {
    display: flex;
}

.bbx-content-slider.owl-loaded .owl-item > .bbx-content-slide {
    width: 100%;
    height: 100%;
    scroll-snap-align: none;
}

.bbx-content-slider.owl-loaded .owl-stage-outer.owl-height .owl-stage {
    align-items: flex-start;
}

.bbx-content-slider.owl-loaded .owl-stage-outer.owl-height .owl-item {
    align-self: flex-start;
}

.bbx-content-slider.owl-loaded .owl-stage-outer.owl-height .owl-item > .bbx-content-slide {
    height: auto;
}

.bbx-content-slide {
    position: relative;
    display: grid;
    min-height: 36rem;
    align-content: end;
    overflow: hidden;
    border-radius: 0.7rem;
    background: var(--mac-navy);
    color: #fff;
    margin: 0;
    scroll-snap-align: start;
}

.bbx-content-slide::after {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(180deg, transparent 28%, rgba(9, 19, 35, 0.92) 100%);
    content: '';
    pointer-events: none;
}

.bbx-content-slide > picture,
.bbx-content-slide > picture > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.bbx-content-slide > picture {
    display: block;
}

.bbx-content-slide > picture > img {
    object-fit: cover;
}

.bbx-content-slide figcaption {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 1rem;
    padding: clamp(2rem, 4vw, 3.2rem);
}

body.bbx-default .bbx-content-slide h3,
body.bbx-default .bbx-content-slide p {
    color: #fff;
}

body.bbx-default .bbx-content-slide h3 {
    font-size: clamp(2.2rem, 4vw, 3.4rem);
    line-height: 1.1;
}

.bbx-content-slide__number {
    position: absolute;
    z-index: 2;
    top: clamp(2rem, 4vw, 3.2rem);
    left: clamp(2rem, 4vw, 3.2rem);
    color: #bde3ff;
}

body.bbx-default .bbx-content-slide .bbx-page-card-action {
    --bbx-page-card-action-color: #fff;
    --bbx-page-card-action-hover-background: #fff;
    --bbx-page-card-action-hover-color: var(--mac-navy);

    justify-self: end;
}

.bbx-content-slider .owl-nav.disabled,
.bbx-content-slider .owl-dots.disabled {
    display: none;
}

.bbx-content-slider .owl-nav button {
    position: absolute;
    z-index: 3;
    top: 50%;
    display: inline-flex;
    width: 4.4rem;
    height: 4.4rem;
    align-items: center;
    justify-content: center;
    border: 0.1rem solid rgba(var(--mac-navy-rgb), 0.18);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 0.8rem 2.4rem rgba(var(--mac-navy-rgb), 0.22);
    color: var(--mac-navy);
    cursor: pointer;
    transform: translateY(-50%);
}

.bbx-content-slider .owl-nav button:hover {
    border-color: var(--mac-blue);
    background: var(--mac-blue);
    color: #fff;
}

.bbx-content-slider .owl-nav button.disabled {
    cursor: default;
    opacity: 0.42;
}

.bbx-content-slider .owl-nav button > span {
    font-size: 3.2rem;
    line-height: 1;
    transform: translateY(-0.1rem);
}

.bbx-content-slider .owl-prev {
    left: 1.2rem;
}

.bbx-content-slider .owl-next {
    right: 1.2rem;
}

.bbx-content-slider .owl-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    padding: 0.8rem 0 0.2rem;
}

.bbx-content-slider .owl-dot {
    display: inline-flex;
    width: 3.2rem;
    height: 3.2rem;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    padding: 0;
}

.bbx-content-slider .owl-dot > span {
    width: 1rem;
    height: 1rem;
    border-radius: inherit;
    background: rgba(var(--mac-navy-rgb), 0.22);
}

.bbx-content-slider .owl-dot.active > span {
    background: var(--mac-blue);
    transform: scale(1.2);
}

.bbx-content-slider__autoplay-toggle {
    position: absolute;
    z-index: 4;
    top: 1.4rem;
    right: 1.4rem;
    min-height: 3.6rem;
    border: 0.1rem solid rgba(255, 255, 255, 0.62);
    border-radius: 999px;
    background: rgba(var(--mac-navy-rgb), 0.86);
    color: #fff;
    cursor: pointer;
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    padding: 0.7rem 1.2rem;
}

.bbx-content-slider__autoplay-toggle[hidden] {
    display: none;
}

.bbx-content-slider__autoplay-toggle:hover {
    border-color: var(--mac-blue);
    background: var(--mac-blue);
}

.bbx-content-slider:focus-visible,
.bbx-content-slider .owl-nav button:focus-visible,
.bbx-content-slider .owl-dot:focus-visible,
.bbx-content-slider__autoplay-toggle:focus-visible {
    outline: 0.3rem solid var(--mac-accent);
    outline-offset: 0.3rem;
}

/* Canonical Page Designer article surfaces. */
body.bbx-default .bbx-page-section > div > .bbx-page-card.bbx-card--default {
    --bbx-blockquote-background: rgba(var(--mac-blue-rgb), 0.08);
    --bbx-blockquote-border: var(--mac-blue);
    --bbx-blockquote-color: #34435a;

    border-color: transparent;
    background: transparent;
    box-shadow: none;
}

body.bbx-default .bbx-page-section > div > .bbx-page-card.bbx-card--default:hover {
    box-shadow: none;
    transform: none;
}

body.bbx-default .bbx-page-section > div > .bbx-page-card.bbx-card--primary {
    --bbx-blockquote-background: rgba(255, 255, 255, 0.12);
    --bbx-blockquote-border: #fff;
    --bbx-blockquote-color: #fff;

    border-color: var(--mac-blue);
    background: linear-gradient(135deg, rgba(var(--mac-blue-rgb), 0.96), rgba(var(--mac-navy-rgb), 0.98)), var(--mac-navy);
    color: #fff;
    box-shadow: 0 1.2rem 3rem rgba(var(--mac-blue-rgb), 0.2);
}

body.bbx-default .bbx-page-section > div > .bbx-page-card.bbx-card--secondary {
    --bbx-blockquote-background: rgba(var(--mac-accent-rgb), 0.14);
    --bbx-blockquote-border: var(--mac-accent);
    --bbx-blockquote-color: #fff;

    border-color: rgba(255, 255, 255, 0.14);
    border-radius: 1.2rem;
    background: var(--mac-navy-2);
    color: #fff;
    box-shadow: 0 1.2rem 3rem rgba(var(--mac-navy-rgb), 0.2);
}

body.bbx-default .bbx-page-section > div > .bbx-page-card.bbx-card--tertiary {
    --bbx-blockquote-background: rgba(var(--mac-accent-rgb), 0.1);
    --bbx-blockquote-border: var(--mac-accent-strong);
    --bbx-blockquote-color: #6d3f00;

    border-color: var(--mac-blue-border);
    background: #fff;
    color: var(--mac-navy);
}

body.bbx-default .bbx-page-section > div > .bbx-page-card.bbx-card--accent {
    --bbx-blockquote-background: rgba(var(--mac-navy-rgb), 0.12);
    --bbx-blockquote-border: var(--mac-navy);
    --bbx-blockquote-color: var(--mac-navy);

    border-color: var(--mac-accent-strong);
    background:
        linear-gradient(135deg, rgba(var(--mac-accent-rgb), 0.98), rgba(255, 211, 107, 0.96) 56%, rgba(200, 117, 0, 0.92)),
        var(--mac-accent);
    color: var(--mac-navy);
    box-shadow: 0 1.2rem 3rem rgba(var(--mac-accent-rgb), 0.2);
}

body.bbx-default .bbx-page-section > div > .bbx-page-card.bbx-page-card--has-background-image {
    background-color: #fff;
    background-image:
        linear-gradient(
            rgba(
                var(--bbx-page-card-background-overlay-rgb, 255, 255, 255),
                var(--bbx-page-card-background-overlay-opacity, 0.82)
            ),
            rgba(
                var(--bbx-page-card-background-overlay-rgb, 255, 255, 255),
                var(--bbx-page-card-background-overlay-opacity, 0.82)
            )
        ),
        var(--bbx-page-card-background-image);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

body.bbx-default
    .bbx-page-section
    > div
    > .bbx-page-card.bbx-page-card--has-background-image:is(.bbx-card--primary, .bbx-card--secondary) {
    background-color: var(--mac-navy);
}

body.bbx-default
    .bbx-page-section
    > div
    > .bbx-page-card.bbx-page-card--has-background-image.bbx-card--accent {
    background-color: var(--mac-accent);
}

body.bbx-default :where(.bbx-card--primary, .bbx-card--secondary) .bbx-rich-text,
body.bbx-default :where(.bbx-card--primary, .bbx-card--secondary) > .bbx-content-group {
    color: rgba(255, 255, 255, 0.88);
}

body.bbx-default :where(.bbx-card--primary, .bbx-card--secondary) > .bbx-content-group > h2,
body.bbx-default :where(.bbx-card--primary, .bbx-card--secondary) .bbx-rich-text :where(h2, h3, h4),
body.bbx-default :where(.bbx-card--primary, .bbx-card--secondary) .bbx-rich-text a:not([data-as-button='true']),
body.bbx-default :where(.bbx-card--primary, .bbx-card--secondary) .bbx-content-accordion summary {
    color: #fff;
}

body.bbx-default :where(.bbx-card--primary, .bbx-card--secondary) > .bbx-content-image figcaption {
    color: rgba(255, 255, 255, 0.76);
}

body.bbx-default :where(.bbx-card--primary, .bbx-card--secondary) .bbx-rich-text :where(code, kbd, samp) {
    background: rgba(var(--mac-navy-rgb), 0.56);
    color: var(--mac-blue-soft);
}

body.bbx-default :where(.bbx-card--primary, .bbx-card--secondary) .bbx-content-accordion details {
    border-color: rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.08);
}

body.bbx-default :where(.bbx-card--primary, .bbx-card--secondary) .bbx-content-accordion details[open] summary {
    border-bottom-color: rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.08);
}

/* Branded not-found page */
body.bbx-default .bbx-not-found {
    background: var(--mac-ink);
    padding: 0;
}

body.bbx-default .bbx-not-found > div {
    width: 100%;
    max-width: none;
    padding: 0;
}

body.bbx-default .bbx-not-found > div > .bbx-not-found__panel {
    position: relative;
    isolation: isolate;
    display: grid;
    min-height: clamp(52rem, 68vh, 78rem);
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    align-items: center;
    gap: clamp(3rem, 8vw, 10rem);
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background:
        linear-gradient(135deg, transparent 0 48%, rgba(var(--mac-blue-rgb), 0.16) 48% 49%, transparent 49%),
        radial-gradient(circle at 18% 50%, rgba(var(--mac-blue-rgb), 0.38), transparent 34%),
        var(--mac-ink);
    box-shadow: none;
    color: #fff;
    padding: clamp(4rem, 8vw, 10rem);
}

body.bbx-default .bbx-not-found > div > .bbx-not-found__panel:hover {
    transform: none;
}

.bbx-not-found__code {
    color: transparent;
    font-size: clamp(12rem, 24vw, 30rem);
    font-weight: 900;
    letter-spacing: -0.09em;
    line-height: 0.75;
    -webkit-text-stroke: 0.2rem rgba(255, 255, 255, 0.34);
    text-shadow: 1.2rem 1.2rem 0 rgba(var(--mac-blue-rgb), 0.22);
}

.bbx-not-found__copy {
    display: grid;
    max-width: 66rem;
    gap: 1.8rem;
}

body.bbx-default .bbx-not-found__copy h1 {
    color: #fff;
    font-size: clamp(4rem, 7vw, 8rem);
    letter-spacing: -0.05em;
    line-height: 0.98;
    text-wrap: balance;
}

body.bbx-default .bbx-not-found__copy > p:not(.bbx-eyebrow) {
    color: rgba(255, 255, 255, 0.76);
    font-size: clamp(1.6rem, 2vw, 1.9rem);
    line-height: 1.7;
}

@media (max-width: 64rem) {
    body.bbx-default .bbx-home-hero > div > .bbx-home-hero__panel {
        padding-inline: 3.2rem;
    }

    .bbx-home-process {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 3.2rem 0 !important;
    }

    body.bbx-default .bbx-not-found > div > .bbx-not-found__panel {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .bbx-not-found__code {
        font-size: clamp(10rem, 34vw, 20rem);
    }
}

@media (max-width: 48rem) {
    body.bbx-default .bbx-home-hero > div > .bbx-home-hero__panel {
        min-height: calc(100svh - 8.2rem);
        padding-inline: 2.4rem;
    }

    .bbx-home-hero__media img {
        object-position: 62% center;
    }

    body.bbx-default .bbx-home-hero__panel::before {
        background: linear-gradient(
            90deg,
            rgba(var(--bbx-home-hero-overlay-rgb, 9, 19, 35), var(--bbx-home-hero-overlay-strong, 0.96)),
            rgba(var(--bbx-home-hero-overlay-rgb, 9, 19, 35), var(--bbx-home-hero-overlay-mobile, 0.6))
        );
    }

    .bbx-home-hero__rail {
        grid-template-columns: 1fr;
    }

    .bbx-home-hero__rail li + li {
        border-left: 0;
        padding-left: 0;
    }

    body.bbx-default .bbx-home-insights__intro {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .bbx-home-process {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.bbx-default .bbx-home-footer > .bbx-home-footer__inner {
        grid-template-columns: 1fr;
    }

    .bbx-footer-menu {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bbx-home-footer__legal {
        align-items: flex-start;
        flex-direction: column;
    }

    .bbx-home-footer__legal-actions {
        justify-content: flex-start;
        margin-left: 0;
    }

    .bbx-welcome-dialog {
        width: 94vw;
        height: min(88svh, 76rem);
        max-height: min(88svh, 76rem);
    }

    .bbx-welcome-dialog__panel {
        min-height: 100%;
    }

    .bbx-welcome-dialog__body {
        padding: 7rem 2.4rem 3rem;
    }

    body.bbx-default .bbx-welcome-dialog__copy h2 {
        font-size: clamp(3.2rem, 10vw, 5rem);
    }

    .bbx-gallery-dialog {
        width: calc(100vw - 1.6rem);
        max-height: calc(100svh - 1.6rem);
    }

    .bbx-gallery-dialog__panel {
        height: calc(100svh - 1.6rem);
    }

    .bbx-gallery-dialog__viewport {
        padding: 1rem 1rem 6.4rem;
    }

    .bbx-gallery-dialog__navigation {
        top: auto;
        bottom: 1rem;
        transform: none;
    }

    .bbx-gallery-dialog__navigation--previous {
        left: calc(50% - 5.2rem);
    }

    .bbx-gallery-dialog__navigation--next {
        right: calc(50% - 5.2rem);
    }

    .bbx-content-slider {
        grid-auto-columns: 92%;
    }
}

@media (max-width: 36rem) {
    body.bbx-default .bbx-home-display {
        font-size: clamp(3.2rem, 12vw, 4.7rem);
    }

    body.bbx-default .bbx-home-hero h1 {
        font-size: clamp(4rem, 15vw, 6rem);
    }

    body.bbx-default .bbx-home-hero > div > .bbx-home-hero__panel {
        min-height: 72rem;
        padding-inline: 1.8rem;
    }

    .bbx-home-hero__media img {
        object-position: 68% center;
    }

    .bbx-home-actions {
        align-items: stretch;
        flex-direction: column;
    }

    body.bbx-default .bbx-home-actions > :where(.bbx-button--primary, .bbx-button--secondary, .bbx-button--tertiary, .bbx-button--accent),
    body.bbx-default .bbx-home-text-link {
        width: 100%;
        justify-content: center;
    }

    .bbx-home-process,
    .bbx-footer-menu {
        grid-template-columns: 1fr;
    }

    body.bbx-default .bbx-home-careers::after {
        display: none;
    }

    body.bbx-default .bbx-page-hero > div > .bbx-page-hero__panel {
        padding-inline: 1.8rem;
    }

    body.bbx-default .bbx-page-hero__copy h1 {
        font-size: clamp(4rem, 16vw, 6rem);
    }

    body.bbx-default .bbx-page-hero--compact > div > .bbx-page-hero__panel {
        padding-block: 1rem;
    }

    body.bbx-default .bbx-page-hero--compact .bbx-page-hero__copy h1 {
        font-size: clamp(2.4rem, 9vw, 3.6rem);
    }

    body.bbx-default .bbx-not-found > div > .bbx-not-found__panel {
        min-height: 54rem;
        padding-inline: 2rem;
    }
}

/* Temporary public under-construction landing page */
body.bbx-default.bbx-under-construction-page {
    min-height: 100%;
    background: var(--mac-ink);
}

body.bbx-default.bbx-under-construction-page main {
    min-height: 100svh;
}

body.bbx-default .bbx-under-construction {
    min-height: 100svh;
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(circle at 82% 22%, rgba(var(--mac-blue-rgb), 0.3), transparent 24rem),
        radial-gradient(circle at 12% 92%, rgba(var(--mac-blue-rgb), 0.12), transparent 30rem),
        linear-gradient(145deg, #0b1424 0%, var(--mac-navy) 62%, #101d31 100%);
    padding: 0;
}

body.bbx-default .bbx-under-construction > div {
    width: 100%;
    min-height: 100svh;
    max-width: none;
    gap: 0;
    padding: 0;
}

body.bbx-default .bbx-under-construction > div > .bbx-under-construction__panel {
    position: relative;
    min-height: 100svh;
    justify-content: space-between;
    isolation: isolate;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #fff;
    padding: clamp(2.4rem, 5vw, 6rem) max(2rem, calc((100vw - 120rem) / 2));
}

body.bbx-default .bbx-under-construction > div > .bbx-under-construction__panel:hover {
    box-shadow: none;
    transform: none;
}

.bbx-under-construction__panel::before {
    position: absolute;
    z-index: -2;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.035) 0.1rem, transparent 0.1rem),
        linear-gradient(90deg, rgba(255, 255, 255, 0.035) 0.1rem, transparent 0.1rem);
    background-size: 6.4rem 6.4rem;
    content: '';
    mask-image: linear-gradient(90deg, transparent 2%, #000 48%, #000 100%);
}

.bbx-under-construction__panel::after {
    position: absolute;
    z-index: -1;
    top: -26rem;
    right: -20rem;
    width: 74rem;
    height: 74rem;
    border: 0.1rem solid rgba(255, 255, 255, 0.08);
    border-radius: 50%;
    content: '';
}

.bbx-under-construction__orbit {
    position: absolute;
    z-index: -1;
    top: 50%;
    right: clamp(-20rem, -10vw, -8rem);
    width: min(62vw, 72rem);
    aspect-ratio: 1;
    border: 0.1rem solid rgba(var(--mac-blue-rgb), 0.28);
    border-radius: 50%;
    transform: translateY(-50%);
}

.bbx-under-construction__orbit span {
    position: absolute;
    border: 0.1rem solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    inset: 12%;
}

.bbx-under-construction__orbit span:nth-child(2) {
    border-color: rgba(var(--mac-blue-rgb), 0.22);
    inset: 28%;
}

.bbx-under-construction__orbit span:nth-child(3) {
    border: 0;
    background: var(--mac-blue);
    box-shadow: 0 0 3rem rgba(var(--mac-blue-rgb), 0.72);
    inset: 47%;
}

.bbx-under-construction__content {
    display: grid;
    width: min(100%, 76rem);
    align-self: center;
    gap: clamp(1.8rem, 3vw, 3.2rem);
    padding-block: clamp(4rem, 10vh, 10rem);
}

.bbx-under-construction__logo {
    display: block;
    width: clamp(12rem, 18vw, 18rem);
    height: auto;
    margin-left: clamp(-2.2rem, -2vw, -1.2rem);
}

body.bbx-default .bbx-under-construction__status {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 1rem;
    color: rgba(255, 255, 255, 0.68);
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: 0.16em;
}

.bbx-under-construction__status > span {
    width: 0.9rem;
    height: 0.9rem;
    border-radius: 50%;
    background: var(--mac-blue);
    box-shadow: 0 0 0 0 rgba(var(--mac-blue-rgb), 0.56);
    animation: bbx-construction-pulse 2.4s ease-out infinite;
}

body.bbx-default .bbx-under-construction__content h1 {
    max-width: 10ch;
    color: #fff;
    font-size: clamp(5rem, 10vw, 11rem);
    font-weight: 760;
    letter-spacing: -0.065em;
    line-height: 0.88;
    text-wrap: balance;
}

body.bbx-default .bbx-under-construction__lead {
    max-width: 62rem;
    color: rgba(255, 255, 255, 0.76);
    font-size: clamp(1.7rem, 2.2vw, 2.2rem);
    line-height: 1.65;
}

body.bbx-default .bbx-under-construction__translation {
    width: fit-content;
    border-left: 0.2rem solid var(--mac-blue);
    color: rgba(255, 255, 255, 0.52);
    font-size: 1.4rem;
    line-height: 1.6;
    padding-left: 1.4rem;
}

.bbx-under-construction__footer {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    border-top: 0.1rem solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.42);
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    padding-top: 2rem;
}

@keyframes bbx-construction-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(var(--mac-blue-rgb), 0.56);
    }

    70%,
    100% {
        box-shadow: 0 0 0 1.2rem rgba(var(--mac-blue-rgb), 0);
    }
}

@media (max-width: 48rem) {
    .bbx-under-construction__panel::before {
        background-size: 4.8rem 4.8rem;
        mask-image: linear-gradient(180deg, transparent, #000 32%, #000 100%);
    }

    .bbx-under-construction__orbit {
        top: 16%;
        right: -22rem;
        width: 58rem;
        transform: none;
    }

    .bbx-under-construction__content {
        padding-block: 4rem 6rem;
    }

    .bbx-under-construction__footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.8rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bbx-under-construction__status > span {
        animation: none;
    }
}
