/* /assets/css/site.css */

/* ===============================
   DESIGN TOKENS
   =============================== */
:root{
  --primary-navy:#1B263B;
  --soft-midnight:#111827;
  --marketplace-blue:#2563EB;
  --highlight-blue:#60A5FA;

  --text-primary:#1F2937;
  --text-secondary:#4B5563;
  --text-muted:#6B7280;
  --text-soft:#9CA3AF;
  --text-disabled:#94A3B8;

  --border-light:#E5E7EB;
  --border-strong:#CBD5E1;

  --bg-white:#FFFFFF;
  --bg-soft:#FAFAFA;
  --bg-subtle:#F8FAFC;
  --bg-accent:#EEF4FF;

  --shadow-sm:0 1px 2px rgba(15,23,42,.06);
  --shadow-md:0 12px 30px rgba(15,23,42,.08);
  --shadow-lg:0 18px 42px rgba(15,23,42,.12);

  --radius-sm:12px;
  --radius-md:16px;
  --radius-lg:20px;

  --container:1120px;
}

/* ===============================
   RESET
   =============================== */
*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
}

html,body{
  margin:0;
  padding:0;
}

body{
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text-primary);
  background:var(--bg-soft);
  line-height:1.6;
  text-rendering:optimizeLegibility;
}

img,
svg,
video,
canvas{
  display:block;
  max-width:100%;
  height:auto;
}

button,
input,
textarea,
select{
  font:inherit;
}

a{
  color:inherit;
  text-decoration:none;
}

hr{
  border:0;
  border-top:1px solid var(--border-light);
  margin:24px 0;
}

/* ===============================
   TYPOGRAPHY
   =============================== */
h1,h2,h3,h4,h5,h6{
  margin:0 0 12px;
  color:var(--text-primary);
  line-height:1.12;
  letter-spacing:-0.02em;
  font-weight:700;
}

h1{ font-size:clamp(2.4rem, 5vw, 4rem); }
h2{ font-size:clamp(1.9rem, 4vw, 3rem); }
h3{ font-size:clamp(1.45rem, 3vw, 2rem); }
h4{ font-size:1.125rem; }
h5{ font-size:1rem; }
h6{ font-size:.925rem; }

p{
  margin:0 0 16px;
  color:var(--text-secondary);
  font-size:16px;
  line-height:1.75;
}

small{
  color:var(--text-muted);
}

strong{
  color:var(--text-primary);
  font-weight:700;
}

ul,ol{
  margin:0 0 18px;
  padding-left:22px;
}

li{
  color:var(--text-secondary);
  margin:0 0 10px;
}

label{
  display:block;
  margin:0 0 8px;
  color:var(--text-secondary);
  font-size:13px;
  font-weight:700;
  line-height:1.4;
}

/* Common text helpers */
.lead,
.section-lead,
.subcopy,
.card-copy,
.meta-copy,
.helper-text,
.form-help,
.muted{
  color:var(--text-secondary);
}

.caption,
.eyebrow,
.kicker,
.fine-print,
.microcopy{
  color:var(--text-muted);
}

/* ===============================
   LAYOUT
   =============================== */
.container{
  width:min(var(--container), calc(100% - 32px));
  margin-inline:auto;
}

/* Shared page wrappers */
.bbas-container{
  width:min(var(--container), calc(100% - 32px));
  margin-inline:auto;
}

.siteMain{
  min-height:60vh;
}

.section{
  padding:56px 0;
}

/* ===============================
   SURFACES
   =============================== */
.card,
.panel,
.surface,
.info-card,
.form-card{
  background:var(--bg-white);
  border:1px solid var(--border-light);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);
}

.card,
.panel,
.surface{
  padding:24px;
}

.soft-surface{
  background:var(--bg-subtle);
  border:1px solid var(--border-light);
  border-radius:var(--radius-md);
}

.badge,
.pill,
.tag,
.chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:var(--bg-subtle);
  border:1px solid var(--border-light);
  color:var(--text-secondary);
  font-size:13px;
  font-weight:600;
  line-height:1.2;
}

