/* Turbine 2026 — shared responsive rules only. Page layouts live in
   assets/css/{home,company,lab-in-loop,media}-responsive.css. */
.header__menu-toggle {
  display: none;
}
@media (max-width: 1279px) {
  .header__inner, .footer__top, .footer__bottom {
    margin-inline: 5%;
  }
  .header__menu {
    gap: 17px;
  }
  .header__menu li:not(:last-child) a {
    font-size: 13px;
  }
  .footer__menu {
    gap: 18px;
  }
  .footer__menu a {
    font-size: 13px;
  }
  .footer-cta__inner {
    gap: 25px;
  }
}
@media (max-width: 991px) {
  body {
    font-size: 16px
  }

  .site-header {
    height: 78px;
  }
  .site-header .container {
    padding-inline: 15px;
  }
  .header__inner {
    margin: 0;
    justify-content: space-between;
  }
  .header__logo, .header__logo img {
    width: 158px;
    height: auto;
  }
  .header__menu-toggle {
    display: inline-flex;
    position: relative;
    z-index: 2;
    flex: 0 0 42px;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 44px;
    margin-left: auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: #31bec5;
  }
  .header__menu-toggle span, .header__menu-toggle::before, .header__menu-toggle::after {
    content: '';
    position: absolute;
    left: 5px;
    width: 36px;
    height: 2px;
    border-radius: 1px;
    background: currentColor;
    transition: transform .2s ease, opacity .2s ease;
  }
  /* Two cyan strokes, matching the supplied mobile header design. */
  .header__menu-toggle span {
    display: none;
  }
  .header__menu-toggle::before {
    transform: translateY(-4px);
  }
  .header__menu-toggle::after {
    transform: translateY(4px);
  }
  .header__menu-toggle[aria-expanded="true"]::before {
    transform: rotate(45deg);
  }
  .header__menu-toggle[aria-expanded="true"]::after {
    transform: rotate(-45deg);
  }
  .header__nav {
    display: none;
    position: absolute;
    z-index: 1;
    top: 100%;
    left: 0;
    right: 0;
    max-height: calc(100dvh - 78px);
    overflow-y: auto;
    margin: 0;
    padding: 10px 24px 28px;
    background: #0f0a26;
    box-shadow: 0 12px 18px rgb(0 0 0 / 12%);
  }
  .site-header.is-menu-open {
    background: #0f0a26;
  }
  .site-header.is-menu-open .header__nav {
    display: block;
  }
  .header__menu {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .header__menu li:not(:last-child) a {
    display: block;
    justify-content: flex-start;
    padding: 13px 0;
    font-size: 16px;
    text-align: left;
    white-space: normal;
  }
  .header__menu li:last-child {
    padding-top: 12px;
  }
  .header__menu li:last-child a {
    width: max-content;
    max-width: 100%;
    padding-inline: 20px;
  }
  body.turbine-light-page .site-header.is-menu-open, body.turbine-light-page .site-header.is-menu-open .header__nav {
    background: #fff;
  }
  body.turbine-light-page .header__menu-toggle {
    color: #ff6666;
  }
  .footer-cta {
    padding-block: 55px;
  }
  .footer-cta__inner {
    flex-direction: column;
    gap: 28px;
    text-align: center;
  }
  .footer-cta__text {
    max-width: 620px;
  }
  .footer__top, .footer__bottom {
    margin-inline: 0;
  }
  .footer__top {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: 'logo''nav''contact';
    gap: 30px;
  }
  .footer__logo {
    justify-self: start;
  }
  .footer__nav {
    justify-self: start;
  }
  .footer__menu {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }
  .footer__menu a {
    font-size: 15px;
    white-space: normal;
  }
  .footer__contact {
    justify-self: start;
  }
  .footer__bottom {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 32px;
    margin-top: 38px;
  }
  .site-footer .container {
    padding-block: 50px;
  }
  .site-footer::before {
    background-size: auto 90%;
    opacity: .5;
      background-position: right top;
  }
  .turbine-contact-panel__content {
    padding-block: 46px;
  }
  .turbine-contact-panel__heading-row {
    gap: 12px;
  }
  .turbine-contact-panel__form, .turbine-contact-panel__form .gform_wrapper {
    width: 100%;
    max-width: 100%;
  }
}
@media (max-width: 767px) {
 
  .site-header {
    height: 85px;
  }
  .header__nav {
    max-height: calc(100dvh - 72px);
    padding-inline: 15px;
  }
  .header__logo, .header__logo img {
    width: 149px;
  }
  .footer-cta {
    padding-block: 52px;
  }
  .footer-cta__text {
    font-size: 24px;
    line-height: 1.4;
      text-align: center
  }
  .footer-cta__button {
    max-width: 100%;
      font-size: 14px;
      height: 45px
  }
  .site-footer .container {
    padding-top: 45px;
    padding-bottom: 30px;
  }
  .footer__logo img {
    width: 150px;
  }
  .footer__menu {
    gap: 8px;
  }
  .footer__menu a {
    font-size: 16px;
  }
  .footer__contact {
    height: 44px;
    padding-inline: 28px;
  }
  .footer__socials {
    gap: clamp(8px, 3.3vw, 17px);
    flex-wrap: wrap;
  }

  .footer__copyright {
    font-size: 16px;
  }
  .turbine-contact-panel__heading {
    font-size: clamp(27px, 7vw, 42px);
  }
  .turbine-contact-panel__heading-row {
    align-items: flex-start;
  }
  .turbine-contact-panel__close {
    flex: 0 0 auto;
  }
  .turbine-contact-panel .gform-theme--foundation .gform_fields {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .turbine-contact-panel .gfield {
    grid-column: 1 / -1 !important;
  }
  .turbine-contact-panel .gform_body input, .turbine-contact-panel .gform_body textarea {
    min-width: 0;
  }
  .contact_categories .gfield_radio {
    justify-content: flex-start !important;
    gap: 9px !important;
  }
  .turbine-button {
    font-size: 14px
  }
  .testimonial-carousel__quote::before, .testimonial-carousel__quote::after {
    display: block;
    width: 100%;
    background-position: center
  }
  .testimonial-carousel__quote::before {
    margin-bottom: 10px;
  }
  .testimonial-carousel__quote::after {
    margin-top: 10px
  }
  .testimonial-carousel__quote {
    font-size: 24px;
  }
    .hideForMobile {
    display: none
} 
}
@media (max-width: 360px) {
  .header__logo, .header__logo img {
    width: 132px;
  }

}
@media (prefers-reduced-motion: reduce) {
  .header__menu-toggle span, .header__menu-toggle::before, .header__menu-toggle::after {
    transition: none;
  }
}


/* Global notification bar. All responsive rules stay in this file. */
@media (max-width: 767px) {
    .turbine-notice__inner { gap: 12px; padding-inline: 12px; }
    .turbine-notice__image { width: 30px; height: 30px; }
    .turbine-notice__button { min-width: 70px; max-width: 40%; padding-inline: 12px; }
    .turbine-notice__viewport.is-overflowing::after { width: 40px; }
}

@media (prefers-reduced-motion: reduce) {
    .turbine-notice, body.turbine-has-notice .site-header { transition: none; }
    .turbine-notice__viewport.is-overflowing { overflow-x: auto; }
    .turbine-notice__viewport.is-overflowing::after { display: none; }
    .turbine-notice__viewport.is-overflowing .turbine-notice__track { animation: none; will-change: auto; }
    .turbine-notice__viewport.is-overflowing .turbine-notice__copy--repeat { display: none; }
}
@media (max-width: 767px) {
    .turbine-notification-bar {
        height: 60px;
    }

    .turbine-notification-bar__text {
        font-size: 16px;
    }
}
