/* GLOBAL STYLES & VARIABLES */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#0D1B2A;
  --steel:#1E3A5F;
  --mid:#2C5282;
  --accent:#C9A84C;
  --accent-light:#F0D080;
  --silver:#8A9BB2;
  --mist:#EBF0F7;
  --white:#FFFFFF;
  --text:#0D1B2A;
  --text-muted:#4A6080;
  --border:#D4DCE8;
  --card-bg:#F7F9FC;
  --section-alt:#F2F5FA;
}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;color:var(--text);background:var(--white);overflow-x:hidden;line-height:1.6}
.barlow{font-family:'Barlow Condensed',sans-serif}

/* GLOBAL HEADER NAVIGATION */
nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:all .4s ease;padding:0 5vw;background:var(--white);box-shadow:0 2px 10px rgba(0,0,0,0.06);border-bottom:1px solid var(--border)}
nav.scrolled{background:var(--white);box-shadow:0 4px 15px rgba(0,0,0,0.08)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px;max-width:1280px;margin:0 auto}
.logo-wrap{display:flex;align-items:center;gap:0;text-decoration:none}
.logo-h4{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:38px;color:var(--accent);letter-spacing:-1px;line-height:1}
.logo-text{display:flex;flex-direction:column;line-height:1.1;margin-left:8px;border-left:2px solid rgba(201,168,76,.4);padding-left:10px}
.logo-text span:first-child{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;letter-spacing:3px;color:var(--white);text-transform:uppercase}
.logo-text span:last-child{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:400;letter-spacing:2.5px;color:var(--silver);text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:2rem;list-style:none}
.nav-links a{color:var(--text);text-decoration:none;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;transition:color .2s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--accent);transition:width .3s}
.nav-links a:hover{color:var(--accent)}
.nav-links a:hover::after{width:100%}
.btn-cta-nav{background:var(--accent);color:var(--navy)!important;padding:10px 22px;border-radius:3px;font-weight:700!important;letter-spacing:.8px!important;transition:all .2s!important;text-decoration:none}
.btn-cta-nav:hover{background:var(--accent-light)!important;transform:translateY(-1px)}
.btn-cta-nav::after{display:none!important}
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px;z-index:101}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--navy);transition:all .3s;border-radius:2px}

/* Hamburger to X Transformation */
.nav-toggle.active span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.nav-toggle.active span:nth-child(2) {
  opacity: 0;
}
.nav-toggle.active span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* MOBILE NAV MENU */
.mobile-menu{position:fixed;inset:0;background:var(--navy);z-index:99;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:24px;padding:110px 24px 40px;overflow-y:auto;transform:translateX(100%);transition:transform .4s cubic-bezier(.77,0,.175,1)}
.mobile-menu.open{transform:translateX(0)}
.mobile-menu a{font-family:'Barlow Condensed',sans-serif;font-size:32px;font-weight:700;color:var(--white);text-decoration:none;letter-spacing:1px;transition:color .2s}
.mobile-menu a:hover{color:var(--accent)}

/* PROCESS & WORKFLOW DUAL GRID */
.service-process-grid {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 60px;
  align-items: start;
}
@media(max-width:900px) {
  .service-process-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

/* SUBPAGE HEADER BANNERS */
.subpage-banner {
  background: var(--navy);
  padding: 130px 5vw 50px;
  position: relative;
  overflow: hidden;
  text-align: center;
  border-bottom: 2px solid rgba(201, 168, 76, 0.15);
}
.subpage-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(201,168,76,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(201,168,76,.04) 1px,transparent 1px);
  background-size: 50px 50px;
}
.subpage-banner-inner {
  position: relative;
  z-index: 1;
  max-width: 800px;
  margin: 0 auto;
}
.subpage-banner h1 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(36px, 5vw, 54px);
  font-weight: 800;
  color: var(--white);
  line-height: 1.1;
  margin-bottom: 12px;
}
.subpage-banner p {
  font-size: 16px;
  color: var(--silver);
  max-width: 600px;
  margin: 0 auto;
}

