/* Privacy and website terms: readable, consistent with the main site. */
html:has(.legal-page) { scroll-behavior: auto; }
.legal-hero { background: #171b1e; color: white; padding: 32px 0 60px; border-bottom: 3px solid #c99a52; }
.legal-hero .page-lead { max-width: 750px; }
.legal-meta { color: #dfb675; font-size: .8rem; }
.legal-layout { display: grid; grid-template-columns: 245px minmax(0,1fr); gap: 65px; align-items: start; }
.legal-contents { position: sticky; top: 105px; background: #f3eee5; padding: 24px; border-top: 2px solid #c99a52; }
.legal-page .legal-contents h2 { font-size: 1.1rem; margin: 0 0 14px; }
.legal-contents a { display: block; padding: 9px 0; border-bottom: 1px solid #dfd6c7; color: #79541f; font-size: .85rem; }
.legal-copy { max-width: 780px; }
.legal-copy section { scroll-margin-top: 110px; padding-bottom: 28px; margin-bottom: 30px; border-bottom: 1px solid #e5ded3; }
.legal-page .legal-copy h2 { font-size: 1.55rem; line-height: 1.3; }
.legal-copy p, .legal-copy li { color: #50575b; font-size: .95rem; line-height: 1.85; }
.legal-copy li { margin-bottom: 10px; }
.legal-copy a { color: #79541f; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-draft { border-left: 3px solid #b38442; background: #f5eddf; padding: 18px 22px; margin-bottom: 30px; }
@media(max-width:800px) { .legal-layout { grid-template-columns: 1fr; gap: 30px; } .legal-contents { position: static; } }
