body.page-legal {
  background: radial-gradient(circle at top left, rgba(179, 83, 50, 0.08), transparent 55%), radial-gradient(circle at bottom right, rgba(19, 71, 51, 0.08), transparent 55%), var(--color-bg);
}

.page-legal main {
  padding-top: calc(var(--header-height-mobile) + var(--space-sm));
}

.hero--legal {
  position: relative;
}

.hero-inner--legal {
  align-items: flex-start;
}

.hero-copy--legal {
  max-width: 40rem;
}

.hero-meta-row--legal {
  font-size: var(--text-xs);
}

.hero-legal-panel-wrapper {
  min-width: 0;
}

.hero-legal-panel {
  position: relative;
  padding: var(--space-lg);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-soft);
}

.hero-legal-panel-header {
  margin-bottom: var(--space-sm);
}

.hero-legal-panel-body {
  font-size: var(--text-sm);
}

.hero-legal-toc {
  list-style: none;
  padding-left: 0;
  margin: var(--space-sm) 0 var(--space-md);
}

.hero-legal-toc li + li {
  margin-top: var(--space-2xs);
}

.hero-legal-toc a {
  font-size: var(--text-sm);
}

.section-legal {
  position: relative;
}

.section-legal-alt {
  background: linear-gradient(135deg, rgba(243, 231, 216, 0.9), rgba(251, 246, 238, 0.96));
}

.section-legal-alt .legal-section {
  background-color: rgba(253, 248, 240, 0.98);
}

.section-legal::before,
.section-legal-alt::before {
  content: "";
  position: absolute;
  inset: var(--space-xl) auto auto 50%;
  width: 40%;
  max-width: 22rem;
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, rgba(19, 71, 51, 0.35), rgba(179, 83, 50, 0.35));
  opacity: 0.4;
  pointer-events: none;
}

.section-legal .page-header,
.section-legal-alt .page-header {
  text-align: left;
}

.section-legal .section-title,
.section-legal-alt .section-title {
  font-size: clamp(1.7rem, 2.4vw, 2.1rem);
}

.section-legal .section-subtitle,
.section-legal-alt .section-subtitle {
  max-width: 60ch;
}

.legal-section {
  backdrop-filter: blur(10px);
}

.legal-section--cta {
  border-style: solid;
  border-width: var(--border-width-thin);
  border-color: rgba(179, 83, 50, 0.45);
  box-shadow: var(--shadow-soft);
}

.legal-section--cta .legal-section-title {
  color: var(--color-accent-terracotta);
}

.legal-section p:last-child {
  margin-bottom: 0;
}

.legal-section ul {
  padding-left: 1.1em;
}

.legal-section ul li {
  padding-left: 0.1em;
}

.legal-section ul li + li {
  margin-top: 0.2em;
}

.btn-group .btn {
  max-width: 100%;
}

@media (min-width: 768px) {
  .page-legal main {
    padding-top: calc(var(--header-height-desktop) + var(--space-md));
  }
  .hero-legal-panel {
    margin-top: var(--space-md);
  }
}

@media (max-width: 767.98px) {
  .hero-legal-panel {
    padding: var(--space-md);
  }
  .section-legal::before,
  .section-legal-alt::before {
    left: var(--container-bleed);
    right: var(--container-bleed);
    width: auto;
    max-width: none;
    transform: none;
  }
}

@media (min-width: 1024px) {
  .hero-inner--legal {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  }
}
