/* ============================================================
   Isha Fincorp — HOMEPAGE-ONLY enhancements
   Stylish, unique design + animations.
   Loaded only on index.html (scoped under body.home).
   ============================================================ */

/* ---------- Keyframes ---------- */
@keyframes floatY { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-22px); } }
@keyframes floatY2 { 0%,100% { transform: translateY(0); } 50% { transform: translateY(18px); } }
@keyframes blobMove { 0%,100% { transform: translate(0,0) scale(1); } 33% { transform: translate(30px,-20px) scale(1.08); } 66% { transform: translate(-20px,20px) scale(.95); } }
@keyframes spinSlow { to { transform: rotate(360deg); } }
@keyframes pulseRing { 0% { box-shadow: 0 0 0 0 rgba(244,169,48,.45); } 70% { box-shadow: 0 0 0 16px rgba(244,169,48,0); } 100% { box-shadow: 0 0 0 0 rgba(244,169,48,0); } }
@keyframes shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }
@keyframes riseIn { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }
@keyframes bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(10px); } }
@keyframes gradientShift { 0%,100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }

/* ---------- Scroll progress bar ---------- */
.scroll-progress {
  position: fixed; top: 0; left: 0; height: 4px; width: 0;
  background: linear-gradient(90deg, var(--gold), var(--green));
  z-index: 500; transition: width .1s linear;
  box-shadow: 0 0 12px rgba(244,169,48,.6);
}

/* ---------- Directional & staggered reveals (reuse main.js observer) ---------- */
body.home .reveal.rv-left { transform: translateX(-48px); }
body.home .reveal.rv-right { transform: translateX(48px); }
body.home .reveal.rv-zoom { transform: scale(.9); }
body.home .reveal.rv-left.visible,
body.home .reveal.rv-right.visible,
body.home .reveal.rv-zoom.visible { transform: none; }
/* grid stagger */
body.home .services-grid .service-card:nth-child(1){transition-delay:.05s}
body.home .services-grid .service-card:nth-child(2){transition-delay:.15s}
body.home .services-grid .service-card:nth-child(3){transition-delay:.25s}
body.home .services-grid .service-card:nth-child(4){transition-delay:.35s}
body.home .usp-grid .usp:nth-child(1){transition-delay:.05s}
body.home .usp-grid .usp:nth-child(2){transition-delay:.15s}
body.home .usp-grid .usp:nth-child(3){transition-delay:.25s}
body.home .usp-grid .usp:nth-child(4){transition-delay:.35s}

/* ============================================================
   HERO — animated orbs, staggered text, scroll cue
   ============================================================ */
body.home .hero { position: relative; }
.hero-orb {
  position: absolute; border-radius: 50%; z-index: 1; pointer-events: none;
  filter: blur(8px); opacity: .5; mix-blend-mode: screen;
}
.hero-orb.o1 { width: 300px; height: 300px; top: -60px; right: 8%;
  background: radial-gradient(circle at 30% 30%, rgba(244,169,48,.7), transparent 70%);
  animation: blobMove 14s ease-in-out infinite; }
.hero-orb.o2 { width: 240px; height: 240px; bottom: -40px; left: 4%;
  background: radial-gradient(circle at 50% 50%, rgba(138,90,28,.55), transparent 70%);
  animation: blobMove 18s ease-in-out infinite reverse; }
.hero-orb.o3 { width: 160px; height: 160px; top: 40%; left: 46%;
  background: radial-gradient(circle at 50% 50%, rgba(224,168,46,.5), transparent 70%);
  animation: floatY 10s ease-in-out infinite; }

/* staggered entrance for the active slide */
body.home .slide.active .slide-tag { animation: riseIn .7s .1s both; }
body.home .slide.active h1 { animation: riseIn .7s .28s both; }
body.home .slide.active p { animation: riseIn .7s .46s both; }
body.home .slide.active .slide-actions { animation: riseIn .7s .64s both; }

