.cvl-testimonials-pattern {
  --cvltest-navy: #082d50;
  --cvltest-gold: #dda83f;
  --cvltest-cream: #fbf3e3;
  --cvltest-background: #fffdfc;
  --cvltest-heading-font: "Playfair Display", Georgia, serif;
  --cvltest-body-font: Inter, Arial, sans-serif;
  --cvltest-heading-weight: 600;
  --cvltest-title-size: 64px;
  --cvltest-section-title-size: 34px;
  --cvltest-body-size: 20px;
  --cvltest-content-width: 900px;
  --cvltest-min-height: 635px;
  --cvltest-top-padding: 68px;
  --cvltest-bottom-padding: 112px;
  --cvltest-button-radius: 8px;
  position: relative;
  z-index: 0;
  max-width: none;
  margin-top: 0;
  margin-bottom: 0;
  color: var(--cvltest-navy);
  background: var(--cvltest-background);
  font-family: var(--cvltest-body-font);
  box-sizing: border-box;
  overflow: hidden;
}

.cvl-testimonials-pattern.alignfull {
  left: 50%;
  width: 100vw;
  max-width: none !important;
  margin-right: -50vw !important;
  margin-left: -50vw !important;
}

.cvl-testimonials-pattern *,
.cvl-testimonials-pattern *::before,
.cvl-testimonials-pattern *::after { box-sizing: border-box; }

.cvl-testimonials-pattern p,
.cvl-testimonials-pattern h1,
.cvl-testimonials-pattern h2,
.cvl-testimonials-pattern hr,
.cvl-testimonials-pattern .wp-block-group { margin-top: 0; margin-bottom: 0; }

/* Compatibility with themes that insert legacy Group inner wrappers. */
.cvl-testimonials-pattern .cvltest-stage > .wp-block-group__inner-container,
.cvl-testimonials-pattern .cvltest-content > .wp-block-group__inner-container,
.cvl-testimonials-pattern .cvltest-divider > .wp-block-group__inner-container,
.cvl-testimonials-pattern .cvltest-buttons > .wp-block-group__inner-container { display: contents; }

.cvltest-stage {
  position: relative;
  min-height: var(--cvltest-min-height);
  padding: var(--cvltest-top-padding) 24px var(--cvltest-bottom-padding);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 50% 26%, rgba(255,255,255,.98), rgba(255,253,250,.72) 58%, rgba(250,246,239,.42) 100%),
    var(--cvltest-background);
}

/* Soft curved cream finish from the approved design. */
.cvltest-stage::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 84px;
  background: linear-gradient(90deg, #f8eedc, var(--cvltest-cream) 50%, #f8eedc);
}

.cvltest-stage::before {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 18px;
  left: -10%;
  width: 120%;
  height: 126px;
  background: var(--cvltest-background);
  clip-path: ellipse(63% 100% at 50% 0%);
}

.cvltest-content {
  position: relative;
  z-index: 2;
  width: min(var(--cvltest-content-width), calc(100% - 24px));
  margin-inline: auto;
  text-align: center;
}

.cvltest-quote-mark {
  position: absolute;
  z-index: -1;
  top: -58px;
  left: 36px;
  margin: 0;
  color: color-mix(in srgb, var(--cvltest-gold) 23%, transparent);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 180px;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
  user-select: none;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
  .cvltest-quote-mark { color: rgba(221, 168, 63, .2); }
}

.cvltest-eyebrow {
  position: relative;
  z-index: 1;
  margin: 0 0 19px;
  color: var(--cvltest-gold);
  font-family: var(--cvltest-body-font);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.2;
  text-transform: uppercase;
}

.cvltest-main-title,
.cvltest-coming-title {
  color: var(--cvltest-navy);
  font-family: var(--cvltest-heading-font);
  font-weight: var(--cvltest-heading-weight);
}

.cvltest-main-title {
  margin: 0;
  font-size: var(--cvltest-title-size);
  letter-spacing: -.025em;
  line-height: 1.08;
}

.cvltest-divider {
  width: 188px;
  margin: 21px auto 22px !important;
  display: grid !important;
  grid-template-columns: 1fr 28px 1fr;
  align-items: center;
  gap: 10px;
}

.cvltest-divider-line,
.cvltest-short-rule {
  width: 100%;
  height: 1px;
  margin: 0;
  border: 0;
  background: var(--cvltest-gold);
  opacity: 1;
}

.cvltest-divider-heart {
  margin: 0;
  color: var(--cvltest-gold);
  font-family: Arial, sans-serif;
  font-size: 22px;
  line-height: 1;
}

