.legal-header { border-bottom: 1px solid var(--line); }
.legal-header .site-header { min-height: 78px; }
.legal-header nav { justify-content: center; }
.legal-header nav a[aria-current="page"] { color: var(--ink); text-decoration: underline; text-underline-offset: .35em; }
.legal-main { padding: 5.5rem 0 7rem; }
.legal-intro { max-width: 760px; margin-bottom: 4rem; }
.legal-kicker { margin-bottom: 1rem; color: var(--orange); font-family: Consolas, monospace; font-size: .66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.legal-intro h1 { margin-bottom: 1.4rem; font-size: clamp(3.1rem, 6vw, 5.4rem); line-height: .9; }
.legal-intro > p { max-width: 650px; color: var(--ink-soft); font-size: 1.08rem; line-height: 1.7; }
.legal-layout { display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: clamp(2.5rem, 8vw, 8rem); align-items: start; }
.legal-content { max-width: 760px; }
.legal-content section { border-top: 1px solid var(--line); padding: 1.85rem 0 1.2rem; }
.legal-content h2 { margin-bottom: .7rem; font-size: clamp(1.7rem, 3vw, 2.35rem); line-height: .98; }
.legal-content h3 { margin: 1.35rem 0 .5rem; font-size: 1.05rem; letter-spacing: -.035em; }
.legal-content p, .legal-content li { color: var(--ink-soft); font-size: .94rem; line-height: 1.72; }
.legal-content ul { padding-left: 1.2rem; }
.legal-content li + li { margin-top: .45rem; }
.legal-content a { color: var(--ink); font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: .16em; }
.legal-aside { position: sticky; top: 1.5rem; border-left: 2px solid var(--yellow); padding: .2rem 0 .2rem 1.1rem; }
.legal-aside p { margin-bottom: .65rem; color: #5f7470; font-family: Consolas, monospace; font-size: .62rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.legal-aside ul { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.legal-aside a { color: var(--ink-soft); font-size: .78rem; text-decoration: none; }
.legal-aside a:hover, .legal-aside a[aria-current="page"] { color: var(--ink); text-decoration: underline; text-underline-offset: .22em; }
.legal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.legal-card { display: flex; min-height: 150px; flex-direction: column; justify-content: space-between; padding: 1.35rem; background: var(--white); border: 1px solid var(--line); text-decoration: none; }
.legal-card:hover { border-color: var(--orange); }
.legal-card h2 { margin: 0 0 .6rem; font-size: 1.45rem; line-height: .98; }
.legal-card p { margin: 0; color: var(--ink-soft); font-size: .8rem; line-height: 1.55; }
.legal-card span { margin-top: 1rem; color: var(--orange); font-family: Consolas, monospace; font-size: .66rem; font-weight: 700; text-transform: uppercase; }
.legal-note { border: 1px solid var(--line); border-left: 4px solid var(--orange); margin-top: 2.5rem; padding: 1.3rem 1.4rem; background: #f0eee6; }
.legal-note p { margin: 0; color: var(--ink-soft); font-size: .88rem; line-height: 1.6; }
.legal-contact { display: grid; gap: .35rem; margin: 0; padding: 0; list-style: none; color: var(--ink-soft); font-size: .93rem; line-height: 1.55; }

@media (max-width: 680px) {
  .legal-header .site-header { grid-template-columns: 1fr; padding: 1rem 0; }
  .legal-header .site-header nav { display: flex; justify-content: flex-start; order: 3; overflow-x: auto; }
  .legal-header .site-header > .button { display: none; }
  .legal-main { padding: 3.5rem 0 4.5rem; }
  .legal-intro { margin-bottom: 2.8rem; }
  .legal-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .legal-aside { position: static; order: -1; }
  .legal-grid { grid-template-columns: 1fr; }
}
