.legal-wrap { min-height: 100vh; display: flex; flex-direction: column; background: var(--bg); }
.legal-page { flex: 1; max-width: 680px; width: 100%; margin: 0 auto; padding: 48px 24px 56px; color: var(--text); }
.legal-page h1 { font-family: 'DM Serif Display', serif; font-size: 32px; color: var(--dark); margin-bottom: 8px; }
.legal-page .legal-updated { font-size: 13px; color: var(--muted); margin-bottom: 32px; }
.legal-page h2 { font-size: 16px; font-weight: 700; color: var(--dark); margin: 24px 0 8px; }
.legal-page p, .legal-page li { font-size: 14px; line-height: 1.65; color: var(--text); margin-bottom: 10px; }
.legal-page ul { padding-left: 20px; margin-bottom: 12px; }
.legal-page a { color: var(--blue); }
.legal-back { display: inline-block; margin-bottom: 24px; font-size: 14px; color: var(--blue); text-decoration: none; }
.legal-back:hover { text-decoration: underline; }

.contact-page .contact-form { margin-top: 8px; }
.contact-page .form-label { display: block; font-size: 13px; font-weight: 600; color: var(--dark); margin-bottom: 6px; margin-top: 14px; }
.contact-page .form-label .req { color: #DC2626; }
.contact-page .form-hint { font-weight: 400; color: var(--muted); font-size: 12px; }
.contact-page .field-input { width: 100%; box-sizing: border-box; }
.contact-page .char-counter { font-size: 12px; color: var(--muted); text-align: right; margin-top: 4px; }
.contact-page .char-counter.valid { color: #16A34A; }
.contact-page .char-counter.invalid { color: #DC2626; }
.contact-page .contact-success { text-align: center; padding: 24px 0; }
.contact-page .success-emoji { display: flex; justify-content: center; margin-bottom: 12px; color: var(--blue); }
.legal-page ol { padding-left: 20px; margin-bottom: 12px; }
.legal-page ol li { margin-bottom: 6px; }
.legal-page h3 { font-size: 15px; font-weight: 600; color: var(--dark); margin: 18px 0 6px; }
.legal-page dl.legal-faq dt { font-weight: 600; font-size: 14px; margin-top: 14px; color: var(--dark); }
.legal-page dl.legal-faq dd { margin: 4px 0 10px 0; font-size: 14px; line-height: 1.65; color: var(--text); }
.legal-page .legal-note { background: var(--blue-light); border: 1px solid var(--blue-border); border-radius: 10px; padding: 14px 16px; font-size: 13px; line-height: 1.6; margin: 20px 0; }
.legal-page .city-list { columns: 2; column-gap: 24px; list-style: none; padding: 0; margin-bottom: 12px; }
.legal-page .city-list li { break-inside: avoid; margin-bottom: 4px; font-size: 14px; }
@media (max-width: 480px) { .legal-page .city-list { columns: 1; } }
.legal-page .legal-cta { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--border); font-size: 14px; }
.contact-page .contact-intro { margin-bottom: 8px; }
.contact-page .contact-alt { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--border); font-size: 14px; line-height: 1.65; }
.contact-page .contact-alt h2 { font-size: 16px; margin-top: 0; }
