/* ===== RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:"Poppins",system-ui,-apple-system,sans-serif;color:#0B0B0B;background:#ffffff;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
button{font-family:inherit;}

/* ===== CSS VARIABLES ===== */
:root{
  --rbs-navy:#062F56;
  --rbs-navy-deep:#041e3a;
  --rbs-teal:#0f766e;
  --rbs-teal-hover:#0b5d57;
  --rbs-teal-light:rgba(15,118,110,0.1);
  --rbs-teal-bright:#14b8a6;
  --bg-light:#F5F5F5;
  --bg-alt:#ffffff;
  --text-dark:#0B0B0B;
  --text-body:#475569;
  --text-muted:#666666;
  --text-inverse-muted:#94a3b8;
  --border-light:#D7D7D7;
  --white:#ffffff;
  --radius:0;
  --shadow-card:0 1px 3px rgba(0,0,0,0.1),0 1px 2px rgba(0,0,0,0.06);
  --shadow-hover:0 8px 24px rgba(0,0,0,0.12);
  --transition:0.2s ease;
}

/* ===== ACCESSIBILITY ===== */
.skip-link{position:absolute;top:-40px;left:0;background:var(--rbs-navy);color:var(--white);padding:8px 16px;z-index:9999;font-size:14px;}
.skip-link:focus{top:0;}
:focus-visible{outline:2px solid var(--rbs-teal-bright);outline-offset:2px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ===== CONTAINER ===== */
.container{max-width:1200px;margin:0 auto;padding:0 24px;}

/* ===== HERO ===== */
.hero{background:var(--rbs-navy);padding:80px 24px 72px;text-align:center;position:relative;overflow:hidden;}
.hero::before{content:"";position:absolute;top:-200px;right:-150px;width:500px;height:500px;background:radial-gradient(circle,rgba(13,148,136,0.12) 0%,transparent 70%);pointer-events:none;}
.hero::after{content:"";position:absolute;bottom:-180px;left:-120px;width:450px;height:450px;background:radial-gradient(circle,rgba(20,184,166,0.08) 0%,transparent 70%);pointer-events:none;}
.hero .container{position:relative;z-index:1;max-width:720px;}
.logo{width:160px;margin:0 auto 32px;filter:brightness(0) invert(1);}
.hero-tagline{font-size:13px;font-weight:700;color:var(--rbs-teal-bright);text-transform:uppercase;letter-spacing:0.12em;margin-bottom:12px;}
.hero h1{font-size:44px;font-weight:800;color:var(--white);line-height:1.1;letter-spacing:-0.03em;margin-bottom:20px;}
.hero-sub{font-size:18px;color:var(--text-inverse-muted);line-height:1.7;margin-bottom:36px;max-width:560px;margin-left:auto;margin-right:auto;}
.hero-sub strong{color:var(--rbs-teal-bright);font-weight:700;}

/* ===== HERO SPLIT (image + text) ===== */
.hero-split{padding:0;}
.hero-split::before,.hero-split::after{display:none;}
.hero-split-inner{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;max-width:1440px;margin:0 auto;min-height:560px;position:relative;z-index:1;}
.hero-text-col{padding:88px 72px;display:flex;flex-direction:column;justify-content:center;text-align:left;align-items:flex-start;position:relative;}
.hero-text-col::before{content:"";position:absolute;top:-200px;right:-150px;width:500px;height:500px;background:radial-gradient(circle,rgba(13,148,136,0.18) 0%,transparent 70%);pointer-events:none;z-index:-1;}
.hero-text-col .logo{width:140px;margin:0 0 32px 0;}
.hero-text-col .hero-tagline{margin-bottom:14px;}
.hero-text-col h1{font-size:48px;text-align:left;}
.hero-text-col .hero-sub{text-align:left;margin-left:0;margin-right:0;max-width:none;margin-bottom:32px;}
.hero-image-col{background-size:cover;background-position:center;min-height:400px;position:relative;}
.hero-image-col::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,47,86,0.35) 0%,transparent 40%);pointer-events:none;}
.hero-image-refer{background-image:url("hero.webp");}
.hero-image-affiliate{background-image:url("hero.webp");}
@media(max-width:900px){
  .hero-split-inner{grid-template-columns:1fr;min-height:auto;}
  .hero-image-col{min-height:280px;order:-1;}
  .hero-image-col::before{background:linear-gradient(180deg,rgba(6,47,86,0.25) 0%,transparent 50%);}
  .hero-text-col{padding:48px 24px 56px;text-align:center;align-items:center;}
  .hero-text-col .logo{margin:0 auto 24px;}
  .hero-text-col h1{font-size:32px;text-align:center;}
  .hero-text-col .hero-sub{text-align:center;}
}
@media(max-width:480px){
  .hero-text-col h1{font-size:28px;}
}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;font-size:15px;font-weight:600;font-family:inherit;border:none;cursor:pointer;transition:all var(--transition);text-transform:uppercase;letter-spacing:0.04em;border-radius:var(--radius);}
.btn-primary{background:var(--rbs-teal);color:var(--white);box-shadow:0 4px 14px rgba(13,148,136,0.35);}
.btn-primary:hover{background:var(--rbs-teal-hover);transform:translateY(-1px);box-shadow:0 6px 20px rgba(13,148,136,0.45);}
.btn-primary:focus-visible{outline:3px solid var(--white);outline-offset:2px;}
.btn-secondary{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,0.3);}
.btn-secondary:hover{background:rgba(255,255,255,0.1);border-color:var(--white);}
.btn-lg{padding:16px 40px;font-size:16px;}