/* ===============================
   BUTTONS
   =============================== */
.btn,
button[type="button"],
button[type="submit"]{
  transition:border-color .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:46px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid transparent;
  font-weight:700;
  font-size:14px;
  cursor:pointer;
}

.btn:hover{
  transform:translateY(-1px);
}

.btn:disabled{
  opacity:.55;
  cursor:not-allowed;
  transform:none;
}

.btn-primary,
.btn--primary{
  background:linear-gradient(180deg, #3B82F6 0%, var(--marketplace-blue) 100%);
  color:#FFFFFF;
  box-shadow:0 14px 28px rgba(37,99,235,.22);
  border-color:transparent;
}

.btn-primary:hover,
.btn--primary:hover{
  box-shadow:0 18px 34px rgba(37,99,235,.26);
}

.btn-secondary,
.btn--secondary,
.btn--ghost{
  background:var(--bg-white);
  color:var(--text-primary);
  border-color:var(--border-light);
}

.btn-secondary:hover,
.btn--secondary:hover,
.btn--ghost:hover{
  border-color:#C7D2FE;
  box-shadow:var(--shadow-sm);
}

.btn-ghost{
  background:transparent;
  color:var(--marketplace-blue);
}

/* ===============================
   FORMS
   =============================== */
input:not([type="checkbox"]):not([type="radio"]),
textarea,
select{
  width:100%;
  min-height:48px;
  padding:12px 14px;
  border:1px solid var(--border-strong);
  border-radius:14px;
  background:var(--bg-white);
  color:var(--text-primary);
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

textarea{
  min-height:120px;
  resize:vertical;
}

input::placeholder,
textarea::placeholder{
  color:var(--text-muted);
  opacity:1;
}

input:focus,
textarea:focus,
select:focus{
  border-color:var(--marketplace-blue);
  box-shadow:0 0 0 4px rgba(37,99,235,.12);
}

.field,
.form-field{
  margin-bottom:16px;
}

.field-note,
.input-help,
.form-note{
  margin-top:6px;
  font-size:12px;
  color:var(--text-muted);
}

.error-text{
  color:#B91C1C;
  font-size:12px;
  margin-top:6px;
}

/* ===============================
   HERO / DARK SURFACES
   =============================== */
.hero-dark,
.dark-surface,
.navy-surface,
.heroTop{
  position:relative;
  overflow:hidden;
  background:linear-gradient(90deg, var(--primary-navy) 0%, var(--soft-midnight) 100%);
  color:#FFFFFF;
  border-radius:24px;
  box-shadow:var(--shadow-lg);
}

.hero-dark h1,
.hero-dark h2,
.hero-dark h3,
.dark-surface h1,
.dark-surface h2,
.dark-surface h3,
.heroTop h1,
.heroTop h2,
.heroTop h3,
.heroTitle{
  color:#FFFFFF;
}

.hero-dark p,
.dark-surface p,
.heroLead{
  color:rgba(255,255,255,.90);
}

.hero-kicker,
.dark-kicker{
  color:rgba(255,255,255,.82);
}

/* ===============================
   COMPONENT COMPATIBILITY LAYER
   Existing page classes mapped to the global system
   =============================== */
.heroBadge,
.trustPill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--border-light);
  background:var(--bg-subtle);
  color:var(--text-secondary);
  font-size:13px;
  font-weight:600;
  line-height:1.2;
}

.heroTop .heroBadge{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.16);
  color:rgba(255,255,255,.88);
}

.heroBadge .dot{
  background:#F59E0B;
  box-shadow:0 0 0 6px rgba(245,158,11,.18);
}

.trustDot{
  background:#22C55E;
  box-shadow:0 0 0 6px rgba(34,197,94,.14);
}

.funnelProgressTrack{
  background:var(--border-light);
}

.funnelProgressFill{
  background:linear-gradient(90deg, var(--marketplace-blue), var(--highlight-blue));
}

