/* Shared header contract, loaded after each public page's branded stylesheet. */
.navbar { height:88px; min-height:88px; padding:0; }
.navbar .nav-inner { width:min(1280px,calc(100% - 40px)); height:100%; display:flex; align-items:center; gap:clamp(12px,1.4vw,24px); }
.navbar .logo { display:flex; align-items:center; flex:0 0 84px; min-width:0; }
.navbar .logo img { display:block; width:84px; max-width:100%; height:60px; object-fit:contain; }
.navbar .logo:has(.brand-name) { flex-basis:auto; gap:8px; }
.navbar .logo:has(.brand-name) img { width:60px; }
.navbar .brand-name { font-size:16px; }
.navbar .nav-links { display:flex; flex:1 1 auto; min-width:0; align-items:center; justify-content:center; gap:clamp(10px,1.2vw,20px); margin:0; }
.navbar .nav-links a { flex:0 0 auto; white-space:nowrap; font-size:13px; line-height:1.4; }
.navbar .nav-actions { display:flex; flex:0 0 auto; align-items:center; gap:8px; width:auto; margin:0; }
.navbar .nav-actions .btn { white-space:nowrap; min-height:44px; padding:0 14px; font-size:13px; }
.navbar .menu { display:none; flex:0 0 auto; margin-left:auto; padding:10px; cursor:pointer; }
.navbar .nav-links .mobile-login-link { display:none!important; }
.navbar :is(a,button):focus-visible { outline:3px solid #38bdf8; outline-offset:4px; }
main section[id] { scroll-margin-top:108px; }
.hero-grid > *, .platform-grid > *, .experience-grid > *, .grid > * { min-width:0; }
@media (min-width:1001px) and (max-width:1180px) {
  .navbar .nav-inner { gap:12px; }
  .navbar .nav-links { gap:10px; }
  .navbar .nav-links a { font-size:12px; }
  .navbar .nav-actions .btn { padding-inline:10px; font-size:12px; }
}
@media (max-width:1000px) {
  .navbar .nav-actions { display:none; }
  .navbar .menu { display:block; }
  .navbar .nav-links { display:none; position:absolute; top:88px; inset-inline:0; flex-direction:column; align-items:stretch; gap:8px; padding:18px 24px; max-height:calc(100dvh - 88px); overflow-y:auto; background:#071633; border-top:1px solid #93c5fd33; box-shadow:0 20px 40px #02061755; }
  .navbar .nav-links.open { display:flex; }
  .navbar .nav-links a { padding:10px 12px; font-size:14px; }
  .navbar .nav-links .mobile-login-link { display:flex!important; width:100%; justify-content:center; margin-top:8px; color:#020617!important; background:linear-gradient(135deg,#38bdf8,#818cf8); border-radius:12px; }
}
@media (max-width:680px) {
  .navbar { height:76px; min-height:76px; }
  .navbar .nav-inner { width:calc(100% - 28px); }
  .navbar .logo img { height:54px; }
  .navbar .nav-links { top:76px; max-height:calc(100dvh - 76px); }
  main section[id] { scroll-margin-top:96px; }
}
