.lp-legal-page {
    position: relative;
    max-width: 1120px;
    margin: 0 auto;
    padding: clamp(18px, 3vw, 34px);
    border: 1px solid var(--lp-line, rgba(65, 46, 32, 0.16));
    border-radius: var(--lp-radius, 28px);
    background:
        linear-gradient(135deg, rgba(216, 75, 42, 0.1), transparent 38%),
        linear-gradient(215deg, rgba(11, 112, 106, 0.1), transparent 42%),
        rgba(255, 250, 241, 0.9);
    box-shadow: var(--lp-shadow, 0 28px 80px rgba(66, 38, 18, 0.14));
}

.lp-legal-page::before {
    content: "";
    position: absolute;
    right: clamp(18px, 4vw, 46px);
    top: clamp(18px, 4vw, 42px);
    width: 118px;
    aspect-ratio: 0.78;
    border: 8px solid #fff;
    border-bottom-width: 30px;
    border-radius: 14px;
    background:
        linear-gradient(135deg, rgba(255, 250, 241, 0.86), transparent 42%),
        radial-gradient(circle at 68% 34%, rgba(216, 75, 42, 0.62), transparent 28%),
        linear-gradient(135deg, rgba(11, 112, 106, 0.64), rgba(243, 178, 48, 0.5));
    box-shadow: 0 18px 42px rgba(66, 38, 18, 0.14);
    transform: rotate(6deg);
    pointer-events: none;
}

.lp-legal-page h1,
.lp-legal-page h2 {
    line-height: 1.2;
}

.lp-legal-page h1 {
    position: relative;
    max-width: 760px;
    margin: 0 0 22px;
    padding: clamp(24px, 4vw, 44px);
    border-radius: 24px;
    background: #221b16;
    color: #fffaf1;
    font-family: var(--lp-display, Georgia, serif);
    font-size: 56px;
    letter-spacing: 0;
    box-shadow: 0 20px 46px rgba(34, 27, 22, 0.18);
}

.lp-legal-page h2 {
    width: fit-content;
    margin: 28px 0 12px;
    padding: 9px 13px;
    border: 1px solid rgba(11, 112, 106, 0.16);
    border-radius: 999px;
    background: rgba(11, 112, 106, 0.08);
    color: var(--lp-teal, #0b706a);
    font-family: var(--lp-body, sans-serif);
    font-size: 20px;
    font-weight: 900;
}

.lp-legal-page p,
.lp-legal-page li,
.lp-legal-page blockquote {
    font-size: 16px;
    line-height: 1.7;
}

.lp-legal-page p,
.lp-legal-page ul,
.lp-legal-page blockquote {
    margin: 0 0 14px;
    border: 1px solid rgba(65, 46, 32, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.66);
    box-shadow: 0 12px 28px rgba(66, 38, 18, 0.06);
}

.lp-legal-page p,
.lp-legal-page blockquote {
    padding: 15px 18px;
}

.lp-legal-page ul {
    display: grid;
    gap: 8px;
    padding: 15px 18px;
    list-style: none;
}

.lp-legal-page li {
    position: relative;
    padding-left: 22px;
}

.lp-legal-page li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.72em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--lp-accent, #d84b2a);
}

.lp-legal-page a {
    color: var(--lp-accent-dark, #9f2d19);
    font-weight: 900;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.lp-legal-page blockquote {
    margin-top: 18px;
    border-left: 5px solid var(--lp-accent, #d84b2a);
    background: #fff7f1;
}

@media (max-width: 767px) {
    .lp-legal-page {
        padding: 14px;
        padding-bottom: 24px;
    }

    .lp-legal-page::before {
        opacity: 0.42;
        right: 12px;
        top: 12px;
        width: 78px;
    }

    .lp-legal-page h1 {
        margin-bottom: 18px;
        padding: 24px 20px;
        font-size: 34px;
    }

    .lp-legal-page h2 {
        margin-top: 24px;
        margin-bottom: 10px;
        font-size: 18px;
    }

    .lp-legal-page p,
    .lp-legal-page li,
    .lp-legal-page blockquote {
        font-size: 15px;
        line-height: 1.65;
    }
}
