/* ACG Home - Reference Inspired Industrial UI */

:root{
  --acg-primary:#0c53a5;
  --acg-dark:#2f2e2c;
  --acg-gray:#858380;
  --acg-navy:#022041;
  --acg-white:#ffffff;
  --acg-soft:#f4f7fb;
  --acg-border:#e4ebf3;
  --acg-shadow:0 24px 70px rgba(2,32,65,.12);
}

.acg-shell{
  width:100%;
  max-width:none;
  margin:0;
  padding-inline:clamp(18px,4vw,72px);
  box-sizing:border-box;
}

.acg-section{
  width:100%;
  padding:clamp(74px,7vw,122px) 0;
  background:#fff;
}

.acg-section:nth-of-type(even){
  background:var(--acg-soft);
}

.acg-kicker,
.acg-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--acg-primary);
  font-size:13px;
  font-weight:950;
  margin-bottom:14px;
}

.acg-kicker--light{
  color:#d8ecff;
}

.acg-head{
  max-width:820px;
  margin:0 auto 44px;
  text-align:center;
}

.acg-head h2,
.acg-title h2,
.acg-industries h2,
.acg-dark-box h2,
.acg-rfq h2,
.acg-final h2{
  margin:0;
  color:var(--acg-navy);
  font-size:clamp(28px,3.4vw,48px);
  line-height:1.32;
  font-weight:1000;
}

.acg-head p,
.acg-rich p,
.acg-industries p,
.acg-dark-box p,
.acg-rfq p,
.acg-final p{
  color:#5c6878;
  line-height:2.05;
  font-size:15.8px;
}

.acg-hero{
  width:100%;
  min-height:calc(100vh - 146px);
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#07101f;
  color:#fff;
}

.acg-hero__grid-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(0deg,rgba(255,255,255,.035) 1px,transparent 1px),
    radial-gradient(circle at 18% 30%,rgba(12,83,165,.55),transparent 30%),
    radial-gradient(circle at 85% 18%,rgba(255,255,255,.08),transparent 22%),
    linear-gradient(135deg,#022041 0%,#07101f 55%,#0c53a5 145%);
  background-size:72px 72px,72px 72px,auto,auto,auto;
}

.acg-hero__inner{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:clamp(36px,5vw,92px);
  align-items:center;
  padding-block:clamp(84px,8vw,134px);
}

.acg-hero__content{
  max-width:900px;
}

.acg-pill{
  color:#d8ecff;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  padding:9px 13px;
  border-radius:999px;
}

.acg-hero h1{
  margin:0;
  color:#fff;
  font-size:clamp(40px,5.8vw,82px);
  line-height:1.12;
  font-weight:1000;
  letter-spacing:-1.4px;
}

.acg-hero__lead{
  margin:24px 0 0;
  color:#dcecff;
  font-size:clamp(17px,2vw,24px);
  line-height:1.9;
  font-weight:850;
}

.acg-hero__text{
  margin:18px 0 0;
  color:#cbd7e5;
  line-height:2.15;
  font-size:15.8px;
}

.acg-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}

.acg-btn{
  min-height:50px;
  padding:0 22px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  text-decoration:none;
  font-size:14px;
  font-weight:950;
  transition:.22s ease;
  border:1px solid transparent;
}

.acg-btn:hover{
  transform:translateY(-2px);
}

.acg-btn--primary{
  background:var(--acg-primary);
  color:#fff;
  box-shadow:0 18px 38px rgba(12,83,165,.30);
}

.acg-btn--dark{
  background:var(--acg-navy);
  color:#fff;
  border-color:rgba(255,255,255,.12);
}

.acg-btn--outline{
  background:#fff;
  color:var(--acg-primary);
  border-color:rgba(12,83,165,.18);
}

.acg-hero__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:26px;
}

.acg-hero__meta span{
  padding:7px 11px;
  border-radius:999px;
  color:#dbeafe;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  font-size:12px;
  font-weight:800;
}

.acg-hero__stage{
  position:relative;
  min-height:640px;
}

.acg-stage-card--main{
  position:absolute;
  inset:8% 5% auto auto;
  width:82%;
  height:76%;
  border-radius:42px;
  background:linear-gradient(145deg,#fff,#eaf1f8);
  box-shadow:0 42px 100px rgba(0,0,0,.34);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:34px;
  box-sizing:border-box;
  transform:rotate(-3deg);
}

.acg-stage-card--main img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 28px 32px rgba(2,32,65,.30));
}

