/* ==========================================================
   BHARAT FINPOINT — Premium Corporate Design System
   ========================================================== */
:root {
  --bg-main:    #F8FAFC;
  --bg-alt:     #FFFFFF;
  
  --ink-dark:   #0F172A;
  --ink-body:   #334155;
  --ink-muted:  #64748B;
  --line:       #E2E8F0;

  --brand-main: #0F766E;
  --brand-dark: #115E59;
  --brand-light:#CCFBF1;

  --warn-bg:    #FEF2F2;
  --warn-line:  #FECACA;
  --warn-text:  #991B1B;

  --font-display-en: 'Fraunces', Georgia, serif;
  --font-body-en: 'Inter', system-ui, -apple-system, sans-serif;
  --font-display-or: 'Baloo Bhaina 2', sans-serif;
  --font-body-or: 'Noto Sans Oriya', 'Noto Sans', sans-serif;

  --shadow-soft: 0 4px 6px -1px rgba(0, 0, 0, 0.03), 0 2px 4px -2px rgba(0, 0, 0, 0.03);
  --shadow-lift: 0 20px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.01);
}

html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body {
  background-color: var(--bg-main);
  color: var(--ink-body);
  font-family: var(--font-body-en);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* Language Toggles */
[lang="or"] { font-family: var(--font-body-or); }
h1[lang="or"], h2[lang="or"], h3[lang="or"], .brand-word[lang="or"] { font-family: var(--font-display-or); }
h1[lang="en"], h2[lang="en"], h3[lang="en"], .brand-word[lang="en"] { font-family: var(--font-display-en); }
html[data-lang="en"] [lang="or"] { display: none !important; }
html[data-lang="or"] [lang="en"] { display: none !important; }

/* Container & Sections */
.container-custom { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.full-section { padding: 90px 0; border-bottom: 1px solid var(--line); }
.full-section:nth-child(even) { background-color: var(--bg-alt); }

/* Typography */
.eyebrow-text {
  display: inline-block;
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--brand-main);
  font-weight: 700;
  margin-bottom: 16px;
}
.section-title {
  font-size: clamp(2rem, 3vw + 1rem, 3rem);
  line-height: 1.2;
  font-weight: 800;
  color: var(--ink-dark);
  margin-bottom: 16px;
  letter-spacing: -0.02em;
}


/* Embedded Bharat Finpoint logo */
.site-brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.brand-logo { width: 232px; height: auto; max-height: 54px; display: block; }
.brand-logo-footer { width: 224px; max-height: 52px; }
@media (max-width: 640px) {
  .brand-logo { width: 146px; max-height: 42px; }
  .brand-logo-footer { width: 205px; }
  .site-header { height: 74px; }
  .site-header .container-custom { padding-left: 12px; padding-right: 12px; }
  .lang-switch button { padding: 5px 9px; font-size: 0.76rem; }
  .main-nav.open { top: 74px; }
}

/* Navigation */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(226, 232, 240, 0.8);
  height: 80px;
}

.lang-switch {
  display: inline-flex;
  background: var(--bg-main);
  border: 1px solid var(--line);
  border-radius: 99px;
  padding: 4px;
}
.lang-switch button {
  padding: 6px 16px;
  border-radius: 99px;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--ink-muted);
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
}
.lang-switch button.active { background: white; color: var(--brand-main); box-shadow: var(--shadow-soft); }

/* Buttons */
.btn-premium {
  background: var(--brand-main);
  color: white;
  box-shadow: 0 4px 14px 0 rgba(15, 118, 110, 0.39);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  display: inline-flex; align-items: center; justify-content: center;
}
.btn-premium:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(15, 118, 110, 0.5); }

/* Premium Cards */
.card-premium {
  background: white;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 32px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: var(--shadow-soft);
  display: flex; flex-direction: column;
}
.card-premium:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-lift);
  border-color: #cbd5e1;
}
.card-icon {
  width: 48px; height: 48px;
  border-radius: 14px;
  background: var(--brand-light);
  color: var(--brand-main);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 20px;
}
.card-icon svg { width: 24px; height: 24px; }

/* Enquiry & Testimonial Cards */
.enquiry-card {
  display: flex; align-items: center; justify-content: space-between;
  background: white; border: 1px solid var(--line);
  border-radius: 16px; padding: 20px 24px;
  font-size: 1rem; cursor: pointer; transition: all 0.3s ease;
}
.enquiry-card:hover { border-color: var(--brand-main); background: var(--bg-main); transform: translateY(-2px); box-shadow: var(--shadow-soft); }
.enquiry-card svg { width: 20px; height: 20px; color: var(--brand-main); }

.testimonial-card {
  background: white; border: 1px solid var(--line); border-radius: 20px; padding: 32px;
  box-shadow: var(--shadow-soft); display: flex; flex-direction: column; height: 100%;
}

