.products-slider .owl-nav button/* @font-face {
  font-family: "Archivo";
  src: url(../fonts/Archivo/Archivo-Thin.ttf);
  font-weight: 100;
}

@font-face {
  font-family: "Archivo";
  src: url(../fonts/Archivo/Archivo-ExtraLight.ttf);
  font-weight: 200;
}
@font-face {
  font-family: "Archivo";
  src: url(../fonts/Archivo/Archivo-Light.ttf);
  font-weight: 300;
}
@font-face {
  font-family: "Archivo";
  src: url(../fonts/Archivo/Archivo-Regular.ttf);
  font-weight: 400;
}
@font-face {
  font-family: "Archivo";
  src: url(../fonts/Archivo/Archivo-Medium.ttf);
  font-weight: 500;
}
@font-face {
  font-family: "Archivo";
  src: url(../fonts/Archivo/Archivo-SemiBold.ttf);
  font-weight: 600;
}

@font-face {
  font-family: "Archivo";
  src: url(../fonts/Archivo/Archivo-Bold.ttf);
  font-weight: 700;
}

@font-face {
  font-family: "Archivo";
  src: url(../fonts/Archivo/Archivo-ExtraBold.ttf);
  font-weight: 800;
}
@font-face {
  font-family: "Archivo";
  src: url(../fonts/Archivo/Archivo-Black.ttf);
  font-weight: 900;
}

@font-face {
  font-family: "Manrope";
  src: url(../fonts/Manrope/Manrope-ExtraLight.ttf);
  font-weight: 200;
}
@font-face {
  font-family: "Manrope";
  src: url(../fonts/Manrope/Manrope-Light.ttf);
  font-weight: 300;
}
@font-face {
  font-family: "Manrope";
  src: url(../fonts/Manrope/Manrope-Regular.ttf);
  font-weight: 400;
}
@font-face {
  font-family: "Manrope";
  src: url(../fonts/Manrope/Manrope-Medium.ttf);
  font-weight: 500;
}
@font-face {
  font-family: "Manrope";
  src: url(../fonts/Manrope/Manrope-SemiBold.ttf);
  font-weight: 600;
}
@font-face {
  font-family: "Manrope";
  src: url(../fonts/Manrope/Manrope-Bold.ttf);
  font-weight: 700;
}
@font-face {
  font-family: "Manrope";
  src: url(../fonts/Manrope/Manrope-ExtraBold.ttf);
  font-weight: 800;
} */
@font-face {
  font-family: "Montserrat";
  src: url(../fonts/Montserrat/Montserrat-Thin.ttf);
  font-weight: 100;
}
@font-face {
  font-family: "Montserrat";
  src: url(../fonts/Montserrat/Montserrat-ExtraLight.ttf);
  font-weight: 200;
}
@font-face {
  font-family: "Montserrat";
  src: url(../fonts/Montserrat/Montserrat-Light.ttf);
  font-weight: 300;
}
@font-face {
  font-family: "Montserrat";
  src: url(../fonts/Montserrat/Montserrat-Regular.ttf);
  font-weight: 400;
}
@font-face {
  font-family: "Montserrat";
  src: url(../fonts/Montserrat/Montserrat-Medium.ttf);
  font-weight: 500;
}

@font-face {
  font-family: "Montserrat";
  src: url(../fonts/Montserrat/Montserrat-SemiBold.ttf);
  font-weight: 600;
}
@font-face {
  font-family: "Montserrat";
  src: url(../fonts/Montserrat/Montserrat-Bold.ttf);
  font-weight: 700;
}

@font-face {
  font-family: "Montserrat";
  src: url(../fonts/Montserrat/Montserrat-ExtraBold.ttf);
  font-weight: 800;
}
@font-face {
  font-family: "Montserrat";
  src: url(../fonts/Montserrat/Montserrat-Black.ttf);
  font-weight: 900;
}

:root{
  --gpi-bg:#ffffff;
  --gpi-bg-alt:#f4f4f5;
  --gpi-card:#ffffff;
  --gpi-text:#585f61;
  --gpi-green:#73e514;
  --gpi-green-soft:#73e51426;
  --gpi-yellow:#facc15;
  --zinc-900:#585f61;
  --text-gpi:#fff;
  --zinc-800:#585f61;
  --zinc-500:#585f61;
  --zinc-400:#585f61;
  --hero-border:rgb(255 255 255 / 15%);
  --heading-font:"Montserrat";
  --body-font:"Montserrat";
  --hero-border-soft:#585f61;
  --radius:0px;
}



*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--gpi-bg);
  color:var(--gpi-text);
  -webkit-font-smoothing:antialiased;
  font-family: var(--body-font);
  -moz-osx-font-smoothing:grayscale;
}

img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;display: inline-block;}
button{font-family:inherit;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,p{margin:0;}

h1,h2,h3,h4,h5,h6{
  font-family: var(--heading-font);
}

/* Cross-browser scrollbar support */
::-webkit-scrollbar{width:4px;height:10px;}
::-webkit-scrollbar-track{background:var(--gpi-bg);}
::-webkit-scrollbar-thumb{background:var(--zinc-800);}
::-webkit-scrollbar-thumb:hover{background:var(--gpi-green);}
* {
  scrollbar-width: thin;
  scrollbar-color: var(--zinc-800) var(--gpi-bg);
}

@keyframes fadeInUp{
  from{opacity:0;transform:translateY(18px);}
  to{opacity:1;transform:translateY(0);}
}
@keyframes fadeIn{
  from{opacity:0;}
  to{opacity:1;}
}
@keyframes pulseRing{
  0%{box-shadow:0 0 0 0 rgba(57,255,20,.45);}
  70%{box-shadow:0 0 0 9px rgba(57,255,20,0);}
  100%{box-shadow:0 0 0 0 rgba(57,255,20,0);}
}
@keyframes pingPin{
  0%{transform:scale(.6);opacity:.9;}
  70%{transform:scale(2.4);opacity:0;}
  100%{transform:scale(2.4);opacity:0;}
}

.font-heading{font-family:var(--body-font);letter-spacing:-0.02em;}
.font-body{font-family:var(--body-font);}



.mono-label{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-size:.72rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--gpi-green);
}
.mono-label::before{
  content:"";
  width:8px;
  height:8px;
  background:var(--gpi-green);
  box-shadow:0 0 12px var(--gpi-green);
  flex-shrink:0;
}

