.ctm-front {
  --ctm-bg-image: none;
  --ctm-overlay-image: none;
  --ctm-overlay-opacity: 0.18;
  --ctm-btn-hover-text: #ffffff;
  --ctm-image-ratio: 16/9;
  color: var(--ctm-text);
  font-family: 'Montserrat', sans-serif;
}

.ctm {
  position: relative;
  background-color: var(--ctm-bg);
  background-image: var(--ctm-bg-image);
  background-repeat: repeat;
  padding: clamp(28px, 4vw, 64px) 0;
}

.ctm::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--ctm-overlay-image);
  background-repeat: repeat;
  opacity: var(--ctm-overlay-opacity);
  pointer-events: none;
}

.ctm-inner {
  position: relative;
  z-index: 1;
  width: var(--ctm-inner-width, 1200px);
  max-width: 100%;
  margin: 0 auto;
}

.ctm-images {
	display: grid;
	gap: clamp(10px, 1.5vw, 18px);
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	padding: 0 30px;
}
.ctm-fig {
  margin: 0;
  aspect-ratio: var(--ctm-image-ratio);
  overflow: hidden;
  border-radius: var(--ctm-radius);
}

.ctm-fig img {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 0;
  object-fit: cover;
}

.ctm-text {
	margin-top: clamp(18px, 2.2vw, 30px);
	padding: 30px;
}
.ctm-title {
  margin: 0 0 6px;
  color: #e8d52f;
  text-transform: uppercase;
  font-weight: 800;
  line-height: 1.1;
}

.ctm-subtitle {
  margin: 0 0 8px;
  color: var(--ctm-text);
  font-weight: 700;
  line-height: 1.2;
}

.ctm-copy,
.ctm-copy p,
.ctm-copy li {
  color: var(--ctm-text);

}

.ctm-copy h2,
.ctm-copy h3,
.ctm-copy h4 {
  color: #e8d52f !important;
  text-transform: uppercase;
  font-weight: 800;
  margin: 0 0 10px;
  line-height: 1.1;
}

.ctm-btn-wrap {
  margin-top: clamp(16px, 2.2vw, 26px);
  display: flex;
  justify-content: center;
}

.ctm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: clamp(220px, 36vw, 560px);
  padding: clamp(12px, 1.2vw, 20px) clamp(20px, 2vw, 34px);
  border-radius: 10px;
  text-decoration: none;
  background: var(--ctm-btn);
  color: #ffffff;
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: 0.02em;
  transition: background .2s ease;
}

.ctm-btn:hover,
.ctm-btn:focus {
  background: var(--ctm-btn-hover);
  color: var(--ctm-btn-hover-text);
}
