/* Generated from styles.css by tools/split-css.mjs. */
.home-hero .hero-media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.home-hero .hero-media::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(25,67,80,0.9), rgba(25,67,80,0.46), rgba(25,67,80,0.72));
}
.product-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
}
.products-section{
  position: relative;
  width: 100%;
  padding: 92px max(48px, calc((100vw - 1340px) / 2)) 108px;
  overflow: hidden;
  background:
    linear-gradient(125deg, rgba(89, 201, 165, 0.2) 0 18%, transparent 18.2%),
    linear-gradient(160deg, transparent 0 70%, rgba(0, 121, 145, 0.16) 70.2%),
    radial-gradient(circle at 12% 82%, rgba(0, 121, 145, 0.18), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f4f8f7 100%);
}
.products-section::before,
.products-section::after{
  content: "";
  position: absolute;
  pointer-events: none;
}
.products-section::before{
  inset: 0;
  opacity: 0.38;
  background:
    linear-gradient(90deg, transparent 0 66%, rgba(0, 121, 145, 0.18) 66.1% 66.3%, transparent 66.4%),
    linear-gradient(0deg, transparent 0 76%, rgba(0, 121, 145, 0.16) 76.1% 76.3%, transparent 76.4%),
    repeating-linear-gradient(45deg, transparent 0 58px, rgba(0, 121, 145, 0.16) 59px 60px, transparent 61px 118px);
  mask-image: linear-gradient(115deg, transparent 0 44%, #000 56% 100%);
}
.products-section::after{
  left: -8%;
  right: -8%;
  bottom: -96px;
  height: 240px;
  background:
    linear-gradient(155deg, rgba(0, 121, 145, 0.58), rgba(89, 201, 165, 0.2)),
    linear-gradient(15deg, transparent 0 35%, rgba(255,255,255,0.7) 35.4% 50%, transparent 50.4%);
  clip-path: polygon(0 35%, 28% 56%, 55% 31%, 75% 46%, 100% 25%, 100% 100%, 0 100%);
}
.products-shell{
  position: relative;
  z-index: 1;
  width: min(1300px, 100%);
  margin: 0 auto;
}
.products-section .section-heading{
  margin-bottom: 34px;
}
.product-card{
  border: 1px solid var(--line);
  background: var(--white);
  box-shadow: 0 10px 35px rgba(25, 67, 80, 0.06);
}
.product-card{
  position: relative;
  min-height: 512px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 14px 14px 28px;
  overflow: hidden;
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.92), rgba(255,255,255,0.74)),
    var(--white);
  backdrop-filter: blur(14px);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.product-card::before{
  content: "";
  position: absolute;
  top: 0;
  left: 28px;
  width: 92px;
  height: 4px;
  border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 0 18px rgba(89, 201, 165, 0.42);
}
.product-card:hover{
  transform: translateY(-4px);
  border-color: rgba(89, 201, 165, 0.7);
  box-shadow: 0 22px 52px rgba(25, 67, 80, 0.12);
}
.product-graphic{
  display: grid;
  place-items: center;
  height: 214px;
  padding: 0;
  overflow: hidden;
  border-radius: 8px;
  background: var(--secondary);
}
.product-graphic img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.product-card:first-child .product-graphic img{
  object-fit: cover;
  object-position: center;
}
.product-card:nth-child(n + 2) .product-graphic img{ object-fit: cover; }
.graphic-pattern{
  background:
    radial-gradient(circle at 70% 42%, rgba(89, 201, 165, 0.7), transparent 2px),
    radial-gradient(circle at 24% 58%, rgba(255,255,255,0.8), transparent 2px),
    linear-gradient(135deg, rgba(0,121,145,0.35), rgba(89,201,165,0.12)),
    repeating-linear-gradient(90deg, rgba(89,201,165,0.24) 0 1px, transparent 1px 22px),
    var(--secondary);
}
.product-card div:not(.product-graphic){ padding: 0; }
.product-card div:not(.product-graphic){
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 0 18px;
}
.product-card span{ color: var(--teal); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.product-card span{
  color: var(--accent);
  letter-spacing: 0.14em;
  line-height: 1.55;
}
.product-card p{ color: var(--muted); }
.product-card h3{
  margin: 18px 0 14px;
  color: var(--secondary);
  font-size: clamp(25px, 2vw, 32px);
  line-height: 1.08;
}
.product-card strong{
  display: inline-block;
  margin-top: auto;
  color: var(--teal);
  font-size: 16px;
}
.split-feature{
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  min-height: 620px;
}
.dark-band{ background: var(--deep); color: var(--white); }
.feature-visual{
  min-height: 460px;
  background:
    linear-gradient(0deg, rgba(25,67,80,0.2), rgba(25,67,80,0.2)),
    url("assets/brand-positioning-pcb.webp") center / cover no-repeat;
}
.feature-copy{ align-self: center; padding: 72px; }
.feature-copy p:not(.eyebrow){ color: rgba(255,255,255,0.72); }
.contact-cta{
  position: relative;
  justify-items: start;
  text-align: left;
  min-height: 420px;
  padding-left: max(24px, calc((100vw - 1180px) / 2));
  padding-right: max(24px, calc((100vw - 1180px) / 2));
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(25,67,80,0.86) 0%, rgba(25,67,80,0.7) 38%, rgba(25,67,80,0.06) 66%),
    url("assets/get-in-touch-call.webp") center right / cover no-repeat;
}
.contact-cta h2,
.contact-cta p,
.contact-cta .button{
  position: relative;
  max-width: 560px;
}
@media (max-width: 900px){
.products-section{ padding: 76px 24px 92px; }
.product-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.split-feature{ grid-template-columns: 1fr; }
.feature-copy{ padding: 42px 24px; }
}
@media (max-width: 700px){
.products-section{
    width: 100%;
    padding: 68px 16px 84px;
  }
.products-section .section-heading{
    max-width: none;
  }
.product-card{ min-height: auto; }
.product-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 700px){
.feature-visual{
    background:
      linear-gradient(0deg, rgba(25,67,80,0.2), rgba(25,67,80,0.2)),
      url("assets/brand-positioning-pcb-768.webp") center / cover no-repeat;
  }
.contact-cta{
    background:
      linear-gradient(90deg, rgba(25,67,80,0.86) 0%, rgba(25,67,80,0.7) 38%, rgba(25,67,80,0.06) 66%),
      url("assets/get-in-touch-call-768.webp") center right / cover no-repeat;
  }
}
@media (min-width: 701px) and (max-width: 1200px){
.feature-visual{
    background:
      linear-gradient(0deg, rgba(25,67,80,0.2), rgba(25,67,80,0.2)),
      url("assets/brand-positioning-pcb-1280.webp") center / cover no-repeat;
  }
.contact-cta{
    background:
      linear-gradient(90deg, rgba(25,67,80,0.86) 0%, rgba(25,67,80,0.7) 38%, rgba(25,67,80,0.06) 66%),
      url("assets/get-in-touch-call-1280.webp") center right / cover no-repeat;
  }
}
@media (min-width: 1201px) and (max-width: 1800px){
.feature-visual{
    background:
      linear-gradient(0deg, rgba(25,67,80,0.2), rgba(25,67,80,0.2)),
      url("assets/brand-positioning-pcb-1920.webp") center / cover no-repeat;
  }
.contact-cta{
    background:
      linear-gradient(90deg, rgba(25,67,80,0.86) 0%, rgba(25,67,80,0.7) 38%, rgba(25,67,80,0.06) 66%),
      url("assets/get-in-touch-call-1920.webp") center right / cover no-repeat;
  }
}
@media (min-width: 1801px){
.feature-visual{
    background:
      linear-gradient(0deg, rgba(25,67,80,0.2), rgba(25,67,80,0.2)),
      url("assets/brand-positioning-pcb-2400.webp") center / cover no-repeat;
  }
.contact-cta{
    background:
      linear-gradient(90deg, rgba(25,67,80,0.86) 0%, rgba(25,67,80,0.7) 38%, rgba(25,67,80,0.06) 66%),
      url("assets/get-in-touch-call-2400.webp") center right / cover no-repeat;
  }
}
