@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Manrope:wght@300;400;500;600&display=swap');

:root {
  --ink: #030302;
  --ink-soft: #080806;
  --ink-raised: #0d0c0a;
  --paper: #f3eee6;
  --paper-soft: #d5cec4;
  --muted: #918b82;
  --muted-dark: #625d56;
  --gold: #c8a45d;
  --gold-bright: #e4c77f;
  --gold-deep: #5f4a29;
  --moss: #667052;
  --moss-deep: #171d12;
  --beacon: #afc2ca;
  --beacon-deep: #122a35;
  --bloom: #d7aaa7;
  --bloom-deep: #3a2224;
  --display: "Cormorant Garamond", "Bodoni 72", Didot, "Iowan Old Style", Baskerville, Georgia, serif;
  --sans: "Manrope", "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
  --max: 1480px;
  --gutter: clamp(1.25rem, 4vw, 5.25rem);
  --section: clamp(6.5rem, 11vw, 12rem);
  --ease: cubic-bezier(.2,.72,.18,1);
  --hairline: rgba(200, 164, 93, .2);
}

* { box-sizing: border-box; }

html {
  background: var(--ink);
  color-scheme: dark;
  scroll-behavior: smooth;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  background: var(--ink);
  color: var(--paper);
  font-family: var(--sans);
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.68;
}

body::before {
  position: fixed;
  z-index: 120;
  inset: 0;
  pointer-events: none;
  content: "";
  background-image: url("/assets/texture/fine-grain.png");
  background-size: 384px;
  opacity: .12;
  mix-blend-mode: soft-light;
}

body.menu-open { overflow: hidden; }

img, picture, svg, video { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
p, h1, h2, h3, h4, blockquote { margin-top: 0; }
p:last-child { margin-bottom: 0; }
::selection { background: var(--gold); color: var(--ink); }
:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 5px; }

.skip-link {
  position: fixed;
  z-index: 9999;
  top: .75rem;
  left: .75rem;
  padding: .8rem 1rem;
  transform: translateY(-150%);
  background: var(--paper);
  color: var(--ink);
  font-weight: 600;
}
.skip-link:focus { transform: none; }

.container {
  width: min(calc(100% - var(--gutter) - var(--gutter)), var(--max));
  margin-inline: auto;
}

.sr-only,
.honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.display {
  font-family: var(--display);
  font-weight: 400;
  letter-spacing: -.042em;
  line-height: .93;
}

.display em {
  color: var(--gold-bright);
  font-weight: 400;
}

.kicker {
  margin: 0 0 1.45rem;
  color: var(--gold-bright);
  font-size: .67rem;
  font-weight: 600;
  letter-spacing: .31em;
  line-height: 1.2;
  text-transform: uppercase;
}

.lede {
  max-width: 41rem;
  color: var(--paper-soft);
  font-family: var(--display);
  font-size: clamp(1.35rem, 2vw, 2rem);
  letter-spacing: -.018em;
  line-height: 1.38;
}

.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 2.4rem;
}

.button {
  display: inline-flex;
  min-height: 3.35rem;
  align-items: center;
  justify-content: center;
  gap: .95rem;
  padding: .9rem 1.45rem;
  border: 1px solid var(--gold);
  border-radius: 0;
  background: var(--gold);
  color: var(--ink);
  cursor: pointer;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .2em;
  line-height: 1;
  text-transform: uppercase;
  transition: background .35s var(--ease), border-color .35s var(--ease), color .35s var(--ease), transform .35s var(--ease);
}

.button:hover {
  transform: translateY(-2px);
  background: var(--gold-bright);
  border-color: var(--gold-bright);
}

.button--quiet {
  background: transparent;
  color: var(--paper);
  border-color: rgba(243, 238, 230, .25);
}

.button--quiet:hover {
  background: rgba(243, 238, 230, .06);
  color: var(--paper);
  border-color: rgba(243, 238, 230, .52);
}

.button--icon {
  width: 3.35rem;
  padding: 0;
}

.button svg,
.text-link svg,
.arrow-link svg,
.next-product svg {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  transition: transform .35s var(--ease);
}

.button:hover svg,
.text-link:hover svg,
.arrow-link:hover svg,
.next-product:hover svg { transform: translateX(4px); }

.button:disabled { opacity: .58; cursor: wait; transform: none; }

.text-link {
  display: inline-flex;
  align-items: center;
  gap: .9rem;
  margin-top: 2rem;
  padding-bottom: .45rem;
  border-bottom: 1px solid rgba(200, 164, 93, .54);
  color: var(--paper);
  font-size: .69rem;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  transition: gap .35s var(--ease), border-color .35s var(--ease);
}

.text-link:hover { gap: 1.15rem; border-color: var(--gold-bright); }

/* Header */
.site-header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  border-bottom: 1px solid transparent;
  transition: background .4s ease, border-color .4s ease, backdrop-filter .4s ease;
}

.site-header.is-scrolled,
.site-header.is-open {
  background: rgba(3, 3, 2, .88);
  border-bottom-color: rgba(200, 164, 93, .14);
  backdrop-filter: blur(22px);
}

.header-inner {
  display: flex;
  min-height: 6rem;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: .95rem;
}

.brand-lockup img { width: 2.6rem; height: 2.6rem; }
.brand-lockup__text { display: grid; gap: .22rem; }
.brand-lockup__name {
  font-family: var(--display);
  font-size: 1.48rem;
  font-weight: 500;
  letter-spacing: .18em;
  line-height: .82;
}
.brand-lockup__sub {
  color: var(--gold);
  font-size: .49rem;
  font-weight: 600;
  letter-spacing: .38em;
  line-height: 1;
  text-transform: uppercase;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: clamp(1.3rem, 2.5vw, 2.9rem);
}
.site-nav a {
  position: relative;
  color: rgba(243, 238, 230, .76);
  font-size: .64rem;
  font-weight: 500;
  letter-spacing: .21em;
  text-transform: uppercase;
}
.site-nav a::after {
  position: absolute;
  right: 0;
  bottom: -.55rem;
  left: 0;
  height: 1px;
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  background: var(--gold);
  transition: transform .35s var(--ease);
}
.site-nav a:hover::after,
.site-nav a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.nav-cta { color: var(--gold-bright) !important; }
.nav-cta::after { transform: scaleX(1) !important; opacity: .4; }

.menu-button {
  display: none;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border: 1px solid rgba(243, 238, 230, .2);
  border-radius: 0;
  background: transparent;
  color: var(--paper);
  cursor: pointer;
}
.menu-button span,
.menu-button span::before,
.menu-button span::after {
  display: block;
  width: 1rem;
  height: 1px;
  background: currentColor;
  content: "";
  transition: transform .3s ease, opacity .3s ease;
}
.menu-button span { position: relative; }
.menu-button span::before { position: absolute; top: -.35rem; }
.menu-button span::after { position: absolute; top: .35rem; }
.menu-button[aria-expanded="true"] span { background: transparent; }
.menu-button[aria-expanded="true"] span::before { top: 0; transform: rotate(45deg); }
.menu-button[aria-expanded="true"] span::after { top: 0; transform: rotate(-45deg); }

/* Home hero */
.photo-hero {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  background: var(--ink);
  isolation: isolate;
}

.photo-hero__media,
.photo-hero__media img {
  position: absolute;
  z-index: -3;
  inset: 0;
  width: 100%;
  height: 100%;
}
.photo-hero__media img { object-fit: cover; object-position: center; }

.photo-hero__veil {
  position: absolute;
  z-index: -2;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(3,3,2,.96) 0%, rgba(3,3,2,.78) 30%, rgba(3,3,2,.16) 64%, rgba(3,3,2,.16) 100%),
    linear-gradient(0deg, rgba(3,3,2,.72) 0%, transparent 25%, transparent 73%, rgba(3,3,2,.45) 100%);
}

.photo-hero__content {
  display: flex;
  min-height: 100svh;
  flex-direction: column;
  justify-content: center;
  padding-top: 8rem;
  padding-bottom: 8rem;
}

.photo-hero h1 {
  max-width: 7ch;
  margin: 0;
  font-size: clamp(5rem, 9vw, 9.5rem);
  line-height: .77;
}
.photo-hero h1 span { display: block; }
.photo-hero h1 span:nth-child(2) { padding-left: .38em; }
.photo-hero__content > p {
  max-width: 32rem;
  margin: 2.6rem 0 0;
  color: var(--paper-soft);
  font-size: clamp(1.03rem, 1.3vw, 1.22rem);
  line-height: 1.76;
}

