/* Local contrast and editorial refinements; original theme and motion retained. */
:root { --conen-teal: #007873; --conen-rose: #a63451; }
.navbar.navbar-top-default,
.header-appear .navbar-top-default { background-color: #1b1d1f; }
.navbar .navbar-nav .nav-link { color: #fff; }
.btn.blue-btn { background: var(--conen-teal); border-color: var(--conen-teal); }
.btn.btn-hvr-pink:hover, .btn.btn-hvr-pink:focus-visible {
  background: var(--conen-rose); border-color: var(--conen-rose); color: #fff;
}
.cbp-l-filters-alignCenter .cbp-filter-item.cbp-filter-item-active {
  background: var(--conen-teal); border-color: var(--conen-teal); color: #fff;
}
.reviews-section .reviews-carousel .reviews .subheading { color: var(--conen-rose); font-weight: 500; }
.reviews-section .reviews-carousel .item.active .subheading { color: var(--conen-teal); }
.reviews-section .reviews-carousel .reviews .text { color: #34383b; font-weight: 400; }
.counter-section .counter .heading,
.counter-section .counter .text { color: #192127; }
footer p { color: #595959; }
.about-section .features .feature-col.active a,
.about-section .features .feature-col a:hover,
.cbp-l-grid-mosaic-flat .work-icon { background-color: var(--conen-rose); border-color: var(--conen-rose); }
.hover:hover { background-color: var(--conen-rose); color: #fff; }
.hovr:hover { color: var(--conen-teal); }
.banner { position: relative; }
.banner .img-section img { width: 100%; display: block; }
.banner .text-section .text { line-height: 1.65; }
.about-section .about-us .text-col { padding-inline: 24px; }
.about-section .about-us .subheading { line-height: 1.6; }
.blog-section .img-col img { width: 100%; height: 100%; object-fit: cover; }
.contact-section .contact-form .form-control::placeholder { opacity: 1; color: #42474b; }
.contact-section .contact-form .form-control:focus { border-color: var(--conen-teal); }
a:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 3px solid #007873; outline-offset: 5px;
}
.navbar a:focus-visible, .side-menu a:focus-visible { outline-color: #fff; }
@media (min-width: 1201px) {
  .banner .img-section::after {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(90deg, rgba(15,23,25,.36), rgba(15,23,25,.20) 52%, transparent 80%);
  }
  .banner .text-section { top: 24%; text-align: left; padding-left: max(7%, calc((100vw - 1140px) / 2)); }
  .banner .text-section .heading { max-width: 700px; font-size: clamp(42px, 4vw, 58px); }
  .banner .text-section .text { max-width: 550px; }
}
@media (max-width: 1200px) {
  .banner .text-section { padding-inline: 24px; }
}
@media (max-width: 767px) {
  .contact-section .address-section .media-body span { margin-left: 0; }
  .contact-section .address-section li { margin: 4px 8px; }
  footer p { font-size: 14px; line-height: 1.8; }
}

.about-section .about-us .img img { width: 145px; height: 400px; object-fit: cover; }
