:root {
  --black: #000;
  --ivory: #f4efe5;
  --champagne: #d5b46f;
  --supporting: rgba(244, 239, 229, 0.75);

  --brand: "Italianno", cursive;
  --display: "Bodoni Moda", "Bodoni 72", Didot, serif;
  --body: "Poppins", "Avenir Next", "Helvetica Neue", Arial, sans-serif;

  --page-x: clamp(22px, 6vw, 96px);
}

* {
  box-sizing: border-box;
}

html {
  background: var(--black);
  scroll-behavior: auto;
}

body {
  margin: 0;
  overflow-x: hidden;
  background: var(--black);
  color: var(--ivory);
  font-family: var(--body);
}

a {
  color: inherit;
}

/* =========================================================
   ACCESSIBILITY
   ========================================================= */

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 12px;
  left: 12px;
  min-height: 44px;
  padding: 13px 18px;
  background: var(--ivory);
  color: #111;
  transform: translateY(-150%);
  transition: transform 0.2s;
}

.skip-link:focus {
  transform: none;
  outline: 2px solid var(--champagne);
  outline-offset: 3px;
}

/* =========================================================
   INTRO / HERO
   ========================================================= */

.intro {
  position: relative;
  height: 520svh;
  background: var(--black);
}

.intro-stage {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
  height: 100svh;
  min-height: 560px;
  overflow: hidden;
  background: var(--black);
  isolation: isolate;
}

.site-header {
  position: fixed;
  z-index: 100;
  top: max(18px, env(safe-area-inset-top));
  left: 50%;

  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;

  width: min(calc(100% - 36px), 1240px);
  min-height: 62px;

  padding: 8px 12px 8px 24px;

  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;

  background:
    linear-gradient(
      135deg,
      rgba(28,25,22,.54),
      rgba(10,10,10,.3)
    );

  box-shadow:
    0 14px 44px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.12);

  -webkit-backdrop-filter: blur(18px) saturate(125%);
  backdrop-filter: blur(18px) saturate(125%);

  transform: translateX(-50%);

  transition:
    top .3s ease,
    min-height .3s ease,
    background .3s ease,
    border-color .3s ease,
    box-shadow .3s ease;
}

.site-header.is-scrolled {
  top: max(10px, env(safe-area-inset-top));

  min-height: 54px;

  border-color: rgba(255,255,255,.22);

  background:
    linear-gradient(
      135deg,
      rgba(18,16,14,.84),
      rgba(6,6,6,.72)
    );

  box-shadow:
    0 16px 42px rgba(0,0,0,.3),
    inset 0 1px 0 rgba(255,255,255,.14);
}

.header-brand {
  justify-self: start;

  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.header-brand img {
  width: 31px;
  height: 35px;
  object-fit: contain;

  filter: saturate(.9) brightness(1.08);

  transition:
    transform .4s cubic-bezier(.2,.8,.2,1);
}

.header-brand:hover img {
  transform: rotate(-4deg) scale(1.06);
}

.header-nav {
  display: flex;
  align-items: center;
  gap: clamp(22px, 3vw, 48px);
}

.header-nav a,
.header-action {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .18em;
  text-decoration: none;
  text-transform: uppercase;
}

.header-nav a {
  color: rgba(244,239,229,.72);
  transition: color .25s;
}

.header-nav a:hover {
  color: var(--ivory);
}

.header-nav a.is-active {
  color: var(--champagne);
}

.header-action {
  justify-self: end;

  display: inline-flex;
  min-height: 42px;
  align-items: center;
  gap: 12px;

  padding: 0 20px;

  border: 1px solid rgba(244,239,229,.42);
  border-radius: 999px;

  background: rgba(12,11,10,.18);
  color: var(--ivory);

  transition:
    border-color .25s,
    background-color .25s,
    color .25s;
}

.header-action span {
  font-size: 15px;
  font-weight: 300;
  line-height: 1;

  transition: transform .25s;
}

.header-action:hover {
  border-color: rgba(244,239,229,.8);
  background: rgba(244,239,229,.08);
  color: var(--champagne);
}

.header-action:hover span {
  transform: translateX(3px);
}

.header-menu-toggle,
.mobile-nav-panel {
  display: none;
}

@media (min-width: 701px) and (max-width: 760px) {
  .header-nav {
    gap: 16px;
  }

  .header-action {
    gap: 8px;
    padding-inline: 14px;
    font-size: 8px;
  }
}

/* =========================================================
   HERO VISUALS
   ========================================================= */

.poster,
.poster img,
.sequence-canvas {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;
}

.poster img {
  object-fit: cover;
}

.sequence-canvas {
  z-index: 1;
  display: block;
  opacity: 0;
}

.sequence-canvas.is-ready {
  opacity: 1;
}

.scene-shade {
  position: absolute;
  z-index: 2;
  inset: 0;

  pointer-events: none;

  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.38),
      transparent 47%
    ),
    radial-gradient(
      circle at 50% 50%,
      transparent 45%,
      rgba(0,0,0,.12)
    );
}

.scene {
  position: absolute;
  z-index: 3;

  pointer-events: none;

  will-change:
    transform,
    opacity,
    filter;
}

.scene-opening {
  top: clamp(112px, 16vh, 170px);
  left: 50%;

  width: min(calc(100% - 44px), 1240px);

  text-align: center;

  transform: translateX(-50%);
}

.scene-chemistry {
  top: clamp(190px, 27vh, 300px);
  left: var(--page-x);

  width: min(36vw, 600px);

  text-align: left;

  opacity: 0;
  visibility: hidden;

  filter: blur(8px);
}

.scene-opening h1 {
  margin: 0 auto;

  font-family: var(--body);
  font-size: clamp(46px, 4.7vw, 76px);
  font-weight: 500;
  line-height: 1.1;

  letter-spacing: -.045em;
}

.scene-opening h1 span {
  display: block;
  white-space: nowrap;
}

.scene-opening em {
  color: var(--champagne);
  font-weight: 400;
}

.scene-label {
  margin: 0 0 20px;

  color: var(--champagne);

  font-size: clamp(11px, .72vw, 13px);
  font-weight: 500;
  letter-spacing: .26em;
  line-height: 1.4;

  text-transform: uppercase;
}

.scene-body {
  max-width: 600px;
  margin: 0;

  color: rgba(244,239,229,.86);

  font-family: var(--body);
  font-size: clamp(16px, 1.12vw, 19px);
  font-weight: 300;
  line-height: 1.66;

  text-shadow: 0 2px 18px rgba(0,0,0,.72);
}

.scene-product {
  top: 44%;
  left: var(--page-x);

  width: min(48vw, 760px);

  opacity: 0;
  visibility: hidden;

  transform: translateY(calc(-50% + 26px));
  filter: blur(8px);
}

.product-name {
  margin: 0 0 30px;

  display: block;
  width: min(100%, 620px);
  height: auto;

  text-shadow: 0 3px 24px rgba(0,0,0,.85);
}

.product-subline {
  max-width: none;
  margin: 0;

  white-space: nowrap;

  color: rgba(244,239,229,.82);

  font-family: var(--body);
  font-size: clamp(19px, 1.65vw, 27px);
  font-weight: 300;
  line-height: 1.4;

  letter-spacing: -.025em;
  text-wrap: balance;
}

.product-subline em {
  color: var(--champagne);
  font-weight: 300;
}

.cta {
  display: inline-flex;

  min-height: 44px;

  align-items: center;
  justify-content: center;

  padding: 12px 0 10px;

  border-bottom: 1px solid rgba(244,239,229,.7);

  pointer-events: auto;

  color: var(--ivory);

  font-size: 10px;
  font-weight: 500;
  letter-spacing: .22em;

  text-decoration: none;
  text-transform: uppercase;

  transition:
    color .25s,
    border-color .25s;
}

.cta:hover {
  color: var(--champagne);
  border-color: var(--champagne);
}

.cta:focus-visible {
  outline: 2px solid var(--champagne);
  outline-offset: 6px;
}

.frame-fallback {
  position: absolute;
  z-index: 5;

  left: var(--page-x);
  right: var(--page-x);
  bottom: 28px;

  display: none;

  color: var(--supporting);
  font-size: 12px;
}

.frame-fallback.is-visible {
  display: block;
}

.scroll-cue {
  position: absolute;
  z-index: 3;

  right: var(--page-x);
  bottom: max(26px, env(safe-area-inset-bottom));

  display: flex;
  align-items: center;
  gap: 14px;

  margin: 0;

  color: rgba(244,239,229,.62);

  font-size: 9px;
  font-weight: 500;
  letter-spacing: .22em;

  text-transform: uppercase;
}

.scroll-cue span {
  width: 52px;
  height: 1px;
  background: currentColor;
}

/* =========================================================
   COLLECTION
   ========================================================= */

.collection-showcase {
  min-height: auto;

  padding:
    clamp(54px, 5vw, 78px)
    clamp(18px, 3vw, 48px)
    clamp(24px, 3vw, 42px);

  overflow: hidden;

  background: #f8f6f1;
  color: #17120f;
}

.collection-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;

  align-items: end;
  gap: 40px;

  max-width: 1360px;

  margin:
    0 auto
    clamp(40px, 4vw, 58px);

  padding: 0 1vw;
}

