:root{
  --g:#003C71;--gd:#00254E;--gm:#FF7900;--gl:#F5F8FF;--gb:#C9D6EC;
  --r:#d63031;--rl:#fff0f0;--rb:#ffc5c5;
  --ink:#1a1a2e;--ink2:#555;--muted:#777;--pale:#f8faf8;
  --border:#e5e5e5;--border2:#e5e5e5;
  --white:#ffffff;
  --font:'Poppins',sans-serif;
  --radius:12px;--radius-lg:18px;
  --shadow:0 2px 12px rgba(0,0,0,.06);
  --shadow-md:0 4px 20px rgba(0,61,165,.08);
  --shadow-lg:0 12px 40px rgba(0,0,0,.12);
}
*{box-sizing:border-box;margin:0;padding:0}
button,input,select,textarea{-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;overflow-x:hidden}
body{background:linear-gradient(160deg,#F5F8FF 0%,#EFF3FC 40%,#fff 100%);font-family:var(--font);color:var(--ink);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;width:100%;max-width:100vw}

/* ── PAGE ── */
.page{max-width:600px;margin:0 auto;padding:1.5rem 1rem 5rem;position:relative;overflow:hidden}

/* ── FLOATING BLOBS ── */
@keyframes floatBlob{0%,100%{transform:translateY(0) rotate(0deg)}33%{transform:translateY(-18px) rotate(3deg)}66%{transform:translateY(10px) rotate(-2deg)}}
/* Body-level blobs — spread across full viewport, not clipped by .page */
.blob-bg{position:fixed;pointer-events:none;z-index:0;border-radius:50%}
.blob-bg-1{width:400px;height:400px;background:rgba(255,197,43,.22);top:-80px;right:-100px;border-radius:50%;animation:floatBlob 12s ease-in-out infinite -2s}
.blob-bg-2{width:300px;height:280px;background:rgba(0,61,165,.08);top:30%;left:-120px;border-radius:60% 40% 30% 70%/60% 30% 70% 40%;animation:floatBlob 14s ease-in-out infinite -5s}
.blob-bg-3{width:250px;height:250px;background:rgba(0,61,165,.08);bottom:20%;right:-80px;border-radius:30% 70% 70% 30%/30% 30% 70% 70%;animation:floatBlob 10s ease-in-out infinite -8s}
.blob-bg-4{width:200px;height:200px;background:rgba(255,197,43,.16);bottom:-40px;left:-60px;border-radius:50% 40% 60% 50%/40% 60% 40% 60%;animation:floatBlob 16s ease-in-out infinite -3s}
.blob-bg-5{width:180px;height:180px;background:rgba(0,61,165,.06);top:55%;right:10%;border-radius:40% 60% 50% 50%/50% 40% 60% 50%;animation:floatBlob 11s ease-in-out infinite -7s}
.blob-bg-6{width:220px;height:220px;background:rgba(255,197,43,.16);top:10%;left:5%;border-radius:50%;animation:floatBlob 13s ease-in-out infinite -1s}
/* Page-level pseudo blobs removed — using body-level divs instead */
.page::before,.page::after{display:none}
.hdr,.progress,.card,.btn-row,.sec-bar,.success,.disc{position:relative;z-index:1}

/* ── HEADER ── */
.hdr{text-align:center;margin-bottom:2rem}
.hdr-title{font-family:var(--font);font-size:26px;font-weight:800;color:var(--ink);margin-bottom:6px;line-height:1.2;letter-spacing:-.03em}
.hdr-sub{font-size:13px;color:var(--muted);margin-bottom:1.25rem}
@media(max-width:480px){.hdr-title{font-size:22px}.hdr-sub{font-size:12px}}
.lang-bar{display:flex;justify-content:center}
.lang-toggle{display:inline-flex;background:var(--pale);border:1.5px solid var(--border);border-radius:30px;padding:3px;gap:2px}
.lang-btn{padding:5px 18px;font-size:13px;font-weight:600;cursor:pointer;border:none;background:transparent;color:var(--muted);font-family:var(--font);border-radius:24px;transition:all .2s}
.lang-btn.active{background:var(--g);color:white;box-shadow:0 2px 8px rgba(255,197,43,.45)}

/* ── PROGRESS ── */
.progress{display:flex;align-items:center;margin-bottom:2.5rem;padding:0 4px}
.step{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1}
.sc{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;transition:all .3s;flex-shrink:0;font-family:var(--font)}
.sc.done{background:var(--g);color:white;box-shadow:0 2px 8px rgba(255,197,43,.40)}
.sc.active{background:var(--g);color:white;box-shadow:0 0 0 5px rgba(0,61,165,.12)}
.sc.todo{background:var(--pale);color:var(--muted);border:1.5px solid var(--border)}
.sl{font-size:9px;font-weight:600;color:var(--muted);text-align:center;white-space:nowrap;letter-spacing:.03em;text-transform:uppercase}@media(max-width:360px){.sl{font-size:8px}}
.sl.active{color:var(--g)}
.cn{flex:1;height:2px;background:var(--border);margin-bottom:18px;transition:background .4s}
.cn.done{background:var(--g)}

/* ── CARD ── */
.card{background:var(--white);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:22px 18px;margin-bottom:1rem;box-shadow:var(--shadow);transition:box-shadow .2s,border-color .2s}
.card:hover{border-color:var(--g);box-shadow:0 4px 16px rgba(255,197,43,.35)}
@media(max-width:480px){.card{padding:18px 14px;border-radius:14px}}
.card-accent{border-top:3px solid var(--g)}

/* ── SECTION TITLE ── */
.sec{display:flex;align-items:center;gap:10px;margin-bottom:22px}
.sec-icon{width:36px;height:36px;background:var(--gl);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.sec-title{font-size:16px;font-weight:700;color:var(--ink)}
.sec-sub{font-size:12px;color:var(--muted);margin-top:2px}
.divider{height:1px;background:var(--border);margin:22px 0}

/* ── FIELDS ── */
.field{margin-bottom:18px}
.field:last-child{margin-bottom:0}
.lbl{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--ink2);margin-bottom:7px;text-transform:uppercase;letter-spacing:.05em}
.req{color:var(--r);font-size:14px;line-height:1}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=date],select,textarea{
  width:100%;border:1.5px solid var(--border2);border-radius:var(--radius);padding:12px 14px;
  font-size:15px;font-family:var(--font);color:var(--ink);background:var(--white);
  transition:border-color .2s,box-shadow .2s;appearance:none;-webkit-appearance:none;
}
input[type=date]{color-scheme:light;cursor:pointer}
input[type=date]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer;padding:2px;margin-right:-2px}
input[type=date]::-webkit-datetime-edit{font-family:var(--font);font-size:15px}
input[type=date]::-webkit-datetime-edit-fields-wrapper{padding:0}
input[type=date]:empty{color:var(--muted)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--g);box-shadow:0 0 0 3px rgba(255,197,43,.35)}
input.err,select.err{border-color:var(--r);box-shadow:0 0 0 3px rgba(214,48,49,.08)}
.em{font-size:12px;color:var(--r);font-weight:500;margin-top:5px;display:none;align-items:center;gap:4px}
.em.show{display:flex}
.fhint{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.5}
.r2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.r3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}@media(max-width:480px){.r3{grid-template-columns:1fr 1fr}}

