:root{color-scheme:dark;--bg:#030708;--surface:#0a1514;--surface-2:#0e1b19;--line:rgba(56,224,168,.18);--line-strong:rgba(56,224,168,.42);--text:#f4faf8;--muted:#98aaa5;--green:#7fdd0b;--mint:#20d6a0;--danger:#ff8b8b}*{box-sizing:border-box}html{background:var(--bg);font-family:Inter,system-ui,sans-serif;color:var(--text)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% -10%,rgba(20,120,84,.16),transparent 38%),linear-gradient(rgba(27,94,74,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(27,94,74,.07) 1px,transparent 1px),var(--bg);background-size:auto,80px 80px,80px 80px}.checkout-header{width:min(1280px,calc(100% - 40px));min-height:76px;margin:0 auto;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.checkout-brand{color:var(--text);text-decoration:none;font-family:Outfit,sans-serif;font-size:19px;letter-spacing:.04em}.checkout-brand span{color:var(--mint)}.checkout-back{color:var(--muted);text-decoration:none;font-size:14px}.checkout-back:hover,.checkout-back:focus-visible{color:var(--text)}.checkout-shell{width:min(1280px,calc(100% - 40px));margin:54px auto 80px}.checkout-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:end;margin-bottom:34px}.checkout-eyebrow{color:var(--mint);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px}.checkout-intro h1,.checkout-message h1{font:700 clamp(36px,5vw,64px)/.98 Outfit,sans-serif;letter-spacing:-.045em;margin:0 0 18px}.checkout-intro>div>p:last-child{max-width:680px;color:var(--muted);font-size:17px;line-height:1.7;margin:0}.checkout-progress{display:flex;list-style:none;margin:0;padding:0;gap:8px}.checkout-progress li{display:flex;align-items:center;gap:8px;color:#60726d;font-size:12px;font-weight:700;white-space:nowrap}.checkout-progress span{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:50%}.checkout-progress li.is-active{color:var(--text)}.checkout-progress li.is-active span{border-color:var(--green);color:var(--green);box-shadow:0 0 18px rgba(127,221,11,.15)}.checkout-progress li.is-complete span{background:var(--mint);border-color:var(--mint);color:#03100d}.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px;align-items:start}.checkout-form,.checkout-summary,.checkout-message{border:1px solid var(--line);background:linear-gradient(145deg,rgba(13,27,25,.98),rgba(5,13,12,.98));border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.22)}.checkout-form{padding:clamp(24px,4vw,48px)}.checkout-step{border:0;margin:0;padding:0}.js .checkout-step{display:none}.js .checkout-step.is-active{display:block}.checkout-step legend{display:flex;gap:12px;align-items:center;font:700 28px/1.1 Outfit,sans-serif;padding:0}.checkout-step legend span{color:var(--mint);font:800 11px/1 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase}.checkout-step-copy{color:var(--muted);line-height:1.6;margin:12px 0 30px}.checkout-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.checkout-field{display:grid;gap:9px;color:var(--text);font-size:13px;font-weight:700}.checkout-field small{color:var(--muted);font-weight:500}.checkout-field-wide{grid-column:1/-1}.checkout-field input,.checkout-field select,.checkout-field textarea{width:100%;border:1px solid rgba(141,189,174,.2);background:#07110f;color:var(--text);border-radius:12px;padding:14px 15px;min-height:50px;font:500 15px/1.35 Inter,sans-serif;outline:none}.checkout-field textarea{resize:vertical}.checkout-field input:focus,.checkout-field select:focus,.checkout-field textarea:focus{border-color:var(--mint);box-shadow:0 0 0 3px rgba(32,214,160,.12)}.checkout-field-error{color:var(--danger);font-size:12px;font-weight:600}.checkout-field.is-hidden{display:none}.checkout-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:34px}.checkout-button,.checkout-primary-link{border:0;border-radius:12px;min-height:50px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:22px;font:800 14px/1 Inter,sans-serif;text-decoration:none;cursor:pointer}.checkout-button-primary,.checkout-primary-link{background:var(--green);color:#071000}.checkout-button-primary:hover,.checkout-primary-link:hover{filter:brightness(1.08)}.checkout-button-secondary{background:transparent;color:var(--text);border:1px solid rgba(255,255,255,.15)}.checkout-consent{display:flex;align-items:flex-start;gap:12px;color:var(--muted);font-size:13px;line-height:1.55;margin-top:24px}.checkout-consent input{margin-top:3px;accent-color:var(--green)}.checkout-review-note,.checkout-alert{margin-top:22px;border-left:3px solid var(--mint);background:rgba(32,214,160,.06);padding:16px;color:var(--muted);font-size:13px;line-height:1.55}.checkout-alert{border-left-color:var(--danger);color:#ffd1d1;margin:0 0 24px}.checkout-summary{position:sticky;top:22px;padding:28px}.checkout-summary-tag{color:var(--mint);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.checkout-summary h2{font:700 30px/1 Outfit,sans-serif;margin:12px 0 22px}.checkout-price{display:flex;align-items:baseline;gap:7px;border-block:1px solid var(--line);padding:20px 0}.checkout-price small{color:var(--mint);font-weight:800}.checkout-price strong{font:700 42px/1 Outfit,sans-serif}.checkout-price span{color:var(--muted);font-size:12px}.checkout-summary>p{color:var(--muted);font-size:13px;line-height:1.65}.checkout-summary dl{margin:22px 0}.checkout-summary dl div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:12px 0}.checkout-summary dt{color:var(--muted);font-size:13px}.checkout-summary dd{margin:0;font-weight:700;font-size:13px}.checkout-summary ul{list-style:none;margin:20px 0;padding:0;display:grid;gap:12px}.checkout-summary li{color:#c8d6d2;font-size:13px;padding-left:22px;position:relative}.checkout-summary li:before{content:'✓';position:absolute;left:0;color:var(--green);font-weight:900}.checkout-summary .checkout-summary-help{border-top:1px solid var(--line);padding-top:18px;margin-top:22px;font-size:12px}.checkout-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.checkout-message{max-width:820px;margin:8vh auto;text-align:center;padding:clamp(38px,7vw,82px)}.checkout-message-icon{display:grid;place-items:center;width:62px;height:62px;border:1px solid var(--line-strong);border-radius:18px;margin:0 auto 24px;color:var(--green);font-size:26px}.checkout-message>p:not(.checkout-eyebrow){color:var(--muted);line-height:1.7}.checkout-order-number{display:inline-grid;gap:7px;border:1px solid var(--line);background:rgba(32,214,160,.05);border-radius:14px;padding:16px 26px;margin:18px 0}.checkout-order-number span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.checkout-order-number strong{font-family:Outfit,sans-serif}.checkout-next{max-width:620px;margin:10px auto 28px}.checkout-footer{width:min(1280px,calc(100% - 40px));margin:0 auto;padding:24px 0 34px;border-top:1px solid var(--line);text-align:center;color:#59706a;font-size:12px}@media(max-width:920px){.checkout-intro{grid-template-columns:1fr}.checkout-layout{grid-template-columns:1fr}.checkout-summary{position:static;grid-row:1}.checkout-progress{overflow-x:auto;padding-bottom:4px}.checkout-fields{grid-template-columns:1fr}.checkout-field-wide{grid-column:auto}}@media(max-width:560px){.checkout-header,.checkout-shell,.checkout-footer{width:min(100% - 24px,1280px)}.checkout-header{min-height:64px}.checkout-brand{font-size:16px}.checkout-back{font-size:12px}.checkout-shell{margin-top:34px}.checkout-intro{gap:28px}.checkout-intro h1{font-size:38px}.checkout-progress{justify-content:space-between}.checkout-progress li{font-size:0;gap:0}.checkout-progress li span{font-size:12px}.checkout-form,.checkout-summary{border-radius:18px}.checkout-form{padding:24px 18px}.checkout-step legend{display:grid;font-size:24px}.checkout-actions{flex-direction:column-reverse}.checkout-button{width:100%}.checkout-price strong{font-size:36px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

/* Scorpay checkout refinements: preserve the public Scorpay canvas and components. */
.checkout-page .checkout-shell > .checkout-success:first-of-type {
    padding: clamp(24px, 4vw, 44px) !important;
    margin: 0 auto;
    max-width: 820px;
}
.checkout-page .checkout-success h1 { font-size: clamp(28px, 4vw, 42px); line-height: 1.15; }
.checkout-page .checkout-success .checkout-message-icon { margin-bottom: 16px; }
.checkout-receipt-panel { display: grid; gap: 16px; text-align: left; margin: 24px 0; padding: 20px; border: 1px solid var(--line); border-radius: 16px; }
.checkout-receipt-panel h2, .checkout-receipt-panel p { margin: 0; }
.checkout-receipt-panel h2 { font-size: 20px; }
.checkout-receipt-panel small { color: var(--muted); line-height: 1.5; }
.checkout-receipt-form { display: grid; gap: 14px; min-width: 0; }
.checkout-receipt-form input { max-width: 100%; min-width: 0; box-sizing: border-box; }
.checkout-receipt-panel .checkout-button { white-space: normal; text-align: center; text-decoration: none; }
.checkout-success { --muted: #fff; }
.checkout-success p:not(.checkout-eyebrow), .checkout-success small,
.checkout-success .checkout-order-number span { color: #fff; }
.checkout-receipt-confirmation { display: grid; gap: 8px; padding: 16px; border: 1px solid var(--line); border-left: 3px solid #20d6a0; border-radius: 12px; background: rgba(32, 214, 160, .07); overflow-wrap: anywhere; }
.checkout-receipt-additional { min-width: 0; }
.checkout-bank-copy { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.checkout-bank-copy span { overflow-wrap: anywhere; min-width: 0; }
.checkout-bank-copy button { min-height: 44px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 10px; background: rgba(32,214,160,.08); color: #fff; font: inherit; cursor: pointer; }
.checkout-bank-copy button:focus-visible { outline: 2px solid #20d6a0; outline-offset: 3px; }
.checkout-copy-temporary { position: fixed; left: -9999px; top: 0; }
.checkout-receipt-additional summary { display: list-item; cursor: pointer; color: #fff; padding: 12px 4px; min-height: 44px; box-sizing: border-box; }
.checkout-receipt-additional summary:focus-visible { outline: 2px solid #20d6a0; outline-offset: 4px; border-radius: 4px; }
.checkout-receipt-additional[open] .checkout-receipt-form { margin-top: 12px; }
.checkout-page {
    --bg: #090a0f;
    --surface: var(--sp-panel-solid, #101827);
    --surface-2: var(--sp-panel-soft, #0d1514);
    --line: var(--sp-line, rgba(16, 185, 129, .24));
    --line-strong: rgba(16, 185, 129, .5);
    --green: var(--sp-lime, #84cc16);
    --mint: var(--sp-emerald, #10b981);
    background: transparent;
}

.checkout-page #globalCanvasBg {
    z-index: 0;
}

.checkout-page > .checkout-header,
.checkout-page > .checkout-shell,
.checkout-page > .checkout-footer {
    position: relative;
    z-index: 1;
}

.checkout-page .checkout-shell {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 54px max(20px, calc((100vw - 1280px) / 2)) 80px;
}

.checkout-page .checkout-shell::before {
    z-index: -1;
}

.checkout-addons {
    display: grid;
    gap: 22px;
    margin-top: 34px;
}

.checkout-subheading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
}

.checkout-subheading span {
    color: var(--mint);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.checkout-subheading h3 {
    margin: 6px 0 0;
    color: var(--text);
    font: 700 22px/1.15 Outfit, sans-serif;
}

.checkout-subheading p {
    max-width: 350px;
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.5;
    text-align: right;
}

.checkout-addon-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.checkout-addon-card,
.checkout-affiliate-card,
.checkout-affiliate-included {
    border: 1px solid rgba(141, 189, 174, .18);
    background: rgba(5, 14, 13, .72);
    border-radius: 15px;
}

.checkout-addon-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 13px;
    align-items: center;
    min-height: 94px;
    padding: 16px;
    cursor: pointer;
    transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.checkout-addon-card:hover,
.checkout-affiliate-card:hover {
    border-color: rgba(16, 185, 129, .55);
}

.checkout-addon-card:has(input:checked),
.checkout-affiliate-card:has(input:checked) {
    border-color: var(--mint);
    background: rgba(16, 185, 129, .08);
}

.checkout-addon-card.is-included {
    cursor: default;
    border-color: rgba(132, 204, 22, .42);
    background: rgba(132, 204, 22, .07);
}

.checkout-addon-check input,
.checkout-affiliate-card > input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--green);
}

.checkout-addon-copy {
    display: grid;
    min-width: 0;
    gap: 5px;
}

.checkout-addon-copy strong,
.checkout-affiliate-card strong,
.checkout-affiliate-included strong {
    color: var(--text);
    font-size: 13px;
}

.checkout-addon-copy small,
.checkout-affiliate-card small {
    color: var(--muted);
    font-size: 11px;
    font-weight: 500;
    line-height: 1.45;
}

.checkout-addon-price {
    color: var(--green);
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.checkout-affiliate-block {
    display: grid;
    gap: 15px;
    padding-top: 4px;
}

.checkout-affiliate-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.checkout-affiliate-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 82px;
    padding: 14px;
    cursor: pointer;
}

.checkout-affiliate-card span {
    display: grid;
    gap: 4px;
}

.checkout-affiliate-card b {
    color: var(--green);
    font-size: 12px;
    white-space: nowrap;
}

.checkout-affiliate-included {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 17px;
    border-color: rgba(132, 204, 22, .42);
}

.checkout-affiliate-included span {
    color: var(--green);
    font-size: 12px;
    font-weight: 800;
}

.checkout-summary-totals {
    display: grid;
    border-block: 1px solid var(--line);
    margin: 20px 0;
    padding: 10px 0;
}

.checkout-summary-totals > div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 7px 0;
    color: var(--muted);
    font-size: 12px;
}

.checkout-summary-totals strong {
    color: var(--text);
}

.checkout-summary-totals .is-total {
    margin-top: 5px;
    padding-top: 12px;
    border-top: 1px solid var(--line);
    color: var(--text);
    font-size: 14px;
    font-weight: 800;
}

.checkout-summary-totals .is-total strong {
    color: var(--green);
    font-size: 17px;
}

@media (max-width: 760px) {
    .checkout-page .checkout-shell {
        padding: 34px 12px 58px;
    }

    .checkout-addon-grid,
    .checkout-affiliate-options {
        grid-template-columns: 1fr;
    }

    .checkout-subheading {
        display: grid;
        gap: 9px;
    }

    .checkout-subheading p {
        text-align: left;
    }
}

.checkout-page .checkout-payment-methods {
    margin-top: 26px;
    padding: 24px 0 0;
    max-width: none;
    border-top: 1px solid var(--line);
}

.checkout-page .checkout-payment-methods .checkout-subheading {
    margin-bottom: 16px;
}

.checkout-page .checkout-payment-methods .checkout-subheading h3 {
    margin: 0;
}

.checkout-page .checkout-payment-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
}

.checkout-page .checkout-payment-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
    min-height: 92px;
    padding: 16px 18px;
    border: 1px solid rgba(141, 189, 174, .2);
    border-radius: 16px;
    background: rgba(5, 14, 12, .74);
    cursor: pointer;
    transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.checkout-page .checkout-payment-card:hover,
.checkout-page .checkout-payment-card:focus-within {
    border-color: var(--line-strong);
    transform: translateY(-1px);
}

.checkout-page .checkout-payment-card:has(input:checked) {
    border-color: var(--mint);
    background: rgba(18, 72, 56, .26);
    box-shadow: inset 3px 0 0 var(--green);
}

.checkout-page .checkout-payment-card:only-child {
    grid-column: 1 / -1;
}

.checkout-page .checkout-payment-card input {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--green);
}

.checkout-page .checkout-payment-card span {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.checkout-page .checkout-payment-card strong {
    color: var(--text);
    font-size: 14px;
}

.checkout-page .checkout-payment-card small,
.checkout-page .checkout-summary-status {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.5;
}

.checkout-page .checkout-summary-status {
    margin: 12px 0 0;
}

.checkout-page .checkout-consents {
    display: grid;
    gap: 10px;
    margin-top: 24px;
    padding: 20px 0 0;
    max-width: none;
    border-top: 1px solid var(--line);
}

.checkout-page .checkout-consents .checkout-consent {
    margin: 0;
    padding: 14px 16px;
    border: 1px solid rgba(141, 189, 174, .18);
    border-radius: 14px;
    background: rgba(5, 14, 12, .56);
}

.checkout-page [hidden] { display: none !important; }
.checkout-account { margin: 0 0 28px; }
.checkout-account p, .checkout-registration p, .checkout-auth-dialog p { color: var(--muted); margin: 0; line-height: 1.6; }
.checkout-account-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.checkout-page .checkout-account-buttons .checkout-button {
    width: 100%; min-width: 0; min-height: 54px; padding: 15px 22px;
    border-radius: 14px; font-size: 15px; font-weight: 700; letter-spacing: .01em;
    white-space: normal; transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.checkout-page .checkout-account-buttons .checkout-button-primary {
    background: var(--green); color: #102000; border: 1px solid var(--green);
    box-shadow: 0 4px 16px rgba(132, 204, 22, .12);
}
.checkout-page .checkout-account-buttons .checkout-button-secondary {
    background: rgba(16, 185, 129, .07); color: var(--text); border: 1px solid var(--line-strong);
}
.checkout-page .checkout-account-buttons .checkout-button:hover {
    border-color: var(--green); box-shadow: 0 0 0 3px rgba(132, 204, 22, .1);
}
@media (max-width: 480px) {
    .checkout-account-buttons { grid-template-columns: minmax(0, 1fr); gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .checkout-page .checkout-account-buttons .checkout-button { transition: none; }
}
.checkout-account-status { color: var(--mint); margin-bottom: 20px; }
.checkout-registration { display: grid; gap: 16px; min-width: 0; padding: 20px 0; }
.checkout-registration .checkout-consent { margin: 0; }
.checkout-auth-dialog { box-sizing: border-box; width: min(480px, calc(100% - 24px)); max-height: calc(100dvh - 32px); margin: auto; padding: clamp(18px, 4vw, 30px); overflow-y: auto; border: 1px solid var(--line); border-radius: 20px; background: #0b1917; color: var(--text); }
.checkout-auth-dialog::backdrop { background: rgba(0, 0, 0, .75); }
.checkout-auth-dialog form { display: grid; gap: 20px; min-width: 0; }
.checkout-auth-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.checkout-auth-heading h2 { margin: 0; font-size: 24px; }
.checkout-auth-close { flex: 0 0 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--text); font-size: 28px; cursor: pointer; }
.checkout-auth-dialog a { color: var(--mint); text-align: center; font-size: 14px; text-underline-offset: 4px; }
.checkout-auth-dialog .checkout-button { white-space: normal; }
.checkout-auth-dialog input { box-sizing: border-box; min-width: 0; width: 100%; }
.checkout-page .checkout-account-buttons button:focus-visible, .checkout-auth-dialog button:focus-visible { outline: 2px solid var(--mint); outline-offset: 3px; }

.checkout-page .checkout-consent a {
    color: var(--mint);
    font-weight: 700;
    text-underline-offset: 3px;
}

.checkout-page .checkout-consent a:hover,
.checkout-page .checkout-consent a:focus-visible {
    color: var(--text);
}

.checkout-page .checkout-consents .checkout-field-error {
    margin: -4px 0 2px 34px;
}

.checkout-bank-accounts {
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    max-width: none;
    margin: 0 auto 28px;
    text-align: left;
}

.checkout-bank-accounts article {
    display: grid;
    gap: 5px;
    padding: 16px 18px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: rgba(32, 214, 160, .05);
}

.checkout-bank-accounts span,
.checkout-bank-accounts small {
    color: var(--muted);
}

@media (max-width: 760px) {
    .checkout-page .checkout-payment-grid {
        grid-template-columns: 1fr;
    }

    .checkout-page .checkout-payment-card {
        min-height: 0;
        padding: 16px;
    }

    .checkout-page .checkout-consents {
        margin-top: 22px;
        padding-top: 18px;
    }

    .checkout-page .checkout-consents .checkout-consent {
        padding: 15px;
    }
}

@media (max-width: 920px) {
    .checkout-page .checkout-summary {
        grid-row: auto;
    }
}

@media (max-width: 420px) {
    .checkout-addon-card,
    .checkout-affiliate-card {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .checkout-addon-price,
    .checkout-affiliate-card b {
        grid-column: 2;
        white-space: normal;
    }

    .checkout-affiliate-included {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Checkout flow: one deliberate reading column from mobile to ultrawide. */
.checkout-page .checkout-shell {
    padding-top: clamp(32px, 5vw, 64px);
}

.checkout-page .checkout-intro {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(28px, 4vw, 46px);
    max-width: 1040px;
    margin: 0 auto clamp(32px, 5vw, 52px);
    text-align: center;
}

.checkout-intro-copy {
    display: grid;
    justify-items: center;
    gap: 18px;
}

.checkout-page .checkout-intro h1 {
    max-width: 900px;
    margin: 0;
    text-wrap: balance;
}

.checkout-page .checkout-intro-copy > p {
    max-width: 720px;
    margin: 0;
    color: var(--muted);
    font-size: clamp(15px, 1.5vw, 18px);
    line-height: 1.65;
}

.checkout-page .checkout-progress {
    order: -1;
    width: min(100%, 650px);
    justify-content: center;
    gap: 0;
    overflow: visible;
}

.checkout-page .checkout-progress li {
    position: relative;
    flex: 1 1 0;
    justify-content: center;
    gap: 10px;
    min-width: 0;
    color: #71817c;
    font-size: 12px;
}

.checkout-page .checkout-progress li + li::before {
    content: '';
    width: clamp(20px, 4vw, 64px);
    height: 1px;
    margin-right: clamp(8px, 1.5vw, 18px);
    background: var(--line);
}

.checkout-page .checkout-progress span {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    background: rgba(5, 14, 13, .82);
}

.checkout-page .checkout-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    width: min(100%, 1040px);
    margin-inline: auto;
}

.checkout-page .checkout-form,
.checkout-page .checkout-summary {
    width: 100%;
}

.checkout-page .checkout-form {
    padding: clamp(26px, 5vw, 58px);
}

.checkout-page .checkout-step legend {
    display: grid;
    gap: 10px;
    font-size: clamp(25px, 3vw, 34px);
}

.checkout-page .checkout-step legend span {
    width: max-content;
    padding: 7px 10px;
    border: 1px solid rgba(16, 185, 129, .28);
    border-radius: 999px;
    background: rgba(16, 185, 129, .07);
}

.checkout-page .checkout-step-copy {
    max-width: 760px;
    margin: 16px 0 34px;
    font-size: 15px;
}

.checkout-page .checkout-fields {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
}

.checkout-page .checkout-field,
.checkout-page .checkout-field-wide {
    grid-column: auto;
    width: 100%;
}

.checkout-page .checkout-field {
    gap: 10px;
    font-size: 14px;
}

.checkout-page .checkout-field input,
.checkout-page .checkout-field select,
.checkout-page .checkout-field textarea {
    min-height: 56px;
    padding: 15px 17px;
    border-radius: 14px;
    background: rgba(4, 13, 12, .88);
}

.checkout-page .checkout-field textarea {
    min-height: 120px;
    line-height: 1.6;
}

.checkout-page .checkout-addons {
    gap: 28px;
    margin-top: 46px;
    padding-top: 40px;
    border-top: 1px solid var(--line);
}

.checkout-page .checkout-subheading {
    align-items: start;
}

.checkout-page .checkout-subheading h3 {
    font-size: clamp(24px, 3vw, 30px);
}

.checkout-page .checkout-subheading p {
    padding-top: 18px;
    font-size: 13px;
}

.checkout-page .checkout-addon-grid,
.checkout-page .checkout-affiliate-options {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
}

.checkout-page .checkout-addon-card,
.checkout-page .checkout-affiliate-card {
    position: relative;
    min-height: 106px;
    padding: 20px 22px;
    border-radius: 18px;
    overflow: hidden;
}

.checkout-page .checkout-addon-card::before,
.checkout-page .checkout-affiliate-card::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: transparent;
    transition: background-color .2s ease;
}

.checkout-page .checkout-addon-card:has(input:checked)::before,
.checkout-page .checkout-affiliate-card:has(input:checked)::before {
    background: var(--green);
}

.checkout-page .checkout-addon-card:hover,
.checkout-page .checkout-affiliate-card:hover {
    transform: translateY(-2px);
    background: rgba(9, 28, 24, .88);
}

.checkout-page .checkout-addon-card:focus-within,
.checkout-page .checkout-affiliate-card:focus-within {
    outline: 3px solid rgba(32, 214, 160, .2);
    outline-offset: 2px;
}

.checkout-page .checkout-addon-copy strong,
.checkout-page .checkout-affiliate-card strong,
.checkout-page .checkout-affiliate-included strong {
    font-size: 15px;
}

.checkout-page .checkout-addon-copy small,
.checkout-page .checkout-affiliate-card small {
    font-size: 12px;
}

.checkout-page .checkout-addon-price,
.checkout-page .checkout-affiliate-card b {
    padding: 8px 11px;
    border-radius: 999px;
    background: rgba(132, 204, 22, .09);
    font-size: 13px;
}

.checkout-page .checkout-affiliate-block {
    gap: 20px;
    padding-top: 18px;
}

.checkout-page .checkout-affiliate-included {
    padding: 22px;
    border-radius: 18px;
}

.checkout-page .checkout-actions {
    margin-top: 40px;
}

.checkout-page .checkout-summary {
    position: static;
    display: grid;
    padding: clamp(26px, 5vw, 48px);
    border-radius: 24px;
}

.checkout-page .checkout-summary h2 {
    font-size: clamp(28px, 4vw, 38px);
}

.checkout-page .checkout-price {
    flex-wrap: wrap;
}

.checkout-page .checkout-summary-help {
    max-width: 720px;
}

@media (max-width: 700px) {
    .checkout-page .checkout-shell {
        padding-inline: 14px;
    }

    .checkout-page .checkout-intro {
        gap: 28px;
    }

    .checkout-page .checkout-intro h1 {
        font-size: clamp(36px, 12vw, 52px);
    }

    .checkout-page .checkout-progress {
        align-items: flex-start;
    }

    .checkout-page .checkout-progress li {
        display: grid;
        justify-items: center;
        gap: 8px;
        font-size: 10px;
        line-height: 1.25;
        text-align: center;
        white-space: normal;
    }

    .checkout-page .checkout-progress li + li::before {
        position: absolute;
        top: 17px;
        right: 50%;
        width: 100%;
        margin: 0;
        z-index: -1;
    }

    .checkout-page .checkout-progress span {
        position: relative;
        z-index: 1;
        font-size: 12px;
    }

    .checkout-page .checkout-form,
    .checkout-page .checkout-summary {
        border-radius: 20px;
    }

    .checkout-page .checkout-form {
        padding: 26px 18px;
    }

    .checkout-page .checkout-subheading {
        display: grid;
        gap: 8px;
    }

    .checkout-page .checkout-subheading p {
        padding-top: 0;
        text-align: left;
    }

    .checkout-page .checkout-addon-card,
    .checkout-page .checkout-affiliate-card {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: start;
        padding: 18px;
    }

    .checkout-page .checkout-addon-price,
    .checkout-page .checkout-affiliate-card b {
        grid-column: 2;
        justify-self: start;
        white-space: normal;
    }
}

@media (max-width: 380px) {
    .checkout-page .checkout-header {
        gap: 12px;
    }

    .checkout-page .checkout-brand {
        font-size: 14px;
    }

    .checkout-page .checkout-back {
        font-size: 11px;
    }

    .checkout-page .checkout-progress li {
        font-size: 9px;
    }
}

/* Step 2 separates plan capabilities from the final monetary summary. */
.checkout-page .checkout-step legend {
    display: block;
}

.checkout-page .checkout-plan-overview {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
    gap: 28px 44px;
    margin-top: 40px;
    padding: clamp(24px, 4vw, 38px);
    border: 1px solid rgba(16, 185, 129, .3);
    border-radius: 22px;
    background:
        linear-gradient(135deg, rgba(16, 185, 129, .08), transparent 48%),
        rgba(5, 14, 13, .72);
}

.checkout-plan-overview-heading > span,
.checkout-plan-includes > span {
    color: var(--mint);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.checkout-plan-overview-heading h3 {
    margin: 9px 0 12px;
    color: var(--text);
    font: 700 clamp(27px, 4vw, 38px)/1 Outfit, sans-serif;
}

.checkout-plan-overview-heading p {
    max-width: 610px;
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.65;
}

.checkout-plan-features {
    display: grid;
    align-content: start;
    margin: 0;
    border-top: 1px solid var(--line);
}

.checkout-plan-features > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 13px 0;
    border-bottom: 1px solid var(--line);
}

.checkout-plan-features dt {
    color: var(--muted);
    font-size: 13px;
}

.checkout-plan-features dd {
    margin: 0;
    color: var(--text);
    font-size: 13px;
    font-weight: 800;
}

.checkout-plan-includes {
    grid-column: 1 / -1;
    display: grid;
    gap: 13px;
    padding-top: 4px;
}

.checkout-plan-includes ul {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.checkout-plan-includes li {
    padding: 9px 12px;
    border: 1px solid rgba(132, 204, 22, .28);
    border-radius: 999px;
    background: rgba(132, 204, 22, .07);
    color: #dcebc9;
    font-size: 12px;
    font-weight: 700;
}

.checkout-page .checkout-summary[hidden] {
    display: none;
}

.checkout-page .checkout-summary {
    margin-top: 4px;
    border-color: rgba(132, 204, 22, .3);
    background:
        linear-gradient(145deg, rgba(20, 40, 22, .3), transparent 52%),
        linear-gradient(145deg, rgba(13, 27, 25, .98), rgba(5, 13, 12, .98));
}

.checkout-page .checkout-step > .checkout-summary {
    margin-top: 42px;
}

.checkout-page .checkout-step > .checkout-summary + .checkout-actions {
    margin-top: 22px;
}

.checkout-page .checkout-summary .checkout-price {
    margin-top: 4px;
}

@media (max-width: 760px) {
    .checkout-page .checkout-step > .checkout-summary {
        margin-top: 30px;
    }

    .checkout-page .checkout-step > .checkout-summary + .checkout-actions {
        margin-top: 18px;
    }

    .checkout-page .checkout-plan-overview {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
        margin-top: 32px;
        padding: 23px 18px;
        border-radius: 18px;
    }

    .checkout-plan-includes {
        grid-column: auto;
    }

    .checkout-plan-includes ul {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .checkout-plan-includes li {
        border-radius: 12px;
    }
}
