:root{
  /* ---- Brand palette (Blue / Green / Grey scale) ---- */
  --blue-50:#eaf1fc;  --blue-100:#bdd4f6; --blue-200:#9dbff2; --blue-300:#70a2ec; --blue-400:#5590e8;
  --blue-500:#2a74e2; --blue-600:#266ace; --blue-700:#1e52a0; --blue-800:#17407c; --blue-900:#12315f;
  --green-50:#effaeb; --green-100:#cef0c1; --green-200:#b7e8a3; --green-300:#96de7a; --green-400:#81d860;
  --green-500:#62ce38; --green-600:#59bb33; --green-700:#469228; --green-800:#36711f; --green-900:#295718;
  --grey-50:#eaeaea; --grey-100:#bebebe; --grey-200:#9e9e9e; --grey-300:#727272; --grey-400:#575757;
  --grey-500:#2d2d2d; --grey-600:#292929; --grey-700:#202020; --grey-800:#191919; --grey-900:#131313;

  /* ---- Semantic roles (mapped from the palette above) ---- */
  --ink:#131313;            /* grey-900 — primary text, dark surfaces */
  --ink-soft:#575757;       /* grey-400 — body text */
  --paper:#FFFFFF;          /* page background, light text-on-dark */
  --paper-deep:#EAEAEA;     /* grey-50 — alternate section background */
  --green:#469228;          /* green-700 — value/positive accent text (ledger, testimonials) */
  --green-deep:#12315F;     /* blue-900 — dark brand surface: header, hero, segment strip */
  --gold:#2a74e2;           /* blue-500 — informational accent: eyebrows, icons, focus, principal slice */
  --gold-soft:#9dbff2;      /* blue-200 — light accent for text on dark brand surfaces */
  --vermillion:#59bb33;     /* green-600 — primary action: buttons, links, interest slice */
  --vermillion-deep:#469228;/* green-700 — action hover state */
  --line: rgba(19,19,19,0.12);
  --radius: 2px;

  /* ---- Gradients — used only for slider, card surfaces, and the CTA "uplifting" band ---- */
  --grad-blue-light: linear-gradient(160deg, var(--blue-100), var(--blue-500));
  --grad-blue: linear-gradient(135deg, var(--blue-400), var(--blue-900));
  --grad-surface: linear-gradient(135deg, var(--blue-900), var(--grey-900));
  --grad-uplift: linear-gradient(135deg, var(--green-400), var(--blue-400));

  /* ---- Type scale (Geist), per brand type spec ---- */
  --fs-2xl:46px; --fs-xl:36px; --fs-lg:32px; --fs-md:24px; --fs-sm:20px; --fs-base:16px; --fs-xs:14px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink-soft);
  font-family:'Geist', sans-serif;
  font-size:var(--fs-base);
  line-height:1.55;
}
h1,h2,h3,.display{
  font-family:'Geist', sans-serif;
  color:var(--ink);
  margin:0;
  font-weight:700;
  letter-spacing:-0.01em;
}
.mono{font-family:'Geist Mono', monospace;}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
.eyebrow{
  font-family:'Geist Mono', monospace;
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-size:12px;
  color:var(--gold);
  font-weight:600;
}
@media (prefers-reduced-motion: no-preference){
  .reveal{opacity:0;transform:translateY(14px);animation:reveal 0.7s ease forwards;}
}
@keyframes reveal{to{opacity:1;transform:translateY(0);}}

/* ============ BREADCRUMB ============ */
.breadcrumb{
  background:var(--paper-deep);padding:14px 0;font-size:13px;font-family:'Geist Mono',monospace;
}
.breadcrumb a{color:var(--green);text-decoration:none;}
.breadcrumb a:hover{text-decoration:underline;}
.breadcrumb .sep{margin:0 8px;color:var(--gold);}
.breadcrumb .current{color:var(--ink-soft);}

