.legal-hero {
    padding: 120px 0 48px;
    border-bottom: 1px solid var(--border);
}

.legal-hero-inner {
    max-width: 820px;
}

.legal-hero h1 {
    margin: 10px 0 16px;
    color: var(--white);
    font-size: clamp(34px, 5vw, 52px);
    line-height: 1.12;
    letter-spacing: -0.03em;
}

.legal-hero p {
    max-width: 700px;
    color: var(--text-2);
    font-size: 16px;
    line-height: 1.75;
}

.legal-main {
    padding: 64px 0 96px;
}

.legal-content {
    max-width: 820px;
}

.legal-content section {
    margin-bottom: 44px;
}

.legal-content h2 {
    margin-bottom: 14px;
    color: var(--white);
    font-size: 22px;
    line-height: 1.3;
}

.legal-content h3 {
    margin: 24px 0 10px;
    color: var(--white);
    font-size: 16px;
}

.legal-content p,
.legal-content li {
    color: var(--text-2);
    font-size: 15px;
    line-height: 1.8;
}

.legal-content p + p {
    margin-top: 14px;
}

.legal-content ul,
.legal-content ol {
    margin: 14px 0 0 22px;
}

.legal-content li + li {
    margin-top: 8px;
}

.legal-content a {
    color: var(--accent);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.legal-content a:hover {
    color: var(--accent-l);
}

.legal-meta {
    margin-top: 18px;
    color: var(--text-3);
    font-size: 13px;
}

.legal-notice {
    margin-bottom: 40px;
    padding: 20px 22px;
    border: 1px solid rgba(45, 212, 191, 0.25);
    border-radius: var(--r-s);
    background: rgba(45, 212, 191, 0.05);
}

.legal-notice strong {
    display: block;
    margin-bottom: 6px;
    color: var(--white);
    font-size: 14px;
}

.legal-notice p {
    color: var(--text-2);
    font-size: 14px;
    line-height: 1.7;
}

.local-review-notice {
    margin-bottom: 40px;
    padding: 20px 22px;
    border: 1px solid rgba(251, 146, 60, 0.35);
    border-radius: var(--r-s);
    background: rgba(251, 146, 60, 0.07);
}

.local-review-notice strong {
    display: block;
    margin-bottom: 6px;
    color: var(--orange);
    font-size: 14px;
}

.local-review-notice p {
    color: var(--text-2);
    font-size: 14px;
    line-height: 1.7;
}

.contact-options {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 22px;
}

@media (min-width: 720px) {
    .contact-options {
        grid-template-columns: repeat(2, 1fr);
    }
}

.contact-option {
    padding: 24px;
    border: 1px solid var(--border);
    border-radius: var(--r-s);
    background: var(--card);
}

.contact-option h2 {
    margin-bottom: 10px;
    font-size: 18px;
}

.contact-option p {
    font-size: 14px;
}

.contact-option .btn-secondary {
    margin-top: 18px;
    padding: 10px 18px;
    font-size: 13px;
    text-decoration: none;
}
