/*
Theme Name: GENX Electric
Theme URI: https://genxelectric.co
Author: Deepak Malik
Author URI: https://genxelectric.co
Description: A modern, custom theme for GENX Electric Ltd.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: custom-menu, translation-ready, clean-layout
Text Domain: genx-electric
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700&family=Open+Sans:wght@400;600;700&display=swap');

:root {
  --blue:#007bff; --blue-light:#1e90ff; --blue-dark:#0069d9; --blue-hover:#0069d9;
  --blue-soft:#eef7ff; --navy:#1e2a34; --navy-deep:#121c24;
  --charcoal:#2f343b; --text:#49515a; --muted:#626b75;
  --line:#e4e8ed; --light:#f5f7fa; --white:#fff;
  --heading:"Montserrat",Arial,sans-serif; --body:"Open Sans",Arial,sans-serif;
  --shadow:0 12px 32px rgba(30,42,52,.09);
  --shadow-lg:0 20px 50px rgba(18,28,36,.18);
  --container:1200px;
  --radius-control:8px; --radius-card:12px; --radius-feature:20px;
  --space-section:110px; --space-section-mobile:72px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);background:#fff;font:400 16px/1.65 var(--body)}
body.menu-open{overflow:hidden}
button,input,select,textarea{font:inherit}
a{color:inherit}
img{display:block;width:100%}
:focus-visible{outline:3px solid rgba(0,123,255,.35);outline-offset:3px}
.container{width:min(calc(100% - 40px),var(--container));margin:auto}
.section{padding:104px 0}
.section--soft{background:var(--light)}
.section--dark{color:#fff;background:var(--navy)}
.eyebrow{display:block;margin-bottom:11px;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
h1,h2,h3,h4{margin:0;color:var(--charcoal);font-family:var(--heading);line-height:1.2;letter-spacing:-.025em}
h1{font-size:clamp(2.65rem,5.5vw,4.65rem);line-height:1.06}
h2{font-size:clamp(2rem,4vw,2.8rem)}
h3{font-size:1.35rem}
h4{font-size:1.1rem;text-transform:uppercase;color:var(--blue);letter-spacing:0.05em}
p{margin:14px 0 0}
.lead{font-size:1.16rem;line-height:1.7}
.section-head{max-width:720px;margin-bottom:48px}
.section-head--center{margin-inline:auto;text-align:center}
.section-head p{font-size:1.06rem}
.btn{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 25px;border:1px solid transparent;border-radius:8px;font-size:15px;font-weight:700;text-decoration:none;cursor:pointer;transition:.18s ease}
.btn:hover{transform:translateY(-2px)}
.btn--blue{color:#fff;background:var(--blue)}
.btn--blue:hover{background:var(--blue-dark)}
.btn--white{color:var(--navy);background:#fff}
.btn--outline{color:#fff;background:transparent;border-color:rgba(255,255,255,.55)}
.btn--outline:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.btn--navy{color:#fff;background:var(--navy)}
.arrow{font-size:18px;line-height:1}

.utility{color:#dbe7f0;background:var(--navy-deep);font-size:13px}
.utility__in{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.utility__right{display:flex;gap:24px}
.utility a{text-decoration:none}
.header{position:sticky;top:0;z-index:30;background:rgba(18,28,36,.97);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px)}
.header__in{min-height:82px;display:flex;align-items:center;gap:34px}
.logo{display:flex;align-items:center;gap:11px;color:var(--navy);font:700 18px/1 var(--heading);text-decoration:none}
.logo__mark{width:40px;height:40px;display:grid;place-items:center;color:#fff;background:var(--blue);border-radius:8px;box-shadow:inset -9px 0 rgba(255,255,255,.12)}
.logo--image{padding:0;display:inline-flex;align-items:center}
.logo--image img{height:58px;width:auto;display:block}
/* Combined GX + GenX logo lockup */
.logo--combo{display:inline-flex;align-items:center;gap:12px;padding:0}
.logo--combo .logo__gx{height:46px;width:auto;display:block}
.logo--combo .logo__wordmark{height:30px;width:auto;display:block;padding-left:12px;border-left:1px solid rgba(255,255,255,.22)}
.footer .logo--combo .logo__wordmark{border-left-color:rgba(255,255,255,.18)}
@media (max-width: 650px){
  .logo--image img{height:44px}
  .logo--combo .logo__gx{height:38px}
  .logo--combo .logo__wordmark{height:24px;padding-left:9px}
  .logo--combo{gap:9px}
}
.nav{display:flex;align-items:center;gap:27px;margin-left:auto}
.nav>a:not(.btn){color:#dbe7f0;font-size:14px;font-weight:700;text-decoration:none}
.nav>a:not(.btn):hover{color:#72b9ff}
.menu-btn{display:none;width:46px;height:46px;margin-left:auto;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);font-size:22px}

/* Hero Section */
.hero{position:relative;min-height:690px;display:grid;align-items:center;overflow:hidden;color:#fff;background:var(--navy-deep)}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,18,24,.96) 0%,rgba(18,28,36,.89) 44%,rgba(18,28,36,.42) 100%),url("images/compresssed one (1).jpg") center/cover}
.hero::after{content:"";position:absolute;inset:auto -150px -270px auto;width:600px;height:600px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.015)}
.hero__content{position:relative;z-index:1;max-width:800px;padding:112px 0 130px}
.hero h1{color:#fff;max-width:790px}
.hero .eyebrow{color:#72b9ff}
.hero .lead{max-width:680px;color:#dbe7f0}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero__actions .btn{width:100%}
@media (min-width: 576px) {
  .hero__actions .btn{width:auto}
}
.hero__note{display:flex;align-items:center;gap:11px;margin-top:28px;color:#cbd8e2;font-size:14px}
.hero__note span{width:25px;height:25px;display:grid;place-items:center;color:#fff;background:var(--blue);border-radius:50%;font-size:12px;font-weight:700}

/* Trust Bar */
.trust{position:relative;z-index:3;margin-top:-58px}
.trust__grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg)}
.trust__item{display:flex;align-items:center;gap:15px;padding:28px}
.trust__icon{width:46px;height:46px;display:grid;place-items:center;border-radius:8px;font-family:var(--heading);font-weight:700;font-size:15px;color:#fff;background:#121c24;flex:none}
.trust__copy strong{display:block;color:var(--charcoal);font-size:15px}
.trust__copy span{color:var(--muted);font-size:12px}

/* Services */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.service{position:relative;padding:48px 38px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}
.service:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.service::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.service:hover::before{transform:scaleX(1)}
.service.service--active{border-color:#cce5ff;box-shadow:var(--shadow)}
.service.service--active::before{transform:scaleX(1)}
.service{text-align:center}
.service__icon{width:54px;height:54px;display:grid;place-items:center;margin:0 auto 22px;color:#fff;background:var(--blue);border-radius:10px}
.service__icon svg{width:26px;height:26px}
.service p{font-size:15px}
.text-link{display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:var(--blue);font-size:14px;font-weight:700;text-decoration:none}

.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}
.media{position:relative}
.media img{width:100%;height:570px;object-fit:cover;border-radius:16px}
.media__badge{position:absolute;right:-24px;bottom:34px;width:210px;padding:24px;color:#fff;background:var(--blue);border-radius:12px;box-shadow:var(--shadow-lg)}
.media__badge strong{display:block;font:700 18px/1.25 var(--heading)}
.media__badge span{display:block;margin-top:6px;font-size:13px}

/* About section stats grid (2x2 counter stats) */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.stat{padding:36px 26px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);text-align:center;transition:transform .22s ease,box-shadow .22s ease}
.stat:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.stat__num{font-family:var(--heading);font-weight:800;font-size:clamp(2.2rem,3.4vw,3rem);line-height:1;color:var(--blue);letter-spacing:-.02em}
.stat__label{margin-top:12px;color:var(--muted);font-size:14px;font-weight:700}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin:28px 0 33px;padding:0;list-style:none}
.checks li{display:flex;gap:10px;color:var(--charcoal);font-size:14px;font-weight:600}
.checks i{width:21px;height:21px;flex:none;display:grid;place-items:center;color:#fff;background:var(--blue);border-radius:50%;font-size:11px;font-style:normal}
.tick {
  width: 21px;
  height: 21px;
  flex: none;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--blue);
  border-radius: 50%;
  font-size: 11px;
  font-weight: 700;
  margin-top: 2.5px;
}


.why{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.why__intro{position:sticky;top:120px}
.why__grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18)}
.why__item{min-height:240px;padding:32px;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
.why__num{display:block;margin-bottom:34px;color:#72b9ff;font:700 13px/1 var(--heading)}
.why h2,.why h3{color:#fff}
.why p{color:#c8d3dc}

/* Unified Homepage Project Slider (1:1 Square Ratio) */
.project-unified-slider {
  max-width: 650px;
  margin: 0 auto;
}
.project-unified-slider .slider-box {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 16px 36px rgba(18, 28, 36, 0.16);
  background: #121c24;
}
.project-unified-slider .slider-viewport {
  position: relative;
  width: 100%;
  height: 100%;
}
.unified-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease-in-out;
}
.unified-slide.active {
  opacity: 1;
  visibility: visible;
  z-index: 2;
}
.unified-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slider-nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.94);
  border: none;
  border-radius: 50%;
  color: var(--blue);
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  z-index: 5;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
  transition: background 0.2s, transform 0.2s, color 0.2s;
}
.slider-nav-btn:hover {
  background: #ffffff;
  color: var(--blue-dark);
  transform: translateY(-50%) scale(1.08);
}
.slider-nav-btn.prev-btn { left: 18px; }
.slider-nav-btn.next-btn { right: 18px; }

/* Below Slider: Dots & Title Centered */
.slider-footer-info {
  margin-top: 22px;
  text-align: center;
}
.slider-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}
.slider-dot {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 1.5px solid var(--blue);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s, border-color 0.2s;
}
.slider-dot.active {
  background: var(--blue);
  transform: scale(1.25);
}
.slider-project-title {
  margin: 0;
  font-size: 1.7rem;
  font-weight: 700;
  color: var(--charcoal);
  font-family: var(--heading);
  letter-spacing: -0.01em;
}

@media (max-width: 768px) {
  .project-unified-slider {
    max-width: 100%;
  }
  .project-unified-slider .slider-box {
    aspect-ratio: 1 / 1;
    height: auto;
    border-radius: 14px;
  }
  .slider-nav-btn {
    width: 40px;
    height: 40px;
    font-size: 22px;
  }
  .slider-nav-btn.prev-btn { left: 12px; }
  .slider-nav-btn.next-btn { right: 12px; }
  .slider-project-title {
    font-size: 1.3rem;
  }
}

/* Project Lightbox Modal - Premium Light Card with Light Dark Backdrop Overlay */
.modal {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(18, 28, 36, 0.65);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  z-index: 99999;
  place-items: center;
  padding: 40px 20px;
}
.modal.active {
  display: grid;
}
.modal-container {
  position: relative;
  width: 100%;
  max-width: 960px;
  height: 600px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 30px 60px -15px rgba(18, 28, 36, 0.12);
}
.modal-slider {
  width: 100%;
  height: 100%;
  position: relative;
  background: #f8fafc;
}
.modal-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal-slide.active {
  opacity: 1;
  z-index: 2;
}
.modal-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.modal-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--charcoal);
  font-size: 24px;
  font-weight: 500;
  cursor: pointer;
  z-index: 1000;
  box-shadow: 0 4px 14px rgba(0,0,0,0.06);
  transition: all 0.2s ease;
}
.modal-close:hover {
  background: var(--light);
  color: var(--blue);
  transform: scale(1.06);
}
.modal-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--charcoal);
  font-size: 24px;
  font-weight: 600;
  cursor: pointer;
  z-index: 100;
  box-shadow: 0 4px 14px rgba(0,0,0,0.06);
  transition: all 0.2s ease;
}
.modal-arrow:hover {
  background: var(--light);
  color: var(--blue);
  transform: scale(1.06);
}
.prev-arrow { left: 20px; }
.next-arrow { right: 20px; }
.modal-overlay-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 22px 30px;
  background: linear-gradient(to top, rgba(255,255,255,0.98) 0%, rgba(255,255,255,0.85) 75%, transparent 100%);
  z-index: 10;
  color: var(--charcoal);
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid rgba(0,0,0,0.04);
}
.modal-overlay-caption h3 {
  color: var(--charcoal) !important;
  margin: 0;
  font-size: 1.35rem;
}
.modal-overlay-caption span {
  color: var(--blue);
  font-size: 12.5px;
  font-weight: 700;
  background: var(--blue-soft);
  padding: 6px 12px;
  border-radius: 6px;
}
.projects .project {
  cursor: pointer;
}
@media(max-width: 980px) {
  .modal-container {
    height: 420px;
  }
}
@media(max-width: 650px) {
  .modal-container {
    height: 300px;
  }
  .modal-arrow {
    width: 38px;
    height: 38px;
    font-size: 18px;
  }
  .prev-arrow { left: 10px; }
  .next-arrow { right: 10px; }
  .modal-overlay-caption {
    padding: 16px 20px;
  }
  .modal-overlay-caption h3 {
    font-size: 1.1rem;
  }
}