/* ===== SECTION BASE ===== */
.section{padding:80px 24px;}
.section h2{font-size:32px;font-weight:700;color:var(--text-dark);letter-spacing:-0.02em;text-align:center;margin-bottom:16px;}
.section-sub{font-size:17px;color:var(--text-body);text-align:center;max-width:620px;margin:0 auto 48px;line-height:1.7;}
.section-blue{background:var(--rbs-navy);position:relative;overflow:hidden;}
.section-blue::before{content:"";position:absolute;top:-100px;right:-100px;width:400px;height:400px;background:radial-gradient(circle,rgba(13,148,136,0.08) 0%,transparent 70%);pointer-events:none;}
.section-blue h2{color:var(--white);}
.section-blue .section-sub{color:var(--text-inverse-muted);}
.section-light{background:var(--bg-light);}

/* ===== STEP GRID (numbered) ===== */
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:960px;margin:48px auto 0;position:relative;z-index:1;}
.step-card{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);padding:40px 28px;text-align:left;transition:all var(--transition);}
.step-card:hover{background:rgba(255,255,255,0.1);transform:translateY(-2px);}
.step-num{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--rbs-teal);color:var(--white);font-size:18px;font-weight:700;margin-bottom:16px;}
.step-card h3{font-size:18px;font-weight:600;color:var(--white);margin-bottom:10px;}
.step-card p{font-size:15px;color:var(--text-inverse-muted);line-height:1.65;}
/* Step grid on light backgrounds */
.step-card-light{background:var(--white);border:1px solid var(--border-light);box-shadow:var(--shadow-card);}
.step-card-light:hover{background:var(--white);border-color:var(--rbs-teal);box-shadow:var(--shadow-hover);}
.step-card-light h3{color:var(--text-dark);}
.step-card-light p{color:var(--text-muted);}

/* ===== CARD GRID (generic) ===== */
.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:900px;margin:48px auto 0;}
.card-grid-3{grid-template-columns:repeat(3,1fr);max-width:960px;}
.card-grid-4{grid-template-columns:repeat(4,1fr);max-width:1100px;}
.card{background:var(--white);border:1px solid var(--border-light);padding:32px;box-shadow:var(--shadow-card);transition:all var(--transition);}
.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px);border-color:var(--rbs-teal);}
.card-icon{font-size:32px;margin-bottom:16px;}
.card h3{font-size:18px;font-weight:600;color:var(--text-dark);margin-bottom:10px;}
.card p{font-size:15px;color:var(--text-muted);line-height:1.65;}

