.ctg-landing {
  font-family: inherit;
  color: #12332f;
}

.ctg-hero.laminated {
  background-image: linear-gradient(rgba(0, 80, 65, 0.55), rgba(0, 80, 65, 0.55)), url('https://images.openai.com/static-rsc-4/qxcYD_Jpj_0voDqT5gTQfyZd_Aj3LqjC_YOdrlBtexQH_D_E7_l53M5WkV6kFKiVQdC7efocGNzUHUstqUD-JI4OazZkMearUC97Nnh4ovrbpVhvhuxBEW3xPQT6glSHjlbFFUqv4FgSz7_2pB8ZbUeoN51BiA6nFz2YHASTiDd901Bm7HwiZKcnfkQZRxID?purpose=fullsize');
  background-size: cover;
  background-position: center;
  min-height: 620px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ctg-overlay {
  text-align: center;
  color: #fff;
  max-width: 950px;
  padding: 24px;
}

.ctg-overlay h1 {
  font-size: clamp(38px, 6vw, 72px);
  line-height: 1.1;
  margin-bottom: 18px;
  font-weight: 800;
  text-shadow: 0 4px 20px rgba(0,0,0,0.4);
}

.ctg-overlay p {
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.6;
  margin-bottom: 30px;
}

.ctg-btn {
  display: inline-block;
  background: #ff7a45;
  color: #fff;
  padding: 15px 32px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.ctg-section {
  padding: 80px 24px;
  max-width: 1120px;
  margin: 0 auto;
}

.ctg-section h2,
.ctg-cta h2 {
  font-size: clamp(30px, 4vw, 46px);
  text-align: center;
  margin-bottom: 24px;
  color: #006b5b;
}

.ctg-section p {
  font-size: 18px;
  line-height: 1.8;
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}

.ctg-light {
  background: #f4fbf8;
  max-width: none;
}

.ctg-light > h2,
.ctg-light > p,
.ctg-light > .ctg-grid {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}

.ctg-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 36px;
}

.ctg-card {
  background: #fff;
  padding: 28px;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  font-size: 18px;
  line-height: 1.6;
  text-align: center;
  border-top: 4px solid #006b5b;
}

.ctg-spec {
  background: #f7f7f7;
  padding: 34px;
  border-radius: 14px;
  max-width: 900px;
  margin: 0 auto;
}

.ctg-spec p {
  text-align: left;
  margin-bottom: 12px;
}

.ctg-section a {
  color: #006b5b;
  font-weight: 700;
}

.ctg-cta {
  background: #006b5b;
  color: #fff;
  text-align: center;
  padding: 90px 24px;
}

.ctg-cta h2 {
  color: #fff;
}

.ctg-cta p {
  font-size: 20px;
  margin-bottom: 30px;
}

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

  .ctg-hero.laminated {
    min-height: 520px;
  }

  .ctg-section {
    padding: 60px 18px;
  }
}