[data-flex-option][hidden] { display: none !important; }
[data-flex-option] { grid-column: 1 / -1; text-align: center; margin-top: 8px; }
.flex-button { width: 100%; min-height: 48px; padding: 12px 20px; border: 1px solid #397f8d; border-radius: 999px; background: #f5fafb; color: #112a45; font: inherit; cursor: pointer; }
.flex-button:hover { background: rgba(127,217,232,.12); }
.flex-button:focus-visible { outline: 2px solid #7fd9e8; outline-offset: 4px; }
.flex-button:disabled { opacity: .6; cursor: wait; }
.flex-hint { margin: 10px 0 0; color: #59616c; font-size: 13px; line-height: 1.5; }
.flex-return { min-height: 100vh; margin: 0; background: #050a0c; color: #e8eaed; font: 18px/1.6 system-ui, sans-serif; display: grid; place-items: center; }
.flex-return main { max-width: 600px; padding: 32px; }
.flex-return a { color: #7fd9e8; }

.founding-original { opacity: .6; font-size: .7em; margin-right: .4em; }
.founding-benefits { line-height: 1.65; margin: 1rem 0; }

/* HSA/FSA announcement above the consumer site's navigation. */
.has-payment-banner { --payment-banner-h:30px; --nav-h:94px; }
.has-payment-banner .nav { top:var(--payment-banner-h); height:64px; }
.payment-announcement { position:fixed; inset:0 0 auto; height:30px; z-index:60; display:grid; place-items:center; background:#173038; color:#D4E9EC; border-bottom:1px solid #29434B; }
.payment-announcement a { display:flex; justify-content:center; align-items:center; gap:5px; width:100%; height:100%; padding:5px 12px; font-size:11px; letter-spacing:.015em; line-height:1.2; text-align:center; }
.payment-announcement strong { font-weight:500; color:#A9DCE4; }
.payment-announcement a > span { margin-left:7px; opacity:.65; font-size:12px; }
.payment-announcement a:hover { background:#1D3942; }
.payment-announcement a:focus-visible { outline:2px solid #A9DCE4; outline-offset:-3px; }
.purchase-flex-note { display:flex; align-items:flex-start; gap:14px; padding:16px; margin-top:12px; border:1px solid #365760; border-radius:10px; background:#102329; }
.purchase-flex-label { flex-shrink:0; padding:6px 8px; border-radius:4px; background:#B9E2E7; color:#102C33; font:600 11px/1.3 var(--ff-body); }
.purchase-flex-note strong { font-size:14px; font-weight:500; }
.purchase-flex-note p { font-size:12px; color:var(--ash); margin:3px 0 6px; }
.purchase-flex-note a { font-size:12px; color:var(--ice); text-decoration:underline; text-underline-offset:3px; }
@media(max-width:420px){ .payment-announcement a { font-size:11px; gap:4px; } .purchase-flex-note { gap:10px; padding:14px; } }
