.legal-page{background:var(--paper);min-height:calc(100vh - 88px)}
.legal-hero{padding-top:clamp(58px,8vw,105px);padding-bottom:clamp(45px,6vw,78px);background:linear-gradient(135deg,var(--cream),#edf3ea)}
.legal-hero-inner,.legal-layout{width:min(100%,1120px);margin:0 auto}
.legal-hero h1{font:600 clamp(46px,6vw,76px)/1 var(--serif);letter-spacing:-3px;margin:0 0 24px;max-width:800px}
.legal-hero .legal-lede{max-width:760px;font-size:17px;line-height:1.7;margin:0;color:#496056}
.legal-meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin:28px 0 0;font:500 11px/1.5 var(--mono);letter-spacing:.8px;text-transform:uppercase}
.legal-layout{display:grid;grid-template-columns:minmax(180px,245px) minmax(0,760px);gap:clamp(42px,7vw,100px);padding:64px clamp(24px,4vw,48px) 100px}
.legal-toc{align-self:start;position:sticky;top:24px;padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--cream)}
.legal-toc strong{display:block;margin-bottom:14px;font:500 10px var(--mono);letter-spacing:1.4px;text-transform:uppercase}
.legal-toc a{display:block;color:var(--ink);font-size:13px;line-height:1.4;text-decoration:none;padding:7px 0}
.legal-toc a:hover{text-decoration:underline;text-underline-offset:3px}
.legal-content{min-width:0}
.legal-notice{padding:22px 24px;border-left:4px solid var(--clay);border-radius:0 10px 10px 0;background:#f8eee5;margin:0 0 48px}
.legal-notice strong{display:block;margin-bottom:7px}.legal-notice p{margin:0}
.legal-section{scroll-margin-top:30px;padding:0 0 38px;margin:0 0 38px;border-bottom:1px solid var(--line)}
.legal-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.legal-section h2{font:600 clamp(28px,3vw,38px)/1.1 var(--serif);letter-spacing:-1.2px;margin:0 0 16px}
.legal-section h3{font:600 17px/1.35 var(--sans);margin:24px 0 8px}
.legal-section p,.legal-section li,.legal-notice p{font-size:15px;line-height:1.75;color:#42594e}
.legal-section p{margin:0 0 14px}.legal-section ul{padding-left:22px;margin:8px 0 16px}.legal-section li+li{margin-top:8px}
.legal-section a,.legal-notice a{color:var(--ink);font-weight:600;text-underline-offset:3px}
.legal-contact{padding:24px;border-radius:10px;background:var(--mist)}
.legal-contact p:last-child{margin-bottom:0}
@media(max-width:760px){.legal-page{min-height:calc(100vh - 75px)}.legal-layout{grid-template-columns:1fr;padding-top:38px;padding-bottom:72px}.legal-toc{position:static}.legal-hero h1{letter-spacing:-2px}.legal-content{order:1}.legal-toc{order:0}}

