.agb-page {
  background: var(--surface-page);
  color: var(--color-ink);
}

.agb-page :is(.agb-hero__grid, .agb-contents__layout, .agb-clause__grid, .agb-theme-section__grid, .agb-release__grid) {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: var(--space-4);
}

.agb-page :is(.agb-hero__grid, .agb-contents__layout, .agb-clause__grid, .agb-theme-section__grid, .agb-release__grid) > * {
  min-width: 0;
}

.agb-hero {
  padding-block-end: var(--space-8);
}

.agb-document-marker {
  grid-column: 1 / -1;
  display: flex;
  min-width: 0;
  align-items: center;
  gap: var(--space-3);
  margin-block-end: var(--space-5);
}

.agb-document-marker__number {
  color: var(--color-vermilion);
  font-family: var(--font-heading);
  font-size: clamp(3rem, 12vw, 4.5rem);
  font-weight: var(--font-weight-extrabold);
  letter-spacing: var(--tracking-heading);
  line-height: 0.86;
}

.agb-document-marker__line {
  flex: 0 1 4rem;
  min-width: 2rem;
  height: 1px;
  background: var(--color-ink);
  opacity: 0.5;
}

.agb-document-marker__label,
.agb-side-label,
.agb-process-label,
.agb-meta-note,
.agb-release__marker small,
.agb-theme-section__marker small {
  font-size: var(--font-size-meta);
  font-weight: var(--font-weight-medium);
  letter-spacing: var(--tracking-label);
  line-height: var(--line-height-meta);
  text-transform: uppercase;
}

.agb-hero__content {
  grid-column: 1 / -1;
  width: 100%;
}

.agb-hero__content h1 {
  max-width: 54rem;
  margin-block-end: var(--space-5);
  font-size: clamp(2.5rem, 6vw, 4rem);
  line-height: 1.03;
}

.agb-hero__lead {
  max-width: 41.25rem;
}

.agb-hero__lead .lead {
  margin-block-end: 0;
}

.agb-hero__rule {
  width: min(100%, 4rem);
  margin: var(--space-6) 0 0;
}

.agb-review-note {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 47.5rem;
  margin-block-start: var(--space-6);
  padding: var(--space-5);
  border-inline-start: 4px solid var(--color-vermilion);
  background: var(--surface-concrete);
}

.agb-review-note > * {
  margin-block: 0;
}

.agb-review-note > * + * {
  margin-block-start: var(--space-3);
}

.agb-review-note__status {
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-semibold);
}

.agb-contents {
  padding-block: var(--section-space);
}

.agb-contents__body {
  grid-column: 1 / -1;
  width: 100%;
}

.agb-contents__body h2 {
  margin-block-end: var(--space-6);
}

.agb-contents__list {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: var(--border-default);
}

.agb-contents__list > li {
  min-width: 0;
  border-bottom: var(--border-default);
}

.agb-contents__list a {
  display: grid;
  min-width: 0;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  align-items: center;
  gap: var(--space-3);
  min-height: 3rem;
  padding-block: var(--space-3);
  color: var(--color-ink);
  text-decoration: underline;
}

.agb-contents__list a:hover,
.agb-contents__list a[aria-current="true"] {
  color: var(--color-ultramarine);
}

.agb-contents__list span {
  min-width: 0;
  color: var(--color-ultramarine);
  font-family: var(--font-heading);
  font-size: var(--font-size-h4);
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--tracking-heading);
}

.agb-contents__list strong {
  min-width: 0;
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-medium);
}

.agb-contents__note {
  max-width: 32.5rem;
  margin: var(--space-5) 0 0;
  color: var(--color-text-muted);
  font-size: var(--font-size-meta);
  line-height: var(--line-height-meta);
}

.agb-clause {
  scroll-margin-top: var(--space-7);
}

.agb-clause__marker,
.agb-release__marker,
.agb-theme-section__marker {
  grid-column: 1 / -1;
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: var(--space-3);
  margin-block-end: var(--space-4);
}

.agb-clause__marker span,
.agb-release__marker span,
.agb-theme-section__marker span {
  font-family: var(--font-heading);
  font-size: clamp(2.25rem, 7vw, 4rem);
  font-weight: var(--font-weight-extrabold);
  letter-spacing: -0.065em;
  line-height: 0.9;
}

.agb-clause__marker small {
  color: var(--color-text-muted);
  font-size: var(--font-size-meta);
  font-weight: var(--font-weight-medium);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.agb-clause__content {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 43.75rem;
}

.agb-clause__content > h2 {
  margin-block-end: var(--space-6);
}

.agb-side-label {
  margin: 0 0 var(--space-3);
  color: var(--color-ultramarine);
}

.agb-paragraph {
  min-width: 0;
}

.agb-paragraph + .agb-paragraph,
.agb-paragraph + .agb-sensitive-block,
.agb-liability-block + .agb-paragraph {
  margin-block-start: var(--space-6);
}

.agb-paragraph > *:last-child,
.agb-sensitive-block > *:last-child,
.agb-liability-block > *:last-child,
.agb-theme-section__content > *:last-child,
.agb-release__box > *:last-child {
  margin-block-end: 0;
}

.agb-paragraph .label,
.agb-sensitive-block .label,
.agb-liability-block .label {
  display: block;
  margin-block-end: var(--space-3);
}

.agb-service-line,
.agb-format-line,
.agb-process-label {
  margin-block-end: var(--space-3);
  color: var(--color-text-muted);
}

.agb-service-line,
.agb-format-line {
  max-width: 48.75rem;
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-label);
}

