.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-lectures [hidden] { display: none !important; }
.atlas-lectures__stage { aspect-ratio: 16 / 9.4; }
.atlas-lectures__thumb { width: 100%; cursor: pointer; appearance: none; -webkit-appearance: none; font: inherit; }
.atlas-lectures__diamond { width: 14rem; height: 14rem; right: -4rem; top: -5rem; transform: rotate(45deg); }
.atlas-lectures__play { width: 3.5rem; height: 3.5rem; transform: translate(-50%, -50%); font-size: 1.25rem; padding-left: .2rem; }
.atlas-lectures__stage-title { line-height: 1.6; }
.atlas-lectures__text { line-height: 1.6; }
.atlas-lectures__pill { cursor: pointer; font: inherit; appearance: none; -webkit-appearance: none; }
.atlas-lectures__now { display: none; }
.atlas-lectures__item.is-current .atlas-lectures__now { display: inline-block; }
@media (min-width: 768px) { .atlas-lectures__play { width: 4rem; height: 4rem; } }

/* bootstrap parity — sizes mirrored from the Tailwind utilities */
.atlas-lectures.atlas-lectures { padding: 1.5rem 0 2.5rem; }
@media (min-width: 1024px) { .atlas-lectures.atlas-lectures { padding: 2rem 0 4rem; } }

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

@media (min-width: 1024px) {
    .atlas-lectures__grid { display: grid; grid-template-columns: minmax(0, 1fr) 18.25rem; gap: 2rem; }
}
.atlas-lectures__col { min-width: 0; }
.atlas-lectures__aside { display: none; }
@media (min-width: 1024px) { .atlas-lectures__aside { display: block; } }

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

.atlas-lectures__diamond { position: absolute; border-radius: 1.5rem; }
.atlas-lectures__play { position: absolute; left: 50%; top: 42%; }
.atlas-lectures__caption.atlas-lectures__caption {
    position: absolute; left: 0; right: 0; bottom: 0;
    padding: 0.5rem 1.5rem; font-size: 1.125rem;
}
@media (min-width: 768px) { .atlas-lectures__caption.atlas-lectures__caption { font-size: 1.25rem; } }

.atlas-lectures__stage-title.atlas-lectures__stage-title { font-size: 1.25rem; }
@media (min-width: 768px) { .atlas-lectures__stage-title.atlas-lectures__stage-title { padding-top: 0.25rem; } }
.atlas-lectures__lead.atlas-lectures__lead { margin: 1rem 0 0; font-size: 1rem; }

.atlas-lectures__nav.atlas-lectures__nav { margin-top: 2.5rem; gap: 0.75rem; }
@media (min-width: 1024px) { .atlas-lectures__nav.atlas-lectures__nav { margin-top: 3.5rem; } }
.atlas-lectures__label.atlas-lectures__label { font-size: 0.875rem; }
.atlas-lectures__group.atlas-lectures__group { gap: 0.625rem; }

.atlas-lectures__pill.atlas-lectures__pill { padding: 0.5rem 1rem; font-size: 0.875rem; }
.atlas-lectures__note.atlas-lectures__note { margin: 1.25rem 0 0; font-size: 1.125rem; }

.atlas-lectures__list.atlas-lectures__list { margin-top: 1rem; grid-template-columns: minmax(0, 1fr); gap: 0.75rem; }
@media (min-width: 640px) { .atlas-lectures__list.atlas-lectures__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 768px) { .atlas-lectures__list.atlas-lectures__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.atlas-lectures__thumb.atlas-lectures__thumb { padding: 0.75rem; }
.atlas-lectures__now.atlas-lectures__now { padding: 0.125rem 0.375rem; font-size: 0.625rem; }
.atlas-lectures__meta.atlas-lectures__meta { font-size: 0.75rem; }
.atlas-lectures__card-title.atlas-lectures__card-title { font-size: 0.875rem; }

/* Bootstrap-only borders/colors for pills and cards: :where() has zero specificity, so Tailwind utilities (incl. aria-pressed / hover) always win */
:where(.atlas-lectures__pill, .atlas-lectures__thumb) {
    border: 1px solid var(--bs-border-color);
}
:where(.atlas-lectures__pill) {
    background: var(--bs-body-bg);
    color: var(--bs-emphasis-color);
}
:where(.atlas-lectures__pill:hover, .atlas-lectures__thumb:hover) { border-color: var(--bs-primary); }
:where(.atlas-lectures__pill[aria-pressed="true"]) {
    border-color: var(--bs-primary);
    color: var(--bs-primary);
}

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

