     /* footer design style */
     
     .mobile-only-br {
          display: none;
     }
     .gap_row {
          justify-content: space-between;
     }
     
     .col_gap {
          margin-right: 100px;
     }
     
     .copyright-text1 {
          margin-right: 100px;
          max-width: 33%;
     }
     
     .copyright-text {
          max-width: 44%;
     }
     
     .site-footer.section--bg .get-in-touch a:hover {
          color: #fff;
     }
     
     ul.social-menu.social_footer li a .twitter-x,
     ul.social-menu.social_footer li a .thread-ic {
          height: 16px;
          width: 16px;
     }
     
     @media(max-width:1700px) {
          .the-way-we-work ul li {
               padding: 30px 15px!important;
          }
     }
     
     @media (max-width: 1600px) {
          .site-footer .social-menu li a {
               height: 30px;
               font-size: 30px;
               display: inline-flex;
               align-items: center;
               justify-content: center;
          }
          ul.social-menu.social_footer li a .twitter-x,
          ul.social-menu.social_footer li a .thread-ic {
               height: 22px;
               width: 22px;
          }
          .site-footer .get-in-touch h3,
          .site-footer .get-in-touch a {
               margin-bottom: 8px;
               line-height: 1.5;
          }
          .copyright {
               padding-top: 150px;
          }
          .site-footer .social-menu {
               margin: 80px 0 0;
          }
          .get-in-touch {
               margin-bottom: 34px;
          }
          .black-theme-section.career-process .content-width {
               max-width: 90%;
          }
     }
     
     @media (max-width: 1400px) {
          .col_gap {
               margin-right: 80px;
          }
          .copyright-text1 {
               margin-right: 80px;
               max-width: 34%;
          }
     }
     
     @media(max-width:1399px) {
          .black-theme-section.career-process .content-width {
               max-width: 95%;
          }
     }
     
     @media (max-width: 1300px) {
          .site-footer .get-in-touch a {
               font-size: 22px !important;
          }
          .site-footer .get-in-touch h3,
          .site-footer .get-in-touch a {
               line-height: 1.2;
          }
          ul.social-menu.social_footer li a .twitter-x,
          ul.social-menu.social_footer li a .thread-ic {
               height: 20px;
               width: 20px;
          }
          .site-footer .social-menu li a {
               height: 24px;
               font-size: 24px;
               display: inline-flex;
               align-items: center;
               justify-content: center;
          }
          .site-footer .custom-row .column-50 {
               max-width: 40%;
               flex: 40%;
          }
          .copyright {
               flex-wrap: initial;
               justify-content: space-between;
          }
          .copyright-text1 {
               max-width: 44%;
          }
          .copyright-text {
               max-width: 40%;
          }
          .black-theme-section.career-process .content-width {
               max-width: 98%;
          }
          .black-theme-section.career-process .content-width p {
               line-height: 20px;
          }
     }
     
     @media (max-width: 1199px) {
          .site-footer .get-in-touch h3 {
               margin-bottom: 0;
          }
          .site-footer .get-in-touch h3,
          .site-footer .get-in-touch a {
               line-height: 1.5;
          }
     }
     
     @media (max-width: 991px) {
          .our_values.careers_value .floatR {
               display: none;
          }
          .our_values.careers_value .mobile_view.floatR {
               display: block;
          }
          .careers_value .floatR ul li p.text_box {
               font-weight: 400 !important;
               font-size: 14px !important;
               letter-spacing: 2.5px !important;
               color: #141414 !important;
          }
          .our_values .floatR ul li h3 {
               font-size: 14px !important;
               font-weight: 300 !important;
          }
          .careers_value .floatR ul li {
               min-height: 100% !important;
               display: flex !important;
               flex-direction: column-reverse !important;
          }
          .our_values .floatR ul li {
               margin-bottom: 15px !important;
          }
          .careers_value .floatR ul li .front {
               padding: 40px 70px 40px 0 !important;
               opacity: 1 !important;
               position: relative !important;
               left: 0;
               top: 0;
               transform: translateY(0) !important;
          }
          .careers_value .floatR ul li .back {
               margin-top: 40px !important;
               padding: 0 170px 0 0 !important;
               opacity: 1 !important;
               position: relative !important;
               left: 0;
               top: 0;
               transform: translateY(0) !important;
          }
          .careers_value .floatR ul li:hover .front,
          .careers_value .floatR ul li:hover .back {
               opacity: 1 !important;
          }
          .copyright-text1,
          .copyright-text {
               max-width: 100%;
               padding-left: 50px;
          }
          .copyright {
               flex-direction: column;
               padding-top: 80px;
          }
     }
     
     @media (max-width: 767px) {
          .site-footer .social-menu {
               margin: 0;
          }
          .copyright-text1,
          .copyright-text {
               padding-left: 0;
          }
          .copyright {
               padding-top: 0px;
          }
          .copyright-text1,
          .copyright-text {
               max-width: 100%;
               margin: 0;
          }
          .site-footer .custom-row .column-50 {
               max-width: 100%;
               flex: 40%;
               margin: 0;
          }
          .copyright {
               flex-direction: column;
          }
          .get-in-touch {
               margin-bottom: 30px;
          }
          .footer-css .get-in-touch a {
               display: inline-block;
          }
          .site-footer .texttypo {
               margin-bottom: 0px;
          }
     }
     
     @media (max-width: 575px) {
          /* .careers_value .floatR ul li p.text_box {
          font-weight: 400 !important;
          font-size: 12px !important;
          letter-spacing: 2.5px !important;
          color: #141414 !important;
     }

     .our_values .floatR ul li h3 {
          font-size: 14px !important;
          font-weight: 300 !important;
     }

     .careers_value .floatR ul li {
          min-height: 100% !important;
          display: flex !important;
          flex-direction: column-reverse !important;
     }

     .our_values .floatR ul li {
          margin-bottom: 15px !important;
     }

     .careers_value .floatR ul li .front {
          padding: 40px 70px 40px 0 !important;
          opacity: 1 !important;
          position: relative !important;
          left: 0;
          top: 0;
          transform: translateY(0) !important;
     }

     .careers_value .floatR ul li .back {
          margin-top: 40px !important;
          padding: 0 170px 0 0 !important;
          opacity: 1 !important;
          position: relative !important;
          left: 0;
          top: 0;
          transform: translateY(0) !important;
     }

     .careers_value .floatR ul li:hover .front,
     .careers_value .floatR ul li:hover .back {
          opacity: 1 !important;
     } */
          .footer-css .get-in-touch a {
               margin-bottom: 0;
          }
          .site-footer .get-in-touch a {
               font-size: 20px !important;
          }
          .footer-css .get-in-touch a {
               margin-bottom: 6px;
          }
          .get-in-touch {
               margin-bottom: 20px;
          }
          .location .tabs li {
               padding: 0;
          }
          #tabs li.tab1 .tab,
          #tabs li.tab2 .tab,
          #tabs li.tab3 .tab,
          #tabs li.tab4 .tab {
               font-size: 12px !important;
          }
     }
     
     /* --- Mobile View specific fixes (320px to 767px) --- */
     @media screen and (min-width: 320px) and (max-width: 767px) {
          /* Fix typography size in banners so text doesn't wrap offscreen */
          .about_banner .texttypo p,
          .section1 .header .texttypo p {
               font-size: 26px !important;
               line-height: 1.35 !important;
               white-space: normal !important;
          }

          .about_banner .texttypo {
               width: 100% !important;
               max-width: 100% !important;
               box-sizing: border-box;
          }

          /* Full-width typewriter line; reserve 3 lines so typing doesn't shift layout */
          .about_banner .texttypo p > .typewriter,
          .about_banner .texttypo p > span.typewriter-blog {
               display: block !important;
               width: 100% !important;
               max-width: 100% !important;
               box-sizing: border-box;
               line-height: 1.35 !important;
               margin-top: 0.15em;
               min-height: calc(1.35em * 3) !important;
               min-height: 3lh !important;
          }

          .about_banner .texttypo p .Typewriter__wrapper {
               display: inline !important;
               line-height: inherit !important;
               margin: 0 !important;
          }

          /* Ensure typewriter cursor stays inline with the typed text */
          .about_banner .texttypo .Typewriter__cursor,
          .section1 .header .texttypo .Typewriter__cursor {
               display: inline !important;
               position: relative !important;
               top: 0 !important;
               font-size: 26px !important;
               line-height: inherit !important;
               vertical-align: baseline;
          }
          
          /* Prevent long words from breaking the layout */
          .project-title, .text_box p, .texttypo p, .texttypo span {
               word-wrap: break-word !important;
               overflow-wrap: break-word !important;
          }
      
          /* Reset the 100px margin top on every second portfolio item for mobile view 
             which was incorrectly applying from portfolio_list.php */
          .portfolio-list .our-thoughts-perspective .custom-row .column-50:nth-child(2n+2) {
               margin-top: 0px !important;
          }
          
          /* Ensure columns take full width and don't overlap */
          .portfolio-list .our-thoughts-perspective .custom-row .column-50 {
               width: 100% !important;
               max-width: 100% !important;
               margin-bottom: 50px !important;
          }
          
          /* Prevent horizontal scrolling on small screens */
          body {
               overflow-x: hidden !important;
          }
          
          /* Hide images in the "How can SandCup contribute" section on mobile */
          .bussiness-strategy-section-mobile .item picture {
               display: none !important;
          }
          
          /* Add spacing after the title to make the section bigger on mobile */
          .bussiness-strategy-section-mobile .item .carousel-heading {
               margin-bottom: 10px !important;
          }
          
          /* Add spacing between the main section title and the subtitle */
          .bussiness-strategy-section-mobile h6 {
               margin-bottom: 60px !important;
          }
          
          /* Shift slider dots lower to make the section bigger */
          .bussiness-strategy-section-mobile .owl-dots {
               margin-top: 50px !important;
          }
          
          /* Add top padding to the mobile navbar and make the logo larger */
          .mobile-header {
               padding-top: 20px !important;
               padding-left: 25px !important;
          }
          
          .mobile-header .logo img {
               width: 170px !important;
               height: 40px !important;
               max-width: 450px !important;
               padding-right: 80px !important;
          }
          
          /* Testimonial names and designations sizes */
          .client-review-section .slider-item h3 {
               font-size: 32px !important;
          }
          
          .client-review-section .slider-item span {
               font-size: 14px !important;
               letter-spacing: 1px !important;
          }
          
          /* Increase testimonial paragraph font size and decrease top spacing */
          .client-review-section .slider-item .testimonial-desc {
               margin-top: 15px !important;
          }
          
          .client-review-section .slider-item .testimonial-desc p {
               font-size: 18px !important;
               line-height: 1.6 !important;
          }
          
          /* Shift testimonial image upwards and add bottom space */
          .client-review-section .slider-item {
               padding-top: 20px !important; /* Prevent image from cutting off */
          }
          
          .client-review-section .slider-item > img,
          .client-review-section .slider-item .feed_and_photo {
               transform: translateY(-25px) !important;
               margin-bottom: 20px !important;
          }
          
          /* Increase the overall height of the testimonial section */
          .client-review-section {
               padding-top: 5px !important;
               padding-bottom: 60px !important;
          }
          
          /* Show the break only on mobile */
          .mobile-only-br {
               display: block !important;
          }
          
          /* Make blog card date and tag smaller to match the author size */
          .our-thoughts-perspective .cards .card-body p,
          .our-thoughts-perspective .cards .card-body p span {
               font-size: 12px !important;
          }
          
          /* Prevent video from cropping on the sides */
          video {
               max-width: 100% !important;
               width: 100% !important;
               height: auto !important;
               object-fit: contain !important;
          }
          
          /* Position Download Sandcup Deck just below the social icons in mobile view */
          .site-footer .column-50 > .nav-tab,
          .site-footer .footer-deck-download {
               position: relative !important;
               display: block !important;
               margin-top: 20px !important;
               margin-bottom: 20px !important;
               top: auto !important;
               bottom: auto !important;
               left: auto !important;
               right: auto !important;
               clear: both !important;
          }
          
          /* Remove white gap between business strategy slider, video, and next section */
        
          
          .video-custom-play {
               margin-top: -30px !important; /* Pulls the video up over any remaining gap */
               margin-bottom: 0 !important;
               padding-top: 0 !important;
               padding-bottom: 0 !important;
               display: flex !important; /* Removes inline spacing */
          }
          
          .mutual-firm-work {
               margin-top: 0 !important;
          }
          
          /* Place GPTW logo and Sandcup logo in one line for mobile */
          .site-footer {
               position: relative !important;
               padding-top: 30px !important;
          }
          
          body.home-page .greatplace-footer,
          .greatplace-footer {
               position: absolute !important;
               top: 1px !important;
               right: 5px !important;
               margin: 0 !important;
               width: auto !important;
               justify-content: flex-end !important;
          }
          
          body.home-page .greatplace-footer img,
          .greatplace-footer img {
               max-width: 70px !important;
               height: auto !important;
          }
          
          /* Space under logo for GPTW badge; section headings overridden in mobile-nav.css */
          .site-footer .footer-menu .column-50 > h3 {
               margin-top: 20px !important;
          }
          
          /* Aggressively collapse gaps between footer sections */
          .site-footer .get-in-touch,
          .site-footer .col_gap {
               margin-top: 0 !important;
               margin-bottom: 0 !important;
               padding-top: 0 !important;
               padding-bottom: 0 !important;
          }
          
          .site-footer .get-in-touch h3,
          .site-footer .location h3 {
               margin-top: 8px !important; /* Only a tiny gap above new sections */
               margin-bottom: 2px !important;
               padding: 0 !important;
          }
          
          .site-footer .get-in-touch a {
               margin: 0 !important;
               padding: 0 !important;
               display: block !important;
               line-height: 1.2 !important;
          }
          
          /* Social icons 4 per row and increased size for mobile */
          .site-footer .social-menu.social_footer {
               display: grid !important;
               grid-template-columns: repeat(4, 1fr) !important;
               justify-content: start !important;
               gap: 25px 25px !important;
               padding: 15px 0 !important;
               max-width: 260px !important;
          }
          
          .site-footer .social-menu.social_footer li a {
               font-size: 32px !important;
               height: 32px !important;
               width: 32px !important;
               display: flex !important;
               align-items: center !important;
               justify-content: center !important;
          }
          
          ul.social-menu.social_footer li a .twitter-x,
          ul.social-menu.social_footer li a .thread-ic {
               height: 28px !important;
               width: 28px !important;
          }
          
          /* Address wraps within viewport on small screens */
          .site-footer .location .tabcontent {
               width: 100% !important;
               max-width: 100% !important;
               padding-right: 0 !important;
               padding-left: 0 !important;
               white-space: normal !important;
               box-sizing: border-box !important;
               overflow-wrap: anywhere !important;
               word-break: break-word !important;
          }

          .site-footer .location .tabcontent p {
               max-width: 100% !important;
               white-space: normal !important;
               overflow-wrap: anywhere !important;
               word-break: break-word !important;
          }
          
          /* Push copyright down to clear address and stack links */
          .site-footer .copyright {
               margin-top: 60px !important;
               padding-bottom: 30px !important;
          }
          
          .site-footer .copyright-text1 {
               font-size: 0 !important; /* Hide the vertical bar separator */
               padding-top: 40px !important;
               
          }
          
          .site-footer .copyright-text1 a {
               display: block !important;
               font-size: 15px !important; /* Restore font size for links */
               margin-bottom: 1px !important;
          }
     }

