.legal-hero{grid-template-columns:minmax(0,1fr);min-height:0;padding-bottom:56px;border-bottom:1px solid var(--line)}
.legal-hero .spe-hero-copy{max-width:820px}
.legal-hero .spe-hero-copy>p{max-width:720px}
.legal-updated{display:inline-block;margin-top:28px;font:500 .8rem var(--mono);letter-spacing:.02em;color:var(--ink-4)}

.legal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:start}
.legal-toc{position:sticky;top:108px}
.legal-toc h2{font:600 .78rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);margin-bottom:18px}
.legal-toc ol{list-style:none;display:grid;gap:2px;border-left:1px solid var(--line)}
.legal-toc a{display:block;padding:7px 0 7px 18px;margin-left:-1px;border-left:1px solid transparent;font:400 .92rem/1.4 var(--sans);color:var(--ink-3);text-decoration:none;transition:color .15s,border-color .15s}
.legal-toc a:hover,.legal-toc a:focus-visible{color:var(--ink);border-left-color:var(--spe-accent)}

.legal-body{max-width:760px}
.legal-body section{padding-bottom:48px;margin-bottom:48px;border-bottom:1px solid var(--line);scroll-margin-top:100px}
.legal-body section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.legal-body h2{font:600 clamp(1.6rem,2.4vw,2.1rem)/1.15 var(--display);letter-spacing:-.025em;margin-bottom:22px}
.legal-body h3{font:600 1.15rem/1.3 var(--display);letter-spacing:-.01em;margin:32px 0 12px}
.legal-body p,.legal-body li{font:400 .98rem/1.8 var(--sans);color:var(--ink-3)}
.legal-body p+p{margin-top:16px}
.legal-body strong{font-weight:600;color:var(--ink)}
.legal-body a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--spe-accent);text-underline-offset:3px}
.legal-body ul{list-style:none;display:grid;gap:10px;margin:18px 0}
.legal-body ul li{position:relative;padding-left:22px}
.legal-body ul li::before{content:'';position:absolute;left:0;top:.8em;width:8px;height:1px;background:var(--spe-accent)}

.legal-terms{display:grid;gap:0;margin-top:22px;border-top:1px solid var(--line)}
.legal-terms div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:24px;padding:16px 0;border-bottom:1px solid var(--line)}
.legal-terms dt{font:600 .95rem/1.6 var(--display);color:var(--ink)}
.legal-terms dd{font:400 .95rem/1.7 var(--sans);color:var(--ink-3)}

.legal-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}
.legal-card{padding:22px;border:1px solid var(--line-strong);border-radius:10px;background:var(--bg-soft)}
.legal-card h3{margin:0 0 14px;font-size:1.02rem}
.legal-card dl{display:grid;gap:4px;margin-bottom:12px;font:400 .78rem/1.5 var(--mono);color:var(--ink-4)}
.legal-card dd{color:var(--ink-2)}
.legal-card p{font-size:.9rem;line-height:1.65}

@media(max-width:980px){.legal-layout{grid-template-columns:minmax(0,1fr)}.legal-toc{position:static}.legal-toc ol{grid-template-columns:repeat(2,minmax(0,1fr))}.legal-cards{grid-template-columns:minmax(0,1fr)}}
@media(max-width:720px){.legal-hero{padding-bottom:40px}.legal-toc ol{grid-template-columns:minmax(0,1fr)}.legal-body section{padding-bottom:36px;margin-bottom:36px}.legal-terms div{grid-template-columns:minmax(0,1fr);gap:4px}}
@media(prefers-reduced-motion:reduce){.legal-toc a{transition:none}}

.legal-table{margin:20px 0 8px;border:1px solid var(--line-strong);border-radius:10px;overflow:hidden}
.legal-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);border-top:1px solid var(--line)}
.legal-row:first-child{border-top:0}
.legal-row span{padding:14px 18px;font:400 .92rem/1.6 var(--sans);color:var(--ink-3)}
.legal-row span+span{border-left:1px solid var(--line)}
.legal-row-head{background:var(--bg-soft)}
.legal-row-head span{font:600 .74rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4)}
.legal-body ul ul{margin:10px 0 0}
@media(max-width:720px){.legal-row{grid-template-columns:minmax(0,1fr)}.legal-row span+span{border-left:0;padding-top:0;color:var(--ink)}.legal-row-head{display:none}}
.legal-table-cookies .legal-row{grid-template-columns:minmax(0,.9fr) minmax(0,.9fr) minmax(0,1.6fr) minmax(0,.6fr)}
.legal-table-cookies strong{display:block;font:500 .88rem var(--mono);color:var(--ink)}
.legal-table-cookies small{display:block;margin-top:4px;font-size:.76rem;color:var(--ink-4)}
@media(max-width:720px){.legal-table-cookies .legal-row{grid-template-columns:minmax(0,1fr)}.legal-table-cookies .legal-row span+span{padding-top:0;color:var(--ink-3)}}