.acg-float-card{
  position:absolute;
  width:180px;
  min-height:150px;
  border-radius:24px;
  background:#fff;
  padding:16px;
  box-sizing:border-box;
  box-shadow:0 24px 60px rgba(0,0,0,.26);
  display:grid;
  gap:8px;
  align-content:center;
  justify-items:center;
}

.acg-float-card img{
  width:100%;
  height:92px;
  object-fit:contain;
}

.acg-float-card span{
  color:var(--acg-navy);
  font-size:12px;
  font-weight:950;
}

.acg-float-card--top{
  left:0;
  top:12%;
}

.acg-float-card--bottom{
  right:0;
  bottom:8%;
}

.acg-stats{
  background:#fff;
  border-bottom:1px solid var(--acg-border);
}

.acg-stats__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}

.acg-stats__grid div{
  min-height:94px;
  padding:18px;
  border-left:1px solid var(--acg-border);
  display:grid;
  align-content:center;
  gap:4px;
}

.acg-stats__grid b{
  color:var(--acg-primary);
  font-size:20px;
  font-weight:1000;
}

.acg-stats__grid span{
  color:var(--acg-dark);
  font-size:13px;
  font-weight:850;
}

.acg-split{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:64px;
  align-items:start;
}

.acg-tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}

.acg-tags span{
  padding:9px 13px;
  border-radius:999px;
  background:#eef5fc;
  color:var(--acg-primary);
  font-size:13px;
  font-weight:850;
}

.acg-products-section{
  background:#f7f9fb;
}

.acg-product-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}

.acg-product-card{
  background:#fff;
  border:1px solid var(--acg-border);
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 16px 44px rgba(2,32,65,.06);
  transition:.25s ease;
}

.acg-product-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--acg-shadow);
}

.acg-product-card__image{
  height:260px;
  background:
    linear-gradient(90deg,rgba(2,32,65,.04) 1px,transparent 1px),
    linear-gradient(0deg,rgba(2,32,65,.035) 1px,transparent 1px),
    linear-gradient(145deg,#f4f7fb,#fff);
  background-size:38px 38px,38px 38px,auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.acg-product-card__image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.acg-product-card__body{
  padding:24px;
}

.acg-product-card h3{
  margin:0;
  color:var(--acg-navy);
  font-size:18px;
  font-weight:1000;
}

.acg-product-card p{
  min-height:68px;
  margin:12px 0 16px;
  color:#5d6876;
  line-height:1.9;
}

.acg-product-card a{
  color:var(--acg-primary);
  text-decoration:none;
  font-weight:950;
  display:inline-flex;
  gap:8px;
  align-items:center;
}

.acg-benefit-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.acg-benefit{
  background:#fff;
  border:1px solid var(--acg-border);
  border-radius:26px;
  padding:28px;
  box-shadow:0 14px 42px rgba(2,32,65,.045);
  transition:.22s ease;
}

.acg-benefit:hover{
  transform:translateY(-5px);
  box-shadow:var(--acg-shadow);
}

.acg-benefit i{
  width:50px;
  height:50px;
  border-radius:17px;
  display:grid;
  place-items:center;
  background:#eef5fc;
  color:var(--acg-primary);
  font-size:20px;
  margin-bottom:16px;
}

.acg-benefit h3{
  margin:0;
  color:var(--acg-navy);
  font-size:17px;
  font-weight:1000;
}

.acg-benefit p{
  margin:10px 0 0;
  color:#5f6c7a;
  line-height:1.9;
}

.acg-industries{
  background:#f7f9fb;
}

.acg-industries__grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:60px;
  align-items:center;
}

.acg-industry-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}

.acg-industry-list span{
  min-height:58px;
  border-radius:17px;
  background:#fff;
  border:1px solid var(--acg-border);
  padding:0 16px;
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--acg-dark);
  font-weight:850;
  box-shadow:0 12px 36px rgba(2,32,65,.045);
}

.acg-industry-list i{
  color:var(--acg-primary);
}

.acg-dark-section{
  padding:clamp(74px,7vw,122px) 0;
  background:#fff;
}

