.referral-public-page {
  --ref-orange: #ef5505;
  --ref-black: #171b1e;
  --ref-grey: #565f64;
  --ref-line: #dce1e3;
  --ref-surface: #f2f4f5;
  background: #fff;
  color: var(--ref-black);
  font-size: 16px;
  line-height: 1.6;
}
.referral-public-page * { box-sizing: border-box; }
.referral-public-page .shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.referral-public-page header:not(.referral-site-header) { position: static !important; z-index: auto !important; top: auto !important; }
.referral-public-page .referral-section-heading,
.referral-public-page .referral-signup-card > header,
.referral-public-page .referral-conditions header,
.referral-public-page .referral-public-faq header { background: transparent; }
.referral-public-page a { text-decoration: none; }
.referral-public-page section[id] { scroll-margin-top: 116px; }
.referral-public-page :is(a, button, input, select, summary):focus-visible { outline: 3px solid #2467b5; outline-offset: 4px; }
.referral-public-page button { cursor: pointer; font: inherit; }
.referral-public-page .referral-icon { display: block; flex: none; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.referral-public-page .referral-icon-tile { display: grid; flex: none; width: 42px; height: 42px; place-items: center; border: 1px solid #dbe1e4; border-radius: 9px; background: #edf0f2; color: #3e4c55; }
.referral-public-page :is(a, b) > .referral-icon { display: inline-block; width: 18px; height: 18px; vertical-align: middle; margin-left: 5px; }
.referral-workspace-notice { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 18px; padding: 12px 24px; background: #fff0e5; color: #793405; font-size: 14px; }
.referral-workspace-notice a { font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.referral-site-header { position: sticky; z-index: 50; top: 0; border-bottom: 1px solid var(--ref-line); background: #fffffff5; backdrop-filter: blur(14px); }
.referral-topbar { background: var(--ref-black); color: #fff; }
.referral-topbar .shell { display: flex; min-height: 34px; align-items: center; justify-content: space-between; gap: 20px; font-size: 12px; }
.referral-navbar { display: flex; min-height: 82px; align-items: center; gap: 28px; }
.referral-brand { display: flex; flex: none; align-items: center; gap: 10px; }
.referral-brand img { width: 60px; height: 60px; object-fit: contain; padding: 6px; border-radius: 9px; background: var(--ref-black); }
.referral-brand > span { display: grid; }
.referral-brand strong { font-size: 15px; letter-spacing: .08em; }
.referral-brand small { margin-top: 3px; color: var(--ref-grey); font-size: 12px; letter-spacing: .04em; }
.referral-navbar nav { display: flex; align-items: center; gap: 24px; margin-left: auto; }
.referral-navbar nav a { font-size: 14px; font-weight: 700; }
.referral-navbar nav a:hover { color: #b33c00; }
.referral-header-quote { display: grid; min-height: 44px; place-items: center; border-radius: 8px; background: var(--ref-orange); padding: 0 24px; color: #fff; font-size: 14px; font-weight: 800; }
.referral-public-hero { background: var(--ref-black); color: #fff; }
.referral-public-hero-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(330px, .75fr); gap: 70px; align-items: center; padding-block: 78px 110px; }
.referral-public-hero-grid > div > p, .referral-section-heading > p, .referral-partner-grid > div > p, .referral-public-faq header > p, .referral-final-cta p, .referral-code-capture > div > p, .referral-conditions header > p { margin: 0; color: #b33c00; font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.referral-public-hero-grid > div > p, .referral-public-faq header > p { color: #ff9a63; }
.referral-public-hero h1 { max-width: 720px; margin: 18px 0 22px; font-size: clamp(44px, 5.5vw, 68px); line-height: 1.04; letter-spacing: -.045em; }
.referral-public-hero-grid > div > span { display: block; max-width: 660px; color: #d6dcdf; font-size: 18px; line-height: 1.65; }
.referral-public-hero-grid > div > div { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.referral-primary-cta, .referral-secondary-cta { display: grid; min-height: 52px; place-items: center; border-radius: 8px; padding: 12px 22px; font-size: 14px; font-weight: 800; }
.referral-primary-cta { background: var(--ref-orange); color: #fff; }
.referral-secondary-cta { border: 1px solid #ffffff66; color: #fff; }
.referral-no-bank { display: block; margin-top: 23px; color: #ffe0c9; font-size: 14px; }
.referral-public-hero-grid > div > small { display: block; max-width: 660px; margin-top: 12px; color: #b0babf; font-size: 12px; line-height: 1.6; }
.referral-offer-card { display: grid; border: 1px solid #566067; border-radius: 18px; background: #ffffff08; padding: 32px; }
.referral-offer-card > span { color: #ffad7c; font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.referral-offer-card > strong { margin-top: 6px; font-size: clamp(32px, 3.5vw, 46px); line-height: 1.2; letter-spacing: -.035em; }
.referral-offer-card > p { margin: 8px 0; color: #d6dcdf; font-size: 16px; }
.referral-offer-card > b { justify-self: start; margin-top: 10px; border-radius: 6px; background: #fff0e5; padding: 7px 11px; color: #913404; font-size: 14px; }
.referral-offer-card > i { display: grid; width: 38px; height: 38px; place-items: center; margin: 23px 0; border: 1px solid #566067; border-radius: 50%; color: #ffad7c; font-size: 22px; font-style: normal; }
.referral-offer-card > small { margin-top: 10px; color: #b0babf; font-size: 12px; }
.referral-code-capture { position: relative; z-index: 2; display: grid; width: min(1060px, calc(100% - 48px)); grid-template-columns: 1fr 1.15fr; gap: 36px; align-items: center; margin: -45px auto 0; border: 1px solid var(--ref-line); border-radius: 16px; background: #fff; padding: 28px 32px; box-shadow: 0 12px 38px #20242712; }
.referral-code-capture h2 { margin: 8px 0; font-size: 28px; line-height: 1.2; letter-spacing: -.03em; }
.referral-code-capture > div > span { color: var(--ref-grey); font-size: 14px; }
.referral-code-capture > div > a { display: block; margin-top: 12px; color: #a73700; font-size: 14px; font-weight: 700; }
.referral-code-capture form { display: grid; gap: 9px; }
.referral-code-capture label { font-size: 14px; font-weight: 800; }
.referral-code-capture form > div { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.referral-code-capture input { min-width: 0; height: 48px; border: 1px solid #939fa6; border-radius: 7px; padding: 0 14px; font: inherit; font-weight: 700; text-transform: uppercase; }
.referral-code-capture button { border: 0; border-radius: 7px; background: var(--ref-black); padding: 0 19px; color: #fff; font-size: 14px; font-weight: 700; }
.referral-code-capture form > small { color: var(--ref-grey); font-size: 12px; }
.referral-code-capture form > small.captured { color: #126a46; }
.referral-code-capture form > small.captured { display: flex; align-items: flex-start; gap: 8px; }
.referral-code-capture form > small > .referral-icon { width: 16px; height: 16px; margin-top: 2px; }
.referral-code-capture form > a { justify-self: start; margin-top: 3px; color: #a73700; font-size: 14px; font-weight: 800; }
.referral-hub-section, .referral-customer-section, .referral-tracking-section, .referral-reviews-section, .referral-signup-section { padding-block: 72px; }
.referral-section-heading { max-width: 780px; }
.referral-section-heading h2, .referral-partner-grid h2, .referral-public-faq h2, .referral-final-cta h2 { margin: 10px 0 16px; font-size: clamp(30px, 3.5vw, 42px); line-height: 1.15; letter-spacing: -.035em; }
.referral-section-heading > span, .referral-partner-grid > div > span, .referral-public-faq header > span { color: var(--ref-grey); font-size: 16px; }
.referral-hub-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 65px; align-items: center; }
.referral-hub-intro figure { margin: 0; }
.referral-hub-intro img { display: block; width: 100%; height: 330px; object-fit: cover; border-radius: 14px; }
.referral-hub-intro figcaption { margin-top: 8px; color: var(--ref-grey); font-size: 12px; }
.referral-hub-services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 42px; }
.referral-hub-services > a { display: flex; flex-direction: column; border: 1px solid var(--ref-line); border-radius: 12px; padding: 26px; transition: border-color .15s; }
.referral-hub-services > a:hover { border-color: var(--ref-orange); }
.referral-hub-services > a > span { color: #b33c00; font-size: 12px; font-weight: 800; }
.referral-hub-services h3 { margin: 13px 0 8px; font-size: 20px; line-height: 1.3; }
.referral-hub-services p { margin: 0 0 20px; color: var(--ref-grey); font-size: 16px; }
.referral-hub-services b { margin-top: auto; color: #a73700; font-size: 14px; }
.referral-hub-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.referral-hub-benefits article { border: 1px solid var(--ref-line); border-radius: 10px; background: var(--ref-surface); padding: 20px; }
.referral-hub-benefits strong { font-size: 16px; }
.referral-hub-benefits p { margin: 8px 0 0; color: var(--ref-grey); font-size: 14px; }
.referral-customer-section { border-top: 1px solid var(--ref-line); }
.referral-public-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 36px; }
.referral-public-steps article { border: 1px solid var(--ref-line); border-top: 3px solid var(--ref-orange); border-radius: 10px; background: var(--ref-surface); padding: 24px; }
.referral-public-steps article > span { color: #b33c00; font-size: 14px; font-weight: 800; }
.referral-public-steps strong { display: block; margin-top: 18px; font-size: 18px; line-height: 1.35; }
.referral-public-steps p { margin: 12px 0 0; color: var(--ref-grey); font-size: 14px; }
.referral-customer-actions { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 22px; border: 1px solid var(--ref-line); border-radius: 12px; padding: 24px; }
.referral-customer-actions > div { display: grid; gap: 5px; }
.referral-customer-actions span { max-width: 720px; color: var(--ref-grey); font-size: 14px; }
.referral-customer-actions > a { flex: none; border-radius: 7px; background: var(--ref-black); padding: 13px 18px; color: #fff; font-size: 14px; font-weight: 700; }
.referral-partner-section { background: #f1f3f3; padding-block: 88px; }
.referral-partner-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(350px, .75fr); gap: 75px; align-items: start; }
.referral-partner-grid ul { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; margin: 28px 0 0; padding: 0; list-style: none; }
.referral-partner-grid li { display: flex; align-items: center; gap: 10px; border-bottom: 1px solid #d8dddf; padding: 12px 0; font-size: 14px; font-weight: 700; }
.referral-partner-grid li > .referral-icon { width: 18px; height: 18px; color: #53616a; }
.referral-partner-grid > aside { display: grid; border-radius: 16px; background: var(--ref-black); padding: 30px; color: #fff; }
.referral-partner-grid > aside > span { color: #ffad7c; font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.referral-partner-grid > aside > strong { margin-top: 8px; color: #ff9556; font-size: 64px; line-height: 1.2; letter-spacing: -.045em; }
.referral-partner-grid > aside h3 { margin: 8px 0; font-size: 22px; line-height: 1.35; }
.referral-partner-grid > aside > p { margin: 8px 0 20px; color: #bdc6cb; font-size: 14px; }
.referral-partner-grid dl { margin: 0; }
.referral-partner-grid dl > div { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid #414c52; padding: 12px 0; font-size: 14px; }
.referral-partner-grid dt { color: #bdc6cb; }
.referral-partner-grid dd { margin: 0; text-align: right; font-weight: 700; }
.referral-partner-grid > aside > a { display: grid; min-height: 48px; place-items: center; margin-top: 18px; border-radius: 7px; background: var(--ref-orange); color: #fff; font-size: 14px; font-weight: 800; }
.referral-partner-grid > aside > small { margin-top: 14px; color: #bdc6cb; font-size: 12px; }
.referral-review-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 38px; }
.referral-review-cards article { display: flex; flex-direction: column; align-items: flex-start; border: 1px solid var(--ref-line); border-radius: 12px; padding: 26px; background: var(--ref-surface); }
.referral-review-mark { margin-bottom: 10px; color: #9f400f; }
.referral-review-cards small { color: var(--ref-grey); font-size: 12px; }
.referral-review-cards blockquote { margin: 18px 0 24px; font-size: 24px; line-height: 1.4; letter-spacing: -.015em; }
.referral-review-cards strong { margin-top: auto; font-size: 14px; }
.referral-review-cards a { margin-top: 5px; color: #a73700; font-size: 14px; }
.referral-review-source { display: flex; justify-content: space-between; gap: 25px; margin-top: 22px; font-size: 12px; color: var(--ref-grey); }
.referral-review-source a { flex: none; color: #a73700; font-size: 14px; font-weight: 700; }
.referral-signup-section { border-top: 1px solid var(--ref-line); }
.referral-signup-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; align-items: start; margin-top: 38px; }
.referral-account-options { display: grid; gap: 14px; }
.referral-account-options button { display: flex; align-items: flex-start; gap: 16px; width: 100%; border: 2px solid var(--ref-line); border-radius: 12px; background: #fff; padding: 22px; text-align: left; }
.referral-account-options button[aria-pressed="true"] { border-color: #c34300; background: #fff4eb; }
.referral-account-options button[aria-pressed="true"] .referral-icon-tile { border-color: var(--ref-black); background: var(--ref-black); color: #fff; }
.referral-account-options button div { display: grid; gap: 6px; }
.referral-account-options strong { font-size: 20px; line-height: 1.3; }
.referral-account-options small { color: var(--ref-grey); font-size: 14px; }
.referral-account-options b { margin-top: 7px; color: #8c3407; font-size: 14px; }
.referral-required-details { overflow: hidden; margin-top: 24px; border: 1px solid #d2dadd; border-radius: 14px; background: #fff; }
.referral-required-details > header { border-bottom: 1px solid var(--ref-line); background: var(--ref-surface); padding: 20px 24px; }
.referral-required-details > header > span, .referral-payout-later > div > span { color: #a64111; font-size: 12px; font-weight: 800; letter-spacing: .09em; }
.referral-required-details h3 { margin: 6px 0; font-size: 20px; font-weight: 700; line-height: 1.3; letter-spacing: -.015em; }
.referral-required-details > header p { margin: 6px 0 0; color: var(--ref-grey); font-size: 14px; }
.referral-details-list { display: grid; margin: 0; padding: 0 24px; list-style: none; }
.referral-details-list li { display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: start; gap: 14px; border-bottom: 1px solid #e4e8ea; padding: 15px 0; }
.referral-details-list li:last-child { border-bottom: 0; }
.referral-details-list li > .referral-icon { width: 21px; height: 21px; margin-top: 2px; color: #65737d; }
.referral-details-list li > div { display: grid; gap: 3px; }
.referral-details-list strong { color: var(--ref-black); font-size: 16px; font-weight: 700; line-height: 1.4; }
.referral-details-list span { color: var(--ref-grey); font-size: 14px; line-height: 1.5; }
.referral-payout-later { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 14px; border-top: 1px solid #d2dadd; background: #eaf0f3; padding: 22px 24px; }
.referral-payout-later > .referral-icon-tile { background: #fff; border-color: #ced9df; }
.referral-payout-later h4 { margin: 4px 0 8px; font-size: 17px; font-weight: 700; line-height: 1.4; }
.referral-payout-later p { margin: 0; color: #52636e; font-size: 14px; line-height: 1.6; }
.referral-payout-later > div > strong { display: block; margin-top: 10px; color: #314653; font-size: 14px; }
.referral-signup-card { border: 1px solid #d2dadd; border-top: 3px solid var(--ref-black); border-radius: 14px; background: var(--ref-surface); padding: 30px; }
.referral-signup-card header > span { color: #b33c00; font-size: 12px; font-weight: 800; letter-spacing: .09em; }
.referral-signup-card h3 { margin: 8px 0; font-size: 28px; line-height: 1.2; letter-spacing: -.025em; }
.referral-signup-card header > p { margin: 10px 0 20px; color: var(--ref-grey); font-size: 14px; }
.referral-form-preview { display: grid; gap: 4px; margin-bottom: 24px; border-radius: 7px; background: #eaf0f5; padding: 14px 16px; color: #364e60; font-size: 12px; }
.referral-form-preview strong { font-size: 14px; }
.referral-signup-form { display: grid; gap: 18px; }
.referral-signup-form > label { display: grid; gap: 7px; font-size: 14px; font-weight: 700; }
.referral-signup-form :is(input:not([type="checkbox"]), select) { width: 100%; min-width: 0; height: 48px; border: 1px solid #939fa6; border-radius: 7px; padding: 10px 12px; background: #fff; color: var(--ref-black); font: inherit; font-size: 16px; }
.referral-signup-form > .referral-signup-checkbox { display: flex; align-items: flex-start; gap: 12px; font-size: 12px; font-weight: 400; line-height: 1.65; }
.referral-signup-checkbox input { flex: none; width: 18px; height: 18px; margin: 3px 0 0; accent-color: #b33c00; }
.referral-signup-checkbox a { color: #a73700; text-decoration: underline; }
.referral-signup-form > button, .referral-signup-result > button { display: flex; min-height: 50px; align-items: center; justify-content: space-between; gap: 15px; border: 0; border-radius: 7px; background: var(--ref-black); padding: 12px 18px; color: #fff; font-size: 14px; font-weight: 800; }
.referral-signup-form > small { color: var(--ref-grey); font-size: 12px; }
.referral-signup-next { display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: start; gap: 12px; margin-top: 24px; border: 1px solid #d1dbe1; border-radius: 9px; background: #eaf0f3; padding: 18px; }
.referral-signup-next > .referral-icon { margin-top: 2px; color: #425e70; }
.referral-signup-next strong { color: #263e4d; font-size: 16px; }
.referral-signup-next p { margin: 7px 0 0; color: #52636e; font-size: 14px; line-height: 1.6; }
.referral-signup-card footer { display: grid; gap: 4px; margin-top: 26px; border-top: 1px solid var(--ref-line); padding-top: 23px; font-size: 14px; }
.referral-signup-card footer > span { color: var(--ref-grey); font-size: 12px; }
.referral-signup-card footer > a { margin-top: 5px; color: #a73700; font-weight: 800; }
.referral-signup-result h4 { margin: 0 0 15px; font-size: 20px; }
.referral-signup-result dl { margin: 0; }
.referral-signup-result dl > div { display: grid; grid-template-columns: 95px 1fr; gap: 10px; border-bottom: 1px solid var(--ref-line); padding: 10px 0; font-size: 14px; }
.referral-signup-result dt { color: var(--ref-grey); }
.referral-signup-result dd { margin: 0; overflow-wrap: anywhere; }
.referral-signup-result p { color: var(--ref-grey); font-size: 14px; }
.referral-tracking-section { border-top: 1px solid var(--ref-line); }
.referral-tracking-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 32px; }
.referral-tracking-group { overflow: hidden; border: 1px solid #d2dadd; border-radius: 14px; background: #fff; }
.referral-tracking-group > header { display: flex; align-items: center; gap: 12px; border-bottom: 1px solid #d2dadd; background: var(--ref-surface); padding: 16px 22px; }
.referral-tracking-group > header > span { color: #a64111; font-size: 12px; font-weight: 800; }
.referral-tracking-group h3 { margin: 0; font-size: 18px; font-weight: 700; }
.referral-tracking-grid { display: grid; grid-template-columns: 1fr; margin: 0; padding-inline: 22px; }
.referral-tracking-grid article { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 16px; align-items: start; border-bottom: 1px solid #e2e7e9; padding: 21px 0; }
.referral-tracking-grid article:last-child { border-bottom: 0; }
.referral-tracking-grid h4 { margin: 0 0 6px; color: var(--ref-black); font-size: 17px; font-weight: 700; line-height: 1.4; }
.referral-tracking-grid p { margin: 0; color: var(--ref-grey); font-size: 16px; line-height: 1.55; }
.referral-tracking-assurance { display: flex; align-items: flex-start; gap: 16px; margin-top: 18px; border: 1px solid #d1dbe1; border-radius: 10px; background: #eaf0f3; padding: 20px 24px; }
.referral-tracking-assurance > .referral-icon { margin-top: 2px; color: #425e70; }
.referral-tracking-assurance strong { font-size: 16px; color: #263e4d; }
.referral-tracking-assurance p { margin: 6px 0 0; color: #52636e; font-size: 14px; line-height: 1.6; }
.referral-public-faq { background: var(--ref-black); padding-block: 88px; color: #fff; }
.referral-faq-grid { display: grid; grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr); gap: 70px; }
.referral-public-faq header { position: sticky !important; top: 145px !important; align-self: start; }
.referral-public-faq header > span { color: #bdc6cb; }
.referral-public-faq header > a { display: inline-grid; min-height: 44px; place-items: center; margin-top: 25px; border: 1px solid #68737b; border-radius: 7px; padding: 10px 18px; color: #fff; font-size: 14px; }
.referral-public-faq details { border-top: 1px solid #414c52; padding: 0; }
.referral-public-faq details:last-child { border-bottom: 1px solid #414c52; }
.referral-public-faq summary { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 20px; padding-block: 18px; cursor: pointer; font-size: 16px; font-weight: 700; list-style: none; }
.referral-public-faq summary::-webkit-details-marker { display: none; }
.referral-public-faq .referral-faq-chevron { width: 20px; height: 20px; color: #ff9a63; transition: transform .15s; }
.referral-public-faq details[open] .referral-faq-chevron { transform: rotate(180deg); }
.referral-public-faq details p { margin: 0 35px 24px 0; color: #bdc6cb; font-size: 14px; }
.referral-conditions { padding-block: 56px; border-bottom: 1px solid var(--ref-line); }
.referral-conditions-panel { border: 1px solid #d2dadd; border-radius: 16px; background: var(--ref-surface); padding: 32px; }
.referral-conditions h2 { margin: 8px 0 10px; font-size: 30px; font-weight: 700; line-height: 1.2; letter-spacing: -.025em; }
.referral-conditions header > span { display: block; color: var(--ref-grey); font-size: 16px; }
.referral-condition-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 26px; }
.referral-condition-cards article { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 16px; align-items: start; border: 1px solid #dce2e5; border-radius: 10px; background: #fff; padding: 22px; }
.referral-condition-cards h3 { margin: 0 0 8px; color: var(--ref-black); font-size: 17px; font-weight: 700; line-height: 1.4; }
.referral-condition-cards p { margin: 0; color: var(--ref-grey); font-size: 16px; line-height: 1.6; }
.referral-condition-cards p strong { color: #30424d; font-weight: 700; }
.referral-review-independence { display: flex; gap: 14px; align-items: flex-start; margin-top: 22px; border-top: 1px solid #d2dadd; padding-top: 22px; }
.referral-review-independence > .referral-icon { color: #62747f; }
.referral-review-independence p { margin: 0; color: var(--ref-grey); font-size: 14px; line-height: 1.6; }
.referral-review-independence strong { color: #30424d; }
.referral-final-cta { display: flex; align-items: center; justify-content: space-between; gap: 50px; padding-block: 70px; }
.referral-final-cta h2 { max-width: 720px; margin-bottom: 0; }
.referral-final-cta > div:last-child { display: grid; gap: 10px; min-width: 240px; }
.referral-final-cta > div:last-child a { display: grid; min-height: 48px; place-items: center; border-radius: 7px; background: var(--ref-black); padding: 12px 18px; color: #fff; font-size: 14px; font-weight: 800; }
.referral-final-cta > div:last-child a:last-child { border: 1px solid #939fa6; background: #fff; color: var(--ref-black); }
@media (max-width: 1040px) {
  .referral-navbar nav { gap: 18px; }
  .referral-brand > span { display: none; }
  .referral-public-hero-grid { gap: 35px; }
  .referral-partner-grid { gap: 35px; }
  .referral-hub-intro { gap: 35px; }
  .referral-public-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .referral-signup-layout { gap: 30px; }
  .referral-faq-grid { gap: 40px; }
}
@media (max-width: 850px) {
  .referral-public-hero-grid, .referral-code-capture, .referral-partner-grid, .referral-hub-intro, .referral-signup-layout, .referral-faq-grid { grid-template-columns: 1fr; }
  .referral-offer-card, .referral-partner-grid > aside { width: 100%; max-width: 600px; }
  .referral-hub-intro figure { max-width: 650px; }
  .referral-hub-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .referral-tracking-groups, .referral-condition-cards { grid-template-columns: 1fr; }
  .referral-review-cards { grid-template-columns: 1fr; }
  .referral-review-cards blockquote { margin-block: 12px 20px; }
  .referral-hub-benefits { gap: 20px; }
  .referral-public-faq header { position: static !important; top: auto !important; }
  .referral-customer-actions, .referral-final-cta, .referral-review-source { align-items: flex-start; flex-direction: column; }
  .referral-signup-card { max-width: 650px; }
}
@media (max-width: 600px) {
  .referral-public-page .shell { width: calc(100% - 32px); }
  .referral-workspace-notice { justify-content: flex-start; padding-inline: 16px; font-size: 12px; }
  .referral-topbar .shell { justify-content: center; }
  .referral-topbar span, .referral-topbar a:last-child { display: none; }
  .referral-navbar { min-height: 72px; gap: 14px; }
  .referral-brand img { width: 52px; height: 52px; }
  .referral-navbar nav { gap: 12px; margin-left: auto; }
  .referral-navbar nav a { font-size: 12px; }
  .referral-navbar nav a:nth-child(1), .referral-navbar nav a:nth-child(3) { display: none; }
  .referral-header-quote { padding-inline: 16px; }
  .referral-public-hero-grid { padding-block: 50px 90px; }
  .referral-public-hero h1 { font-size: 44px; }
  .referral-public-hero-grid > div > span { font-size: 16px; }
  .referral-public-hero-grid > div > div { flex-direction: column; }
  .referral-offer-card { padding: 24px; }
  .referral-code-capture { width: calc(100% - 32px); gap: 24px; padding: 24px; }
  .referral-code-capture form > div { grid-template-columns: 1fr; }
  .referral-code-capture button { min-height: 46px; }
  .referral-hub-section, .referral-customer-section, .referral-tracking-section, .referral-partner-section, .referral-reviews-section, .referral-signup-section, .referral-public-faq { padding-block: 48px; }
  .referral-hub-services, .referral-hub-benefits, .referral-public-steps, .referral-tracking-grid, .referral-partner-grid ul { grid-template-columns: 1fr; }
  .referral-hub-intro img { height: 260px; }
  .referral-public-steps article { padding: 22px; }
  .referral-signup-card, .referral-partner-grid > aside { padding: 24px; }
  .referral-signup-layout { gap: 25px; }
  .referral-account-options button { padding: 18px; }
  .referral-required-details > header { padding: 18px; }
  .referral-details-list { padding-inline: 18px; }
  .referral-payout-later { grid-template-columns: 32px minmax(0, 1fr); gap: 12px; padding: 18px; }
  .referral-payout-later > .referral-icon-tile { width: 32px; height: 32px; }
  .referral-payout-later > .referral-icon-tile .referral-icon { width: 20px; height: 20px; }
  .referral-tracking-group > header { padding: 15px 18px; }
  .referral-tracking-grid { padding-inline: 18px; }
  .referral-tracking-grid article { grid-template-columns: 36px minmax(0, 1fr); gap: 13px; padding-block: 18px; }
  .referral-tracking-grid .referral-icon-tile { width: 36px; height: 36px; }
  .referral-tracking-grid .referral-icon { width: 22px; height: 22px; }
  .referral-tracking-assurance { gap: 12px; padding: 18px; }
  .referral-conditions { padding-block: 40px; }
  .referral-conditions-panel { padding: 20px 16px; }
  .referral-conditions h2 { font-size: 27px; }
  .referral-condition-cards { gap: 12px; margin-top: 20px; }
  .referral-condition-cards article { grid-template-columns: 32px minmax(0, 1fr); gap: 12px; padding: 16px; }
  .referral-condition-cards .referral-icon-tile { width: 32px; height: 32px; }
  .referral-condition-cards .referral-icon { width: 20px; height: 20px; }
  .referral-partner-grid dl > div { font-size: 12px; }
  .referral-customer-actions > a, .referral-final-cta > div:last-child { width: 100%; text-align: center; }
  .referral-final-cta { gap: 28px; padding-block: 54px; }
}
@media (prefers-reduced-motion: reduce) {
  .referral-public-page * { scroll-behavior: auto !important; transition: none !important; }
}

/* WordPress production shell adjustments. */
body.page-referral-program .entry-title,body.page-referral-program .page-header{display:none}.referral-public-page{margin-inline:calc(50% - 50vw);width:100vw}.referral-public-page a{text-decoration:none}.referral-public-page button{cursor:pointer}.referral-code-capture{display:grid;grid-template-columns:1fr 1fr;gap:48px;width:min(1180px,calc(100% - 48px));margin:-44px auto 0;position:relative;z-index:4;background:#fff;border:1px solid var(--ref-line);border-radius:14px;padding:28px;box-shadow:0 16px 40px #1112}.referral-code-capture h2{margin:5px 0}.referral-code-capture>div>p{color:#a64111;font-size:12px;font-weight:800;letter-spacing:.1em}.referral-code-capture form>div{display:grid;grid-template-columns:1fr auto;gap:8px}.referral-code-capture input{height:48px;border:1px solid #939fa6;border-radius:7px;padding:10px 12px;font-size:16px}.referral-code-capture button{border:0;border-radius:7px;background:#15191b;color:#fff;padding:0 20px;font-weight:800}.referral-code-capture form>p,#jb-referral-signup-status{min-height:22px;color:#8c3407;font-weight:700}.referral-signup-form #jb-partner-fields{display:grid;gap:18px}.referral-signup-form #jb-partner-fields[hidden]{display:none}.referral-signup-form #jb-partner-fields label{display:grid;gap:7px;font-size:14px;font-weight:700}.referral-signup-form button:disabled{opacity:.6}.referral-offer-card>i{font-size:28px;font-style:normal}.referral-public-page .referral-section-heading h2{margin-top:8px}.referral-public-page .referral-icon-tile{font-weight:800}.referral-public-page details summary span{color:#ff9a63}

/* v1.1: Referral page shell cleanup and mobile app experience. */
body.page-referral-program > .text-center.pt-5,
body.page-referral-program > #quick-quote,
body.page-referral-program > .jbgs-search-strip,
body.page-referral-program .general-body > .container > .entry-header,
body.page-referral-program .general-body > .container > .page-header,
body.page-referral-program .general-body > .container > .entry-title { display: none !important; }
body.page-referral-program > .general-body { padding-block: 0 !important; }
body.page-referral-program > .general-body > .container { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
body.page-referral-program .referral-public-page { display: block; float: none !important; clear: both; width: 100% !important; margin: 0 !important; overflow: visible; padding-top: 0 !important; --ref-grey: #435158; }
.referral-mobile-tabs { display: none; }
.referral-header-dashboard { display: grid; min-height: 44px; place-items: center; border: 1px solid #929da3; border-radius: 8px; padding: 0 18px; color: var(--ref-black); font-size: 14px; font-weight: 800; }
.referral-public-page :is(.referral-section-heading,.referral-signup-card > header,.referral-conditions header,.referral-public-faq header) { position: static !important; top: auto !important; z-index: auto !important; border: 0 !important; background: transparent !important; padding-top: 0 !important; color: inherit !important; }
.referral-public-page :is(.referral-section-heading,.referral-signup-card > header,.referral-conditions header) :is(h2,h3) { color: var(--ref-black) !important; }
.referral-public-page .referral-section-heading > span { color: #435158 !important; }
.referral-public-faq header :is(h2,span) { color: #fff !important; }
.referral-public-faq header > span { color: #d5dde1 !important; }
.referral-public-faq details p { color: #d5dde1; font-size: 16px; }
.referral-partner-grid > aside > p,
.referral-partner-grid dt,
.referral-partner-grid > aside > small { color: #d5dde1; }
.referral-offer-block { display: grid; }
.referral-offer-block > span { color: #ffad7c; font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.referral-offer-block > strong { margin-top: 6px; color: #fff; font-size: clamp(32px,3.5vw,46px); line-height: 1.2; letter-spacing: -.035em; }
.referral-offer-block > p { margin: 8px 0; color: #e0e6e8 !important; font-size: 16px; }
.referral-offer-block > b { justify-self: start; margin-top: 10px; border-radius: 6px; background: #fff0e5; padding: 7px 11px; color: #7d2c04; font-size: 14px; }
.referral-offer-block > small { margin-top: 10px; color: #cbd4d8; font-size: 12px; }

@media (max-width: 850px) {
  body.page-referral-program > .jbgs-site-header { display: none !important; }
  body.page-referral-program .referral-public-page { padding: 114px 0 86px !important; background: #f5f6f7; }
  .referral-public-page section[id] { scroll-margin-top: 126px; }
  .referral-site-header { position: fixed !important; inset: 0 0 auto; z-index: 10040; border-bottom: 1px solid #d9dee1; box-shadow: 0 5px 20px #1a202418; }
  body.admin-bar .referral-site-header { top: 46px; }
  .referral-topbar { display: none; }
  .referral-navbar { width: 100% !important; min-height: 64px; gap: 10px; padding: 8px 16px; }
  .referral-brand { min-width: 0; margin-right: auto; }
  .referral-brand img { width: 46px; height: 46px; padding: 4px; border-radius: 11px; }
  .referral-brand > span { display: grid; min-width: 0; }
  .referral-brand strong { font-size: 12px; letter-spacing: .04em; white-space: nowrap; }
  .referral-brand small { margin-top: 1px; color: #9b3909; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
  .referral-navbar > nav { display: none; }
  .referral-header-dashboard,
  .referral-header-quote { min-height: 44px; border-radius: 12px; padding-inline: 14px; font-size: 13px; }
  .referral-header-dashboard { border-color: #d5dadd; background: #f5f7f8; }
  .referral-mobile-tabs { display: grid; grid-template-columns: repeat(4,1fr); min-height: 48px; border-top: 1px solid #e4e8ea; background: #fff; padding: 0 8px; }
  .referral-mobile-tabs a { position: relative; display: grid; min-height: 48px; place-items: center; color: #46535a; font-size: 12px; font-weight: 800; }
  .referral-mobile-tabs a::after { position: absolute; bottom: 0; left: 22%; width: 56%; height: 3px; border-radius: 3px 3px 0 0; background: transparent; content: ''; }
  .referral-mobile-tabs a[aria-current="page"] { color: #a73700; }
  .referral-mobile-tabs a[aria-current="page"]::after { background: var(--ref-orange); }
  .referral-public-hero-grid { gap: 24px; padding-block: 42px 76px; }
  .referral-public-hero h1 { max-width: 620px; margin-block: 12px 16px; font-size: clamp(39px,8vw,54px); line-height: 1.03; }
  .referral-public-hero-grid > div > span { color: #e0e6e8; font-size: 17px; line-height: 1.55; }
  .referral-public-hero-grid > div > div { margin-top: 24px; }
  .referral-no-bank { margin-top: 18px; }
  .referral-offer-card { grid-template-columns: minmax(0,1fr) 30px minmax(0,1fr); max-width: 620px; align-items: center; gap: 16px; border-radius: 16px; padding: 20px 22px; }
  .referral-offer-block > strong { font-size: 29px; }
  .referral-offer-block > p { font-size: 14px; line-height: 1.45; }
  .referral-offer-block > b { padding: 6px 9px; font-size: 12px; }
  .referral-offer-card > i { width: 30px; height: 30px; margin: 0; font-size: 20px; }
  .referral-code-capture { grid-template-columns: 1fr; gap: 18px; width: calc(100% - 32px); margin-top: -38px; border-radius: 18px; padding: 22px; box-shadow: 0 12px 30px #1b23291a; }
  .referral-code-capture form > div { grid-template-columns: minmax(0,1fr) auto; }
  .referral-hub-section,
  .referral-customer-section,
  .referral-tracking-section,
  .referral-partner-section,
  .referral-reviews-section,
  .referral-signup-section,
  .referral-public-faq { padding-block: 48px; }
  .referral-section-heading h2,
  .referral-partner-grid h2,
  .referral-public-faq h2,
  .referral-final-cta h2 { font-size: clamp(30px,6vw,40px); }
  .referral-hub-services,
  .referral-public-steps { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(245px,42%); grid-template-columns: none; gap: 14px; max-width: 100%; overflow-x: auto; padding: 3px 2px 16px; scroll-padding-inline: 2px; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .referral-hub-services::-webkit-scrollbar,
  .referral-public-steps::-webkit-scrollbar { display: none; }
  .referral-hub-services > a,
  .referral-public-steps > article { min-height: 210px; border-radius: 16px; padding: 19px; scroll-snap-align: start; box-shadow: 0 5px 16px #1b23290a; }
  .referral-hub-services h3 { margin-block: 11px 6px; font-size: 18px; }
  .referral-hub-services p { margin-bottom: 12px; }
  .referral-public-steps article { min-height: 185px; }
  .referral-public-steps strong { margin-top: 12px; }
  .referral-hub-benefits { gap: 10px; }
  .referral-hub-benefits article { border-radius: 14px; padding: 16px; }
  .referral-partner-grid > aside { max-width: 520px; border-radius: 18px; padding: 24px; }
  .referral-partner-grid > aside > strong { font-size: 52px; }
  .referral-signup-section { background: #fff; }
  .referral-signup-layout { gap: 24px; margin-top: 26px; }
  .referral-account-options { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .referral-account-options button { min-height: 170px; flex-direction: column; gap: 11px; border-width: 1px; border-radius: 18px; padding: 16px; box-shadow: 0 5px 18px #1b23290a; }
  .referral-account-options button[aria-pressed="true"] { border: 2px solid #d14b05; background: #fff7f1; box-shadow: 0 8px 24px #d14b0514; }
  .referral-account-options strong { font-size: 17px; }
  .referral-account-options small,
  .referral-account-options b { font-size: 13px; line-height: 1.45; }
  .referral-required-details { margin-top: 16px; border-radius: 18px; }
  .referral-required-details > header { background: #f5f7f8 !important; padding: 18px; }
  .referral-payout-later { padding: 18px; }
  .referral-signup-card { max-width: none; border-top-color: var(--ref-orange); border-radius: 18px; background: #fff; padding: 22px; box-shadow: 0 12px 32px #1b232912; }
  .referral-signup-card h3 { font-size: 26px; }
  .referral-signup-form :is(input:not([type="checkbox"]),select) { min-height: 50px; border-radius: 11px; }
  .referral-signup-form > button { min-height: 54px; border-radius: 12px; background: var(--ref-orange); }
  .referral-tracking-group,
  .referral-conditions-panel { border-radius: 18px; }
  .referral-public-faq summary { min-height: 68px; font-size: 16px; }
  .referral-final-cta { padding-bottom: 42px; }
}

@media (min-width: 783px) and (max-width: 850px) {
  body.admin-bar .referral-site-header { top: 32px; }
}

@media (max-width: 600px) {
  .referral-header-dashboard { overflow: hidden; width: 44px; padding: 0; font-size: 0; }
  .referral-header-dashboard::before { font-size: 17px; content: '\2197'; }
  .referral-header-quote { padding-inline: 13px; }
  .referral-public-hero-grid { padding-block: 36px 70px; }
  .referral-public-hero h1 { font-size: 39px; }
  .referral-public-hero-grid > div > div { display: grid; grid-template-columns: 1fr; }
  .referral-primary-cta,
  .referral-secondary-cta { min-height: 54px; border-radius: 13px; }
  .referral-code-capture form > div { grid-template-columns: 1fr; }
  .referral-code-capture button { min-height: 48px; border-radius: 11px; }
  .referral-hub-services,
  .referral-public-steps { grid-auto-columns: minmax(245px,86%); }
  .referral-hub-services > a,
  .referral-public-steps > article { min-height: 195px; }
  .referral-hub-intro img { height: 220px; border-radius: 18px; }
  .referral-hub-benefits { grid-template-columns: 1fr; }
  .referral-partner-grid ul { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px 12px; }
  .referral-partner-grid li { align-items: flex-start; padding-block: 10px; font-size: 13px; line-height: 1.35; }
  .referral-account-options button { min-height: 182px; }
  .referral-account-options .referral-icon-tile { width: 36px; height: 36px; }
  .referral-tracking-grid { grid-template-columns: 1fr; }
  .referral-public-faq details p { font-size: 15px; line-height: 1.6; }
  .referral-offer-card { grid-template-columns: 1fr; gap: 10px; }
  .referral-offer-card > i { margin-block: 3px; }
  .referral-offer-block > strong { font-size: 28px; }
}

/* v1.2: calm light palette and a single referral header. */
body.page-referral-program > .jbgs-site-header,
.referral-topbar { display: none !important; }
.referral-site-header { border-bottom-color: #e5dfda; background: #fffdfbf7; box-shadow: 0 4px 18px #5b3a2410; }
.referral-navbar { min-height: 74px; }
.referral-public-hero { border-bottom: 1px solid #eadfd6; background: linear-gradient(135deg,#fff9f4 0%,#f8f6f3 52%,#f0f4f4 100%); color: var(--ref-black); }
.referral-public-hero-grid { padding-block: 68px 94px; }
.referral-public-hero-grid > div > p { color: #a93b05; }
.referral-public-hero-grid > div > span { color: #3f4b52; }
.referral-public-hero-grid > div > small { color: #526168; }
.referral-no-bank { color: #76310e; }
.referral-secondary-cta { border-color: #bdc5c9; background: #fff; color: var(--ref-black); }
.referral-offer-card { border-color: #e3d7ce; background: #fff; color: var(--ref-black); box-shadow: 0 18px 45px #5b3a2412; }
.referral-offer-block > span { color: #9b3708; }
.referral-offer-block > strong { color: var(--ref-black); }
.referral-offer-block > p { color: #435158 !important; }
.referral-offer-block > small { color: #526168; }
.referral-offer-card > i { border-color: #efc3aa; background: #fff3e9; color: #b94309; }
.referral-code-capture button,
.referral-customer-actions > a,
.referral-signup-form > button,
.referral-signup-result > button,
.referral-final-cta > div:last-child a { background: var(--ref-orange); color: #fff; }
.referral-account-options button[aria-pressed="true"] .referral-icon-tile { border-color: #cb4705; background: #fff1e7; color: #a83902; }
.referral-partner-section { background: #f6f3ef; }
.referral-partner-grid > aside { border: 1px solid #e2d4ca; background: #fffaf6; color: var(--ref-black); box-shadow: 0 14px 36px #5b3a2410; }
.referral-partner-grid > aside > span { color: #9b3708; }
.referral-partner-grid > aside > strong { color: #c24508; }
.referral-partner-grid > aside > p,
.referral-partner-grid dt,
.referral-partner-grid > aside > small { color: #526168; }
.referral-partner-grid dl > div { border-top-color: #e2d8d0; }
.referral-public-faq { border-block: 1px solid #e0e4e5; background: #f4f6f6; color: var(--ref-black); }
.referral-public-faq header :is(h2,span) { color: var(--ref-black) !important; }
.referral-public-faq header > p { color: #a43a05; }
.referral-public-faq header > span { color: #526168 !important; }
.referral-public-faq details,
.referral-public-faq details:last-child { border-color: #d3dadd; }
.referral-public-faq summary { color: var(--ref-black); }
.referral-public-faq details p { color: #435158; }
.referral-public-faq details summary span { color: #b64007; }
.referral-final-cta > div:last-child a:last-child { border-color: #c8ced1; background: #fff; color: var(--ref-black); }

@media (max-width: 850px) {
  .referral-public-hero-grid { padding-block: 40px 72px; }
  .referral-public-hero-grid > div > span { color: #3f4b52; }
  .referral-offer-card { box-shadow: 0 12px 28px #5b3a2410; }
}

.referral-hub-intro { grid-template-columns: 1fr; max-width: 820px; }


/* v1.2.2: Moving Hub inspired hero with a calm, readable offer card. */
.referral-public-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-bottom: 0;
  background: #1b2022 url('https://www.jbremovals.sydney/wp-content/uploads/2026/09/jb-moving-hub-background-1600.webp') center 52% / cover no-repeat;
  color: #fff;
}
.referral-public-hero::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg,rgba(16,21,23,.94) 0%,rgba(16,21,23,.83) 43%,rgba(16,21,23,.45) 72%,rgba(16,21,23,.28) 100%);
  content: '';
}
.referral-public-hero-grid { min-height: 580px; grid-template-columns: minmax(0,1.18fr) minmax(340px,.72fr); gap: clamp(40px,6vw,78px); padding-block: 68px 96px; }
.referral-public-hero-grid > div > p { color: #fff; }
.referral-public-hero h1 { max-width: 720px; color: #fff; text-wrap: balance; }
.referral-public-hero h1 .referral-hero-accent { display: block; color: #f0642b; }
.referral-public-hero-grid > div > span { color: #f2f5f6; text-shadow: 0 1px 2px #0008; }
.referral-public-hero-grid > div > small { color: #dce3e6; }
.referral-no-bank { color: #fff4ec; }
.referral-primary-cta { box-shadow: 0 8px 22px #0003; }
.referral-secondary-cta { border-color: #ffffffa6; background: #ffffff10; color: #fff; backdrop-filter: blur(5px); }
.referral-secondary-cta:hover,
.referral-secondary-cta:focus-visible { border-color: #fff; background: #fff; color: var(--ref-black); }
.referral-offer-card { border: 1px solid #ffffffcc; border-radius: 16px; background: #fff; color: var(--ref-black); box-shadow: 0 24px 55px #0005; }
.referral-offer-block > span { color: #a43a05; }
.referral-offer-block > strong { color: var(--ref-black); }
.referral-offer-block > p { color: #435158 !important; }
.referral-offer-block > small { color: #526168; }

@media (max-width: 850px) {
  .referral-public-hero { background-position: 60% center; }
  .referral-public-hero::before { background: linear-gradient(180deg,rgba(16,21,23,.91) 0%,rgba(16,21,23,.82) 58%,rgba(16,21,23,.68) 100%); }
  .referral-public-hero-grid { min-height: 0; grid-template-columns: 1fr; gap: 26px; padding-block: 44px 76px; }
  .referral-public-hero-grid > div > span { color: #f2f5f6; }
  .referral-offer-card { box-shadow: 0 16px 34px #0005; }
}

@media (max-width: 600px) {
  .referral-public-hero { background-position: 58% center; }
  .referral-public-hero h1 { font-size: clamp(38px,11vw,48px); }
  .referral-public-hero-grid { padding-block: 38px 70px; }
  .referral-secondary-cta { background: #ffffff16; }
}