.btn-primary{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  background:var(--gpi-green);
  color:var(--text-gpi);
  border:none;
  cursor:pointer;
  font-size:.85rem;
  font-weight:700;
  letter-spacing:.08em;
  border-radius: 50px;
  text-transform:uppercase;
  padding:0.9rem 1.75rem;
  transition:all .15s ease;
}
.btn-primary:hover{
  background:var(--gpi-text);
  box-shadow:0 0 24px #35373547;
  transform:translateY(-1px);
}
.btn-primary:active{transform:translateY(0);}

.btn-secondary{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  background:var(--gpi-text);
  color:var(--text-gpi);
  border:none;
  cursor:pointer;
  font-size:.85rem;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  padding:0.6rem 1.75rem;
  border-radius:999px;
  transition:all .15s ease;
}
.btn-secondary .icon-circle{
  width:32px;
  height:32px;
  border-radius:50%;
  background:var(--gpi-text);
  color:var(--text-gpi);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-right:.25rem;
}
.btn-secondary:hover{transform:translateY(-1px);}

.btn-outline{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  background:transparent;
  color:var(--gpi-text);
  border:1px solid var(--zinc-800);
  cursor:pointer;
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:0.6rem 1.75rem;
  border-radius:999px;
  transition:all .15s ease;
}
.btn-outline:hover{border-color:var(--gpi-green);color:var(--gpi-green);}

.tag-tech{
  background:#0000000d;
  border:1px solid var(--zinc-800);
  color:var(--zinc-400);
  display:inline-block;
  font-size:.7rem;
  letter-spacing:.12em;
  padding:.3rem .6rem;
  text-transform:uppercase;
}
.section-divider{
  height:1px;
  background:var(--zinc-900);
  border:none;
}

/* ===== Header / Nav ===== */


.site-header{
  position:relative;
  z-index:50;
  background:var(--gpi-bg);
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
  transition: background 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease, padding 0.4s ease;
}

.site-header.header-pinned{
  position:fixed;
  top:0;left:0;right:0;
  background: rgba(255, 255, 255, 0.88) !important;
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
  animation: headerSlideIn .35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes headerSlideIn{
  from{ transform:translateY(-100%); opacity: 0; }
  to{ transform:translateY(0); opacity: 1; }
}
.header-spacer{ display:none; }
.site-header .header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding: 0.6rem 0;
  transition: padding .3s ease;
}
.site-header.header-pinned .header-inner {
  padding: 0.35rem 0;
}
@media (min-width:1024px){ 
  .site-header .header-inner{padding:0.6rem 0;} 
  .site-header.header-pinned .header-inner{padding:0.35rem 0;}
}
.nav-logo img{height:75px;width:auto;}
@media (max-width:640px){ .nav-logo img{height:55px;} }
.main-nav{display:none;align-items:center;gap:2.5rem;}
@media (min-width:1024px){ .main-nav{display:flex;} }
.main-nav a{
  font-size:.9rem;
  color:var(--gpi-text);
  font-weight: 600;
  position:relative;
  transition:color .25s ease;
}
.main-nav a::after{
  content:"";
  position:absolute;left:0;bottom:-4px;
  width:0;height:2px;background:var(--gpi-green);
  transition:width .25s cubic-bezier(0.16, 1, 0.3, 1);
}
.main-nav a:hover{color:var(--gpi-green);}
.main-nav a:hover::after{width:100%;}






































/* ============ Team / human-touch strip in service section ============ */
.service-team-strip{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--zinc-900,#1a1a1a22);}
.service-team-strip .team-label{font-family:'JetBrains Mono',monospace;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;opacity:.65;margin-bottom:1rem;}
.team-photo-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;}
.team-photo-row img{
  width:64px;height:64px;border-radius:50%;object-fit:cover;
  border:2px solid var(--gpi-bg);box-shadow:0 0 0 2px var(--gpi-green-soft);
}
.team-photo-row .team-copy{font-size:.9rem;opacity:.8;max-width:320px;}




.olympian-strip{
    background:
    linear-gradient(
        135deg,
        #101410,
        #1b2419
    );
    padding:45px 0;
    position:relative;
    overflow:hidden;
}



.olympian-strip::before{
    content:"";
    position:absolute;
    width:400px;
    height:400px;
    right:-120px;
    top:-150px;
    background:
    rgba(67,160,71,.15);
    border-radius:50%;
}

.olympian-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:50px;
    position:relative;
    z-index:2;


}

.olympian-brand{
    display:flex;
    align-items:center;
    gap:8px;
    white-space:nowrap;

}
.olympian-brand img{
    height: 65px;
    max-width: inherit;
}

.olympian-brand span{
    font-size:42px;
    font-weight:900;
    letter-spacing:3px;
    color:#fff;

}

.olympian-brand i{
    width:12px;
    height:12px;
    background:#73e514;
    border-radius:50%;
    display:block;

}





.olympian-copy{
    max-width:850px;
    color:rgba(255,255,255,.9);
    font-size:22px;
    line-height:1.5;
    font-weight:500;
}



.olympian-copy strong{
    color:#fff;
    font-weight:700;

}

.olympian-strip .btn-outline{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:0.75rem 1.45rem;
    border:1px solid rgba(255,255,255,.35);
    border-radius:50px;
    color:#fff;
    font-size:0.76rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em;
    white-space:nowrap;
    transition:.35s;
}

.olympian-strip .btn-outline span{
    font-size:20px;
    transition:.3s;
}

.olympian-strip .btn-outline:hover{
    background:#73e514;
    border-color:#73e514;
    color:#fff;
}



.olympian-strip .btn-outline:hover span{
    transform:translateX(5px);

}





@media(max-width:991px){


.olympian-inner{
    flex-direction:column;
    text-align:center;

}



.olympian-copy{
    max-width:100%;

}



}










section#stats .section-title{
  font-weight: 900;
}
/* ===== Section heading block ===== */
.section-head{
  padding:2.5rem 0 1.75rem;
}
.section-title{
  font-weight:700;
  font-size:60px;
  color:var(--gpi-text);
  letter-spacing:-0.02em;
  line-height:1.05;
  margin-top:1rem;
}
.section-title .accent{color:var(--gpi-green);}
.section-desc{
  color:var(--zinc-400);
  margin-top:1rem;max-width:38rem;line-height:1.6;
}

/* ===== Stats section ===== */
.stats-band{
    background:#fff;
    position:relative;

}


