.primary-navigation { position: relative; }
.services-dropdown { position: relative; }
.services-dropdown summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}
.services-dropdown summary::-webkit-details-marker { display: none; }
.services-dropdown summary span { color: #d90812; font-size: 15px; transition: transform .2s ease; }
.services-dropdown[open] summary span { transform: rotate(180deg); }
.services-dropdown-menu {
  position: absolute;
  z-index: 100;
  top: calc(100% + 25px);
  left: -18px;
  width: 310px;
  padding: 9px;
  background: #0b0b0c;
  color: #fff;
  box-shadow: 0 18px 50px rgba(0,0,0,.28);
}
.services-dropdown-menu a {
  display: block;
  padding: 14px 16px;
  border-bottom: 1px solid #29292b;
  font-size: 11px;
  line-height: 1.35;
  letter-spacing: .08em;
}
.services-dropdown-menu a:last-child { border-bottom: 0; }
.services-dropdown-menu a:hover,
.services-dropdown-menu a:focus-visible { background: #d90812; color: #fff; }
.mobile-services-overlay { display: none; }

@media (min-width: 1051px) {
  .services-dropdown:hover .services-dropdown-menu { display: block; }
}

@media (max-width: 1050px) {
  .primary-navigation .services-dropdown {
    flex: 0 0 auto;
    display: flex;
    align-items: stretch;
  }
  .primary-navigation .services-dropdown summary {
    min-height: 48px;
    padding: 0 15px;
    border-right: 1px solid #2b2b2e;
    font-size: 10px;
    letter-spacing: .08em;
  }
  .services-dropdown > .services-dropdown-menu { display: none !important; }
  .services-dropdown-menu a { min-height: 46px !important; }
  .mobile-services-overlay {
    display: none;
    position: fixed;
    z-index: 99999;
    top: 140px;
    right: 12px;
    left: 12px;
    width: auto;
    max-height: calc(100vh - 160px);
    overflow-y: auto;
  }
  .mobile-services-overlay.is-open { display: block; }
  body.tm-services-open::after {
    content: '';
    position: fixed;
    z-index: 99990;
    inset: 0;
    background: rgba(0,0,0,.52);
  }
}

@media (max-width: 650px) {
  .mobile-services-overlay { top: 130px; }
  .primary-navigation .services-dropdown summary { font-size: 12px; }
}
