/* Local readability and responsive refinements. Original theme remains intact. */
:root { --conen-pink: #b51c48; --conen-purple: #783080; }
.gradient-btn,
.pricing-section .single-price.active,
.about-section .services-section .card:after {
  background-image: linear-gradient(100deg, #b51c48 0%, #783080 100%);
}
.banner-section .img-section .text-section .heading span,
.team-section .row-2 .team-col .text-column .subheading,
.testimonial-section .testimonial-carousel .owl-item .heading,
.pricing-section .single-price:not(.active) .price-tag .heading .gradient {
  background-image: linear-gradient(100deg, #b51c48, #783080);
}
.team-section .row-1 .heading span, .pink-color { color: #b51c48; }
.btn.btn-hvr-pink:hover { background-color: #b51c48; border-color: #b51c48; }
.about-section .services-section .card .card-body .text,
.pricing-section .single-price .price-para .text { font-weight: 400; }
footer .text { color: #595959; }
.contact-form .form-control::placeholder { color: #626262; opacity: 1; }
.form-section .contact-form .form-control:focus { border-color: #783080; }
a:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 2px solid #783080; outline-offset: 5px;
}
/* The scrim follows the text on the left; the sunlit room stays bright on the right. */
.contact-section {
  position: relative;
  height: auto;
  min-height: 620px;
  background-position: center;
}
.contact-section::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(22,18,23,.72) 0%, rgba(22,18,23,.60) 42%, rgba(22,18,23,.12) 72%, transparent 100%);
  pointer-events: none;
}
.contact-section .container { position: relative; }
.contact-section .text-section { max-width: 560px; }
.contact-section .text-section .heading {
  background: none; -webkit-text-fill-color: #fff; color: #fff;
}
.contact-section .text-section .subheading,
.contact-section .text-section .contact-list li { color: #fff; }
.contact-section .contact-list { padding-left: 0; line-height: 1.8; }
.pricing-section .single-price { width: 100%; }
.pricing-section .single-price .price-tag .heading .gradient { font-size: clamp(36px, 3.3vw, 48px); white-space: nowrap; }
.pricing-section .single-price .price-tag .heading > span:last-child { display: block; margin-top: 8px; }
.about-section .img-section img, .blog-section .img-column img { width: 100%; height: auto; }
.about-section .services-section .card { box-shadow: 0 5px 24px rgba(40,20,35,.08); border: 1px solid #eee8ed; }
@media (max-width: 992px) {
  .heading { overflow-wrap: normal; word-break: normal; }
  .about-section .services-section .heading { font-size: clamp(27px, 6.8vw, 38px); }
  .contact-section { min-height: 0; background-position: 60% center; }
  .contact-section::before { background: linear-gradient(90deg, rgba(22,18,23,.72), rgba(22,18,23,.62)); }
  .contact-section .text-section { max-width: 560px; margin: auto; }
  .contact-section .text-column { padding: 80px 16px; }
  .contact-section .text-section .heading { font-size: clamp(28px, 7vw, 38px); }
  .pricing-section .single-price .price-tag .heading .gradient { font-size: 44px; }
}

/* Keep hover captions opaque enough for readable small white text. */
.work-section .cbp-l-grid-mosaic-flat .cbp-caption-activeWrap:hover { background-color: #64266d; opacity: 1; }
.social-icons .hover:hover { background: linear-gradient(100deg, #b51c48, #783080); }
