/* responsive.css: adaptive layout tuning for tablet and mobile */
@media (max-width: 1100px) {
  .gallery-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .site-header {
    padding: var(--space-4) max(1rem, calc((100vw - min(90vw, 1300px)) / 2)) var(--space-3);
  }

  .featured-item,
  .featured-item.is-reversed {
    grid-template-columns: 1fr;
  }

  .featured-item.is-reversed .featured-media,
  .featured-item.is-reversed .art-meta {
    order: initial;
  }

  .about-layout,
  .contact-layout {
    grid-template-columns: 1fr;
  }

  .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
  }

  .art-modal__panel {
    grid-template-columns: 1fr;
    width: min(95vw, 1080px);
    max-height: min(90svh, 900px);
    overflow: auto;
    padding: var(--space-4) var(--space-3);
    gap: var(--space-3);
  }

  .art-modal__figure img {
    width: 100%;
  }

  .art-modal__prev,
  .art-modal__next {
    justify-self: start;
  }

  .contact-form input,
  .contact-form textarea {
    min-height: 44px;
  }
}

@media (max-width: 560px) {
  .scroll-progress {
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 2px;
  }

  .scroll-progress__bar {
    transform-origin: left;
    transform: scaleX(var(--home-scroll-progress, 0));
  }

  .ambient-layer {
    width: 48vw;
    opacity: 0.12;
    filter: blur(50px);
  }

  .section-shell {
    width: min(90vw, 1300px);
  }

  .site-header {
    position: sticky;
    top: 0;
    width: 100%;
    padding-inline: max(1rem, calc((100vw - min(90vw, 1300px)) / 2));
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background: rgba(246, 246, 243, 0.72);
    border-bottom: 1px solid rgba(20, 20, 20, 0.06);
    margin-bottom: var(--space-2);
  }

  main {
    padding-bottom: var(--space-7);
  }

  .page-heading {
    padding-top: calc(var(--space-6) + 1rem);
    margin-bottom: var(--space-5);
  }

  .page-heading h1 {
    font-size: clamp(1.6rem, 10vw, 2rem);
  }

  .home-intro {
    min-height: 48svh;
    padding-top: calc(var(--space-6) + 2rem);
    gap: var(--space-3);
  }

  .artist-name {
    max-width: 10ch;
  }

  .featured-works {
    gap: var(--space-6);
  }

  .featured-item {
    gap: var(--space-3);
  }

  .featured-media img {
    aspect-ratio: 4 / 5;
  }

  .gallery-item {
    padding: 0.2rem;
    gap: 0.45rem;
  }

  .gallery-grid {
    grid-template-columns: 1fr;
  }

  .art-meta h3 {
    font-size: 0.9rem;
  }

  .art-meta p {
    font-size: 0.7rem;
  }

  .nav-trigger,
  .nav-close {
    min-height: 44px;
    padding-inline: 0.9rem;
  }

  .nav-links a {
    font-size: clamp(1.15rem, 9vw, 1.6rem);
    letter-spacing: 0.08em;
  }

  .about-story {
    gap: var(--space-3);
  }

  .about-copy {
    padding-left: var(--space-3);
  }

  .about-aside {
    padding: var(--space-3);
  }

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

  .contact-form button {
    min-height: 44px;
  }
}
