/* Shared public navigation. Deliberately separate from authenticated workspaces. */
.public-header { position:sticky; top:0; z-index:100; background:rgba(255,255,255,.92); backdrop-filter:blur(18px); border-bottom:1px solid #dce2e8; color:#071b36; font:600 14px/1.4 Manrope,Arial,sans-serif; }
.public-header * { box-sizing:border-box; }
.public-header-inner { width:min(1280px,calc(100% - 64px)); margin:auto; min-height:82px; display:flex; align-items:center; gap:32px; }
.public-brand { flex:0 0 156px; display:block; }
.public-brand img { display:block; width:156px; height:auto; max-width:100%; filter:none; background:none; }
.public-primary { display:flex; align-items:center; gap:24px; margin-left:auto; }
.public-header a { color:inherit; text-decoration:none; }
.public-primary a,.public-signin { display:inline-flex; align-items:center; min-height:44px; white-space:nowrap; }
.public-header a:hover { text-decoration:underline; text-underline-offset:5px; }
.public-header [aria-current=page] { text-decoration:underline; text-decoration-color:#cb7200; text-decoration-thickness:2px; text-underline-offset:7px; }
.public-actions { display:flex; align-items:center; gap:20px; margin-left:auto; }
.public-book { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 18px; border-radius:5px; background:#f59c1a; color:#071b36; font-weight:750; white-space:nowrap; }
.public-menu-toggle { display:none; width:44px; height:44px; padding:10px; align-items:center; justify-content:center; border:1px solid #cbd3dd; border-radius:5px; color:#071b36; background:transparent; cursor:pointer; }
.public-menu { display:none; background:#fff; border-top:1px solid #dce2e8; }
.public-menu nav { width:min(1280px,calc(100% - 40px)); margin:auto; padding:12px 0; display:grid; }
.public-menu a { min-height:44px; display:flex; align-items:center; padding:10px 2px; border-bottom:1px solid #edf0f3; }
.public-header :is(a,button):focus-visible { outline:3px solid #116b9d; outline-offset:4px; }
html { scroll-padding-top:100px; }
@media(max-width:1100px) {
  .public-header-inner { width:calc(100% - 40px); gap:20px; }
  .public-primary { gap:16px; }
  .public-actions { gap:14px; }
  .public-signin { display:none; }
  .public-primary a:last-child { display:none; }
  .public-menu-toggle { display:flex; }
  html:not(.corporate-nav-ready) .public-menu { display:block; }
  html:not(.corporate-nav-ready) .public-menu-toggle { display:none; }
  .public-menu.is-open { display:block; max-height:calc(100dvh - 82px); overflow:auto; }
}
@media(max-width:820px) {
  .public-header-inner { min-height:72px; width:calc(100% - 32px); }
  .public-primary { display:none; }
  .public-brand { flex-basis:136px; }
  .public-book { padding:10px 12px; font-size:13px; }
  .public-actions { gap:10px; }
  .public-menu.is-open { max-height:calc(100dvh - 72px); }
  html { scroll-padding-top:88px; }
  html:not(.corporate-nav-ready) .public-menu { display:block; }
  html:not(.corporate-nav-ready) .public-menu-toggle { display:none; }
}
@media(max-width:360px) { .public-brand { flex-basis:104px; } .public-header-inner { gap:8px; } .public-actions { gap:8px; } }
@media(prefers-reduced-transparency:reduce) { .public-header { background:#fff; backdrop-filter:none; } }
