@media (max-width: 1120px) {
  :root { --header-height: 70px; }
  .desktop-nav { gap: 16px; }
  .hero { grid-template-columns: 0.85fr 1.15fr; }
  .hero h1 { font-size: clamp(3.7rem, 7vw, 6.4rem); }
  .hero__actions { align-items: flex-start; flex-direction: column; }
  .constructor-preview { min-height: 760px; }
  .door-composer { grid-template-columns: 1fr; }
  .door-composer__stage { min-height: 590px; }
  .door-composer__controls { grid-template-columns: 1fr 1fr; }
  .door-composer__controls > div { min-height: 100px; }
}

@media (max-width: 900px) {
  .desktop-nav { display: none; }
  .site-header { grid-template-columns: 1fr auto; }
  .menu-toggle { display: block; }
  body.menu-open .mobile-menu { display: grid; }
  .section { padding-block: var(--space-6); }
  .section-heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: var(--space-5); }
  .section-heading .eyebrow { margin-bottom: 12px; }
  .hero { grid-template-columns: 1fr; min-height: auto; }
  .hero__copy { min-height: 78svh; padding-top: var(--space-7); }
  .hero__media { min-height: 70svh; }
  .hero__scroll { display: none; }
  .categories__grid { grid-template-columns: 1fr 1fr; }
  .category-card:nth-child(2) { margin-top: 64px; }
  .category-card:nth-child(3) { grid-column: 1 / -1; width: 68%; margin-left: auto; }
  .statement { grid-template-columns: 1fr; }
  .statement__media { min-height: 58svh; }
  .statement__copy { min-height: 60svh; padding: var(--space-6) var(--space-4); }
  .constructor-preview { grid-template-columns: 1fr; }
  .constructor-preview__intro { padding-block: var(--space-6); }
  .door-composer { min-height: 740px; }
  .materials__list { grid-template-columns: repeat(3, 1fr); gap: 40px 12px; }
  .about-preview { grid-template-columns: 1fr; }
  .about-preview__copy { min-height: 55svh; padding: var(--space-6) var(--space-4); }
  .about-preview__media { min-height: 60svh; }
}

@media (max-width: 620px) {
  :root { --container: calc(100% - 32px); --space-6: 72px; --space-7: 104px; }
  .site-header { padding-inline: 16px; }
  .hero__copy { min-height: 84svh; padding: 112px 22px 70px; }
  .hero__copy .eyebrow { margin-bottom: 36px; }
  .hero h1 { font-size: clamp(3rem, 15vw, 5.4rem); }
  .hero__intro { margin-top: 34px; }
  .hero__actions { gap: 24px; margin-top: 34px; }
  .hero__media { min-height: 66svh; }
  .hero__media img { object-position: 61% center; }
  .hero__media figcaption { font-size: .52rem; }
  .section-heading h2,
  .statement h2,
  .constructor-preview h2,
  .about-preview h2,
  .final-cta h2 { font-size: clamp(2.65rem, 13.5vw, 5rem); }
  .categories__grid { grid-template-columns: 1fr; gap: 48px; }
  .category-card:nth-child(2), .category-card:nth-child(3) { width: auto; margin: 0; }
  .category-card__media { aspect-ratio: 1.08; }
  .statement__media { min-height: 50svh; }
  .collections__grid { grid-template-columns: 1fr; gap: 50px; }
  .collection-card:nth-child(3), .collection-card:nth-child(4) { grid-column: auto; margin: 0; }
  .collection-card:nth-child(even) .collection-card__media { aspect-ratio: 1.1; }
  .constructor-preview__intro { padding-inline: 24px; }
  .door-composer { margin: 0 16px 16px; }
  .door-composer__stage { min-height: 520px; padding: 24px; }
  .door-composer__frame { width: 66%; }
  .door-composer__controls { grid-template-columns: 1fr; }
  .materials__list { grid-template-columns: repeat(2, 1fr); }
  .interiors__grid { grid-template-columns: 1fr; }
  .project-card:first-child { grid-row: auto; }
  .project-card:first-child .project-card__media { height: auto; min-height: 0; aspect-ratio: .82; }
  .project-card__media { width: 100%; }
  .project-card__media { aspect-ratio: 1.1; }
  .project-card > div:last-child { align-items: flex-start; flex-direction: column; gap: 7px; }
  .about-preview { margin-top: var(--space-6); }
  .final-cta > div { flex-direction: column; }
  .site-footer { grid-template-columns: 1fr; gap: 54px; }
  .site-footer nav { grid-template-columns: 1fr 1fr; }
  .site-footer__meta { flex-direction: column; gap: 12px; }
}

@media (max-width: 360px) {
  .hero__copy { padding-inline: 16px; }
  .hero h1 { font-size: 3rem; }
  .mobile-menu nav a { font-size: 2.45rem; }
  .button { min-width: 100%; }
  .materials__list { grid-template-columns: 1fr; }
}
