/* Founding membership preview. Uses FKE's existing theme variables. */
.fo-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(230px,.7fr);gap:24px;align-items:stretch;margin:22px 0 24px;padding:28px;border:1px solid var(--border-strong);border-radius:20px;background:var(--surface-card)}
.fo-hero h1{font-size:clamp(28px,3.2vw,43px);line-height:1.08;margin:0 0 15px;max-width:15ch}
.fo-hero .screen-sub{max-width:62ch;margin:0}
.fo-hero-lead{margin:0 0 7px;color:var(--fg);font-size:clamp(17px,2vw,21px);font-weight:750;line-height:1.35}
.fo-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 10px}
.fo-actions .btn{min-height:43px}
.fo-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.fo-hero-actions .btn{width:auto;min-width:0;min-height:44px;padding:10px 16px;justify-content:center;text-align:center;white-space:normal;line-height:1.3}
.fo-small{font-size:12px;line-height:1.55;color:var(--fg-dim);margin:8px 0 0}
.fo-small+.fo-small{margin-top:5px}
.fo-small a,.fo-panel a{color:var(--accent-strong)}
.fo-payment-choices{margin:12px 0 16px;padding:16px;border:1px solid var(--ab-gold);border-radius:14px;background:var(--ab-gold-soft)}
.fo-payment-choices[hidden]{display:none!important}
.fo-payment-choices strong{display:block;color:var(--fg);font-size:14px}
.fo-payment-choices .fo-actions{margin:12px 0 8px}
.fo-payment-choices p{margin:0;color:var(--fg-dim);font-size:12px;line-height:1.5}
.fo-selling[hidden],.fo-member-welcome[hidden],.fo-member-benefits-link[hidden],.fo-member [hidden]{display:none!important}
.fo-member-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:22px 0 24px;padding:28px;border:1px solid var(--ab-gold);border-radius:20px;background:linear-gradient(135deg,var(--ab-gold-soft),var(--surface-card) 70%)}
.fo-member-welcome h1{font-size:clamp(26px,3vw,39px);line-height:1.12;margin:0 0 10px}
.fo-member-welcome p{max-width:55ch;margin:0;color:var(--fg-dim);font-size:14px;line-height:1.6}
.fo-member-welcome .btn{flex:none;min-height:48px}
.fo-welcome-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:min(100%,235px);flex:none}
.fo-welcome-actions .btn{width:100%;min-width:0;justify-content:center;text-align:center;white-space:normal}
.fo-member-welcome [hidden]{display:none!important}
.fo-price{padding:24px;border-radius:15px;background:var(--ab-gold-soft);border:1px solid var(--ab-gold);display:flex;flex-direction:column;justify-content:center}
.fo-price>span{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ab-gold)}
.fo-price strong{font-size:clamp(35px,4vw,52px);line-height:1.1;color:var(--fg);margin:12px 0}
.fo-price strong .fo-amount{font-size:inherit;font-weight:inherit;color:inherit}
.fo-price strong span{font-size:17px;font-weight:600;color:var(--fg-dim)}
.fo-usd-guide{margin:0 0 14px;color:var(--fg-dim);font-size:12px;line-height:1.5}
.fo-fx-inline{color:var(--fg-dim);font-size:.82em;font-weight:500;white-space:nowrap}
.fo-price-list{list-style:none;margin:6px 0 0;padding:16px 0 0;border-top:1px solid var(--ab-gold);display:grid;gap:12px}
.fo-price-list li{position:relative;padding-left:20px;color:var(--fg-dim);font-size:13px;line-height:1.5}
.fo-price-list li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--ab-gold)}
.fo-price-list b{color:var(--fg);font-weight:750}
.fo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 12px}
.fo-panel{border:1px solid var(--border);border-radius:15px;background:var(--surface-card);padding:22px}
.fo-panel-feature{background:linear-gradient(140deg,var(--ab-gold-soft),var(--surface-card) 72%);border-color:var(--ab-gold)}
.fo-panel-kicker{display:block;color:var(--ab-gold);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px}
.fo-panel h2{font-size:18px;line-height:1.25;margin:0 0 14px}
.fo-panel p{font-size:13px;line-height:1.65;color:var(--fg-dim);margin:0}
.fo-panel p+p{margin-top:10px}
.fo-list{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.fo-list li{position:relative;padding-left:21px;color:var(--fg-dim);font-size:13px;line-height:1.6}
.fo-list li::before{content:"";position:absolute;left:0;top:.63em;width:8px;height:8px;border:2px solid var(--ab-gold);border-radius:50%;box-sizing:border-box}
.fo-terms{display:grid;grid-template-columns:minmax(150px,.5fr) minmax(0,1.5fr);gap:18px;margin-bottom:30px}
.fo-terms h2{margin-bottom:0}
.fo-benefits{margin:26px 0 32px;padding:24px;border:1px solid var(--border-strong);border-radius:16px;background:var(--surface-card);scroll-margin-top:20px}
.fo-benefits h2{font-size:23px;line-height:1.2;margin:0 0 8px}
.fo-benefits>p{font-size:14px;line-height:1.6;color:var(--fg-dim);margin:0 0 18px}
.fo-table-scroll{overflow-x:auto}
.fo-compare{width:100%;min-width:560px;border-collapse:collapse;font-size:14px;line-height:1.5}
.fo-compare th,.fo-compare td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}
.fo-compare thead th{color:var(--fg);background:var(--surface-raised);font-weight:750}
.fo-compare tbody th{color:var(--fg);font-weight:650;width:38%}
.fo-compare tbody td{color:var(--fg-dim)}
.fo-compare tbody td:last-child{color:var(--fg);font-weight:600}
.fo-compare tr:last-child th,.fo-compare tr:last-child td{border-bottom:0}
.fo-member-benefits-link{margin-top:16px}
#memberDashboard.fo-practice-first{grid-template-columns:minmax(0,1fr)}
.fo-path-heading{margin:28px 0 12px}
.fo-path-heading h2{font-size:21px;margin:0 0 5px}
.fo-path-heading p{font-size:13px;color:var(--fg-dim);margin:0}
.fo-inline-link{appearance:none;border:0;background:none;color:var(--accent-strong);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:2px;padding:0}
.fo-inline-link:hover{color:var(--accent)}
.fo-inline-link:focus-visible,.fo-actions button:focus-visible,.fo-member button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.fo-member{margin:16px 0;padding:20px;border:1px solid var(--ab-gold);border-radius:14px;background:var(--ab-gold-soft)}
.fo-member h2{margin:0 0 8px;font-size:19px}
.fo-member p{font-size:13px;line-height:1.55;margin:0 0 12px;color:var(--fg-dim)}
.fo-member .fo-actions{margin:10px 0}
.fo-promptpay-note{margin:4px 0 14px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-raised)}
.fo-promptpay-note p{margin:0 0 8px;color:var(--fg-dim);font-size:13px;line-height:1.55}
.fo-plan-details{margin:16px 0 12px;padding:14px 16px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface-card)}
.fo-plan-details summary{cursor:pointer;color:var(--fg);font-size:14px;font-weight:750}
.fo-plan-details summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.fo-plan-details>div{padding-top:13px}
.fo-plan-details [data-fo-plan-rate],.fo-plan-details [data-fo-access-through]{color:var(--fg);font-weight:700}
.fo-plan-details ul{margin:6px 0 14px;padding-left:20px;color:var(--fg);font-size:13px;line-height:1.7}
.fo-plan-details li+li{margin-top:4px}
.fo-member-status{font-size:13px;color:var(--fg);min-height:1.5em}
@media(max-width:760px){.fo-hero{grid-template-columns:1fr;padding:20px;gap:18px}.fo-hero h1{max-width:none}.fo-grid,.fo-terms{grid-template-columns:1fr}.fo-terms{gap:10px}.fo-price{padding:19px}.fo-actions .btn{width:100%;justify-content:center}.fo-benefits{padding:18px}.fo-member-benefits-link{width:100%;justify-content:center}.fo-member-welcome{align-items:flex-start;flex-direction:column;padding:20px}.fo-welcome-actions{width:100%;justify-content:stretch}.fo-member-welcome .btn{width:100%;justify-content:center}}
@media(max-width:480px){.fo-panel{padding:19px}}

