/* ==========================================================================
   Homepage sections
   ========================================================================== */
.hero { position: relative; min-height: min(86vh, 920px); display: grid; align-items: end; color: var(--c-surface); isolation: isolate; }
.hero--noimg { color: var(--c-ink); min-height: 0; padding-block: var(--section-y); align-items: center; }
.hero__media { position: absolute; inset: 0; z-index: -1; }
.hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(20,20,20,.55) 0%, rgba(20,20,20,.15) 45%, transparent 70%); }
.hero__img { width: 100%; height: 100%; object-fit: cover; }
.hero__content { padding-block: var(--s-8); }
.hero__content > * { max-width: 640px; }
.hero--dark-text { color: var(--c-ink); }
.hero--dark-text .hero__media::after { background: linear-gradient(to top, rgba(250,248,245,.75) 0%, rgba(250,248,245,.25) 45%, transparent 70%); }
.hero--dark-text .kicker { color: var(--c-gold-ink); opacity: 1; }
.hero--dark-text .hero__cta { background: var(--c-ink); color: var(--c-surface); border-color: var(--c-ink); }
.hero__title { font-size: var(--fs-3xl); font-weight: var(--fw-light); margin-block-end: var(--s-3); }
.hero__text { font-size: var(--fs-md); line-height: var(--lh-loose); margin-block-end: var(--s-5); max-width: 44ch; opacity: .92; }
.hero .kicker { color: inherit; opacity: .85; }
.hero--noimg .kicker { color: var(--c-gold-ink); opacity: 1; }
.hero__cta { background: var(--c-surface); color: var(--c-ink); border-color: var(--c-surface); }
.hero__cta:hover { background: var(--c-bg); }
.hero--noimg .hero__cta { background: var(--c-ink); color: var(--c-surface); border-color: var(--c-ink); }
@media (max-width: 767px) { .hero { min-height: 72vh; } .hero__content { padding-block: var(--s-6); } }

.cats__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--s-4); }
@media (min-width: 640px) { .cats__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .cats__grid { grid-template-columns: repeat(6, 1fr); gap: var(--s-3); } }
.cats__link { display: block; }
.cats__link:hover { text-decoration: none; }
.cats__media { display: block; aspect-ratio: var(--card-ratio); }
.cats__media img { transition: transform 600ms var(--ease); }
.cats__link:hover .cats__media img { transform: scale(1.02); }
.cats__name { display: block; padding-block-start: var(--s-2); font-size: var(--fs-sm); }

.collection__grid { display: grid; gap: var(--s-6); grid-template-columns: 1fr; }
.collection__editorial { display: grid; gap: var(--s-5); }
.collection__media { aspect-ratio: var(--card-ratio); }
.collection__text .btn { margin-block-start: var(--s-4); }
@media (min-width: 1024px) {
  .collection__grid { grid-template-columns: 5fr 7fr; align-items: start; }
  .collection__editorial { position: sticky; top: calc(var(--header-h) + 48px + var(--s-4)); }
}

.budget__title { font-size: var(--fs-lg); margin-block-end: var(--s-4); }
.budget__list { display: grid; gap: 0; border-block-start: var(--hair); }
.budget__link { display: flex; justify-content: space-between; align-items: center; padding-block: var(--s-4); border-block-end: var(--hair); font-size: var(--fs-md); }
.budget__link:hover { text-decoration: none; color: var(--c-gold-ink); }
.budget__arrow { transform: scaleX(-1); }
[dir="ltr"] .budget__arrow { transform: none; }
@media (min-width: 768px) { .budget__list { grid-template-columns: repeat(2, 1fr); column-gap: var(--s-7); } }

.lowwage__grid { display: grid; gap: var(--s-6); }
.lowwage__text .btn { margin-block-start: var(--s-4); }
@media (min-width: 1024px) { .lowwage__grid { grid-template-columns: 4fr 8fr; align-items: start; } .lowwage__products { grid-template-columns: repeat(4, 1fr); } }

.gifting__text { max-width: 36ch; }
.gifting__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-3); }
@media (min-width: 1024px) { .gifting__list { grid-template-columns: repeat(6, 1fr); } }
.gifting__item { display: block; }
.gifting__item:hover { text-decoration: none; }
.gifting__media { display: block; aspect-ratio: 1; }
.gifting__name { display: block; padding-block-start: var(--s-2); font-size: var(--fs-sm); }

.story__grid { display: grid; gap: var(--s-6); align-items: center; }
.story__media { aspect-ratio: var(--card-ratio); }
@media (min-width: 1024px) { .story__grid { grid-template-columns: 5fr 6fr; gap: var(--s-9); } .story__grid--noimg { grid-template-columns: 1fr; } .story__grid--noimg .story__text { max-width: 60ch; } }

.trust__list { display: grid; gap: var(--s-5) var(--s-6); margin: 0; border-block: var(--hair); padding-block: var(--s-6); }
@media (min-width: 768px) { .trust__list { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .trust__list { grid-template-columns: repeat(4, 1fr); } }
.trust__item dt { font-size: var(--fs-base); font-weight: var(--fw-medium); margin-block-end: var(--s-1); }
.trust__item dd { margin: 0; font-size: var(--fs-sm); color: var(--c-ink-2); line-height: var(--lh-loose); }

.journal__list { display: grid; gap: var(--s-6); }
@media (min-width: 768px) { .journal__list { grid-template-columns: repeat(3, 1fr); } }
.journal__item a { display: grid; gap: var(--s-2); }
.journal__item a:hover { text-decoration: none; }
.journal__media { aspect-ratio: 16 / 9; }
.journal__title { font-size: var(--fs-md); line-height: var(--lh-snug); }
.journal__excerpt { font-size: var(--fs-sm); }
