/*
Theme Name:  Olam Funding
Theme URI:   https://olamfunding.com
Description: Modern fintech WordPress theme for Olam Funding — Merchant Cash Advance. Built to spec from the Olam Funding Website Design Brief v1.0.
Version:     1.0.0
Author:      Olam Funding
Author URI:  https://olamfunding.com
Text Domain: olam
*/

/* ─────────────────────────────────────────────
   DESIGN TOKENS
───────────────────────────────────────────── */
:root {
  /* Colors */
  --navy:          #0f172a;
  --navy-800:      #1e293b;
  --green:         #10b981;
  --green-dark:    #059669;
  --green-light:   rgba(16,185,129,.10);
  --green-light2:  rgba(16,185,129,.20);
  --green-tint:    #f0fdf4;
  --white:         #ffffff;
  --slate-50:      #f8fafc;
  --slate-100:     #f1f5f9;
  --slate-200:     #e2e8f0;
  --slate-300:     #cbd5e1;
  --slate-400:     #94a3b8;
  --slate-500:     #64748b;
  --slate-700:     #334155;
  --slate-900:     #0f172a;
  --amber:         #f59e0b;
  --red:           #ef4444;

  /* Typography */
  --font-display: 'Plus Jakarta Sans', sans-serif;
  --font-body:    'Inter', sans-serif;

  /* Spacing */
  --nav-h:     72px;
  --max-w:     1280px;
  --radius-sm: 0.5rem;
  --radius:    0.75rem;
  --radius-lg: 1rem;
  --radius-xl: 1.25rem;
  --radius-2xl:1.5rem;
  --radius-3xl:1.875rem;
  --radius-pill:9999px;
}

/* ─────────────────────────────────────────────
   RESET & BASE
───────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-body);color:var(--slate-700);background:#fff;-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block;height:auto}
a{text-decoration:none;color:inherit}
button{cursor:pointer;border:none;background:none;font-family:inherit}
input,textarea,select{font-family:inherit;outline:none}
svg{display:inline-block;flex-shrink:0;vertical-align:middle}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--navy);line-height:1.15}

/* ─────────────────────────────────────────────
   LAYOUT — matches brief: max-w-7xl px-4 md:px-6 lg:px-8
───────────────────────────────────────────── */
.container{
  width:100%;
  max-width:var(--max-w);
  margin-inline:auto;
  padding-inline:1rem;
}
@media(min-width:768px){.container{padding-inline:1.5rem}}
@media(min-width:1024px){.container{padding-inline:2rem}}

/* Section padding: py-16 md:py-24 */
.section{padding-block:3rem}
@media(min-width:768px){.section{padding-block:4.5rem}}
.section-sm{padding-block:3rem}
@media(min-width:768px){.section-sm{padding-block:4rem}}

