:root {
    --text: #0f172a;
    --text-muted: #5f7492;
}

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
}

body {
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background:
        radial-gradient(circle at 8% -8%, rgba(16, 185, 129, .14), rgba(16, 185, 129, 0) 46%),
        radial-gradient(circle at 94% 0%, rgba(59, 130, 246, .12), rgba(59, 130, 246, 0) 42%),
        linear-gradient(180deg, #f1f8f5 0%, #ecf3f7 45%, #e8f0f5 100%);
    color: var(--text);
    line-height: 1.65;
    padding-top: clamp(5.4rem, 9vw, 6.8rem);
}

.rz-pricing {
    width: min(1160px, 94vw);
    margin: clamp(1rem, 2.8vw, 2rem) auto clamp(2rem, 4vw, 3rem);
}

.rz-pricing-hero {
    border-radius: 24px;
    border: 1px solid rgba(167, 243, 208, .32);
    background:
        radial-gradient(130% 100% at 0% 0%, rgba(16, 185, 129, .1), transparent 58%),
        radial-gradient(120% 95% at 100% 0%, rgba(59, 130, 246, .08), transparent 56%),
        linear-gradient(180deg, rgba(240, 249, 245, .9), rgba(230, 238, 244, .9));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7), 0 18px 30px -28px rgba(15, 23, 42, .5);
    padding: clamp(1.2rem, 2.6vw, 2rem) clamp(.8rem, 1.8vw, 1.4rem) clamp(2rem, 3.6vw, 2.8rem);
}

.rz-pricing-hero .rz-section-header--pricing {
    max-width: 880px;
    margin-bottom: 0;
}

.rz-pricing-hero .rz-section-eyebrow {
    display: block;
    margin-bottom: .58rem;
    color: #059669;
}

.rz-pricing-hero .rz-section-title {
    margin-bottom: .75rem;
}

.rz-pricing-hero .rz-section-desc {
    color: var(--text-muted);
}

.rz-pricing-grid-page {
    margin-top: clamp(2rem, 3.2vw, 2.7rem);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(.85rem, 1.5vw, 1.2rem);
}

.rz-pricing-grid-page .rz-plan-preview-card {
    padding: clamp(1.35rem, 1.8vw, 1.75rem) clamp(.95rem, 1.5vw, 1.2rem) clamp(1.1rem, 1.6vw, 1.45rem);
}

.rz-pricing-grid-page .rz-plan-preview-card--popular {
    transform: translateY(-14px);
}

.rz-pricing-grid-page .rz-plan-preview-card--popular:hover {
    transform: translateY(-18px);
}

.rz-pricing-grid-page .rz-plan-preview-head h3 {
    font-size: clamp(2rem, 2.2vw, 2.45rem);
}

.rz-pricing-grid-page .rz-plan-preview-price {
    font-size: clamp(2.2rem, 2.8vw, 2.9rem);
}

.rz-pricing-grid-page .rz-plan-preview-sub,
.rz-pricing-grid-page .rz-plan-preview-total {
    font-size: .93rem;
}

.rz-pricing-grid-page .rz-plan-preview-discount {
    font-size: .8rem;
}

.rz-pricing-grid-page .rz-plan-preview-list {
    gap: .56rem;
}

.rz-pricing-grid-page .rz-plan-preview-list li {
    font-size: .93rem;
}

.rz-pricing-grid-page .rz-plan-preview-btn {
    height: 42px;
    font-size: .96rem;
}

.rz-compare,
.rz-guarantee,
.rz-billing-faq {
    margin-top: clamp(1.1rem, 2vw, 1.6rem);
    border: 1px solid #d2dcea;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 18px 30px -26px rgba(15, 23, 42, .38);
    padding: clamp(1rem, 2vw, 1.35rem) clamp(1rem, 2.2vw, 1.6rem);
}