/* HERO SECTION */
.hero{min-height:100vh;background:var(--navy);position:relative;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(201,168,76,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(201,168,76,.06) 1px,transparent 1px);background-size:60px 60px;animation:gridShift 20s linear infinite}
@keyframes gridShift{0%{background-position:0 0}100%{background-position:60px 60px}}
.hero-glow{position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(30,58,95,.6) 0%,transparent 70%);top:-200px;right:-100px;animation:glowFloat 15s ease-in-out infinite alternate}
.hero-glow2{position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(201,168,76,.08) 0%,transparent 70%);bottom:100px;left:-100px;animation:glowFloat2 12s ease-in-out infinite alternate-reverse}
.hero-content{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:120px 5vw 80px;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.3);border-radius:2px;padding:6px 14px;margin-bottom:28px;animation:eyebrowFade 0.8s cubic-bezier(0.16, 1, 0.3, 1) both;animation-delay: 0.1s}
.hero-eyebrow span{font-size:11px;font-weight:600;letter-spacing:2px;color:var(--accent);text-transform:uppercase}
.hero-eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}
.hero-h1{font-family:'Barlow Condensed',sans-serif;font-size:clamp(48px,6vw,82px);font-weight:800;color:var(--white);line-height:1.0;letter-spacing:-1px;margin-bottom:24px}
.hero-h1 .accent{color:var(--accent)}
.hero-sub{font-size:17px;color:rgba(255,255,255,.65);line-height:1.7;max-width:480px;margin-bottom:40px;font-weight:300;animation:fadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) both;animation-delay: 0.75s}
.hero-cta-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:56px}
.btn-primary{background:var(--accent);color:var(--navy);padding:16px 32px;border:none;border-radius:3px;font-family:'Barlow Condensed',sans-serif;font-size:16px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all .25s;animation:fadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) both;animation-delay: 0.9s}
.btn-primary:hover{background:var(--accent-light);transform:translateY(-2px)}
.btn-primary:hover svg{animation:phoneWiggle 0.5s ease-in-out infinite}
.btn-outline{background:transparent;color:var(--white);padding:16px 32px;border:1px solid rgba(255,255,255,.3);border-radius:3px;font-family:'Barlow Condensed',sans-serif;font-size:16px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all .25s;animation:fadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) both;animation-delay: 1.0s}
.btn-outline:hover{border-color:var(--accent);color:var(--accent)}
.hero-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.trust-item{border-left:2px solid rgba(201,168,76,.3);padding-left:16px;animation:fadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) both}
.hero-trust .trust-item:nth-child(1){animation-delay:1.1s}
.hero-trust .trust-item:nth-child(2){animation-delay:1.2s}
.hero-trust .trust-item:nth-child(3){animation-delay:1.3s}
.hero-trust .trust-item:nth-child(4){animation-delay:1.4s}
.trust-num{font-family:'Barlow Condensed',sans-serif;font-size:32px;font-weight:800;color:var(--accent);line-height:1}
.trust-label{font-size:12px;color:var(--silver);text-transform:uppercase;letter-spacing:.8px;margin-top:4px}
.hero-right{display:flex;flex-direction:column;gap:16px}

