/* Locally hosted variable fonts; redistribution licenses in assets/fonts/. */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/inter-variable.ttf") format("truetype");
}
@font-face {
  font-family: "Lora";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/lora-variable.ttf") format("truetype");
}
/* Site and editor share these tokens. */
html:root { font-size: 100%; }
:root, .editor-styles-wrapper {
  --sc-brand: #426747;
  --sc-brand-dark: #315238;
  --sc-sage: #f3f6f1;
  --sc-canvas: #ffffff;
  --sc-surface: #fff;
  --sc-warm: #f5f1ea;
  --sc-rating: #f5a623;
  --sc-ink: #142b2d;
  --sc-muted: #596569;
  --sc-border: #dfe5df;
  --sc-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --sc-font-heading: "Lora", Georgia, serif;
  --sc-body: clamp(1rem, .96rem + .2vw, 1.125rem);
  --sc-small: .875rem;
  --sc-lead: 1.25rem;
  --sc-display: clamp(2.25rem, 1.5rem + 3vw, 4rem);
  --sc-heading: clamp(1.75rem, 3vw, 2.5rem);
  --sc-space-xs: .5rem;
  --sc-space-sm: .75rem;
  --sc-space-md: 1rem;
  --sc-space-lg: 1.5rem;
  --sc-space-xl: 2rem;
  --sc-space-2xl: 3rem;
  --sc-space-section: clamp(3rem, 7vw, 5rem);
  --sc-radius-sm: .5rem;
  --sc-radius-card: 1.25rem;
  --sc-radius-button: 999px;
  --sc-shadow-card: 0 8px 28px rgb(25 51 46 / 8%);
  --sc-shadow-raised: 0 16px 40px rgb(25 51 46 / 14%);
  --sc-content: 740px;
  --sc-wide: 1200px;
  --sc-gutter: clamp(1rem, 3vw, 2rem);
  --sc-button-padding: .8rem 1.5rem;
  --sc-focus: 3px solid var(--sc-brand);
}
body, .editor-styles-wrapper {
  font-family: var(--sc-font); font-size: var(--sc-body); line-height: 1.7;
  color: var(--sc-ink); background-color: var(--sc-canvas);
}
h1, h2, h3, h4, h5, h6, .entry-title {
  font-family: var(--sc-font-heading); color: var(--sc-ink); font-weight: 650;
  line-height: 1.2; overflow-wrap: break-word;
}
h1, .entry-title, .entry-content h1 { font-size: var(--sc-display); }
.ast-single-post .entry-header .entry-title, .ast-single-post .entry-title {
  font-size: var(--sc-display); font-family: var(--sc-font-heading); line-height: 1.2;
}
h2, .entry-content h2 { font-size: var(--sc-heading); }
h3, .entry-content h3 { font-size: clamp(1.4rem, 2vw, 1.75rem); }
h4, .entry-content h4 { font-size: var(--sc-lead); }
h5, h6, .entry-content h5, .entry-content h6 { font-size: var(--sc-body); }
a { color: var(--sc-brand); }
a:hover { color: var(--sc-brand-dark); }
:where(.entry-content, .editor-styles-wrapper) a:not(.wp-element-button):not(.wp-block-button__link) { text-underline-offset: .2em; }
:where(a, button, input, textarea, select, summary):focus-visible { outline: var(--sc-focus); outline-offset: 4px; }
/* Astra owns header/footer markup, navigation and mobile controls. */
.ast-container { max-width: calc(var(--sc-wide) + 2 * var(--sc-gutter)); padding-inline: var(--sc-gutter); }
.main-header-menu, .site-footer { font-family: var(--sc-font); }
.main-header-menu a { font-weight: 600; }
.entry-content, .editor-styles-wrapper { overflow-wrap: break-word; }
:where(.entry-content, .editor-styles-wrapper) img { max-width: 100%; height: auto; }
:where(.entry-content, .editor-styles-wrapper) :where(p, ul, ol) { margin-block-end: var(--sc-space-lg); }
:where(.entry-content, .editor-styles-wrapper) .wp-block-columns { gap: var(--sc-space-xl); }
/* Content heading selectors match Astra's generated specificity. */
.entry-content :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--sc-font-heading); font-weight: 650; line-height: 1.2; color: var(--sc-ink);
}
.main-header-bar, .ast-primary-header-bar { background-color: var(--sc-surface); }
.main-header-menu .menu-link { color: var(--sc-ink); font-size: var(--sc-small); font-weight: 500; }
.main-header-menu .menu-link:hover, .main-header-menu .current-menu-item > .menu-link { color: var(--sc-brand); }
