@import url("https://fonts.googleapis.com/css2?family=Didact+Gothic&family=EB+Garamond:wght@400;500;600;700&display=swap");

:root {
  --font-primary: "Didact Gothic", "Segoe UI", sans-serif;
  --font-secondary: "EB Garamond", Georgia, serif;
}

html,
body,
button,
input,
textarea,
select {
  font-family: var(--font-primary);
}

body {
  font-size: 13px;
  line-height: 24px;
  font-weight: 400;
}

h1 {
  font-family: var(--font-secondary);
  font-size: clamp(2.6rem, 5vw, 3.1em);
  line-height: 1.22;
  font-weight: 700;
  letter-spacing: -.022em;
}

h2 {
  font-family: var(--font-secondary);
  font-weight: 400;
  letter-spacing: 0;
}

h3 {
  font-family: var(--font-secondary);
  font-weight: 400;
  letter-spacing: 0;
}

h4 {
  font-family: var(--font-secondary);
  font-weight: 400;
  letter-spacing: 0;
}

h5,
h6 {
  font-family: var(--font-secondary);
  font-weight: 400;
  letter-spacing: 0;
}

/* The original sidebar used EB Garamond. Its size remains enlarged as requested. */
#site-menu a {
  font-family: var(--font-secondary);
  font-size: 20px;
  line-height: 1.3;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 1px;
  padding: 5px 0;
  text-align: center;
}

.site-header::after {
  font-family: var(--font-secondary);
  font-weight: 400;
}

.source-eyebrow,
.hero-quote > p,
.hero-quote a,
.mayor-title > p,
.story-head p,
.schedule-grid time,
.contact-grid p:last-child {
  font-family: var(--font-primary);
}

.hero-quote blockquote {
  font-family: var(--font-secondary);
  font-weight: 400;
}

.mayor-title h2,
.story-head h2,
.schedule h2,
.schedule-grid h3,
.visual-grid span,
.students h2,
.latest h2,
.news-grid h3,
.source-contact h2 {
  font-family: var(--font-secondary);
  font-weight: 400;
}

.mayor-copy,
.story-copy,
.greeting-grid p,
.students p:not(.source-eyebrow),
.contact-grid a {
  font-family: var(--font-primary);
  font-weight: 400;
}

.story-head h2,
.schedule h2,
.students h2,
.latest h2,
.source-contact h2 {
  letter-spacing: 0;
}

.article__hero h1 {
  font-family: var(--font-secondary);
  font-weight: 700;
  letter-spacing: -.022em;
}

.article__hero time,
.article__content,
.article__content button,
.article__content input,
.article__content textarea {
  font-family: var(--font-primary);
}

.article__content {
  font-size: 16px;
  line-height: 1.75;
}

@media (max-width: 980px) {
  #site-menu a {
    font-size: 20px;
    padding: 5px 0;
  }
}