/* gradient accent on hero heading em */
body.home .slide h1 em {
  background: linear-gradient(100deg, var(--gold), #ffd580);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
/* buttons get a shine */
body.home .slide-actions .btn-gold { position: relative; overflow: hidden; }
body.home .slide-actions .btn-gold::after {
  content: ""; position: absolute; top: 0; left: -120%; width: 60%; height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.5), transparent);
  transform: skewX(-20deg); animation: shimmer 3.5s ease-in-out infinite;
}

/* scroll cue */
.scroll-cue {
  position: absolute; bottom: 26px; left: 50%; transform: translateX(-50%);
  z-index: 5; display: flex; flex-direction: column; align-items: center; gap: 6px;
  color: rgba(255,255,255,.75); font-size: .72rem; letter-spacing: .18em; text-transform: uppercase;
}
.scroll-cue .mouse {
  width: 24px; height: 40px; border: 2px solid rgba(255,255,255,.6); border-radius: 14px;
  position: relative;
}
.scroll-cue .mouse::before {
  content: ""; position: absolute; top: 7px; left: 50%; transform: translateX(-50%);
  width: 4px; height: 8px; border-radius: 3px; background: var(--gold);
  animation: bob 1.5s ease-in-out infinite;
}
@media (max-width: 620px){ .scroll-cue{ display:none; } }

/* ============================================================
   STATS BAR — stylish icon-badge cards
   ============================================================ */
