/* ── Mobile optimizations ── */

@media (max-width: 767px) {
  html {
    overflow-x: clip;
  }

  body {
    font-size: 0.9375rem;
    line-height: 1.65;
  }

  body.menu-open {
    overflow: hidden;
    position: fixed;
    width: 100%;
  }

  body.lightbox-open {
    overflow: hidden;
  }

  .site-header {
    padding-top: env(safe-area-inset-top, 0);
  }

  /* Header / logo menu */
  .site-header__logo-toggle {
    min-width: 2.75rem;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
  }

  .site-header__logo-inner {
    width: 2.75rem;
    height: 2.75rem;
    align-items: center;
    justify-content: center;
  }

  .site-header__logo-mark {
    height: 1.5rem;
  }

  /* Hero */
  .hero--editorial {
    padding-block: clamp(3rem, 8vw, 4.5rem);
  }

  .hero--editorial .hero__grid {
    gap: clamp(1.5rem, 4vw, 2.25rem);
  }

  .hero--editorial .hero__title {
    font-size: clamp(1.875rem, 8.5vw, 2.375rem);
    line-height: 1.08;
  }

  .hero--editorial .hero__lead {
    font-size: 0.9375rem;
    line-height: 1.65;
    margin-top: clamp(1rem, 3vw, 1.25rem);
  }

  .hero--editorial .hero__slideshow {
    aspect-ratio: 4 / 3;
  }

  .hero--editorial .hero__actions {
    gap: 0.625rem;
  }

  /* Sections — meer lucht + subtiele scheiding */
  .section {
    padding-block: clamp(3rem, 8vw, 4.25rem);
  }

  .section__head {
    margin-bottom: clamp(2.5rem, 5vw, 3.25rem);
    padding-bottom: clamp(1.75rem, 4vw, 2.25rem);
    border-bottom: 1px solid color-mix(in srgb, var(--atamer-wood) 14%, transparent);
  }

  .section__eyebrow {
    margin-bottom: 1rem;
    font-size: 0.625rem;
    letter-spacing: 0.16em;
  }

  .section__title {
    font-size: clamp(1.625rem, 6.5vw, 2rem);
    max-width: none;
    line-height: 1.12;
  }

  .section__lead {
    font-size: 0.9375rem;
    line-height: 1.7;
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid color-mix(in srgb, var(--atamer-warm) 40%, transparent);
  }

  /* Gallery */
  .photo-gallery {
    gap: clamp(2.75rem, 6vw, 3.5rem);
  }

  .projecten-intro {
    margin-bottom: clamp(2rem, 4vw, 2.75rem);
  }

  .projecten-intro__grid {
    gap: 1rem;
  }

  .projecten-intro__title {
    max-width: none;
    font-size: clamp(1.625rem, 6.5vw, 2rem);
  }

  .projecten-intro__lead {
    padding-left: 0;
    border-left: none;
    font-size: 0.9375rem;
  }

  .photo-chapter {
    gap: clamp(1.5rem, 4vw, 2.25rem);
  }

  .photo-row {
    gap: clamp(1.25rem, 4vw, 1.75rem);
  }

  .photo-chapter > .photo-row + .photo-row {
    margin-top: clamp(2rem, 5vw, 2.75rem);
  }

  .photo-item {
    gap: clamp(1rem, 3vw, 1.25rem);
  }

  .photo-item__caption {
    gap: 0.25rem;
  }

  .photo-item__tag {
    font-size: 0.5625rem;
    letter-spacing: 0.14em;
  }

  .photo-item__desc {
    font-size: 0.75rem;
    line-height: 1.5;
  }

  .photo-chapter + .photo-chapter {
    padding-top: clamp(2rem, 4vw, 2.75rem);
    margin-top: 0;
    border-top: 1px solid color-mix(in srgb, var(--atamer-wood) 12%, transparent);
  }

  .photo-chapter__label {
    gap: 0.75rem;
    margin-bottom: 1rem;
  }

  .photo-chapter__num {
    font-size: 0.625rem;
  }

  .photo-chapter__title {
    font-size: 1rem;
  }

  .photo-chapter__lead {
    font-size: 0.8125rem;
  }

  .photo-row--spread .photo-item img {
    aspect-ratio: 16 / 9;
  }

  /* Diensten / lijsten */
  .service-index {
    margin-top: 0.25rem;
  }

  .service-index__item {
    padding-block: 1.375rem;
  }

  .service-index__item + .service-index__item {
    border-top-color: color-mix(in srgb, var(--atamer-wood) 12%, transparent);
  }

  /* Trust / about */
  .trust-block__title {
    font-size: clamp(1.75rem, 7vw, 2.125rem);
  }

  .trust-stats {
    margin-top: 0.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--line);
  }

  .trust-stat {
    padding-block: 1.125rem;
  }

  .trust-stat + .trust-stat {
    border-top-color: color-mix(in srgb, var(--atamer-wood) 12%, transparent);
  }

  /* Process */
  .process-strip {
    margin-bottom: 1.25rem;
  }

  .process-timeline {
    padding-top: 1.25rem;
    border-top: 1px solid var(--line);
  }

  .process-timeline__step {
    padding-block: 1.375rem;
  }

  /* Contact */
  .contact-block__grid {
    gap: clamp(2rem, 5vw, 2.5rem);
  }

  .section--cases {
    border-top: 1px solid color-mix(in srgb, var(--atamer-wood) 10%, transparent);
  }

  .contact-form-panel {
    padding: 1.25rem 1.125rem;
    border-radius: 0;
  }

  .contact-aside {
    padding: 1.25rem 1.125rem;
    border-radius: 0;
  }

  .contact-aside__head {
    margin-bottom: 1.125rem;
    padding-bottom: 1rem;
  }

  .contact-aside__lead {
    font-size: 0.8125rem;
  }

  .contact-action {
    min-height: 3.25rem;
    padding: 0.875rem 1rem;
    font-size: 0.875rem;
  }

  .form-field__input,
  .form-field__select,
  .form-field__textarea,
  .form-select__trigger {
    font-size: 1rem;
    min-height: 3.25rem;
  }

  /* Buttons — 44px touch targets */
  .btn {
    min-height: 2.75rem;
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
  }

  .btn--lg {
    min-height: 3rem;
    padding-top: 0.9375rem;
    padding-bottom: 0.9375rem;
    width: 100%;
  }

  .mobile-nav__link {
    min-height: 2.75rem;
    padding: 0.875rem 0;
    font-size: 0.875rem;
  }

  /* Footer */
  .site-footer {
    padding-block: clamp(2rem, 4vw, 2.5rem) clamp(1rem, 2vw, 1.25rem);
  }

  .site-footer__tagline {
    font-size: 0.8125rem;
    max-width: 28ch;
  }

  .site-footer__details {
    gap: 1.25rem;
    padding-block: 1.5rem;
  }

  .site-footer__credit {
    white-space: normal;
  }

  /* Container breathing room */
  .container {
    padding-inline: clamp(1rem, 4vw, 1.25rem);
  }
}

@media (max-width: 899px) {
  .photo-row--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 479px) {
  .photo-row--3 {
    grid-template-columns: minmax(0, 1fr);
  }
}
