/* Local presentation fixes; shared styles and scripts stay untouched. */
:root { --studio-accent: #a8005c; }
body { color: #242424; line-height: 1.65; }
.heading { line-height: 1.15; }
.about-section { height: auto; padding: 170px 0 100px; }
.about-section .row { align-items: center; }
.about-section .caption { padding: 0 48px 0 0; }
.about-section .caption .heading { font-size: clamp(36px, 4.2vw, 60px); letter-spacing: -2px; word-spacing: normal; }
.about-section .caption .text { text-align: left; padding: 0; font-size: 18px; line-height: 1.75; color: #383838; }
.about-section img { width: 100%; height: auto; margin: 0; }
.navbar .navbar-nav { margin-left: auto; }
.navbar .navbar-nav .nav-link { margin-left: 20px; margin-right: 20px; font-size: 16px; }
.navbar .navbar-nav .nav-link.active,
.navbar .navbar-nav .nav-link::before,
.contact-section .address-section .subheading,
.contact-section .address-section h5 { color: var(--studio-accent); }
.btn-hvr-effect, .blog-section .blog-navigation a,
.cbp-l-grid-mosaic-flat .work-icon { background: var(--studio-accent); border-color: var(--studio-accent); }
.btn.btn-hvr-pink:hover, .btn.btn-hvr-pink:focus { border-color: var(--studio-accent); }
.btn { text-transform: none; }
.side-menu { background: var(--studio-accent); }
.side-menu-footer .banner-icons ul li a:hover i { color: var(--studio-accent); }
.social-icons ul li a:hover,
.footer-social-icons ul li a:hover { color: #fff; background-color: var(--studio-accent); }
a:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid #a8005c; outline-offset: 4px; }
.cbp-caption-zoom .cbp-caption-activeWrap { background: rgba(255,255,255,.96); }
.cbp-l-grid-mosaic-flat .cbp-caption-activeWrap p { bottom: 64px; right: 20px; font-size: 14px; line-height: 1.4; }
.cbp-l-grid-mosaic-flat .cbp-l-caption-title { bottom: 22px; right: 20px; font-size: 18px; line-height: 1.3; text-transform: none; }
.counter-section { padding-top: 88px; }
.counter-section .counter-image { bottom: auto; margin-top: 32px; }
.counter-section .counter-img img { width: 100%; max-width: 1000px; height: 220px; object-fit: cover; }
.counter-section .count-text { color: #383838; }
.testimonial-section .testimonial-text { position: static; padding: 95px 24px 0 0; }
.testimonial-section .heading { font-size: clamp(34px, 3.7vw, 52px); }
.testimonial-section .testimonial-img img { width: 100%; height: auto; }
.testimonial-section .testimonial-carousel .name { padding-left: 0; }
.testimonial-section .testimonial-carousel .item .text { text-align: left; padding-right: 0; line-height: 1.8; }
.blog-section .item .row { align-items: stretch; }
.blog-section .item img { height: 100%; object-fit: cover; }
.blog-section .text-area { padding: 56px 42px; }
.blog-section .heading { font-size: clamp(30px, 3vw, 44px); }
.blog-section .text { font-size: 16px; line-height: 1.8; }
.contact-section .address-section .heading { font-size: clamp(36px, 4vw, 54px); }
.contact-section .address-section h5 { min-height: 52px; margin-bottom: 24px; font-weight: 500; }
.contact-section .address-section .media-body { margin-left: 14px; overflow-wrap: anywhere; }
.contact-section .address-section .media-body p { font-size: 15px; color: #414141; }
.contact-section .address-section .text { padding-right: 20px; }
.contact-section .form-control { min-height: 48px; color: #242424; border-color: #949494; border-radius: 2px; font-size: 16px; padding: 12px; }
.contact-section .form-control::placeholder { color: #595959; opacity: 1; }
.contact-section .form-section .form-control:focus { border-color: var(--studio-accent); box-shadow: 0 0 0 2px #a8005c22; }
.gmap_canvas { position: relative; text-align: left; }
.studio-map { display: block; width: 100%; height: 400px; object-fit: cover; }
.map-address { position: absolute; left: max(24px, calc((100% - 1140px)/2)); top: 32px; max-width: 360px; padding: 24px; background: #fff; color: #242424; box-shadow: 0 8px 32px #00000012; }
.map-address strong, .map-address span, .map-address small { display: block; }
.map-address small { margin-top: 10px; color: #555; line-height: 1.5; }
@media (max-width: 991px) {
  .about-section { padding: 115px 0 56px; }
  .about-section .caption { padding: 0; }
  .about-section .caption .text { text-align: center; max-width: 540px; margin: 24px auto; }
  .about-section .caption .heading { letter-spacing: -1.5px; }
  .about-section img { width: 100%; margin: 0; }
  .counter-section, .contact-section { padding-top: 64px; }
  .counter-section .num_counter { flex: 0 0 50%; max-width: 50%; padding: 0 12px 32px; }
  .counter-section .count-title { font-size: 36px; }
  .counter-section .count-text { font-size: 15px; }
  .testimonial-section { padding: 64px 0; }
  .testimonial-section .testimonial-text { padding: 0; margin-bottom: 32px; }
  .testimonial-section .testimonial-carousel .item .text { text-align: center; margin-top: 24px; }
  .blog-section .item img { height: auto; }
  .blog-section .text-area { padding: 48px 24px; }
  .contact-section .address-section .text { padding-right: 0; font-size: 16px; }
  .contact-section .address-section h5 { min-height: 0; margin: 24px 0; }
  .contact-section .form-section { margin-top: 40px; }
  .contact-section .form-section .heading { text-align: center; }
  .contact-section { padding-bottom: 64px; }
  .map-address { top: 20px; left: 20px; right: 20px; max-width: 360px; padding: 20px; }
  footer { padding: 72px 0; }
}