/* Keep sticky hamburger / left nav controls above page sections (CDN + local). */
.section1 .header {
     z-index: 100000 !important;
}

.section1 .header .button_container,
.section1 .header .left_icon,
.section1 .header .fishleft,
.section1 .header .texttypo {
     z-index: 100001 !important;
     pointer-events: auto !important;
}

.section1 .header.sticky-header,
.section1 .header.sticky-header.sticky-header-item-none {
     min-height: 0 !important;
     height: auto !important;
     padding: 20px 0 !important;
     align-items: flex-start !important;
     background: transparent !important;
     pointer-events: none !important;
     z-index: 100000 !important;
}

.section1 .header.sticky-header .container,
.section1 .header.sticky-header .js-replace,
.section1 .header.sticky-header .js-replace__item,
.section1 .header.sticky-header .js-replace__content,
.section1 .header.sticky-header .logos,
.section1 .header.sticky-header .consult-button {
     pointer-events: none !important;
}

.section1 .header.sticky-header .consult-button,
.section1 .header.sticky-header .logo,
.section1 .header.sticky-header .default-button {
     display: none !important;
}

.section1 .header.sticky-header .left_icon {
     position: absolute !important;
     top: 0 !important;
     right: 15px !important;
     left: auto !important;
     width: auto !important;
     max-width: none !important;
     padding: 0 !important;
     display: inline-flex !important;
     z-index: 100001 !important;
     pointer-events: auto !important;
}