.stats-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;

}



@media(min-width:768px){

    .stats-grid{

        grid-template-columns:repeat(5,1fr);

    }

}




.stat-item{
    position:relative;
    padding:20px;
    background:
    linear-gradient(
        145deg,
        #ffffff,
        #f7faf5
    );

    border:1px solid rgba(0,0,0,.06);
    border-radius:18px;
    overflow:hidden;
    transition:.4s;


}


.stat-item::after{
    content:"";
    position:absolute;
    width:100px;
    height:100px;
    right:-40px;
    top:-40px;
    background:var(--gpi-green-soft);
    border-radius:50%;
    opacity:.7;


}

.stat-item:hover{
    transform:translateY(-10px);
    box-shadow:
    0 25px 50px rgba(0,0,0,.10);


}


.stat-item .ticker-num{
    position:relative;
    z-index:2;
    font-size:38px;
    font-weight:700;
    line-height:1;
    letter-spacing:-3px;
    color:#585f61;


}


.stat-item .stat-label{
    position:relative;
    z-index:2;
    margin-top:18px;
    font-size:13px;
    font-weight:500;
    text-transform:uppercase;
    color:#585f61;


}

@media(max-width:767px){


.stats-grid{
    grid-template-columns:1fr;

}


.stat-item{
    padding:25px;

}

.stat-item .ticker-num{
    font-size:45px;

}


}
.feature-band{
    padding:60px 0;
    background:linear-gradient(180deg,var(--gpi-bg) 0%,var(--gpi-bg-alt) 100%);
    border-top:1px solid rgba(0,0,0,.06);
    border-bottom:1px solid rgba(0,0,0,.06);
}

.feature-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:18px;
}

.feature-item{
    position:relative;
    background:var(--gpi-card);
    border:1px solid rgba(0,0,0,.08);
    border-radius:18px;
    padding:24px 18px;
    text-align:center;
    transition:.35s ease;
    overflow:hidden;
    box-shadow:0 8px 22px rgba(0,0,0,.05);
}

.feature-item::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:4px;
    background:linear-gradient(90deg,var(--gpi-green),#73e514);
    transform:scaleX(0);
    transform-origin:left;
    transition:.35s;
}

.feature-item:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(0,0,0,.12);
    border-color:rgba(115,229,20,.18);
}

.feature-item:hover::before{
    transform:scaleX(1);
}

.feature-item svg{
    width:62px;
    height:62px;
    padding:15px;
    border-radius:50%;
    background:var(--gpi-green-soft);
    color:var(--gpi-green);
    margin:0 auto 18px;
    transition:.35s;
}

.feature-item:hover svg{
    background:var(--gpi-green);
    color:#fff;
    transform:rotate(-8deg) scale(1.08);
}

.feature-item .label{
    font-size:15px;
    font-weight:700;
    color:var(--gpi-text);
    line-height:1.5;
    letter-spacing:.2px;
}

.feature-item::after{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    background:radial-gradient(circle,var(--gpi-green-soft),transparent 70%);
    top:-90px;
    right:-90px;
    opacity:0;
    transition:.4s;
}

.feature-item:hover::after{
    opacity:1;
}

@media(max-width:1199px){
    .feature-grid{
        grid-template-columns:repeat(3,1fr);
    }
}

@media(max-width:767px){
    .feature-grid{
        grid-template-columns:repeat(2,1fr);
        gap:15px;
    }

    .feature-item{
        padding:18px 15px;
    }

    .feature-item svg{
        width:54px;
        height:54px;
        padding:13px;
    }

    .feature-item .label{
        font-size:14px;
    }
}

@media(max-width:480px){
    .feature-grid{
        grid-template-columns:1fr;
    }
}







/* ===== Why cards (panel 2) ===== */

.why-cards{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1.5rem;
}
@media (max-width:1023px){
  .why-cards{grid-template-columns:repeat(2, 1fr);}
}
@media (max-width:560px){
  .why-cards{grid-template-columns:1fr;}
}

.why-card{
  position:relative;
  overflow:hidden;
  border:1px solid var(--zinc-900);
  border-top:3px solid var(--zinc-900);
  background:var(--gpi-card);
  padding:2rem 1.75rem 1.85rem;
  transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.why-card::before{
  content:attr(data-idx);
  position:absolute;
  top:-.4rem;right:.6rem;
  font-family:var(--heading-font);
  font-weight:900;
  font-size:4.75rem;
  line-height:1;
  color:var(--zinc-900);
  opacity:.4;
  pointer-events:none;
  transition:color .25s ease, opacity .25s ease;
}
.why-card:hover{
  border-color:var(--gpi-green);
  border-top-color:var(--gpi-green);
  transform:translateY(-6px);
  box-shadow:0 24px 40px -26px rgba(10,10,10,.22);
}
.why-card:hover::before{color:var(--gpi-green-soft);opacity:1;}

.why-card .top-row{
  position:relative;z-index:1;
  display:flex;align-items:center;justify-content:space-between;
  gap:.75rem;
  margin-bottom:1.75rem;
}
.why-card .tagno{
  display:inline-flex;align-items:center;gap:.45rem;
  font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gpi-green);
}
.why-card .tagno::before{
  content:"";
  width:6px;height:6px;border-radius:50%;flex:none;
  background:var(--gpi-green);
  box-shadow:0 0 8px var(--gpi-green-soft);
}
.why-card .count{
  font-size:.68rem;letter-spacing:.08em;color:var(--zinc-500);
  white-space:nowrap;
  display: none;
}
.why-card h4{
  position:relative;z-index:1;
  font-weight:800;font-size:1.4rem;line-height:1.25;
  color:var(--gpi-text);
  margin-bottom:.65rem;
  letter-spacing:-0.01em;
}
.why-card p{
  position:relative;z-index:1;
  color:var(--zinc-400);font-size:.92rem;line-height:1.65;
}

.heading-box-with-cta{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}
@media (min-width:1024px){
  .heading-box-with-cta{
    flex-direction:row;
    align-items:flex-end;
    justify-content:space-between;
    gap:2.5rem;
  }
  .heading-box-with-cta .heading-box-text{flex:1 1 auto;}
  .heading-box-with-cta .heading-box-cta{flex:0 0 auto;}
}

/* ===== Products grid ===== */





