/* =========================================================
   AF Advisors Pvt. Ltd. — stylesheet
   Tokens: navy + gold + cream, Fraunces/Inter/IBM Plex Mono
   ========================================================= */

:root{
  --navy: #843136;
  --navy-2: #000000;
  --navy-tint: #E7ECF3;
  --ink:       #17202B;
  --slate:     #5B6472;
  --gold:      #B98A2E;
  --gold-2:    #E4BE6C;
  --cream:     #F7F4EC;
  --paper:     #FFFFFF;
  --line:      #E5E1D3;
  --green:     #2E6F49;

  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'Inter', -apple-system, Segoe UI, sans-serif;
  --font-mono: 'IBM Plex Mono', monospace;

  --radius: 14px;
  --radius-sm: 8px;
  --shadow: 0 20px 45px -20px rgba(11,37,69,.25);
  --shadow-sm: 0 8px 20px -10px rgba(11,37,69,.2);
  --wrap: 1200px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family: var(--font-body);
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ font-family:var(--font-display); color:var(--navy); margin:0 0 .5em; line-height:1.15; font-weight:600; }
p{ margin:0 0 1em; }
button{ font-family:inherit; cursor:pointer; }

.skip-link{
  position:absolute; left:-999px; top:0; background:var(--navy); color:#fff; padding:.75rem 1.25rem; z-index:200; border-radius:0 0 8px 0;
}
.skip-link:focus{ left:0; }

:focus-visible{ outline:3px solid var(--gold-2); outline-offset:2px; }

.wrap{ max-width:var(--wrap); margin:0 auto; padding:0 24px; }