.rz-compare h2,
.rz-guarantee h2,
.rz-billing-faq h2 {
    margin: 0 0 .62rem;
    font-size: clamp(1.14rem, 2vw, 1.45rem);
    color: #0f172a;
}

.rz-compare-wrap {
    border: 1px solid #d5deea;
    border-radius: 14px;
    overflow: auto;
    background: #fff;
}

.rz-compare table {
    width: 100%;
    border-collapse: collapse;
    min-width: 760px;
}

.rz-compare th,
.rz-compare td {
    text-align: left;
    padding: .74rem .76rem;
    border-bottom: 1px solid #dde6f0;
    font-size: .9rem;
}

.rz-compare th {
    color: #1e293b;
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    background: linear-gradient(90deg, #effaf4 0%, #edf6fc 100%);
}

.rz-compare td {
    color: #334155;
}

.rz-compare tr:last-child td {
    border-bottom: 0;
}

.rz-guarantee {
    background:
        radial-gradient(120% 130% at 0% 0%, rgba(16, 185, 129, .1), transparent 56%),
        linear-gradient(180deg, #ffffff 0%, #f1f7f4 100%);
}

.rz-guarantee p {
    margin: 0;
    color: #475569;
}

.rz-guarantee-note {
    margin-top: .58rem;
    font-size: .9rem;
}

.rz-guarantee a {
    color: #047857;
    text-decoration: none;
    font-weight: 600;
}

.rz-guarantee a:hover {
    text-decoration: underline;
}

.rz-faq-list {
    display: grid;
    gap: .6rem;
}

.rz-faq-list details {
    border: 1px solid #d8e3ef;
    border-radius: 12px;
    background: #f8fbff;
    padding: .12rem .72rem;
    transition: border-color .2s ease, background-color .2s ease;
}

.rz-faq-list details[open] {
    border-color: #86efac;
    background: #f0fdf4;
}

.rz-faq-list summary {
    cursor: pointer;
    list-style: none;
    font-weight: 700;
    color: #0f172a;
    padding: .56rem 0;
}

.rz-faq-list summary::-webkit-details-marker {
    display: none;
}

.rz-faq-list p {
    margin: 0 0 .64rem;
    color: #475569;
    font-size: .9rem;
}

.rz-footer {
    margin-top: clamp(1rem, 2.5vw, 1.8rem);
}

@media (max-width: 1100px) {
    .rz-pricing-grid-page {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rz-pricing-grid-page .rz-plan-preview-card--popular,
    .rz-pricing-grid-page .rz-plan-preview-card--popular:hover {
        transform: none;
    }

    .rz-pricing-grid-page .rz-plan-preview-card--featured {
        grid-column: 1 / -1;
        max-width: 430px;
        width: 100%;
        justify-self: center;
    }
}

@media (max-width: 768px) {
    .rz-pricing {
        width: min(1160px, 96vw);
        margin: .9rem auto 1.4rem;
    }

    .rz-pricing-hero {
        padding: .95rem .68rem 1.2rem;
        border-radius: 18px;
    }

    .rz-pricing-grid-page {
        margin-top: 1.35rem;
        grid-template-columns: 1fr;
    }

    .rz-pricing-grid-page .rz-plan-preview-card,
    .rz-pricing-grid-page .rz-plan-preview-card--featured {
        max-width: none;
    }

    .rz-compare,
    .rz-guarantee,
    .rz-billing-faq {
        padding: .9rem .82rem 1rem;
        border-radius: 14px;
    }

    .rz-compare table {
        min-width: 660px;
    }
}

@media (max-width: 480px) {
    .rz-pricing-hero .rz-section-title {
        font-size: clamp(1.76rem, 8.8vw, 2.1rem);
    }

    .rz-pricing-grid-page .rz-plan-preview-price {
        font-size: clamp(2rem, 11vw, 2.4rem);
    }

    .rz-pricing-grid-page .rz-plan-preview-list li {
        font-size: .86rem;
    }

    .rz-compare table {
        min-width: 560px;
    }
}