.products-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;}
@media (min-width:640px){ .products-grid{grid-template-columns:repeat(3, 1fr)} }
.product-card{border:1px solid var(--zinc-900);background:var(--gpi-bg-alt);border-radius: 20px;}
.product-card .thumb{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--gpi-bg-alt);border-radius: 20px;}
.product-card .thumb img{width:100%;height:100%;object-fit:cover;}
.product-card .thumb .badge{
  position:absolute;top:.75rem;left:.75rem;
  background:#000c;border:1px solid var(--hero-border);
  font-size:.62rem;text-transform:uppercase;
  letter-spacing:.1em;padding:.3rem .55rem;color:#e4e4e7;
}
.product-card .thumb .kva{
  position:absolute;bottom:.75rem;right:.75rem;
  font-size:.8rem;color:var(--gpi-green);
}

.product-card:hover{
  border: 1px solid var(--gpi-green);
}


.product-card .info{
  padding: 20px 15px;
  height: 120px;
}
.product-card .info h5{font-weight:700;font-size:1.05rem;color:var(--gpi-text);}
.product-card .info .sub{font-size:.68rem;color:var(--zinc-500);text-transform:uppercase;letter-spacing:.08em;margin-top:.15rem;}
.product-card .info svg{color:var(--zinc-500);transition:all .2s ease;}
.product-card:hover .info svg{color:var(--gpi-green);transform:translate(2px,-2px);}

.products-slider{
    position:relative;
}

.products-slider .owl-nav{
    display:flex;
    justify-content: center;
    gap:12px;
    margin: 50px 0 0;
}

.products-slider .owl-nav button{
    width:48px;
    height:48px;
    border-radius:50% !important;
    background:#585f61 !important;
    border:1px solid rgba(255,255,255,.12) !important;
    color:#fff !important;
    display:flex !important;
    align-items:center;
    justify-content:center;
    transition:.35s;
    margin:0 !important;
}

.products-slider .owl-nav button:hover{
    background:var(--primary) !important;
    color:#000 !important;
    border-color:var(--primary) !important;
    transform:translateY(-3px);
    box-shadow:0 12px 30px rgba(0,174,255,.25);
}

.products-slider .owl-nav button span{
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:16px;
}

.products-slider .owl-nav button.disabled{
    opacity:.35;
    cursor:not-allowed;
}

.products-slider .owl-dots{
    margin-top:35px;
    text-align:center;
}

.products-slider .owl-dot span{
    width:10px;
    height:10px;
    margin:5px;
    border-radius:30px;
    background:#6b7280 !important;
    transition:.35s;
}

.products-slider .owl-dot.active span,
.products-slider .owl-dot:hover span{
    width:36px;
    background:var(--primary) !important;
}

.read-more{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:14px;
    font-weight:600;
    color:var(--primary);
    transition:.3s ease;
}

.read-more svg{
    width:16px;
    height:16px;
    transition:.3s ease;
}

.product-card:hover .read-more{
    color:var(--primary);
}

.product-card:hover .read-more svg{
    transform:translateX(5px);
}




.gpi-support-section{
background:#fff;
}



.support-main{
display:grid;
grid-template-columns: .9fr 1.1fr;
gap:80px;
align-items:center;
}





.support-image{
position:relative;
}

.support-image img{
width:100%;
height:620px;
object-fit:cover;
border-radius:30px;
}

.experience-box{
position:absolute;
bottom:40px;
right:-40px;
background:#fff;
padding:30px;
border-radius:20px;
box-shadow:0 20px 50px rgba(0,0,0,.15);
display:flex;
align-items:center;
gap:15px;

}

.experience-box strong{
font-size:55px;
color:var(--gpi-green);
line-height:1;

}

.experience-box span{
font-size:14px;
font-weight:600;
color:#585f61;
}

.support-content h2{
font-size:52px;
line-height:1.15;
font-weight:800;
margin:20px 0;
}

.support-content h2 span{
color:var(--gpi-green);
}

.support-content>p{
font-size:17px;
line-height:1.8;
color:#585f61;
margin-bottom:40px;

}

.support-points{
display:grid;
grid-template-columns:1fr 1fr;
gap:25px;
}



.point{
display:flex;
gap:18px;
padding:20px;
border-radius:18px;
background:#f8faf7;
transition:.3s;
}



.point:hover{
background:#fff;
box-shadow:0 15px 35px rgba(0,0,0,.08);
transform:translateY(-5px);
}

.point-icon{
width:50px;
height:50px;
flex-shrink:0;
display:flex;
align-items:center;
justify-content:center;
border-radius:14px;
background:var(--gpi-green-soft);
color:var(--gpi-green);
font-size:20px;


}



.point h4{
margin:0 0 6px;
font-size:17px;

}



.point p{
font-size:13px;
color:#585f61;
margin:0;


}





@media(max-width:991px){

.support-main{
grid-template-columns:1fr;

}

.support-points{
grid-template-columns:1fr;

}
.experience-box{

right:20px;

}


}





/* ===== Spec sheet section ===== */
.spec-layout{
  display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center;
}
@media (min-width:1024px){ .spec-layout{grid-template-columns:.9fr 1.1fr;} }
.spec-card{border:1px solid var(--zinc-900);background:var(--gpi-bg-alt);padding:1.25rem;}
.spec-card .spec-tag{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gpi-text);background:#0000000d;display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .5rem;margin-bottom:1rem;}
.spec-card img{width:100%;}
.spec-card .divider{height:1px;background:var(--zinc-900);margin:1.25rem 0;}
.spec-card .metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.spec-card .metrics .val{font-weight:900;font-size:1.8rem;color:var(--gpi-text);}
.spec-card .metrics .unit{font-size:.68rem;color:var(--zinc-500);text-transform:uppercase;letter-spacing:.1em;margin-top:.2rem;}
.spec-list{list-style:none;padding:0;margin:1.5rem 0 2rem;display:flex;flex-direction:column;gap:1rem;}
.spec-list li{display:flex;gap:1rem;align-items:flex-start;}
.spec-list .idx{color:var(--gpi-green);font-size:.85rem;flex-shrink:0;padding-top:.15rem;}
.spec-list p{color:var(--gpi-text);line-height:1.55;}

/*=========================
 Industries
=========================*/

/*==========================
  INDUSTRIES
==========================*/

