﻿/* Local refinements: retain the charcoal / amber identity and original animations. */
body { background: #23262d; }
.text { line-height: 1.7; }
.heading { line-height: 1.14; letter-spacing: -.025em; }
section[id] { scroll-margin-top: 96px; }
.banner-section { padding: 150px 0 92px; }
.banner-section .heading { font-size: clamp(40px, 4.5vw, 65px); padding-right: 28px; }
.banner-section .text { font-size: 21px; line-height: 1.65; letter-spacing: 0; margin-top: 8px; }
.btn.button { font-size: 13px; min-height: 48px; }
.btn.yellow-btn:hover, .btn.yellow-btn:focus-visible { color: #111216; background: #ffcf40; border-color: #ffcf40; }
a:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid #fec107; outline-offset: 5px; }
.side-menu a:focus-visible { outline-color: #23262d; }
/* Opaque bar gives both the existing yellow logo tile and menu a stable background. */
header .navbar, header .navbar-fixed-top.scrolled { background: #23262d !important; }
.navbar-brand { margin-bottom: 0; }
.portfolio-Section .carousel-item > img { width: 100%; height: auto; aspect-ratio: 1920 / 818; object-fit: cover; display: block; }
.portfolio-Section .text-section { padding: 62px 24px; }
.portfolio-Section .text-section .text { margin: 12px 0 24px; }
.carousel-control-prev, .carousel-control-next { bottom: auto; height: auto; aspect-ratio: 288 / 818; width: 15%; opacity: 1; }
.carousel-control-prev-icon, .carousel-control-next-icon { top: 50%; width: 44px; height: 44px; border: 12px solid #23262d; border-radius: 50%; background-color: #23262d; transform: translateY(-50%); }
.services-section .service-col { padding-left: 16px; padding-right: 16px; }
.services-section .service-col .text { font-weight: 400; color: #e1e3e8; }
.services-section .service-col h5 { line-height: 1.4; }
.services-section .service-col i { color: #fec107; }
.services-section .image { display: flex; align-items: center; }
.services-section .image img { width: 100%; height: auto; }
.services-section .bottom-col { padding-top: 64px; }
.counter-section .subheading { font-variant-numeric: tabular-nums; }
.testimonial-section .text, .testimonial-section .subheading { color: #23262d; }
.testimonial-section .text-col { padding-right: 36px; }
.testimonial-section .testimonial-image img { border-radius: 50%; }
.client-section { padding: 64px 0 28px; }
.client-section .clients-img img { width: 182px; height: 38px; margin: auto; object-fit: contain; }
.blog-section .text-section { padding-top: 56px; }
.blog-section .text { padding-right: 0; }
.contact-section .contact-form .form-control { font-size: 16px; min-height: 48px; border-bottom-color: #a8adb8; }
.contact-section .contact-form .form-control:focus { border-bottom-color: #fec107; }
.contact-section .contact-form .form-control::placeholder { color: #e1e3e8; opacity: 1; }
.contact-section .media-body ul { padding-left: 0; }
.contact-section .media-body li { display: block; }
.contact-section .media-body span { margin-left: 0; }
footer .text { color: #e1e3e8; font-size: 14px; }
footer .social-icons ul { padding-left: 0; }
footer .social-icons a:hover { background: #fec107; color: #23262d; }
@media (max-width: 991px) {
  .banner-section { padding: 132px 0 64px; }
  .banner-section .heading { padding-right: 0; }
  .banner-section .text { max-width: 600px; margin: 24px auto 0; font-size: 18px; }
  .services-section, .contact-section { padding: 72px 0; }
  .services-section .service-col { max-width: 480px; margin: auto; }
  .services-section .bottom-col { padding-top: 44px; }
  .services-section .image { padding: 52px 0; max-width: 600px; margin: auto; }
  .testimonial-section { padding-top: 72px; }
  .testimonial-section .text-col { padding-right: 0; padding-bottom: 48px; }
  .testimonial-section .carousel-col { padding-bottom: 72px; }
  .blog-section { padding: 64px 0 72px; }
  .blog-section .img-section .slider-shape { max-width: 480px; margin: auto; }
  .blog-section .text-section { padding: 44px 0 0; }
  .blog-section .text { max-width: 560px; margin: 0 auto 28px; }
  .contact-section .heading { text-align: center; margin-bottom: 40px; }
  .contact-section .text-field { padding-right: 15px; }
  .contact-section .media { margin-top: 36px; }
  .contact-section .media i { margin-bottom: 16px; }
  footer { padding: 64px 0; }
}
@media (max-width: 575px) {
  .container { padding-left: 24px; padding-right: 24px; }
  .heading { font-size: 34px; }
  .banner-section .heading { font-size: 40px; }
  .banner-section .text { font-size: 17px; }
  .portfolio-Section .text-section { padding: 40px 24px; }
  .portfolio-Section .text-section .subheading { font-size: 26px; }
  .counter-section { padding: 56px 0; }
  .counter-section .num_counter .counter-2 { padding: 36px 0; }
  .contact-section .contact-form .form-control { margin-bottom: 32px; }
  .contact-section .text { margin-top: 40px; }
  .contact-section .media-body .text { margin-top: 0; }
  footer .social-icons ul li { margin: 0; }
}
