/* ============================================
   Responsive — Mobile menu, breakpoints
   ============================================ */

@media (max-width: 980px) {
  .mobile-toggle { display: block; }

  .site-nav {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(380px, 88vw);
    flex-direction: column;
    align-items: stretch;
    background: var(--color-surface);
    padding: calc(var(--header-height) + var(--space-4)) var(--space-6) var(--space-8);
    transform: translateX(100%);
    transition: transform var(--transition);
    box-shadow: var(--shadow-xl);
    z-index: calc(var(--z-header) - 1);
    gap: var(--space-2);
    overflow-y: auto;
  }

  .site-nav.is-open {
    transform: translateX(0);
  }

  .site-nav__list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
  }

  .site-nav__list li {
    border-bottom: 1px solid var(--color-border-light);
  }

  .site-nav__link {
    display: block;
    padding: var(--space-4) var(--space-2);
    font-size: var(--fs-base);
    border-radius: 0;
  }

  .site-nav__cta {
    margin: var(--space-4) 0 0;
    width: 100%;
  }

  .lang-switcher {
    margin: var(--space-4) 0 0;
    width: 100%;
    justify-content: center;
  }

  body.menu-open {
    overflow: hidden;
  }
}

@media (max-width: 768px) {
  .section { padding: var(--space-12) 0; }
  .section--lg { padding: var(--space-16) 0; }
  .hero { min-height: 70vh; padding: var(--space-8) 0 var(--space-12); }
  .page-banner { padding: var(--space-12) 0 var(--space-10); }
  .piliers { margin-top: calc(var(--space-10) * -1); }
  .pilier { padding: var(--space-6); }
  .container { padding: 0 var(--space-4); }
  .site-footer { padding: var(--space-12) 0 var(--space-6); margin-top: var(--space-16); }
  .calendar__day { font-size: var(--fs-xs); padding: var(--space-1); }
}
