/* Root archive composition; values belong to the public theme token contract. */
.blog-root-archive .blog-archive-band { position: relative; isolation: isolate; padding-block: var(--vtx-blog-archive-section-padding); }
.blog-root-archive .blog-archive-band > .max-w-site { position: relative; z-index: 1; }
.blog-root-archive .blog-archive-band[data-category-row] { border-top: var(--vtx-blog-archive-rule-width) solid var(--vtx-grey-border); }
.blog-root-archive #blog-category-showcase { background-image: linear-gradient(var(--vtx-grey-soft), var(--vtx-white) 35%); }
.blog-root-archive .blog-root-card { overflow: hidden; margin-block-start: 0; box-shadow: var(--vtx-blog-archive-card-shadow); }
.blog-root-archive .blog-root-card-image { display: block; background-color: var(--vtx-light-blue); }
.blog-root-archive .blog-root-card-image img { display: block; margin: 0; }
/* Shared cards keep their own rhythm when rendered inside article typography. */
.blog-root-archive .blog-root-card > .blog-story-copy,
.blog-root-archive .blog-story-copy > h3,
.blog-root-archive .blog-story-copy > p:not(.blog-story-byline) { margin-block-start: 0; }
.blog-root-archive .blog-story-copy h3 a { color: inherit; text-decoration: none; }
.blog-root-archive .blog-story-copy h3 a:hover { text-decoration: underline; }
.blog-root-archive .blog-story-category { display: flex; align-items: center; gap: calc(var(--vtx-blog-editorial-content-gap) / 2); }
.blog-root-archive .blog-story-category::before { content: ""; flex-shrink: 0; width: var(--vtx-blog-archive-accent-width); height: var(--vtx-blog-archive-accent-height); background-color: var(--vtx-secondary); }
.blog-root-archive .blog-category-header { position: relative; }
.blog-root-archive .blog-category-header::after { content: ""; position: absolute; bottom: calc(-1 * var(--vtx-blog-archive-rule-width)); left: 0; width: var(--vtx-blog-archive-heading-accent); height: var(--vtx-blog-archive-accent-height); background-color: var(--vtx-secondary); }
.blog-root-archive .blog-archive-link { text-decoration: none; }
.blog-root-archive .blog-archive-link:hover { text-decoration: underline; }
.blog-root-archive .blog-archive-hero-band { background-color: var(--vtx-blog-archive-hero-surface); }
.blog-root-archive .blog-dark-band::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: repeating-linear-gradient(120deg, transparent 0 var(--vtx-blog-archive-diagonal-step), var(--vtx-white) var(--vtx-blog-archive-diagonal-step) calc(var(--vtx-blog-archive-diagonal-step) + var(--vtx-blog-archive-rule-width)), transparent calc(var(--vtx-blog-archive-diagonal-step) + var(--vtx-blog-archive-rule-width)) calc(var(--vtx-blog-archive-diagonal-step) * 2)); opacity: .065; }
.blog-root-archive .blog-dark-band::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(125deg, transparent 35%, var(--vtx-secondary)); opacity: .19; }
.blog-root-archive .bg-light-blue::before { content: ""; position: absolute; inset: 0 0 auto; height: var(--vtx-blog-editorial-media-height); z-index: -1; pointer-events: none; background-image: linear-gradient(var(--vtx-secondary) var(--vtx-blog-archive-rule-width), transparent var(--vtx-blog-archive-rule-width)), linear-gradient(90deg, var(--vtx-secondary) var(--vtx-blog-archive-rule-width), transparent var(--vtx-blog-archive-rule-width)); background-size: var(--vtx-blog-archive-texture-step) var(--vtx-blog-archive-texture-step); opacity: .035; }
.blog-root-archive .blog-dark-band .blog-category-header { border-color: var(--vtx-grey-border-soft); }
.blog-root-archive .blog-dark-band .blog-category-header .blog-archive-link { border-color: var(--vtx-grey-border-soft); }
.blog-root-archive .blog-story-copy h3 { text-wrap: pretty; overflow-wrap: anywhere; }
.blog-root-archive .blog-story-copy p { overflow-wrap: anywhere; }
.blog-root-archive .blog-paired-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto repeat(3, auto); row-gap: 0; }
.blog-root-archive .blog-paired-column { display: grid; grid-template-rows: subgrid; grid-row: 1 / span 4; }
.blog-root-archive #blog-latest-section { grid-column: 1; }
.blog-root-archive #blog-popular-section { grid-column: 2; }
.blog-root-archive .blog-editorial-row { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 2.8fr); gap: var(--vtx-blog-editorial-content-gap); padding-block: var(--vtx-blog-editorial-content-gap); border-top: var(--vtx-blog-archive-rule-width) solid var(--vtx-grey-border); }
.blog-root-archive .blog-editorial-row .blog-root-card-image { min-height: 0; align-self: stretch; position: relative; }
.blog-root-archive .blog-editorial-row .blog-root-card-image img { position: absolute; inset: 0; }
.blog-root-archive .blog-editorial-row .blog-story-copy { align-self: stretch; }
.blog-root-archive a:focus-visible { outline: var(--vtx-blog-archive-accent-height) solid var(--vtx-secondary); outline-offset: var(--vtx-blog-archive-accent-height); }
@media (min-width: 1024px) {
  .blog-root-archive #blog-category-showcase-row-3 .blog-root-card:has(.blog-root-card-image) { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 2.8fr); }
  .blog-root-archive #blog-category-showcase-row-3 .blog-root-card-image { aspect-ratio: auto; align-self: stretch; position: relative; }
  .blog-root-archive #blog-category-showcase-row-3 .blog-root-card-image img { position: absolute; inset: 0; }
}
@media (max-width: 1100px) {
  .blog-root-archive .blog-paired-grid { display: block; }
  .blog-root-archive .blog-paired-column { display: block; }
  .blog-root-archive #blog-popular-section { margin-top: var(--vtx-blog-archive-grid-gap); }
  .blog-root-archive .blog-editorial-row { grid-template-columns: minmax(0, calc(var(--vtx-blog-editorial-media-height) / 2)) minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .blog-root-archive .blog-editorial-row { grid-template-columns: minmax(0, 1.5fr) minmax(0, 2.5fr); }
}
