*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--fep-font);
  font-size: var(--fep-text);
  color: var(--fep-ink);
  background: var(--fep-bg);
  line-height: var(--fep-leading);
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--fep-brand-deep); text-decoration: none; }
a:hover { color: var(--fep-brand); }
h1, h2, h3 {
  font-family: var(--fep-display);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0 0 0.6rem;
}
p { margin: 0 0 1rem; }
.container { width: min(100% - 2rem, var(--fep-container)); margin-inline: auto; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); border: 0;
}
.skip-link {
  position: absolute; left: -999px; top: 0; background: #fff; padding: .75rem 1rem; z-index: 1000;
}
.skip-link:focus { left: 1rem; top: 1rem; }

.brand {
  display: inline-flex; align-items: center; gap: .75rem; color: inherit;
}
.brand img { height: 44px; width: auto; }
.brand__text { display: flex; flex-direction: column; line-height: 1.15; }
.brand__text strong { font-family: var(--fep-display); font-size: .95rem; color: var(--fep-brand-deep); }
.brand__text small { color: var(--fep-muted); font-size: .75rem; }

.nav-toggle {
  display: none; width: var(--fep-touch); height: var(--fep-touch); border: 0; background: transparent; cursor: pointer;
  place-items: center; gap: 5px;
}
.nav-toggle span {
  display: block; width: 22px; height: 2px; background: var(--fep-ink); border-radius: 2px;
}
.inline-form { display: inline; margin: 0; }
.plain-list { text-align: left; max-width: 36rem; margin: 1rem auto 1.5rem; color: #475569; }
.empty-state {
  background: var(--fep-surface);
  border: 1px solid var(--fep-line);
  border-radius: var(--fep-radius-lg);
  box-shadow: var(--fep-shadow);
  padding: 2rem;
  text-align: center;
  margin-top: 1.25rem;
}
.empty-state h2 { font-size: 1.25rem; }
.empty-state p { color: var(--fep-muted); max-width: 42ch; margin-inline: auto; }

@media (max-width: 768px) {
  .nav-toggle { display: grid; }
}