/* ===== EARN GRID ===== */
.earn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1000px;margin:48px auto 0;}
.earn-card{background:var(--white);border:1px solid var(--border-light);padding:24px;display:flex;flex-direction:column;gap:8px;transition:all var(--transition);}
.earn-card:hover{border-color:var(--rbs-teal);box-shadow:var(--shadow-card);}
.earn-icon{font-size:24px;margin-bottom:4px;}
.earn-card h3{font-size:15px;font-weight:600;color:var(--text-dark);}
.earn-points{font-size:13px;font-weight:700;color:var(--rbs-teal);text-transform:uppercase;letter-spacing:0.05em;}

/* ===== TIER TABLE ===== */
.tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:960px;margin:48px auto 0;}
.tier-card{background:var(--white);border:1px solid var(--border-light);padding:40px 32px;text-align:center;transition:all var(--transition);}
.tier-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px);}
.tier-card-top{border-top:4px solid var(--rbs-teal);}
.tier-name{font-size:13px;font-weight:700;color:var(--rbs-teal);text-transform:uppercase;letter-spacing:0.12em;margin-bottom:8px;}
.tier-spend{font-size:28px;font-weight:800;color:var(--text-dark);margin-bottom:24px;letter-spacing:-0.02em;}
.tier-benefits{list-style:none;text-align:left;}
.tier-benefits li{font-size:14px;color:var(--text-muted);padding:8px 0;padding-left:24px;position:relative;line-height:1.5;}
.tier-benefits li::before{content:"\2713";position:absolute;left:0;top:8px;color:var(--rbs-teal);font-weight:700;}

/* ===== COMMISSION SECTION ===== */
.commission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:900px;margin:48px auto 0;position:relative;z-index:1;}
.commission-card{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);padding:40px 32px;text-align:center;transition:all var(--transition);}
.commission-card:hover{background:rgba(255,255,255,0.1);transform:translateY(-2px);}
.commission-card-highlight{border-color:var(--rbs-teal-bright);background:rgba(20,184,166,0.06);}
.commission-badge{display:inline-block;background:var(--rbs-teal);color:var(--white);font-size:11px;font-weight:700;padding:4px 12px;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:16px;}
.commission-rate{font-size:64px;font-weight:800;color:var(--white);line-height:1;letter-spacing:-0.04em;margin-bottom:8px;}
.commission-label{font-size:14px;font-weight:600;color:var(--rbs-teal-bright);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:16px;}
.commission-card p{font-size:14px;color:var(--text-inverse-muted);line-height:1.6;}
.commission-note{text-align:center;color:var(--rbs-teal-bright);font-size:15px;font-weight:600;margin-top:24px;position:relative;z-index:1;}

/* ===== PRODUCT GRID ===== */
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1100px;margin:0 auto;}
a.product-card{display:block;text-decoration:none;color:inherit;cursor:pointer;}
.product-card{background:var(--white);border:1px solid var(--border-light);box-shadow:var(--shadow-card);transition:all var(--transition);overflow:hidden;}
.product-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px);border-color:var(--rbs-teal);}
.product-card:hover h3{color:var(--rbs-teal);}
.product-img-wrap{background:#f8fafc;padding:32px 24px;display:flex;align-items:center;justify-content:center;min-height:220px;position:relative;}
.product-img-wrap::after{content:"";position:absolute;bottom:0;left:16px;right:16px;height:1px;background:linear-gradient(to right,transparent,var(--border-light),transparent);}
.product-img{max-height:180px;width:auto;max-width:90%;margin:0 auto;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,0.08));}
.product-card h3{font-size:16px;font-weight:600;color:var(--text-dark);padding:20px 20px 8px;transition:color var(--transition);}
.product-card p{font-size:14px;color:var(--text-muted);line-height:1.6;padding:0 20px 24px;}

