/* Legal pages: one reading column under the solid header, with a sticky contents rail beside it on wide screens. Loads after landing.css. */
.legal{padding:calc(var(--head-h) + env(safe-area-inset-top) + clamp(48px,7vw,104px)) 0 clamp(72px,8vw,120px)}
.legal-in{--measure:680px;display:grid;grid-template-columns:minmax(0,var(--measure))}
.legal h1{font-size:clamp(2.75rem,1.9rem + 3vw,4.5rem);line-height:.98;letter-spacing:-.036em}
.legal-date{display:flex;align-items:center;gap:10px;margin-top:24px;font:500 var(--text-xs)/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.legal-date::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--tone)}

/* At a glance: four facts in a hairline grid */
.legal-glance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:clamp(40px,5vw,64px) 0 0;border-top:1px solid var(--line-2)}
.legal-glance div{padding:20px 24px 22px 0;border-bottom:1px solid var(--line)}
.legal-glance div:nth-child(even){padding-inline:24px 0;border-left:1px solid var(--line)}
.legal-glance dt{font:500 var(--text-xs)/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--tone)}
.legal-glance dd{margin:12px 0 0;line-height:1.55;color:var(--ink-1);text-wrap:pretty}

.legal-toc{display:none}
.legal-toc>p{margin-bottom:14px;font:500 var(--text-xs)/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.legal-toc ol{display:grid;margin:0;padding:0;list-style:none;border-left:1px solid var(--line)}
.legal-toc a{display:flex;gap:12px;margin-left:-1px;padding:7px 0 7px 16px;border-left:1px solid transparent;font-size:var(--text-sm);line-height:1.4;color:var(--ink-2);transition:color var(--t),border-color var(--t)}
.legal-toc a .num{font-size:var(--text-xs);line-height:inherit;color:var(--ink-3);transition:color var(--t)}
.legal-toc a:hover{color:var(--ink-0);border-left-color:var(--tone)}
.legal-toc a:hover .num{color:var(--tone)}

/* Body */
.legal-text{overflow-wrap:anywhere}
.legal-text section{margin-top:clamp(40px,4.5vw,56px);padding-top:clamp(36px,4vw,48px);border-top:1px solid var(--line)}
.legal-text section:first-child{border-top:0;padding-top:0}
.legal h2{max-width:none;font-size:clamp(1.5rem,1.3rem + .8vw,2rem);line-height:1.12;letter-spacing:-.022em}
.legal h2 .num{display:block;margin-bottom:14px;font-size:var(--text-xs);font-weight:500;line-height:1;letter-spacing:.16em;color:var(--tone)}
.legal-text :is(p,li,dd){font-size:var(--text-md);line-height:1.7;color:var(--ink-2);text-wrap:pretty}
.legal-text p{margin-top:16px}
.legal-text h2+*{margin-top:22px}
.legal-text strong{font-weight:600;color:var(--ink-0)}
.legal :is(.legal-text,.legal-contact p) a{color:var(--ink-0);text-decoration:underline;text-decoration-color:var(--tone-line);text-underline-offset:4px;transition:text-decoration-color var(--t)}
.legal :is(.legal-text,.legal-contact p) a:hover{text-decoration-color:var(--tone)}
.legal-text code{padding:2px 7px;border:1px solid var(--line-2);border-radius:var(--r-xs);background:var(--surface-2);font:500 .875em/1.4 var(--font-mono);color:var(--ink-0)}
.legal-text ul{display:grid;gap:10px;margin:16px 0 0;padding:0;list-style:none}
.legal-text ul li{position:relative;padding-left:26px}
.legal-text ul li::before{content:"";position:absolute;left:0;top:.85em;width:12px;height:1px;background:var(--tone)}

/* Term and description rows */
.legal-data{margin:20px 0 0}
.legal-data div{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:4px 28px;padding:16px 0;border-top:1px solid var(--line)}
.legal-data div:last-child{padding-bottom:0}
.legal-data dt{font-size:var(--text-base);font-weight:600;line-height:1.75;color:var(--ink-0)}
.legal-data dd{margin:0}

.legal-contact{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px;margin-top:clamp(56px,6vw,80px);padding:clamp(24px,3vw,32px)}
.legal-contact>div{flex:1 1 32ch}
.legal-contact h2{font-size:var(--text-xl)}
.legal-contact p{margin-top:8px;line-height:1.6;color:var(--ink-2);text-wrap:pretty;overflow-wrap:anywhere}

@media(min-width:1081px){
 .legal-in{grid-template-columns:minmax(0,1fr) minmax(0,var(--measure)) minmax(0,1fr);column-gap:clamp(40px,4vw,72px)}
 .legal-in>*{grid-column:2}
 .legal-toc{display:block;grid-column:1;grid-row:3/5;align-self:start;position:sticky;top:calc(var(--head-h) + 40px);margin-top:clamp(40px,4.5vw,56px)}
}
@media(max-width:640px){
 .legal-glance{grid-template-columns:minmax(0,1fr)}
 .legal-glance div,.legal-glance div:nth-child(even){padding:18px 0;border-left:0}
 .legal-data div{grid-template-columns:minmax(0,1fr)}
 .legal-contact .btn{flex:1 1 auto}
}