.cvltest-intro {
  width: min(680px, 100%);
  margin: 0 auto;
  color: var(--cvltest-navy);
  font-family: var(--cvltest-body-font);
  font-size: var(--cvltest-body-size);
  font-weight: 400;
  line-height: 1.6;
}

.cvltest-short-rule {
  width: 62px;
  margin: 25px auto 31px;
}

.cvltest-coming-title {
  margin: 0 0 5px;
  font-size: var(--cvltest-section-title-size);
  letter-spacing: -.015em;
  line-height: 1.18;
}

.cvltest-coming-copy {
  margin: 0 auto 35px;
  color: var(--cvltest-navy);
  font-family: var(--cvltest-body-font);
  font-size: 17px;
  line-height: 1.55;
}

.cvltest-buttons {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 30px;
}

.cvltest-button {
  --cvltest-btn-bg: #082d50;
  --cvltest-btn-text: #fff;
  --cvltest-btn-border: #082d50;
  --cvltest-btn-hover-bg: #dda83f;
  --cvltest-btn-hover-text: #fff;
  --cvltest-btn-radius: var(--cvltest-button-radius);
  --cvltest-btn-py: 17px;
  --cvltest-btn-px: 34px;
  --cvltest-btn-size: 18px;
  --cvltest-btn-font: Inter, Arial, sans-serif;
  --cvltest-btn-weight: 600;
  --cvltest-btn-min-width: 280px;
  min-width: var(--cvltest-btn-min-width);
  min-height: 64px;
  padding: var(--cvltest-btn-py) var(--cvltest-btn-px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  border: 2px solid var(--cvltest-btn-border);
  border-radius: var(--cvltest-btn-radius);
  color: var(--cvltest-btn-text) !important;
  background: var(--cvltest-btn-bg);
  box-shadow: 0 8px 18px rgba(8,45,80,.09);
  font-family: var(--cvltest-btn-font);
  font-size: var(--cvltest-btn-size);
  font-weight: var(--cvltest-btn-weight);
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  cursor: pointer;
  transition: transform .24s ease, color .24s ease, background-color .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.cvltest-button:hover,
.cvltest-button:focus-visible {
  color: var(--cvltest-btn-hover-text) !important;
  border-color: var(--cvltest-btn-hover-bg);
  background: var(--cvltest-btn-hover-bg);
  box-shadow: 0 15px 30px rgba(8,45,80,.18);
  transform: translateY(-3px);
  text-decoration: none !important;
}

.cvltest-button:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--cvltest-gold) 55%, white);
  outline-offset: 3px;
}

.cvltest-button-icon {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .24s ease;
}

.cvltest-button:hover .cvltest-button-icon,
.cvltest-button:focus-visible .cvltest-button-icon { transform: scale(1.09) translateX(1px); }

@media (max-width: 900px) {
  .cvltest-stage {
    min-height: max(var(--cvltest-min-height), 650px);
    padding-top: max(58px, var(--cvltest-top-padding));
  }
  .cvltest-quote-mark { top: -45px; left: 9%; font-size: 150px; }
  .cvltest-main-title { font-size: min(var(--cvltest-title-size), 54px); }
  .cvltest-intro { width: min(640px, 100%); }
  .cvltest-buttons { gap: 20px; }
  .cvltest-button { min-width: min(var(--cvltest-btn-min-width), 265px); }
}

@media (max-width: 640px) {
  .cvltest-stage {
    min-height: 0;
    padding: 48px 18px max(105px, var(--cvltest-bottom-padding));
  }
  .cvltest-stage::after { height: 68px; }
  .cvltest-stage::before { bottom: 13px; height: 98px; }
  .cvltest-content { width: 100%; }
  .cvltest-quote-mark { top: -32px; left: 0; font-size: 112px; }
  .cvltest-eyebrow { margin-bottom: 15px; font-size: 13px; }
  .cvltest-main-title { font-size: min(var(--cvltest-title-size), 41px); line-height: 1.1; }
  .cvltest-divider { width: 156px; margin: 18px auto 19px !important; }
  .cvltest-intro { font-size: min(var(--cvltest-body-size), 17px); line-height: 1.55; }
  .cvltest-short-rule { margin: 23px auto 25px; }
  .cvltest-coming-title { font-size: min(var(--cvltest-section-title-size), 29px); }
  .cvltest-coming-copy { margin-bottom: 27px; font-size: 15px; }
  .cvltest-buttons { width: 100%; display: grid !important; gap: 14px; }
  .cvltest-button.cvltest-full-mobile { width: 100%; min-width: 0; }
  .cvltest-button { min-height: 58px; }
}

@media (prefers-reduced-motion: reduce) {
  .cvl-testimonials-pattern *,
  .cvl-testimonials-pattern *::before,
  .cvl-testimonials-pattern *::after { transition-duration: .01ms !important; }
}
