/* =========================================================
   Cross-cutting responsive refinements
   ========================================================= */

@media (max-width: 900px) {
  :root { --header-h: 68px; }
}

@media (max-width: 640px) {
  body { line-height: 1.75; }
  .section { padding-block: 3rem; }
  .btn { width: 100%; justify-content: center; }
  .hero-cta .btn { width: auto; }
}

@media (max-width: 420px) {
  .container { padding-inline: 1.1rem; }
}

/* Print: strip decorative color for cheaper ink use */
@media print {
  .site-header, .to-top, .nav-scrim, #contact form { display: none; }
  body { color: #000; }
  .hero::before { display: none; }
}
