html,
body {
  max-width:100%;
  overflow-x:hidden
}
.mobile-menu-toggle {
  display:none;
  width:46px;
  height:46px;
  padding:0;
  border:0;
  background:transparent;
  color:#111;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  cursor:pointer
}
.mobile-menu-toggle span {
  display:block;
  width:25px;
  height:2px;
  background:#111;
  border-radius:2px;
  transition:transform .2s ease,
  opacity .2s ease
}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(1) {
  transform:translateY(7px) rotate(45deg)
}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity:0
}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(3) {
  transform:translateY(-7px) rotate(-45deg)
}
@media(max-width:850px) {
  header {
    overflow:visible
  }
  .nav {
    position:relative
  }
  .links {
    position:static;
    margin-left:auto
  }
  .mobile-menu-toggle {
    display:flex!important;
    color:#111!important
  }
  .links.is-open {
    position:absolute;
    top:calc(100% + 18px);
    left:-20px;
    right:-20px;
    z-index:80;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:12px 20px 20px;
    background:#fff;
    border-top:1px solid #e7ece9;
    box-shadow:0 20px 34px rgba(7,
    29,
    22,
    .18)
  }
  .links.is-open .mobile-menu-toggle {
    position:absolute;
    right:20px;
    top:-64px
  }
  .links.is-open>a,
  .links.is-open>.nav-dropdown {
    display:flex!important;
    width:100%;
    border-bottom:1px solid #edf0ee
  }
  .links.is-open>a {
    padding:14px 4px
  }
  .links.is-open>.cta {
    justify-content:center;
    margin-top:12px;
    border:0
  }
  .links.is-open .nav-dropdown {
    display:block!important
  }
  .links.is-open .nav-dropdown>a {
    display:flex!important;
    padding:14px 4px;
    align-items:center
  }
  .links.is-open .dropdown-menu {
    position:static;
    display:block;
    min-width:0;
    width:100%;
    padding:0 0 8px 12px;
    border:0;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    transform:none
  }
  .links.is-open .dropdown-menu:before {
    display:none
  }
  .links.is-open .dropdown-menu a {
    display:block!important;
    white-space:normal;
    padding:10px 8px;
    color:#31443c
  }
  .menu-open {
    overflow:hidden
  }
  .foot {
    grid-template-columns:1fr!important;
    gap:0!important
  }
  .foot>div {
    width:100%;
    padding:24px 0;
    border-bottom:1px solid rgba(255,
    255,
    255,
    .12)
  }
  .foot>div:first-child {
    grid-column:1/-1
  }
  .foot>div:last-child {
    border-bottom:0
  }
  .foot .award img {
    width:84px
  }
  .band .wrap,
  .company-contact .wrap {
    min-width:0
  }
  .work-card,
  .service-detail,
  .project-heading,
  .gallery figure {
    min-width:0
  }
}
@media(max-width:540px) {
  .wrap {
    max-width:calc(100% - 28px)
  }
  .links.is-open {
    left:-14px;
    right:-14px
  }
  .hero h1,
  .hero-compact h1 {
    overflow-wrap:anywhere
  }
  .gallery,
  .works-grid,
  .service-detail {
    width:100%
  }
}
