/* Legal pages (privacy, terms) — a single prose column on the shared base.
   Mirrors the site's hairline-rule editorial rhythm; all colour via base tokens. */

.legal main{max-width:760px;margin:0 auto;padding:calc(var(--hdr-h) + 6svh) var(--m) 0}

.legal__head{padding-bottom:40px;border-bottom:1px solid var(--rule)}
.theme-ready .legal__head{transition:border-color var(--theme-t)}
.legal__kicker{margin:0 0 20px;font-size:var(--small);line-height:16px;letter-spacing:.01em}
.legal__h1{margin:0;font-size:clamp(34px, 5vw, 64px);font-weight:400;line-height:1.02;letter-spacing:-.04em;text-wrap:balance}
.legal__meta{margin:22px 0 0;font-size:var(--small);line-height:1.6;letter-spacing:.01em}
.legal__intro{margin:26px 0 0;font-size:clamp(18px, 1.4vw, 22px);line-height:1.55;letter-spacing:-.012em;text-wrap:pretty}

.legal section{padding:40px 0;border-bottom:1px solid var(--rule)}
.theme-ready .legal section{transition:border-color var(--theme-t)}
.legal h2{margin:0 0 18px;font-size:clamp(22px, 2.4vw, 30px);font-weight:400;line-height:1.12;letter-spacing:-.03em;text-wrap:balance}
.legal h3{margin:26px 0 8px;font-size:var(--body);font-weight:500;letter-spacing:-.01em}
.legal p{margin:0 0 15px;font-size:var(--body);line-height:1.62;letter-spacing:-.01em;text-wrap:pretty}
.legal p:last-child{margin-bottom:0}
.legal strong{font-weight:500}

.legal ul{margin:6px 0 15px;padding:0;list-style:none}
.legal li{position:relative;padding:11px 0 11px 24px;font-size:var(--body);line-height:1.5;letter-spacing:-.01em;border-top:1px solid var(--rule)}
.legal li:first-child{border-top:0}
.theme-ready .legal li{transition:border-color var(--theme-t)}
.legal li::before{content:"";position:absolute;left:1px;top:1.05em;width:9px;height:1px;background:var(--sm)}

.legal__note{margin-top:40px;font-size:var(--small);line-height:1.6;letter-spacing:.01em}

@media (max-width:639px){
  .legal main{padding-top:calc(var(--hdr-h) + 4svh)}
  .legal section{padding:32px 0}
  .legal__head{padding-bottom:32px}
}
