/* ============================================================
   Vikas Kshitij & Associates – Master Stylesheet
   ============================================================ */

:root{
  --navy-900:#062644;
  --navy-800:#0b3760;
  --navy-700:#0e436f;
  --accent:#f15a29;
  --accent-dark:#d94d1f;
  --gold:#e8a93c;
  --light:#f5f8fc;
  --grey-50:#f7f9fc;
  --grey-100:#eef2f7;
  --grey-200:#dfe6ee;
  --grey-300:#c4cfdb;
  --grey-500:#7a8a9c;
  --grey-700:#1a1a1a;
  --text:#111111;
  --muted:#1a1a1a;
  --white:#ffffff;
  --shadow-sm:0 2px 6px rgba(8,30,55,.06);
  --shadow-md:0 6px 18px rgba(8,30,55,.10);
  --shadow-lg:0 14px 34px rgba(8,30,55,.14);
  --radius:8px;
  --radius-lg:14px;
  --transition:.3s ease;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter','Segoe UI',Roboto,Arial,sans-serif;
  color:var(--text);
  line-height:1.65;
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:var(--navy-800);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--accent)}
h1,h2,h3,h4,h5{font-family:'Poppins','Inter',sans-serif;color:var(--navy-900);font-weight:700;line-height:1.25}
h1{font-size:2.6rem}
h2{font-size:2rem}
h3{font-size:1.35rem}
h4{font-size:1.1rem}
p{color:var(--muted)}

.container{width:90%;max-width:1200px;margin:0 auto}
.section{padding:80px 0}
.section-title{text-align:center;margin-bottom:48px}
.section-title .eyebrow{display:inline-block;color:var(--accent);font-weight:600;letter-spacing:2px;font-size:.78rem;text-transform:uppercase;margin-bottom:10px}
.section-title h2{font-size:2.2rem;margin-bottom:12px}
.section-title h2 span{color:var(--accent)}
.section-title p{max-width:680px;margin:0 auto;color:var(--muted)}

