@media (max-width: 1023px) {
  h1 { font-size: 2.25rem; }
  h2 { font-size: 1.75rem; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
  :root { --spacing-lg: 3rem; --spacing-xl: 4rem; }
  h1 { font-size: 1.85rem; }
  h2 { font-size: 1.5rem; }
  
  .mobile-toggle { display: block; }
  .main-nav {
    position: fixed;
    top: 72px;
    left: 0;
    right: 0;
    bottom: 0;
    background: #FFFFFF;
    flex-direction: column;
    align-items: flex-start;
    padding: var(--spacing-md);
    transform: translateX(100%);
    transition: transform 0.3s ease;
    overflow-y: auto;
  }
  .main-nav.active { transform: translateX(0); }
  .nav-list { flex-direction: column; width: 100%; gap: 0; }
  .nav-link { display: block; padding: 1rem 0; border-bottom: 1px solid var(--color-border); width: 100%; }
  .nav-link::after { display: none; }
  
  .dropdown-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    border: none;
    padding-left: var(--spacing-sm);
    display: none;
  }
  .nav-dropdown.active .dropdown-menu { display: block; }
  
  .header-actions .btn { display: none; } /* Hide demo btn on mobile, or adjust */
  .hero-actions { flex-direction: column; }
  .hero-visual { height: 250px; }
  .trust-strip { flex-direction: column; gap: var(--spacing-xs); }
  
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .cookie-inner { flex-direction: column; align-items: flex-start; }
  .cookie-actions { width: 100%; justify-content: space-between; }
}