/* =====================================================
   Fira Sans — self-hosted, latin subset only
   ===================================================== */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/fira-sans-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/fira-sans-latin-500-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/fira-sans-latin-600-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/fira-sans-latin-700-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fira Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/fira-sans-latin-400-italic.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.post-content h2 { font-size: 1.5rem; font-weight: 700; margin: 1.5rem 0 .75rem; color: #0f172a; }
.post-content h3 { font-size: 1.25rem; font-weight: 700; margin: 1.25rem 0 .5rem; color: #0f172a; }
.post-content h4 { font-size: 1.05rem; font-weight: 600; margin: 1rem 0 .5rem; color: #0f172a; }
.post-content p { margin: 0 0 1rem; }
.post-content ul { list-style: disc; padding-left: 1.5rem; margin: 0 0 1rem; }
.post-content ol { list-style: decimal; padding-left: 1.5rem; margin: 0 0 1rem; }
.post-content blockquote { border-left: 4px solid #047857; background: #f0fdf4; padding: .75rem 1.25rem; margin: 0 0 1rem; font-style: italic; color: #475569; border-radius: 0 .5rem .5rem 0; }
.post-content a { color: #047857; text-decoration: underline; }
.post-content img { max-width: 100%; border-radius: .75rem; margin: .75rem 0; }