/* 01 — Comfortable reading width; latest feedback supersedes the wide canvas. */
body.home .wrap { width:calc(100% - 64px); max-width:1120px; padding-left:0; padding-right:0; }
.home-section { text-align:left; }
.home-section h2 { font-size:26px; }

/* 02 — Three-block collage and headline overlapping the image's lower edge. */
.gallery-hero { padding-top:24px; padding-bottom:32px; }
.hero-collage { position:relative; width:calc(100% - 32px); height:clamp(260px,36vh,360px); }
.hero-main { position:absolute; inset:0 auto auto 0; width:58%; height:100%; aspect-ratio:auto; border-radius:var(--r-sm); }
.hero-small { position:absolute; border-radius:var(--r-sm); }
.hero-small-top { top:0; left:66%; width:30%; height:38%; background:var(--sage); }
.hero-small-bottom { top:calc(38% + 24px); left:58%; margin-left:-16px; width:36%; height:44%; background:var(--line); border:1px solid var(--wood); }
.hero-vertical { position:absolute; left:calc(100% + 16px); top:0; writing-mode:vertical-rl; font-size:11px; font-weight:500; letter-spacing:.18em; line-height:24px; color:var(--wood); }
.hero-copy { position:relative; z-index:2; width:80%; margin-top:-24px; padding:12px 24px 0 0; background:var(--bg); }
.hero-copy h1 { font-size:clamp(34px,3.1vw,46px); line-height:1.25; margin-bottom:14px; text-wrap:balance; }
.hero-copy p { max-width:46ch; margin:0; color:var(--muted); }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }

/* 03 — Slim moving type strip. */
.marquee { height:32px; overflow:hidden; background:var(--terra); color:var(--card); }
.marquee-track { display:flex; width:max-content; animation:gallery-marquee 36s linear infinite; }
.marquee-track span { flex:none; white-space:pre; font-size:12px; line-height:32px; letter-spacing:.12em; }
@keyframes gallery-marquee { to { transform:translateX(-50%); } }

/* 04 — 7:5 / 5:7 room mosaic; four existing palette colors, text on image. */
.home-rooms { padding:40px 0 48px; }
.section-heading { display:flex; align-items:baseline; gap:16px; margin-bottom:20px; }
.section-heading h2 { margin:0; }
.section-number { font:400 38px/1 var(--serif); color:var(--terra); }
.room-mosaic { display:grid; gap:18px; }
.room-row { display:grid; gap:18px; align-items:start; }
.room-row-first { grid-template-columns:7fr 5fr; }
.room-row-second { grid-template-columns:5fr 7fr; }
.room-tile { position:relative; display:block; text-decoration:none; overflow:hidden; border-radius:var(--r-sm); }
.room-1,.room-4 { height:190px; }
.room-2,.room-3 { height:160px; }
.room-2 { margin-top:20px; }
.room-3 { margin-top:16px; }
.room-image { position:absolute; inset:0; }
.room-1 .room-image { background:var(--terra); }
.room-2 .room-image { background:var(--sage); }
.room-3 .room-image { background:var(--line); }
.room-4 .room-image { background:var(--wood); }
.room-copy { position:absolute; left:20px; right:20px; bottom:20px; color:var(--card); }
.room-3 .room-copy { color:var(--ink); }
.room-copy h3 { font-size:22px; }
.room-copy span { font-size:14px; }
.room-tile:focus-visible { outline-offset:4px; }

/* 05 — Compact collection links, three across instead of six tall rows. */
.home-collections { padding:28px 0 36px; background:var(--sage-soft); }
.collection-index { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 24px; margin-top:16px; }
.collection-entry { min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:8px; border-bottom:1px solid var(--line); text-decoration:none; }
.collection-entry h3 { margin:0; font-size:20px; }
.collection-entry > span { font-size:20px; padding:0 4px; color:var(--wood); }

/* 06 — Restore the original calm, flat product-card grid. */
.home-featured { padding:32px 0 48px; scroll-margin-top:100px; }
.featured-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px 18px; align-items:stretch; }
.featured-grid .pc { transform:none; }
.featured-grid .pc .ph { aspect-ratio:1/1; }

/* 07 — Scene image anchored to the right, with existing product hotspots. */
.home-look { padding:28px 0 40px; background:var(--terra-soft); }
.home-look .scene { width:84%; margin:20px 0 0 auto; box-shadow:none; border-radius:var(--r-sm); }
.home-look .scene .ph { height:300px; aspect-ratio:auto; }

/* 08 — Smaller craft photo with copy overlapping its edge by 24px. */
.home-craft { padding:44px 0 32px; }
.craft-composition { display:flex; align-items:flex-start; }
.craft-image { flex:0 0 50%; height:340px; aspect-ratio:auto; border-radius:var(--r-sm); }
.craft-copy { position:relative; flex:0 0 calc(50% + 24px); margin:24px 0 0 -24px; padding:24px; background:var(--bg); }
.craft-copy p { margin:14px 0; color:var(--muted); font-size:14px; line-height:1.8; }
.craft-copy blockquote { margin:20px 0; font:400 22px/1.6 var(--serif); color:var(--wood); }