.photo-hero__footer {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  align-items: center;
  gap: 2rem;
  padding-top: 1.35rem;
  padding-bottom: 1.35rem;
  border-top: 1px solid rgba(243, 238, 230, .16);
  color: rgba(243, 238, 230, .6);
  font-size: .6rem;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.photo-hero__footer span:nth-child(2) { text-align: center; }
.photo-hero__footer a { display: inline-flex; align-items: center; gap: .75rem; color: var(--gold-bright); }

/* Home collection */
.collection-showcase {
  padding-block: var(--section);
  background:
    radial-gradient(circle at 50% 0%, rgba(200,164,93,.06), transparent 34rem),
    var(--ink);
}

.section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr);
  align-items: end;
  gap: 4rem;
  margin-bottom: clamp(3.5rem, 7vw, 6.5rem);
}
.section-heading h2 { margin: 0; font-size: clamp(4rem, 7.5vw, 7.8rem); }
.section-heading > p {
  max-width: 34rem;
  margin: 0 0 .7rem auto;
  color: var(--muted);
  font-size: 1.02rem;
}

.scent-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.75rem, 1.3vw, 1.35rem); }
.scent-tile { min-width: 0; }
.scent-tile__image {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  border: 1px solid rgba(200, 164, 93, .18);
  background: var(--ink-raised);
}
.scent-tile__image picture,
.scent-tile__image img { width: 100%; height: 100%; }
.scent-tile__image img { object-fit: cover; transition: transform 1s var(--ease), filter 1s var(--ease); }
.scent-tile__image::after {
  position: absolute;
  inset: 0;
  content: "";
  box-shadow: inset 0 0 0 1px rgba(243,238,230,.03);
  pointer-events: none;
}
.scent-tile:hover .scent-tile__image img { transform: scale(1.025); filter: brightness(1.06); }
.scent-tile__number {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  display: grid;
  width: 2.55rem;
  height: 2.55rem;
  place-items: center;
  border: 1px solid rgba(200,164,93,.48);
  background: rgba(3,3,2,.76);
  color: var(--gold-bright);
  font-size: .58rem;
  letter-spacing: .15em;
  backdrop-filter: blur(8px);
}
.scent-tile__meta {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 1rem;
  padding: 1.45rem 0 .4rem;
  border-bottom: 1px solid rgba(243,238,230,.12);
}
.scent-tile__meta h3 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(2rem, 3vw, 3.15rem);
  font-weight: 400;
  letter-spacing: -.02em;
  line-height: 1;
}
.scent-tile__meta p {
  margin: .55rem 0 0;
  color: var(--muted);
  font-size: .58rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.arrow-link {
  display: grid;
  width: 2.8rem;
  height: 2.8rem;
  place-items: center;
  border: 1px solid rgba(200,164,93,.38);
  color: var(--gold-bright);
}

/* Editorial split */
.editorial-split {
  display: grid;
  min-height: min(62rem, 100svh);
  grid-template-columns: minmax(0, 1.08fr) minmax(26rem, .92fr);
  background: #050504;
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
}
.editorial-split__media { position: relative; overflow: hidden; min-height: 48rem; }
.editorial-split__media picture,
.editorial-split__media img { width: 100%; height: 100%; }
.editorial-split__media img { object-fit: cover; object-position: center; }
.editorial-split__media::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, transparent 75%, rgba(5,5,4,.6));
}
.editorial-split__copy {
  display: flex;
  max-width: 44rem;
  flex-direction: column;
  justify-content: center;
  padding: clamp(4rem, 8vw, 9rem) var(--gutter);
  border-left: 1px solid var(--hairline);
}
.editorial-split__copy h2 { max-width: 7.5ch; margin: 0 0 2.4rem; font-size: clamp(4.2rem, 7.2vw, 7.6rem); }
.editorial-split__copy > p:not(.kicker) { max-width: 34rem; color: var(--muted); }
.editorial-split__copy .lede { color: var(--paper-soft); }

/* Film */
.film { padding: var(--gutter); background: var(--ink); }
.film-frame {
  position: relative;
  min-height: min(76vw, 54rem);
  overflow: hidden;
  border: 1px solid rgba(200,164,93,.22);
  background: #050504;
}
.film-frame video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.film-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(3,3,2,.86) 0%, rgba(3,3,2,.48) 38%, rgba(3,3,2,.1) 68%), linear-gradient(0deg, rgba(3,3,2,.62), transparent 48%);
}
.film-copy {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: min(76vw, 54rem);
  flex-direction: column;
  justify-content: flex-end;
  padding-top: 5rem;
  padding-bottom: 4.25rem;
}
.film-copy h2 { max-width: 9ch; margin: 0; font-size: clamp(4.2rem, 7.8vw, 8.4rem); }
.film-copy > p:not(.kicker) { max-width: 29rem; margin: 1.6rem 0 0; color: rgba(243,238,230,.72); }
.film-toggle {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: .75rem;
  margin-top: 2.2rem;
  padding: .75rem 0;
  border: 0;
  border-bottom: 1px solid rgba(200,164,93,.5);
  background: transparent;
  color: var(--paper);
  cursor: pointer;
  font-size: .62rem;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.film-toggle svg { width: 1.05rem; height: 1.05rem; color: var(--gold-bright); }

/* House feature */
.house-feature { padding-block: var(--section); background: var(--ink-soft); }
.house-feature__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(24rem, 1.2fr); align-items: center; gap: clamp(3rem, 8vw, 9rem); }
.house-feature__copy { max-width: 39rem; }
.house-feature__copy h2 { margin: 0 0 2.2rem; font-size: clamp(4.2rem, 7vw, 7.4rem); }
.house-feature__copy blockquote {
  margin: 3rem 0 0;
  padding: 1.6rem 0 1.6rem 2rem;
  border-left: 1px solid var(--gold);
  color: var(--paper-soft);
  font-family: var(--display);
  font-size: clamp(1.45rem, 2.2vw, 2.2rem);
  font-style: italic;
  line-height: 1.35;
}
.house-feature__image { position: relative; margin-left: auto; width: min(100%, 42rem); }
.house-feature__image picture { display: block; aspect-ratio: 4 / 5; overflow: hidden; border: 1px solid var(--hairline); }
.house-feature__image picture img { width: 100%; height: 100%; object-fit: cover; }
.image-caption {
  position: absolute;
  right: -1px;
  bottom: -2.2rem;
  color: var(--muted);
  font-size: .58rem;
  letter-spacing: .22em;
  text-transform: uppercase;
}

