/* Generated by fm/build-apps.mjs from fm/static/fm/site.css. Do not edit. */
@font-face {
  font-family: "Inter Variable";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/fm/fonts/inter-latin-wght-normal.woff2) format("woff2");
}
.site-header {
  --bg: #ffffff;
  --bg-soft: #f4f5f3;
  --text: #17191a;
  --muted: #5d6663;
  --line: #e2e5e1;
  --accent: #157a3c;
  --accent-text: #ffffff;
  --radius: 14px;
  /* Body text is the Squarespace site's (Helvetica Neue, a system font); headings, navigation and buttons are Inter bold. */
  --font: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-head: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --red: #e01414;
  --text-soft: #4c5552;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  .site-header {
      --bg: #111312;
      --bg-soft: #1b1e1c;
      --text: #eceeec;
      --muted: #9aa39f;
      --line: #2b302d;
      --accent: #3fc474;
      --accent-text: #08130c;
      --text-soft: #b9c1bd;
    }
}
.site-header, .site-header * { box-sizing: border-box; }
.site-header { position: relative; z-index: 70; border-bottom: 1px solid var(--line); background: var(--bg); color: var(--text); font-family: var(--font-head); font-size: 17px; line-height: 1.4; }
.site-header-inner { display: flex; align-items: center; gap: 16px; min-height: 72px; width: 100%; max-width: 74rem; margin-inline: auto; padding: 10px max(20px, env(safe-area-inset-right)) 10px max(20px, env(safe-area-inset-left)); }
.site-header .brand { display: inline-flex; align-items: center; gap: 0.7rem; margin-right: auto; color: var(--text); text-decoration: none; font-weight: 700; font-size: 1.15rem; letter-spacing: -0.015em; }
.site-header .brand img { display: block; width: 40px; height: 40px; border-radius: 50%; }
.site-header .site-nav { display: flex; align-items: center; gap: 2px; }
.site-header .site-nav a { color: var(--text); text-decoration: none; padding: 0.6rem 0.7rem; border-radius: 8px; font-weight: 700; font-size: 0.94rem; white-space: nowrap; }
.site-header .site-nav a:hover { background: var(--bg-soft); }
.site-header .site-nav a[aria-current="page"] { color: var(--accent); }
.site-header .nav-search { display: inline-flex; align-items: center; gap: 0.6rem; }
.site-header .nav-search span { display: none; }
.site-header .menu-toggle { display: none; }
@media (max-width: 820px) {
  /* Three lines, the middle one shorter, all flush right. */
  .site-header .menu-toggle { display: inline-flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 6px; width: 44px; height: 44px; margin-right: -9px; padding: 0 9px; border: 0; border-radius: 10px; background: none; color: var(--text); cursor: pointer; -webkit-tap-highlight-color: transparent; }
  .site-header .menu-toggle span { display: block; width: 26px; height: 2.5px; border-radius: 2px; background: currentColor; }
  .site-header .menu-toggle span:nth-child(2) { width: 17px; }
  .site-header .menu-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .site-header .site-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; gap: 0; padding: 6px max(10px, env(safe-area-inset-right)) 14px max(10px, env(safe-area-inset-left)); background: var(--bg); border-bottom: 1px solid var(--line); box-shadow: 0 24px 40px -24px rgba(0, 0, 0, 0.45); }
  .site-header.is-open .site-nav { display: flex; }
  .site-header .site-nav a { padding: 0.85rem 0.7rem; font-size: 1.1rem; }
  .site-header .nav-search span { display: inline; }
}
/* On these pages the header lines up with the app center's top bar underneath it. */
.site-header-inner { max-width: 1280px; padding-inline: 24px; }
@media (max-width: 860px) { .site-header-inner { padding-inline: 16px; } }