.industries-section{
    position:relative;
    padding:100px 0;
    background:linear-gradient(180deg,#fff 0%,#f7f8fa 100%);
    overflow:hidden;
}

.industries-section::before{
    content:"";
    position:absolute;
    left:-180px;
    top:-180px;
    width:420px;
    height:420px;
    border-radius:50%;
    background:radial-gradient(circle,var(--gpi-green-soft),transparent 70%);
    pointer-events:none;
}

.industries-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

/* Card */

.industry-card{
    position:relative;
    display:block;
    overflow:hidden;
    border-radius:22px;
    background:#fff;
    text-decoration:none;
    box-shadow:0 12px 35px rgba(0,0,0,.06);
    transition:.45s;
    border:1px solid rgba(0,0,0,.06);
}

.industry-card:hover{
    transform:translateY(-12px);
    box-shadow:0 22px 55px rgba(0,0,0,.12);
}

/* Image */

.industry-img{
    position:relative;
    height:280px;
    overflow:hidden;
}

.industry-img::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,
        rgba(0,0,0,.75),
        rgba(0,0,0,.20),
        transparent);
}

.industry-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:1s;
}

.industry-card:hover img{
    transform:scale(1.12);
}

/* Floating Icon */

.industry-icon{
    position:absolute;
    top:22px;
    left:22px;
    width:64px;
    height:64px;
    border-radius:18px;
    background:rgba(255,255,255,.15);
    backdrop-filter:blur(12px);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:26px;
    border:1px solid rgba(255,255,255,.25);
    z-index:2;
    transition:.35s;
}

.industry-card:hover .industry-icon{
    background:var(--gpi-green);
    transform:rotate(-8deg);
}

/* Bottom Content */

.industry-body{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    padding:28px;
    z-index:2;
}

.industry-body h3{
    color:#fff;
    margin:0;
    font-size:24px;
    font-weight:700;
    transition:.35s;
}

.industry-body::after{
    content:"Explore Industry";
    display:block;
    margin-top:12px;
    font-size:14px;
    font-weight:600;
    color:#fff;
    opacity:0;
    transform:translateY(15px);
    transition:.35s;
}

.industry-card:hover .industry-body::after{
    opacity:1;
    transform:translateY(0);
}

/* Button */

.industry-btn{
    margin-top:55px;
    text-align:center;
}

.industry-btn .btn-outline{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0.75rem 1.45rem;
    font-size:0.76rem;
    border-radius:60px;
    border:2px solid var(--gpi-green);
    color:var(--gpi-green);
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em;
    text-decoration:none;
    transition:.35s;
}

.industry-btn .btn-outline:hover{
    background:var(--gpi-green);
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 18px 35px rgba(28,122,60,.25);
}

/* Responsive */

@media(max-width:991px){

.industries-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:767px){

.industries-section{
padding:70px 0;
}

.industries-grid{
grid-template-columns:1fr;
gap:22px;
}

.industry-img{
height:240px;
}

.industry-icon{
width:56px;
height:56px;
font-size:22px;
}

.industry-body h3{
font-size:20px;
}

}















/* ===== Testimonials ===== */
.testimonial-panel .section-desc{max-width:36rem;}

.testimonial-grid{
  display:grid;grid-template-columns:1fr;gap:1.25rem;
}
@media (min-width:768px){
  .testimonial-grid{grid-template-columns:repeat(3,1fr);}
}

.testimonial-card{
  display:flex;flex-direction:column;
  border:1px solid var(--zinc-900);
  border-top:3px solid var(--gpi-green);
  background:var(--gpi-bg-alt);
  padding:1.75rem;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.testimonial-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 28px -16px rgba(0,0,0,.16);
}

.testimonial-card .quote-icon{
  color:var(--gpi-green);
  opacity:.55;
  margin-bottom:.75rem;
}

.testimonial-card .stars{
  display:flex;gap:.15rem;
  color:var(--gpi-yellow);
  margin-bottom:.9rem;
}

.testimonial-card .quote-text{
  color:var(--gpi-text);
  font-size:.98rem;
  line-height:1.65;
  flex:1;
}

.testimonial-card .author{
  display:flex;align-items:center;gap:.75rem;
  margin-top:1.5rem;padding-top:1.25rem;
  border-top:1px solid var(--zinc-900);
}
.testimonial-card .avatar{
  width:44px;height:44px;flex-shrink:0;
  border-radius:50%;
  background:var(--gpi-text);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;
  font-size:.85rem;
  letter-spacing:.02em;
}
.testimonial-card .author-info{display:flex;flex-direction:column;gap:.1rem;}
.testimonial-card .author-info b{
  font-weight:700;font-size:.92rem;color:var(--gpi-text);
}
.testimonial-card .author-info span{
  font-size:.7rem;color:var(--zinc-500);
  text-transform:uppercase;letter-spacing:.04em;
}

.snap-panel.is-active .testimonial-card{animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) both;}
.testimonial-grid .testimonial-card:nth-child(1){animation-delay:.05s;}
.testimonial-grid .testimonial-card:nth-child(2){animation-delay:.15s;}
.testimonial-grid .testimonial-card:nth-child(3){animation-delay:.25s;}

@media (max-width:479px){
  .testimonial-card{padding:1.4rem;}
}

@media(max-width:767px){
    .hero-watermark{
      top: 5rem;
      font-size: 40px;
    }
    section#stats .section-head{
      padding: 2.5rem 1.75rem;
    }

}

/* ===== Video / action section ===== */
.action-layout{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center;}
@media (min-width:1024px){ .action-layout{grid-template-columns:1.1fr .9fr;} }
.video-frame{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--gpi-bg-alt);border:1px solid var(--zinc-900);}
.video-frame img{width:100%;height:100%;object-fit:cover;opacity:.85;}
.video-frame .play-btn{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:70px;height:70px;border-radius:50%;
  background:var(--gpi-green-soft);border:2px solid var(--gpi-green);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  color:var(--gpi-green);
}
.video-frame .rec-badge{
  position:absolute;bottom:1rem;left:1rem;
  display:flex;align-items:center;gap:.5rem;
  font-size:.72rem;color:#e4e4e7;
  background:#000a;padding:.35rem .7rem;
}
.video-frame .rec-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--gpi-bg);}
.action-metrics{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--zinc-900);}
.action-metrics .val{font-weight:900;font-size:2rem;color:var(--gpi-text);}
.action-metrics .val .accent{color:var(--gpi-green);}
.action-metrics .lbl{font-size:.68rem;color:var(--zinc-500);text-transform:uppercase;letter-spacing:.1em;margin-top:.3rem;}