.steps{display:grid;grid-template-columns:repeat(4,1fr);counter-reset:step}
.step{position:relative;padding:0 28px;counter-increment:step}
.step:first-child{padding-left:0}
.step:last-child{padding-right:0}
.step+.step{border-left:1px solid var(--line)}
.step__number{width:47px;height:47px;display:grid;place-items:center;margin-bottom:21px;color:#fff;background:var(--navy);border-radius:9px;font:700 15px/1 var(--heading)}
.step__number::after{content:"0" counter(step)}
.step p{font-size:14px}

.quote-band{padding:80px 0;background:linear-gradient(125deg,var(--blue-dark),var(--blue-light))}
.quote-band__in{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;color:#fff}
.quote-band h2{color:#fff;max-width:700px}
.quote-band p{color:#e7f4ff}

.contact{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:start}
.contact__details{margin-top:30px;padding:0;list-style:none}
.contact__details li{padding:17px 0;border-bottom:1px solid var(--line)}
.contact__details small{display:block;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.contact__details a,.contact__details span{color:var(--charcoal);font-weight:700;text-decoration:none}
.form{padding:38px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
.form__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field{display:grid;gap:8px}
.field--full{grid-column:1/-1}
label{color:var(--charcoal);font-size:13px;font-weight:700}
input,select,textarea{width:100%;min-height:52px;padding:12px 14px;color:var(--charcoal);background:#fff;border:1px solid #d5dae0;border-radius:8px}
textarea{min-height:140px;resize:vertical}
input::placeholder,textarea::placeholder{color:#8b949e}
.privacy{color:var(--muted);font-size:12px}

.footer{color:#bcc9d3;background:var(--navy-deep)}
.footer__main{display:grid;grid-template-columns:1.3fr .7fr .8fr;padding:68px 0;gap:60px}
.footer .logo{color:#fff}
.footer__about{max-width:430px;margin-top:20px;font-size:14px}
.footer h3{margin-bottom:18px;color:#fff;font-size:15px}
.footer ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.footer li,.footer a{font-size:14px;text-decoration:none}
.footer a:hover{color:#fff}
.footer__socials a:hover {
  background: var(--blue) !important;
  transform: translateY(-2px);
}

.footer__bottom{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid rgba(255,255,255,.1);font-size:12px}

/* Page Title Band & Custom Subpage Elements */
.title-band{position:relative;color:#fff;background:radial-gradient(circle at 80% 20%, var(--blue-hover) 0%, var(--navy) 60%, var(--navy-deep) 100%);overflow:hidden;padding:120px 0 100px}
.title-band::before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,rgba(0,123,255,0.1) 0%,transparent 70%);pointer-events:none}
.title-band__in{position:relative;z-index:2}
.title-band h1{color:#fff}
.breadcrumb{display:flex;gap:8px;margin-bottom:20px;color:#9cb5c9;font-size:13px;font-weight:600}
.breadcrumb a{color:#fff;text-decoration:none}

.audience{margin-top:-166px;margin-bottom:140px;position:relative;z-index:5}
.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.audience-card{padding:28px 24px;background:#fff;border:1px solid var(--line);border-bottom:3px solid var(--blue);border-radius:var(--radius-card);box-shadow:var(--shadow);transition:.22s cubic-bezier(.4,0,.2,1)}
.audience-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.audience-card h3{font-size:1.15rem;color:var(--charcoal)}
.audience-card p{margin-top:10px;font-size:13px;color:var(--muted);line-height:1.5}
.audience-card.audience-card--blue{background:var(--blue);border-bottom-color:rgba(255,255,255,.3)}
.audience-card.audience-card--blue h3{color:#fff}
.audience-card.audience-card--blue p{color:#e2f0fd}

.pillars-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;margin-top:52px}
.pillar-card{position:relative;padding:48px 40px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow);overflow:hidden;transition:.22s cubic-bezier(.4,0,.2,1)}
.pillar-card:hover{transform:translateY(-4px);border-top-color:var(--blue);box-shadow:var(--shadow-lg)}
.pillar-card::after{content:attr(data-num);position:absolute;right:30px;top:20px;font-size:6.5rem;font-family:var(--heading);font-weight:900;color:rgba(30,42,52,0.03);line-height:1;pointer-events:none}
.pillar-card:hover::after{color:rgba(0,123,255,0.05)}

.editorial-grid{display:grid;grid-template-columns:1.15fr 0.85fr;align-items:center;gap:96px}
.editorial-grid--reverse{grid-template-columns:0.85fr 1.15fr}
.editorial-copy{position:relative}
.floating-card-wrapper{position:relative;display:flex;align-items:center}
.main-image{width:100%;height:520px;object-fit:cover;border-radius:var(--radius-feature);box-shadow:var(--shadow)}
.overlay-badge{position:absolute;bottom:-30px;left:-30px;padding:32px;background:var(--blue);color:#fff;border-radius:var(--radius-card);box-shadow:var(--shadow-lg);max-width:280px}
.overlay-badge h3{color:#fff;font-size:1.15rem;margin-bottom:8px}
.overlay-badge p{font-size:12px;margin:0;color:#e2f0fd;line-height:1.5}
.cta{padding:78px 0;color:#fff;background:radial-gradient(circle at 10% 90%, var(--blue) 0%, var(--blue-hover) 100%)}
.cta__in{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px}
.cta h2{color:#fff}
.cta p{color:#e7f4ff}

/* Subpage Services Layout Scopes */
.service-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.65fr);align-items:start;gap:72px}
.service-copy>p{max-width:770px}
.what-we-do{margin-top:34px}
.what-we-do h2{margin-bottom:26px;font-size:1.8rem}
.service-list{display:grid;grid-template-columns:1fr 1fr;gap:16px 42px;margin:0;padding:0;list-style:none}
.service-list li{display:flex;align-items:flex-start;gap:11px;color:var(--charcoal);font-size:16px}

.service-card{padding:32px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:var(--radius-card);box-shadow:var(--shadow)}
.service-card h3{color:var(--blue);font-size:1.2rem;text-transform:uppercase}
.service-card img{height:245px;margin-top:24px;object-fit:cover;border-radius:8px}
.service-card p{font-size:14px}
.service-card__note{display:flex;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line);color:var(--charcoal);font-size:13px;font-weight:700}

/* Safety Certifications Sidebar Scopes */
.sidebar{display:grid;gap:24px}
.cert-card{padding:30px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:var(--radius-card);box-shadow:var(--shadow);transition:.18s ease}
.cert-card:hover{transform:translateY(-2px)}
.cert-card h3{font-size:14px;color:var(--blue);text-transform:uppercase;letter-spacing:0.05em}
.cert-card p{margin-top:10px;font-size:14px;line-height:1.6}

/* Gallery Page Layout Scopes */
.filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:48px}
.filter-btn{padding:10px 22px;background:var(--light);border:1px solid var(--line);border-radius:30px;color:var(--text);font-size:14px;font-weight:700;cursor:pointer;transition:.18s ease}
.filter-btn:hover{background:var(--line);color:var(--charcoal)}
.filter-btn.active{background:var(--blue);border-color:var(--blue);color:#fff}

.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:32px}
.gallery-item{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow);cursor:pointer;transition:.22s cubic-bezier(.4,0,.2,1)}
.gallery-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.gallery-item__img-wrapper{position:relative;height:260px;overflow:hidden;background:#f0f3f6}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.gallery-item:hover img{transform:scale(1.05)}

.gallery-item__overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(18,28,36,0.65);opacity:0;transition:opacity .22s ease}
.gallery-item:hover .gallery-item__overlay{opacity:1}
.gallery-item__view-btn{padding:10px 20px;background:#fff;border-radius:30px;color:var(--navy);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}

.gallery-item__content{padding:22px;border-top:1px solid var(--line)}
.gallery-item__tag{display:inline-block;padding:4px 10px;background:var(--blue-soft);color:var(--blue);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;border-radius:4px}
.gallery-item h3{margin-top:10px;color:var(--charcoal)}
.gallery-item p{margin-top:8px;font-size:13px;color:var(--muted);line-height:1.5}

.slider{position:relative;height:550px;background:#121c24;overflow:hidden}
.slide{display:none;width:100%;height:100%}
.slide.active{display:block}
.slide img{width:100%;height:100%;object-fit:contain}

.slider-nav{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;padding:0 20px;pointer-events:none}
.slider-arrow{width:46px;height:46px;display:grid;place-items:center;background:rgba(255,255,255,0.95);border:none;border-radius:50%;color:var(--navy);font-size:18px;font-weight:700;cursor:pointer;pointer-events:auto;box-shadow:0 4px 10px rgba(0,0,0,0.15);transition:.15s ease}
.slider-arrow:hover{background:#fff;transform:scale(1.05)}
.slider-arrow:active{transform:scale(0.95)}

.slider-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5}
.slider-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,0.5);border:none;cursor:pointer;padding:0}
.slider-dot.active{background:#fff;transform:scale(1.2)}

.modal-info{padding:28px 32px;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.modal-info h3{font-size:1.6rem}
.modal-info p{margin-top:6px;font-size:14px;color:var(--muted)}
.slide-caption{padding:6px 12px;background:var(--light);border-radius:4px;font-size:12px;font-weight:700;color:var(--blue)}

/* Mobile Slide-Out Drawer and Mobile Menu Overrides */
.mobile-nav-drawer {
  position: fixed;
  top: 0;
  left: -300px;
  width: 300px;
  height: 100vh;
  background: var(--navy-deep);
  z-index: 9999;
  padding: 80px 24px 40px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: var(--shadow-lg);
}
.mobile-nav-drawer.active {
  left: 0;
}
.mobile-nav-drawer a {
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  padding: 12px 16px;
  border-radius: 6px;
  transition: background 0.2s;
}
.mobile-nav-drawer a:hover {
  background: rgba(255,255,255,0.06);
}
.mobile-nav-drawer .btn {
  margin-top: auto;
  text-align: center;
}
.nav-overlay {
  position: fixed;
  inset: 0;
  background: rgba(18, 28, 36, 0.5);
  opacity: 0;
  visibility: hidden;
  z-index: 9998;
  transition: opacity 0.3s, visibility 0.3s;
}
.nav-overlay.active {
  opacity: 1;
  visibility: visible;
}
/* Header Dropdown Menu Styling (Desktop) */
.nav .menu-item-has-children {
  position: relative;
  display: inline-block;
}
.nav .menu-item-has-children > a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #dbe7f0;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  padding-bottom: 5px;
}
.nav .menu-item-has-children:hover > a {
  color: #72b9ff;
}
.nav .arrow-down {
  font-size: 9px;
  vertical-align: middle;
  transition: transform 0.22s;
}
.nav .menu-item-has-children:hover .arrow-down {
  transform: rotate(180deg);
}

.nav .sub-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  width: 250px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-lg);
  padding: 10px 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
  z-index: 99;
}
.nav .menu-item-has-children:hover .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.nav .sub-menu a {
  display: block;
  padding: 11px 20px;
  color: var(--charcoal) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
  text-align: left;
}
.nav .sub-menu a:hover {
  background: var(--blue-soft);
  color: var(--blue) !important;
}

.nav-overlay {
  position: fixed;
  inset: 0;
  background: rgba(18, 28, 36, 0.5);
  opacity: 0;
  visibility: hidden;
  z-index: 9998;
  transition: opacity 0.3s, visibility 0.3s;
}
.nav-overlay.active {
  opacity: 1;
  visibility: visible;
}

/* Premium Hamburger Toggle Menu Button */
.menu {
  width: 44px;
  height: 44px;
  display: none; /* Hidden on desktop */
  align-items: center;
  justify-content: center;
  background: var(--light);
  border: 1px solid var(--line);
  border-radius: 8px;
  cursor: pointer;
  padding: 0;
  transition: background 0.2s, border-color 0.2s;
}
.menu:hover {
  background: var(--line);
  border-color: #cbd5e1;
}
.menu svg {
  width: 22px;
  height: 22px;
  stroke: var(--charcoal);
  transition: stroke 0.2s;
}

@media(max-width:980px){
  .header {
    z-index: 10000 !important;
  }
  .header__in {
    justify-content: space-between;
  }
  /* Hide entire utility bar on mobile */
  .utility {
    display: none !important;
  }
  
  /* Convert .nav into a mobile slide-out drawer */
  .nav {
    position: fixed;
    top: 0;
    left: -320px;
    width: 300px;
    height: 100vh;
    background: #ffffff;
    border-right: 1px solid var(--line);
    z-index: 9999;
    padding: 80px 24px 40px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 16px;
    transition: left 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--shadow-lg);
    margin-left: 0;
  }
  .nav.drawer-open {
    left: 0;
  }
  .nav>a:not(.btn) {
    display: block !important;
    color: var(--charcoal) !important;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    padding: 12px 16px;
    border-radius: 6px;
    transition: background 0.2s, color 0.2s;
    text-align: left;
  }
  .nav>a:not(.btn):hover {
    background: var(--blue-soft);
    color: var(--blue) !important;
  }
  
  /* Dropdown sub-menu layouts on mobile */
  .nav .menu-item-has-children {
    display: block;
    width: 100%;
  }
  .nav .menu-item-has-children > a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    width: 100%;
    color: var(--charcoal) !important;
    font-size: 16px;
    font-weight: 700;
  }
  .nav .menu-item-has-children .arrow-down {
    transition: transform 0.25s ease;
    display: inline-block;
    font-size: 10px;
    margin-left: 6px;
    color: var(--muted);
  }
  .nav .menu-item-has-children.active-mobile .arrow-down {
    transform: rotate(180deg);
    color: var(--blue);
  }
  .nav .sub-menu {
    position: static;
    transform: none !important;
    width: 100%;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 4px 0 4px 16px;
    margin: 5px 0 5px 12px;
    border-left: 2px solid var(--line);
    opacity: 1;
    visibility: visible;
    display: none; /* Toggled via JS active-mobile class */
    border-radius: 0;
  }
  .nav .menu-item-has-children.active-mobile .sub-menu {
    display: block;
  }
  .nav .sub-menu a {
    padding: 8px 16px !important;
    color: var(--muted) !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    display: block !important;
    border-radius: 6px;
    transition: all 0.2s ease;
  }
  .nav .sub-menu a:hover {
    background: var(--blue-soft);
    color: var(--blue) !important;
  }
  
  .nav .btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin-top: 28px;
    text-align: center;
    width: calc(100% - 32px);
    margin-inline: 16px;
    flex: none;
  }
  
  .menu {
    display: flex !important;
    margin-left: auto;
    position: relative !important;
    z-index: 10005 !important;
    pointer-events: auto !important;
  }
  
  .trust__grid{grid-template-columns:1fr 1fr}.trust__item:nth-child(3){border-left:0}.trust__item:nth-child(n+3){border-top:1px solid var(--line)}
  .cards{grid-template-columns:1fr 1fr}.split{gap:45px}.media__badge{right:18px}
  .why{grid-template-columns:1fr}.why__intro{position:static}.projects{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr;gap:36px 0}.step:nth-child(3){padding-left:0;border-left:0}
  .contact{grid-template-columns:1fr}.footer__main{grid-template-columns:1fr 1fr}
  .footer__brand{grid-column:1/-1}
  .title-band{padding:80px 0 60px}
  .audience-grid{grid-template-columns:1fr 1fr;gap:20px}
  .pillars-grid{grid-template-columns:1fr;gap:24px}
  .editorial-grid,.editorial-grid--reverse{grid-template-columns:1fr;gap:56px}
  .main-image{height:380px}
  .overlay-badge{position:static;margin-top:24px;max-width:100%}
  .why{grid-template-columns:1fr}.why__intro{position:static}
  .audience{margin-top:-150px;margin-bottom:90px}
  .split{grid-template-columns:1fr;gap:48px}
  .floating-card-wrapper{display:block}
  .media{display:grid;grid-template-columns:1fr}
  .media img{height:380px}
  .media__badge{position:static;width:100%;margin-top:20px;right:0;bottom:0;box-shadow:none}
  .service-layout{grid-template-columns:1fr;gap:48px}
  .service-layout > aside{order:-1}
  .service-card{max-width:620px}
  .sidebar{max-width:620px}
  .slider{height:420px}
  .modal-container{height:480px}
}

@media(max-width:650px){
  .container{width:min(calc(100% - 36px),var(--container))}.section{padding:76px 0}
  .header__in{min-height:70px}.logo{font-size:15px}.logo__mark{width:37px;height:37px}
  .hero{min-height:620px}.hero::before{background:linear-gradient(180deg,rgba(10,18,24,.96) 0%,rgba(18,28,36,.72) 60%,rgba(10,18,24,.96) 100%),url("images/compresssed one (1).jpg") center/cover}
  .hero__content{padding:88px 0 110px}.hero__actions .btn{width:100%}
  .trust{margin-top:-40px}.trust__grid,.cards,.split,.why__grid,.projects,.steps,.quote-band__in,.form__grid,.footer__main{grid-template-columns:1fr}
  .trust__item+.trust__item{border-left:0;border-top:1px solid var(--line)}
  .media{order:-1}.media img{height:440px}
  #about .media{display:none}
  #about .stats{display:none}
  .proj-slider__viewport{height:360px}
  .proj-slide__caption{left:22px;right:22px;bottom:26px}
  .proj-slide__caption h3{font-size:1.4rem}
  .proj-slider__arrow{width:38px;height:38px;font-size:22px}
  .proj-slider__prev{left:12px}.proj-slider__next{right:12px}
  .checks{grid-template-columns:1fr}.why__item{min-height:auto}
  .step,.step:first-child,.step:last-child{padding:0}.step+.step{padding-top:28px;border-top:1px solid var(--line);border-left:0}
  .quote-band__in{justify-items:start}.form{padding:25px}.field--full{grid-column:auto}
  .footer__brand{grid-column:auto}.footer__bottom{flex-direction:column}.footer__main{gap:38px}
  .title-band{padding:60px 0 45px}
  .audience-grid{grid-template-columns:1fr}
  .cta__in{grid-template-columns:1fr;gap:28px}.cta .btn{justify-self:start}
  .why__grid{grid-template-columns:1fr}.why__item{min-height:auto}
  .audience{margin-top:-150px;margin-bottom:80px}
  .split{gap:36px}
  .media img{height:280px}
  .service-list{grid-template-columns:1fr;gap:12px 0}
  .slider{height:300px}
  .modal-container{height:360px}
  .split-image {
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
  }
  .modal-close {
    top: 10px !important;
    right: 10px !important;
    width: 36px !important;
    height: 36px !important;
    font-size: 18px !important;
  }
  .modal-arrow {
    width: 36px !important;
    height: 36px !important;
    font-size: 18px !important;
  }
  .prev-arrow { left: 10px !important; }
  .next-arrow { right: 10px !important; }
  .modal-overlay-caption {
    padding: 14px 20px !important;
  }
  .modal-overlay-caption h3 {
    font-size: 1.15rem !important;
  }
  .modal-overlay-caption span {
    font-size: 11px !important;
    padding: 4px 8px !important;
  }
}

/* Premium Black Header & White Navigation Elements */
.header {
  background: #000000 !important;
  border-bottom: 1px solid #1f2937 !important;
}

@media (min-width: 981px) {
  .nav>a:not(.btn) {
    color: #ffffff !important;
  }
  .nav>a:not(.btn):hover {
    color: var(--blue-light) !important;
  }
  .nav .menu-item-has-children > a {
    color: #ffffff !important;
  }
  .nav .menu-item-has-children:hover > a {
    color: var(--blue-light) !important;
  }
  .nav .arrow-down {
    color: #ffffff !important;
  }
}

@media (max-width: 980px) {
  .menu {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #ffffff !important;
  }
  .menu svg {
    stroke: #ffffff !important;
  }
  .menu:hover, .menu:focus {
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
  }
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important}}

