.vip-invitation{background:radial-gradient(ellipse at 85% 12%,#8a693718,transparent 45%),radial-gradient(ellipse at 8% 55%,#8a69370b,transparent 42%),#0c0c0b;color:#eee9dc}
.vip-invitation main{position:relative;isolation:isolate;overflow:hidden}
.vip-invitation main::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:0;background:radial-gradient(ellipse at 88% 18%,#c8a66c0d 0%,#c8a66c05 32%,transparent 65%)}
.vip-invitation main::after{content:"";position:absolute;z-index:-1;pointer-events:none;left:4%;right:4%;top:0;height:1px;background:linear-gradient(90deg,transparent,#c7ab6a55,transparent)}.invitation-nav{max-width:1320px;margin:auto;padding:28px 48px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #292820}.invitation-nav img{width:145px}.invitation-nav>span{font-size:10px;letter-spacing:.3em;color:#c7b98e}.invitation-nav>a:last-child{font-size:12px;color:#b4b0a4}.invitation-hero{max-width:1320px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;min-height:0;padding:48px 48px 40px;background:radial-gradient(ellipse at 80% 45%,#8d6b3421,transparent 55%)}.invitation-kicker{font-size:10px;letter-spacing:.3em;color:#c6b174}.invitation-copy h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(50px,5.3vw,80px);font-weight:400;line-height:1.04;letter-spacing:-.045em;margin:25px 0}.invitation-copy h1 em{color:#ddc58a;font-weight:400}.invitation-copy p{font-size:17px;line-height:1.65;color:#aaa79d;margin:0 0 28px}.vip-invitation .primary{background:linear-gradient(120deg,#edd79a,#c9ac66);color:#17150e;border-radius:4px;box-shadow:none;font-size:14px;min-height:50px;padding:16px 25px}.invitation-copy small{display:block;font-size:11px;color:#827e72;margin-top:15px}.invitation-card-stage{perspective:1200px;padding:15px 0}.invitation-card-stage .black-member-card{width:100%;box-sizing:border-box;transform:none;box-shadow:0 40px 60px #000b;border:1px solid #847455;background:linear-gradient(125deg,#242420,#0a0a09 55%,#1c1c18);min-height:280px;aspect-ratio:1.586}.invitation-edition{display:flex;justify-content:space-between;gap:20px;margin-top:24px;font-size:9px;letter-spacing:.13em;color:#8d8778}.invitation-edition b{color:#cfba83;white-space:nowrap}.invitation-card-stage .cohort-track{height:2px;background:#29261e;margin-top:12px}.vip-invitation .journey{display:block;max-width:1224px;margin:0 auto;padding:28px 0;border-top:1px solid #353023}.vip-invitation .path>h2{font-family:Georgia,serif;font-size:27px;font-weight:400;letter-spacing:-.02em;margin:0 0 24px}.vip-invitation #steps{display:grid;grid-template-columns:repeat(3,1fr);gap:52px}#steps>.text-button{grid-column:1/-1}.vip-invitation .step::before,.vip-invitation .step::after{display:none}.vip-invitation .step{border:0;padding:0;display:block}.vip-invitation .step .node{border:0;background:none;font-family:Georgia,serif;font-size:29px;color:#b69f65;width:auto;height:auto;line-height:1.2}.vip-invitation .step h3{display:flex;align-items:baseline;gap:14px;font-size:23px;margin:0 0 10px;letter-spacing:-.025em}.vip-invitation .step p{font-size:15px;color:#a5a194;max-width:350px;line-height:1.6;margin-bottom:18px}.vip-invitation #steps>.text-button{font-size:12px;justify-self:start}.vip-invitation .extra-rewards{max-width:1224px;margin:0 auto;padding:22px 0;border-top:1px solid #292820}.vip-invitation .extra-rewards summary{font-size:12px;font-weight:400;color:#aaa18c}.vip-invitation .extra-rewards .founder-pass{margin-top:25px}.invitation-footer{max-width:1224px;margin:auto;border-top:1px solid #292820;padding:24px 0 36px;color:#78766d;font-size:10px;display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between}.invitation-footer p{font-size:10px;margin:0}.invitation-footer{text-align:left}   /* one edge on desktop, not campaign.css's centred footer under left lines (Shaun, 2026-10-29: "are we left align or center ffs"); phones centre all of it below */.invitation-footer div{display:flex;gap:20px}.vip-invitation #race-progress[hidden]{display:none}.vip-invitation #race-progress{margin-bottom:25px}.vip-invitation #signup-actions{border-top:1px solid #333027;padding-top:24px}
@media(max-width:1320px){.vip-invitation .journey,.vip-invitation .extra-rewards,.invitation-footer{margin-left:48px;margin-right:48px}}@media(max-width:760px){.invitation-nav{padding:20px 24px}.invitation-nav>span{display:none}.invitation-nav img{width:120px}.invitation-hero{grid-template-columns:1fr;gap:24px;padding:32px 24px 28px;min-height:0}.invitation-copy h1{font-size:58px}.invitation-card-stage{max-width:440px;width:100%;margin:auto;padding:10px}.invitation-card-stage .black-member-card{min-height:0}.invitation-edition{margin-top:30px}.vip-invitation .journey,.vip-invitation .extra-rewards,.invitation-footer{margin-left:24px;margin-right:24px}.vip-invitation #steps{grid-template-columns:1fr;gap:28px}.vip-invitation .journey{padding:32px 0}.invitation-footer{display:block}.invitation-footer p{margin-bottom:12px}}

.vip-invitation .invitation-copy h1{font-size:clamp(44px,4.7vw,70px)}.hero-prize-split{display:block;font-size:13px;color:#c3b48e;margin-top:12px}.vip-invitation .invitation-kicker{letter-spacing:.19em}@media(max-width:760px){.vip-invitation .invitation-copy h1{font-size:49px}}

/* Give the invitation headline priority over the card. */
.vip-invitation .invitation-hero{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px}
.vip-invitation .invitation-copy h1{font-size:clamp(30px,4.7vw,70px)}
.invitation-title-line{white-space:nowrap}
.vip-invitation .invitation-card-stage{max-width:390px;width:100%;justify-self:end;box-sizing:border-box}
.vip-invitation .invitation-card-stage .black-member-card{min-height:0}
@media(max-width:760px){.vip-invitation .invitation-hero{grid-template-columns:1fr}.vip-invitation .invitation-copy h1{font-size:clamp(25px,6.7vw,49px)}.vip-invitation .invitation-card-stage{max-width:340px;justify-self:center}}

.vip-invitation.is-member .invitation-hero{min-height:370px;padding-top:45px;padding-bottom:45px}.vip-invitation.is-member .invitation-copy h1{font-size:clamp(34px,4vw,58px)}.vip-invitation.is-member .hero-prize-split{display:none}.vip-invitation #member-board{max-width:1224px;margin:20px auto 45px;border-top:1px solid #383126;padding-top:28px}.vip-invitation #member-board h2{font:32px Georgia,serif;margin:12px 0}.vip-invitation #member-board p{font-size:14px;color:#aca797}.vip-invitation #member-board>a{font-size:13px;color:#cbb47d}.vip-invitation #member-board[hidden]{display:none}.entered-pass{background:linear-gradient(125deg,#2a2923,#0b0b09);border:1px solid #8c784b;border-radius:15px;padding:26px;margin:20px 0;aspect-ratio:1.586;display:flex;flex-direction:column;justify-content:space-between;max-width:360px}.entered-pass img{width:115px}.entered-pass span{font-size:10px;letter-spacing:.18em;color:#baa477}.entered-pass b{font-size:20px}.entered-pass strong{align-self:flex-end;font-size:25px;color:#dfc88c}.entered-choice{display:flex;gap:14px;flex-wrap:wrap}.vip-invitation.is-member #steps .step:first-child{opacity:.7}.vip-invitation #signup-actions{scroll-margin-top:25px}
@media(max-width:1320px){.vip-invitation #member-board{margin-left:48px;margin-right:48px}}@media(max-width:760px){.vip-invitation #member-board{margin-left:24px;margin-right:24px}}
.vip-invitation button.secondary,.vip-invitation a.secondary{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;min-height:49px;border:1px solid #766644;background:transparent;color:#dfc98f;border-radius:4px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none}.vip-invitation #entered-dialog .secondary{margin-top:0}.vip-invitation #entered-text{margin-top:14px}.vip-invitation #entered-x{margin:16px 14px 0 0}.vip-invitation dialog .close{background:transparent;color:#d6ccaf;border:1px solid #504a3a;border-radius:50%;width:32px;height:32px}

/* Shared action geometry: no inherited margins or flex stretching. */
.vip-invitation .signup-options,.vip-invitation .entered-choice{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.vip-invitation .signup-options>.primary,.vip-invitation .signup-options>.secondary,.vip-invitation .entered-choice>.primary,.vip-invitation .entered-choice>.secondary{height:48px;min-height:48px;max-height:48px;margin:0;padding:0 22px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:13px;font-weight:600;white-space:nowrap;align-self:center}
.vip-invitation #signup-actions{max-width:820px;padding-top:24px;margin-top:24px}
.vip-invitation #signup-actions label{font-size:12px;letter-spacing:.03em;color:#bcb198;margin-bottom:12px}
.vip-invitation #personal-invite{height:48px;border-color:#3f392d;background:#121210;font-size:13px;color:#d3cbb9;border-radius:4px;padding:0 15px}
.vip-invitation #entered-dialog{width:min(480px,calc(100vw - 32px));max-width:480px;padding:38px 36px 30px;border:1px solid #615234;border-radius:12px;background:radial-gradient(ellipse at top,#242118,#11110f 70%);max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 32px 120px #000b}
.vip-invitation #entered-dialog header{text-align:center}
.vip-invitation #entered-dialog .eyebrow{font-size:9px;letter-spacing:.24em;font-weight:500;color:#baaa7e}
.vip-invitation #entered-dialog h2{font:400 43px/1.08 Georgia,'Times New Roman',serif;letter-spacing:-.035em;margin:18px 0 13px;color:#f0eadb}
.vip-invitation #entered-dialog h2 em{color:#d8c18b;font-weight:400}
.vip-invitation #entered-dialog header p{font-size:13px;line-height:1.5;color:#a9a393;margin:0}
/* Shared close control: SVG geometry, independent of font baselines. */
.vip-invitation dialog .close{position:absolute;top:8px;right:8px;width:44px;height:44px;min-height:44px;padding:0;margin:0;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:#bbae8d;line-height:0;box-sizing:border-box}
.vip-invitation dialog .close svg{display:block;width:18px;height:18px}
.vip-invitation dialog .close:hover{background:#ffffff08;color:#eee9dc}
.vip-invitation dialog .close:focus-visible{outline:1px solid #c9b67c;outline-offset:-4px}
.vip-invitation #entered-dialog .entered-member-card{width:100%;box-sizing:border-box;margin:28px 0 24px;padding:7%;border-color:#847455;background:linear-gradient(125deg,#242420,#0a0a09 55%,#1c1c18);box-shadow:0 18px 32px #0008,0 1px 0 #e8d6a43b inset}
.vip-invitation #entered-dialog .welcome-next{font-size:12px;color:#aaa393;text-align:center;margin:0 0 14px;line-height:1.5}
.vip-invitation #entered-dialog .entered-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vip-invitation #entered-dialog .entered-choice>*{width:100%;justify-content:space-between;padding:0 17px}
.vip-invitation #entered-dialog .welcome-note{display:block;font-size:10px;line-height:1.6;color:#8f8878;text-align:center;margin-top:17px}
@media(max-width:480px){.vip-invitation #entered-dialog{padding:32px 22px 24px}.vip-invitation #entered-dialog h2{font-size:38px}.vip-invitation .signup-options{gap:10px}.vip-invitation .signup-options>.primary,.vip-invitation .signup-options>.secondary{padding:0 16px;font-size:12px}.vip-invitation #entered-dialog .entered-choice>*{padding:0 13px;font-size:12px}}

/* Tablet: balanced columns without squeezing the invitation or card. */
@media(min-width:761px) and (max-width:1050px){
 .vip-invitation .invitation-hero{gap:28px;padding:40px 32px 32px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
 .vip-invitation .invitation-copy h1{font-size:clamp(32px,4.5vw,47px)}
 .vip-invitation .invitation-title-line{white-space:normal}
 .invitation-copy p{font-size:15px}
 .invitation-nav{padding:24px 32px}
 .vip-invitation .journey,.vip-invitation #member-board,.invitation-footer{margin-left:32px;margin-right:32px}
 .vip-invitation #steps{gap:28px}
 .vip-invitation .step h3{gap:12px}
 .vip-invitation .step h3{font-size:21px}
}
/* Mobile: a centered invitation followed by two clear, unboxed steps. */
@media(max-width:760px){
 .vip-invitation main::before{background:radial-gradient(ellipse at 80% 24%,#c8a66c0d,transparent 60%)}
 .vip-invitation .invitation-hero{gap:24px;padding:32px 24px 24px;text-align:center}
 .vip-invitation .invitation-copy h1,.vip-invitation.is-member .invitation-copy h1{font-size:clamp(34px,7.6vw,52px);line-height:1.08;margin:20px 0}
 .invitation-title-line{white-space:normal;display:block;max-width:15ch;margin-inline:auto}
 .invitation-copy h1>br{display:none}
 .invitation-copy h1 em{display:block;margin-top:8px}
 .invitation-copy p{font-size:15px;line-height:1.6;margin-bottom:16px}
 .hero-prize-split{font-size:12px;margin-top:8px}
 .invitation-copy small{font-size:10px;margin-top:12px}
 .vip-invitation .invitation-kicker{font-size:9px;letter-spacing:.16em}
 .vip-invitation .invitation-card-stage{max-width:320px;padding:8px 10px 0;text-align:left}
 .invitation-card-stage .black-member-card{transform:none;margin-bottom:20px}
 .invitation-edition{margin-top:20px;font-size:8px;gap:12px}
 .vip-invitation .journey{padding:28px 0;text-align:center}
 .vip-invitation .path>h2{font-size:26px;line-height:1.2;max-width:20ch;margin:0 auto 28px}
 .vip-invitation #steps{gap:28px}
 .vip-invitation .step{display:block;padding:0;max-width:360px;margin-inline:auto;width:100%}
 .vip-invitation .step::before,.vip-invitation .step::after{display:none}
 .vip-invitation .step .node{display:inline-block;flex:none;font-size:22px;margin:0}
 .vip-invitation .step h3{justify-content:center;gap:12px;font-size:22px;text-align:center}
 .vip-invitation .step p{font-size:14px;max-width:30ch;margin:0 auto 18px}
 .vip-invitation .step .primary{display:inline-flex;align-items:center;justify-content:center;height:48px;min-height:48px;padding:0 32px;margin:0;width:min(100%,280px)}
 .vip-invitation #steps>.text-button{justify-self:center;margin:0;min-height:44px}
 .vip-invitation .signup-options{justify-content:center}
 .vip-invitation #member-board{text-align:center}

 .invitation-footer{text-align:center;line-height:1.6}
 .invitation-footer div{justify-content:center;flex-wrap:wrap;gap:20px}
 .vip-invitation.is-member .invitation-hero{min-height:0;padding-top:32px;padding-bottom:24px}
}

.vip-invitation .referral-board{width:100%;border-collapse:collapse;margin:24px 0;text-align:left;font-variant-numeric:tabular-nums}
.vip-invitation .referral-board th{padding:12px 16px;color:#aaa79d;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #383126}
.vip-invitation .referral-board td{padding:16px;border-bottom:1px solid #25251f;font-size:15px;vertical-align:middle}
.vip-invitation .referral-board tbody tr:hover{background:#ffffff03}
.vip-invitation .referral-board th:nth-child(n+3),.vip-invitation .referral-board td:nth-child(n+3){text-align:right}
.vip-invitation .referral-rank{width:48px;color:#bfa874}
.vip-invitation .referral-player{display:flex;align-items:center;gap:14px;font-weight:700;min-width:0}
.vip-invitation .referral-player>span:last-child{overflow-wrap:anywhere}
.vip-invitation .referral-player small{display:block;font-size:11px;font-weight:400;color:#85857c;margin-top:5px}
.vip-invitation .referral-avatar{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:50%;overflow:hidden;background:#252923;color:#ddc58a;box-shadow:0 0 0 1px #3b3d32}
.vip-invitation .referral-avatar img{width:100%;height:100%;object-fit:cover}
.vip-invitation .referral-prize{color:#ddc58a;font-weight:700}
@media(max-width:600px){.vip-invitation .referral-board th,.vip-invitation .referral-board td{padding:12px 6px}.vip-invitation .referral-rank{width:26px}.vip-invitation .referral-player{gap:10px;font-size:14px}.vip-invitation .referral-avatar{width:36px;height:36px}.vip-invitation .referral-player small{font-size:10px}.vip-invitation .referral-board th{font-size:9px;letter-spacing:.06em}}

/* The two promotions under the hero copy, like the share card (Shaun, 2026-10-28: "treat this once clearly then tout the bigger
   numbers with UP TO being small" / "the main page, we're treating it like this"): a small "up to", a big $100, what it is */
.inv-prizes{display:grid;margin-top:var(--muck-space-5,24px);max-width:460px}
.inv-prize{display:grid;grid-template-columns:136px 1fr;align-items:center;gap:var(--muck-space-4,16px);padding:var(--muck-space-4,16px) 0}
.inv-prize+.inv-prize{border-top:1px solid #c7ab6a33}
.inv-amt{display:flex;align-items:baseline;justify-content:flex-start;gap:6px}   /* fixed prizes: numbers start the row, copy close (Shaun, 2026-10-29) */
.inv-amt small{font-size:13px;color:#c3b48e;white-space:nowrap}
.inv-amt b{position:relative;top:-8px;font:400 60px/1 Georgia,'Times New Roman',serif;color:#dfc98f;letter-spacing:-.02em}
.inv-amt b sup{font-size:.5em;line-height:0;vertical-align:.3em;margin-right:.06em}
.inv-what{display:grid;gap:var(--muck-space-1,4px)}
.inv-what b{font-size:19px;font-weight:700;color:#f5f0df}
.inv-what span{font-size:14px;color:#c3b48e}
.vip-invitation.is-member .inv-prizes{display:none}
.inv-prize{grid-template-columns:140px 1fr;gap:0}   /* the amounts right-aligned on one edge, a hairline, then the copy, so every pair sits the same distance apart (Shaun, 2026-10-29: "make those money amounts pop more/be more stylized ... it looks very amateur the spacing") */
.inv-amt{justify-content:flex-end;padding-right:var(--muck-space-4,16px)}
.inv-amt b sup{margin-right:.02em}
.inv-amt b{-webkit-text-stroke:.9px #dfc98f}   /* a touch heavier, the same Georgia regular and gold (Shaun: "make the money fonts a bit thicker") */
.inv-what{padding-left:var(--muck-space-4,16px);border-left:1px solid #c7ab6a59}
@media(max-width:760px){.inv-prizes{margin-inline:auto;text-align:left}.inv-prize{grid-template-columns:96px 1fr;gap:0}.inv-amt{padding-right:var(--muck-space-4,16px)}.inv-what{padding-left:var(--muck-space-4,16px)}.inv-amt b{font-size:44px}.inv-what b{font-size:16px}.inv-what span{font-size:13px}}
@media(max-width:480px){.inv-prize{grid-template-columns:1fr;justify-items:center;gap:var(--muck-space-1,4px);text-align:center}.inv-amt{justify-content:center;padding-right:0}.inv-what{padding-left:0;border-left:0}}