/* Buttons */
.btn{
  display:inline-block;padding:12px 28px;border-radius:30px;
  font-weight:600;font-size:.95rem;cursor:pointer;border:none;
  transition:all var(--transition);text-align:center;
}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-dark);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn-outline{background:transparent;color:#fff;border:2px solid #fff}
.btn-outline:hover{background:#fff;color:var(--navy-800)}
.btn-dark{background:var(--navy-800);color:#fff}
.btn-dark:hover{background:var(--navy-900);color:#fff}

/* ============================================================
   Top utility bar
   ============================================================ */
.topbar{
  background:var(--navy-900);color:#cfd8e3;font-size:.85rem;
  padding:8px 0;
}
.topbar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.topbar a{color:#cfd8e3}
.topbar a:hover{color:var(--accent)}
.topbar .info-left span{margin-right:18px}
.topbar i{margin-right:6px;color:var(--accent)}
.topbar .info-right a{margin-left:14px}

/* ============================================================
   Header / Navigation
   ============================================================ */
.site-header{
  background:#fff;box-shadow:var(--shadow-sm);
  position:sticky;top:0;z-index:1000;
}
.site-header .container{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
/* Typographic brand logo (navy + gold serif) */
.logo{display:inline-flex;flex-direction:column;line-height:1.1;text-decoration:none}
.logo .brand-name{
  font-family:'Playfair Display',Georgia,'Times New Roman',serif;
  font-size:1.45rem;font-weight:700;color:var(--navy-900);
  letter-spacing:.3px;white-space:nowrap;
}
.logo .brand-name .amp{color:var(--gold);padding:0 1px}
.logo .brand-tag{
  font-family:'Playfair Display',Georgia,'Times New Roman',serif;
  font-size:.62rem;font-weight:600;letter-spacing:3.5px;text-transform:uppercase;
  color:var(--navy-800);margin-top:5px;padding-top:5px;
  border-top:1.5px solid var(--gold);
}
/* footer (dark background) variant */
.site-footer .logo .brand-name{color:#fff}
.site-footer .logo .brand-name .amp{color:var(--gold)}
.site-footer .logo .brand-tag{color:#cfd8e3;border-top-color:var(--gold)}
@media (max-width:480px){
  .logo .brand-name{font-size:1.15rem}
  .logo .brand-tag{font-size:.55rem;letter-spacing:2.5px}
}
/* legacy logo-mark kept for safety (unused) */
.logo-mark{display:none}
.logo-text{display:flex;flex-direction:column;line-height:1.1}
.logo-text strong{color:var(--navy-900);font-size:1.1rem;font-weight:700}
.logo-text small{color:var(--muted);font-size:.72rem;letter-spacing:2px;text-transform:uppercase}

.main-nav ul{display:flex;list-style:none;gap:4px;align-items:center}
.main-nav a.nav-link{
  display:block;padding:10px 16px;color:var(--navy-900);font-weight:500;
  font-size:.95rem;border-radius:4px;position:relative;
}
.main-nav a.nav-link:hover, .main-nav a.nav-link.active{color:var(--accent)}
.main-nav a.nav-link.active::after,.main-nav a.nav-link:hover::after{
  content:"";position:absolute;left:16px;right:16px;bottom:3px;height:2px;background:var(--accent);
}
.has-dropdown{position:relative}
.has-dropdown>a::after{content:" ▾";font-size:.7rem;color:var(--muted)}
.dropdown{
  position:absolute;top:100%;left:0;background:#fff;
  min-width:260px;box-shadow:var(--shadow-md);border-radius:6px;
  padding:8px 0;opacity:0;visibility:hidden;transform:translateY(8px);
  transition:all var(--transition);z-index:50;
  border-top:3px solid var(--accent);
}
.has-dropdown:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown a{display:block;padding:10px 18px;color:var(--text);font-size:.9rem;border-bottom:1px solid var(--grey-100)}
.dropdown a:last-child{border-bottom:none}
.dropdown a:hover{background:var(--light);color:var(--accent);padding-left:24px}

.menu-toggle{display:none;background:none;border:none;font-size:1.6rem;color:var(--navy-900);cursor:pointer}

/* ============================================================
   Hero
   ============================================================ */
.hero{
  position:relative;color:#fff;
  background:linear-gradient(120deg,rgba(6,38,68,.92),rgba(11,55,96,.86)),
             radial-gradient(circle at 20% 20%,rgba(241,90,41,.18),transparent 40%),
             radial-gradient(circle at 80% 70%,rgba(232,169,60,.18),transparent 45%),
             #062644;
  padding:110px 0 130px;
  overflow:hidden;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:60px 60px;
  pointer-events:none;
}
.hero .container{position:relative;z-index:2}
.hero-flex{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center}
.hero h1{color:#fff;font-size:3rem;line-height:1.2;margin-bottom:18px}
.hero h1 span{color:var(--accent)}
.hero p.lead{color:#d2dbe6;font-size:1.1rem;margin-bottom:28px;max-width:560px}
.hero .badges{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:32px}
.hero .badge{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);
  padding:10px 18px;border-radius:30px;font-size:.85rem;color:#e5eaf1;
  display:flex;align-items:center;gap:8px;
}
.hero .badge::before{content:"✓";color:var(--accent);font-weight:700}
.hero .cta-group{display:flex;gap:14px;flex-wrap:wrap}

.hero-visual{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius-lg);padding:34px;backdrop-filter:blur(6px);
}
.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.hero-stat{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius);padding:22px;text-align:center;
}
.hero-stat .num{font-family:'Poppins',sans-serif;font-size:2rem;font-weight:700;color:var(--accent);display:block;margin-bottom:4px}
.hero-stat .label{color:#cdd6e2;font-size:.85rem}

/* ============================================================
   Generic Page Banner (inner pages)
   ============================================================ */
.page-banner{
  background:linear-gradient(120deg,rgba(6,38,68,.94),rgba(11,55,96,.88)),
             radial-gradient(circle at 80% 30%,rgba(241,90,41,.16),transparent 50%),
             #062644;
  color:#fff;padding:80px 0 70px;position:relative;
}
.page-banner h1{color:#fff;font-size:2.4rem;margin-bottom:10px}
.page-banner .crumbs{color:#c2cbd7;font-size:.9rem}
.page-banner .crumbs a{color:var(--accent)}

/* ============================================================
   About / Intro Section
   ============================================================ */
.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center}
.about-img{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  background:linear-gradient(135deg,var(--navy-800),var(--navy-900));
  min-height:420px;color:#fff;padding:40px;display:flex;flex-direction:column;justify-content:space-between;
  box-shadow:var(--shadow-lg);
}
.about-img::after{
  content:"";position:absolute;bottom:-60px;right:-60px;width:240px;height:240px;
  background:radial-gradient(circle,rgba(241,90,41,.35),transparent 70%);border-radius:50%;
}
.about-img .since{font-size:5rem;font-weight:800;color:var(--accent);line-height:1}
.about-img .since-sub{color:#e0e6ee;font-size:1.05rem}
.about-img .quote{font-style:italic;color:#d0d8e2;font-size:1rem;border-left:3px solid var(--accent);padding-left:14px;margin-top:auto;position:relative;z-index:2}
.about-text .eyebrow{color:var(--accent);font-weight:600;letter-spacing:2px;font-size:.78rem;text-transform:uppercase}
.about-text h2{margin:10px 0 18px}
.about-text p{margin-bottom:14px}
.about-text .tick-list{list-style:none;margin-top:20px}
.about-text .tick-list li{position:relative;padding-left:30px;margin-bottom:10px;color:var(--text)}
.about-text .tick-list li::before{
  content:"✓";position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;
  background:var(--accent);color:#fff;font-weight:700;font-size:.78rem;display:flex;align-items:center;justify-content:center;
}

/* Stats strip */
.stats-strip{background:var(--navy-900);color:#fff;padding:60px 0;position:relative}
.stats-strip::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 30% 50%,rgba(241,90,41,.12),transparent 50%);
}
.stats-strip .container{position:relative}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}
.stat-card .num{font-family:'Poppins',sans-serif;font-size:2.6rem;font-weight:800;color:var(--accent);display:block}
.stat-card .label{color:#cdd6e2;margin-top:6px;font-size:.92rem}

/* ============================================================
   Services / Cards
   ============================================================ */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.service-card{
  background:#fff;border:1px solid var(--grey-100);border-radius:var(--radius-lg);
  padding:30px 26px;transition:all var(--transition);
  box-shadow:var(--shadow-sm);position:relative;overflow:hidden;
}
.service-card::before{
  content:"";position:absolute;top:0;left:0;width:6px;height:0;background:var(--accent);transition:height var(--transition);
}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:#fff}
.service-card:hover::before{height:100%}
.service-card .icon{
  width:60px;height:60px;border-radius:14px;
  background:linear-gradient(135deg,var(--navy-800),var(--navy-900));
  color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.6rem;
  margin-bottom:18px;box-shadow:var(--shadow-sm);
}
.service-card h3{margin-bottom:10px;font-size:1.2rem}
.service-card p{color:var(--muted);font-size:.95rem;margin-bottom:14px}
.service-card ul{list-style:none}
.service-card ul li{position:relative;padding-left:20px;color:var(--grey-700);font-size:.88rem;margin-bottom:6px}
.service-card ul li::before{content:"›";position:absolute;left:0;color:var(--accent);font-weight:700}
.service-card a.more{color:var(--navy-800);font-weight:600;font-size:.88rem}
.service-card a.more:hover{color:var(--accent)}

/* Why Choose Us */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.why-card{
  background:var(--grey-50);border-radius:var(--radius-lg);padding:28px;
  border-bottom:3px solid transparent;transition:all var(--transition);
}
.why-card:hover{background:#fff;border-bottom-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-4px)}
.why-card .step{
  width:46px;height:46px;border-radius:50%;background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:18px;
}
.why-card h3{font-size:1.15rem;margin-bottom:10px}
.why-card p{font-size:.95rem}

/* ============================================================
   Approach / Process Steps
   ============================================================ */
.approach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:step}
.approach-step{
  background:#fff;border-radius:var(--radius-lg);padding:30px 24px;text-align:center;
  box-shadow:var(--shadow-sm);position:relative;border-top:4px solid var(--accent);
}
.approach-step .step-num{
  position:absolute;top:-22px;left:50%;transform:translateX(-50%);
  width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;
  box-shadow:var(--shadow-md);
}
.approach-step h3{margin:18px 0 10px;font-size:1.1rem}
.approach-step p{font-size:.92rem}
.approach-step .approach-icon{
  width:58px;height:58px;border-radius:14px;
  background:linear-gradient(135deg,var(--navy-800),var(--navy-900));
  color:#fff;display:flex;align-items:center;justify-content:center;
  margin:14px auto 4px;box-shadow:var(--shadow-sm);
}
.approach-step .approach-icon svg{width:27px;height:27px;stroke-width:1.8;color:#fff}
.approach-step .stage-label{
  display:block;font-size:.72rem;letter-spacing:2px;text-transform:uppercase;
  color:var(--accent);font-weight:700;margin-top:14px;
}

/* Page-wide light wrapper */
.bg-light{background:var(--grey-50)}
.bg-navy{background:var(--navy-900);color:#fff}
.bg-navy h2,.bg-navy h3{color:#fff}
.bg-navy p{color:#cdd6e2}
.bg-navy .section-title .eyebrow{color:var(--accent)}

/* ============================================================
   Vision / Mission cards
   ============================================================ */
.vm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.vm-card{
  background:#fff;border-radius:var(--radius-lg);padding:36px;
  box-shadow:var(--shadow-sm);border-left:5px solid var(--accent);
}
.vm-card .icon-circle{
  width:60px;height:60px;border-radius:50%;background:var(--navy-900);color:var(--accent);
  display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:18px;
}
.vm-card h3{margin-bottom:12px;color:var(--navy-900)}
.vm-card p{font-style:italic;font-size:1.05rem;color:var(--grey-700)}

/* Pillars */
.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pillar{
  background:#fff;border-radius:var(--radius-lg);padding:28px;text-align:center;
  box-shadow:var(--shadow-sm);
}
.pillar .pic{
  width:74px;height:74px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--gold));
  margin:0 auto 16px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.6rem;
}
.pillar h3{font-size:1.1rem;margin-bottom:8px}
.pillar p{font-size:.93rem}

/* ============================================================
   Team
   ============================================================ */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.team-card{
  background:#fff;border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-sm);transition:all var(--transition);text-align:center;
}
.team-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.team-card .avatar{
  background:linear-gradient(135deg,var(--navy-800),var(--navy-900));
  color:#fff;font-family:'Poppins',sans-serif;font-size:2.5rem;font-weight:700;
  padding:50px 0;letter-spacing:1px;position:relative;
}
.team-card .avatar.photo{
  padding:0;height:230px;overflow:hidden;
}
.team-card .avatar.photo img{
  width:100%;height:100%;object-fit:cover;object-position:center 25%;display:block;
}
.team-card .avatar::after{
  content:"";position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);
  width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-bottom:18px solid #fff;
}
.team-card .body{padding:30px 22px 26px}
.team-card h3{font-size:1.15rem;margin-bottom:4px}
.team-card .role{color:var(--accent);font-weight:600;font-size:.88rem;letter-spacing:1px;text-transform:uppercase;margin-bottom:10px;display:block}
.team-card .tag{
  display:inline-block;background:var(--grey-100);color:var(--grey-700);
  padding:3px 10px;border-radius:30px;font-size:.72rem;margin:3px 2px;
}
.team-card .exp{color:var(--muted);font-size:.86rem;margin-top:10px}
.team-card .expertise{list-style:none;text-align:left;margin-top:14px;padding-top:14px;border-top:1px solid var(--grey-100)}
.team-card .expertise li{font-size:.84rem;color:var(--grey-700);padding-left:16px;position:relative;margin-bottom:4px}
.team-card .expertise li::before{content:"•";position:absolute;left:0;color:var(--accent);font-weight:700}

/* ============================================================
   Industries / Clientele
   ============================================================ */
.industries-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.industry{
  background:#fff;border-radius:var(--radius);padding:26px 18px;text-align:center;
  box-shadow:var(--shadow-sm);transition:all var(--transition);border:1px solid var(--grey-100);
}
.industry:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:var(--shadow-md)}
.industry .ico{
  width:58px;height:58px;border-radius:50%;background:var(--light);color:var(--accent);
  display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-size:1.5rem;
}
.industry h4{font-size:.98rem;color:var(--navy-900)}

/* ============================================================
   Careers
   ============================================================ */
.career-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.job-card{
  background:#fff;border-radius:var(--radius-lg);padding:30px;
  box-shadow:var(--shadow-sm);border-top:4px solid var(--accent);
}
.job-card h3{margin-bottom:8px}
.job-card .meta{color:var(--muted);font-size:.86rem;margin-bottom:14px}
.job-card .meta span{margin-right:14px}
.job-card ul{list-style:none;margin:14px 0}
.job-card ul li{padding-left:20px;position:relative;font-size:.92rem;color:var(--grey-700);margin-bottom:6px}
.job-card ul li::before{content:"›";position:absolute;left:0;color:var(--accent);font-weight:700}

/* ============================================================
   Contact
   ============================================================ */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:flex-start}
.office-list{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.office-card{
  background:#fff;border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);
  border-left:4px solid var(--accent);
}
.office-card h4{color:var(--navy-900);margin-bottom:8px;display:flex;align-items:center;gap:8px}
.office-card h4::before{content:"📍";font-size:.95rem}
.office-card p{font-size:.9rem;color:var(--muted);line-height:1.6}
.office-card .tag{
  display:inline-block;font-size:.7rem;letter-spacing:1px;text-transform:uppercase;
  background:var(--light);color:var(--navy-800);padding:3px 8px;border-radius:4px;margin-bottom:8px;font-weight:600;
}
.associate-list{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}
.associate{
  background:#fff;border:1px dashed var(--grey-300);border-radius:var(--radius);
  padding:14px;text-align:center;color:var(--navy-900);font-weight:600;font-size:.9rem;
}
.contact-form{
  background:#fff;border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow-md);
}
.contact-form h3{margin-bottom:18px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:.85rem;font-weight:600;color:var(--grey-700);margin-bottom:6px}
.form-group input,.form-group select,.form-group textarea{
  width:100%;padding:11px 14px;border:1px solid var(--grey-200);border-radius:var(--radius);
  font-family:inherit;font-size:.95rem;background:#fff;transition:border var(--transition);
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(241,90,41,.12);
}
.form-note{font-size:.78rem;color:var(--muted);margin-top:8px}

/* ============================================================
   Testimonials
   ============================================================ */
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.testimonial-card{
  background:#fff;border-radius:var(--radius-lg);padding:32px 28px;
  box-shadow:var(--shadow-sm);position:relative;border-top:4px solid var(--accent);
  transition:all var(--transition);
}
.testimonial-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.testimonial-card .quote-mark{
  font-family:Georgia,'Times New Roman',serif;font-size:4rem;color:var(--accent);
  line-height:1;opacity:.18;position:absolute;top:14px;right:24px;
}
.testimonial-card .stars{color:var(--gold);margin-bottom:12px;letter-spacing:3px;font-size:1rem}
.testimonial-card .quote-text{
  font-size:.95rem;color:var(--grey-700);font-style:italic;
  margin-bottom:22px;position:relative;z-index:1;line-height:1.7;
}
.testimonial-card .client{
  display:flex;align-items:center;gap:13px;
  border-top:1px solid var(--grey-100);padding-top:16px;
}
.testimonial-card .client .av{
  width:48px;height:48px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--navy-800),var(--navy-900));
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-family:'Poppins',sans-serif;font-weight:700;font-size:.95rem;
}
.testimonial-card .client .meta strong{display:block;color:var(--navy-900);font-size:.96rem}
.testimonial-card .client .meta span{font-size:.82rem;color:var(--muted)}
@media (max-width:992px){.testimonial-grid{grid-template-columns:1fr 1fr}}
@media (max-width:768px){.testimonial-grid{grid-template-columns:1fr}}

/* ============================================================
   Blog / Insights
   ============================================================ */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.blog-card{
  background:#fff;border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-sm);transition:all var(--transition);
  display:flex;flex-direction:column;
}
.blog-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.blog-card .blog-img{
  height:180px;background:linear-gradient(135deg,var(--navy-800),var(--navy-900));
  position:relative;display:flex;align-items:center;justify-content:center;
}
.blog-card .blog-img svg{width:52px;height:52px;color:rgba(255,255,255,.32);stroke-width:1.5}
.blog-card .blog-cat{
  position:absolute;top:14px;left:14px;background:var(--accent);color:#fff;
  font-size:.68rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;
  padding:4px 12px;border-radius:30px;
}
.blog-card .blog-body{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}
.blog-card .blog-date{font-size:.8rem;color:var(--muted);margin-bottom:9px;display:flex;align-items:center;gap:6px}
.blog-card .blog-date svg{width:14px;height:14px;stroke-width:2;color:var(--accent)}
.blog-card h3{font-size:1.1rem;margin-bottom:10px;line-height:1.45}
.blog-card h3 a{color:var(--navy-900)}
.blog-card h3 a:hover{color:var(--accent)}
.blog-card .blog-body p{font-size:.91rem;color:var(--muted);margin-bottom:16px;flex:1}
.blog-card .read-more{color:var(--accent);font-weight:600;font-size:.88rem}

/* LinkedIn panel */
.linkedin-panel{
  background:linear-gradient(120deg,var(--navy-900),var(--navy-700));
  border-radius:var(--radius-lg);padding:46px 40px;text-align:center;color:#fff;
  position:relative;overflow:hidden;
}
.linkedin-panel::before{
  content:"";position:absolute;top:-40%;right:-5%;width:50%;height:180%;
  background:radial-gradient(circle,rgba(10,102,194,.35),transparent 65%);
}
.linkedin-panel .inner{position:relative;z-index:1}
.linkedin-panel .li-icon{
  width:66px;height:66px;border-radius:15px;background:#0a66c2;
  display:flex;align-items:center;justify-content:center;margin:0 auto 18px;
}
.linkedin-panel .li-icon svg{width:34px;height:34px;fill:#fff}
.linkedin-panel h2{color:#fff;margin-bottom:10px}
.linkedin-panel p{color:#d2dbe6;max-width:580px;margin:0 auto 24px}
.btn-linkedin{background:#0a66c2;color:#fff}
.btn-linkedin:hover{background:#08538f;color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}

/* Footer social icons */
.footer-social{display:flex;gap:10px;margin-top:16px}
.footer-social a{
  width:38px;height:38px;border-radius:8px;background:#0e2a47;
  display:flex;align-items:center;justify-content:center;transition:all var(--transition);
}
.footer-social a:hover{background:#0a66c2;transform:translateY(-3px)}
.footer-social a svg{width:18px;height:18px;fill:#cfd8e3}
.footer-social a:hover svg{fill:#fff}

@media (max-width:992px){.blog-grid{grid-template-columns:1fr 1fr}}
@media (max-width:768px){.blog-grid{grid-template-columns:1fr}.linkedin-panel{padding:34px 22px}}

/* CTA Strip */
.cta-strip{
  background:linear-gradient(120deg,var(--navy-900),var(--navy-700));
  color:#fff;padding:60px 0;text-align:center;position:relative;overflow:hidden;
}
.cta-strip::before{
  content:"";position:absolute;top:-50%;left:-10%;width:60%;height:200%;
  background:radial-gradient(circle,rgba(241,90,41,.18),transparent 60%);
}
.cta-strip .container{position:relative}
.cta-strip h2{color:#fff;margin-bottom:14px}
.cta-strip p{color:#d2dbe6;max-width:620px;margin:0 auto 24px}

/* ============================================================
   Footer
   ============================================================ */
.site-footer{background:#04192d;color:#cfd8e3;padding:70px 0 0;font-size:.93rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}
.site-footer h4{color:#fff;margin-bottom:18px;font-size:1rem;letter-spacing:1px;text-transform:uppercase;position:relative;padding-bottom:8px}
.site-footer h4::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:2px;background:var(--accent)}
.site-footer ul{list-style:none}
.site-footer ul li{margin-bottom:8px}
.site-footer a{color:#cfd8e3;font-size:.92rem}
.site-footer a:hover{color:var(--accent)}
.site-footer .footer-about p{color:#a8b4c2;font-size:.9rem;margin-bottom:14px}
.site-footer .footer-about .logo-text strong{color:#fff}
.site-footer .footer-about .logo-text small{color:var(--accent)}
.footer-contact-item{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px;font-size:.88rem;color:#b6c2d0}
.footer-contact-item .ico{color:var(--accent);min-width:18px}
.footer-bottom{
  border-top:1px solid #0e2a47;margin-top:50px;padding:22px 0;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:.85rem;color:#8a98ab;
}
.footer-bottom a{color:#a8b4c2;margin-left:14px}

/* ============================================================
   Disclaimer page
   ============================================================ */
.disclaimer-box{
  background:#fff;border-radius:var(--radius-lg);padding:40px;box-shadow:var(--shadow-sm);
  max-width:880px;margin:0 auto;border-top:4px solid var(--accent);
}
.disclaimer-box h3{margin-top:24px;margin-bottom:10px;color:var(--navy-900)}
.disclaimer-box p{margin-bottom:14px;color:var(--grey-700)}
.disclaimer-box .agree{
  background:var(--light);padding:20px;border-radius:var(--radius);margin-top:24px;
  border-left:4px solid var(--accent);
}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:992px){
  .hero h1{font-size:2.3rem}
  .hero-flex,.about-grid,.contact-grid{grid-template-columns:1fr}
  .services-grid,.why-grid,.pillars-grid,.approach-grid,.team-grid,.industries-grid,.career-grid,.office-list,.associate-list,.vm-grid,.stats-grid{
    grid-template-columns:repeat(2,1fr)
  }
  .footer-grid{grid-template-columns:1fr 1fr}
  .form-row{grid-template-columns:1fr}
}
@media (max-width:768px){
  .topbar{display:none}
  .main-nav{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:#fff;box-shadow:var(--shadow-md);padding:14px;
  }
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;align-items:stretch;gap:2px}
  .main-nav a.nav-link{padding:12px 16px;border-radius:6px}
  .main-nav a.nav-link:hover, .main-nav a.nav-link.active{background:var(--light)}
  .main-nav a.nav-link.active::after,.main-nav a.nav-link:hover::after{display:none}
  .has-dropdown .dropdown{
    position:static;opacity:1;visibility:visible;transform:none;display:none;
    box-shadow:none;border:none;padding-left:14px;border-top:none;
  }
  .has-dropdown.open .dropdown{display:block}
  .menu-toggle{display:block}
  .services-grid,.why-grid,.pillars-grid,.approach-grid,.team-grid,.industries-grid,.career-grid,.office-list,.associate-list,.vm-grid,.stats-grid{
    grid-template-columns:1fr
  }
  .footer-grid{grid-template-columns:1fr}
  h1{font-size:2rem}
  h2{font-size:1.6rem}
  .hero{padding:70px 0 80px}
  .hero h1{font-size:2rem}
  .section{padding:60px 0}
  .footer-bottom{flex-direction:column;text-align:center}
  .footer-bottom a{margin:0 8px}
}

/* Animations */
.fade-in{opacity:0;transform:translateY(20px);transition:all .8s ease}
.fade-in.visible{opacity:1;transform:none}

/* ============================================================
   WhatsApp floating chat button
   ============================================================ */
.whatsapp-float{
  position:fixed;bottom:24px;right:24px;z-index:1500;
  width:58px;height:58px;border-radius:50%;
  background:#25D366;display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 22px rgba(0,0,0,.28);
  transition:transform .3s ease;
}
.whatsapp-float:hover{transform:scale(1.1)}
.whatsapp-float svg{width:34px;height:34px;fill:#fff}
.whatsapp-float::before{
  content:"";position:absolute;inset:0;border-radius:50%;
  background:#25D366;z-index:-1;
  animation:wa-pulse 2.4s ease-out infinite;
}
@keyframes wa-pulse{
  0%{transform:scale(1);opacity:.55}
  100%{transform:scale(1.9);opacity:0}
}
@media (max-width:768px){
  .whatsapp-float{width:52px;height:52px;bottom:18px;right:18px}
  .whatsapp-float svg{width:30px;height:30px}
}

/* ============================================================
   VIDEO HERO (akgvg-style full-screen)
   ============================================================ */
.video-hero{
  position:relative;height:100vh;min-height:560px;max-height:820px;
  overflow:hidden;color:#fff;display:flex;align-items:center;
  margin-top:0;
}
.video-hero .bg-video,
.video-hero .bg-image{
  position:absolute;top:0;left:0;width:100%;height:100%;
  object-fit:cover;z-index:0;
}
.video-hero .bg-image{
  background-size:cover;background-position:center;
}
.video-hero::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(120deg,rgba(6,38,68,.78) 0%,rgba(11,55,96,.55) 50%,rgba(6,38,68,.55) 100%);
}
.video-hero .container{position:relative;z-index:2;width:90%;max-width:1200px}
.video-hero h1{
  color:#fff;font-size:4rem;font-weight:700;line-height:1.1;
  max-width:900px;margin-bottom:22px;
  text-shadow:0 4px 20px rgba(0,0,0,.4);
}
.video-hero h1 span{color:var(--accent)}
.video-hero p.tagline{
  color:#f0f4f9;font-size:1.25rem;max-width:680px;margin-bottom:34px;
  text-shadow:0 2px 12px rgba(0,0,0,.4);
}
.video-hero .scroll-down{
  position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:2;
  color:#fff;font-size:.85rem;text-align:center;letter-spacing:2px;
  text-transform:uppercase;animation:bobble 2s ease-in-out infinite;
}
.video-hero .scroll-down::after{
  content:"↓";display:block;font-size:1.4rem;margin-top:6px;
}
@keyframes bobble{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(10px)}}

/* Stat circle overlay (akgvg-style "24+ Years" badge) */
.stat-circle{
  position:absolute;width:140px;height:140px;border-radius:50%;
  background:var(--accent);color:#fff;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;
  box-shadow:var(--shadow-lg);right:-30px;top:30px;border:6px solid #fff;z-index:2;
}
.stat-circle .num{font-family:'Poppins',sans-serif;font-size:2.6rem;font-weight:800;line-height:1}
.stat-circle .lbl{font-size:.72rem;line-height:1.2;margin-top:4px;text-transform:uppercase;letter-spacing:1px}

/* About-with-image (akgvg "Who We Are") */
.about-image-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:60px;align-items:center}
.about-image-grid .img-wrap{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.about-image-grid .img-wrap img{width:100%;height:480px;object-fit:cover;display:block}

/* Alternating service image blocks */
.svc-feature{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;margin-bottom:60px}
.svc-feature:last-child{margin-bottom:0}
.svc-feature .img-wrap{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);position:relative}
.svc-feature .img-wrap img{width:100%;height:340px;object-fit:cover;display:block;transition:transform .6s ease}
.svc-feature .img-wrap:hover img{transform:scale(1.05)}
.svc-feature .img-wrap::after{
  content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(6,38,68,.15),transparent 50%);
}
.svc-feature.reverse{direction:rtl}
.svc-feature.reverse > *{direction:ltr}
.svc-feature .twin{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.svc-feature .twin .mini-card{
  background:#fff;border-radius:var(--radius);padding:22px 20px;
  box-shadow:var(--shadow-sm);border-left:4px solid var(--accent);transition:all var(--transition);
}
.svc-feature .twin .mini-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.svc-feature .twin .mini-card .ico{
  width:44px;height:44px;border-radius:10px;background:var(--light);color:var(--accent);
  display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:10px;
}
.svc-feature .twin .mini-card h4{font-size:1rem;color:var(--navy-900);margin-bottom:6px}
.svc-feature .twin .mini-card h4 a:hover{color:var(--accent)}
.svc-feature .twin .mini-card p{font-size:.85rem;color:var(--muted);line-height:1.5}

/* Section title left-aligned variant */
.section-title.left{text-align:left;margin-bottom:30px}
.section-title.left p{margin:0}
.section-title.left .eyebrow{margin-bottom:8px}

/* Lucide SVG icon sizing */
.service-card .icon svg{width:30px;height:30px;stroke-width:1.8;color:#fff}
.industry .ico svg{width:26px;height:26px;stroke-width:1.8;color:var(--accent)}
.pillar .pic svg{width:30px;height:30px;stroke-width:1.8;color:#fff}
.vm-card .icon-circle svg{width:28px;height:28px;stroke-width:1.8;color:var(--accent)}
.svc-feature .twin .mini-card .ico svg{width:22px;height:22px;stroke-width:1.8;color:var(--accent)}
.why-card .step svg{width:22px;height:22px;stroke-width:1.8;color:#fff}
.footer-contact-item .ico svg{width:14px;height:14px;stroke-width:2;color:var(--accent);vertical-align:middle}
.office-card h4 svg{width:18px;height:18px;stroke-width:2;color:var(--accent);margin-right:6px;vertical-align:middle}
.topbar i svg{width:14px;height:14px;stroke-width:2;color:var(--accent);vertical-align:middle}
.btn svg{width:16px;height:16px;stroke-width:2;vertical-align:middle;margin-right:4px}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:992px){
  .video-hero h1{font-size:2.6rem}
  .video-hero p.tagline{font-size:1.05rem}
  .about-image-grid,.svc-feature{grid-template-columns:1fr}
  .svc-feature.reverse{direction:ltr}
  .svc-feature .twin{grid-template-columns:1fr 1fr}
  .about-image-grid .img-wrap img{height:360px}
  .svc-feature .img-wrap img{height:280px}
  .stat-circle{width:110px;height:110px;right:10px;top:10px;border-width:4px}
  .stat-circle .num{font-size:2rem}
}
@media (max-width:768px){
  .video-hero{height:auto;min-height:540px;padding:80px 0}
  .video-hero h1{font-size:2.1rem}
  .video-hero p.tagline{font-size:1rem}
  .svc-feature .twin{grid-template-columns:1fr}
  .stat-circle{position:relative;right:auto;top:auto;margin:18px auto 0;display:flex}
}