#funnelStepLabel{
  color:var(--text-muted);
  font-size:12px;
  font-weight:800;
}

.linkBtn,
#funnelRestartBtn{
  color:var(--marketplace-blue);
  font-size:12px;
  font-weight:800;
}

.funnelCard,
.trustCard{
  background:var(--bg-white);
  border:1px solid var(--border-light);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);
}

.funnelQuestion,
.choiceTitle,
.optionLabel,
.trustTitle,
.trustKicker{
  color:var(--text-primary) !important;
}

.funnelQuestion{
  font-size:clamp(1.8rem, 3vw, 2.25rem);
  line-height:1.14;
  letter-spacing:-0.02em;
  font-weight:800;
}

.funnelHelper,
.choiceSub,
.trustSub,
.trustText{
  color:var(--text-secondary) !important;
}

.funnelHelper{
  font-size:14px;
  line-height:1.6;
}

.choiceTitle,
.optionLabel,
.trustKicker{
  font-size:14px;
  font-weight:800;
  line-height:1.35;
}

.choiceSub,
.trustSub,
.trustText,
.trustMini,
.funnelNote,
.statusLine{
  font-size:13px;
  line-height:1.6;
}

.trustTitle{
  font-size:clamp(1.45rem, 2vw, 1.95rem);
  line-height:1.2;
  letter-spacing:-0.02em;
  font-weight:800;
}

.trustSub,
.trustText,
.trustMini,
.funnelNote{
  color:var(--text-secondary) !important;
}

.choiceTile,
.optionRow,
.trustItem{
  background:var(--bg-white);
  border:1px solid var(--border-light);
  border-radius:var(--radius-md);
}

.choiceTile:hover,
.optionRow:hover{
  border-color:#BFD6FF;
  box-shadow:var(--shadow-sm);
}

.choiceTile[aria-pressed="true"],
.optionRow[aria-pressed="true"]{
  border-color:var(--marketplace-blue);
  box-shadow:0 0 0 4px rgba(37,99,235,.10);
}

.choiceIcon{
  background:var(--bg-accent);
  border:1px solid #BFDBFE;
  border-radius:10px;
  color:var(--primary-navy);
}

.optionBullet{
  border:2px solid #CBD5E1;
  background:var(--bg-white);
}

.optionRow[aria-pressed="true"] .optionBullet{
  border-color:var(--marketplace-blue);
}

.optionRow[aria-pressed="true"] .optionBullet::after{
  background:var(--marketplace-blue);
}

.trustHead{
  margin-bottom:14px;
}

.trustGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.trustFooter{
  border-top:1px solid var(--border-light);
}

.funnelNote{
  color:var(--text-muted) !important;
}

.statusLine{
  color:var(--text-muted) !important;
}

@media (max-width:720px){
  .trustGrid{
    grid-template-columns:1fr;
  }
}

/* ===============================
   GLOBAL CONTRAST BOOST
   =============================== */
.funnelQuestion,
.trustTitle{
  color:#1F2937 !important;
}

.funnelHelper,
.choiceSub,
.trustSub,
.trustText,
.trustMini,
.funnelNote,
.statusLine{
  color:#4B5563 !important;
}

.choiceTitle,
.optionLabel,
.trustKicker{
  color:#374151 !important;
}

.heroLead{
  color:rgba(255,255,255,.92) !important;
}

/* ===============================
   UTILITIES
   =============================== */
.text-primary{ color:var(--text-primary) !important; }
.text-secondary{ color:var(--text-secondary) !important; }
.text-muted{ color:var(--text-muted) !important; }
.text-disabled{ color:var(--text-disabled) !important; }
.bg-white{ background:var(--bg-white) !important; }
.bg-soft{ background:var(--bg-soft) !important; }
.border-light{ border-color:var(--border-light) !important; }
.shadow-md{ box-shadow:var(--shadow-md) !important; }
.rounded-lg{ border-radius:var(--radius-lg) !important; }

/* ===============================
   FOOTER
   =============================== */
