/* Shared corporate typography + top navigation for all public pages. */
:root {
  --pub-navy: #0e1f3a;
  --pub-navy-2: #16305a;
  --pub-blue: #0f8bd9;
  --pub-green: #1f9d63;
  --pub-ink: #14233f;
}

body {
  font-family: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.pub-nav {
  position: sticky; top: 0; z-index: 1300;
  display: flex; align-items: center; gap: 22px; justify-content: flex-start;
  height: 62px; min-height: 62px; padding: 0 26px;
  background: var(--pub-navy); color: #fff;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .06), 0 8px 26px rgba(9, 20, 44, .16);
}
.pub-brand { display: flex; align-items: center; gap: 11px; text-decoration: none; color: #fff; font-weight: 800; letter-spacing: .14em; font-size: 14px; white-space: nowrap; }
.pub-brand span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: var(--pub-blue); font-size: 13px; font-weight: 900; box-shadow: 0 4px 12px rgba(15, 139, 217, .4); }

.pub-links { display: flex; align-items: center; gap: 4px; margin-left: 6px; }
.pub-link { position: relative; text-decoration: none; color: #c3d3e8; font-size: 13.5px; font-weight: 600; letter-spacing: .01em; padding: 9px 15px; border-radius: 9px; transition: color .15s, background .15s; white-space: nowrap; }
.pub-link:hover { color: #fff; background: rgba(255, 255, 255, .08); }
.pub-link.active { color: #fff; }
.pub-link.active::after { content: ""; position: absolute; left: 15px; right: 15px; bottom: 3px; height: 2px; border-radius: 2px; background: var(--pub-blue); }

.pub-spacer { flex: 1; }
.pub-lang { border: 1px solid rgba(255, 255, 255, .28); background: transparent; color: #dbe6f4; font-family: inherit; font-size: 12px; font-weight: 700; letter-spacing: .06em; padding: 8px 13px; border-radius: 999px; cursor: pointer; transition: background .15s, color .15s; }
.pub-lang:hover { background: rgba(255, 255, 255, .1); color: #fff; }
.pub-badge { font-size: 11px; font-weight: 800; letter-spacing: .09em; color: #0a1a30; background: linear-gradient(135deg, #8be6b7, #57d99a); padding: 8px 13px; border-radius: 999px; white-space: nowrap; }

@media (max-width: 760px) {
  .pub-nav { gap: 10px; padding: 0 14px; height: auto; min-height: 56px; flex-wrap: wrap; }
  .pub-brand b { display: none; }
  .pub-links { order: 3; width: 100%; overflow-x: auto; gap: 2px; padding-bottom: 8px; margin-left: 0; }
  .pub-link { padding: 8px 12px; font-size: 13px; }
  .pub-spacer { display: none; }
}
