.legal-page {
    padding: clamp(2rem, 5vw, 4.5rem) 0;
    background:
        radial-gradient(circle at 12% 0%, rgba(34, 197, 94, 0.08), transparent 30%),
        linear-gradient(180deg, #f7fcf8 0%, #ffffff 24%);
}

.legal-document {
    width: min(920px, calc(100% - 2rem));
    margin: 0 auto;
    padding: clamp(1.5rem, 4vw, 3rem);
    background: #ffffff;
    border: 1px solid #dcebe0;
    border-radius: 20px;
    box-shadow: 0 16px 44px rgba(22, 101, 52, 0.08);
    color: #263b2d;
}

.legal-document h1 {
    margin: 0 0 0.6rem;
    color: #14532d;
    font-size: clamp(2rem, 5vw, 3.25rem);
    line-height: 1.12;
}

.legal-updated {
    margin: 0 0 2rem;
    color: #64746a;
    font-size: 0.92rem;
}

.legal-notice {
    margin-bottom: 2rem;
    padding: 1rem 1.15rem;
    border-left: 4px solid #22c55e;
    border-radius: 0 12px 12px 0;
    background: #f0fdf4;
    color: #24452f;
    line-height: 1.65;
}

.legal-section + .legal-section {
    margin-top: 2rem;
}

.legal-section h2 {
    margin: 0 0 0.8rem;
    color: #166534;
    font-size: clamp(1.2rem, 3vw, 1.55rem);
    line-height: 1.3;
}

.legal-section p,
.legal-section li {
    color: #43584a;
    font-size: 1rem;
    line-height: 1.75;
}

.legal-section p {
    margin: 0.65rem 0;
}

.legal-section ul {
    margin: 0.65rem 0;
    padding-left: 1.35rem;
}

.legal-section li + li {
    margin-top: 0.4rem;
}

.legal-section a {
    color: #15803d;
    font-weight: 600;
}

@media (max-width: 600px) {
    .legal-page {
        padding: 1.25rem 0 2.5rem;
    }

    .legal-document {
        width: min(100% - 1rem, 920px);
        padding: 1.25rem;
        border-radius: 14px;
    }

    .legal-section p,
    .legal-section li {
        font-size: 0.95rem;
    }
}