.collection-kicker {
  margin: 0;

  font-size: clamp(42px, 5.2vw, 78px);
  font-weight: 500;
  line-height: .88;

  letter-spacing: -.055em;

  text-transform: uppercase;
}

.collection-note {
  justify-self: end;

  max-width: 480px;

  margin: 0 4vw 4px 0;

  color: rgba(23,18,15,.7);

  font-family: var(--display);
  font-size: clamp(15px, 1.2vw, 19px);
  font-style: italic;
  line-height: 1.38;
}

.collection-frame {
  position: relative;

  max-width: 1440px;

  min-height: min(650px, 76svh);

  margin: 0 auto;

  padding:
    clamp(30px, 3.5vw, 52px)
    clamp(18px, 4vw, 64px)
    24px;

  border: 1px solid rgba(15,13,12,.12);

  background: #100d0c;

  box-shadow: 0 24px 65px rgba(18,14,11,.14);

  color: var(--ivory);

  will-change:
    transform,
    opacity;
}

.collection-heading {
  display: grid;

  grid-template-columns: 1fr 3fr;

  align-items: start;
  gap: 28px;
}

.collection-heading > p {
  max-width: 210px;

  margin: 12px 0 0;

  color: rgba(244,239,229,.68);

  font-size: 10px;
  line-height: 1.45;
}

.collection-heading h2 {
  margin: 0;

  font-size: clamp(48px, 5.7vw, 84px);
  font-weight: 500;
  line-height: .84;

  letter-spacing: -.055em;

  text-transform: uppercase;
}

.collection-track {
  display: flex;

  align-items: center;
  justify-content: center;

  gap: clamp(8px, 1.2vw, 20px);

  min-height: 350px;

  padding: 24px 0 18px;

  overflow: visible;

  scroll-behavior: smooth;
}

.collection-viewport {
  overflow: visible;
}

.collection-swipe-hint {
  display: none;
}

.collection-controls {
  display: none;
}

.collection-card {
  position: relative;

  flex: 0 1 200px;

  height: clamp(250px, 26vw, 350px);

  overflow: hidden;

  border-radius: 22px;

  background: #2a211d;

  box-shadow: 0 20px 40px rgba(0,0,0,.28);

  transform-origin: center bottom;

  transition:
    transform .55s cubic-bezier(.2,.8,.2,1),
    box-shadow .55s;
}

.collection-card img {
  width: 100%;
  height: 100%;

  object-fit: cover;

  transition:
    transform .8s cubic-bezier(.2,.8,.2,1);
}

.collection-card::after {
  content: "";

  position: absolute;
  inset: 45% 0 0;

  background:
    linear-gradient(
      transparent,
      rgba(5,4,3,.78)
    );

  pointer-events: none;
}

.collection-card p {
  position: absolute;
  z-index: 2;

  right: 16px;
  bottom: 15px;
  left: 16px;

  margin: 0;

  font-family: var(--display);
  font-size: clamp(14px, 1.15vw, 18px);
  line-height: 1.05;

  transition:
    color .4s,
    transform .4s;
}

.collection-card > span {
  position: absolute;
  z-index: 3;

  top: 17px;
  left: 16px;

  padding: 0 0 5px;

  border-bottom: 1px solid rgba(244,239,229,.65);

  color: var(--ivory);

  font-size: 8px;
  font-weight: 500;
  letter-spacing: .18em;

  text-transform: uppercase;

  text-shadow: 0 1px 8px rgba(0,0,0,.7);
}

.collection-card:hover {
  z-index: 4;

  box-shadow: 0 27px 54px rgba(0,0,0,.38);

  transform:
    translateY(-9px)
    rotate(0deg) !important;
}

.collection-card:hover img {
  transform: scale(1.028);
}

.collection-card:hover p {
  color: #fff;
  transform: translateY(-2px);
}

.card-one {
  transform: rotate(-3.4deg) translateY(15px);
}

.card-two {
  transform: rotate(2deg) translateY(-2px);
}

.card-featured {
  z-index: 2;

  flex-basis: 230px;

  height: clamp(300px, 31vw, 410px);

  transform: translateY(10px);
}

.card-four {
  transform: rotate(-2deg) translateY(-1px);
}

.card-five {
  transform: rotate(3.4deg) translateY(15px);
}

/* =========================================================
   SCIENCE
   ========================================================= */

.science-section {
  position: relative;

  min-height: clamp(640px, 78svh, 760px);

  overflow: hidden;

  background: #0c0907;
  color: var(--ivory);

  isolation: isolate;
}

.collection-science-gap {
  display: none;
}

.science-curtain {
  position: absolute;
  z-index: 5;
  inset: 0;

  display: flex;

  align-items: flex-end;
  justify-content: center;

  padding-bottom: 30px;

  background: #f8f6f1;

  color: rgba(23,18,15,.5);

  pointer-events: none;

  will-change: transform;
}

.science-curtain::after {
  content: "";

  position: absolute;

  right: 0;
  bottom: 0;
  left: 0;

  height: 1px;

  background: rgba(23,18,15,.14);
}

.science-curtain span {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .24em;
  text-transform: uppercase;
}

.science-image {
  position: absolute;
  z-index: -3;

  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  transform: scale(1.015);

  will-change: transform;
}

.science-overlay {
  position: absolute;
  z-index: -2;

  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(8,5,3,.88) 0%,
      rgba(8,5,3,.53) 25%,
      rgba(8,5,3,.12) 48%,
      rgba(8,5,3,.5) 73%,
      rgba(8,5,3,.88) 100%
    ),
    linear-gradient(
      0deg,
      rgba(8,5,3,.54),
      transparent 45%,
      rgba(8,5,3,.18)
    );
}

.science-content {
  display: grid;

  grid-template-columns:
    minmax(300px,480px)
    minmax(300px,460px);

  justify-content: space-between;

  align-items: center;

  gap: clamp(80px,22vw,390px);

  width: min(
    calc(100% - (var(--page-x) * 2)),
    1500px
  );

  min-height: inherit;

  margin: 0 auto;

  padding:
    clamp(58px,7vh,82px)
    0;
}

.science-intro,
.science-copy {
  will-change:
    transform,
    opacity;
}

.science-eyebrow {
  margin: 0 0 24px;

  color: var(--champagne);

  font-size: 10px;
  font-weight: 500;
  letter-spacing: .26em;

  text-transform: uppercase;
}

.science-intro h2 {
  margin: 0 0 34px;

  font-family: var(--display);
  font-size: clamp(50px,5.2vw,82px);
  font-weight: 400;
  line-height: .9;

  letter-spacing: -.045em;
}

.science-lead {
  max-width: 440px;

  margin: 0;

  font-size: clamp(16px,1.25vw,20px);
  font-weight: 300;
  line-height: 1.58;
}

.science-copy {
  align-self: center;

  max-width: 460px;

  padding:
    30px
    0
    30px
    clamp(22px,3vw,46px);

  border-left: 1px solid rgba(244,239,229,.28);
}

.science-copy p {
  margin: 0 0 20px;

  color: rgba(244,239,229,.8);

  font-size: clamp(13px,.95vw,15px);
  font-weight: 300;
  line-height: 1.7;
}

.science-copy p:last-child {
  margin-bottom: 0;
}

.science-copy em {
  color: var(--champagne);
  font-weight: 400;
}

/* =========================================================
   SOUL
   ========================================================= */

.soul-section {
  position: relative;
  z-index: 2;

  display: grid;

  grid-template-rows:
    minmax(0,1.12fr)
    minmax(0,.88fr);

  gap: clamp(8px,.85vw,14px);

  height: 100svh;
  min-height: 720px;

  padding: clamp(14px,1.5vw,24px);

  overflow: hidden;

  background: #f8f6f1;
  color: #18130f;

  transform-origin: center top;

  will-change:
    transform,
    clip-path;
}

.soul-feature {
  display: grid;

  grid-template-columns: 1.08fr .92fr;

  width: 100%;
  max-width: 1500px;

  min-height: 0;
  height: 100%;

  margin: 0 auto;

  overflow: hidden;

  background: #eee9e0;
}

.soul-feature-image {
  overflow: hidden;
}

.soul-feature-image img {
  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center 46%;

  will-change: transform;
}

.soul-statement {
  display: flex;

  flex-direction: column;

  align-items: flex-start;
  justify-content: center;

  padding: clamp(30px,5vw,76px);
}

.soul-eyebrow {
  margin: 0 0 28px;

  font-size: 9px;
  font-weight: 500;
  letter-spacing: .25em;

  text-transform: uppercase;
}

.soul-statement h2 {
  margin: 0;

  font-family: var(--display);
  font-size: clamp(50px,5.2vw,80px);
  font-weight: 400;
  line-height: .9;

  letter-spacing: -.045em;
}

.soul-statement h2 em {
  color: #9b7045;
  font-weight: 400;
}

.soul-rule {
  width: 64px;
  height: 1px;

  margin:
    clamp(20px,3vh,30px)
    0
    18px;

  background: rgba(24,19,15,.42);

  transform-origin: left;
}