/* ── SELECT WRAPPER ── */
.sel-wrap{position:relative}
.sel-wrap select{padding-right:36px}
.sel-wrap::after{content:'▾';position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;font-size:13px}

/* ── PASSWORD TOGGLE ── */
.pw-wrap{position:relative}
.pw-wrap input{padding-right:44px}
.pw-eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--muted);padding:4px;display:flex;align-items:center;justify-content:center;transition:color .15s}
.pw-eye:hover{color:var(--g)}

/* ── CHIPS (loan amount) ── */
.chips{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:6px}
.chip{padding:12px 8px;border-radius:10px;border:1.5px solid var(--border2);background:var(--white);font-size:16px;font-weight:700;cursor:pointer;transition:all .18s;font-family:var(--font);color:var(--ink);text-align:center}
.chip:hover{border-color:var(--gb);background:var(--gl)}
.chip.sel{background:var(--g);border-color:var(--g);color:white;box-shadow:0 3px 12px rgba(255,197,43,.40)}

/* ── RADIO ── */
.radio-grp{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.radio-row{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}@media(max-width:380px){.radio-row{flex-direction:column}}
.ro{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:15px;padding:10px 14px;border:1.5px solid var(--border2);border-radius:10px;transition:all .18s;background:var(--white)}
.ro:hover{border-color:var(--gb);background:var(--gl)}
.ro.checked{border-color:var(--g);background:var(--gl)}
.ro input[type=radio]{width:17px;height:17px;accent-color:var(--g);cursor:pointer;flex-shrink:0}
.ro-label{font-weight:500}

/* ── CHECKBOX ── */
.cbrow{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1.5px solid var(--border2);border-radius:var(--radius);cursor:pointer;transition:all .18s;background:var(--white)}
.cbrow:hover{border-color:var(--gb);background:var(--gl)}
.cbrow.checked{border-color:var(--g);background:var(--gl)}
.cbrow input{width:18px;height:18px;accent-color:var(--g);flex-shrink:0;margin-top:2px;cursor:pointer}
.cbrow span{font-size:14px;color:var(--ink2);line-height:1.5}

/* ── BANK OPTIONS ── */
.bank-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}@media(max-width:380px){.bank-opts{grid-template-columns:1fr}}
.bo{border:1.5px solid var(--border2);border-radius:var(--radius-lg);padding:20px 16px;cursor:pointer;transition:all .2s;text-align:center;background:var(--white);position:relative}
.bo:hover{border-color:var(--gb);box-shadow:var(--shadow)}
.bo.sel{border-color:var(--g);background:var(--gl);box-shadow:0 4px 16px rgba(0,61,165,.12)}
.bo.off{opacity:.4;cursor:not-allowed;pointer-events:none}
.bo-badge{display:inline-block;background:var(--g);color:white;font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;margin-bottom:8px;text-transform:uppercase;letter-spacing:.06em}
.unavail{display:inline-block;background:var(--pale);color:var(--muted);font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;margin-bottom:8px;text-transform:uppercase}
.bo-icon{font-size:28px;margin-bottom:8px}
.bo-title{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:3px}
.bo-sub{font-size:12px;color:var(--muted)}

