.legal-main { padding: clamp(56px, 8vw, 100px) 0; background: #f5faf9; }
.legal-content { width: min(850px, calc(100% - 48px)); padding: clamp(30px, 5vw, 60px); margin: 0 auto; border: 1px solid #dbe8eb; border-radius: 24px; background: #fff; box-shadow: 0 16px 40px rgba(18, 74, 88, .08); }
.legal-content h1 { margin-bottom: 16px; font-size: clamp(2.35rem, 5vw, 4.3rem); }
.legal-content h2 { margin: 42px 0 13px; color: #173f4c; font-size: 1.3rem; letter-spacing: -.025em; }
.legal-content p { color: #506a74; line-height: 1.72; }
.legal-content a:not(.button) { color: #057f87; text-decoration: underline; text-underline-offset: 3px; }
.legal-date { margin-bottom: 28px; color: #73898f !important; font-size: .88rem; }
.legal-warning { padding: 17px 18px; border-left: 4px solid #d98128; border-radius: 10px; color: #704416; background: #fff4e7; line-height: 1.58; }
.legal-content dl { display: grid; grid-template-columns: minmax(155px, .34fr) 1fr; gap: 10px 22px; padding: 20px; margin: 22px 0; border-radius: 14px; background: #f3faf9; }
.legal-content dt { color: #345763; font-weight: 800; }.legal-content dd { margin: 0; color: #526c75; }
@media (max-width: 600px) { .legal-content { width: min(100% - 34px, 850px); }.legal-content dl { grid-template-columns: 1fr; gap: 3px; }.legal-content dd { margin-bottom: 12px; } }