/* ===== Support & Service ===== */
.support-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;padding:1.5rem 0 2.5rem;}
@media (min-width:768px){ .support-grid{grid-template-columns:repeat(3,1fr);} }
.support-card{border:1px solid var(--zinc-900);background:var(--gpi-bg-alt);padding:1.75rem;}
.support-card .idx{font-size:.7rem;color:var(--gpi-green);}
.support-card h4{font-weight:700;font-size:1.3rem;color:var(--gpi-text);margin-top:.6rem;}
.support-card p{color:var(--zinc-400);font-size:.9rem;margin-top:.6rem;line-height:1.55;}
.support-card .link{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:var(--gpi-text);margin-top:1.25rem;}
.support-card .link svg{color:var(--zinc-500);}
.support-card:hover .link{color:var(--gpi-green);}
.support-card:hover .link svg{color:var(--gpi-green);}

.support-card:hover{
  border: 1px solid var(--gpi-green);
}

/*==========================
 CERTIFICATIONS
==========================*/

#supportService{
    position:relative;
    padding:40px 0;
    background:linear-gradient(180deg,#ffffff 0%,#f7f8fa 100%);
    overflow:hidden;
}

#supportService::before{
    content:"";
    position:absolute;
    left:-180px;
    top:-180px;
    width:420px;
    height:420px;
    border-radius:50%;
    background:radial-gradient(circle,var(--gpi-green-soft),transparent 70%);
}

.certs-ticker{
    position:relative;
    margin-top:45px;
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    border-radius:22px;
    padding:22px 0;
    overflow:hidden;
    box-shadow:0 15px 40px rgba(0,0,0,.06);
}

.certs-track{
    display:flex;
    align-items:center;
    width:max-content;
    animation:certScroll 35s linear infinite;
}

.certs-ticker:hover .certs-track{
    animation-play-state:paused;
}

.certs-track span{
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 18px;
    padding:14px 24px;
    border-radius:50px;
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    color:var(--gpi-text);
    font-size:15px;
    font-weight:600;
    white-space:nowrap;
    transition:.35s;
    box-shadow:0 8px 20px rgba(0,0,0,.04);
}

.certs-track span:hover{
    background:var(--gpi-green);
    color:#fff;
    transform:translateY(-5px);
    box-shadow:0 18px 35px rgba(28,122,60,.25);
}

.certs-track span svg{
    width:18px;
    height:18px;
    color:var(--gpi-green);
    transition:.35s;
}

.certs-track span:hover svg{
    color:#fff;
}

@keyframes certScroll{

0%{
transform:translateX(0);
}

100%{
transform:translateX(-50%);
}

}

@media(max-width:768px){

#supportService{
padding:70px 0;
}

.certs-track span{
padding:12px 18px;
font-size:14px;
margin:0 12px;
}

}











/* ===== Updates / blog ===== */
.updates-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:2.5rem 0 1.5rem;}
.updates-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;padding-bottom:2rem;}
@media (min-width:768px){ .updates-grid{grid-template-columns:repeat(3,1fr);} }

.update-card{
  display:flex;flex-direction:column;
  border:1px solid var(--zinc-900);
  border-top:3px solid transparent;
  background:var(--gpi-card);
  overflow:hidden;
  transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.update-card:hover{
  border-color:var(--gpi-green);
  border-top-color:var(--gpi-green);
  transform:translateY(-6px);
  box-shadow:0 22px 38px -26px rgba(10,10,10,.22);
}
.update-card .thumb{position:relative;aspect-ratio:16/10;overflow:hidden;}
.update-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.3,1);}
.update-card:hover .thumb img{transform:scale(1.08);}
.update-card .thumb .cat{
  position:absolute;top:.75rem;left:.75rem;z-index:1;
  display:inline-flex;align-items:center;gap:.4rem;
  background:#000000b3;border:1px solid var(--hero-border);
  font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  padding:.35rem .65rem;color:#e4e4e7;
}
.update-card .thumb .cat::before{
  content:"";width:5px;height:5px;border-radius:50%;flex:none;
  background:var(--gpi-green);box-shadow:0 0 6px var(--gpi-green-soft);
}
.update-card .content{display:flex;flex-direction:column;flex:1;padding:1.35rem 1.35rem 1.5rem;}
.update-card .date{font-size:.7rem;color:var(--zinc-500);text-transform:uppercase;letter-spacing:.08em;}
.update-card h4{font-weight:800;font-size:1.15rem;color:var(--gpi-text);margin-top:.55rem;line-height:1.32;letter-spacing:-0.01em;}
.update-card p{color:var(--zinc-400);font-size:.88rem;margin-top:.55rem;line-height:1.6;flex:1;}
.update-card .read-more{
  display:inline-flex;align-items:center;gap:.4rem;margin-top:1.1rem;
  font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:var(--gpi-text);
}
.update-card .read-more svg{width:14px;height:14px;transition:transform .2s ease;}
.update-card:hover .read-more{color:var(--gpi-green);}
.update-card:hover .read-more svg{transform:translate(3px,-3px);}

/* ===== Contact ===== */

.contact-layout{
    display:grid;
    grid-template-columns:440px 1fr;
    gap:30px;
    align-items:stretch;
    margin:  0 0 60px;
}

.contact-layout>div:first-child{
    background:var(--gpi-card);
    border:1px solid rgba(0,0,0,.08);
    border-radius:24px;
    padding:40px;
    box-shadow:0 10px 35px rgba(0,0,0,.05);
    position:sticky;
    top:120px;
}

.contact-form{
    background:var(--gpi-card);
    border:1px solid rgba(0,0,0,.08);
    border-radius:24px;
    padding:42px;
    box-shadow:0 15px 40px rgba(0,0,0,.06);
    position:relative;
    overflow:hidden;
}

#quote-form button[type="submit"]{
    font-size: 0.76rem !important;
    padding: 0.75rem 1.45rem !important;
}

.contact-form::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:5px;
    height:100%;
    background:linear-gradient(180deg,var(--gpi-green),#73e514);
}

.enquiry-tag{
    display:inline-flex;
    padding:8px 16px;
    border-radius:40px;
    background:var(--gpi-green-soft);
    color:var(--gpi-green);
    font-weight:700;
    margin-bottom:25px;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-size:12px;
}