/* ── PLAID ── */
.plaid-area{display:none;margin-top:14px}
.plaid-area.show{display:block}
.plaid-btn{width:100%;padding:15px;background:var(--ink);color:white;border:none;border-radius:var(--radius);font-size:15px;font-weight:700;font-family:var(--font);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:9px;transition:all .2s;position:relative;overflow:hidden}
.plaid-btn:hover{background:#2a2a3e}
.plaid-btn.connected{background:var(--g)}
.plaid-btn.loading{color:transparent}
.plaid-btn.loading::after{content:'';position:absolute;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;top:50%;left:50%;margin:-10px;animation:spin .7s linear infinite}
.plaid-st{margin-top:12px;padding:12px 16px;border-radius:var(--radius);font-size:13px;font-weight:600;display:none;align-items:center;gap:8px;line-height:1.5}
.plaid-st.ok{background:var(--gl);color:var(--g);border:1.5px solid var(--gb);display:flex}
.plaid-st.err{background:var(--rl);color:var(--r);border:1.5px solid var(--rb);display:block}

/* ── FILE UPLOAD ── */
.upl-area{display:none;margin-top:14px}
.upl-area.show{display:block}
.dz{border:1.5px dashed var(--border2);border-radius:var(--radius-lg);padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:all .2s;position:relative;background:var(--pale)}
.dz:hover,.dz.over{border-color:var(--g);background:var(--gl)}
.dz input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.dz-icon{font-size:32px;margin-bottom:10px;opacity:.6}
.dz-title{font-size:14px;font-weight:700;color:var(--ink2);margin-bottom:4px}
.dz-sub{font-size:12px;color:var(--muted)}
.fdone{display:none;margin-top:10px;padding:10px 14px;background:var(--gl);border:1.5px solid var(--gb);border-radius:var(--radius);align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--g)}