/* ============ HEADER ============ */
header{
  position:sticky;top:0;z-index:50;
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 28px;max-width:1180px;margin:0 auto;
}
.logo{
  display:flex;align-items:center;text-decoration:none;
}
.logo-img{height:34px;width:auto;display:block;}
.nav-links{display:flex;gap:30px;list-style:none;margin:0;padding:0;}
.nav-links a{
  color:var(--ink-soft);text-decoration:none;font-size:14.5px;font-weight:500;
  transition:color .2s;
}
.nav-links a:hover{color:var(--vermillion);}
.nav-cta{
  background:var(--vermillion);color:#fff;border:none;padding:10px 20px;
  font-family:'Geist',sans-serif;font-weight:600;font-size:14px;cursor:pointer;
  border-radius:var(--radius);text-decoration:none;
}
.nav-cta:hover{background:var(--vermillion-deep);}
.burger{display:none;background:none;border:none;cursor:pointer;padding:6px;}
.burger span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;}

/* ============ NAV DROPDOWN ============ */
.nav-links li.has-dropdown{position:relative;}
.nav-links .dropdown{
  position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);box-shadow:0 14px 30px rgba(19,19,19,0.14);
  min-width:220px;padding:8px 0;opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
  z-index:60;
}
.nav-links li.has-dropdown:hover .dropdown,
.nav-links li.has-dropdown:focus-within .dropdown{
  opacity:1;visibility:visible;transform:translateY(0);
}
.nav-links .dropdown a{
  display:block;padding:10px 18px;font-size:14px;color:var(--ink-soft);white-space:nowrap;font-weight:500;
}
.nav-links .dropdown a:hover{background:var(--paper-deep);color:var(--vermillion);}

/* ============ LENDER LOGO MARQUEE ============ */
.lender-marquee{background:var(--paper-deep);padding:32px 0;overflow:hidden;}
.lender-marquee .marquee-head{text-align:center;margin-bottom:20px;}
.lender-marquee .marquee-track{display:flex;gap:48px;width:max-content;animation:marquee-scroll 26s linear infinite;}
.lender-marquee .lender-logo{
  height:68px;width:68px;flex-shrink:0;border-radius:50%;object-fit:contain;
  background:#fff;box-shadow:0 2px 8px rgba(19,19,19,0.1);
}
@keyframes marquee-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
@media (prefers-reduced-motion: reduce){
  .lender-marquee .marquee-track{animation:none;flex-wrap:wrap;justify-content:center;}
}

/* ============ HERO (homepage) ============ */
.hero{
  background:var(--green-deep);
  color:var(--paper);
  padding:64px 0 90px;
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:"ನಿ";
  position:absolute;right:-40px;top:-60px;
  font-family:'Geist',serif;font-size:420px;font-weight:600;
  color:rgba(157,191,242,0.05);
  pointer-events:none;line-height:1;
}
.hero-grid{
  display:grid;grid-template-columns:1.15fr 0.85fr;gap:56px;align-items:center;
  position:relative;z-index:2;
}
.hero h1{
  font-size:var(--fs-2xl);line-height:1.12;color:#fff;max-width:560px;
}
.hero h1 em{font-style:normal;color:var(--gold-soft);}
.hero p.lede{
  margin-top:20px;font-size:17px;max-width:480px;color:rgba(241,236,218,0.82);
}
.partner-line{
  margin-top:28px;font-size:13px;color:var(--gold-soft);font-family:'Geist Mono',monospace;
  letter-spacing:0.03em;
}

