.store-home {
  --home-ink:#171717;
  --home-warm:#fff8f2;
  color:var(--color-text);
}

/* Homepage identity: a compact editorial hero with an orange gift-ribbon
   motif. The illustration is CSS-only when no approved landscape asset is
   configured, so the fallback adds no request and never upscales a thumbnail. */
.store-home-hero {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(20rem, .92fr);
  align-items:stretch;
  min-height:25rem;
  max-width:1200px;
  margin:1.25rem auto 0;
  overflow:hidden;
  border:1px solid color-mix(in srgb, var(--color-brand) 18%, var(--color-border));
  border-radius:clamp(1.25rem, 2vw, 2rem);
  background:var(--home-warm);
  box-shadow:0 1.25rem 3.5rem rgba(72, 39, 12, .08);
}
.store-home-hero-text {
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:clamp(2rem, 5vw, 4.5rem);
  text-align:left;
}
.store-home-eyebrow,
.store-home-section-kicker {
  margin:0 0 .75rem;
  color:var(--color-brand-on-light);
  font-size:.8rem;
  font-weight:600;
  letter-spacing:.12em;
  line-height:1.3;
  text-transform:uppercase;
}
.store-home-hero h1 {
  max-width:14ch;
  margin:0 0 1rem;
  color:var(--home-ink);
  font-size:clamp(2.25rem, 4.8vw, 4.5rem);
  font-weight:700;
  letter-spacing:-.045em;
  line-height:.98;
}
.store-home-hero-text > p:not(.store-home-eyebrow) {
  max-width:37rem;
  margin:0;
  color:var(--color-text-muted);
  font-size:clamp(1rem, 1.4vw, 1.12rem);
  line-height:1.65;
}
.store-home-hero-cta {
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  margin-top:1.5rem;
  padding:.85rem 1.25rem;
  border:2px solid var(--color-brand-on-light);
  border-radius:999px;
  background:var(--color-brand-on-light);
  color:#fff;
  font-weight:600;
  text-decoration:none;
}
.store-home-hero-cta::after { content:"→"; font-size:1.15em; transition:transform .18s ease; }
.store-home-hero-cta:hover,
.store-home-hero-cta:focus-visible { background:var(--color-brand-active); border-color:var(--color-brand-active); color:#fff; }
.store-home-hero-cta:hover::after { transform:translateX(.2rem); }
.store-home-hero-cta:focus-visible { outline:3px solid var(--color-focus); outline-offset:3px; }
.store-home-hero-media,
.store-home-hero-art {
  position:relative;
  min-height:100%;
  overflow:hidden;
  background:var(--color-brand);
}
.store-home-hero-media picture,
.store-home-hero-media img { width:100%; height:100%; display:block; }
.store-home-hero-media img { object-fit:cover; object-position:center; }
.store-home-hero-art {
  display:grid;
  place-items:center;
  isolation:isolate;
}
.store-home-hero-art::before,
.store-home-hero-art::after {
  position:absolute;
  z-index:-1;
  content:"";
  background:#fff;
}
.store-home-hero-art::before { inset:0 42% 0 auto; width:2.2rem; }
.store-home-hero-art::after { inset:42% 0 auto; height:2.2rem; }
.store-home-hero-mark {
  position:relative;
  display:grid;
  place-items:center;
  width:10rem;
  height:10rem;
  border:2px solid rgba(255,255,255,.85);
  border-radius:50%;
  background:var(--color-brand);
  color:#fff;
  font-size:4.25rem;
  font-weight:600;
  line-height:1;
  box-shadow:0 0 0 1.25rem var(--color-brand);
}
.store-home-hero-mark::before,
.store-home-hero-mark::after {
  position:absolute;
  top:-3.3rem;
  width:4.4rem;
  height:3.6rem;
  border:2px solid #fff;
  border-radius:70% 25% 55% 25%;
  content:"";
}
.store-home-hero-mark::before { left:.7rem; transform:rotate(22deg); }
.store-home-hero-mark::after { right:.7rem; transform:scaleX(-1) rotate(22deg); }

.store-home-section { margin-top:clamp(3.5rem, 7vw, 6.5rem); }
.store-home-section-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1.5rem;
  margin-bottom:1.5rem;
}
.store-home-section-heading h2 {
  max-width:18ch;
  margin:0;
  color:var(--home-ink);
  font-size:clamp(1.65rem, 3vw, 2.5rem);
  font-weight:400;
  letter-spacing:-.035em;
  line-height:1.08;
}
.store-home-section-intro {
  max-width:34rem;
  margin:0;
  color:var(--color-text-muted);
  font-size:1rem;
  line-height:1.55;
}

