.legal-hero { min-height: 300px; padding: clamp(34px, 5vw, 60px) var(--side); color: var(--paper); background: var(--black); }
.legal-hero > p { margin: 0 0 14px; color: var(--acid); font-size: .62rem; font-weight: 900; letter-spacing: .18em; }
.legal-hero h1 { margin: 0; font-size: clamp(2.75rem, 6.2vw, 6rem); font-weight: 950; letter-spacing: -.08em; line-height: .8; }
.legal-hero h1 em { color: var(--acid); font-style: normal; }
.legal-hero > div { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-top: 28px; padding-top: 14px; border-top: 1px solid rgba(242, 240, 232, .4); }
.legal-hero > div p { max-width: 40rem; margin: 0; font-size: .8rem; line-height: 1.8; }
.legal-hero > div span { color: #999991; font-size: .62rem; }
.legal-jump { display: grid; grid-template-columns: repeat(4, 1fr); color: var(--paper); background: var(--blue); }
.legal-jump a { padding: 25px var(--side); border-right: 1px solid rgba(242, 240, 232, .35); font-size: .62rem; font-weight: 900; letter-spacing: .12em; }
.legal-jump a:hover { color: var(--black); background: var(--acid); }
.legal-section { padding: clamp(70px, 9vw, 130px) var(--side); }
.legal-section > header { display: grid; grid-template-columns: .55fr 2fr; align-items: end; gap: 30px; margin-bottom: 48px; padding-bottom: 22px; border-bottom: 1px solid currentColor; }
.legal-section > header p { margin: 0; color: var(--blue); font-size: .62rem; font-weight: 900; letter-spacing: .15em; }
.legal-section > header h2 { margin: 0; font-size: clamp(2rem, 5vw, 5rem); letter-spacing: -.06em; }
.legal-lead { max-width: 72rem; margin: 0 0 45px; font-size: .82rem; line-height: 2; }
.license-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.license-card { padding: clamp(25px, 3.5vw, 48px); border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.license-card__top { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.license-card__top span { color: var(--blue); font-size: .6rem; font-weight: 900; letter-spacing: .14em; }
.license-card__top b { padding: 7px 9px; color: var(--paper); background: var(--ink); font-size: .55rem; letter-spacing: .08em; }
.license-card h3 { margin: 38px 0 12px; font-size: clamp(1.25rem, 2.5vw, 2.3rem); overflow-wrap: anywhere; }
.license-card > p { min-height: 5em; color: var(--muted); font-size: .72rem; line-height: 1.8; }
.license-card dl { margin: 30px 0; border-top: 1px solid var(--ink); }
.license-card dl div { display: grid; grid-template-columns: .35fr 1fr; gap: 20px; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: .65rem; }
.license-card dt { color: var(--muted); }
.license-card dd { margin: 0; font-weight: 700; }
.license-card > a, .compact-license-list a { display: inline-block; padding-bottom: 6px; border-bottom: 1px solid currentColor; font-size: .61rem; font-weight: 900; letter-spacing: .1em; }
.selection-note { display: grid; grid-template-columns: .35fr 1fr; gap: 30px; margin-top: 24px; padding: 28px; border: 1px solid var(--ink); }
.selection-note strong { color: var(--blue); font-size: .72rem; }
.selection-note p { margin: 0; font-size: .7rem; line-height: 1.85; }
.legal-section--dark { color: var(--paper); background: var(--black); }
.legal-section--dark > header p { color: var(--acid); }
.compact-license-list { border-top: 1px solid rgba(242, 240, 232, .5); }
.compact-license-list article { display: grid; grid-template-columns: .22fr .9fr 1.2fr auto; align-items: center; gap: 30px; padding: 28px 0; border-bottom: 1px solid rgba(242, 240, 232, .3); }
.compact-license-list span { color: var(--acid); font-size: .59rem; font-weight: 900; letter-spacing: .13em; }
.compact-license-list h3 { margin: 0; font-size: .9rem; }
.compact-license-list p { margin: 0; color: #aaa9a2; font-size: .68rem; line-height: 1.7; }
.software-table { border-top: 1px solid var(--ink); }
.software-table > div { display: grid; grid-template-columns: 1.2fr .7fr auto; gap: 25px; padding: 22px 0; border-bottom: 1px solid var(--ink); font-size: .72rem; }
.software-table span { color: var(--muted); }
.software-table a { font-size: .59rem; font-weight: 900; letter-spacing: .1em; }
.legal-notes { padding-top: 20px; }
.legal-notes ol { margin: 0 0 45px; padding: 0; border-top: 1px solid var(--ink); list-style: none; }
.legal-notes li { display: grid; grid-template-columns: .25fr 1fr; gap: 30px; padding: 25px 0; border-bottom: 1px solid var(--ink); }
.legal-notes li span { color: var(--blue); font-size: .62rem; font-weight: 900; }
.legal-notes li p { margin: 0; font-size: .73rem; line-height: 1.8; }
.back-button { display: inline-flex; padding: 16px 20px; color: var(--paper); background: var(--blue); font-size: .7rem; font-weight: 900; }
@media (max-width: 800px) {
  .legal-jump { grid-template-columns: repeat(2, 1fr); }
  .license-grid { grid-template-columns: 1fr; }
  .compact-license-list article { grid-template-columns: auto 1fr; }
  .compact-license-list article p, .compact-license-list article a { grid-column: 2; }
}
@media (max-width: 580px) {
  .legal-hero > div, .selection-note { display: block; }
  .legal-hero > div span { display: block; margin-top: 18px; }
  .selection-note p { margin-top: 15px; }
  .software-table > div { grid-template-columns: 1fr auto; }
  .software-table a { grid-column: 1 / -1; }
}