.icon{ width:1em; height:1em; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.85rem 1.5rem; border-radius:999px; font-weight:600; font-size:.95rem;
  border:1px solid transparent; transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  white-space:nowrap;
}
.btn:hover{ transform:translateY(-1px); }
.btn-primary{ background:var(--navy); color:#fff; box-shadow:var(--shadow-sm); }
.btn-primary:hover{ background:var(--navy-2); }
.btn-gold{ background:var(--gold); color:var(--navy); }
.btn-gold:hover{ background:var(--gold-2); }
.btn-ghost{ background:transparent; border-color:rgba(255,255,255,.5); color:#fff; }
.btn-outline{ background:transparent; border-color:var(--navy); color:var(--navy); }
.btn-outline:hover{ background:var(--navy); color:#fff; }
.btn-block{ width:100%; justify-content:center; }
.btn-ic{ width:1.1em; height:1.1em; }

/* ---------- Topbar ---------- */
.topbar{ background:var(--navy); color:#dfe6f0; font-size:.82rem; }
.topbar-inner{ display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.5rem 24px; flex-wrap:wrap; }
.topbar-contact{ display:flex; gap:1.5rem; align-items:center; }
.topbar-contact a{ display:inline-flex; align-items:center; gap:.4rem; }
.ti{ width:1em; height:1em; color:var(--gold-2); flex-shrink:0; }
.topbar-tag{ color:#fff; }
.topbar-wa{ background:#25D366; color:#08341c !important; padding:.25rem .7rem; border-radius:999px; font-weight:700; }
.topbar-wa .ti{ color:#08341c; }
.topbar-wa:hover{ background:#1ebe5a; }

/* ---------- Header / Nav ---------- */
.site-header{
  position:sticky; top:0; z-index:100; background:rgba(255,255,255,.92); backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.header-inner{ display:flex; align-items:center; gap:2rem; padding:.85rem 24px; }
.brand{ display:flex; align-items:center; gap:.65rem; margin-right:auto; }
.brand-logo{ height:52px; width:auto; display:block; }
.brand-mark{
  width:44px; height:44px; border-radius:10px; background:var(--navy);
  color:var(--gold-2); font-family:var(--font-display); font-weight:600; font-size:1.1rem;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.brand-name{ font-family:var(--font-display); font-weight:600; font-size:1.15rem; color:var(--navy); line-height:1.1; display:flex; flex-direction:column; }
.brand-name small{ font-family:var(--font-body); font-weight:500; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--slate); }

.main-nav > ul{ display:flex; align-items:center; gap:1.9rem; }
.main-nav > ul > li > a, .dropdown-toggle{
  font-weight:600; font-size:.95rem; color:var(--ink); display:flex; align-items:center; gap:.3rem;
  background:none; border:none; padding:0.4rem 0; position:relative;
}
.main-nav > ul > li > a::after{
  content:''; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--gold);
  transform:scaleX(0); transition:transform .2s ease; transform-origin:left;
}
.main-nav > ul > li > a:hover::after, .main-nav > ul > li > a.is-active::after{ transform:scaleX(1); }
.main-nav > ul > li > a.is-active{ color:var(--navy); }
.chev{ width:.7em; height:.7em; transition:transform .2s ease; }

.has-dropdown{ position:relative; }
.dropdown{
  position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(8px);
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-sm); box-shadow:var(--shadow);
  min-width:250px; padding:.5rem; opacity:0; visibility:hidden; transition:opacity .18s ease, transform .18s ease;
  z-index:50; display:flex; flex-direction:column; gap:.15rem;
}
.dropdown li{ width:100%; }
.has-dropdown:hover .dropdown, .has-dropdown:focus-within .dropdown{
  opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);
}
.has-dropdown:hover .chev{ transform:rotate(180deg); }
.dropdown li a{ display:flex; align-items:center; gap:.6rem; padding:.6rem .75rem; border-radius:6px; font-size:.9rem; color:var(--ink); font-weight:500; }
.dropdown li a:hover{ background:var(--cream); color:var(--navy); }
.dd-ic{ width:1.1em; height:1.1em; color:var(--gold); flex-shrink:0; }

.header-cta{ padding:.7rem 1.3rem; }
.nav-toggle{ display:none; background:none; border:none; padding:.4rem; }
.nav-backdrop{ display:none; }
.menu-ic{ width:26px; height:26px; color:var(--navy); }

/* ---------- Breadcrumb / page header ---------- */
.page-hero{
  background:
    radial-gradient(circle at 85% 8%, rgba(228,190,108,.22), transparent 40%),
    radial-gradient(circle at 6% 92%, rgba(228,190,108,.12), transparent 38%),
    linear-gradient(160deg,rgba(132,49,54,.97) 0%,#1a0708 60%, #0d1b2f 100%);
  color:#fff; padding:3.2rem 0 3rem; position:relative; overflow:hidden;
}
.page-hero::before{
  content:''; position:absolute; inset:0; opacity:.5; pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:42px 42px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent);
  mask-image:linear-gradient(180deg,#000,transparent);
}
.page-hero::after{
  content:''; position:absolute; right:-80px; top:-80px; width:320px; height:320px; border-radius:50%;
  background:radial-gradient(circle, rgba(201,155,60,.35), transparent 70%);
}
.page-hero h1{ color:#fff; font-size:clamp(1.9rem,3.4vw,2.6rem); margin-bottom:.5rem; }
.breadcrumb{ display:flex; gap:.5rem; font-size:.85rem; color:#c7d1e2; }
.breadcrumb a{ color:#c7d1e2; }
.breadcrumb a:hover{ color:var(--gold-2); }
.breadcrumb .sep{ opacity:.5; }
.breadcrumb .current{ color:var(--gold-2); font-weight:600; }

/* ---------- Hero (home) ---------- */
.hero{
  background: linear-gradient(155deg, rgb(132 49 54 / 26%) 0%, rgb(132 49 54 / 26%) 55%, rgb(132 49 54 / 26%) 100%);
  color:#fff; position:relative; overflow:hidden; padding:4.5rem 0 5.5rem;
}
.hero::before{
  content:''; position:absolute; inset:0;
}
.hero-inner{ position:relative; display:grid; grid-template-columns:1.15fr .85fr; gap:3.5rem; align-items:center; }
.eyebrow{
  display:inline-flex; align-items:center; gap:.5rem; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--gold-2); font-weight:700; margin-bottom:1rem;
}
.eyebrow::before{ content:''; width:26px; height:2px; background:var(--gold-2); display:inline-block; }
.hero h1{
  color:#fff; font-size:clamp(2.2rem,4.2vw,3.4rem); font-weight:600; margin-bottom:1.1rem; letter-spacing:-.01em;
}
.hero h1 em{ font-style:italic; color:var(--gold-2); }
.hero-lead{ font-size:1.1rem; color:#cfd8e8; max-width:46ch; margin-bottom:2rem; }
.hero-cta-row{ display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2.4rem; }
.hero-trust{ display:flex; gap:2.2rem; flex-wrap:wrap; }
.hero-trust div{ display:flex; flex-direction:column; }
.hero-trust strong{ font-family:var(--font-mono); font-size:1.5rem; color:var(--gold-2); font-weight:600; }
.hero-trust span{ font-size:.8rem; color:#b9c4d6; }

/* ---------- Quick EMI widget (signature element) ---------- */
.quick-emi{
  background:#fff; color:var(--ink); border-radius:var(--radius); padding:1.6rem 1.6rem 1.4rem;
  box-shadow:0 30px 60px -25px rgba(0,0,0,.5); position:relative;
}
.quick-emi::before{
  content:'Quick Check'; position:absolute; top:-13px; left:1.6rem; background:var(--gold);
  color:var(--navy); font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  padding:.3rem .75rem; border-radius:999px;
}
.quick-emi h3{ font-size:1.05rem; margin-bottom:1rem; }
.qe-row{ margin-bottom:1.1rem; }
.qe-row label{ display:flex; justify-content:space-between; font-size:.82rem; color:var(--slate); margin-bottom:.4rem; font-weight:600; }
.qe-row label span{ font-family:var(--font-mono); color:var(--navy); font-weight:600; }
.qe-row input[type=range]{
  width:100%; accent-color:var(--gold); height:6px;
}
.qe-result{
  background:var(--cream); border-radius:var(--radius-sm); padding:1rem 1.1rem; display:flex; justify-content:space-between; align-items:center; margin-top:1.2rem;
}
.qe-result .label{ font-size:.8rem; color:var(--slate); font-weight:600; }
.qe-result .value{ font-family:var(--font-mono); font-size:1.5rem; color:var(--navy); font-weight:600; }
.qe-note{ font-size:.72rem; color:var(--slate); margin-top:.8rem; }

/* ---------- Sections ---------- */
.section{ padding:4.5rem 0; }
.section-alt{ background:var(--cream); }
.section-head{ max-width:640px; margin-bottom:2.8rem; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
.section-head h2{ font-size:clamp(1.6rem,3vw,2.15rem); }
.section-head .eyebrow{ color:var(--gold); }
.section-head .eyebrow::before{ background:var(--gold); }
.section-head p{ color:var(--slate); font-size:1.05rem; }

/* ---------- Service cards ---------- */
.grid-services{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.service-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.9rem 1.6rem;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; display:flex; flex-direction:column;
}
.service-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:transparent; }
.service-card .sc-ic{
  width:52px; height:52px; border-radius:12px; background:var(--navy-tint); color:var(--navy);
  display:flex; align-items:center; justify-content:center; margin-bottom:1.1rem;
}
.service-card .sc-ic svg{ width:26px; height:26px; }
.service-card h3{ font-size:1.1rem; margin-bottom:.5rem; }
.service-card p{ color:var(--slate); font-size:.92rem; flex:1; }
.service-card .sc-link{ font-weight:700; font-size:.85rem; color:var(--gold); display:inline-flex; align-items:center; gap:.35rem; margin-top:.8rem; }
.service-card .sc-link svg{ width:1em; height:1em; transition:transform .2s ease; }
.service-card:hover .sc-link svg{ transform:translateX(4px); }

/* ---------- Process steps ---------- */
.grid-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; counter-reset:step; }
.step-card{ position:relative; padding-top:.5rem; }
.step-card .step-no{
  font-family:var(--font-mono); font-size:.85rem; color:var(--gold); font-weight:700; margin-bottom:.8rem; display:block;
}
.step-card h4{ font-size:1.05rem; margin-bottom:.4rem; }
.step-card p{ color:var(--slate); font-size:.9rem; }
.step-card::before{
  content:''; display:block; width:44px; height:3px; background:var(--gold); margin-bottom:1rem; border-radius:2px;
}

/* ---------- Partner strip / logo slider ---------- */
.partners{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:2rem 2.6rem; }
.partner-chip{
  font-family:var(--font-display); font-weight:600; color:var(--slate); font-size:1.05rem; opacity:.75;
  display:flex; align-items:center; gap:.5rem;
}
.partner-chip svg{ color:var(--gold); width:1.2em; height:1.2em; }

.partners-slider{ overflow:hidden; margin-top:2.2rem; -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.partners-track{ display:flex; align-items:center; gap:3.2rem; width:max-content; animation:partnersScroll 28s linear infinite; }
.partners-slider:hover .partners-track{ animation-play-state:paused; }
.partner-logo-card{
  flex:0 0 auto; height:100px; width:160px; display:flex; align-items:center; justify-content:center;
  background:#fff; border-radius:var(--radius-sm); box-shadow:var(--shadow-sm); padding:.8rem 1.2rem;
}
.partner-logo-card img{ max-width:100%; max-height:100%; object-fit:contain; filter:grayscale(30%); opacity:.9; transition:filter .2s ease, opacity .2s ease; }
.partner-logo-card:hover img{ filter:grayscale(0%); opacity:1; }
.partner-chip-fallback{
  display:none; align-items:center; justify-content:center; gap:.5rem; width:100%; height:100%;
  font-family:var(--font-display); font-weight:600; color:var(--navy); font-size:.95rem; text-align:center;
}
.partner-chip-fallback svg{ color:var(--gold); width:1.2em; height:1.2em; flex-shrink:0; }
@keyframes partnersScroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (max-width:640px){
  .partner-logo-card{ height:56px; width:120px; padding:.6rem .9rem; }
  .partners-track{ gap:1.6rem; animation-duration:20s; }
}
@media (prefers-reduced-motion: reduce){
  .partners-track{ animation:none; }
  .partners-slider{ overflow-x:auto; }
}

/* ---------- CTA strip ---------- */
.cta-strip{ background:var(--navy); color:#fff; padding:3rem 0; }
.cta-strip-inner{ display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
.cta-strip h2{ color:#fff; font-size:1.5rem; margin-bottom:.35rem; }
.cta-strip p{ color:#c7d1e2; margin:0; max-width:46ch; }

/* ---------- Two column content ---------- */
.two-col{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.two-col.reverse .two-col-media{ order:2; }
.media-card{
  background:var(--navy); border-radius:var(--radius); padding:2.4rem; color:#fff; position:relative; overflow:hidden;
  min-height:280px; display:flex; flex-direction:column; justify-content:center;
}
.media-card::before{
  content:''; position:absolute; inset:0; background:
    radial-gradient(circle at 15% 20%, rgba(228,190,108,.25), transparent 45%),
    radial-gradient(circle at 90% 90%, rgba(228,190,108,.15), transparent 45%);
}
.media-card .mc-figure{ position:relative; font-family:var(--font-mono); }
.media-card .mc-figure strong{ display:block; font-size:2.6rem; color:var(--gold-2); }
.media-card .mc-figure span{ font-size:.85rem; color:#c7d1e2; letter-spacing:.05em; text-transform:uppercase; }
.media-card .mc-figure + .mc-figure{ margin-top:1.4rem; }

/* ---------- Loan page layout ---------- */
.loan-layout{ display:grid; grid-template-columns:2.1fr 1fr; gap:3rem; align-items:start; }
.loan-content h2{ font-size:1.5rem; margin-top:2rem; }
.loan-content h2:first-child{ margin-top:0; }
.loan-content p{ color:var(--ink); }
.point-list li{ display:flex; gap:.7rem; align-items:flex-start; padding:.55rem 0; border-bottom:1px dashed var(--line); }
.point-list li:last-child{ border-bottom:none; }
.point-list .pl-ic{ width:1.2em; height:1.2em; color:var(--green); flex-shrink:0; margin-top:.2rem; }

.compare-list{ display:flex; flex-direction:column; gap:1.1rem; margin-top:1rem; }
.compare-item{ background:var(--cream); border-radius:var(--radius-sm); padding:1.1rem 1.3rem; border-left:3px solid var(--gold); }
.compare-item h4{ font-size:1rem; margin-bottom:.35rem; }
.compare-item p{ font-size:.92rem; color:var(--slate); margin:0; }

.sidebar-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.5rem; margin-bottom:1.5rem; }
.sidebar-card h3{ font-size:1.05rem; margin-bottom:1rem; }
.sidebar-loans li a{ display:flex; align-items:center; justify-content:space-between; padding:.65rem 0; border-bottom:1px solid var(--line); font-size:.92rem; font-weight:500; }
.sidebar-loans li:last-child a{ border-bottom:none; }
.sidebar-loans li a:hover{ color:var(--gold); }
.sidebar-loans li a.is-active{ color:var(--gold); font-weight:700; }
.sidebar-card.cta-card{ background:var(--navy); color:#fff; }
.sidebar-card.cta-card h3{ color:#fff; }
.sidebar-card.cta-card p{ color:#c7d1e2; font-size:.9rem; }

/* ---------- EMI Calculator page ---------- */
.emi-tool{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:2.4rem; box-shadow:var(--shadow-sm); }
.emi-tool .qe-row label{ font-size:.9rem; }
.emi-result-panel{ background:var(--navy); color:#fff; border-radius:var(--radius); padding:2rem; text-align:center; }
.emi-result-panel .big{ font-family:var(--font-mono); font-size:2.6rem; color:var(--gold-2); font-weight:600; margin:.4rem 0 1.5rem; }
.emi-breakup{ display:flex; justify-content:space-around; border-top:1px solid rgba(255,255,255,.15); padding-top:1.2rem; }
.emi-breakup div strong{ display:block; font-family:var(--font-mono); font-size:1.1rem; color:#fff; }
.emi-breakup div span{ font-size:.75rem; color:#b9c4d6; }
.donut-wrap{ display:flex; justify-content:center; margin-bottom:1rem; }

/* ---------- Gallery ---------- */
.gallery-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.gallery-tile{
  aspect-ratio:4/3; border-radius:var(--radius-sm); position:relative; overflow:hidden;
  display:flex; align-items:flex-end; padding:1rem; color:#fff; font-weight:600;
}
.gallery-tile span{ position:relative; }
.gallery-tile::before{ content:''; position:absolute; inset:0; }
.gallery-tile::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,37,69,0) 40%, rgba(11,37,69,.75) 100%); }

/* ---------- Contact page ---------- */
.contact-layout{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; }
.contact-info-card{ background:var(--navy); color:#fff; border-radius:var(--radius); padding:2.2rem; }
.contact-info-card h3{ color:#fff; }
.contact-info-item{ display:flex; gap:.9rem; margin-bottom:1.4rem; align-items:flex-start; }
.contact-info-item svg{ width:1.3em; height:1.3em; color:var(--gold-2); flex-shrink:0; margin-top:.2rem; }
.contact-info-item span{ color:#dfe6f0; font-size:.95rem; }
.map-frame{ border-radius:var(--radius-sm); overflow:hidden; margin-top:1.5rem; border:0; }
.map-frame iframe{ width:100%; height:220px; border:0; display:block; }

.form-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:2.2rem; box-shadow:var(--shadow-sm); }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.field{ margin-bottom:1.1rem; }
.field label{ display:block; font-size:.85rem; font-weight:600; margin-bottom:.4rem; color:var(--navy); }
.field input, .field select, .field textarea{
  width:100%; padding:.8rem .9rem; border:1px solid var(--line); border-radius:8px; font-family:inherit; font-size:.95rem; background:#fcfbf8;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--gold); box-shadow:0 0 0 3px rgba(185,138,46,.15); outline:none; }
.form-note{ font-size:.78rem; color:var(--slate); margin-top:.8rem; }
.form-success{ display:none; background:#e9f4ee; border:1px solid #bfe0cc; color:var(--green); padding:1rem 1.2rem; border-radius:8px; margin-bottom:1.2rem; font-weight:600; }
.form-success.show{ display:block; }
.form-error{ display:none; background:#fdecea; border:1px solid #f3b3ac; color:#b3261e; padding:1rem 1.2rem; border-radius:8px; margin-bottom:1.2rem; font-weight:600; }

/* ---------- About page ---------- */
.stat-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; text-align:center; }
.stat-box{ background:var(--cream); border-radius:var(--radius); padding:1.8rem 1rem; }
.stat-box strong{ display:block; font-family:var(--font-mono); font-size:2rem; color:var(--navy); }
.stat-box span{ font-size:.85rem; color:var(--slate); }

/* ---------- Back to top ---------- */
.back-to-top{
  position:fixed; right:1.4rem; bottom:1.4rem; width:46px; height:46px; border-radius:50%;
  background:var(--navy); color:#fff; border:none; display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transform:translateY(10px); transition:all .25s ease; z-index:80; box-shadow:var(--shadow-sm);
}
.back-to-top.show{ opacity:1; visibility:visible; transform:translateY(0); }
.back-to-top .bt-ic{ width:1.2em; height:1.2em; transform:rotate(-90deg); }

/* ---------- Footer ---------- */
.site-footer{ background:#0A1F3C; color:#c7d1e2; padding-top:3.5rem; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:2.5rem; padding-bottom:2.5rem; border-bottom:1px solid rgba(255,255,255,.1); }
.footer-col h3{ color:#fff; font-size:1rem; margin-bottom:1.1rem; font-family:var(--font-body); font-weight:700; letter-spacing:.02em; }
.footer-col ul li{ margin-bottom:.7rem; }
.footer-col ul li a{ font-size:.9rem; color:#b9c4d6; }
.footer-col ul li a:hover{ color:var(--gold-2); }
.footer-about p{ font-size:.9rem; color:#b9c4d6; max-width:32ch; }
.brand-footer .brand-name{ color:#fff; }
.brand-footer .brand-name small{ color:#8ea0bb; }
.footer-social{ display:flex; gap:.7rem; margin-top:1.2rem; }
.footer-social a{ width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,.25); display:flex; align-items:center; justify-content:center; font-size:.75rem; font-weight:700; }
.footer-social a:hover{ background:var(--gold); color:var(--navy); border-color:var(--gold); }
.footer-contact li{ display:flex; gap:.7rem; align-items:flex-start; font-size:.9rem; }
.footer-contact svg{ width:1.2em; height:1.2em; color:var(--gold-2); flex-shrink:0; margin-top:.2rem; }
.footer-bottom{ display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.4rem 24px; font-size:.8rem; color:#8ea0bb; flex-wrap:wrap; }

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .main-nav{ position:fixed; inset:0 0 0 auto; width:min(340px,85vw); background:#fff; height:75vh; padding: 1.5rem 1.5rem 2rem; transform:translateX(100%); transition:transform .25s ease; box-shadow:-10px 0 30px rgba(0,0,0,.15); overflow-y:auto; margin-top: 60px;display: none; z-index:99; }
  .main-nav.open{ transform:translateX(0);display: block; }
  .main-nav > ul{ flex-direction:column; align-items:flex-start; gap:0; width:100%; }
  .main-nav > ul > li{ width:100%; border-bottom:1px solid var(--line); }
  .main-nav > ul > li > a, .dropdown-toggle{ padding:1rem 0; width:100%; justify-content:space-between; }
  .dropdown{ position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:none; display:none; width:100%; padding:0 0 .5rem; }
  .has-dropdown.open .dropdown{ display:block;margin-left: 120px; }
  .has-dropdown.open .chev{ transform:rotate(180deg); }
  .nav-toggle{ display:flex; }
  .nav-backdrop{ display:block; position:fixed; inset:0; background:rgba(11,20,35,.5); z-index:98; opacity:0; visibility:hidden; transition:opacity .25s ease; }
  .nav-backdrop.show{ opacity:1; visibility:visible; }
  body.nav-open{ overflow:hidden; }
  .header-cta{ display:none; }
  .hero-inner{ grid-template-columns:1fr; }
  .two-col{ grid-template-columns:1fr; }
  .two-col.reverse .two-col-media{ order:0; }
  .loan-layout{ grid-template-columns:1fr; }
  .contact-layout{ grid-template-columns:1fr; }
  .grid-services{ grid-template-columns:repeat(2,1fr); }
  .grid-steps{ grid-template-columns:repeat(2,1fr); }
  .stat-row{ grid-template-columns:repeat(2,1fr); }
  .gallery-grid{ grid-template-columns:repeat(2,1fr); }
  .emi-tool{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; gap:2rem 1.5rem; }
  .footer-about{ grid-column:1 / -1; }
}
@media (max-width:640px){
  .topbar-tag{ display:none; }
  .topbar-wa{ padding:.25rem .55rem; font-size:.78rem; }
  .topbar-contact a span.tw-label{ display:none; }
  .brand-logo{ height:38px; }
  .header-inner{ padding:.65rem 16px; gap:1rem; }
  .grid-services{ grid-template-columns:1fr; }
  .grid-steps{ grid-template-columns:1fr; }
  .gallery-grid{ grid-template-columns:1fr; }
  .form-row{ grid-template-columns:1fr; }
  .cta-strip-inner{ flex-direction:column; align-items:flex-start; }
  .partners{ justify-content:center; }
  .footer-grid{ grid-template-columns:1fr; text-align:left; }
  .footer-about{ grid-column:auto; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; text-align:left; }
  body{ padding-bottom:64px; }
  .back-to-top{ bottom:76px; }
}

/* ---------- Floating WhatsApp / Call button ---------- */
.fab-stack{ position:fixed; right:1.4rem; bottom:1.4rem; z-index:120; display:flex; flex-direction:column; align-items:flex-end; gap:.7rem; }
.fab-menu{ display:flex; flex-direction:column; gap:.6rem; margin-bottom:.2rem; opacity:0; visibility:hidden; transform:translateY(10px); transition:all .2s ease; }
.fab-stack.open .fab-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.fab-menu a{ display:flex; align-items:center; gap:.6rem; background:#fff; color:var(--ink); padding:.6rem 1rem .6rem .6rem; border-radius:999px; box-shadow:var(--shadow); font-weight:600; font-size:.88rem; white-space:nowrap; }
.fab-menu a .fab-ic{ width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; flex-shrink:0; }
.fab-menu a .fab-ic svg{ width:20px; height:20px; }
.fab-wa .fab-ic{ background:#25D366; }
.fab-call .fab-ic{ background:var(--navy); }
.fab-main{
  width:60px; height:60px; border-radius:50%; background:#25D366; color:#fff; border:none;
  display:flex; align-items:center; justify-content:center; box-shadow:0 10px 30px -8px rgba(37,211,102,.6);
  position:relative;
}
.fab-main svg{ width:28px; height:28px; }
.fab-main::before{
  content:''; position:absolute; inset:0; border-radius:50%; background:#25D366; opacity:.55;
  animation:fabPulse 2.2s ease-out infinite;
}
.fab-main .fab-plus{ display:none; }
.fab-stack.open .fab-main .fab-wa-ic{ display:none; }
.fab-stack.open .fab-main .fab-plus{ display:block; transform:rotate(45deg); }
@keyframes fabPulse{ 0%{ transform:scale(1); opacity:.55; } 100%{ transform:scale(1.7); opacity:0; } }

.fab-bubble{
  position:fixed; right:1.4rem; bottom:5.6rem; z-index:119; background:#fff; border-radius:14px 14px 4px 14px;
  box-shadow:var(--shadow); padding:1rem 1.1rem; max-width:250px; font-size:.85rem; color:var(--ink);
  opacity:0; visibility:hidden; transform:translateY(8px); transition:all .25s ease;
}
.fab-bubble.show{ opacity:1; visibility:visible; transform:translateY(0); }
.fab-bubble strong{ display:block; color:var(--navy); margin-bottom:.2rem; font-family:var(--font-display); }
.fab-bubble-close{ position:absolute; top:.4rem; right:.5rem; background:none; border:none; color:var(--slate); padding:.2rem; line-height:0; }
.fab-bubble-close svg{ width:14px; height:14px; }

@media (max-width:640px){
  .fab-stack, .fab-bubble{ display:none; }
}

/* ---------- Mobile sticky CTA bar ---------- */
.mobile-cta-bar{ display:none; }
@media (max-width:640px){
  .mobile-cta-bar{
    display:grid; grid-template-columns:1fr 1fr 1fr; position:fixed; left:0; right:0; bottom:0; z-index:120;
    background:#fff; border-top:1px solid var(--line); box-shadow:0 -8px 24px -12px rgba(0,0,0,.25);
  }
  .mcb-item{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.15rem; padding:.55rem 0 .6rem; font-size:.68rem; font-weight:700; color:var(--ink); }
  .mcb-item svg{ width:20px; height:20px; }
  .mcb-call{ color:var(--navy); }
  .mcb-wa{ color:#1ebe5a; }
  .mcb-apply{ background:var(--navy); color:#fff; }
  .mcb-apply svg{ color:var(--gold-2); }
}

/* ---------- Media images ---------- */
.media-photo{ position:relative; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); aspect-ratio:4/3; background:linear-gradient(150deg,var(--navy),#3a1418); margin-bottom:1.4rem; }
.media-photo img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.hero-photo{ position:relative; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); aspect-ratio:5/4; background:linear-gradient(150deg,var(--navy),#3a1418); margin-bottom:1.4rem; }
.hero-photo img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.gallery-tile img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; opacity:.85; }
.gallery-tile{ position:relative; overflow:hidden; }
.gallery-tile span{ position:relative; z-index:2; text-shadow:0 2px 8px rgba(0,0,0,.5); }
.gallery-tile::after{ content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.55),rgba(0,0,0,.05)); z-index:1; }
.loan-hero-photo{ position:relative; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); aspect-ratio:16/9; margin:1.5rem 0 2rem; background:linear-gradient(150deg,var(--navy),#3a1418); }
.loan-hero-photo img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.service-card-photo{ position:relative; aspect-ratio:16/10; border-radius:var(--radius-sm); overflow:hidden; margin-bottom:1rem; background:linear-gradient(150deg,var(--navy),#3a1418); }
.service-card-photo img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.inline-cta-row{ display:flex; flex-wrap:wrap; gap:.8rem; }

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

/* =========================================================
   New sections — enquiry form, eligibility FAB, testimonials,
   FAQ, why-us table, chat widget, blog, legal pages
   ========================================================= */

/* ---------- Hero fee note ---------- */
.hero-fee-note{
  display:flex; align-items:center; gap:.55rem; margin-top:1rem; font-size:.85rem; color:#d8e0ee;
}
.hero-fee-note .fee-ic{ width:1.3em; height:1.3em; color:var(--gold-2); flex-shrink:0; }

/* ---------- Quick enquiry form (shared component) ---------- */
.quick-form .field{ margin-bottom:1rem; }
.field-consent{ margin-bottom:1.1rem; }
.consent-label{
  display:flex; align-items:flex-start; gap:.55rem; font-size:.8rem; color:var(--slate); font-weight:400; cursor:pointer;
}
.consent-label input[type="checkbox"]{ margin-top:.2rem; accent-color:var(--gold); width:15px; height:15px; flex-shrink:0; }
.consent-label a{ color:var(--gold); font-weight:600; }

.enquiry-strip .two-col-media .form-card{ margin:0; }
.mini-trust-list{ margin-top:1.4rem; display:flex; flex-direction:column; gap:.5rem; }
.mini-trust-list li{ display:flex; gap:.6rem; align-items:center; font-size:.9rem; color:var(--ink); }
.mini-trust-list .pl-ic{ width:1.15em; height:1.15em; color:var(--green); flex-shrink:0; }

/* ---------- Floating "Check Your Eligibility" button ---------- */
.eligibility-fab{
  position:fixed; left:1.4rem; bottom:1.4rem; z-index:118;
  display:flex; align-items:center; gap:.55rem; background:var(--navy); color:#fff; border:none;
  padding:.85rem 1.3rem; border-radius:999px; box-shadow:var(--shadow); font-weight:700; font-size:.88rem;
  font-family:var(--font-body);
}
.eligibility-fab .elig-ic{ width:1.2em; height:1.2em; color:var(--gold-2); }
.eligibility-fab:hover{ background:#5a1f22; }
@media (max-width:640px){
  .eligibility-fab{ left:.8rem; right:.8rem; bottom:76px; justify-content:center; }
}

/* ---------- Modal (single eligibility / quick-apply form) ---------- */
.af-modal{
  position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center;
  padding:1.2rem; background:rgba(11,20,35,.55);
  opacity:0; visibility:hidden; transition:opacity .2s ease, visibility .2s ease;
}
.af-modal.open{ opacity:1; visibility:visible; }
.af-modal-panel{
  background:#fff; border-radius:var(--radius); padding:2rem; max-width:460px; width:100%;
  max-height:88vh; overflow-y:auto; position:relative; box-shadow:0 30px 70px -20px rgba(0,0,0,.4);
  transform:translateY(14px); transition:transform .2s ease;
}
.af-modal.open .af-modal-panel{ transform:translateY(0); }
.af-modal-close{
  position:absolute; top:1rem; right:1rem; background:var(--cream); border:none; border-radius:50%;
  width:34px; height:34px; display:flex; align-items:center; justify-content:center; color:var(--ink);
}
.af-modal-close svg{ width:16px; height:16px; }
body.modal-open{ overflow:hidden; }

/* ---------- Why us comparison table ---------- */
.why-us-table{ border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.why-us-row{ display:grid; grid-template-columns:1.2fr 1fr 1fr; }
.why-us-row + .why-us-row{ border-top:1px solid var(--line); }
.why-us-row > div{ padding:1rem 1.2rem; font-size:.92rem; }
.why-us-label{ font-weight:700; color:var(--navy); background:var(--cream); }
.why-us-head{ background:var(--navy); color:#fff; }
.why-us-head .why-us-col{ font-family:var(--font-display); font-weight:600; font-size:1rem; }
.why-us-them{ color:var(--slate); }
.why-us-us{ color:var(--green); font-weight:600; background:rgba(46,111,73,.06); }
.why-us-head .why-us-us{ color:var(--gold-2); background:transparent; }
@media (max-width:768px){
  .why-us-row{ grid-template-columns:1fr; }
  .why-us-label{ font-weight:700; }
  .why-us-head{ display:none; }
  .why-us-row > div::before{ content:attr(data-label); display:block; font-size:.7rem; text-transform:uppercase; letter-spacing:.04em; color:var(--slate); margin-bottom:.2rem; }
}

/* ---------- Testimonials ---------- */
.testimonial-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.testimonial-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.6rem; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; }
.testimonial-stars{ display:flex; gap:.15rem; color:var(--gold); margin-bottom:.8rem; }
.testimonial-stars .ti-star{ width:1em; height:1em; fill:var(--gold); }
.testimonial-text{ font-size:.94rem; color:var(--ink); flex:1; margin-bottom:1.1rem; }
.testimonial-meta strong{ display:block; color:var(--navy); font-size:.9rem; }
.testimonial-meta span{ font-size:.8rem; color:var(--slate); }
.testimonials-disclaimer{ font-size:.75rem; color:var(--slate); text-align:center; margin-top:1.5rem; }

.google-reviews-cta{
  margin-top:2.2rem; background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:1.4rem 1.6rem; display:flex; align-items:center; gap:1.2rem; flex-wrap:wrap; box-shadow:var(--shadow-sm);
}
.google-reviews-cta .gr-ic{ width:2.4rem; height:2.4rem; color:var(--gold); flex-shrink:0; fill:var(--gold); }
.google-reviews-cta div{ flex:1; min-width:180px; }
.google-reviews-cta strong{ display:block; color:var(--navy); }
.google-reviews-cta span{ font-size:.85rem; color:var(--slate); }

/* ---------- Safety note ---------- */
.safety-note-section{ padding:2.5rem 0; }
.safety-note-inner{
  display:flex; gap:1.2rem; align-items:flex-start; background:var(--cream); border-left:4px solid var(--gold);
  border-radius:var(--radius-sm); padding:1.4rem 1.6rem;
}
.safety-ic{ width:2rem; height:2rem; color:var(--gold); flex-shrink:0; margin-top:.15rem; }
.safety-note-inner h3{ font-size:1.05rem; margin-bottom:.4rem; }
.safety-note-inner p{ margin:0; color:var(--slate); font-size:.92rem; }

/* ---------- FAQ accordion ---------- */
.faq-accordion{ display:flex; flex-direction:column; gap:.8rem; }
.faq-item{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-sm); overflow:hidden; }
.faq-question{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  background:none; border:none; padding:1.1rem 1.3rem; text-align:left; font-weight:600; color:var(--navy);
  font-size:.98rem; font-family:var(--font-body);
}
.faq-chev{ width:1.1em; height:1.1em; color:var(--gold); flex-shrink:0; transition:transform .2s ease; }
.faq-item.open .faq-chev{ transform:rotate(180deg); }
.faq-answer{ max-height:0; overflow:hidden; transition:max-height .25s ease; }
.faq-item.open .faq-answer{ max-height:400px; }
.faq-answer p{ margin:0; padding:0 1.3rem 1.2rem; color:var(--slate); font-size:.92rem; }

/* ---------- Loan page quick-facts ---------- */
.loan-quickfacts{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin:1.6rem 0 .5rem; }
.loan-quickfacts > div{ background:var(--cream); border-radius:var(--radius-sm); padding:1rem 1.1rem; }
.loan-quickfacts span{ display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; color:var(--slate); margin-bottom:.3rem; }
.loan-quickfacts strong{ font-family:var(--font-mono); color:var(--navy); font-size:1.02rem; }
.loan-quickfacts-note{ font-size:.75rem; color:var(--slate); margin-bottom:1.8rem; }
@media (max-width:640px){ .loan-quickfacts{ grid-template-columns:1fr 1fr; } }

.loan-inline-form-card{ max-width:520px; }

/* ---------- Chat widget ---------- */
.chat-widget{ position:fixed; right:1.4rem; bottom:7.6rem; z-index:117; }
.chat-toggle{
  width:56px; height:56px; border-radius:50%; background:var(--navy); color:#fff; border:none;
  display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow); position:relative;
}
.chat-toggle svg{ width:24px; height:24px; }
.chat-window{
  position:absolute; right:0; bottom:70px; width:320px; max-width:calc(100vw - 2.4rem); background:#fff;
  border-radius:var(--radius); box-shadow:0 25px 60px -18px rgba(0,0,0,.35); overflow:hidden;
  opacity:0; visibility:hidden; transform:translateY(12px); transition:all .2s ease; display:flex; flex-direction:column;
  max-height:70vh;
}
.chat-window.open{ opacity:1; visibility:visible; transform:translateY(0); }
.chat-header{
  background:var(--navy); color:#fff; padding:.9rem 1.1rem; display:flex; align-items:center; justify-content:space-between;
  font-weight:700; font-size:.9rem;
}
.chat-header span{ display:flex; align-items:center; gap:.5rem; }
.chat-header svg{ width:1.1em; height:1.1em; color:var(--gold-2); }
.chat-header button{ background:none; border:none; color:#fff; padding:.2rem; line-height:0; }
.chat-header button svg{ width:14px; height:14px; }
.chat-body{ padding:1rem; overflow-y:auto; flex:1; display:flex; flex-direction:column; gap:.6rem; background:var(--cream); }
.chat-bubble{ max-width:85%; padding:.6rem .85rem; border-radius:12px; font-size:.85rem; line-height:1.45; }
.chat-bot{ align-self:flex-start; background:#fff; color:var(--ink); border-bottom-left-radius:3px; box-shadow:var(--shadow-sm); }
.chat-user{ align-self:flex-end; background:var(--navy); color:#fff; border-bottom-right-radius:3px; }
.chat-options{ display:flex; flex-wrap:wrap; gap:.5rem; }
.chat-options button, .chat-options a{
  background:#fff; border:1px solid var(--gold); color:var(--navy); font-size:.8rem; font-weight:600;
  padding:.45rem .8rem; border-radius:999px;
}
.chat-options a{ display:inline-block; }
.chat-options button:hover, .chat-options a:hover{ background:var(--gold); color:#fff; }
@media (max-width:640px){
  .chat-widget{ right:.8rem; bottom:150px; }
}

/* ---------- Blog ---------- */
.blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
.blog-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.7rem;
  display:flex; flex-direction:column; box-shadow:var(--shadow-sm); transition:transform .2s ease, box-shadow .2s ease;
}
.blog-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow); }
.blog-card-cat{ font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; color:var(--gold); font-weight:700; margin-bottom:.6rem; }
.blog-card h3{ font-size:1.1rem; margin-bottom:.5rem; }
.blog-card p{ color:var(--slate); font-size:.9rem; flex:1; }
.blog-card-meta{ font-size:.76rem; color:var(--slate); margin-top:1rem; padding-top:.9rem; border-top:1px solid var(--line); }
.blog-card{ padding:0 0 1.7rem; overflow:hidden; }
.blog-card-img{ aspect-ratio:16/9; overflow:hidden; margin-bottom:1.2rem; background:var(--cream); }
.blog-card-img img{ width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.blog-card:hover .blog-card-img img{ transform:scale(1.05); }
.blog-card-cat,.blog-card h3,.blog-card p,.blog-card-meta{ margin-left:1.7rem; margin-right:1.7rem; }
.blog-card:not(:has(.blog-card-img)){ padding-top:1.7rem; }
.blog-article p{ font-size:1.02rem; }
.blog-article h2{ font-size:1.4rem; margin-top:2rem; }
.blog-article h3{ font-size:1.15rem; margin-top:1.6rem; }
.blog-article ul, .blog-article ol{ margin:0 0 1.2rem 1.4rem; padding:0; color:var(--ink); }
.blog-article ul{ list-style:disc; }
.blog-article ol{ list-style:decimal; }
.blog-article li{ margin-bottom:.5rem; }
.blog-article blockquote{ margin:1.5rem 0; padding:.2rem 1.2rem; border-left:3px solid var(--gold); color:var(--slate); font-style:italic; }
.blog-article a{ color:var(--navy); text-decoration:underline; text-underline-offset:2px; }
.blog-hero-img{ border-radius:var(--radius); overflow:hidden; margin-bottom:1.8rem; box-shadow:var(--shadow-sm); margin-left:0; margin-right:0; }
.blog-hero-img img{ width:100%; aspect-ratio:16/8; object-fit:cover; }
.blog-hero-img figcaption{ font-size:.82rem; color:var(--slate); padding:.6rem 0 0; text-align:center; font-style:italic; }

.blog-toc{ background:var(--cream); border:1px solid var(--line); border-radius:var(--radius); padding:1.3rem 1.5rem; margin-bottom:2rem; }
.blog-toc h2{ font-size:.95rem; text-transform:uppercase; letter-spacing:.04em; margin-bottom:.7rem; }
.blog-toc ul{ display:grid; gap:.45rem; }
.blog-toc a{ color:var(--navy); font-size:.92rem; text-decoration:underline; text-underline-offset:2px; }
.blog-toc a:hover{ color:var(--gold); }
.blog-toc .toc-level-3{ padding-left:1.2rem; font-size:.86rem; }

.blog-tags{ display:flex; flex-wrap:wrap; gap:.5rem; margin:1.8rem 0; }
.blog-tag-pill{ padding:.4rem .9rem; border-radius:999px; background:var(--cream); border:1px solid var(--line); font-size:.78rem; color:var(--slate); font-weight:600; }
.blog-tag-pill:hover{ border-color:var(--gold); color:var(--ink); }

.blog-faq-section{ margin-top:2.5rem; }
.blog-faq-section h2{ font-size:1.4rem; }
.blog-faq-accordion{ display:grid; gap:.7rem; }
.faq-item{ border:1px solid var(--line); border-radius:var(--radius-sm); padding:.2rem 1.1rem; background:#fff; }
.faq-item summary{ cursor:pointer; padding:.9rem 0; font-weight:600; color:var(--ink); display:flex; align-items:center; justify-content:space-between; gap:1rem; list-style:none; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-chev{ transition:transform .2s ease; flex-shrink:0; color:var(--gold); }
.faq-item[open] .faq-chev{ transform:rotate(180deg); }
.faq-answer{ padding:0 0 1rem; color:var(--slate); line-height:1.65; }

.blog-share-row{ display:flex; align-items:center; gap:.7rem; margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--line); flex-wrap:wrap; }
.blog-share-row span{ font-size:.85rem; color:var(--slate); font-weight:600; }
.blog-share-row a, .blog-copy-link{ width:36px; height:36px; border-radius:50%; background:var(--cream); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:.78rem; font-weight:700; color:var(--navy); }
.blog-share-row a:hover, .blog-copy-link:hover{ background:var(--navy); color:#fff; border-color:var(--navy); }
.blog-copy-link{ cursor:pointer; }
.blog-copy-link .icon{ width:1.1em; height:1.1em; }
.blog-copy-link.is-copied{ background:var(--green); color:#fff; border-color:var(--green); }

.blog-filter-row{ display:flex; flex-wrap:wrap; gap:.6rem; margin-bottom:2rem; }
.blog-filter-pill{ padding:.5rem 1.1rem; border-radius:999px; border:1px solid var(--line); font-size:.85rem; font-weight:600; color:var(--slate); transition:background .15s ease,color .15s ease,border-color .15s ease; }
.blog-filter-pill:hover{ border-color:var(--gold); color:var(--ink); }
.blog-filter-pill.is-active{ background:var(--navy); border-color:var(--navy); color:#fff; }

/* ---------- Legal pages ---------- */
.legal-content h2{ font-size:1.2rem; margin-top:2rem; }
.legal-content p{ color:var(--slate); }

/* ---------- Footer legal line ---------- */
.footer-legal-line{
  display:flex; gap:.6rem; flex-wrap:wrap; padding:.9rem 24px 0; font-size:.76rem; color:#8ea0bb; font-family:var(--font-mono);
}
.footer-links-row{ font-size:.8rem; }
.footer-links-row a{ color:#b9c4d6; text-decoration:underline; text-underline-offset:2px; }
.footer-links-row a:hover{ color:#fff; }

/* ---------- Balance-transfer result panel tweak ---------- */
.bt-result-panel .emi-breakup{ flex-wrap:wrap; gap:1rem; }

/* ---------- Team ---------- */
.team-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
.team-card{ text-align:center; }
.team-photo{ aspect-ratio:1/1; border-radius:var(--radius); overflow:hidden; margin-bottom:1rem; box-shadow:var(--shadow-sm); background:linear-gradient(150deg,var(--navy),#3a1418); }
.team-photo img{ width:100%; height:100%; object-fit:cover; }
.team-card h4{ font-size:1rem; margin-bottom:.3rem; }
.team-card span{ font-size:.85rem; color:var(--slate); }
@media (max-width:768px){ .team-grid{ grid-template-columns:1fr; max-width:340px; margin:0 auto; } }

@media (max-width:980px){
  .testimonial-grid{ grid-template-columns:1fr; }
  .blog-grid{ grid-template-columns:1fr 1fr; }
  .loan-quickfacts{ grid-template-columns:1fr 1fr; }
}
@media (max-width:640px){
  .blog-grid{ grid-template-columns:1fr; }
}

/* =========================================================
   Illustration panels (replaces stock photography sitewide)
   ========================================================= */
.illus-panel{ display:flex; align-items:center; justify-content:center; }
.illus-panel::before{
  content:''; position:absolute; inset:0;
  background-image:
    radial-gradient(circle at 20% 15%, rgba(228,190,108,.28), transparent 45%),
    radial-gradient(circle at 85% 90%, rgba(228,190,108,.15), transparent 45%);
  z-index:1;
}
.illus-svg{ position:relative; z-index:2; width:78%; height:78%; }
.illus-shape{ fill:none; stroke:var(--gold-2); stroke-width:2.5; }
.illus-shape-2{ fill:rgba(228,190,108,.16); stroke:var(--gold-2); stroke-width:2; }
.illus-line{ stroke:var(--gold-2); stroke-width:2.5; stroke-linecap:round; }
.illus-line-fill{ fill:rgba(228,190,108,.9); }
.illus-badge{ fill:rgba(228,190,108,.14); stroke:var(--gold-2); stroke-width:2.5; }
.illus-badge-fill{ fill:rgba(255,255,255,.14); }
.illus-rupee{ fill:var(--gold-2); font-family:var(--font-display); font-size:32px; font-weight:600; }
.illus-ring{ fill:none; stroke:rgba(228,190,108,.35); stroke-width:2; stroke-dasharray:6 8; }

/* =========================================================
   Scroll-reveal + counters + sticky-header shrink
   ========================================================= */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease; }
.reveal.is-visible{ opacity:1; transform:translateY(0); }
.reveal-stagger.is-visible .reveal{ transition-delay:calc(var(--reveal-i, 0) * 70ms); }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
}
.site-header.scrolled{ box-shadow:0 6px 20px -12px rgba(11,20,35,.25); }
.site-header.scrolled .brand-logo{ height:42px; }
.site-header.scrolled .header-inner{ padding-top:.55rem; padding-bottom:.55rem; }
.site-header{ transition:box-shadow .2s ease; }

/* =========================================================
   Cities-served strip
   ========================================================= */
.cities-strip{ display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center; margin-top:1.6rem; }
.city-pill{
  display:inline-flex; align-items:center; gap:.4rem; padding:.5rem 1rem; border-radius:999px;
  background:#fff; border:1px solid var(--line); font-size:.85rem; font-weight:600; color:var(--navy);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.city-pill:hover{ transform:translateY(-2px); box-shadow:var(--shadow-sm); border-color:var(--gold); }
.city-pill svg{ width:1em; height:1em; color:var(--gold); flex-shrink:0; }
.city-pill.city-pill-primary{ background:var(--navy); color:#fff; border-color:var(--navy); }
.city-pill.city-pill-primary svg{ color:var(--gold-2); }

/* =========================================================
   YouTube embed section
   ========================================================= */
.youtube-embed-wrap{
  position:relative; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);
  aspect-ratio:16/9; background:linear-gradient(150deg,var(--navy),#1a0708);
}
.youtube-embed-wrap iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.youtube-cta-card{ display:flex; flex-direction:column; justify-content:center; }
.youtube-badge{
  display:inline-flex; align-items:center; gap:.5rem; background:#fff; border:1px solid var(--line);
  border-radius:999px; padding:.5rem 1rem .5rem .6rem; font-weight:700; font-size:.85rem; color:var(--ink);
  width:fit-content; margin-top:1.4rem; transition:transform .15s ease, box-shadow .15s ease;
}
.youtube-badge:hover{ transform:translateY(-2px); box-shadow:var(--shadow-sm); }
.youtube-badge .yt-ic{ width:1.8em; height:1.8em; color:#FF0000; flex-shrink:0; }

/* =========================================================
   Testimonial "Google" source badge
   ========================================================= */
.testimonial-card-top{ display:flex; align-items:center; justify-content:space-between; gap:.6rem; margin-bottom:.8rem; }
.testimonial-card-top .testimonial-stars{ margin-bottom:0; }
.testimonial-source{ display:inline-flex; align-items:center; gap:.35rem; font-size:.76rem; font-weight:700; color:var(--slate); }
.ts-ic{ width:1em; height:1em; flex-shrink:0; }

/* =========================================================
   Director / team monogram badge (illustration-style avatar)
   ========================================================= */
.person-monogram{
  aspect-ratio:1/1; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);
  background:linear-gradient(155deg,var(--navy) 0%,#1a0708 100%); position:relative;
  display:flex; align-items:center; justify-content:center;
}
.person-monogram::before{
  content:''; position:absolute; inset:0;
  background-image:
    radial-gradient(circle at 20% 15%, rgba(228,190,108,.25), transparent 45%),
    radial-gradient(circle at 85% 90%, rgba(228,190,108,.14), transparent 45%);
}
.person-monogram span{
  position:relative; font-family:var(--font-display); font-weight:600; color:var(--gold-2);
  font-size:clamp(3rem,9vw,5rem); letter-spacing:.02em;
}
.person-monogram small{
  position:absolute; bottom:1.1rem; left:0; right:0; text-align:center; font-family:var(--font-body);
  font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:#e7d9b8; font-weight:700;
}

/* =========================================================
   Gallery v2 — categories + lightbox
   ========================================================= */
.gallery-category{ margin-bottom:3.2rem; }
.gallery-category:last-child{ margin-bottom:0; }
.gallery-category-head{ display:flex; align-items:baseline; gap:.8rem; margin-bottom:1.4rem; }
.gallery-category-head h2{ font-size:1.25rem; margin:0; }
.gallery-category-head span{ font-size:.85rem; color:var(--slate); }
.gallery-tile{ cursor:zoom-in; border:0; text-align:left; width:100%; font-family:inherit; background-clip:padding-box; }
.gallery-tile:focus-visible{ outline:3px solid var(--gold-2); outline-offset:3px; }
.gallery-tile img{ transition:transform .35s ease; }
.gallery-tile:hover img{ transform:scale(1.06); }
.gallery-partners-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.6rem; box-shadow:var(--shadow-sm);
  display:flex; flex-direction:column; align-items:center; gap:1rem; text-align:center;
}
.gallery-partners-card img{ max-width:100%; border-radius:var(--radius-sm); border:1px solid var(--line); cursor:zoom-in; }

.af-lightbox{
  position:fixed; inset:0; z-index:300; display:flex; align-items:center; justify-content:center;
  background:rgba(8,14,26,.92); padding:2rem; opacity:0; visibility:hidden; transition:opacity .2s ease, visibility .2s ease;
}
.af-lightbox.open{ opacity:1; visibility:visible; }
.af-lightbox img{ max-width:100%; max-height:82vh; border-radius:8px; box-shadow:0 30px 80px -20px rgba(0,0,0,.6); }
.af-lightbox-cap{ position:absolute; bottom:2rem; left:0; right:0; text-align:center; color:#dfe6f0; font-size:.9rem; }
.af-lightbox-close{
  position:absolute; top:1.4rem; right:1.4rem; width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.25); color:#fff; display:flex; align-items:center; justify-content:center;
}
.af-lightbox-close svg{ width:18px; height:18px; }
.af-lightbox-nav{
  position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.25); color:#fff;
  display:flex; align-items:center; justify-content:center;
}
.af-lightbox-prev{ left:1.4rem; } .af-lightbox-next{ right:1.4rem; }
.af-lightbox-nav svg{ width:20px; height:20px; }
@media (max-width:640px){
  .af-lightbox-nav{ width:38px; height:38px; }
  .af-lightbox-prev{ left:.5rem; } .af-lightbox-next{ right:.5rem; }
}

/* =========================================================
   MAXIMUM ANIMATION PASS — ambient motion, entrances,
   hover micro-interactions, scroll progress, blueprint draw-in
   ========================================================= */

/* ---------- Scroll progress bar ---------- */
.scroll-progress{
  position:fixed; top:0; left:0; height:3px; width:0%; z-index:210;
  background:linear-gradient(90deg,var(--gold),var(--gold-2)); box-shadow:0 0 8px rgba(185,138,46,.6);
  transition:width .1s linear;
}

/* ---------- Ambient floating blobs (hero / page-hero) ---------- */
.hero, .page-hero{ isolation:isolate; }
.hero .blob, .page-hero .blob{
  position:absolute; border-radius:50%; filter:blur(50px); opacity:.35; pointer-events:none; z-index:0;
  background:radial-gradient(circle, var(--gold-2), transparent 70%);
  animation:blobFloat 14s ease-in-out infinite;
}
.blob-a{ width:280px; height:280px; top:-60px; left:8%; animation-delay:0s; }
.blob-b{ width:220px; height:220px; bottom:-40px; right:10%; animation-delay:-4s; animation-duration:18s; }
.blob-c{ width:160px; height:160px; top:40%; right:28%; animation-delay:-8s; animation-duration:11s; opacity:.22; }
.page-hero .blob-a{ width:170px; height:170px; top:-50px; left:6%; }
.page-hero .blob-b{ width:150px; height:150px; bottom:-60px; right:8%; }
@keyframes blobFloat{
  0%,100%{ transform:translate(0,0) scale(1); }
  33%{ transform:translate(24px,-18px) scale(1.08); }
  66%{ transform:translate(-18px,14px) scale(.94); }
}

/* ---------- Hero entrance (page-load, no JS needed) ---------- */
@keyframes heroRise{ from{ opacity:0; transform:translateY(26px); } to{ opacity:1; transform:translateY(0); } }
.hero-copy > *{ animation:heroRise .7s cubic-bezier(.2,.8,.2,1) both; }
.hero-copy .eyebrow{ animation-delay:.05s; }
.hero-copy h1{ animation-delay:.15s; }
.hero-copy .hero-lead{ animation-delay:.28s; }
.hero-copy .hero-cta-row{ animation-delay:.4s; }
.hero-copy .hero-trust{ animation-delay:.52s; }
.hero-copy .hero-fee-note{ animation-delay:.64s; }
.quick-emi{ animation:heroRise .8s cubic-bezier(.2,.8,.2,1) .3s both; }
.page-hero .breadcrumb, .page-hero h1, .page-hero p{ animation:heroRise .6s cubic-bezier(.2,.8,.2,1) both; }
.page-hero h1{ animation-delay:.1s; }
.page-hero p{ animation-delay:.2s; }

/* Eyebrow underline draws in */
@keyframes eyebrowDraw{ from{ width:0; } to{ width:26px; } }
.eyebrow::before{ animation:eyebrowDraw .6s ease .5s both; }

/* Animated gradient sweep on the italic hero accent word */
.hero h1 em{
  background:linear-gradient(90deg, var(--gold-2), #fff6df, var(--gold-2));
  background-size:220% auto; -webkit-background-clip:text; background-clip:text; color:transparent;
  animation:goldSheen 4.5s linear infinite;
}
@keyframes goldSheen{ 0%{ background-position:0% 50%; } 100%{ background-position:220% 50%; } }

/* ---------- Button shine sweep + press feedback ---------- */
.btn{ position:relative; overflow:hidden; transition:transform .18s ease, box-shadow .18s ease, background .18s ease; }
.btn::after{
  content:''; position:absolute; top:0; left:-60%; width:40%; height:100%;
  background:linear-gradient(115deg, transparent, rgba(255,255,255,.5), transparent);
  transform:skewX(-20deg); transition:left .55s ease;
}
.btn:hover::after{ left:130%; }
.btn:active{ transform:translateY(0) scale(.97); }
.btn-gold::after, .btn-primary::after{ mix-blend-mode:overlay; }

/* ---------- Nav / dropdown micro-motion ---------- */
.dropdown li a{ transition:background .15s ease, color .15s ease, transform .15s ease, padding-left .15s ease; }
.dropdown li a:hover{ transform:translateX(3px); }

/* ---------- Card hover richness (lift + icon pop + border glow) ---------- */
.service-card, .blog-card, .testimonial-card, .team-card, .step-card, .stat-box,
.type-card, .tax-card, .elig-card, .prod-card, .why-card, .step, .compare-item,
.sidebar-card, .faq-item, .factor-item, .rate-card, .gallery-partners-card{
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease;
}
.service-card:hover, .prod-card:hover, .type-card:hover, .tax-card:hover, .elig-card:hover,
.why-card:hover, .step:hover, .compare-item:hover, .rate-card:hover{
  transform:translateY(-7px);
  box-shadow:0 22px 40px -18px rgba(11,20,35,.22);
}
.service-card:hover .sc-ic{ transform:scale(1.14) rotate(-6deg); background:var(--gold); color:#fff; }
.sc-ic{ transition:transform .3s cubic-bezier(.34,1.56,.64,1), background .25s ease, color .25s ease; }
.type-card .tag, .elig-card .n, .why-card .n, .step .idx, .prod-card .tag{ transition:transform .25s ease, color .25s ease; }
.type-card:hover .tag, .elig-card:hover .n, .why-card:hover .n, .step:hover .idx, .prod-card:hover .tag{
  transform:scale(1.15); color:var(--gold);
}
.team-photo, .person-monogram{ transition:transform .35s ease; }
.team-card:hover .team-photo, .two-col-media:hover .person-monogram{ transform:scale(1.03); }
.faq-item{ transition:transform .2s ease, box-shadow .2s ease; }
.faq-item:hover{ box-shadow:var(--shadow-sm); }
.city-pill{ transition:transform .18s cubic-bezier(.34,1.56,.64,1), box-shadow .18s ease, border-color .18s ease, background .18s ease; }
.city-pill:hover{ transform:translateY(-3px) scale(1.04); }

/* Prod-card "go" link arrow nudge */
.prod-card .go{ display:inline-flex; align-items:center; gap:.3rem; transition:gap .2s ease; }
.prod-card:hover .go{ gap:.55rem; }

/* ---------- Stat / number pop-in on reveal ---------- */
.stat, .stat-box, .facts-card, .loan-quickfacts > div{ transition:transform .3s cubic-bezier(.34,1.56,.64,1); }
.reveal.is-visible.stat, .reveal .stat{ }
.stats .stat{ animation:none; }
.stats.reveal.is-visible .stat, .facts-grid.reveal.is-visible .facts-card{ animation:popIn .5s cubic-bezier(.34,1.56,.64,1) both; }
.stats.reveal.is-visible .stat:nth-child(1), .facts-grid.reveal.is-visible .facts-card:nth-child(1){ animation-delay:.02s; }
.stats.reveal.is-visible .stat:nth-child(2), .facts-grid.reveal.is-visible .facts-card:nth-child(2){ animation-delay:.09s; }
.stats.reveal.is-visible .stat:nth-child(3), .facts-grid.reveal.is-visible .facts-card:nth-child(3){ animation-delay:.16s; }
.stats.reveal.is-visible .stat:nth-child(4), .facts-grid.reveal.is-visible .facts-card:nth-child(4){ animation-delay:.23s; }
.stats.reveal.is-visible .stat:nth-child(5), .facts-grid.reveal.is-visible .facts-card:nth-child(5){ animation-delay:.3s; }
@keyframes popIn{ from{ opacity:0; transform:translateY(14px) scale(.92); } to{ opacity:1; transform:translateY(0) scale(1); } }

/* ---------- Blueprint SVG draw-in (loan page hero illustration) ---------- */
.blueprint svg .bp-house, .blueprint svg .bp-dim{ stroke-dasharray:900; stroke-dashoffset:900; }
.blueprint.is-visible svg .bp-house, .blueprint.is-visible svg .bp-dim{
  animation:bpDraw 1.8s cubic-bezier(.2,.7,.2,1) forwards;
}
.blueprint svg .bp-label{ opacity:0; }
.blueprint.is-visible svg .bp-label{ animation:fadeInUp .5s ease 1.4s forwards; }
.blueprint svg circle[fill]{ opacity:0; transform-origin:center; }
.blueprint.is-visible svg circle[fill]{ animation:popIn .4s cubic-bezier(.34,1.56,.64,1) 1.5s forwards; }
@keyframes bpDraw{ to{ stroke-dashoffset:0; } }
@keyframes fadeInUp{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:translateY(0); } }
.illus-svg *{ opacity:0; }
.illus-panel.is-visible .illus-svg *, .hero-photo.illus-panel .illus-svg *, .media-photo.illus-panel .illus-svg *{ animation:fadeInUp .6s ease forwards; }
.illus-panel .illus-svg *:nth-child(1){ animation-delay:.05s; } .illus-panel .illus-svg *:nth-child(2){ animation-delay:.12s; }
.illus-panel .illus-svg *:nth-child(3){ animation-delay:.19s; } .illus-panel .illus-svg *:nth-child(4){ animation-delay:.26s; }
.illus-panel .illus-svg *:nth-child(5){ animation-delay:.33s; } .illus-panel .illus-svg *:nth-child(6){ animation-delay:.4s; }
.illus-panel .illus-svg *:nth-child(7){ animation-delay:.47s; } .illus-panel .illus-svg *:nth-child(n+8){ animation-delay:.54s; }

/* ---------- Icon micro-bounce on any inline icon inside an interactive parent ---------- */
.btn-ic, .mcb-item svg, .fab-menu a .fab-ic svg{ transition:transform .2s cubic-bezier(.34,1.56,.64,1); }
.btn:hover .btn-ic{ transform:translateX(3px); }
.btn:hover .btn-ic.elig-ic, .eligibility-fab:hover .elig-ic{ transform:rotate(-8deg) scale(1.1); }

/* ---------- Mobile trust ticker (replaces the hidden topbar tag on small screens) ---------- */
@media (max-width:640px){
  .topbar{ overflow:hidden; }
  .topbar-tag{
    display:block !important; position:absolute; white-space:nowrap; font-size:.72rem;
    animation:tickerScroll 16s linear infinite;
  }
  .topbar-inner{ position:relative; padding-right:0; }
}
@keyframes tickerScroll{ 0%{ transform:translateX(100vw); } 100%{ transform:translateX(-100%); } }

/* ---------- Eligibility FAB attention pulse ---------- */
.eligibility-fab{ animation:fabAttention 3.2s ease-in-out infinite; }
.eligibility-fab:hover{ animation:none; }
@keyframes fabAttention{ 0%,80%,100%{ transform:translateY(0); } 85%{ transform:translateY(-5px); } 90%{ transform:translateY(0); } 95%{ transform:translateY(-2px); } }

/* ---------- Chat toggle idle wiggle ---------- */
.chat-toggle{ animation:chatWiggle 6s ease-in-out infinite; }
@keyframes chatWiggle{ 0%,92%,100%{ transform:rotate(0); } 94%{ transform:rotate(-8deg); } 96%{ transform:rotate(8deg); } 98%{ transform:rotate(-4deg); } }

/* ---------- Doc-tab / FAQ-plus rotation flair ---------- */
.doc-tab-btn{ transition:color .2s ease, border-color .2s ease, transform .2s ease; }
.doc-tab-btn:hover{ transform:translateY(-2px); }
.faq-q .plus{ display:inline-block; transition:transform .3s cubic-bezier(.34,1.56,.64,1); }
.faq-item.open .faq-q .plus{ transform:rotate(135deg); }

/* ---------- Testimonial card entrance stagger already via .reveal; add subtle rotate-in ---------- */
.testimonial-card.reveal{ transform:translateY(22px) rotate(-.6deg); }
.testimonial-card.reveal.is-visible{ transform:translateY(0) rotate(0); }
.testimonial-card:nth-child(2).reveal{ transform:translateY(22px) rotate(.6deg); }
.testimonial-card:nth-child(2).reveal.is-visible{ transform:translateY(0) rotate(0); }

/* ---------- Marquee direction variant (used for a second partner row / mobile) ---------- */
.partners-track-reverse{ animation-direction:reverse; }

/* ---------- Tilt-on-hover targets (JS adds inline transform; this just sets perspective + transition) ---------- */
.tilt-card{ transform-style:preserve-3d; will-change:transform; transition:transform .15s ease-out, box-shadow .15s ease-out; }
.tilt-card-wrap{ perspective:1000px; }
.hero-inner, .grid-services, .testimonial-grid, .blog-grid{ perspective:1200px; }

/* ---------- Back-to-top spin on hover ---------- */
.back-to-top{ transition:opacity .25s ease, visibility .25s ease, transform .25s ease, background .2s ease; }
.back-to-top:hover{ transform:translateY(-3px); background:var(--navy-2); }
.back-to-top:hover .bt-ic{ animation:btSpin .5s ease; }
@keyframes btSpin{ from{ transform:rotate(-90deg); } to{ transform:rotate(-450deg); } }

@media (prefers-reduced-motion: reduce){
  .hero .blob, .page-hero .blob, .hero h1 em, .eligibility-fab, .chat-toggle, .topbar-tag{ animation:none !important; }
  .hero-copy > *, .quick-emi, .page-hero .breadcrumb, .page-hero h1, .page-hero p{ animation:none !important; opacity:1 !important; transform:none !important; }
  .illus-svg *{ opacity:1 !important; }
  .blueprint svg .bp-house, .blueprint svg .bp-dim{ stroke-dashoffset:0 !important; }
  .blueprint svg .bp-label, .blueprint svg circle[fill]{ opacity:1 !important; }
}