/* ── DISCLOSURE ── */
.disc{background:var(--pale);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;font-size:13px;color:var(--ink2);line-height:1.7;margin-bottom:12px}

/* ── CHECK IMAGE ── */
.check-img{background:var(--pale);border-radius:var(--radius);padding:14px;margin:12px 0;text-align:center}
.check-inner{display:inline-flex;background:white;border:1px solid var(--border);border-radius:8px;padding:10px 18px;font-family:monospace;font-size:12px;align-items:center;gap:12px;color:#555;box-shadow:var(--shadow)}
.cbox{background:var(--gl);border:1px solid var(--gb);border-radius:4px;padding:4px 10px;font-size:11px;color:var(--gd)}

/* ── BUTTONS ── */
.btn-row{display:flex;gap:10px;margin-top:2rem}
.btnp{flex:1;padding:16px;background:var(--g);color:white;border:none;border-radius:50px;font-size:15px;font-weight:700;font-family:var(--font);cursor:pointer;transition:all .2s;position:relative;overflow:hidden;letter-spacing:.01em}
.btnp:hover:not(:disabled){background:var(--gd);box-shadow:0 4px 16px rgba(255,197,43,.45);transform:translateY(-1px)}
.btnp:active{transform:translateY(0)}
.btnp:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btnp.loading{color:transparent}
.btnp.loading::after{content:'';position:absolute;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;top:50%;left:50%;margin:-10px;animation:spin .7s linear infinite}
.btnb{padding:16px 22px;background:var(--white);color:var(--muted);border:1.5px solid var(--border2);border-radius:50px;font-size:15px;font-weight:600;font-family:var(--font);cursor:pointer;transition:all .15s}
.btnb:hover{background:var(--pale);color:var(--ink);border-color:var(--border)}

/* ── SECURITY BAR ── */
.sec-bar{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:1.5rem;font-size:12px;color:var(--muted)}
.sec-bar svg{opacity:.5}

/* ── SUCCESS ── */
.success{display:none;text-align:center;padding:3rem 1.5rem}
.success.show{display:block}
.s-icon{width:80px;height:80px;background:linear-gradient(135deg,var(--gd),var(--g));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:38px;margin:0 auto 1.5rem;box-shadow:0 8px 32px rgba(255,197,43,.40)}
.s-title{font-family:var(--font);font-weight:800;font-size:28px;color:var(--ink);margin-bottom:10px}
.s-sub{font-size:15px;color:var(--muted);line-height:1.7;max-width:400px;margin:0 auto}

/* ── GOOGLE PLACES ── */
.pac-container{border-radius:var(--radius)!important;box-shadow:var(--shadow-lg)!important;border:1.5px solid var(--border)!important;font-family:var(--font)!important;margin-top:4px}
.pac-item{padding:10px 14px!important;font-size:14px!important;cursor:pointer}
.pac-item:hover{background:var(--gl)!important}
.pac-item-query{font-weight:600;color:var(--ink)}

@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.fade-up{animation:fadeUp .6s ease}

@media(max-width:768px){input,select,textarea{min-height:48px;font-size:16px}.btnp{min-height:52px}.btnb{min-height:48px}.progress{gap:0;padding:0}.blob-bg{opacity:1}.blob-bg-1{width:200px;height:200px;top:-30px;right:-20px;background:rgba(255,197,43,.28)}.blob-bg-2{width:160px;height:160px;top:25%;left:-30px;background:rgba(255,197,43,.24)}.blob-bg-3{width:130px;height:130px;bottom:15%;right:-15px;background:rgba(255,197,43,.24)}.blob-bg-4{width:100px;height:100px;bottom:5%;left:-10px;background:rgba(0,61,165,.05)}.blob-bg-5{width:110px;height:110px;top:50%;right:5%;background:rgba(0,61,165,.05)}.blob-bg-6{width:120px;height:120px;top:8%;left:0;background:rgba(255,197,43,.24)}}
@media(max-width:480px){.r2,.r3{grid-template-columns:1fr}.bank-opts{grid-template-columns:1fr}.chips{grid-template-columns:repeat(2,1fr)}.page{padding:1.25rem .75rem 4rem}.card{padding:16px 12px}.sl{font-size:8px}.sc{width:28px;height:28px;font-size:11px}.blob-bg-1{width:150px;height:150px;right:-15px;background:rgba(0,61,165,.08)}.blob-bg-2{width:120px;height:120px;left:-20px;background:rgba(255,197,43,.28)}.blob-bg-3{width:100px;height:100px;right:-10px;background:rgba(255,197,43,.28)}.blob-bg-4{width:80px;height:80px}.blob-bg-5,.blob-bg-6{display:none}}
@media(max-width:360px){.page{padding:1rem .5rem 3rem}.card{padding:14px 10px}.chips{grid-template-columns:1fr 1fr}.hdr-title{font-size:20px}.sc{width:26px;height:26px;font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* NOTE: the legacy cif-website header block (.site-header / .header-inner /
   .main-nav / .logo img / .mobile-menu / @media overrides for header-actions
   and logo height) used to live here. It was fighting the inline <style>
   block in index.html (which ports the current cashrocketanaheim.com
   header exactly). Removed so the inline header is the single source of
   truth for this page. */

@keyframes circleDraw{from{stroke-dashoffset:251}to{stroke-dashoffset:0}}
@keyframes checkDraw{from{stroke-dashoffset:50}to{stroke-dashoffset:0}}


/* ═════════════════════════════════════════════════════════════════════
   POLISH v6 — modern form UX + mobile-first
   · Palette: navy #003C71, yellow #FF7900 (match marketing site)
   · Form fields: rounder, clearer focus state, 16px min font on mobile
     (prevents iOS zoom), 48px min tap target for accessibility.
   · Buttons: match marketing site Apply CTA (yellow pill, navy text).
   · Typography: tighter letter-spacing on headings, better line-height.
   · Blobs: decorative organic shapes (yellow + navy) floating behind content.
   ═════════════════════════════════════════════════════════════════════ */
:root {
  --ce-navy:       #003C71;
  --ce-navy-dark:  #00254E;
  --ce-yellow:     #FF7900;
  --ce-yellow-dk:  #D96900;
  --ce-ink:        #0F172A;
  --ce-muted:      #4B5563;
  --ce-muted2:     #64748B;
  --ce-border:     #E6EAF0;
  --ce-surface:    #FFFFFF;
  --ce-bg-soft:    #F5F8FF;
}

/* ── Mobile-first body background ── */
body {
  background: #FFFFFF !important;  /* clean base; blobs provide color */
}

/* ── Page wrapper: wider on desktop but comfortable on mobile ── */
.page {
  max-width: 680px !important;
  padding: 2rem 1.125rem 4rem !important;
}
@media (max-width: 480px) {
  .page { padding: 1.5rem 1rem 3rem !important; }
}

/* ── Organic decorative blobs (replaces green ones) ── */
/* Re-add blob divs via body-level pseudo-elements so no HTML edit needed */
body::before, body::after {
  content: "";
  position: fixed;
  pointer-events: none;
  z-index: 0;
  filter: blur(0);
}
body::before {
  top: -180px; right: -160px;
  width: 520px; height: 460px;
  background: var(--ce-yellow);
  opacity: .16;
  border-radius: 62% 38% 47% 53% / 55% 48% 52% 45%;
  transform: rotate(-14deg);
}
body::after {
  bottom: -220px; left: -160px;
  width: 460px; height: 440px;
  background: var(--ce-navy);
  opacity: .06;
  border-radius: 58% 42% 35% 65% / 48% 56% 44% 52%;
  transform: rotate(18deg);
}
/* Extra scattered blobs via the wrapper's ::before/::after if we need more */
.page > *:first-child {
  position: relative;
  z-index: 2;
}
@media (max-width: 600px) {
  body::before { width: 340px; height: 300px; top: -120px; right: -120px; opacity: .20; }
  body::after  { width: 280px; height: 280px; bottom: -140px; left: -100px; opacity: .08; }
}

/* ── Header (form page) polish ── */
.hdr { margin-bottom: 2rem !important; }
.hdr-title {
  font-size: clamp(1.55rem, 5vw, 2.05rem) !important;
  line-height: 1.15 !important;
  color: var(--ce-ink) !important;
  letter-spacing: -.02em !important;
  font-weight: 800 !important;
}
.hdr-sub {
  font-size: 14px !important;
  color: var(--ce-muted) !important;
  margin-bottom: 1.25rem !important;
}
.hdr-logo { height: 48px !important; }

/* ── Language toggle ── */
.lang-toggle {
  background: var(--ce-bg-soft);
  border: 1px solid var(--ce-border);
  border-radius: 999px;
  padding: 4px;
  display: inline-flex;
  gap: 2px;
}
.lang-btn {
  border: 0 !important;
  background: transparent !important;
  padding: 8px 18px !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  color: var(--ce-muted) !important;
  cursor: pointer;
  transition: all .15s ease;
  min-height: 36px;
}
.lang-btn.active {
  background: var(--ce-navy) !important;
  color: #FFFFFF !important;
}

/* ── Trust strip (new element — added to index.html) ── */
.ce-trust-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 0 auto 2rem;
  max-width: 680px;
  padding: 14px 12px;
  background: var(--ce-surface);
  border: 1px solid var(--ce-border);
  border-radius: 16px;
  box-shadow: 0 1px 3px rgba(15,23,42,.04);
  position: relative;
  z-index: 2;
}
.ce-trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--ce-navy-dark);
  letter-spacing: .01em;
  line-height: 1.2;
}
.ce-trust-item svg {
  flex: 0 0 auto;
}
@media (max-width: 520px) {
  .ce-trust-strip {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 6px;
    padding: 10px 8px;
  }
  .ce-trust-item {
    flex-direction: column;
    text-align: center;
    font-size: 10px;
    gap: 4px;
  }
}