/* ============ PAGE HERO (branch/segment — smaller than homepage hero) ============ */
.page-hero{
  background:var(--green-deep);color:var(--paper);padding:56px 0 64px;position:relative;overflow:hidden;
}
.page-hero::before{
  content:"ನಿ";position:absolute;right:-30px;top:-50px;
  font-family:'Geist',serif;font-size:320px;font-weight:600;color:rgba(157,191,242,0.05);
  pointer-events:none;line-height:1;
}
.page-hero-grid{display:grid;grid-template-columns:1.2fr 0.8fr;gap:48px;align-items:center;position:relative;z-index:2;}
.page-hero h1{font-size:var(--fs-lg);line-height:1.16;color:#fff;max-width:560px;}
.page-hero p.lede{margin-top:16px;font-size:16.5px;max-width:480px;color:rgba(241,236,218,0.82);}
.tag-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.tag{
  font-family:'Geist Mono',monospace;font-size:11.5px;text-transform:uppercase;letter-spacing:0.06em;
  color:var(--gold-soft);border:1px solid rgba(157,191,242,0.4);padding:5px 10px;border-radius:2px;
}

/* elig form */
.elig-form{
  margin-top:32px;background:rgba(241,236,218,0.06);
  border:1px solid rgba(157,191,242,0.3);
  padding:22px;border-radius:var(--radius);
  display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:520px;
}
.elig-form .full{grid-column:1/-1;}
.field label{
  display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:0.08em;
  color:var(--gold-soft);margin-bottom:6px;font-family:'Geist Mono',monospace;
}
.field select, .field input{
  width:100%;padding:11px 12px;background:rgba(241,236,218,0.95);
  border:1px solid transparent;border-radius:var(--radius);font-size:14.5px;
  font-family:'Geist',sans-serif;color:var(--ink);
}
.field select:focus, .field input:focus{outline:2px solid var(--gold);outline-offset:1px;}
.btn-primary{
  background:var(--vermillion);color:#fff;border:none;padding:13px 20px;
  font-weight:600;font-size:15px;cursor:pointer;border-radius:var(--radius);width:100%;
  transition:background .2s;
}
.btn-primary:hover{background:var(--vermillion-deep);}
.btn-primary:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px;}
.btn-primary.link{display:block;text-align:center;text-decoration:none;}

/* Hero CTA buttons (Call Us / Apply Loan) */
.hero-cta-row{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;}
.btn-primary-hero{
  background:var(--vermillion);color:#fff;padding:15px 30px;border-radius:var(--radius);
  font-weight:600;font-size:15.5px;text-decoration:none;transition:background .2s;
}
.btn-primary-hero:hover{background:var(--vermillion-deep);}
.btn-outline-hero{
  border:1.5px solid rgba(255,255,255,0.45);color:#fff;padding:15px 30px;border-radius:var(--radius);
  font-weight:600;font-size:15.5px;text-decoration:none;transition:border-color .2s, background .2s;
}
.btn-outline-hero:hover{border-color:#fff;background:rgba(255,255,255,0.08);}

/* passbook card - signature element, reused site-wide */
.passbook{
  background:var(--paper);color:var(--ink);
  border-radius:3px;
  box-shadow:0 24px 60px rgba(0,0,0,0.35);
  position:relative;
  padding:26px 26px 22px 34px;
}
.passbook::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:14px;
  background-image:repeating-linear-gradient(to bottom, var(--gold-soft) 0 6px, transparent 6px 14px);
  background-color:rgba(42,116,226,0.12);
  border-right:1px dashed rgba(19,19,19,0.35);
}
.passbook-head{
  display:flex;justify-content:space-between;align-items:flex-start;
  border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:14px;
}
.passbook-head .t1{font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:0.1em;color:var(--green);text-transform:uppercase;}
.passbook-head .t2{font-family:'Geist',serif;font-size:18px;font-weight:600;margin-top:2px;}
.seal{
  width:64px;height:64px;border-radius:50%;border:2px solid var(--vermillion);
  display:flex;align-items:center;justify-content:center;text-align:center;
  transform:rotate(-9deg);color:var(--vermillion);font-family:'Geist Mono',monospace;
  font-size:9.5px;font-weight:700;line-height:1.15;letter-spacing:0.03em;padding:4px;flex-shrink:0;
}
.ledger-row{
  display:flex;justify-content:space-between;padding:9px 0;
  border-bottom:1px dotted var(--line);font-size:14px;gap:10px;
}
.ledger-row:last-child{border-bottom:none;}
.ledger-row .k{color:var(--ink-soft);}
.ledger-row .v{font-family:'Geist Mono',monospace;font-weight:600;color:var(--green);text-align:right;}

/* ============ SECTION GENERIC ============ */
section{padding:80px 0;}
.section-head{max-width:640px;margin-bottom:44px;}
.section-head h2{font-size:var(--fs-xl);margin-top:10px;}
.section-head p{margin-top:14px;font-size:16px;color:var(--ink-soft);}
.rule{height:1px;background:var(--line);border:none;margin:0;}
.content-block{max-width:720px;}
.content-block h2{font-size:var(--fs-md);margin-bottom:16px;}
.content-block h3{font-size:var(--fs-sm);margin:28px 0 12px;color:var(--green);}
.content-block p{margin:0 0 16px;font-size:15.5px;}
.content-block ul{padding-left:20px;margin:0 0 16px;}
.content-block li{margin-bottom:8px;font-size:15.5px;}
.callout{
  background:var(--paper-deep);border-left:3px solid var(--gold);padding:18px 22px;margin:24px 0;
  font-size:14.5px;
}
.callout strong{color:var(--ink);}

