.legal-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px var(--gutter);border-bottom:1px solid var(--line)}
.legal-header .wordmark{font-size:25px}.legal-header>.text-link{font-size:10px;white-space:nowrap}
.legal-main{max-width:880px;margin:0 auto;padding:80px 32px 100px}.legal-main h1{font-size:clamp(58px,8vw,96px);line-height:.98;margin-top:23px;letter-spacing:-.04em}
.legal-date{font-size:10px;color:var(--muted);margin-top:28px}.legal-main .legal-intro{font-family:var(--serif);font-size:27px;line-height:1.4;margin-top:30px}
.legal-main section{margin-top:42px;scroll-margin-top:24px}.legal-main h2{font-size:35px;line-height:1.15;margin-bottom:17px}
.legal-main section p{font-size:13px;line-height:1.95;color:#505258;margin-top:15px}.legal-main section a,.legal-contents a{text-decoration:underline;text-underline-offset:4px}
.legal-contents{display:flex;flex-wrap:wrap;gap:13px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin-top:36px;font-size:11px}
.legal-main .introduction-button{margin-top:22px}.legal-footer{display:flex;justify-content:space-between;gap:25px;padding:28px var(--gutter);background:#292a2d;color:#f5f5f4;font-size:10px;line-height:1.8}.legal-footer nav{display:flex;gap:22px}
.legal-footer a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:560px){.legal-header{align-items:flex-start;padding:24px}.legal-header .wordmark{font-size:19px}.legal-header>.text-link{font-size:8px}.legal-main{padding:56px 24px 70px}.legal-main h2{font-size:31px}.legal-main .legal-intro{font-size:25px}.legal-footer{flex-direction:column;padding:28px 24px}}
