/* Public navigation owns its geometry across the landing and editorial shells. */
.public-header-band { position: relative; z-index: 30; }
.ecosystem-hero.trial-header { overflow: visible; }
.public-navigation-enabled { min-height: 80px; grid-template-columns: auto minmax(0,1fr) auto; gap: 24px; padding-block: 0; }
.public-navigation-enabled .public-primary-navigation {
  display: flex; align-items: center; justify-self: center; gap: 16px;
  padding: 0; margin: 0; grid-column: 2; grid-row: 1;
}
.public-navigation-enabled .public-primary-navigation[hidden],
.public-navigation-enabled .public-nav-panel[hidden],
.public-navigation-enabled .public-menu-toggle[hidden] { display: none; }
.public-nav-group { position: relative; display: flex; align-items: center; gap: 4px; }
.public-navigation-enabled .public-primary-navigation > a,
.public-navigation-enabled .public-nav-group > a {
  display: inline-flex; align-items: center; justify-content: flex-start; min-height: 48px; flex: 0 0 auto;
  padding: 0; color: #1f2937; font-size: .9rem; font-weight: 650;
  text-align: left; white-space: nowrap; text-decoration: none;
}
.public-navigation-enabled .public-nav-disclosure,
.public-navigation-enabled .public-menu-toggle {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 44px; min-height: 48px; flex: 0 0 auto; margin: 0; padding: 0 10px;
  border: 0; border-radius: 4px; background: transparent; color: #1f2937;
  font: 650 .9rem/1.3 var(--font-body, "Segoe UI", sans-serif); cursor: pointer;
}
.public-nav-chevron {
  display: block; width: 10px; height: 10px; flex: 0 0 auto;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg); pointer-events: none;
}
.public-nav-disclosure[aria-expanded="true"] .public-nav-chevron { transform: translateY(2px) rotate(225deg); }
.public-navigation-enabled .public-nav-disclosure:hover,
.public-navigation-enabled .public-nav-disclosure[aria-expanded="true"] { background: #eef0f2; }
.public-navigation-enabled .public-nav-panel {
  position: absolute; inset: calc(100% + 4px) auto auto 0; z-index: 40;
  display: grid; width: 248px; padding: 8px; margin: 0;
  border: 1px solid #d9dfe5; border-radius: 8px;
  background: #fff; color: #1f2937; box-shadow: 0 12px 28px rgba(31,41,55,.12);
}
.public-navigation-enabled .public-nav-panel::before {
  content: ""; position: absolute; inset: -8px 0 auto; height: 8px;
}
.public-navigation-enabled .public-nav-panel a {
  display: flex; align-items: center; justify-content: flex-start; min-height: 44px; padding: 10px 12px;
  border-radius: 5px; color: #1f2937; font-size: .9rem; font-weight: 500;
  line-height: 1.4; text-align: left; white-space: normal; text-decoration: none;
}
.public-navigation-enabled .public-nav-panel a:hover,
.public-navigation-enabled .public-nav-panel a:focus-visible,
.public-navigation-enabled .public-nav-panel a[aria-current="page"] { background: #eef0f2; color: #1f2937; }
.public-navigation-enabled .public-nav-panel a[aria-current="page"]::after { content: none; }
.public-navigation-enabled :focus-visible { outline: 3px solid #1f2937; outline-offset: 3px; }
.public-navigation-enabled .landing-access-actions { grid-column: 3; grid-row: 1; }
.public-navigation-enabled :is(.workspace-link,.sign-in,.landing-access-link) {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 0 14px; border: 1px solid #53606d; border-radius: 8px;
  background: transparent; color: #1f2937; font-size: .85rem; font-weight: 650;
  line-height: 1.4; text-decoration: none;
}
.public-navigation-enabled :is(.workspace-link,.sign-in,.landing-access-link):hover { background: #eef0f2; }

@media (max-width: 980px) {
  .public-navigation-enabled { min-height: 72px; grid-template-columns: minmax(0,1fr) auto auto; gap: 12px; padding-block: 8px; }
  .public-navigation-enabled > :is(.brand-lockup,.site-brand,.brand) { grid-column: 1; grid-row: 1; }
  .public-navigation-enabled > .public-menu-toggle { grid-column: 2; grid-row: 1; padding-inline: 10px; min-width: 44px; }
  .public-navigation-enabled > :is(.workspace-link,.sign-in,.landing-access-actions) { grid-column: 3; grid-row: 1; }
  .public-navigation-enabled .public-primary-navigation {
    grid-column: 1 / -1; grid-row: 2; justify-self: stretch; width: 100%;
    flex-direction: column; align-items: stretch; gap: 0; padding: 8px 0;
    border-top: 1px solid #d9dfe5;
  }
  .public-navigation-enabled .public-primary-navigation > a,
  .public-navigation-enabled .public-nav-group > a { flex: 1 1 auto; min-height: 44px; padding-inline: 12px; }
  .public-navigation-enabled .public-nav-group { flex-wrap: wrap; }
  .public-navigation-enabled .public-nav-disclosure { min-width: 48px; min-height: 44px; }
  .public-navigation-enabled .public-nav-panel {
    position: static; flex-basis: 100%; width: 100%; margin: 0 0 8px;
    grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2px 6px;
    padding: 4px 8px; border: 0; border-left: 2px solid #d9dfe5; border-radius: 0;
    background: transparent; box-shadow: none;
  }
  .public-navigation-enabled .public-nav-panel a { min-width: 0; padding: 8px 10px; font-size: .875rem; line-height: 1.4; }
  .public-navigation-enabled .public-nav-panel::before { content: none; }
}
@media (max-width: 430px) {
  .public-navigation-enabled { gap: 4px; }
  .public-navigation-enabled .site-brand,
  .public-navigation-enabled .brand { font-size: 1.5rem; }
  .public-navigation-enabled :is(.workspace-link,.sign-in,.landing-access-link) { padding-inline: 10px; }
  .public-navigation-enabled > .public-menu-toggle { padding-inline: 6px; }
  .public-navigation-enabled :is(.workspace-link,.sign-in,.landing-access-link) > [aria-hidden="true"] { display: none; }
}
