/* Shared, scoped public chrome; never loaded into checkout or Realm. */
.public-navigation {
  --nav-bg:rgba(5,13,8,.96); --nav-text:#e8eee8; --nav-muted:rgba(232,238,232,.75);
  --nav-gold:#d8b86b; --nav-highlight:#f0d995; --nav-line:rgba(216,184,107,.18);
  --nav-shadow:0 8px 28px rgba(0,0,0,.16);
  position:sticky; top:0; z-index:50; box-sizing:border-box;
  display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center;
  gap:24px; min-height:calc(70px + env(safe-area-inset-top));
  padding:env(safe-area-inset-top) max(20px,calc((100% - 1180px)/2)) 0;
  border-bottom:1px solid var(--nav-line); background:var(--nav-bg);
  color:var(--nav-text); box-shadow:var(--nav-shadow); backdrop-filter:blur(18px);
}
.public-navigation .brand { min-width:0; border:0; color:var(--nav-text); font:400 1.08rem/1.2 Georgia,serif; white-space:nowrap; letter-spacing:0; text-decoration:none; }
.public-navigation .brand span { color:var(--nav-gold); }
.public-navigation nav { display:flex; justify-content:center; gap:24px; margin:0; min-width:0; }
.public-navigation nav a,.public-navigation .nav-cta { display:flex; align-items:center; justify-content:center; min-height:44px; box-sizing:border-box; font:700 .875rem/1.2 Arial,Helvetica,sans-serif; letter-spacing:0; text-transform:uppercase; text-decoration:none; color:var(--nav-muted); white-space:nowrap; }
.public-navigation nav a { border:0; }
.public-navigation .nav-cta { justify-self:end; flex-shrink:0; padding:10px 16px; border:1px solid var(--nav-line); border-radius:999px; color:var(--nav-highlight); }
.public-navigation a:hover,.public-navigation a[aria-current="page"] { color:var(--nav-highlight); }
.public-navigation a:focus-visible { outline:2px solid var(--nav-highlight); outline-offset:3px; }
.immersive-map .public-navigation { position:fixed; inset:0 0 auto; width:100%; }
#explainers { scroll-margin-top:140px; }
@media(max-width:1000px) {
  .public-navigation { grid-template-columns:minmax(0,1fr) auto; gap:0 12px; min-height:calc(112px + env(safe-area-inset-top)); padding:calc(10px + env(safe-area-inset-top)) 16px 0; }
  .public-navigation nav { display:flex; grid-column:1/-1; grid-row:2; justify-content:space-around; gap:8px; }
  .public-navigation nav a { min-height:48px; padding:10px 2px; }
}
@media(max-width:420px) {
  .public-navigation { padding-left:12px; padding-right:12px; gap:0 8px; }
  .public-navigation .brand { font-size:.94rem; }
  .public-navigation .nav-cta { font-size:.75rem; padding:10px; }
  .public-navigation nav a { font-size:.8125rem; }
}