/* Responsive refinements */

@media (max-width: 39.99rem) {
  .hide-mobile {
    display: none !important;
  }

  .site-logo {
    font-size: var(--text-base);
  }

  .header-nav ul {
    gap: var(--space-4);
  }

  .header-nav a {
    font-size: var(--text-xs);
  }

  .hero__content {
    padding: var(--space-8);
  }

  .social-links {
    gap: var(--space-8);
  }

  .page-banner {
    padding: var(--space-12) var(--gutter);
  }

  .page-panel__body {
    padding: var(--space-12) var(--gutter);
  }

  .page-panel--contact {
    padding: var(--space-10) var(--gutter) var(--space-8);
  }

  .contact-person__links {
    gap: var(--space-2) var(--space-4);
  }

  .contact-studio {
    flex-direction: column;
    align-items: flex-start;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .faq-layout {
    gap: var(--space-8);
    padding-block: var(--space-6) 0;
  }

  .faq-toc {
    margin-left: calc(var(--gutter) * -1);
    margin-right: calc(var(--gutter) * -1);
  }

  .faq-groups {
    gap: var(--space-10);
  }

  .faq-group__head {
    gap: var(--space-3);
  }

  .faq-item summary {
    padding-right: 0;
  }

  .faq-item p {
    padding-right: 0;
  }

  .faq-cta {
    padding: var(--space-6);
  }

  .faq-cta__actions {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (min-width: 40rem) {
  .hide-desktop {
    display: none !important;
  }
}

@media (min-width: 48rem) {
  .section {
    padding-block: var(--space-20);
  }
}

@media print {
  .site-header,
  .site-footer,
  .skip-link,
  .social-links {
    display: none !important;
  }

  body {
    background: white;
    color: black;
  }

  a {
    color: black;
  }
}