.legal{padding:44px 0 8px}.legal-wrap{max-width:760px;margin:0 auto}.legal-intro{font-size:clamp(1.05rem,4.2vw,1.25rem);line-height:1.6;color:var(--text-body);margin:0 0 8px;padding-bottom:26px;border-bottom:1px solid var(--border-subtle)}.legal-intro strong{color:var(--navy-800)}.legal-sec{padding:30px 0;border-bottom:1px solid var(--border-subtle)}.legal-sec:last-of-type{border-bottom:none}.legal-sec h2{display:flex;align-items:baseline;gap:12px;font-size:clamp(1.25rem,5vw,1.6rem);text-transform:uppercase;letter-spacing:-0.015em;color:var(--navy-800);margin:0 0 12px;line-height:1.1}.legal-sec h2 .n{font-family:var(--font-display);font-weight:800;font-size:0.7em;color:var(--blue-500);flex:none}.legal-sec p{font-size:16px;line-height:1.68;color:var(--text-body);margin:12px 0 0}.legal-sec p:first-of-type{margin-top:0}.legal-sec ul{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.legal-sec li{position:relative;padding-left:28px;font-size:16px;line-height:1.6;color:var(--text-body)}.legal-sec li::before{content:"";position:absolute;left:4px;top:9px;width:7px;height:7px;border-radius:50%;background:var(--blue-500)}.legal-sec a{color:var(--navy-800);font-weight:600;text-decoration:none;white-space:nowrap}.legal-sec a:hover{color:var(--blue-600);text-decoration:underline;text-underline-offset:3px}.legal-contact{margin:34px 0 0;background:var(--surface-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:26px;display:flex;gap:18px;align-items:flex-start}.legal-contact .ic{width:48px;height:48px;flex:none;border-radius:var(--radius-md);background:var(--navy-800);color:#fff;display:flex;align-items:center;justify-content:center}.legal-contact h3{margin:0;font-size:18px;font-weight:800;color:var(--navy-800)}.legal-contact p{margin:6px 0 0;font-size:15px;line-height:1.6;color:var(--text-body)}.legal-contact .lines{margin-top:12px;display:flex;flex-wrap:wrap;gap:10px 14px}.legal-contact .lines a{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-weight:600;font-size:15px;color:var(--navy-800);text-decoration:none;padding:9px 16px;background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-full);transition:border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.legal-contact .lines a:hover{border-color:var(--blue-400);transform:translateY(-1px)}.legal-contact .lines a .ico{color:var(--blue-600);display:inline-flex}.legal-cta{margin-top:44px}@media (min-width:720px){.legal{padding:56px 0 8px}}