footer.bbas-footer{
  background:linear-gradient(180deg, #111827 0%, #0B1220 100%) !important;
  color:#E5E7EB !important;
  width:100%;
  padding:56px 0 24px;
  margin-top:120px;
}

footer.bbas-footer *{
  color:inherit;
}

.bbas-footer-inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr;
  gap:48px;
}

.bbas-footer-brand{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.bbas-footer-brand h4{
  color:#FFFFFF;
  margin:0;
  font-size:18px;
}

.bbas-footer-brand p{
  font-size:14px;
  line-height:1.7;
  color:#CBD5E1;
}

.bbas-footer-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 32px;
  font-size:14px;
}

.bbas-footer-links a{
  text-decoration:none;
  color:#E2E8F0;
}

.bbas-footer-links a:hover{
  color:#FFFFFF;
}

.bbas-footer-bottom{
  margin-top:40px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.08);
  text-align:center;
  font-size:13px;
  color:#94A3B8;
}

/* ===============================
   RESPONSIVE
   =============================== */
@media (max-width:900px){
  .section{ padding:40px 0; }
  .bbas-footer-inner{
    grid-template-columns:1fr;
    gap:32px;
  }
  .bbas-footer-links{
    grid-template-columns:1fr 1fr;
  }
}

/* ===============================
   FINAL FUNNEL/TRUST CONTRAST LAYER
   Site-wide mapping for existing BBAS component classes
   =============================== */

.bbas-page .funnelCard,
.bbas-page .trustCard{
  background:#FFFFFF;
  border:1px solid #D1D5DB;
  border-radius:20px;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}

.bbas-page .funnelQuestion,
.bbas-page .trustTitle{
  color:#111827 !important;
  font-weight:600;
  letter-spacing:-0.02em;
}

.bbas-page .funnelQuestion{
  font-size:clamp(1.85rem, 3vw, 2.3rem);
  line-height:1.12;
}

.bbas-page .trustTitle{
  font-size:clamp(1.55rem, 2vw, 1.95rem);
  line-height:1.18;
}

.bbas-page .funnelHelper,
.bbas-page .choiceSub,
.bbas-page .trustSub,
.bbas-page .trustText,
.bbas-page .trustMini,
.bbas-page .funnelNote,
.bbas-page .statusLine{
  color:#475569 !important;
  font-weight:500;
}

.bbas-page .funnelHelper,
.bbas-page .choiceSub,
.bbas-page .trustSub,
.bbas-page .trustText{
  line-height:1.6;
}

.bbas-page .choiceTitle,
.bbas-page .optionLabel,
.bbas-page .trustKicker{
  color:#1F2937 !important;
  font-weight:700;
}

.bbas-page .choiceText,
.bbas-page .optionText{
  min-width:0;
}

.bbas-page .choiceTitle,
.bbas-page .optionLabel{
  display:block;
  font-size:14px;
  line-height:1.35;
}

.bbas-page .choiceSub{
  display:block;
  margin-top:4px;
  font-size:13px;
}

.bbas-page .trustSub{
  font-size:14px;
  margin-top:6px;
}

.bbas-page .trustKicker{
  display:block;
  margin:0;
  font-size:14px;
  line-height:1.35;
}

.bbas-page .trustText{
  display:block;
  margin-top:4px;
  font-size:13px;
}

.bbas-page .trustMini,
.bbas-page .funnelNote{
  font-size:12.5px;
  line-height:1.55;
}

.bbas-page .choiceTile,
.bbas-page .optionRow,
.bbas-page .trustItem{
  background:#FFFFFF;
  border:1px solid #D1D5DB;
  border-radius:16px;
}

.bbas-page .choiceTile,
.bbas-page .trustItem{
  padding:14px;
}

.bbas-page .optionRow{
  padding:14px 16px;
}

.bbas-page .choiceTile:hover,
.bbas-page .optionRow:hover{
  border-color:#93C5FD;
  box-shadow:0 1px 2px rgba(15,23,42,.06);
}

