.atlas-banner__media { height: 4.375rem; }
.atlas-banner__photo { object-fit: cover; object-position: 75% 35%; }
.atlas-banner__title { line-height: 1.15; }
.atlas-banner__strip { scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.atlas-banner__strip::-webkit-scrollbar { display: none; }
.atlas-banner__notch { transform: translateX(-50%); margin-top: -1px; stroke-width: 1.5; visibility: hidden; display: none; }
@media (min-width: 768px) { .atlas-banner__notch { display: block; } }
.atlas-banner__link.is-current .atlas-banner__notch { visibility: visible; }
.atlas-banner__link { overflow: visible; }
@media (min-width: 768px) { .atlas-banner__media { height: 11rem; } }
@media (min-width: 1024px) { .atlas-banner__media { height: 15rem; } }

/* bootstrap parity — sizes mirrored from the Tailwind utilities */
.atlas-banner__wrap.atlas-banner__wrap { max-width: 75rem; padding-inline: 0.625rem; }
@media (min-width: 1024px) { .atlas-banner__wrap.atlas-banner__wrap { padding-inline: 1rem; } }
@media (min-width: 1024px) { .atlas-banner__inner.atlas-banner__inner { padding-left: 0.25rem; } }

.atlas-banner__title.atlas-banner__title { font-size: 1.125rem; }
@media (min-width: 768px) { .atlas-banner__title.atlas-banner__title { font-size: 2.25rem; } }
@media (min-width: 1024px) { .atlas-banner__title.atlas-banner__title { font-size: 3rem; } }

.atlas-banner__bar.atlas-banner__bar { max-width: 75rem; padding-inline: 0; }
@media (min-width: 768px) { .atlas-banner__bar.atlas-banner__bar { padding-inline: 0.625rem; } }
@media (min-width: 1024px) { .atlas-banner__bar.atlas-banner__bar { padding-inline: 1rem; } }

.atlas-banner__group.atlas-banner__group { padding: 1rem; font-size: 0.875rem; }
@media (min-width: 768px) { .atlas-banner__group.atlas-banner__group { padding-inline: 1.25rem; font-size: 1rem; } }

.atlas-banner__link.atlas-banner__link { padding: 1rem; font-size: 0.875rem; }
@media (min-width: 768px) { .atlas-banner__link.atlas-banner__link { padding-inline: 1.5rem; font-size: 1rem; } }

.atlas-banner__links.atlas-banner__links { overflow-x: auto; }
@media (min-width: 768px) { .atlas-banner__links.atlas-banner__links { overflow: visible; } }
.atlas-banner__rule { width: 1px; height: 1.25rem; }

.atlas-banner__notch.atlas-banner__notch { position: absolute; left: 50%; top: 100%; width: 1.5rem; height: 0.75rem; }

/* Bootstrap-only notch colors: :where() has zero specificity, so Tailwind fill/stroke utilities always win */
:where(.atlas-banner__notch) { fill: var(--bs-body-bg); stroke: var(--bs-border-color); }

.atlas-opening__title { line-height: 1.2; }
.atlas-opening__text { line-height: 1.6; }
.atlas-opening__slot:empty { min-height: 0; }

/* layout mirrors of the utility scale (identical values in both frameworks) */
.atlas-opening.atlas-opening {
    padding-top: 1.5rem;
    padding-bottom: 2rem;
}

.atlas-opening__wrap.atlas-opening__wrap {
    max-width: 75rem;
    padding-inline: 0.625rem;
}

.atlas-opening__grid.atlas-opening__grid {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

.atlas-opening__col.atlas-opening__col {
    min-width: 0;
}

.atlas-opening__title.atlas-opening__title {
    font-size: 1.75rem;
}

.atlas-opening__body.atlas-opening__body {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    align-items: flex-start;
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.atlas-opening__text.atlas-opening__text {
    font-size: 1rem;
}

.atlas-opening__note.atlas-opening__note {
    margin: 1.5rem 0 0;
}

.atlas-opening__cta.atlas-opening__cta {
    gap: 1rem;
    margin-top: 2.5rem;
    padding: 0.875rem 1.25rem 0.875rem 1.125rem;
    font-size: 1rem;
    line-height: 1.25;
}

.atlas-opening__sep.atlas-opening__sep {
    width: 1px;
    height: 1rem;
    margin-left: 1.25rem;
}

.atlas-opening__chev.atlas-opening__chev {
    font-size: 0.75rem;
    line-height: 1rem;
}

.atlas-opening__slot {
    display: none;
}

@media (min-width: 1024px) {
    .atlas-opening.atlas-opening {
        padding-top: 2rem;
        padding-bottom: 3rem;
    }

    .atlas-opening__wrap.atlas-opening__wrap {
        padding-inline: 1rem;
    }

    .atlas-opening__grid.atlas-opening__grid {
        grid-template-columns: minmax(0, 1fr) 18.25rem;
        gap: 2rem;
    }

    .atlas-opening__title.atlas-opening__title {
        font-size: 2.25rem;
    }

    .atlas-opening__body.atlas-opening__body {
        margin-top: 2.25rem;
    }

    .atlas-opening__cta.atlas-opening__cta {
        gap: 1.25rem;
        margin-top: 3.5rem;
    }

    .atlas-opening__sep.atlas-opening__sep {
        margin-left: 2.25rem;
    }

    .atlas-opening__slot {
        display: block;
    }
}

.atlas-alumni [hidden] { display: none !important; }
.atlas-alumni__title { line-height: 1.25; }
.atlas-alumni__line { line-height: 1.55; }
.atlas-alumni__page { appearance: none; -webkit-appearance: none; cursor: pointer; font: inherit; font-weight: 700; min-width: 1.75rem; height: 1.75rem; padding: 0 .4rem; }

/* Bootstrap parity — values identical to the Tailwind utilities */
.atlas-alumni.atlas-alumni { padding-top: 1.5rem; padding-bottom: 2.5rem; }
.atlas-alumni__wrap.atlas-alumni__wrap { padding-inline: 0.625rem; }
.atlas-alumni__col.atlas-alumni__col { min-width: 0; }
.atlas-alumni__title.atlas-alumni__title { font-size: 1.75rem; }
.atlas-alumni__list.atlas-alumni__list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; margin-top: 1.25rem; }
.atlas-alumni__badge { width: 2.75rem; height: 2.75rem; font-size: 1.125rem; line-height: 1.75rem; }
.atlas-alumni__sm.atlas-alumni__sm { font-size: 0.875rem; }
.atlas-alumni__pager.atlas-alumni__pager { margin-top: 2rem; gap: 0.375rem; }
.atlas-alumni__page.atlas-alumni__page { font-size: 0.75rem; line-height: 1rem; }
@media (min-width: 640px) { .atlas-alumni__list.atlas-alumni__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 768px) { .atlas-alumni__list.atlas-alumni__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; } }
@media (min-width: 1024px) {
    .atlas-alumni.atlas-alumni { padding-top: 2rem; padding-bottom: 4rem; }
    .atlas-alumni__wrap.atlas-alumni__wrap { padding-inline: 1rem; }
    .atlas-alumni__title.atlas-alumni__title { font-size: 2rem; }
    .atlas-alumni__grid.atlas-alumni__grid { display: grid; grid-template-columns: minmax(0, 1fr) 18.25rem; gap: 2rem; }
}

.atlas-aside.atlas-aside { padding-top: 2rem; padding-bottom: 2.5rem; }
.atlas-aside__wrap.atlas-aside__wrap { max-width: 75rem; padding-inline: 0.625rem; }
.atlas-aside__list { grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 1.25rem; }
.atlas-aside__icon.atlas-aside__icon { font-size: 1.875rem; line-height: 2.25rem; }
.atlas-aside__btn.atlas-aside__btn { margin-top: 1rem; gap: 0.75rem; padding: 0.75rem 0.625rem; }
.atlas-aside__chev.atlas-aside__chev { font-size: 0.75rem; line-height: 1rem; }
.atlas-aside__diamond { position: absolute; }
@media (min-width: 768px) { .atlas-aside__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) {
    .atlas-aside__wrap.atlas-aside__wrap { padding-inline: 1rem; }
    .atlas-aside__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
}
.atlas-aside.atlas-aside.is-docked { padding-top: 0; padding-bottom: 0; }
.atlas-aside__card { min-height: 9rem; }
.atlas-aside__diamond { width: 9rem; height: 9rem; right: -2.5rem; bottom: -3.5rem; transform: rotate(45deg); }
.atlas-aside__title { padding-right: 2.5rem; }
[data-atlas-aside-slot].is-filled { position: relative; align-self: stretch; }
[data-atlas-aside-slot] .atlas-aside__list.atlas-aside__list { position: absolute; top: 0; left: 0; right: 0; z-index: 5; grid-template-columns: minmax(0, 1fr); gap: 1.875rem; }
[data-atlas-aside-slot] .atlas-aside__card { min-height: 11.4375rem; }
@media (min-width: 768px) { .atlas-aside__card { min-height: 11.4375rem; } }

