.sfx-band--page.sfx-halftone{--halftone-opacity:.16;--halftone-cell:14px}

.page-open{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--grid-gutter);row-gap:clamp(1.5rem,3vw,2.5rem)}
.page-open__title{grid-column:1 / span 8;font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--type-display-lg);line-height:var(--leading-display);letter-spacing:var(--tracking-display-lg);color:var(--text-primary);max-width:22ch}
.page-open__lead{grid-column:1 / span 6;font-size:var(--type-body-lg);line-height:var(--leading-body);color:var(--text-secondary);max-width:var(--measure-body)}
.page-open__meta{grid-column:1 / -1;display:flex;gap:var(--space-6);flex-wrap:wrap;font-size:var(--type-body-sm);color:var(--text-tertiary)}
.page-open__meta a{color:var(--text-accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color var(--dur-sm) var(--ease-standard)}
.page-open__meta a:hover{border-bottom-color:var(--text-accent)}
@media (max-width:960px){.page-open__title,.page-open__lead{grid-column:1 / -1}}

.legal{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--grid-gutter);row-gap:clamp(2rem,4vw,3rem)}
.legal__toc{grid-column:1 / span 3;align-self:start;position:sticky;top:calc(var(--header-height) + var(--space-8));display:flex;flex-direction:column;gap:var(--space-3)}
.legal__toc-h{font-family:var(--font-body);font-size:var(--type-body-xs);font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-hairline)}
.legal__toc a{font-size:var(--type-body-sm);line-height:var(--leading-body-tight);color:var(--text-secondary);text-decoration:none;transition:color var(--dur-xs) var(--ease-standard)}
.legal__toc a:hover{color:var(--text-accent)}
.legal__doc{grid-column:5 / -1;display:flex;flex-direction:column;gap:clamp(2.5rem,5vw,3.5rem)}
.legal__sec{scroll-margin-top:calc(var(--header-height) + var(--space-8))}
.legal__sec h2{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--type-display-sm);line-height:var(--leading-heading);letter-spacing:var(--tracking-display);color:var(--text-primary);max-width:24ch;padding-bottom:var(--space-5);border-bottom:1px solid var(--border-hairline-strong)}
.legal__sec h3{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--type-heading-lg);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);color:var(--text-primary);margin-top:var(--space-8)}
.legal__sec h4{font-family:var(--font-body);font-size:var(--type-body-md);font-weight:var(--weight-semibold);color:var(--text-primary);margin-top:var(--space-7)}
.legal__sec p{margin-top:var(--space-5);font-size:var(--type-body-md);line-height:var(--leading-body);color:var(--text-secondary);max-width:var(--measure-body);text-wrap:pretty}
.legal__sec ul{margin-top:var(--space-5);list-style:none;display:flex;flex-direction:column;gap:var(--space-4);max-width:var(--measure-body)}
.legal__sec li{display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);font-size:var(--type-body-md);line-height:var(--leading-body);color:var(--text-secondary);text-wrap:pretty}
.legal__sec li::before{content:"";width:9px;height:9px;border:1.5px solid var(--coral-500);margin-top:.55em}
.legal__sec li b{color:var(--text-primary);font-weight:var(--weight-semibold)}

.legal__svc{margin-top:var(--space-6);padding:clamp(1.25rem,2.4vw,1.75rem);border:1px solid var(--border-hairline);background:var(--surface-raised)}
.legal__svc h4{margin-top:0}
.legal__svc p{max-width:56ch}
.legal__svc dl{margin-top:var(--space-5);display:grid;grid-template-columns:auto 1fr;gap:var(--space-3) var(--space-5);font-size:var(--type-body-sm);line-height:var(--leading-body-tight)}
.legal__svc dt{color:var(--text-tertiary)}
.legal__svc dd{color:var(--text-secondary)}
.legal__update{font-size:var(--type-body-sm);color:var(--text-tertiary);padding-top:var(--space-6);border-top:1px solid var(--border-hairline)}
@media (max-width:960px){.legal__toc{grid-column:1 / -1;position:static}.legal__doc{grid-column:1 / -1}}
@media (max-width:600px){.legal__svc dl{grid-template-columns:1fr;gap:var(--space-2)}.legal__svc dt{margin-top:var(--space-3)}}