.fo-account-summary{margin:16px 0 20px;padding:18px;border:1px solid var(--border-strong);border-radius:16px;background:var(--surface-card)}
.fo-account-summary h2{margin:0 0 8px;font-size:19px}
.fo-account-summary p{margin:8px 0;overflow-wrap:anywhere;color:var(--fg-dim)}
#accountAccessSummary{color:var(--fg);font-weight:700}
.fo-account-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.fo-account-summary [hidden],.fo-member[hidden],.fl-member-subnav[hidden]{display:none!important}
#flProfilePane .member-password-panel{margin-top:20px;max-width:none}

/* Account destinations clear the sticky learning toolbar. */
#memberSignedOut,.fo-account-summary{scroll-margin-top:130px}

#memberPersonalPractice [hidden]{display:none!important}

#memberSignedOut{grid-template-columns:minmax(0,1fr);max-width:680px;margin:16px 0 24px}

.fo-account-tools .btn{min-height:44px;min-width:0;display:flex;align-items:center;justify-content:center;white-space:normal;line-height:1.3}
@media(max-width:760px){.fo-account-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.fo-account-tools .btn{width:100%}}
@media(max-width:380px){.fo-account-tools{grid-template-columns:minmax(0,1fr)}}
/* Keep the normal beta announcement available to assistive technology;
   accountAccessSummary already states it visually. Errors remain visible. */
#memberAccessStatus.fo-status-quiet{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

#flBillingPane .fo-member{margin:0 0 20px;padding:0;border:0;background:transparent}
#flBillingPane .fo-plan-details{margin:0 0 12px}

.fo-account-primary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.fo-account-summary>[data-account-explore]{margin-top:12px}
#flBillingPane .fo-plan-details>summary{display:none}
@media(max-width:480px){.fo-account-primary{grid-template-columns:1fr}}

/* Account management stays separate from the learning dashboard. */
#memberPersonalPractice[hidden], #memberBenefits[hidden], #flIntroTab[hidden], .member-hero > .member-plan-badge[hidden] { display:none!important; }
.fo-account-membership { padding:16px; border:1px solid var(--border); border-radius:12px; margin:16px 0; }
.fo-account-membership h3 { margin:0 0 8px; font-size:16px; }
.fo-account-membership .fo-plan-premium { color:var(--ab-gold); }
.fo-account-membership .btn { margin-top:8px; }

/* Keep payment choices aligned and readable in either interface language. */
.fo-payment-choices .fo-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px}
.fo-payment-choices .fo-actions .btn{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:44px;white-space:normal;line-height:1.4;text-align:center}
@media(max-width:760px){.fo-payment-choices .fo-actions{grid-template-columns:1fr}}

/* Align the three main choices with the payment panel below. */
.fo-hero > div > .fo-hero-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:10px}
.fo-hero > div > .fo-hero-actions .btn{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:44px;white-space:normal;line-height:1.4;text-align:center}
@media(max-width:760px){.fo-hero > div > .fo-hero-actions{grid-template-columns:1fr}}