.soul-statement > p:last-child {
  max-width: 350px;

  margin: 0;

  color: rgba(24,19,15,.68);

  font-size: 13px;
  font-weight: 300;
  line-height: 1.6;
}

.soul-grid {
  display: grid;

  grid-template-columns: repeat(3,1fr);

  gap: clamp(8px,.85vw,14px);

  width: 100%;
  max-width: 1500px;

  min-height: 0;
  height: 100%;

  margin: 0 auto;
}

.soul-carousel-shell,
.soul-carousel-viewport {
  display: contents;
}

.soul-carousel-control {
  display: none;
}

.soul-card {
  position: relative;

  min-height: 0;
  height: 100%;

  overflow: hidden;

  background: #211b17;
  color: var(--ivory);
}

.soul-card img {
  width: 100%;
  height: 100%;

  object-fit: cover;

  transition:
    transform 1s cubic-bezier(.2,.8,.2,1),
    filter .8s;

  will-change: transform;
}

.soul-card-shade {
  position: absolute;

  inset: 42% 0 0;

  background:
    linear-gradient(
      transparent,
      rgba(8,6,4,.72)
    );

  pointer-events: none;
}

.soul-card p {
  position: absolute;
  z-index: 2;

  right: clamp(20px,2vw,34px);
  bottom: clamp(22px,2.5vw,40px);
  left: clamp(20px,2vw,34px);

  margin: 0;

  font-family: var(--display);
  font-size: clamp(22px,2.1vw,34px);
  font-weight: 400;
  line-height: 1.05;

  letter-spacing: -.025em;

  transition: transform .6s;
}

.soul-card:hover img {
  transform: scale(1.035);
  filter: saturate(1.04);
}

.soul-card:hover p {
  transform: translateY(-5px);
}

/* =========================================================
   MOSAIC
   ========================================================= */

.mosaic-section {
  position: relative;
  z-index: 3;

  height: 150svh;

  background: #f8f6f1;
  color: #17130f;
}

.mosaic-stage {
  position: sticky;

  top: 0;

  height: 100svh;
  min-height: 680px;

  overflow: hidden;

  background: #f8f6f1;
}

.mosaic-field {
  position: relative;

  width: min(100%,1680px);
  height: 100%;

  margin: 0 auto;

  overflow: hidden;
}

.mosaic-photo-stage,
.mosaic-tiles {
  display: contents;
}

.mosaic-tile {
  position: absolute;

  margin: 0;

  overflow: hidden;

  background: #dfd9cf;

  box-shadow: 0 18px 55px rgba(43,31,21,.1);

  will-change:
    transform,
    opacity;
}

.mosaic-tile img {
  width: 100%;
  height: 100%;

  object-fit: cover;

  transform: scale(1.055);

  will-change: transform;
}

.mosaic-tile-1 {
  top: 5%;
  left: 2.5%;

  width: 17%;
  height: 36%;
}

.mosaic-tile-2 {
  top: 17%;
  left: 21%;

  width: 14%;
  height: 34%;
}

.mosaic-tile-3 {
  top: 2%;
  left: 38%;

  width: 17%;
  height: 30%;
}

.mosaic-tile-4 {
  top: 15%;
  left: 62%;

  width: 13%;
  height: 34%;
}

.mosaic-tile-5 {
  top: 5%;
  right: 2.5%;

  width: 20%;
  height: 29%;
}

.mosaic-tile-6 {
  right: 5%;
  bottom: 7%;

  width: 16%;
  height: 38%;
}

.mosaic-tile-7 {
  right: 24%;
  bottom: 3%;

  width: 17%;
  height: 31%;
}

.mosaic-tile-8 {
  left: 22%;
  bottom: 4%;

  width: 17%;
  height: 31%;
}

.mosaic-tile-9 {
  left: 3.5%;
  bottom: 8%;

  width: 15%;
  height: 35%;
}

.mosaic-copy {
  position: absolute;
  z-index: 4;

  top: 48%;
  left: 50%;

  width: min(50vw,700px);

  text-align: center;

  transform:
    translate(-50%,-50%);

  pointer-events: none;

  will-change:
    transform,
    opacity;
}

.visually-hidden {
  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;
}

.mosaic-logo {
  display: block;

  width: clamp(190px,17vw,270px);
  height: auto;

  margin: 0 auto;

  transform-origin: center;

  will-change:
    transform,
    opacity;
}

.mosaic-message {
  position: absolute;

  top: 50%;
  left: 50%;

  width: min(34vw,390px);

  margin: 0;

  color: rgba(23,19,15,.8);

  font-size: clamp(15px,1vw,17px);
  font-weight: 400;
  line-height: 1.62;

  letter-spacing: -.01em;

  opacity: 0;

  transform:
    translate(-50%,-50%);

  will-change:
    transform,
    opacity;
}

/* =========================================================
   FAQ
   ========================================================= */

.faq-section {
  position: relative;
  z-index: 4;

  min-height: 100svh;

  padding: clamp(28px,5vw,82px);

  overflow: hidden;

  background: #f8f6f1;
  color: #fff;
}

.faq-grid {
  display: grid;

  grid-template-columns:
    repeat(2,minmax(0,1fr));

  gap: clamp(12px,1.1vw,20px);

  width: min(100%,1500px);

  height:
    calc(
      100svh -
      clamp(56px,10vw,164px)
    );

  min-height: 660px;

  margin: 0 auto;
}

.faq-carousel-shell,
.faq-carousel-viewport {
  display: contents;
}

.faq-carousel-control {
  display: none;
}

.faq-card {
  position: relative;

  min-height: 0;

  overflow: hidden;

  background: #796b5e;

  transform-origin: center bottom;

  will-change:
    transform,
    opacity;
}

.faq-card img {
  width: 100%;
  height: 100%;

  object-fit: cover;

  transform: scale(1.055);

  will-change: transform;
}

.faq-card-skin img {
  object-position: center 42%;
}

.faq-card-care img {
  object-position: center 52%;
}

.faq-shade {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      0deg,
      rgba(28,20,14,.68) 0%,
      rgba(33,24,17,.3) 54%,
      rgba(25,18,12,.08) 100%
    );
}

.faq-copy {
  position: absolute;
  z-index: 2;

  top: 50%;
  left: 50%;

  width: min(80%,590px);

  text-align: center;

  transform:
    translate(-50%,-42%);
}

.faq-copy h3 {
  max-width: 570px;

  margin:
    0 auto
    clamp(26px,3.2vh,42px);

  font-size: clamp(18px,1.55vw,27px);
  font-weight: 400;
  line-height: 1.35;

  letter-spacing: -.02em;
}

.faq-copy h3::before {
  content: "Q: ";

  color: var(--champagne);
}

.faq-copy p {
  max-width: 600px;

  margin: 0 auto;

  font-size: clamp(16px,1.35vw,23px);
  font-weight: 300;
  line-height: 1.53;

  letter-spacing: -.018em;
}

/* =========================================================
   CONTACT SECTION
   ========================================================= */

.contact-section {
  position: relative;
  z-index: 5;

  display: grid;

  grid-template-columns:
    minmax(0,1fr)
    minmax(420px,.74fr);

  align-items: center;

  gap: clamp(34px,5vw,92px);

  height: 65svh;
  min-height: 610px;

  padding:
    clamp(34px,4vw,64px)
    clamp(34px,5vw,82px)
    clamp(76px,8vh,96px);

  overflow: hidden;

  background: #17110d;
  color: #fff;

  isolation: isolate;

  transform-origin: center top;

  will-change:
    clip-path,
    transform;
}

/*
   BACKGROUND IMAGE
*/
.contact-visual {
  position: absolute;
  z-index: 0;

  inset: 0;

  overflow: hidden;

  pointer-events: none;
}

.contact-visual > img {
  position: absolute;

  z-index: 0;

  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  transform: scale(1.04);

  filter:
    saturate(.88)
    contrast(1.03);

  will-change: transform;
}

/*
   DARK IMAGE OVERLAY

   IMPORTANT:
   This overlay is BELOW the text.
*/
.contact-section::after {
  content: "";

  position: absolute;

  z-index: 1;

  inset: 0;

  pointer-events: none;

  background:
    linear-gradient(
      90deg,
      rgba(13,9,6,.62) 0%,
      rgba(13,9,6,.38) 40%,
      rgba(13,9,6,.18) 65%,
      rgba(13,9,6,.52) 100%
    ),
    linear-gradient(
      0deg,
      rgba(10,7,5,.58),
      transparent 55%
    );
}

/* =========================================================
   CONTACT LEFT CONTENT — WHITE TEXT
   ========================================================= */

