/* Referral page: Giants Digital blue, navy, type, and geometric details. */
.referral-page { --accent:#014dc6; --accent-dark:#003c9c; --ink:#042442; --ink-soft:#4b5c70; --line:#dce4ef; --surface-elevated:#fff; --line-strong:#c6d3e4; --surface-soft:#edf3fd; color-scheme:light; background:#f6f8fc; color:var(--ink); }
.referral-icons { position:absolute; width:0; height:0; overflow:hidden; pointer-events:none; }
.referral-page .rf-icon { display:inline-block; width:22px; height:22px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; vertical-align:middle; }
.referral-page .site-header { height:auto; padding:0; background:#ffffffed; border-bottom:1px solid #e0e6f0; backdrop-filter:blur(16px); }
.referral-page .nav-shell { max-width:1184px; width:calc(100% - 56px); min-height:84px; margin:0 auto; border:0; border-radius:0; padding:12px 0; background:transparent; box-shadow:none; backdrop-filter:none; }
.referral-back { display:inline-flex; align-items:center; gap:10px; min-height:44px; font-size:13px; text-decoration:none; color:#042442; }
.referral-back .rf-icon { width:18px; height:18px; }
.referral-shell { max-width:1240px; margin:0 auto; padding:148px 28px 38px; }
.referral-shell h1,.referral-shell h2,.referral-shell h3 { font-family:"GD-Font","Wix Madefor Text",sans-serif; font-weight:400; }
.referral-shell h1 { margin:20px 0 24px; font-size:clamp(44px,5.2vw,72px); line-height:1.06; letter-spacing:-.045em; }
.referral-shell h1 span { color:#014dc6; }
.referral-shell h2 { font-size:29px; line-height:1.2; letter-spacing:-.028em; margin:0 0 16px; }
.referral-shell h3 { font-size:25px; line-height:1.2; letter-spacing:-.025em; }
.referral-shell p { line-height:1.65; margin:0 0 16px; }
.referral-shell .eyebrow { margin:0 0 12px; color:#014dc6; font-size:10px; font-weight:700; letter-spacing:.1em; line-height:1.5; }
.referral-page .button { min-height:50px; font-weight:600; border-radius:12px; padding:14px 20px; white-space:normal; line-height:1.3; }
.referral-page .button-primary { background:#014dc6; box-shadow:0 8px 18px #014dc61c; color:#fff; }
.referral-page .button-secondary { background:#f5f8ff; color:#014dc6; border-color:#d2dff4; }
.referral-page .button:disabled { opacity:.55; cursor:wait; transform:none; }
.referral-page a:focus-visible,.referral-page summary:focus-visible,.referral-page button:focus-visible { outline:3px solid #014dc6; outline-offset:4px; }
.referral-page section[id] { scroll-margin-top:110px; }
.referral-hero { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr); gap:64px; align-items:center; margin-bottom:76px; }
.referral-hero-copy > .eyebrow { display:flex; align-items:center; gap:10px; }
.referral-dot { width:7px; height:7px; border-radius:50%; background:#014dc6; box-shadow:0 0 0 5px #014dc60b; }
.referral-hero-copy .referral-intro { max-width:490px; font-size:17px; color:#4b5c70; line-height:1.75; }
.referral-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px; margin-top:28px; }
.referral-hero-actions .referral-account-action { display:none; }
.referral-page:has([data-dashboard]:not([hidden])) .referral-hero-actions > a:not(.referral-account-action) { display:none; }
.referral-page:has([data-dashboard]:not([hidden])) .referral-hero-actions .referral-account-action { display:inline-flex; }
.referral-text-link { color:#042442; font-size:13px; text-underline-offset:4px; min-height:44px; display:inline-flex; align-items:center; }
.referral-hero-copy .referral-micro { display:flex; align-items:center; flex-wrap:wrap; gap:8px; color:#536477; font-size:12px; margin:20px 0 0; }
.referral-micro .rf-icon { width:17px; height:17px; color:#014dc6; }
.referral-reward-visual { position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(145deg,#0d3967,#042442 75%); border:1px solid #24486b; color:#fff; border-radius:26px; padding:30px; box-shadow:0 20px 42px #04244217; transform:rotate(2deg); transition:transform .35s ease,box-shadow .35s ease; }
.referral-reward-visual::before { position:absolute; z-index:-1; content:""; inset:0; background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px); background-size:28px 28px; mask-image:linear-gradient(#000,transparent); }
.referral-reward-visual::after { position:absolute; content:""; z-index:-1; width:240px; height:240px; right:-120px; top:-130px; border:36px solid #3982f225; transform:rotate(35deg); border-radius:28px; }
.referral-visual-top { display:flex; justify-content:space-between; gap:16px; align-items:center; color:#c6d9ef; font-size:12px; }
.referral-visual-top > .rf-icon { color:#9bc3ff; }
.referral-connection { display:flex; align-items:center; margin:28px 0 24px; }
.referral-avatar { display:grid; place-items:center; flex:0 0 54px; height:54px; border:1px solid #ffffff30; border-radius:17px; background:#ffffff0e; }
.referral-avatar .rf-icon { width:26px; height:26px; }
.referral-avatar-brand { flex-basis:64px; height:64px; background:#fff; box-shadow:0 0 0 6px #ffffff0b; }
.referral-avatar-brand img { width:42px; height:auto; }
.referral-connection-line { flex:1; height:1px; background:repeating-linear-gradient(90deg,#86aedd 0 4px,transparent 4px 9px); margin:0 12px; }
.referral-amount { display:flex; flex-direction:column; gap:5px; margin-bottom:18px; }
.referral-amount > span { font-family:"GD-Font",sans-serif; font-size:88px; letter-spacing:-.06em; line-height:1; }
.referral-amount small { color:#c7daf0; font-size:12px; }
.referral-reward-visual > p { color:#d6e4f6; font-size:14px; }
.referral-visual-bottom { display:flex; gap:18px; justify-content:space-between; border-top:1px solid #ffffff25; padding-top:19px; margin-top:23px; font-size:12px; }
.referral-visual-bottom > span { display:flex; align-items:center; gap:7px; }
.referral-visual-bottom .rf-icon { width:18px; height:18px; color:#9bc3ff; }
.referral-reward-visual .referral-visual-note { font-size:10px; color:#afc9e6; margin:12px 0 0; }
.referral-section-heading { margin-bottom:26px; }
.referral-section-heading h2 { font-size:clamp(28px,3vw,38px); margin-bottom:0; }
.referral-steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.referral-steps li { padding:24px; background:#fff; border:1px solid #dce4ef; border-radius:20px; transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease; }
.referral-step-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:22px; }
.referral-icon-tile { display:inline-grid; place-items:center; width:48px; height:48px; flex:0 0 48px; background:#edf3fd; color:#014dc6; border:1px solid #dbe7fa; border-radius:14px; transition:transform .3s ease,background .3s ease; }
.referral-icon-tile .rf-icon { width:25px; height:25px; }
.referral-step-number { color:#8b9bb0; font-size:12px; letter-spacing:.07em; }
.referral-steps h3 { margin:0 0 12px; }
.referral-steps p { font-size:14px; color:#4b5c70; margin:0; }
.referral-offer { margin:28px 0 48px; border:1px solid #ccdcf3; padding:30px; border-radius:22px; background:linear-gradient(110deg,#eaf2ff,#f2f6fd); }
.referral-offer-heading,.referral-card-heading { display:flex; align-items:center; gap:16px; }
.referral-offer-heading .eyebrow,.referral-card-heading .eyebrow { font-size:9px; margin-bottom:5px; }
.referral-offer-heading h2,.referral-card-heading h2 { margin:0; }
.referral-price-row { display:flex; align-items:center; gap:24px; margin:26px 0 23px; }
.referral-price-row > div { display:flex; flex-direction:column; gap:5px; }
.referral-price-row strong { font-family:"GD-Font",sans-serif; font-weight:400; font-size:36px; line-height:1.2; letter-spacing:-.03em; }
.referral-price-row strong span { font-family:"Wix Madefor Text",sans-serif; font-size:14px; letter-spacing:0; margin-left:4px; }
.referral-price-row > div > span { font-size:12px; color:#52647b; }
.referral-price-plus { color:#6c87ac; font-size:24px; }
.referral-offer > p { max-width:1000px; font-size:13px; color:#3e546e; }
.referral-offer > p:last-child { margin:0; }
.referral-shell a:not(.button):not(.referral-back) { text-underline-offset:4px; }
.referral-offer a,.referral-check a,.referral-faq a { color:#014dc6; }
.referral-columns { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:26px; align-items:start; }
.referral-sidebar { display:grid; gap:22px; }
.referral-card { min-width:0; padding:30px; border:1px solid #dce4ef; border-radius:22px; background:#fff; box-shadow:0 8px 24px #04244204; }
.referral-card-heading { margin-bottom:20px; }
.referral-card-heading h2 { font-size:27px; }
.referral-card > p { color:#52647b; font-size:14px; }
.referral-card form { display:grid; gap:24px; }
.referral-card label { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px; min-width:0; font-size:12px; font-weight:600; color:#27425f; }
.referral-card label > input:not([type=checkbox]),.referral-card label > select { flex:0 0 100%; margin-top:4px; }
.referral-card label > span,.referral-help { font-weight:400; color:#536174; }
.referral-card input:not([type=checkbox]),.referral-card select { width:100%; min-width:0; min-height:48px; padding:11px 13px; border:1px solid #c6d3e4; border-radius:10px; background:#fbfcfe; color:#042442; font:inherit; font-size:16px; font-weight:400; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.referral-card input::placeholder { color:#728398; font-size:14px; }
.referral-card input:focus,.referral-card select:focus { outline:3px solid #014dc619; outline-offset:1px; border-color:#014dc6; background:#fff; }
.referral-fieldset { display:grid; gap:16px; border:0; border-top:1px solid #e7ecf4; margin:0; padding:20px 0 0; min-width:0; }
.referral-fieldset legend { padding:0 12px 0 0; color:#042442; font-size:14px; font-weight:600; }
.referral-fieldset .referral-field-help { color:#64758a; font-size:12px; margin:0; line-height:1.5; }
.referral-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; }
.referral-optional { border:1px solid #e2e9f3; border-radius:12px; background:#f8faff; }
.referral-optional summary { padding:15px; }
.referral-optional summary > span { margin-left:4px; color:#64758a; font-size:11px; font-weight:400; }
.referral-optional > div { padding:0 15px 16px; }
.referral-page summary { display:flex; align-items:center; list-style:none; gap:8px; cursor:pointer; font-size:13px; font-weight:600; }
.referral-page summary::-webkit-details-marker { display:none; }
.referral-page summary > .rf-icon { margin-left:auto; width:18px; height:18px; transition:transform .2s ease; }
.referral-page details[open] > summary > .rf-icon { transform:rotate(180deg); }
.referral-card .referral-check { flex-wrap:nowrap; gap:12px; align-items:flex-start; line-height:1.55; font-size:12px; font-weight:400; }
.referral-check input { flex:0 0 auto; width:19px; height:19px; margin:1px 0 0; accent-color:#014dc6; }
.referral-card .referral-check > span { color:#405770; }
.referral-agreements { gap:17px; }
.referral-check a { text-decoration:underline; }
.referral-help { font-size:13px; margin-top:20px !important; }
.referral-shell .referral-form-note { display:flex; align-items:center; justify-content:center; gap:7px; margin:-10px 0 0; color:#64758a; font-size:11px; }
.referral-form-note .rf-icon { width:16px; height:16px; }
.referral-signin > .referral-icon-tile { margin-bottom:22px; }
.referral-signin h2 { font-size:32px; }
.referral-signin form { gap:16px; }
.referral-requirements h2 { font-size:25px; }
.referral-checklist { list-style:none; display:grid; gap:18px; padding:0; margin:20px 0 26px; }
.referral-checklist li { display:flex; gap:12px; color:#455d77; font-size:13px; line-height:1.6; }
.referral-checklist .rf-icon { width:20px; height:20px; color:#014dc6; margin-top:1px; }
.referral-security { display:flex; align-items:flex-start; gap:12px; padding-top:20px; border-top:1px solid #e2e9f3; }
.referral-security .rf-icon { width:19px; height:19px; color:#014dc6; }
.referral-security p { margin:0; color:#64758a; font-size:12px; }
.referral-status { scroll-margin-top:110px; color:#144a8e; white-space:pre-line; background:#edf4ff; padding:16px 20px; border:1px solid #c9daf4; border-radius:12px; box-shadow:0 6px 22px #04244212; font-size:13px; }
.referral-status:empty { display:none; }
.referral-status[data-error=true] { color:#a9231e; border-color:#edc8c6; background:#fff5f3; }
.referral-heading { display:flex; gap:18px; justify-content:space-between; align-items:center; flex-wrap:wrap; margin-bottom:24px; }
.referral-heading h2 { margin:0; }
.referral-paypal-panel { border:1px solid #d2dff4; border-radius:16px; background:#f2f6ff; padding:22px; margin:24px 0; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.referral-paypal-panel > p { flex:1 1 250px; margin:0; font-size:14px; color:#455d77; }
.referral-dashboard h3 { margin:28px 0 16px; }
[data-sharing] { margin:24px 0; display:grid; gap:15px; }
[data-sharing][hidden],[hidden] { display:none !important; }
.referral-reward { display:flex; gap:18px; flex-wrap:wrap; padding:20px; margin-bottom:12px; border:1px solid #dce4ef; border-radius:12px; background:#f8faff; overflow-wrap:anywhere; font-size:14px; }
.referral-reward span { flex:1 1 160px; }
.referral-reward span:first-child { color:#014dc6; font-weight:600; }
.referral-faq { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr); gap:48px; margin-top:72px; padding-top:52px; border-top:1px solid #dce4ef; }
.referral-faq-list details { border-bottom:1px solid #dce4ef; }
.referral-faq-list summary { min-height:64px; padding:18px 0; gap:20px; font-size:14px; }
.referral-faq-list p { color:#53677f; font-size:13px; padding:0 32px 22px 0; margin:0; }
.referral-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:28px; font-size:12px; padding-top:30px; margin-top:56px; border-top:1px solid #dce4ef; }
.referral-footer-brand { display:flex; align-items:center; gap:12px; font-size:11px; line-height:1.5; color:#53677f; }
.referral-footer-brand img { width:30px; height:auto; }
.referral-footer-links { display:flex; flex-wrap:wrap; gap:20px; }
.referral-footer a { display:inline-flex; align-items:center; min-height:44px; color:#405770; text-decoration:none; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .referral-page .button:hover { transform:translateY(-3px); }
  .referral-page .button-primary:hover { background:#003c9c; box-shadow:0 12px 25px #014dc62c; }
  .referral-page .button-secondary:hover { background:#eaf1ff; border-color:#014dc6; }
  .referral-page .button .rf-icon,.referral-back .rf-icon { transition:transform .25s ease; }
  .referral-page .button:hover .rf-icon,.referral-back:hover .rf-icon { transform:translateX(3px); }
  .referral-reward-visual:hover { transform:rotate(0deg) translateY(-5px); box-shadow:0 26px 48px #04244224; }
  .referral-steps li:hover { transform:translateY(-5px); box-shadow:0 15px 30px #014dc60c; border-color:#9fbce8; }
  .referral-steps li:hover .referral-icon-tile { transform:rotate(-6deg); background:#dfeaff; }
  .referral-faq summary:hover,.referral-footer a:hover,.referral-text-link:hover,.referral-back:hover { color:#014dc6; }
}
@media(max-width:1000px) {
  .referral-hero { gap:32px; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }
  .referral-shell h1 { font-size:clamp(42px,5.5vw,60px); }
  .referral-reward-visual { padding:25px; }
  .referral-columns { gap:20px; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); }
  .referral-card { padding:24px; }
  .referral-card-heading > .referral-icon-tile { display:none; }
}
@media(max-width:760px) {
  .referral-page .nav-shell { min-height:72px; width:calc(100% - 36px); gap:16px; }
  .referral-page .site-header .brand { flex:0 1 190px; }
  .referral-back { font-size:11px; gap:5px; }
  .referral-back .rf-icon { width:16px; height:16px; }
  .referral-shell { padding:116px 20px 28px; }
  .referral-hero { grid-template-columns:1fr; gap:32px; margin-bottom:50px; }
  .referral-shell h1 { font-size:clamp(43px,8.5vw,64px); }
  .referral-hero-copy .referral-intro { max-width:540px; font-size:16px; }
  .referral-hero-actions { gap:6px 16px; margin-top:22px; }
  .referral-hero-copy .referral-micro { gap:6px; font-size:10px; margin-top:12px; }
  .referral-reward-visual { transform:none; padding:25px; }
  .referral-connection { max-width:340px; margin-top:24px; }
  .referral-amount > span { font-size:76px; }
  .referral-steps { grid-template-columns:1fr; gap:12px; }
  .referral-steps li { padding:22px; display:grid; grid-template-columns:48px minmax(0,1fr); column-gap:18px; }
  .referral-step-top { grid-row:1/3; display:block; margin:0; }
  .referral-step-number { display:block; text-align:center; margin-top:10px; }
  .referral-steps h3 { font-size:23px; margin-bottom:8px; }
  .referral-steps p { font-size:13px; }
  .referral-offer { margin:22px 0 30px; padding:24px; }
  .referral-offer-heading { gap:12px; align-items:flex-start; }
  .referral-offer-heading h2 { font-size:25px; }
  .referral-offer-heading > .referral-icon-tile { width:40px; height:40px; flex-basis:40px; border-radius:12px; }
  .referral-offer .eyebrow { font-size:8px; }
  .referral-price-row { gap:18px; }
  .referral-price-row strong { font-size:30px; }
  .referral-price-row strong span { font-size:11px; }
  .referral-price-row > div > span { font-size:10px; }
  .referral-columns,.referral-faq { grid-template-columns:1fr; }
  .referral-card-heading > .referral-icon-tile { display:inline-grid; }
  .referral-card-heading h2 { font-size:26px; }
  .referral-faq { gap:8px; margin-top:48px; padding-top:32px; }
  .referral-footer { gap:12px; margin-top:36px; padding-top:24px; }
  .referral-footer-links { gap:2px 20px; }
}
@media(max-width:480px) {
  .referral-page .nav-shell { width:calc(100% - 32px); gap:12px; }
  .referral-page .site-header .brand { flex-basis:174px; }
  .referral-back > span { max-width:85px; line-height:1.5; }
  .referral-shell { padding-inline:18px; }
  .referral-row { grid-template-columns:1fr; }
  .referral-card { padding:22px; border-radius:20px; }
  .referral-card-heading { align-items:flex-start; gap:12px; }
  .referral-card-heading h2 { font-size:25px; }
  .referral-card-heading .referral-icon-tile { width:40px; height:40px; flex-basis:40px; }
  .referral-card-heading .eyebrow { font-size:8px; }
  .referral-optional summary { flex-wrap:wrap; font-size:12px; gap:4px; }
  .referral-optional summary > span { margin-left:0; }
  .referral-optional summary > .rf-icon { margin-left:auto; }
  .referral-page .button { font-size:13px; padding-inline:16px; }
  .referral-form-note { font-size:10px !important; }
  .referral-visual-bottom { gap:12px; font-size:11px; }
  .referral-price-row { gap:14px; }
  .referral-price-row strong { font-size:28px; }
  .referral-price-row > div { min-width:0; }
}
@media(prefers-reduced-motion:reduce) {
  .referral-page *, .referral-page *::before, .referral-page *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  .referral-reward-visual,.referral-page .button:hover,.referral-page .button:active { transform:none; }
}
/* Match the homepage's colorful benefit cards and shared illustrations. */
.referral-page { background:radial-gradient(ellipse at 2% 2%,#e8f1ff 0,transparent 35%),radial-gradient(ellipse at 95% 15%,#f1e5ff 0,transparent 30%),#faf9fd; }
.referral-hero { gap:52px; grid-template-columns:minmax(0,1.18fr) minmax(0,1fr); }
.referral-shell h1 span { position:relative; display:inline-block; z-index:0; }
.referral-shell h1 span::after { content:""; position:absolute; inset:auto -6px 2px; height:17px; z-index:-1; border-radius:7px; background:#bdece1; transform:rotate(-2deg); }
.referral-page .proof-mark { display:block; width:34px; height:34px; fill:none; }
.referral-reward-visual.proof-item { --proof-color:#087b70; position:relative; display:block; padding:28px; border-color:#aed9ce; background:linear-gradient(145deg,#bdece1,#e5f7ef 60%,#d5e9ff); color:#042442; box-shadow:0 18px 42px #087b7015; transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(2deg); }
.referral-reward-visual::before { background-image:linear-gradient(#3b688814 1px,transparent 1px),linear-gradient(90deg,#3b688814 1px,transparent 1px); background-size:24px 24px; opacity:.6; }
.referral-reward-visual::after { width:auto; height:auto; border:0; border-radius:inherit; inset:0; transform:none; background:radial-gradient(240px circle at var(--glow-x,50%) var(--glow-y,50%),#087b701c,transparent 75%); opacity:0; transition:opacity .25s ease; }
.referral-visual-top { color:#285b56; gap:10px; }
.referral-reward-tag { border-radius:999px; background:#fff9; border:1px solid #087b7020; padding:6px 10px; font-size:10px; font-weight:600; white-space:nowrap; }
.referral-cash-stage { position:relative; display:grid; place-items:center; height:230px; margin:14px 0 6px; }
.referral-cash-art { display:block; width:270px; max-width:90%; transform:rotate(-7deg); transition:transform .45s cubic-bezier(.2,.75,.25,1.15),filter .35s ease; }
.referral-cash-art img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.referral-cash-caption { position:absolute; right:-5px; bottom:23px; transform:rotate(6deg); padding:10px 14px; border:1px solid #ffa975; border-radius:14px; background:#ffdcc7; box-shadow:0 6px 18px #b84c2412; color:#7f391e; font-size:11px; line-height:1.5; }
.referral-cash-orbit { position:absolute; display:grid; place-items:center; border-radius:50%; width:34px; height:34px; font-family:"GD-Font",sans-serif; font-size:22px; }
.referral-cash-orbit-one { top:17px; left:8px; color:#7744bf; background:#e1ceff; transform:rotate(-10deg); }
.referral-cash-orbit-two { top:15px; right:15px; color:#b84c24; background:#ffdcc7; transform:rotate(12deg); }
.referral-amount { gap:2px; margin-bottom:10px; }
.referral-amount > span { font-size:62px; color:#042442; }
.referral-amount small { font-size:11px; color:#365b60; }
.referral-visual-bottom { border-color:#087b7025; padding-top:16px; margin-top:17px; color:#27574f; }
.referral-visual-bottom .rf-icon { color:#087b70; }
.referral-reward-visual .referral-visual-note { color:#426962; font-size:10px; }
.referral-celebration { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:18px; }
.referral-party-button { display:inline-flex; align-items:center; justify-content:center; gap:7px; position:relative; z-index:2; min-height:44px; padding:9px 13px; border:1px solid #087b7035; border-radius:12px; background:#fff9; color:#075c53; font:inherit; font-size:12px; font-weight:600; cursor:pointer; transition:transform .2s ease,background .2s ease; }
.referral-party-button:disabled { cursor:default; }
.referral-party-icon .proof-mark { width:19px; height:19px; }
.referral-celebration-status { flex:1 1 150px; color:#41645c; font-size:10px; line-height:1.5; }
.referral-confetti { position:absolute; left:50%; top:48%; z-index:3; pointer-events:none; width:8px; height:14px; border-radius:3px; background:var(--confetti-color); opacity:0; animation:referralConfetti 1.1s cubic-bezier(.16,.8,.4,1) var(--confetti-delay) both; }
.referral-confetti:nth-of-type(2n) { width:9px; height:9px; border-radius:50%; }
@keyframes referralConfetti { 0% { opacity:1; transform:translate(0,20px) rotate(0deg) scale(.4); } 60% { opacity:1; transform:translate(var(--confetti-x),var(--confetti-y)) rotate(var(--confetti-turn)) scale(1); } 100% { opacity:0; transform:translate(var(--confetti-x),calc(var(--confetti-y) + 90px)) rotate(calc(var(--confetti-turn) * 1.5)) scale(.65); } }
@keyframes referralCashBounce { 0%,100% { transform:rotate(-7deg) translateY(0); } 40% { transform:rotate(3deg) translateY(-14px) scale(1.04); } 70% { transform:rotate(-4deg) translateY(2px); } }
.referral-reward-visual[data-celebrating] .referral-cash-art { animation:referralCashBounce .85s cubic-bezier(.2,.75,.25,1.15); }
.referral-page .referral-steps li { --proof-color:#7744bf; --step-start:#ddd0ff; --step-end:#f2eaff; position:relative; isolation:isolate; display:flex; flex-direction:column; align-items:flex-start; padding:26px; min-height:430px; gap:0; overflow:hidden; border:1px solid color-mix(in srgb,var(--proof-color) 18%,transparent); background:linear-gradient(145deg,var(--step-start),var(--step-end)); box-shadow:0 12px 32px #1724450b; transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); }
.referral-page .referral-steps li:nth-child(2) { --proof-color:#3982f2; --step-start:#c5ddff; --step-end:#e9f2ff; }
.referral-page .referral-steps li:nth-child(3) { --proof-color:#087b70; --step-start:#bdece1; --step-end:#e5f7ef; }
.referral-steps li::before,.referral-steps li::after { content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; pointer-events:none; }
.referral-steps li::before { background-image:linear-gradient(#626d8418 1px,transparent 1px),linear-gradient(90deg,#626d8418 1px,transparent 1px); background-size:24px 24px; opacity:.7; mask-image:radial-gradient(ellipse at 50% 50%,#000 10%,transparent 75%); }
.referral-steps li::after { background:radial-gradient(240px circle at var(--glow-x,50%) var(--glow-y,50%),color-mix(in srgb,var(--proof-color) 17%,transparent),transparent 75%); opacity:0; transition:opacity .25s ease; }
.referral-step-top { width:100%; margin-bottom:22px; gap:12px; }
.referral-page .referral-steps .referral-icon-tile { background:#ffffff80; border-color:#ffffffa8; color:var(--proof-color); box-shadow:0 4px 14px #1724450c; }
.referral-steps .referral-icon-tile > img { width:37px; height:auto; }
.referral-step-number { color:#526079; font-size:10px; }
.referral-steps h3 { font-size:28px; }
.referral-steps p { color:#45515d; font-size:14px; }
.referral-step-art { width:100%; max-width:220px; display:block; align-self:center; margin-top:auto; padding-top:18px; transform:rotate(-4deg); transition:transform .45s cubic-bezier(.2,.75,.25,1.15),filter .35s ease; }
.referral-step-art img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.referral-calculator { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:40px; align-items:center; border:1px solid #dfccec; border-radius:22px; margin-top:28px; padding:30px 34px; background:linear-gradient(130deg,#f0e4ff,#f9edeb 70%,#fff0e5); }
.referral-calculator h2 { font-size:34px; margin-bottom:14px; }
.referral-calculator-copy > p { color:#526079; font-size:14px; }
.referral-calculator-copy .referral-calculator-note { font-size:11px; color:#635a76; margin:18px 0 0; }
.referral-calculator-controls { min-width:0; }
.referral-calculator-controls > label { display:block; color:#493463; font-size:12px; font-weight:600; margin-bottom:16px; }
.referral-counter { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; }
.referral-counter button { width:44px; height:44px; flex:0 0 44px; display:grid; place-items:center; padding:0; border:1px solid #c8b2e0; border-radius:12px; background:#ffffffc9; color:#7744bf; font:inherit; font-size:24px; cursor:pointer; transition:transform .2s ease,background .2s ease; }
.referral-counter button:disabled { opacity:.38; cursor:default; }
.referral-counter output { font-family:"GD-Font",sans-serif; font-size:40px; line-height:1; color:#493463; }
.referral-calculator input[type=range] { --range-progress:0%; display:block; width:100%; margin:0; height:26px; appearance:none; background:transparent; cursor:pointer; accent-color:#7744bf; }
.referral-calculator input[type=range]::-webkit-slider-runnable-track { height:7px; border-radius:99px; background:linear-gradient(to right,#7744bf var(--range-progress),#dac7ee var(--range-progress)); }
.referral-calculator input[type=range]::-moz-range-track { height:7px; border-radius:99px; background:#dac7ee; }
.referral-calculator input[type=range]::-moz-range-progress { height:7px; border-radius:99px; background:#7744bf; }
.referral-calculator input[type=range]::-webkit-slider-thumb { appearance:none; width:23px; height:23px; border:4px solid #fff; border-radius:50%; background:#7744bf; margin-top:-8px; box-shadow:0 2px 8px #49346325; }
.referral-calculator input[type=range]::-moz-range-thumb { width:16px; height:16px; border:4px solid #fff; border-radius:50%; background:#7744bf; box-shadow:0 2px 8px #49346325; }
.referral-estimate-total { display:flex; flex-direction:column; align-items:center; margin-top:17px; padding:20px; border:1px solid #ffffffbd; border-radius:16px; background:#ffffff80; }
.referral-estimate-total > span { color:#635a76; font-size:11px; }
.referral-estimate-total output { font-family:"GD-Font",sans-serif; color:#7744bf; font-size:52px; letter-spacing:-.04em; line-height:1.2; }
.referral-estimate-total small { color:#635a76; font-size:10px; margin-top:5px; }
.referral-offer { border-color:#eabca5; background:linear-gradient(130deg,#ffdcc7,#fff0e5); }
.referral-offer .referral-icon-tile { color:#b84c24; border-color:#f4c8b0; background:#fff0e5; }
.referral-offer .eyebrow { color:#9d411f; }
.referral-price-row strong { color:#87391d; }
.referral-price-plus { color:#ba7554; }
.referral-signup { background:linear-gradient(145deg,#e7f0ff,#fff 48%); border-color:#bed3f1; }
.referral-signin { background:linear-gradient(145deg,#ffdcc7,#fff0e5); border-color:#eabca5; }
.referral-signin .referral-icon-tile { color:#b84c24; background:#fff0e5; border-color:#efc4ac; }
.referral-requirements { background:linear-gradient(145deg,#ddd0ff,#f2eaff); border-color:#cfb9ef; }
.referral-requirements .rf-icon { color:#7744bf; }
.referral-requirements .referral-security { border-color:#cdb7e7; }
.referral-faq-list details { border:1px solid #dce4ef; border-radius:14px; background:#fff; padding-inline:18px; margin-bottom:12px; transition:background .2s ease,border-color .2s ease; }
.referral-faq-list details[open] { background:#edf3ff; border-color:#aec8ec; }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .referral-reward-visual.proof-item:hover { transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(0deg) translateY(-5px); box-shadow:0 25px 45px #087b7025; }
  .referral-reward-visual:hover::after,.referral-steps li:hover::after { opacity:1; }
  .referral-reward-visual:hover .referral-cash-art { transform:rotate(-1deg) translateY(-6px) scale(1.04); filter:drop-shadow(0 12px 10px #087b7018); }
  .referral-page .referral-steps li:hover { transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-6px); border-color:color-mix(in srgb,var(--proof-color) 36%,transparent); box-shadow:0 20px 42px color-mix(in srgb,var(--proof-color) 17%,transparent); }
  .referral-page .referral-steps li:hover .referral-icon-tile { background:#ffffffa8; transform:rotate(-5deg) scale(1.05); }
  .referral-steps li:hover .referral-step-art { transform:rotate(0deg) translateY(-9px) scale(1.05); filter:drop-shadow(0 14px 12px #17244515); }
  .referral-party-button:hover,.referral-counter button:not(:disabled):hover { transform:translateY(-2px); background:#fff; }
  .referral-party-button:hover .proof-mark { transform:rotate(-8deg); }
}
@media(max-width:1000px) {
  .referral-hero { gap:30px; }
  .referral-reward-visual.proof-item { padding:24px; }
  .referral-cash-art { width:235px; }
  .referral-cash-caption { right:-5px; font-size:10px; }
  .referral-page .referral-steps li { padding:22px; }
  .referral-steps h3 { font-size:25px; }
  .referral-step-art { max-width:190px; }
}
@media(max-width:760px) {
  .referral-hero { grid-template-columns:1fr; gap:30px; }
  .referral-reward-visual.proof-item { transform:none; }
  .referral-cash-stage { height:230px; }
  .referral-cash-art { width:250px; }
  .referral-cash-caption { right:0; bottom:22px; }
  .referral-page .referral-steps li { display:grid; grid-template-columns:minmax(0,1fr) 120px; align-items:center; gap:0 20px; min-height:240px; padding:24px; }
  .referral-step-top { grid-column:1 / -1; display:flex; grid-row:auto; margin:0 0 20px; }
  .referral-step-number { margin:0; }
  .referral-steps h3,.referral-steps p { grid-column:1; }
  .referral-steps h3 { font-size:25px; }
  .referral-step-art { grid-column:2; grid-row:2/4; align-self:center; padding:0; margin:0; width:100%; }
  .referral-calculator { grid-template-columns:1fr; gap:28px; padding:26px; }
  .referral-calculator h2 { font-size:30px; }
  .referral-calculator-controls { padding-top:20px; border-top:1px solid #d8c4e8; }
  .referral-estimate-total output { font-size:48px; }
}
@media(max-width:420px) {
  .referral-page .referral-steps li { grid-template-columns:minmax(0,1fr) 104px; gap:0 15px; padding:22px; }
  .referral-steps h3 { font-size:24px; }
  .referral-steps p { font-size:12px; }
  .referral-party-button { padding-inline:10px; font-size:11px; }
  .referral-cash-caption { right:-6px; bottom:18px; padding:9px; }
  .referral-celebration-status { font-size:9px; flex-basis:130px; }
}
@media(prefers-reduced-motion:reduce) {
  .referral-reward-visual.proof-item,.referral-page .referral-steps li,.referral-cash-art,.referral-step-art { transform:none !important; transition:none !important; }
  .referral-confetti { display:none; }
}
.referral-tracking-notice { position:fixed; bottom:22px; left:20px; z-index:80; max-width:430px; background:white; border:1px solid #cad7e8; border-radius:10px; padding:16px; font-size:13px; color:#25344a; box-shadow:0 4px 18px #13263b15; }
.referral-tracking-notice p { margin:0 0 12px; line-height:1.5; }
.referral-tracking-notice button { margin:0 8px 5px 0; min-height:42px; }
@media(max-width:700px) { .referral-tracking-notice { left:12px; right:12px; bottom:16px; max-width:none; } }
