.legal-hero { padding-block: clamp(185px,18vw,250px) clamp(85px,9vw,125px); background: var(--evergreen); color: var(--white); }
.legal-hero .eyebrow { color: var(--light-muted); }
.legal-hero h1 { max-width: 1120px; margin: 0; font-size: clamp(62px,9vw,132px); font-weight: 400; letter-spacing: -.078em; line-height: .9; }
.legal-hero h1 span { color: var(--sage); }
.legal-hero p:last-child { max-width: 680px; margin: 38px 0 0; color: var(--light-muted); font-size: clamp(17px,1.5vw,21px); }
.legal-content { padding-block: var(--section-space); }
.legal-layout { display: grid; grid-template-columns: minmax(210px,.3fr) minmax(0,1fr); gap: clamp(60px,10vw,155px); align-items: start; }
.legal-index { position: sticky; top: 110px; display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }
.legal-index p { margin: 0 0 13px; color: var(--grey-green); font-size: 12px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.legal-index a { color: var(--grey-green); font-size: 14px; transition: color .2s ease; }
.legal-index a:hover { color: var(--ink); }
.legal-document { min-width: 0; max-width: 900px; }
.legal-document > p:first-child { margin-top: 0; color: var(--grey-green); font-size: 14px; }
.legal-section { padding-block: 44px; border-top: 1px solid var(--line); scroll-margin-top: 105px; }
.legal-section:first-of-type { margin-top: 48px; }
.legal-section h2 { margin: 0 0 23px; font-size: clamp(29px,3vw,45px); font-weight: 400; letter-spacing: -.05em; line-height: 1.06; }
.legal-section p, .legal-section li { color: var(--grey-green); font-size: 17px; line-height: 1.72; }
.legal-section p { margin: 0 0 18px; }
.legal-section p:last-child { margin-bottom: 0; }
.legal-section ul { margin: 0; padding-left: 22px; }
.legal-section li + li { margin-top: 10px; }
.legal-section a { color: var(--ink); overflow-wrap: anywhere; word-break: break-word; text-decoration: underline; text-decoration-color: var(--sage-muted); text-underline-offset: 4px; }
.legal-note { margin-top: 55px; padding: 24px; border: 1px solid var(--line); background: var(--sage-pale); color: var(--grey-green); font-size: 14px; line-height: 1.65; }
.not-found-hero { min-height: calc(100svh - 104px); display: flex; align-items: center; }
.not-found-hero .button { margin-top: 34px; }

@media (max-width: 900px) {
  .legal-layout { grid-template-columns: 1fr; gap: 55px; }
  .legal-index { position: static; padding-bottom: 32px; border-bottom: 1px solid var(--line); }
}

@media (max-width: 620px) {
  .legal-hero { padding-block: 145px 78px; }
  .legal-hero h1 { font-size: clamp(55px,16vw,78px); }
  .legal-section p, .legal-section li { font-size: 16px; }
}

@media (max-width: 390px) {
  .legal-hero h1 { font-size: clamp(48px,15vw,62px); }
  .legal-index { gap: 14px; }
  .legal-section { padding-block: 36px; }
  .legal-note { padding: 20px; }
}