.service-pill{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:20px 24px;display:flex;align-items:center;gap:16px;transition:all .4s;animation-duration:0.9s;animation-timing-function:cubic-bezier(0.16, 1, 0.3, 1);animation-fill-mode:both}
@keyframes pillSlideFromRight{from{opacity:0;transform:translateX(40px) scale(0.98)}to{opacity:1;transform:translateX(0) scale(1)}}
@keyframes pillSlideFromLeft{from{opacity:0;transform:translateX(-40px) scale(0.98)}to{opacity:1;transform:translateX(0) scale(1)}}
.service-pill:nth-child(odd){animation-name:pillSlideFromRight}
.service-pill:nth-child(even){animation-name:pillSlideFromLeft}
.service-pill:nth-child(1){animation-delay:.3s}
.service-pill:nth-child(2){animation-delay:.45s}
.service-pill:nth-child(3){animation-delay:.6s}
.service-pill:nth-child(4){animation-delay:.75s}
.service-pill:nth-child(5){animation-delay:.9s}
.service-pill:nth-child(6){animation-delay:1.05s}
.service-pill:hover{background:rgba(201,168,76,.08);border-color:rgba(201,168,76,.3);transform:translateX(-4px);box-shadow:0 10px 30px rgba(201,168,76,.05)}
.service-pill:hover .pill-icon svg{transform:scale(1.1) rotate(5deg)}
.pill-icon{width:40px;height:40px;border-radius:6px;background:rgba(201,168,76,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pill-icon svg{width:20px;height:20px;stroke:var(--accent);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform 0.3s ease}
.pill-content{}
.pill-title{font-size:14px;font-weight:600;color:var(--white);margin-bottom:2px}
.pill-desc{font-size:12px;color:var(--silver);line-height:1.4}

/* TRUST STRIP */
.trust-strip{background:var(--accent);padding:18px 5vw}
.trust-strip-inner{max-width:1280px;margin:0 auto;display:flex;justify-content:center;gap:48px;flex-wrap:wrap;align-items:center}
.strip-item{font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--navy);display:flex;align-items:center;gap:8px}
.strip-dot{width:4px;height:4px;border-radius:50%;background:var(--navy);opacity:.4}

/* GENERAL SECTIONS */
.section{padding:100px 5vw}
.section-alt{background:var(--section-alt)}
.section-inner{max-width:1280px;margin:0 auto}
.section-eyebrow{font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.section-heading{font-family:'Barlow Condensed',sans-serif;font-size:clamp(36px,4vw,54px);font-weight:800;color:var(--navy);line-height:1.05;letter-spacing:-.5px;margin-bottom:20px}
.section-sub{font-size:17px;color:var(--text-muted);max-width:560px;line-height:1.7;margin-bottom:56px}
.section-header-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:56px;gap:40px;flex-wrap:wrap}
.section-header-row .section-sub{margin-bottom:0}

/* ABOUT SECTION */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-visual{position:relative}
.about-box{background:linear-gradient(rgba(13,27,42,0.85),rgba(13,27,42,0.85)),url('../images/about_consultancy.png');background-size:cover;background-position:center;border-radius:8px;padding:40px;position:relative;overflow:hidden}
.about-box::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),transparent)}
.about-box-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.about-stat{padding:20px;background:rgba(255,255,255,.04);border-radius:6px;border:1px solid rgba(255,255,255,.08);transition:all .3s}
.about-stat:hover{background:rgba(201,168,76,.08);border-color:rgba(201,168,76,.2)}
.stat-num{font-family:'Barlow Condensed',sans-serif;font-size:42px;font-weight:800;color:var(--accent);line-height:1}
.stat-label{font-size:13px;color:rgba(255,255,255,.55);margin-top:6px;line-height:1.4}
.about-badge{position:absolute;bottom:-20px;right:40px;background:var(--accent);color:var(--navy);padding:14px 24px;border-radius:4px;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:15px;letter-spacing:1px;text-transform:uppercase}
.about-text p{font-size:16px;color:var(--text-muted);line-height:1.8;margin-bottom:20px}
.about-locations{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.location-tag{display:inline-flex;align-items:center;gap:6px;background:var(--mist);border:1px solid var(--border);border-radius:3px;padding:8px 14px;font-size:13px;font-weight:600;color:var(--steel)}
.location-tag svg{width:14px;height:14px;stroke:var(--accent);fill:none;stroke-width:2}

/* DUAL CARD FOR VISION & MISSION */
.vision-mission-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-top: 60px;
}
.vm-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-top: 4px solid var(--accent);
  border-radius: 8px;
  padding: 40px;
  box-shadow: 0 10px 30px rgba(13,27,42,.03);
  transition: all 0.3s;
}
.vm-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(13,27,42,.08);
}
.vm-card h3 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 28px;
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.vm-card p {
  font-size: 15px;
  color: var(--text-muted);
  line-height: 1.7;
}

/* SERVICES SECTION */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.service-card{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:0;position:relative;overflow:hidden;transition:all .35s;cursor:pointer}
.service-card::before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s}
.service-card:hover{border-color:var(--mid);transform:translateY(-4px);box-shadow:0 20px 50px rgba(13,27,42,.1)}
.service-card:hover::before{transform:scaleX(1)}
.service-icon{width:52px;height:52px;border-radius:8px;background:var(--mist);display:flex;align-items:center;justify-content:center;margin-bottom:24px;transition:all .3s}
.service-card:hover .service-icon{background:rgba(201,168,76,.12)}
.service-icon svg{width:26px;height:26px;stroke:var(--steel);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:all .3s}
.service-card:hover .service-icon svg{stroke:var(--accent)}
.service-card h3{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:700;color:var(--navy);margin-bottom:12px;letter-spacing:-.2px}
.service-card p{font-size:14px;color:var(--text-muted);line-height:1.7}
.service-tag{position:absolute;top:24px;right:24px;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--silver)}

