:root { --ink:#2d2835; --ink-strong:#211b29; --paper:#f7f5fb; --surface:#fffdfd; --line:#d9d2e4; --accent:#8e3f78; --pink:#c56f9e; --lilac:#b8a8df; --sky:#9acbe3; --display:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif; --body:"Helvetica Neue","Avenir Next",Avenir,Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--body); line-height:1.65; }
a { color:inherit; }
.legal-wrap { width:min(calc(100% - 40px), 760px); margin:0 auto; padding:44px 0 90px; }
.legal-brand { position:relative; display:block; width:112px; height:88px; overflow:hidden; color:var(--ink-strong); text-decoration:none; }
.legal-logo { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:none; object-fit:contain; object-position:center; }
.legal-card { margin-top:70px; padding:clamp(28px,6vw,60px); border:1px solid var(--line); border-radius:22px; background:var(--surface); box-shadow:0 20px 55px rgba(52,38,67,.08); }
.legal-card p { color:#6d6575; }
.legal-card h1 { margin:0 0 20px; color:var(--ink-strong); font-family:var(--display); font-size:clamp(42px,8vw,68px); font-weight:400; letter-spacing:-.05em; line-height:1; }
.legal-note { margin-top:30px; padding-top:20px; border-top:1px solid var(--line); color:var(--accent); font-size:13px; }
.legal-back { display:inline-block; margin-top:34px; color:var(--accent); font-size:13px; font-weight:700; text-decoration:none; }
.legal-back:hover { color:var(--ink-strong); }

@media (max-width: 430px) {
  .legal-brand { width: 102px; height: 80px; }
}
