.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-journal [hidden] { display: none !important; }
.atlas-journal__title { line-height: 1.25; }
.atlas-journal__intro { line-height: 1.7; }
.atlas-journal__photo { object-fit: cover; object-position: center 20%; }
.atlas-journal__post-title { line-height: 1.3; }
.atlas-journal__excerpt { line-height: 1.55; }
.atlas-journal__page { appearance: none; -webkit-appearance: none; cursor: pointer; font: inherit; font-weight: 700; min-width: 1.75rem; height: 1.75rem; padding: 0 .4rem; }
@media (min-width: 768px) { .atlas-journal__card { min-height: 8.25rem; } }

/* Bootstrap parity — every rule is zero-specificity (:where) so Tailwind utilities always win and Tailwind rendering stays unchanged */
:where(.atlas-journal) { padding: 1.5rem 0 2.5rem; }
@media (min-width: 1024px) { :where(.atlas-journal) { padding: 2rem 0 4rem; } }

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

@media (min-width: 1024px) {
    :where(.atlas-journal__grid) { display: grid; grid-template-columns: minmax(0, 1fr) 18.25rem; gap: 2rem; }
}
:where(.atlas-journal__col) { min-width: 0; }

:where(.atlas-journal__list) { margin-top: 1.5rem; gap: 1.5rem; }
@media (min-width: 1024px) { :where(.atlas-journal__list) { margin-top: 1.75rem; } }

:where(.atlas-journal__card) { grid-template-columns: 6.5rem minmax(0, 1fr); }
@media (min-width: 768px) { :where(.atlas-journal__card) { grid-template-columns: 13rem minmax(0, 1fr); } }
@media (min-width: 1024px) { :where(.atlas-journal__card) { grid-template-columns: 17.5rem minmax(0, 1fr); } }

:where(.atlas-journal__block) { padding: 1rem 0.875rem; }
@media (min-width: 768px) { :where(.atlas-journal__block) { padding: 1.5rem 1.875rem; } }

:where(.atlas-journal__date, .atlas-journal__excerpt, .atlas-journal__more) { font-size: 0.875rem; }
@media (min-width: 768px) {
    :where(.atlas-journal__date, .atlas-journal__excerpt, .atlas-journal__more) { font-size: 1rem; }
}

:where(.atlas-journal__pager) { margin-top: 2rem; gap: 0.375rem; }
:where(.atlas-journal__page) { font-size: 0.75rem; }

:where(.atlas-journal__aside) { display: none; }
@media (min-width: 1024px) { :where(.atlas-journal__aside) { display: block; } }

/* Bootstrap-only page-button colors */
:where(.atlas-journal__page) { border: 0; background: transparent; color: var(--bs-emphasis-color); }
:where(.atlas-journal__page:hover) { background: var(--bs-primary-bg-subtle); }
:where(.atlas-journal__page[aria-current="page"]) { background: var(--bs-primary); color: var(--bs-white); }

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