/* SERVICES DETAIL PAGE SPECIFICS */
.services-detail-list {
  display: flex;
  flex-direction: column;
  gap: 80px;
}
.service-detail-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.service-detail-row:nth-child(even) {
  direction: rtl;
}
.service-detail-row:nth-child(even) .service-detail-content {
  direction: ltr;
}
.service-detail-content h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 36px;
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 18px;
}
.service-detail-content p {
  color: var(--text-muted);
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 24px;
}
.service-checklist {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.service-checklist li {
  position: relative;
  padding-left: 28px;
  font-size: 14.5px;
  font-weight: 500;
  color: var(--text);
}
.service-checklist li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: -1px;
  font-size: 16px;
  color: var(--accent);
  font-weight: bold;
}

/* FAQ ACCORDION styling */
.faq-sec {
  margin-top: 100px;
}
.faq-grid {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.faq-item {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 6px;
  overflow: hidden;
  transition: all 0.3s;
}
.faq-item:hover {
  border-color: var(--mid);
}
.faq-question {
  padding: 20px 24px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--navy);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none;
}
.faq-question svg {
  width: 16px;
  height: 16px;
  stroke: var(--accent);
  fill: none;
  stroke-width: 2.5;
  transition: transform 0.3s;
}
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease-out;
  padding: 0 24px;
}
.faq-answer p {
  padding-bottom: 20px;
  font-size: 14.5px;
  color: var(--text-muted);
  line-height: 1.6;
}
.faq-item.active .faq-answer {
  max-height: 250px;
  transition: max-height 0.4s ease-in;
}
.faq-item.active .faq-question svg {
  transform: rotate(180deg);
}

/* WHY H4 SECTION */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.why-list{display:flex;flex-direction:column;gap:0}
.why-item{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--border);transition:all .3s}
.why-item:last-child{border-bottom:none}
.why-item:hover{padding-left:8px}
.why-num{font-family:'Barlow Condensed',sans-serif;font-size:42px;font-weight:800;color:var(--mist);line-height:1;flex-shrink:0;width:40px}
.why-text h4{font-size:16px;font-weight:600;color:var(--navy);margin-bottom:6px}
.why-text p{font-size:14px;color:var(--text-muted);line-height:1.6}
.why-visual{background:var(--navy);border-radius:8px;padding:40px;height:100%;min-height:400px;display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden}
.why-visual::before{content:'';position:absolute;top:-40px;right:-40px;width:200px;height:200px;border-radius:50%;background:rgba(201,168,76,.06)}
.why-visual::after{content:'';position:absolute;bottom:-60px;left:-20px;width:250px;height:250px;border-radius:50%;background:rgba(30,58,95,.4)}
.why-feature{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:18px 20px;position:relative;z-index:1;transition:all .3s}
.why-feature:hover{background:rgba(201,168,76,.1);border-color:rgba(201,168,76,.25)}
.why-feature-label{font-size:12px;color:var(--silver);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}
.why-feature-val{font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:700;color:var(--white)}

/* PROCESS STEPS SECTION */
.process-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;margin-top:60px}
.process-steps::before{content:'';position:absolute;top:36px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}
.process-step{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 16px;position:relative}
.step-circle{width:72px;height:72px;border-radius:50%;background:var(--navy);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;margin-bottom:24px;position:relative;transition:all .4s;z-index:1}
.step-circle:hover{border-color:var(--accent);background:rgba(201,168,76,.1)}
.step-circle span{font-family:'Barlow Condensed',sans-serif;font-size:24px;font-weight:800;color:var(--accent)}
.step-title{font-size:15px;font-weight:700;color:var(--navy);margin-bottom:8px}
.step-desc{font-size:13px;color:var(--text-muted);line-height:1.6}