/* ── Progress bar polish ── */
.progress {
  background: var(--ce-surface) !important;
  border: 1px solid var(--ce-border) !important;
  border-radius: 14px !important;
  padding: 14px !important;
  margin-bottom: 1.5rem !important;
  box-shadow: 0 1px 3px rgba(15,23,42,.04);
  position: relative; z-index: 2;
}
.sc {
  background: var(--ce-bg-soft) !important;
  color: var(--ce-muted2) !important;
  border: 2px solid var(--ce-border) !important;
  font-weight: 800 !important;
}
.sc.active {
  background: var(--ce-navy) !important;
  color: #FFFFFF !important;
  border-color: var(--ce-navy) !important;
  box-shadow: 0 0 0 4px rgba(0,61,165,.12);
}
.sc.done {
  background: var(--ce-yellow) !important;
  color: var(--ce-navy-dark) !important;
  border-color: var(--ce-yellow) !important;
}
.sl {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--ce-muted2) !important;
  letter-spacing: .02em;
}
.sl.active { color: var(--ce-navy) !important; }
.cn { background: var(--ce-border) !important; }

/* ── Cards ── */
.card {
  background: var(--ce-surface) !important;
  border: 1px solid var(--ce-border) !important;
  border-radius: 18px !important;
  padding: 24px 22px !important;
  box-shadow: 0 1px 3px rgba(15,23,42,.04) !important;
  position: relative;
  z-index: 2;
}
.card-accent {
  border-left: 4px solid var(--ce-yellow) !important;
}
.card h2, .card h3, .sec-bar {
  color: var(--ce-ink) !important;
  font-weight: 800 !important;
  letter-spacing: -.01em;
}