/* 09 — Distinct layouts and spacing for the remaining homepage sections. */
.home-wholesale { padding:32px 0 40px; background:var(--terra-soft); }
.home-wholesale .wrap { display:grid; grid-template-columns:32fr 12fr 56fr; min-height:140px; align-content:center; }
.wholesale-copy { grid-column:3; }
.wholesale-copy p { max-width:46ch; margin:0 0 24px; }
.home-guides { padding:32px 0 40px; }
.guide-index { margin-top:16px; }
.guide-entry { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:56px; border-bottom:1px solid var(--line); }
.guide-entry:nth-child(even) { margin-left:4%; min-height:64px; }
.guide-entry h3 { margin:0; font-size:20px; }
.guide-entry span { color:var(--muted); }
.home-newsletter { padding:36px 0 32px; background:var(--sage-soft); }
.home-newsletter .wrap { display:grid; grid-template-columns:34fr 8fr 50fr 8fr; align-items:start; min-height:170px; }
.home-newsletter .f { grid-column:3; width:100%; max-width:none; }
body.home footer .cols { grid-template-columns:5fr 3fr 4fr; }

/* 10 — Tablet and mobile keep smaller images and an even product grid. */
@media (min-width:721px) and (max-width:1000px) {
  .featured-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:720px) {
  body.home .wrap { width:calc(100% - 40px); max-width:none; }
  .gallery-hero { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:0 12px; padding-top:20px; padding-bottom:24px; }
  .hero-collage { display:contents; }
  .hero-main { position:relative; grid-column:1/-1; width:100%; height:240px; order:0; padding-right:32px; }
  .hero-copy { order:1; grid-column:1/-1; width:100%; margin-top:-18px; padding:10px 12px 0 0; }
  .hero-copy h1 { font-size:30px; }
  .hero-copy p { font-size:15px; }
  .hero-actions { gap:10px; }
  .hero-actions .btn { padding:12px 16px; }
  .hero-small { position:static; width:100%; margin:12px 0 0; }
  .hero-small-top { order:2; height:90px; margin-top:18px; }
  .hero-small-bottom { order:3; height:110px; }
  .hero-vertical { left:auto; right:8px; top:32px; font-size:8px; letter-spacing:.08em; line-height:18px; color:var(--card); }
  .home-section h2 { font-size:24px; }
  .section-number { font-size:32px; }
  .section-heading { gap:12px; margin-bottom:18px; }
  .home-rooms { padding:32px 0 36px; }
  .room-row { grid-template-columns:1fr; gap:16px; }
  .room-mosaic { gap:16px; }
  .room-tile { margin-top:0; }
  .room-1,.room-3 { height:180px; }
  .room-2,.room-4 { height:150px; }
  .room-copy { left:20px; bottom:20px; }
  .room-copy h3 { font-size:22px; }
  .home-collections { padding:24px 0 28px; }
  .collection-index { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 16px; }
  .collection-entry h3 { font-size:18px; }
  .home-featured { padding:32px 0 48px; }
  .home-featured { scroll-margin-top:220px; }
  .featured-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 12px; }
  .featured-grid .pc .ph { padding:8px; font-size:12px; overflow-wrap:anywhere; }
  .featured-grid .pc h3 { font-size:14px; overflow-wrap:anywhere; }
  .featured-grid .pc .b { font-size:14px; }
  .home-look { padding:24px 0 40px; }
  .home-look .scene { width:100%; }
  .home-look .scene .ph { height:auto; aspect-ratio:4/3; }
  .home-look .hot span { max-width:180px; white-space:normal; }
  .home-look .hot:last-child span { right:0; }
  .home-craft { padding:36px 0 24px; }
  .craft-composition { display:block; }
  .craft-image { width:100%; height:240px; }
  .craft-copy { width:100%; margin:0; padding:24px 0 0; }
  .craft-copy blockquote { font-size:20px; }
  .home-wholesale { padding:32px 0 40px; }
  .home-wholesale .wrap,.home-newsletter .wrap { display:block; min-height:0; }
  .wholesale-copy { margin-top:24px; }
  .home-guides { padding:24px 0 48px; }
  .guide-entry h3 { font-size:20px; }
  .home-newsletter { padding:40px 0 32px; }
  .home-newsletter .f { margin-top:24px; }
  body.home footer .cols { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { .marquee-track { animation:none; } }
.catalogue-photo { display:block; overflow:hidden; padding:0; background:var(--card); }
.catalogue-photo img { display:block; width:100%; height:100%; object-fit:contain; }
.featured-more { margin:24px 0 0; }