.store-home-category:focus-visible,
.store-home-audience-tile:focus-visible,
.store-home-popular-tile:focus-visible,
.store-home-advantage:focus-visible { outline:3px solid var(--color-focus); outline-offset:3px; }
.store-home-categories {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  grid-auto-flow:dense;
  gap:1rem;
}
.store-home-category {
  min-width:0;
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--color-border);
  border-radius:1.25rem;
  background:#fff;
  color:var(--color-text);
  text-decoration:none;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.store-home-category:nth-child(1),
.store-home-category:nth-child(2) { border-color:color-mix(in srgb, var(--color-brand) 28%, var(--color-border)); }
.store-home-category:hover { border-color:var(--color-brand); box-shadow:var(--shadow-medium); transform:translateY(-3px); }
.store-home-category-media { display:block; aspect-ratio:4/3; min-height:0; overflow:hidden; background:var(--color-surface); }
.store-home-category-media picture,
.store-home-category-media img { display:block; width:100%; height:100%; object-fit:cover; }
.store-home-category-body { padding:1rem 1.1rem 1.15rem; display:flex; align-items:baseline; justify-content:space-between; gap:.75rem; }
.store-home-category-name { font-weight:600; font-size:1rem; color:var(--color-heading); }
.store-home-category-count { flex:0 0 auto; color:var(--color-text-muted); font-size:.84rem; font-weight:400; }
.store-home-empty { padding:2rem; border:1px dashed var(--color-border); border-radius:14px; color:var(--color-text-muted); background:var(--color-surface); text-align:center; }

.store-home-audience-grid { display:grid; grid-template-columns:repeat(6, minmax(0, 1fr)); gap:.85rem; }
.store-home-audience-tile {
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--color-border);
  border-radius:1rem;
  background:#fff;
  color:var(--color-text);
  text-decoration:none;
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.store-home-audience-tile:hover { border-color:var(--color-brand); box-shadow:var(--shadow-small); transform:translateY(-2px); }
.store-home-audience-media { display:block; aspect-ratio:4/3; min-height:0; overflow:hidden; background:var(--color-surface); }
.store-home-audience-media picture,
.store-home-audience-media img { display:block; width:100%; height:100%; object-fit:cover; }
.store-home-audience-placeholder {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  background:var(--home-warm);
  color:var(--color-brand-on-light);
  font-size:1.6rem;
  font-weight:600;
}
.store-home-audience-label { padding:.7rem .5rem .8rem; text-align:center; font-weight:500; font-size:.92rem; }

.store-home-products {
  position:relative;
  padding:clamp(1.25rem, 3vw, 2.5rem);
  border-radius:1.75rem;
  background:var(--home-warm);
}
.store-home-section-offers { background:var(--color-accent-soft); }
.store-home-section-offers .store-home-section-heading h2 { color:var(--color-accent-dark); }

.store-home-popular-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:1rem; }
.store-home-popular-tile {
  display:flex;
  min-width:0;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--color-border);
  border-radius:1.15rem;
  background:#fff;
  color:var(--color-text);
  text-decoration:none;
  transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.store-home-popular-tile:hover { border-color:var(--color-brand); transform:translateY(-2px); box-shadow:var(--shadow-small); }
.store-home-popular-media { display:block; aspect-ratio:16/9; overflow:hidden; background:var(--color-surface); }
.store-home-popular-media picture,
.store-home-popular-media img { width:100%; height:100%; object-fit:cover; display:block; }
.store-home-popular-tile-label {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:.75rem;
  padding:.9rem 1rem 1rem;
  color:var(--color-heading);
  font-weight:600;
  font-size:1rem;
}
.store-home-popular-tile-label small { flex:0 0 auto; color:var(--color-text-muted); font-weight:400; font-size:.82rem; }

