/* Scoped opened-panel expansion: the approved burger/brand remain unchanged. */
/* The original homepage hides its burger on desktop; expose the approved service navigation at every width. */
.mobile-menu[data-service-navigation] { display: block; }
[data-service-navigation] .mobile-menu-panel.service-menu-panel {
  position: absolute; inset: 54px auto auto 0; width: min(472px, calc(100vw - 40px));
  min-width: 0; height: auto; max-height: calc(100dvh - 104px); overflow: auto;
  display: block; padding: 18px; border: 1px solid rgba(125,169,212,.32);
  border-radius: 22px; background: #07111f; box-shadow: 0 26px 72px rgba(0,0,0,.55);
  color: #edf4fc; opacity: 1; transform: none; pointer-events: auto; backdrop-filter: blur(20px);
  overscroll-behavior: contain; font-family: 'Clarity City', system-ui, sans-serif;
}
[data-service-navigation] .service-menu-panel[hidden] { display: none !important; }
[data-service-navigation] .service-menu-panel a {
  position: static; inset: auto; display: flex; align-items: center; width: auto;
  height: auto; min-height: 44px; min-width: 0; margin: 0; padding: 10px 12px;
  border: 1px solid transparent; border-radius: 10px; box-shadow: none;
  color: #d3deea; background: transparent; font-size: 14px; font-weight: 500;
  line-height: 1.45; text-decoration: none; white-space: normal;
  opacity: 1; transform: none; pointer-events: auto; transition: background .15s, color .15s, border-color .15s;
}
[data-service-navigation] .service-menu-panel a::before,
[data-service-navigation] .service-menu-panel a::after { content: none !important; }
[data-service-navigation] .service-menu-panel a:hover,
[data-service-navigation] .service-menu-panel a[aria-current="page"] { color: #fff; background: rgba(111,177,235,.1); }
[data-service-navigation] :is(a, summary, button):focus-visible { outline: 2px solid #a5d4ff; outline-offset: 3px; }
.service-menu-top { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 0 0 12px; border-bottom: 1px solid rgba(157,184,212,.18); }
.service-menu-top p { margin: 0; color: #8fa8c2; font-size: 11px; letter-spacing: .13em; text-transform: uppercase; }
[data-service-navigation] .service-menu-top a { flex: 0 0 auto; font-weight: 700; color: #fff; padding-inline: 10px; }
.service-menu-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; padding: 10px 0 12px; }
.service-menu-section { border-top: 1px solid rgba(157,184,212,.12); padding-top: 8px; }
.service-menu-section > summary,
.service-menu-group > summary {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  min-height: 50px; padding: 9px 12px; border-radius: 12px; cursor: pointer; list-style: none;
  color: #f4f8fd; transition: background .15s, border-color .15s, color .15s;
}
.service-menu-section > summary { font-size: 18px; font-weight: 750; }
.service-menu-section > summary::-webkit-details-marker,
.service-menu-group > summary::-webkit-details-marker { display: none; }
.service-menu-section > summary:hover,
.service-menu-group > summary:hover { background: rgba(111,177,235,.08); }
.service-menu-section > summary span,
.service-menu-group > summary span { min-width: 0; }
.service-menu-section > summary small,
.service-menu-group > summary small {
  margin-left: auto; color: #86a0ba; font-size: 11px; font-weight: 650; letter-spacing: .06em;
  line-height: 1.2; text-transform: uppercase; white-space: nowrap;
}
.service-menu-section > summary::after,
.service-menu-group > summary::after { content: '+'; flex: 0 0 auto; font-size: 22px; line-height: 1; color: #9bbddd; font-weight: 400; }
.service-menu-section[open] > summary::after,
.service-menu-group[open] > summary::after { content: '−'; }
.service-menu-grid { display: grid; grid-template-columns: 1fr; gap: 8px; padding: 8px 0 4px; }
.service-menu-section:not([open]) > .service-menu-grid,
.service-menu-group:not([open]) > ul { display: none; }
.service-menu-group {
  min-width: 0; overflow: hidden; border: 1px solid rgba(157,184,212,.12); border-radius: 14px;
  background: rgba(4,12,23,.38);
}
.service-menu-group[open] { border-color: rgba(125,169,212,.24); background: rgba(9,22,39,.62); }
.service-menu-group > summary { min-height: 46px; padding: 8px 11px; color: #dce8f5; font-size: 13px; font-weight: 720; letter-spacing: .07em; text-transform: uppercase; }
.service-menu-group > summary small { font-size: 10px; letter-spacing: .08em; }
.service-menu-group ul { padding: 3px 8px 10px; margin: 0; list-style: none; }
.service-menu-group li + li { margin-top: 2px; }
.service-menu-group a { border-radius: 10px; }
.service-menu-note { padding: 13px 12px 0; margin: 10px 0 0; border-top: 1px solid rgba(157,184,212,.12); color: #91a4b9; font-size: 12px; line-height: 1.6; }
@media (max-width: 720px) {
  [data-service-navigation] .mobile-menu-panel.service-menu-panel { width: calc(100vw - 32px); max-height: calc(100dvh - 96px); padding: 16px; }
  .service-menu-top { align-items: flex-start; gap: 8px; }
  .service-menu-links { grid-template-columns: 1fr; gap: 4px; }
  [data-service-navigation] .service-menu-panel a { min-height: 46px; }
  .service-menu-section > summary small { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  [data-service-navigation] *, [data-service-navigation] *::before, [data-service-navigation] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
