/* Home composition — Cocoon rhythm. All scale comes from the semantic tokens in tokens.css. */
.storefront-home__hero {height:var(--viewport-small-height);min-height:var(--viewport-small-height);position:relative;
}

.storefront-home__hero-media,
.storefront-home__image-story-media {bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0;
}

.storefront-home__hero-media img {animation:storefront-home-hero-settle var(--motion-hero) var(--ease-image) both;filter:var(--filter-hero-tone);height:var(--size-full);object-fit:cover;object-position:center center;width:var(--size-full);
}

@keyframes storefront-home-hero-settle {
  from {transform:scale(1.06); }
  to {transform:scale(1); }
}

.storefront-home__hero::after,
.storefront-home__image-story::after {background:linear-gradient(to top, var(--overlay-dark-soft), var(--overlay-dark-soft) 58%, transparent 84%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;
}

.storefront-home__hero-content {bottom:0;color:var(--light);left:0;position:absolute;right:0;top:0;z-index:var(--layer-content);
}

.storefront-home__hero-layout {align-items:stretch;box-sizing:border-box;display:flex;height:var(--size-full);min-height:var(--size-full);padding:clamp(var(--space-l), var(--fluid-medium), var(--space-3xl)) clamp(var(--space-s), var(--fluid-category-gap), var(--space-2xl)) clamp(var(--control-min-height), var(--fluid-menu), var(--space-3xl));width:var(--size-full);
}

.storefront-home__hero-copy {align-items:end;align-content:end;display:grid;gap:clamp(var(--space-m), var(--fluid-medium), var(--space-2xl));grid-template-columns:var(--columns-hero);min-height:var(--size-full);max-width:none;width:var(--size-full);
}

.storefront-home__hero-primary {display:grid;gap:var(--space-m);
}

.storefront-home__hero-title {color:var(--light);font-size:var(--text-4xl);letter-spacing:var(--tracking-display);line-height:var(--leading-display);margin:0;max-width:var(--measure-hero-title);
}

.storefront-home__hero-note {align-self:end;color:var(--light);font-size:var(--text-m);justify-self:end;line-height:var(--leading-copy);margin:0 0 var(--space-4xs);max-width:var(--measure-hero-note);
}

.storefront-home__actions {display:flex;flex-wrap:wrap;gap:var(--space-xs);
}

.storefront-home__button {align-items:center;border:var(--line-width) solid currentColor;cursor:pointer;display:inline-flex;font-size:var(--text-xs);font-weight:var(--weight-medium);justify-content:center;letter-spacing:var(--tracking-wide);min-height:var(--control-min-height);padding:var(--space-3xs) var(--space-xs);text-decoration:none;text-transform:uppercase;transition:background-color var(--motion-standard) var(--ease-standard), color var(--motion-standard) var(--ease-standard), opacity var(--motion-standard) var(--ease-standard);
}

.storefront-home__button--light {background:var(--overlay-scrim-faint);color:var(--light);
}

.storefront-home__button--light:hover,
.storefront-home__button--light:focus-visible {background:var(--light);color:var(--text-body);
}

.storefront-home__button--dark {color:var(--text-body);
}

.storefront-home__button--dark:hover,
.storefront-home__button--dark:focus-visible {background:var(--text-body);color:var(--light);
}

/* Feature rows use four equal tracks: the editorial statement spans two
   tracks, while each product occupies one track. */
.storefront-home__feature {align-items:start;background:var(--bg-surface-soft);display:grid;gap:var(--page-gutter);grid-template-columns:var(--columns-one);padding:var(--page-gutter);
}

.storefront-home__feature--reverse {padding-top:0;
}

.storefront-home__editorial {aspect-ratio:var(--ratio-feature);color:var(--light);display:block;min-width:0;overflow:hidden;position:relative;
}

.storefront-home__editorial-media {bottom:0;display:block;left:0;position:absolute;right:0;top:0;
}

.storefront-home__editorial-media > img {height:var(--size-full);object-fit:cover;transition:transform var(--motion-slow) var(--ease-image);width:var(--size-full);
}

.storefront-home__editorial-media:hover > img,
.storefront-home__editorial-media:focus-visible > img {transform:scale(var(--scale-hover));
}

.storefront-home__editorial-scrim {background:linear-gradient(to top, var(--overlay-dark), transparent var(--scrim-stop));bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;
}

.storefront-home__editorial--light {color:var(--text-body);
}

.storefront-home__editorial--light .storefront-home__editorial-scrim {background:linear-gradient(to top, var(--overlay-light), transparent var(--scrim-stop));
}

.storefront-home__editorial--light .storefront-home__editorial-media:focus-visible,
.storefront-home__editorial--light .storefront-home__editorial-aside .storefront-home__button:focus-visible {outline-color:var(--text-body);
}

.storefront-home__editorial-content {align-items:end;bottom:0;column-gap:var(--space-l);display:grid;grid-template-columns:var(--columns-editorial);left:0;padding:var(--space-m);pointer-events:none;position:absolute;right:0;z-index:var(--layer-content);
}

.storefront-home__feature-title {color:inherit;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-regular);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);margin:0;max-width:var(--measure-feature-title);
}