body.home .stats-bar {
  position: relative; overflow: hidden; border-radius: 26px;
  background: linear-gradient(180deg, #ffffff, #faf6ef);
  box-shadow: 0 24px 60px rgba(43,33,24,.14);
}
body.home .stats-bar::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 5px;
  background: linear-gradient(90deg, var(--navy), var(--gold), var(--green), #c98a1e, var(--navy));
  background-size: 300% 100%; animation: gradientShift 7s ease infinite;
}
body.home .stats-bar .container { padding: 10px; gap: 6px; }
body.home .stat {
  border-right: none; padding: 34px 18px 30px; border-radius: 18px; position: relative;
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
  transition: transform .35s var(--ease), background .35s, box-shadow .35s;
}
/* elegant divider between cells */
body.home .stat:not(:last-child)::after {
  content: ""; position: absolute; right: 0; top: 26%; height: 48%; width: 1px;
  background: linear-gradient(180deg, transparent, var(--line), transparent);
}
body.home .stat:hover {
  transform: translateY(-8px);
  background: linear-gradient(180deg, #fff, var(--navy-soft));
  box-shadow: 0 18px 40px rgba(43,33,24,.12);
}
body.home .stat:hover::after { opacity: 0; }

/* icon badge */
body.home .stat-ico {
  width: 58px; height: 58px; border-radius: 18px; margin: 0 auto 16px;
  display: grid; place-items: center; color: #fff;
  box-shadow: 0 10px 22px rgba(43,33,24,.22);
  transition: transform .35s var(--ease);
}
body.home .stat-ico svg { width: 27px; height: 27px; }
body.home .stat:hover .stat-ico { transform: translateY(-3px) rotate(-6deg) scale(1.06); }
body.home .stat:nth-child(1) .stat-ico { background: linear-gradient(140deg, var(--navy), var(--navy-2)); }
body.home .stat:nth-child(2) .stat-ico { background: linear-gradient(140deg, var(--gold), var(--gold-dark)); box-shadow: 0 10px 22px rgba(244,169,48,.4); }
body.home .stat:nth-child(3) .stat-ico { background: linear-gradient(140deg, var(--green), var(--green-dark)); box-shadow: 0 10px 22px rgba(138,90,28,.35); }
body.home .stat:nth-child(4) .stat-ico { background: linear-gradient(140deg, #c98a1e, #8a5a1c); box-shadow: 0 10px 22px rgba(224,168,46,.4); }

/* numbers + labels */
body.home .stat b {
  font-size: 2.3rem; letter-spacing: -1px; display: inline-block; line-height: 1.1;
  background: linear-gradient(120deg, var(--navy), var(--navy-2));
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
body.home .stat .plus { -webkit-text-fill-color: var(--gold); }
body.home .stat > span { display: block; margin-top: 6px; font-size: .92rem; color: var(--muted); font-weight: 600; }
@media (max-width: 860px) {
  body.home .stat:not(:last-child)::after { display: none; }
  body.home .stat b { font-size: 2rem; }
  body.home .stat-ico { width: 52px; height: 52px; }
}
@media (max-width: 620px) {
  /* compact stats cards on mobile — smaller height */
  body.home .stats-bar { margin-top: 22px; border-radius: 20px; }
  body.home .stats-bar .container { padding: 6px; gap: 4px; }
  body.home .stat { padding: 18px 10px 16px; border-radius: 14px; }
  body.home .stat-ico { width: 46px; height: 46px; border-radius: 14px; margin-bottom: 10px; }
  body.home .stat-ico svg { width: 22px; height: 22px; }
  body.home .stat b { font-size: 1.6rem; }
  body.home .stat > span { font-size: .8rem; margin-top: 4px; }
}
@media (max-width: 400px) {
  body.home .stat { padding: 14px 8px 12px; }
  body.home .stat-ico { width: 42px; height: 42px; margin-bottom: 8px; }
  body.home .stat b { font-size: 1.45rem; }
  body.home .stat > span { font-size: .74rem; }
}

/* ============================================================
   SECTION HEADINGS — gradient title + animated eyebrow
   ============================================================ */
body.home .section-title {
  background: linear-gradient(100deg, var(--navy) 30%, var(--navy-2) 60%, var(--gold-dark));
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
body.home .section.navy .section-title { -webkit-text-fill-color: #fff; background: none; }
body.home .eyebrow { position: relative; overflow: hidden; }
body.home .eyebrow::after {
  content: ""; position: absolute; left: -100%; top: 0; width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(244,169,48,.4), transparent);
  animation: shimmer 3s ease-in-out infinite;
}

/* ============================================================
   SERVICE CARDS — number badge, squircle icon, gradient sweep
   ============================================================ */
/* ---- Light cards, gold icon, distinctive shape ---- */
body.home .service-card {
  border-radius: 36px 10px 36px 10px; overflow: hidden; padding: 36px 30px;
  background: #fff; border: 1px solid var(--line);
  display: flex; flex-direction: column;
  transition: transform .38s var(--ease), box-shadow .38s, border-color .38s, border-radius .5s var(--ease);
}
/* subtle gold corner glow — always on */
body.home .service-card::before {
  content: ""; position: absolute; top: 0; right: 0; width: 150px; height: 150px; z-index: 0;
  background: radial-gradient(circle at 82% 16%, rgba(244,169,48,.14), transparent 68%);
}
/* gold bottom accent bar — always full width */
body.home .service-card::after {
  width: 100%; background: linear-gradient(90deg, var(--gold), var(--gold-dark));
}
body.home .service-card > * { position: relative; z-index: 1; }
body.home .service-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 24px 50px rgba(43,33,24,.15);
  border-color: rgba(244,169,48,.5);
  border-radius: 10px 36px 10px 36px;
}
/* no number badge */
body.home .sc-num { display: none; }

/* deep navy icon with gold symbol — bold & attractive (normal state) */
body.home .service-icon {
  width: 68px; height: 68px; border-radius: 20px 6px 20px 6px;
  background: linear-gradient(140deg, var(--navy), var(--navy-2)); color: var(--gold);
  box-shadow: 0 12px 24px rgba(43,33,24,.32);
  transition: box-shadow .3s, transform .4s var(--ease);
}
body.home .service-icon svg { width: 32px; height: 32px; }
body.home .service-card:hover .service-icon { box-shadow: 0 16px 32px rgba(43,33,24,.45); }

/* title */
body.home .service-card h3 { color: var(--navy); transition: color .3s; }
body.home .service-card:hover h3 { color: var(--gold-dark); }

/* proper gold buttons — same row, same height, aligned to card bottom */
body.home .service-links { display: flex; gap: 10px; align-items: stretch; flex-wrap: nowrap; margin-top: auto; padding-top: 6px; }
body.home .service-links .link-arrow, body.home .service-links .chip-enquiry {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 10px 16px; border-radius: 999px; font-size: .8rem; font-weight: 700;
  white-space: nowrap; border: 2px solid transparent; line-height: 1;
}
body.home .service-links .link-arrow {
  background: #fff; color: var(--gold-dark); border-color: var(--gold);
  animation: none; transition: background .25s, color .25s, transform .25s, box-shadow .25s;
}
body.home .service-links .link-arrow:hover {
  background: var(--gold); color: var(--navy); transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(244,169,48,.4);
}
body.home .service-links .chip-enquiry {
  background: linear-gradient(135deg, var(--gold), var(--gold-dark)); color: var(--navy);
  box-shadow: 0 8px 18px rgba(244,169,48,.35);
  transition: transform .25s, box-shadow .25s;
}
body.home .service-links .chip-enquiry:hover {
  transform: translateY(-2px); box-shadow: 0 12px 26px rgba(244,169,48,.55);
}

/* ============================================================
   USP — pulsing icon ring, hover
   ============================================================ */
body.home .usp { border-radius: 20px; }
body.home .usp-ico { position: relative; transition: transform .4s var(--ease); }

/* ============================================================
   WHY CHOOSE US — decorative pattern + blob + animated checks
   ============================================================ */
body.home .why-visual { position: relative; }
body.home .why-visual::before {
  content: ""; position: absolute; z-index: -1; width: 220px; height: 220px; border-radius: 50%;
  top: -34px; right: -34px;
  background: radial-gradient(circle, rgba(244,169,48,.35), transparent 70%);
  animation: blobMove 16s ease-in-out infinite;
}
body.home .why-visual::after {
  content: ""; position: absolute; z-index: -1; left: -30px; bottom: 30px;
  width: 130px; height: 130px;
  background-image: radial-gradient(var(--navy) 1.6px, transparent 1.6px);
  background-size: 16px 16px; opacity: .18;
}
/* shaped image frame + floating rating badge */
body.home .why-visual img { border-radius: 44px 12px 44px 12px; }
body.home .why-badge { animation: floatY 5s ease-in-out infinite; border-radius: 18px 6px 18px 6px; }

/* trust points — compact clean icon rows (no cards) with animated gold accent */
body.home .why-list { grid-template-columns: 1fr 1fr; gap: 4px 30px; margin-top: 22px; }
body.home .why-item {
  flex-direction: row; align-items: flex-start; gap: 13px;
  background: none; border: none; box-shadow: none; border-radius: 0;
  padding: 10px 4px 10px 14px; position: relative;
  transition: transform .3s var(--ease);
}
/* animated gold accent line grows on hover */
body.home .why-item::before {
  content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 3px; height: 0; border-radius: 3px;
  background: linear-gradient(var(--gold), var(--gold-dark));
  transition: height .35s var(--ease);
}
body.home .why-item:hover { transform: translateX(5px); }
body.home .why-item:hover::before { height: 72%; }
body.home .why-item .w-ico {
  flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; clip-path: none;
  background: linear-gradient(140deg, var(--navy), var(--navy-2)); color: var(--gold);
  box-shadow: 0 6px 14px rgba(43,33,24,.2); filter: none; margin-top: 2px;
  transition: box-shadow .3s, transform .35s var(--ease);
}
body.home .why-item .w-ico svg { width: 20px; height: 20px; }
body.home .why-item:hover .w-ico { box-shadow: 0 10px 20px rgba(43,33,24,.3); }
body.home .why-item h4 { color: var(--navy); font-size: .96rem; line-height: 1.25; margin-bottom: 3px; }
body.home .why-item p { color: var(--muted); font-size: .84rem; line-height: 1.5; }
@media (max-width: 620px) { body.home .why-list { grid-template-columns: 1fr; } }

/* ============================================================
   TESTIMONIALS — giant quote mark
   ============================================================ */
/* testimonials carousel — 3 cards at a time with arrows */
body.home .testi-carousel { margin-top: 8px; }
body.home .testi-stage { position: relative; padding: 0 66px; }
body.home .testi-viewport { overflow: hidden; }
body.home .testi-track { display: flex; gap: 24px; transition: transform .55s var(--ease); }
body.home .testi-track > .testi-box {
  flex: 0 0 calc((100% - 48px) / 3); box-sizing: border-box;
  display: flex; flex-direction: column; padding: 30px 28px;
  border: 1.5px solid transparent; border-radius: 16px;
  background:
    linear-gradient(165deg, #ffffff 0%, #fff6e9 100%) padding-box,
    linear-gradient(140deg, var(--gold), var(--gold-dark)) border-box;
  box-shadow: 0 14px 32px rgba(43,33,24,.07);
  transition: transform .3s var(--ease), box-shadow .3s;
}
body.home .testi-track > .testi-box:hover { transform: translateY(-6px); box-shadow: 0 22px 46px rgba(244,169,48,.22); }
body.home .testi-box .stars { margin-bottom: 14px; }
body.home .testi-box p { flex: 1 0 auto; color: var(--ink); }
body.home .testi-box .person { margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(43,33,24,.10); }
/* red circular quote badge (top-right) */
body.home .testi-box .qmark {
  top: 18px; right: 20px; width: 42px; height: 42px; border-radius: 50%;
  background: linear-gradient(135deg, var(--gold), var(--green-dark)); color: #fff;
  display: grid; place-items: center; font-family: Georgia, serif;
  font-size: 1.5rem; font-weight: 700; line-height: 0;
  box-shadow: 0 6px 14px rgba(92,58,13,.35);
}
/* outline arrows — sit in the side padding, centered on the cards */
body.home .tc-arrow {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
  width: 50px; height: 50px; border-radius: 50%;
  background: #fff; color: var(--navy); border: 1.5px solid var(--line);
  font-size: 1.3rem; line-height: 1; display: grid; place-items: center;
  box-shadow: 0 8px 20px rgba(43,33,24,.12); cursor: pointer;
  transition: transform .25s, background .25s, color .25s, border-color .25s, opacity .25s;
}
body.home .tc-prev { left: 0; }
body.home .tc-next { right: 0; }
body.home .tc-arrow:hover { transform: translateY(-50%) scale(1.1); background: var(--navy); color: #fff; border-color: var(--navy); }
body.home .tc-arrow:disabled { opacity: .35; cursor: default; }
/* pill dots */
body.home .tc-dots { display: flex; gap: 8px; justify-content: center; margin-top: 34px; }
body.home .tc-dots button { width: 10px; height: 10px; border-radius: 999px; background: #e2d6c2; transition: .3s; }
body.home .tc-dots button.active { width: 30px; background: var(--navy); }
/* responsive: 2 then 1 visible */
@media (max-width: 1024px) { body.home .testi-track > .testi-box { flex-basis: calc((100% - 24px) / 2); } }
@media (max-width: 680px)  { body.home .testi-track > .testi-box { flex-basis: 100%; } body.home .testi-stage { padding: 0 46px; } body.home .tc-arrow { width: 40px; height: 40px; } }

/* ============================================================
   PARTNER LOGOS — subtle card feel
   ============================================================ */
/* soft blue gradient for the USP section */
body.home .usp-section { background: linear-gradient(160deg, #f3ead9 0%, #faf5ec 100%); }

/* navy band for the partners section */
body.home .partners-section { background: linear-gradient(160deg, #45341d 0%, #2b2118 100%); }
body.home .partners-section .section-title { background: none; -webkit-text-fill-color: #fff; color: #fff; }
body.home .partners-section .eyebrow { color: var(--gold); background: rgba(244,169,48,.16); }
body.home .partners-section .logo-strip::before { background: linear-gradient(90deg, #3a2c18, transparent); }
body.home .partners-section .logo-strip::after { background: linear-gradient(270deg, #3a2c18, transparent); }
body.home .logo-strip { padding: 22px 0; }
body.home .logo-track { gap: 22px; align-items: center; }
body.home .logo-item {
  height: auto; opacity: 1; padding: 18px 30px; border-radius: 16px 4px 16px 4px;
  background: #fff; border: 1.5px solid var(--line);
  color: var(--navy); font-size: 1.05rem; font-weight: 800; letter-spacing: -.2px;
  box-shadow: 0 6px 16px rgba(43,33,24,.05);
  display: inline-flex; align-items: center; gap: 12px;
  transition: transform .3s var(--ease), border-color .3s, box-shadow .3s, color .3s;
}
body.home .logo-item::before {
  content: ""; width: 11px; height: 11px; border-radius: 50%; flex: 0 0 auto;
  background: linear-gradient(135deg, var(--gold), var(--gold-dark));
  box-shadow: 0 0 0 4px rgba(244,169,48,.15);
}
body.home .logo-item:hover {
  transform: translateY(-6px); color: var(--gold-dark);
  border-color: rgba(244,169,48,.6); box-shadow: 0 16px 32px rgba(43,33,24,.10);
}

/* ============================================================
   FAQ — gradient hover accent
   ============================================================ */
body.home .faq-wrap { max-width: 1080px; }
body.home .faq { border-radius: 16px; transition: box-shadow .25s, border-color .25s, transform .25s; }
body.home .faq:hover { transform: translateX(4px); }
body.home .faq.open { border-left: 4px solid var(--gold); }
body.home .faq-q { padding: 22px 26px; }

/* ============================================================
   ENQUIRY SECTION — animated blobs + glass form
   ============================================================ */
body.home #enquiry {
  position: relative; overflow: hidden;
  background: #ffffff;
}
/* white background → dark, readable copy */
body.home #enquiry .enquiry-copy h2 { color: var(--navy); }
body.home #enquiry .enquiry-copy p { color: var(--muted); }
body.home #enquiry .enquiry-points li { color: var(--ink); }
/* decorative corner glows removed — keep the section clean white */
body.home #enquiry::before, body.home #enquiry::after { display: none; }
body.home #enquiry .container { position: relative; z-index: 1; }
/* shaped form card with gradient border */
body.home #enquiry .form-card {
  position: relative; border: none;
  border-radius: 40px 12px 40px 12px;
  box-shadow: 0 30px 60px rgba(0,0,0,.28);
}
body.home #enquiry .form-card::before {
  content: ""; position: absolute; inset: -2px; border-radius: inherit; z-index: -1;
  background: linear-gradient(135deg, var(--gold), var(--gold-dark));
}
/* heading accent underline */
body.home #enquiry .form-card h3 { position: relative; padding-bottom: 12px; }
body.home #enquiry .form-card h3::after {
  content: ""; position: absolute; left: 0; bottom: 0; width: 48px; height: 3px; border-radius: 3px;
  background: linear-gradient(90deg, var(--gold), var(--gold-dark));
}
/* refined inputs */
body.home #enquiry .field label { color: var(--navy); }
body.home #enquiry .field input,
body.home #enquiry .field select,
body.home #enquiry .field textarea {
  border-radius: 12px; padding: 13px 15px; border: 1.5px solid var(--line); background: #faf6ef;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
body.home #enquiry .field input:focus,
body.home #enquiry .field select:focus,
body.home #enquiry .field textarea:focus {
  border-color: var(--gold); box-shadow: 0 0 0 3px rgba(244,169,48,.18); background: #fff; outline: none;
}
body.home #enquiry .form-card .btn-gold { border-radius: 14px; padding: 15px; margin-top: 4px; }
/* polished tick badges */
body.home .enquiry-points li { transition: transform .25s; }
body.home .enquiry-points li:hover { transform: translateX(6px); }
body.home .enquiry-points .tick {
  width: 28px; height: 28px; flex: 0 0 28px; color: #fff; font-weight: 800;
  background: linear-gradient(140deg, var(--green), var(--green-dark));
  box-shadow: 0 6px 14px rgba(138,90,28,.35);
}

/* ============================================================
   ALWAYS-ON (idle) ANIMATIONS — run continuously, not on hover
   ============================================================ */
@keyframes floatSoft { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
@keyframes floatSoftRot { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-8px) rotate(-5deg); } }
@keyframes ringPulseSoft { 0% { box-shadow: 0 0 0 0 rgba(244,169,48,.45); } 70% { box-shadow: 0 0 0 14px rgba(244,169,48,0); } 100% { box-shadow: 0 0 0 0 rgba(244,169,48,0); } }
@keyframes glowPulse { 0%,100% { box-shadow: 0 8px 20px rgba(43,33,24,.10); } 50% { box-shadow: 0 16px 34px rgba(244,169,48,.30); } }
@keyframes cardBob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes nudge { 0%,100% { transform: translateX(0); } 50% { transform: translateX(5px); } }
@keyframes badgePop { 0%,100% { transform: scale(1); } 50% { transform: scale(1.12); } }
@keyframes starTwinkle { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .55; transform: scale(.88); } }

/* Service icons — continuous float + wobble (staggered) */
body.home .service-icon { animation: floatSoftRot 4.5s ease-in-out infinite; }
body.home .services-grid .service-card:nth-child(1) .service-icon { animation-delay: 0s; }
body.home .services-grid .service-card:nth-child(2) .service-icon { animation-delay: .5s; }
body.home .services-grid .service-card:nth-child(3) .service-icon { animation-delay: 1s; }
body.home .services-grid .service-card:nth-child(4) .service-icon { animation-delay: 1.5s; }
/* number badges gently pop */
body.home .sc-num { animation: badgePop 3.5s ease-in-out infinite; }
/* (read-more is now a button — no idle nudge) */

/* USP icons — continuous float + a repeating glow ring (staggered wave) */
body.home .usp-ico { animation: floatSoft 4s ease-in-out infinite, ringPulseSoft 3.2s ease-out infinite; }
body.home .usp-grid .usp:nth-child(1) .usp-ico { animation-delay: 0s, 0s; }
body.home .usp-grid .usp:nth-child(2) .usp-ico { animation-delay: .4s, .5s; }
body.home .usp-grid .usp:nth-child(3) .usp-ico { animation-delay: .8s, 1s; }
body.home .usp-grid .usp:nth-child(4) .usp-ico { animation-delay: 1.2s, 1.5s; }

/* Why-Choose-Us icons float continuously (staggered) */
body.home .why-item .w-ico { animation: floatSoft 4.2s ease-in-out infinite; }
body.home .why-list .why-item:nth-child(1) .w-ico { animation-delay: .1s; }
body.home .why-list .why-item:nth-child(2) .w-ico { animation-delay: .5s; }
body.home .why-list .why-item:nth-child(3) .w-ico { animation-delay: .9s; }
body.home .why-list .why-item:nth-child(4) .w-ico { animation-delay: 1.3s; }

/* Stat icon badges float continuously (staggered) */
body.home .stats-bar .stat:nth-child(1) .stat-ico { animation: floatSoft 4s ease-in-out infinite; }
body.home .stats-bar .stat:nth-child(2) .stat-ico { animation: floatSoft 4s ease-in-out .5s infinite; }
body.home .stats-bar .stat:nth-child(3) .stat-ico { animation: floatSoft 4s ease-in-out 1s infinite; }
body.home .stats-bar .stat:nth-child(4) .stat-ico { animation: floatSoft 4s ease-in-out 1.5s infinite; }

/* Testimonial stars twinkle + avatar float */
body.home .testi-box .stars { animation: starTwinkle 2.4s ease-in-out infinite; }
body.home .testi-box .person img { animation: floatSoft 3.6s ease-in-out infinite; }

/* Enquiry ticks pulse; hero-side CTA gently glows */
body.home .enquiry-points .tick { animation: badgePop 2.8s ease-in-out infinite; }
body.home .form-card { animation: glowPulse 5s ease-in-out infinite; }

/* keep hover as an extra flourish where it doesn't fight the idle animation */
body.home .usp:hover .usp-ico { animation-play-state: paused; transform: scale(1.12); }

/* ============================================================
   Reduced motion
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  body.home *, body.home *::before, body.home *::after { animation: none !important; }
}

/* ============================================================
   Testimonials carousel — self-contained, fresh class names
   (moved from inline <style> in index.html; no design change)
   ============================================================ */
.tcar { position: relative; margin-top: 8px; }
.tcar-row { display: flex; align-items: center; gap: 18px; }
.tcar-btn { flex: 0 0 50px; width: 50px; height: 50px; border-radius: 50%; background: #fff; border: 1.5px solid #ece2d2; color: #6d6152; display: grid; place-items: center; cursor: pointer; box-shadow: 0 8px 20px rgba(43,33,24,.12); font-size: 1.3rem; line-height: 1; transition: transform .25s, background .25s, color .25s, border-color .25s, opacity .25s; }
.tcar-btn:hover { background: #2b2118; color: #fff; border-color: #2b2118; transform: scale(1.08); }
.tcar-btn:disabled { opacity: .35; cursor: default; }
.tcar-view { flex: 1 1 auto; min-width: 0; overflow: hidden; }
.tcar-track { display: flex; gap: 24px; flex-wrap: nowrap; transition: transform .55s cubic-bezier(.22,1,.36,1); }
.tcar-item { flex: 0 0 auto; box-sizing: border-box; display: flex; flex-direction: column; padding: 32px 30px; border-radius: 18px; position: relative; overflow: hidden; background: #fff; border: 1px solid #ece2d2; box-shadow: 0 14px 34px rgba(43,33,24,.08); transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s; }
.tcar-item:hover { transform: translateY(-6px); box-shadow: 0 22px 46px rgba(43,33,24,.14); }
.tcar-item::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg,#f4a930,#d98e14); }
.tcar-item::after { content: "\201C"; position: absolute; top: 26px; right: 24px; font-family: Georgia, serif; font-size: 4.4rem; line-height: 1; color: rgba(43,33,24,.06); z-index: 0; }
.tcar-item .tq { display: none; }
.tcar-item .tperson { order: -1; display: flex; align-items: center; gap: 13px; margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid #f3ead9; position: relative; z-index: 1; }
.tcar-item .tperson img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; border: 2px solid #f4a930; }
.tcar-item .tperson b { display: block; color: #2b2118; font-size: 1rem; }
.tcar-item .tperson span { font-size: .82rem; color: #6d6152; }
.tcar-item .tstars { color: #f4a930; letter-spacing: 2px; margin-bottom: 12px; position: relative; z-index: 1; }
.tcar-item p { color: #241c14; flex: 1 0 auto; margin-bottom: 0; line-height: 1.65; position: relative; z-index: 1; }
.tcar-dots { display: flex; gap: 8px; justify-content: center; margin-top: 30px; }
.tcar-dots button { width: 10px; height: 10px; border-radius: 999px; background: #e2d6c2; border: none; cursor: pointer; padding: 0; transition: .3s; }
.tcar-dots button.on { width: 28px; background: #2b2118; }
@media (max-width: 680px) {
  .tcar-row { gap: 8px; }
  .tcar-btn { flex-basis: 40px; width: 40px; height: 40px; }
  /* compact testimonial card on mobile */
  .tcar-item { padding: 22px 20px; border-radius: 14px; }
  .tcar-item .tperson { gap: 11px; margin-bottom: 12px; padding-bottom: 12px; }
  .tcar-item .tperson img { width: 44px; height: 44px; }
  .tcar-item .tperson b { font-size: .92rem; }
  .tcar-item .tperson span { font-size: .76rem; }
  .tcar-item .tstars { margin-bottom: 8px; font-size: .9rem; }
  .tcar-item p { font-size: .9rem; line-height: 1.55; }
  .tcar-item::after { font-size: 3rem; top: 16px; right: 18px; }
  .tcar-dots { margin-top: 20px; }
}
/* single hero banner — show the full designed image, no crop */
body.home .hero-single { display: block; line-height: 0; background: #2b2118; }
body.home .hero-banner { display: block; }
body.home .hero-banner img { width: 100%; height: auto; display: block; }
body.home .stats-bar { margin-top: 30px; }
