@media (max-width: 1180px) {
  .site-header { padding-inline: 5%; }
}

@media (max-width: 1023px) {
  .section-shell { width: 90%; }
  .site-header { height: 4.8rem; }
  .site-header.scrolled { height: 4.5rem; }
  .header-cta { min-height: 2.55rem; padding: .6rem .8rem; font-size: .56rem; }
  .hero-content { width: 90%; margin-left: 5%; }
  .proof-intro, .membrane-layout, .about-grid, .commitments-grid, .faq-grid, .contact-grid { gap: 6%; }
  .proof-intro h2 { white-space: normal; }
  .scenario-list { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, 21rem); }
  .scenario:nth-child(n) { grid-column: auto; grid-row: auto; }
  .scope-grid { grid-template-columns: repeat(2, 1fr); }
  .national { grid-template-columns: 1fr 1fr; }
  .national .region-list { grid-column: 1 / -1; }
  .about-portrait span { right: -2rem; }
}

@media (max-width: 767px) {
  :root { --section-title-size: clamp(2.1rem, 9.5vw, 3.2rem); --section-copy-size: .82rem; }
  body { font-size: 15px; }
  .section-shell { width: 90%; }
  .section-pad { padding-block: 5.5rem; }
  h2 { font-size: var(--section-title-size); }
  .eyebrow { margin-bottom: 1.2rem; }

  .site-header { height: 4.5rem; gap: .55rem; padding-inline: 4%; }
  .site-header.scrolled { height: 4.25rem; }
  .header-brand-group { gap: .65rem; }
  .site-header .brand > span:last-child { display: none; }
  .brand-mark { width: 1.9rem; height: 1.9rem; }
  .profile-switch { width: 7.6rem; min-height: 2rem; font-size: .46rem; }
  .header-cta { width: auto; min-height: 2.7rem; padding: .6rem .75rem; white-space: nowrap; }
  .header-label-desktop { display: none; }
  .header-label-mobile { display: inline; }
  .header-cta svg { width: 1.2rem; height: 1.2rem; }

  .hero { min-height: 48rem; align-items: flex-end; }
  .hero-image { object-position: 61% center; }
  .hero-shade { background: linear-gradient(0deg, rgba(5,10,13,.96) 0%, rgba(5,10,13,.67) 65%, rgba(5,10,13,.25)); }
  .hero-content { width: 90%; margin: 0 auto; padding: 7rem 0 8.5rem; }
  .hero-statement { max-width: none; margin-bottom: .45rem; font-size: clamp(2.45rem, 10.5vw, 3.4rem); }
  .hero-statement-break { display: none; }
  .hero-location { margin-bottom: .85rem; font-size: clamp(2.15rem, 9.5vw, 3.1rem); }
  .hero-specialty { margin-bottom: 1.2rem; padding-top: 1rem; font-size: .82rem; line-height: 1.45; }
  .hero-actions { display: grid; grid-template-columns: 1fr; margin-bottom: 1.25rem; }
  .hero-actions .button { min-height: 2.9rem; }
  .hero-assurances { display: grid; grid-template-columns: repeat(2, 1fr); gap: .65rem .8rem; font-size: .61rem; }
  .hero-assurances li { white-space: normal; }
  .hero-discover { bottom: 2.8rem; gap: 1.1rem; }

  .section-heading, .proof-intro, .membrane-layout, .method-intro, .about-grid, .commitments-grid, .faq-grid, .contact-grid { grid-template-columns: 1fr; }
  .section-heading { gap: 1.5rem; margin-bottom: 3rem; }
  .section-heading .eyebrow { grid-column: auto; margin-bottom: 0; }
  .proof-intro { gap: 2rem; margin-bottom: 3rem; }
  .proof-intro h2 { white-space: normal; }
  .proof-copy { display: block; grid-column: auto; }
  .proof-copy p:first-child { margin-bottom: 1rem; }

  .projects .section-heading { margin-bottom: 4rem; }
  .scenario-list { display: flex; gap: .8rem; margin-right: -5vw; padding-right: 5vw; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .scenario-list::-webkit-scrollbar { display: none; }
  .scenario { width: 78vw; height: 29rem; flex: 0 0 78vw; padding: 1.4rem; scroll-snap-align: start; }
  .scenario h3 { font-size: 2.15rem; }
  .membrane-layout { gap: 2.5rem; }
  .comparison { width: 100%; margin-top: 4rem; padding: 1.5rem 5%; }
  .comparison-head { grid-template-columns: 1fr; gap: 1rem; }
  .table-scroll { margin-right: -5vw; padding-right: 5vw; }
  .comparison table { min-width: 43rem; }
  .comparison th, .comparison td { padding: .85rem; }

  .scope-grid { grid-template-columns: 1fr; }
  .scope-grid article { min-height: 15rem; padding: 1.7rem; }
  .scope-grid h3 { margin-top: 3rem; }

  .method-intro { gap: 1.4rem; margin-bottom: 3.5rem; }
  .method-intro .eyebrow { grid-column: auto; }
  .timeline li { grid-template-columns: 3rem 1fr; min-height: 0; align-items: start; padding: 1.7rem 0; }
  .timeline li > div { display: block; }
  .timeline h3 { margin-bottom: .4rem; }
  .timeline p { font-size: .84rem; }
  #methode-particulier { display: block; }
  #methode-particulier li { height: auto; padding-block: 1.35rem; }

  .about-grid { gap: 4rem; }
  .about-grid > div:last-child > .about-portrait { margin-block: 2rem; }
  .about-portrait { width: 92%; }
  .about-portrait span { right: -9%; bottom: 1.5rem; max-width: 14rem; font-size: .9rem; }
  .commitments-grid { gap: 3.5rem; }
  .commitment-title, .faq-grid > div:first-child, .contact-intro { position: static; }
  .commitment-list article { grid-template-columns: 3rem 1fr; }
  .national { grid-template-columns: 1fr; gap: 1.5rem; }
  .national .region-list { grid-column: auto; }

  .faq-grid { gap: 3rem; }
  .faq-list summary { min-height: 5rem; font-size: 1.1rem; }
  .contact { padding-block: 6rem; }
  .contact-grid { gap: 4rem; }
  .direct-contact { margin-top: 2rem; }
  .project-form { padding: 1.35rem; }
  .form-heading { display: grid; gap: .6rem; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .full-field { grid-column: auto; }

  footer { padding-block: 3.5rem 2rem; }
  .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
  .footer-grid > div { justify-content: start; text-align: left; }
  .footer-bottom { margin-top: 3rem; }
  .footer-bottom span:last-child { display: none; }
}

@media (max-width: 379px) {
  .site-header { gap: .4rem; padding-inline: 3%; }
  .header-brand-group { gap: .45rem; }
  .profile-switch { width: 6.9rem; font-size: .43rem; }
  .header-cta { min-height: 2.55rem; gap: 0; padding: .55rem .65rem; font-size: .5rem; white-space: nowrap; }
  .header-cta svg { display: none; }
}

@media (min-width: 1441px) {
  .hero-content { margin-left: max(10%, calc((100vw - 1440px) / 2)); }
}