.section1 .header.sticky-header .button_container {
     width: 35px !important;
     height: 27px !important;
     z-index: 100001 !important;
     pointer-events: auto !important;
}

.section1 .header.sticky-header .fishleft,
.section1 .header.sticky-header .texttypo {
     z-index: 100001 !important;
     pointer-events: auto !important;
}

.mobile-header {
     z-index: 100000 !important;
}

.mobile-header .button_container,
.mobile-header .menu-toggle,
.mobile-header .left_icon {
     z-index: 100001 !important;
     pointer-events: auto !important;
}

.overlay.open {
     z-index: 100050 !important;
}

#overlay .toggle-close,
.overlay .button_container.menu-toggle {
     z-index: 100051 !important;
     pointer-events: auto !important;
}

/* Desktop overlay menu: social icons on one aligned row, slightly smaller */
@media screen and (min-width: 1201px) {
     .overlay-menu .menu-social-box {
          max-width: min(42vw, 520px);
          bottom: 48px;
     }

     .overlay-menu .menu-social-icon {
          padding-top: 48px !important;
     }

     .overlay-menu .menu-social-icon .social-menu {
          display: flex !important;
          flex-wrap: nowrap !important;
          align-items: center !important;
          justify-content: flex-start !important;
          width: max-content;
          max-width: 100% !important;
          margin: 0 !important;
          margin-left: 0 !important;
          padding: 10px 0 0 10px !important;
          gap: 14px;
          text-align: left !important;
     }

     .overlay-menu .menu-social-icon .social-menu li {
          flex: 0 0 auto !important;
          max-width: none !important;
          width: auto !important;
          margin: 0 !important;
          padding: 0 !important;
          display: inline-flex !important;
          padding-right: 10px !important;
          align-items: center !important;
     }

     .overlay-menu .menu-social-icon .social-menu li:first-child {
          margin-left: 0 !important;
          padding-left: 0 !important;
     }

     .overlay-menu .menu-social-icon .social-menu li:last-child {
          margin-right: 0 !important;
     }

     .overlay-menu .menu-social-icon .social-menu li a {
          font-size: 22px !important;
          line-height: 1 !important;
          height: 24px !important;
          display: inline-flex !important;
          align-items: center !important;
          justify-content: center !important;
     }

     .overlay-menu .menu-social-icon .social-menu li a .twitter-x,
     .overlay-menu .menu-social-icon .social-menu li a .thread-ic {
          width: 16px !important;
          height: 16px !important;
     }
}

/* Hide Tawk chatbot while the nav overlay menu is open (desktop + mobile) */
body.menu-overlay-open iframe[src*="tawk.to"],
body.menu-overlay-open iframe[title*="chat"],
body.menu-overlay-open div[id^="tawkchat"],
body.menu-overlay-open div[class*="tawk-"],
body.menu-overlay-open #tawkchat-container,
body:has(#overlay.open) iframe[src*="tawk.to"],
body:has(#overlay.open) iframe[title*="chat"],
body:has(#overlay.open) div[id^="tawkchat"],
body:has(#overlay.open) div[class*="tawk-"],
body:has(#overlay.open) #tawkchat-container {
     display: none !important;
     visibility: hidden !important;
     opacity: 0 !important;
     pointer-events: none !important;
}