:root{
  --navy:#0b2a5c;
  --navy-dark:#071c40;
  --orange:#f9520a;
  --orange-light:#fb7a1e;
  --cream:#fdfbf9;
  --gray:#5c6470;
  --border:#eef0f4;
  --font-head:'Poppins', sans-serif;
  --font-body:'Inter', sans-serif;
  --radius:10px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body); color:#222; background:#fff; line-height:1.5;}
img{max-width:100%; display:block;}
a{text-decoration:none; color:inherit;}
ul{list-style:none;}
button{font-family:inherit;}
.container{max-width:1180px; margin:0 auto; padding:0 24px;}
h1,h2,h3{font-family:var(--font-head); color:var(--navy); line-height:1.15;}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 26px; border-radius:6px; font-weight:600; font-size:.95rem;
  border:none; cursor:pointer; white-space:nowrap;
}
.btn-navy{background:var(--navy); color:#fff;}
.btn-orange{background:var(--orange); color:#fff;}
.btn-orange:hover{background:var(--orange-light);}
.btn-navy:hover{background:var(--navy-dark);}
.eyebrow{
  color:var(--orange); font-weight:600; letter-spacing:1.5px; font-size:.8rem;
  text-transform:uppercase; display:flex; align-items:center; gap:10px; justify-content:center;
}
.eyebrow::before,.eyebrow::after{content:""; width:26px; height:2px; background:var(--orange);}
svg{flex-shrink:0;}

/* ===== 1. TOP UTILITY BAR — flex row, space-between ===== */
.topbar{background:var(--navy); color:#fff; font-size:.82rem;}
.topbar .container{
  display:flex; align-items:center; justify-content:space-between;
  padding:9px 24px; gap:16px; flex-wrap:wrap;
}
.topbar .tagline{display:flex; align-items:center; gap:8px; color:#cfe0ff;}
.topbar .contact-group{display:flex; align-items:center; gap:26px; flex-wrap:wrap;}
.topbar .contact-item{display:flex; align-items:center; gap:7px;}

/* ===== 2. HEADER / NAV — flex row, space-between ===== */
header.site-header{padding:14px 0; border-bottom:1px solid var(--border); position:relative;}
header.site-header .container{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.logo{display:flex; align-items:center; gap:10px;}
.logo .logo-text{font-family:var(--font-head); font-weight:700; color:var(--navy); font-size:1.15rem; line-height:1.15;}
.logo .logo-text span{display:block; color:var(--orange); font-size:.55rem; letter-spacing:3px; font-weight:600;}
nav.main-nav ul{display:flex; align-items:center; gap:30px; font-weight:500; font-size:.92rem;}
nav.main-nav a.active{color:var(--orange); border-bottom:2px solid var(--orange); padding-bottom:4px;}
.header-actions{display:flex; align-items:center; gap:18px;}
.nav-close{display:none;}

/* Hamburger toggle button — hidden on desktop */
.nav-toggle{
  display:none; background:none; border:none; cursor:pointer; padding:6px;
  align-items:center; justify-content:center;
}

/* Overlay backdrop for mobile menu */
.nav-overlay{
  display:none; position:fixed; inset:0; background:rgba(7,28,64,.45);
  opacity:0; visibility:hidden; transition:opacity .25s ease;
  z-index:40;
}
.nav-overlay.open{opacity:1; visibility:visible;}

/* ===== 3. HERO — flex row (text | image) ===== */
.hero{position:relative; overflow:hidden; background:linear-gradient(180deg,#fff 60%, #fdf3ec 100%);}
.hero .container{
  display:flex; align-items:center; gap:40px; padding:56px 24px 20px; flex-wrap:wrap;
}
.hero-text{flex:1 1 420px;}
.badge-pill{
  display:inline-block; background:var(--orange); color:#fff; font-size:.75rem; font-weight:600;
  padding:6px 16px; border-radius:20px; margin-bottom:16px; letter-spacing:.5px;
}
.hero-text h1{font-size:2.6rem; font-weight:800; margin-bottom:16px;}
.hero-text h1 .accent{color:var(--orange);}
.hero-text p{color:var(--gray); font-size:1rem; max-width:440px; margin-bottom:26px;}
.hero-cta{display:flex; gap:14px; margin-bottom:34px; flex-wrap:wrap;}
.hero-trust{display:flex; gap:26px; flex-wrap:wrap;}
.trust-item{display:flex; align-items:center; gap:8px; font-size:.8rem; font-weight:500; color:var(--navy);}
.hero-image{flex:1 1 420px; position:relative;}
.hero-image .photo{
  width:100%; aspect-ratio:4/3.1; border-radius:var(--radius); overflow:hidden;
  background:linear-gradient(135deg,#ffe8d6,#cfe0ff);
}
.hero-image img{width:100%; height:100%; object-fit:cover;}
.hero-goal-badge{
  position:absolute; bottom:-10px; right:10px; background:var(--navy); color:#fff;
  width:118px; height:118px; clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  font-size:.72rem; font-weight:700; gap:6px;
}
.hero-goal-badge span{color:var(--orange);}

/* ===== 4. STATS BAR — grid row, 4 equal items ===== */
.stats{background:var(--navy); border-radius:var(--radius); margin:20px auto 0; max-width:1180px;}
.stats .container{
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding:26px 24px;
}
.stat-item{display:flex; align-items:center; gap:14px; color:#fff;}
.stat-icon{
  width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.stat-item h3{color:#fff; font-size:1.3rem; font-weight:700;}
.stat-item p{font-size:.78rem; color:#cfd9ec;}

/* ===== 5. SECTION HEADING ===== */
.section-heading{text-align:center; max-width:640px; margin:0 auto 44px;}
.section-heading h2{font-size:2rem; margin-top:12px;}
section{padding:80px 0;}

/* ===== 6. SERVICES — grid, 6 equal columns ===== */
.services-grid{
  display:grid; grid-template-columns:repeat(6,1fr); gap:20px;
}
.service-card{
  border:1px solid var(--border); border-radius:var(--radius); padding:28px 18px; text-align:center;
  transition:box-shadow .2s, transform .2s;
}
.service-card:hover{box-shadow:0 14px 30px rgba(11,42,92,.1); transform:translateY(-4px);}
.service-icon{
  width:62px; height:62px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  margin:0 auto 18px;
}
.icon-navy{background:var(--navy);}
.icon-orange{background:var(--orange);}
.service-card h3{font-size:1rem; margin-bottom:10px;}
.service-card p{font-size:.84rem; color:var(--gray); margin-bottom:14px; min-height:64px;}
.learn-more{font-size:.83rem; font-weight:600; color:var(--navy);}
.service-card.orange-link .learn-more{color:var(--orange);}

/* ===== 7. WHY CHOOSE US — flex row (text | image | testimonial) ===== */
.why-choose .container{display:flex; gap:40px; align-items:stretch; flex-wrap:wrap;}
.why-text{flex:1 1 340px;}
.why-text .eyebrow{justify-content:flex-start;}
.why-text .eyebrow::after{display:none;}
.why-text h2{font-size:1.9rem; margin:12px 0 16px;}
.why-text > p{color:var(--gray); margin-bottom:20px; max-width:420px;}
.check-list li{display:flex; align-items:center; gap:10px; margin-bottom:12px; font-weight:500; font-size:.92rem;}
.why-image{flex:1.1 1 320px; position:relative;}
.why-image .photo{
  width:100%; height:100%; min-height:280px; border-radius:var(--radius); overflow:hidden;
  background:linear-gradient(135deg,#e7edf7,#fbe3d0);
}
.why-image img{width:100%; height:100%; object-fit:cover;}
.years-badge{
  position:absolute; bottom:16px; left:16px; background:var(--navy); color:#fff;
  display:flex; align-items:center; gap:10px; padding:12px 18px; border-radius:8px; font-size:.85rem;
}
.years-badge b{display:block; font-size:1.05rem;}
.testimonial-card{
  flex:1 1 260px; background:#f5f8fd; border-radius:var(--radius); padding:30px 26px;
  display:flex; flex-direction:column; justify-content:space-between;
}
.quote-mark{color:var(--orange); font-size:2rem; font-family:Georgia, serif; font-weight:700;}
.testimonial-card p{color:#333; font-size:.92rem; margin:10px 0 18px; min-height:96px; transition:opacity .2s ease;}
.stars{color:var(--orange); margin-bottom:10px; letter-spacing:2px;}
.testimonial-card .name{font-weight:700; color:var(--navy); font-size:.92rem;}
.testimonial-card .role{font-size:.78rem; color:var(--gray); margin-bottom:16px;}
.testimonial-nav{display:flex; align-items:center; justify-content:space-between;}
.dots{display:flex; gap:6px;}
.dots span{width:7px; height:7px; border-radius:50%; background:#d6dce6; display:block; cursor:pointer; transition:all .2s ease;}
.dots span.active{background:var(--navy); width:18px; border-radius:4px;}
.arrows{display:flex; gap:8px;}
.arrows button{
  width:30px; height:30px; border-radius:50%; border:1px solid #d6dce6; background:#fff; cursor:pointer;
  font-size:1rem; line-height:1; color:var(--navy);
}
.arrows button:hover{background:var(--navy); color:#fff; border-color:var(--navy);}

/* ===== 8. CTA BANNER — flex row (text | form grid | illustration) ===== */
.cta-banner{background:var(--navy); border-radius:var(--radius); }
.cta-banner .container{
  display:flex; align-items:center; gap:34px; padding:34px 30px; flex-wrap:wrap;
}
.cta-left{display:flex; align-items:center; gap:16px; flex:1 1 280px; color:#fff;}
.cta-left .icon-circle{
  width:54px; height:54px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.cta-left h3{color:#fff; font-size:1.15rem;}
.cta-left p{font-size:.8rem; color:#cfd9ec;}
.cta-form{flex:2 1 480px;}
.form-grid{
  display:grid; grid-template-columns:repeat(2,1fr) auto; gap:12px; align-items:center;
}
.form-grid input, .form-grid select{
  padding:12px 14px; border-radius:6px; border:none; font-size:.85rem; font-family:var(--font-body); width:100%;
}
.form-grid button{cursor:pointer;}
.form-note{display:flex; align-items:center; gap:6px; color:#cfd9ec; font-size:.72rem; margin-top:10px;}
.cta-art{flex:0 0 150px; display:flex; align-items:center; justify-content:center;}

/* ===== 9. FOOTER — grid, 5 columns ===== */
footer{padding-top:60px;}
.footer-grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1.1fr 1fr; gap:24px; padding-bottom:40px;
}
.footer-grid h4{font-size:.85rem; letter-spacing:.5px; margin-bottom:16px; color:var(--navy); font-weight:700;}
.footer-grid li, .footer-grid p{font-size:.85rem; color:var(--gray); margin-bottom:10px;}
.footer-grid .contact-line{display:flex; align-items:center; gap:8px;}
.footer-about .logo{margin-bottom:14px;}
.footer-about p{max-width:230px;}
.together{color:var(--orange); font-style:italic; font-weight:600;}
.social-row{display:flex; gap:10px; margin-bottom:22px;}
.social-row a{
  width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff;
}
.irdai-badge{
  display:flex; align-items:center; gap:8px; border:1px solid var(--border); border-radius:8px; padding:10px 12px; font-size:.72rem; font-weight:600; color:var(--navy);
}

/* ===== 10. BOTTOM BAR — flex row, space-between ===== */
.bottom-bar{background:var(--navy); color:#cfd9ec; font-size:.8rem;}
.bottom-bar .container{
  display:flex; align-items:center; justify-content:space-between; padding:16px 24px; flex-wrap:wrap; gap:10px;
}
.bottom-bar a{color:#cfd9ec;}
.bottom-links{display:flex; gap:18px;}

/* ===== Responsive ===== */
@media (max-width:980px){
  .services-grid{grid-template-columns:repeat(3,1fr);}
  .footer-grid{grid-template-columns:repeat(2,1fr);}
  .stats .container{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:768px){
  .desktop-only{display:none;}
  .nav-toggle{display:flex;}

  /* Slide-in mobile nav panel */
  nav.main-nav{
    position:fixed; top:0; right:-280px; width:260px; height:100vh; background:#fff;
    box-shadow:-4px 0 20px rgba(0,0,0,.1); padding:70px 24px 24px; z-index:50;
    transition:right .3s ease;
  }
  nav.main-nav.open{right:0;}
  nav.main-nav ul{flex-direction:column; align-items:flex-start; gap:0;}
  nav.main-nav ul li{width:100%; border-bottom:1px solid var(--border);}
  nav.main-nav ul li a{display:block; padding:14px 0;}
  .nav-close{
    display:block; position:absolute; top:16px; right:20px; background:none; border:none;
    font-size:1.8rem; line-height:1; color:var(--navy); cursor:pointer;
  }
  .nav-overlay{display:block;}

  .hero-text h1{font-size:2rem;}
  .services-grid{grid-template-columns:repeat(2,1fr);}
  .form-grid{grid-template-columns:1fr;}
  .cta-art{display:none;}
}

@media (max-width:520px){
  .services-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .stats .container{grid-template-columns:1fr;}
}

/* Respect reduced motion preference */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  nav.main-nav, .nav-overlay, .testimonial-card p{transition:none;}
}