.store-home-advantages-grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  overflow:hidden;
  border:1px solid var(--color-border);
  border-radius:1.25rem;
  background:#fff;
}
.store-home-advantage {
  display:flex;
  min-width:0;
  align-items:flex-start;
  gap:.75rem;
  padding:1.25rem;
  border-right:1px solid var(--color-border);
  color:var(--color-text);
  text-decoration:none;
}
.store-home-advantage:last-child { border-right:0; }
.store-home-advantage svg { flex:0 0 auto; color:var(--color-brand-on-light); margin-top:.1rem; }
.store-home-advantage strong { display:block; color:var(--color-heading); font-size:.96rem; }
.store-home-advantage span { display:block; color:var(--color-text-muted); font-size:.88rem; margin-top:.15rem; line-height:1.5; }
a.store-home-advantage:hover,
a.store-home-advantage:focus-visible { background:var(--home-warm); }

.store-home-seo {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(18rem, .62fr);
  align-items:center;
  gap:clamp(1.5rem, 4vw, 3.5rem);
  margin-top:clamp(2.5rem, 5vw, 4.5rem);
  padding:clamp(1.5rem, 3vw, 2.5rem);
  border:1px solid var(--color-border);
  border-left:3px solid var(--color-brand);
  border-radius:0 1.5rem 1.5rem 0;
  background:var(--home-warm);
  color:var(--color-text-muted);
  line-height:1.75;
  font-size:1rem;
}
.store-home-seo-copy > p { margin-top:0; }
.store-home-seo-visuals { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:.65rem; }
.store-home-seo-visuals picture { display:block; min-width:0; overflow:hidden; border:1px solid var(--color-border); border-radius:1rem; background:#fff; aspect-ratio:1/1; }
.store-home-seo-visuals img { display:block; width:100%; height:100%; object-fit:contain; }
.store-home-seo-details summary { color:var(--color-brand-on-light); font-weight:500; cursor:pointer; margin-top:.25rem; }
.store-home-seo-details summary:focus-visible { outline:2px solid var(--color-focus); outline-offset:2px; }
.store-home-seo-details p { margin-top:.75rem; }

@media (max-width:991.98px) {
  .store-home-hero { grid-template-columns:minmax(0, 1.15fr) minmax(16rem, .85fr); min-height:22rem; }
  .store-home-hero-text { padding:2.25rem; }
  .store-home-categories { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .store-home-audience-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .store-home-popular-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .store-home-advantages-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .store-home-advantage:nth-child(2) { border-right:0; }
  .store-home-advantage:nth-child(-n+2) { border-bottom:1px solid var(--color-border); }
}
@media (max-width:767.98px) {
  .store-home-hero { grid-template-columns:1fr; min-height:0; }
  .store-home-hero-text { padding:2rem 1.35rem; }
  .store-home-hero h1 { max-width:13ch; font-size:clamp(2.2rem, 11vw, 3.25rem); }
  .store-home-hero-media,
  .store-home-hero-art { min-height:auto; aspect-ratio:16/8; grid-row:1; }
  .store-home-hero-art::before { width:1.5rem; }
  .store-home-hero-art::after { height:1.5rem; }
  .store-home-hero-mark { width:7rem; height:7rem; font-size:3rem; box-shadow:0 0 0 .75rem var(--color-brand); }
  .store-home-hero-mark::before,
  .store-home-hero-mark::after { top:-2.35rem; width:3.2rem; height:2.6rem; }
  .store-home-section-heading { display:block; }
  .store-home-section-intro { margin-top:.65rem; }
  .store-home-seo { grid-template-columns:1fr; }
  .store-home-seo-visuals { grid-row:1; }
}
@media (max-width:575.98px) {
  .store-home-hero { margin-top:.75rem; border-radius:1.25rem; }
  .store-home-section { margin-top:3.75rem; }
  .store-home-categories { gap:.75rem; }
  .store-home-category-body { display:block; padding:.75rem; }
  .store-home-category-name { display:block; font-size:.94rem; }
  .store-home-category-count { display:block; margin-top:.15rem; font-size:.8rem; }
  .store-home-audience-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:.75rem; }
  .store-home-products { margin-inline:-.25rem; padding:1rem; border-radius:1.25rem; }
  .store-home-popular-grid { grid-template-columns:1fr; }
  .store-home-advantages-grid { grid-template-columns:1fr; }
  .store-home-advantage { border-right:0; border-bottom:1px solid var(--color-border); }
  .store-home-advantage:nth-child(3) { border-bottom:1px solid var(--color-border); }
  .store-home-advantage:last-child { border-bottom:0; }
}
@media (prefers-reduced-motion:reduce) {
  .store-home a { transition:none; }
}