.bbas-page .choiceTile[aria-pressed="true"],
.bbas-page .optionRow[aria-pressed="true"]{
  border-color:#2563EB;
  box-shadow:0 0 0 4px rgba(37,99,235,.10);
}

.bbas-page .choiceIcon{
  background:#EEF4FF;
  border:1px solid #BFDBFE;
  border-radius:10px;
  color:#1B263B;
}

.bbas-page .optionBullet{
  border:2px solid #CBD5E1;
  background:#FFFFFF;
}

.bbas-page .optionRow[aria-pressed="true"] .optionBullet{
  border-color:#2563EB;
}

.bbas-page .optionRow[aria-pressed="true"] .optionBullet::after{
  background:#2563EB;
}

.bbas-page .trustPill{
  color:#475569 !important;
  background:#F8FAFC;
  border:1px solid #E5E7EB;
}

.bbas-page .linkBtn,
.bbas-page #funnelRestartBtn{
  color:#2563EB !important;
  font-weight:700;
}

.bbas-page #funnelStepLabel{
  color:#64748B !important;
  font-weight:700;
}

.bbas-page .funnelProgressTrack{
  background:#E5E7EB;
}

.bbas-page .funnelProgressFill{
  background:linear-gradient(90deg,#2563EB,#60A5FA);
}

.bbas-page .btn--ghost{
  background:#FFFFFF;
  color:#1F2937 !important;
  border:1px solid #D1D5DB;
}

.bbas-page .btn--primary{
  background:linear-gradient(180deg,#3B82F6 0%,#2563EB 100%);
  color:#FFFFFF !important;
  border:1px solid transparent;
  box-shadow:0 12px 24px rgba(37,99,235,.20);
}


/* =====================================================
   BRAND CONTRAST PASS V7
   Use brand navy instead of gray for funnel cards
   Scoped so footer is unaffected
   ===================================================== */

.bbas-page .funnelCard,
.bbas-page .trustCard{
  background:#FFFFFF !important;
  border:1px solid #D6DEE8 !important;
  box-shadow:0 10px 22px rgba(10,20,40,.05) !important;
}

.bbas-page .funnelQuestion,
.bbas-page .trustTitle{
  color:#0B1F3B !important;
  font-weight:600 !important;
}

.bbas-page .funnelHelper,
.bbas-page .trustSub{
  color:#0B1F3B !important;
  opacity:.9;
  line-height:1.65 !important;
}

.bbas-page .choiceTitle,
.bbas-page .optionLabel,
.bbas-page .trustKicker{
  color:#0B1F3B !important;
  font-weight:700 !important;
}

.bbas-page .choiceSub,
.bbas-page .trustText{
  color:#0B1F3B !important;
  opacity:.85;
  line-height:1.65 !important;
}

.bbas-page .trustMini,
.bbas-page .funnelNote,
.bbas-page .statusLine,
.bbas-page #funnelStepLabel{
  color:#1E3A5F !important;
  line-height:1.55 !important;
}

.bbas-page .choiceTile,
.bbas-page .optionRow,
.bbas-page .trustItem{
  background:#FFFFFF !important;
  border:1px solid #D6DEE8 !important;
  border-radius:16px !important;
}

.bbas-page .choiceTile,
.bbas-page .trustItem{
  padding:16px !important;
}

.bbas-page .optionRow{
  padding:15px 16px !important;
}

.bbas-page .choiceTile:hover,
.bbas-page .optionRow:hover{
  border-color:#7AA2E3 !important;
  box-shadow:0 1px 2px rgba(15,23,42,.06) !important;
}

.bbas-page .choiceTile[aria-pressed="true"],
.bbas-page .optionRow[aria-pressed="true"]{
  border-color:#0B1F3B !important;
  box-shadow:0 0 0 4px rgba(11,31,59,.10) !important;
}

.bbas-page .choiceIcon{
  background:#EEF4FF !important;
  border:1px solid #BFD2F5 !important;
  color:#0B1F3B !important;
}

.bbas-page .funnelNote{
  display:block !important;
  margin-top:14px !important;
  padding-top:10px !important;
}

.bbas-page .trustFooter{
  margin-top:14px !important;
  padding-top:14px !important;
  border-top:1px solid #E5E7EB !important;
}


/* ===============================
   FUNNEL NOTE FIX
   Keep the bottom note inside the card on desktop and mobile
   =============================== */

.funnelCard{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.funnelBody{
  padding-bottom:0 !important;
}

.funnelActions[hidden]{
  display:none !important;
}

.funnelNote{
  display:block !important;
  margin:0 !important;
  padding:14px 20px 18px !important;
  border-top:1px solid #E5E7EB !important;
  color:#475569 !important;
  font-size:12.5px !important;
  line-height:1.55 !important;
  background:#FFFFFF !important;
}

@media (max-width: 720px){
  .funnelNote{
    padding:14px 16px 18px !important;
  }
}




/* =====================================================
   HERO + CARD CONTRAST IMPROVEMENT
   Desktop readability system
   ===================================================== */

/* Hero overlay strengthening */
.pageBg::after,
.bbas-hero::before{
  background:
    linear-gradient(rgba(11,18,32,.75), rgba(11,18,32,.85)) !important;
}

/* Card surfaces */
.funnelCard,
.trustCard{
  background:#F8FAFC !important;
  border:1px solid #E5E7EB !important;
  box-shadow:
    0 10px 30px rgba(15,23,42,.08),
    0 1px 2px rgba(15,23,42,.05) !important;
}

/* Card inner tiles */
.choiceTile,
.optionRow,
.trustItem{
  background:#FFFFFF !important;
  border:1px solid #E5E7EB !important;
}

/* Headings */
.funnelQuestion,
.trustTitle{
  color:#1F2937 !important;
  font-weight:700 !important;
}

/* Supporting text */
.funnelHelper,
.choiceSub,
.trustSub,
.trustText{
  color:#6B7280 !important;
}

/* Step label */
#funnelStepLabel{
  color:#60A5FA !important;
  font-weight:600 !important;
  letter-spacing:.04em !important;
}

/* Progress bar */
.funnelProgressTrack{
  background:rgba(255,255,255,.3) !important;
}

.funnelProgressFill{
  background:#60A5FA !important;
}

/* Primary button */
.btn--primary,
.btn-primary{
  background:#2563EB !important;
  border-color:#2563EB !important;
  color:#FFFFFF !important;
}

.btn--primary:hover,
.btn-primary:hover{
  background:#1D4ED8 !important;
}


/* =====================================================
   CARD TEXT HIERARCHY IMPROVEMENT
   Improves readability for funnel cards and descriptions
   ===================================================== */

/* Primary card headings */
.funnel-card h3,
.option-title,
.card-title {
  color:#1F2937;
  font-weight:600;
}

/* Card description text */
.funnel-card p,
.option-description,
.card-description,
.funnel-description {
  color:#374151;
  font-weight:400;
  opacity:1;
}

/* Supporting micro text */
.funnel-meta,
.card-meta,
.funnel-footnote,
.card-footnote {
  color:#6B7280;
}

/* Ensure all card content uses full contrast */
.funnel-card *,
.option-card *,
.card * {
  opacity:1;
}

/* Improve clickable option cards */
.option-card {
  transition: all .15s ease;
}

.option-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.08);
  border-color:#2563EB;
}


