@media (max-width: 1100px) {
  .process { grid-template-columns: 1fr; }
  .process-lead { position: static; }
}

@media (max-width: 900px) {
  :root { --header-height: 4.7rem; }
  .menu-toggle { display: block; position: relative; z-index: 2; }
  .primary-nav {
    position: fixed;
    inset: 0;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 1.7rem;
    padding: 7rem 2rem 3rem;
    background: rgba(10,10,10,.98);
    opacity: 0;
    visibility: hidden;
    transition: opacity 350ms, visibility 350ms;
  }
  .site-header.menu-open .primary-nav { opacity: 1; visibility: visible; }
  /* Full-screen menu: generous rows so links are easy to hit with a thumb. */
  .primary-nav a {
    font-size: clamp(1.4rem, 5vw, 2.4rem);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    width: 100%;
  }
  .primary-nav .nav-cta { min-height: 52px; }
  .menu-toggle { min-height: 44px; min-width: 44px; }
  .intro-grid, .process, .trust { grid-template-columns: 1fr; }
  .process-lead { position: static; }
  .project-caption { grid-template-columns: 1fr; gap: 2rem; }
  .site-footer { grid-template-columns: 1fr; align-items: start; }
  .site-footer-address { text-align: left; }
  .scene-feature--reverse .scene-feature-copy,
  .scene-feature--reverse .scene-feature-support { text-align: left; margin-left: 0; margin-right: auto; }
  .project-form-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  :root { --section-space: 5.5rem; }
  .cinematic { height: 330vh; }
  .hero-copy-stack { bottom: 5.5rem; gap: .8rem; }
  .hero-title h1 { font-size: clamp(2.9rem, 14vw, 5.4rem); }
  .sequence-meta span:first-child { display: none; }
  .sequence-meta { justify-content: flex-end; }
  .construction-callout { top: 42%; width: min(84vw, 26rem); gap: 0.6rem; }
  .construction-callout__label { font-size: 0.66rem; letter-spacing: 0.18em; white-space: normal; }
  .construction-callout__line { width: 1.6rem; }
  .section-heading { display: grid; align-items: start; }
  .section-heading > p { max-width: 23rem; }
  .service-row { grid-template-columns: 2.6rem 1fr; gap: 1rem; min-height: 6rem; }
  .service-row p { display: none; }
  .service-row h3 { font-size: clamp(1.45rem, 7vw, 2.2rem); }
  .project-image-wrap { aspect-ratio: auto; }
  .project-image-wrap img { object-position: center; }
  .scene-feature-image { aspect-ratio: auto; min-height: 62svh; height: 62svh; }
  .scene-deep { height: 100svh; }
  .scene-deep-copy { right: var(--page-pad); left: var(--page-pad); align-items: flex-start; text-align: left; }
  .scene-deep--reverse .scene-deep-copy { align-items: flex-start; text-align: left; }
  .scene-deep--reverse .scene-deep-copy .button { align-self: flex-start; }
  .project-architecture { grid-template-columns: 1fr; }
  .project-architecture div { justify-content: flex-start; }
  .process-step { grid-template-columns: 2.5rem minmax(0, 1fr); column-gap: 1rem; row-gap: 1rem; }
  .process-step p { grid-column: 2; }
  .cta-actions { flex-direction: column; align-items: stretch; }
  .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .cinematic { height: 100svh; }
  .cinematic-sticky { position: relative; }
  .sequence-canvas { display: none; }
  .sequence-fallback { opacity: 1; object-fit: cover; }
  .construction-intel, .cinematic-fade-black, .sequence-rail, .sequence-meta { display: none; }
  .scene-deep { height: 100svh; }
  .scene-deep-sticky { position: relative; }
  .scene-deep-image { transform: none !important; }
}
