.main-nav .nav-inner { position: relative; }
.service-pages-menu { position: relative; display: inline-flex; align-items: center; }
.service-pages-menu > summary {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 0 10px;
  list-style: none;
  cursor: pointer;
  color: inherit;
  font: inherit;
  font-weight: 600;
  white-space: nowrap;
  border-radius: 8px;
  transition: color .18s ease, background .18s ease;
}
.service-pages-menu > summary::-webkit-details-marker { display: none; }
.service-pages-menu > summary::after {
  content: '';
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .18s ease;
}
.service-pages-menu:hover > summary,
.service-pages-menu:focus-within > summary,
.service-pages-menu[open] > summary { color: #1478ed; background: #f1f7ff; }
.service-pages-menu[open] > summary::after { transform: rotate(225deg) translate(-2px, -1px); }
.service-pages-menu__list {
  position: absolute;
  z-index: 10000;
  top: calc(100% + 2px);
  left: 0;
  display: none;
  width: max-content;
  min-width: 260px;
  max-width: min(340px, calc(100vw - 24px));
  padding: 8px;
  background: #fff;
  border: 1px solid #e4eaf1;
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(15, 37, 61, .18);
}
.service-pages-menu[open] .service-pages-menu__list { display: grid; gap: 3px; }
.service-pages-menu__list a {
  display: block;
  padding: 11px 13px;
  color: #27394e;
  font-size: 14px;
  line-height: 1.3;
  text-decoration: none;
  border-radius: 8px;
  transition: color .15s ease, background .15s ease;
}
.service-pages-menu__list a:hover,
.service-pages-menu__list a:focus-visible { color: #126fe0; background: #f1f7ff; outline: none; }
@media (max-width: 900px) {
  .service-pages-menu { display: block; }
  .service-pages-menu > summary { width: 100%; justify-content: space-between; }
  .service-pages-menu__list { position: static; width: auto; min-width: 0; max-width: none; margin: 2px 0 8px; box-shadow: none; }
}

.main-nav .service-pages-menu > summary { min-height:44px; padding:0 4px; font-size:13px; font-weight:670; }
.service-pages-menu__list a::after { display:none; }
@media(max-width:900px) { .main-nav.is-open { overflow-y:auto; } .main-nav .service-pages-menu > summary { padding:12px 4px; font-size:15px; } }
