.legal-page {
  min-height: 100vh;
  color: var(--ink);
  background:
    radial-gradient(circle at 86% 2%, rgba(217, 164, 65, .14), transparent 28rem),
    var(--paper);
}

.legal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 82px;
  padding: 18px var(--gutter);
  color: var(--cream-light);
  background: var(--green-deep);
}

.legal-header img { width: auto; height: 32px; }

.legal-back {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: rgba(251, 248, 240, .84);
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .05em;
}

.legal-back:hover { color: var(--gold-soft); }

.legal-main {
  width: min(100%, 920px);
  margin-inline: auto;
  padding: clamp(70px, 10vw, 120px) var(--gutter) clamp(90px, 12vw, 140px);
}

.legal-hero {
  margin-bottom: clamp(50px, 8vw, 78px);
  padding-bottom: clamp(38px, 6vw, 60px);
  border-bottom: 1px solid var(--line);
}

.legal-hero h1 {
  margin: 0 0 18px;
  color: var(--green-deep);
  font-family: var(--serif);
  font-size: clamp(52px, 9vw, 92px);
  font-weight: 390;
  letter-spacing: -.035em;
  line-height: .98;
}

.legal-hero h1 em { color: var(--green); font-style: italic; }
.legal-updated { margin: 0; color: var(--ink-mute); font-size: 14px; }

.legal-body {
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.78;
}

.legal-body h2 {
  margin: 54px 0 14px;
  color: var(--green-deep);
  font-family: var(--serif);
  font-size: clamp(27px, 4vw, 36px);
  font-weight: 430;
  letter-spacing: -.015em;
  line-height: 1.16;
}

.legal-body h3 {
  margin: 34px 0 10px;
  color: var(--green);
  font-family: var(--serif);
  font-size: 23px;
  font-weight: 500;
}

.legal-body p { margin: 0 0 20px; }
.legal-body ul { margin: 0 0 24px; padding-left: 23px; }
.legal-body li { margin-bottom: 8px; }
.legal-body a { color: var(--green); overflow-wrap: anywhere; text-underline-offset: 3px; }
.legal-body strong { color: var(--ink); }

.legal-address, .legal-note {
  margin: 20px 0 28px;
  padding: 24px 26px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: rgba(255, 255, 255, .62);
}

.legal-address strong { display: block; margin-bottom: 6px; color: var(--green-deep); }
.legal-note { border-left: 3px solid var(--gold); }
.legal-credit {
  display: flex;
  align-items: center;
  margin: 18px 0 28px;
}
.legal-credit a { display: inline-block; line-height: 0; }
.legal-credit img { width: min(210px, 100%); height: auto; }

.legal-stand { margin-top: 56px !important; color: var(--ink-mute); font-size: 13px; }

.legal-footer {
  padding: 30px var(--gutter);
  color: rgba(251, 248, 240, .75);
  background: var(--green-deep);
}

.legal-footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(100%, 920px);
  margin-inline: auto;
  gap: 20px;
}

.legal-footer nav { display: flex; flex-wrap: wrap; gap: 18px; }
.legal-footer a { color: inherit; text-decoration: none; font-size: 13px; }
.legal-footer a:hover { color: var(--gold-soft); }

@media (max-width: 620px) {
  .legal-header { min-height: 72px; }
  .legal-header img { height: 27px; }
  .legal-back { font-size: 0; }
  .legal-back span { font-size: 18px; }
  .legal-main { padding-top: 54px; }
  .legal-hero { margin-bottom: 42px; padding-bottom: 34px; }
  .legal-hero h1 {
    max-width: 100%;
    font-size: clamp(32px, 9.5vw, 40px);
    line-height: 1.02;
  }
  .legal-hero h1 em { display: block; }
  .legal-body h2 {
    margin-top: 42px;
    font-size: clamp(23px, 7vw, 28px);
    line-height: 1.2;
  }
  .legal-body h3 { font-size: 21px; }
  .legal-credit img { width: 180px; }
  .legal-footer-inner { align-items: flex-start; flex-direction: column; }
}
