.legal-hero { padding:clamp(4.5rem,7vw,6.5rem) 0 clamp(3rem,5vw,4.5rem); background:var(--color-surface-muted); }
.legal-hero h1 { max-width:900px; margin:.45rem 0 1.25rem; font-size:clamp(3rem,5vw,5.25rem); line-height:.98; letter-spacing:-.035em; }
.legal-breadcrumb, .legal-last-updated { color:var(--color-text-muted); font-size:.8rem; letter-spacing:.04em; text-transform:uppercase; }
.legal-breadcrumb { display:flex; gap:.55rem; margin:0 0 1rem; }
.legal-intro { max-width:64ch; margin:0; }
.legal-layout { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:32px; align-items:start; padding-block:clamp(4rem,8vw,7rem); }
.legal-index { grid-column:span 3; position:sticky; top:calc(var(--header-height) + var(--space-6)); }
.legal-index ol { display:grid; gap:.65rem; margin:1rem 0 0; padding:0; list-style:none; }
.legal-index a { color:var(--color-text-muted); font-size:.88rem; line-height:1.35; text-decoration:none; }
.legal-index a:hover, .legal-index a:focus-visible { color:var(--color-text); text-decoration:underline; text-underline-offset:3px; }
.legal-content { grid-column:5 / span 8; max-width:820px; min-width:0; }
.legal-content > .legal-last-updated { display:none; }
.legal-content .legal-section { margin:0 0 2.75rem; padding:0 0 2.75rem; border-bottom:1px solid var(--color-border); }
.legal-content h2 { margin:0 0 1rem; font-family:var(--font-ui); font-size:clamp(1.65rem,2.1vw,2.2rem); line-height:1.2; }
.legal-content h3 { font-family:var(--font-ui); font-size:clamp(1.25rem,1.5vw,1.5rem); }
.legal-content p, .legal-content li { max-width:76ch; font-size:clamp(1rem,1.2vw,1.125rem); line-height:1.72; }
.legal-content li + li { margin-top:.5rem; }
.legal-content a { text-underline-offset:3px; }
.legal-contact { padding:var(--space-6); border-left:2px solid var(--color-brand); background:var(--color-surface); }
@media (max-width:1099px) { .legal-layout { grid-template-columns:1fr; gap:var(--space-8); } .legal-index { grid-column:auto; position:static; padding-bottom:var(--space-5); border-bottom:1px solid var(--color-border); } .legal-index ol { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:var(--space-6); } .legal-content { grid-column:auto; } }
@media (max-width:640px) { .legal-hero { padding-top:var(--space-16); } .legal-hero h1 { font-size:clamp(2.65rem,11vw,3.35rem); } .legal-layout { padding-block:var(--space-10); } .legal-index ol { grid-template-columns:1fr; } .legal-content .legal-section { margin-bottom:2.2rem; padding-bottom:2.2rem; } .legal-content h2 { font-size:1.6rem; } }