/* =====================================================
   FINAL PROGRESS FIX
   Progress lives inside the card, hidden on first screen
   ===================================================== */

body{
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.heroTop{
  background:
    linear-gradient(
      90deg,
      rgba(17,24,39,.88) 0%,
      rgba(17,24,39,.78) 35%,
      rgba(17,24,39,.58) 60%,
      rgba(17,24,39,.46) 100%
    ),
    url("/assets/images/bbas_homepage_hero_03.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

.heroTitle{
  color:#FFFFFF !important;
  font-weight:700 !important;
  letter-spacing:-0.03em !important;
  text-shadow:0 3px 12px rgba(0,0,0,.32) !important;
}

.heroLead{
  max-width:760px !important;
  line-height:1.6 !important;
  color:rgba(255,255,255,.94) !important;
}

body[data-funnel-branch="none"] .funnelProgress{
  display:none !important;
}

.funnelProgress{
  background:transparent !important;
}

.funnelProgressTrack{
  background:#E5E7EB !important;
  height:6px !important;
  border-radius:999px !important;
}

.funnelProgressFill{
  background:#60A5FA !important;
}

.funnelProgressMeta{
  margin-top:2px !important;
  padding:0 !important;
}

#funnelStepLabel{
  display:inline-flex !important;
  align-items:center !important;
  min-height:18px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  color:#6B7280 !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
  text-shadow:none !important;
}

#funnelRestartBtn,
.linkBtn{
  color:#2563EB !important;
  font-weight:700 !important;
}

.choiceTile{
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
  cursor:pointer !important;
}

.choiceTile:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 12px 28px rgba(15,23,42,.12) !important;
  border-color:#D1D5DB !important;
}

.choiceTile:active{
  transform:translateY(-1px) !important;
}

.choiceTitle{
  color:#1F2937 !important;
  font-weight:700 !important;
}

.choiceSub{
  color:#4B5563 !important;
}

.funnelQuestion{
  color:#1F2937 !important;
  font-weight:700 !important;
}

.funnelHelper,
.trustSub,
.trustText{
  color:#4B5563 !important;
}

.trustPill{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  min-height:34px !important;
  padding:7px 14px !important;
  border-radius:999px !important;
  border:1px solid #D6E4D8 !important;
  background:#F3FAF4 !important;
  color:#4B5563 !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
}

.trustPill .trustDot,
.trustPill .dot{
  width:10px !important;
  height:10px !important;
  border-radius:999px !important;
  background:#22C55E !important;
  box-shadow:0 0 0 6px rgba(34,197,94,.12) !important;
  flex:0 0 auto !important;
}

/* =====================================================
   FOOTER REFINEMENT
   Clean horizontal social row + tighter content rhythm
   ===================================================== */

footer.bbas-footer{
  padding:52px 0 22px !important;
}

.bbas-footer-inner{
  max-width:1180px !important;
  margin:0 auto !important;
  padding:0 28px !important;
  display:grid !important;
  grid-template-columns:1.2fr auto 1fr !important;
  align-items:center !important;
  gap:36px !important;
}

.bbas-footer-brand{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:12px !important;
}

.bbas-footer-brand img,
.bbas-footer-logo{
  width:54px !important;
  height:auto !important;
}

.bbas-footer-brand h4,
.bbas-footer-title{
  margin:0 !important;
  font-size:17px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  color:#FFFFFF !important;
}

.bbas-footer-brand p,
.bbas-footer-tagline{
  margin:0 !important;
  max-width:360px !important;
  font-size:15px !important;
  line-height:1.55 !important;
  color:#CBD5E1 !important;
}

.bbas-footer-social,
.bbas-footer-icons{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
}

.bbas-footer-social a,
.bbas-footer-icons a{
  width:42px !important;
  height:42px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.03) !important;
  transition:transform .18s ease, border-color .18s ease, background-color .18s ease !important;
}