/* Forms */
.form-input, .form-select {
  width: 100%; padding: 14px 18px;
  border: 1px solid var(--line); border-radius: 12px;
  font-family: inherit; font-size: 0.95rem; background: var(--bg-main);
  transition: all 0.2s ease;
}
.form-input:focus, .form-select:focus {
  outline: none; border-color: var(--brand-main);
  box-shadow: 0 0 0 4px var(--brand-light); background: white;
}
.form-success { display: none; background: #ECFDF5; border: 1px solid #A7F3D0; color: #065F46; padding: 16px; border-radius: 12px; margin-bottom: 24px; font-weight: 600; }
.form-success.show { display: block; animation: slideDown 0.4s ease; }

/* Animations */
.scroll-reveal { opacity: 0; transform: translateY(30px); transition: all 0.8s cubic-bezier(0.2, 1, 0.3, 1); }
.scroll-reveal.visible { opacity: 1; transform: translateY(0); }
.fade-in-delay-1 { transition-delay: 0.15s; }
.fade-in-delay-2 { transition-delay: 0.3s; }
.fade-in-delay-3 { transition-delay: 0.45s; }

@keyframes slideDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }

/* Floating elements */
.location-chips { display: flex; flex-wrap: wrap; gap: 12px; }
.location-chip {
  background: white; border: 1px solid var(--line); border-radius: 99px;
  padding: 10px 20px; font-size: 0.9rem; font-weight: 500;
  box-shadow: var(--shadow-soft);
}

.whatsapp-float {
  position: fixed; right: 24px; bottom: 24px; z-index: 60;
  width: 64px; height: 64px; border-radius: 50%;
  background: #25D366; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 25px rgba(37, 211, 102, 0.4);
  transition: transform 0.3s ease;
}
.whatsapp-float:hover { transform: scale(1.1); }
.whatsapp-float svg { width: 34px; height: 34px; color: white; }

/* ==========================================================
   MOBILE NAVIGATION & HAMBURGER MENU FIX
   ========================================================== */
.mobile-action-bar { display: none; }

@media (max-width: 768px) {
  /* Default state: Hide menu on mobile */
  .main-nav {
    display: none !important;
  }

  /* Active state when toggled by JavaScript */
  .main-nav.open {
    display: flex !important;
    flex-direction: column;
    position: fixed;
    top: 80px; 
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    padding: 24px;
    gap: 20px;
    border-bottom: 1px solid var(--line);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    z-index: 49;
    animation: slideDownNav 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  }

  /* Hamburger Toggle Button */
  .nav-toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    width: 44px;
    height: 44px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 51;
  }

  .nav-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--ink-dark);
    border-radius: 2px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }

  /* Animate Hamburger icon into an "X" when open */
  .nav-toggle.active span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .nav-toggle.active span:nth-child(2) { opacity: 0; transform: translateX(-10px); }
  .nav-toggle.active span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

  /* Adjust Action Bar & Float Button */
  .mobile-action-bar {
    display: block; position: fixed; bottom: 0; left: 0; right: 0; z-index: 55;
    background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(12px);
    border-top: 1px solid var(--line); padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  }
  
  body { padding-bottom: 90px; }
  .whatsapp-float { bottom: 100px; right: 16px; width: 56px; height: 56px; }
}

