.legal-page { background: var(--surface); }
.legal-page .site-header { position: sticky; }
.legal-page .navigation a[aria-current="page"] { color: var(--evergreen-soft); }

.legal-hero {
  min-height: 420px;
  display: grid;
  align-items: end;
  border-bottom: 1px solid var(--line);
  background: var(--surface-muted);
}
.legal-grid { display: none; }
.legal-hero-inner {
  padding-block: clamp(70px, 9vw, 120px);
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 70px;
}
.legal-hero .kicker span { display: none; }
.legal-hero h1 {
  max-width: 850px;
  margin: 0;
  color: var(--ink);
  font-size: clamp(4.5rem, 9vw, 8rem);
  line-height: 0.9;
  letter-spacing: -0.04em;
}
.legal-hero div > p:not(.kicker) { max-width: 640px; margin: 28px 0 0; color: var(--ink-soft); font-size: 1.06rem; }
.legal-stamp {
  width: 180px;
  min-height: 180px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-raised);
}
.legal-stamp span, .legal-stamp small { color: var(--ink-soft); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }
.legal-stamp strong { margin: 7px 0 22px; color: var(--evergreen-soft); font-size: 1.25rem; }

.legal-content { padding: clamp(75px, 9vw, 130px) 0; }
.legal-layout {
  display: grid;
  grid-template-columns: 210px minmax(0, 880px);
  justify-content: center;
  align-items: start;
  gap: clamp(52px, 8vw, 118px);
}
.legal-aside {
  position: sticky;
  top: 108px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 24px 0;
  border-top: 2px solid var(--evergreen);
  border-bottom: 1px solid var(--line);
}
.legal-aside p { margin: 0 0 13px; color: var(--ink); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }
.legal-aside a { color: var(--ink-soft); font-size: 0.8rem; font-weight: 700; transition: color 160ms ease; }
.legal-aside a:hover { color: var(--evergreen-soft); }
.legal-document { min-width: 0; }
.legal-block {
  scroll-margin-top: 110px;
  display: block;
  padding: 52px 0;
  border-top: 1px solid var(--line);
}
.legal-block-lead { padding-top: 0; border-top: 0; }
.legal-number { display: none; }
.legal-eyebrow {
  margin: 0 0 14px !important;
  color: var(--evergreen-soft) !important;
  font-size: 0.72rem !important;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.legal-block h2 { max-width: 760px; margin: 0 0 26px; font-size: clamp(2.1rem, 4vw, 3.55rem); line-height: 1.02; letter-spacing: -0.035em; }
.legal-block h3 { margin: 34px 0 10px; font-size: 1.08rem; }
.legal-block p { max-width: 75ch; margin: 0 0 17px; color: var(--ink-soft); }
.legal-block p:last-child { margin-bottom: 0; }
.legal-intro { color: var(--ink) !important; font-size: 1.12rem; font-weight: 700; }
.legal-address {
  display: flex;
  flex-direction: column;
  max-width: 680px;
  padding: 27px 29px;
  border-radius: var(--radius);
  background: var(--surface-muted);
  font-style: normal;
}
.legal-address strong { margin-bottom: 8px; color: var(--ink); font-size: 1.12rem; }
.legal-address span, .legal-address a { color: var(--ink-soft); }
.legal-address.compact { gap: 4px; }
.legal-contact-cards {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 14px;
}
.legal-contact-cards a {
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr auto;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-raised);
}
.legal-contact-cards small { grid-column: 1 / -1; margin-bottom: 10px; color: var(--ink-soft); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.legal-contact-cards strong { overflow-wrap: anywhere; font-size: 0.84rem; }
.legal-contact-cards span { color: var(--evergreen-soft); }
.legal-note {
  max-width: 760px !important;
  margin-top: 25px !important;
  padding: 20px 22px;
  border-radius: 12px;
  background: var(--surface-muted);
  color: var(--ink-soft) !important;
  font-size: 0.89rem;
}
.privacy-facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 34px;
}
.privacy-facts div {
  min-height: 172px;
  display: flex;
  flex-direction: column;
  padding: 23px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-raised);
}
.privacy-facts span { color: var(--evergreen-soft); font-size: 0.68rem; font-weight: 700; }
.privacy-facts strong { margin: auto 0 5px; }
.privacy-facts small { color: var(--ink-soft); line-height: 1.5; }
.authority-card {
  max-width: 680px;
  display: grid;
  gap: 6px;
  margin-top: 25px;
  padding: 27px 29px;
  border-radius: var(--radius);
  background: var(--surface-muted);
  font-style: normal;
}
.authority-card strong { margin-bottom: 6px; }
.authority-card span { color: var(--ink-soft); }
.authority-card a { color: var(--evergreen-soft); font-weight: 700; }
.legal-finish {
  margin-top: 30px;
  padding: 28px 30px;
  border-radius: var(--radius);
  background: var(--accent);
  color: var(--accent-ink);
}
.legal-finish strong { font-size: 1.18rem; }
.legal-finish p { margin: 9px 0 0; color: var(--accent-ink); font-size: 0.86rem; }
.legal-footer { margin-top: 0; }

@media (max-width: 900px) {
  .legal-layout { grid-template-columns: 1fr; }
  .legal-aside { position: static; flex-direction: row; flex-wrap: wrap; gap: 10px 24px; }
  .legal-aside p { width: 100%; }
}

@media (max-width: 640px) {
  .legal-hero { min-height: 370px; }
  .legal-hero-inner { grid-template-columns: 1fr; gap: 32px; padding-block: 62px; }
  .legal-hero h1 { font-size: clamp(2.3rem, 9vw, 4rem); overflow-wrap: anywhere; }
  .legal-stamp { width: 100%; min-height: 0; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; }
  .legal-stamp strong { margin: 0; }
  .legal-block { padding: 42px 0; }
  .privacy-facts, .legal-contact-cards { grid-template-columns: 1fr; }
  .privacy-facts div { min-height: 145px; }
}

.legal-aside a { min-height:48px; display:flex; align-items:center; font-size:1rem; }
.legal-note, .legal-contact-cards strong, .legal-finish p, .privacy-facts small { font-size:1rem; }
.legal-document, .legal-stamp, .legal-address, .authority-card { overflow-wrap:anywhere; }
@media(max-width:640px){.legal-stamp{grid-template-columns:1fr;gap:8px}.legal-hero{min-height:0}.legal-content{padding-block:48px}.legal-hero-inner{padding-block:44px}.legal-block h2{font-size:2rem}.legal-address,.authority-card{padding:24px 20px}}
