/* Hero section subtle texture (no external image). */
.cms-hero-pattern {
  opacity: 0.08;
  pointer-events: none;
  background-image: radial-gradient(circle at 1px 1px, rgba(0, 0, 0, 0.12) 1px, transparent 0);
  background-size: 22px 22px;
}

/* Mobile usability: readable text and 44px minimum tap targets (Google / audit tools). */
@media (max-width: 1199px) {
  body {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
  }

  .header .mobile-nav-toggle {
    min-width: 44px;
    min-height: 44px;
    padding: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .navmenu a,
  .navmenu a:focus {
    min-height: 44px;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .footer .social-links a {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .footer .footer-links a {
    display: inline-block;
    padding: 6px 0;
    min-height: 44px;
    line-height: 1.4;
  }

  .newsletter-subscribe-form .form-control {
    font-size: 16px;
    min-height: 44px;
  }

  .newsletter-subscribe-form .btn,
  .cta-form .btn {
    min-height: 44px;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .scroll-top {
    min-width: 44px;
    min-height: 44px;
  }
}
