/* Breather CTA Section */
.cta-breather {
  background: linear-gradient(135deg, #0f172a, #1e3a8a 55%, #2563eb);
  color: #fff;
  margin: 60px auto;          /* spacing above and below */
  padding: 60px 6vw 0;
  border-radius: 14px;
  box-shadow: 0 8px 28px rgba(0,0,0,0.25);
  max-width: 1200px;          /* keeps it banner-like */
}

/* Flex wrapper */
.cta-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 40px;
}

/* Text column */
.cta-text {
  flex: 1 1 400px;
}

.cta-text h2 {
  font-size: clamp(2rem, 4.5vw, 2.6rem);
  margin-bottom: 12px;
}

.cta-text p {
  font-size: 1.1rem;
  margin-bottom: 22px;
  line-height: 1.5;
}

/* Buttons */
.cta-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.cta-actions .btn {
  padding: 14px 28px;
  font-size: 1.05rem;
  font-weight: 600;
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.2s ease;
}

.btn-light {
  background: #fff;
  color: #1e3a8a;
}

.btn-light:hover {
  background: #e2e8f0;
}

.btn-outline {
  border: 2px solid #fff;
  color: #fff;
  background: transparent;
}

.btn-outline:hover {
  background: rgba(255,255,255,0.1);
}

/* Image column */
.cta-visual {
  flex: 1 1 320px;
  text-align: center;
}

.cta-visual img {
  max-width: 100%;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.3);
}

/* Ribbon tweak */
.cta-ribbon {
  margin-top: 40px;
  background: rgba(255,255,255,0.1);
  border-top: 1px solid rgba(255,255,255,0.2);
  padding: 18px 6vw;
  border-radius: 0 0 14px 14px; /* blends with top radius */
  text-align: center;
  font-size: 0.95rem;
}
