/* =========================================================
   ABOUT PAGE
   ========================================================= */


/* ==================== ABOUT HERO ==================== */

.about-hero {

    min-height: 430px;

    display: flex;

    align-items: center;

    padding: 100px 0 80px;

    color: white;

    background:

        linear-gradient(
            90deg,
            rgba(11, 31, 58, 0.97),
            rgba(11, 31, 58, 0.75)
        ),

        url("images/hero.png");

    background-size: cover;

    background-position: center;

}


.about-hero .eyebrow {

    color: #d5cb8d;

}


.about-hero h1 {

    max-width: 850px;

    margin: 15px 0;

    font-size: clamp(42px, 6vw, 72px);

    line-height: 1.05;

    letter-spacing: -2px;

}


.about-hero > .container > p:last-child {

    max-width: 650px;

    color: #dce4ef;

    font-size: 15px;

    line-height: 1.8;

}



/* ==================== ABOUT INTRO ==================== */

.about-intro {

    padding: 100px 0 70px;

    background: #ffffff;

}


.about-heading {

    max-width: 900px;

    margin-bottom: 40px;

}


.about-heading h2 {

    margin-top: 10px;

    color: #0b1f3a;

    font-size: clamp(36px, 5vw, 58px);

    line-height: 1.1;

}


.about-text {

    max-width: 1000px;

}


.about-text p {

    margin-bottom: 20px;

    color: #66758a;

    font-size: 15px;

    line-height: 1.9;

}



/* ==================== ABOUT IMAGE ==================== */

.about-image-section {

    padding: 30px 0 100px;

    background: #ffffff;

}


.about-main-image {

    position: relative;

    height: 500px;

    overflow: hidden;

    border-radius: 18px;

}


.about-main-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: transform 0.6s ease;

}


.about-main-image:hover img {

    transform: scale(1.04);

}


.about-image-caption {

    position: absolute;

    left: 0;

    right: 0;

    bottom: 0;

    padding: 50px 45px 35px;

    color: white;

    background:

        linear-gradient(
            transparent,
            rgba(5, 18, 36, 0.95)
        );

}


.about-image-caption p {

    margin: 0 0 8px;

    color: #d5cb8d;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1.5px;

}


.about-image-caption h3 {

    max-width: 650px;

    margin: 0;

    font-size: clamp(28px, 4vw, 45px);

    line-height: 1.15;

}



/* ==================== APPROACH ==================== */

.approach-section {

    padding: 100px 0;

    background: #f4f7fa;

}


.section-head {

    display: flex;

    justify-content: space-between;

    align-items: end;

    gap: 40px;

    margin-bottom: 50px;

}


.section-head h2 {

    max-width: 650px;

    margin-top: 8px;

    color: #0b1f3a;

    font-size: clamp(34px, 4vw, 52px);

    line-height: 1.1;

}


.section-head > p {

    max-width: 450px;

    color: #718096;

    font-size: 14px;

    line-height: 1.8;

}


.approach-grid {

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 18px;

}


.approach-card {

    padding: 30px;

    background: white;

    border: 1px solid #e2e8ef;

    border-radius: 14px;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;

}


.approach-card:hover {

    transform: translateY(-7px);

    box-shadow:
        0 15px 35px rgba(11, 31, 58, 0.10);

}


.approach-card > span {

    display: inline-flex;

    width: 42px;

    height: 42px;

    align-items: center;

    justify-content: center;

    margin-bottom: 25px;

    border-radius: 8px;

    background: #DBB26B;

    color: #31435C;

    font-size: 11px;

    font-weight: 800;

}


.approach-card h3 {

    margin: 0 0 12px;

    color: #0b1f3a;

    font-size: 19px;

}


.approach-card p {

    margin: 0;

    color: #718096;

    font-size: 13px;

    line-height: 1.7;

}



/* =========================================================
   SERVICES
   ========================================================= */

.services-about {

    padding: 110px 0;

    background: #ffffff;

}


.services-heading {

    max-width: 750px;

    margin-bottom: 55px;

}


.services-heading h2 {

    margin: 10px 0 18px;

    color: #0b1f3a;

    font-size: clamp(38px, 5vw, 60px);

    line-height: 1.05;

}


.services-heading > p:last-child {

    color: #718096;

    font-size: 14px;

    line-height: 1.8;

}



/* ==================== SERVICE GRID ==================== */

.service-grid {

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 22px;

}


.service-about-card {

    overflow: hidden;

    padding: 25px;

    border: 1px solid #e1e7ee;

    border-radius: 50px 0px 50px 0px;

    background: #f7f9fb;

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;

}


.service-about-card:hover {

    transform: translateY(-8px);

    box-shadow:
        0 18px 40px rgba(11, 31, 58, 0.12);

}


