/*
  shortcut.solutions — responsive heading ladder
  Added 2026-09-25 via site custom_css (site 4, theme 3). Theme files untouched.
  Why: theme 3 main.css sets fixed heading sizes with no responsive scaling —
  phones rendered desktop sizes (H1 41.6px, hero 48px, hero grows to 57.6px desktop).
  Breakpoints mirror theme 3's own: <=639 phones, <=1023 tablets, >=1024 desktop untouched.
  Rollback: clear custom_css on site 4 (one call).
*/
@media (max-width: 1023px) {
  .heading--h1,
  .hero-title { font-size: 2.25rem; line-height: 1.2; }
  .heading--h2 { font-size: 1.75rem; }
}
@media (max-width: 639px) {
  .heading--h1,
  .hero-title { font-size: 2rem; }
  .heading--h2 { font-size: 1.5rem; }
  .heading--h3 { font-size: 1.25rem; }
  .rich-text h3 { font-size: 1.2rem; }
  .hero-subtitle { font-size: 1.05rem; }
  /* Hero min-height caps — kill dead gradient space now that titles wrap less.
     Tiers track main.css 40/60/80vh proportionally. */
  .hero--sm { min-height: 34vh; }
  .hero--md { min-height: 44vh; }
  .hero--lg { min-height: 54vh; }
}

/*
  shortcut.solutions — article container width floor
  Added 2026-09-25 via site custom_css (site 4, theme 3). Theme files untouched.
  Spec (Mike): blog articles render at MINIMUM 1280px container width on desktop.
  Theme 3 serves collection entries (blog posts) in .container--narrow (640px).
  Scoped with :has(.entry-meta) so non-article narrow containers keep their
  640px measure (contact page heading + form both use container--narrow).
  Desktop threshold >=1024px matches the site's breakpoint convention.
  Rollback: remove this block from site custom_css.
*/
@media (min-width: 1024px) {
  .container--narrow:has(.entry-meta) { max-width: 1280px; }
}