.legal{gap:calc(clamp(20px,3vw,32px));max-width:800px;padding-block:calc(clamp(20px,4vw,48px)) calc(clamp(40px,7vw,88px));display:grid}.legal-back{width:fit-content;min-height:44px;color:var(--soft);align-items:center;gap:8px;font-weight:600;text-decoration:none;display:inline-flex}.legal-back:hover{color:var(--ink)}.legal-head{gap:12px;display:grid}.legal-head h1{font-size:calc(clamp(2rem,6.4vw,3.2rem));font-weight:800;line-height:1.05}.legal-date{color:var(--faint);font-size:.9375rem}.legal-intro{color:var(--soft);max-width:62ch;font-size:1.125rem}.legal-mail{margin-top:8px}.legal a{color:var(--c300);text-underline-offset:3px}.legal a:hover{color:var(--c200)}.legal .btn.primary{color:var(--bg);text-decoration:none}.legal .btn.primary:hover{color:var(--bg)}.legal-toc{border-radius:20px}.legal-toc summary{cursor:pointer;letter-spacing:.08em;text-transform:uppercase;min-height:52px;color:var(--soft);justify-content:space-between;align-items:center;gap:12px;padding:0 18px;font-size:.8125rem;font-weight:700;list-style:none;display:flex}.legal-toc summary::-webkit-details-marker{display:none}.legal-toc summary:after{content:"";border:2px solid;border-width:0 2px 2px 0;width:9px;height:9px;transition:transform .2s;transform:rotate(45deg)translate(-2px,-2px)}.legal-toc[open] summary:after{transform:rotate(-135deg)}.legal-toc nav{padding:0 18px 14px;display:grid}.legal-toc a{min-height:40px;color:var(--soft);padding:6px 0;text-decoration:none;display:block}.legal-toc a:hover{color:var(--ink)}@media (width>=720px){.legal-toc nav{-moz-column-gap:28px;grid-template-columns:1fr 1fr;column-gap:28px}}.legal-card{border-radius:24px;gap:calc(clamp(24px,3vw,36px));padding:calc(clamp(20px,4vw,40px));display:grid}.legal-card section{gap:12px;padding:0;scroll-margin-top:84px;display:grid}.legal-card h2{font-size:calc(clamp(1.2rem,3vw,1.5rem));font-weight:800;line-height:1.2}.legal-card li,.legal-card p{color:var(--soft);line-height:1.7}.legal-card strong{color:var(--ink);font-weight:700}.legal-card ul{gap:8px;margin:0;padding-left:1.25rem;display:grid}.legal-card li::marker{color:var(--faint)}