.service-number {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 45px;

    height: 45px;

    margin-bottom: 22px;

    border-radius: 50%;

    background: #0b1f3a;

    color: white;

    font-size: 12px;

    font-weight: 800;

}


.service-about-card h3 {

    min-height: 48px;

    margin: 0 0 12px;

    color: #0b1f3a;

    font-size: 20px;

    line-height: 1.3;

}


.service-about-card > p {

    min-height: 105px;

    margin: 0 0 22px;

    color: #718096;

    font-size: 13px;

    line-height: 1.7;

}



/* ==================== SERVICE IMAGE ==================== */

.service-image {

    width: 100%;

    height: 220px;

    overflow: hidden;

    border-radius: 11px;

}


.service-image img {

    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform 0.5s ease;

}


.service-about-card:hover
.service-image img {

    transform: scale(1.07);

}


/* ==================== 13. CLIENT LOGOS ==================== */


.section-clients {
    margin-bottom: 25px;
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}


.clients-head{
    text-align: center;
}


.clients-divider {
width: 90%;
height: 1px;
background-color: #d8d8d8;
margin: 18px auto 28px;
}


.client-grid {
    display: grid;

    grid-template-columns: repeat(6, 1fr);

    gap: 16px;
    margin-top: 15px;
}

.client-logo {
    height: 80px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.client1{
    background-image: url("images/client/aditya-birla-sabyasachi.png");
    background-size: 115%;
}

.client2{
    background-image: url("images//client/indorama.png");
    background-size: 105%;
    background-position: center;
}

.client3{
    background-image: url("images//client/bisleri.png");
    /* background-size: 105%; */
    background-position: center;
}

.client4{
    background-image: url("images//client/balaji-agro.png");
    background-size: 70%;
    background-position: center;
}

.client5{
    background-image: url("images//client/suguna.png");
    background-size: 55%;
    background-position: center;
}

.client6{
    background-image: url("images//client/Greenpack.jpg");
    background-size: 70%;
    background-position: center;
}


.client-grid img {
    width: 100%;
    height: 100px;

    padding: 15px;

    object-fit: contain;

    /* border: 1px solid #e8edf3;
    border-radius: 10px;

    background: white; */
}

.client-grid img:nth-child(1) {
    transform: scale(2);

}

.client-grid img:nth-child(2) {
    transform: scale(2);
}
/* ==================== CTA ==================== */

.about-cta {

    padding: 75px 0;

    background: #0b1f3a;

    color: white;

}



.about-cta-inner {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

}



.about-cta .eyebrow {

    color: #d5cb8d;

}



.about-cta h2 {

    margin-top: 8px;

    font-size: clamp(32px, 4vw, 50px);

}



.cta-button {

    display: inline-block;

    padding: 15px 26px;

    border-radius: 8px;

    background: #d5cb8d;

    color: #0b1f3a;

    text-decoration: none;

    font-size: 13px;

    font-weight: 800;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;

}



.cta-button:hover {

    transform: translateY(-4px);

    box-shadow:
        0 12px 28px rgba(0, 0, 0, 0.2);

}


/* ==================== ACTIVE NAV ==================== */

.nav-links a.active {

    color: #0b1f3a;

}


.nav-links a.active::after {

    width: 100%;

}

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: center;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

    .approach-grid {

        grid-template-columns:
            repeat(2, 1fr);

    }


    .service-grid {

        grid-template-columns:
            repeat(2, 1fr);

    }

}



/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 650px) {

    .about-hero {

        min-height: 390px;

        padding: 80px 0 65px;

    }


    .about-hero h1 {

        font-size: 40px;

        letter-spacing: -1px;

    }


    .about-intro,
    .approach-section,
    .services-about {

        padding: 70px 0;

    }


    .about-main-image {

        height: 380px;

    }


    .about-image-caption {

        padding: 45px 25px 25px;

    }


    .approach-grid,
    .service-grid {

        grid-template-columns: 1fr;

    }


    .service-about-card h3 {

        min-height: auto;

    }


    .service-about-card > p {

        min-height: auto;

    }


    .service-image {

        height: 230px;

    }


    .section-head {

        display: block;

    }


    .section-head > p {

        margin-top: 20px;

    }


    .about-cta-inner {

        display: block;

    }


    .cta-button {

        margin-top: 25px;

    }

}


/* =========================================================
   PREMIUM PAGE MOTION
   ========================================================= */
