:root {
  --navy-950: #07111f;
  --navy-900: #0b1526;
  --navy-850: #0f1d35;
  --navy-800: #12233f;
  --navy-700: #1c3358;
  --slate-700: #47556d;
  --slate-600: #5e6f8c;
  --slate-500: #7f91af;
  --slate-300: #cdd7e7;
  --white: #ffffff;
  --gold-500: #d4a830;
  --gold-400: #f0d050;
  --gold-700: #a8860a;
  --bg-soft: #f5f7fb;
  --line-soft: #e8edf5;
  --shadow: 0 18px 50px rgba(8, 15, 30, 0.14);
  --max: 1200px;
  --radius: 24px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, Arial, Helvetica, sans-serif;
  color: #16243a;
  background: var(--bg-soft);
}
body.home {
  background:
    radial-gradient(circle at top right, rgba(212,168,48,0.16), transparent 24%),
    linear-gradient(180deg, var(--navy-950) 0%, #0b1629 28%, var(--bg-soft) 28%, var(--bg-soft) 100%);
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
.wrap { width: min(calc(100% - 32px), var(--max)); margin: 0 auto; }
.topbar {
  background: rgba(255,255,255,0.03);
  color: #c7d3e8;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  font-size: 13px;
}
body:not(.home) .topbar,
body:not(.home) .nav {
  background: var(--navy-950);
}
.topbar-inner {
  min-height: 42px;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.topbar-badges { display: flex; gap: 18px; flex-wrap: wrap; }
.nav {
  position: sticky; top: 0; z-index: 30;
  backdrop-filter: blur(16px);
  background: rgba(7,17,31,0.76);
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.nav-inner {
  min-height: 82px;
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
}
.logo-lockup { display: flex; align-items: center; gap: 14px; }
.logo-lockup img { width: 238px; max-width: 46vw; }
.nav-links { display: flex; gap: 24px; color: #d4deef; font-size: 14px; }
.nav-links a:hover, .nav-links a.active { color: var(--white); }
.nav-actions { display: flex; align-items: center; gap: 12px; }
.menu-toggle {
  display: none; background: transparent; border: 1px solid rgba(255,255,255,0.12);
  color: var(--white); width: 44px; height: 44px; border-radius: 12px; font-size: 18px;
}
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 14px 20px; border-radius: 999px; font-weight: 700; font-size: 14px;
  border: 1px solid transparent; transition: .22s ease; cursor: pointer;
}
.btn-primary { background: linear-gradient(135deg, var(--gold-400), var(--gold-500)); color: #101826; }
.btn-primary:hover { transform: translateY(-1px); filter: brightness(1.03); }
.btn-secondary { color: var(--white); border-color: rgba(255,255,255,0.18); background: rgba(255,255,255,0.02); }
.btn-secondary:hover { background: rgba(255,255,255,0.06); }
.btn-dark { background: #10203d; color: #fff; }
.mobile-menu { display: none; padding: 0 0 18px; color: #d5def0; }
.mobile-menu.open { display: block; }
.mobile-menu a { display: block; padding: 12px 0; border-top: 1px solid rgba(255,255,255,0.06); }
.hero { color: var(--white); padding: 46px 0 88px; }
.hero-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 34px; align-items: center; }
.eyebrow {
  display: inline-flex; align-items: center; gap: 10px; padding: 8px 13px; border-radius: 999px;
  font-size: 12px; font-weight: 800; color: #f2dfb2; letter-spacing: .08em; text-transform: uppercase;
  border: 1px solid rgba(212,168,48,0.28); background: rgba(212,168,48,0.08);
}
h1 { margin: 18px 0 16px; font-size: clamp(34px, 5vw, 60px); line-height: 1.02; letter-spacing: -.04em; max-width: 760px; }
.page-hero { background: linear-gradient(180deg, var(--navy-950), #0d172b); color: #fff; padding: 70px 0; }
.page-hero h1 { margin-bottom: 14px; font-size: clamp(38px, 6vw, 64px); }
.page-hero p { margin: 0; max-width: 760px; color: #ccd7ea; font-size: 18px; line-height: 1.7; }
.lead { margin: 0; max-width: 690px; color: #cad6eb; font-size: 18px; line-height: 1.7; }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 28px; }
.hero-proof, .grid-3, .grid-4, .program-grid, .metrics, .process-grid, .testimonial-grid, .page-grid, .detail-grid, .contact-grid, .stats-grid {
  display: grid; gap: 20px;
}
.hero-proof { grid-template-columns: repeat(4,1fr); margin-top: 34px; }
.grid-3, .testimonial-grid, .detail-grid { grid-template-columns: repeat(3,1fr); }
.grid-4, .metrics, .stats-grid { grid-template-columns: repeat(4,1fr); }
.program-grid { grid-template-columns: repeat(3,1fr); }
.process-grid { grid-template-columns: repeat(4,1fr); }
.page-grid { grid-template-columns: repeat(3,1fr); }
.contact-grid { grid-template-columns: 1.05fr .95fr; }
.proof {
  background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.08); border-radius: 18px; padding: 18px;
}
.proof strong { display: block; font-size: 22px; margin-bottom: 6px; }
.proof span { color: #c9d4e8; font-size: 14px; }
.hero-card, .feature-panel {
  position: relative; overflow: hidden; background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.1); border-radius: 28px; padding: 28px; box-shadow: 0 24px 50px rgba(0,0,0,.28);
}
.hero-card:before, .feature-panel:before {
  content: ''; position: absolute; inset: -30% auto auto 62%; width: 220px; height: 220px; border-radius: 50%;
  background: radial-gradient(circle, rgba(212,168,48,.26), transparent 66%); pointer-events: none;
}
.hero-card h3, .feature-panel h3 { margin: 10px 0; font-size: 28px; }
.hero-card p, .feature-panel p { margin: 0 0 18px; color: #d0daf0; line-height: 1.7; }
.bullet-list, .check-list { list-style: none; padding: 0; margin: 0 0 22px; }
.bullet-list li, .check-list li { padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.08); color: #edf4ff; }
.quick-form, .contact-form { display: grid; gap: 12px; }
.quick-form input, .quick-form select, .contact-form input, .contact-form textarea, .contact-form select {
  width: 100%; padding: 14px 15px; border-radius: 14px; border: 1px solid #dbe4f1; background: #fff; color: #14243a;
}
.quick-form input, .quick-form select { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.09); color: var(--white); }
.quick-form select option { color: #111; }
section { padding: 84px 0; }
.section-head { max-width: 760px; margin-bottom: 34px; }
.section-head h2 { margin: 0 0 12px; font-size: clamp(30px, 4vw, 48px); line-height: 1.03; letter-spacing: -.035em; }
.section-head p { margin: 0; color: var(--slate-600); font-size: 18px; line-height: 1.75; }
.card {
  background: #fff; border: 1px solid var(--line-soft); border-radius: var(--radius); padding: 24px; box-shadow: var(--shadow);
}
.card h3 { margin: 0 0 8px; font-size: 22px; }
.card p { margin: 0; color: var(--slate-600); line-height: 1.68; }
.icon {
  width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center;
  background: linear-gradient(135deg, #12284b, #1f3c6a); color: #fff; font-size: 20px; margin-bottom: 16px;
}
.dark-section { background: linear-gradient(180deg, #0d1729, #111d34); color: #fff; }
.dark-section .section-head p, .dark-section .card p, .dark-section .page-note, .dark-section .quote-meta span { color: #bcc8de; }
.dark-section .card { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,.08); box-shadow: none; }
.program-type {
  display: inline-block; margin-bottom: 10px; font-size: 12px; font-weight: 800; text-transform: uppercase; color: #8ea4c9; letter-spacing: .08em;
}
.program-meta { margin: 16px 0 0; padding: 0; list-style: none; }
.program-meta li { padding: 8px 0; border-top: 1px solid #edf2f8; color: #3b4960; }
.step {
  position: relative; background: #fff; border: 1px solid var(--line-soft); border-radius: var(--radius); padding: 24px; min-height: 220px;
}
.step:before {
  content: ''; position: absolute; inset: 0 auto auto 0; width: 100%; height: 4px;
  background: linear-gradient(90deg, var(--gold-400), var(--gold-700)); border-radius: 24px 24px 0 0;
}
.step:after {
  content: counter(step); counter-increment: step; position: absolute; top: 18px; right: 18px; width: 34px; height: 34px; border-radius: 50%;
  display: grid; place-items: center; background: #10203d; color: #fff; font-weight: 800;
}
.process-grid { counter-reset: step; }
.step h3 { margin: 12px 0 10px; font-size: 22px; }
.step p { margin: 0; color: var(--slate-600); line-height: 1.7; }
.metric { background: #fff; border: 1px solid var(--line-soft); border-radius: var(--radius); padding: 24px; text-align: center; }
.metric strong { display: block; font-size: 42px; color: #10203d; margin-bottom: 8px; }
.metric span { color: var(--slate-600); }
.quote-card .quote { font-size: 18px; line-height: 1.8; color: inherit; }
.quote-meta { margin-top: 18px; display: grid; gap: 3px; }
.quote-meta strong { font-size: 14px; }
.quote-meta span { font-size: 14px; color: var(--slate-600); }
.partner-band { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.page-card {
  border-radius: 26px; overflow: hidden; border: 1px solid rgba(255,255,255,.07); background: rgba(255,255,255,.04);
}
.page-preview { padding: 22px; min-height: 250px; background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); }
.browser-top { display: flex; gap: 7px; margin-bottom: 16px; }
.dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,.22); }
.mini-hero, .mini-nav, .mini-block, .mini-pill, .mini-line { border-radius: 10px; }
.mini-nav { height: 18px; width: 52%; background: rgba(255,255,255,.14); margin-bottom: 14px; }
.mini-hero { height: 86px; background: linear-gradient(135deg, rgba(240,208,80,.22), rgba(212,168,48,.06)); margin-bottom: 14px; }
.mini-line { height: 12px; background: rgba(255,255,255,.12); margin-bottom: 10px; }
.mini-line.short { width: 68%; }
.mini-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
.mini-block { height: 70px; background: rgba(255,255,255,.09); }
.mini-pill { width: 110px; height: 32px; background: linear-gradient(135deg, var(--gold-400), var(--gold-700)); margin-top: 16px; }
.page-copy { padding: 22px; }
.page-copy h3 { margin: 0 0 8px; font-size: 24px; }
.page-copy p { margin: 0; color: #c4d0e6; line-height: 1.72; }
.page-note { margin-top: 12px; font-size: 14px; color: #c4d0e6; }
.cta {
  background: linear-gradient(135deg, #10203d, #1a2f53 58%, #27406a); color: #fff; border-radius: 30px; padding: 34px;
  display: flex; justify-content: space-between; gap: 20px; align-items: center; box-shadow: 0 24px 60px rgba(13,23,41,.18);
}
.cta p { color: #ccd7ea; margin: 0; line-height: 1.75; max-width: 760px; }
.footer { padding: 0; background: var(--navy-950); color: #8190a8; font-size: 14px; }
.footer-grid {
  display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; align-items: flex-start;
  padding: 40px 0 28px; border-bottom: 1px solid rgba(255,255,255,.07);
}
.footer-logo { font-size: 22px; color: #fff; letter-spacing: -.01em; display: block; margin-bottom: 12px; }
.footer-address { line-height: 1.7; color: #aab8d0; margin-bottom: 8px; }
.footer-contact a { color: var(--gold-400); font-weight: 700; }
.footer-contact a:hover { text-decoration: underline; }
.footer-links { display: flex; gap: 8px 22px; flex-wrap: wrap; align-content: flex-start; max-width: 460px; }
.footer-links a { color: #c4d0e6; padding: 6px 0; transition: .2s; }
.footer-links a:hover { color: var(--gold-400); }
.footer-bottom {
  display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 20px 0 36px;
  font-size: 12.5px; color: #6f7f98;
}
@media(max-width:680px){
  .footer-grid { flex-direction: column; }
  .footer-bottom { flex-direction: column; gap: 8px; }
}
.reveal-up { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.revealed { opacity: 1; transform: translateY(0); }
.kicker { color: var(--gold-500); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; font-size: 12px; }
.stat-card { text-align: left; }
.stat-card strong { display: block; font-size: 36px; color: #10203d; margin-bottom: 8px; }
@media (max-width: 1080px) {
  .hero-grid, .partner-band, .grid-3, .grid-4, .program-grid, .metrics, .process-grid, .testimonial-grid, .page-grid, .detail-grid, .stats-grid, .contact-grid {
    grid-template-columns: 1fr 1fr;
  }
  .hero-proof { grid-template-columns: 1fr 1fr; }
  .nav-links { display: none; }
  .menu-toggle { display: inline-grid; place-items: center; }
  .nav-actions .btn-secondary { display: none; }
  .logo-lockup img { width: 210px; }
  .cta { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 680px) {
  .hero, section, .page-hero { padding-top: 62px; padding-bottom: 62px; }
  .hero-grid, .partner-band, .grid-3, .grid-4, .program-grid, .metrics, .process-grid, .testimonial-grid, .page-grid, .detail-grid, .stats-grid, .contact-grid, .hero-proof {
    grid-template-columns: 1fr;
  }
  .topbar-inner { padding: 10px 0; }
  .topbar-badges { gap: 10px; }
  .nav-inner { min-height: 74px; }
  .logo-lockup img { width: 188px; max-width: 58vw; }
  .nav-actions .btn-primary { display: none; }
  h1 { line-height: 1.01; }
  .lead, .section-head p, .page-hero p { font-size: 16px; }
  .hero-card, .feature-panel, .card, .step, .metric, .page-copy, .page-preview, .cta { padding: 22px; }
}
.hero-media-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:stretch}.video-card,.image-card{position:relative;overflow:hidden;border-radius:28px;border:1px solid rgba(255,255,255,.1);box-shadow:0 24px 50px rgba(0,0,0,.28)}.video-card{background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));padding:18px}.video-frame{position:relative;padding-top:56.25%;border-radius:20px;overflow:hidden}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-caption{padding:16px 8px 4px;color:#d0daf0;line-height:1.6}.image-card img{width:100%;height:100%;object-fit:cover;min-height:100%}.image-overlay{position:absolute;inset:auto 0 0 0;padding:24px;background:linear-gradient(180deg, rgba(6,12,22,0) 0%, rgba(6,12,22,.88) 100%);color:#fff}.image-overlay h3{margin:0 0 8px;font-size:28px}.image-overlay p{margin:0;color:#d9e2f0;line-height:1.65}.hero-visual-stack{display:grid;gap:18px}.section-banner{position:relative;overflow:hidden;border-radius:28px;min-height:290px;display:flex;align-items:flex-end;padding:28px;background:#12233f;color:#fff;box-shadow:var(--shadow)}.section-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.section-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(7,17,31,.12), rgba(7,17,31,.82))}.section-banner .banner-copy{position:relative;z-index:1;max-width:720px}.section-banner h3{margin:0 0 10px;font-size:34px}.section-banner p{margin:0;color:#d8e2f2;line-height:1.7}.program-card .thumb{height:180px;border-radius:18px;overflow:hidden;margin:-4px 0 16px}.program-card .thumb img{width:100%;height:100%;object-fit:cover}.contact-card{background:linear-gradient(135deg,#10203d,#162a49);color:#fff}.contact-card p{color:#ced8ea}@media (max-width:1080px){.hero-media-grid{grid-template-columns:1fr}.hero-visual-stack{grid-template-columns:1fr 1fr}}@media (max-width:680px){.hero-visual-stack{grid-template-columns:1fr}.section-banner{min-height:240px}.section-banner h3{font-size:28px}}

.chatbot-toggle{position:fixed;right:22px;bottom:22px;z-index:60;border:none;border-radius:999px;padding:16px 18px;background:linear-gradient(135deg,var(--gold-400),var(--gold-500));color:#101826;font-weight:800;box-shadow:0 18px 40px rgba(0,0,0,.25)}.chatbot{position:fixed;right:22px;bottom:88px;z-index:61;width:min(380px,calc(100vw - 28px));height:560px;background:#fff;border:1px solid #dfe7f3;border-radius:24px;box-shadow:0 24px 60px rgba(0,0,0,.22);display:none;overflow:hidden}.chatbot.open{display:grid;grid-template-rows:auto 1fr auto}.chatbot-head{padding:18px 18px 14px;background:linear-gradient(135deg,#10203d,#1a2f53);color:#fff}.chatbot-head strong{display:block;font-size:18px}.chatbot-head span{display:block;color:#d4dff1;font-size:13px;margin-top:4px}.chatbot-body{padding:16px;background:#f7f9fc;overflow:auto;display:grid;gap:12px}.msg{max-width:88%;padding:12px 14px;border-radius:16px;line-height:1.6;font-size:14px}.msg.bot{background:#fff;border:1px solid #e3e9f3;color:#1a2942}.msg.user{background:#10203d;color:#fff;margin-left:auto}.chatbot-prompts{display:flex;gap:8px;flex-wrap:wrap;padding:0 16px 12px;background:#f7f9fc}.prompt-chip{border:1px solid #dbe3ef;background:#fff;color:#183053;border-radius:999px;padding:8px 10px;font-size:12px;font-weight:700;cursor:pointer}.chatbot-form{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:14px;border-top:1px solid #e3e9f3;background:#fff}.chatbot-form input{width:100%;padding:13px 14px;border-radius:14px;border:1px solid #dbe4f1}.chatbot-btn{border:none;border-radius:14px;padding:0 14px;font-weight:800;cursor:pointer}.chatbot-send{background:#10203d;color:#fff}.chatbot-speak{background:linear-gradient(135deg,var(--gold-400),var(--gold-500));color:#101826}.chatbot-close{position:absolute;right:14px;top:14px;border:none;background:transparent;color:#fff;font-size:20px;cursor:pointer}@media (max-width:680px){.chatbot{right:10px;bottom:76px;width:calc(100vw - 20px);height:70vh}.chatbot-toggle{right:10px;bottom:10px}}

.chatbot.minimized{display:grid;grid-template-rows:auto 0 auto;height:auto;max-height:92px}.chatbot.minimized .chatbot-body,.chatbot.minimized .chatbot-prompts{display:none}.chatbot-status{display:inline-flex;align-items:center;gap:8px;margin-top:8px;color:#d7e2f3;font-size:12px}.chatbot-dot{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 6px rgba(74,222,128,.12)}.chatbot-head{position:relative}.chatbot-controls{position:absolute;right:14px;top:12px;display:flex;gap:8px}.chatbot-control{border:none;background:rgba(255,255,255,.12);color:#fff;width:30px;height:30px;border-radius:10px;cursor:pointer;font-weight:800}.chatbot-toggle{display:flex;align-items:center;gap:10px}.chatbot-toggle:before{content:'💬';font-size:16px}.hero h1{max-width:920px}.lead{max-width:760px}

.hero-copy-accent{position:relative}.hero-copy-accent:after{content:"";display:block;width:120px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--gold-400),var(--gold-700));margin-top:22px;box-shadow:0 8px 24px rgba(212,168,48,.28)} .hero .lead{font-size:19px;color:#d7e2f3} .hero .eyebrow{box-shadow:0 8px 24px rgba(212,168,48,.10)} .hero-actions{margin-top:32px} .hero-actions .btn-primary{box-shadow:0 12px 28px rgba(212,168,48,.24)}
@media (max-width:680px){h1{font-size:clamp(30px,9vw,46px);max-width:100%}.hero .lead{font-size:16px}}

/* Recommended CSS-only cleanup: keeps the site/content unchanged while stopping the hero background from bleeding into the next section. */
body.home {
  background: var(--bg-soft);
}

body.home .topbar {
  background: var(--navy-950);
}

body.home .nav {
  background: rgba(7, 17, 31, 0.92);
}

body.home .hero {
  background:
    radial-gradient(circle at top right, rgba(212,168,48,0.16), transparent 24%),
    linear-gradient(180deg, var(--navy-950) 0%, #0b1629 100%);
  padding-bottom: 48px;
}

body.home > section:first-of-type {
  background: var(--bg-soft);
  position: relative;
  z-index: 2;
  padding-top: 64px;
}

/* Requested CSS-only hero headline adjustment: smaller gold headline, no HTML/content changes. */
body.home .hero h1 {
  color: var(--gold-400);
  font-size: clamp(30px, 3.6vw, 46px);
  line-height: 1.08;
}

@media (max-width: 680px) {
  body.home .hero h1 {
    font-size: clamp(28px, 8vw, 38px);
  }
}

/* =====================================================================
   DSCR360 REFERRAL / PARTNER PROGRAM — additive styles (existing styles untouched)
   ===================================================================== */
.partner-hero{background:radial-gradient(circle at 88% 18%,rgba(212,168,48,.20),transparent 30%),linear-gradient(180deg,var(--navy-950),#0d1a30);color:#fff;padding:74px 0 64px}
.partner-hero .eyebrow{margin-bottom:18px}
.partner-hero h1{margin:0 0 14px;max-width:860px}
.partner-hero p.lead{color:#c8d4ea}
.partner-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.partner-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.pstat{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:18px 20px}
.pstat strong{display:block;font-size:26px;color:var(--gold-400)}
.pstat span{color:#aab8d0;font-size:13px}
.tiers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.tier-card{position:relative;background:#fff;border:1px solid var(--line-soft);border-radius:24px;padding:30px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}
.tier-card.featured{border-color:rgba(212,168,48,.5);box-shadow:0 24px 60px rgba(212,168,48,.16)}
.tier-flag{position:absolute;top:0;right:0;background:linear-gradient(135deg,var(--gold-400),var(--gold-700));color:#101826;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:0 24px 0 14px}
.tier-badge{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:20px;letter-spacing:.02em;margin-bottom:6px}
.tier-badge .dotb{width:14px;height:14px;border-radius:50%}
.tier-badge.bronze .dotb{background:#cd7f32;box-shadow:0 0 0 5px rgba(205,127,50,.16)}
.tier-badge.gold .dotb{background:var(--gold-500);box-shadow:0 0 0 5px rgba(212,168,48,.18)}
.tier-badge.platinum .dotb{background:#aab9cc;box-shadow:0 0 0 5px rgba(170,185,204,.20)}
.tier-rate{font-size:54px;font-weight:800;line-height:1;color:#10203d;margin:6px 0 4px;letter-spacing:-.03em}
.tier-rate small{font-size:16px;color:var(--slate-600);font-weight:700}
.tier-sub{color:var(--slate-600);font-size:14px;margin:0 0 18px}
.tier-features{list-style:none;padding:0;margin:0 0 22px}
.tier-features li{padding:9px 0 9px 26px;position:relative;color:#33425c;font-size:14.5px;border-bottom:1px solid #f0f4fa}
.tier-features li:before{content:'';position:absolute;left:0;top:13px;width:16px;height:16px;border-radius:50%;background:rgba(212,168,48,.14)}
.tier-features li:after{content:'✓';position:absolute;left:4px;top:9px;color:var(--gold-700);font-size:11px;font-weight:800}
.tier-card .btn{margin-top:auto;width:100%}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:how}
.how-step{position:relative;background:#fff;border:1px solid var(--line-soft);border-radius:24px;padding:28px;box-shadow:var(--shadow);min-height:200px}
.how-step:before{content:counter(how);counter-increment:how;position:absolute;top:22px;right:22px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold-400),var(--gold-700));color:#101826;font-weight:800}
.how-step .icon{background:linear-gradient(135deg,#12284b,#1f3c6a)}
.how-step h3{margin:12px 0 8px;font-size:21px}
.how-step p{margin:0;color:var(--slate-600);line-height:1.7}
.faq-list{display:grid;gap:14px;max-width:880px}
.faq-item{background:#fff;border:1px solid var(--line-soft);border-radius:18px;box-shadow:0 10px 30px rgba(13,23,41,.05);overflow:hidden}
.faq-item summary{list-style:none;cursor:pointer;padding:20px 24px;font-weight:700;font-size:16.5px;color:#10203d;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:'+';font-size:22px;color:var(--gold-700);transition:transform .2s}
.faq-item[open] summary:after{transform:rotate(45deg)}
.faq-item p{margin:0;padding:0 24px 22px;color:var(--slate-600);line-height:1.75}
/* modals */
.modal-overlay{position:fixed;inset:0;background:rgba(6,12,22,.66);backdrop-filter:blur(4px);z-index:80;display:none;align-items:center;justify-content:center;padding:20px}
.modal-overlay.open{display:flex}
.modal-card{background:#fff;border-radius:24px;width:min(460px,100%);max-height:90vh;overflow:auto;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.modal-head{background:linear-gradient(135deg,#10203d,#1a2f53);color:#fff;padding:26px 26px 22px;position:relative}
.modal-head .eyebrow{margin-bottom:10px}
.modal-head h3{margin:0;font-size:24px}
.modal-head p{margin:8px 0 0;color:#c4d0e6;font-size:14px;line-height:1.6}
.modal-close{position:absolute;top:16px;right:16px;border:none;background:rgba(255,255,255,.14);color:#fff;width:34px;height:34px;border-radius:10px;font-size:18px;cursor:pointer}
.modal-body{padding:26px}
.modal-body .field{margin-bottom:14px}
.modal-body label{display:block;font-size:13px;font-weight:700;color:#33425c;margin-bottom:6px}
.modal-body input,.modal-body select{width:100%;padding:13px 14px;border-radius:13px;border:1px solid #dbe4f1;background:#fff;color:#14243a;font-size:14.5px;font-family:inherit}
.modal-body input:focus,.modal-body select:focus{outline:2px solid var(--gold-400);border-color:var(--gold-400)}
.modal-body .btn{width:100%;margin-top:6px}
.modal-foot{text-align:center;margin-top:16px;font-size:13.5px;color:var(--slate-600)}
.modal-foot a{color:#1c3358;font-weight:700;text-decoration:underline}
.modal-msg{font-size:13.5px;margin-top:10px;min-height:18px}
.modal-msg.ok{color:#15803d}.modal-msg.err{color:#b91c1c}
/* dashboard */
.dash-bar{background:var(--navy-950);color:#fff;padding:16px 0;position:sticky;top:0;z-index:25;border-bottom:1px solid rgba(255,255,255,.07)}
.dash-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.dash-brand{display:flex;align-items:center;gap:10px;font-weight:800}
.dash-brand img{width:150px}
.dash-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dash-nav .btn{padding:10px 16px;font-size:13px}
.dash-wrap{width:min(calc(100% - 32px),1120px);margin:0 auto}
.dash-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:40px 0 24px}
.dash-head h1{margin:0;font-size:clamp(28px,4vw,40px);letter-spacing:-.03em}
.dash-head p{margin:6px 0 0;color:var(--slate-600)}
.dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}
.dash-stat{background:#fff;border:1px solid var(--line-soft);border-radius:20px;padding:20px 22px;box-shadow:var(--shadow)}
.dash-stat span{display:block;font-size:13px;color:var(--slate-600);margin-bottom:8px}
.dash-stat strong{display:block;font-size:30px;color:#10203d}
.dash-stat strong .accent{color:var(--gold-700)}
.ref-link-box{background:#fff;border:1px solid var(--line-soft);border-radius:20px;padding:22px;box-shadow:var(--shadow);margin-bottom:24px}
.ref-link-box h3{margin:0 0 6px;font-size:18px}
.ref-link-box p{margin:0 0 14px;color:var(--slate-600);font-size:14px}
.ref-link-row{display:flex;gap:10px;flex-wrap:wrap}
.ref-link-row input{flex:1;min-width:200px;padding:13px 14px;border-radius:13px;border:1px solid #dbe4f1;background:#f7f9fc;color:#14243a;font-family:monospace;font-size:14px}
.dash-grid2{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;align-items:start}
.panel{background:#fff;border:1px solid var(--line-soft);border-radius:20px;padding:24px;box-shadow:var(--shadow);margin-bottom:20px}
.panel h3{margin:0 0 14px;font-size:18px}
.tbl-wrap{overflow:auto;border-radius:12px}
table.data{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
table.data th,table.data td{text-align:left;padding:12px 12px;border-bottom:1px solid #eef3fa;white-space:nowrap}
table.data th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#8190a8;background:#f7f9fc}
table.data td.right{text-align:right}
.status-pill{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700}
.status-new{background:#e7f0ff;color:#2563eb}
.status-review{background:#fff4e0;color:#b45309}
.status-approved{background:#e9f7ef;color:#15803d}
.status-funded{background:#e7f6ec;color:#0f7b3a;border:1px solid #bfe6cb}
.status-denied{background:#fdeaea;color:#b91c1c}
.tier-tag{font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.tier-tag.bronze{color:#b06a25}.tier-tag.gold{color:#a8860a}.tier-tag.platinum{color:#5a6b80}
.prof-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #eef3fa;font-size:14px}
.prof-row span{color:var(--slate-600)}.prof-row strong{color:#16243a}
.tier-panel{background:linear-gradient(135deg,#10203d,#1a2f53);color:#fff;border-radius:20px;padding:24px;box-shadow:var(--shadow)}
.tier-panel .tier-badge{color:#fff;font-size:22px}
.tier-panel .tier-badge.gold .dotb{background:var(--gold-400)}
.tier-panel .rate-big{font-size:40px;font-weight:800;margin:6px 0}
.tier-panel p{color:#c4d0e6;font-size:14px;margin:0 0 6px}
.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.admin-tab{border:1px solid var(--line-soft);background:#fff;color:#33425c;padding:10px 16px;border-radius:999px;font-weight:700;font-size:13.5px;cursor:pointer}
.admin-tab.active{background:#10203d;color:#fff;border-color:#10203d}
.login-gate{max-width:430px;margin:60px auto;background:#fff;border:1px solid var(--line-soft);border-radius:24px;padding:34px;box-shadow:var(--shadow)}
.login-gate h1{font-size:26px;margin:0 0 6px}
.login-gate p.sub{color:var(--slate-600);margin:0 0 22px}
.empty-note{padding:30px;text-align:center;color:var(--slate-500);font-size:14px}
@media (max-width:1080px){.partner-stats,.dash-stats{grid-template-columns:1fr 1fr}.tiers-grid,.how-grid,.dash-grid2{grid-template-columns:1fr}}
@media (max-width:680px){.partner-hero,.dash-head{padding-top:0}.partner-stats,.dash-stats{grid-template-columns:1fr}.tiers-grid,.how-grid{grid-template-columns:1fr}}

/* v2: email-verification banner + demo-mode spacing + toast polish */
#verifyBanner .panel { animation: fadein .4s ease; }
@keyframes fadein { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }

/* ===== v3: training panel, document upload, ghost button ===== */
.btn-ghost{background:#fff;border:1px solid var(--line-soft);color:#33425c}
.btn-ghost:hover{border-color:#cdd7e7;background:#f7f9fc}
.modal-body textarea{width:100%;padding:13px 14px;border-radius:13px;border:1px solid #dbe4f1;background:#fff;color:#14243a;font-size:14.5px;font-family:inherit;resize:vertical}
.modal-body textarea:focus{outline:2px solid var(--gold-400);border-color:var(--gold-400)}

/* training panel (back office) */
.train-panel{background:#fff;border:1px solid var(--line-soft);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:24px}
.train-panel>summary{list-style:none;cursor:pointer;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:14px;font-weight:800;font-size:18px;color:#10203d;background:linear-gradient(135deg,#fff,#f7f9fc)}
.train-panel>summary::-webkit-details-marker{display:none}
.train-panel .train-chev{font-size:15px;color:var(--gold-700);transition:transform .2s}
.train-panel[open] .train-chev{transform:rotate(180deg)}
.train-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0 24px 8px}
.train-step{background:#f7f9fc;border:1px solid var(--line-soft);border-radius:16px;padding:18px;position:relative}
.train-num{position:absolute;top:14px;right:16px;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--gold-400),var(--gold-700));color:#101826;font-weight:800;display:grid;place-items:center;font-size:14px}
.train-ic{font-size:26px;margin-bottom:8px}
.train-step h4{margin:0 0 6px;font-size:16px;color:#10203d}
.train-step p{margin:0;color:var(--slate-600);font-size:13.5px;line-height:1.6}
.train-close{margin:8px 24px 22px;padding:14px 18px;border-radius:14px;background:linear-gradient(135deg,#10203d,#1a2f53);color:#fff;font-size:14.5px;line-height:1.6}
.train-close strong{color:var(--gold-400)}
@media(max-width:880px){.train-grid{grid-template-columns:1fr}}

/* document upload UI */
.doc-drop{border:2px dashed #cdd7e7;border-radius:16px;padding:24px;text-align:center;background:#f7f9fc;margin-bottom:8px}
.doc-pick{display:inline-block;background:linear-gradient(135deg,var(--gold-400),var(--gold-500));color:#101826;font-weight:800;padding:11px 20px;border-radius:999px;cursor:pointer;font-size:14px}
.doc-pick:hover{filter:brightness(1.04)}
.doc-hint{display:block;margin-top:10px;font-size:12.5px;color:var(--slate-500)}
.doc-count{font-size:13px;font-weight:800;color:#10203d;margin:6px 0 4px;text-transform:uppercase;letter-spacing:.04em}
.doc-list{max-height:300px;overflow:auto;margin-top:6px}
.doc-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--line-soft);border-radius:13px;margin-bottom:8px;background:#fff}
.doc-ic{font-size:22px;width:34px;text-align:center;flex-shrink:0}
.doc-meta{flex:1;min-width:0}
.doc-meta a{display:block;font-weight:700;color:#10203d;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-meta a:hover{color:var(--gold-700);text-decoration:underline}
.doc-meta span{font-size:12px;color:var(--slate-500)}
.modal-body .doc-item .btn-dark{flex-shrink:0}

/* ===== v3.1: referral link banner (homepage) + avatar ===== */
.referral-banner-wrap{background:var(--navy-950);border-bottom:1px solid rgba(255,255,255,.07)}
.ref-banner-card{display:flex;align-items:center;gap:16px;padding:14px 18px;background:linear-gradient(135deg,rgba(240,208,80,.14),rgba(212,168,48,.04));border:1px solid rgba(212,168,48,.3);border-radius:18px;color:#fff;flex-wrap:wrap}
.ref-avatar{width:58px;height:58px;border-radius:50%;object-fit:cover;border:2px solid var(--gold-500);flex-shrink:0}
.ref-avatar-fallback{background:linear-gradient(135deg,#12284b,#1f3c6a);color:#fff;font-size:24px;font-weight:800;display:grid;place-items:center}
.ref-banner-info{flex:1;min-width:200px}
.ref-eyebrow{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#f0d050;margin-bottom:3px}
.ref-name{font-size:19px;display:block}
.ref-bio{margin:5px 0 0;color:#cdd7e7;font-size:13.5px;line-height:1.5;max-width:560px}
.ref-contact{margin-top:7px;display:flex;gap:14px;flex-wrap:wrap}
.ref-phone{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);padding:6px 12px;border-radius:999px;font-weight:700;font-size:13px;color:#fff}
.ref-phone:hover{background:rgba(255,255,255,.14)}
.ref-pill{margin-left:auto;background:linear-gradient(135deg,var(--gold-400),var(--gold-700));color:#101826;font-weight:800;font-size:12px;padding:6px 12px;border-radius:999px;letter-spacing:.03em}
@media(max-width:680px){.ref-pill{margin-left:0;width:100%;text-align:center}}

/* password field with eye toggle */
.pw-wrap{position:relative}
.pw-wrap input{width:100%;padding-right:46px !important}
.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:#f1f5fb;border:1px solid #dbe4f1;width:34px;height:34px;border-radius:10px;cursor:pointer;font-size:16px;line-height:1;color:#5e6f8c;display:grid;place-items:center}
.pw-toggle:hover{background:#e7edf7;color:#10203d}
.pw-toggle:focus{outline:2px solid var(--gold-400)}
.pw-wrap .pw-toggle{top:calc(50% - 4px)}
.modal-body .pw-wrap input{background:#fff;border:1px solid #dbe4f1}
.quick-form .pw-wrap input{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);color:var(--white)}
.quick-form .pw-toggle{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.14);color:#d4deef}

/* ===== Coming Soon — additional services (tier-gated) ===== */
.cs-panel{background:#fff;border:1px solid var(--line-soft);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;margin-top:24px;width:100%}
.cs-head{background:linear-gradient(135deg,#0b1629,#162a49);color:#fff;padding:22px 24px 20px}
.cs-tag{display:inline-block;background:linear-gradient(135deg,var(--gold-400),var(--gold-700));color:#101826;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:999px;margin-bottom:10px}
.cs-head h3{margin:0 0 6px;font-size:22px}
.cs-head p{margin:0;color:#c4d0e6;font-size:14.5px;line-height:1.6;max-width:680px}
.cs-grid{display:grid;grid-template-columns:1fr;gap:14px;padding:20px 24px}
.cs-card{display:flex;gap:14px;border-radius:16px;padding:18px;border:1px solid var(--line-soft);background:#f9fbfe;transition:.2s}
.cs-card.cs-on{border-color:#bfe6cb;background:#f0faf3}
.cs-card.cs-off{opacity:.92}
.cs-ic{font-size:30px;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:rgba(212,168,48,.1);flex-shrink:0}
.cs-card.cs-on .cs-ic{background:rgba(21,128,45,.1)}
.cs-body{flex:1;min-width:0}
.cs-badge{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:999px;margin-bottom:7px}
.cs-lock{background:#eef2f7;color:#5e6f8c}
.cs-unlock{background:#dcfce7;color:#15803d}
.cs-body h4{margin:0 0 5px;font-size:16.5px;color:#10203d}
.cs-body p{margin:0;color:#5e6f8c;font-size:13.5px;line-height:1.6}
.cs-body p strong{color:#10203d}
.cs-progress,.cs-all-unlock{text-align:center;padding:4px 0 20px;font-size:14px;font-weight:700}
.cs-progress{color:#7f91af}
.cs-all-unlock{color:#15803d;font-size:15px}
@media(max-width:680px){.cs-grid{grid-template-columns:1fr}}