/* ── Form inputs: bigger tap targets, clearer focus ── */
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="date"],
select,
textarea {
  background: var(--ce-surface) !important;
  border: 1.5px solid var(--ce-border) !important;
  border-radius: 12px !important;
  padding: 13px 16px !important;
  font-size: 16px !important;  /* 16px prevents iOS Safari from zooming on focus */
  min-height: 48px !important;  /* 48px = WCAG AA tap-target */
  color: var(--ce-ink) !important;
  font-family: var(--font) !important;
  width: 100%;
  transition: border-color .15s ease, box-shadow .15s ease;
  -webkit-appearance: none;
  appearance: none;
}
input:focus,
select:focus,
textarea:focus {
  outline: none !important;
  border-color: var(--ce-navy) !important;
  box-shadow: 0 0 0 4px rgba(0,61,165,.12) !important;
}
input:disabled, select:disabled, textarea:disabled {
  background: var(--ce-bg-soft) !important;
  color: var(--ce-muted2) !important;
  cursor: not-allowed;
}
label {
  display: block;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--ce-ink) !important;
  margin-bottom: 6px !important;
  letter-spacing: .01em;
}

/* ── Buttons: primary pill (match marketing Apply CTA) ── */
.btnp, .btn-primary, .btn-next, .btn-submit {
  background: var(--ce-yellow) !important;
  color: var(--ce-navy-dark) !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 16px 28px !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  letter-spacing: .01em;
  box-shadow: 0 8px 20px rgba(255,197,43,.40) !important;
  cursor: pointer;
  transition: background-color .15s ease, transform .12s ease, box-shadow .15s ease;
  min-height: 52px !important;
  font-family: var(--font) !important;
  width: 100%;
}
.btnp:hover, .btn-primary:hover, .btn-next:hover, .btn-submit:hover {
  background: var(--ce-yellow-dk) !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(224,168,0,.45) !important;
}
.btnp:disabled {
  background: var(--ce-border) !important;
  color: var(--ce-muted2) !important;
  box-shadow: none !important;
  cursor: not-allowed;
  transform: none;
}
.btnb, .btn-back, .btn-secondary {
  background: transparent !important;
  color: var(--ce-navy) !important;
  border: 1.5px solid var(--ce-border) !important;
  border-radius: 999px !important;
  padding: 14px 22px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  min-height: 48px !important;
  cursor: pointer;
  font-family: var(--font) !important;
}
.btnb:hover, .btn-back:hover {
  border-color: var(--ce-navy) !important;
  background: var(--ce-bg-soft) !important;
}