/* Release */
.release { padding-block: clamp(5.5rem, 9vw, 9rem); border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); background: #040403; }
.release-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(24rem, 1.1fr); align-items: end; gap: clamp(3rem, 8vw, 10rem); }
.release h2 { margin: 0; font-size: clamp(4rem, 7vw, 7.2rem); }
.release-copy { max-width: 38rem; margin: 0 0 2rem; color: var(--muted); }
.release-form .form-row { display: grid; grid-template-columns: 1fr auto; border-bottom: 1px solid rgba(243,238,230,.36); }
.release-form input {
  width: 100%;
  min-height: 4rem;
  padding: .8rem 1rem .8rem 0;
  border: 0;
  background: transparent;
  color: var(--paper);
  outline: 0;
}
.release-form input::placeholder { color: var(--muted-dark); }
.release-form .button { margin-bottom: -1px; }
.form-note { margin: .95rem 0 0; color: var(--muted-dark); font-size: .7rem; line-height: 1.55; }
.form-status { min-height: 1.5rem; margin: .7rem 0 0; font-size: .78rem; }
.form-status.is-success { color: #b9c596; }
.form-status.is-error { color: #dba6a0; }

/* Footer */
.site-footer { padding-top: clamp(5rem, 8vw, 8rem); background: var(--ink); }
.footer-top { display: grid; grid-template-columns: 1.5fr .6fr .6fr; gap: clamp(3rem, 8vw, 9rem); padding-bottom: 5rem; }
.footer-wordmark { display: inline-grid; gap: .4rem; }
.footer-wordmark span { font-family: var(--display); font-size: clamp(2.8rem, 5vw, 4.8rem); letter-spacing: .18em; line-height: .8; }
.footer-wordmark small { color: var(--gold); font-size: .58rem; font-weight: 600; letter-spacing: .5em; text-transform: uppercase; }
.footer-statement p { max-width: 23rem; margin: 1.8rem 0 0; color: var(--muted); }
.footer-nav { display: grid; align-content: start; gap: .7rem; }
.footer-nav h3 { margin: 0 0 .8rem; color: var(--gold-bright); font-size: .61rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; }
.footer-nav a { width: fit-content; color: var(--muted); font-size: .85rem; transition: color .3s ease; }
.footer-nav a:hover { color: var(--paper); }
.footer-bottom {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 2rem;
  padding-block: 1.35rem;
  border-top: 1px solid rgba(243,238,230,.12);
  color: var(--muted);
  font-size: .57rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.footer-bottom span:nth-child(2) { text-align: center; }
.footer-bottom span:last-child { text-align: right; }

/* Interior photo heroes */
.interior-photo-hero,
.house-hero {
  position: relative;
  min-height: min(84svh, 58rem);
  overflow: hidden;
  background: var(--ink);
  isolation: isolate;
}
.interior-photo-hero__media,
.interior-photo-hero__media img,
.house-hero__media,
.house-hero__media img { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; }
.interior-photo-hero__media img,
.house-hero__media img { object-fit: cover; object-position: center; }
.interior-photo-hero__shade,
.house-hero__shade { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(3,3,2,.94), rgba(3,3,2,.62) 38%, rgba(3,3,2,.16) 70%), linear-gradient(0deg, rgba(3,3,2,.72), transparent 48%); }
.interior-photo-hero__copy,
.house-hero__copy { display: flex; min-height: min(84svh, 58rem); max-width: 55rem; flex-direction: column; justify-content: flex-end; padding-top: 10rem; padding-bottom: clamp(4rem, 8vw, 7rem); }
.interior-photo-hero__copy h1,
.house-hero__copy h1 { margin: 0; font-size: clamp(5rem, 9vw, 9rem); }
.interior-photo-hero__copy > p:not(.kicker),
.house-hero__copy > p { max-width: 38rem; margin: 2rem 0 0; color: var(--paper-soft); font-size: clamp(1.05rem, 1.5vw, 1.3rem); }

/* Collection page */
.collection-listing { padding-block: var(--section); }
.collection-row {
  --accent: var(--gold);
  display: grid;
  min-height: 48rem;
  grid-template-columns: minmax(24rem, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(3rem, 8vw, 9rem);
  padding-block: clamp(4rem, 8vw, 8rem);
  border-top: 1px solid rgba(243,238,230,.12);
}
.collection-row:first-child { border-top: 0; padding-top: 0; }
.collection-row:nth-child(even) .collection-row__image { order: 2; }
.collection-row--gravity { --accent: var(--moss); }
.collection-row--beacon { --accent: var(--beacon); }
.collection-row--bloom { --accent: var(--bloom); }
.collection-row__image { position: relative; width: min(100%, 37rem); }
.collection-row__image::before {
  position: absolute;
  z-index: -1;
  inset: 8% -5% -5% 8%;
  content: "";
  border: 1px solid color-mix(in srgb, var(--accent) 48%, transparent);
}
.collection-row__image picture { display: block; aspect-ratio: 4 / 5; overflow: hidden; border: 1px solid rgba(200,164,93,.18); }
.collection-row__image img { width: 100%; height: 100%; object-fit: cover; }
.collection-row__copy { max-width: 38rem; }
.collection-row__number { display: block; margin-bottom: 1.4rem; color: var(--accent); font-size: .62rem; font-weight: 600; letter-spacing: .26em; }
.collection-row__copy h2 { margin: 0; font-size: clamp(5rem, 8vw, 8.5rem); }
.collection-row__copy .mood { margin: 1rem 0 2rem; color: var(--paper-soft); font-family: var(--display); font-size: clamp(1.3rem, 2vw, 2rem); font-style: italic; }
.collection-row__copy > p:not(.mood) { max-width: 34rem; color: var(--muted); }

.scent-notes { display: flex; flex-wrap: wrap; gap: .65rem 1.7rem; margin: 2.2rem 0 0; padding: 0; list-style: none; }
.scent-notes li { position: relative; color: var(--paper-soft); font-size: .67rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; }
.scent-notes li:not(:last-child)::after { position: absolute; top: 50%; right: -.98rem; width: 3px; height: 3px; border-radius: 50%; background: var(--gold); content: ""; transform: translateY(-50%); }

/* Product pages */
.product-page { --product-accent: var(--gold); --product-deep: #15110a; }
.product-page--gravity { --product-accent: var(--moss); --product-deep: var(--moss-deep); }
.product-page--beacon { --product-accent: var(--beacon); --product-deep: var(--beacon-deep); }
.product-page--bloom { --product-accent: var(--bloom); --product-deep: var(--bloom-deep); }

.product-hero {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  padding-top: 7.2rem;
  background: radial-gradient(circle at 74% 48%, color-mix(in srgb, var(--product-deep) 88%, transparent), transparent 35rem), var(--ink);
}
.product-hero::after { position: absolute; right: -16rem; bottom: -19rem; width: 46rem; aspect-ratio: 1; border: 1px solid color-mix(in srgb, var(--product-accent) 26%, transparent); border-radius: 50%; content: ""; }
.product-hero__grid { display: grid; min-height: calc(100svh - 7.2rem); grid-template-columns: minmax(0, .82fr) minmax(30rem, 1.18fr); align-items: center; gap: clamp(3rem, 6vw, 7rem); padding-block: 4rem; }
.product-hero__copy { position: relative; z-index: 2; max-width: 39rem; }
.product-hero__index { margin: 0 0 1.7rem; color: var(--product-accent); font-size: .62rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; }
.product-hero__copy h1 { margin: 0; font-size: clamp(6rem, 10vw, 10.2rem); }
.product-hero__mood { margin: 1rem 0 2rem; color: var(--paper-soft); font-family: var(--display); font-size: clamp(1.45rem, 2.3vw, 2.35rem); font-style: italic; }
.product-hero__copy .lede { margin: 0; color: var(--muted); font-family: var(--sans); font-size: 1rem; line-height: 1.75; }
.product-hero__visual { position: relative; z-index: 1; width: min(100%, 45rem); margin-left: auto; }
.product-hero__visual::before { position: absolute; z-index: -1; inset: 5% -4% -4% 7%; border: 1px solid color-mix(in srgb, var(--product-accent) 42%, transparent); content: ""; }
.product-hero__visual picture { display: block; aspect-ratio: 4 / 5; border: 1px solid rgba(200,164,93,.18); overflow: hidden; }
.product-hero__visual img { width: 100%; height: 100%; object-fit: cover; }

.composition { padding-block: var(--section); background: var(--ink-soft); border-top: 1px solid var(--hairline); }
.composition__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(28rem, 1.1fr); gap: clamp(4rem, 9vw, 11rem); }
.composition__heading h2 { margin: 0; font-size: clamp(4.2rem, 7vw, 7.2rem); }
.note-list { border-top: 1px solid rgba(243,238,230,.18); }
.note-row { display: grid; grid-template-columns: auto 1fr; gap: 1.5rem; padding: 1.65rem 0; border-bottom: 1px solid rgba(243,238,230,.14); }
.note-row > span { padding-top: .2rem; color: var(--gold); font-size: .58rem; font-weight: 600; letter-spacing: .2em; }
.note-row h3 { margin: 0; font-family: var(--display); font-size: clamp(1.7rem, 2.5vw, 2.5rem); font-weight: 400; }
.note-row p { margin: .45rem 0 0; color: var(--muted); }

.product-object { padding-block: var(--section); background: var(--ink); }
.product-object__label { width: min(calc(100% - var(--gutter) - var(--gutter)), var(--max)); margin: 0 auto clamp(4rem, 8vw, 8rem); overflow: hidden; }
.product-object__label picture { display: block; border: 1px solid rgba(200,164,93,.16); }
.product-object__label img { width: 100%; height: auto; }
.product-object__copy { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(28rem, .8fr); gap: clamp(4rem, 9vw, 10rem); align-items: start; }
.product-object__copy h2 { max-width: 15ch; margin: 0; font-size: clamp(3.3rem, 5.8vw, 6.2rem); }
.product-object__details { display: grid; gap: 2.3rem; }
.product-object__details h3 { margin: 0 0 .7rem; color: var(--gold-bright); font-size: .64rem; font-weight: 600; letter-spacing: .23em; text-transform: uppercase; }
.product-object__details p { color: var(--muted); }

.next-product { display: block; border-top: 1px solid var(--hairline); background: var(--ink-soft); transition: background .45s var(--ease); }
.next-product:hover { background: color-mix(in srgb, var(--product-deep, #14110b) 72%, var(--ink)); }
.next-product__inner { display: flex; min-height: 20rem; align-items: center; justify-content: space-between; gap: 2rem; }
.next-product__name { font-family: var(--display); font-size: clamp(5rem, 10vw, 10rem); letter-spacing: -.04em; line-height: .8; }
.next-product__arrow { display: grid; width: 5rem; height: 5rem; place-items: center; border: 1px solid rgba(200,164,93,.4); color: var(--gold-bright); }
.next-product__arrow svg { width: 1.6rem; height: 1.6rem; }

/* House page */
.house-hero__copy { justify-content: center; }
.house-hero__copy h1 { max-width: 8.5ch; line-height: .84; }
.principles { padding-block: var(--section); }
.principles-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid rgba(243,238,230,.15); border-bottom: 1px solid rgba(243,238,230,.15); }
.principle { min-height: 24rem; padding: 3rem clamp(1.5rem, 3vw, 3.5rem); border-right: 1px solid rgba(243,238,230,.15); }
.principle:last-child { border-right: 0; }
.principle > span { color: var(--gold); font-size: .59rem; font-weight: 600; letter-spacing: .22em; }
.principle h2 { margin: 5rem 0 1.3rem; font-family: var(--display); font-size: clamp(2.1rem, 3.2vw, 3.3rem); font-weight: 400; line-height: 1; }
.principle p { color: var(--muted); }

.house-manifesto { padding-block: var(--section); background: var(--ink-soft); }
.house-manifesto__grid { display: grid; grid-template-columns: minmax(25rem, 1.05fr) minmax(0, .95fr); align-items: center; gap: clamp(4rem, 9vw, 11rem); }
.house-manifesto__image { width: min(100%, 43rem); }
.house-manifesto__image picture { display: block; aspect-ratio: 4 / 5; overflow: hidden; border: 1px solid var(--hairline); }
.house-manifesto__image img { width: 100%; height: 100%; object-fit: cover; }
.house-manifesto__copy { max-width: 39rem; }
.house-manifesto__copy h2 { margin: 0 0 2.4rem; font-size: clamp(5rem, 8vw, 8.3rem); line-height: .78; }
.house-manifesto__copy > p:not(.kicker) { color: var(--muted); }
.house-manifesto__copy .lede { color: var(--paper-soft); }

/* Contact */
.contact-hero { padding: 10rem 0 var(--section); background: radial-gradient(circle at 82% 35%, rgba(200,164,93,.08), transparent 34rem), var(--ink); }
.contact-hero__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(26rem, 1.2fr); align-items: center; gap: clamp(4rem, 10vw, 11rem); }
.contact-hero__copy h1 { margin: 0 0 2rem; font-size: clamp(5.5rem, 9vw, 9.4rem); }
.contact-hero__image { width: min(100%, 40rem); margin-left: auto; }
.contact-hero__image picture { display: block; aspect-ratio: 4 / 5; border: 1px solid var(--hairline); overflow: hidden; }
.contact-hero__image img { width: 100%; height: 100%; object-fit: cover; }
.contact-section { padding-block: var(--section); border-top: 1px solid var(--hairline); background: var(--ink-soft); }
.contact-grid { display: grid; grid-template-columns: minmax(0, .7fr) minmax(28rem, 1.3fr); gap: clamp(4rem, 9vw, 11rem); }
.contact-aside h2 { margin: 0 0 2rem; font-size: clamp(3.5rem, 5.7vw, 5.9rem); }
.contact-aside p { color: var(--muted); }
.contact-form { display: grid; gap: 1.8rem; }
.form-split { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; }
.form-field { display: grid; gap: .65rem; }
.form-field label { color: var(--gold-bright); font-size: .62rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(243,238,230,.28);
  border-radius: 0;
  background: transparent;
  color: var(--paper);
  outline: 0;
  transition: border-color .3s ease;
}
.form-field input,
.form-field select { min-height: 3.5rem; padding: .8rem 0; }
.form-field textarea { min-height: 11rem; padding: 1rem 0; resize: vertical; }
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus { border-color: var(--gold); }
.form-field select { color-scheme: dark; }

/* Legal and error */
.interior-title { padding: 12rem 0 6rem; border-bottom: 1px solid var(--hairline); }
.interior-title h1 { margin: 0; font-size: clamp(5.5rem, 10vw, 10rem); }
.interior-title .lede { margin-top: 2rem; }
.legal-section { padding-block: var(--section); }
.legal-copy { max-width: 54rem; }
.legal-title { margin: 0 0 3rem; font-size: clamp(3.5rem, 6vw, 6.2rem); }
.legal-copy h2:not(.legal-title) { margin: 3.3rem 0 .8rem; color: var(--gold-bright); font-size: .68rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
.legal-copy p { color: var(--muted); }
.error-page { display: grid; min-height: 100svh; place-items: center; padding: 10rem var(--gutter) 6rem; text-align: center; }
.error-page__number { color: var(--gold); font-size: .65rem; font-weight: 600; letter-spacing: .4em; }
.error-page h1 { margin: 1rem 0 2rem; font-size: clamp(4.8rem, 10vw, 9rem); }
.error-page .lede { margin-inline: auto; }
.button-row--center { justify-content: center; }

/* Reveal motion */
.reveal-ready [data-reveal] {
  opacity: 0;
  transform: translateY(2.2rem);
  transition: opacity .95s var(--ease), transform .95s var(--ease);
}
.reveal-ready [data-reveal-delay="1"] { transition-delay: .12s; }
.reveal-ready [data-reveal-delay="2"] { transition-delay: .24s; }
.reveal-ready [data-reveal].is-visible { opacity: 1; transform: none; }

/* Responsive */
@media (max-width: 1120px) {
  .photo-hero__veil { background: linear-gradient(90deg, rgba(3,3,2,.96), rgba(3,3,2,.72) 43%, rgba(3,3,2,.23) 72%), linear-gradient(0deg, rgba(3,3,2,.75), transparent 35%); }
  .editorial-split { grid-template-columns: 1fr 1fr; }
  .product-hero__grid { grid-template-columns: minmax(0, .9fr) minmax(27rem, 1.1fr); }
}

@media (max-width: 900px) {
  :root { --section: clamp(5rem, 13vw, 8rem); }
  .site-nav {
    position: fixed;
    z-index: 99;
    inset: 6rem 0 auto;
    display: grid;
    max-height: 0;
    overflow: hidden;
    padding: 0 var(--gutter);
    background: rgba(3,3,2,.97);
    opacity: 0;
    pointer-events: none;
    transition: max-height .45s var(--ease), opacity .35s ease, padding .45s var(--ease);
  }
  .site-nav.is-open { max-height: calc(100svh - 6rem); padding-top: 2rem; padding-bottom: 2.5rem; opacity: 1; pointer-events: auto; }
  .site-nav a { padding: 1.15rem 0; border-bottom: 1px solid rgba(243,238,230,.12); font-family: var(--display); font-size: 2.2rem; font-weight: 400; letter-spacing: 0; text-transform: none; }
  .site-nav a::after { display: none; }
  .menu-button { display: grid; }

  .section-heading,
  .release-grid,
  .composition__grid,
  .product-object__copy,
  .contact-grid { grid-template-columns: 1fr; gap: 3rem; }
  .section-heading > p { margin-left: 0; }

  .editorial-split { grid-template-columns: 1fr; }
  .editorial-split__media { min-height: 70svh; }
  .editorial-split__media::after { background: linear-gradient(0deg, rgba(5,5,4,.65), transparent 36%); }
  .editorial-split__copy { max-width: none; border-top: 1px solid var(--hairline); border-left: 0; }

  .house-feature__grid,
  .house-manifesto__grid,
  .contact-hero__grid { grid-template-columns: 1fr; }
  .house-feature__image,
  .contact-hero__image { margin: 0; }
  .house-feature__copy { order: 2; }
  .house-feature__image { order: 1; width: min(100%, 36rem); }

  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-statement { grid-column: 1 / -1; }
  .footer-bottom { grid-template-columns: 1fr; gap: .55rem; }
  .footer-bottom span:nth-child(2), .footer-bottom span:last-child { text-align: left; }

  .collection-row { grid-template-columns: 1fr; min-height: auto; gap: 4rem; }
  .collection-row:nth-child(even) .collection-row__image { order: 0; }
  .collection-row__image { width: min(100%, 36rem); }

  .product-hero { min-height: auto; }
  .product-hero__grid { min-height: auto; grid-template-columns: 1fr; padding-top: 5rem; padding-bottom: 6rem; }
  .product-hero__visual { width: min(100%, 38rem); margin: 0; }

  .principles-grid { grid-template-columns: 1fr; }
  .principle { min-height: 19rem; border-right: 0; border-bottom: 1px solid rgba(243,238,230,.15); }
  .principle:last-child { border-bottom: 0; }
}

@media (max-width: 720px) {
  :root { --gutter: 1.2rem; }
  .header-inner { min-height: 5.3rem; }
  .site-nav { inset: 5.3rem 0 auto; }
  .brand-lockup img { width: 2.35rem; height: 2.35rem; }
  .brand-lockup__name { font-size: 1.28rem; }
  .brand-lockup__sub { font-size: .44rem; }

  .photo-hero__media img { object-position: center; }
  .photo-hero__veil { background: linear-gradient(180deg, rgba(3,3,2,.94) 0%, rgba(3,3,2,.72) 35%, rgba(3,3,2,.23) 61%, rgba(3,3,2,.84) 100%); }
  .photo-hero__content { justify-content: flex-start; padding-top: 9.5rem; padding-bottom: 10rem; }
  .photo-hero h1 { font-size: clamp(4.35rem, 19.2vw, 6.35rem); line-height: .82; }
  .photo-hero h1 span:nth-child(2) { padding-left: 0; }
  .photo-hero__content > p { max-width: 26rem; margin-top: 1.8rem; font-size: .94rem; }
  .photo-hero__footer { grid-template-columns: 1fr auto; gap: .8rem; }
  .photo-hero__footer span:nth-child(2) { display: none; }

  .button-row { display: grid; grid-template-columns: 1fr; }
  .button { width: 100%; }
  .button--icon { width: 3.35rem; }

  .section-heading h2 { font-size: clamp(3.9rem, 18vw, 6rem); }
  .scent-grid { display: grid; grid-auto-columns: 84%; grid-auto-flow: column; grid-template-columns: none; overflow-x: auto; padding-right: var(--gutter); padding-bottom: 1.3rem; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .scent-grid::-webkit-scrollbar { display: none; }
  .scent-tile { scroll-snap-align: start; }
  .scent-tile__meta h3 { font-size: 2.3rem; }

  .editorial-split__media { min-height: 65svh; }
  .editorial-split__copy { padding: 5rem var(--gutter); }
  .editorial-split__copy h2 { font-size: clamp(3.9rem, 18vw, 6.2rem); }

  .film { padding: 0; }
  .film-frame { min-height: 82svh; border-right: 0; border-left: 0; }
  .film-frame video { object-position: 63% center; }
  .film-shade { background: linear-gradient(180deg, rgba(3,3,2,.22), rgba(3,3,2,.78) 67%, rgba(3,3,2,.92)); }
  .film-copy { min-height: 82svh; justify-content: flex-end; padding-bottom: 3.2rem; }
  .film-copy h2 { font-size: clamp(3.9rem, 18vw, 6.3rem); }

  .house-feature__copy h2,
  .release h2,
  .contact-aside h2 { font-size: clamp(3.8rem, 17vw, 5.7rem); }
  .release-form .form-row { grid-template-columns: 1fr auto; }

  .footer-top { grid-template-columns: 1fr; }
  .footer-statement { grid-column: auto; }
  .footer-wordmark span { font-size: 3.6rem; }

  .interior-photo-hero,
  .house-hero { min-height: 80svh; }
  .interior-photo-hero__media img { object-position: 65% center; }
  .interior-photo-hero__shade,
  .house-hero__shade { background: linear-gradient(180deg, rgba(3,3,2,.5), rgba(3,3,2,.92) 72%); }
  .interior-photo-hero__copy,
  .house-hero__copy { min-height: 80svh; justify-content: flex-end; padding-top: 8rem; }
  .interior-photo-hero__copy h1,
  .house-hero__copy h1 { font-size: clamp(4.5rem, 21vw, 7rem); }

  .collection-row { padding-block: 5rem; }
  .collection-row__copy h2 { font-size: clamp(4.8rem, 22vw, 7rem); }
  .collection-row__image::before { display: none; }

  .product-hero { padding-top: 5.3rem; }
  .product-hero__grid { padding-top: 3.5rem; }
  .product-hero__copy h1 { font-size: clamp(5.3rem, 24vw, 8rem); }
  .product-hero__visual::before { display: none; }
  .composition__heading h2 { font-size: clamp(3.9rem, 18vw, 6rem); }
  .product-object__copy { gap: 2.5rem; }
  .product-object__copy h2 { font-size: clamp(3.2rem, 14vw, 5.1rem); }
  .next-product__inner { min-height: 16rem; }
  .next-product__name { font-size: clamp(4.7rem, 21vw, 7rem); }
  .next-product__arrow { width: 3.8rem; height: 3.8rem; }

  .principle { padding: 2.5rem 0; }
  .principle h2 { margin-top: 3rem; }
  .house-manifesto__copy h2 { font-size: clamp(4.8rem, 22vw, 7rem); }

  .contact-hero { padding-top: 8rem; }
  .contact-hero__copy h1 { font-size: clamp(5rem, 22vw, 7rem); }
  .form-split { grid-template-columns: 1fr; }
  .interior-title { padding-top: 10rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .reveal-ready [data-reveal] { opacity: 1; transform: none; }
}

/* ========================================================================
   HOLT STOREFRONT — approved black / gold premium direction
   ======================================================================== */
:root {
  --header-height: 7rem;
  --cart-width: min(31rem, 100vw);
}

body.storefront { background: #020202; }
body.cart-open { overflow: hidden; }

/* Centered house header */
.site-header .header-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  min-height: var(--header-height);
  align-items: center;
  gap: 2.2rem;
}
.site-nav { display: contents; }
.nav-cluster { display: flex; align-items: center; gap: clamp(1.35rem, 2vw, 2.6rem); }
.nav-cluster--left { grid-column: 1; grid-row: 1; justify-self: start; }
.nav-cluster--right { grid-column: 3; grid-row: 1; justify-self: end; }
.brand-center {
  position: relative;
  z-index: 2;
  grid-column: 2;
  grid-row: 1;
  display: grid;
  justify-items: center;
  gap: .35rem;
  min-width: 14rem;
  padding: .5rem 1.2rem .7rem;
  color: var(--gold-bright);
}
.brand-center::before,
.brand-center::after {
  position: absolute;
  right: 1rem;
  left: 1rem;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: .75;
}
.brand-center::before { top: .25rem; }
.brand-center::after { bottom: .1rem; }
.brand-center span { font-family: var(--display); font-size: 2.75rem; font-weight: 500; letter-spacing: .22em; line-height: .75; }
.brand-center small { color: var(--gold); font-size: .54rem; font-weight: 600; letter-spacing: .42em; line-height: 1; text-transform: uppercase; }
.nav-cluster a,
.cart-trigger {
  color: rgba(243,238,230,.79);
  font-size: .61rem;
  font-weight: 500;
  letter-spacing: .19em;
  text-transform: uppercase;
}
.nav-cluster a { position: relative; }
.nav-cluster a::after {
  position: absolute;
  right: 0;
  bottom: -.55rem;
  left: 0;
  height: 1px;
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  background: var(--gold);
  transition: transform .35s var(--ease);
}
.nav-cluster a:hover::after,
.nav-cluster a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.header-tools { display: none; }
.cart-trigger {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .25rem 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.cart-trigger svg { width: 1.25rem; height: 1.25rem; color: var(--gold-bright); }
.cart-trigger b {
  display: grid;
  min-width: 1.25rem;
  height: 1.25rem;
  place-items: center;
  border: 1px solid rgba(200,164,93,.55);
  border-radius: 50%;
  color: var(--gold-bright);
  font-size: .54rem;
  font-weight: 600;
  letter-spacing: 0;
}

/* Approved hero direction */
.lux-hero {
  position: relative;
  min-height: max(48rem, 92svh);
  overflow: hidden;
  border-bottom: 1px solid var(--hairline);
  background: #020202;
  isolation: isolate;
}
.lux-hero__media,
.lux-hero__media img { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; }
.lux-hero__media img { object-fit: cover; object-position: center; }
.lux-hero__shade {
  position: absolute;
  z-index: -2;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(2,2,2,.99) 0%, rgba(2,2,2,.91) 32%, rgba(2,2,2,.48) 54%, rgba(2,2,2,.04) 79%),
    linear-gradient(0deg, rgba(2,2,2,.72), transparent 28%, transparent 76%, rgba(2,2,2,.4));
}
.lux-hero__content {
  display: flex;
  min-height: max(48rem, 92svh);
  flex-direction: column;
  justify-content: center;
  padding-top: 10rem;
  padding-bottom: 7rem;
}
.lux-hero h1 { max-width: 11ch; margin: 0; font-size: clamp(4rem, 5vw, 5.8rem); line-height: .94; letter-spacing: -.018em; }
.lux-hero h1 span { display: block; }
.lux-hero__content > p { max-width: 31rem; margin: 1.65rem 0 0; color: rgba(243,238,230,.76); font-size: clamp(.98rem, 1.2vw, 1.18rem); }
.ornament { display: flex; width: min(19rem, 56vw); align-items: center; margin-top: 2rem; color: var(--gold); }
.ornament span { width: 100%; height: 1px; background: linear-gradient(90deg, var(--gold), rgba(200,164,93,.15)); }
.ornament b { margin-left: -.2rem; font-size: .6rem; transform: rotate(45deg); }
.ornament--left { margin-top: 1.8rem; }

/* Shop collection */
.collection-showcase--store { padding-block: clamp(6.5rem, 9vw, 10rem); background: #030302; }
.collection-intro { max-width: 64rem; margin-bottom: clamp(3.5rem, 6vw, 5.5rem); text-align: center; }
.collection-intro h2 { margin: 0; font-size: clamp(3.5rem, 6vw, 6.2rem); }
.collection-intro > p:last-child { max-width: 43rem; margin: 1.55rem auto 0; color: var(--muted); }
.shop-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.9rem, 1.8vw, 1.5rem); }
.shop-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(200,164,93,.34);
  background: #050504;
  transition: transform .45s var(--ease), border-color .45s ease, box-shadow .45s ease;
}
.shop-card:hover { transform: translateY(-7px); border-color: rgba(228,199,127,.78); box-shadow: 0 2rem 5rem rgba(0,0,0,.34); }
.shop-card__image { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; background: #080807; }
.shop-card__image picture,
.shop-card__image img { width: 100%; height: 100%; }
.shop-card__image img { object-fit: cover; transition: transform .8s var(--ease); }
.shop-card:hover .shop-card__image img { transform: scale(1.025); }
.shop-card__image::after { position: absolute; inset: 0; content: ""; background: linear-gradient(0deg, rgba(2,2,2,.22), transparent 28%); pointer-events: none; }
.shop-card__number { position: absolute; z-index: 2; top: 1rem; left: 1rem; color: rgba(243,238,230,.48); font-size: .55rem; font-weight: 600; letter-spacing: .24em; }
.shop-card__body { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.35rem 1.35rem 1.05rem; border-top: 1px solid rgba(200,164,93,.18); }
.shop-card__body h3 { margin: 0; font-family: var(--display); font-size: clamp(2rem, 2.8vw, 3rem); font-weight: 400; line-height: .9; }
.shop-card__body p { margin: .6rem 0 0; color: var(--muted); font-size: .59rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.shop-card__body strong { color: var(--gold-bright); font-family: var(--display); font-size: 1.45rem; font-weight: 400; }
.shop-card__actions { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(200,164,93,.18); }
.shop-card__actions a,
.shop-card__actions button { display: flex; min-height: 3.5rem; align-items: center; justify-content: center; padding: .8rem; border: 0; background: transparent; color: var(--gold-bright); cursor: pointer; font-size: .61rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.shop-card__actions button { border-left: 1px solid rgba(200,164,93,.18); }
.shop-card__actions a:hover,
.shop-card__actions button:hover { background: rgba(200,164,93,.09); }

/* Standard / values */
.standard-split { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(25rem, .85fr); border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); background: #040403; }
.standard-split__media { min-height: 42rem; overflow: hidden; }
.standard-split__media picture,
.standard-split__media img { width: 100%; height: 100%; }
.standard-split__media img { object-fit: cover; object-position: center; }
.standard-split__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(4rem, 8vw, 8rem) var(--gutter); border-left: 1px solid var(--hairline); }
.standard-split__copy h2 { max-width: 8ch; margin: 0; font-size: clamp(3.9rem, 6.2vw, 6.8rem); }
.standard-split__copy > p:not(.kicker) { max-width: 34rem; color: var(--muted); }
.standard-split__copy .claim-line { margin: 1.5rem 0 0; color: var(--gold-bright); font-size: .68rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
.standard-split__copy .button { align-self: flex-start; margin-top: 2rem; }
.value-rail { border-bottom: 1px solid var(--hairline); background: #070706; }
.value-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.value-grid article { min-height: 13rem; padding: 2.4rem clamp(1.25rem, 2.4vw, 2.4rem); border-right: 1px solid rgba(200,164,93,.18); }
.value-grid article:last-child { border-right: 0; }
.value-grid span { color: var(--gold); font-size: .55rem; font-weight: 600; letter-spacing: .22em; }
.value-grid h3 { margin: 1.25rem 0 .55rem; color: var(--gold-bright); font-size: .64rem; font-weight: 600; letter-spacing: .19em; text-transform: uppercase; }
.value-grid p { margin: 0; color: var(--muted); font-size: .88rem; line-height: 1.6; }

/* Campaign photography */
.ritual-campaign { position: relative; min-height: min(62rem, 78svh); overflow: hidden; border-bottom: 1px solid var(--hairline); background: #020202; isolation: isolate; }
.ritual-campaign__media,
.ritual-campaign__media img { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; }
.ritual-campaign__media img { object-fit: cover; object-position: center; }
.ritual-campaign__shade { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(2,2,2,.92) 0%, rgba(2,2,2,.58) 26%, rgba(2,2,2,.08) 55%), linear-gradient(0deg, rgba(2,2,2,.72), transparent 46%); }
.ritual-campaign__copy { display: flex; min-height: min(62rem, 78svh); flex-direction: column; justify-content: flex-end; align-items: flex-start; padding-top: 8rem; padding-bottom: clamp(4rem, 7vw, 7rem); }
.ritual-campaign__copy h2 { max-width: 8ch; margin: 0; font-size: clamp(4rem, 7vw, 7.5rem); }
.ritual-campaign__copy > p:not(.kicker) { max-width: 27rem; margin: 1.3rem 0 0; color: rgba(243,238,230,.78); }
.ritual-campaign__copy .button { margin-top: 2.2rem; }
.ritual-campaign--house .ritual-campaign__copy { justify-content: center; }

.presentation { padding-block: var(--section); background: #030302; }
.presentation-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(28rem, 1.1fr); align-items: center; gap: clamp(4rem, 9vw, 10rem); }
.presentation-copy h2 { margin: 0 0 2rem; font-size: clamp(4rem, 7vw, 7rem); }
.presentation-image { width: min(100%, 42rem); margin-left: auto; }
.presentation-image picture { display: block; aspect-ratio: 4 / 5; overflow: hidden; border: 1px solid var(--hairline); }
.presentation-image img { width: 100%; height: 100%; object-fit: cover; }

/* Catalog and campaign portrait grid */
.collection-catalog { padding-block: var(--section); background: #030302; }
.shop-grid--catalog { margin-top: 0; }
.catalog-note { margin-top: 2rem; color: var(--muted); font-size: .78rem; text-align: center; }
.collection-ritual { padding-block: var(--section); border-top: 1px solid var(--hairline); background: #070706; }
.collection-ritual__heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 3rem; }
.collection-ritual__heading h2 { margin: 0; font-size: clamp(4rem, 7vw, 7rem); }
.ritual-portraits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--hairline); border: 1px solid var(--hairline); }
.ritual-portraits picture { display: block; aspect-ratio: 1 / 1.65; overflow: hidden; background: #050504; }
.ritual-portraits img { width: 100%; height: 100%; object-fit: cover; }

/* Product purchase controls */
.product-purchase { display: flex; flex-wrap: wrap; align-items: stretch; gap: .8rem; margin-top: 2.6rem; }
.product-price { display: grid; min-width: 7rem; align-content: center; padding-right: 1rem; }
.product-price strong { font-family: var(--display); font-size: 2.35rem; font-weight: 400; line-height: .9; }
.product-price span { margin-top: .4rem; color: var(--muted); font-size: .57rem; font-weight: 600; letter-spacing: .17em; text-transform: uppercase; }
.quantity-control { display: grid; grid-template-columns: 2.8rem 3.2rem 2.8rem; min-height: 3.35rem; border: 1px solid rgba(243,238,230,.22); }
.quantity-control button,
.quantity-control input { border: 0; background: transparent; color: var(--paper); text-align: center; }
.quantity-control button { cursor: pointer; font-size: 1.2rem; }
.quantity-control button:hover { background: rgba(243,238,230,.06); }
.quantity-control input { width: 100%; appearance: textfield; -moz-appearance: textfield; }
.quantity-control input::-webkit-outer-spin-button,
.quantity-control input::-webkit-inner-spin-button { margin: 0; appearance: none; }
.product-purchase .button svg { width: 1.15rem; height: 1.15rem; }
.purchase-note { margin-top: 1rem; color: var(--muted); font-size: .72rem; }
.principles-heading { max-width: 60rem; margin-bottom: 4rem; }
.principles-heading h2 { margin: 0; font-size: clamp(4rem, 7vw, 7rem); }
.principle h3 { margin: 5rem 0 1.3rem; font-family: var(--display); font-size: clamp(2.1rem, 3.2vw, 3.3rem); font-weight: 400; line-height: 1; }
.instagram-link { display: inline-flex; align-items: center; gap: .7rem; margin-top: 1.4rem; color: var(--gold-bright); font-size: .65rem; font-weight: 600; letter-spacing: .12em; }
.instagram-link svg { width: 1.15rem; height: 1.15rem; }
.instagram-link--large { margin-top: 2rem; font-size: .72rem; }
.policy-review { padding: 1rem 1.2rem; border: 1px solid rgba(200,164,93,.42); color: var(--gold-bright) !important; font-size: .7rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }

/* Shopping bag */
.cart-layer { position: fixed; z-index: 500; inset: 0; }
.cart-layer[hidden] { display: none; }
.cart-scrim { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(0,0,0,.72); cursor: pointer; backdrop-filter: blur(7px); }
.cart-drawer { position: absolute; top: 0; right: 0; display: grid; width: var(--cart-width); height: 100%; grid-template-rows: auto 1fr auto; overflow: hidden; border-left: 1px solid rgba(200,164,93,.28); background: #080806; box-shadow: -2rem 0 6rem rgba(0,0,0,.5); transform: translateX(100%); transition: transform .48s var(--ease); }
.cart-layer.is-open .cart-drawer { transform: none; }
.cart-drawer__header { display: flex; min-height: 8rem; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.8rem 2rem; border-bottom: 1px solid var(--hairline); }
.cart-drawer__header .kicker { margin-bottom: .45rem; }
.cart-drawer__header h2 { margin: 0; font-family: var(--display); font-size: 2.75rem; font-weight: 400; line-height: .9; }
.cart-close { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border: 1px solid rgba(243,238,230,.18); background: transparent; color: var(--paper); cursor: pointer; }
.cart-close svg { width: 1.15rem; height: 1.15rem; }
.cart-drawer__body { overflow-y: auto; padding: 0 2rem; }
.cart-empty { display: grid; min-height: 100%; place-content: center; justify-items: start; }
.cart-empty p { margin: 0; font-family: var(--display); font-size: 2.4rem; }
.cart-empty span { max-width: 19rem; margin-top: .7rem; color: var(--muted); }
.cart-empty .button { margin-top: 1.8rem; }
.cart-item { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr) auto; gap: 1.1rem; padding: 1.5rem 0; border-bottom: 1px solid rgba(243,238,230,.12); }
.cart-item__image { aspect-ratio: 4 / 5; overflow: hidden; border: 1px solid var(--hairline); }
.cart-item__image img { width: 100%; height: 100%; object-fit: cover; }
.cart-item__copy h3 { margin: 0; font-family: var(--display); font-size: 1.75rem; font-weight: 400; line-height: 1; }
.cart-item__copy p { margin: .4rem 0 .8rem; color: var(--muted); font-size: .62rem; }
.cart-item__price { color: var(--gold-bright); font-family: var(--display); font-size: 1.25rem; }
.cart-item__controls { display: flex; align-items: center; gap: .45rem; }
.cart-item__controls button { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; border: 1px solid rgba(243,238,230,.18); background: transparent; color: var(--paper); cursor: pointer; }
.cart-item__controls span { min-width: 1.5rem; text-align: center; }
.cart-item__remove { align-self: start; border: 0; background: transparent; color: var(--muted); cursor: pointer; font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; }
.cart-item__remove:hover { color: var(--paper); }
.cart-drawer__footer { padding: 1.6rem 2rem 2rem; border-top: 1px solid var(--hairline); background: #050504; }
.cart-total { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.cart-total span { color: var(--muted); font-size: .66rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.cart-total strong { font-family: var(--display); font-size: 2rem; font-weight: 400; }
.cart-drawer__footer > p { margin: .7rem 0 1.2rem; color: var(--muted); font-size: .67rem; line-height: 1.5; }
.cart-checkout { width: 100%; }
.cart-status { min-height: 1.4rem; color: var(--muted) !important; }
.cart-status.is-error { color: #e9a3a3 !important; }
.cart-status.is-success { color: #b8d9bb !important; }

/* Checkout result */
.checkout-result { display: grid; min-height: 100svh; place-items: center; padding: 10rem var(--gutter) 6rem; background: radial-gradient(circle at 50% 35%, rgba(200,164,93,.1), transparent 30rem), var(--ink); }
.checkout-result__inner { max-width: 58rem; text-align: center; }
.checkout-result h1 { margin: 0; font-size: clamp(5rem, 11vw, 10rem); }
.checkout-result .lede { margin: 1.2rem auto 0; }
.order-summary { max-width: 40rem; margin: 3rem auto 0; padding: 2rem; border: 1px solid var(--hairline); text-align: left; }
.order-summary__header { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid rgba(243,238,230,.14); }
.order-summary__items { display: grid; gap: .8rem; padding-block: 1.2rem; }
.order-summary__item { display: flex; justify-content: space-between; gap: 1rem; color: var(--paper-soft); }
.order-summary__total { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1rem; border-top: 1px solid rgba(243,238,230,.14); font-family: var(--display); font-size: 1.4rem; }

@media (max-width: 1120px) {
  .site-header .header-inner { gap: 1.1rem; }
  .nav-cluster { gap: 1rem; }
  .nav-cluster a, .cart-trigger { font-size: .56rem; letter-spacing: .14em; }
  .brand-center { min-width: 11.5rem; }
  .standard-split { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 980px) {
  :root { --header-height: 5.6rem; }
  .site-header .header-inner { grid-template-columns: minmax(0, 1fr) auto; min-height: var(--header-height); }
  .brand-center { grid-column: 1; justify-self: start; min-width: 10.5rem; padding-inline: .4rem; }
  .brand-center span { font-size: 2.05rem; }
  .brand-center small { font-size: .43rem; }
  .header-tools { z-index: 3; grid-column: 2; grid-row: 1; display: flex; align-items: center; gap: .65rem; }
  .header-tools .cart-trigger { width: 2.9rem; height: 2.9rem; justify-content: center; border: 1px solid rgba(243,238,230,.18); }
  .header-tools .cart-trigger b { position: absolute; transform: translate(13px, -13px); background: var(--ink); }
  .menu-button { display: grid; width: 2.9rem; height: 2.9rem; }
  .site-nav {
    position: fixed;
    z-index: 99;
    top: var(--header-height);
    right: 0;
    left: 0;
    display: flex;
    max-height: 0;
    flex-direction: column;
    overflow: hidden;
    padding: 0 var(--gutter);
    background: rgba(3,3,2,.985);
    opacity: 0;
    pointer-events: none;
    transition: max-height .45s var(--ease), opacity .35s ease, padding .45s var(--ease);
  }
  .site-nav.is-open { max-height: calc(100svh - var(--header-height)); padding-top: 1.2rem; padding-bottom: 2rem; opacity: 1; pointer-events: auto; overflow-y: auto; }
  .nav-cluster { width: 100%; flex-direction: column; align-items: stretch; gap: 0; }
  .nav-cluster a { padding: 1rem 0; border-bottom: 1px solid rgba(243,238,230,.11); font-family: var(--display); font-size: 2rem; font-weight: 400; letter-spacing: 0; text-transform: none; }
  .nav-cluster a::after, .cart-trigger--desktop { display: none; }
  .standard-split { grid-template-columns: 1fr; }
  .standard-split__copy { border-top: 1px solid var(--hairline); border-left: 0; }
  .value-grid { grid-template-columns: 1fr 1fr; }
  .value-grid article:nth-child(2) { border-right: 0; }
  .value-grid article:nth-child(-n+2) { border-bottom: 1px solid rgba(200,164,93,.18); }
  .presentation-grid { grid-template-columns: 1fr; }
  .presentation-image { margin: 0; }
}

@media (max-width: 760px) {
  .lux-hero { min-height: 92svh; }
  .lux-hero__media img { object-position: 69% center; }
  .lux-hero__shade { background: linear-gradient(180deg, rgba(2,2,2,.86) 0%, rgba(2,2,2,.36) 42%, rgba(2,2,2,.88) 100%), linear-gradient(90deg, rgba(2,2,2,.5), transparent); }
  .lux-hero__content { min-height: 92svh; justify-content: flex-end; padding-top: 8rem; padding-bottom: 4.3rem; }
  .lux-hero h1 { max-width: 100%; font-size: clamp(2.9rem, 11.3vw, 4.2rem); line-height: .98; }
  .lux-hero__content > p { max-width: 24rem; font-size: .91rem; }
  .collection-intro { text-align: left; }
  .collection-intro h2 { font-size: clamp(3.5rem, 15vw, 5.6rem); }
  .collection-intro > p:last-child { margin-left: 0; }
  .shop-grid { grid-template-columns: 1fr; gap: 1.35rem; }
  .shop-card__image { aspect-ratio: 4 / 4.7; }
  .shop-card__body h3 { font-size: 2.75rem; }
  .standard-split__media { min-height: 55svh; }
  .standard-split__media img { object-position: 48% center; }
  .standard-split__copy { padding: 4.5rem var(--gutter); }
  .standard-split__copy h2 { font-size: clamp(3.8rem, 16vw, 5.8rem); }
  .value-grid { grid-template-columns: 1fr; }
  .value-grid article { min-height: auto; border-right: 0; border-bottom: 1px solid rgba(200,164,93,.18); }
  .value-grid article:last-child { border-bottom: 0; }
  .ritual-campaign { min-height: 78svh; }
  .ritual-campaign__media img { object-position: 50% center; }
  .ritual-campaign__shade { background: linear-gradient(180deg, rgba(2,2,2,.05), rgba(2,2,2,.9) 78%); }
  .ritual-campaign__copy { min-height: 78svh; padding-bottom: 3rem; }
  .ritual-campaign__copy h2 { font-size: clamp(4rem, 17vw, 6rem); }
  .presentation-copy h2 { font-size: clamp(3.8rem, 16vw, 5.8rem); }
  .ritual-portraits { grid-template-columns: 84% 84% 84%; overflow-x: auto; scroll-snap-type: x mandatory; }
  .ritual-portraits picture { scroll-snap-align: start; }
  .product-purchase { display: grid; grid-template-columns: 1fr auto; }
  .product-price { grid-column: 1 / -1; }
  .product-purchase .button { grid-column: 1 / -1; }
  .quantity-control { width: max-content; }
  .cart-drawer__header, .cart-drawer__body, .cart-drawer__footer { padding-inline: 1.25rem; }
  .cart-item { grid-template-columns: 4.7rem minmax(0, 1fr) auto; gap: .8rem; }
  .cart-empty .button { width: auto; }
  .collection-ritual__heading { display: block; }
  .principle h3 { margin-top: 3rem; }
}

/* Preview release state: retain the approved layout, with explicit availability. */
.coming-soon:disabled { opacity: 1; cursor: default; }
.shop-card__actions .coming-soon { color: var(--gold); letter-spacing: .16em; }
.preview-form-fields { border: 0; padding: 0; margin: 0; min-width: 0; }

.contact-form .preview-form-fields { display: grid; gap: 1.8rem; }

/* October collection: labels carry each scent; photography is reserved for editorial scenes. */
.shop-card__image { aspect-ratio: 2.2 / 1; padding: clamp(1rem, 2vw, 1.75rem); display: grid; align-items: center; }
.shop-card__image picture { width: 100%; height: auto; }
.shop-card__image img { width: 100%; height: auto; object-fit: contain; }
.shop-card__image::after { display: none; }
.shop-card__actions { grid-template-columns: 1fr; }
.shop-card__actions a { justify-content: space-between; padding-inline: 1.35rem; min-height: 3.4rem; }
.shop-card__actions svg { width: 1rem; height: 1rem; }
.availability-note { color: var(--gold-bright); font-family: var(--sans); font-size: .78rem; font-weight: 400; line-height: 1.55; letter-spacing: .02em; }
.shop-card > .availability-note { margin: 0; padding: 0 1.35rem 1.2rem; }
.product-price .availability-note { margin: 1rem 0 0; }
.product-hero__visual picture { aspect-ratio: 1488 / 593; }
.product-hero__visual img { height: auto; object-fit: contain; }
.product-hero__visual::before { inset: -1.1rem; }
.product-hero__grid { gap: clamp(3rem, 5vw, 6rem); }
.shower-editorial picture { display: block; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid var(--hairline); }
.shower-editorial img { width: 100%; height: 100%; object-fit: cover; }
.cart-item__image { aspect-ratio: 1488 / 593; }
.cart-item__image img { object-fit: contain; }
.cart-item__availability { max-width: 10rem; margin: .5rem 0 0; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.product-object__copy { grid-template-columns: 1fr 1fr; }
@media (max-width: 980px) {
  .product-object__copy { grid-template-columns: 1fr; }
  .product-hero__visual { width: 100%; }
  .product-hero, .product-hero__grid { min-height: 0; }
}
@media (max-width: 680px) {
  .shop-card__image { aspect-ratio: 2.2 / 1; }
  .product-hero__visual { margin-block: 1rem 2rem; }
  .shower-editorial picture { aspect-ratio: 4 / 5; }
  .ritual-campaign__shade { background: linear-gradient(0deg, rgba(2,2,2,.95), rgba(2,2,2,.45) 43%, transparent 72%); }
  .product-hero__visual::before { inset: -.6rem; }
}

/* Direct customer-care email, sized to remain readable on small screens. */
.email-link { color: var(--gold-bright); overflow-wrap: anywhere; text-underline-offset: .25em; }
.email-link:hover { text-decoration: underline; }
.contact-email { margin: 1.5rem 0; font-size: clamp(1rem, 2vw, 1.25rem); }

/* Match the Gravity artwork's rounded edge without showing its export corners. */
img[src*="gravity-centered-label"] { border-radius: 3% / 8%; }

/* Owner's story: keep longer paragraphs comfortable to read. */
.house-manifesto__grid { align-items: start; }
.our-story-text { color: var(--muted); line-height: 1.85; }
.our-story-text p { margin: 0 0 1.5em; }
.our-story-text p:first-child { color: var(--paper-soft); }

/* Homepage signature packaging: uncropped native-ratio mockups. */
.packaging-presentation { max-width: 1120px; }
.packaging-presentation .presentation-copy { max-width: 52rem; margin-bottom: 3rem; }
.packaging-inclusion { color: var(--gold-bright); margin: 1.5rem 0; }
.packaging-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.packaging-gallery picture { display: block; min-width: 0; }
.packaging-gallery img { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; }
@media (max-width: 720px) {
  .packaging-gallery { grid-template-columns: minmax(0, 1fr); }
}

/* Unnumbered editorial sections and the distinct daily-ritual campaign. */
.value-grid h3 { margin-top: 0; }
.principle h3 { margin-top: 0; }
@media (max-width: 720px) {
  .ritual-campaign--tub .ritual-campaign__media img { height: 70%; object-position: 75% center; }
}

.note-row { grid-template-columns: minmax(0, 1fr); }

.checkout-consent label { display:block; margin:0.75rem 0; font-size:0.85rem; line-height:1.5; }
.checkout-consent input { width:auto; margin-right:0.5rem; }

.checkout-test-notice { padding: 12px; border: 1px solid var(--gold); color: var(--gold-bright); font-size: 12px; line-height: 1.6; }

.shipping-offer{margin:var(--header-height,7rem) 0 0;padding:1rem 1.2rem;text-align:center;color:var(--gold,#c5a35b);font-size:.85rem;border-bottom:1px solid rgba(197,163,91,.25)}.shipping-offer a{color:inherit;text-decoration:none}.shipping-offer span{display:inline-block;margin-left:.7rem;color:var(--muted,#aaa)}.shipping-progress{color:var(--gold,#c5a35b)!important;font-size:.85rem!important;line-height:1.5}@media(max-width:480px){.shipping-offer span{display:block;margin:.3rem 0 0}}

/* Owner-supplied Muse label, preserved in full. */
.muse-release{padding:clamp(3rem,7vw,7rem) 0;border-top:1px solid var(--gold,#b99855);background:#080605}
.muse-release__layout{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.muse-release img{display:block;width:100%;height:auto}
.muse-release__copy .display{margin:.3em 0}
.muse-release__notes{color:#cfb487;letter-spacing:.08em}
.muse-release__price{font-size:1.4rem;color:#e5ce9f}
.muse-release__price span{font-size:.85rem;color:#aaa49a}
@media(max-width:760px){.muse-release__layout{grid-template-columns:1fr}.muse-release__copy{text-align:center}}

/* Checkout shipping offer and accessible progress. */
.shipping-progress progress{display:block;width:100%;height:7px;margin:.65rem 0;appearance:none;border:0;border-radius:10px;overflow:hidden;background:#29271f;accent-color:var(--gold)}
.shipping-progress progress::-webkit-progress-bar{background:#29271f}.shipping-progress progress::-webkit-progress-value{background:var(--gold)}.shipping-progress progress::-moz-progress-bar{background:var(--gold)}
.shipping-progress__detail{display:block;font-size:.75rem;color:var(--muted)}
.cart-trio{margin:.6rem 0;border-top:1px solid #393326;padding:.65rem 0}.cart-trio p{font-size:.8rem;line-height:1.5}.cart-trio button{width:100%;padding:.7rem}
.cart-promotion{margin:.5rem 0;font-size:.8rem}.cart-promotion summary{cursor:pointer;padding:.5rem 0}.cart-promotion label{display:block;margin:.4rem 0}.cart-promotion__controls{display:flex;gap:.35rem}.cart-promotion__controls input{min-width:0;flex:1;background:#10100e;border:1px solid #6d6044;color:#f2e9d8;padding:.55rem}.cart-promotion__controls button{border:1px solid #6d6044;background:#15140f;color:#dcc898;padding:.5rem}.cart-promotion [role=status]{font-size:.75rem;line-height:1.4}

/* Keep the full bag usable when checkout disclosures exceed a phone screen. */
.cart-drawer{display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}.cart-drawer__header{flex:none;position:sticky;top:0;z-index:2;background:#080806}.cart-drawer__body{flex:none;overflow:visible;min-height:8rem}.cart-drawer__footer{flex:none;margin-top:auto}.cart-promotion__controls input{font-size:16px}
