/* ── Buy Page ── */
.buy-hero { padding: 72px 0 48px; }
.buy-eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 6px 16px; background: #EDF3F9; border: 1px solid #DCE4EC; border-radius: 999px; font-size: var(--type-sm); font-weight: 600; color: var(--brand-main-color, #0D4E88); letter-spacing: 0.02em; margin-bottom: 20px; }
.buy-hero h1 { font-size: clamp(var(--type-xl), 4vw, var(--type-2xl)); font-weight: 800; letter-spacing: -0.03em; line-height: var(--lh-tight); color: #122033; margin: 0 0 16px; }
.buy-hero .lead { font-size: var(--type-md); line-height: var(--lh-normal); color: #42566E; max-width: 56ch; margin: 0 auto; }
.buy-trust-row { background: #fff; border-top: 1px solid #DCE4EC; border-bottom: 1px solid #DCE4EC; padding: 28px 0; }
.buy-trust-item { display: flex; align-items: center; gap: 10px; justify-content: center; }
.buy-trust-item svg { width: 20px; height: 20px; color: var(--brand-main-color, #0D4E88); flex-shrink: 0; }
.buy-trust-item span { font-size: var(--type-sm); font-weight: 600; color: #122033; }
.buy-plans { padding: 64px 0 72px; }
.buy-plans-intro { text-align: center; margin-top: 48px; margin-bottom: 40px; }
.buy-plans-intro h2 { font-size: var(--type-lg); font-weight: 800; color: #122033; margin: 0 0 8px; letter-spacing: -0.02em; }
.buy-plans-intro p { font-size: var(--type-base); color: #42566E; margin: 0; }
.plan-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.plan-card { background: #fff; border: 1px solid #DCE4EC; border-radius: 22px; padding: 32px 28px; display: flex; flex-direction: column; height: 100%; transition: box-shadow 0.2s ease, transform 0.2s ease; }
.plan-card:hover { box-shadow: 0 12px 28px rgba(13, 78, 136, 0.12); transform: translateY(-2px); }
.plan-card--featured { border-color: var(--brand-main-color, #0D4E88); border-width: 2px; box-shadow: 0 16px 40px rgba(10, 36, 67, 0.08); }
.plan-icon { display: flex; align-items: center; color: var(--brand-main-color, #0D4E88); margin-bottom: 20px; }
.plan-icon svg { width: 56px; height: 56px; }
.plan-card h2 { font-size: var(--type-md); font-weight: 700; color: #122033; margin: 0 0 4px; }
.plan-card .plan-sub { font-size: var(--type-sm); color: #596779; margin: 0 0 12px; }
.plan-card .plan-desc { font-size: var(--type-sm); color: #42566E; line-height: var(--lh-normal); margin: 0 0 20px; }
.plan-features { list-style: none; padding: 0; margin: 0 0 24px; flex: 1; }
.plan-features li { display: flex; align-items: flex-start; gap: 8px; padding: 6px 0; font-size: var(--type-sm); color: #122033; line-height: var(--lh-normal); }
.plan-features li svg { width: 16px; height: 16px; color: #1B7B52; flex-shrink: 0; margin-top: 2px; }
.plan-price { font-size: var(--type-2xl); font-weight: 800; color: var(--brand-main-color, #0D4E88); letter-spacing: -0.03em; margin: 0 0 6px; }
.plan-price-note { font-size: var(--type-xs); color: #596779; margin: 0 0 20px; }
.plan-cta { display: flex; width: 100%; }


.buy-utility { background: #fff; padding: 64px 0; }
.util-card { background: #F5F8FC; border: 1px solid #DCE4EC; border-radius: 22px; padding: 32px; height: 100%; text-align: center; }
.util-card h4 { font-size: var(--type-md); font-weight: 700; color: #122033; margin: 0 0 16px; }
.util-card p { font-size: var(--type-sm); color: #42566E; line-height: var(--lh-normal); }
.pay-badge { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; background: #fff; border: 1px solid #DCE4EC; border-radius: 10px; font-size: var(--type-sm); font-weight: 500; color: #122033; }
.pay-badge svg { width: 16px; height: 16px; color: var(--brand-main-color, #0D4E88); }
.bi { width: 1em; height: 1em; vertical-align: -0.125em; }
@media (max-width: 991px) { .buy-hero { padding: 48px 0 36px; } .buy-plans { padding: 48px 0; } .plan-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; } }
@media (max-width: 576px) { .plan-card { padding: 24px 20px; } .plan-price { font-size: var(--type-lg); } }
/* Inline-style replacements */
.buy-util-footer { font-size: var(--type-sm); color: #596779; margin: 0; }
.buy-icon-brand { color: #0D4E88; }

/* Pricing page – invoice note */
.plan-invoice-note { font-size: var(--type-sm); color: #596779; margin: 0; }
