/* ---------- Home: hero ---------- */
.lbk-hero { position: relative; overflow: hidden; aspect-ratio: 32 / 15; min-height: min(30rem, 85svh); background: #111; }
.lbk-hero__media, .lbk-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.lbk-hero__media img { object-fit: cover; object-position: 50% 100%; transform: scale(1.08); transform-origin: 50% 100%; }
.lbk-hero.is-bw .lbk-hero__media img { filter: grayscale(1); }
.lbk-hero__cover { position: absolute; inset: 0; z-index: 1; }

.lbk-hero__content { position: absolute; z-index: 2; left: 0; right: 0; top: 51%; padding-inline: var(--gutter); text-align: center; color: #fff; pointer-events: none; }
.lbk-hero__title { font-size: clamp(1.75rem, 3.33vw, 4rem); font-weight: 400; line-height: 1.094; letter-spacing: .06em; text-transform: capitalize; }
.lbk-hero__sub { margin-top: .75rem; font-size: clamp(.875rem, 1.04vw, 1.25rem); letter-spacing: .06em; text-transform: uppercase; }

/* Big brand line: pinned to the bottom of the viewport, scrolls endlessly, slides under the footer (.lbk-footer is above it). */
.lbk-hero__marquee { position: fixed; z-index: 5; left: 0; right: 0; bottom: .6vw; overflow: hidden; pointer-events: none; }
.lbk-hero__track { display: flex; width: max-content; animation: lbk-marquee 45s linear infinite; will-change: transform; }
.lbk-hero__track span {
	flex: none; padding-right: .6em;
	font-size: clamp(4rem, 9.9vw, 11.875rem); font-weight: 500; line-height: 1; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap;
	color: var(--c-ink);
}
@keyframes lbk-marquee { to { transform: translate3d(-33.3333%, 0, 0); } }
@media (prefers-reduced-motion: reduce) { .lbk-hero__track { animation: none; } }

/* ---------- Home: collection ---------- */
.lbk-collection { max-width: var(--max); margin: clamp(4rem, 2rem + 7vw, 8.75rem) auto 0; padding-inline: var(--gutter); }
.lbk-collection .lbk-h2 { margin-bottom: 2.5rem; }
.lbk-collection__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.75rem, 1.56vw, 1.875rem); }
.lbk-banner { position: relative; display: block; aspect-ratio: 580 / 830; overflow: hidden; }
.lbk-banner img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.lbk-banner:hover img { transform: scale(1.03); }
.lbk-banner__overlay {
	position: absolute; inset: 0; display: flex; justify-content: center; align-items: flex-start; padding: 67.3% 1rem 0;
	background: var(--c-overlay); color: #fff; opacity: 0; transition: opacity .35s;
}
.lbk-banner:hover .lbk-banner__overlay, .lbk-banner:focus-visible .lbk-banner__overlay { opacity: 1; }
.lbk-banner__label { font-size: clamp(.875rem, .8rem + .3vw, 1.25rem); letter-spacing: .06em; text-transform: uppercase; text-align: center; }

@media (hover: none) {
	/* No hover on touch: always show the label, over a soft gradient. */
	.lbk-banner__overlay { opacity: 1; align-items: flex-end; padding: 0 1rem 1.25rem; background: linear-gradient(to top, rgb(15 15 15 / .55), transparent 40%); }
}
@media (max-width: 767px) {
	.lbk-collection__grid {
		grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 78%;
		overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
		margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); scroll-padding-inline: var(--gutter);
	}
	.lbk-collection__grid::-webkit-scrollbar { display: none; }
	.lbk-banner { scroll-snap-align: start; }
}

/* ---------- Home: story ---------- */
.lbk-story { margin-top: var(--section-gap); padding-inline: var(--gutter); }
.lbk-story__inner {
	max-width: 91.25rem; margin-inline: auto;
	display: grid; grid-template-columns: minmax(0, 400fr) minmax(0, 65fr) minmax(0, 530fr) minmax(0, 465fr);
}
.lbk-story__text { grid-column: 1; align-self: center; display: flex; flex-direction: column; align-items: flex-start; gap: 3.125rem; }
.lbk-story__title { font-size: var(--fs-h2); letter-spacing: .04em; text-transform: uppercase; line-height: 1.2; }
.lbk-story__body { color: var(--c-text); line-height: 22px; }
.lbk-story__photo { grid-column: 3; aspect-ratio: 530 / 770; overflow: hidden; }
.lbk-story__photo img { width: 100%; height: 100%; object-fit: cover; }
.lbk-story__quote { grid-column: 4; align-self: center; aspect-ratio: 465 / 520; background: var(--c-quote-bg); display: flex; align-items: flex-end; justify-content: center; }
.lbk-story__quote img { width: 60.2%; height: auto; }

@media (max-width: 1099px) {
	.lbk-story__inner { grid-template-columns: 1fr; max-width: 35rem; gap: 2rem; }
	.lbk-story__photo { grid-column: 1; grid-row: 1; }
	.lbk-story__text { grid-column: 1; grid-row: 2; gap: 1.5rem; }
	.lbk-story__quote { grid-column: 1; grid-row: 3; }
}

/* ---------- Home: top products ---------- */
.lbk-top-products { max-width: var(--max); margin: var(--section-gap) auto 0; padding-inline: var(--gutter); }
.lbk-top-products .lbk-h2 { margin-bottom: 2.5rem; }