.storefront-home__editorial-aside {align-self:end;display:grid;gap:var(--space-xs);justify-items:end;max-width:var(--measure-copy-short);text-align:right;
}

.storefront-home__editorial-aside > span {color:inherit;font-size:var(--text-xs);line-height:var(--leading-copy);opacity:var(--opacity-secondary);
}

.storefront-home__editorial-aside .storefront-home__button {pointer-events:auto;
}

.storefront-home__products {display:grid;gap:var(--page-gutter);grid-template-columns:var(--columns-two);min-width:0;
}

.storefront-home__products .storefront-product-card {min-width:0;
}

/* Feature rows intentionally use compact product tiles. The editorial panel
   remains the visual anchor, while the shorter product pair leaves a clear
   pause before the next row begins. Catalogue cards keep their shared 4 / 5
   proportion. */
.storefront-home__products .storefront-product-card__media {aspect-ratio:var(--ratio-feature-mobile);
}

.storefront-home__image-story {height:var(--viewport-small-height);min-height:var(--viewport-small-height);position:relative;
}

.storefront-home__image-story-media img {height:var(--size-full);object-fit:cover;object-position:center;width:var(--size-full);
}

.storefront-home__image-story-content {align-items:end;color:var(--light);display:flex;min-height:inherit;padding-bottom:var(--space-l);position:relative;z-index:var(--layer-content);
}

.storefront-home__story-title {max-width:var(--measure-copy-short);
}

.storefront-home__arrivals {background:var(--bg-surface-soft);padding-block:var(--section-space);
}

@media (min-width: 48rem) {
  .storefront-home__feature {grid-template-columns:var(--columns-four);
  }

  .storefront-home__editorial,
  .storefront-home__products {grid-column:span 2;grid-row:1;
  }

  .storefront-home__feature--reverse .storefront-home__editorial {grid-column:3 / span 2;
  }

  .storefront-home__feature--reverse .storefront-home__products {grid-column:1 / span 2;
  }
}

@media (max-width: 47.99rem) {
  .storefront-home__hero {height:var(--viewport-small-height);min-height:var(--viewport-small-height);
  }

  .storefront-home__hero-copy {gap:var(--space-m);grid-template-columns:var(--columns-one);
  }

  .storefront-home__hero-title {font-size:var(--text-4xl);max-width:var(--measure-title);
  }

  .storefront-home__hero-note {justify-self:start;font-size:var(--text-s);max-width:var(--measure-hero-note-mobile);
  }

  .storefront-home__actions {display:grid;grid-template-columns:var(--columns-two);
  }

  .storefront-home__button {padding-inline:var(--space-xs);text-align:center;
  }

  .storefront-home__feature {gap:var(--space-m);grid-template-columns:var(--columns-one);padding:var(--page-gutter);
  }

  .storefront-home__feature--reverse .storefront-home__editorial,
  .storefront-home__feature--reverse .storefront-home__products {grid-column:auto;grid-row:auto;
  }

  .storefront-home__editorial-content {grid-template-columns:var(--columns-one);row-gap:var(--space-xs);padding:var(--space-m);
  }

  .storefront-home__editorial {aspect-ratio:var(--ratio-feature-mobile);
  }

  .storefront-home__feature--reverse {padding-top:0;
  }

  .storefront-home__products {gap:var(--page-gutter);grid-template-columns:var(--columns-two);
  }

  .storefront-home__image-story {height:var(--viewport-small-height);min-height:var(--viewport-small-height);
  }

  .storefront-home__image-story-content {padding-bottom:var(--space-m);
  }
}

@media (max-width: 360px) {
  .storefront-home__actions {grid-template-columns:var(--columns-one);
  }
}

@media (prefers-reduced-motion: reduce) {
  .storefront-home__hero-media img,
  .storefront-home__editorial-media > img {animation:none;transition:none;
  }
}
