
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
html,body{overflow-x:hidden;max-width:100%;}
body{font-family:'Inter',sans-serif;color:#222;background:#fff;line-height:1.6;}
a{text-decoration:none;color:inherit;}
img{display:block;max-width:100%;}

/* â”€â”€ TOKENS â”€â”€ */
:root{
  --green:#1a5c35; --green2:#22843f; --green3:#0f3d22;
  --blue:#1a4b8c;  --blue2:#2563be;
  --red:#c0392b;   --red2:#e74c3c;
  --dark:#111;     --gray:#555;     --lgray:#f4f4f4;
  --border:#e0e0e0;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   TOP BAR
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.topbar{
  background:var(--green3);
  padding:8px 5%;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:8px;
}
.topbar-left{display:flex;gap:20px;flex-wrap:wrap;}
.topbar a{color:rgba(255,255,255,0.85);font-size:12px;font-weight:500;
  display:flex;align-items:center;gap:6px;transition:color .2s;}
.topbar a:hover{color:#fff;}
.topbar-right{display:flex;gap:12px;}
.topbar-social{
  width:28px;height:28px;border-radius:50%;
  background:rgba(255,255,255,0.12);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:12px;transition:background .2s;
}
.topbar-social:hover{background:var(--red);}

.weather-bar{
  background:linear-gradient(90deg,var(--blue),var(--blue2));
  color:#fff;padding:9px 5%;font-size:13px;
}
.weather-bar-inner{
  max-width:1200px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:10px 18px;
}
.weather-item{font-weight:500;white-space:nowrap;}
.weather-item strong{font-weight:700;}
.weather-stress{
  display:inline-block;padding:2px 10px;border-radius:999px;font-weight:700;
}
.weather-stress.faible{color:#e0f2fe;background:rgba(37,99,235,.35);}
.weather-stress.ok{color:#fef3c7;background:rgba(217,119,6,.45);}
.weather-stress.warn{color:#fff7ed;background:rgba(234,88,12,.5);}
.weather-stress.danger{color:#fee2e2;background:rgba(220,38,38,.5);}
.weather-stress.extreme{color:#fecaca;background:rgba(127,29,29,.6);font-weight:700;}
.weather-bar-live{font-size:11px;opacity:.85;margin-left:auto;}
.weather-bar-live.is-live{color:#bbf7d0;font-weight:600;}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   NAV
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
nav{
  background:#fff;
  box-shadow:0 2px 16px rgba(0,0,0,0.09);
  padding:0 5%;height:70px;
  display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:200;
  border-bottom:3px solid var(--red);
}
.nav-logo img{height:52px;width:auto;}
.nav-links{display:flex;gap:2px;list-style:none;align-items:center;}
.nav-links > li{position:relative;}
.nav-links > li > a{
  color:var(--dark);font-size:12px;font-weight:700;
  letter-spacing:0.08em;text-transform:uppercase;
  padding:8px 14px;display:block;
  transition:color .2s;border-radius:3px;
}
.nav-links > li > a:hover,.nav-links > li > a.active{color:var(--green);}
/* Dropdown */
.nav-drop{
  position:absolute;top:100%;left:0;min-width:200px;
  background:#fff;box-shadow:0 8px 24px rgba(0,0,0,0.12);
  border-top:3px solid var(--green);border-radius:0 0 6px 6px;
  display:none;z-index:300;
}
.nav-links > li:hover .nav-drop{display:block;}
.nav-drop a{
  display:block;padding:11px 16px;
  font-size:12px;font-weight:600;color:var(--dark);
  letter-spacing:0.05em;text-transform:uppercase;
  border-bottom:1px solid var(--border);
  transition:background .15s,color .15s;
}
.nav-drop a:last-child{border-bottom:none;}
.nav-drop a:hover{background:var(--lgray);color:var(--green);}

.nav-right{display:flex;align-items:center;gap:12px;}
.lang-sw{display:flex;gap:3px;background:var(--lgray);border-radius:4px;padding:3px;}
.lang-btn{
  padding:4px 7px;border-radius:3px;border:none;
  font-size:10px;font-weight:700;cursor:pointer;
  background:transparent;color:var(--gray);transition:all .2s;
  min-width:28px;
}
.lang-btn.active{background:var(--blue);color:#fff;}
.nav-quote{
  background:var(--red);color:#fff;
  padding:10px 20px;border-radius:4px;
  font-size:12px;font-weight:800;letter-spacing:0.08em;
  text-transform:uppercase;transition:background .2s;white-space:nowrap;
}
.nav-quote:hover{background:var(--red2);}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;}
.burger span{width:24px;height:2px;background:var(--dark);border-radius:2px;}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   HERO SLIDER
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.hero{
  position:relative;height:calc(100vh - 110px);
  min-height:560px;overflow:hidden;
}
.lang-switcher{
  position:absolute;top:15px;right:20px;z-index:20;
  display:flex;gap:5px;
}
.lang-switcher button{
  background:#fff;border:1px solid var(--blue);
  padding:6px 10px;cursor:pointer;border-radius:4px;
  font-size:13px;font-weight:600;color:var(--blue);
  transition:background .2s,color .2s;
}
.lang-switcher button:hover{background:#f0f7ff;}
.lang-switcher button.active{
  background:var(--blue);color:#fff;border-color:var(--blue);
}
.hero-slide{
  position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;
}
.hero-slide.active{opacity:1;}
.hero-slide-bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
}
.hero-slide-bg--gear{
  background-size:cover;
  background-position:right 58%;
}
.hero-slide-bg--packout{
  background-size:cover;
  background-position:center 55%;
  background-repeat:no-repeat;
}
.hero-slide-bg--precision{
  background-size:contain;
  background-position:center center;
  background-repeat:no-repeat;
  background-color:#050d18;
}
.hero-slide-bg--electrical{
  background-color:#050d18;
  background-size:cover;
  background-position:58% center;
  background-repeat:no-repeat;
}
.hero-slide-bg--electrical::after{
  content:'';
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg, rgba(5,13,24,.82) 0%, rgba(5,13,24,.45) 28%, rgba(5,13,24,.12) 52%, rgba(5,13,24,.2) 100%),
    radial-gradient(ellipse 70% 80% at 60% 50%, transparent 35%, rgba(5,13,24,.35) 100%);
}
.hero-team-slide{
  background-position:88% 22%;
  background-size:cover;
  background-repeat:no-repeat;
}

/* Hero — HVAC pipe flow (heat → red → humidity blue) */
.hero-pipe-scene{
  background:linear-gradient(135deg,#0a1628 0%,#0f2744 45%,#0c1a30 100%);
  overflow:hidden;
}
.hero-pipe-scene::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 50% 55% at 55% 50%,rgba(249,115,22,.12) 0%,transparent 65%),
    radial-gradient(ellipse 40% 45% at 75% 35%,rgba(59,130,246,.15) 0%,transparent 65%);
  pointer-events:none;
}
.hero-visual-panel{
  position:absolute;
  left:40%;right:4%;top:6%;bottom:8%;
  z-index:2;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  min-height:0;
  overflow:hidden;
  border-radius:14px;
}
.hero-pipe-visual{
  position:absolute;inset:0;z-index:0;
  border-radius:14px;overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 16px 48px rgba(0,0,0,.35);
}
.hero-pipe-visual img{
  width:100%;height:100%;object-fit:cover;object-position:center center;
  display:block;
}
.hero-pipe-visual::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(10,22,40,.45) 0%,rgba(10,22,40,.05) 45%,rgba(10,22,40,.2) 100%);
  pointer-events:none;
}
.hero-pipe-wrap{
  display:flex;align-items:center;justify-content:center;
  width:100%;flex:1;min-height:0;min-width:0;
}
.hero-pipe-svg{
  position:relative;width:100%;height:100%;
  max-height:100%;display:block;
  opacity:0.98;
}
.hero-pipe-flow--pulse{
  animation:pipeFlowDash 2.4s linear infinite;
}
.hero-pipe-flow--branch{
  animation:pipeFlowDash 2s linear infinite reverse;
  opacity:0.7;
}
@keyframes pipeFlowDash{
  from{stroke-dashoffset:0;}
  to{stroke-dashoffset:-200;}
}
.hero-pipe-heat-glow{
  animation:pipeHeatPulse 3s ease-in-out infinite;
}
.hero-pipe-humid-glow{
  animation:pipeHumidPulse 3s ease-in-out infinite 1.5s;
}
@keyframes pipeHeatPulse{
  0%,100%{opacity:0.28;transform:scale(1);}
  50%{opacity:0.45;}
}
@keyframes pipeHumidPulse{
  0%,100%{opacity:0.25;}
  50%{opacity:0.42;}
}
.hero-pipe-particle{
  filter:drop-shadow(0 0 6px currentColor);
  opacity:0;
}
.hero-pipe-particle--1{
  animation:pipeParticle1 4s linear infinite;
  fill:#fde047;
}
.hero-pipe-particle--2{
  animation:pipeParticle2 4s linear infinite 1.3s;
  fill:#ef4444;
}
.hero-pipe-particle--3{
  animation:pipeParticle3 4s linear infinite 2.6s;
  fill:#2563eb;
}
@keyframes pipeParticle1{
  0%{opacity:0;offset-distance:0%;}
  8%{opacity:1;}
  92%{opacity:1;}
  100%{opacity:0;offset-distance:100%;}
}
@keyframes pipeParticle2{
  0%{opacity:0;offset-distance:0%;}
  8%{opacity:1;}
  92%{opacity:1;}
  100%{opacity:0;offset-distance:100%;}
}
@keyframes pipeParticle3{
  0%{opacity:0;offset-distance:0%;}
  8%{opacity:1;}
  92%{opacity:1;}
  100%{opacity:0;offset-distance:100%;}
}
.hero-pipe-particle{
  offset-path:path('M 80 380 L 320 380 Q 420 380 480 320 L 620 180 Q 680 120 820 120 L 860 120');
  offset-rotate:0deg;
}
.hero-pipe-label text{
  pointer-events:none;
}

/* Hero — HVAC equations panel (below pipe flow) */
.hero-equations{
  position:relative;align-self:center;
  width:100%;max-width:400px;
  padding:14px 16px 12px;
  background:rgba(8,18,40,.82);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  box-shadow:0 12px 36px rgba(0,0,0,.35);
  pointer-events:auto;
  overflow:hidden;
  flex-shrink:0;
}
.hero-equations--static .hero-equations-viewport{min-height:auto;}
.hero-equations--static .hero-eq-card{
  position:relative;inset:auto;
  opacity:1;transform:none;pointer-events:auto;
}
.hero-equations--static .hero-eq-progress,
.hero-equations--static .hero-eq-dots{display:none;}
.hero-equations-head{
  font-family:'Oswald',sans-serif;
  font-size:10px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:#94a3b8;
  margin:0 0 10px;padding-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.hero-equations-viewport{
  position:relative;min-height:100px;
}
.hero-eq-card{
  position:absolute;inset:0;
  opacity:0;transform:translateY(12px);
  transition:opacity .55s ease,transform .55s ease;
  pointer-events:none;
}
.hero-eq-card.active{
  opacity:1;transform:translateY(0);
  pointer-events:auto;
}
.hero-eq-card::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:2px;
  background:linear-gradient(180deg,#f97316,#dc2626);
  opacity:0;transition:opacity .4s;
}
.hero-eq-card.active::before{opacity:1;}
.hero-eq-card[data-eq-type="humid"]::before{
  background:linear-gradient(180deg,#3b82f6,#1d4ed8);
}
.hero-eq-card[data-eq-type="total"]::before{
  background:linear-gradient(180deg,#f97316,#dc2626 45%,#2563eb);
}
.hero-eq-num{
  display:inline-block;font-size:9px;font-weight:800;letter-spacing:.12em;
  color:#64748b;margin-bottom:4px;padding-left:10px;
}
.hero-eq-name{
  font-family:'Oswald',sans-serif;font-size:13px;font-weight:600;
  color:#f1f5f9;margin:0 0 8px;padding-left:10px;line-height:1.25;
}
.hero-eq-formula{
  font-family:'Cambria Math','Times New Roman',serif;
  font-size:clamp(15px,1.8vw,18px);
  color:#fff;line-height:1.45;
  margin:0 0 6px;padding-left:10px;
  letter-spacing:.02em;
}
.hero-eq-formula--compact{font-size:clamp(14px,1.6vw,16px);}
.hero-eq-formula--sub{
  font-size:14px;color:#cbd5e1;margin-top:-2px;
  padding-left:22px;
}
.hero-eq-formula .eq-dot{
  position:relative;display:inline-block;
}
.hero-eq-formula .eq-dot::after{
  content:'';position:absolute;top:-.35em;left:50%;transform:translateX(-50%);
  width:.55em;height:2px;background:currentColor;border-radius:1px;
}
.hero-eq-formula .eq-int{
  display:inline-block;
  animation:eqIntegralPulse 2.4s ease-in-out infinite;
  color:#fde047;
}
.hero-eq-formula .eq-kern{color:#e2e8f0;}
.hero-eq-formula .eq-op{margin:0 .2em;color:#94a3b8;}
.hero-eq-formula .eq-neg{color:#f87171;}
.hero-eq-formula .eq-bracket{color:#64748b;font-weight:700;}
.hero-eq-note{
  font-size:10px;color:#64748b;margin:0;padding-left:10px;line-height:1.35;
}
@keyframes eqIntegralPulse{
  0%,100%{opacity:1;text-shadow:none;}
  50%{opacity:.85;text-shadow:0 0 12px rgba(253,224,71,.45);}
}
.hero-eq-progress{
  height:2px;background:rgba(255,255,255,.08);
  border-radius:999px;margin:10px 0 8px;overflow:hidden;
}
.hero-eq-progress-bar{
  display:block;height:100%;width:0;
  background:linear-gradient(90deg,#f97316,#dc2626,#2563eb);
  border-radius:999px;
  animation:eqProgress 4.5s linear infinite;
}
@keyframes eqProgress{
  from{width:0;}
  to{width:100%;}
}
.hero-eq-dots{
  display:flex;justify-content:center;gap:5px;flex-wrap:wrap;
}
.hero-eq-dot{
  width:6px;height:6px;border-radius:50%;padding:0;border:none;
  background:rgba(255,255,255,.25);cursor:pointer;
  transition:transform .2s,background .2s;
}
.hero-eq-dot.active{
  background:#fff;transform:scale(1.25);
}
.hero-eq-dot:hover{background:rgba(255,255,255,.55);}

@media (max-width:1100px){
  .hero-visual-panel{left:36%;right:2%;}
}
@media (max-width:960px){
  .hero-visual-panel{
    left:0;right:0;top:auto;bottom:0;height:38%;
    padding:0 3% 10px;
  }
  .hero-visual-main{max-width:none;}
  .hero-climate-gauge{top:10px;right:10px;transform:scale(.88);transform-origin:top right;}
  .hero-content{max-width:100%;width:100%;}
}
@media (max-width:768px){
  .hero-pipe-wrap{min-height:140px;}
}
.hero-slide-video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 35%;
  pointer-events:none;
  transform:scale(1.02);
  filter:brightness(0.85) saturate(1.05);
}
.hero-slide-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(
    100deg,
    rgba(10,25,80,0.97) 0%,
    rgba(10,25,80,0.92) 32%,
    rgba(10,25,80,0.55) 48%,
    rgba(10,25,80,0.18) 62%,
    rgba(10,25,80,0.04) 78%,
    transparent 100%
  );
}
.hero-slide:has(.hero-slide-bg--electrical).active ~ .hero-slide-overlay{
  background:linear-gradient(
    100deg,
    rgba(5,12,28,0.9) 0%,
    rgba(5,12,28,0.7) 26%,
    rgba(5,12,28,0.25) 48%,
    rgba(5,12,28,0.06) 64%,
    transparent 82%
  );
}
.hero-content{
  position:absolute;inset:0;z-index:3;
  display:flex;flex-direction:column;
  justify-content:center;
  padding:0 5% 0 6%;max-width:42%;width:42%;
}
.hero.hero-video-active .hero-slide-overlay{
  background:linear-gradient(
    100deg,
    rgba(8,18,55,0.96) 0%,
    rgba(8,18,55,0.88) 32%,
    rgba(8,18,55,0.55) 50%,
    rgba(8,18,55,0.22) 68%,
    rgba(0,0,0,0.15) 100%
  );
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--red);color:#fff;
  font-size:11px;font-weight:800;letter-spacing:0.14em;
  text-transform:uppercase;padding:6px 16px;
  border-radius:2px;margin-bottom:22px;width:fit-content;
  box-shadow:0 2px 12px rgba(0,0,0,0.3);
}
.hero-h1{
  font-family:'Oswald',sans-serif;
  font-size:clamp(40px,6vw,78px);
  font-weight:700;color:#fff;
  line-height:1.06;letter-spacing:0.02em;
  text-transform:uppercase;
  margin-bottom:14px;
  text-shadow:0 2px 24px rgba(0,0,0,0.45);
}
.hero-h1 span{color:#ffffff;}
.hero-sub{
  font-size:clamp(13px,1.6vw,17px);
  color:rgba(255,255,255,0.92);
  letter-spacing:0.1em;text-transform:uppercase;
  margin-bottom:32px;
  border-left:4px solid var(--red);padding-left:14px;
}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;}
.btn-red{
  background:var(--red);color:#fff;
  padding:14px 30px;font-weight:800;font-size:13px;
  letter-spacing:0.08em;text-transform:uppercase;
  border:2px solid var(--red);transition:all .2s;cursor:pointer;
  display:inline-block;
}
.btn-red:hover{background:var(--red2);border-color:var(--red2);}
.btn-outline-white{
  background:transparent;color:#fff;
  padding:14px 30px;font-weight:700;font-size:13px;
  letter-spacing:0.08em;text-transform:uppercase;
  border:2px solid rgba(255,255,255,0.55);transition:all .2s;cursor:pointer;
  display:inline-block;
}
.btn-outline-white:hover{border-color:#fff;background:rgba(255,255,255,0.08);}

/* Slider controls */
.hero-dots{
  position:absolute;bottom:28px;left:50%;transform:translateX(-50%);
  z-index:10;display:flex;gap:8px;
}
.hero-dot{
  width:10px;height:10px;border-radius:50%;
  background:rgba(255,255,255,0.35);border:none;cursor:pointer;transition:all .3s;
}
.hero-dot.active{background:#fff;transform:scale(1.3);}
.hero-arrows{position:absolute;bottom:20px;right:5%;z-index:10;display:flex;gap:8px;}
.hero-arr{
  width:38px;height:38px;background:rgba(255,255,255,0.15);
  border:1px solid rgba(255,255,255,0.3);
  color:#fff;font-size:16px;cursor:pointer;transition:all .2s;
  display:flex;align-items:center;justify-content:center;
}
.hero-arr:hover{background:var(--red);border-color:var(--red);}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   STATS BAR
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.stats-bar{
  background:var(--green3);
  display:grid;grid-template-columns:repeat(4,1fr);
}
.stat-item{
  padding:28px 20px;text-align:center;
  border-right:1px solid rgba(255,255,255,0.08);
  transition:background .2s;
}
.stat-item:last-child{border-right:none;}
.stat-item:hover{background:rgba(255,255,255,0.05);}
.stat-n{
  font-family:'Oswald',sans-serif;
  font-size:44px;font-weight:700;color:#4ade80;line-height:1;
}
.stat-n.blue{color:#60a5fa;}
.stat-n.red{color:#f87171;}
.stat-n.white{color:#fff;}
.stat-l{font-size:11px;color:rgba(255,255,255,0.55);
  text-transform:uppercase;letter-spacing:0.12em;margin-top:6px;}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   SECTION BASE
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.section{padding:80px 5%;}
.section-inner{max-width:1180px;margin:0 auto;}
.section-dark{background:var(--dark);color:#fff;}
.section-gray{background:var(--lgray);}
.section-blue{background:var(--blue);}
.section-green{background:var(--green3);}

.s-label{
  font-size:11px;font-weight:800;letter-spacing:0.16em;
  text-transform:uppercase;margin-bottom:10px;
  display:flex;align-items:center;gap:10px;
}
.s-label::before{content:'';width:30px;height:2px;background:currentColor;flex-shrink:0;}
.s-title{
  font-family:'Oswald',sans-serif;
  font-size:clamp(30px,4vw,48px);font-weight:700;
  text-transform:uppercase;letter-spacing:0.03em;
  line-height:1.1;margin-bottom:16px;
}
.s-title .accent-green{color:var(--green2);}
.s-title .accent-red{color:var(--red);}
.s-title .accent-blue{color:#60a5fa;}
.s-desc{font-size:15px;color:var(--gray);max-width:600px;line-height:1.85;}
.s-desc-white{color:rgba(255,255,255,0.65);}
.s-head{margin-bottom:50px;}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   PROJECT BANNER (ACAPS style CTA strip)
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.project-banner{
  background:var(--blue);
  padding:50px 7%;
  display:flex;align-items:center;justify-content:space-between;
  gap:30px;flex-wrap:wrap;
}
.project-banner h2{
  font-family:'Oswald',sans-serif;
  font-size:clamp(24px,3.5vw,40px);font-weight:700;
  color:#fff;text-transform:uppercase;letter-spacing:0.04em;
}
.project-banner h2 span{color:#93c5fd;}
.btn-white-solid{
  background:#fff;color:var(--blue);
  padding:14px 32px;font-weight:800;font-size:13px;
  letter-spacing:0.08em;text-transform:uppercase;
  border:2px solid #fff;transition:all .2s;white-space:nowrap;
  display:inline-block;
}
.btn-white-solid:hover{background:transparent;color:#fff;}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   ABOUT
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.about-img{position:relative;}
.about-img img{width:100%;height:420px;object-fit:cover;}
.about-img-badge{
  position:absolute;bottom:-20px;right:-20px;
  background:var(--red);color:#fff;
  padding:20px 24px;text-align:center;
  box-shadow:0 8px 24px rgba(0,0,0,0.2);
}
.about-img-badge strong{display:block;font-family:'Oswald',sans-serif;font-size:36px;font-weight:700;line-height:1;}
.about-img-badge span{font-size:10px;text-transform:uppercase;letter-spacing:0.1em;opacity:.85;}
.about-content .s-label{color:var(--red);}
.about-list{margin-top:22px;display:flex;flex-direction:column;gap:10px;}
.about-list-item{
  display:flex;align-items:center;gap:12px;
  font-size:14px;color:var(--dark);font-weight:500;
  padding:10px 14px;background:var(--lgray);border-left:4px solid var(--green);
}
.about-list-item.blue{border-left-color:var(--blue);}
.about-list-item.red{border-left-color:var(--red);}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   SERVICES
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.svc-card{
  position:relative;height:280px;overflow:hidden;cursor:pointer;
}
.svc-card img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .4s ease;
}
.svc-card:hover img{transform:scale(1.06);}
.svc-card-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,0.85) 0%,rgba(0,0,0,0.2) 60%,transparent 100%);
  transition:background .3s;
}
.svc-card:hover .svc-card-overlay{
  background:linear-gradient(to top,rgba(15,61,34,0.9) 0%,rgba(15,61,34,0.5) 60%,transparent 100%);
}
.svc-card-body{
  position:absolute;bottom:0;left:0;right:0;
  padding:22px 20px;
}
.svc-card-icon{
  font-size:28px;margin-bottom:8px;display:block;
}
.svc-card-body h3{
  font-family:'Oswald',sans-serif;font-size:18px;font-weight:700;
  color:#fff;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:6px;
}
.svc-card-body p{font-size:12px;color:rgba(255,255,255,0.7);line-height:1.6;margin-bottom:12px;}
.svc-card-link{
  font-size:11px;font-weight:800;color:#4ade80;
  letter-spacing:0.1em;text-transform:uppercase;
  display:flex;align-items:center;gap:6px;
}
.svc-card:hover .svc-card-link{color:#fff;}
.svc-card-badge{
  position:absolute;top:14px;left:14px;
  padding:4px 10px;font-size:10px;font-weight:800;
  letter-spacing:0.1em;text-transform:uppercase;color:#fff;
}
.badge-blue{background:var(--blue);}
.badge-red{background:var(--red);}
.badge-green{background:var(--green);}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   WORK LIST (ACAPS style list)
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.work-col{padding:50px 6%;}
.work-col-left{background:var(--dark);}
.work-col-right{background:var(--green3);}
.work-list{list-style:none;margin-top:20px;display:flex;flex-direction:column;gap:0;}
.work-list li{
  padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.08);
  color:rgba(255,255,255,0.8);font-size:14px;font-weight:500;
  display:flex;align-items:center;gap:12px;
}
.work-list li::before{content:'→';color:var(--red);font-weight:900;font-size:13px;}
.work-list li.green::before{color:#4ade80;}
.work-list li.blue::before{color:#60a5fa;}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   VALUES / WHY US
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.value-card{
  padding:40px 28px;border-right:1px solid rgba(255,255,255,0.08);
  transition:background .2s;
}
.value-card:last-child{border-right:none;}
.value-card:hover{background:rgba(255,255,255,0.04);}
.value-icon{font-size:36px;margin-bottom:16px;display:block;}
.value-card h3{
  font-family:'Oswald',sans-serif;font-size:18px;font-weight:700;
  color:#fff;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:10px;
}
.value-card p{font-size:13px;color:rgba(255,255,255,0.55);line-height:1.75;}
.value-card .vnum{
  font-family:'Oswald',sans-serif;font-size:48px;font-weight:700;
  color:rgba(255,255,255,0.06);line-height:1;margin-bottom:8px;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   TESTIMONIALS
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.tcard{
  background:#fff;padding:30px;
  border-top:4px solid var(--green);
  box-shadow:0 4px 20px rgba(0,0,0,0.07);
  transition:transform .2s,box-shadow .2s;
}
.tcard:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,0.12);}
.tcard.blue-top{border-top-color:var(--blue);}
.tcard.red-top{border-top-color:var(--red);}
.stars{color:#f59e0b;font-size:15px;margin-bottom:14px;letter-spacing:2px;}
.tcard p{font-size:14px;color:var(--gray);line-height:1.85;font-style:italic;margin-bottom:20px;}
.tauthor{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--border);}
.tavatar{
  width:44px;height:44px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:800;font-size:15px;flex-shrink:0;
}
.tavatar.green{background:var(--green);}
.tavatar.blue{background:var(--blue);}
.tavatar.red{background:var(--red);}
.tauthor strong{display:block;font-size:13px;font-weight:800;color:var(--dark);}
.tauthor span{font-size:11px;color:var(--gray);}
.tavatar.logo{background:#fff;padding:6px;border:1px solid var(--border);}
.tavatar.logo img{width:100%;height:100%;object-fit:contain;}
.tavatar.logo img[src*="hopital-neko"]{object-fit:contain;padding:2px;}
.client-logo-item img[src*="hopital-neko"]{
  height:auto;max-height:72px;width:auto;max-width:180px;
  border:none;box-shadow:none;background:transparent;
}

/* Client logos */
.clients-strip{
  display:flex;flex-wrap:wrap;gap:40px;align-items:center;justify-content:center;
  padding:36px 5%;background:#fff;border-top:1px solid var(--border);
}
.clients-strip img{height:64px;width:auto;max-width:160px;object-fit:contain;}
.clients-trust-row{
  gap:28px 48px;padding:32px 24px;border-top:none;
}
.client-logo-item{
  margin:0;display:flex;flex-direction:column;align-items:center;gap:10px;
  max-width:200px;text-align:center;
}
.client-logo-item img{height:72px;max-width:180px;object-fit:contain;}
.client-logo-item img[src*="fao-promire"]{
  height:52px;max-width:260px;width:auto;object-fit:contain;
}
.client-logo-item:has(img[src*="fao-promire"]){max-width:280px;}
.tavatar.logo img[src*="fao-promire"]{object-fit:contain;padding:2px;}
.client-pill-logo img[src*="fao-promire"]{height:40px;max-width:180px;}
.client-logo-item figcaption{
  font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--gray);line-height:1.35;
}
.clients-label{
  text-align:center;font-size:11px;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gray);margin-bottom:24px;
}


/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   EMERGENCY CTA
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.emerg{
  background:var(--red);
  padding:24px 5%;
  display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;
}
.emerg-pulse{
  width:12px;height:12px;background:#fff;border-radius:50%;
  animation:pulse 1.5s infinite;flex-shrink:0;
}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(1.5);}}
.emerg p{color:#fff;font-size:15px;font-weight:600;}
.emerg p strong{font-weight:900;}
.emerg a{
  background:#fff;color:var(--red);
  padding:11px 26px;font-weight:900;font-size:13px;
  letter-spacing:0.06em;text-transform:uppercase;transition:opacity .2s;
  white-space:nowrap;display:inline-block;
}
.emerg a:hover{opacity:.9;}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   CONTACT
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:0;}
.contact-info{background:var(--green3);padding:60px 6%;}
.contact-info .s-label{color:#4ade80;}
.contact-info .s-title{color:#fff;}
.contact-items{margin-top:28px;display:flex;flex-direction:column;gap:18px;}
.citem{display:flex;gap:14px;align-items:flex-start;}
.citem-icon{
  width:44px;height:44px;flex-shrink:0;background:rgba(255,255,255,0.1);
  display:flex;align-items:center;justify-content:center;font-size:18px;
}
.citem strong{display:block;font-size:12px;font-weight:800;color:#fff;
  text-transform:uppercase;letter-spacing:0.08em;}
.citem span{font-size:14px;color:rgba(255,255,255,0.65);margin-top:2px;display:block;}
.contact-form-wrap{background:#fff;padding:60px 6%;}
.contact-form-wrap h3{
  font-family:'Oswald',sans-serif;font-size:26px;font-weight:700;
  text-transform:uppercase;color:var(--dark);margin-bottom:24px;
  padding-bottom:12px;border-bottom:3px solid var(--red);
}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.cf-field{margin-bottom:14px;}
.cf-field label{display:block;font-size:11px;font-weight:800;color:var(--dark);
  margin-bottom:5px;letter-spacing:0.08em;text-transform:uppercase;}
.cf-field input,.cf-field select,.cf-field textarea{
  width:100%;padding:12px 14px;
  border:2px solid var(--border);font-size:14px;
  color:var(--dark);background:#fff;outline:none;
  transition:border-color .2s;font-family:inherit;
}
.cf-field input:focus,.cf-field select:focus,.cf-field textarea:focus{border-color:var(--green);}
.cf-field textarea{resize:vertical;height:100px;}
.cf-btn{
  background:var(--green3);color:#fff;border:none;
  padding:14px 30px;font-weight:800;font-size:13px;cursor:pointer;
  letter-spacing:0.08em;text-transform:uppercase;transition:background .2s;
}
.cf-btn:hover{background:var(--green);}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   FOOTER
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
footer{background:#0a0a0a;padding:60px 5% 24px;}
.footer-grid{
  max-width:1180px;margin:0 auto;
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;
  margin-bottom:40px;
  padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,0.08);
}
.fbrand p{color:rgba(255,255,255,0.45);font-size:13px;line-height:1.85;margin-top:14px;max-width:260px;}
.fcol h4{
  font-family:'Oswald',sans-serif;font-size:13px;font-weight:700;
  color:#fff;letter-spacing:0.12em;text-transform:uppercase;
  margin-bottom:16px;padding-bottom:8px;
  border-bottom:2px solid var(--red);display:inline-block;
}
.fcol ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.fcol ul a{color:rgba(255,255,255,0.45);font-size:13px;transition:color .2s;}
.fcol ul a:hover{color:var(--red2);}
.footer-bottom{
  max-width:1180px;margin:0 auto;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;
}
.footer-bottom p{color:rgba(255,255,255,0.25);font-size:12px;}
.footer-certs{display:flex;gap:8px;}
.fcert{
  border:1px solid rgba(255,255,255,0.15);
  color:rgba(255,255,255,0.35);font-size:10px;font-weight:800;
  padding:4px 10px;letter-spacing:0.08em;text-transform:uppercase;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   FADE IN
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.fade-up{opacity:0;transform:translateY(24px);transition:opacity .6s,transform .6s;}
.fade-up.visible{opacity:1;transform:translateY(0);}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   RESPONSIVE
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
/* Active nav + mobile menu enhancements */
.nav-links > li.active > a{color:var(--green);border-bottom:2px solid var(--green);}
.nav-links > li.drop-open .nav-drop{display:block;position:static;box-shadow:none;border-top:none;}
.nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:198;}
body.nav-open{overflow:hidden;}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.burger span{transition:transform .2s,opacity .2s;}

/* Page hero (inner pages) */
.page-hero{
  background:linear-gradient(135deg,var(--green3) 0%,var(--blue) 100%);
  padding:70px 5%;color:#fff;text-align:center;
}
.page-hero h1{font-family:'Oswald',sans-serif;font-size:clamp(32px,5vw,52px);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;}
.page-hero p{color:rgba(255,255,255,0.8);max-width:640px;margin:0 auto;font-size:15px;}
.breadcrumb{font-size:12px;margin-bottom:16px;opacity:.75;}
.breadcrumb a:hover{text-decoration:underline;}

/* Blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.blog-card{background:#fff;box-shadow:0 4px 20px rgba(0,0,0,.08);overflow:hidden;transition:transform .2s;}
.blog-card:hover{transform:translateY(-4px);}
.blog-card img{width:100%;height:180px;object-fit:cover;}
.blog-card-body{padding:22px;}
.blog-card-body h3{font-family:'Oswald',sans-serif;font-size:18px;margin-bottom:8px;text-transform:uppercase;}
.blog-card-body p{font-size:13px;color:var(--gray);margin-bottom:14px;}
.blog-meta{font-size:11px;color:var(--gray);text-transform:uppercase;letter-spacing:.08em;}
.article-content{max-width:760px;margin:0 auto;font-size:16px;line-height:1.85;color:var(--gray);}
.article-content h2{font-family:'Oswald',sans-serif;color:var(--dark);margin:32px 0 12px;font-size:24px;}

/* Service detail */
.service-detail-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:start;}
.service-detail-photo{
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center center;
  display:block;
  border-radius:4px;
  background:#e2e8f0;
}
.service-detail-photo--portrait{aspect-ratio:3/4;object-position:center top;}
.service-detail-photo--full{
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center center;
  max-height:560px;
  width:100%;
  background:#0f172a0a;
  cursor:zoom-in;
}
.service-detail-photo-wrap{
  display:block;
  border-radius:4px;
  overflow:hidden;
}
.service-features{list-style:none;display:flex;flex-direction:column;gap:10px;margin-top:20px;}
.service-features li{padding:12px 14px;background:var(--lgray);border-left:4px solid var(--green);font-size:14px;font-weight:500;}

/* Info card grid — offshore / oilfield & multi-service pages */
.info-section-head{max-width:760px;margin:0 auto 42px;text-align:center;}
.info-section-head .s-title{text-align:center;}
.info-section-head p{color:var(--gray);line-height:1.8;margin-top:12px;}
.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.info-grid--3{grid-template-columns:repeat(3,1fr);}
.info-card{background:#fff;border:1px solid var(--border);border-top:4px solid var(--green);border-radius:14px;padding:28px 26px;box-shadow:0 12px 34px rgba(17,17,17,0.06);transition:transform .25s ease,box-shadow .25s ease;}
.info-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(17,17,17,0.10);}
.info-card h3{font-family:'Oswald',sans-serif;font-size:20px;text-transform:uppercase;letter-spacing:.02em;color:var(--dark);margin-bottom:10px;}
.info-card p{color:var(--gray);line-height:1.75;font-size:14px;margin-bottom:14px;}
.info-card ul{list-style:none;display:flex;flex-direction:column;gap:9px;}
.info-card ul li{position:relative;padding-left:24px;font-size:14px;color:#334155;font-weight:500;line-height:1.5;}
.info-card ul li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--green2);font-weight:800;}
.info-card--wide{grid-column:1 / -1;}
.info-card--accent-blue{border-top-color:var(--blue2);}
.info-card--accent-blue ul li::before{color:var(--blue2);}
.info-card--accent-red{border-top-color:var(--red);}
.info-card--accent-red ul li::before{color:var(--red);}
.info-panel{background:linear-gradient(135deg,#0f2233,#14324a);color:#fff;border-radius:18px;padding:46px 44px;box-shadow:0 22px 60px rgba(15,34,51,0.25);}
.info-panel h3{font-family:'Oswald',sans-serif;font-size:clamp(24px,3vw,32px);text-transform:uppercase;letter-spacing:.03em;margin-bottom:24px;}
.info-panel ul{list-style:none;display:grid;gap:14px;}
.info-panel ul li{position:relative;padding-left:30px;font-size:15px;line-height:1.6;color:rgba(255,255,255,0.9);}
.info-panel ul li::before{content:"\27A4";position:absolute;left:0;top:2px;color:#4ade80;font-size:13px;}
@media(max-width:960px){.info-grid--3{grid-template-columns:1fr;}}
@media(max-width:720px){.info-grid{grid-template-columns:1fr;}.info-panel{padding:32px 24px;}}

/* Offshore proof gallery */
.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.proof-card{
  position:relative;overflow:hidden;border-radius:12px;
  box-shadow:0 10px 28px rgba(0,0,0,.12);background:#0f2233;
  aspect-ratio:3/4;cursor:pointer;border:1px solid var(--border);
}
.proof-card img{width:100%;height:100%;object-fit:contain;transition:transform .45s ease;}
.proof-card:hover img{transform:scale(1.03);}
.proof-card-cap{
  position:absolute;inset:auto 0 0 0;padding:14px 14px 12px;
  background:linear-gradient(transparent,rgba(15,34,51,.92));
  color:#fff;
}
.proof-card-cap strong{display:block;font-family:'Oswald',sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.04em;}
.proof-card-cap span{font-size:11px;opacity:.85;line-height:1.35;}
.proof-note{max-width:720px;margin:18px auto 0;text-align:center;color:var(--gray);font-size:13px;line-height:1.6;}
@media(max-width:960px){.proof-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:600px){.proof-grid{grid-template-columns:1fr 1fr;}}

/* Climate context */
.climate-section{background:#fff;}
.climate-intro p{
  color:var(--gray);font-size:16px;line-height:1.9;max-width:900px;margin-bottom:32px;
}
.climate-factors{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:36px;
}
.climate-factor{
  background:var(--lgray);padding:28px 24px;border-radius:4px;
  border-top:3px solid var(--blue);
}
.climate-factor h3{
  font-family:'Oswald',sans-serif;font-size:16px;text-transform:uppercase;
  color:var(--dark);margin-bottom:12px;
}
.climate-viz{
  background:#fff;border-radius:4px;padding:14px 12px;margin-bottom:14px;
  border:1px solid rgba(0,0,0,.06);
}
.climate-viz-caption{
  font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;
  color:var(--gray);margin-bottom:10px;
}
.climate-bar-chart{display:flex;flex-direction:column;gap:10px;}
.climate-bar-row{display:grid;grid-template-columns:72px 1fr 44px;gap:8px;align-items:center;}
.climate-bar-label{font-size:10px;color:var(--gray);line-height:1.2;}
.climate-bar-track{height:10px;background:#e2e8f0;border-radius:999px;overflow:hidden;}
.climate-bar-fill{height:100%;border-radius:999px;}
.climate-bar-fill.temp{background:linear-gradient(90deg,#f59e0b,#dc2626);}
.climate-bar-fill.humid{background:linear-gradient(90deg,#2563be,#1a4b8c);}
.climate-bar-fill.feel{background:linear-gradient(90deg,#dc2626,#991b1b);}
.climate-bar-val{font-size:10px;font-weight:700;color:var(--dark);text-align:right;}
.climate-heatmap{
  display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px;
}
.heat-cell{
  font-size:9px;font-weight:700;text-align:center;padding:8px 4px;border-radius:3px;
  color:#fff;text-transform:uppercase;letter-spacing:.02em;
}
.heat-cell.h3{background:#f59e0b;}
.heat-cell.h4{background:#ea580c;}
.heat-cell.h5{background:#dc2626;}
.climate-compare{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding-top:4px;
}
.climate-compare-item{
  flex:1;text-align:center;padding:8px 6px;border-radius:3px;font-size:10px;
}
.climate-compare-item.rural{background:#dbeafe;color:var(--blue);}
.climate-compare-item.urban{background:#fee2e2;color:#991b1b;}
.climate-compare-item strong{display:block;font-family:'Oswald',sans-serif;font-size:16px;margin-top:2px;}
.climate-compare-arrow{
  font-size:9px;font-weight:700;color:var(--red);white-space:nowrap;
}
.climate-line-chart{width:100%;height:auto;display:block;}
.climate-trend-tags{
  display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;
}
.climate-trend-tags span{
  font-size:9px;font-weight:600;padding:4px 8px;border-radius:3px;
  background:rgba(220,38,38,.1);color:#991b1b;
}
.climate-factor p{font-size:14px;color:var(--gray);line-height:1.75;}
.climate-body p{
  color:var(--gray);font-size:15px;line-height:1.9;margin-bottom:16px;max-width:920px;
}
.climate-closing{
  padding:24px 28px;background:var(--lgray);border-left:4px solid var(--green);
  border-radius:0 4px 4px 0;font-size:15px!important;
}
.climate-teaser{
  background:var(--lgray);padding:56px 5%;
  border-top:1px solid rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.06);
}
.climate-teaser-inner{max-width:720px;text-align:center;margin:0 auto;}
.climate-teaser-inner .s-title{margin-bottom:16px;}
.climate-teaser-inner p{
  color:var(--gray);font-size:15px;line-height:1.85;margin-bottom:22px;
}

/* Leadership */
.leadership-section{background:var(--lgray);}
.leadership-stack{
  display:flex;flex-direction:column;gap:28px;margin-bottom:32px;
}
.leader-row{
  display:grid;grid-template-columns:300px 1fr;gap:0;
  align-items:start;
  background:#fff;border-radius:4px;overflow:hidden;
  box-shadow:0 10px 36px rgba(0,0,0,.1);
}
.leader-row-president{border-top:4px solid var(--blue);}
.leader-row-vp{border-top:4px solid var(--blue);}
.leader-photo-wrap{
  margin:0;background:var(--dark);overflow:hidden;
  align-self:start;width:100%;
}
.leader-photo-wrap img{
  width:100%;height:auto;aspect-ratio:3/4;
  object-fit:cover;object-position:center top;display:block;
}
.leader-row-vp .leader-photo-wrap img{object-position:center top;}
.leader-info{padding:32px 36px;display:flex;flex-direction:column;justify-content:flex-start;}
.leader-info h3{
  font-family:'Oswald',sans-serif;font-size:24px;text-transform:uppercase;
  color:var(--dark);margin-bottom:6px;
}
.leader-info .leader-role{
  color:var(--green3);font-weight:700;font-size:12px;
  text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px;
}
.leader-info p{color:var(--gray);line-height:1.9;font-size:15px;margin-bottom:14px;}
.leader-info p:last-child{margin-bottom:0;}
.leader-era{
  font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  color:var(--dark);margin:18px 0 8px!important;line-height:1.4!important;
}
.leader-projects{
  margin:0 0 8px;padding:0 0 0 1.15em;list-style:disc;
  color:var(--gray);font-size:15px;line-height:1.75;
}
.leader-projects li{margin-bottom:6px;}
.leader-projects li::marker{color:var(--blue);}

/* Team gallery */
.team-section{background:#fff;}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.team-card{
  position:relative;overflow:hidden;border-radius:4px;
  box-shadow:0 8px 28px rgba(0,0,0,.12);background:#fff;
  aspect-ratio:3/2;cursor:pointer;
}
.team-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.team-card:hover img{transform:scale(1.05);}
.team-card-cap{
  position:absolute;inset:auto 0 0 0;padding:16px 18px;
  background:linear-gradient(transparent,rgba(15,61,34,.92));
  color:#fff;
}
.team-card-cap strong{display:block;font-family:'Oswald',sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:.06em;}
.team-card-cap span{font-size:11px;opacity:.85;}
.team-feature{
  display:grid;grid-template-columns:1.1fr 1fr;gap:0;
  box-shadow:0 12px 40px rgba(0,0,0,.15);border-radius:4px;overflow:hidden;
  margin-bottom:50px;
}
.team-feature-img{min-height:420px;position:relative;}
.team-feature-img img{width:100%;height:100%;object-fit:cover;min-height:420px;}
.team-feature-body{background:var(--green3);padding:50px 6%;display:flex;flex-direction:column;justify-content:center;color:#fff;}
.team-feature-body .s-label{color:#4ade80;}
.team-feature-body .s-title{color:#fff;margin-bottom:14px;}
.team-feature-body p{color:rgba(255,255,255,.75);line-height:1.85;font-size:15px;}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:500;display:none;align-items:center;justify-content:center;padding:24px;}
.lightbox.open{display:flex;}
.lightbox img{
  max-width:min(1100px,96vw);max-height:92vh;width:auto;height:auto;
  object-fit:contain;border-radius:4px;box-shadow:0 20px 60px rgba(0,0,0,.5);
  background:#000;
}
.lightbox-close{position:absolute;top:20px;right:24px;color:#fff;font-size:32px;cursor:pointer;background:none;border:none;z-index:2;}

.quote-calc{background:var(--lgray);padding:28px;border-top:4px solid var(--blue);margin-top:24px;}
.quote-calc h4{font-family:'Oswald',sans-serif;font-size:20px;margin-bottom:6px;text-transform:uppercase;}
.quote-calc .calc-sub{font-size:12px;color:var(--gray);margin-bottom:18px;}
.calc-result{margin-top:18px;padding:18px;background:#fff;border-left:4px solid var(--green);}
.calc-result strong{display:block;font-size:22px;color:var(--green3);font-family:'Oswald',sans-serif;}
.calc-result span{font-size:12px;color:var(--gray);}

/* WhatsApp float + form result */
.whatsapp-float{
  position:fixed;bottom:24px;right:24px;z-index:300;
  width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:26px;
  box-shadow:0 4px 20px rgba(0,0,0,.25);transition:transform .2s;
}
.whatsapp-float:hover{transform:scale(1.08);}

/* IEG Assistant chat */
#ieg-assistant{position:fixed;bottom:24px;right:24px;z-index:320;font-family:Inter,sans-serif;}
.ieg-chat-toggle{
  display:flex;align-items:center;gap:8px;
  height:56px;padding:0 18px 0 14px;border:none;border-radius:999px;
  background:var(--green3,#0b5d45);color:#fff;cursor:pointer;
  box-shadow:0 8px 28px rgba(11,93,69,.35);transition:transform .2s,box-shadow .2s;
}
.ieg-chat-toggle:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(11,93,69,.4);}
.ieg-chat-toggle-icon{font-size:22px;line-height:1;}
.ieg-chat-toggle-label{font-size:13px;font-weight:800;letter-spacing:.06em;}
.ieg-chat-panel{
  position:absolute;right:0;bottom:68px;width:min(380px,calc(100vw - 28px));
  height:min(520px,70vh);display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--border,#e5e7eb);border-radius:12px;
  box-shadow:0 18px 50px rgba(0,0,0,.18);opacity:0;pointer-events:none;
  transform:translateY(12px) scale(.98);transition:opacity .2s,transform .2s;
  overflow:hidden;
}
.ieg-chat-panel.open{opacity:1;pointer-events:auto;transform:none;}
.ieg-chat-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 16px;background:linear-gradient(120deg,#0b5d45,#0a3d5c);color:#fff;
}
.ieg-chat-head strong{display:block;font-size:15px;font-weight:800;}
.ieg-chat-head span{display:block;font-size:11px;opacity:.8;margin-top:2px;}
.ieg-chat-close{
  width:32px;height:32px;border:none;border-radius:50%;background:rgba(255,255,255,.15);
  color:#fff;font-size:20px;line-height:1;cursor:pointer;
}
.ieg-chat-close:hover{background:rgba(255,255,255,.28);}
.ieg-chat-log{
  flex:1;overflow-y:auto;padding:16px;background:#f6f8f7;
  display:flex;flex-direction:column;gap:10px;
}
.ieg-chat-msg{
  max-width:88%;padding:10px 12px;border-radius:12px;font-size:13px;line-height:1.55;
  white-space:pre-wrap;word-break:break-word;
}
.ieg-chat-msg.bot{align-self:flex-start;background:#fff;border:1px solid #e5ebe8;color:#1a2b24;}
.ieg-chat-msg.user{align-self:flex-end;background:#0b5d45;color:#fff;border-bottom-right-radius:4px;}
.ieg-chat-typing{
  display:inline-flex;align-items:center;gap:5px;padding:12px 16px;min-height:auto;
}
.ieg-chat-typing span{
  width:7px;height:7px;border-radius:50%;background:#7a8f86;
  animation:ieg-typing 1.2s infinite ease-in-out;
}
.ieg-chat-typing span:nth-child(2){animation-delay:.15s;}
.ieg-chat-typing span:nth-child(3){animation-delay:.3s;}
@keyframes ieg-typing{
  0%,80%,100%{transform:translateY(0);opacity:.35;}
  40%{transform:translateY(-4px);opacity:1;}
}
.ieg-chat-form button:disabled{opacity:.55;cursor:wait;}
.ieg-chat-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}
.ieg-chat-action{
  display:inline-flex;align-items:center;justify-content:center;
  padding:8px 12px;border-radius:6px;border:1px solid #d5e0da;
  background:#fff;color:#0b5d45;font-size:12px;font-weight:700;cursor:pointer;text-decoration:none;
}
.ieg-chat-action.primary{background:#0b5d45;color:#fff;border-color:#0b5d45;}
.ieg-chat-action:hover{opacity:.92;}
.ieg-chat-form{
  display:flex;gap:8px;padding:12px;border-top:1px solid #e5ebe8;background:#fff;
}
.ieg-chat-form input{
  flex:1;min-width:0;padding:11px 12px;border:1px solid #d5e0da;border-radius:8px;
  font-size:13px;outline:none;
}
.ieg-chat-form input:focus{border-color:#0b5d45;box-shadow:0 0 0 3px rgba(11,93,69,.12);}
.ieg-chat-form button{
  padding:11px 14px;border:none;border-radius:8px;background:var(--red,#c0392b);
  color:#fff;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap;
}
.ieg-chat-form button:hover{opacity:.92;}

.form-result{text-align:center;padding:40px 20px;}
.form-result-icon{font-size:48px;margin-bottom:14px;}
.form-result p{font-size:16px;font-weight:700;color:var(--green3);}
.cert-badge{background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.5);font-size:10px;padding:4px 10px;border-radius:3px;font-weight:700;}

@media(max-width:960px){
  .about-grid,.contact-grid,.work-grid,.service-detail-grid{grid-template-columns:1fr;}
  .svc-grid,.blog-grid{grid-template-columns:1fr 1fr;}
  .team-grid{grid-template-columns:1fr 1fr;}
  .climate-factors{grid-template-columns:1fr;}
  .leadership-stack{gap:24px;}
  .leader-row{grid-template-columns:1fr;}
  .team-feature{grid-template-columns:1fr;}
  .values-grid{grid-template-columns:1fr 1fr;}
  .testi-grid{grid-template-columns:1fr;}
  .stats-bar{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .nav-links{
    display:none;position:fixed;top:70px;left:0;right:0;bottom:0;
    flex-direction:column;background:#fff;padding:16px 5% 100px;gap:0;z-index:199;
    border-bottom:3px solid var(--red);box-shadow:0 8px 20px rgba(0,0,0,.12);
    overflow-y:auto;-webkit-overflow-scrolling:touch;
  }
  .nav-links.open{display:flex;}
  .nav-links > li > a{
    padding:14px 12px;font-size:14px;border-bottom:1px solid var(--border);
    min-height:44px;display:flex;align-items:center;
  }
  .nav-drop a{padding:12px 16px;font-size:13px;min-height:44px;}
  .burger{display:flex;padding:10px;min-width:44px;min-height:44px;align-items:center;justify-content:center;}
  .topbar{display:none;}
  .hero{
    height:auto;min-height:min(100svh,720px);
    min-height:min(100vh,720px);
  }
  .hero-content{
    max-width:100%;width:100%;
    padding:28px 5% 120px;
    justify-content:flex-end;
  }
  .hero-h1{font-size:clamp(30px,9vw,48px);}
  .hero-sub{font-size:12px;letter-spacing:.06em;margin-bottom:22px;}
  .hero-btns{gap:10px;}
  .btn-red,.btn-outline-white{padding:12px 18px;font-size:12px;min-height:44px;}
  .hero-arrows{display:none;}
  .hero-dots{bottom:16px;}
  .nav-quote{display:none;}
  .nav-logo img{height:40px;}
  .page-hero{padding:48px 5%;}
  .clients-logos{justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px;}
  .whatsapp-float{bottom:18px;right:16px;width:52px;height:52px;}
  #ieg-assistant{bottom:18px;right:16px;}
  .ieg-chat-toggle{height:52px;padding:0 14px 0 12px;}
  .ieg-chat-panel{bottom:62px;height:min(480px,68vh);}
}
@media(max-width:600px){
  html,body{overflow-x:hidden;max-width:100%;}
  .section{padding:48px 5%;}
  .cf-row{grid-template-columns:1fr;}
  .stats-bar{grid-template-columns:1fr 1fr;}
  .stat-item{padding:20px 12px;}
  .stat-n{font-size:32px;}
  .svc-grid,.blog-grid,.team-grid{grid-template-columns:1fr;}
  .values-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .hero{
    min-height:min(100svh,640px);
    min-height:min(100vh,640px);
    display:flex;flex-direction:column;justify-content:stretch;
  }
  .hero-content{
    position:absolute;inset:0;
    display:flex;flex-direction:column;
    justify-content:flex-start;
    padding:72px 5% 64px;
    background:linear-gradient(180deg,rgba(10,25,80,.35) 0%,rgba(10,25,80,.2) 28%,rgba(10,25,80,.55) 55%,rgba(10,25,80,.92) 100%);
    max-width:100%;width:100%;
  }
  .hero-slide-overlay{
    background:linear-gradient(
      180deg,
      rgba(10,25,80,0.2) 0%,
      rgba(10,25,80,0.28) 40%,
      rgba(10,25,80,0.75) 100%
    );
  }
  .hero-h1{
    font-size:clamp(26px,7.5vw,36px);margin-bottom:8px;line-height:1.05;
    margin-top:8px;
  }
  .hero-sub{margin-bottom:0;max-width:100%;font-size:11px;letter-spacing:.05em;}
  .hero-btns{
    flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:8px;
    margin-top:auto; /* pin CTAs to bottom of hero */
    padding-bottom:8px;
  }
  .btn-red,.btn-outline-white{
    width:auto;flex:1;text-align:center;
    padding:11px 10px;font-size:11px;min-height:42px;
    letter-spacing:.04em;
  }
  .lang-sw{gap:2px;}
  .lang-btn{padding:6px 8px;min-height:36px;}
  .project-banner{padding:40px 5%;text-align:center;}
  .project-banner h2{font-size:clamp(22px,6vw,32px);}
  .nav-links{top:70px;}
  .sticky-cta{bottom:78px;right:14px;left:auto;max-width:calc(100vw - 90px);}
  .hero-dots{bottom:12px;}
}

/* Mobile quote CTA inside open menu */
.nav-mobile-only{list-style:none;}
@media(max-width:960px){
  .nav-mobile-quote{
    display:block;margin:16px 0 8px;text-align:center;
    background:var(--red);color:#fff !important;padding:14px 18px;border-radius:4px;
    font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
    border-bottom:none !important;justify-content:center;
  }
}
@media(min-width:961px){
  .nav-mobile-only{display:none !important;}
}

