.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-faculty__photo-box { aspect-ratio: 136 / 97; }
.atlas-faculty__photo { object-fit: cover; object-position: center 25%; }
.atlas-faculty__name { line-height: 1.35; }
.atlas-faculty__meta { line-height: 1.5; }

/* bootstrap parity — values mirror the Tailwind utilities */
.atlas-faculty {
    padding-top: 1.5rem;
    padding-bottom: 2rem;
}

.atlas-faculty__wrap {
    max-width: 75rem;
    padding-left: 0.625rem;
    padding-right: 0.625rem;
}

.atlas-faculty__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 0.75rem;
    row-gap: 1.5rem;
}

.atlas-faculty__name {
    font-size: 0.875rem;
}

.atlas-faculty__meta {
    font-size: 0.75rem;
}

.atlas-faculty__spec {
    margin-top: 0.125rem;
}

.atlas-faculty__icon {
    padding-top: 0.125rem;
}

.atlas-faculty__line {
    width: 1px;
    height: 1rem;
}

.atlas-faculty__chev {
    font-size: 0.75rem;
}

@media (min-width: 768px) {
    .atlas-faculty__row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 1rem;
    }

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

    .atlas-faculty__meta {
        font-size: 0.875rem;
    }
}

@media (min-width: 1024px) {
    .atlas-faculty {
        padding-top: 0.5rem;
    }

    .atlas-faculty__wrap {
        padding-left: 1rem;
        padding-right: 1rem;
    }

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

    .atlas-faculty__row {
        row-gap: 1.25rem;
    }
}

.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; } }

