.legal-hero {
  padding: clamp(38px, 6vw, 76px) 0 clamp(32px, 4vw, 54px);
  background: linear-gradient(115deg, #f7f9ff, #eef2ff);
  border-bottom: 1px solid var(--edge);
}
.legal-hero h1 { margin: 18px 0 9px; max-width: 20ch; font-size: clamp(2.7rem, 5vw, 4.6rem); }
.legal-hero p:last-child { max-width: 63ch; color: var(--muted); }
.legal-layout { display: grid; grid-template-columns: minmax(180px, 242px) minmax(0, 72ch); gap: clamp(30px, 6vw, 92px); padding-block: clamp(30px, 5vw, 60px) 72px; }
.legal-nav { display: grid; gap: 6px; position: sticky; top: 100px; }
.legal-nav a { display: flex; align-items: center; min-height: 44px; padding: 7px 14px; color: var(--navy); border-radius: 8px; text-decoration: none; font-weight: 600; }
.legal-nav a:hover { text-decoration: underline; }
.legal-nav [aria-current] { background: var(--tint); color: var(--link); }
.legal-text { min-width: 0; }
.legal-text section + section, .legal-de { margin-top: 30px; padding-top: 27px; border-top: 1px solid var(--edge); }
.legal-text h2 { font-size: clamp(1.65rem, 3vw, 2.12rem); }
.legal-text p, .legal-text address { margin-top: 12px; }
.legal-text address { font-style: normal; }
.legal-text a { overflow-wrap: anywhere; }
.legal-text .legal-date { margin: 0 0 25px; font-size: .82rem; color: var(--muted); }
.legal-de summary { cursor: pointer; color: var(--link); min-height: 44px; font-weight: 650; }
@media (max-width: 740px) {
  .legal-layout { display: block; }
  .legal-nav { position: static; display: flex; flex-wrap: wrap; gap: 2px; border-bottom: 1px solid var(--edge); margin-bottom: 24px; padding-bottom: 12px; }
  .legal-nav a { padding-inline: 11px; font-size: .9rem; }
}
@media print {
  .legal-layout { display: block; }
  .legal-hero, .legal-layout { padding-block: 12px; }
  .masthead, .foot, .legal-nav { display: none; }
}
