/* Subscription design: keep styles scoped away from other membership surfaces. */
.e3-subscriptions-page {
    --e3-navy: #142840;
    --e3-wine: #971e32;
    --e3-muted: #536176;
    --e3-border: #e1e6ee;
    background: #f4f6f9;
    color: var(--e3-navy);
    padding: 64px 0 100px;
}
.e3-subscriptions-page > .fh-container { max-width: 1504px; padding-inline: 24px; }
.e3-subscriptions-page > .fh-container > .fh-page-header {
    position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%);
}
.e3-subscriptions-page .e3-guided { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.e3-guided, .e3-guided * { box-sizing: border-box; }
.e3-guided [hidden] { display: none !important; }
.e3-guided > .fma-notice { grid-column: 1 / -1; }
.e3-guided:not(:has(.e3-trial)) { grid-template-columns: minmax(0, 1fr); }
.e3-guided h2, .e3-subscriptions-page .fmg-comparison-header h2,
.e3-subscriptions-page .fmg-comparison-cta h3 {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 700; color: var(--e3-navy); letter-spacing: -.015em;
}
.e3-guided p { margin: 0; }
.e3-guided .e3-trial { background: var(--e3-navy); border-radius: 22px; color: white; padding: 40px; }
.e3-guided .e3-eyebrow, .e3-subscriptions-page .fmg-comparison-header .fh-eyebrow {
    font-size: 13px; font-weight: 750; letter-spacing: 1.3px; line-height: 1.4; text-transform: uppercase; margin: 0 0 18px;
}
.e3-guided .e3-eyebrow { color: #89d0cc; }
.e3-guided .e3-trial h2 { color: #fff; font-size: clamp(34px, 3vw, 44px); line-height: 1.15; margin: 0 0 24px; }
.e3-guided .e3-trial-intro { font-size: 18px; line-height: 1.5; color: #c6d0df; }
.e3-guided .e3-trial-features { list-style: none; padding: 0; margin: 24px 0; font-size: 17px; line-height: 1.9; }
.e3-guided .e3-trial-after { color: #c6d0df; font-size: 15px; line-height: 1.5; margin: 0 0 16px; }
.e3-guided .e3-light-button, .e3-subscriptions-page .fmg-comparison-cta .fh-button {
    background: #fff; border: 0; border-radius: 11px; color: var(--e3-navy); display: flex; justify-content: center; align-items: center;
    min-height: 50px; padding: 13px 20px; font-size: 16px; line-height: 1.25; font-weight: 700; text-decoration: none;
}
.e3-guided .e3-picker-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 20px; }
.e3-guided .e3-picker-header h2 { font-size: clamp(28px, 2.5vw, 36px); line-height: 1.2; margin: 0; }
.e3-guided fieldset { min-width: 0; border: 0; padding: 0; margin: 0; }
.e3-guided .e3-billing { background: #fff; border: 1px solid var(--e3-border); border-radius: 50px; display: flex; padding: 4px; flex-shrink: 0; }
.e3-guided .e3-billing label { position: relative; margin: 0; cursor: pointer; }
.e3-guided .e3-billing input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.e3-guided .e3-billing label > span { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; border-radius: 40px; min-height: 48px; padding: 10px 20px; color: var(--e3-navy); font-weight: 700; font-size: 16px; line-height: 1.2; text-align: center; }
.e3-guided .e3-billing input:checked + span { background: var(--e3-navy); color: #fff; }
.e3-guided .e3-billing input:focus-visible + span, .e3-guided a:focus-visible, .e3-guided button:focus-visible,
.e3-guided .e3-plan-row:has(input:focus-visible) { outline: 3px solid #178779; outline-offset: 3px; }
.e3-guided .e3-plan-choices { display: grid; gap: 14px; }
.e3-guided .e3-plan-row {
    background: #fff; border: 2px solid var(--e3-border); border-radius: 15px; cursor: pointer;
    display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; align-items: center; gap: 20px; min-height: 98px; padding: 22px 24px; margin: 0;
}
.e3-guided .e3-plan-row.is-recommended { border-color: var(--e3-wine); background: #fbf4f5; }
.e3-guided .e3-plan-row.is-selected:not(.is-recommended) { border-color: var(--e3-wine); }
.e3-guided .e3-plan-row:has(input:disabled) { cursor: default; }
.e3-guided .e3-plan-radio { accent-color: var(--e3-wine); width: 24px; height: 24px; margin: 0; }
.e3-guided .e3-plan-copy { min-width: 0; }
.e3-guided .e3-plan-name { display: block; font-size: 18px; font-weight: 750; line-height: 1.25; color: var(--e3-navy); }
.e3-guided .e3-plan-name small { color: var(--e3-wine); font-size: 11px; font-weight: 750; text-transform: uppercase; white-space: nowrap; }
.e3-guided .e3-plan-description { display: block; font-size: 14px; color: var(--e3-muted); line-height: 1.3; }
.e3-guided .e3-plan-saving { display: block; color: #0c8075; font-size: 14px; font-weight: 700; line-height: 1.3; }
.e3-guided .e3-current-label { color: var(--e3-wine); display: block; font-size: 13px; font-weight: 700; }
.e3-guided .e3-price { text-align: right; color: var(--e3-navy); }
.e3-guided .e3-price strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 32px; font-weight: 700; line-height: 1.2; }
.e3-guided .e3-price > span { display: block; font-size: 13px; color: var(--e3-muted); white-space: nowrap; }
.e3-guided .e3-checkout-summary { background: #fff; border-radius: 16px; margin-top: 20px; padding: 22px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; }
.e3-guided .e3-summary-copy { flex: 1 1 250px; }
.e3-guided .e3-summary-copy h3 { color: var(--e3-navy); font-family: inherit; font-size: 18px; line-height: 1.3; font-weight: 750; margin: 0; }
.e3-guided .e3-summary-copy p { color: var(--e3-muted); font-size: 14px; line-height: 1.4; }
.e3-guided .e3-checkout-form { margin: 0; }
.e3-guided .e3-checkout-form button { border: 0; border-radius: 10px; background: var(--e3-wine); color: #fff; font: inherit; font-size: 16px; font-weight: 700; padding: 15px 20px; min-height: 50px; cursor: pointer; }
.e3-guided .e3-checkout-form button:hover { background: #79172a; }
.e3-guided.is-enhanced .e3-cycle-fallback { display: none; }
.e3-guided .e3-payment-methods { margin: 0 0 12px; display: flex; flex-wrap: wrap; gap: 12px; }
.e3-guided .e3-payment-methods legend { font-size: 12px; color: var(--e3-muted); margin-bottom: 6px; }
.e3-guided .e3-payment-methods label { display: flex; align-items: center; gap: 5px; font-size: 14px; margin: 0; cursor: pointer; }
.e3-guided .e3-payment-methods input { accent-color: var(--e3-wine); width: 17px; height: 17px; margin: 0; }
.e3-subscriptions-page .fmg-plan-comparison { margin: 78px 0 0; max-width: none; color: var(--e3-navy); }
.e3-subscriptions-page .fmg-comparison-header { display: block; margin-bottom: 26px; }
.e3-subscriptions-page .fmg-comparison-header .fh-eyebrow { color: var(--e3-wine); margin-bottom: 10px; }
.e3-subscriptions-page .fmg-comparison-header h2 { font-size: clamp(30px, 3vw, 44px); line-height: 1.2; margin: 0 0 10px; }
.e3-subscriptions-page .fmg-comparison-header p:last-child { color: var(--e3-muted); font-size: 18px; line-height: 1.4; }
.e3-subscriptions-page .fmg-comparison-scroll { background: #fff; border: 1px solid var(--e3-border); border-radius: 18px; }
.e3-subscriptions-page .fmg-plan-comparison table { min-width: 780px; }
.e3-subscriptions-page .fmg-plan-comparison th, .e3-subscriptions-page .fmg-plan-comparison td { border-color: var(--e3-border); padding: 18px; font-size: 17px; line-height: 1.35; font-weight: 400; background: #fff; color: var(--e3-navy); }
.e3-subscriptions-page .fmg-plan-comparison th { font-weight: 650; }
.e3-subscriptions-page .fmg-plan-comparison thead th:first-child, .e3-subscriptions-page .fmg-plan-comparison tbody th { width: 35%; background: #fff; }
.e3-subscriptions-page .fmg-plan-comparison thead .fmg-comparison-plan-free { background: #e2f0ef; }
.e3-subscriptions-page .fmg-plan-comparison thead .fmg-comparison-plan-plus { color: var(--e3-wine); }
.e3-subscriptions-page .fmg-plan-comparison tr > :nth-child(4) { background: #fbf4f5; }
.e3-subscriptions-page .fmg-plan-comparison thead small { font-size: 13px; color: var(--e3-muted); opacity: 1; font-weight: 400; }
.e3-subscriptions-page .fmg-comparison-state small { display: inline; font-size: 12px; font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--e3-muted); }
.e3-subscriptions-page .fmg-comparison-state small::after { content: ": "; }
.e3-subscriptions-page .fmg-comparison-state.is-after { margin-top: 3px; padding-top: 0; border: 0; font-size: 13px; color: var(--e3-muted); }
.e3-subscriptions-page .fmg-comparison-yes, .e3-subscriptions-page .fmg-comparison-no { color: var(--e3-navy); font-weight: 400; }
.e3-subscriptions-page .fmg-comparison-cta { background: var(--e3-navy); border-radius: 18px; padding: 28px 32px; margin-top: 28px; gap: 28px; }
.e3-subscriptions-page .fmg-comparison-cta h3 { color: white; font-size: 28px; line-height: 1.2; }
.e3-subscriptions-page .fmg-comparison-cta p { font-size: 16px; line-height: 1.4; color: #c6d0df; opacity: 1; }
@media (min-width: 901px) {
    .e3-guided[data-billing="monthly"] .e3-yearly-offer { display: none; }
}
@media (max-width: 1100px) and (min-width: 901px) {
    .e3-guided .e3-trial { padding: 28px; }
    .e3-guided .e3-plan-row { padding: 20px 16px; gap: 12px; }
    .e3-guided .e3-price strong { font-size: 27px; }
}
@media (max-width: 900px) {
    .e3-subscriptions-page { padding: 22px 0 80px; }
    .e3-subscriptions-page > .fh-container { padding-inline: 17px; }
    .e3-subscriptions-page > .fh-container > .fh-page-header { position: static; width: auto; height: auto; clip-path: none; margin: 0 0 18px; overflow: visible; }
    .e3-subscriptions-page .fh-page-header .fh-eyebrow { color: var(--e3-wine); font-size: 12px; letter-spacing: 1.1px; margin: 0 0 6px; display: block; }
    .e3-subscriptions-page .fh-page-header h1 { color: var(--e3-navy); font: 700 32px/1.15 Georgia, serif; margin: 0; letter-spacing: -.02em; }
    .e3-subscriptions-page .fh-page-header p { display: none; }
    .e3-subscriptions-page .e3-guided { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .e3-guided .e3-trial { border-radius: 18px; padding: 23px; }
    .e3-guided .e3-eyebrow { font-size: 11px; margin-bottom: 12px; }
    .e3-guided .e3-trial h2 { font-size: 28px; line-height: 1.1; margin-bottom: 14px; }
    .e3-guided .e3-trial-intro, .e3-guided .e3-trial-after { font-size: 15px; line-height: 1.47; }
    .e3-guided .e3-trial-after { margin: 0 0 10px; }
    .e3-guided .e3-trial-features { display: none; }
    .e3-guided .e3-light-button { min-height: 46px; font-size: 15px; }
    .e3-guided .e3-picker-header { display: block; margin-bottom: 13px; }
    .e3-guided .e3-picker-header h2 { font-size: 26px; margin: 0 0 13px; }
    .e3-guided .e3-billing { width: 100%; }
    .e3-guided .e3-billing label { flex: 1; }
    .e3-guided .e3-billing label > span { min-height: 46px; padding: 6px 12px; font-size: 15px; }
    .e3-guided .e3-yearly-offer { display: contents; }
    .e3-guided .e3-plan-choices { gap: 11px; }
    .e3-guided .e3-plan-row { border-radius: 14px; gap: 16px; grid-template-columns: 23px minmax(0, 1fr) auto; min-height: 87px; padding: 15px 16px 15px 20px; }
    .e3-guided .e3-plan-radio { width: 23px; height: 23px; }
    .e3-guided .e3-plan-name { font-size: 16px; }
    .e3-guided .e3-plan-name small { font-size: 10px; }
    .e3-guided .e3-plan-description { font-size: 13px; line-height: 1.25; }
    .e3-guided .e3-price strong { font-size: 26px; }
    .e3-guided .e3-price > span { font-size: 11px; }
    .e3-guided .e3-plan-saving { display: none; }
    .e3-guided .e3-checkout-summary { padding: 15px; margin-top: 12px; gap: 9px; }
    .e3-guided .e3-summary-copy, .e3-guided .e3-plan-checkout { width: 100%; flex-basis: 100%; }
    .e3-guided .e3-summary-copy h3 { font-size: 17px; }
    .e3-guided .e3-summary-copy p { font-size: 13px; }
    .e3-guided .e3-checkout-form button { width: 100%; min-height: 46px; padding: 12px; font-size: 15px; }
    .e3-subscriptions-page .fmg-plan-comparison { margin-top: 36px; }
    .e3-subscriptions-page .fmg-comparison-header { margin-bottom: 14px; }
    .e3-subscriptions-page .fmg-comparison-header .fh-eyebrow { font-size: 11px; margin-bottom: 8px; }
    .e3-subscriptions-page .fmg-comparison-header h2 { font-size: 29px; margin-bottom: 7px; }
    .e3-subscriptions-page .fmg-comparison-header p:last-child { font-size: 14px; line-height: 1.3; }
    .e3-subscriptions-page .fmg-comparison-scroll { border-radius: 15px; }
    .e3-subscriptions-page .fmg-plan-comparison table { min-width: 580px; }
    .e3-subscriptions-page .fmg-plan-comparison th, .e3-subscriptions-page .fmg-plan-comparison td { font-size: 13px; padding: 12px 8px; line-height: 1.25; }
    .e3-subscriptions-page .fmg-plan-comparison thead th:first-child, .e3-subscriptions-page .fmg-plan-comparison tbody th { width: 20%; }
    .e3-subscriptions-page .fmg-plan-comparison thead small, .e3-subscriptions-page .fmg-comparison-state small, .e3-subscriptions-page .fmg-comparison-state.is-after { font-size: 11px; }
    .e3-subscriptions-page .fmg-comparison-price-row.is-billing-period td { background: #eff7f6; }
    .e3-subscriptions-page .fmg-comparison-cta { flex-direction: column; align-items: stretch; gap: 12px; border-radius: 16px; padding: 22px; margin-top: 22px; }
    .e3-subscriptions-page .fmg-comparison-cta h3 { font-size: 24px; }
    .e3-subscriptions-page .fmg-comparison-cta p { font-size: 14px; line-height: 1.25; margin-top: 10px; }
    .e3-subscriptions-page .fmg-comparison-cta .fh-button { font-size: 15px; min-height: 46px; }
}
@media (max-width: 360px) {
    .e3-guided .e3-plan-row { padding: 14px 10px; gap: 10px; }
    .e3-guided .e3-price strong { font-size: 23px; }
    .e3-guided .e3-plan-name small { display: block; }
}