.agb-process-label {
  color: var(--color-ultramarine);
}

.agb-placeholder {
  margin-block-start: var(--space-4);
  padding: var(--space-3);
  border: var(--border-default);
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-label);
  overflow-wrap: anywhere;
}

.agb-note-inline {
  margin-block-start: var(--space-4);
  padding: var(--space-3);
  background: var(--surface-concrete);
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-label);
}

.agb-paragraph--line {
  padding-inline-start: var(--space-4);
  border-inline-start: 2px solid var(--color-ultramarine);
}

.agb-sensitive-block,
.agb-liability-block {
  min-width: 0;
  margin-block-start: var(--space-6);
  padding: var(--space-5);
  background: var(--surface-concrete);
}

.agb-liability-block {
  border: var(--border-default);
}

.agb-meta-note {
  margin-block-start: var(--space-3);
  color: var(--color-text-muted);
}

.agb-theme-section {
  scroll-margin-top: var(--space-7);
}

.agb-theme-section__grid {
  row-gap: var(--space-4);
}

.agb-theme-section__marker {
  color: var(--color-paper);
}

.agb-theme-section__marker small {
  color: var(--color-paper);
  opacity: 0.75;
}

.agb-theme-section__content {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 45rem;
  padding-block-start: var(--space-5);
  border-top: var(--border-dark);
}

.agb-theme-section__content h2 {
  margin-block-end: var(--space-5);
}

.agb-theme-section__content .eyebrow {
  margin-block-end: var(--space-4);
}

.agb-release {
  scroll-margin-top: var(--space-7);
}

.agb-release__content {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 47.5rem;
}

.agb-release__content h2 {
  max-width: 41.25rem;
  margin-block-end: var(--space-6);
}

.agb-release__box {
  padding: var(--space-5);
  border-inline-start: 4px solid var(--color-ultramarine);
  background: var(--surface-muted);
}

.agb-release__box ul {
  margin: var(--space-4) 0 0;
  padding-inline-start: 1.25em;
}

.agb-release__box li {
  overflow-wrap: anywhere;
}

.agb-release__box li + li {
  margin-block-start: var(--space-2);
}

@media (min-width: 45rem) {
  .agb-page :is(.agb-hero__grid, .agb-contents__layout, .agb-clause__grid, .agb-theme-section__grid, .agb-release__grid) {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: var(--space-5);
  }

  .agb-document-marker {
    grid-column: 1 / -1;
  }

  .agb-hero__content,
  .agb-contents__body,
  .agb-clause__content,
  .agb-theme-section__content,
  .agb-release__content {
    grid-column: 1 / span 6;
  }

  .agb-review-note {
    grid-column: 1 / span 7;
  }

  .agb-clause__marker,
  .agb-release__marker,
  .agb-theme-section__marker {
    grid-column: 1 / -1;
  }

  .agb-contents__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-6);
  }

  .agb-contents__list > li:nth-child(-n + 2) {
    border-top: 0;
  }
}

@media (min-width: 56.25rem) {
  .agb-page :is(.agb-hero__grid, .agb-contents__layout, .agb-clause__grid, .agb-theme-section__grid, .agb-release__grid) {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--space-5);
  }

  .agb-document-marker {
    grid-column: 1 / span 2;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-3);
    margin-block: var(--space-3) 0;
  }

  .agb-document-marker__line {
    flex: 0 0 auto;
    width: 1px;
    min-width: 1px;
    height: 4rem;
  }

  .agb-hero__content {
    grid-column: 3 / span 8;
  }

  .agb-review-note {
    grid-column: 3 / span 7;
  }

  .agb-contents__body {
    grid-column: 3 / span 8;
  }

  .agb-clause__marker,
  .agb-release__marker,
  .agb-theme-section__marker {
    grid-column: 1 / span 2;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2);
    margin-block: 0;
  }

  .agb-clause__content,
  .agb-release__content {
    grid-column: 3 / span 6;
  }

  .agb-theme-section__content {
    grid-column: 3 / span 7;
  }

  .agb-clause__marker span,
  .agb-release__marker span,
  .agb-theme-section__marker span {
    font-size: clamp(3rem, 6vw, 5.5rem);
  }
}

@media (min-width: 75rem) {
  .agb-hero__content h1 {
    font-size: 4rem;
    line-height: 1.03;
  }

  .agb-review-note {
    padding: var(--space-6);
  }

  .agb-sensitive-block,
  .agb-liability-block,
  .agb-release__box {
    padding: var(--space-6);
  }
}

@media (max-width: 52.4375rem) {
  .agb-contents__list {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .agb-contents__list a {
    transition: color var(--transition-fast), background-color var(--transition-fast);
  }
}
