@media (max-width: 900px) {
  .desktop-nav, .header-cta { display: none; }
  .menu-toggle { background: transparent; border: 0; cursor: pointer; display: grid; gap: .35rem; padding: .6rem 0 .6rem .6rem; position: relative; z-index: 25; }
  .menu-toggle span { background: currentColor; display: block; height: 1px; transition: transform .35s var(--ease); width: 1.6rem; }
  .site-header.menu-open .menu-toggle span:first-child { transform: translateY(.42rem) rotate(45deg); }
  .site-header.menu-open .menu-toggle span:last-child { transform: rotate(-45deg); }
  .mobile-menu { background: var(--paper); color: var(--black); display: flex; flex-direction: column; inset: 0; justify-content: center; opacity: 0; padding: 6rem var(--gutter) 3rem; pointer-events: none; position: fixed; transform: translateY(-1rem); transition: opacity .4s var(--ease), transform .4s var(--ease); }
  .mobile-menu.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }
  .mobile-menu nav { display: flex; flex-direction: column; gap: 1.15rem; }
  .mobile-menu nav a { font-family: 'Space Grotesk', sans-serif; font-size: clamp(2.5rem, 10vw, 5rem); letter-spacing: -.08em; }
  .mobile-menu-link { border-top: 1px solid var(--line); color: var(--red); margin-top: 3rem; padding-top: 1.4rem; }
  .hero { height: 100vh; min-height: 38rem; }
  .hero-content { padding-top: 7rem; }
  .hero-kicker { left: var(--gutter); top: 7.5rem; transform: none; transform-origin: initial; }
  .hero-title-block { bottom: 6.4rem; left: var(--gutter); right: var(--gutter); }
  .hero-title-block h1 { font-size: clamp(3.4rem, 13vw, 6.8rem); }
  .hero-description { max-width: 19rem; }
  .hero-note { display: none; }
  .hero-controls { bottom: 2rem; left: var(--gutter); }
  .hero-next-peek { bottom: 2rem; left: auto; right: var(--gutter); transform: none; }
  .differentiators-thumb { display: none; }
  .differentiators-head { display: block; }
  .section-head-split { align-items: start; flex-direction: column; gap: 2rem; }
  .four-col { grid-template-columns: repeat(2, 1fr); }
  .editorial-item { min-height: 13rem; }
  .editorial-item + .editorial-item { border-left: 1px solid var(--line); padding-left: 1rem; }
  .editorial-item:nth-child(3) { border-left: 0; padding-left: 0; }
  .manifesto, .section-mineral { grid-template-columns: 1fr; }
  .manifesto-image { height: 56vw; max-height: 34rem; }
  .manifesto-content { padding-bottom: 6rem; padding-top: 6rem; }
  .projects-grid { gap: 3rem 1rem; grid-template-columns: repeat(2, 1fr); }
  .project-card, .project-card-large { grid-column: span 1; }
  .project-card-offset { margin-top: 3rem; }
  .process { height: 330vh; }
  .process-layout { gap: 2rem; grid-template-columns: 1fr; padding: 5.5rem var(--gutter) 2rem; }
  .process-copy { align-self: start; }
  .process-copy h2 { font-size: clamp(3rem, 11vw, 5rem); margin: 1.2rem 0 1rem; }
  .process-copy > p { font-size: .9rem; max-width: 20rem; }
  .process-counter { margin-top: 1.4rem; }
  .process-counter span:first-child { font-size: 2.5rem; }
  .process-visual { height: 53vh; min-height: 18rem; }
  .process-panel > div { bottom: 1.3rem; left: 1.2rem; right: 1.2rem; }
  .process-panel h3 { font-size: 2.4rem; }
  .process-panel p { font-size: .86rem; }
  .details-content { padding-bottom: 5rem; padding-top: 6rem; }
  .details-image { height: 70vw; max-height: 36rem; }
  .gallery-section { padding-bottom: 2.5rem; padding-top: 6rem; }
  .gallery-track { gap: 1rem; }
  .gallery-section .section-head { padding: 0 var(--gutter); }
  .gallery-card img, .gallery-card-tall img { height: 20rem; width: 17rem; }
  .gallery-card-wide img { height: 17rem; width: 24rem; }
  .infinite-gallery { gap: 1rem; }
  .testimonial { min-height: 34rem; }
  .testimonial-mark { font-size: 18rem; top: 18%; }
  .testimonial-content { gap: 3rem; grid-template-columns: 1fr; }
  .testimonial-video { max-width: 38rem; }
  .final-cta { min-height: 75vh; }
  .footer-main { gap: 3rem; grid-template-columns: 1fr 1fr; margin-bottom: 4rem; }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
  :root { --section-y: 5.5rem; }
  .site-header { height: 4.6rem; }
  .brand { font-size: 1.15rem; }
  .brand img { height: 1.8rem; width: 1.8rem; }
  h2 { font-size: clamp(2.7rem, 13vw, 4.4rem); }
  .hero { height: 100svh; min-height: 38rem; }
  .hero-media-wrap { inset: 0; }
  .hero-title-block { bottom: 5.8rem; }
  .hero-title-block h1 { font-size: clamp(3rem, 15vw, 5rem); }
  .hero-eyebrow { font-size: .62rem; }
  .hero-description { font-size: .88rem; margin-top: 1rem; }
  .hero-actions { align-items: start; flex-direction: column; gap: 1rem; margin-top: 1.3rem; }
  .hero-controls { bottom: 1.5rem; }
  .hero-next-peek { bottom: 1.6rem; font-size: .55rem; }
  .four-col { grid-template-columns: 1fr; }
  .editorial-item, .editorial-item + .editorial-item, .editorial-item:nth-child(3) { border-left: 0; min-height: 10rem; padding-left: 0; }
  .editorial-item h3 { margin-top: 2rem; max-width: 12ch; }
  .manifesto-image { height: 100vw; }
  .manifesto-content { padding: 5.5rem var(--gutter); }
  .manifesto-content > p { font-size: .95rem; }
  .projects-grid { grid-template-columns: 1fr; }
  .project-card, .project-card-large { grid-column: span 1; }
  .project-card-offset { margin-top: 0; }
  .solutions-grid { grid-template-columns: 1fr; }
  .solution-item, .solution-item + .solution-item { border-left: 0; min-height: 12rem; padding: 1.4rem 1.2rem; }
  .solution-item h3 { margin-top: 2rem; }
  .process { height: 270vh; }
  .process-layout { padding-top: 5.5rem; }
  .process-copy .eyebrow { font-size: .6rem; }
  .process-visual { height: 47vh; }
  .details-tabs { gap: 1.5rem; justify-content: flex-start; margin-top: 3.5rem; }
  .details-tabs button { font-size: .68rem; }
  .gallery-section .section-head { margin-bottom: 3rem; }
  .gallery-signature { font-size: 1.5rem; line-height: 1.05; padding-top: 1.2rem; text-align: left; }
  .gallery-card img, .gallery-card-tall img { height: 16rem; width: 14rem; }
  .gallery-card-wide img { height: 14rem; width: 20rem; }
  .testimonial { min-height: 30rem; }
  .testimonial-content h2 { font-size: clamp(3rem, 15vw, 5rem); }
  .final-cta-content { padding-top: 10rem; }
  .footer-main { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .footer-bottom { align-items: start; flex-direction: column; gap: .65rem; }
}
