/* Homepage large banners follow the existing, unchanged category artwork.
 * Keep photography, geometry and HTML copy intact. Tone adjustments are subtle
 * display-only corrections; neither hue nor image detail is replaced. */
main:has(> .oz-bf) {
  --home-banner-paper: #eee6da;
  --home-banner-ink: #38271c;
  --home-banner-muted: #554a40;
  --home-banner-accent: #805039;
  --home-banner-rule: #b58164;
}
html[data-theme="dark"] main:has(> .oz-bf) {
  --home-banner-paper: #251e19;
  --home-banner-ink: #faf1e7;
  --home-banner-muted: #e6d7c6;
  --home-banner-accent: #d5a783;
  --home-banner-rule: #a98162;
}
.oz-bf {
  --bf-ink: var(--home-banner-ink);
  --bf-copper: var(--home-banner-accent);
  --bf-rule: var(--home-banner-rule);
}
html[data-theme="dark"] .oz-bf {
  --bf-ink: var(--home-banner-ink);
  --bf-copper: var(--home-banner-accent);
  --bf-rule: var(--home-banner-rule);
}
.oz-bf-stage,
html[data-theme="dark"] .oz-bf-stage { background: var(--home-banner-paper); }
.oz-bf-art { filter: saturate(.9) contrast(.98) brightness(1.025); }
html[data-theme="dark"] .oz-bf-art { filter: saturate(.84) contrast(.98) brightness(.99); }
.oz-bf-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(90deg, #eee6dacc 0%, #eee6da78 23%, #eee6da00 42%);
}
html[data-theme="dark"] .oz-bf-stage::after {
  background: linear-gradient(90deg, #251e19b8 0%, #251e195c 23%, #251e1900 42%);
}
.oz-bf-copy { z-index: 1; }
.oz-bf-brand { font-weight: 400; letter-spacing: .28em; text-indent: .28em; }
.oz-bf-copy :is(h1,h2) {
  font-family: var(--font-playfair), Georgia, serif;
  font-style: normal;
  font-weight: 400;
  font-size: 6.9cqw;
  line-height: 1.02;
  letter-spacing: -.045em;
}
.oz-bf-offer { font-weight: 400; letter-spacing: -.015em; line-height: 1.4; }
.oz-bf-discount {
  font-family: var(--font-playfair), Georgia, serif;
  font-style: normal;
  font-weight: 400;
  font-size: 7cqw;
  line-height: 1.12;
  letter-spacing: -.045em;
}
.oz-bf-discount small { font-size: .47em; letter-spacing: -.025em; color: var(--home-banner-ink); }

/* The shared ReferenceBanner is also used on category pages: scope these
 * refinements to the existing homepage layers banner only. */
main:has(> .oz-bf) [data-reference-banner="layers"] {
  --banner-paper: var(--home-banner-paper);
  --banner-ink: var(--home-banner-ink);
  --banner-muted: var(--home-banner-muted);
  --banner-accent: var(--home-banner-accent);
}
main:has(> .oz-bf) [data-reference-banner="layers"] picture img {
  filter: saturate(.94) contrast(.99) brightness(1.015);
}
html[data-theme="dark"] main:has(> .oz-bf) [data-reference-banner="layers"] picture img {
  filter: saturate(.88) contrast(.98);
}
main:has(> .oz-bf) [data-reference-banner="layers"] h2 {
  font-family: var(--font-playfair), Georgia, serif;
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.06;
}
main:has(> .oz-bf) [data-reference-banner="layers"] p {
  font-family: var(--font-inter), Arial, sans-serif;
  font-weight: 400;
}
main:has(> .oz-bf) [data-reference-banner="layers"] a {
  background: var(--home-banner-accent);
  color: #fffaf5;
  font-weight: 400;
  letter-spacing: -.01em;
}
html[data-theme="dark"] main:has(> .oz-bf) [data-reference-banner="layers"] a { color: #251e19; }
main:has(> .oz-bf) [data-reference-banner="layers"] a:hover { filter: brightness(.92); }
html[data-theme="dark"] main:has(> .oz-bf) [data-reference-banner="layers"] > div[aria-hidden="true"] {
  background: linear-gradient(90deg, #251e19 0%, #251e19f8 26%, #251e19c0 34%, #251e1900 48%);
}
@media (max-width: 699px) {
  .oz-bf-copy :is(h1,h2) { font-size: 9.25cqw; line-height: 1.02; }
  .oz-bf-discount { font-size: 10.5cqw; }
  .oz-bf-stage::after { background: linear-gradient(#eee6da 0%, #eee6daf0 23%, #eee6da00 42%); }
  html[data-theme="dark"] .oz-bf-stage::after { background: linear-gradient(#251e19 0%, #251e19ed 23%, #251e1900 42%); }
  html[data-theme="dark"] main:has(> .oz-bf) [data-reference-banner="layers"] > div[aria-hidden="true"] {
    background: linear-gradient(#251e19 0 calc(228px + 6cqw), #251e1900 calc(310px + 6cqw));
  }
}
@media (max-width: 359px) {
  main:has(> .oz-bf) [data-reference-banner="layers"] #mattress-title { font-size: 26px; }
  main:has(> .oz-bf) [data-reference-banner="layers"] > div:has(> #mattress-title) { padding-top: 22px; }
  main:has(> .oz-bf) [data-reference-banner="layers"] > div:has(> #mattress-title) > p:first-child { margin-bottom: 8px; }
  main:has(> .oz-bf) [data-reference-banner="layers"] > div:has(> h2) > p:nth-child(3) { margin-block: 10px 12px; }
  main:has(> .oz-bf) [data-reference-banner="layers"] a { min-height: 44px; }
  main:has(> .oz-bf) [data-reference-banner="layers"] > div:has(> h2) > p:last-child { margin-top: 6px; color: var(--home-banner-ink); }
}