.bbas-footer-social a:hover,
.bbas-footer-icons a:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(255,255,255,.28) !important;
  background:rgba(255,255,255,.07) !important;
}

.bbas-footer-social img,
.bbas-footer-social svg,
.bbas-footer-icons img,
.bbas-footer-icons svg{
  width:19px !important;
  height:19px !important;
  display:block !important;
}

.bbas-footer-links{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(120px, 1fr)) !important;
  justify-items:start !important;
  gap:14px 34px !important;
  margin-left:auto !important;
}

.bbas-footer-links a{
  font-size:15px !important;
  line-height:1.35 !important;
  color:#E2E8F0 !important;
}

.bbas-footer-bottom{
  max-width:1180px !important;
  margin:36px auto 0 !important;
  padding:18px 28px 0 !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  text-align:center !important;
  font-size:13px !important;
  color:#94A3B8 !important;
}

@media (max-width:900px){
  .bbas-footer-inner{
    grid-template-columns:1fr !important;
    justify-items:start !important;
    gap:24px !important;
  }

  .bbas-footer-social,
  .bbas-footer-icons{
    justify-content:flex-start !important;
  }

  .bbas-footer-links{
    margin-left:0 !important;
    gap:12px 26px !important;
  }

  .bbas-footer-bottom{
    margin-top:28px !important;
  }
}