/* PROJECTS GRID */
.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.project-card{background:var(--white);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:all .35s;cursor:pointer}
.project-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(13,27,42,.12)}
.project-img{height:200px;background:var(--navy);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.project-img-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.project-card:hover .project-img-bg{transform:scale(1.05)}
.project-svg{position:relative;z-index:1}
.project-badge{position:absolute;top:16px;right:16px;padding:5px 12px;border-radius:3px;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;z-index:2}
.badge-done{background:rgba(100,180,80,.9);color:#fff}
.badge-progress{background:var(--accent);color:var(--navy)}
.project-body{padding:28px}
.project-body h3{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:700;color:var(--navy);margin-bottom:8px}
.project-meta{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.project-location{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:4px}
.project-location svg{width:12px;height:12px;stroke:var(--accent);fill:none;stroke-width:2}
.project-body p{font-size:14px;color:var(--text-muted);line-height:1.6}

/* PROJECTS DYNAMIC FILTER UI */
.filter-row {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 48px;
}
.filter-btn {
  background: var(--section-alt);
  color: var(--navy);
  border: 1px solid var(--border);
  border-radius: 3px;
  padding: 8px 18px;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.25s;
}
.filter-btn.active, .filter-btn:hover {
  background: var(--accent);
  color: var(--navy);
  border-color: var(--accent);
}
.project-card.hidden {
  display: none;
}

/* TEAM GRID */
.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.team-card{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:28px 20px;text-align:center;transition:all .3s}
.team-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 16px 40px rgba(13,27,42,.1)}
.team-avatar{width:72px;height:72px;border-radius:50%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-size:24px;font-weight:800;color:var(--white)}
.team-card h4{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:4px;line-height:1.3}
.team-card .team-role{font-size:12px;color:var(--accent);font-weight:600;margin-bottom:4px}
.team-card .team-qual{font-size:11px;color:var(--text-muted);line-height:1.4}

/* LOCATIONS GRID */
.locations-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.location-card{background:var(--navy);border-radius:8px;padding:36px 28px;position:relative;overflow:hidden;transition:all .3s}
.location-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s}
.location-card:hover::before{transform:scaleX(1)}
.location-card:hover{transform:translateY(-4px)}
.loc-flag{font-size:32px;margin-bottom:16px}
.location-card h3{font-family:'Barlow Condensed',sans-serif;font-size:26px;font-weight:800;color:var(--white);margin-bottom:6px}
.location-card .loc-country{font-size:13px;color:var(--silver);margin-bottom:16px;text-transform:uppercase;letter-spacing:1px}
.location-card .loc-rep{font-size:13px;color:rgba(255,255,255,.6);line-height:1.5}
.location-card .loc-rep strong{color:var(--accent);font-weight:600}

/* CONTACT SUBPAGE SPECIFICS */
.contact-layout {
  display: grid;
  grid-template-columns: 1.1fr 1.4fr;
  gap: 60px;
  align-items: start;
}
.contact-info-col {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.contact-card-block {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 32px;
  box-shadow: 0 8px 32px rgba(13,27,42,.03);
}
.contact-card-block h3 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 20px;
  border-bottom: 2px solid var(--accent);
  padding-bottom: 6px;
  display: inline-block;
}
.rep-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.rep-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  border-bottom: 1px dashed var(--border);
  padding-bottom: 12px;
}
.rep-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.rep-header-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.rep-name {
  font-weight: 700;
  color: var(--navy);
  font-size: 15px;
}
.rep-loc {
  font-size: 11px;
  color: var(--navy);
  background: var(--accent);
  font-weight: 700;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 3px;
  letter-spacing: .5px;
}
.rep-role {
  font-size: 12.5px;
  color: var(--text-muted);
}
.map-placeholder {
  height: 280px;
  background: var(--mist);
  border-radius: 6px;
  border: 1px solid var(--border);
  position: relative;
  overflow: hidden;
}
.map-placeholder iframe {
  width: 100%;
  height: 100%;
  border: none;
}
.file-upload-wrapper {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.file-upload-input {
  background: var(--mist);
  border: 1.5px solid var(--border);
  border-radius: 4px;
  padding: 10px 16px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: var(--text-muted);
  outline: none;
}

/* FINAL CALL TO ACTION (CTA) */
.cta-section{background:var(--navy);padding:100px 5vw;text-align:center;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(201,168,76,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(201,168,76,.04) 1px,transparent 1px);background-size:40px 40px}
.cta-inner{position:relative;z-index:1;max-width:700px;margin:0 auto}
.cta-section h2{font-family:'Barlow Condensed',sans-serif;font-size:clamp(40px,5vw,68px);font-weight:800;color:var(--white);margin-bottom:20px;line-height:1}
.cta-section p{font-size:17px;color:rgba(255,255,255,.6);margin-bottom:48px;line-height:1.7}
.cta-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* GENERAL CONTACT FORM */
.contact-form{background:var(--white);border-radius:12px;padding:48px;max-width:700px;margin:60px auto 0;border:1px solid var(--border);box-shadow:0 8px 32px rgba(13,27,42,.06)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-group{display:flex;flex-direction:column;gap:8px}
.form-group.full{grid-column:1/-1}
.form-group label{font-size:13px;font-weight:600;color:var(--navy);letter-spacing:.3px}
.form-group input,.form-group select,.form-group textarea{background:var(--mist);border:1.5px solid var(--border);border-radius:4px;padding:13px 16px;font-family:'Inter',sans-serif;font-size:15px;color:var(--text);transition:all .2s;outline:none}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--mid);background:var(--white);box-shadow:0 0 0 3px rgba(44,82,130,.1)}
.form-group textarea{resize:vertical;min-height:120px}
.btn-submit{width:100%;padding:18px;background:var(--navy);color:var(--white);border:none;border-radius:4px;font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:700;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .3s;margin-top:8px}
.btn-submit:hover{background:var(--steel);transform:translateY(-2px)}

