@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');

:root {
  color-scheme: light;
  --paper: #f0e7d9;
  --paper-2: #e8d6c5;
  --ink: #45342e;
  --ink-soft: #806a5d;
  --olive: #85815b;
  --olive-deep: #473a31;
  --gold: #bd9754;
  --gold-light: #dac291;
  --line: rgba(57, 61, 42, .18);
  --card: #ebe5d6;
  --shadow: rgba(56, 47, 27, .15);
  --stage-wash: rgba(23, 25, 15, .12);
  --serif: "Playfair Display", Georgia, serif;
  --sans: "Manrope", "Segoe UI", sans-serif;
  --mono: "DM Mono", Consolas, monospace;
  font-synthesis: none;
}

html[data-theme="night"] {
  color-scheme: dark;
  --paper: #202820;
  --paper-2: #29332b;
  --ink: #f3ecd9;
  --ink-soft: #b5b5a4;
  --olive: #87956e;
  --olive-deep: #111a16;
  --gold: #d5b06b;
  --gold-light: #ebd29c;
  --line: rgba(241, 226, 194, .2);
  --card: #2d382f;
  --shadow: rgba(0, 0, 0, .28);
  --stage-wash: rgba(7, 12, 9, .26);
}

html[data-theme="clay"] {
  color-scheme: light;
  --paper: #f0e7d9;
  --paper-2: #e8d6c5;
  --ink: #45342e;
  --ink-soft: #806a5d;
  --olive: #85815b;
  --olive-deep: #473a31;
  --gold: #b98558;
  --gold-light: #d1a67e;
  --line: rgba(83, 59, 46, .19);
  --card: #e8d8c7;
  --shadow: rgba(79, 52, 35, .15);
  --stage-wash: rgba(37, 20, 12, .19);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 65.6px; background: var(--paper); }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(ellipse at 14% 12%, rgba(220, 202, 153, .18), transparent 29rem),
    radial-gradient(ellipse at 87% 52%, rgba(125, 129, 82, .09), transparent 36rem),
    var(--paper);
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.7;
  transition: background-color .55s ease, color .55s ease;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .18;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");
  mix-blend-mode: multiply;
}
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
img { display: block; max-width: 100%; }
::selection { background: var(--gold); color: #fffdf6; }
.cursor-glow {
  position: fixed;
  left: 0; top: 0;
  z-index: 15;
  width: 17px; height: 17px;
  border: 1px solid var(--gold);
  border-radius: 50%;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -50%);
  transition: opacity .2s, width .25s, height .25s, background .25s;
  mix-blend-mode: multiply;
}
body.cursor-ready .cursor-glow { opacity: .8; }
body.cursor-ready .cursor-glow.is-over-link { width: 32px; height: 32px; background: rgba(189,151,84,.12); }

