/* The purchase desk: actions first, a readable receipt alongside. */
.checkout-page .checkout-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:6rem;border-bottom:1px solid var(--line)}.checkout-header>a:last-child{font-size:1rem;color:var(--muted);min-height:44px;display:flex;align-items:center}
.checkout-page .checkout-layout{display:grid;grid-template-columns:minmax(0,40rem) minmax(0,26rem);column-gap:6rem;row-gap:2.5rem;justify-content:center;padding:2.5rem 0 4rem;align-items:start}
.checkout-intro{grid-column:1/-1}.checkout-intro>a{display:none}.checkout-intro h1{font-size:2.8rem;line-height:1.15;margin:0 0 .65rem}.checkout-intro>p{font-size:1.0625rem;color:var(--muted);margin:0}
.checkout-page .checkout-summary{grid-column:1;grid-row:2;min-width:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.checkout-order{grid-column:2;grid-row:2;min-width:0;padding:1.75rem;background:var(--halo-surface);border-radius:1rem;position:sticky;top:2rem;box-shadow:0 1.5rem 3rem #0002;animation:receipt-arrive 600ms var(--ease-out) both}
.receipt-heading{display:flex;align-items:center;gap:.75rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line);font-size:1.0625rem;font-weight:600}.receipt-heading>img{width:2.25rem;height:2.25rem}.receipt-heading>svg{margin-left:auto;color:var(--muted)}
.receipt-identity{display:flex;gap:.875rem;align-items:center;margin:1.5rem 0;min-width:0}.identity-mark{width:3rem;height:3rem;border-radius:.75rem;background:#172d50;color:#93c5fd;position:relative;flex:none;overflow:hidden}.identity-mark>svg{position:absolute;inset:.75rem;width:1.5rem;height:1.5rem;transition:transform 250ms var(--ease-out),opacity 200ms}.identity-mark .identity-confirmed{opacity:0;transform:translateY(100%)}.receipt-identity>div{min-width:0;flex:1}.receipt-identity strong{display:block;font-weight:550;font-size:1rem;overflow-wrap:anywhere}.receipt-identity [data-preview-status]{display:block;font-size:.875rem;color:var(--muted);margin-top:.25rem}
[data-state=connected] .identity-mark>svg:first-child{opacity:0;transform:translateY(-100%)}[data-state=connected] .identity-mark .identity-confirmed{opacity:1;transform:none}[data-state=connected] .identity-mark{color:var(--halo-success);background:#15352f}
.receipt-plan{padding:1.25rem 0;border-block:1px dashed var(--halo-line-strong)}.receipt-plan h2{font-size:1.125rem;margin:0 0 .5rem}.receipt-plan>span{font-size:1.75rem;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.receipt-plan small{font-size:.9rem;color:var(--muted);letter-spacing:0}.receipt-inclusions-label{font-size:.9rem;color:var(--muted);margin:1.5rem 0 .75rem}.checkout-order .plan-inclusions{display:grid;gap:.65rem;margin:0;padding:0;list-style:none;font-size:.95rem}.checkout-order .plan-inclusions li{display:flex;align-items:center;gap:.75rem}.checkout-order .plan-inclusions svg{color:#93c5fd;flex:none}
.membership-preview-steps{display:grid;gap:1.25rem;list-style:none;padding:1.5rem 0 0;margin:1.5rem 0 0;border-top:1px solid var(--line)}.membership-preview-steps li{display:flex;align-items:center;gap:.75rem;font-size:.95rem;color:var(--muted);position:relative}.membership-preview-steps li:not(:last-child)::after{content:'';position:absolute;left:.85rem;top:1.75rem;height:1.25rem;width:1px;background:var(--halo-line-strong)}.membership-preview-steps li>span{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;border:1px solid var(--halo-line-strong);font-size:.8rem;transition:background 200ms,color 200ms}.membership-preview-steps li[data-complete=true]>span{background:#2563eb;border-color:#2563eb;color:white}.membership-preview-steps li[aria-current=step]{color:var(--ink)}.membership-preview-steps li[aria-current=step]>span{border-color:#93c5fd;color:#93c5fd}.membership-preview-discount{font-size:.9rem;color:#93c5fd;overflow-wrap:anywhere;margin-top:1rem}.membership-access-note{font-size:.875rem;line-height:1.7;color:var(--muted);margin:1.5rem 0 0}
.checkout-page .checkout-plans{display:flex;gap:.35rem;padding:.35rem;border:1px solid var(--line);border-radius:.65rem;background:var(--halo-inset);margin:0 0 1.5rem}.checkout-page .checkout-plans a{flex:1;display:flex;align-items:center;justify-content:center;min-height:3rem;padding:.5rem;font-size:1rem;color:var(--muted);border-radius:.4rem;text-align:center}.checkout-page .checkout-plans a[aria-current=page]{background:#2563eb;color:white}
.checkout-page #summary-title{font-size:1.1rem;margin:0 0 .5rem;color:var(--muted)}.checkout-page .checkout-price{display:flex;align-items:baseline;gap:.75rem;margin:0;flex-wrap:wrap;line-height:1.1}.checkout-price strong{font-size:3rem;font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.checkout-price>span{font-size:1rem;color:var(--muted)}.checkout-page .plan-comparison{font-size:.9rem;line-height:1.65;color:var(--muted);margin-top:.75rem}.plan-comparison>span{color:#93c5fd}.checkout-renewal,.checkout-balance-note{font-size:.95rem;line-height:1.65;color:var(--muted);margin:.75rem 0 0}.checkout-balance-note{color:#c3d2ea}.checkout-totals{display:none}
.checkout-page :is(.checkout-account,.checkout-payment){display:flex;gap:1rem;border-top:1px solid var(--line);padding-top:1.5rem;margin-top:1.5rem}.checkout-account>div,.checkout-payment>div{min-width:0;flex:1}.checkout-step{display:grid;place-items:center;width:1.75rem;height:1.75rem;flex:none;background:#152849;color:#93c5fd;font-size:.75rem;border-radius:50%;margin-top:.1rem}.checkout-summary h3{font-size:1.25rem;line-height:1.5;margin:0}.checkout-page :is(.checkout-account p,.checkout-payment p){font-size:1rem;line-height:1.65;color:var(--muted);margin:.5rem 0 0}.checkout-page #checkout-auth{margin-top:1rem;display:grid;gap:1rem}.checkout-page #checkout-auth label{display:block;font-size:1rem;margin-bottom:.5rem}.checkout-page #checkout-auth[aria-busy=true]{opacity:.65}.checkout-page #checkout-auth .button{width:100%;margin:0}.checkout-page .checkout-auth-actions{display:flex;flex-wrap:wrap;gap:1rem}.checkout-auth-actions button{background:transparent;color:#93c5fd;font-size:.95rem;min-height:3.5rem}.checkout-page #checkout-auth .checkout-consent{display:flex;align-items:start;gap:.75rem;line-height:1.7;font-size:.95rem}.checkout-consent a{color:#93c5fd}.checkout-consent input{margin-top:.25rem}.checkout-page .checkout-payment .button{width:100%;margin-top:1rem}.checkout-discount-label{display:block;margin-top:1.25rem;font-size:1rem;color:var(--muted)}.checkout-page .checkout-discount{margin-top:.5rem}.checkout-page .checkout-test-label{color:var(--halo-warning)!important}.checkout-page .checkout-manage{display:inline-flex;align-items:center;min-height:44px;color:#93c5fd;font-size:.95rem;margin-top:.5rem}.checkout-page :is(#auth-message,#checkout-message)[role=alert]{color:var(--halo-danger)}.checkout-help{padding-top:1.25rem;margin-top:1.5rem;border-top:1px solid var(--line);font-size:.95rem;color:var(--muted)}.checkout-help a{color:#93c5fd}
.checkout-questions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.4fr;gap:5rem;padding-top:2.5rem;margin-top:1rem;border-top:1px solid var(--line)}.checkout-questions h2{font-size:1.75rem;margin:0 0 .75rem}.checkout-questions a{font-size:.95rem;color:#93c5fd}.checkout-questions details{border-bottom:1px solid var(--line)}.checkout-questions summary{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;font-size:1rem;cursor:pointer;list-style:none}.checkout-questions summary::-webkit-details-marker{display:none}.checkout-questions summary>span{color:#93c5fd}.checkout-questions details>p{font-size:1rem;line-height:1.75;color:var(--muted);padding-bottom:1.25rem}.checkout-footer{display:flex;justify-content:space-between;gap:2rem;padding-block:1.5rem;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)}.checkout-footer nav{display:flex;gap:1.5rem}.checkout-footer a{min-height:44px;display:flex;align-items:center}
@keyframes receipt-arrive{from{opacity:.65;transform:translateY(.75rem)}to{opacity:1;transform:none}}
.payment-dialog{padding:0;background:#101622;color:var(--halo-ink);border:1px solid #3a4d6d;width:min(60rem,calc(100% - 3rem));max-height:90dvh;overflow:auto;border-radius:1.25rem;box-shadow:0 3rem 8rem #0009}.payment-dialog::backdrop{background:#030711cc;backdrop-filter:blur(7px)}.payment-dialog[open]{animation:payment-arrive 250ms var(--ease-out) both}.payment-dialog-header{display:flex;justify-content:space-between;gap:1.5rem;padding:1.75rem 2rem;border-bottom:1px solid var(--line)}.payment-dialog-brand-row{display:flex;align-items:center;gap:1.25rem;margin-bottom:1rem;flex-wrap:wrap}.payment-dialog-brand{display:inline-flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600}.payment-dialog-stripe{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--muted)}.payment-dialog-stripe strong{color:#d7ddff}.payment-dialog-heading h2{font-size:1.875rem;margin:0 0 .6rem}.payment-dialog-heading p{font-size:1rem;color:var(--muted);line-height:1.7}.payment-dialog-close{flex:none;width:3.5rem;height:3.5rem;border-radius:.65rem;background:#172033;color:var(--muted);font-size:2rem;line-height:1}.payment-dialog-body{padding:1.75rem 2rem}.payment-dialog-message{font-size:1rem;color:var(--muted);line-height:1.8}.payment-dialog-message[role=alert]{color:var(--halo-danger)}.payment-dialog-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;min-height:20rem;color:var(--muted);font-size:1rem}.payment-skeleton{width:100%;display:grid;gap:1.25rem}.payment-skeleton span{height:3.5rem;background:#1d2b43;border-radius:.65rem;animation:halo-skeleton 1.6s ease-in-out infinite}.payment-skeleton span:first-child{width:55%;height:1.5rem}#stripe-embedded-checkout{min-height:20rem;background:white;border-radius:.75rem;overflow:hidden}.payment-dialog-retry{margin-top:1.25rem}
@keyframes payment-arrive{from{opacity:.5;transform:translateY(1rem) scale(.97)}to{opacity:1;transform:none}}

@media(hover:hover) and (pointer:fine){.checkout-plans a:hover:not([aria-current]){background:#172033;color:var(--ink)}.payment-dialog-close:hover{background:#243755;color:#edf2fc}}
@media(max-width:1000px){.checkout-page .checkout-layout{column-gap:3rem;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}
@media(max-width:700px){.checkout-page .checkout-header{min-height:5.5rem}.checkout-page .checkout-header .brand>span{font-size:1.3rem}.checkout-header>a:last-child{font-size:.9rem}.checkout-page .checkout-layout{display:flex;flex-direction:column;gap:1.5rem;padding:1.75rem 0 3rem}.checkout-intro{order:0}.checkout-intro h1{font-size:2.25rem;margin:0}.checkout-intro>p{display:none}.checkout-page .checkout-summary{order:1;width:100%}.checkout-page .checkout-plans{margin-bottom:1rem}.checkout-page .checkout-plans a{min-height:44px}.checkout-page #summary-title{font-size:1rem}.checkout-price strong{font-size:2.75rem}.checkout-page .plan-comparison{font-size:.9rem}.checkout-renewal,.checkout-balance-note{font-size:.9rem;margin-top:.6rem}.checkout-page .checkout-account{margin-top:1.25rem;padding-top:1.25rem}.checkout-page .checkout-account>div>h3,.checkout-page #account-description{display:none}.checkout-page .checkout-account:has(#checkout-auth[hidden])>div>h3,.checkout-page .checkout-account:has(#checkout-auth[hidden]) #account-description{display:block}.checkout-page #checkout-auth{margin-top:0}.checkout-step{display:none}.checkout-page .checkout-payment{margin-top:1.25rem;padding-top:1.25rem}.checkout-page .checkout-payment .button{min-height:44px}.checkout-order{order:2;position:static;width:100%;padding:1.5rem;box-shadow:none;animation:none}.checkout-questions{order:3;grid-template-columns:1fr;gap:1rem;padding-top:2rem;margin-top:.5rem}.checkout-footer{flex-direction:column;gap:.5rem}.checkout-footer nav{gap:1.5rem}.payment-dialog{width:calc(100% - 1.5rem);max-height:94dvh}.payment-dialog-header,.payment-dialog-body{padding:1.25rem}.payment-dialog-close{min-width:44px;min-height:44px}.checkout-page #checkout-auth input:not([type=checkbox]){font-size:16px;min-height:44px}}
@media(prefers-reduced-motion:reduce){.checkout-order,.payment-dialog[open],.payment-skeleton span{animation:none}.identity-mark>svg,.membership-preview-steps li>span{transition:none}.payment-dialog::backdrop{backdrop-filter:none}}

/* Checkout wording and spacing share the account type scale. */
.checkout-intro h1{font-size:2.6rem;line-height:1.2;letter-spacing:-.03em}.checkout-intro>p{font-size:1.05rem;line-height:1.75;max-width:48rem}.checkout-order{border:1px solid #27344b;border-radius:.875rem}.checkout-questions h2{font-size:1.75rem;line-height:1.3}.checkout-page .checkout-payment{padding-top:1.75rem}.checkout-page .checkout-account{padding-top:1.75rem}.checkout-renewal,.checkout-balance-note{line-height:1.8}.checkout-page #account-description{margin-bottom:.75rem}@media(max-width:700px){.checkout-intro h1{font-size:2.15rem}.checkout-order{border-radius:.875rem}.checkout-questions h2{font-size:1.65rem}}
