/* Site-wide header and footer styling shared by every page via inc-header.php / inc-footer.php.
   Mirrors the rules that previously lived only in the homepage stylesheets. */
.edge-dot { display: inline-block; width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: #57e1bd; box-shadow: 0 0 0 4px rgb(87 225 189 / 12%); }
.nav__item--cta { margin-left: 18px; }
.nav__item--cta .edge-dot { background: #234c40; box-shadow: none; }
.nav__link { padding-inline: 12px; font-size: 15px; }
.edge-mobile-demo { display: none; }

/* Tools menu */
.nav__item--menu { position: relative; }
.nav__item--menu > .nav__link { display: inline-flex; align-items: center; gap: 6px; background: transparent; border: 0; cursor: pointer; font-family: var(--font-body); font-weight: 400; line-height: inherit; letter-spacing: inherit; color: var(--navy); }
.nav__item--menu > .nav__link:hover { font-weight: 700; }
.nav__item--menu > .nav__link::after { content: ""; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
.nav__item--menu[data-open="true"] > .nav__link::after { transform: translateY(1px) rotate(225deg); }
.nav__menu { position: absolute; top: calc(100% + 6px); left: 8px; min-width: 260px; margin: 0; padding: 8px; list-style: none; background: #fff; border: 1px solid #dbe3f2; border-radius: 12px; box-shadow: 0 18px 44px -18px rgba(37, 48, 83, .35); opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .18s, transform .18s, visibility .18s; z-index: 30; }
.nav__item--menu[data-open="true"] .nav__menu, .nav__item--menu:focus-within .nav__menu { opacity: 1; visibility: visible; transform: translateY(0); }
@media (hover: hover) { .nav__item--menu:hover .nav__menu { opacity: 1; visibility: visible; transform: translateY(0); } }
.nav__menu a { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; padding: 10px 12px; border-radius: 8px; color: var(--navy); }
.nav__menu a:hover { background: #eef3ff; }
.nav__menu strong { font-size: 14px; }
.nav__menu small { grid-column: 1; color: #63718a; font-size: 12px; line-height: 1.5; }
.nav__menu a > span:last-child { grid-row: span 2; align-self: center; color: var(--blue); font-size: 14px; }
.nav__menu-tag { display: inline-block; margin-left: 8px; padding: 1px 6px; border-radius: 4px; background: #e6f8f1; color: #1f8a68; font-size: 10px; font-weight: 700; letter-spacing: .06em; vertical-align: 2px; }

/* Footer */
.site-footer__bottom { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px 26px; }
.mg-status-pill { display: inline-flex; align-items: center; gap: 9px; padding: 6px 12px; border: 1px solid #cfe2dc; border-radius: 999px; background: #eefaf5; color: #1f8a68; font: 700 10.5px ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .1em; }
.mg-status-pill .edge-dot { background: #2fb98e; box-shadow: 0 0 0 4px rgba(47, 185, 142, .15); }
@media (min-width: 901px) { .site-footer__top { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); } }

/* Responsive */
@media (min-width: 961px) and (max-width: 1100px) {
  .site-header__inner { gap: 10px; }
  .nav__link { padding-inline: 9px; font-size: 13px; }
  .nav__item--cta { margin-left: 8px; }
}
@media (max-width: 960px) {
  .edge-mobile-demo { display: inline-flex; align-items: center; gap: 7px; margin-left: auto; padding: 9px 12px; border: 1px solid var(--gold-border); border-radius: 6px; color: var(--ink); background: var(--gold); font-size: 12px; font-weight: 650; white-space: nowrap; }
  .nav__item--cta { margin: 14px 0 0; }
  .nav-toggle { flex: 0 0 38px; }
  .nav__item--menu > .nav__link::after { display: none; }
  .nav__menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 0 0 6px 12px; min-width: 0; }
  .nav__menu a { padding: 8px 4px; }
}
@media (max-width: 480px) {
  .site-header__inner { gap: 10px; }
  .site-logo img { width: 136px; }
  .edge-mobile-demo { padding: 8px; font-size: 11px; }
}