.site-header {
  position: relative;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 2rem;
  min-height: 82px;
  padding: 14px clamp(20px, 4.8vw, 76px);
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--paper) 70%, transparent);
  backdrop-filter: blur(14px);
}
.brand { display: inline-flex; flex-direction: row; align-items: center; gap: 11px; min-width: 215px; }
.brand-mark { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; border: 1px solid var(--gold); }
.brand-name { display: flex; flex-direction: row; align-items: baseline; flex-wrap: nowrap; gap: 7px; font-size: 12px; font-weight: 700; letter-spacing: .19em; white-space: nowrap; }
.brand-name em { font-family: var(--serif); font-size: 13px; font-weight: 500; letter-spacing: .015em; }
.main-nav { display: flex; align-items: center; gap: clamp(10px, 1.35vw, 20px); margin: 0 auto; }
.main-nav a, .header-order, .language-toggle {
  font: 10px var(--mono);
  letter-spacing: .07em;
  text-transform: uppercase;
}
.main-nav a { display: inline-block; color: var(--ink-soft); transition: color .2s ease, transform .2s ease, text-shadow .2s ease; transform-origin: center; }
.main-nav a:hover, .text-link:hover, .phone-link:hover { color: var(--gold); }
.header-actions { display: flex; align-items: center; gap: 18px; }
.theme-switch { display: flex; align-items: center; gap: 5px; padding: 4px; border: 1px solid var(--line); border-radius: 30px; }
.theme-button { display: flex; align-items: center; gap: 6px; padding: 5px 8px; border: 0; border-radius: 25px; background: transparent; color: var(--ink-soft); cursor: pointer; font: 9px var(--mono); }
.theme-button.is-active { color: var(--ink); background: var(--paper-2); }
.swatch { width: 9px; height: 9px; border-radius: 50%; background: #737b49; box-shadow: 0 0 0 2px var(--paper), 0 0 0 3px var(--line); }
.theme-button[data-theme-choice="night"] .swatch { background: #1d2a21; }
.theme-button[data-theme-choice="clay"] .swatch { background: #bd825a; }
.language-toggle { border: 0; background: transparent; cursor: pointer; color: var(--ink-soft); white-space: nowrap; }
.language-toggle span { color: var(--gold); }
.theme-toggle { display: inline-flex; align-items: center; gap: 9px; padding: 6px 9px; border: 1px solid var(--line); border-radius: 24px; color: var(--ink-soft); background: color-mix(in srgb, var(--paper) 65%, transparent); cursor: pointer; font: 9px var(--mono); white-space: nowrap; }
.theme-toggle-track { display: flex; align-items: center; width: 30px; height: 16px; padding: 2px; border: 1px solid var(--line); border-radius: 12px; background: color-mix(in srgb, var(--ink) 10%, transparent); }
.theme-toggle-track i { width: 10px; height: 10px; border-radius: 50%; background: #bd825a; box-shadow: 0 0 0 2px color-mix(in srgb, var(--gold) 24%, transparent); transition: transform .25s ease, background .25s ease; }
html[data-theme="night"] .theme-toggle-track i { transform: translateX(14px); background: #87956e; }
.language-switch { display: inline-flex; align-items: center; gap: 3px; }
.language-button { min-width: 25px; padding: 5px 3px; border: 0; border-bottom: 1px solid transparent; color: var(--ink-soft); background: transparent; cursor: pointer; font: 9px var(--mono); }
.language-button.is-active { border-bottom-color: var(--gold); color: var(--ink); }
.header-order { color: var(--olive-deep); border-bottom: 1px solid var(--gold); padding: 7px 0; white-space: nowrap; }
html[data-theme="night"] .header-order { color: var(--ink); }

.opening {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .92fr);
  gap: clamp(30px, 6vw, 100px);
  max-width: 1600px;
  min-height: 460vh;
  margin: 0 auto;
  padding: 0 clamp(24px, 7.6vw, 124px);
}
.story-copy { min-width: 0; }
.intro-copy { min-height: 100vh; padding-top: clamp(70px, 12vh, 160px); display: flex; flex-direction: column; justify-content: center; }
.eyebrow, .section-label, .small-kicker, .ingredient-line, .stage-caption, .scroll-hint, .scent-index, .scent-mood, .product-badge, .product-number, .collection-note, .image-corner, .closing-foot, .site-footer {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .12em;
  line-height: 1.6;
  text-transform: uppercase;
}
.eyebrow { display: flex; align-items: center; gap: 10px; color: var(--olive); }
.eyebrow-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 12px rgba(189,151,84,.55); }
.small-kicker { margin: 42px 0 18px; color: var(--ink-soft); }
.hero-title, .making-title, .section-heading h2, .collection-top h2, .decor-copy h2, .closing h2 {
  margin: 0;
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: 1.05;
}
.hero-title { max-width: 720px; font-size: clamp(48px, 6vw, 88px); }
.hero-title i, .making-title i, .section-heading h2 i, .collection-top h2 i, .decor-copy h2 i, .closing h2 i {
  color: var(--olive);
  font-weight: 500;
}
.hero-title .letter { display: inline-block; opacity: 0; transform: translateY(.35em) rotate(2deg); animation: type-rise .65s cubic-bezier(.2,.7,.2,1) forwards; animation-delay: calc(var(--i) * 18ms); }
@keyframes type-rise { to { opacity: 1; transform: translateY(0) rotate(0); } }
.hero-description { max-width: 460px; margin: 28px 0 0; color: var(--ink-soft); font-size: 14px; line-height: 1.9; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 26px; margin-top: 32px; }
.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: space-between; gap: 26px; padding: 0 19px; font: 10px var(--mono); letter-spacing: .075em; text-transform: uppercase; transition: transform .25s, background .25s, color .25s, border-color .25s; }
.button:hover { transform: translateY(-3px); }
.button-primary { color: #f9f4e8; background: var(--olive-deep); border: 1px solid var(--olive-deep); box-shadow: 0 12px 30px var(--shadow); }
.button-primary:hover { background: var(--gold); border-color: var(--gold); color: #fff; }
.button-outline { border: 1px solid var(--line); color: var(--ink); }
.button-outline:hover { border-color: var(--gold); background: var(--gold); color: #fff; }
.text-link { display: inline-flex; align-items: center; gap: 10px; color: var(--ink-soft); font: 10px var(--mono); letter-spacing: .055em; text-transform: uppercase; transition: color .2s; }
.text-link span:last-child { color: var(--gold); }
.hero-note { display: flex; align-items: center; gap: 12px; max-width: 420px; margin-top: 74px; color: var(--ink-soft); font-family: var(--serif); font-size: 14px; font-style: italic; }
.note-line { width: 38px; height: 1px; background: var(--gold); flex: 0 0 auto; }

.making-section { max-width: 1600px; margin: 0 auto; }
.making-copy { min-height: auto; padding: 0; }
.section-label { display: flex; align-items: center; gap: 14px; color: var(--ink-soft); }
.section-label span:first-child { color: var(--gold); }
.making-title { margin-top: 28px; font-size: clamp(42px, 4.7vw, 66px); }
.making-intro { max-width: 475px; margin: 24px 0 32px; color: var(--ink-soft); font-size: 13px; line-height: 1.9; }
.craft-steps { border-top: 1px solid var(--line); }
.craft-step { display: grid; grid-template-columns: 44px 1fr 20px; gap: 10px; align-items: start; padding: 17px 0 16px; border-bottom: 1px solid var(--line); }
.step-number { padding-top: 4px; color: var(--gold); font: 10px var(--mono); }
.craft-step h3 { margin: 0; font-family: var(--serif); font-size: 19px; font-weight: 500; }
.craft-step p { max-width: 450px; margin: 5px 0 0; color: var(--ink-soft); font-size: 11px; line-height: 1.75; }
.step-mark { margin-top: 4px; color: var(--olive); font-size: 15px; }
.ingredient-line { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 23px; color: var(--olive); font-size: 8px; }
.ingredient-line span:nth-child(2) { color: var(--gold); }

.stage-column { position: relative; min-width: 0; }
.candle-stage { position: sticky; top: 10vh; height: 80vh; max-height: 760px; min-height: 540px; margin-top: 10vh; display: flex; flex-direction: column; justify-content: space-between; }
.stage-caption { display: flex; justify-content: space-between; align-items: center; color: var(--ink-soft); font-size: 8px; }
.stage-caption-top { padding: 0 4px 16px; }
.stage-caption-bottom { padding: 16px 4px 0; }
.stage-status { color: var(--olive); }
.stage-image-wrap {
  position: relative;
  flex: 1;
  max-height: 630px;
  overflow: visible;
  isolation: isolate;
  filter: drop-shadow(0 25px 36px var(--shadow));
  background: radial-gradient(ellipse at 50% 52%, #4b5236 0%, #303825 49%, #1c241b 100%);
  overflow: hidden;
}
.candle-video { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; }
.stage-image-wrap::after { content: ""; position: absolute; z-index: 2; inset: 0; border: 1px solid rgba(242,225,185,.35); pointer-events: none; }
#candleCanvas { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; transition: opacity .15s linear; }
.stage-glow { position: absolute; z-index: 0; left: 50%; top: 51%; width: 72%; aspect-ratio: 1; border-radius: 50%; transform: translate(-50%,-50%) scale(.55); opacity: 0; background: radial-gradient(circle, rgba(255,189,88,.52), rgba(246,166,66,.18) 38%, transparent 70%); filter: blur(20px); transition: opacity 1.8s ease, transform 1.9s cubic-bezier(.2,.7,.2,1); mix-blend-mode: screen; }
.is-lit .stage-glow { opacity: 1; transform: translate(-50%,-50%) scale(1); }
.orbit-hud { position: absolute; z-index: 3; left: 15px; bottom: 15px; display: flex; align-items: center; gap: 9px; padding: 8px 10px; border: 1px solid rgba(255,246,220,.4); background: rgba(41,43,30,.45); color: #f8efd9; font: 8px var(--mono); letter-spacing: .1em; backdrop-filter: blur(9px); }
.orbit-hud i { width: 5px; height: 5px; border-radius: 50%; background: #e9c77f; box-shadow: 0 0 9px #e9c77f; }
.stage-seal { position: absolute; z-index: 6; bottom: 7%; right: -6%; width: 83px; height: 83px; display: grid; place-content: center; border: 1px solid rgba(245,229,195,.75); border-radius: 50%; background: rgba(45,55,35,.65); color: #f5e9d0; text-align: center; font: 18px var(--serif); line-height: 1.05; transform: rotate(9deg); backdrop-filter: blur(8px); }
.stage-seal small { margin-top: 4px; font: 6px var(--mono); letter-spacing: .1em; }
.scroll-hint { position: absolute; left: -50px; bottom: 20px; display: flex; align-items: center; gap: 9px; color: var(--ink-soft); writing-mode: vertical-rl; font-size: 8px; }
.scroll-line { width: 1px; height: 37px; background: linear-gradient(var(--gold), transparent); }
.stage-fade { opacity: var(--stage-opacity, 1); transform: translateY(var(--stage-shift, 0px)) scale(var(--stage-scale, 1)); transition: opacity .14s linear, transform .14s linear; }

.section-pad { padding: clamp(86px, 12vw, 170px) clamp(24px, 7.6vw, 124px); }
.scent-section { background: var(--paper-2); transition: background .55s ease; }
.section-heading { max-width: 680px; margin-bottom: 50px; }
.scent-section .section-heading { max-width: none; text-align: center; margin-bottom: clamp(34px, 5vw, 62px); }
.scent-section .section-label { justify-content: center; }
.scent-section .section-heading > p { margin-left: auto; margin-right: auto; }
.section-heading h2, .collection-top h2, .decor-copy h2, .closing h2 { margin-top: 24px; font-size: clamp(48px, 6vw, 78px); }
.section-heading > p, .collection-meta > p { max-width: 420px; color: var(--ink-soft); font-size: 13px; line-height: 1.9; }
.section-heading > p { margin: 22px 0 0; }
.scent-section { display: grid; align-items: center; min-height: 100svh; }
.scent-inner { width: 100%; max-width: 1380px; margin-inline: auto; }
.aroma-track { --aroma-gap: clamp(16px, 2.6vw, 34px); display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - var(--aroma-gap) - var(--aroma-gap)) / 3); gap: var(--aroma-gap); overflow-x: auto; padding: 0 0 8px; scrollbar-width: none; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; }
.aroma-track::-webkit-scrollbar { display: none; }
.aroma-card { min-width: 0; scroll-snap-align: start; }
.aroma-photo { position: relative; width: 100%; aspect-ratio: .76; margin: 0; overflow: hidden; border-radius: 48% 48% 7px 7px; background: var(--paper); }
.aroma-caption { display: flex; align-items: baseline; gap: 14px; padding: 16px 5px 0; }
.aroma-caption span { flex: 0 0 auto; color: var(--ink-soft); font: 10px var(--mono); }
.aroma-caption h3 { margin: 0; font: clamp(21px, 2.4vw, 30px) var(--serif); }
.aroma-description { min-height: 3.3em; margin: 10px 5px 0; color: var(--ink-soft); font-size: 12px; line-height: 1.7; }
.aroma-footer { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px; margin-top: 28px; }
.aroma-page { color: var(--ink-soft); font: 10px var(--mono); letter-spacing: .1em; }
.aroma-page b { color: var(--ink); font-weight: 500; }
.aroma-swipe { color: var(--ink-soft); font-size: 11px; text-align: center; }
.aroma-controls { display: flex; justify-content: flex-end; gap: 10px; }
.aroma-controls .carousel-arrow[disabled] { opacity: .35; cursor: default; }
.aroma-disclaimer { margin: 12px 0 0; color: var(--ink-soft); font: 9px var(--mono); letter-spacing: .025em; text-align: center; }

.collection-section { overflow: hidden; }
.collection-top { display: flex; justify-content: space-between; align-items: end; gap: 50px; margin-bottom: 43px; }
.collection-meta { max-width: 410px; }
.collection-meta > p { margin: 0 0 24px; }
.collection-meta > .collection-price { display: flex; align-items: center; gap: 9px; margin: -10px 0 22px; color: var(--gold); font: 9px/1.5 var(--mono); letter-spacing: .06em; }
.collection-price::before { content: ""; width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: currentColor; }
.carousel-controls { display: flex; align-items: center; gap: 14px; }
.carousel-arrow { width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; background: transparent; cursor: pointer; transition: background .2s,color .2s,border .2s; }
.carousel-arrow:hover { border-color: var(--olive); background: var(--olive); color: white; }
.carousel-count { color: var(--ink-soft); font: 9px var(--mono); letter-spacing: .08em; }
.carousel-count b { color: var(--ink); font-weight: 500; }
.product-track { display: grid; grid-auto-columns: minmax(250px, 31%); grid-auto-flow: column; gap: 16px; overflow-x: auto; padding: 0 0 17px; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--gold) transparent; cursor: grab; user-select: none; }
.product-track.is-dragging { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; }
.product-track::-webkit-scrollbar { height: 4px; }
.product-track::-webkit-scrollbar-thumb { background: var(--gold); }
.product-card { min-width: 0; scroll-snap-align: start; transition: opacity .3s; }
.product-card:hover { opacity: .96; }
.product-image { position: relative; height: clamp(245px, 28vw, 375px); overflow: hidden; border-radius: 3px; background: var(--paper-2); }
.product-image::after { position: absolute; content: ""; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.02), transparent 55%, rgba(18,18,12,.24)); pointer-events: none; }
.product-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 58%; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.product-image img { -webkit-user-drag: none; user-select: none; }
.product-card:hover .product-image img { transform: scale(1.035); }
.image-crop-bottom img { object-position: center 78%; }
.image-crop-center img { object-position: center 54%; filter: brightness(.65) saturate(.8); }
.product-badge { position: absolute; z-index: 2; top: 17px; left: 17px; padding: 8px 9px; color: #f8f2e4; background: rgba(40,48,32,.73); backdrop-filter: blur(8px); font-size: 7px; }
.product-number { position: absolute; z-index: 2; top: 18px; right: 17px; color: #fff7e6; font-size: 8px; }
.product-info { display: grid; grid-template-rows: 14px 2.5em; row-gap: 8px; min-height: 108px; box-sizing: border-box; padding: 16px 0 12px; }
.product-meta { display: flex; align-items: center; justify-content: flex-start; gap: 12px; }
.product-number { position: static; color: var(--olive); font-size: 8px; }
.product-info h3 { margin: 0; font: 21px var(--serif); line-height: 1.25; }
.product-details { padding: 0 0 14px; }
.product-details p { min-height: 34px; margin: 0 0 14px; color: var(--ink-soft); font-size: 10px; line-height: 1.7; }
.product-order { display: flex; justify-content: space-between; align-items: center; padding: 10px 0 7px; border-top: 1px solid var(--line); color: var(--ink); font: 8px var(--mono); letter-spacing: .06em; text-decoration: none; text-transform: uppercase; transition: color .2s; }
.product-order::after { content: "↗"; color: var(--gold); font: 14px var(--sans); }
.product-order:hover { color: var(--gold); }
.collection-note { margin: 18px 0 0; color: var(--ink-soft); font-size: 8px; letter-spacing: .03em; text-transform: none; }
.tree-candle { position: absolute; z-index: 1; left: 50%; top: 48%; width: 83px; height: 130px; transform: translate(-50%,-50%); filter: drop-shadow(0 12px 13px rgba(0,0,0,.35)); }
.tree-candle::before { position: absolute; content: ""; top: 0; left: 50%; transform: translateX(-50%); width: 2px; height: 19px; background: #463122; }
.tree-candle i { position: absolute; left: 50%; width: 0; height: 0; transform: translateX(-50%); border-left: 37px solid transparent; border-right: 37px solid transparent; border-bottom: 45px solid #f0dfbd; }
.tree-candle i:nth-child(1) { top: 15px; border-left-width: 24px; border-right-width: 24px; border-bottom-width: 39px; border-bottom-color: #f5e8cf; }
.tree-candle i:nth-child(2) { top: 46px; border-left-width: 34px; border-right-width: 34px; border-bottom-width: 39px; border-bottom-color: #ead7b7; }
.tree-candle i:nth-child(3) { top: 78px; border-left-width: 42px; border-right-width: 42px; border-bottom-width: 45px; border-bottom-color: #e0c7a0; }

.decor-section { display: grid; grid-template-columns: 1.06fr .94fr; gap: clamp(42px, 9vw, 150px); align-items: center; background: var(--paper-2); }
.decor-photo { position: relative; min-height: 400px; height: clamp(400px, 52vw, 680px); overflow: hidden; }
.decor-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 68%, rgba(22,20,17,.3)); }
.decor-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.image-corner { position: absolute; z-index: 1; right: 18px; bottom: 18px; color: white; font-size: 8px; }
.decor-copy h2 { margin: 25px 0 20px; }
.decor-copy > p { max-width: 435px; color: var(--ink-soft); font-size: 13px; line-height: 1.9; margin-bottom: 28px; }

.objects-scroll-section { position: relative; min-height: 100svh; background: var(--paper-2); }
.objects-scroll-sticky { position: relative; top: auto; box-sizing: border-box; display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: auto minmax(0,1fr); align-items: center; row-gap: clamp(18px,3vh,34px); width: 100%; max-width: 1920px; height: 100svh; min-height: 100svh; overflow: hidden; margin-inline: auto; padding: clamp(100px,12vh,132px) clamp(32px,7vw,108px) 50px; }
.objects-scroll-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(250px,.72fr); grid-template-rows: auto auto; column-gap: clamp(30px,7vw,110px); align-items: end; grid-column: 1; grid-row: 1; }
.objects-scroll-heading .section-label { display: flex; grid-column: 1 / -1; gap: 14px; color: var(--ink-soft); }
.objects-scroll-heading .section-label span:first-child { color: var(--gold); }
.objects-scroll-heading h2 { margin: 23px 0 16px; color: var(--ink); font: clamp(38px,5.2vw,68px)/1.02 var(--serif); letter-spacing: -.04em; }
.objects-scroll-heading h2 i { color: var(--olive); }
.objects-scroll-heading > p { max-width: 430px; margin: 0 0 5px; color: var(--ink-soft); font-size: 12px; line-height: 1.8; }
.objects-slides { position: relative; grid-column: 1; grid-row: 2; width: 100%; height: 100%; min-height: 0; overflow: hidden; border: 0; border-radius: 0; background: transparent; box-shadow: none; perspective: 1500px; perspective-origin: 50% 32%; transform-style: preserve-3d; touch-action: pan-y; cursor: grab; user-select: none; }
.objects-slides:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.objects-slides.is-dragging { cursor: grabbing; }
.object-slide { position: absolute; top: var(--stack-top,52px); right: var(--stack-side,0px); bottom: 0; left: var(--stack-side,0px); display: grid; grid-template-columns: minmax(180px,.72fr) minmax(0,1.55fr) minmax(82px,.38fr); align-items: center; gap: clamp(15px,2vw,30px); padding: clamp(22px,3.1vw,48px) clamp(20px,3vw,44px) 94px; border: 1px solid color-mix(in srgb,var(--line) 76%,transparent); border-radius: 11px; background: rgba(91,82,64,.3); -webkit-backdrop-filter: blur(13px) saturate(108%); backdrop-filter: blur(13px) saturate(108%); box-shadow: 0 14px 38px color-mix(in srgb,var(--shadow) 38%,transparent); opacity: var(--stack-opacity,.15); visibility: visible; pointer-events: none; transform: translate3d(0,0,var(--stack-z,-48px)) scale(var(--stack-scale,.94)); transition: opacity .5s ease, top .68s cubic-bezier(.2,.7,.2,1), right .68s cubic-bezier(.2,.7,.2,1), left .68s cubic-bezier(.2,.7,.2,1), transform .68s cubic-bezier(.2,.7,.2,1), background-color .45s ease, box-shadow .45s ease; }
.object-slide.is-active.is-entering-from-right { opacity: 0; transform: translate3d(8vw,0,70px) scale(.97); }
.object-slide.is-active.is-entering-from-left { opacity: 0; transform: translate3d(-8vw,0,70px) scale(.97); }
.object-slide.is-leaving-left { z-index: 8 !important; opacity: 0; transform: translate3d(-16vw,0,90px) scale(.96); filter: blur(1px); }
.object-slide.is-leaving-right { z-index: 8 !important; opacity: 0; transform: translate3d(16vw,0,90px) scale(.96); filter: blur(1px); }
.object-slide.is-active { z-index: 4; opacity: 1; pointer-events: auto; transform: translate3d(0,0,0) scale(1); }
.object-slide-copy { align-self: center; }
.object-slide-index { margin: 0 0 19px; color: var(--gold); font: 9px var(--mono); letter-spacing: .11em; }
.object-slide-index span { color: var(--ink-soft); }
.object-slide-copy h3 { margin: 0 0 13px; color: var(--ink); font: clamp(27px,3vw,43px)/1.06 var(--serif); letter-spacing: -.035em; }
.object-slide-copy > p:nth-of-type(2) { margin: 0 0 16px; color: var(--olive); font: italic clamp(16px,1.6vw,21px)/1.4 var(--serif); }
.object-slide-copy > p:last-child { margin: 0; color: var(--ink-soft); font-size: 12px; line-height: 1.8; }
.object-slide-index { color: var(--gold); }
html[data-theme="clay"] .object-slide-index span { color: #59473d; }
html[data-theme="clay"] .object-slide-copy h3 { color: #332720; text-shadow: 0 0 .35px currentColor; }
html[data-theme="clay"] .object-slide-copy > p:nth-of-type(2) { color: #5e603a; text-shadow: 0 0 .3px currentColor; }
html[data-theme="clay"] .object-slide-copy > p:last-child { color: #59473d; text-shadow: 0 0 .3px currentColor; }
.object-slide-main { position: relative; justify-self: center; display: flex; align-items: center; justify-content: center; width: 100%; min-width: 0; height: 100%; margin: 0; overflow: hidden; border-radius: 5px; background: color-mix(in srgb,var(--paper) 34%,transparent); cursor: zoom-in; }
.object-main-image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.04); opacity: 1; transition: opacity .28s ease, transform .35s ease; }
.object-main-image.is-changing { opacity: .18; }
.object-slide-main figcaption { position: absolute; z-index: 1; right: 14px; bottom: 22px; left: 14px; display: flex; justify-content: space-between; color: #fff7e6; font: 8px var(--mono); letter-spacing: .09em; text-shadow: 0 1px 8px rgba(0,0,0,.7); }
.object-slide-timer { position: absolute; z-index: 5; bottom: 57px; left: 50%; width: min(180px,30%); height: 4px; overflow: hidden; border-radius: 999px; background: color-mix(in srgb,var(--ink-soft) 36%,transparent); box-shadow: 0 3px 18px rgba(0,0,0,.25),0 0 8px rgba(239,208,132,.14); transform: translateX(-50%); pointer-events: none; }
.object-slide-timer span { display: block; width: 100%; height: 100%; background: var(--gold); transform: scaleX(0); transform-origin: left; }
.object-image-lightbox:not([open]) { display: none; }
.object-image-lightbox[open] { position: fixed; inset: 0; display: grid; place-items: center; box-sizing: border-box; max-width: none; max-height: none; width: 100vw; height: 100vh; width: 100dvw; height: 100dvh; margin: 0; padding: 3vh 3vw; overflow: hidden; border: 0; background: transparent; cursor: zoom-out; }
.lightbox-close,.lightbox-nav { position: fixed; z-index: 3; display: grid; place-items: center; width: 62px; height: 62px; padding: 0; border: 1px solid rgba(91,69,51,.28); border-radius: 50%; color: #463a32; background: rgba(238,226,211,.78); box-shadow: 0 4px 20px rgba(0,0,0,.12); cursor: pointer; transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
.lightbox-close { top: max(24px,env(safe-area-inset-top)); right: max(24px,env(safe-area-inset-right)); font: 40px/1 Arial,sans-serif; }
.lightbox-nav { top: 50%; font: 27px/1 Arial,sans-serif; transform: translateY(-50%); }
.lightbox-prev { left: max(26px,env(safe-area-inset-left)); }
.lightbox-next { right: max(26px,env(safe-area-inset-right)); }
.lightbox-close:hover { color: #211b16; background: rgba(248,239,226,.96); border-color: var(--gold); transform: rotate(90deg); }
.lightbox-nav:hover { color: #211b16; background: rgba(248,239,226,.96); border-color: var(--gold); }
.lightbox-prev:hover { transform: translateY(-50%) translateX(-3px); }
.lightbox-next:hover { transform: translateY(-50%) translateX(3px); }
.object-image-lightbox::backdrop { background: rgba(8,10,8,.9); -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px); }
.object-image-lightbox img { display: block; max-width: 94vw; max-height: 94vh; max-height: 94svh; width: auto; height: auto; object-fit: contain; border-radius: 3px; box-shadow: 0 20px 80px rgba(0,0,0,.45); cursor: grab; touch-action: none; user-select: none; -webkit-user-drag: none; }
.object-image-lightbox img:active { cursor: grabbing; }
.object-image-lightbox[data-mode="single"] .lightbox-nav { display: none; }
.object-image-lightbox[data-mode="single"] img { cursor: default; touch-action: auto; }
@media(max-width:600px){.lightbox-close,.lightbox-nav{width:44px;height:44px}.lightbox-close{font-size:32px;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right))}.lightbox-nav{font-size:23px}.lightbox-prev{left:max(18px,env(safe-area-inset-left))}.lightbox-next{right:max(18px,env(safe-area-inset-right))}}
.object-thumbnails { display: flex; flex-direction: column; align-items: stretch; gap: 10px; max-height: 100%; overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--gold) transparent; }
.object-thumb { flex: 1 1 0; min-height: 68px; max-height: 130px; overflow: hidden; padding: 0; border: 1px solid var(--line); border-radius: 3px; background: var(--paper); opacity: .68; cursor: pointer; transition: opacity .2s,border-color .2s,transform .25s; }
.object-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.object-thumb:hover { opacity: .92; transform: translateX(-3px); }
.object-thumb.is-selected { border-color: var(--gold); opacity: 1; }
.object-slide-dots { position: absolute; z-index: 5; right: 0; bottom: 10px; left: 0; display: flex; align-items: center; justify-content: center; gap: 10px; pointer-events: none; }
.object-slide-nav-arrow { display: inline-grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 1px solid color-mix(in srgb,var(--ink-soft) 42%,transparent); border-radius: 50%; color: var(--ink); background: color-mix(in srgb,var(--paper-2) 45%,transparent); font: 17px/1 var(--sans); cursor: pointer; pointer-events: auto; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.object-slide-nav-arrow:hover { border-color: var(--gold); background: color-mix(in srgb,var(--paper-2) 72%,transparent); transform: scale(1.08); }
.object-slide-nav-arrow:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.object-slide-dot { display: block; width: 8px; height: 8px; flex: 0 0 8px; padding: 0; border: 1px solid color-mix(in srgb,var(--ink-soft) 60%,transparent); border-radius: 99px; background: color-mix(in srgb,var(--ink-soft) 34%,transparent); cursor: pointer; pointer-events: auto; transition: width .3s ease, flex-basis .3s ease, background .3s ease, border-color .3s ease, transform .3s ease; }
.object-slide-dot:hover { transform: scale(1.18); }
.object-slide-dot.is-active { width: 23px; flex-basis: 23px; border-color: var(--gold); background: var(--gold); }
.object-slide-dot:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.objects-scroll-hint { position: absolute; right: clamp(24px,6vw,96px); bottom: 18px; margin: 0; color: var(--ink-soft); font: 8px var(--mono); letter-spacing: .13em; }

@media (min-width: 2200px) {
  .objects-scroll-sticky { max-width: 1920px; padding-inline: clamp(72px,5vw,120px); }
  .object-slide { grid-template-columns: minmax(240px,.72fr) minmax(0,1.8fr) minmax(112px,.34fr); gap: clamp(28px,2vw,44px); }
  .object-slide-main { width: min(100%,1320px); height: 100%; max-height: 100%; }
}

.chair-scroll-section { position: relative; min-height: 460svh; background: #121a14; }
.chair-scroll-scene { position: sticky; top: 0; z-index: 1; width: 100%; height: 100svh; overflow: hidden; isolation: isolate; background: #182019; }
#chairCanvas { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.chair-scroll-scene::before { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(8,12,8,.62), rgba(8,12,8,.28) 52%, transparent 82%), linear-gradient(0deg, rgba(8,12,8,.2), transparent 40%); }
.chair-scroll-stories { position: absolute; z-index: 2; inset: 0; overflow: hidden; pointer-events: none; }
.chair-scroll-stories::before { content: ""; position: absolute; top: 22vh; left: 0; width: min(68vw, 900px); height: min(55vh, 500px); background: linear-gradient(90deg, rgba(8,12,8,.27), rgba(8,12,8,.12) 64%, transparent); mask-image: linear-gradient(180deg, transparent, #000 16%, #000 82%, transparent); }
.chair-scroll-story { position: absolute; top: clamp(205px, 33vh, 390px); left: clamp(24px, 7.6vw, 124px); width: min(49vw, 680px); opacity: 0; transform: translate3d(0,54px,0); will-change: opacity,transform; }
.chair-story-kicker { margin: 0 0 16px; color: #e4c780; font: 9px/1.4 var(--mono); letter-spacing: .16em; text-shadow: 0 1px 10px rgba(0,0,0,.65); }
.chair-scroll-story h2 { display: flex; flex-direction: column; align-items: flex-start; gap: .06em; max-width: 100%; margin: 0; color: #f8f2e6; font: normal clamp(42px,6vw,78px)/.94 var(--serif); letter-spacing: -.055em; text-wrap: balance; text-shadow: 0 2px 18px rgba(0,0,0,.42); }
.chair-scroll-story h2 i { color: #e4c780; font-style: italic; }
.chair-story-body { max-width: 430px; margin: 22px 0 0; color: rgba(248,242,230,.9); font-size: 14px; line-height: 1.7; text-shadow: 0 1px 12px rgba(0,0,0,.75); }
.chair-scene-mark { position: absolute; z-index: 3; left: clamp(24px, 7.6vw, 124px); bottom: 27px; color: rgba(248,242,230,.75); font: 8px/1.4 var(--mono); letter-spacing: .16em; }
.chair-scene-scrubber { --chair-scrubber-progress: 0%; position: absolute; z-index: 4; top: 50%; right: clamp(14px,2.2vw,34px); width: 34px; height: min(58vh,520px); transform: translateY(-50%); display: flex; flex-direction: column; align-items: center; color: #f3ecd9; cursor: pointer; touch-action: none; user-select: none; }
.chair-scene-scrubber:focus-visible { outline: 1px solid #d5b06b; outline-offset: 5px; }
.chair-scrubber-time { color: #f3ecd9; font: 10px/1 var(--mono); text-shadow: 0 1px 8px rgba(0,0,0,.9); }
.chair-scrubber-track { position: relative; width: 3px; flex: 1; margin: 9px 0; border-radius: 3px; background: rgba(32,40,32,.88); box-shadow: 0 0 0 1px rgba(213,176,107,.55),0 0 10px rgba(32,40,32,.45); }
.chair-scrubber-fill { position: absolute; inset: 0 0 auto; height: var(--chair-scrubber-progress); border-radius: inherit; background: #87956e; box-shadow: 0 0 5px rgba(135,149,110,.65); }
.chair-scrubber-thumb { position: absolute; top: var(--chair-scrubber-progress); left: 50%; width: 13px; height: 13px; border: 2px solid #d5b06b; border-radius: 50%; background: #202820; box-shadow: 0 0 0 3px rgba(135,149,110,.9),0 0 0 5px rgba(32,40,32,.82),0 0 14px rgba(32,40,32,.7); transform: translate(-50%,-50%); }
.chair-scene-scrubber:hover .chair-scrubber-thumb { width: 15px; height: 15px; }

.closing { position: relative; padding-top: clamp(110px, 14vw, 190px); padding-bottom: 74px; overflow: hidden; }
.closing-inner { position: relative; min-height: 560px; padding: clamp(38px, 7vw, 100px); border: 1px solid var(--line); background: radial-gradient(ellipse at 85% 10%, color-mix(in srgb, var(--gold) 19%, transparent), transparent 36%), var(--paper-2); transition: background .55s; }
.closing h2 { font-size: clamp(54px, 7vw, 90px); }
.closing h2 i { color: var(--gold); }
.closing-inner > p { max-width: 440px; margin: 22px 0 28px; color: var(--ink-soft); font-size: 13px; line-height: 1.9; }
.closing-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 25px; }
.phone-link { color: var(--ink-soft); font: 11px var(--mono); transition: color .2s; }
.closing-foot { position: absolute; bottom: 27px; left: clamp(38px, 7vw, 100px); right: clamp(38px, 7vw, 100px); display: flex; justify-content: space-between; padding-top: 17px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: 8px; }
.closing-orbit { position: absolute; right: 11%; top: 50%; width: clamp(180px, 27vw, 360px); aspect-ratio: 1; border: 1px solid rgba(189,151,84,.5); border-radius: 50%; transform: translateY(-50%); }
.closing-orbit::before, .closing-orbit::after { content: ""; position: absolute; inset: 17%; border: 1px solid rgba(189,151,84,.37); border-radius: 50%; transform: rotate(48deg) scaleX(.55); }
.closing-orbit::after { inset: 26%; transform: rotate(-42deg) scaleX(.63); }
.closing-mark { position: absolute; top: 50%; left: 50%; color: var(--olive); font: clamp(24px, 4vw, 46px) var(--serif); letter-spacing: .12em; transform: translate(-50%,-50%); }
.closing-spark { position: absolute; top: -8px; left: 51%; color: var(--gold); font-size: 21px; animation: orbit-spin 12s linear infinite; }
@keyframes orbit-spin { to { transform: rotate(360deg) translateX(0); } }
.site-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 22px clamp(24px, 7.6vw, 124px) 30px; color: var(--ink-soft); border-top: 1px solid var(--line); font-size: 8px; }
.site-footer a:first-child { color: var(--ink); font-weight: 500; }
.site-footer i { font-family: var(--serif); font-size: 11px; font-weight: 400; letter-spacing: 0; text-transform: none; }

.reveal { opacity: 0; transform: translateY(20px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.is-burning .flame { animation-duration: 1.18s; }

@media (max-width: 1080px) {
  .site-header { gap: 9px; }
  .brand { min-width: auto; }
  .main-nav { gap: 8px; flex: 1; min-width: 0; }
  .main-nav a { font-size: 8px; letter-spacing: .015em; white-space: nowrap; }
  .theme-name { display: none; }
  .theme-button { padding: 7px; }
  .theme-toggle { gap: 6px; padding: 5px 7px; font-size: 8px; }
  .theme-toggle-track { width: 26px; }
  html[data-theme="night"] .theme-toggle-track i { transform: translateX(10px); }
  .language-switch { gap: 1px; }
  .language-button { min-width: 22px; font-size: 8px; }
  .header-actions { gap: 8px; }
  .opening { grid-template-columns: minmax(0, 1fr) minmax(300px, .83fr); gap: 36px; padding-inline: 5vw; }
  .stage-seal { right: -2%; }
}
@media (max-width: 760px) {
  .site-header { position: sticky; top: 0; min-height: 70px; gap: 8px; padding: 10px 16px; }
  .brand { gap: 7px; }
  .brand-mark { width: 33px; height: 33px; }
  .brand-name { flex-direction: column; gap: 0; font-size: 10px; letter-spacing: .13em; line-height: 1.2; }
  .brand-name em { font-size: 11px; }
  .main-nav { display: none; }
  .header-actions { gap: 9px; margin-left: auto; }
  .theme-switch { gap: 2px; }
  .theme-button { padding: 6px; }
  .theme-toggle { gap: 5px; padding: 4px 6px; font-size: 7px; }
  .theme-toggle-track { width: 24px; height: 14px; }
  .theme-toggle-track i { width: 8px; height: 8px; }
  html[data-theme="night"] .theme-toggle-track i { transform: translateX(9px); }
  .language-switch { gap: 0; }
  .language-button { min-width: 20px; padding-inline: 2px; font-size: 7px; }
  .header-order { display: none; }
  .language-toggle { font-size: 9px; }
  .opening { display: flex; flex-direction: column; gap: 0; min-height: 460svh; padding: 0 22px; }
  .story-copy { position: absolute; z-index: 4; top: 12vh; left: 22px; right: 22px; pointer-events: none; }
  .intro-copy { min-height: 0; padding: 0; display: block; }
  .intro-copy > :not(.eyebrow):not(.small-kicker):not(.hero-title) { display: none; }
  .small-kicker { margin: 22px 0 12px; }
  .hero-title { max-width: 85%; font-size: clamp(34px, 9vw, 58px); text-shadow: 0 2px 18px rgba(13,17,12,.45); }
  .hero-title, .small-kicker, .eyebrow { color: #f4f0e4; }
  .hero-title i { color: #e2c77e; }
  .stage-column { position: sticky; top: 12vh; order: -1; height: 76vh; min-height: 420px; max-height: 620px; margin: 0 -4px; }
  .candle-stage { position: relative; top: 0; height: 100%; min-height: 0; max-height: none; margin-top: 0; }
  .stage-image-wrap { max-height: 440px; min-height: 300px; }
  .stage-caption { font-size: 7px; }
  .stage-seal { width: 66px; height: 66px; font-size: 15px; right: -1%; bottom: 8%; }
  .stage-seal small { font-size: 5px; }
  .scroll-hint { left: auto; right: -10px; bottom: 15px; writing-mode: horizontal-tb; }
  .scroll-line { width: 26px; height: 1px; }
  .making-copy { min-height: auto; padding: 0; }
  .making-title { font-size: clamp(42px, 11vw, 60px); }
  .craft-step { grid-template-columns: 34px 1fr 14px; gap: 8px; }
  .craft-step h3 { font-size: 18px; }
  .craft-step p { font-size: 10px; }
  .section-pad { padding: 78px 22px; }
  .section-heading h2, .collection-top h2, .decor-copy h2, .closing h2 { font-size: clamp(48px, 12vw, 72px); }
  .aroma-track { --aroma-gap: 18px; grid-auto-columns: calc((100% - var(--aroma-gap)) / 2); }
  .aroma-caption { gap: 10px; padding: 12px 3px 0; }
  .aroma-caption span { font-size: 8px; }
  .aroma-caption h3 { font-size: clamp(19px, 4.5vw, 25px); }
  .aroma-footer { gap: 10px; margin-top: 18px; }
  .aroma-swipe { font-size: 9px; }
  .aroma-controls .carousel-arrow { width: 36px; height: 36px; }
  .collection-top { flex-direction: column; align-items: flex-start; gap: 25px; }
  .collection-meta { width: 100%; }
  .product-track { grid-auto-columns: minmax(260px, 78%); gap: 12px; margin-right: -22px; padding-right: 22px; }
  .product-image { height: 340px; }
  .decor-section { grid-template-columns: 1fr; gap: 35px; }
  .chair-scroll-section { min-height: 460svh; }
  .chair-scroll-scene { height: 100svh; }
  .chair-scroll-scene::before { background: linear-gradient(90deg,rgba(8,12,8,.48),rgba(8,12,8,.18) 75%,transparent),linear-gradient(0deg,rgba(8,12,8,.18),transparent 44%); }
  .chair-scroll-stories::before { top: 27vh; width: 100%; height: 46vh; background: linear-gradient(90deg,rgba(8,12,8,.4),rgba(8,12,8,.16) 78%,transparent); }
  .chair-scroll-story { top: clamp(245px,37vh,350px); left: 22px; right: 45px; width: auto; }
  .chair-story-kicker { margin-bottom: 12px; font-size: 8px; }
  .chair-scroll-story h2 { font-size: clamp(38px,10vw,58px); }
  .chair-story-body { max-width: 100%; margin-top: 16px; font-size: 13px; }
  .chair-scene-scrubber { right: 10px; width: 30px; height: min(48vh,360px); }
  .chair-scrubber-time { font-size: 9px; }
  .chair-scene-mark { left: 22px; bottom: 20px; font-size: 7px; }
  .decor-photo { height: 88vw; min-height: 320px; max-height: 560px; }
  .decor-copy { padding-bottom: 5px; }
  .closing { padding: 72px 22px 45px; }
  .closing-inner { min-height: 580px; padding: 38px 24px; }
  .closing-orbit { width: 150px; top: 34px; right: 20px; transform: none; opacity: .48; }
  .closing h2 { position: relative; z-index: 1; }
  .closing-inner > p { position: relative; z-index: 1; }
  .closing-foot { left: 24px; right: 24px; flex-direction: column; gap: 7px; }
  .site-footer { flex-wrap: wrap; padding: 21px 22px 28px; font-size: 7px; }
  .site-footer span { order: 3; width: 100%; }
  .cursor-glow { display: none; }
}

/* Center the desktop navigation and use a compact centered brand on tablets and phones. */
.site-header { justify-content: space-between; }
.brand { flex: 0 0 auto; }
.main-nav { position: absolute; left: 50%; margin: 0; transform: translateX(-50%); }
.header-actions { margin-left: auto; }
.menu-toggle { display: none; }

@media (max-width: 1080px) {
  .site-header { justify-content: space-between; }
  .menu-toggle {
    display: flex; position: relative; z-index: 52; flex: 0 0 38px;
    width: 38px; height: 38px; padding: 10px 7px; flex-direction: column;
    justify-content: center; gap: 6px; border: 1px solid rgba(246,240,226,.38);
    border-radius: 50%; color: #f6f0e2; background: rgba(18,23,16,.25); cursor: pointer;
  }
  .menu-toggle span { display: block; width: 100%; height: 1px; background: currentColor; transition: transform .2s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .brand { position: absolute; left: 50%; transform: translateX(-50%); min-width: 0; white-space: nowrap; }
  .main-nav {
    display: none; position: absolute; z-index: 51; top: calc(100% + 1px); left: 0; right: 0;
    width: 100%; padding: 18px 22px 22px; transform: none; flex-direction: column;
    align-items: stretch; gap: 0; border-bottom: 1px solid var(--line);
    color: var(--ink); background: var(--paper);
    -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
  }
  .main-nav.is-open { display: flex; }
  .site-header:has(.menu-toggle[aria-expanded="true"]) {
    background: var(--paper);
  }
  .main-nav a { padding: 13px 4px; border-bottom: 1px solid var(--line); color: var(--ink) !important; font-size: 11px; }
  .main-nav a:last-child { border-bottom: 0; }
  .header-actions { margin-left: auto; }
}
@media (max-width: 760px) {
  .site-header { justify-content: space-between; }
  .brand { position: relative; left: auto; flex: 0 1 auto; transform: none; min-width: 0; margin-left: 2px; gap: 7px; }
  .brand-name { flex-direction: row; align-items: baseline; gap: 4px; font-size: 9px; letter-spacing: .1em; line-height: 1.1; }
  .brand-name em { font-size: 11px; }
  .header-actions { margin-left: auto; }
  .menu-toggle { flex-basis: 34px; width: 34px; height: 34px; }
}
@media (max-width: 560px) {
  .aroma-track { --aroma-gap: 0px; grid-auto-columns: 100%; }
  .aroma-photo { aspect-ratio: .82; }
  .aroma-caption { justify-content: center; gap: 12px; }
  .aroma-caption h3 { font-size: 27px; }
  .aroma-footer { grid-template-columns: auto 1fr auto; }
  .aroma-swipe { padding: 0 8px; }
}

/* Keep the fragrance carousel legible below the fixed header and within one viewport. */
.scent-section {
  min-height: 100svh;
  padding-top: max(90px, calc(65.6px + 3.2vh));
  padding-bottom: clamp(24px, 3.5vh, 46px);
}
.scent-section .section-heading { margin-bottom: clamp(20px, 3.2vh, 38px); }
.scent-section .section-heading h2 { margin-top: 16px; font-size: clamp(46px, 5.4vw, 68px); }
.aroma-photo { height: clamp(220px, 37svh, 420px); aspect-ratio: auto; }
.aroma-caption { gap: 10px; padding-top: 12px; }
.aroma-description { min-height: 3.1em; margin-top: 8px; line-height: 1.55; }
.aroma-footer { gap: 14px; margin-top: clamp(18px, 2.5vh, 28px); }
.aroma-disclaimer { margin-top: 8px; }

@media (max-width: 760px) {
  .scent-section { min-height: 100svh; padding: 78px 22px 22px; }
  .scent-section .section-heading { margin-bottom: 20px; }
  .scent-section .section-heading h2 { margin-top: 12px; font-size: clamp(40px, 8vw, 56px); }
  .scent-section .section-heading > p { margin-top: 12px; font-size: 12px; line-height: 1.6; }
  .aroma-photo { height: min(34svh, 270px); min-height: 190px; }
  .aroma-caption { padding-top: 10px; }
  .aroma-description { min-height: 0; margin-top: 7px; font-size: 11px; line-height: 1.5; }
  .aroma-footer { margin-top: 16px; }
  .aroma-disclaimer { max-width: 42em; margin-inline: auto; font-size: 8px; line-height: 1.5; }
}

@media (max-width: 560px) {
  .scent-section { padding-top: 72px; }
  .aroma-photo { height: min(32svh, 250px); min-height: 180px; }
  .aroma-caption h3 { font-size: 25px; }
}

.aroma-photo { border-radius: 38% 38% 7px 7px; }
@media (max-width: 900px) {
  .aroma-track { grid-auto-columns: calc((100% - var(--aroma-gap)) / 2); }
}
@media (max-width: 560px) {
  .aroma-track { grid-auto-columns: 100%; }
}

/* The source art is a three-panel square triptych; keep every ingredient inside its card. */
.aroma-photo { height: auto; min-height: 0; aspect-ratio: 1 / 1; }
@media (max-height: 850px) {
  .scent-section { padding-block: 72px 12px; }
  .scent-section .section-heading { margin-bottom: 12px; }
  .scent-section .section-heading h2 { margin-top: 8px; font-size: clamp(40px, 5vw, 52px); }
  .scent-section .section-heading > p { margin-top: 9px; line-height: 1.5; }
  .aroma-caption { padding-top: 8px; }
  .aroma-description { margin-top: 6px; line-height: 1.45; }
  .aroma-footer { margin-top: 10px; }
  .aroma-disclaimer { margin-top: 5px; }
}

/* Generated atelier images for the four craft steps */
.craft-step {
  grid-template-columns: 44px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 10px;
  padding: 19px 0;
}
.step-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 230px);
  align-items: center;
  gap: clamp(20px, 4vw, 62px);
}
.step-copy { min-width: 0; }
.step-photo {
  position: relative;
  height: 138px;
  margin: 0;
  overflow: hidden;
  border-radius: 12px;
  background: transparent;
}
.step-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 52%;
  border-radius: inherit;
  -webkit-mask: none;
  mask: none;
}
@media (min-width: 1400px) {
  .step-main {
    max-width: 1120px;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 390px);
    gap: clamp(28px, 3vw, 54px);
  }
}
.step-photo-video {
  display: grid;
  place-items: center;
  isolation: isolate;
  background: #28271f;
}
.step-photo-video::before {
  position: absolute;
  z-index: -1;
  inset: -14px;
  content: "";
  background: var(--step-video-poster) center / cover no-repeat;
  filter: blur(15px) brightness(.58);
  transform: scale(1.04);
}
.step-video {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 112%;
  object-fit: cover;
  object-position: center;
  transform: translateY(-6%);
  border-radius: inherit;
}
@media (max-width: 760px) {
  .craft-step {
    grid-template-columns: 34px minmax(0, 1fr) 14px;
    gap: 8px;
    padding: 14px 0;
  }
  .step-main {
    grid-template-columns: minmax(0, 1fr) minmax(92px, 31%);
    gap: 12px;
  }
  .step-photo { height: 106px; }
  .step-video {
    height: 100%;
    object-fit: contain;
    transform: none;
  }
}
@media (min-width: 601px) and (max-width: 1100px) {
  .step-video {
    height: 110%;
    transform: translateY(-3%);
  }
}
@media (min-width: 2200px) {
  .step-video {
    transform: translateY(-12%);
  }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .hero-title .letter { opacity: 1; transform: none; }
}

/* Full-bleed, scroll-controlled opening scene */
.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  height: 65.6px;
  min-height: 65.6px;
  padding: 13px clamp(20px, 4.8vw, 76px);
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--paper) 82%, transparent);
  color: var(--ink);
  -webkit-backdrop-filter: blur(20px) saturate(1.12);
  backdrop-filter: blur(20px) saturate(1.12);
}
.site-header .main-nav a,
.site-header .language-button,
.site-header .theme-toggle,
.site-header .header-order { color: var(--ink); }
.site-header .theme-toggle { border-color: var(--line); background: color-mix(in srgb, var(--paper-2) 65%, transparent); }
.site-header .theme-button { color: rgba(246, 240, 226, .76); }
.site-header .theme-button.is-active { color: #fffaf0; background: rgba(255, 255, 255, .16); }
.site-header .language-button.is-active { color: var(--ink); }
.site-header .swatch { box-shadow: 0 0 0 2px rgba(18, 23, 16, .28), 0 0 0 3px rgba(246, 240, 226, .34); }
/* Keep the Sienna header legible over the dark opening video without changing its light-section appearance. */
html[data-theme="clay"] .site-header.is-over-dark-hero {
  border-bottom-color: rgba(246, 240, 226, .24);
}
html[data-theme="clay"] .site-header.is-over-dark-hero .brand,
html[data-theme="clay"] .site-header.is-over-dark-hero .main-nav a,
html[data-theme="clay"] .site-header.is-over-dark-hero .header-actions,
html[data-theme="clay"] .site-header.is-over-dark-hero .language-button,
html[data-theme="clay"] .site-header.is-over-dark-hero .header-order {
  color: #fff8e8;
  -webkit-text-stroke: .2px rgba(22, 17, 10, .78);
  text-shadow: 0 1px 4px rgba(0, 0, 0, .58);
}
html[data-theme="clay"] .site-header.is-over-dark-hero .language-button.is-active { color: #fff8e8; }
html[data-theme="clay"] .site-header.is-over-dark-hero .theme-toggle {
  color: #fff8e8;
  border-color: rgba(255, 248, 232, .52);
  background: rgba(22, 17, 10, .22);
  text-shadow: 0 1px 4px rgba(0, 0, 0, .58);
}
html[data-theme="clay"] .site-header.is-over-dark-hero .menu-toggle {
  color: #fff8e8;
  border-color: rgba(255, 248, 232, .52);
  background: rgba(22, 17, 10, .22);
}
/* An open menu always returns to the theme's regular paper-and-ink palette. */
html[data-theme="clay"] .site-header.is-menu-open {
  color: var(--ink);
  border-bottom-color: var(--line);
}
html[data-theme="clay"] .site-header.is-menu-open .brand,
html[data-theme="clay"] .site-header.is-menu-open .main-nav a,
html[data-theme="clay"] .site-header.is-menu-open .header-actions,
html[data-theme="clay"] .site-header.is-menu-open .language-button,
html[data-theme="clay"] .site-header.is-menu-open .header-order,
html[data-theme="clay"] .site-header.is-menu-open .theme-toggle,
html[data-theme="clay"] .site-header.is-menu-open .menu-toggle {
  color: var(--ink);
  -webkit-text-stroke: 0;
  text-shadow: none;
}
html[data-theme="night"] .site-header {
  border-bottom-color: rgba(246, 240, 226, .18);
  background: rgba(18, 23, 16, .3);
  color: #f6f0e2;
}
html[data-theme="night"] .site-header .main-nav a,
html[data-theme="night"] .site-header .language-button,
html[data-theme="night"] .site-header .theme-toggle,
html[data-theme="night"] .site-header .header-order { color: #f6f0e2; }
html[data-theme="night"] .site-header .theme-toggle { border-color: rgba(246, 240, 226, .42); background: rgba(18, 23, 16, .2); }
html[data-theme="night"] .site-header .language-button.is-active { color: #fffaf0; }
html[data-theme="night"] .site-header .menu-toggle { color: #f6f0e2; border-color: rgba(246,240,226,.38); background: rgba(18,23,16,.25); }
html[data-theme="clay"] .site-header .menu-toggle { color: var(--ink); border-color: var(--line); background: color-mix(in srgb, var(--paper-2) 55%, transparent); }
html[data-theme="night"] .site-header:has(.menu-toggle[aria-expanded="true"]) { background: color-mix(in srgb, var(--paper) 94%, transparent); color: var(--ink); }
html[data-theme="night"] .site-header:has(.menu-toggle[aria-expanded="true"]) .brand,
html[data-theme="night"] .site-header:has(.menu-toggle[aria-expanded="true"]) .header-actions { color: var(--ink); }
.site-header a, .site-header button, .main-nav a {
  transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .18s ease, text-shadow .2s ease;
}
.site-header a { display: inline-block; }
.site-header a:hover, .site-header button:hover, .main-nav a:hover {
  color: var(--gold) !important;
  text-shadow: 0 0 12px color-mix(in srgb, var(--gold) 48%, transparent);
}
.site-header a:active, .site-header button:active, .main-nav a:active { transform: scale(1.045); }
.site-header a:focus-visible, .site-header button:focus-visible, .main-nav a:focus-visible { outline: 1px solid var(--gold); outline-offset: 4px; }
.opening {
  display: block;
  width: 100%;
  max-width: none;
  min-height: 460vh;
  margin: 0;
  padding: 0;
}
.stage-column {
  position: sticky;
  z-index: 1;
  top: 0;
  width: 100%;
  height: 100svh;
  min-height: 100svh;
  max-height: none;
  margin: 0;
}
.candle-stage {
  position: relative;
  top: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
  max-height: none;
  margin: 0;
  display: block;
}
.stage-image-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: none;
  min-height: 0;
  border: 0;
  overflow: hidden;
  filter: none;
  background: #1c241b;
}
.stage-image-wrap::after { display: none; }
.candle-video { object-fit: cover; object-position: center; }
.scene-scrubber {
  --scrubber-progress: 0%;
  position: absolute;
  z-index: 8;
  top: 50%;
  right: clamp(14px, 2.2vw, 34px);
  width: 34px;
  height: min(58vh, 520px);
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #f3e6c9;
  cursor: pointer;
  touch-action: none;
  user-select: none;
  pointer-events: auto;
}
.scene-scrubber:focus-visible { outline: 1px solid #e4c780; outline-offset: 5px; }
.scrubber-time {
  color: rgba(248, 242, 230, .78);
  font: 10px/1 "DM Mono", monospace;
  letter-spacing: .04em;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .8);
}
.scrubber-track {
  position: relative;
  width: 2px;
  flex: 1;
  margin: 9px 0;
  border-radius: 2px;
  background: rgba(248, 242, 230, .42);
  box-shadow: 0 0 10px rgba(0, 0, 0, .25);
}
.scrubber-fill {
  position: absolute;
  inset: 0 0 auto;
  height: var(--scrubber-progress);
  border-radius: inherit;
  background: #e4c780;
}
.scrubber-thumb {
  position: absolute;
  top: var(--scrubber-progress);
  left: 50%;
  width: 12px;
  height: 12px;
  border: 2px solid #f8f2e6;
  border-radius: 50%;
  background: #d8b86b;
  box-shadow: 0 0 0 4px rgba(228, 199, 128, .18), 0 0 12px rgba(228, 199, 128, .55);
  transform: translate(-50%, -50%);
}
.scene-scrubber:hover .scrubber-thumb { width: 15px; height: 15px; }
.stage-caption,
.stage-seal,
.orbit-hud,
.scroll-hint { display: none !important; }
.story-copy {
  position: absolute;
  z-index: 4;
  top: clamp(112px, 15vh, 180px);
  left: clamp(24px, 7.6vw, 124px);
  right: auto;
  width: min(52vw, 740px);
  min-width: 0;
  pointer-events: none;
  opacity: var(--copy-opacity, 1);
  transform: translate3d(0, calc(-1 * var(--copy-rise, 0px)), 0);
  will-change: opacity, transform;
}
.scroll-stories { position: absolute; z-index: 5; inset: 0; overflow: hidden; pointer-events: none; }
.scroll-stories::before {
  content: "";
  position: absolute;
  top: 26vh;
  left: 0;
  width: min(68vw, 920px);
  height: min(48vh, 430px);
  background: linear-gradient(90deg, rgba(8, 12, 8, .42), rgba(8, 12, 8, .2) 55%, transparent);
  mask-image: linear-gradient(180deg, transparent, #000 18%, #000 78%, transparent);
}
.scroll-story {
  position: absolute;
  top: clamp(225px, 34vh, 395px);
  left: clamp(24px, 7.6vw, 124px);
  width: min(49vw, 690px);
  opacity: 0;
  transform: translate3d(0, 54px, 0);
  will-change: opacity, transform;
}
.scroll-story-kicker {
  margin: 0 0 16px;
  color: #e4c780;
  font: 9px/1.4 "DM Mono", monospace;
  letter-spacing: .16em;
  text-shadow: 0 1px 10px rgba(0, 0, 0, .65);
}
.scroll-story h2 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .06em;
  max-width: 100%;
  margin: 0;
  color: #f8f2e6;
  font: normal clamp(42px, 6vw, 78px)/.94 var(--serif);
  letter-spacing: -.055em;
  text-wrap: balance;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .42);
}
.scroll-story h2 i { color: #e4c780; font-style: italic; }
.scroll-story-body {
  max-width: 430px;
  margin: 22px 0 0;
  color: rgba(248, 242, 230, .9);
  font-size: 14px;
  line-height: 1.7;
  text-shadow: 0 1px 12px rgba(0, 0, 0, .75);
}
.intro-copy { min-height: 0; padding: 0; display: block; }
.hero-title, .hero-title i { color: #f8f2e6; }
.hero-title i { color: #e4c780; }
.small-kicker, .eyebrow, .hero-description, .hero-note, .text-link { color: rgba(248, 242, 230, .86); }
.hero-note { margin-top: 48px; }
.hero-actions { pointer-events: auto; }
#home .button-primary { color: #26281e; background: #dfbf75; border-color: #dfbf75; box-shadow: none; }
#home .button-primary:hover { color: #fffaf0; background: #a78649; border-color: #a78649; }

@media (max-width: 1080px) {
  .opening { grid-template-columns: none; gap: 0; padding: 0; }
  .stage-column { height: 100svh; min-height: 100svh; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 56px; }
  .site-header { position: fixed; top: 0; height: 56px; min-height: 56px; padding: 10px 16px; }
  .opening { min-height: 460svh; padding: 0; }
  .stage-column { order: 0; height: 100svh; min-height: 100svh; max-height: none; margin: 0; }
  .story-copy { top: clamp(110px, 15vh, 142px); left: 22px; right: 22px; width: auto; }
  .scroll-stories::before { top: 30vh; width: 100%; height: 42vh; background: linear-gradient(90deg, rgba(8, 12, 8, .5), rgba(8, 12, 8, .18) 72%, transparent); }
  .scroll-story { top: clamp(265px, 38vh, 350px); left: 22px; right: 42px; width: auto; }
  .scroll-story-kicker { margin-bottom: 12px; font-size: 8px; }
  .scroll-story h2 { font-size: clamp(38px, 10vw, 58px); }
  .scroll-story-body { max-width: 100%; margin-top: 16px; font-size: 13px; }
  .hero-title { max-width: 92%; font-size: clamp(40px, 10vw, 64px); }
  .small-kicker { margin: 22px 0 12px; }
  .scene-scrubber { right: 10px; width: 30px; height: min(48vh, 360px); }
  .scrubber-time { font-size: 9px; }
}

/* Product detail pages, styled as an extension of the BOD collection. */
.product-detail-page { max-width: 1560px; margin: 0 auto; padding: 34px clamp(24px, 6vw, 96px) 92px; }
.product-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-bottom: 34px; color: var(--ink-soft); font: 8px var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.product-breadcrumbs a:hover { color: var(--gold); }
.product-breadcrumbs > span:last-child { color: var(--ink); }
.product-detail-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(350px, .85fr); align-items: start; gap: clamp(44px, 8vw, 128px); padding-bottom: clamp(66px, 9vw, 132px); border-bottom: 1px solid var(--line); }
.product-detail-photo { position: relative; min-height: 480px; height: min(66vw, 760px); overflow: hidden; border-radius: 3px; background: var(--paper-2); }
.product-detail-photo::after { position: absolute; content: ""; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(0,0,0,.02), transparent 58%, rgba(18,18,12,.27)); }
.product-detail-photo > img { width: 100%; height: 100%; object-fit: cover; object-position: center 58%; }
.product-detail-photo .product-badge { top: 22px; left: 22px; }
.product-detail-index { position: absolute; z-index: 2; right: 22px; bottom: 20px; color: #fff7e6; font: 9px var(--mono); letter-spacing: .13em; }
.product-detail-photo .detail-tree { display: none; }
.product-detail-photo .detail-tree.is-visible { display: block; }
.product-detail-photo-note { margin: 12px 0 0; color: var(--ink-soft); font: 8px var(--mono); letter-spacing: .035em; }
.product-detail-gallery { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; margin-top: 12px; }
.product-detail-thumb { aspect-ratio: 1.15; overflow: hidden; padding: 0; border: 1px solid var(--line); border-radius: 3px; background: var(--paper-2); cursor: pointer; opacity: .72; transition: opacity .2s,border-color .2s; }
.product-detail-thumb img { width: 100%; height: 100%; object-fit: cover; }
.product-detail-thumb:hover,.product-detail-thumb.is-active { border-color: var(--gold); opacity: 1; }
.product-detail-copy { position: sticky; top: 98px; padding-top: 12px; }
.product-detail-kicker { display: flex; gap: 14px; align-items: center; color: var(--ink-soft); font: 9px var(--mono); letter-spacing: .11em; text-transform: uppercase; }
.product-detail-kicker span:first-child { color: var(--gold); }
.product-detail-copy h1 { margin: 24px 0 9px; color: var(--ink); font: clamp(40px, 5vw, 70px)/1.08 var(--serif); letter-spacing: -.045em; text-wrap: balance; }
.product-detail-subtitle { margin: 0; color: var(--olive); font: italic 20px var(--serif); }
.product-detail-description { max-width: 580px; margin: 0 0 25px; color: var(--ink-soft); font-size: 13px; line-height: 1.9; }
.product-detail-facts { margin: 0 0 27px; border-top: 1px solid var(--line); }
.product-detail-facts > div { display: grid; grid-template-columns: minmax(105px, .7fr) 1.3fr; gap: 18px; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 10px; line-height: 1.6; }
.product-detail-facts dt { color: var(--ink-soft); }
.product-detail-facts dd { margin: 0; color: var(--ink); }
.product-detail-cta { display: flex; width: 100%; justify-content: space-between; max-width: 390px; }
.product-detail-order-note { max-width: 390px; margin: 13px 0 0; color: var(--ink-soft); font-size: 9px; line-height: 1.7; }
.product-detail-lower { display: grid; grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr); gap: clamp(45px, 9vw, 150px); padding: clamp(60px, 8vw, 108px) 0; border-bottom: 1px solid var(--line); }
.product-detail-story .section-label { display: flex; gap: 12px; color: var(--ink-soft); }
.product-detail-story .section-label span:first-child { color: var(--gold); }
.product-detail-story h2 { margin: 20px 0; color: var(--ink); font: clamp(32px, 4vw, 54px)/1.15 var(--serif); letter-spacing: -.035em; }
.product-detail-story h2 i { color: var(--olive); font-weight: 400; }
.product-detail-story > p:last-child { max-width: 520px; margin: 0; color: var(--ink-soft); font-size: 12px; line-height: 1.9; }
.product-detail-accordions details { border-top: 1px solid var(--line); }
.product-detail-accordions details:last-child { border-bottom: 1px solid var(--line); }
.product-detail-accordions summary { position: relative; padding: 17px 30px 17px 0; color: var(--ink); cursor: pointer; list-style: none; font: 18px var(--serif); }
.product-detail-accordions summary::-webkit-details-marker { display: none; }
.product-detail-accordions summary::after { position: absolute; right: 2px; content: "+"; color: var(--olive); font: 18px var(--sans); }
.product-detail-accordions details[open] summary::after { content: "−"; }
.product-detail-accordions details p { margin: 0; padding: 0 22px 19px 0; color: var(--ink-soft); font-size: 11px; line-height: 1.8; }
.product-back-link { display: inline-flex; align-items: center; gap: 12px; margin: 27px 0 0; color: var(--ink); font: 9px var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.product-back-link span:first-child { color: var(--gold); font-size: 17px; }
.product-back-link:hover { color: var(--gold); }
.product-page-body .site-footer { margin-top: 0; }
@media (max-width: 900px) {
  .product-detail-layout { grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr); gap: 38px; }
  .product-detail-photo { min-height: 400px; height: 60vw; }
  .product-detail-lower { gap: 45px; }
}
@media (max-width: 760px) {
  .product-page-header { position: fixed; top: 0; }
  .product-detail-page { padding: 88px 22px 62px; }
  .product-breadcrumbs { margin-bottom: 23px; font-size: 7px; }
  .product-detail-layout { grid-template-columns: 1fr; gap: 30px; padding-bottom: 58px; }
  .product-detail-photo { min-height: 0; height: 112vw; max-height: 640px; }
  .product-detail-copy { position: static; padding-top: 0; }
  .product-detail-copy h1 { margin-top: 16px; font-size: clamp(39px, 11vw, 58px); }
  .product-detail-subtitle { font-size: 18px; }
  .product-detail-description { font-size: 12px; }
  .product-detail-facts > div { grid-template-columns: 105px 1fr; }
  .product-detail-cta { max-width: none; }
  .product-detail-lower { grid-template-columns: 1fr; gap: 28px; padding: 54px 0; }
  .product-detail-story h2 { margin: 17px 0; font-size: 39px; }
  .product-page-body .site-footer { padding: 20px 22px 28px; }
}
@media (max-width: 560px) {
  .product-detail-gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
}

/* Immersive, timed fragrance carousel inspired by the supplied motion reference. */
.scent-section { display: block; min-height: 100svh; padding: clamp(88px, 10vh, 128px) clamp(22px, 5vw, 78px) clamp(32px, 5vh, 64px); }
.scent-inner { max-width: 1600px; }
.scent-section .section-heading { margin: 0 auto clamp(24px, 4vh, 42px); }
.scent-section .section-heading h2 { margin-top: 10px; }
.scent-section .section-heading > p { margin-top: 12px; }
.aroma-experience { position: relative; min-height: min(70svh, 760px); overflow: hidden; border: 1px solid rgba(239,232,211,.12); border-radius: 22px; background: #171b17; isolation: isolate; }
.aroma-showcase, .aroma-track { position: absolute; inset: 0; }
.aroma-track { display: block; overflow: hidden; padding: 0; }
.aroma-card { position: absolute; inset: 0; min-width: 0; opacity: 0; visibility: hidden; transform: scale(1.015); transition: opacity .65s ease, transform 1.2s cubic-bezier(.2,.7,.2,1), visibility .65s; }
.aroma-card.is-active { z-index: 1; opacity: 1; visibility: visible; transform: scale(1); }
.aroma-card.reveal, .aroma-card.reveal.is-visible { opacity: 0; }
.aroma-card.reveal.is-active { opacity: 1; }
.aroma-photo { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; aspect-ratio: auto; border-radius: 0; background: #25251d; }
.aroma-sheet {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
  object-position: center;
  transform: none;
}
.aroma-stage-shade { position: absolute; z-index: 2; inset: 0; pointer-events: none; background: linear-gradient(90deg,rgba(10,14,10,.78) 0%,rgba(10,14,10,.44) 30%,rgba(10,14,10,.08) 70%),linear-gradient(0deg,rgba(10,14,10,.76),transparent 46%); }
.aroma-selector { position: absolute; z-index: 4; top: 50%; left: clamp(20px, 4vw, 62px); display: block; width: min(28%, 330px); height: min(70%, 490px); overflow: hidden; transform: translateY(-50%); }
.aroma-selector::-webkit-scrollbar { display: none; }
.aroma-selector-item { position: absolute; top: 50%; left: 0; display: flex; align-items: baseline; gap: 12px; max-width: 100%; padding: 7px 12px 7px 0; border: 0; border-radius: 999px; color: rgba(239,232,211,.55); background: transparent; font: clamp(16px, 1.55vw, 22px) var(--serif); text-align: left; cursor: pointer; opacity: var(--aroma-distance-opacity, 1); transform: translate3d(0, calc(-50% + var(--aroma-offset, 0px)), 0); transition: color .24s ease, transform .42s cubic-bezier(.2,.7,.2,1), opacity .3s ease; }
.aroma-selector-item > span:first-child { color: var(--gold); font: 9px var(--mono); opacity: .72; }
.aroma-selector-item.is-active { color: #f3eddd; transform: translate3d(8px, calc(-50% + var(--aroma-offset, 0px)), 0); }
.aroma-selector-item:hover { color: #f3eddd; }
.aroma-caption { position: absolute; z-index: 3; top: clamp(20px, 4vh, 38px); right: clamp(18px, 4vw, 58px); left: auto; bottom: auto; display: block; box-sizing: border-box; width: min(410px, 42%); padding: 14px 18px 0; border-radius: 12px 12px 0 0; background: rgba(13,17,13,.82); text-align: right; box-shadow: 0 8px 26px rgba(0,0,0,.18); backdrop-filter: blur(8px); }
.aroma-caption span { display: block; margin-bottom: 5px; color: var(--gold); font: 10px var(--mono); }
.aroma-caption h3 { margin: 0; color: #fff9e9; font: clamp(27px, 3.3vw, 46px) var(--serif); line-height: 1.05; text-shadow: 0 2px 14px rgba(0,0,0,.6); }
.aroma-description { position: absolute; z-index: 3; top: auto; right: clamp(18px, 4vw, 58px); left: auto; bottom: auto; box-sizing: border-box; width: min(410px, 42%); min-height: 0; margin: 0; padding: 8px 18px 16px; border-radius: 0 0 12px 12px; color: #fff9e9; background: rgba(13,17,13,.82); font-size: clamp(13px, 1.15vw, 16px); line-height: 1.6; text-align: right; text-shadow: 0 1px 8px rgba(0,0,0,.6); box-shadow: 0 12px 26px rgba(0,0,0,.18); backdrop-filter: blur(8px); }
.aroma-info { position: absolute; z-index: 3; top: clamp(20px, 4vh, 38px); right: clamp(18px, 4vw, 58px); width: min(410px, 42%); overflow: hidden; border-radius: 12px; background: rgba(13,17,13,.82); text-align: right; box-shadow: 0 12px 26px rgba(0,0,0,.2); backdrop-filter: blur(8px); }
.aroma-info .aroma-caption, .aroma-info .aroma-description { position: static; inset: auto; width: auto; }
.aroma-info .aroma-caption { padding: 14px 18px 0; border-radius: 0; background: transparent; box-shadow: none; }
.aroma-info .aroma-description { padding: 8px 18px 16px; border-radius: 0; background: transparent; box-shadow: none; }
.aroma-toolbar { position: absolute; z-index: 5; right: clamp(18px, 3vw, 44px); bottom: clamp(20px, 4vh, 42px); left: clamp(20px, 4vw, 62px); display: flex; align-items: center; justify-content: space-between; }
.aroma-page { color: rgba(243,237,221,.7); }
.aroma-page b { color: #f3eddd; }
.aroma-controls { align-items: center; gap: 10px; }
.aroma-controls .carousel-arrow, .aroma-play { width: 40px; height: 40px; border: 1px solid rgba(243,237,221,.38); border-radius: 50%; color: #f3eddd; background: rgba(13,16,13,.25); cursor: pointer; transition: background .2s ease, border-color .2s ease; }
.aroma-controls .carousel-arrow:hover, .aroma-play:hover { border-color: var(--gold); background: rgba(13,16,13,.7); }
.aroma-play { font: 15px/1 var(--mono); }
.aroma-timer { position: absolute; z-index: 6; right: auto; bottom: clamp(16px, 3vh, 26px); left: 50%; width: min(260px, 34%); height: 4px; overflow: hidden; border-radius: 999px; background: rgba(243,237,221,.28); box-shadow: 0 3px 18px rgba(0,0,0,.5), 0 0 8px rgba(239,208,132,.16); transform: translateX(-50%); backdrop-filter: blur(5px); }
.aroma-timer span { display: block; width: 100%; height: 100%; border-radius: inherit; background: #e4c77d; transform: scaleX(0); transform-origin: left center; will-change: transform; box-shadow: 0 0 8px rgba(239,208,132,.35); }
.aroma-disclaimer { margin: 14px 0 0; }
.aroma-selector-item:focus-visible, .aroma-controls button:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
@media (max-width: 760px) {
  .scent-section { padding: 88px 18px 34px; }
  .scent-section .section-heading { margin-bottom: 20px; }
  .aroma-experience { min-height: min(72svh, 700px); border-radius: 16px; }
  .aroma-selector { left: 14px; width: 42%; height: 70%; }
  .aroma-selector-item { gap: 7px; padding-block: 5px; font-size: clamp(15px, 3.5vw, 20px); }
  .aroma-stage-shade { background: linear-gradient(90deg,rgba(10,14,10,.78),rgba(10,14,10,.32) 52%,rgba(10,14,10,.04)),linear-gradient(0deg,rgba(10,14,10,.78),transparent 55%); }
  .aroma-caption { top: 16px; right: 14px; width: min(300px, 54%); padding: 10px 12px 0; }
  .aroma-caption h3 { font-size: clamp(24px, 6vw, 36px); }
  .aroma-info { top: 16px; right: 14px; width: min(300px, 54%); }
  .aroma-info .aroma-caption { padding: 10px 12px 0; }
  .aroma-info .aroma-description { padding: 6px 12px 12px; font-size: 11px; line-height: 1.5; }
  .aroma-toolbar { right: 14px; bottom: 16px; left: 18px; }
  .aroma-controls { gap: 6px; }
  .aroma-controls .carousel-arrow, .aroma-play { width: 34px; height: 34px; }
  .aroma-timer { width: min(220px, 42%); bottom: 12px; }
}
@media (max-width: 420px) {
  .aroma-experience { min-height: 68svh; }
  .aroma-selector { width: 48%; }
  .aroma-selector-item { font-size: 14px; }
  .aroma-caption { top: 12px; right: 10px; width: 55%; }
  .aroma-info { top: 12px; right: 10px; width: 55%; }
  .aroma-info .aroma-caption { padding: 9px 10px 0; }
  .aroma-info .aroma-description { padding: 5px 10px 10px; font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .aroma-card, .aroma-selector-item { transition-duration: .01ms; }
}

@media (max-width: 1100px) {
  .objects-scroll-sticky { padding-inline: 4vw; }
  .object-slide { grid-template-columns: minmax(150px,.72fr) minmax(0,1.4fr) 68px; gap: 12px; }
  .object-slide-copy h3 { font-size: clamp(25px,3vw,36px); }
  .object-slide-copy > p:last-child { font-size: 11px; }
}
@media (max-width: 760px) {
  .objects-scroll-section { min-height: 100svh; }
  .objects-scroll-sticky { grid-template-columns: minmax(0,1fr); grid-template-rows: auto minmax(0,1fr); row-gap: 12px; padding: max(82px,calc(70px + 2vh)) 18px 34px; }
  .objects-scroll-heading { display: block; grid-column: 1; grid-row: 1; }
  .objects-scroll-heading .section-label { gap: 10px; font-size: 8px; }
  .objects-scroll-heading h2 { margin: 8px 0 0; font-size: clamp(29px,7vw,44px); line-height: .98; }
  .objects-scroll-heading > p { display: none; }
  .objects-slides { grid-column: 1; grid-row: 2; width: 100%; height: 100%; min-height: 0; }
  .object-slide { grid-template-columns: minmax(0,1fr); grid-template-rows: auto minmax(0,1fr) 58px; align-content: stretch; gap: 9px; padding: 15px 14px 104px; }
  .object-slide-copy { min-width: 0; }
  .object-slide-index { margin: 0 0 7px; font-size: 8px; }
  .object-slide-copy h3 { margin: 0 0 6px; font-size: clamp(23px,6vw,34px); }
  .object-slide-copy > p:nth-of-type(2) { margin: 0; font-size: 15px; line-height: 1.3; }
  .object-slide-copy > p:last-child { display: none; }
  .object-slide-main { width: 100%; min-height: 0; height: 100%; }
  .object-slide-main figcaption { right: 10px; bottom: 19px; left: 10px; font-size: 7px; }
  .object-slide-timer { bottom: 66px; width: min(150px,42%); }
  .object-thumbnails { flex-direction: row; align-items: stretch; gap: 8px; max-width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
  .object-thumbnails::-webkit-scrollbar { display: none; }
  .object-thumb { flex: 0 0 clamp(48px,15vw,72px); width: clamp(48px,15vw,72px); min-height: 0; max-height: none; height: 54px; }
  .objects-scroll-hint { right: 18px; bottom: 12px; font-size: 7px; }
  .object-slide-dots { bottom: 12px; gap: 12px; }
  .object-slide-nav-arrow { width: 44px; height: 44px; font-size: 18px; }
}
@media (max-width: 390px) {
  .objects-scroll-sticky { padding-inline: 14px; }
  .object-slide-copy h3 { font-size: 22px; }
  .object-slide-copy > p:nth-of-type(2) { font-size: 13px; }
  .object-thumb { flex-basis: 48px; width: 48px; height: 48px; }
}

/* Keep the brand mark and wordmark together; on compact headers place them after the menu. */
.site-header > .brand {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  position: relative !important;
  left: auto !important;
  transform: none !important;
  min-width: max-content !important;
  white-space: nowrap !important;
}
.site-header > .brand .brand-name {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
}
@media (max-width: 760px) {
  .site-header > .brand { flex: 0 1 auto !important; min-width: 0 !important; margin-left: 0 !important; gap: 6px !important; }
  .site-header > .brand .brand-name { gap: 3px !important; font-size: 8px !important; letter-spacing: .07em !important; }
  .site-header > .brand .brand-mark { flex: 0 0 30px; width: 30px; height: 30px; }
  .site-header > .brand .brand-name em { font-size: 10px; }
}
@media (max-width: 390px) {
  .site-header > .brand .brand-name { font-size: 7px !important; letter-spacing: .04em !important; }
  .site-header > .brand .brand-name em { font-size: 9px; }
  .site-header > .brand .brand-mark { flex-basis: 27px; width: 27px; height: 27px; }
}
@media (prefers-reduced-motion: reduce) {
  .object-slide, .object-main-image, .object-thumb, .object-slide-nav-arrow { transition-duration: .01ms; }
}

/* Full-screen craft stories driven by the same reversible frame sequence as the hero. */
.making-section { width: 100%; max-width: none; margin: 0; padding: 0; }
.making-heading { max-width: 1600px; margin: 0 auto; padding: clamp(76px, 10vw, 140px) clamp(24px, 7.6vw, 124px) clamp(42px, 6vw, 82px); }
.making-heading .making-title { max-width: 850px; }
.making-heading .making-intro { max-width: 720px; font-size: clamp(14px, 1.25vw, 18px); }
.making-heading .ingredient-line { margin-top: 28px; }
.craft-scenes { position: relative; height: 500svh; min-height: 3000px; }
.craft-stage { position: sticky; top: 0; width: 100%; height: 100svh; min-height: 540px; overflow: hidden; isolation: isolate; background: #171b14; }
.craft-scene-layer { position: absolute; z-index: 0; inset: 0; pointer-events: none; }
.craft-scene-video { position: absolute; z-index: 0; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; background: #171b14; will-change: opacity; }
.craft-scene-shade { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(10,14,10,.72), rgba(10,14,10,.4) 56%, rgba(10,14,10,.08)), linear-gradient(0deg, rgba(10,14,10,.58), transparent 66%); pointer-events: none; will-change: opacity; }
.craft-story { position: absolute; z-index: 2; top: 10svh; left: clamp(24px, 7.6vw, 124px); width: min(780px, calc(100% - 150px)); color: #f8f2e6; opacity: 0; transform: translate3d(0, 59.5svh, 0); will-change: opacity, transform; text-shadow: 0 2px 22px rgba(0,0,0,.48); }
.craft-story-kicker { display: flex; align-items: center; gap: 15px; margin: 0 0 20px; color: #e4c780; font: 10px/1.5 var(--mono); letter-spacing: .15em; text-transform: uppercase; }
.craft-story-kicker span:first-child { color: #f8f2e6; }
.craft-story h3 { max-width: 760px; margin: 0 0 16px; font: 500 clamp(42px, 7vw, 92px)/.98 var(--serif); letter-spacing: -.04em; text-wrap: balance; }
.craft-story > p:last-child { max-width: 660px; margin: 0; color: rgba(248,242,230,.88); font-size: clamp(16px, 1.6vw, 22px); line-height: 1.7; }
.craft-scene-count { position: absolute; right: clamp(18px, 4vw, 62px); bottom: clamp(22px, 4vh, 44px); color: rgba(248,242,230,.76); font: 9px var(--mono); letter-spacing: .12em; }
@media (max-width: 760px) {
  .making-heading { padding: 88px 22px 38px; }
  .making-heading .making-title { font-size: clamp(40px, 10vw, 62px); }
  .making-heading .making-intro { font-size: 13px; }
  .craft-scenes { height: 500svh; min-height: 2700px; }
  .craft-stage { min-height: 480px; }
  .craft-scene-shade { background: linear-gradient(90deg, rgba(10,14,10,.62), rgba(10,14,10,.25)), linear-gradient(0deg, rgba(10,14,10,.62), transparent 78%); }
  .craft-story { top: 10svh; left: 22px; width: calc(100% - 76px); }
  .craft-story-kicker { gap: 10px; margin-bottom: 13px; font-size: 8px; }
  .craft-story h3 { margin-bottom: 12px; font-size: clamp(38px, 10vw, 64px); }
  .craft-story > p:last-child { font-size: clamp(14px, 4vw, 17px); line-height: 1.55; }
  .craft-scene-count { right: 18px; bottom: 14px; font-size: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .craft-story { will-change: auto; }
}
.gift-sets { padding-block: clamp(72px, 9vw, 150px); }
.gift-sets-inner { width: min(100%, 1760px); margin-inline: auto; }
.gift-sets-heading { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(32px, 8vw, 150px); align-items: end; margin-bottom: clamp(36px, 5vw, 76px); }
.gift-sets-heading h2 { margin: 18px 0 0; max-width: 900px; font-size: clamp(42px, 6.5vw, 100px); line-height: .94; }
.gift-sets-heading h2 i { color: var(--olive); }
.gift-sets-heading > p { max-width: 600px; margin: 0 0 5px; font-size: clamp(16px, 1.35vw, 22px); line-height: 1.65; color: var(--ink-soft); }
.gift-sets-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(18px, 2.2vw, 36px); }
.gift-set-card { min-width: 0; overflow: hidden; border: 1px solid color-mix(in srgb, var(--ink) 12%, transparent); border-radius: 5px; background: color-mix(in srgb, var(--paper) 90%, var(--olive)); }
.gift-set-photo { aspect-ratio: 1.15 / 1; margin: 0; overflow: hidden; background: color-mix(in srgb, var(--olive) 14%, var(--paper)); }
.gift-set-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.gift-set-card:hover .gift-set-photo img { transform: scale(1.025); }
.gift-set-copy { padding: clamp(22px, 3vw, 44px); }
.gift-set-tag { margin: 0 0 14px; color: var(--olive); font: 600 11px/1.4 var(--mono, monospace); letter-spacing: .14em; }
.gift-set-copy h3 { margin: 0 0 14px; font-size: clamp(25px, 3vw, 42px); line-height: 1.08; }
.gift-set-copy > p:not(.gift-set-tag) { max-width: 58ch; min-height: 3.2em; margin: 0; color: var(--ink-soft); font-size: clamp(15px, 1.15vw, 18px); line-height: 1.65; }
.gift-set-link { display: inline-flex; align-items: center; gap: 14px; margin-top: 26px; padding-bottom: 7px; border-bottom: 1px solid color-mix(in srgb, var(--gold) 70%, transparent); color: var(--ink); font: 600 11px/1.4 var(--mono, monospace); letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.gift-set-link span:last-child { color: var(--gold); font-size: 17px; transition: transform .2s ease; }
.gift-set-link:hover span:last-child { transform: translate(3px, -3px); }
@media (max-width: 760px) {
  .gift-sets { padding-block: 68px; }
  .gift-sets-heading { grid-template-columns: 1fr; gap: 18px; margin-bottom: 28px; }
  .gift-sets-heading h2 { font-size: clamp(38px, 10vw, 64px); }
  .gift-sets-grid { grid-template-columns: 1fr; gap: 18px; }
  .gift-set-photo { aspect-ratio: 1.15 / 1; }
  .gift-set-copy > p:not(.gift-set-tag) { min-height: 0; }
}

/* Keep the compact header from colliding with controls on narrow phones. */
@media (max-width: 420px) {
  .site-header > .brand { flex: 0 0 auto !important; min-width: 0 !important; }
  .site-header > .brand .brand-name { display: none !important; }
}

/* Lift the smallest labels and helper copy slightly for easier reading. */
.eyebrow,
.section-label,
.small-kicker,
.ingredient-line,
.stage-caption,
.scroll-hint,
.scent-index,
.scent-mood,
.product-badge,
.product-number,
.collection-note,
.image-corner,
.closing-foot,
.site-footer,
.chair-story-kicker,
.chair-scene-mark,
.craft-story-kicker,
.craft-scene-count,
.scroll-story-kicker,
.object-slide-index,
.objects-scroll-hint,
.object-slide-main figcaption,
.product-breadcrumbs,
.product-detail-photo-note,
.product-detail-kicker,
.product-detail-order-note {
  font-size: 10px;
}
.craft-step p,
.product-details p,
.product-detail-facts > div,
.product-detail-accordions details p,
.aroma-description,
.aroma-info .aroma-description { font-size: 12px; }
.aroma-disclaimer { font-size: 10px; line-height: 1.6; }
.product-order { font-size: 9px; }

@media (max-width: 760px) {
  .site-footer { font-size: 9px; }
  .chair-story-kicker,
  .chair-scene-mark,
  .craft-story-kicker,
  .craft-scene-count,
  .scroll-story-kicker,
  .object-slide-index,
  .objects-scroll-hint,
  .object-slide-main figcaption,
  .product-breadcrumbs,
  .product-detail-photo-note,
  .product-detail-kicker,
  .product-detail-order-note { font-size: 10px; }
  .ingredient-line,
  .stage-caption,
  .scroll-hint,
  .scent-index,
  .scent-mood,
  .product-badge,
  .product-number,
  .collection-note,
  .image-corner,
  .closing-foot { font-size: 10px; }
  .craft-step p,
  .product-details p,
  .product-detail-facts > div,
  .product-detail-accordions details p,
  .aroma-description,
  .aroma-info .aroma-description { font-size: 12px; }
  .aroma-caption span { font-size: 10px; }
  .aroma-disclaimer { font-size: 10px; }
  .product-order { font-size: 9px; }
}

@media (max-width: 420px) {
  .site-header > .brand .brand-name { display: none !important; }
}

.decor-copy > p.decor-price {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  max-width: 44em;
  margin: -10px 0 28px;
  color: var(--gold);
  font: 10px/1.65 var(--mono);
  letter-spacing: .04em;
}
.decor-copy > p.decor-price::before {
  content: "";
  flex: 0 0 6px;
  width: 6px;
  height: 6px;
  margin-top: .58em;
  border-radius: 50%;
  background: currentColor;
}

/* Keep both themes translucent until the mobile menu opens. */
html[data-theme="clay"] .site-header {
  background: color-mix(in srgb, var(--paper) 30%, transparent);
}
@media (max-width: 1080px) {
  .site-header:has(.menu-toggle[aria-expanded="true"]) {
    background: var(--paper);
  }
  .site-header:has(.menu-toggle[aria-expanded="true"]) .main-nav {
    background: var(--paper);
  }
}

/* 4K desktops need a larger reading scale for labels and supporting copy. */
@media (min-width: 1920px) {
  .site-header .main-nav a,
  .site-header .header-order,
  .site-header .language-button,
  .site-header .theme-toggle,
  .button,
  .text-link,
  .product-order,
  .product-back-link,
  .gift-set-link {
    font-size: clamp(12px, .34vw, 15px);
  }

  .eyebrow,
  .section-label,
  .small-kicker,
  .ingredient-line,
  .stage-caption,
  .scroll-hint,
  .scent-index,
  .scent-mood,
  .product-badge,
  .product-number,
  .collection-note,
  .image-corner,
  .closing-foot,
  .site-footer,
  .chair-story-kicker,
  .chair-scene-mark,
  .craft-story-kicker,
  .craft-scene-count,
  .scroll-story-kicker,
  .object-slide-index,
  .objects-scroll-hint,
  .object-slide-main figcaption,
  .product-breadcrumbs,
  .product-detail-photo-note,
  .product-detail-kicker,
  .product-detail-order-note,
  .aroma-caption span,
  .aroma-page,
  .carousel-count,
  .collection-meta > .collection-price,
  .decor-copy > p.decor-price,
  .product-detail-index,
  .aroma-selector-item > span:first-child,
  .craft-scenes .stage-caption,
  .orbit-hud {
    font-size: clamp(12px, .34vw, 15px);
  }

  .craft-step p,
  .product-details p,
  .product-detail-facts > div,
  .product-detail-accordions details p,
  .aroma-description,
  .aroma-info .aroma-description,
  .objects-scroll-heading > p,
  .object-slide-copy > p:last-child,
  .section-heading > p,
  .collection-meta > p,
  .decor-copy > p:not(.decor-price),
  .product-detail-description,
  .product-detail-story > p:last-child,
  .making-heading .making-intro,
  .craft-story > p:last-child,
  .gift-sets-heading > p,
  .gift-set-copy > p:not(.gift-set-tag) {
    font-size: clamp(15px, .42vw, 18px);
  }

  .aroma-disclaimer { font-size: clamp(12px, .34vw, 15px); }
}

/* Improve legibility for supporting labels and product prices. */
@media (min-width: 761px) and (max-width: 1919px) {
  .eyebrow,
  .section-label,
  .small-kicker,
  .ingredient-line,
  .stage-caption,
  .scroll-hint,
  .scent-index,
  .scent-mood,
  .product-number,
  .collection-note,
  .image-corner,
  .closing-foot,
  .site-footer,
  .chair-story-kicker,
  .chair-scene-mark,
  .craft-scene-count,
  .scroll-story-kicker,
  .object-slide-index,
  .objects-scroll-hint,
  .object-slide-main figcaption,
  .product-breadcrumbs,
  .product-detail-photo-note,
  .product-detail-kicker,
  .product-detail-order-note,
  .aroma-caption span,
  .aroma-page,
  .carousel-count,
  .aroma-selector-item > span:first-child,
  .orbit-hud { font-size: 11px; }

  .collection-meta > .collection-price,
  .decor-copy > p.decor-price { font-size: 13px; }
  .product-badge { font-size: 9px; }
  .product-order { font-size: 10px; }
  .product-details p,
  .product-detail-facts > div,
  .product-detail-accordions details p,
  .aroma-disclaimer,
  .object-slide-size { font-size: 12px; }
  .craft-story-kicker { font-size: 12px; }
}

.object-slide-size {
  margin: 0 0 12px;
  color: var(--gold);
  font: 12px/1.5 var(--mono);
  letter-spacing: .025em;
}
html[data-theme="clay"] .object-slide-size { color: #594438; }

@media (max-width: 760px) {
  .collection-meta > .collection-price,
  .decor-copy > p.decor-price { font-size: 11px; }
  .object-slide-size { margin-bottom: 8px; font-size: 11px; }
}