/* FOOTER SECTION */
footer{background:rgba(13,27,42,.98);padding:60px 5vw 32px;border-top:1px solid rgba(201,168,76,.2)}
.footer-inner{max-width:1280px;margin:0 auto}
.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:60px;margin-bottom:48px}
.footer-logo{font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:800;color:var(--accent);margin-bottom:16px}
.footer-tagline{font-size:13px;color:var(--silver);line-height:1.6;margin-bottom:24px}
.footer-contact-item{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,.5);margin-bottom:8px}
.footer-contact-item a{color:rgba(255,255,255,.5);text-decoration:none;transition:color .2s}
.footer-contact-item a:hover{color:var(--accent)}
.footer-col h5{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:20px}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:10px}
.footer-col a{font-size:13px;color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s}
.footer-col a:hover{color:var(--white)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.footer-bottom p{font-size:12px;color:rgba(255,255,255,.3)}
.footer-locations{display:flex;gap:16px;flex-wrap:wrap}
.footer-locations span{font-size:12px;color:rgba(255,255,255,.3)}

/* FLOATING WHATSAPP BUTTON */
.wa-fab{position:fixed;bottom:32px;right:32px;z-index:200;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,.4);text-decoration:none;transition:all .3s;animation:waFloat 3s ease-in-out infinite}
.wa-fab:hover{transform:scale(1.12);box-shadow:0 8px 30px rgba(37,211,102,.5)}
@keyframes waFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.wa-fab svg{width:30px;height:30px;fill:var(--white)}

/* SCROLL REVEAL ANIMATIONS */
.reveal{opacity:0;transform:translateY(30px);transition:all .7s cubic-bezier(.25,.46,.45,.94)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}
.reveal-delay-4{transition-delay:.4s}
.reveal-delay-5{transition-delay:.5s}

/* BREAKPOINTS / RESPONSIVENESS */
@media(max-width:900px){
  .hero-content{grid-template-columns:1fr;gap:48px}
  .hero-right{display:none}
  .hero-trust{grid-template-columns:repeat(2,1fr)}
  .about-grid,.why-grid,.contact-layout,.service-detail-row{grid-template-columns:1fr;gap:48px}
  .service-detail-row:nth-child(even) {direction: ltr;}
  .services-grid{grid-template-columns:1fr 1fr}
  .team-grid{grid-template-columns:repeat(3,1fr)}
  .locations-grid{grid-template-columns:1fr 1fr}
  .process-steps{grid-template-columns:1fr;gap:32px}
  .process-steps::before{display:none}
  .projects-grid{grid-template-columns:1fr}
  .footer-main{grid-template-columns:1fr 1fr;gap:40px}
  .nav-links,.btn-cta-nav{display:none}
  .nav-toggle{display:flex}
  .form-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .services-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .locations-grid{grid-template-columns:1fr}
  .trust-strip-inner{gap:16px;flex-direction:column;align-items:flex-start}
  .strip-dot{display:none}
}

