#ap-aggregate, #ap-aggregate *, #ap-aggregate *::before, #ap-aggregate *::after{
  box-sizing: border-box;
}#ap-aggregate{
  width: 100%;
  font-family: Arial, Helvetica, sans-serif;
  color: #23303a;
  background: #f3f7f7;
  line-height: 1.55;
  overflow-x: clip;
}#ap-aggregate .ap-page{
  width: 100%;
  margin: 0 auto;
}#ap-aggregate .ap-section{
  padding: 68px 0;
}#ap-aggregate .ap-container{
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}#ap-aggregate .ap-section-white{
  background: #ffffff;
}#ap-aggregate .ap-section-tint{
  background: #f2f6f6;
}/* Hero */
#ap-aggregate .ap-hero-section{
  background: linear-gradient(130deg, #123a42, #0e2b35 55%, #175a5a);
  color: #ffffff;
  padding: 76px 0 80px;
}#ap-aggregate .ap-hero-layout{
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, 0.88fr);
  gap: 52px;
  align-items: center;
}#ap-aggregate .ap-eyebrow{
  margin: 0 0 12px;
  color: #8bd8dc;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  line-height: 1.4;
}#ap-aggregate .ap-hero-title{
  margin: 0 0 18px;
  font-size: clamp(34px, 4vw, 50px);
  line-height: 1.28;
  font-weight: 700;
  letter-spacing: -0.015em;
}#ap-aggregate .ap-hero-intro{
  margin: 0 0 24px;
  max-width: 640px;
  color: #e3eff0;
  font-size: 17px;
  line-height: 1.65;
}#ap-aggregate .ap-hero-intro a{
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 3px;
}#ap-aggregate .ap-hero-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}#ap-aggregate .ap-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 24px;
  border-radius: 6px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}#ap-aggregate .ap-btn-primary{
  background: #f5b14c;
  color: #15313a;
  border: 1px solid #f5b14c;
}#ap-aggregate .ap-btn-outline{
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.75);
}#ap-aggregate .ap-btn:hover{
  opacity: 0.92;
}#ap-aggregate .ap-hero-media{
  min-width: 0;
}#ap-aggregate .ap-hero-frame{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 280px;
  margin: 0;
  padding: 18px;
  background: rgba(255, 255, 255, 0.96);
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.16);
}#ap-aggregate .ap-hero-img{
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 460px;
  height: auto;
  object-fit: contain;
}#ap-aggregate .ap-section-subtitle{
  margin: 30px 0 12px;
  font-size: 20px;
  line-height: 1.3;
  color: #1b3942;
}#ap-aggregate .ap-section-lead, #ap-aggregate .ap-text{
  margin: 0 0 16px;
  color: #46545d;
  line-height: 1.7;
}#ap-aggregate .ap-section-lead{
  margin-bottom: 26px;
  font-size: 16px;
}/* Overview features */
#ap-aggregate .ap-feature-list{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}#ap-aggregate .ap-feature-item{
  min-width: 0;
  padding: 20px;
  background: #f8fbfa;
  border: 1px solid #e1e9e9;
  border-top: 3px solid #168c8d;
  border-radius: 10px;
}#ap-aggregate .ap-feature-item strong{
  display: block;
  margin-bottom: 7px;
  font-size: 16px;
  color: #14333d;
  line-height: 1.3;
}#ap-aggregate .ap-feature-item span{
  display: block;
  font-size: 14px;
  color: #4b616b;
  line-height: 1.55;
}/* Split feature module with product image */
#ap-aggregate .ap-feature-layout{
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, 0.95fr);
  gap: 48px;
  align-items: center;
}#ap-aggregate .ap-media-frame{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 280px;
  margin: 0;
  padding: 16px;
  background: #ffffff;
  border: 1px solid #dfe8e9;
  border-radius: 14px;
}#ap-aggregate .ap-media-img{
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 420px;
  height: auto;
  object-fit: contain;
}/* Tables */
#ap-aggregate .ap-table-scroll{
  overflow-x: auto;
  border: 1px solid #e1e8eb;
  border-radius: 12px;
  background: #ffffff;
  margin-bottom: 22px;
}#ap-aggregate .ap-table{
  width: 100%;
  border-collapse: collapse;
  background: #ffffff;
}#ap-aggregate .ap-table .ap-cell{
  padding: 12px 14px;
  border-bottom: 1px solid #e8edf0;
  border-right: 1px solid #f2f5f5;
  text-align: left;
  vertical-align: top;
  color: #263b46;
  font-size: 14px;
  min-width: 0;
}#ap-aggregate .ap-table .ap-cell:last-child{
  border-right: 0;
}#ap-aggregate .ap-table-head .ap-cell{
  background: #163941;
  color: #ffffff;
  font-weight: 700;
}#ap-aggregate .ap-table-row:last-child .ap-cell{
  border-bottom: 0;
}#ap-aggregate .ap-table-note{
  margin: -8px 0 0;
  color: #556873;
  font-size: 14px;
}/* Product matrix */
#ap-aggregate .ap-product-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}#ap-aggregate .ap-product-card{
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #ffffff;
  border: 1px solid #e1e8ea;
  border-radius: 12px;
  overflow: hidden;
}#ap-aggregate .ap-product-link{
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 4 / 3;
  padding: 18px;
  background: #ffffff;
  text-decoration: none;
}#ap-aggregate .ap-card-img{
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 100%;
  height: auto;
  object-fit: contain;
}#ap-aggregate .ap-card-title{
  margin: 0 0 12px;
  font-size: 17px;
  line-height: 1.35;
  font-weight: 700;
}#ap-aggregate .ap-card-title a{
  color: #19343e;
  text-decoration: none;
}

/* Responsive */
@media (max-width: 900px) {#ap-aggregate .ap-hero-layout, #ap-aggregate .ap-feature-layout{
    grid-template-columns: minmax(0, 1fr);
  }#ap-aggregate .ap-hero-section{
    padding: 56px 0;
  }#ap-aggregate .ap-feature-list, #ap-aggregate .ap-product-grid{
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 620px) {#ap-aggregate .ap-section{
    padding: 48px 0;
  }#ap-aggregate .ap-hero-actions{
    flex-direction: column;
  }#ap-aggregate .ap-btn{
    width: 100%;
  }
}