.contact-intro {
  position: absolute;

  z-index: 20;

  top: clamp(34px, 4vw, 64px);
  bottom: clamp(76px, 8vh, 96px);
  left: clamp(34px, 5vw, 82px);

  display: flex;
  flex-direction: column;
  justify-content: space-between;

  width: min(42vw, 610px);
  min-width: 0;

  padding: 4px 0 14px;

  opacity: 1 !important;
  visibility: visible !important;

  pointer-events: none;

  isolation: isolate;

  /*
    Prevent any blending/filter from making the text
    look brown, gray or transparent.
  */
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* =========================================================
   FORCE ALL CONTACT TEXT TO PURE WHITE
   ========================================================= */

.contact-intro,
.contact-intro *,
.contact-intro h2,
.contact-intro .contact-eyebrow,
.contact-intro .contact-description,
.contact-intro .contact-description p {
  color: #ffffff !important;

  opacity: 1 !important;
  visibility: visible !important;

  filter: none !important;
  mix-blend-mode: normal !important;
}

/* =========================================================
   "THE SCENT CHEMISTRY"
   ========================================================= */

.contact-eyebrow {
  margin: 0 0 20px;

  color: #ffffff !important;

  font-family: var(--body);

  font-size: 10px;
  font-weight: 500;

  letter-spacing: .26em;
  line-height: 1.4;

  text-transform: uppercase;

  opacity: 1 !important;
  visibility: visible !important;

  text-shadow:
    0 2px 8px rgba(0, 0, 0, .65),
    0 1px 2px rgba(0, 0, 0, .45);

  filter: none !important;
  mix-blend-mode: normal !important;
}

/* =========================================================
   "LET'S TALK SCENT & SCIENCE."
   ========================================================= */

.contact-intro {

  position: absolute;

  z-index: 20;

  top: clamp(34px, 4vw, 64px);

  bottom: clamp(76px, 8vh, 96px);

  left: clamp(34px, 5vw, 82px);

  display: flex;

  flex-direction: column;

  justify-content: space-between;

  width: min(42vw, 610px);

  padding: 4px 0 14px;

  pointer-events: none;

  opacity: 1 !important;

  visibility: visible !important;

}

/* Small brand line */

.contact-eyebrow {

  margin: 0 0 18px;

  color: rgba(255,255,255,.72) !important;

  font-family: var(--body);

  font-size: 9px;

  font-weight: 500;

  letter-spacing: .28em;

  line-height: 1.4;

  text-transform: uppercase;

  text-shadow:

    0 2px 8px rgba(0,0,0,.65);

}

/* Main heading */

.contact-intro h2 {

  max-width: 600px;

  margin: 0;

  color: #fff !important;

  font-family: var(--body);

  font-size: clamp(42px, 4vw, 64px);

  font-weight: 500;

  line-height: .98;

  letter-spacing: -.055em;

  text-transform: uppercase;

  text-shadow:

    0 2px 5px rgba(0,0,0,.55),

    0 8px 28px rgba(0,0,0,.65);

}

/* Description */

.contact-description {

  max-width: 500px;

  margin-top: auto;

  padding-top: clamp(32px, 5vh, 54px);

  color: rgba(255,255,255,.88) !important;

  opacity: 1 !important;

}

.contact-description p {

  max-width: 500px;

  margin: 0 0 15px;

  color: rgba(255,255,255,.88) !important;

  font-family: var(--body);

  font-size: clamp(14px, 1vw, 17px);

  font-weight: 300;

  line-height: 1.6;

  letter-spacing: -.01em;

  text-shadow:

    0 2px 10px rgba(0,0,0,.75);

}

.contact-description p:last-child {

  margin-bottom: 0;

}

/*
   ========================================================
   WHATSAPP / FORM CARD
   ========================================================
*/

.contact-form-wrap {
  position: relative;

  grid-column: 2;

  align-self: center;
  justify-self: end;

  z-index: 30;

  width: min(100%,570px);

  padding: clamp(28px,3vw,42px);

  border: 1px solid rgba(255,255,255,.42);

  border-radius: 28px;

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.30),
      rgba(255,255,255,.12)
    );

  -webkit-backdrop-filter:
    blur(28px)
    saturate(135%);

  backdrop-filter:
    blur(28px)
    saturate(135%);

  box-shadow:
    0 30px 80px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.55),
    inset 0 -1px 0 rgba(255,255,255,.08);

  color: #fff;

  will-change:
    transform,
    opacity;

  transition:
    transform .45s cubic-bezier(.2,.8,.2,1),
    box-shadow .45s ease,
    border-color .45s ease;
}

/* =========================================================
   WHATSAPP
   ========================================================= */

.whatsapp-connect {
  position: relative;

  display: flex;

  flex-direction: column;
}

.whatsapp-eyebrow {
  margin: 0 0 20px;

  color: rgba(63,52,40,.72);

  font-size: 9px;

  font-weight: 600;

  letter-spacing: .24em;

  text-transform: uppercase;
}

.whatsapp-connect h3 {
  margin: 0 0 18px;

  color: #3f3428;

  font-family: var(--body);

  font-size: clamp(25px,2.1vw,34px);

  font-weight: 500;

  line-height: 1.08;

  letter-spacing: -.04em;
}

.whatsapp-description {
  max-width: 500px;

  margin: 0 0 24px;

  color: rgba(63,52,40,.72);

  font-size: 14px;

  font-weight: 300;

  line-height: 1.55;
}

/* =========================================================
   WHATSAPP BUTTON
   ========================================================= */

.whatsapp-button {
  position: relative;

  display: inline-flex;

  width: fit-content;

  min-height: 52px;

  align-items: center;

  gap: 12px;

  padding: 5px 7px;

  border: 1px solid rgba(255,255,255,.7);

  border-radius: 999px;

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.48),
      rgba(255,255,255,.16)
    );

  box-shadow:
    0 10px 30px rgba(50,35,20,.12),
    inset 0 1px 0 rgba(255,255,255,.85),
    inset 0 -1px 0 rgba(255,255,255,.2);

  backdrop-filter:
    blur(18px)
    saturate(130%);

  -webkit-backdrop-filter:
    blur(18px)
    saturate(130%);

  color: #3f3428;

  text-decoration: none;

  transition:
    transform .3s cubic-bezier(.2,.8,.2,1),
    box-shadow .3s ease,
    background .3s ease;
}

.whatsapp-icon {
  display: inline-flex;

  width: 40px;
  height: 40px;

  flex: 0 0 40px;

  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background: #25D366;

  box-shadow:
    0 5px 14px rgba(37,211,102,.35),
    inset 0 1px 0 rgba(255,255,255,.45);

  transition:
    transform .3s cubic-bezier(.2,.8,.2,1),
    box-shadow .3s ease;
}

.whatsapp-icon svg {
  display: block;

  width: 22px;
  height: 22px;

  fill: #fff;
}

.whatsapp-button-text {
  padding: 0 4px;

  color: #4b3d2f;

  font-size: 9px;

  font-weight: 600;

  letter-spacing: .17em;

  line-height: 1;

  text-transform: uppercase;

  white-space: nowrap;
}

.whatsapp-arrow {
  display: inline-flex;

  width: 34px;
  height: 34px;

  align-items: center;
  justify-content: center;

  border: 1px solid rgba(63,52,40,.22);

  border-radius: 50%;

  color: #4b3d2f;

  font-size: 17px;

  font-weight: 300;

  transition:
    transform .3s ease,
    background .3s ease;
}

.whatsapp-button:hover {
  transform: translateY(-3px);

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.68),
      rgba(255,255,255,.28)
    );

  box-shadow:
    0 16px 38px rgba(50,35,20,.18),
    inset 0 1px 0 rgba(255,255,255,.95);
}

.whatsapp-button:hover .whatsapp-icon {
  transform: scale(1.08);

  box-shadow:
    0 7px 20px rgba(37,211,102,.45);
}

.whatsapp-button:hover .whatsapp-arrow {
  transform: translateX(3px);

  background: rgba(255,255,255,.35);
}

.whatsapp-button:active {
  transform: translateY(-1px) scale(.98);
}

.whatsapp-button:focus-visible {
  outline: 2px solid #25D366;
  outline-offset: 5px;
}

.whatsapp-note {
  margin: 16px 0 0;

  color: rgba(63,52,40,.62);

  font-family: var(--display);

  font-size: 13px;

  font-style: italic;
}

/* =========================================================
   CONTACT FORM
   ========================================================= */

.contact-form {
  display: grid;

  gap: clamp(14px,1.5vh,20px);
}

.form-field {
  display: grid;

  gap: 10px;
}

.form-field label {
  font-family: var(--display);

  font-size: clamp(18px,1.4vw,23px);

  line-height: 1;
}

.form-field input,
.form-field textarea {
  width: 100%;

  border: 1px solid rgba(63,52,40,.35);

  border-radius: 10px;

  outline: 0;

  background: rgba(255,255,255,.18);

  color: #2a211a;

  font:
    400 16px/1.4
    var(--body);

  transition:
    border-color .3s,
    box-shadow .3s,
    background .3s;
}

.form-field input {
  height: clamp(46px,5vh,56px);

  padding: 0 16px;
}

.form-field textarea {
  min-height: 92px;
  max-height: 130px;

  padding: 13px 16px;

  resize: vertical;
}

.form-field input:focus,
.form-field textarea:focus {
  border-color: #a87a3f;

  background: rgba(255,255,255,.55);

  box-shadow:
    0 0 0 3px rgba(168,122,63,.12);
}

.contact-submit {
  display: flex;

  align-items: center;
  justify-content: space-between;

  min-height: 54px;

  padding: 0 24px;

  border: 1px solid #b88c46;

  border-radius: 999px;

  background:
    linear-gradient(
      90deg,
      #c9a34f,
      #eadb86,
      #c39a45
    );

  color: #342719;

  font:
    500 11px/1
    var(--body);

  letter-spacing: .16em;

  text-transform: uppercase;

  cursor: pointer;

  transition:
    transform .3s,
    box-shadow .3s;
}

