/* Base typography to match React app */
  html { scroll-behavior: smooth; }
  body {
    font-family: 'Montserrat', system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    -webkit-font-smoothing: antialiased;
    color: #0D3B4C;
  }
  *, *::before, *::after { box-sizing: border-box; }
  img { max-width: 100%; height: auto; display: block; }

  /* WP admin bar offset */
  body.admin-bar header.ir-navbar { top: 32px; }
  @media (max-width: 782px) {
    body.admin-bar header.ir-navbar { top: 46px; }
  }

  /* Hide WP default outputs we don't want (page-title elements only, not the main itself) */
  .ir-hide-wp-title > .entry-title,
  .ir-hide-wp-title > .page-title,
  .ir-hide-wp-title > h1.wp-block-post-title,
  .ir-hide-wp-title .wp-block-post-title { display: none !important; }

  /* Will-change for parallax */
  .will-change-transform { will-change: transform; }
  
/* ── Clearance under the fixed navbar ──
   The fixed header is ~104px tall (banner + nav). On narrow phones the
   announcement banner wraps to two rows and the header grows to ~136px,
   which hid the first line of page headings under it. */
.ir-hero { padding-top: 80px; }
@media (max-width: 1023.98px) {
  .ir-hero { padding-top: 132px; }
}
@media (max-width: 599.98px) {
  .ir-hero { padding-top: 164px; }
  section.pt-32, main.pt-32 { padding-top: 10.5rem; }
}
