.legal-page { background:var(--linen); }
.legal-main { padding:45px var(--pad) 90px; }
.legal-heading { max-width:1040px; margin:0 auto 44px; text-align:center; }
.legal-back { font:500 12px/1.6 var(--sans); color:#825A62; text-decoration:underline; text-underline-offset:4px; display:inline-block; padding-block:10px; }
.legal-heading > .legal-back { display:block; text-align:left; margin-bottom:20px; }
.legal-heading > img { width:34px; height:auto; margin:0 auto 16px; }
.legal-heading .caps { font-size:10px; letter-spacing:.19em; color:#96546A; }
.legal-heading h1 { margin:18px auto 20px; font:400 clamp(44px,5.7vw,74px)/1.1 var(--display); letter-spacing:-.025em; text-wrap:balance; }
.legal-deck { font:400 19px/1.6 var(--serif); color:var(--soft); text-wrap:balance; }
.legal-date { font:400 12px/1.5 var(--sans); color:#646779; margin-top:15px; }
.legal-layout { max-width:1040px; margin:auto; display:grid; grid-template-columns:210px minmax(0,1fr); gap:40px; align-items:start; }
.legal-contents { display:grid; gap:7px; position:sticky; top:28px; padding:25px 0; }
.legal-contents .caps { font-size:9px; letter-spacing:.18em; margin-bottom:10px; color:#96546A; }
.legal-contents a { font:400 13px/1.55 var(--sans); padding-block:5px; color:var(--soft); }
.legal-contents a:hover { color:#99506A; text-decoration:underline; text-underline-offset:4px; }
.legal-paper { background:#FFFEF9; border:1px solid #D7C5A6; outline:1px solid #E8DCC7; outline-offset:-8px; padding:44px 46px; box-shadow:0 10px 24px -22px #76665780; min-width:0; }
.legal-paper section { scroll-margin-top:24px; margin-bottom:32px; }
.legal-paper h2 { font:400 28px/1.25 var(--table-display); margin:0 0 13px; color:var(--navy); text-wrap:balance; }
.legal-paper p { font:400 15.5px/1.85 var(--sans); color:#3D485C; overflow-wrap:break-word; }
.legal-paper p+p { margin-top:14px; }
.legal-paper a { text-decoration:underline; text-underline-offset:3px; color:#895060; overflow-wrap:anywhere; }
.legal-page a:focus-visible { outline:2px solid #A45E72; outline-offset:4px; }
@media(max-width:800px) {
 .legal-main { padding-top:25px; padding-bottom:55px; }
 .legal-layout { grid-template-columns:1fr; gap:22px; }
 .legal-contents { position:static; display:flex; flex-wrap:wrap; gap:0 20px; padding:18px 0; border-block:1px solid #D7C5A680; }
 .legal-contents .caps { flex-basis:100%; margin-bottom:8px; }
 .legal-contents a { font-size:12px; }
 .legal-paper { padding:34px 30px; }
}
@media(max-width:480px) {
 .legal-heading { margin-bottom:28px; }
 .legal-heading h1 { font-size:42px; line-height:1.15; }
 .legal-deck { font-size:17px; }
 .legal-paper { padding:30px 22px; }
 .legal-paper h2 { font-size:25px; }
 .legal-paper p { font-size:15px; line-height:1.8; }
}
@media(prefers-reduced-motion:no-preference) {
 .legal-heading { animation:legal-welcome .65s ease-out both; }
 .legal-paper { animation:legal-welcome .75s .08s ease-out both; }
 @keyframes legal-welcome { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
}