/* COUNTER ANIMATIONS INITIAL KEYFRAMES */
@keyframes countUp{from{opacity:0}to{opacity:1}}

/* LOGO & SERVICES DETAIL STYLES */
.logo-img {
  height: 44px;
  width: auto;
  display: block;
  transition: transform 0.3s;
}
.logo-img:hover {
  transform: scale(1.02);
}
.service-detail-img {
  width: 100%;
  height: 320px;
  border-radius: 8px;
  object-fit: cover;
  display: block;
  box-shadow: 0 8px 24px rgba(13, 27, 42, 0.08);
}

/* HEADING LINE REVEAL ANIMATIONS */
.anim-line {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
  margin-bottom: -4px;
}
.anim-word {
  display: inline-block;
  transform: translateY(100%);
  animation: wordReveal 1.2s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.delay-1 { animation-delay: 0.2s; }
.delay-2 { animation-delay: 0.35s; }
.delay-3 { animation-delay: 0.5s; }
.delay-4 { animation-delay: 0.65s; }

/* ANIMATION KEYFRAMES */
@keyframes wordReveal {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}
@keyframes eyebrowFade {
  from { opacity: 0; transform: translateY(-15px) scale(0.95); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(25px); }
  to { opacity: 1; transform: translateY(0); }
}
/* Redundant pillSlide keyframes removed */
@keyframes glowFloat {
  0% { transform: translate(0, 0) scale(1); opacity: 0.8; }
  100% { transform: translate(-30px, 40px) scale(1.1); opacity: 1; }
}
@keyframes glowFloat2 {
  0% { transform: translate(0, 0) scale(1); opacity: 0.7; }
  100% { transform: translate(40px, -30px) scale(1.2); opacity: 0.9; }
}
@keyframes phoneWiggle {
  0%, 100% { transform: rotate(0); }
  25% { transform: rotate(-8deg); }
  75% { transform: rotate(8deg); }
}

/* HOMEPAGE SERVICE CARD TOP IMAGES & OVERLAYS */
.service-img-top {
  height: 180px;
  width: 100%;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--border);
}
.service-img-top img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}
.service-card:hover .service-img-top img {
  transform: scale(1.06);
}
.service-img-top .service-tag {
  position: absolute;
  top: 16px;
  right: 16px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  background: rgba(13, 27, 42, 0.85);
  color: var(--accent);
  padding: 4px 10px;
  border-radius: 3px;
  z-index: 2;
}
.service-body-content {
  padding: 28px 24px;
}
.service-body-content .service-icon {
  margin-bottom: 16px;
}

/* DESKTOP NAV DROPDOWN MENU */
.dropdown {
  position: relative;
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 6px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  width: 240px;
  padding: 12px 0;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 1000;
}
.dropdown-menu::before {
  content: '';
  position: absolute;
  top: -6px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  background: var(--white);
  border-left: 1px solid var(--border);
  border-top: 1px solid var(--border);
}
.dropdown:hover .dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.dropdown-menu li {
  margin: 0;
}
.dropdown-menu a {
  display: block;
  padding: 10px 20px;
  color: var(--text);
  font-size: 13px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0.2px;
  transition: all 0.2s;
  text-align: left;
}
.dropdown-menu a:hover {
  background: var(--section-alt);
  color: var(--accent);
  padding-left: 24px;
}
.dropdown-menu a::after {
  display: none !important;
}

/* MOBILE NAV MENU SUBLINKS */
.mobile-sublinks {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: -12px;
  align-items: center;
}
.mobile-sublinks a {
  font-size: 18px !important;
  color: var(--silver) !important;
  font-weight: 500 !important;
}
.mobile-sublinks a:hover {
  color: var(--accent) !important;
}