.contact-info-item{
    display:flex;
    align-items:center;
    gap:18px;
    padding:18px;
    margin-top:18px;
    border-radius:18px;
    border:1px solid rgba(0,0,0,.08);
    transition:.35s;
    background:#fff;
}

.contact-info-item:hover{
    transform:translateX(8px);
    border-color:rgba(115,229,20,.2);
    box-shadow:0 12px 30px rgba(0,0,0,.08);
}

.icon-box{
    width:58px;
    height:58px;
    border-radius:16px;
    background:var(--gpi-green-soft);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--gpi-green);
    font-size:22px;
    flex-shrink:0;
    transition:.35s;
}

.contact-info-item:hover .icon-box{
    background:var(--gpi-green);
    color:#fff;
}

.lbl{
    font-size:13px;
    text-transform:uppercase;
    color:#585f61;
    margin-bottom:4px;
    letter-spacing:.08em;
}

.val{
    font-size:16px;
    font-weight:700;
    color:var(--gpi-text);
}

.form-row{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px;
    margin-bottom:22px;
}

.form-field label{
    display:block;
    margin-bottom:10px;
    font-size:14px;
    font-weight:600;
    color:#585f61;
}

.form-field input,
.form-field textarea{
    width:100%;
    border:1px solid #ddd;
    border-radius:14px;
    padding:15px 18px;
    background:#fafafa;
    transition:.3s;
    font-size:15px;
}

.form-field textarea{
    min-height:170px;
    resize:vertical;
}

.form-field input:focus,
.form-field textarea:focus{
    border-color:var(--gpi-green);
    background:#fff;
    box-shadow:0 0 0 4px var(--gpi-green-soft);
    outline:none;
}

.form-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:10px;
    gap:20px;
    flex-wrap:wrap;
}

.note{
    color:#585f61;
    font-size:14px;
}

.btn-primary{
    display:inline-flex;
    align-items:center;
    gap:12px;
    background:var(--gpi-green);
    color:#fff;
    border:none;
    padding:16px 28px;
    border-radius:60px;
    font-weight:700;
    cursor:pointer;
    transition:.35s;
}

.btn-primary:hover{
    transform:translateY(-3px);
    box-shadow:0 16px 35px rgba(28,122,60,.28);
}

.btn-primary svg{
    width:18px;
    height:18px;
}

@media(max-width:991px){

.contact-layout{
grid-template-columns:1fr;
gap:35px;
}

.contact-layout>div:first-child{
position:relative;
top:auto;
}

}

@media(max-width:768px){

.form-row{
grid-template-columns:1fr;
gap:18px;
}

.contact-form,
.contact-layout>div:first-child{
padding:28px;
}

.form-footer{
flex-direction:column;
align-items:flex-start;
}

.btn-primary{
width:100%;
justify-content:center;
}

}

/* ===== Footer ===== */

.site-footer{
    position:relative;
    background:#0b0d10;
    color:rgba(255,255,255,.72);
    padding:90px 0 25px;
    overflow:hidden;
}

.site-footer::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at top right,rgba(28,122,60,.16),transparent 35%),
        radial-gradient(circle at bottom left,rgba(28,122,60,.10),transparent 40%);
    pointer-events:none;
}

.footer-top{
    position:relative;
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:60px;
    z-index:2;
}

.footer-brand-col img{
    height:60px;
    margin-bottom:0;
}

.footer-brand-col p{
    max-width:420px;
    line-height:1.9;
    color:rgba(255,255,255,.68);
    margin-bottom:28px;
}

.ft-title{
    color:#fff;
    font-size:18px;
    font-weight:700;
    margin-bottom:25px;
    position:relative;
    padding-bottom:12px;
}

.ft-title::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:45px;
    height:3px;
    border-radius:10px;
    background:var(--gpi-green);
}

.footer-col ul{
    margin:0;
    padding:0;
    list-style:none;
}

.footer-col li{
    margin-bottom:14px;
}

.footer-col a{
    color:rgba(255,255,255,.68);
    text-decoration:none;
    transition:.35s;
    display:inline-flex;
    align-items:center;
}

.footer-col a:hover{
    color:#fff;
    transform:translateX(8px);
}

.footer-contact-rows{
    display:flex;
    flex-direction:column;
    gap:14px;
    margin-bottom:30px;
}

.f-contact-row{
    display:flex;
    align-items:center;
    gap:14px;
    color:rgba(255,255,255,.75);
    text-decoration:none;
    transition:.3s;
}

.f-contact-row:hover{
    color:#fff;
}

.f-contact-row svg{
    width:18px;
    height:18px;
    color:var(--gpi-green);
}

.footer-social{
    display:flex;
    gap:14px;
}

.footer-social a{
    width:46px;
    height:46px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    color:#fff;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
    transition:.35s;
}

.footer-social a:hover{
    background:var(--gpi-green);
    border-color:var(--gpi-green);
    transform:translateY(-6px);
}

.section-divider{
    margin:55px 0 30px;
    border:none;
    height:1px;
    background:rgba(255,255,255,.08);
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    position:relative;
    z-index:2;
}

.copy{
    color:rgba(255,255,255,.55);
    font-size:14px;
}

.footer-bottom-right{
    display:flex;
    align-items:center;
    gap:30px;
}

.footer-legal{
    display:flex;
    gap:22px;
}

.footer-legal a{
    color:rgba(255,255,255,.55);
    text-decoration:none;
    transition:.3s;
}

.footer-legal a:hover{
    color:#fff;
}

.back-to-top{
    width:52px;
    height:52px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    color:#fff;
    background:var(--gpi-green);
    transition:.35s;
    box-shadow:0 15px 35px rgba(28,122,60,.35);
}

.back-to-top:hover{
    transform:translateY(-8px) rotate(-45deg);
}

.back-to-top svg{
    width:18px;
    height:18px;
}

@media(max-width:991px){

.footer-top{
grid-template-columns:repeat(2,1fr);
gap:40px;
}

.footer-bottom{
flex-direction:column;
text-align:center;
}

.footer-bottom-right{
flex-direction:column;
gap:20px;
}

}

@media(max-width:600px){

.site-footer{
padding-top:70px;
}

.footer-top{
grid-template-columns:1fr;
}

.footer-legal{
flex-wrap:wrap;
justify-content:center;
}

}

.olympian-brand-footer{
    display: flex;
    align-items: center;
    gap: 20px;
}