:root { --motion-ease: cubic-bezier(.22,1,.36,1); }
.about-hero, .page-hero, .projects-hero, .gallery-hero, .contact-hero { position:relative; overflow:hidden; isolation:isolate; }
.about-hero::after, .page-hero::after, .projects-hero::after, .gallery-hero::after, .contact-hero::after { content:""; position:absolute; inset:-10%; z-index:-1; background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.10) 45%,transparent 65%); transform:translateX(-120%); animation:heroLightSweep 7s ease-in-out infinite; pointer-events:none; }
.about-hero .container, .page-hero-content, .projects-hero .container, .gallery-hero .container, .contact-hero .container { position:relative; z-index:2; }
.motion-reveal { opacity:0; transform:translateY(42px) scale(.985); transition:opacity .8s var(--motion-ease),transform .8s var(--motion-ease); will-change:opacity,transform; }
.motion-reveal.from-left { transform:translateX(-42px); }
.motion-reveal.from-right { transform:translateX(42px); }
.motion-reveal.zoom { transform:scale(.94); }
.motion-reveal.is-visible { opacity:1; transform:none; }
.motion-delay-1 { transition-delay:.08s; } .motion-delay-2 { transition-delay:.16s; } .motion-delay-3 { transition-delay:.24s; } .motion-delay-4 { transition-delay:.32s; }
@keyframes heroLightSweep { 0%,55%{transform:translateX(-120%)} 75%,100%{transform:translateX(120%)} }
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.motion-reveal{opacity:1!important;transform:none!important}}


/* =========================================================
   SHARED SITE POLISH — RESPONSIVE NAV / FOOTER / MOTION
   ========================================================= */

:root{
  --site-navy:#0b1f3a;
  --site-orange:#f97f51;
  --site-border:#e7ecf3;
  --site-ease:cubic-bezier(.22,1,.36,1);
}

html{scroll-behavior:smooth; overflow-x:hidden;}
body{overflow-x:hidden;}

/* Header */
.header{
  position:sticky !important;
  top:0;
  z-index:1000 !important;
  width:100%;
  background:rgba(255,255,255,.96) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--site-border);
  box-shadow:0 5px 24px rgba(11,31,58,.05);
}
.header .nav{
  min-height:84px;
  position:relative;
}
.header .brand{
  display:flex;
  align-items:center;
  gap:11px;
  text-decoration:none;
  color:var(--site-navy);
  flex-shrink:0;
}
.header .logo-img{width:52px;height:52px;object-fit:contain;}
.header .brand strong{font-size:14px;letter-spacing:1.2px;white-space:nowrap;}
.header .nav-links{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(16px,2.4vw,34px);
}
.header .nav-links a{
  position:relative;
  color:#31435c;
  text-decoration:none;
  font-size:13px;
  font-weight:650;
  letter-spacing:.4px;
  transition:color .3s ease,transform .3s ease;
}


.header .nav-links a:hover{
    color:var(--site-orange);
    transform:translateY(-1px);
}


.header .nav-links > a:not(.brochure-btn)::after,
.header .services-toggle::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-7px;
  width:0;
  height:2px;
  background:var(--site-orange);
  transform:translateX(-50%);
  transition:width .3s ease;
}

.header .nav-links > a:not(.brochure-btn):hover::after,
.header .nav-links > a.active::after,
.header .services-toggle:hover::after{
    width:100%;
}


.brochure-btn{
  padding:10px 14px !important;
  border-radius:8px;
  background:var(--site-navy);
  color:#fff !important;
  transition:transform .3s ease,box-shadow .3s ease,background .3s ease !important;
}
.brochure-btn:hover{
  background:#17365f !important;
  color:#fff !important;
  transform:translateY(-2px) !important;
  box-shadow:0 10px 22px rgba(11,31,58,.18);
}
.nav-services{position:relative;}
.services-toggle span{font-size:12px;margin-left:2px;}
.services-dropdown{
  position:absolute !important;
  top:calc(100% + 18px) !important;
  left:50% !important;
  transform:translate(-50%,10px) !important;
  width:320px !important;
  display:flex !important;
  flex-direction:column;
  gap:2px;
  padding:12px !important;
  background:#fff !important;
  border:1px solid var(--site-border);
  border-radius:14px !important;
  box-shadow:0 20px 50px rgba(11,31,58,.15) !important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .25s ease,transform .25s var(--site-ease),visibility .25s ease;
  z-index:1100;
}
.nav-services:hover .services-dropdown,
.nav-services:focus-within .services-dropdown,
.nav-services.open .services-dropdown{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0) !important;
}
.services-dropdown a{
  padding:10px 12px !important;
  border-radius:9px;
  line-height:1.35;
}
.services-dropdown a:hover{
  background:#f5f8fc;
  transform:none !important;
}
.services-dropdown a::after{display:none !important;}

