.subscription-page { max-width: 65rem; margin-inline: auto; }
.subscription-page .brand { display: inline-block; color: #163a5f; font: bold clamp(1.25rem,4vw,1.9rem) Georgia,serif; text-decoration: none; }
.subscription-page header { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .35rem 1.2rem; padding-bottom: .7rem; border-bottom: 1px solid #ced9e1; }
.subscription-page header nav, .subscription-page footer { display: flex; flex-wrap: wrap; gap: .4rem 1rem; }
.subscription-page main { margin: clamp(1rem,3vw,2rem) auto; max-width: 52rem; }
.subscription-page h1 { font: bold clamp(1.85rem,5vw,3rem)/1.12 Georgia,serif; color: #102a43; margin: .4rem 0 1rem; }
.subscription-page p { margin: .65rem 0; }
.subscription-page footer { border-top: 1px solid #ced9e1; padding-top: .8rem; }
.purchase { padding: clamp(.85rem,3vw,1.5rem); margin: 1rem 0; background: #f4f8fb; border: 1px solid #c7d6e0; border-radius: .65rem; color: #102a43; }
.purchase h2 { margin: 0 0 .3rem; font-size: clamp(1.15rem,3vw,1.55rem); }
.purchase p { margin: .4rem 0; }
.purchase-actions { display: flex; flex-wrap: wrap; gap: .55rem; margin: .75rem 0; }
.purchase-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: .55rem 1rem; color: #fff; background: #163a5f; border: 2px solid #163a5f; border-radius: .35rem; font-weight: 650; text-decoration: none; }
.purchase-actions a + a { color: #163a5f; background: white; }
.payment-options { display: grid; grid-template-columns: max-content max-content; align-items: start; }
.payment-options .card-option { display: grid; gap: .25rem; }
.payment-options small { text-align: center; color: #384f60; font-size: .875rem; line-height: 1.4; }
.payment-options .paypal-option { color: #163a5f; background: white; }
.purchase-actions a:hover { text-decoration: underline; }
.purchase-actions a:focus-visible, .subscription-page a:focus-visible { outline: 3px solid #bd7505; outline-offset: 3px; }
.purchase .details { font-size: .94rem; }
.subscription-page table { width: 100%; max-width: 34rem; border-collapse: collapse; margin: 1rem 0; }
.subscription-page th,.subscription-page td { padding: .35rem .65rem; border-bottom: 1px solid #cfdae2; text-align: left; }
.subscription-page label { display: block; margin: .8rem 0 .2rem; font-weight: 650; }
.subscription-page input:not([type=hidden]),.subscription-page select { display: block; max-width: 100%; padding: .5rem; }
.subscription-page button { padding: .65rem 1rem; margin: .7rem 0; cursor: pointer; }
@media (max-width: 32rem) { .purchase-actions { flex-direction: column; } .purchase-actions a { width: 100%; box-sizing: border-box; } }
@media (max-width: 32rem) {
  .payment-options { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); }
  .payment-options a { box-sizing: border-box; min-height: 3.55rem; padding: .35rem; text-align: center; line-height: 1.2; }
}
