/* ============ RESPONSIVE ============ */

@media (max-width: 960px) {
  .nav-inner {
    grid-template-columns: 1fr auto;
  }
  .nav-center { display: none; }
  .nav-links {
    position: fixed;
    inset: 0;
    background: var(--bg);
    padding: 80px var(--gutter);
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-3);
    font-size: 22px;
    transform: translateX(100%);
    transition: transform var(--t-med);
    z-index: 40;
  }
  .nav-links.open { transform: translateX(0); }
  .nav-burger { display: flex; z-index: 60; }
  .lang-toggle { margin-left: 0; margin-top: var(--space-2); font-size: var(--fs-mono); }

  .cover-hero__row {
    grid-template-columns: 1fr;
    gap: var(--space-2);
    align-items: start;
  }
  .hero-statement { max-width: none; justify-self: start; }

  .index-row {
    grid-template-columns: 32px 1fr auto;
    column-gap: var(--space-2);
    row-gap: var(--space-2);
  }
  .index-row__num { grid-row: 1; grid-column: 1; }
  .index-row__title { grid-row: 1; grid-column: 2; }
  .index-row__arrow { grid-row: 1; grid-column: 3; }
  .index-row__thumbs {
    grid-row: 2;
    grid-column: 1 / -1;
  }
  .index-row__thumbs span { width: auto; flex: 1; }

  .gallery {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-2);
  }

  .about {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }
  .portrait { max-width: 360px; }

  .contact {
    grid-template-columns: 1fr;
    gap: var(--space-3);
    align-items: start;
  }

  .footer-inner { grid-template-columns: 1fr; gap: var(--space-1); }
  .footer-inner .center,
  .footer-inner .right { justify-self: start; }
}

@media (max-width: 560px) {
  .gallery { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}
