#pricing-plans > .billing-interval {
    display: flex;
    width: fit-content;
    gap: .15rem;
    margin: 0 auto 1.25rem;
    border: 1px solid var(--m-divider);
    border-radius: 8px;
    padding: .2rem;
}

.billing-interval label {
    cursor: pointer;
    border-radius: 6px;
    padding: .32rem .62rem;
    font-size: .9rem;
}

.billing-interval label:has(:checked) {
    background: var(--m-brand-soft);
    color: var(--m-ink);
    font-weight: 600;
}

.billing-interval input { accent-color: var(--m-brand); }

.plan-features { margin: .75rem 0 1rem; }
.plan-features summary { cursor: pointer; font-weight: 600; }
.plan-features ul { margin: .75rem 0 0; }

#pricing-plans .plan-price > span { display: inline-block; white-space: nowrap; }
.pricing #pricing-plans .plan-card { container-type: inline-size; }
.pricing #pricing-plans .plan-price {
    font-size: clamp(1.125rem, 12cqi, 2.4rem);
}
.pricing #pricing-plans .plan-price[data-price] { white-space: nowrap; }
.pricing #pricing-plans .plan-price[data-price] > span {
    font-size: clamp(.75rem, 7cqi, .95rem);
}
.pricing #pricing-plans .plan-price small { white-space: normal; }
.pricing #pricing-plans .plan-summary { margin: .65rem 0 0; }
.pricing #pricing-plans .plan-footnote { margin: 0 0 .8rem; }
.pricing #pricing-plans .plan-action {
    min-height: 3.75rem;
    padding: .5rem .65rem;
    font-size: .95rem;
    line-height: 1.25;
}
#pricing-plans .pricing-scope-note { margin: 1rem 0 0; }
#pricing-plans .pricing-scope-note,
.pricing-notes p { font-size: .875rem; }
