
.bs-container,
.bs-container--wide {
  inline-size: var(--bs-foundation-shell);
  margin-inline: auto;
}

.bs-container--content {
  inline-size: min(var(--bs-foundation-shell), var(--bs-semantic-layout-container-content));
  margin-inline: auto;
}

.bs-container--reading {
  inline-size: min(100%, var(--bs-foundation-reading));
  margin-inline: auto;
}

.bs-section {
  padding-block: var(--bs-semantic-layout-section);
}

.bs-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--bs-semantic-layout-grid-gap);
}

.bs-grid > * {
  min-inline-size: 0;
}

.bs-grid--editorial {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr);
  gap: var(--bs-semantic-space-content) clamp(var(--bs-semantic-space-content), 7vw, var(--bs-semantic-space-editorial));
  align-items: start;
}

.bs-stack > * + * {
  margin-block-start: var(--bs-semantic-space-inline);
}

.bs-stack--tight > * + * {
  margin-block-start: var(--bs-semantic-space-micro);
}

.bs-stack--content > * + * {
  margin-block-start: var(--bs-semantic-space-content);
}

.bs-cluster {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bs-semantic-space-inline);
  align-items: center;
}

.bs-rule {
  border-block-start: var(--bs-rule-subtle) solid var(--bs-semantic-color-divider);
}

.bs-rule--strong {
  border-block-start-width: var(--bs-rule-emphasis);
  border-block-start-color: var(--bs-semantic-color-text-primary);
}

.bs-surface {
  background: var(--bs-semantic-color-canvas);
  color: var(--bs-semantic-color-text-primary);
}

.bs-surface--paper {
  background: var(--bs-semantic-color-surface);
  color: var(--bs-semantic-color-text-primary);
}

.bs-surface--identity {
  background: var(--bs-semantic-color-brand);
  color: var(--bs-semantic-color-text-inverse);
}

.bs-surface--structure {
  background: var(--bs-foundation-color-charcoal);
  color: var(--bs-semantic-color-text-inverse);
}

.bs-surface--personal {
  background: var(--bs-semantic-color-brand-soft);
  color: var(--bs-semantic-color-text-primary);
}


:where(.bs-surface--identity, .bs-surface--structure) .bs-label {
  color: var(--bs-semantic-color-text-inverse);
  opacity: .72;
}

:where(.bs-surface--identity, .bs-surface--structure) :where(h1, h2, h3, h4, a) {
  color: inherit;
}

:where(.bs-surface--identity, .bs-surface--structure) a:hover {
  color: inherit;
}

@media (max-width: 56.25rem) {
  .bs-grid--editorial {
    grid-template-columns: minmax(12rem, 0.72fr) minmax(0, 1.28fr);
    gap: var(--bs-semantic-space-control) var(--bs-semantic-space-content);
  }
}

@media (max-width: 36.25rem) {
  .bs-section {
    padding-block: var(--bs-semantic-layout-section-compact);
  }

  .bs-grid--editorial {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (forced-colors: active) {
  .bs-rule,
  .bs-rule--strong {
    border-color: CanvasText;
  }

  .bs-surface--identity,
  .bs-surface--structure,
  .bs-surface--personal {
    background: Canvas;
    color: CanvasText;
  }
}
