.page-legal { background:#f7f3ed; color:#2b2926; }
.legal-page { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:132px 0 80px; }
.legal-hero { max-width:850px; padding:54px 0 42px; }
.legal-hero h1 { margin:10px 0 18px; font-size:clamp(2.5rem,6vw,5.25rem); line-height:.98; letter-spacing:-.055em; }
.legal-hero>p:not(.eyebrow) { max-width:720px; margin:0 0 18px; font-size:1.08rem; line-height:1.9; color:#655f58; }
.legal-hero time { color:#847b71; font-size:.9rem; }
.legal-layout { display:grid; grid-template-columns:240px minmax(0,760px); gap:70px; align-items:start; }
.legal-toc { position:sticky; top:120px; display:grid; gap:10px; padding:22px; border:1px solid #ded3c4; border-radius:18px; background:rgba(255,255,255,.72); }
.legal-toc strong { margin-bottom:5px; }
.legal-toc a { color:#655f58; text-decoration:none; line-height:1.45; }
.legal-toc a:hover { color:#1f1d1a; }
.legal-content { display:grid; gap:18px; }
.legal-content section { scroll-margin-top:120px; padding:30px; border:1px solid #ded3c4; border-radius:22px; background:#fff; }
.legal-content h2 { margin:0 0 16px; font-size:1.45rem; }
.legal-content p,.legal-content li { color:#5e5851; line-height:1.85; }
.legal-content p { margin:0 0 12px; }
.legal-content ul { margin:8px 0 0; padding-left:1.3rem; }
.legal-content li+li { margin-top:8px; }
.legal-contact-card { background:#25231f!important; color:#fff; }
.legal-contact-card p,.legal-contact-card dt { color:#cfc7bd; }
.legal-contact-card dl { display:grid; gap:10px; margin:22px 0; }
.legal-contact-card dl div { display:grid; grid-template-columns:90px 1fr; gap:12px; }
.legal-contact-card dt,.legal-contact-card dd { margin:0; }
.legal-contact-card a { color:#fff; }
.legal-contact-link { display:inline-flex; padding:12px 18px; border:1px solid #6d665c; border-radius:999px; text-decoration:none; }
@media (max-width:820px) { .legal-page{width:min(100% - 28px,720px);padding-top:104px}.legal-layout{grid-template-columns:1fr;gap:22px}.legal-toc{position:static}.legal-content section{padding:24px}.legal-hero{padding-top:36px} }
