/* Read-mode surface for the legal pages. Extends altitude/styles.css; adds only
   long-form prose rules. Measure is held near 68ch, headings get more space above
   than below, and clause numbers are real navigation, not decoration. */

.legal-head { padding:calc(clamp(150px,17vw,215px) + var(--sat,0px)) 4.25vw clamp(38px,5vw,58px); border-bottom:1px solid var(--rule); }
.legal-head h1 { font-size:clamp(38px,4.6vw,64px); font-weight:500; letter-spacing:-.065em; line-height:1.05; margin-bottom:22px; max-width:16ch; }
.legal-head .stamp { font:500 10px/1.7 var(--mono); letter-spacing:.16em; text-transform:uppercase; color:var(--smoke); margin:0; }

.legal-body { display:grid; grid-template-columns:minmax(190px,22%) minmax(0,1fr); gap:0 6vw; padding:clamp(52px,7vw,90px) 4.25vw clamp(90px,11vw,150px); align-items:start; }

.legal-toc { position:sticky; top:calc(34px + var(--sat,0px)); font:500 10px/1 var(--mono); letter-spacing:.14em; text-transform:uppercase; }
.legal-toc p { color:var(--smoke); margin:0 0 20px; }
.legal-toc ol { list-style:none; margin:0; padding:0; counter-reset:toc; }
.legal-toc li { counter-increment:toc; margin-bottom:13px; }
.legal-toc a { display:grid; grid-template-columns:26px 1fr; gap:8px; color:#4c4b48; line-height:1.5; }
.legal-toc a::before { content:counter(toc,decimal-leading-zero); color:var(--rose); }
.legal-toc a:hover { color:var(--ink); }

.legal-prose { max-width:68ch; counter-reset:clause; }
.legal-prose > p:first-of-type { color:#3f3e3b; font-size:clamp(16px,1.5vw,19px); line-height:1.62; margin-bottom:44px; }
.legal-prose section { counter-increment:clause; padding-top:52px; }
.legal-prose section:first-of-type { padding-top:0; }
.legal-prose h2 { display:grid; grid-template-columns:32px 1fr; gap:12px; font-size:clamp(21px,2.1vw,27px); font-weight:500; letter-spacing:-.045em; line-height:1.2; margin-bottom:20px; }
.legal-prose h2::before { content:counter(clause,decimal-leading-zero); font:500 10px/3 var(--mono); letter-spacing:.12em; color:var(--rose); }
.legal-prose h3 { font-size:16px; font-weight:600; letter-spacing:-.02em; margin:30px 0 10px; }
.legal-prose p, .legal-prose li { color:#3f3e3b; font-size:16px; line-height:1.7; }
.legal-prose p { margin:0 0 16px; }
.legal-prose ul { list-style:none; margin:0 0 18px; padding:0; }
.legal-prose ul li { position:relative; padding-left:20px; margin-bottom:9px; }
.legal-prose ul li::before { content:""; position:absolute; left:2px; top:11px; width:5px; height:1px; background:var(--rose); }
.legal-prose a { border-bottom:1px solid var(--rule); }
.legal-prose a:hover { border-bottom-color:var(--ink); }
.legal-prose dl { margin:0 0 18px; border-top:1px solid var(--rule); }
.legal-prose dl div { display:grid; grid-template-columns:minmax(150px,32%) minmax(0,1fr); gap:18px; padding:14px 0; border-bottom:1px solid var(--rule); }
.legal-prose dt { font:500 10px/1.7 var(--mono); letter-spacing:.12em; text-transform:uppercase; color:var(--smoke); }
.legal-prose dd { margin:0; color:#3f3e3b; font-size:15px; line-height:1.65; }
.legal-prose .note { border-left:1px solid var(--rose); padding:2px 0 2px 18px; margin:0 0 20px; color:#4c4b48; font-size:15px; line-height:1.65; }

@media (max-width:860px) {
  .legal-body { display:block; padding:44px 5.4vw 92px; }
  .legal-head { padding-left:5.4vw; padding-right:5.4vw; padding-top:calc(130px + var(--sat,0px)); }
  .legal-toc { position:static; padding-bottom:44px; margin-bottom:44px; border-bottom:1px solid var(--rule); }
  .legal-prose h2 { grid-template-columns:38px 1fr; gap:10px; }
  .legal-prose dl div { display:block; }
  .legal-prose dt { margin-bottom:6px; }
}