.acg-dark-box{
  border-radius:36px;
  padding:clamp(36px,4.5vw,68px);
  background:
    radial-gradient(circle at 15% 20%,rgba(12,83,165,.55),transparent 26%),
    linear-gradient(135deg,var(--acg-navy),#063363 58%,var(--acg-primary));
  color:#fff;
  display:grid;
  grid-template-columns:1fr auto;
  gap:34px;
  align-items:center;
  overflow:hidden;
}

.acg-dark-box h2,
.acg-dark-box p{
  color:#fff;
}

.acg-codes{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
  max-width:520px;
}

.acg-codes span{
  min-height:44px;
  padding:0 16px;
  border-radius:999px;
  display:flex;
  align-items:center;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-weight:900;
}

.acg-clients{
  background:#f7f9fb;
}

.acg-marquee{
  overflow:hidden;
  border:1px solid var(--acg-border);
  border-radius:28px;
  background:#fff;
  padding:18px 0;
  box-shadow:0 16px 44px rgba(2,32,65,.045);
}

.acg-track{
  display:flex;
  gap:16px;
  width:max-content;
  animation:acgMarquee 45s linear infinite;
}

.acg-marquee:hover .acg-track{
  animation-play-state:paused;
}

.acg-logo-box{
  width:154px;
  height:88px;
  border-radius:17px;
  border:1px solid #eef2f6;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  padding:12px;
  flex:0 0 auto;
}

.acg-logo-box img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  filter:grayscale(1);
  opacity:.78;
  transition:.22s ease;
}

.acg-logo-box:hover img{
  filter:grayscale(0);
  opacity:1;
}

@keyframes acgMarquee{
  from{transform:translateX(0)}
  to{transform:translateX(50%)}
}

.acg-rfq{
  display:grid;
  grid-template-columns:.86fr 1.14fr;
  gap:46px;
  align-items:start;
}

.acg-form{
  background:#fff;
  border:1px solid var(--acg-border);
  border-radius:30px;
  padding:26px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  box-shadow:var(--acg-shadow);
}

.acg-form input,
.acg-form select,
.acg-form textarea{
  width:100%;
  min-height:52px;
  border:1px solid var(--acg-border);
  border-radius:15px;
  padding:0 14px;
  font-family:inherit;
  box-sizing:border-box;
  outline:none;
  background:#f8fafc;
}

.acg-form textarea{
  grid-column:1/-1;
  min-height:118px;
  padding-top:14px;
  resize:vertical;
}

.acg-form button{
  grid-column:1/-1;
  min-height:54px;
  border:0;
  border-radius:15px;
  background:var(--acg-primary);
  color:#fff;
  font-family:inherit;
  font-weight:950;
  cursor:pointer;
}

.acg-final{
  padding:clamp(74px,7vw,122px) 0;
  background:#fff;
}

.acg-final__box{
  border-radius:36px;
  padding:clamp(40px,5vw,78px);
  background:
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(0deg,rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(135deg,var(--acg-navy),var(--acg-primary));
  background-size:54px 54px,54px 54px,auto;
  color:#fff;
  text-align:center;
  box-shadow:var(--acg-shadow);
}

.acg-final__box h2,
.acg-final__box p{
  color:#fff;
}

.acg-final__box span{
  color:#d8ecff;
  font-weight:1000;
}

.acg-final__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin-top:28px;
}

@media(max-width:1120px){
  .acg-hero__inner,
  .acg-split,
  .acg-industries__grid,
  .acg-dark-box,
  .acg-rfq{
    grid-template-columns:1fr;
  }

  .acg-hero{
    min-height:auto;
  }

  .acg-hero__stage{
    min-height:500px;
  }

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

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

  .acg-codes{
    justify-content:flex-start;
  }
}

@media(max-width:720px){
  .acg-shell{
    padding-inline:16px;
  }

  .acg-section{
    padding:60px 0;
  }

  .acg-hero__inner{
    padding-block:56px;
  }

  .acg-hero h1{
    font-size:36px;
  }

  .acg-hero__actions,
  .acg-final__actions{
    display:grid;
  }

  .acg-btn{
    width:100%;
  }

  .acg-hero__stage{
    min-height:380px;
  }

  .acg-stage-card--main{
    width:92%;
    height:72%;
    right:4%;
    padding:24px;
    border-radius:30px;
  }

  .acg-float-card{
    display:none;
  }

  .acg-stats__grid{
    grid-template-columns:1fr 1fr;
  }

  .acg-product-grid,
  .acg-benefit-grid,
  .acg-industry-list,
  .acg-form{
    grid-template-columns:1fr;
  }

  .acg-logo-box{
    width:128px;
    height:78px;
  }
}

/* Clients logo carousel fix */
.acg-clients .acg-shell{
  max-width:none !important;
  width:100% !important;
  padding-inline:0 !important;
}

.acg-clients .acg-head{
  padding-inline:clamp(18px,4vw,72px);
}

.acg-marquee{
  width:100% !important;
  border-radius:0 !important;
  border-left:0 !important;
  border-right:0 !important;
}

.acg-logo-box img{
  filter:none !important;
  opacity:1 !important;
}

.acg-logo-box:hover img{
  filter:none !important;
  opacity:1 !important;
}