/* ============ EMI CALCULATOR ============ */
.calc-section{background:var(--paper-deep);}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start;}
.slider-block{margin-bottom:26px;}
.slider-block .row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;}
.slider-block label{font-size:13.5px;font-weight:600;color:var(--ink);text-transform:uppercase;letter-spacing:0.04em;}
.slider-block .val{font-family:'Geist Mono',monospace;font-weight:600;color:var(--vermillion);font-size:15px;}
input[type=range]{
  -webkit-appearance:none;width:100%;height:5px;background:var(--grad-blue-light);border-radius:3px;outline:none;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:19px;height:19px;border-radius:50%;
  background:var(--grad-blue);border:3px solid var(--paper);box-shadow:0 1px 4px rgba(18,49,95,0.5);cursor:pointer;
}
input[type=range]::-moz-range-thumb{
  width:19px;height:19px;border-radius:50%;background:var(--grad-blue);border:3px solid var(--paper);
  box-shadow:0 1px 4px rgba(18,49,95,0.5);cursor:pointer;
}
.calc-result-card{
  background:var(--grad-surface);color:var(--paper);border-radius:3px;padding:30px;
}
.donut-wrap{display:flex;align-items:center;gap:26px;margin-bottom:22px;}
.donut{
  width:132px;height:132px;border-radius:50%;flex-shrink:0;
  background:conic-gradient(var(--gold) calc(var(--principal-pct,60)*1%), var(--vermillion) 0);
  position:relative;
}
.donut::after{
  content:"";position:absolute;inset:16px;border-radius:50%;background:var(--ink);
}
.donut-legend{font-size:13.5px;}
.legend-item{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.emi-headline{font-family:'Geist',serif;font-size:15px;color:var(--gold-soft);margin-bottom:2px;text-transform:uppercase;letter-spacing:0.08em;font-weight:500;}
.emi-amount{font-family:'Geist Mono',monospace;font-size:38px;font-weight:600;color:#fff;margin-bottom:18px;}
.emi-amount span{font-size:16px;color:rgba(241,236,218,0.6);}

/* ============ LOAN TYPES / CARDS ============ */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.prod-card{
  background:#fff;border:1px solid var(--line);padding:26px;border-radius:2px;
  transition:transform .2s, box-shadow .2s;
}
.prod-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(19,19,19,0.1);}
.prod-card .num{font-family:'Geist Mono',monospace;color:var(--gold);font-size:12px;letter-spacing:0.08em;}
.prod-card h3{font-size:19px;margin:10px 0 8px;}
.prod-card p{font-size:14.5px;color:var(--ink-soft);margin:0 0 14px;}
.prod-card a{font-size:13.5px;font-weight:600;color:var(--vermillion);text-decoration:none;}
.prod-card a:hover{text-decoration:underline;}

/* ============ SEGMENTS STRIP ============ */
.seg-strip{background:var(--green-deep);color:var(--paper);}
.seg-strip .section-head h2{color:#fff;}
.seg-strip .section-head p{color:rgba(241,236,218,0.75);}
.seg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(157,191,242,0.2);border:1px solid rgba(157,191,242,0.2);}
.seg-card{background:var(--green-deep);padding:26px 22px;text-decoration:none;display:block;}
.seg-card h3{color:#fff;font-size:16.5px;margin-bottom:6px;}
.seg-card p{color:rgba(241,236,218,0.68);font-size:13.5px;margin:0;}
.seg-card.active{background:#17407c;box-shadow:inset 0 0 0 1px var(--gold-soft);}

/* ============ COVERAGE ============ */
.coverage-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.coverage-col h3{font-size:15px;text-transform:uppercase;letter-spacing:0.06em;color:var(--gold);font-family:'Geist Mono',monospace;font-weight:600;margin-bottom:16px;}
.town-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;}
.town-list li{font-size:14.5px;padding:8px 0;border-bottom:1px dotted var(--line);}
.town-list li a{text-decoration:none;color:var(--ink);}
.town-list li a:hover{color:var(--vermillion);}

/* ============ BRANCH TAB SWITCHER ============ */
.branch-tabs{
  display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px;
}
.tab-btn{
  background:#fff;border:1.5px solid var(--line);color:var(--ink-soft);
  padding:11px 22px;border-radius:24px;font-family:'Geist',sans-serif;font-weight:600;font-size:14.5px;
  cursor:pointer;transition:all .2s;
}
.tab-btn:hover{border-color:var(--gold);color:var(--ink);}
.tab-btn.active{background:var(--gold);border-color:var(--gold);color:#fff;}
.branch-panel{display:none;}
.branch-panel.active{display:block;}

/* ============ INFO GRID (branch NAP block) ============ */
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
.nap-card{background:#fff;border:1px solid var(--line);border-radius:2px;padding:26px;}
.nap-row{display:flex;gap:14px;padding:12px 0;border-bottom:1px dotted var(--line);}
.nap-row:last-child{border-bottom:none;}
.nap-row .ic{font-family:'Geist Mono',monospace;color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:0.05em;width:90px;flex-shrink:0;padding-top:2px;}
.nap-row .txt{font-size:14.5px;color:var(--ink-soft);}
.map-embed{
  background:var(--paper-deep);border:1px dashed var(--line);border-radius:2px;
  height:100%;min-height:220px;display:flex;align-items:center;justify-content:center;
  font-family:'Geist Mono',monospace;font-size:12.5px;color:var(--ink-soft);text-align:center;padding:20px;
  overflow:hidden;
}
.map-embed iframe{width:100%;height:100%;min-height:220px;border:0;display:block;}
.map-embed:has(iframe){padding:0;border-style:solid;background:none;}
.advisor-card{display:flex;gap:16px;align-items:center;margin-top:20px;padding-top:20px;border-top:1px solid var(--line);}
.advisor-photo{
  width:56px;height:56px;border-radius:50%;background:var(--green);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;color:var(--paper);font-family:'Geist',serif;font-weight:600;
}
.advisor-name{font-weight:600;color:var(--ink);font-size:14.5px;}
.advisor-role{font-size:12.5px;color:var(--ink-soft);font-family:'Geist Mono',monospace;}

/* ============ CHECKLIST ============ */
.doc-checklist{list-style:none;padding:0;margin:0;}
.doc-checklist li{
  display:flex;gap:12px;padding:12px 0;border-bottom:1px dotted var(--line);font-size:15px;align-items:flex-start;
}
.doc-checklist li::before{
  content:"✓";color:var(--gold);font-weight:700;flex-shrink:0;font-family:'Geist Mono',monospace;
}

/* ============ TESTIMONIALS ============ */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.testi-card{background:#fff;border:1px solid var(--line);padding:24px;border-radius:2px;}
.stars{color:var(--gold);font-size:14px;margin-bottom:10px;letter-spacing:2px;}
.testi-card p{font-size:14.5px;font-style:italic;color:var(--ink-soft);margin:0 0 14px;}
.testi-meta{font-size:12.5px;font-family:'Geist Mono',monospace;color:var(--green);text-transform:uppercase;letter-spacing:0.03em;}

/* ---- Testimonials as a moving marquee (homepage) ---- */
.testi-marquee{padding:64px 0;overflow:hidden;}
.testi-marquee .section-head{margin-bottom:32px;}
.testi-track{
  display:flex;gap:22px;width:max-content;padding:0 28px;
  animation:marquee-scroll 60s linear infinite;
}
.testi-track:hover{animation-play-state:paused;}
.testi-track .testi-card{width:360px;flex-shrink:0;min-height:100%;}
.testi-track .testi-card p{
  display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;
}
@media (prefers-reduced-motion: reduce){
  .testi-track{animation:none;flex-wrap:wrap;width:100%;justify-content:center;padding:0;}
}
@media (max-width:560px){
  .testi-track .testi-card{width:280px;}
}

/* ============ CASE STUDY CARD ============ */
.case-card{
  background:var(--grad-surface);color:var(--paper);border-radius:3px;padding:30px;display:grid;
  grid-template-columns:auto 1fr;gap:24px;align-items:start;
}
.case-card .tag-seal{
  width:70px;height:70px;border-radius:50%;border:2px solid var(--gold-soft);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;text-align:center;color:var(--gold-soft);
  font-family:'Geist Mono',monospace;font-size:10px;font-weight:700;letter-spacing:0.03em;transform:rotate(-6deg);
}
.case-card h3{color:#fff;font-size:18px;margin-bottom:8px;}
.case-card p{color:rgba(241,236,218,0.78);font-size:14.5px;margin:0 0 12px;}
.case-card .case-meta{font-family:'Geist Mono',monospace;font-size:12px;color:var(--gold-soft);text-transform:uppercase;letter-spacing:0.04em;}

/* ============ FAQ ============ */
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{
  width:100%;text-align:left;background:none;border:none;padding:20px 0;
  font-family:'Geist',serif;font-size:17px;font-weight:600;color:var(--ink);
  display:flex;justify-content:space-between;align-items:center;cursor:pointer;gap:16px;
}
.faq-q .icon{font-family:'Geist Mono',monospace;color:var(--gold);font-size:18px;transition:transform .25s;flex-shrink:0;}
.faq-item.open .faq-q .icon{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-a p{padding:0 0 20px;font-size:14.5px;color:var(--ink-soft);margin:0;max-width:640px;}

/* ============ CTA BAND ============ */
.cta-band{
  background:var(--grad-uplift);color:#fff;text-align:center;padding:64px 0;
}
.cta-band h2{color:#fff;font-size:28px;margin-bottom:14px;}
.cta-band p{color:rgba(255,255,255,0.85);margin-bottom:26px;}
.cta-buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.btn-light{background:#fff;color:var(--vermillion-deep);padding:13px 26px;border-radius:2px;font-weight:600;text-decoration:none;font-size:14.5px;}
.btn-outline{border:1.5px solid rgba(255,255,255,0.7);color:#fff;padding:13px 26px;border-radius:2px;font-weight:600;text-decoration:none;font-size:14.5px;}

/* ============ FOOTER ============ */
footer{background:var(--ink);color:rgba(241,236,218,0.7);padding:56px 0 28px;}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;gap:30px;margin-bottom:40px;}
.foot-grid h4{color:var(--gold-soft);font-size:12.5px;text-transform:uppercase;letter-spacing:0.08em;font-family:'Geist Mono',monospace;margin-bottom:14px;font-weight:600;}
.foot-grid ul{list-style:none;padding:0;margin:0;}
.foot-grid li{margin-bottom:9px;font-size:13.5px;}
.foot-grid a{text-decoration:none;color:inherit;}
.foot-grid a:hover{color:#fff;}
.foot-logo{font-family:'Geist',serif;color:#fff;font-size:20px;margin-bottom:12px;}
.foot-disclosure{font-size:12.5px;line-height:1.6;color:rgba(241,236,218,0.45);max-width:340px;}
.foot-bottom{border-top:1px solid rgba(241,236,218,0.15);padding-top:22px;font-size:12.5px;display:flex;justify-content:space-between;color:rgba(241,236,218,0.45);}

/* ============ RESPONSIVE ============ */
@media (max-width: 900px){
  .nav-links{display:none;}
  .burger{display:block;}
  .hero-grid,.page-hero-grid{grid-template-columns:1fr;}
  .hero h1{font-size:32px;}
  .page-hero h1{font-size:28px;}
  .elig-form{grid-template-columns:1fr;}
  .calc-grid{grid-template-columns:1fr;}
  .card-grid{grid-template-columns:1fr 1fr;}
  .seg-grid{grid-template-columns:1fr 1fr;}
  .coverage-grid{grid-template-columns:1fr;}
  .info-grid{grid-template-columns:1fr;}
  .testi-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .case-card{grid-template-columns:1fr;}
}
@media (max-width: 560px){
  .card-grid{grid-template-columns:1fr;}
  .seg-grid{grid-template-columns:1fr;}
  .town-list{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr;}
  .donut-wrap{flex-direction:column;align-items:flex-start;}
  .hero-cta-row{flex-direction:column;}
  .btn-primary-hero,.btn-outline-hero{text-align:center;}
}

/* =========================================================
   REGULATORY DISCLOSURE INSIDE FOOTER
   ========================================================= */

.footer-regulatory {
  width: 100%;
  margin-top: 75px;
  padding-top: 45px;
  padding-bottom: 45px;

  border-top: 1px solid rgba(255,255,255,0.15);

  text-align: left;
}

.footer-regulatory-logo {
  margin-bottom: 35px;
}

.footer-regulatory-logo img {
  width: 245px;
  max-width: 100%;
  height: auto;
  display: block;
}

.footer-regulatory-text {
  max-width: 1250px;
}

.footer-regulatory-text p {
  margin: 0 0 22px;

  color: rgba(255,255,255,0.62);

  font-size: 13px;
  line-height: 1.65;
}

.footer-regulatory-text strong {
  color: rgba(255,255,255,0.82);
  font-weight: 600;
}

.footer-registration {
  line-height: 1.8 !important;
}

.footer-regulatory-note {
  font-style: italic;
  color: rgba(255,255,255,0.55) !important;
}

.footer-partners {
  margin: 5px 0 28px;
}

.footer-partners p {
  margin-bottom: 10px;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 768px) {

  .footer-regulatory {
    margin-top: 50px;
    padding-top: 35px;
    padding-bottom: 30px;
  }

  .footer-regulatory-logo {
    margin-bottom: 28px;
  }

  .footer-regulatory-logo img {
    width: 190px;
  }

  .footer-regulatory-text p {
    font-size: 12px;
    line-height: 1.65;
    margin-bottom: 18px;
  }

}

/* ============ BLOG POSTS (shared across all Blogs/*.html pages) ============ */
.blog-meta{display:flex;gap:16px;flex-wrap:wrap;font-family:'Geist Mono',monospace;font-size:12.5px;color:var(--gold-soft);text-transform:uppercase;letter-spacing:0.04em;margin-top:14px;}
.blog-hero-img{width:100%;height:auto;border-radius:3px;margin:28px 0 8px;display:block;}
.toc{background:var(--paper-deep);border-radius:2px;padding:22px 26px;margin-bottom:32px;}
.toc p.eyebrow{margin-bottom:10px;}
.toc ol{margin:0;padding-left:20px;}
.toc li{font-size:14.5px;margin-bottom:8px;}
.toc a{color:var(--ink);text-decoration:none;}
.toc a:hover{color:var(--vermillion);}
.compare-table{width:100%;border-collapse:collapse;margin:20px 0 28px;font-size:14px;}
.compare-table th, .compare-table td{border:1px solid var(--line);padding:12px 14px;text-align:left;}
.compare-table th{background:var(--ink);color:#fff;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:0.03em;}
.compare-table tr:nth-child(even) td{background:var(--paper-deep);}
.blog-disclaimer{font-size:12.5px;color:var(--ink-soft);font-style:italic;border-top:1px solid var(--line);padding-top:20px;margin-top:36px;}

/* ============ MOBILE NAV DROPDOWN ============ */
@media (max-width: 900px){
  .nav-links{
    display:none;
    position:absolute;
    top:100%;
    right:28px;
    left:auto;
    width:240px;
    background:#fff;
    flex-direction:column;
    align-items:center;
    gap:0;
    padding:8px 0;
    box-shadow:0 14px 30px rgba(19,19,19,0.14);
    border:1px solid var(--line);
    border-radius:8px;
    max-height:80vh;
    overflow-y:auto;
    z-index:100;
  }
  .nav-links.nav-open{
    display:flex;
  }
  .nav-links li{
    width:100%;
    text-align:center;
  }
  .nav-links > li > a{
    display:block;
    padding:14px 20px;
    border-bottom:1px solid var(--line);
    text-align:center;
  }
  .nav-links .dropdown{
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    box-shadow:none;
    border:none;
    border-radius:0;
    background:var(--paper-deep);
    padding:0;
    display:none;
    min-width:0;
    width:100%;
  }
  .nav-links li.has-dropdown.dropdown-open .dropdown{
    display:block;
  }
  .nav-links .dropdown a{
    padding:12px 20px;
    text-align:center;
    border-bottom:1px solid var(--line);
  }
}