.footprint-section{
    position:relative;
    background:linear-gradient(180deg,#fff 0%,#f7f8fa 100%);
    overflow:hidden;
}

.footprint-section::before{
    content:"";
    position:absolute;
    top:-180px;
    right:-180px;
    width:420px;
    height:420px;
    border-radius:50%;
    background:radial-gradient(circle,var(--gpi-green-soft),transparent 70%);
}

.footprint-layout{
    display:grid;
    grid-template-columns:430px 1fr;
    gap:50px;
    align-items:start;
}

.hub-grid{
    display:grid;
    grid-template-columns: repeat(2, 1fr);
    gap:18px;
}

.hub-card{
    position:relative;
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    border-radius:18px;
    padding:24px;
    transition:.35s;
    overflow:hidden;
    box-shadow:0 10px 25px rgba(0,0,0,.05);
}

.hub-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:5px;
    height:100%;
    background:var(--gpi-green);
    transform:scaleY(0);
    transition:.35s;
}

.hub-card:hover{
    transform:translateX(8px);
    box-shadow:0 18px 45px rgba(0,0,0,.10);
}

.hub-card:hover::before{
    transform:scaleY(1);
}

.active-tag{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:6px 14px;
    border-radius:30px;
    background:var(--gpi-green-soft);
    color:var(--gpi-green);
    font-size:12px;
    font-weight:700;
    margin-bottom:16px;
}

.active-tag .dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--gpi-green);
    animation:pulse 2s infinite;
}

.hub-card h4{
    margin:0;
    font-size:18px;
    font-weight:700;
    color:var(--gpi-text);
}

.city{
    margin-top:6px;
    color:#585f61;
    font-size: 13px;
}

.map-wrap{
    position:relative;
    background:#fff;
    border-radius:24px;
    border:1px solid rgba(0,0,0,.08);
    padding:2px;
    min-height:315px;
    max-width:75%;
    margin:0 auto;
    overflow:hidden;
    box-shadow:0 18px 45px rgba(0,0,0,.06);
}

.map-wrap::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(0,0,0,.03) 1px,transparent 1px),
        linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 1px);
    background-size:40px 40px;
}

.map-live-tag{
    position:absolute;
    top:25px;
    right:25px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px 18px;
    border-radius:40px;
    background:#fff;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
    z-index:5;
    font-weight:600;
}

.map-live-tag .dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background:var(--gpi-green);
    animation:pulse 2s infinite;
}

.map-wrap svg{
    width:100%;
    height:100%;
    margin:0 auto;
    display:block;
    position:relative;
    z-index:2;
}

.state-shape{
    fill:#eef4ef;
    stroke:var(--gpi-green);
    stroke-width:1;
}

.us-footprint-pin{
    position:absolute;
    transform:translate(-50%,-50%);
    z-index:10;
}

.us-footprint-pin.large-pin .dot {
    width: 24px;
    height: 24px;
    border-width: 5px;
    box-shadow: 0 0 0 10px rgba(28,122,60,.22);
}

.us-footprint-pin.large-pin .dot .ripple {
    width: 24px;
    height: 24px;
}

.us-footprint-pin.small-pin .dot {
    width: 14px;
    height: 14px;
    border-width: 3px;
    box-shadow: 0 0 0 6px rgba(28,122,60,.14);
}

.us-footprint-pin.small-pin .dot .ripple {
    width: 14px;
    height: 14px;
}

.us-footprint-pin .dot{
    position: relative;
    width:16px;
    height:16px;
    border-radius:50%;
    background:var(--gpi-green);
    border:4px solid #fff;
    box-shadow:0 0 0 8px rgba(28,122,60,.18);
}

.us-footprint-pin .dot .ripple {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: transparent;
    border: 1px solid var(--gpi-green);
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
    animation: rippleExpand 6.5s infinite cubic-bezier(0.1, 0.8, 0.3, 1);
    pointer-events: none;
    box-sizing: border-box;
    z-index: -1;
}

.us-footprint-pin .dot .ripple-1 {
    animation-delay: 0s;
}

.us-footprint-pin .dot .ripple-2 {
    animation-delay: 2.16s;
}

.us-footprint-pin .dot .ripple-3 {
    animation-delay: 4.33s;
}

@keyframes rippleExpand {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.8;
        border-width: 1px;
    }
    50% {
        opacity: 0.4;
    }
    100% {
        transform: translate(-50%, -50%) scale(9.6);
        opacity: 0;
        border-width: 0.5px;
    }
}

.pin-label{
    position:absolute;
    top:-42px;
    left:50%;
    transform:translateX(-50%);
    background:#fff;
    padding:8px 14px;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
    white-space:nowrap;
    box-shadow:0 10px 25px rgba(0,0,0,.10);
    opacity:0;
    transition:.3s;
}

.us-footprint-pin:hover .pin-label{
    opacity:1;
    top:-50px;
}

.footprint-link-hint{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--gpi-green);
    font-weight:700;
    margin: 40px 0 0;
}
.map-wrap .rsm-geography {
    fill: #c7c9cc;
    stroke: #9a9ea1;
    stroke-width: .6px;
    transition: fill .2s ease;
}
.footprint-link-hint:hover{
    gap:16px;
}

@keyframes pulse{

0%{
box-shadow:0 0 0 0 rgba(28,122,60,.35);
}

70%{
box-shadow:0 0 0 14px rgba(28,122,60,0);
}

100%{
box-shadow:0 0 0 0 rgba(28,122,60,0);
}

}

@media(max-width:991px){

.footprint-layout{
grid-template-columns:1fr;
}

.map-wrap{
min-height:340px;
max-width:100%;
}

}



















@media (max-width:1023px){
  .snap-panel{padding-top:5rem;}
}

/* ===== Mobile responsive pass ===== */
@media (max-width:767px){
  .hub-grid{grid-template-columns:1fr;}
  .map-wrap{min-height:175px;max-width:100%;}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem 1rem;}
  .feature-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;}
  .spec-card .metrics{grid-template-columns:repeat(3,1fr);gap:.6rem;}
  .spec-card .metrics .val{font-size:1.35rem;}
  .support-grid{grid-template-columns:1fr;}
  .updates-grid{grid-template-columns:1fr;}
  .footer-cta-stats{gap:1.5rem 2rem;}
  .footer-top{gap:2rem;}
  .contact-info-item{align-items:flex-start;}
  .header-right{gap:.5rem;}
  .hero-footer{
    display:none;
  }
 
}












