.home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
  align-items: center;
  gap: var(--space-6);
  padding-top: var(--space-6);
}

.home-hero--text { grid-template-columns: minmax(0, 1fr); }
.home-hero h1 { max-width: 17ch; margin: var(--space-4) 0 0; }
.home-hero .lead { max-width: 37ch; margin: var(--space-5) 0 0; }
.home-hero__about { margin-top: var(--space-3); }
.home-hero__hello { --gn-tilt: var(--tilt-left); }
.home-actions, .home-quick { display: flex; flex-wrap: wrap; align-items: center; }
.home-actions { gap: var(--space-4); margin-top: var(--space-6); }
.home-quick { gap: var(--space-2) var(--space-3); margin-top: var(--space-5); }

.home-collage {
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: 510px;
  aspect-ratio: 1 / 1.08;
  justify-self: end;
}

.home-collage > * { position: absolute; }
.home-collage__photo { width: 60%; }
.home-collage__photo .gn-photo__img { aspect-ratio: 1 / 1; }
.home-collage__photo .gn-photo__img img { object-position: center; }
.home-collage__photo--1 { top: 7%; left: 3%; --gn-tilt: var(--tilt-left); }
.home-collage__photo--2 { top: 45%; right: 3%; width: 56%; --gn-tilt: var(--tilt-right); }
.home-collage__budget { z-index: 2; top: 1%; left: 47%; }
.home-collage__sparkle { right: 4%; top: 20%; }
.home-collage__star { right: 22%; top: 29%; }
.home-collage__heart { left: 25%; top: 71%; }
.home-collage__note { left: 5%; bottom: 5%; --gn-tilt: var(--tilt-right); }

.home-collection-grid, .home-gift-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.home-market-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-week {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: var(--space-5);
}

.home-collection { min-height: 290px; }
.home-collection .gn-coll__top { padding-right: var(--space-6); }
.home-collection .gn-coll__top .gn-sticker, .editorial-heading__badges .gn-sticker { text-transform: uppercase; }
.collection-badge { max-width: 100%; white-space: normal; overflow-wrap: anywhere; text-align: center; }
.home-collection .gn-coll__title { padding-right: 0; overflow-wrap: anywhere; }
.home-collection .gn-coll__doodle { top: var(--space-4); right: var(--space-3); width: 30px; }
.home-collection .gn-coll__thumb {
  width: clamp(54px, 6vw, 78px);
  height: auto;
  aspect-ratio: 1;
  overflow: hidden;
}
.home-collection .gn-coll__thumb img { width: 100%; height: 100%; object-fit: cover; }
.home-gift-grid .gn-gift__foot { flex-wrap: wrap; }
.home-week .gn-note__title { padding-right: 0; overflow-wrap: anywhere; }
.home-week .gn-note__kicker + .gn-note__text { margin-top: var(--space-3); }
.home-week:has(> .gn-note:last-child:nth-child(2)) { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); }

.market-demo { margin: 0; color: var(--ink-soft); }
.markets-list { display: grid; gap: var(--space-5); }

.home-about {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
  align-items: center;
  gap: var(--space-7);
  padding: var(--space-7);
  background: var(--pink-soft);
  border-radius: var(--radius-lg);
}

.home-about__art { position: relative; width: min(90%, 320px); margin: var(--space-4) auto; }
.home-about__art .gn-photo { --gn-tilt: var(--tilt-left); }
.home-about__art .gn-photo__img { aspect-ratio: 9 / 10; }
.home-about__art img { position: absolute; inset: 0; object-position: 65% center; }
.home-about__flower { position: absolute; bottom: 0; right: -8%; }
.home-about h2 { margin: 0 0 var(--space-5); }
.home-about__letter { max-width: 62ch; }
.home-about__letter p { margin: 0; }
.home-about__letter p + p { margin-top: var(--space-4); }

.editorial-heading { padding: var(--space-7) 0 var(--space-6); }
.editorial-heading h1 { margin: 0; overflow-wrap: anywhere; }
.editorial-heading .lead { max-width: 56ch; margin: var(--space-4) 0 0; }
.editorial-heading .lead p { margin: 0 0 var(--space-3); }
.editorial-heading__badges { margin-bottom: var(--space-5); }

.collection-heading { padding-top: var(--space-5); }
.collection-heading--with-cover {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  align-items: center;
  gap: var(--space-6);
}
.collection-heading__intro { max-width: 54ch; margin-top: var(--space-4); }
.collection-heading__intro p { margin: 0 0 var(--space-3); }
.collection-heading__intro p:last-child { margin-bottom: 0; }
.collection-cover {
  position: relative;
  width: min(87%, 290px);
  margin: var(--space-4) auto;
}
.collection-cover__frame { --gn-tilt: var(--tilt-right); }
.collection-cover__frame .gn-photo__img { aspect-ratio: 1 / 1; }
.collection-cover__sparkle { position: absolute; z-index: 2; top: 28%; left: calc(-1 * var(--space-5)); }

@media (max-width: 1000px) {
  .home-hero .hero { font-size: clamp(38px, 4.4vw, 44px); line-height: 1.14; }
  .collection-heading .hero { font-size: clamp(32px, 5vw, 44px); line-height: 1.14; }
  .home-collection-grid, .home-gift-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-collection { min-height: 255px; }
}

@media (max-width: 760px) {
  .home-hero { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .home-collage { justify-self: center; max-width: 390px; }
  .home-about { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); padding: var(--space-5); }
  .home-about__art { max-width: 260px; }
}

@media (max-width: 720px) {
  .homepage .gn-section { margin-top: var(--space-7); }
  .home-hero .hero, .homepage .display, .editorial-heading .display { font-size: clamp(29px, 7.8vw, 40px); line-height: 1.16; }
  .home-collage__budget { font-size: 13px; padding: var(--space-4); }
  .home-collage__sparkle { width: 44px; }
  .home-collage__star { width: 30px; }
  .home-collage__heart { width: 30px; }
  .home-week, .home-week:has(> .gn-note:last-child:nth-child(2)), .home-market-grid { grid-template-columns: minmax(0, 1fr); }
  .home-week .catalog-card { width: min(100%, 390px); }
}

@media (max-width: 480px) {
  .collection-heading--with-cover { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .collection-cover { width: min(82%, 235px); }
  .home-collection-grid { grid-template-columns: minmax(0, 1fr); }
  .home-collection { min-height: 224px; }
  .home-gift-grid { gap: var(--space-5) var(--space-3); }
  .home-gift-grid .catalog-card__description { font-size: 14px; line-height: 1.4; }
  .home-gift-grid .gn-gift__title { font-size: 16px; line-height: 1.25; }
  .home-gift-grid .gn-gift__title, .home-gift-grid .gn-gift__brand { overflow-wrap: anywhere; }
}
