main { display: flex; flex-direction: column; }
.hero { order: 1; min-height: 590px; height: 590px; }
.collection { order: 2; padding: 68px 7vw 88px; }
.manifesto { order: 3; padding: 78px 7vw; }
.featured { order: 4; padding: 0 7vw 86px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.process { order: 5; }
.cta { order: 6; }
.hero-copy { padding: 70px 4vw 58px 7vw; }
.hero-copy h1 { font-size: clamp(54px, 5.8vw, 86px); }
.hero-copy p { font-size: 17px; line-height: 1.65; }
.hero-gallery { min-height: 590px; }
.title { align-items: center; margin-bottom: 38px; }
.title h2 { font-size: clamp(42px, 4.7vw, 66px); margin-bottom: 14px; }
.catalog-intro { max-width: 680px; color: var(--muted); line-height: 1.65; margin-bottom: 0; }
.featured article, .featured article.reverse { display: grid; grid-template-columns: 1fr; min-height: 0; margin: 0; border-radius: 28px; }
.featured article.reverse img { order: 0; }
.featured img { height: 300px; }
.featured article > div { padding: 36px; justify-content: flex-start; }
.featured h2 { font-size: clamp(36px, 3.4vw, 50px); margin: 16px 0; }
.featured p { min-height: 58px; }
@media (max-width: 950px) {
  .hero { height: auto; min-height: 0; }
  .hero-copy { padding: 64px 7vw 55px; }
  .hero-gallery { min-height: 390px; }
  .featured { grid-template-columns: 1fr 1fr; }
  .featured img { height: 280px; }
}
@media (max-width: 620px) {
  .hero-copy { padding: 50px 22px 42px; }
  .hero-copy h1 { font-size: 50px; }
  .hero-copy p { font-size: 16px; line-height: 1.55; }
  .hero-copy small { margin-top: 22px; }
  .hero-gallery { min-height: 285px; }
  .hero-gallery > span { font-size: 14px; }
  .collection { padding: 54px 20px 70px; }
  .title { margin-bottom: 28px; }
  .title h2 { font-size: 42px; }
  .filters { margin-top: 24px; gap: 6px; }
  .filters button { padding: 10px 13px; font-size: 12px; }
  .photo { height: 390px; }
  .manifesto { padding: 68px 20px; }
  .featured { padding: 0 20px 70px; grid-template-columns: 1fr; }
  .featured img { height: 255px; }
  .featured article > div { padding: 30px 25px; }
  .featured p { min-height: 0; }
}