.btn-row {
  display: flex !important;
  gap: 12px !important;
  margin-top: 1.5rem !important;
}
.btn-row .btnp { flex: 1; }
.btn-row .btnb { flex: 0 0 auto; }
@media (max-width: 480px) {
  .btn-row { flex-direction: column-reverse !important; }
  .btn-row .btnb { width: 100%; }
}

/* ── Bank-linking options (Plaid vs PDF) ── */
.bank-opts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px !important;
}
.bank-opt, .bo-card {
  background: var(--ce-surface) !important;
  border: 2px solid var(--ce-border) !important;
  border-radius: 14px !important;
  padding: 18px !important;
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.bank-opt:hover, .bank-opt.active {
  border-color: var(--ce-navy) !important;
  box-shadow: 0 8px 24px rgba(0,61,165,.10);
}
@media (max-width: 520px) {
  .bank-opts { grid-template-columns: 1fr; }
}

/* ── Chips (radio-style toggles) ── */
.chips {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.chip {
  padding: 12px 10px !important;
  border: 1.5px solid var(--ce-border) !important;
  border-radius: 10px !important;
  background: var(--ce-surface) !important;
  color: var(--ce-ink) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  cursor: pointer;
  text-align: center;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .12s ease;
}
.chip:hover { border-color: var(--ce-navy); }
.chip.selected, .chip[aria-selected="true"] {
  background: var(--ce-navy) !important;
  color: #FFFFFF !important;
  border-color: var(--ce-navy) !important;
}

/* ── Upload drop zones ── */
.dz, .dropzone {
  border: 2px dashed var(--ce-border) !important;
  border-radius: 14px !important;
  padding: 28px 16px !important;
  text-align: center !important;
  background: var(--ce-bg-soft) !important;
  cursor: pointer;
  transition: border-color .15s ease, background-color .15s ease;
}
.dz:hover, .dropzone:hover {
  border-color: var(--ce-navy) !important;
  background: #EFF3FC !important;
}

/* ── Success screen ── */
.success .s-ttl {
  color: var(--ce-navy-dark) !important;
  font-weight: 800 !important;
  letter-spacing: -.02em;
  font-size: clamp(1.6rem, 4.5vw, 2rem) !important;
}
.success .step-txt {
  color: var(--ce-muted) !important;
}

/* ── Security strip at bottom of form ── */
.sec-txt {
  color: var(--ce-muted2) !important;
  font-size: 12px !important;
}

/* ── Global mobile tweaks ── */
@media (max-width: 600px) {
  input, select, textarea { font-size: 16px !important; }  /* reinforce */
  .btnp, .btn-primary { min-height: 54px !important; font-size: 16px !important; }
  .card { padding: 20px 18px !important; }
  .hdr-title { font-size: 1.55rem !important; }
  .progress { padding: 10px !important; }
  .sc { width: 32px !important; height: 32px !important; font-size: 13px !important; }
  .sl { font-size: 10px !important; }
}
@media (max-width: 400px) {
  .page { padding: 1.25rem .75rem 2.5rem !important; }
  .card { padding: 18px 14px !important; border-radius: 16px !important; }
  .hdr-title { font-size: 1.35rem !important; }
}


/* LOGO SIZING FIX for apply page header */
.cer-header .cer-logo img {
  height: 72px !important;
  width: auto !important;
  max-width: none !important;
  max-height: 72px !important;
  object-fit: contain;
  display: block;
}
@media (max-width: 700px) {
  .cer-header .cer-logo img { height: 52px !important; max-height: 52px !important; }
}


/* ═════════════════════════════════════════════════════════════════════
   APPLY v13 — mirror the unified blob field + logo rule from marketing
   ═════════════════════════════════════════════════════════════════════ */

/* Kill the old body::before / body::after blob pair from apply v6 */
body::before, body::after { content: none !important; display: none !important; }

.ce-blob-field {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  overflow: hidden;
}
.ce-blob { position: absolute; pointer-events: none; filter: blur(0.3px); }
.b-yellow { background: #FF7900; }
.b-navy   { background: #003C71; }
.b-large  { width: 480px; height: 440px; border-radius: 62% 38% 47% 53% / 55% 48% 52% 45%; }
.b-mid    { width: 280px; height: 260px; border-radius: 55% 45% 60% 40% / 50% 50% 50% 50%; }
.b-small  { width: 160px; height: 150px; border-radius: 58% 42% 52% 48% / 50% 50% 50% 50%; }
.b-yellow.b-large { opacity: .16; }
.b-navy.b-large   { opacity: .07; }
.b-yellow.b-mid   { opacity: .14; }
.b-navy.b-mid     { opacity: .06; }
.b-yellow.b-small { opacity: .20; }
.b-navy.b-small   { opacity: .08; }
.b-1  { top: -140px; right: -160px;  transform: rotate(-12deg); }
.b-2  { bottom: -160px; left: -180px; transform: rotate(18deg); }
.b-3  { top: 45%; right: -180px; transform: rotate(-22deg); }
.b-4  { top: 18%; left: -120px;  transform: rotate(14deg); }
.b-5  { top: 62%; left: -100px;  transform: rotate(-8deg); }
.b-6  { top: 8%;  right: 30%;    transform: rotate(12deg); }
.b-7  { bottom: 10%; right: 28%; transform: rotate(-16deg); }
.b-8  { top: 30%; left: 35%;     transform: rotate(8deg); }
.b-9  { top: 72%; right: 18%;    transform: rotate(-14deg); }
.b-10 { top: 6%;  left: 48%;     transform: rotate(22deg); }
@media (max-width: 800px) {
  .b-large { width: 360px; height: 320px; }
  .b-mid   { width: 220px; height: 200px; }
  .b-small { display: none; }
}
@media (max-width: 500px) {
  .b-large { width: 280px; height: 260px; }
  .b-mid   { width: 180px; height: 160px; }
  .b-4, .b-6, .b-7 { display: none; }
}

.cer-header .cer-logo img {
  height: 80px !important;
  width: auto !important;
  max-width: none !important;
  max-height: 80px !important;
  object-fit: contain;
  display: block;
}
.cer-header .cer-header-inner { min-height: 96px; }
@media (max-width: 700px) {
  .cer-header .cer-logo img { height: 60px !important; max-height: 60px !important; }
  .cer-header .cer-header-inner { min-height: 80px; }
}
@media (max-width: 480px) {
  .cer-header .cer-logo img { height: 52px !important; max-height: 52px !important; }
}