@keyframes slideDownNav {
  from { opacity: 0; transform: translateY(-12px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ==========================================================
   BHARAT FINPOINT — Odia + English mixed-language pages
   ========================================================== */
html[data-lang="mix"] [lang="en"], html[data-lang="mix"] [lang="or"] { display: initial !important; }
html[data-lang="mix"] h1[lang="or"], html[data-lang="mix"] h2[lang="or"] { display: block !important; }
html[data-lang="mix"] h1[lang="or"] { font-size: clamp(2rem, 4vw, 3.35rem) !important; color: var(--brand-main); margin-top: -0.35rem; }
html[data-lang="mix"] .section-title[lang="or"] { font-size: clamp(1.45rem, 2.4vw, 2.2rem); color: var(--brand-main); margin-top: -0.55rem; }
html[data-lang="mix"] p[lang="or"] { display: block !important; color: #526374; }
html[data-lang="mix"] button [lang="or"], html[data-lang="mix"] a [lang="or"], html[data-lang="mix"] label [lang="or"] { display: inline !important; }
html[data-lang="mix"] button [lang="or"]::before, html[data-lang="mix"] a [lang="or"]::before { content: " / "; opacity: .6; }

.nav-link { display:inline-flex; align-items:center; gap:.25rem; color:#334155; font-weight:650; font-size:.86rem; white-space:nowrap; transition:.2s ease; }
.nav-link:hover,.nav-link.active { color:var(--brand-main); }
.nav-divider { opacity:.35; }
.nav-or { font-family:var(--font-body-or); }
.footer-heading { color:#fff; font-weight:700; margin-bottom:1.1rem; letter-spacing:.04em; font-size:.9rem; }
.footer-links { display:grid; gap:.7rem; }
.footer-links a { color:#94A3B8; font-size:.88rem; transition:.2s ease; }
.footer-links a:hover { color:#fff; }

.page-hero { padding:100px 0 78px; background:radial-gradient(circle at 90% 10%,#CCFBF1 0,transparent 32%),linear-gradient(135deg,#fff,#F8FAFC); border-bottom:1px solid var(--line); }
.page-hero h1 { font-family:var(--font-display-en); color:var(--ink-dark); font-size:clamp(2.6rem,6vw,5.4rem); line-height:1.02; letter-spacing:-.045em; font-weight:800; margin-bottom:.7rem; }
.page-hero h2[lang="or"] { font-family:var(--font-display-or); color:var(--brand-main); font-size:clamp(1.9rem,4vw,3.3rem); line-height:1.2; margin-bottom:1.5rem; }
.page-lead,.odia-lead { max-width:780px; font-size:1.12rem; line-height:1.8; }
.odia-lead { font-family:var(--font-body-or); color:#526374; margin-top:.4rem; }
.content-section { padding:82px 0; border-bottom:1px solid var(--line); }
.section-kicker { display:inline-block; color:var(--brand-main); font-weight:800; font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; margin-bottom:.75rem; }
.content-title { color:var(--ink-dark); font-family:var(--font-display-en); font-weight:800; font-size:clamp(2rem,4vw,3.4rem); line-height:1.12; letter-spacing:-.03em; margin-bottom:1rem; }
.section-intro { max-width:790px; margin-bottom:2.5rem; }
.odia-copy { font-family:var(--font-body-or); margin-top:.8rem; }
.split-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:56px; align-items:start; }
.split-layout p { margin-top:1rem; }
.highlight-panel { background:#fff; border:1px solid var(--line); border-radius:24px; padding:34px; box-shadow:var(--shadow-lift); }
.highlight-panel h3 { color:var(--ink-dark); font-size:1.4rem; font-weight:800; margin-bottom:1rem; }
.highlight-panel hr { border:0; border-top:1px solid var(--line); margin:1.5rem 0; }
.check-list { display:grid; gap:.85rem; }
.check-list li { position:relative; padding-left:1.75rem; }
.check-list li::before { content:"✓"; position:absolute; left:0; color:var(--brand-main); font-weight:900; }
.info-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.info-card { background:#fff; border:1px solid var(--line); border-radius:20px; padding:28px; box-shadow:var(--shadow-soft); }
.info-card h3 { color:var(--ink-dark); font-size:1.2rem; font-weight:800; margin-bottom:.7rem; }
.info-card p { color:#64748B; }
.info-number { width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--brand-light);color:var(--brand-main);font-weight:900;margin-bottom:1.2rem; }
.service-page-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.service-link-card { display:block; background:#fff; border:1px solid var(--line); border-radius:22px; padding:30px; box-shadow:var(--shadow-soft); transition:.25s ease; }
.service-link-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lift); border-color:var(--brand-main); }
.service-link-card h3 { color:var(--ink-dark); font-weight:800; font-size:1.35rem; margin:.9rem 0 .55rem; }
.service-link-card p { color:#64748B; margin-bottom:1rem; }
.service-link-card strong { color:var(--brand-main); }
.service-icon { width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:var(--brand-light);color:var(--brand-main);font-weight:900;font-size:1.3rem; }
.step-list { display:grid; gap:18px; }
.step-list li { display:flex; gap:18px; padding:22px; background:#fff; border:1px solid var(--line); border-radius:18px; }
.step-list li>span { flex:0 0 40px; width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--brand-main);color:#fff;font-weight:900; }
.step-list h3 { color:var(--ink-dark); font-weight:800; }
.warning-panel { padding:34px; border:1px solid #FED7AA; background:#FFF7ED; border-radius:24px; }
.warning-panel h2 { color:#9A3412; font-size:1.8rem; font-weight:850; margin-bottom:1rem; }
.warning-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 28px; }
.warning-grid p { padding-left:1.4rem; position:relative; }
.warning-grid p::before { content:"•"; position:absolute; left:0; color:#EA580C; font-weight:900; }
.article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.article-card { background:#fff; border:1px solid var(--line); border-radius:20px; padding:28px; }
.article-card>span { color:var(--brand-main); font-weight:900; font-size:.85rem; }
.article-card h3 { color:var(--ink-dark); font-weight:800; font-size:1.25rem; margin:.65rem 0; }
.article-card p+p { margin-top:.7rem; font-family:var(--font-body-or); }
.faq-list { display:grid; gap:14px; max-width:920px; margin:auto; }
.faq-list details { background:#fff; border:1px solid var(--line); border-radius:17px; padding:0 24px; }
.faq-list summary { cursor:pointer; color:var(--ink-dark); font-weight:800; padding:22px 36px 22px 0; position:relative; }
.faq-list summary::after { content:"+"; position:absolute; right:0; top:18px; font-size:1.5rem; color:var(--brand-main); }
.faq-list details[open] summary::after { content:"−"; }
.faq-list details p { padding:0 0 22px; color:#64748B; }
.contact-page-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:50px; }
.contact-methods { display:grid; gap:14px; margin-top:2rem; }
.contact-methods a { display:flex; flex-direction:column; gap:.25rem; padding:18px 20px; background:#fff; border:1px solid var(--line); border-radius:16px; }
.contact-methods strong { color:var(--brand-main); }
.home-page-links { padding:76px 0; background:#fff; border-bottom:1px solid var(--line); }
.quick-page-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.quick-page-grid a { display:flex; flex-direction:column; min-height:190px; padding:24px; border:1px solid var(--line); border-radius:20px; background:#F8FAFC; transition:.25s ease; }
.quick-page-grid a:hover { transform:translateY(-4px); border-color:var(--brand-main); background:#fff; box-shadow:var(--shadow-lift); }
.quick-page-grid a>span { width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:var(--brand-light);color:var(--brand-main);font-weight:900;margin-bottom:1.2rem; }
.quick-page-grid strong { color:var(--ink-dark); font-size:1.05rem; margin-bottom:.4rem; }
.quick-page-grid small { color:#64748B; line-height:1.5; }
.page-cta { padding:70px 0; background:#fff; }
.page-cta-box { display:flex; justify-content:space-between; align-items:center; gap:30px; background:linear-gradient(135deg,#0F766E,#115E59); color:#fff; border-radius:28px; padding:40px; box-shadow:0 25px 55px rgba(15,118,110,.22); }
.page-cta-box h2 { color:#fff; font-size:clamp(2rem,4vw,3rem); font-weight:850; line-height:1.1; }
.page-cta-box p[lang="or"] { color:#CCFBF1; font-size:1.1rem; margin-top:.5rem; }
.cta-light,.cta-outline { display:inline-flex; align-items:center; justify-content:center; padding:13px 20px; border-radius:999px; font-weight:800; }
.cta-light { background:#fff; color:var(--brand-dark); }
.cta-outline { border:1px solid rgba(255,255,255,.55); color:#fff; }
.mobile-mini-action { display:flex; align-items:center; justify-content:center; text-align:center; padding:.75rem .4rem; border-radius:.7rem; font-weight:800; font-size:.72rem; background:#F0FDFA; color:#0F766E; }
.mobile-mini-primary { background:#0F766E; color:#fff; }
@media(max-width:1100px){.main-nav{gap:12px!important}.nav-link{font-size:.76rem}.lang-switch button{padding:5px 9px}.brand-logo{width:190px}.info-grid,.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){.lang-switch{display:none}.page-hero{padding:72px 0 56px}.content-section{padding:60px 0}.split-layout,.contact-page-grid{grid-template-columns:1fr;gap:30px}.info-grid,.article-grid,.service-page-grid,.warning-grid,.quick-page-grid{grid-template-columns:1fr}.page-cta-box{flex-direction:column;align-items:flex-start;padding:30px}.main-nav .nav-link{font-size:.95rem;width:100%;justify-content:center}.main-nav .btn-premium{width:100%}.brand-logo{width:170px}}

/* Tablet navigation safeguard */
@media (max-width: 1050px) and (min-width: 769px) {
  .main-nav { display:none !important; }
  .main-nav.open { display:flex !important; flex-direction:column; position:fixed; top:80px; left:0; right:0; background:rgba(255,255,255,.99); padding:24px; gap:18px; border-bottom:1px solid var(--line); box-shadow:0 20px 25px -5px rgba(0,0,0,.1); z-index:49; }
  .main-nav.open .nav-link, .main-nav.open .btn-premium { width:100%; justify-content:center; }
  .nav-toggle { display:flex !important; flex-direction:column; justify-content:center; align-items:center; gap:6px; width:44px; height:44px; background:transparent; border:0; cursor:pointer; }
  .nav-toggle span { display:block; width:24px; height:2px; background:var(--ink-dark); border-radius:2px; transition:.3s ease; }
  .nav-toggle.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .nav-toggle.active span:nth-child(2){opacity:0}
  .nav-toggle.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
}
@media (min-width:1051px){ .site-header .container-custom{overflow:visible}.nav-toggle{display:none!important}.main-nav{flex-shrink:0}.site-brand{flex-shrink:0}.brand-logo{width:210px}.nav-link{font-size:.78rem}.main-nav{gap:14px!important} }
