.subscription-page { max-width: 920px; }
.subscription-heading h1 { font-size: clamp(36px, 5vw, 52px); letter-spacing: -1.8px; line-height: 1.1; }
.subscription-heading p { font-size: 18px; }
.subscription-plans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 28px; }
.subscription-plan, .subscription-active { border: 1px solid var(--line); border-radius: 16px; padding: 28px; background: white; }
.subscription-plan h2, .subscription-active h2 { margin: 0 0 18px; font-size: 24px; letter-spacing: -.5px; }
.subscription-plan p, .subscription-active p, .subscription-trial, .subscription-terms { line-height: 1.7; color: var(--muted); }
.subscription-price { color: var(--ink) !important; font-size: 38px; font-weight: 750; letter-spacing: -1px; margin: 0; }
.subscription-price span { font-size: 16px; font-weight: 500; letter-spacing: 0; }
.subscription-plan .button { width: 100%; margin-top: 12px; }
.subscription-page .button:disabled { cursor: not-allowed; opacity: .5; }
.subscription-notice { padding: 16px 20px; border-left: 3px solid var(--green); background: #edf6f0; line-height: 1.6; }
.subscription-trial a { font-weight: 650; text-underline-offset: 3px; }
.subscription-terms { font-size: 14px; margin-top: 24px; }
.subscription-back { margin-top: 32px; }
.pricing-trial { margin-bottom: 32px; padding: 22px 0; border-block: 1px solid var(--line); }
.pricing-trial h2 { font-size: 24px; margin: 0 0 10px; }
.pricing-trial p { line-height: 1.6; max-width: 760px; }
@media (max-width: 560px) {
    .subscription-plans { grid-template-columns: 1fr; }
    .subscription-plan, .subscription-active { padding: 22px; }
    .subscription-heading p { font-size: 16px; }
}
