.nav-services { position: relative; }
.nav-services summary { display: flex; align-items: center; gap: 9px; cursor: pointer; list-style: none; font-size: 12px; font-weight: 400; color: #dfe3e6; text-transform: uppercase; min-height: 44px; }
.nav-services summary::-webkit-details-marker, .mobile-services summary::-webkit-details-marker { display: none; }
.nav-disclosure { display: none; }
.nav-services[open] > summary { color: #fff; }
.nav-services[open] > summary::after { transform: scaleX(1); }
.service-menu {
  position: absolute;
  z-index: 2;
  top: calc(100% + 32px);
  left: -24px;
  width: 320px;
  padding: 15px;
  background: linear-gradient(145deg, #151d23, #0c1115 80%);
  border: 1px solid #b2c9d51c;
  border-radius: 5px;
  box-shadow: 0 24px 60px #0007;
}
.service-menu::before { content: ''; position: absolute; top: -1px; left: 20px; right: 20px; height: 1px; background: linear-gradient(90deg, transparent, #78b4d7aa, transparent); }
.desktop-nav .service-menu a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 51px;
  padding: 14px 19px;
  font-size: 14px;
  letter-spacing: -.015em;
  text-transform: none;
  border-radius: 3px;
  color: #cbd4da;
  transition: background .2s, color .2s, padding .2s;
}
.desktop-nav .service-menu a::before { content: ''; position: absolute; left: 9px; top: 19px; bottom: 19px; width: 2px; background: #67b5e2; opacity: 0; transition: opacity .2s; }
.desktop-nav .service-menu a:is(:hover,:focus-visible,[aria-current="page"]) { background: #7eb8da0c; color: #fff; padding-left: 25px; }
.desktop-nav .service-menu a:is(:hover,:focus-visible,[aria-current="page"])::before { opacity: 1; }
.desktop-nav .service-menu a:focus-visible { outline: 1px solid #78b4d7; outline-offset: -1px; }
.desktop-nav .service-menu .all-services { min-height: 45px; border-top: 1px solid #ffffff0d; border-radius: 0; margin-top: 10px; padding-top: 18px; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #8ca9bb; }
@media (prefers-reduced-motion:no-preference) {
  .nav-services[open] .service-menu { animation: services-menu-in .2s var(--ease) both; }
}
@keyframes services-menu-in { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
.mobile-services summary { display: flex; align-items: center; justify-content: space-between; list-style: none; cursor: pointer; text-transform: uppercase; font-size: 30px; letter-spacing: -.035em; padding: 17px 0; border-bottom: 1px solid #ffffff15; }
.mobile-services .nav-disclosure { margin-right: 5px; }
.mobile-services > div { padding: 8px 0 15px 16px; border-left: 1px solid #218acb70; margin: 16px 0; }
.mobile-services > div a { display: flex; align-items: center; min-height: 44px; font-size: 16px; color: #becbd4; }
.mobile-services a[aria-current="page"] { color: #7cc7f2; }
.footer-top { grid-template-columns: 1.3fr 1fr .8fr 1.1fr; gap: 35px; }
.footer-brand .footer-socials { margin-top: 23px; }
.footer-top .footer-column:last-child { grid-column: auto; flex-direction: column; align-items: start; gap: 13px; padding-top: 15px; }
.footer-top .footer-column:last-child h2 { display: block; }
.footer-services a[aria-current="page"] { color: #79bce5; }
@media (max-width:980px) {
  .footer-top { grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}
@media (max-width:700px) {
  .footer-top { grid-template-columns: 1fr 1fr; gap: 30px 22px; }
  .footer-top .footer-column:last-child { grid-column: 1 / -1; padding-top: 0; }
  .footer-column a { min-height: 32px; display: inline-flex; align-items: center; }
}
