.legal-page { background:var(--paper); }
.legal-hero { min-height:620px; padding:140px max(48px,calc((100% - 1360px)/2)) 80px; display:flex; flex-direction:column; justify-content:flex-end; background:var(--ink); color:var(--paper); }
.legal-hero h1 { max-width:1000px; margin:24px 0 30px; font-size:clamp(64px,7vw,108px); line-height:.9; font-weight:600; letter-spacing:-.075em; }
.legal-hero > p:not(.eyebrow) { max-width:760px; color:#c2cace; font-size:18px; line-height:1.7; }
.legal-hero > span { margin-top:48px; color:var(--lime); font:600 10px/1.5 "IBM Plex Mono",monospace; text-transform:uppercase; letter-spacing:.05em; }
.legal-layout { padding:100px max(48px,calc((100% - 1360px)/2)) 130px; display:grid; grid-template-columns:270px minmax(0,840px); gap:clamp(70px,9vw,145px); align-items:start; }
.legal-index { max-height:calc(100vh - 130px); position:sticky; top:105px; align-self:start; display:flex; flex-direction:column; overflow-y:auto; overscroll-behavior:contain; border-top:1px solid var(--ink); scrollbar-width:thin; scrollbar-color:var(--blue) transparent; }
.legal-index p { margin:0; padding:17px 0; color:var(--blue); border-bottom:1px solid var(--line); font:600 10px/1.4 "IBM Plex Mono",monospace; text-transform:uppercase; }
.legal-index a { padding:13px 0; color:#4f5b61; border-bottom:1px solid var(--line); font:500 10px/1.4 "IBM Plex Mono",monospace; text-transform:uppercase; transition:color .2s ease,padding-left .2s ease; }
.legal-index a:hover,.legal-index a:focus-visible { padding-left:6px; color:var(--blue); }
.legal-content section { padding:0 0 70px; scroll-margin-top:35px; }
.legal-content section + section { padding-top:70px; border-top:1px solid var(--line); }
.legal-content section > span { color:var(--blue); font:600 11px/1.4 "IBM Plex Mono",monospace; }
.legal-content h2 { max-width:760px; margin:20px 0 28px; font-size:clamp(36px,4vw,56px); line-height:1; font-weight:600; letter-spacing:-.055em; }
.legal-content p { max-width:760px; margin:0 0 18px; color:#4f5b61; font-size:16px; line-height:1.8; }
.legal-content a { color:var(--blue); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.legal-preference-button { min-height:48px; margin-top:12px; padding:0 18px; border:1px solid var(--ink); background:transparent; color:var(--ink); font:600 10px/1.4 "IBM Plex Mono",monospace; text-transform:uppercase; cursor:pointer; }
.legal-preference-button:hover,.legal-preference-button:focus-visible { background:var(--ink); color:var(--paper); }
@media(max-width:900px) { .legal-layout { grid-template-columns:220px minmax(0,1fr); gap:55px; } }
@media(max-width:760px) { .legal-hero { min-height:560px; padding:110px 18px 60px; }.legal-hero h1 { font-size:60px; }.legal-hero > p:not(.eyebrow) { font-size:16px; }.legal-layout { padding:70px 18px 95px; display:block; }.legal-index { margin-bottom:75px; position:static; }.legal-content section { padding-bottom:55px; }.legal-content section + section { padding-top:55px; }.legal-content h2 { font-size:39px; }.legal-content p { font-size:15px; } }