.contact-submit:hover {
  transform: translateY(-2px);

  box-shadow:
    0 12px 28px rgba(121,83,34,.18);
}

.contact-submit:focus-visible {
  outline: 2px solid #6a4a26;

  outline-offset: 3px;
}

.contact-status {
  min-height: 20px;

  margin: -12px 0 0;

  color: #6e5435;

  font-size: 12px;

  text-align: center;
}

/* =========================================================
   CONTACT FOOTER
   ========================================================= */

.contact-footer {
  position: absolute;

  z-index: 40;

  right: clamp(30px,4vw,66px);
  bottom: clamp(18px,2vw,30px);
  left: clamp(30px,4vw,66px);

  display: grid;

  grid-template-columns:
    auto
    1fr
    auto;

  align-items: center;

  gap: 18px;

  color: #fff;

  text-shadow:
    0 2px 14px rgba(0,0,0,.55);
}

.contact-footer img {
  width: 30px;

  filter:
    grayscale(1)
    brightness(4);

  opacity: .88;
}

.contact-footer span {
  height: 1px;

  background: rgba(255,255,255,.78);
}

.contact-footer p {
  margin: 0;

  font-family: var(--display);

  font-size: clamp(15px,1.3vw,21px);
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

  :root {
    --page-x: 22px;
  }

  /* HERO */

  .intro {
    height: 185svh;
  }

  .poster img {
    object-position: 50% center;
  }

  .scene-shade {
    display: none;
  }

  .site-header {
    top: max(12px,env(safe-area-inset-top));

    grid-template-columns: auto 1fr auto;

    min-height: 56px;

    padding: 6px 7px 6px 12px;
  }

  .header-brand {
    grid-column: 1;
  }

  .header-brand img {
    width: 25px;
    height: 29px;
  }

  .header-nav {
    display: none;
  }

  .header-action {
    display: none;
  }

  .header-menu-toggle {
    grid-column: 3;

    display: inline-flex;

    min-width: 76px;
    min-height: 42px;

    align-items: center;
    justify-content: center;

    padding: 0 14px;

    border: 1px solid rgba(244,239,229,.42);
    border-radius: 999px;

    background: rgba(12,11,10,.18);
    color: var(--ivory);

    font: inherit;
    font-size: 7px;
    font-weight: 500;
    letter-spacing: .16em;
    text-transform: uppercase;

    cursor: pointer;
  }

  .header-menu-toggle:focus-visible {
    outline: 1px solid var(--champagne);
    outline-offset: 3px;
  }

  .mobile-nav-panel {
    position: absolute;

    top: calc(100% + 8px);
    right: 0;
    left: 0;

    display: block;

    padding: 10px;

    border: 1px solid rgba(255,255,255,.18);
    border-radius: 24px;

    background:
      linear-gradient(
        145deg,
        rgba(20,18,16,.96),
        rgba(5,5,5,.93)
      );

    box-shadow:
      0 24px 54px rgba(0,0,0,.4),
      inset 0 1px 0 rgba(255,255,255,.1);

    -webkit-backdrop-filter: blur(20px) saturate(120%);
    backdrop-filter: blur(20px) saturate(120%);

    opacity: 0;
    visibility: hidden;

    transform: translateY(-8px) scale(.985);
    transform-origin: top center;

    transition:
      opacity .24s ease,
      visibility .24s ease,
      transform .24s ease;
  }

  .site-header.is-menu-open .mobile-nav-panel {
    opacity: 1;
    visibility: visible;

    transform: none;
  }

  .mobile-nav-panel nav {
    display: grid;
  }

  .mobile-nav-panel a {
    display: flex;

    min-height: 46px;

    align-items: center;

    padding: 0 14px;

    border-bottom: 1px solid rgba(244,239,229,.1);

    color: rgba(244,239,229,.78);

    font-size: 9px;
    font-weight: 500;
    letter-spacing: .18em;
    text-decoration: none;
    text-transform: uppercase;
  }

  .mobile-nav-panel a.is-active {
    color: var(--champagne);
  }

  .mobile-nav-panel .mobile-nav-action {
    justify-content: space-between;

    margin-top: 8px;

    border: 1px solid rgba(244,239,229,.4);
    border-radius: 999px;

    color: var(--ivory);
  }

  .mobile-nav-action span {
    font-size: 14px;
  }

  .scene-opening {
    top: 23svh;

    width: calc(100% - 32px);
  }

  .scene-chemistry {
    top: 20svh;
    left: 22px;

    width: calc(100% - 44px);

    transform: none;

    text-align: center;
  }

  .scene-opening h1 {
    max-width: none;

    font-size: clamp(25px,7.35vw,31px);

    line-height: 1.08;
  }

  .scene-label {
    margin-bottom: 13px;

    font-size: 10px;
  }

  .scene-body {
    max-width: 350px;

    margin-left: auto;
    margin-right: auto;

    font-size: 14px;

    line-height: 1.6;
  }

  .scene-product {
    top: 32%;

    bottom: auto;

    width: calc(100% - 44px);

    transform:
      translateY(calc(-50% + 26px));
  }

  .product-name {
    max-width: 300px;

    position: relative;
    top: -15svh;

    margin-right: auto;
    margin-left: auto;

    margin-bottom: clamp(64px, 9svh, 120px);

    font-size:
      clamp(
        82px,
        25vw,
        108px
      );
  }

  .product-subline {
    display: none;

    max-width: 330px;

    margin-left: 0;

    white-space: normal;

    font-size:
      clamp(
        18px,
        5.8vw,
        23px
      );
  }

  .scroll-cue {
    right: 22px;

    bottom:
      max(
        20px,
        env(safe-area-inset-bottom)
      );

    font-size: 8px;
  }

  .scroll-cue span {
    width: 30px;
  }

  /* COLLECTION */

  .collection-showcase {
    padding: 54px 14px 0;

    background: #f8f6f1;
    color: #17120f;
  }

  .collection-intro {
    grid-template-columns: 1fr;

    gap: 22px;

    margin-bottom: 24px;

    padding: 0 8px;
  }

  .collection-kicker {
    font-size:
      clamp(
        38px,
        13vw,
        54px
      );
  }

  .collection-note {
    justify-self: start;

    max-width: 330px;

    margin: 0;

    color: rgba(23,18,15,.7);

    font-size: 18px;
  }

  .collection-frame {
    min-height: auto;

    padding: 0;

    border: 0;
    background: transparent;
    box-shadow: none;
    color: #17120f;
  }

  .collection-heading {
    grid-template-columns: 1fr;

    gap: 20px;
  }

  .collection-heading > p {
    display: none;
  }

  .collection-heading h2 {
    display: none;

    font-size:
      clamp(
        46px,
        14vw,
        58px
      );

    line-height: .84;

    color: #17120f;
  }

  .collection-viewport {
    width: calc(100% + 28px);
    margin-left: -14px;

    overflow-x: auto;
    overflow-y: hidden;

    scroll-snap-type: x mandatory;
    scroll-padding-inline: calc((100% - min(74vw, 320px)) / 2);
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
    scrollbar-width: none;
  }

  .collection-viewport::-webkit-scrollbar {
    display: none;
  }

  .collection-track {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;

    width: max-content;

    height: auto;
    min-height: 0;

    margin: 0;

    padding:
      14px
      calc((100vw - min(74vw, 320px)) / 2)
      22px;

    overflow: visible;
    scroll-behavior: auto;
  }

  .collection-card,
  .card-featured {
    position: relative;

    flex: 0 0 auto;
    width: min(74vw, 320px);
    height: min(108vw, 440px);
    margin: 0;

    scroll-snap-align: center;
    scroll-snap-stop: always;

    border-radius: 26px;
    box-shadow: 0 18px 36px rgba(23,18,15,.14);

    opacity: 1;
    filter: none;
    transform: none;
    transition: none;
  }

  .collection-card + .collection-card {
    margin-left: 0;
  }

  .collection-card:nth-child(even) {
    transform: none;
  }

  .collection-card.is-active {
    opacity: 1;
    filter: none;
    transform: none;
    box-shadow: 0 18px 36px rgba(23,18,15,.14);
  }

  .collection-card:hover,
  .collection-card:active {
    transform: none;
  }

  .collection-card:nth-child(even):hover,
  .collection-card:nth-child(even):active {
    transform: none;
  }

  .collection-card.is-active:hover,
  .collection-card.is-active:active {
    transform: none;
  }

  .collection-card:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 4px;
  }

  .collection-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-top: 8px;
    padding-top: 14px;

    border-top: 1px solid rgba(23,18,15,.16);
  }

  .collection-counter {
    color: rgba(23,18,15,.68);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .24em;
    font-variant-numeric: tabular-nums;
  }

  .collection-arrows {
    display: flex;
    gap: 10px;
  }

  .collection-arrows button {
    display: grid;
    width: 40px;
    height: 34px;
    place-items: center;

    border: 1px solid rgba(23,18,15,.42);
    border-radius: 999px;

    background: transparent;
    color: #17120f;

    font-size: 16px;
    line-height: 1;

    cursor: pointer;
    transition:
      background .25s ease,
      color .25s ease,
      border-color .25s ease,
      transform .25s ease;
  }

  .collection-arrows button:hover,
  .collection-arrows button:focus-visible {
    border-color: var(--gold);
    background: var(--gold);
    color: #100d0c;
    outline: none;
  }

  .collection-arrows button:active {
    transform: scale(.94);
  }

  /* Mobile collection cards: keep the photography clean and controls unobtrusive. */
  .collection-showcase .collection-controls {
    display: none;

    border-top: 0;
    box-shadow: none;
  }

  .collection-showcase .collection-mobile-track {
    perspective: none;
  }

  .collection-showcase .collection-card,
  .collection-showcase .collection-card.is-active,
  .collection-showcase .card-featured {
    isolation: isolate;
    background: transparent;
    box-shadow: none !important;
    opacity: 1;
    filter: none;
    transform: none !important;
    transition: none;
  }

  .collection-showcase .collection-card + .collection-card {
    margin-left: 0;
  }

  .collection-showcase .collection-card:hover,
  .collection-showcase .collection-card:active,
  .collection-showcase .collection-card.is-active:hover,
  .collection-showcase .collection-card.is-active:active,
  .collection-showcase .collection-card:nth-child(even) {
    transform: none !important;
  }

  .collection-showcase .collection-card > span {
    display: none !important;
  }

  .collection-showcase .collection-card::after {
    display: block !important;
    z-index: 2;
    inset: 64% 0 0;

    background:
      linear-gradient(
        to bottom,
        transparent,
        rgba(5,4,3,.56)
      );
  }

  .collection-showcase .collection-card > p {
    display: block !important;
    z-index: 3;

    right: 20px;
    bottom: 20px;
    left: 20px;

    color: var(--ivory);
    font-size: 17px;
    line-height: 1.08;
    text-shadow: 0 1px 10px rgba(0,0,0,.32);
  }

  .collection-card > img {
    position: relative;
    z-index: 1;
    display: block;
  }

  .collection-swipe-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    width: 100%;

    margin: -5px 0 0;

    color: rgba(23,18,15,.48);

    font-size: 9px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .18em;

    text-transform: uppercase;
    pointer-events: none;

    border: 0;
    background: none;
    box-shadow: none;
  }

  .collection-swipe-hint::before,
  .collection-swipe-hint::after {
    content: none;

    display: none;
  }

  .collection-swipe-arrow {
    font-size: 12px;
    letter-spacing: 0;
  }

  /* SCIENCE */

  .collection-science-gap {
    display: block;

    height: 34px;

    border: 0;

    background: #f8f6f1;

    box-shadow: none;
  }

  .science-section {
    min-height: 850px;
  }

  .science-curtain {
    inset: 0 0 auto;

    height: clamp(120px, 15svh, 144px);

    padding-bottom: 20px;
  }

  .science-curtain::after {
    content: none;

    display: none;
  }

  .science-curtain,
  .science-image,
  .science-content {
    will-change: transform, opacity;
  }

  .science-image {
    object-position: 57% center;
  }

  .science-overlay {
    background:
      linear-gradient(
        0deg,
        rgba(8,5,3,.93) 0%,
        rgba(8,5,3,.68) 52%,
        rgba(8,5,3,.22) 100%
      );
  }

  .science-content {
    grid-template-columns: 1fr;

    align-content: space-between;

    gap: 180px;

    width: calc(100% - 44px);

    padding:
      74px
      0
      56px;
  }

  .science-intro h2 {
    margin-bottom: 24px;

    font-size:
      clamp(
        47px,
        14vw,
        64px
      );
  }

  .science-lead {
    max-width: 340px;

    font-size: 15px;
  }

  .science-copy {
    max-width: 100%;

    padding:
      22px
      0
      0;

    border-top:
      1px solid
      rgba(244,239,229,.28);

    border-left: 0;
  }

  .science-copy p {
    font-size: 12px;

    line-height: 1.58;
  }

  /* SOUL */

  .soul-section {
    display: block;

    height: auto;

    min-height: 0;

    padding: 12px;

    overflow: visible;
  }

  .soul-feature {
    grid-template-columns: 1fr;

    min-height: 0;
  }

  .soul-feature-image {
    height: 54svh;

    min-height: 390px;
  }

  .soul-statement {
    min-height: 360px;

    padding:
      52px
      24px
      58px;
  }

  .soul-statement h2 {
    font-size:
      clamp(
        54px,
        16vw,
        70px
      );
  }

  .soul-grid {
    display: flex;
    align-items: stretch;

    gap: 10px;

    width: max-content;

    max-width: none;

    height: auto;

    margin-top: 10px;

    padding-inline: 0;
  }

  .soul-card {
    flex: 0 0 calc(100vw - 24px);

    min-height: 460px;

    scroll-snap-align: center;
    scroll-snap-stop: always;
  }

  .soul-carousel-viewport {
    display: block;

    width: 100%;

    overflow-x: auto;
    overflow-y: hidden;

    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
    scrollbar-width: none;
  }

  .soul-carousel-viewport::-webkit-scrollbar {
    display: none;
  }

  .soul-carousel-shell {
    position: relative;

    display: block;
  }

  .soul-carousel-control {
    position: absolute;
    z-index: 4;

    top: calc(50% + 5px);

    display: grid;

    width: 34px;
    height: 34px;

    padding: 0;

    place-items: center;

    border: 0;
    border-radius: 50%;

    background: rgba(22,17,13,.22);
    color: rgba(244,239,229,.88);

    box-shadow: 0 3px 14px rgba(0,0,0,.12);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    cursor: pointer;
    touch-action: manipulation;

    transform: translateY(-50%);
    transition:
      background .2s ease,
      opacity .2s ease,
      transform .2s ease;
  }

  .soul-carousel-control::before {
    content: "";

    width: 7px;
    height: 7px;

    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
  }

  .soul-carousel-control-previous {
    left: 14px;
  }

  .soul-carousel-control-previous::before {
    transform: rotate(-135deg);
  }

  .soul-carousel-control-next {
    right: 14px;
  }

  .soul-carousel-control-next::before {
    transform: rotate(45deg);
  }

  .soul-carousel-control:active {
    background: rgba(22,17,13,.34);
    transform: translateY(-50%) scale(.94);
  }

  .soul-carousel-control:focus-visible {
    outline: 1px solid rgba(244,239,229,.9);
    outline-offset: 3px;
  }

  .soul-card p {
    font-size:
      clamp(
        27px,
        8vw,
        36px
      );
  }

  /* MOSAIC */

  .mosaic-section {
    height: auto;

    padding: 0 12px 12px;

    border: 0;
  }

  .mosaic-section::before {
    content: "";

    position: absolute;
    z-index: 5;

    top: -2px;
    right: 0;
    left: 0;

    height: 3px;

    background: #f8f6f1;

    pointer-events: none;
  }

  .mosaic-stage {
    position: relative;

    height: auto;

    min-height: 0;

    overflow: visible;

    border: 0;
    outline: 0;
    box-shadow: none;
  }

  .mosaic-field {
    display: grid;

    grid-template-columns:
      repeat(2,minmax(0,1fr));

    gap: 10px;

    height: auto;

    overflow: visible;

    border: 0;
    outline: 0;
  }

  .mosaic-photo-stage {
    position: relative;

    display: block;

    grid-column: 1 / -1;
    grid-row: 2;
  }

  .mosaic-tiles {
    display: grid;

    grid-template-columns:
      repeat(2,minmax(0,1fr));

    gap: 10px;
  }

  .mosaic-copy {
    position: relative;

    top: auto;
    left: auto;

    grid-column: 1 / -1;
    grid-row: 1;

    width: auto;

    min-height: 0;

    padding:
      24px
      12px
      26px;

    display: flex;

    flex-direction: column;

    justify-content: flex-start;

    transform: none;

    border: 0;
    outline: 0;
    box-shadow: none;
  }

  .mosaic-logo {
    display: none;
  }

  .mosaic-message {
    position: static;

    width: min(100%,350px);

    margin: 0 auto;

    font-size: 13px;

    line-height: 1.7;

    opacity: 1 !important;
    visibility: visible !important;

    transform: none !important;
    will-change: auto;
  }

  .mosaic-message br {
    display: none;
  }

  .mosaic-tile {
    position: relative;

    inset: auto;

    width: auto;

    height:
      clamp(
        180px,
        48vw,
        230px
      );

    box-shadow: none;

    transition: none;
  }

  .mosaic-tile:nth-of-type(n+6) {
    display: none;
  }

  .mosaic-tile:nth-of-type(3n) {
    grid-column: 1 / -1;

    height:
      clamp(
        210px,
        58vw,
        280px
      );
  }

  .mosaic-tiles-incoming {
    position: absolute;

    inset: 0;

    opacity: 0;

    transform: scale(1.012);
  }

  .mosaic-tiles-primary,
  .mosaic-tiles-incoming {
    transform-origin: center;

    transition:
      opacity .78s cubic-bezier(.4,0,.2,1),
      transform .78s cubic-bezier(.22,1,.36,1);
  }

  .mosaic-photo-stage.is-swapping .mosaic-tiles-primary {
    opacity: 0;

    transform: scale(.992);
  }

  .mosaic-photo-stage.is-swapping .mosaic-tiles-incoming {
    opacity: 1;

    transform: scale(1);
  }

  .mosaic-photo-stage.is-swapping .mosaic-tiles-primary,
  .mosaic-photo-stage.is-swapping .mosaic-tiles-incoming {
    will-change: opacity, transform;
  }

  .mosaic-photo-stage.is-syncing .mosaic-tiles-primary {
    transition: none;
  }

  /* FAQ */

  .faq-section {
    min-height: 0;

    padding: 12px;
  }

  .faq-grid {
    display: flex;
    align-items: stretch;

    gap: 10px;

    width: max-content;
    max-width: none;

    height: auto;

    min-height: 0;

    margin: 0;
  }

  .faq-card {
    flex: 0 0 calc(100vw - 24px);

    height: 62.4svh;
    min-height: 62.4svh;

    scroll-snap-align: center;
    scroll-snap-stop: always;
  }

  .faq-carousel-viewport {
    display: block;

    width: 100%;

    overflow-x: auto;
    overflow-y: hidden;

    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
    scrollbar-width: none;
  }

  .faq-carousel-viewport::-webkit-scrollbar {
    display: none;
  }

  .faq-carousel-shell {
    position: relative;

    display: block;
  }

  .faq-carousel-control {
    position: absolute;
    z-index: 4;

    top: 50%;

    display: grid;

    width: 34px;
    height: 34px;

    padding: 0;

    place-items: center;

    border: 0;
    border-radius: 50%;

    background: rgba(22,17,13,.22);
    color: rgba(244,239,229,.88);

    box-shadow: 0 3px 14px rgba(0,0,0,.12);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    cursor: pointer;
    touch-action: manipulation;

    transform: translateY(-50%);
    transition:
      background .2s ease,
      opacity .2s ease,
      transform .2s ease;
  }

  .faq-carousel-control::before {
    content: "";

    width: 7px;
    height: 7px;

    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
  }

  .faq-carousel-control-previous {
    left: 14px;
  }

  .faq-carousel-control-previous::before {
    transform: rotate(-135deg);
  }

  .faq-carousel-control-next {
    right: 14px;
  }

  .faq-carousel-control-next::before {
    transform: rotate(45deg);
  }

  .faq-carousel-control:active {
    background: rgba(22,17,13,.34);
    transform: translateY(-50%) scale(.94);
  }

  .faq-carousel-control:focus-visible {
    outline: 1px solid rgba(244,239,229,.9);
    outline-offset: 3px;
  }

  .faq-copy {
    width: calc(100% - 104px);
  }

  .faq-copy h3 {
    margin-bottom: 28px;

    font-size:
      clamp(
        20px,
        5.5vw,
        26px
      );
  }

  .faq-copy p {
    font-size:
      clamp(
        16px,
        4.4vw,
        20px
      );

    line-height: 1.55;
  }

  /* =======================================================
     CONTACT — MOBILE
     ======================================================= */

  .contact-section {
    display: flex;
    flex-direction: column;

    align-items: stretch;

    height: auto;

    min-height: 0;

    gap: 22px;

    padding: 28px 18px 22px;

    overflow: hidden;
  }


  .contact-visual {
    position: static;

    inset: auto;

    width: 100%;

    min-height: 0;

    overflow: visible;
  }

  .contact-visual > img {
    object-position: 62% 38%;
  }

  /*
     Keep text ABOVE the image and overlay.
  */
  .contact-intro {
    position: relative;

    z-index: 20;

    top: auto;
    bottom: auto;
    left: auto;

    width: 100%;

    min-height: 0;

    padding: 0;

    display: block;

    text-align: left;

    opacity: 1 !important;

    visibility: visible !important;
  }

  .contact-intro,
  .contact-intro h2,
  .contact-intro .contact-eyebrow,
  .contact-intro .contact-description,
  .contact-intro .contact-description p {
    color: #fff !important;

    opacity: 1 !important;

    visibility: visible !important;
  }

  .contact-intro h2 {
    max-width: min(100%, 360px);

    margin-right: 0;
    margin-left: 0;

    font-size:
      clamp(
        32px,
        8.4vw,
        37px
      );

    line-height: .9;

    text-shadow:
      0 2px 4px rgba(0,0,0,.38),
      0 4px 22px rgba(0,0,0,.65);
  }

  .contact-eyebrow {
    margin-bottom: 10px;
  }

  .contact-description {
    display: none;
  }

  .contact-form-wrap {
    position: relative;

    z-index: 30;

    width: 100%;

    margin: -14px auto 0;

    padding: 8px 12px;

    border-color: rgba(255,255,255,.58);
    border-radius: 14px;

    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,.72),
        rgba(255,255,255,.38)
      );

    box-shadow:
      0 12px 30px rgba(14,9,6,.18),
      inset 0 1px 0 rgba(255,255,255,.78);

    -webkit-clip-path: none;
    clip-path: none;

    -webkit-mask: none;
    mask: none;
  }

  .contact-form-wrap::before,
  .contact-form-wrap::after {
    content: none;
  }

  .whatsapp-eyebrow {
    margin-bottom: 4px;

    letter-spacing: .28em;
  }

  .whatsapp-connect h3 {
    display: block;

    max-width: 330px;

    margin-bottom: 5px;

    font-size: 24px;
    line-height: .98;

    letter-spacing: -.045em;
  }

  .whatsapp-description {
    max-width: 350px;

    margin-bottom: 7px;

    font-size: 10.5px;
    line-height: 1.38;
  }

  .whatsapp-button {
    width: 100%;

    min-height: 40px;

    gap: 8px;

    padding: 4px 6px;
  }

  .whatsapp-icon {
    width: 30px;
    height: 30px;

    flex-basis: 30px;
  }

  .whatsapp-icon svg {
    width: 17px;
    height: 17px;
  }

  .whatsapp-arrow {
    width: 28px;
    height: 28px;

    margin-left: auto;
  }

  .whatsapp-note {
    display: none;
  }

  .contact-form {
    gap: 22px;
  }

  .form-field textarea {
    min-height: 145px;
  }

  .contact-footer {
    z-index: 40;

    right: 22px;
    bottom: 30px;
    left: 22px;

    gap: 14px;
  }

  .contact-footer p {
    font-size: 12px;
  }
}

