/* v41: navigation is one source of truth. Accessible links + independently focusable submenu buttons. */
.topbar{z-index:100!important}.topbar .mast{max-width:1600px;min-height:76px;gap:12px;padding-inline:clamp(12px,1.45vw,25px)}
.topbar .logo{flex:0 0 auto;gap:7px}.topbar .logo .brand-icon{height:43px;width:35px}
.topbar .brand-name{font-size:20px;line-height:1}.topbar .brand-name small{font-size:7px;letter-spacing:1.4px;margin-top:6px}
.topbar #main-nav{display:flex;flex:1 1 auto;min-width:0;align-items:center;justify-content:flex-end;gap:clamp(4px,.52vw,10px);font-size:clamp(11px,.86vw,13px);line-height:1.3;white-space:nowrap}
.topbar .ts-nav-link{color:var(--ink);font-weight:700;text-decoration:none;padding:11px 2px;border-radius:8px;transition:color .16s ease}
.topbar .ts-nav-link:hover,.topbar .ts-nav-link:focus-visible{color:var(--accent)}
.topbar .ts-nav-contact{background:rgba(69,220,187,.13);color:var(--accent);padding:10px 12px;border:1px solid rgba(69,220,187,.35)}
.topbar .ts-nav-group{display:flex;align-items:center;position:relative;min-width:0}
.topbar .ts-nav-expand{border:0;background:transparent;color:var(--accent);padding:9px 4px;cursor:pointer;font-size:18px;font-weight:900;line-height:1;transform-origin:center;transition:transform .16s}
.topbar .ts-nav-group.ts-open>.ts-nav-expand{transform:rotate(180deg)}
.topbar .ts-nav-menu{display:none;position:absolute;top:100%;left:0;z-index:110;min-width:245px;padding:8px;border-radius:12px;background:#102633;border:1px solid #356173;box-shadow:0 18px 36px #0008;white-space:normal}
.topbar .ts-nav-group:last-of-type .ts-nav-menu{right:0;left:auto}
.topbar .ts-nav-group.ts-open .ts-nav-menu,.topbar .ts-nav-group:hover .ts-nav-menu,.topbar .ts-nav-group:focus-within .ts-nav-menu{display:grid;gap:3px}
.topbar .ts-nav-menu a{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;color:#def4f2!important;text-decoration:none;font-size:12px;border-radius:8px;font-weight:650}
.topbar .ts-nav-menu a:hover,.topbar .ts-nav-menu a:focus-visible{background:#1c4650!important;color:#79efda!important}
#theme-toggle{flex:0 0 auto}#mobile{display:none}
html[data-theme="light"] .topbar .ts-nav-link{color:#193447}html[data-theme="light"] .topbar .ts-nav-contact{color:#086f61;background:#e1f5ef}
html[data-theme="light"] .topbar .ts-nav-menu{background:#fff;border-color:#c2d9dc;box-shadow:0 16px 35px #143e4430}
html[data-theme="light"] .topbar .ts-nav-menu a{color:#1a3b49!important}html[data-theme="light"] .topbar .ts-nav-menu a:hover{background:#e8f7f3!important;color:#066d60!important}
@media(max-width:1360px){
 .topbar .mast{min-height:74px}
 .topbar #main-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;max-height:calc(100dvh - 74px);overflow:auto;background:#0b1e28;border-bottom:1px solid #38606d;padding:14px max(20px,calc((100% - 720px)/2));font-size:14px;white-space:normal;box-shadow:0 22px 35px #0008}
 .topbar #main-nav.expanded{display:flex}
 .topbar #main-nav>.ts-nav-link,.topbar #main-nav>.ts-nav-group{padding:8px 4px;border-bottom:1px solid #2c4859}
 .topbar .ts-nav-group{display:flex;flex-wrap:wrap;justify-content:space-between}
 .topbar .ts-nav-group .ts-nav-parent{flex:1}
 .topbar .ts-nav-expand{font-size:22px;min-width:42px;padding:8px}
 .topbar .ts-nav-menu{position:static;flex-basis:100%;width:100%;box-shadow:none;min-width:0;padding:5px 0 6px 12px;border:0;background:transparent}
 .topbar .ts-nav-group:hover .ts-nav-menu,.topbar .ts-nav-group:focus-within .ts-nav-menu{display:none}
 .topbar .ts-nav-group.ts-open .ts-nav-menu{display:grid}
 .topbar .ts-nav-menu a{font-size:13px;padding:11px 14px}
 #mobile{display:block;margin-left:4px;color:var(--ink)}#theme-toggle{margin-left:auto}
 html[data-theme="light"] .topbar #main-nav{background:#fff;border-color:#bed7df}
 html[data-theme="light"] .topbar #main-nav>.ts-nav-link,html[data-theme="light"] .topbar #main-nav>.ts-nav-group{border-color:#d4e2e8}
}
@media(max-width:390px){.topbar .brand-name{font-size:16px}.topbar .logo .brand-icon{width:28px}.topbar .mast{gap:5px}}
@media(prefers-reduced-motion:reduce){.topbar .ts-nav-expand,.topbar .ts-nav-link{transition:none}}

#custom-coding,#optimization-plans{scroll-margin-top:105px}

.topbar .ts-nav-menu .ts-nav-menu-label{font-size:9px;font-weight:900;letter-spacing:1.6px;color:#64c5b8;padding:10px 12px 2px}