/* Background variants */
.bg-white{background:#fff}
.bg-muted{background:var(--slate-100)}
.bg-muted-soft{background:rgba(241,245,249,.4)}
.bg-navy{background:var(--navy)}

/* ─────────────────────────────────────────────
   TYPOGRAPHY SCALE
───────────────────────────────────────────── */
.display-1{font-size:clamp(2rem,5vw,3.75rem);font-weight:800;line-height:1.1}
.display-2{font-size:clamp(1.875rem,4vw,3rem);font-weight:800;line-height:1.15}
.display-3{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;line-height:1.2}
.h4{font-size:1.125rem;font-weight:700}
.text-lg{font-size:1.0625rem;line-height:1.7}
.text-base{font-size:0.9375rem;line-height:1.65}
.text-sm{font-size:0.875rem;line-height:1.6}
.text-xs{font-size:0.75rem;line-height:1.5}
.text-xxs{font-size:0.6875rem;line-height:1.4}
.text-muted{color:var(--slate-500)}
.text-green{color:var(--green)}
.text-navy{color:var(--navy)}
.text-white{color:#fff}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.font-extrabold{font-weight:800}
.font-display{font-family:var(--font-display)}
.uppercase{text-transform:uppercase}
.tracking-wide{letter-spacing:.1em}
.tracking-wider{letter-spacing:.15em}
.tracking-widest{letter-spacing:.2em}

/* Gradient headline */
.text-gradient{
  background:linear-gradient(135deg,#10b981 0%,#34d399 50%,#6ee7b7 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}

/* Section eyebrow tag */
.eyebrow{
  display:inline-flex;align-items:center;gap:.375rem;
  font-family:var(--font-display);font-size:.6875rem;font-weight:700;
  color:var(--green);letter-spacing:.2em;text-transform:uppercase;
}


/* Section header block */
.section-header{text-align:center;max-width:42rem;margin-inline:auto;margin-bottom:2.5rem}
.section-header .eyebrow{justify-content:center;margin-bottom:.875rem}
.section-header 
.section-header h2{margin-bottom:1rem}
.section-header p{color:var(--slate-500)}

/* ─────────────────────────────────────────────
   BUTTONS
───────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--font-display);font-weight:600;white-space:nowrap;letter-spacing:.02em;
  border:none;border-radius:100px;
  cursor:pointer;transition:all .22s cubic-bezier(.4,0,.2,1);text-decoration:none;
  -webkit-tap-highlight-color:transparent;line-height:1;
  position:relative;overflow:hidden;
}
/* Sizes */
.btn-xs {font-size:.75rem;   height:2rem;    padding:0 1rem;   border-radius:100px}
.btn-sm {font-size:.8125rem; height:2.375rem;padding:0 1.25rem;border-radius:100px}
.btn-md {font-size:.875rem;  height:2.625rem;padding:0 1.5rem; border-radius:100px}
.btn-lg {font-size:.9375rem; height:3rem;    padding:0 1.875rem;border-radius:100px}
.btn-xl {font-size:1rem;     height:3.375rem;padding:0 2.25rem; border-radius:100px}
/* Primary */
.btn-primary{background:#10b981;color:#fff;box-shadow:0 1px 3px rgba(16,185,129,.2)}
.btn-primary:hover{background:#059669;transform:translateY(-1px);box-shadow:0 3px 12px rgba(16,185,129,.25)}
.btn-primary:active{transform:none;box-shadow:none}
/* Outline */
.btn-outline{background:#fff;color:var(--navy);
  box-shadow:inset 0 0 0 1.5px var(--slate-200),0 1px 3px rgba(0,0,0,.06)}
.btn-outline:hover{box-shadow:inset 0 0 0 1.5px var(--green);color:var(--green);
  transform:translateY(-1px);background:#f0fdf4}
.btn-outline:active{transform:translateY(0)}
/* White (on dark bg) */
.btn-outline-white{background:transparent;color:#fff;
  box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.btn-outline-white:hover{background:rgba(255,255,255,.12);
  box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.8)}
.btn-white{background:#fff;color:var(--green);
  box-shadow:0 4px 14px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.08)}
.btn-white:hover{background:#f0fdf4;transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(0,0,0,.15)}
.btn-full{width:100%;justify-content:center}

/* ─────────────────────────────────────────────
   ICON BOX
───────────────────────────────────────────── */
.icon-box{
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;background:var(--green-light);color:var(--green);
  border-radius:var(--radius-lg);transition:all .3s ease;
}
.icon-box-xs{width:2rem;  height:2rem;  border-radius:.5rem}
.icon-box-sm{width:2.5rem;height:2.5rem;border-radius:.625rem}
.icon-box-md{width:3rem;  height:3rem;  border-radius:.75rem}
.icon-box-lg{width:3.5rem;height:3.5rem;border-radius:.875rem}
.icon-box-xl{width:4rem;  height:4rem;  border-radius:1rem}

/* ─────────────────────────────────────────────
   BADGES & PILLS
───────────────────────────────────────────── */
.badge{
  display:inline-flex;align-items:center;gap:.375rem;
  padding:.375rem 1rem;border-radius:var(--radius-pill);
  font-family:var(--font-display);font-size:.6875rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  background:var(--green-light);border:1px solid var(--green-light2);color:var(--green);
}
.badge-time{
  display:inline-block;font-family:var(--font-display);font-size:.6875rem;
  font-weight:600;color:var(--green);background:var(--green-light);
  padding:.125rem .625rem;border-radius:var(--radius-pill);white-space:nowrap;
}
.badge-stat{
  display:inline-block;font-family:var(--font-display);font-size:.75rem;
  font-weight:700;color:#fff;background:var(--green);
  padding:.25rem .75rem;border-radius:var(--radius-pill);
}

/* ─────────────────────────────────────────────
   CARDS
───────────────────────────────────────────── */
.card{
  background:#fff;border:1px solid rgba(226,232,240,.6);
  border-radius:var(--radius-2xl);transition:border-color .3s,box-shadow .3s;
}
.card:hover{border-color:rgba(16,185,129,.25);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.card-body{padding:1.5rem}
.card-body-lg{padding:2rem}
.card.card-hover:hover .icon-box{background:var(--green);color:#fff}

/* ─────────────────────────────────────────────
   NAVIGATION
───────────────────────────────────────────── */
.site-nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  height:var(--nav-h);
  background:rgba(255,255,255,.93);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(226,232,240,.5);
  box-shadow:0 1px 3px rgba(0,0,0,.05);
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  height:100%;gap:1rem;
}
/* Logo */
.nav-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none}
.nav-logo img{height:44px;width:auto;object-fit:contain;display:block}
@media(min-width:1024px){.nav-logo img{height:52px}}

/* Desktop links */
.nav-links{display:none;align-items:center;gap:.25rem}
@media(min-width:1024px){.nav-links{display:flex}}
.nav-link{
  display:block;padding:.5rem .875rem;font-size:.875rem;font-weight:500;
  color:var(--slate-500);border-radius:var(--radius-sm);
  transition:color .15s,background .15s;white-space:nowrap;
}
.nav-link:hover{color:var(--navy);background:var(--slate-100)}
.nav-link.active{color:var(--green);background:var(--green-light)}

/* Desktop actions */
.nav-actions{display:none;align-items:center;gap:.75rem;flex-shrink:0}
@media(min-width:1024px){.nav-actions{display:flex}}
.nav-phone{
  display:flex;align-items:center;gap:.375rem;
  font-size:.8125rem;font-weight:500;color:var(--slate-500);
  transition:color .15s;white-space:nowrap;
}
.nav-phone:hover{color:var(--navy)}

/* Hamburger */
.nav-hamburger{
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  width:44px;height:44px;border-radius:var(--radius-sm);gap:5px;
  background:transparent;border:none;cursor:pointer;
  transition:background .15s;flex-shrink:0;-webkit-tap-highlight-color:transparent;
}
.nav-hamburger:hover{background:var(--slate-100)}
@media(min-width:1024px){.nav-hamburger{display:none}}
.hb{display:block;width:22px;height:2px;background:var(--navy);border-radius:2px;transition:all .25s cubic-bezier(.4,0,.2,1)}
.nav-hamburger.open .hb:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hamburger.open .hb:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-hamburger.open .hb:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mobile menu */
.mobile-menu{
  position:fixed;top:var(--nav-h);left:0;right:0;z-index:199;
  background:#fff;border-bottom:1px solid var(--slate-200);
  box-shadow:0 12px 32px rgba(0,0,0,.12);
  max-height:calc(100vh - var(--nav-h));overflow-y:auto;
  transform:translateY(-110%);opacity:0;pointer-events:none;
  transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease;
}
.mobile-menu.open{transform:translateY(0);opacity:1;pointer-events:auto}
@media(min-width:1024px){.mobile-menu{display:none!important}}
.mobile-menu-inner{padding:1rem 0 1.5rem}
.mobile-menu .nav-link{border-radius:0;padding:.75rem 1.5rem;font-size:1rem;border-bottom:1px solid rgba(226,232,240,.4)}
.mobile-menu-btns{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem 0}

/* ─────────────────────────────────────────────
   HERO SECTION
───────────────────────────────────────────── */
.hero{
  position:relative;overflow:hidden;
  padding-top:calc(var(--nav-h) + 5rem);
  padding-bottom:3rem;
  background:linear-gradient(160deg,rgba(241,245,249,.7) 0%,#fff 60%);
}
.hero::before{
  content:'';position:absolute;top:-10rem;right:-15rem;
  width:50rem;height:50rem;border-radius:50%;
  background:radial-gradient(circle,rgba(16,185,129,.06) 0%,transparent 70%);
  pointer-events:none;
}
.hero::after{
  content:'';position:absolute;bottom:-8rem;left:-10rem;
  width:35rem;height:35rem;border-radius:50%;
  background:radial-gradient(circle,rgba(15,23,42,.05) 0%,transparent 70%);
  pointer-events:none;
}
.hero-grid{
  display:grid;gap:3rem;align-items:center;
  min-height:70vh;position:relative;z-index:1;
}
@media(min-width:1024px){.hero-grid{grid-template-columns:1fr 1fr;gap:4rem}}
.hero-tag{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem}
.hero-h1{font-weight:800;color:var(--navy);margin-bottom:1.25rem}
.hero-desc{font-size:1.0625rem;color:var(--slate-500);line-height:1.7;max-width:32rem;margin-bottom:2rem}
.hero-btns{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2rem}
.hero-checks{display:grid;grid-template-columns:1fr 1fr;gap:.625rem}
.hero-check{display:flex;align-items:center;gap:.625rem;font-size:.875rem;color:var(--slate-600);font-weight:500}

/* Hero card */
.hero-card{
  background:#fff;border:1px solid rgba(226,232,240,.8);
  border-radius:var(--radius-3xl);
  box-shadow:0 25px 60px rgba(0,0,0,.12),0 8px 20px rgba(0,0,0,.06);
  padding:2rem;position:relative;
}
.hero-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}
.hero-funded-label{font-size:.875rem;color:var(--slate-500);margin-bottom:.25rem}
.hero-funded-val{font-family:var(--font-display);font-weight:800;font-size:2.25rem;color:var(--navy)}
.hero-funded-val span{color:var(--green)}
/* Progress bars */
.prog-row{margin-bottom:1rem}
.prog-labels{display:flex;justify-content:space-between;margin-bottom:.375rem}
.prog-label-left{font-size:.8125rem;color:var(--slate-500)}
.prog-label-right{font-size:.8125rem;font-weight:600;color:var(--navy)}
.prog-track{height:.5rem;background:var(--slate-100);border-radius:var(--radius-pill);overflow:hidden}
.prog-fill{height:100%;background:linear-gradient(90deg,var(--green),#34d399);border-radius:var(--radius-pill);width:0;transition:width 1.2s ease}
/* Float badges */
.float-badge{
  position:absolute;background:#fff;border:1px solid var(--slate-200);
  border-radius:var(--radius-xl);box-shadow:0 8px 24px rgba(0,0,0,.1);
  padding:.875rem 1rem;display:flex;align-items:center;gap:.75rem;z-index:10;
}
.float-badge-tr{top:-1rem;right:-1rem}
.float-badge-bl{bottom:-1rem;left:-1rem}
.float-badge-label{font-size:.6875rem;color:var(--slate-500);line-height:1.3}
.float-badge-val{font-family:var(--font-display);font-weight:700;font-size:.9375rem;color:var(--navy);white-space:nowrap}

/* Stats row */
.stats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:3.5rem}
@media(min-width:768px){.stats-row{grid-template-columns:repeat(4,1fr)}}
.stat-card{text-align:center;padding:1.25rem;background:#fff;border:1px solid rgba(226,232,240,.6);border-radius:var(--radius-xl)}
.stat-val{font-family:var(--font-display);font-weight:700;font-size:clamp(1.5rem,2.5vw,1.875rem);color:var(--navy)}
.stat-label{font-size:.875rem;color:var(--slate-500);margin-top:.25rem}

/* ─────────────────────────────────────────────
   MARQUEE
───────────────────────────────────────────── */
.marquee-section{padding-block:2rem;background:var(--slate-50);border-top:1px solid rgba(226,232,240,.5);border-bottom:1px solid rgba(226,232,240,.5)}
.marquee-label{text-align:center;font-size:.6875rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--slate-400);margin-bottom:1.75rem}
.marquee-wrap{position:relative;overflow:hidden}
.marquee-track{display:flex;gap:1.5rem;align-items:center;animation:marquee 35s linear infinite;width:max-content}
.marquee-track:hover{animation-play-state:running}
.marquee-item{display:flex;align-items:center;height:2.25rem;padding:.375rem 1rem;background:#fff;border:1px solid rgba(226,232,240,.8);border-radius:.5rem;min-width:7rem;justify-content:center;flex-shrink:0;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.marquee-item span{font-family:var(--font-display);font-weight:700;font-size:.8125rem;color:var(--slate-600);white-space:nowrap}
.marquee-fade{position:absolute;inset-y:0;width:6rem;pointer-events:none;z-index:2}
.marquee-fade-l{left:0;background:linear-gradient(to right,#fff,transparent)}
.marquee-fade-r{right:0;background:linear-gradient(to left,#fff,transparent)}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ─────────────────────────────────────────────
   BENEFITS GRID
───────────────────────────────────────────── */
.benefits-grid{display:grid;gap:1.25rem}
@media(min-width:640px){.benefits-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.benefits-grid{grid-template-columns:repeat(3,1fr)}}
.benefit-card{padding:1.5rem}
.benefit-card h3{font-family:var(--font-display);font-weight:700;font-size:1.0625rem;color:var(--navy);margin:.875rem 0 .5rem}
.benefit-card p{font-size:.875rem;color:var(--slate-500);line-height:1.65}

/* ─────────────────────────────────────────────
   HOW IT WORKS — Homepage cards
───────────────────────────────────────────── */
.hiw-grid{display:grid;gap:1.25rem}
@media(min-width:768px){.hiw-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.hiw-grid{grid-template-columns:repeat(4,1fr)}}
.hiw-card{padding:1.75rem}
.hiw-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}
.hiw-num{font-family:var(--font-display);font-weight:700;font-size:2rem;color:rgba(226,232,240,1);line-height:1}
.hiw-card h3{font-family:var(--font-display);font-weight:700;font-size:1.0625rem;color:var(--navy);margin-bottom:.5rem}
.hiw-card p{font-size:.875rem;color:var(--slate-500);line-height:1.65}

/* HOW IT WORKS — Interior page steps */
.process-step{
  display:grid;gap:1.25rem;
  background:#fff;border:1px solid rgba(226,232,240,.6);
  border-radius:var(--radius-2xl);padding:1.75rem;
  transition:border-color .3s,box-shadow .3s;
}
@media(min-width:768px){.process-step{grid-template-columns:90px 1fr;gap:2rem;padding:2rem}}
.process-step:hover{border-color:rgba(16,185,129,.25);box-shadow:0 4px 16px rgba(0,0,0,.07)}
.process-step-left{display:flex;flex-direction:row;align-items:center;gap:.875rem}
@media(min-width:768px){.process-step-left{flex-direction:column;align-items:center;gap:.625rem}}
.process-num{font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:rgba(16,185,129,.25);line-height:1}
.process-step-right h3{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--navy);margin-bottom:.75rem}
.process-step-right p{font-size:.9375rem;color:var(--slate-500);line-height:1.7}

/* ─────────────────────────────────────────────
   TESTIMONIALS — Smooth horizontal no-jump slider
───────────────────────────────────────────── */
.t-section{overflow:hidden}
/* Desktop: 3-up */

@media(min-width:768px){.t-desktop{display:block}}
.t-mobile{display:block}
@media(min-width:768px){.t-mobile{display:none}}



/* Desktop: each slide = 1/3 width minus gap */


/* Mobile: each slide = 100% */


.t-card{
  background:#fff;border:1px solid rgba(226,232,240,.6);
  border-radius:var(--radius-2xl);padding:1.75rem;
  display:flex;flex-direction:column;height:100%;
  position:relative;transition:border-color .3s,box-shadow .3s;
}
.t-card:hover{border-color:rgba(16,185,129,.2);box-shadow:0 8px 24px rgba(0,0,0,.07)}
.t-quote-bg{
  position:absolute;top:1.25rem;right:1.25rem;
  color:rgba(16,185,129,.07);line-height:1;font-size:4rem;
  font-family:Georgia,serif;user-select:none;pointer-events:none;
}
.t-stars{display:flex;gap:2px;margin-bottom:1rem}
.t-star{color:var(--amber);fill:var(--amber);width:.875rem;height:.875rem;flex-shrink:0}
.t-text{font-size:.9375rem;color:var(--slate-500);line-height:1.7;flex:1;font-style:italic;margin-bottom:1.25rem}
.t-footer{
  display:flex;align-items:flex-end;justify-content:space-between;
  padding-top:1rem;border-top:1px solid rgba(226,232,240,.5);margin-top:auto;
}
.t-name{font-family:var(--font-display);font-weight:700;font-size:.9375rem;color:var(--navy)}
.t-role{font-size:.75rem;color:var(--slate-500)}
.t-funded-label{font-size:.6875rem;color:var(--slate-500);text-align:right}
.t-funded-val{font-family:var(--font-display);font-weight:700;color:var(--green);font-size:.9375rem;text-align:right}

/* Slider nav */
.t-nav{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem}
.t-nav-btn{
  width:2.5rem;height:2.5rem;border-radius:50%;border:1.5px solid var(--slate-200);
  display:flex;align-items:center;justify-content:center;
  color:var(--slate-500);background:#fff;cursor:pointer;
  transition:all .2s;flex-shrink:0;
}
.t-nav-btn:hover{border-color:var(--green);color:var(--green)}
.t-dots{display:flex;gap:.5rem;align-items:center}
.t-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--slate-200);cursor:pointer;transition:all .3s}
.t-dot.active{background:var(--green);width:1.25rem;border-radius:var(--radius-pill)}

/* ─────────────────────────────────────────────
   INDUSTRIES GRID
───────────────────────────────────────────── */
.industries-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem}
@media(min-width:640px){.industries-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.industries-grid{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1280px){.industries-grid{grid-template-columns:repeat(6,1fr)}}
.industry-card{
  background:#fff;border:1px solid var(--slate-200);border-radius:var(--radius-xl);
  padding:1.25rem .875rem;display:flex;flex-direction:column;align-items:center;gap:.625rem;
  transition:border-color .3s,box-shadow .3s;cursor:default;
}
.industry-card:hover{border-color:rgba(16,185,129,.3);box-shadow:0 4px 12px rgba(0,0,0,.06)}
.industry-icon{
  width:2.75rem;height:2.75rem;border-radius:.75rem;
  background:var(--slate-100);display:flex;align-items:center;justify-content:center;
  color:var(--slate-500);transition:all .3s;flex-shrink:0;
}
.industry-card:hover .industry-icon{background:var(--green-light);color:var(--green)}
.industry-name{font-size:.8125rem;font-weight:500;text-align:center;color:var(--navy);line-height:1.35}

/* ─────────────────────────────────────────────
   QUALIFICATIONS
───────────────────────────────────────────── */
.qual-grid{display:grid;gap:1.5rem;max-width:56rem;margin-inline:auto}
@media(min-width:1024px){.qual-grid{grid-template-columns:1fr 1fr}}
.qual-list{display:flex;flex-direction:column;gap:0}
.qual-item{display:flex;align-items:center;gap:.625rem;padding:.4375rem 0;border-bottom:1px solid rgba(226,232,240,.35)}
.qual-check{color:var(--green);flex-shrink:0;margin-top:.0625rem}
.qual-text{font-size:.875rem;color:var(--navy);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qual-sub{font-size:.75rem;color:var(--green)}
.doc-item{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:var(--navy);margin-bottom:.625rem}
.doc-num{
  font-size:.6875rem;font-weight:700;color:var(--green);
  background:var(--green-light);border-radius:50%;
  width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.qual-note{
  background:var(--slate-100);border:1px solid var(--slate-200);border-radius:var(--radius);
  padding:.875rem;display:flex;align-items:flex-start;gap:.5rem;
  font-size:.75rem;color:var(--slate-500);line-height:1.55;margin-bottom:1.25rem;
}

/* ─────────────────────────────────────────────
   FAQ ACCORDION
───────────────────────────────────────────── */
.faq-list{display:flex;flex-direction:column;gap:.75rem;max-width:50rem;margin-inline:auto}
.faq-item{background:#fff;border:1px solid rgba(226,232,240,.6);border-radius:var(--radius-xl);overflow:hidden}
.faq-trigger{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  width:100%;padding:1.25rem 1.5rem;text-align:left;background:transparent;cursor:pointer;
  transition:background .15s;border:none;
}
.faq-trigger:hover{background:rgba(241,245,249,.7)}
.faq-trigger.active{background:rgba(16,185,129,.03)}
.faq-q{font-family:var(--font-display);font-weight:600;font-size:.9375rem;color:var(--navy);transition:color .15s}
.faq-trigger.active .faq-q{color:var(--green)}
.faq-chevron{flex-shrink:0;color:var(--slate-400);transition:transform .35s cubic-bezier(.4,0,.2,1),color .15s}
.faq-trigger.active .faq-chevron{transform:rotate(180deg);color:var(--green)}
.faq-answer{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1);height:0}
.faq-answer-inner{
  padding:0 1.5rem 1.25rem;
  font-size:.9375rem;color:var(--slate-500);line-height:1.7;
  border-top:1px solid rgba(226,232,240,.5);padding-top:.875rem;
}

/* ─────────────────────────────────────────────
   ISO BANNER
───────────────────────────────────────────── */
.iso-banner{background:#fff;border:1px solid rgba(226,232,240,.6);border-radius:var(--radius-3xl);padding:2.5rem}
@media(min-width:768px){.iso-banner{padding:3.5rem}}
.iso-banner-grid{display:grid;gap:2.5rem}
@media(min-width:1024px){.iso-banner-grid{grid-template-columns:1fr 1fr;align-items:center}}
.iso-benefits{display:grid;gap:1rem}
@media(min-width:640px){.iso-benefits{grid-template-columns:repeat(3,1fr)}}
.iso-benefit-card{background:var(--slate-50);border:1px solid rgba(226,232,240,.5);border-radius:var(--radius-xl);padding:1.25rem}
.iso-benefit-card h4{font-family:var(--font-display);font-weight:700;font-size:.9375rem;color:var(--navy);margin:.625rem 0 .375rem}
.iso-benefit-card p{font-size:.75rem;color:var(--slate-500);line-height:1.55}

/* ─────────────────────────────────────────────
   CTA BOX
───────────────────────────────────────────── */
.cta-box{
  background:var(--navy);border-radius:var(--radius-3xl);
  padding:2.5rem 2rem;text-align:center;position:relative;overflow:hidden;
  max-width:64rem;margin-inline:auto;
}
@media(min-width:768px){.cta-box{padding:3rem 3rem}}
.cta-orb{position:absolute;border-radius:50%;pointer-events:none}
.cta-orb-1{top:-8rem;right:-8rem;width:20rem;height:20rem;background:rgba(16,185,129,.1)}
.cta-orb-2{bottom:-6rem;left:-6rem;width:16rem;height:16rem;background:rgba(16,185,129,.08)}
.cta-orb-3{top:50%;left:50%;transform:translate(-50%,-50%);width:32rem;height:32rem;background:rgba(16,185,129,.05)}
.cta-content{position:relative;z-index:1}
.cta-box h2{color:#fff;margin-bottom:1rem}
.cta-box .cta-sub{color:rgba(255,255,255,.6);max-width:36rem;margin:0 auto 1.75rem;font-size:1.0625rem}
.cta-btns{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}
.cta-fine{font-size:.6875rem;color:rgba(255,255,255,.3);margin-top:1.5rem}

/* ─────────────────────────────────────────────
   PAGE HERO (interior)
───────────────────────────────────────────── */
.page-hero{
  padding-top:calc(var(--nav-h) + 5.5rem);
  padding-bottom:4rem;
  background:linear-gradient(to bottom,rgba(241,245,249,.6),#fff);
  text-align:center;
}
.page-hero .eyebrow{justify-content:center;margin-bottom:.75rem}
.page-hero 
.page-hero h1{margin-bottom:1.25rem}
.page-hero p{color:var(--slate-500);font-size:1.0625rem;max-width:40rem;margin-inline:auto}

/* ─────────────────────────────────────────────
   ABOUT PAGE
───────────────────────────────────────────── */
.story-grid{display:grid;gap:3rem}
@media(min-width:1024px){.story-grid{grid-template-columns:1fr 1fr}}
.commit-cards{display:grid;gap:1rem}

.commit-card h4{font-family:var(--font-display);font-weight:700;color:var(--navy);margin-bottom:.375rem}
.commit-card p{font-size:.875rem;color:var(--slate-500);line-height:1.6}
.avail-box{
  background:rgba(16,185,129,.04);border:2px solid rgba(16,185,129,.15);
  border-radius:var(--radius-3xl);padding:2.5rem;text-align:center;
  max-width:48rem;margin-inline:auto;
}
.avail-box-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.75rem}
@media(max-width:640px){.avail-box-cards{grid-template-columns:1fr}}
.avail-mini{background:#fff;border:1px solid rgba(226,232,240,.5);border-radius:var(--radius-xl);padding:1rem}
.avail-mini h4{font-family:var(--font-display);font-weight:600;font-size:.875rem;color:var(--navy);margin-bottom:.25rem}
.avail-mini p{font-size:.75rem;color:var(--slate-500)}

/* ─────────────────────────────────────────────
   CALCULATOR
───────────────────────────────────────────── */
.calc-grid{display:grid;gap:2rem}
@media(min-width:1024px){.calc-grid{grid-template-columns:1fr 370px;align-items:start}}
.calc-panel{background:#fff;border:1px solid rgba(226,232,240,.6);border-radius:var(--radius-3xl);padding:2rem 2.5rem}
.calc-group{margin-bottom:1.75rem}
.calc-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem}
.calc-label{font-weight:500;color:var(--navy);display:flex;align-items:center;gap:.375rem}
.calc-val{
  background:var(--green-light);color:var(--green);
  font-family:var(--font-display);font-weight:700;font-size:1.0625rem;
  padding:.375rem .875rem;border-radius:.5rem;
}
input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:.625rem;
  background:var(--slate-100);border-radius:var(--radius-pill);cursor:pointer;outline:none;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:1.5rem;height:1.5rem;border-radius:50%;
  background:var(--green);border:2px solid #fff;
  box-shadow:0 2px 8px rgba(16,185,129,.4);cursor:pointer;
}
input[type=range]::-moz-range-thumb{
  width:1.5rem;height:1.5rem;border-radius:50%;border:2px solid #fff;
  background:var(--green);box-shadow:0 2px 8px rgba(16,185,129,.4);cursor:pointer;
}
.calc-range-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--slate-400);margin-top:.5rem}
.freq-btns{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.625rem}
.freq-btn{
  padding:1rem;border-radius:var(--radius-xl);border:2px solid var(--slate-200);
  font-family:var(--font-display);font-size:.875rem;font-weight:600;
  color:var(--slate-500);background:#fff;cursor:pointer;transition:all .2s;
}
.freq-btn.active{background:var(--green-light);border-color:rgba(16,185,129,.35);color:var(--green)}
.calc-note{
  background:rgba(241,245,249,.5);border:1px solid rgba(226,232,240,.5);border-radius:var(--radius);
  padding:1rem;display:flex;align-items:flex-start;gap:.625rem;
  font-size:.8125rem;color:var(--slate-500);line-height:1.55;
}
/* Results */
.calc-results{display:flex;flex-direction:column;gap:1.25rem}
.calc-primary{
  background:var(--navy);border-radius:var(--radius-3xl);padding:2rem;
  color:#fff;position:relative;overflow:hidden;
}
.calc-primary-o1{position:absolute;top:-5rem;right:-5rem;width:10rem;height:10rem;border-radius:50%;background:rgba(16,185,129,.1)}
.calc-primary-o2{position:absolute;bottom:-3rem;left:-3rem;width:8rem;height:8rem;border-radius:50%;background:rgba(16,185,129,.07)}
.calc-primary-inner{position:relative;z-index:1}
.calc-pay-label{font-size:.875rem;color:rgba(255,255,255,.6);margin-bottom:.375rem}
.calc-pay-val{font-family:var(--font-display);font-weight:800;font-size:clamp(2.25rem,4vw,3.25rem);color:#fff;line-height:1}
.calc-pay-sub{font-size:.875rem;color:rgba(255,255,255,.4);margin-top:.5rem}
.calc-pay-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.calc-pay-card{border:2px solid rgba(226,232,240,.2);border-radius:var(--radius-xl);padding:1.25rem;background:rgba(255,255,255,.04);transition:all .2s}
.calc-pay-card.active{background:var(--green-light);border-color:rgba(16,185,129,.35)}
.calc-pay-card .lbl{font-size:.75rem;color:rgba(255,255,255,.5);margin-bottom:.25rem}
.calc-pay-card.active .lbl{color:var(--green)}
.calc-pay-card .val{font-family:var(--font-display);font-weight:700;font-size:1.375rem;color:#fff}
.calc-pay-card.active .val{color:var(--navy)}
.calc-summary{background:#fff;border:1px solid rgba(226,232,240,.6);border-radius:var(--radius-xl);overflow:hidden}
.calc-sum-row{display:flex;align-items:center;justify-content:space-between;padding:1.125rem 1.25rem}
.calc-sum-row+.calc-sum-row{border-top:1px solid rgba(226,232,240,.5)}
.calc-sum-row .lbl{font-size:.875rem;color:var(--slate-500)}
.calc-sum-row .val{font-family:var(--font-display);font-weight:700;font-size:1.125rem;color:var(--navy)}
.cost-badge{font-size:.8125rem;font-weight:700;color:var(--green);background:var(--green-light);padding:.25rem .625rem;border-radius:.5rem}

/* ─────────────────────────────────────────────
   CONTACT PAGE
───────────────────────────────────────────── */
.contact-grid{display:grid;gap:2.5rem}
@media(min-width:1024px){.contact-grid{grid-template-columns:2fr 3fr}}
.contact-info-stack{display:flex;flex-direction:column;gap:.875rem}
.contact-info-card{
  display:flex;align-items:flex-start;gap:1rem;
  padding:1rem 1.25rem;background:#fff;border:1px solid rgba(226,232,240,.6);
  border-radius:var(--radius-xl);transition:border-color .2s;
}
.contact-info-card:hover{border-color:rgba(16,185,129,.2)}
.contact-info-card .lbl{font-size:.6875rem;color:var(--slate-500);display:block;margin-bottom:.125rem}
.contact-info-card .val{font-family:var(--font-display);font-weight:600;color:var(--navy);transition:color .15s}
a.contact-info-card .val:hover{color:var(--green)}
.inbox-box{
  background:rgba(16,185,129,.06);border:1px solid rgba(16,185,129,.15);
  border-radius:var(--radius-xl);padding:1.25rem;
  display:flex;align-items:flex-start;gap:.75rem;
}
.inbox-box h4{font-family:var(--font-display);font-weight:700;font-size:.9375rem;color:var(--navy);margin-bottom:.25rem}
.inbox-box p{font-size:.8125rem;color:var(--slate-500)}

/* ─────────────────────────────────────────────
   FORMS (universal)
───────────────────────────────────────────── */
.form-card{background:#fff;border:1px solid rgba(226,232,240,.6);border-radius:var(--radius-3xl);padding:2rem 2.5rem;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.form-group{margin-bottom:1.125rem}
.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--navy);margin-bottom:.4rem}
.form-label .req{color:var(--green)}
.form-input,.form-textarea,.form-select{
  width:100%;padding:.625rem 1rem;height:3rem;
  border:1.5px solid var(--slate-200);border-radius:var(--radius);
  font-size:.9375rem;font-family:var(--font-body);color:var(--navy);
  background:#fff;transition:border-color .2s,box-shadow .2s;
  -webkit-appearance:none;appearance:none;
}
.form-textarea{height:auto;min-height:7rem;resize:none;padding-top:.875rem}
.form-input:focus,.form-textarea:focus,.form-select:focus{
  border-color:var(--green);outline:none;
  box-shadow:0 0 0 3px rgba(16,185,129,.12);
}
.form-input::placeholder,.form-textarea::placeholder{color:var(--slate-400)}
.form-select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m19.5 8.25-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .75rem center;background-size:1.125rem;
  padding-right:2.5rem;cursor:pointer;
}
.form-select option{background:#fff;color:var(--navy)}
.grid-2{display:grid;gap:1.125rem}
@media(min-width:640px){.grid-2{grid-template-columns:1fr 1fr}}
.grid-3{display:grid;gap:1rem}
@media(min-width:640px){.grid-3{grid-template-columns:1fr 1fr 1fr}}
.form-divider{
  display:flex;align-items:center;gap:.75rem;
  margin:1rem 0;font-size:.6875rem;font-weight:700;
  color:var(--green);letter-spacing:.15em;text-transform:uppercase;
}
.form-divider::before,.form-divider::after{content:'';flex:1;height:1px;background:rgba(226,232,240,.5)}
.input-hint{font-size:.75rem;color:var(--slate-400);margin-top:.375rem;display:flex;align-items:center;gap:.25rem}
.form-error{font-size:.75rem;color:var(--red);margin-top:.375rem;display:none}
.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--red)}

/* ─────────────────────────────────────────────
   APPLY PAGE
───────────────────────────────────────────── */
.apply-layout{display:grid;gap:2rem;align-items:start}
@media(min-width:1024px){.apply-layout{grid-template-columns:1fr 280px}}
/* Progress */
.progress-wrap{margin-bottom:1.25rem}
.progress-meta{display:flex;justify-content:space-between;font-size:.75rem;margin-bottom:.375rem;font-weight:500}
.progress-pct{color:var(--green);font-weight:700}
.progress-track{height:.375rem;background:var(--slate-100);border-radius:var(--radius-pill);overflow:hidden}
.progress-fill{height:100%;background:var(--green);border-radius:var(--radius-pill);transition:width .4s ease}
/* Step pills */
.step-pills{display:flex;gap:.375rem;overflow-x:auto;scrollbar-width:none;padding-bottom:.25rem;margin-bottom:1.5rem}
.step-pills::-webkit-scrollbar{display:none}
.step-pill{
  display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;
  border-radius:var(--radius-pill);font-family:var(--font-display);
  font-size:.75rem;font-weight:600;cursor:pointer;border:none;
  transition:all .2s;white-space:nowrap;flex-shrink:0;
}
.step-pill.done{background:var(--green-light);color:var(--green)}
.step-pill.active{background:var(--green);color:#fff}
.step-pill.future{background:var(--slate-100);color:var(--slate-400)}
/* Step content */
.step-pane{display:none}
.step-pane.active{display:block}
/* Form nav */
.form-nav{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(226,232,240,.5);
}
/* Owner 2 toggle */
.toggle-section{display:none}
/* File drop zone */
.file-drop{
  border:2px dashed rgba(226,232,240,.8);border-radius:var(--radius-xl);
  padding:1.75rem;text-align:center;cursor:pointer;transition:all .2s;
}
.file-drop:hover{border-color:rgba(16,185,129,.4);background:rgba(16,185,129,.02)}
.file-drop.has-files{border-color:var(--green);background:rgba(16,185,129,.03)}
.file-list{display:flex;flex-direction:column;gap:.375rem;margin-top:.75rem}
.file-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--green)}
/* Review blocks */
.review-block{background:rgba(241,245,249,.4);border:1px solid rgba(226,232,240,.4);border-radius:var(--radius-xl);padding:1.5rem;margin-bottom:1.25rem}
.review-block-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.review-block-title{font-family:var(--font-display);font-weight:700;color:var(--navy);display:flex;align-items:center;gap:.5rem}
.review-fields{display:grid;grid-template-columns:1fr 1fr;gap:.625rem}
.review-field label{font-size:.6875rem;color:var(--slate-500);display:block;margin-bottom:.125rem}
.review-field span{font-weight:500;color:var(--navy);font-size:.875rem}
/* Plaid CTA */
.plaid-cta{background:var(--green-light);border:2px solid rgba(16,185,129,.15);border-radius:var(--radius-xl);padding:1.75rem;text-align:center}
/* Signature */
.sig-wrap{position:relative;border:2px solid var(--slate-200);border-radius:var(--radius-xl);overflow:hidden;background:#fff}
.sig-canvas{width:100%;height:9rem;cursor:crosshair;touch-action:none;display:block}
.sig-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.9375rem;color:rgba(148,163,184,.5);pointer-events:none}
/* Auth scroll */
.auth-scroll{background:rgba(241,245,249,.5);border:1px solid rgba(226,232,240,.5);border-radius:var(--radius-xl);padding:1.25rem;font-size:.8125rem;color:var(--slate-500);max-height:11rem;overflow-y:auto;line-height:1.7;margin-bottom:1rem}
/* Checkbox */
.check-label{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem;border:1px solid rgba(226,232,240,.5);border-radius:var(--radius);cursor:pointer;transition:border-color .2s;margin-bottom:.625rem}
.check-label:hover{border-color:rgba(16,185,129,.3)}
.check-label input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--green);flex-shrink:0;margin-top:.125rem;cursor:pointer}
.check-label span{font-size:.875rem;color:var(--navy)}
/* Sidebar */
.apply-sidebar{position:sticky;top:calc(var(--nav-h) + 1.5rem)}
@media(max-width:1023px){.apply-sidebar{position:static}}
.sidebar-card{background:#fff;border:1px solid rgba(226,232,240,.6);border-radius:var(--radius-xl);padding:1.5rem;margin-bottom:1rem}
.sidebar-feature{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem}
.sidebar-feature:last-child{margin-bottom:0}
.sidebar-feature h4{font-family:var(--font-display);font-size:.875rem;font-weight:600;color:var(--navy);margin-bottom:.125rem}
.sidebar-feature p{font-size:.75rem;color:var(--slate-500)}
/* Success */
.success-card{background:#fff;border:2px solid rgba(16,185,129,.2);border-radius:var(--radius-3xl);padding:3rem 2.5rem;text-align:center;max-width:36rem;margin:3rem auto}
/* Toggle btns */
.yn-btns{display:flex;gap:.5rem;margin-top:.5rem}
.yn-btn{padding:.4rem .875rem;border-radius:var(--radius-pill);border:1.5px solid var(--slate-200);font-size:.8125rem;font-weight:600;color:var(--slate-500);background:#fff;cursor:pointer;transition:all .18s}
.yn-btn.yes-active{background:var(--green);border-color:var(--green);color:#fff}
.yn-btn.no-active{background:var(--slate-100);border-color:var(--slate-300);color:var(--slate-700)}

/* ─────────────────────────────────────────────
   ISO PAGE
───────────────────────────────────────────── */
.iso-why-grid{display:grid;gap:1.25rem}
@media(min-width:640px){.iso-why-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.iso-why-grid{grid-template-columns:repeat(3,1fr)}}
.iso-perks{display:grid;gap:.75rem}
@media(min-width:640px){.iso-perks{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.iso-perks{grid-template-columns:repeat(3,1fr)}}
.iso-perk{display:flex;align-items:center;gap:.75rem;background:#fff;border:1px solid rgba(226,232,240,.6);border-radius:var(--radius-xl);padding:.875rem 1rem}
.iso-perk span{font-size:.875rem;font-weight:500;color:var(--navy)}
.iso-docs-card{background:#fff;border:1px solid rgba(226,232,240,.6);border-radius:var(--radius-xl);padding:1.5rem;margin-top:2rem}

/* ─────────────────────────────────────────────
   FOOTER
───────────────────────────────────────────── */
.site-footer{background:var(--navy);color:#fff}
.footer-main{padding-block:4rem}
.footer-grid{display:grid;gap:2.5rem}
@media(min-width:640px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr};gap:3rem}
.footer-logo{margin-bottom:1.25rem}
.footer-logo img{height:3.5rem;width:auto;border-radius:.5rem;}
.footer-desc{font-size:.875rem;color:rgba(255,255,255,.5);line-height:1.7;margin-bottom:1.5rem}
.footer-contacts{display:flex;flex-direction:column;gap:.625rem}
.footer-contact-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:rgba(255,255,255,.55);transition:color .15s}
.footer-contact-item:hover{color:var(--green)}
.footer-col-title{font-family:var(--font-display);font-size:.6875rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:1rem}
.footer-links{display:flex;flex-direction:column;gap:.625rem}
.footer-links a{font-size:.875rem;color:rgba(255,255,255,.5);transition:color .15s}
.footer-links a:hover{color:var(--green)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-block:1.5rem}
.footer-bottom-inner{display:flex;flex-direction:column;gap:.375rem}
@media(min-width:768px){.footer-bottom-inner{flex-direction:row;align-items:center;justify-content:space-between}}
.footer-copy{font-size:.6875rem;color:rgba(255,255,255,.3)}

/* ─────────────────────────────────────────────
   WLA (What We Look At) grid
───────────────────────────────────────────── */
.wla-grid{display:grid;gap:.875rem}
@media(min-width:640px){.wla-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.wla-grid{grid-template-columns:repeat(3,1fr)}}
.wla-item{display:flex;align-items:center;gap:.75rem;background:#fff;border:1px solid rgba(226,232,240,.6);border-radius:var(--radius-xl);padding:1.25rem}
.wla-item span{font-size:.9375rem;font-weight:500;color:var(--navy)}

/* ─────────────────────────────────────────────
   SCROLL REVEAL
───────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}
.delay-3{transition-delay:.3s}.delay-4{transition-delay:.4s}
.delay-5{transition-delay:.5s}

/* ─────────────────────────────────────────────
   UTILITIES
───────────────────────────────────────────── */
.flex{display:flex}.flex-col{flex-direction:column}
.items-center{align-items:center}.items-start{align-items:flex-start}
.justify-center{justify-content:center}.justify-between{justify-content:space-between}
.flex-wrap{flex-wrap:wrap}
.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}
.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}
.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}
.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}
.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}
.mx-auto{margin-inline:auto}.text-center{text-align:center}
.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}
.w-full{width:100%}.shrink-0{flex-shrink:0}
.overflow-hidden{overflow:hidden}.relative{position:relative}
.border-top{border-top:1px solid rgba(226,232,240,.5)}

/* 404 */
.err-section{min-height:80vh;display:flex;align-items:center;text-align:center;padding-top:calc(var(--nav-h) + 2rem)}

/* ── MOBILE OVERFLOW FIX + GLOBAL MOBILE ─────────────── */
html,body{max-width:100%;overflow-x:hidden}
.apply-layout,.calc-layout,.calc-grid,.grid-2,.grid-3{overflow:visible}
@media(max-width:767px){
  .grid-2,.grid-3{grid-template-columns:1fr!important}
  .apply-layout{grid-template-columns:1fr!important}
  .apply-sidebar{display:none}
  .form-card{padding:1.25rem!important}
  .step-pills{gap:.25rem}
  .step-pill{padding:.375rem .625rem;font-size:.6875rem}
  .calc-layout,.calc-grid{grid-template-columns:1fr!important}
  .calc-result{position:static!important}
  .rp-cards{grid-template-columns:repeat(3,1fr)}
  .rp-card{padding:.625rem .25rem}
  .rp-card .rpc-val{font-size:.875rem}
  .container{padding-inline:.875rem}
  .form-nav{flex-wrap:wrap;gap:.75rem}
  .form-nav .btn{width:100%;justify-content:center}
  .cta-box{padding:2.5rem 1.25rem}
  .hero-grid{grid-template-columns:1fr}
  .freq-tabs,.cr-cards{grid-template-columns:1fr 1fr 1fr}
  .ap-steps{gap:.25rem}
  .ap-layout{grid-template-columns:1fr!important}
  .ap-sidebar{display:none!important}
}

/* ── FAQ — smooth height transition via JS-set height ─── */
.faq-answer{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1);height:0}
.faq-answer.open{height:auto}/* JS overrides with exact px */

/* ─────────────────────────────────────────────
   ELEMENTOR COMPATIBILITY
───────────────────────────────────────────── */
.elementor-page .site-content{padding-top:0!important}
.elementor-editor-active .page-hero,
.elementor-editor-active .section{margin-top:0}

/* ─── APPLY FORM — constrained width like Lovable ─────── */
.ap-form-wrap{max-width:640px;width:100%}
.apply-layout{max-width:960px;margin-inline:auto}
.step-pills{
  display:flex;gap:.375rem;overflow-x:auto;scrollbar-width:none;
  padding-bottom:.25rem;margin-bottom:1.5rem;
  /* prevent page-level horizontal scroll */
  max-width:100%;
}
.progress-wrap{max-width:640px}

/* ─── FORM SELECTS — green focus like Lovable ─────────── */
.form-select{
  border:1.5px solid var(--slate-200);border-radius:8px;
  background-color:#fff;
  transition:border-color .2s,box-shadow .2s;
  -webkit-appearance:none;appearance:none;
}
.form-select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(16,185,129,.12)}
.form-select option:checked{background:var(--green);color:#fff}

/* ─── ISO DOCUMENTS — full width card ────────────────── */
.iso-docs-full{
  background:#fff;border:1px solid rgba(226,232,240,.6);
  border-radius:var(--radius-2xl);padding:2rem 2.5rem;
  margin-top:2rem;
}
.iso-docs-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:1rem;margin-top:1.5rem;
}
@media(min-width:640px){.iso-docs-grid{grid-template-columns:repeat(4,1fr)}}

/* ─── MOBILE MENU — show open state ──────────────────── */
.nav-hamburger[aria-expanded="true"] .hb:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hamburger[aria-expanded="true"] .hb:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-hamburger[aria-expanded="true"] .hb:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ─── APPLY FORM — step pills constrained width ───────── */
.ap-form-col{max-width:640px;width:100%}
.step-pills-wrap{max-width:640px;overflow-x:auto;scrollbar-width:none}
.step-pills-wrap::-webkit-scrollbar{display:none}

/* ─── SELECTS — styled like Lovable buttons ────────────── */
.form-select{
  border:1.5px solid var(--slate-200);
  border-radius:8px;
  background-color:#fff;
  color:var(--slate-500);
  height:3rem;
  padding:.625rem 2.5rem .625rem 1rem;
  font-size:.9375rem;
  transition:border-color .2s,box-shadow .2s,color .2s;
  -webkit-appearance:none;appearance:none;
  cursor:pointer;
}
.form-select:focus{
  border-color:var(--green);
  box-shadow:0 0 0 3px rgba(16,185,129,.12);
  color:var(--navy);
  outline:none;
}
.form-select:not([value=""]):valid,
.form-select.has-value{color:var(--navy);border-color:rgba(16,185,129,.3);}



/* ─── APPLY STEP PILLS — exact Lovable style ──────────── */
.step-pill{
  border-radius:9999px;
  padding:.5rem 1rem;
  font-size:.8125rem;
  font-weight:600;
  white-space:nowrap;
  flex-shrink:0;
  display:flex;
  align-items:center;
  gap:.375rem;
}

/* ─── CTA BOX — Lovable text/shape match ─────────────── */
.cta-box .cta-sub{
  font-size:.9375rem;
  line-height:1.7;
}

/* ─── PROGRESS BAR — constrained to form width ───────── */
.progress-wrap,.step-pills{max-width:640px}

/* ─── ISO DOCS FULL WIDTH ─────────────────────────────── */
.iso-docs-full{
  background:#fff;
  border:1px solid rgba(226,232,240,.6);
  border-radius:var(--radius-2xl);
  padding:2rem 2.5rem;
  margin-top:2rem;
}
.iso-docs-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
  margin-top:1.5rem;
}
@media(min-width:640px){.iso-docs-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:480px){.iso-docs-grid{grid-template-columns:1fr}}

/* ─── YES / NO TOGGLE BUTTONS ─────────────────────────── */
.yn-toggle{display:flex;gap:.5rem}
.yn-btn{
  flex:1;height:2.875rem;border-radius:12px;
  font-family:var(--font-display);font-size:.9375rem;font-weight:600;
  border:1.5px solid var(--slate-300);background:#fff;
  color:var(--slate-500);cursor:pointer;transition:all .18s;
}
.yn-btn:hover{border-color:var(--green);color:var(--green)}
.yn-btn.yn-active{background:linear-gradient(135deg,#10b981,#059669);border-color:transparent;color:#fff;box-shadow:0 4px 14px rgba(16,185,129,.35)}
.yn-btn.yn-active:hover{background:linear-gradient(135deg,#0ea371,#047a5a)}

@media(max-width:640px){
  .ap-wrap,.ap-card,.ap-steps,.progress-wrap{max-width:100%;overflow-x:hidden}
  .ap-steps{flex-wrap:wrap;gap:.25rem}
  .step-pill{flex:1 1 auto;min-width:0;padding:.375rem .5rem;font-size:.6875rem}
}

to{transform:translateX(-50%)}}

.ap-progress-wrap{background:#fff;border:1px solid rgba(226,232,240,.6);border-radius:1.25rem;padding:1.375rem 1.5rem;margin-bottom:1.75rem;max-width:640px}
.ap-prog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.ap-prog-title{font-family:var(--font-display);font-weight:700;font-size:.9375rem;color:var(--navy)}
.ap-prog-pct{font-size:.8125rem;font-weight:600;color:var(--green)}
.ap-prog-track{height:.375rem;background:var(--slate-100);border-radius:1rem;overflow:hidden;margin-bottom:1.25rem}
.ap-prog-fill{height:100%;background:linear-gradient(90deg,var(--green),#34d399);border-radius:1rem;transition:width .5s cubic-bezier(.4,0,.2,1);width:20%}
.ap-steps{display:flex;gap:0;overflow:hidden}
.ap-step-btn{
  display:flex;flex-direction:column;align-items:center;gap:.25rem;
  flex:1;min-width:0;padding:.5rem .25rem;border:none;cursor:pointer;
  font-size:.6875rem;font-weight:600;white-space:nowrap;transition:all .2s;
  background:transparent;color:var(--slate-400);position:relative;
}
.ap-step-btn::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--slate-200);transition:background .2s}
.ap-step-num{width:1.75rem;height:1.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;background:var(--slate-100);color:var(--slate-400);transition:all .2s;margin-bottom:.125rem}
.ap-step-btn.ap-done{color:var(--green)}
.ap-step-btn.ap-done .ap-step-num{background:rgba(16,185,129,.12);color:var(--green)}
.ap-step-btn.ap-done::after{background:var(--green)}
.ap-step-btn.ap-active{color:var(--green)}
.ap-step-btn.ap-active .ap-step-num{background:var(--green);color:#fff;box-shadow:0 2px 8px rgba(16,185,129,.4)}
.ap-step-btn.ap-active::after{background:var(--green)}
.ap-step-label{font-size:.625rem;text-align:center;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 .125rem}
.t-marquee-fade{position:absolute;inset-y:0;width:8rem;pointer-events:none;z-index:2}
.t-marquee-fade-l{left:0;background:linear-gradient(to right,var(--slate-50,#f8fafc),transparent)}
.t-marquee-fade-r{right:0;background:linear-gradient(to left,var(--slate-50,#f8fafc),transparent)}
.t-section .t-marquee-fade-l{background:linear-gradient(to right,#f8fafc,transparent)}
.t-section .t-marquee-fade-r{background:linear-gradient(to left,#f8fafc,transparent)}

/* Review fields */
.rv-field{background:#fff;border-radius:.5rem;padding:.5rem .75rem;border:1px solid rgba(226,232,240,.5)}
.rv-field label{display:block;font-size:.6875rem;font-weight:600;color:var(--slate-400);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.125rem}
.rv-field span{font-size:.875rem;font-weight:600;color:var(--navy);word-break:break-word}
.rv-fields{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
@media(max-width:480px){.rv-fields{grid-template-columns:1fr}}

@media(max-width:640px){.t-marquee-card{flex:0 0 300px}}

.hero-check-icon{
  width:1.75rem;height:1.75rem;border-radius:50%;background:rgba(16,185,129,.12);
  color:#10b981;display:flex;align-items:center;justify-content:center;flex-shrink:0;
}

.iso-banner 

.qual-text{font-size:.875rem;color:var(--navy);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ── Commit cards (Our Commitment) ── */
.commit-card{background:#fff;border:1px solid rgba(226,232,240,.8);border-radius:1rem;padding:1.25rem 1.375rem;display:flex;gap:1rem;align-items:flex-start;box-shadow:0 1px 4px rgba(0,0,0,.04);transition:box-shadow .2s,transform .2s}
.commit-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);transform:translateY(-1px)}
.commit-card .icon-box{background:rgba(16,185,129,.1);color:#10b981;flex-shrink:0;margin-top:.125rem}

/* ── Testimonial Carousel ── */
.t-carousel{position:relative;max-width:80rem;margin:0 auto}
.t-carousel-viewport{overflow:hidden;padding:.25rem 0}
.t-carousel-track{
  display:flex;
  align-items:stretch;
  gap:1.25rem;
  transition:transform .55s ease;
  will-change:transform;
}
.t-carousel-card{
  flex:0 0 100%;
  background:#fff;border:1px solid rgba(226,232,240,.7);
  border-radius:1.125rem;padding:1.25rem;
  box-shadow:0 1px 6px rgba(0,0,0,.05);
  min-height:100%;
  display:flex;
  flex-direction:column;
}
@media (min-width:768px){
  .t-carousel-card{flex-basis:calc((100% - 1.25rem) / 2)}
}
@media (min-width:1100px){
  .t-carousel-card{flex-basis:calc((100% - 2.5rem) / 3)}
}
.t-mq-stars{display:flex;gap:2px;margin-bottom:.625rem}
.t-mq-stars svg{color:#10b981;fill:#10b981}
.t-mq-text{font-size:.875rem;color:var(--slate-600);line-height:1.65;margin:0 0 .875rem;font-style:italic;flex:1}
.t-mq-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;margin-top:auto;padding-top:.875rem;border-top:1px solid rgba(226,232,240,.75)}
.t-mq-name{font-size:.875rem;font-weight:700;color:var(--navy)}
.t-mq-role{font-size:.75rem;color:var(--slate-400)}
.t-mq-amt{text-align:right;flex-shrink:0}
.t-mq-alabel{font-size:.625rem;color:var(--slate-400);text-transform:uppercase;letter-spacing:.06em}
.t-mq-aval{font-size:.875rem;font-weight:700;color:#10b981}
.t-carousel-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem}
.t-carousel-arrow{
  width:2.75rem;height:2.75rem;border-radius:999px;border:1px solid rgba(226,232,240,.95);
  background:#fff;color:var(--navy);display:inline-flex;align-items:center;justify-content:center;
  font-size:1.1rem;box-shadow:0 1px 6px rgba(0,0,0,.05);transition:transform .2s,border-color .2s,box-shadow .2s;
}
.t-carousel-arrow:hover{transform:translateY(-1px);border-color:rgba(16,185,129,.35);box-shadow:0 6px 18px rgba(0,0,0,.08)}
.t-carousel-arrow:focus-visible{outline:2px solid rgba(16,185,129,.35);outline-offset:2px}
.t-carousel-dots{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:.75rem}
.t-carousel-dot{width:.55rem;height:.55rem;border-radius:999px;background:rgba(148,163,184,.45);transition:transform .2s,background-color .2s}
.t-carousel-dot.is-active{background:#10b981;transform:scale(1.15)}


/* Hide progress text and bar — keep only step pills */
.ap-prog-header { display: none !important; }
.ap-prog-track  { display: none !important; }

/* ── Selects match .form-input exactly ── */
.form-select,select.form-select,.ap-card select{
  height:3rem;padding:0 2.75rem 0 1rem;
  border:1.5px solid var(--slate-200);
  border-radius:var(--radius-lg);
  background:#fff;color:var(--navy);
  font-size:.9375rem;font-family:var(--font-body);
  -webkit-appearance:none;appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .875rem center;
  transition:border-color .18s,box-shadow .18s;
}
.form-select:focus,select.form-select:focus,.ap-card select:focus{
  border-color:#10b981;
  box-shadow:0 0 0 3px rgba(16,185,129,.12);
  outline:none;
}
.form-select option:checked,.ap-card select option:checked{
  background-color:#10b981;color:#fff;
}

/* ══════════════════════════════════════════════════════
   QUALIFICATIONS SECTION — Lovable match
   ══════════════════════════════════════════════════════ */
.qlv2-grid {
  display: grid;
  gap: 1.5rem;
  max-width: 80rem;
  margin-inline: auto;
}
@media (min-width: 900px) {
  .qlv2-grid { grid-template-columns: 3fr 2fr; }
}

.qlv2-card {
  background: #ffffff !important;
  border: 1px solid rgba(226,232,240,0.8) !important;
  border-radius: 1.25rem !important;
  padding: 2rem !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}

.qlv2-card-head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

.qlv2-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.625rem;
  background: rgba(16,185,129,0.1);
  color: #10b981;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.qlv2-card-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.0625rem;
  color: var(--navy);
  line-height: 1.3;
}

/* 2-col checklist */
.qlv2-checklist {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 2rem;
}
@media (max-width: 580px) {
  .qlv2-checklist { grid-template-columns: 1fr; }
}

.qlv2-col { display: flex; flex-direction: column; }

.qlv2-item {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.5rem 0;
  font-size: 0.9375rem;
  font-weight: 500;
  color: #0f172a;
  line-height: 1.45;
}


.qlv2-check {
  color: #10b981;
  flex-shrink: 0;
  margin-top: 0.1875rem;
}

.qlv2-sub {
  display: block;
  font-size: 0.8125rem;
  color: #10b981;
  font-weight: 600;
  font-style: italic;
  margin-top: 0.125rem;
}

/* Apply button trust line */
.qlv2-trust {
  text-align: center;
  font-size: 0.75rem;
  color: #94a3b8;
  margin: 0.625rem 0 0;
  letter-spacing: 0.01em;
}

/* Numbered doc list */
.qlv2-doclist { display: flex; flex-direction: column; }

.qlv2-doc {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.8125rem 0;
  font-size: 0.9375rem;
  font-weight: 500;
  color: #0f172a;
}


.qlv2-num {
  width: 1.625rem;
  height: 1.625rem;
  border-radius: 50%;
  background: rgba(16,185,129,0.1);
  color: #10b981;
  font-size: 0.75rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* CA/NY note box */
.qlv2-note {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  margin-top: 1.25rem;
  padding: 0.875rem 1rem;
  background: rgba(16,185,129,0.06);
  border: 1px solid rgba(16,185,129,0.18);
  border-radius: 0.75rem;
  font-size: 0.8125rem;
  color: #475569;
  line-height: 1.55;
}



@media (max-width:767px){
  .of-testi{
    max-width:100%;
    padding-left:0;
    padding-right:0;
  }
  .of-testi-card{
    padding:1rem;
    border-radius:1rem;
  }
  .of-testi-stars{margin-bottom:.5rem}
  .of-testi-stars svg{width:12px;height:12px}
  .of-testi-text{
    font-size:.85rem;
    line-height:1.6;
    margin-bottom:.75rem;
  }
  .of-testi-foot{
    gap:.625rem;
    padding-top:.75rem;
  }
  .of-testi-name,.of-testi-aval{font-size:.85rem}
  .of-testi-role,.of-testi-alabel{font-size:.72rem}
  .of-testi-controls{
    margin-top:1rem;
    gap:.75rem;
  }
  .of-testi-arrow{
    width:2.4rem;
    height:2.4rem;
    min-width:2.4rem;
  }
  .of-testi-dots{
    gap:.375rem;
  }
}

  .t-carousel-card{padding:1rem;border-radius:1rem}
  .t-mq-stars{margin-bottom:.5rem}
  .t-mq-stars svg{width:12px;height:12px}
  .t-mq-text{font-size:.8125rem;line-height:1.55;margin-bottom:.75rem}
  .t-mq-foot{gap:.625rem;padding-top:.75rem}
  .t-mq-name,.t-mq-aval{font-size:.8125rem}
  .t-mq-role,.t-mq-alabel{font-size:.6875rem}
  .t-carousel-controls{margin-top:1rem;gap:.75rem}
  .t-carousel-arrow{width:2.4rem;height:2.4rem}
  .t-carousel-dots{gap:.375rem}
}


/* Trusted Partners width fix */
.trusted-partners,
.partners,
.partners-section{
  width:100%;
}

.trusted-partners .container,
.partners .container,
.partners-section .container{
  max-width:1200px;
  margin:0 auto;
  padding-left:20px;
  padding-right:20px;
}

.trusted-partners .partners-grid{
  max-width:100%;
  margin:0 auto;
}



/* Trusted Partners container-width fix */
.marquee-section .marquee-container{
  max-width:1200px;
  margin:0 auto;
  padding-left:20px;
  padding-right:20px;
}

.marquee-section .marquee-wrap{
  width:100%;
  max-width:100%;
  margin:0 auto;
  overflow:hidden;
}

.marquee-section .marquee-track{
  min-width:max-content;
}

.marquee-section .marquee-fade-l{
  left:0;
  background:linear-gradient(to right,var(--slate-50),transparent);
}

.marquee-section .marquee-fade-r{
  right:0;
  background:linear-gradient(to left,var(--slate-50),transparent);
}



/* Application form controls unified styling */
.ap-card .form-input,
.ap-card .form-select,
.ap-card select,
.ap-card .btn,
.ap-card button,
.ap-card input[type="submit"],
.ap-card input[type="button"],
.ap-card .hs-button,
.application-form .form-input,
.application-form .form-select,
.application-form select,
.application-form .btn,
.application-form button,
.application-form input[type="submit"],
.application-form input[type="button"]{
  min-height: 3rem;
  border-radius: var(--radius-lg);
  border: 1.5px solid var(--slate-200);
  background: #fff;
  color: var(--navy);
  font-size: .9375rem;
  font-family: var(--font-body);
  box-shadow: none;
  transition: border-color .18s, box-shadow .18s, background-color .18s, color .18s;
}

.ap-card .form-input:focus,
.ap-card .form-select:focus,
.ap-card select:focus,
.application-form .form-input:focus,
.application-form .form-select:focus,
.application-form select:focus{
  border-color: #10b981;
  box-shadow: 0 0 0 3px rgba(16,185,129,.12);
  outline: none;
}

.ap-card .form-select,
.ap-card select,
.application-form .form-select,
.application-form select{
  padding: 0 2.75rem 0 1rem;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .875rem center;
}

.ap-card .btn,
.ap-card button,
.ap-card input[type="submit"],
.ap-card input[type="button"],
.ap-card .hs-button,
.application-form .btn,
.application-form button,
.application-form input[type="submit"],
.application-form input[type="button"]{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 1.25rem;
  cursor: pointer;
}

.ap-card .btn-outline,
.application-form .btn-outline{
  background: #fff;
  color: var(--navy);
  border: 1.5px solid var(--slate-200);
}

.ap-card .btn-primary,
.application-form .btn-primary{
  border: 1.5px solid #10b981;
}

.ap-card .btn:hover,
.ap-card button:hover,
.ap-card input[type="submit"]:hover,
.ap-card input[type="button"]:hover,
.application-form .btn:hover,
.application-form button:hover,
.application-form input[type="submit"]:hover,
.application-form input[type="button"]:hover{
  border-color: #10b981;
}



/* REAL APPLY PAGE CONTROL UNIFICATION */
.ap-card .form-input,
.ap-card .form-select,
.ap-card select,
.ap-card .btn,
.ap-card button,
.ap-card input[type="button"],
.ap-card input[type="submit"],
.ap-card .yn-btn{
  min-height:3rem;
  border-radius:var(--radius) !important;
  font-size:.9375rem !important;
}

.ap-card .form-input,
.ap-card .form-select,
.ap-card select{
  border:1.5px solid var(--slate-200) !important;
  background:#fff !important;
  color:var(--navy) !important;
  box-shadow:none !important;
}

.ap-card .form-select,
.ap-card select{
  padding-right:2.75rem !important;
  background-position:right .875rem center !important;
}

.ap-card .btn-outline,
.ap-card .yn-btn{
  border:1.5px solid var(--slate-200) !important;
  background:#fff !important;
  color:var(--navy) !important;
  box-shadow:none !important;
}

.ap-card .btn-primary{
  border:1.5px solid #10b981 !important;
  background:#10b981 !important;
  color:#fff !important;
  box-shadow:none !important;
}

.ap-card .btn:hover,
.ap-card .btn-outline:hover,
.ap-card .yn-btn:hover{
  border-color:#10b981 !important;
}

.ap-card .yn-btn.yn-active{
  border:1.5px solid #10b981 !important;
  background:#10b981 !important;
  color:#fff !important;
  box-shadow:none !important;
}

.ap-card .btn-xs,
.ap-card .btn-sm,
.ap-card .btn-md,
.ap-card .btn-lg,
.ap-card .btn-xl{
  border-radius:var(--radius) !important;
}

.ap-card .t-carousel-arrow{
  border-radius:999px !important;
}



/* Restore green focus only when clicked/focused on application fields */
.ap-card .form-input:focus,
.ap-card .form-textarea:focus,
.ap-card .form-select:focus,
.ap-card select:focus,
.ap-card input:focus,
.ap-card textarea:focus{
  border-color:#10b981 !important;
  box-shadow:0 0 0 3px rgba(16,185,129,.12) !important;
  outline:none !important;
}

/* ISO Partner application: keep neutral border when not focused */
.iso-form .form-input,
.iso-form .form-textarea,
.iso-form .form-select,
.iso-form select,
#isoPartnerForm .form-input,
#isoPartnerForm .form-textarea,
#isoPartnerForm .form-select,
#isoPartnerForm select{
  border-color:var(--slate-200) !important;
  box-shadow:none !important;
  background:#fff !important;
}

/* ISO Partner application: green only on focus */
.iso-form .form-input:focus,
.iso-form .form-textarea:focus,
.iso-form .form-select:focus,
.iso-form select:focus,
#isoPartnerForm .form-input:focus,
#isoPartnerForm .form-textarea:focus,
#isoPartnerForm .form-select:focus,
#isoPartnerForm select:focus{
  border-color:#10b981 !important;
  box-shadow:0 0 0 3px rgba(16,185,129,.12) !important;
  outline:none !important;
}

/* ISO Partner buttons/selects should not look active green until interaction */
.iso-form .btn-outline,
#isoPartnerForm .btn-outline,
.iso-form .form-select,
#isoPartnerForm .form-select{
  color:var(--navy) !important;
}



/* ISO Partner Application neutral default borders */
#isoForm .form-input,
#isoForm .form-textarea,
#isoForm .form-select,
#isoForm select,
#isoForm input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
#isoForm textarea{
  border:1.5px solid var(--slate-200) !important;
  border-color:var(--slate-200) !important;
  box-shadow:none !important;
  background-color:#fff !important;
  color:var(--navy) !important;
}

#isoForm .form-input:hover,
#isoForm .form-textarea:hover,
#isoForm .form-select:hover,
#isoForm select:hover,
#isoForm input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):hover),
#isoForm textarea:hover{
  border-color:var(--slate-200) !important;
  box-shadow:none !important;
}

#isoForm .form-input:focus,
#isoForm .form-textarea:focus,
#isoForm .form-select:focus,
#isoForm select:focus,
#isoForm input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):focus,
#isoForm textarea:focus{
  border-color:#10b981 !important;
  box-shadow:0 0 0 3px rgba(16,185,129,.12) !important;
  outline:none !important;
}

/* keep buttons separate */
#isoForm .btn-primary{
  border-color:#10b981 !important;
}


/* Precise section spacing fixes — targeted only */
.hero{
  padding-bottom:2.25rem;
}
@media(min-width:768px){
  .hero{
    padding-bottom:2.75rem;
  }
}

.stats-row{
  margin-top:2.5rem;
}

/* Trusted partners row was visually too airy */
.marquee-section{
  padding-block:1.5rem;
}
.marquee-label{
  margin-bottom:1rem;
}

/* Large repeated section headers had too much bottom space */
.section-header{
  margin-bottom:2rem;
}
@media(min-width:768px){
  .section-header{
    margin-bottom:2.125rem;
  }
}

/* Benefits and industries grids don't need oversized gaps from cards to next section */
.benefits-grid{
  gap:1rem;
}
@media(min-width:1024px){
  .benefits-grid{
    gap:1.125rem;
  }
}

.industries-grid{
  gap:.875rem;
}
@media(min-width:768px){
  .industries-grid{
    gap:1rem;
  }
}

/* Testimonials section controls sat a little too low */
.t-carousel-controls{
  margin-top:1.125rem;
}

/* CTA section had a little too much internal air */
.cta-box{
  padding:2.25rem 1.75rem;
}
@media(min-width:768px){
  .cta-box{
    padding:2.75rem 2.5rem;
  }
}
.cta-box .cta-sub{
  margin:0 auto 1.35rem;
}
.cta-fine{
  margin-top:1.125rem;
}

/* Interior page hero slightly tighter */
.page-hero{
  padding-bottom:3.25rem;
}








/* Upgrade pack */
.hero-card{
  transition:transform .28s ease, box-shadow .28s ease;
}
.hero-card:hover{
  box-shadow:0 28px 70px rgba(0,0,0,.14),0 10px 24px rgba(0,0,0,.08);
}

.stat-card{
  transition:transform .18s ease, box-shadow .18s ease;
}
.stat-card:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(15,23,42,.06);
}

/* Sticky mobile apply */
.mobile-sticky-apply{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:80;
  padding:.75rem .875rem calc(.75rem + env(safe-area-inset-bottom));
  background:linear-gradient(to top, rgba(255,255,255,.98), rgba(255,255,255,.92));
  border-top:1px solid rgba(226,232,240,.9);
  backdrop-filter:blur(10px);
  display:none;
}
.mobile-sticky-apply-inner{
  max-width:var(--max-w);
  margin:0 auto;
}
@media(max-width:767px){
  .mobile-sticky-apply{display:block;}
  body{padding-bottom:5.5rem;}
}
@media(min-width:768px){
  .mobile-sticky-apply{display:none !important;}
}

/* Slightly smoother reveals */
.reveal{
  transition:opacity .7s ease, transform .7s ease;
}


/* Testimonial arrow hover matches white buttons */
.t-carousel-arrow{
  transition:transform .2s, border-color .2s, box-shadow .2s, background-color .2s, color .2s !important;
}
.t-carousel-arrow:hover{
  border-color:rgba(16,185,129,.35) !important;
  background:#f0fdf4 !important;
  color:var(--green) !important;
  transform:translateY(-1px);
}

/* Sticky mobile apply removed */
.mobile-sticky-apply{
  display:none !important;
}
@media(max-width:767px){
  body{
    padding-bottom:0 !important;
  }
}



/* neutralize Splide defaults */
.t-testimonials-splide .splide__arrows,
.t-testimonials-splide .splide__pagination{
  display:none !important;
}



/* Force Splide to control slide widths */
.t-testimonials-splide .splide__slide{
  flex: 0 0 auto !important;
  width: auto;
}
.t-testimonials-splide .splide__track{
  padding: 0 !important;
}
.t-testimonials-splide .splide__list{
  gap: 0 !important;
}



/* Testimonials: shrink card width on wide screens */



/* Force 3 testimonial cards visible on wide screens */
@media (min-width: 1100px){
  .t-testimonials-splide .splide__slide{
    width: calc((100% - 40px) / 3) !important;
  }
}





}

/* Left padding so first card not clipped, no extra gap right */
@media (min-width:1100px){
  .t-testimonials-splide .splide__track{
    padding-left:20px !important;
    padding-right:0 !important;
  }
  .t-testimonials-splide .splide__list{
    justify-content:flex-start;
  }
}


@media (min-width:1100px){
  .t-testimonials-splide .splide__list{
    justify-content:flex-start !important;
  }
}


/* Tablet: 2 cards */
@media (min-width: 768px) and (max-width: 1099px){
  .t-testimonials-splide .splide__track{
    overflow: hidden !important;
    padding: 0 !important;
  }
  .t-testimonials-splide .splide__slide{
    width: calc((100% - 20px) / 2) !important;
    max-width: calc((100% - 20px) / 2) !important;
    margin-right: 20px !important;
  }
  .t-testimonials-splide .splide__slide:last-child{
    margin-right: 0 !important;
  }
}

/* Desktop: exactly 3 cards at 392px */
@media (min-width: 1100px){
  .t-testimonials-splide .t-carousel-viewport,
  .t-testimonials-splide .splide,
  .t-testimonials-splide .splide__track{
    overflow: hidden !important;
  }

  .t-testimonials-splide .splide__track{
    padding: 0 !important;
  }

  .t-testimonials-splide .splide__list{
    gap: 0 !important;
    justify-content: flex-start;
  }

  .t-testimonials-splide .splide__slide{
    flex: 0 0 408px !important;
    width: 408px !important;
    max-width: 408px !important;
    margin-right: 20px !important;
  }

  .t-testimonials-splide .splide__slide:last-child{
    margin-right: 0 !important;
  }
}





/* Mobile */
@media (max-width: 767px){
  .t-testimonials-splide .t-carousel-viewport,
  .t-testimonials-splide .splide__track{
    overflow:hidden !important;
    padding:0 !important;
  }

  .t-testimonials-splide .splide__slide{
    flex:0 0 100% !important;
    width:100% !important;
    max-width:100% !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }

  .t-testimonials-splide .splide__slide .t-carousel-card{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
  }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1099px){
  .t-testimonials-splide .t-carousel-viewport,
  .t-testimonials-splide .splide__track{
    overflow:hidden !important;
    padding:0 !important;
  }

  .t-testimonials-splide .splide__slide{
    flex:0 0 calc((100% - 20px) / 2) !important;
    width:calc((100% - 20px) / 2) !important;
    max-width:calc((100% - 20px) / 2) !important;
    margin-right:20px !important;
    box-sizing:border-box !important;
  }

  .t-testimonials-splide .splide__slide:last-child{
    margin-right:0 !important;
  }
}

/* Desktop: exactly 3 cards, aligned to site container */
@media (min-width: 1100px){
  .t-testimonials-splide .t-carousel-viewport,
  .t-testimonials-splide .splide__track{
    overflow:hidden !important;
    padding:0 !important;
  }

  .t-testimonials-splide .splide__list{
    display:flex !important;
    align-items:stretch;
    justify-content:flex-start;
    gap:0 !important;
  }

  .t-testimonials-splide .splide__slide{
    flex:0 0 calc((100% - 40px) / 3) !important;
    width:calc((100% - 40px) / 3) !important;
    max-width:calc((100% - 40px) / 3) !important;
    margin-right:20px !important;
    box-sizing:border-box !important;
  }

  .t-testimonials-splide .splide__slide:last-child{
    margin-right:0 !important;
  }
}



/* Mobile: 1 full card */
@media (max-width: 767px){
  .t-testimonials-splide .t-carousel-viewport,
  .t-testimonials-splide .splide__track{
    overflow:hidden !important;
    padding:0 !important;
  }

  .t-testimonials-splide .splide__slide{
    width:100% !important;
    flex:0 0 100% !important;
    max-width:100% !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }

  .t-testimonials-splide .splide__slide .t-carousel-card{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
  }
}

/* Tablet: 2 cards */
@media (min-width:768px) and (max-width:1099px){
  .t-testimonials-splide .t-carousel-viewport,
  .t-testimonials-splide .splide__track{
    overflow:hidden !important;
    padding:0 !important;
  }

  .t-testimonials-splide .splide__slide{
    width:calc((100% - 20px) / 2) !important;
    flex:0 0 calc((100% - 20px) / 2) !important;
    max-width:calc((100% - 20px) / 2) !important;
    margin-right:20px !important;
    box-sizing:border-box !important;
  }

  .t-testimonials-splide .splide__slide:last-child{
    margin-right:0 !important;
  }
}

/* Desktop: 3 cards exactly, aligned to site container */
@media (min-width:1100px){
  .t-testimonials-splide .t-carousel-viewport,
  .t-testimonials-splide .splide__track{
    overflow:hidden !important;
    padding:0 !important;
  }

  .t-testimonials-splide .splide__list{
    display:flex !important;
    align-items:stretch;
    justify-content:flex-start;
    gap:0 !important;
  }

  .t-testimonials-splide .splide__slide{
    width:calc((100% - 40px) / 3) !important;
    flex:0 0 calc((100% - 40px) / 3) !important;
    max-width:calc((100% - 40px) / 3) !important;
    margin-right:20px !important;
    box-sizing:border-box !important;
  }

  .t-testimonials-splide .splide__slide:last-child{
    margin-right:0 !important;
  }
}


/* 87 arrow redesign on top of v24 testimonial layout */
.t-carousel-arrow{
  width:3rem;
  height:3rem;
  min-width:3rem;
  border-radius:999px;
  border:2px solid #d9dee6;
  background:#f7f8fa;
  color:#4b5563;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:none;
  transform:none !important;
  position:relative;
}
.t-carousel-arrow span{
  font-size:0;
  line-height:0;
}
.t-carousel-arrow::before{
  content:'›';
  font-size:1.5rem;
  line-height:1;
  font-weight:500;
}
.t-carousel-prev::before{
  content:'‹';
}
.t-carousel-arrow:hover{
  background:#f0fdf4 !important;
  border-color:rgba(16,185,129,.35) !important;
  color:var(--green) !important;
}


/* Clean testimonial enhancements on top of v24 layout */
.t-carousel-viewport{overflow:hidden;}
.t-carousel-track{will-change:transform;}
.t-carousel-dot{border:0;padding:0;cursor:pointer;}
.t-carousel-arrow{cursor:pointer;}

/* Keep 87 arrow styling */
.t-carousel-arrow{
  width:3rem;
  height:3rem;
  min-width:3rem;
  border-radius:999px;
  border:2px solid #d9dee6;
  background:#f7f8fa;
  color:#4b5563;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:none;
  transform:none !important;
  position:relative;
}
.t-carousel-arrow span{
  font-size:0;
  line-height:0;
}
.t-carousel-arrow::before{
  content:'›';
  font-size:1.5rem;
  line-height:1;
  font-weight:500;
}
.t-carousel-prev::before{
  content:'‹';
}
.t-carousel-arrow:hover{
  background:#f0fdf4 !important;
  border-color:rgba(16,185,129,.35) !important;
  color:var(--green) !important;
}


/* Rebuilt testimonials component */
.of-testi{position:relative;max-width:80rem;margin:0 auto}
.of-testi-root{overflow:hidden}
.of-testi-root .splide__track{overflow:hidden}
.of-testi-root .splide__slide{height:auto}
.of-testi-card{
  background:#fff;
  border:1px solid rgba(226,232,240,.7);
  border-radius:1.125rem;
  padding:1.25rem;
  box-shadow:0 1px 6px rgba(0,0,0,.05);
  min-height:100%;
  display:flex;
  flex-direction:column;
}
.of-testi-stars{display:flex;gap:2px;margin-bottom:.625rem}
.of-testi-stars svg{color:#10b981;fill:#10b981}
.of-testi-text{
  font-size:.875rem;
  color:var(--slate-600);
  line-height:1.65;
  margin:0 0 .875rem;
  font-style:italic;
  flex:1;
}
.of-testi-foot{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:.75rem;
  margin-top:auto;
  padding-top:.875rem;
  border-top:1px solid rgba(226,232,240,.75);
}
.of-testi-name{font-size:.875rem;font-weight:700;color:var(--navy)}
.of-testi-role{font-size:.75rem;color:var(--slate-400)}
.of-testi-amt{text-align:right;flex-shrink:0}
.of-testi-alabel{font-size:.625rem;color:var(--slate-400);text-transform:uppercase;letter-spacing:.06em}
.of-testi-aval{font-size:.875rem;font-weight:700;color:#10b981}

.of-testi-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  margin-top:1.5rem;
}
.of-testi-arrow{
  width:3rem;
  height:3rem;
  min-width:3rem;
  border-radius:999px;
  border:2px solid #d9dee6;
  background:#f7f8fa;
  color:#4b5563;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:none;
  transform:none !important;
  position:relative;
  cursor:pointer;
}
.of-testi-arrow span{font-size:0;line-height:0}
.of-testi-arrow::before{
  content:'›';
  font-size:1.5rem;
  line-height:1;
  font-weight:500;
}
.of-testi-prev::before{content:'‹'}
.of-testi-arrow:hover{
  background:#f0fdf4 !important;
  border-color:rgba(16,185,129,.35) !important;
  color:var(--green) !important;
}
.of-testi-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-height:.75rem;
}
.of-testi-dot{
  width:.55rem;
  height:.55rem;
  border-radius:999px;
  background:rgba(148,163,184,.45);
  border:0;
  padding:0;
  cursor:pointer;
  transition:transform .2s, background-color .2s;
}
.of-testi-dot.is-active{
  background:#10b981;
  transform:scale(1.15);
}
.of-testi-root .splide__arrows,
.of-testi-root .splide__pagination{
  display:none !important;
}


@media (max-width:767px){
  .of-testi{
    max-width:100%;
    padding-left:0;
    padding-right:0;
  }
  .of-testi-card{
    padding:1rem;
    border-radius:1rem;
  }
  .of-testi-stars{margin-bottom:.5rem}
  .of-testi-stars svg{width:12px;height:12px}
  .of-testi-text{
    font-size:.85rem;
    line-height:1.6;
    margin-bottom:.75rem;
  }
  .of-testi-foot{
    gap:.625rem;
    padding-top:.75rem;
  }
  .of-testi-name,.of-testi-aval{font-size:.85rem}
  .of-testi-role,.of-testi-alabel{font-size:.72rem}
  .of-testi-controls{
    margin-top:1rem;
    gap:.75rem;
  }
  .of-testi-arrow{
    width:2.4rem;
    height:2.4rem;
    min-width:2.4rem;
  }
  .of-testi-dots{
    gap:.375rem;
  }
}

  .of-testi-card{padding:1rem;border-radius:1rem}
  .of-testi-stars{margin-bottom:.5rem}
  .of-testi-stars svg{width:12px;height:12px}
  .of-testi-text{font-size:.8125rem;line-height:1.55;margin-bottom:.75rem}
  .of-testi-foot{gap:.625rem;padding-top:.75rem}
  .of-testi-name,.of-testi-aval{font-size:.8125rem}
  .of-testi-role,.of-testi-alabel{font-size:.6875rem}
  .of-testi-controls{margin-top:1rem;gap:.75rem}
  .of-testi-arrow{width:2.4rem;height:2.4rem;min-width:2.4rem}
  .of-testi-dots{gap:.375rem}
}


/* About page: commitment label spacing fix */
.page-about .eyebrow{
  display:block;
  margin-bottom:20px;
}

.commit-cards{
  margin-top:16px !important;
}

/* Intentional spacing cleanup — only where sections visually stack too loose */

/* Interior pages: the hero already creates separation, so the first content block can start tighter */
.page-hero + .section{
  padding-top:2.25rem;
}
@media(min-width:768px){
  .page-hero + .section{
    padding-top:3rem;
  }
}

/* When two same-background sections stack, remove the fake 'blank band' between them */
.section.bg-white + .section.bg-white,
.section.bg-muted-soft + .section.bg-muted-soft{
  padding-top:1rem;
}
@media(min-width:768px){
  .section.bg-white + .section.bg-white,
  .section.bg-muted-soft + .section.bg-muted-soft{
    padding-top:1.5rem;
  }
}

/* CTA sections don't need a full second top spacer when they already follow content */
.section + .section .cta-box{
  margin-top:0;
}

/* FAQ/contact bottom helper boxes were sitting a little too far from the lists above */
.faq-list + .text-center.mt-12,
.contact-grid .inbox-box.mt-4{
  margin-top:1.5rem;
}
@media(min-width:768px){
  .faq-list + .text-center.mt-12,
  .contact-grid .inbox-box.mt-4{
    margin-top:2rem;
  }
}


/* Selective spacing pass v136 — micro-tightening only where transitions still felt tall */

/* Interior page heroes can hand off a touch tighter without losing breathing room */
.page-hero{
  padding-bottom:2.9rem;
}
@media(min-width:768px){
  .page-hero{
    padding-bottom:3rem;
  }
}

.page-hero + .section{
  padding-top:1.9rem;
}
@media(min-width:768px){
  .page-hero + .section{
    padding-top:2.5rem;
  }
}

/* On utility pages, section headers read better slightly tighter above the content blocks */
.page .section-header{
  margin-bottom:1.75rem;
}
@media(min-width:768px){
  .page .section-header{
    margin-bottom:1.9rem;
  }
}

/* Same-background transitions should still separate, but not feel like an accidental spacer band */
.section.bg-white + .section.bg-white,
.section.bg-muted-soft + .section.bg-muted-soft{
  padding-top:.75rem;
}
@media(min-width:768px){
  .section.bg-white + .section.bg-white,
  .section.bg-muted-soft + .section.bg-muted-soft{
    padding-top:1.125rem;
  }
}

/* Functional layouts benefit from slightly tighter vertical rhythm */
.contact-grid{
  gap:2rem;
}
@media(min-width:1024px){
  .contact-grid{
    gap:2.25rem;
  }
}

.contact-grid .inbox-box.mt-4{
  margin-top:1.25rem;
}
.contact-grid .inbox-box.mt-4 + div[style*="margin-top:.875rem"]{
  margin-top:.75rem !important;
}

/* FAQ and helper actions should sit a bit closer to the accordion block */
.faq-list + .text-center.mt-8,
.faq-list + .text-center.mt-12{
  margin-top:1.25rem;
}
@media(min-width:768px){
  .faq-list + .text-center.mt-8,
  .faq-list + .text-center.mt-12{
    margin-top:1.5rem;
  }
}

/* Bottom CTA wrappers can be a little tighter because the CTA card itself already has generous padding */
.page .section:last-of-type{
  padding-top:2.25rem;
}
@media(min-width:768px){
  .page .section:last-of-type{
    padding-top:3rem;
  }
}


/* Yes / No button UX improvement */
.yn-active{
  background:#10b981;
  color:#fff;
  border-color:#10b981;
}

.yn-btn{
  background:#f8fafc;
  color:#475569;
  border:1px solid #e2e8f0;
  transition:all .2s ease;
}

.yn-btn:hover{
  background:#f1f5f9;
}




/* Select arrow up on focus/open */
select.form-select:focus,
.form-select:focus{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 12.5L10 7.5L15 12.5' stroke='%2364748b' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}



/* Custom select redesign */
.cs-wrap{
  position:relative;
  width:100%;
}
.cs-native{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.cs-btn{
  width:100%;
  min-height:3.5rem;
  border:1.5px solid var(--slate-200);
  border-radius:1rem;
  background:#fff;
  color:var(--navy);
  font-size:1.125rem;
  line-height:1.2;
  text-align:left;
  padding:.95rem 3rem .95rem 1rem;
  display:flex;
  align-items:center;
  position:relative;
  transition:border-color .2s, box-shadow .2s;
}
.cs-btn:hover{
  border-color:#cbd5e1;
}
.cs-btn:focus{
  outline:none;
  border-color:var(--green);
  box-shadow:0 0 0 3px rgba(16,185,129,.12);
}
.cs-btn .cs-label{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  display:block;
  width:100%;
}
.cs-btn .cs-chevron{
  position:absolute;
  right:1rem;
  top:50%;
  transform:translateY(-50%) rotate(0deg);
  width:1rem;
  height:1rem;
  color:#64748b;
  transition:transform .2s ease, color .2s ease;
  pointer-events:none;
}
.cs-wrap.open .cs-btn{
  border-color:var(--green);
  box-shadow:0 0 0 3px rgba(16,185,129,.12);
}
.cs-wrap.open .cs-btn .cs-chevron{
  transform:translateY(-50%) rotate(180deg);
  color:var(--green);
}
.cs-menu{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + .5rem);
  background:#fff;
  border:1px solid rgba(226,232,240,.95);
  border-radius:1rem;
  box-shadow:0 18px 42px rgba(15,23,42,.14), 0 3px 10px rgba(15,23,42,.06);
  padding:.5rem;
  z-index:70;
  display:none;
  max-height:18rem;
  overflow:auto;
}
.cs-wrap.open .cs-menu{
  display:block;
}
.cs-option{
  width:100%;
  border:none;
  background:#fff;
  color:var(--navy);
  text-align:left;
  padding:.95rem 1rem;
  border-radius:.875rem;
  font-size:1rem;
  line-height:1.2;
  display:block;
}
.cs-option:hover{
  background:#f8fafc;
}
.cs-option.is-selected{
  background:#16a34a;
  color:#fff;
  font-weight:700;
}
.cs-option.is-placeholder{
  color:#64748b;
}
@media(max-width:640px){
  .cs-btn{font-size:1rem; min-height:3.25rem;}
  .cs-option{font-size:.95rem; padding:.9rem .95rem;}
}



/* Custom select refinement: row borders, hover green highlight, selected check */
.cs-menu{
  padding:.35rem;
}
.cs-option{
  position:relative;
  border:1px solid transparent;
  margin:0;
}
.cs-option + .cs-option{
  margin-top:.2rem;
}
.cs-option:hover,
.cs-option.is-hover{
  background:rgba(16,185,129,.10);
  border-color:rgba(16,185,129,.28);
  color:var(--navy);
}
.cs-option.is-selected{
  background:#fff;
  color:var(--navy);
  font-weight:600;
  border-color:rgba(226,232,240,.95);
  padding-right:2.5rem;
}
.cs-option.is-selected::after{
  content:'';
  position:absolute;
  right:1rem;
  top:50%;
  width:1rem;
  height:1rem;
  transform:translateY(-50%);
  background-repeat:no-repeat;
  background-position:center;
  background-size:1rem 1rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 8.25L6.5 11.25L12.5 4.75' stroke='%2310b981' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.cs-option.is-selected:hover,
.cs-option.is-selected.is-hover{
  background:rgba(16,185,129,.10);
  border-color:rgba(16,185,129,.28);
}



/* Final dropdown UX */
.cs-menu{
  padding:.25rem;
  border:1px solid #e2e8f0;
}

.cs-option{
  position:relative;
  border-bottom:1px solid #e2e8f0;
  padding:.9rem 1rem;
  font-size:1rem;
  background:#fff;
}

.cs-option:last-child{
  border-bottom:none;
}

.cs-option:hover,
.cs-option.is-hover{
  background:rgba(16,185,129,.12);
}

.cs-option.is-selected{
  background:#fff;
  font-weight:600;
  padding-right:2.2rem;
}

.cs-option.is-selected::after{
  content:'';
  position:absolute;
  right:.9rem;
  top:50%;
  width:.9rem;
  height:.9rem;
  transform:translateY(-50%);
  background-size:.9rem .9rem;
  background-repeat:no-repeat;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 8.25L6.5 11.25L12.5 4.75' stroke='%2310b981' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}









/* Clean redesigned custom dropdown */
.cs-wrap{
  position:relative;
  width:100%;
}
.cs-native{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  opacity:0 !important;
  pointer-events:none !important;
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  appearance:none !important;
  background:none !important;
  background-image:none !important;
}
.cs-btn{
  width:100%;
  min-height:3rem;
  border:1.5px solid var(--slate-200);
  border-radius:1rem;
  background:#fff;
  color:var(--navy);
  font-size:.9375rem;
  line-height:1.2;
  text-align:left;
  padding:.8125rem 2.9rem .8125rem 1rem;
  display:flex;
  align-items:center;
  position:relative;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.cs-btn:hover{border-color:#cbd5e1}
.cs-wrap.open .cs-btn,
.cs-btn:focus{
  outline:none;
  border-color:var(--green);
  box-shadow:0 0 0 3px rgba(16,185,129,.12);
}
.cs-label{
  width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.cs-chevron{
  position:absolute;
  right:1rem;
  top:50%;
  width:1rem;
  height:1rem;
  transform:translateY(-50%) rotate(0deg);
  color:#64748b;
  transition:transform .18s ease;
  pointer-events:none;
}
.cs-wrap.open .cs-chevron{
  transform:translateY(-50%) rotate(180deg);
}
.cs-menu{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + .45rem);
  background:#fff;
  border:none;
  border-radius:1rem;
  box-shadow:0 18px 40px rgba(15,23,42,.14), 0 3px 10px rgba(15,23,42,.06);
  padding:.42rem;
  z-index:80;
  display:none;
  max-height:18rem;
  overflow:auto;
}
.cs-wrap.open .cs-menu{display:block}
.cs-option{
  width:100%;
  border:none;
  background:transparent;
  color:var(--navy);
  text-align:left;
  padding:.78rem 1rem .78rem 2rem;
  border-radius:.9rem;
  font-size:.9375rem;
  line-height:1.25;
  display:block;
  position:relative;
  margin:0;
  transition:background-color .12s ease, color .12s ease;
}
.cs-option + .cs-option{margin-top:.08rem}
.cs-option:focus{outline:none}
.cs-option.is-selected{
  background:transparent;
  color:var(--navy);
}
.cs-option.is-selected::before{
  content:'✓';
  position:absolute;
  left:.85rem;
  top:50%;
  transform:translateY(-50%);
  color:#111827;
  font-weight:700;
}
.cs-option.is-hover{
  background:#10b981;
  color:#fff;
}
.cs-option.is-hover::before{
  content:'';
}
.cs-option.is-selected.is-hover::before{
  content:'✓';
  color:#fff;
}
.cs-option::after{content:none !important; display:none !important;}
@media(max-width:640px){
  .cs-btn,.cs-option{font-size:1rem}
}


/* Final polish per request */
.cs-menu{
  border:none !important;
  box-shadow:0 18px 40px rgba(15,23,42,.14), 0 3px 10px rgba(15,23,42,.06);
}

.cs-option{
  border:none !important;
}

.cs-option.is-hover{
  background:#10b981 !important;
  color:#fff !important;
}

.cs-option.is-selected.is-hover{
  background:#10b981 !important;
}


/* Clear Signature hover highlight */
#sigClearBtn:hover{
  background:rgba(16,185,129,.12);
  border-color:#10b981;
  color:#10b981;
}


/* Hover style for all white outline buttons in application */
.btn-outline:hover,


.btn-outline:hover svg,



/* Hover highlight only (no persistent highlight after click) */
.btn-outline:hover,
.btn-white:hover,
#sigClearBtn:hover{
  background: rgba(16,185,129,.12) !important;
  border-color: #10b981 !important;
  color: #10b981 !important;
}

.btn-outline:hover svg,
.btn-white:hover svg,
#sigClearBtn:hover svg{
  color:#10b981 !important;
}

/* remove active/focus persistent highlight */
.btn-outline:focus,
.btn-outline:active,
.btn-white:focus,
.btn-white:active,
#sigClearBtn:focus,
#sigClearBtn:active{
  background: transparent !important;
  border-color: inherit !important;
  color: inherit !important;
}


/* Clear Signature button exact behavior */
#sigClearBtn{
  background:#fff;
  border:1px solid rgba(226,232,240,.9);
  color:inherit;
  box-shadow:none;
}

/* Hover highlight */
#sigClearBtn:hover{
  background:rgba(16,185,129,.12);
  border-color:#10b981;
  color:#10b981;
}

/* Remove persistent active/focus highlight */
#sigClearBtn:focus,
#sigClearBtn:active{
  background:#fff !important;
  border-color:rgba(226,232,240,.9) !important;
  color:inherit !important;
  box-shadow:none !important;
}

/* icon color on hover */
#sigClearBtn:hover svg{
  color:#10b981;
}


/* Clear Signature exact non-sticky hover behavior */
#sigClearBtn{
  background:#fff !important;
  border:1px solid rgba(226,232,240,.9) !important;
  color:inherit !important;
  box-shadow:none !important;
}
#sigClearBtn:hover{
  background:rgba(16,185,129,.12) !important;
  border-color:#10b981 !important;
  color:#10b981 !important;
  box-shadow:none !important;
}
#sigClearBtn:hover svg{
  color:#10b981 !important;
}
#sigClearBtn:focus,
#sigClearBtn:active,
#sigClearBtn.clicked-reset,
#sigClearBtn.clicked-reset:hover{
  background:#fff !important;
  border-color:rgba(226,232,240,.9) !important;
  color:inherit !important;
  box-shadow:none !important;
}
#sigClearBtn:focus svg,
#sigClearBtn:active svg,
#sigClearBtn.clicked-reset svg,
#sigClearBtn.clicked-reset:hover svg{
  color:inherit !important;
}
