/* Conen Digital: photo contrast, legibility and responsive refinements. */
:root { --conen-teal: #007782; --conen-ink: #182b2d; }
/* At least 64% dark coverage even at the lightest end: white text remains
   above AA on an entirely white source photo. Do not flatten animations. */
.single-items.parallax, #home .slider-inner { position: relative; isolation: isolate; background-size: cover; }
.single-items.parallax::before, #home .slider-inner::before, .project-img::after {
 content: ""; position: absolute; inset: 0; pointer-events: none;
 background: linear-gradient(100deg, rgba(12,23,25,.72), rgba(12,23,25,.3) 75%);
 z-index: 0;
}
.single-items.parallax > .container, #home .slider-inner > .container { position: relative; z-index: 1; }
.services-area::before, .counter-sec::before, .pricing-sec::before, .contact-sec::before {
 background: linear-gradient(100deg, rgba(12,23,25,.68), rgba(12,23,25,.52));
}
.project-img { position: relative; }
.project-sec .project-area .project-img img { object-fit: cover; }
.project-sec .project-area .project-detail { z-index: 1; width: 100%; max-width: 1140px; }
.single-items p, .single-items li, .project-text { line-height: 1.8; }
.feature-item { background: rgba(17,35,37,.88); border: 1px solid #98b1b2; box-shadow: 0 12px 32px #0002; }
.feature-item:hover { background: #fff; }
.feature-item > i.f-icon { background: var(--conen-teal); }
.feature-item p, .pricing-sec .pricing-card .price-card .pricing-detail,
.pricing-sec .pricing-card .price-card .pricing-features li,
.testimonial-sec .reviews .user-designation,
.contact-us-sec .contact-details .contact-address,
.contact-us-sec .contact-details .contact-list li,
.contact-sec .contact-box .small-text,
.project-sec .project-area .project-detail .project-text { opacity: 1; font-weight: 400; }
.services-skill .progress-heading, .progress-item b { font-weight: 500; }
.services-skill .progress-bar { background: var(--conen-teal); }
.testimonial-sec .reviews .review-body { color: #354246; }
.testimonial-sec .reviews .user-comment, .testimonial-sec .reviews .comment-date { font-weight: 400; }
.testimonial-sec .review-box .navigate-btn { opacity: 1; background: #182b2d; padding: 8px 12px; border-radius: 5px; color: #fff; z-index: 2; }
.testimonial-sec .review-box .navigate-btn:hover { background: #007782; }
.contact-sec .contact-form .my-form .form-control { background: rgba(12,23,25,.45); color: #fff; opacity: 1; border-bottom-color: #c4d3d4; }
.contact-sec .contact-form .my-form .form-control::placeholder { color: #fff; opacity: 1; }
.contact-sec .contact-form .my-form .form-control:focus { background: #182b2d; outline: 2px solid #a6e8ec; outline-offset: 2px; }
.nav-box-round .navbar-nav .nav-link.active, header .nav-box-round .navbar-nav .nav-link:hover { color: var(--conen-teal); }
header .nav-box-round .navbar-nav .nav-link.active span { background: var(--conen-teal); }
.side-menu, .scroll-top-arrow, .user-contact:hover, .footer-social li a:hover { background-color: var(--conen-teal); }
.company-about, .company-about a, .footer-social a { color: #50585b; }
.btn { font-weight: 500; }
.btn.btn-transparent-white:hover, .btn.btn-transparent-white:focus { color: #23383a !important; }
a:focus-visible { outline: 3px solid #00818d; outline-offset: 5px; }
.conen-static-map { position: relative; min-height: 400px; overflow: hidden; background: #e9e6dd; }
.conen-static-map > img { width: 100%; height: 400px; object-fit: cover; display: block; }
.map-caption { position: absolute; left: max(24px, calc((100% - 1110px)/2)); bottom: 28px; background: #fff; color: #24383a; padding: 20px 24px; box-shadow: 0 6px 24px #182b2d20; }
.map-caption span, .map-caption small { display: block; margin-top: 5px; }
@media (min-width: 768px) {
 .single-items.parallax { min-height: 760px; height: auto; }
}
@media (max-width: 767px) {
 .single-items.parallax { padding: 80px 0; }
 #home .slider-inner { min-height: 640px; }
 .feature-item { margin-left: 20px; margin-right: 20px; }
 .feature-item:nth-child(2) { margin-top: 16px; }
 .project-sec .project-area .project-img { min-height: 760px; }
 .project-sec .project-area .project-detail .project-heading { font-size: 32px; }
 .pricing-sec .pricing-card { padding: 25px 24px; }
 .pricing-sec .pricing-card .pricing-body { min-height: 0; padding-bottom: 24px; }
 .pricing-sec .pricing-card + .pricing-card { border-top: 1px solid #98b1b2; }
 .testimonial-sec .review-box { padding-left: 44px; padding-right: 44px; }
 .testimonial-sec .review-box .prev-review-btn { left: -28px; }
 .testimonial-sec .review-box .next-review-btn { right: -28px; }
 .testimonial-sec .reviews .review-body { padding: 22px 18px 65px; }
 .counter-sec .counter-area .counters { width: 145px; padding: 20px 8px; }
 .map-caption { left: 16px; right: 16px; bottom: 20px; padding: 18px; }
}
/* Keep text readable in interactive states as well. */
.single-items.services-area::before, .single-items.counter-sec::before,
.single-items.pricing-sec::before, .single-items.contact-sec::before {
 background: linear-gradient(100deg, rgba(12,23,25,.68), rgba(12,23,25,.52));
}
.side-menu a:hover, .side-menu a:focus { color: #fff; }
.company-about a:hover { color: #007782; }
.project-sec .project-links a:hover i { color: #b5f5f7; }
.counter-sec .counter-area .counters { height: auto; min-height: 190px; max-width: 100%; padding: 20px 8px; }
.counter-sec .counter-area .counters p { font-size: 14px; }

/* Phones: the copy spans the full width, so the shade does too */
@media (max-width: 767px) {
 .single-items.parallax::before, #home .slider-inner::before, .project-img::after { background: rgba(12,23,25,.66); }
}