/* Hamburger */
.menu{
  display:none;
  width:44px;
  height:44px;
  padding:8px;
  border:1px solid var(--site-border);
  border-radius:10px;
  background:#fff;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
}
.menu span{
  display:block;
  width:21px;
  height:2px;
  border-radius:2px;
  background:var(--site-navy);
  transition:transform .3s ease,opacity .2s ease;
}
.menu.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.menu.is-open span:nth-child(2){opacity:0;}
.menu.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* Footer */
footer{
  position:relative !important;
  z-index:10 !important;
  background:#cbbd93 !important;
  color:#0f0141;
}
.footer-grid{
  display:grid !important;
  grid-template-columns:minmax(220px,1.2fr) minmax(150px,.7fr) minmax(260px,1.3fr) !important;
  gap:clamp(35px,6vw,90px) !important;
  padding:58px 0 !important;
}
.footer-brand{display:flex;align-items:center;gap:10px;color:#0f0141 !important;text-decoration:none;}
.footer-brand .logo-img2{width:58px;height:58px;object-fit:contain;}
.footer-grid h4{
  margin:0 0 14px;
  font-size:14px;
  color:#0f0141;
  letter-spacing:.4px;
}
.footer-grid p,.footer-grid a:not(.brand){
  display:block;
  margin:8px 0;
  font-size:12px;
  line-height:1.65;
  color:#351717;
  text-decoration:none;
}
.footer-grid a:not(.brand):hover{color:#0b1f3a;}
.footer-company > p{max-width:330px;margin-top:16px !important;}
.copyright{
  padding:15px 0 !important;
  background:#061222 !important;
  color:#aab4c3 !important;
  font-size:11px !important;
}
.contain{display:flex;align-items:center;justify-content:center;text-align:center;}

/* Site-wide page transition */
body{opacity:1;transition:opacity .35s ease;}
body.page-exit{opacity:0;}
@media (prefers-reduced-motion:reduce){body{transition:none;}}

/* Better interactive motion */
.btn,.brochure-btn,.card,.service-card,.project-card,.gallery-item,.info-card,.feature-card{
  transition:transform .45s var(--site-ease),box-shadow .45s var(--site-ease),background-color .3s ease,border-color .3s ease;
}
.btn:hover,.card:hover,.service-card:hover,.project-card:hover,.gallery-item:hover,.info-card:hover,.feature-card:hover{
  transform:translateY(-6px);
}

/* Mobile */
@media (max-width:800px){
  .header .nav{min-height:70px;padding-left:4%;padding-right:4%;}
  .header .logo-img{width:46px;height:46px;}
  .header .brand strong{font-size:12px;}
  .menu{display:flex;margin-left:auto;}
  .header .nav-links{
    position:absolute !important;
    top:calc(100% + 8px) !important;
    left:3% !important;
    right:3% !important;
    width:auto !important;
    max-height:calc(100vh - 90px);
    overflow-y:auto;
    display:flex !important;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:2px;
    padding:12px !important;
    background:rgba(255,255,255,.99);
    border:1px solid var(--site-border);
    border-radius:16px;
    box-shadow:0 20px 50px rgba(11,31,58,.16);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-10px);
    transition:opacity .25s ease,transform .25s var(--site-ease),visibility .25s ease;
  }
  .header .nav-links.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  .header .nav-links > a,
  .header .services-toggle{
    display:block;
    width:100%;
    box-sizing:border-box;
    padding:13px 14px !important;
    border-radius:9px;
  }
  .header .nav-links > a:hover,
  .header .services-toggle:hover{background:#f5f8fc;transform:none !important;}
  .header .nav-links > a:not(.brochure-btn)::after,
  .header .services-toggle::after{display:none;}
  .brochure-btn{text-align:center;margin-top:5px;}
  .nav-services{width:100%;}
  .services-dropdown{
    position:static !important;
    width:auto !important;
    margin:2px 0 5px;
    padding:4px !important;
    box-shadow:none !important;
    border:0 !important;
    border-radius:10px !important;
    transform:none !important;
    display:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
  .nav-services.open .services-dropdown{display:flex !important;}
  .services-dropdown a{padding:10px 12px !important;font-size:12px !important;}
  .footer-grid{
    grid-template-columns:1fr 1fr !important;
    gap:35px 25px !important;
    padding:45px 0 !important;
  }
  .footer-company{grid-column:1/-1;}
}
@media (max-width:520px){
  .footer-grid{grid-template-columns:1fr !important;gap:28px !important;}
  .footer-company{grid-column:auto;}
  .footer-brand .logo-img2{width:52px;height:52px;}
  .copyright{font-size:10px !important;}
}

/* Service-page anchor targets */
#electrical-installation,#panel-switchgear,#industrial-electrical,#substation-power,#cable-termination,#maintenance-support{
  scroll-margin-top:100px;
}

/* ===== Services dropdown hover bridge fix ===== */
.nav-services::after{
  content:"";
  position:absolute;
  left:-12px;
  right:-12px;
  top:100%;
  height:22px;
  background:transparent;
  z-index:1099;
}
.services-dropdown{
  top:calc(100% + 18px) !important;
}