/* =====================================================
   GLOBAL PAGE ALIGNMENT SYSTEM
   Keep hero content centered.
   Keep all decision-heavy and informational content left aligned.
   Homepage funnel can retain page-level handling where needed.
   ===================================================== */

/* About page */
.bbas-page .about-hero .hero-badge{
  margin-left:auto;
  margin-right:auto;
}
.bbas-page .about-hero h1{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.bbas-page .about-hero-copy{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.bbas-page .about-hero-copy p{
  text-align:center;
}
.bbas-page .hero-actions{
  justify-content:center;
}
.bbas-page .about-sidecard h2,
.bbas-page .about-sidecard p,
.bbas-page .side-item strong,
.bbas-page .side-item span,
.bbas-page .about-card h2,
.bbas-page .about-card-sub,
.bbas-page .about-story-box h3,
.bbas-page .about-story-box p,
.bbas-page .about-mini h3,
.bbas-page .about-mini p{
  text-align:left;
}
.bbas-page .about-card-sub{
  margin-left:0;
  margin-right:0;
}
.bbas-page .about-list{
  text-align:left;
}

/* Contact page */
.bbas-page .contact-hero .hero-badge,
.bbas-page .contact-hero .contact-sidepill{
  margin-left:auto;
  margin-right:auto;
}
.bbas-page .contact-hero h1{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.bbas-page .contact-hero-copy{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.bbas-page .contact-hero-copy p{
  text-align:center;
}
.bbas-page .contact-sidecard h2,
.bbas-page .contact-sidecard p,
.bbas-page .contact-card h2,
.bbas-page .contact-card-sub,
.bbas-page .contact-info-card h2,
.bbas-page .contact-info-sub,
.bbas-page .field label,
.bbas-page .form-note,
.bbas-page .status-line,
.bbas-page .contact-info-item h3,
.bbas-page .contact-info-item p,
.bbas-page .contact-info-list,
.bbas-page .side-item strong,
.bbas-page .side-item span{
  text-align:left;
}
.bbas-page .contact-card-sub,
.bbas-page .contact-info-sub{
  margin-left:0;
  margin-right:0;
}
.bbas-page .turnstile-wrap{
  justify-content:flex-start;
}
.bbas-page .contact-actions{
  justify-content:flex-start;
}

/* Sell page */
.bbas-page .sell-hero .hero-badge{
  margin-left:auto;
  margin-right:auto;
}
.bbas-page .sell-hero h1{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.bbas-page .sell-copy{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.bbas-page .sell-copy p{
  text-align:center;
}
.bbas-page .sell-side h2,
.bbas-page .sell-side p,
.bbas-page .side-item strong,
.bbas-page .side-item span,
.bbas-page .section-card h2,
.bbas-page .section-card > p,
.bbas-page .mini h3,
.bbas-page .mini p{
  text-align:left;
}
.bbas-page .section-card > p{
  margin-left:0;
  margin-right:0;
}

/* Listings page */
.bbas-listings-page .hero h1{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.bbas-listings-page .hero p{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.bbas-listings-page .card h3,
.bbas-listings-page .location,
.bbas-listings-page .metric,
.bbas-listings-page .metric strong,
.bbas-listings-page .investor h2,
.bbas-listings-page .investor p,
.bbas-listings-page .investor-card,
.bbas-listings-page .investor-card strong,
.bbas-listings-page .investor-card p{
  text-align:left;
}

