/* The vivid rainbow remains intact; ink text is legible across every stop. */
:root { --rainbow-ink: #242129; --rainbow-accent: #a51b57; }
.banner-sec .banner-heading,
.banner-sec .banner-text,
.team-sec .heading,
.team-sec .text,
.team-sec .inner-team-sec .team-carousel .team-box .team-info,
.testimonial-sec .testimonial-area .testimonial-details .heading,
.testimonial-sec .testimonial-area .testimonial-details .text,
.testimonial-sec .testimonial-area .testimonial-carousel .testimonial-box .text,
.testimonial-sec .testimonial-area .testimonial-carousel .testimonial-box .user-name,
.testimonial-sec .testimonial-area .testimonial-carousel .testimonial-box .icon-holder i,
.footer-style-1 .company-about,
.footer-style-1 .company-about a,
.footer-style-1 .footer-social a,
.scroll-top-arrow { color: var(--rainbow-ink); }
.banner-sec .banner-text,
.team-sec .inner-team-sec .team-carousel .team-box .team-info .team-designation { font-weight: 400; }
.banner-sec .anim-btn { color: var(--rainbow-ink); border-color: var(--rainbow-ink); font-weight: 600; }
.banner-sec .anim-btn:hover,
.banner-sec .anim-btn:focus { color: var(--rainbow-ink); background-color: #fff; }
.black-btn:hover, .black-btn:focus,
.green-btn:hover, .green-btn:focus { background-color: var(--rainbow-accent); border-color: var(--rainbow-accent); color: #fff; }
.black-btn span, .green-btn span { background-color: var(--rainbow-accent); }
.black-btn:focus:not(:hover) { color: #fff; }
.footer-style-1 .company-about a { text-decoration: underline; text-underline-offset: 3px; }
.portfolio-foot-detail .p-num { background: none; -webkit-text-fill-color: var(--rainbow-accent); color: var(--rainbow-accent); }
.portfolio-foot-detail .p-text { color: #505050; opacity: 1; }
/* A directional scrim only on revealed photo captions keeps subjects bright. */
.cbp-l-grid-mosaic .cbp-caption-activeWrap { background: linear-gradient(to top, rgba(23,20,27,.88), rgba(23,20,27,.30) 48%, rgba(23,20,27,.05)); }
.portfolio-hover-effect .hover-text { padding: 20px; }
.contact-sec .contact-form .form-control { color: #323232; border-color: #858585; }
.contact-sec .contact-form .form-control::placeholder { color: #595959; opacity: 1; }
.contact-sec .contact-details .text { opacity: 1; }
.navbar-nav .nav-link .num { color: #6b6b6b; }
.side-nav .navbar-nav .nav-item .nav-link:hover span { color: var(--rainbow-accent); }
.sponser-tags .item img { height: 31px; object-fit: contain; }
a:focus-visible, .form-control:focus-visible { outline: 3px solid #482254; outline-offset: 4px; }
.about-sec .about-inner-content .text { text-align: left; }
@media (max-width: 767px) {
  .banner-sec .banner-text, .team-sec .text,
  .testimonial-sec .testimonial-area .testimonial-details .text,
  .testimonial-sec .testimonial-area .testimonial-carousel .testimonial-box .text { font-size: 16px; line-height: 1.7; }
  .banner-sec .banner-inner-content { padding-inline: 12px; }
  .portfolio-sec .green-btn { padding: 12px 15px; font-size: 11px; letter-spacing: .04em; }
  .cbp-l-filters-button .cbp-filter-item { font-size: 12px; margin-bottom: 12px; }
}