/* =========================================
   TABLET ONLY
   ========================================= */

@media (min-width: 701px) and (max-width: 1199px) {
  :root {
    --page-x: clamp(32px, 5vw, 58px);
    --tablet-card-width: min(68vw, 680px);
    --tablet-section-x: clamp(24px, 3vw, 36px);
  }

  /* Navigation */

  .site-header {
    width: calc(100% - 32px);
    min-height: 60px;
    padding: 7px 10px 7px 22px;
  }

  .header-nav {
    gap: clamp(15px, 2.2vw, 28px);
  }

  .header-nav a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    font-size: 8px;
  }

  .header-action {
    min-height: 44px;
    gap: 9px;
    padding-inline: clamp(14px, 2vw, 20px);
    font-size: 8px;
  }

  /* Hero */

  .intro {
    height: 360svh;
  }

  .intro-stage {
    min-height: 600px;
  }

  .scene-opening {
    top: clamp(118px, 15svh, 154px);
    width: calc(100% - 64px);
  }

  .scene-opening h1 {
    font-size: clamp(38px, 5.9vw, 60px);
    line-height: 1.08;
  }

  .scene-chemistry {
    top: clamp(190px, 26vh, 270px);
    width: min(47vw, 520px);
  }

  .scene-body {
    font-size: clamp(14px, 1.7vw, 17px);
    line-height: 1.58;
  }

  .scene-product {
    top: 46%;
    width: min(56vw, 620px);
  }

  .product-subline {
    white-space: normal;
    font-size: clamp(17px, 2.2vw, 23px);
  }

  /* Collection */

  .collection-showcase {
    padding: 54px var(--tablet-section-x) 36px;
  }

  .collection-intro {
    grid-template-columns: minmax(0, 1fr) minmax(260px, .9fr);
    gap: clamp(30px, 5vw, 64px);
    margin-bottom: 36px;
    padding: 0;
  }

  .collection-kicker {
    font-size: clamp(48px, 7.3vw, 72px);
  }

  .collection-note {
    max-width: 380px;
    margin: 0 0 4px;
    font-size: clamp(15px, 2vw, 18px);
  }

  .collection-frame {
    min-height: 0;
    padding: 34px clamp(24px, 3vw, 36px) 24px;
  }

  .collection-heading {
    grid-template-columns: minmax(150px, .7fr) minmax(0, 2.3fr);
    gap: 24px;
  }

  .collection-heading > p {
    margin-top: 7px;
  }

  .collection-heading h2 {
    font-size: clamp(50px, 6.8vw, 72px);
  }

  .collection-viewport {
    width: calc(100% + (clamp(24px, 3vw, 36px) * 2));
    margin-left: calc(clamp(24px, 3vw, 36px) * -1);
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: calc((100vw - var(--tablet-card-width)) / 2 - var(--tablet-section-x));
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
    scrollbar-width: none;
  }

  .collection-viewport::-webkit-scrollbar {
    display: none;
  }

  .collection-track {
    justify-content: flex-start;
    gap: 18px;
    width: max-content;
    min-height: 0;
    padding:
      28px
      calc((100vw - var(--tablet-card-width)) / 2 - var(--tablet-section-x))
      24px;
    scroll-behavior: auto;
  }

  .collection-card,
  .card-featured {
    flex: 0 0 var(--tablet-card-width);
    width: var(--tablet-card-width);
    height: clamp(460px, 72vw, 650px);
    margin: 0;
    scroll-snap-align: center;
    scroll-snap-stop: always;
    border-radius: 26px;
    opacity: .72;
    filter: none;
    transform: scale(.96) !important;
    transition:
      transform .42s cubic-bezier(.2, .8, .2, 1),
      opacity .42s ease;
  }

  .collection-card.is-active,
  .collection-card:hover,
  .collection-card:active {
    z-index: 2;
    opacity: 1;
    transform: none !important;
  }

  .collection-card > p {
    right: 24px;
    bottom: 22px;
    left: 24px;
    font-size: clamp(20px, 2.5vw, 27px);
  }

  .collection-card > span {
    top: 22px;
    left: 24px;
  }

  .collection-swipe-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0;
    color: rgba(244, 239, 229, .58);
    font-size: 9px;
    font-weight: 500;
    letter-spacing: .2em;
    text-transform: uppercase;
    pointer-events: none;
  }

  .collection-swipe-arrow {
    font-size: 13px;
    letter-spacing: 0;
  }

  .collection-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(244, 239, 229, .16);
  }

  .collection-counter {
    color: rgba(244, 239, 229, .68);
    font-size: 10px;
    letter-spacing: .22em;
  }

  .collection-arrows {
    display: flex;
    gap: 10px;
  }

  .collection-arrows button {
    display: grid;
    width: 46px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(244, 239, 229, .42);
    border-radius: 999px;
    background: transparent;
    color: var(--ivory);
    font-size: 17px;
    cursor: pointer;
    touch-action: manipulation;
  }

  .collection-arrows button:focus-visible {
    outline: 2px solid var(--champagne);
    outline-offset: 3px;
  }

  /* Science */

  .science-section {
    min-height: clamp(700px, 78svh, 820px);
  }

  .science-content {
    grid-template-columns: minmax(0, 1fr) minmax(0, .88fr);
    gap: clamp(34px, 5vw, 64px);
    width: calc(100% - (var(--page-x) * 2));
    padding: clamp(62px, 8vh, 84px) 0;
  }

  .science-intro h2 {
    margin-bottom: 26px;
    font-size: clamp(44px, 6.5vw, 68px);
  }

  .science-lead {
    font-size: clamp(15px, 1.8vw, 18px);
    line-height: 1.54;
  }

  .science-copy {
    max-width: none;
    padding: 20px 0 20px clamp(22px, 3vw, 34px);
  }

  .science-copy p {
    margin-bottom: 16px;
    font-size: clamp(12px, 1.35vw, 14px);
    line-height: 1.62;
  }

  /* Scent finder */

  .soul-section {
    height: clamp(720px, 92svh, 920px);
    min-height: 720px;
    padding: clamp(12px, 1.8vw, 20px);
  }

  .soul-feature {
    grid-template-columns: 1fr 1fr;
  }

  .soul-statement {
    padding: clamp(28px, 4vw, 52px);
  }

  .soul-eyebrow {
    margin-bottom: 20px;
  }

  .soul-statement h2 {
    font-size: clamp(43px, 5.8vw, 66px);
  }

  .soul-statement > p:last-child {
    font-size: 12px;
  }

  .soul-card p {
    right: 20px;
    bottom: 22px;
    left: 20px;
    font-size: clamp(20px, 2.5vw, 28px);
  }

  /* Editorial mosaic */

  .mosaic-section {
    height: 130svh;
  }

  .mosaic-stage {
    min-height: 620px;
  }

  .mosaic-copy {
    width: min(54vw, 580px);
  }

  .mosaic-logo {
    width: clamp(170px, 20vw, 230px);
  }

  .mosaic-message {
    width: min(42vw, 390px);
    font-size: clamp(13px, 1.5vw, 16px);
  }

  /* FAQ */

  .faq-section {
    min-height: 0;
    padding: clamp(24px, 3vw, 40px);
  }

  .faq-grid {
    height: clamp(620px, 82svh, 820px);
    min-height: 620px;
  }

  .faq-copy {
    width: min(84%, 500px);
  }

  .faq-copy h3 {
    margin-bottom: clamp(22px, 3vh, 32px);
    font-size: clamp(18px, 2.1vw, 23px);
  }

  .faq-copy p {
    font-size: clamp(15px, 1.8vw, 19px);
    line-height: 1.5;
  }

  /* Contact */

  .contact-section {
    grid-template-columns: minmax(0, .9fr) minmax(340px, 1.1fr);
    gap: clamp(24px, 3.5vw, 42px);
    height: clamp(620px, 72svh, 760px);
    min-height: 620px;
    padding: clamp(32px, 4vw, 48px);
  }

  .contact-intro {
    top: clamp(38px, 5vw, 58px);
    bottom: clamp(42px, 5vw, 64px);
    left: clamp(32px, 4vw, 48px);
    width: min(40vw, 440px);
    padding-bottom: 0;
  }

  .contact-intro h2 {
    font-size: clamp(35px, 4.6vw, 52px);
    line-height: .94;
  }

  .contact-description {
    max-width: 360px;
    padding-top: 24px;
  }

  .contact-description p {
    margin-bottom: 10px;
    font-size: clamp(12px, 1.45vw, 15px);
    line-height: 1.5;
  }

  .contact-form-wrap {
    width: min(100%, 460px);
    padding: clamp(22px, 2.8vw, 30px);
    border-radius: 22px;
    box-shadow:
      0 20px 52px rgba(0, 0, 0, .24),
      inset 0 1px 0 rgba(255, 255, 255, .5);
  }

  .whatsapp-eyebrow {
    margin-bottom: 12px;
  }

  .whatsapp-connect h3 {
    margin-bottom: 12px;
    font-size: clamp(25px, 3vw, 32px);
  }

  .whatsapp-description {
    margin-bottom: 16px;
    font-size: 12px;
  }

  .whatsapp-button {
    min-height: 48px;
  }

  .whatsapp-note {
    margin-top: 12px;
    font-size: 12px;
  }
}

