/* Studio88 — top navigation: Services dropdown + mobile submenu (all pages) */
.nav-links{ align-items:center; }
.nav-dd{ position:relative; }
.nav-dd-toggle{ display:inline-flex; align-items:center; gap:5px; background:none; border:0; padding:0; cursor:pointer; font:inherit; font-weight:600; color:inherit; }
.nav-dd-toggle svg{ width:14px; height:14px; transition:transform .2s ease; }
.nav-dd-toggle:hover, .nav-dd.open .nav-dd-toggle{ color:var(--purple-deep); }
.nav-dd.open .nav-dd-toggle svg{ transform:rotate(180deg); }
.nav-dd-menu{
  position:absolute; top:calc(100% + 18px); left:50%; transform:translate(-50%,6px);
  width:360px; padding:10px; border-radius:22px; background:#fff; border:1px solid var(--line);
  box-shadow:0 30px 60px -24px rgba(60,30,110,.35);
  opacity:0; visibility:hidden; transition:opacity .18s ease, transform .18s ease, visibility .18s; z-index:60;
}
.nav-dd-menu::before{ content:""; position:absolute; top:-20px; left:0; right:0; height:20px; } /* hover bridge */
.nav-dd:hover .nav-dd-menu, .nav-dd.open .nav-dd-menu, .nav-dd:focus-within .nav-dd-menu{ opacity:1; visibility:visible; transform:translate(-50%,0); }
.nav-dd-menu a{ display:block; padding:11px 14px; border-radius:14px; transition:background .15s ease; }
.nav-dd-menu a:hover{ background:var(--bg-soft); }
.nav-dd-menu .dd-name{ display:block; font-size:14px; font-weight:700; color:var(--text); }
.nav-dd-menu a:hover .dd-name{ color:var(--purple-deep); }
.nav-dd-menu .dd-sub{ display:block; font-size:12.5px; font-weight:500; color:var(--text-dim); margin-top:2px; line-height:1.4; }
.nav-dd-menu .dd-all{ margin-top:4px; border-top:1px solid var(--line); border-radius:0 0 14px 14px; font-size:13px; font-weight:700; color:var(--purple-deep); }

.mm-services{ border-bottom:1px solid var(--line); }
.mm-services summary{ list-style:none; cursor:pointer; padding:14px 2px; font-size:15.5px; font-weight:600; color:var(--text); display:flex; justify-content:space-between; align-items:center; }
.mm-services summary::-webkit-details-marker{ display:none; }
.mm-services summary::after{ content:"+"; font-size:20px; color:var(--purple-deep); transition:transform .2s ease; }
.mm-services[open] summary::after{ transform:rotate(45deg); }
.mobile-menu .mm-services a{ display:block; padding:10px 2px 10px 14px; font-size:14.5px; font-weight:600; color:var(--text-dim); border-bottom:none; }
.mobile-menu .mm-services a:last-child{ padding-bottom:16px; }
.mobile-menu{ max-height:calc(100vh - 92px); overflow-y:auto; }