/* ===== TRUST ROW ===== */
.trust-row{display:flex;align-items:center;justify-content:center;gap:0;max-width:800px;margin:0 auto;}
.trust-item{text-align:center;flex:1;padding:24px 16px;}
.trust-item strong{display:block;font-size:18px;font-weight:700;color:var(--rbs-navy);margin-bottom:4px;}
.trust-item span{font-size:13px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:0.06em;}
.trust-divider{width:1px;height:48px;background:var(--border-light);flex-shrink:0;}

/* ===== FAQ ===== */
.faq-wrap{max-width:760px;margin:48px auto 0;}
.faq-item{border-bottom:1px solid var(--border-light);}
.faq-item:first-child{border-top:1px solid var(--border-light);}
.faq-q{width:100%;background:transparent;border:0;padding:24px 48px 24px 0;text-align:left;font-size:17px;font-weight:600;color:var(--text-dark);cursor:pointer;position:relative;transition:color var(--transition);}
.faq-q:hover{color:var(--rbs-teal);}
.faq-q::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:24px;font-weight:400;color:var(--rbs-teal);transition:transform var(--transition);}
.faq-q[aria-expanded="true"]::after{content:"\2212";}
.faq-a{max-height:0;overflow:hidden;transition:max-height 0.25s ease;}
.faq-a-inner{padding:0 0 24px;font-size:15px;color:var(--text-body);line-height:1.7;}
.faq-item.open .faq-a{max-height:400px;}

/* ===== CTA SECTION ===== */
.section-cta{background:var(--rbs-navy);padding:80px 24px;text-align:center;position:relative;overflow:hidden;}
.section-cta::before{content:"";position:absolute;top:-120px;left:50%;transform:translateX(-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(13,148,136,0.1) 0%,transparent 60%);pointer-events:none;}
.section-cta h2{color:var(--white);margin-bottom:12px;}
.section-cta .section-sub{color:var(--text-inverse-muted);margin-bottom:36px;}
.cta-buttons{position:relative;z-index:1;display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:32px;}
.cta-buttons-inline{position:static;margin-bottom:0;}
.contact-info{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,0.1);padding-top:32px;max-width:400px;margin:0 auto;}
.contact-info p{font-size:14px;color:var(--text-inverse-muted);margin-bottom:8px;}
.contact-link{font-size:16px;font-weight:600;color:var(--rbs-teal-bright);transition:color var(--transition);}
.contact-link:hover{color:var(--white);}

/* ===== FOOTER ===== */
.footer{background:var(--rbs-navy);border-top:1px solid rgba(255,255,255,0.08);padding:32px 24px;text-align:center;}
.footer-logo{width:100px;margin:0 auto 16px;filter:brightness(0) invert(1);opacity:0.6;}
.footer p{font-size:12px;color:var(--text-inverse-muted);}
.footer-link{margin-top:8px;}
.footer-link a{font-size:13px;color:var(--text-inverse-muted);transition:color var(--transition);}
.footer-link a:hover{color:var(--rbs-teal-bright);}

/* ===== RESPONSIVE ===== */
@media(max-width:900px){
  .card-grid-3,.card-grid-4,.earn-grid,.step-grid,.tier-grid,.commission-grid,.product-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:640px){
  .hero{padding:60px 24px 56px;}
  .hero h1{font-size:30px;}
  .hero-sub{font-size:16px;}
  .logo{width:130px;margin-bottom:32px;}
  .section{padding:60px 24px;}
  .section h2{font-size:26px;}
  .card-grid,.card-grid-3,.card-grid-4,.earn-grid,.step-grid,.tier-grid,.commission-grid,.product-grid{grid-template-columns:1fr;max-width:480px;}
  .commission-rate{font-size:52px;}
  .trust-row{flex-direction:column;gap:0;}
  .trust-divider{width:60px;height:1px;}
  .trust-item{padding:16px;}
  .cta-buttons{flex-direction:column;align-items:center;}
  .btn,.btn-lg{width:100%;max-width:320px;justify-content:center;}
}
@media(max-width:480px){
  .hero h1{font-size:26px;}
  .btn-lg{padding:14px 28px;font-size:14px;}
}