@media (min-width: 701px) and (max-width: 1199px) and (orientation: landscape) {
  .intro {
    height: 300svh;
  }

  .scene-opening {
    top: clamp(106px, 15svh, 136px);
  }

  .collection-card,
  .card-featured {
    height: clamp(400px, 44vw, 500px);
  }

  .science-section {
    min-height: clamp(650px, 88svh, 760px);
  }

  .soul-section {
    height: clamp(680px, 94svh, 790px);
    min-height: 680px;
  }

  .mosaic-section {
    height: 125svh;
  }

  .faq-grid {
    height: clamp(590px, 82svh, 700px);
    min-height: 590px;
  }

  .contact-section {
    height: clamp(600px, 86svh, 700px);
    min-height: 600px;
  }
}

@media (min-width: 701px) and (max-width: 1199px) and (orientation: portrait) {
  .science-intro {
    max-width: 330px;
  }

  .science-intro h2 {
    font-size: clamp(42px, 5.8vw, 58px);
  }
}

/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .intro {
    height: 100svh;
  }

  .sequence-canvas,
  .scene-opening,
  .scene-chemistry,
  .scroll-cue {
    display: none;
  }

  .poster img {
    content: url("assets/images/hero/desktop/image122.webp");

    object-position: center;
  }

  .scene-product {
    top: 50%;
    bottom: auto;

    opacity: 1 !important;
    visibility: visible !important;

    transform:
      translateY(-50%) !important;

    filter: none !important;
  }

  .science-curtain {
    display: none;
  }

  .science-image {
    transform: none !important;
    filter: none !important;
  }

  .mosaic-section {
    height: auto;
  }

  .mosaic-stage {
    position: relative;
  }

  .mosaic-tile,
  .mosaic-tile img,
  .mosaic-copy {
    transform: none !important;
    opacity: 1 !important;
  }

  .mosaic-logo {
    display: none;
  }

  .mosaic-message {
    opacity: 1 !important;
    filter: none !important;
  }

  .faq-card,
  .faq-card img,
  .faq-copy {
    transform: none !important;
    opacity: 1 !important;
  }

  .contact-visual > img,
  .contact-form-wrap {
    transform: none !important;
    opacity: 1 !important;
  }

  /*
     Contact text must remain fully visible
     even in reduced-motion mode.
  */
  .contact-intro,
  .contact-intro h2,
  .contact-intro .contact-eyebrow,
  .contact-intro .contact-description,
  .contact-intro .contact-description p {
    opacity: 1 !important;
    visibility: visible !important;
    color: #fff !important;
  }
}
/* REMOVE CONTACT IMAGE DARK OVERLAY */

.contact-section::after {

  background: none !important;

  opacity: 0 !important;

}
