/* [project]/app/globals.css [app-client] (css) */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --spacing: .25rem;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components;

@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }

  .visible {
    visibility: visible;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .static {
    position: static;
  }

  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }

  .top-0 {
    top: calc(var(--spacing) * 0);
  }

  .left-0 {
    left: calc(var(--spacing) * 0);
  }

  .z-40 {
    z-index: 40;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .hidden {
    display: none;
  }

  .h-\[2px\] {
    height: 2px;
  }

  .origin-left {
    transform-origin: 0;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .bg-\[\#7cffcb\] {
    background-color: #7cffcb;
  }

  .opacity-80 {
    opacity: .8;
  }

  .mix-blend-screen {
    mix-blend-mode: screen;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_24px_rgba\(124\,255\,203\,0\.8\)\] {
    --tw-shadow: 0 0 24px var(--tw-shadow-color, #7cffcbcc);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
}

:root {
  --noct-black: #030303;
  --carbon: #0b0b0d;
  --smoke: #16161a;
  --moon: #f4f1ea;
  --chrome: #b8b8b8;
  --signal-mint: #7cffcb;
  --citrus-flash: #f6ff5c;
  --berry-static: #b100ff;
  --ice-static: #6ae4ff;
  --dark-cherry: #a10026;
  --line: #f4f1ea24;
  --muted: #f4f1eaad;
  --soft: #f4f1ea14;
  --font-display: "Space Grotesk", "Satoshi", "Neue Haas Grotesk", Arial, sans-serif;
  --font-body: Inter, Manrope, "Suisse Int'l", Arial, sans-serif;
  --font-mono: "JetBrains Mono", "IBM Plex Mono", monospace;
}

* {
  box-sizing: border-box;
}

html {
  color: var(--moon);
  background: var(--noct-black);
  scroll-behavior: smooth;
  position: relative;
}

body {
  background: linear-gradient(180deg, #ffffff06, transparent 20rem),
    var(--noct-black);
  min-height: 100svh;
  color: var(--moon);
  font-family: var(--font-body);
  letter-spacing: 0;
  margin: 0;
  overflow-x: hidden;
}

body:after {
  z-index: -3;
  pointer-events: none;
  content: "";
  background: radial-gradient(circle at 20% 20%, #b100ff1c, #0000 22rem), radial-gradient(circle at 82% 48%, #6ae4ff14, #0000 24rem), linear-gradient(#0000, #030303cc);
  animation: 16s ease-in-out infinite alternate noct-drift;
  position: fixed;
  inset: 0;
}

body:before {
  z-index: -2;
  pointer-events: none;
  content: "";
  opacity: .22;
  background-image: linear-gradient(#ffffff0a 1px, #0000 1px), linear-gradient(90deg, #ffffff06 1px, #0000 1px);
  background-size: 72px 72px;
  position: fixed;
  inset: 0;
  -webkit-mask-image: linear-gradient(#0000, #000 18% 78%, #0000);
  mask-image: linear-gradient(#0000, #000 18% 78%, #0000);
}

a {
  color: inherit;
  text-decoration: none;
}

button, input, select, textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

img {
  max-width: 100%;
  display: block;
}

.site-header {
  z-index: 60;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  background: #030303b8;
  border-bottom: 1px solid #f4f1ea14;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  min-height: 4.5rem;
  padding: 0 1.25rem;
  display: grid;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

.wordmark {
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1;
}

.desktop-nav {
  color: var(--muted);
  justify-content: center;
  gap: 1.25rem;
  font-size: .86rem;
  display: none;
}

.desktop-nav a, .mobile-nav a {
  transition: color .18s;
}

.desktop-nav a:hover, .mobile-nav a:hover {
  color: var(--moon);
}

.header-actions {
  justify-content: flex-end;
  align-items: center;
  gap: .5rem;
  min-width: 0;
  display: flex;
}

.icon-button {
  border: 1px solid var(--line);
  min-width: 2.55rem;
  height: 2.55rem;
  color: var(--moon);
  background: #f4f1ea0d;
  border-radius: 999px;
  place-items: center;
  display: inline-grid;
}

.cart-link {
  grid-auto-flow: column;
  gap: .45rem;
  padding: 0 .75rem;
}

.mobile-menu-button {
  display: inline-grid;
}

.mobile-nav {
  border: 1px solid var(--line);
  background: #0b0b0df5;
  border-radius: 8px;
  min-width: 13rem;
  display: grid;
  position: absolute;
  top: calc(100% + .5rem);
  right: 1rem;
  overflow: hidden;
  box-shadow: 0 20px 70px #00000073;
}

.mobile-nav a {
  color: var(--muted);
  border-bottom: 1px solid #f4f1ea14;
  padding: 1rem;
}

.mobile-nav a:last-child {
  border-bottom: 0;
}

.page-shell {
  isolation: isolate;
  min-height: 100svh;
  padding-top: 4.5rem;
  position: relative;
}

.page-shell > .hero:first-child {
  margin-top: -4.5rem;
}

.hero + .section {
  padding-top: 2rem;
}

.section {
  padding: 6rem 1.25rem;
  position: relative;
}

.cinema-section {
  min-height: 92svh;
  overflow: clip;
}

.cinema-section:before {
  z-index: -1;
  pointer-events: none;
  content: "";
  opacity: .68;
  background: linear-gradient(110deg, #0000 0 40%, #7cffcb0a, #0000 62%), radial-gradient(circle at 18% 76%, #b100ff17, #0000 22rem);
  animation: 11s ease-in-out infinite alternate scene-haze;
  position: absolute;
  inset: 0;
  transform: translateZ(0);
}

.cinema-marker {
  z-index: 2;
  color: #f4f1ea85;
  width: min(1420px, 100% - 2.5rem);
  font-family: var(--font-mono);
  text-transform: uppercase;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 auto 1.5rem;
  font-size: .72rem;
  display: flex;
  position: sticky;
  top: 5.2rem;
}

.film-letterbox {
  background: linear-gradient(#000000c2, #0000002e);
  height: clamp(1rem, 4vw, 3rem);
  position: absolute;
  left: 0;
  right: 0;
}

.film-letterbox-top {
  top: 0;
}

.film-letterbox-bottom {
  bottom: 0;
  transform: rotate(180deg);
}

.film-grain {
  opacity: .08;
  background-image: radial-gradient(circle at 20% 30%, #ffffff8c 0 1px, #0000 1.5px), radial-gradient(circle at 80% 60%, #ffffff61 0 1px, #0000 1.5px), radial-gradient(circle at 45% 72%, #ffffff47 0 1px, #0000 1.5px);
  background-size: 18px 22px, 26px 30px, 34px 28px;
  animation: .62s steps(2, end) infinite grain-jitter;
  position: absolute;
  inset: -20%;
}

.film-scanlines {
  opacity: .075;
  background-image: linear-gradient(#ffffff52 1px, #0000 1px);
  background-size: 100% 5px;
  position: absolute;
  inset: 0;
}

.section-inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.wide-inner {
  width: min(1420px, 100%);
  margin: 0 auto;
}

.eyebrow {
  color: var(--chrome);
  font-family: var(--font-mono);
  text-transform: uppercase;
  margin: 0 0 1rem;
  font-size: .78rem;
}

.display {
  font-family: var(--font-display);
  text-transform: uppercase;
  overflow-wrap: anywhere;
  margin: 0;
  font-size: 4rem;
  font-weight: 900;
  line-height: .88;
}

.section-title {
  font-family: var(--font-display);
  text-transform: uppercase;
  overflow-wrap: anywhere;
  margin: 0;
  font-size: 3.15rem;
  font-weight: 900;
  line-height: .92;
}

.lead {
  max-width: 41rem;
  color: var(--muted);
  margin: 1rem 0 0;
  font-size: 1.08rem;
  line-height: 1.65;
}

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

.button {
  border: 1px solid var(--line);
  min-height: 3rem;
  color: var(--moon);
  background: #f4f1ea0f;
  border-radius: 999px;
  grid-auto-flow: column;
  justify-content: center;
  align-items: center;
  gap: .55rem;
  padding: .85rem 1.05rem;
  transition: transform .18s, border-color .18s, background .18s;
  display: inline-grid;
}

.button:hover {
  background: #f4f1ea1a;
  border-color: #f4f1ea52;
  transform: translateY(-2px);
}

.button.primary {
  border-color: var(--moon);
  background: var(--moon);
  color: var(--noct-black);
}

.button.signal {
  border-color: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .button.signal {
    border-color: color-mix(in srgb, var(--accent) 72%, transparent);
  }
}

.button.signal {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .button.signal {
    background: color-mix(in srgb, var(--accent) 20%, transparent);
  }
}

.hero {
  isolation: isolate;
  align-items: end;
  min-height: 92svh;
  padding: 6.25rem 1.25rem 3rem;
  display: grid;
  position: relative;
  overflow: hidden;
}

.hero:before {
  z-index: -2;
  content: "";
  background: linear-gradient(90deg, #030303f5, #03030394 48%, #030303eb),
    linear-gradient(180deg, transparent 0, #030303ad 74%, var(--noct-black) 100%),
    url("/visuals/noct-hero.png") center / cover no-repeat;
  position: absolute;
  inset: 0;
}

.hero:after {
  z-index: -1;
  content: "";
  mix-blend-mode: screen;
  background: linear-gradient(115deg, #0000 0 50%, #7cffcb14, #0000 72%), linear-gradient(10deg, #0000 0 55%, #b100ff14, #0000 80%);
  position: absolute;
  inset: 0;
}

.hero-inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.hero-kicker {
  color: var(--chrome);
  font-family: var(--font-mono);
  text-transform: uppercase;
  margin: 0 0 .9rem;
  font-size: .8rem;
}

.hero-title {
  max-width: 52rem;
  font-family: var(--font-display);
  text-transform: uppercase;
  margin: 0;
  font-size: 5.4rem;
  font-weight: 900;
  line-height: .84;
}

.hero-title span {
  color: var(--moon);
  margin-top: .25rem;
  display: block;
}

.hero-copy {
  max-width: 37rem;
  color: var(--muted);
  margin: 1.2rem 0 0;
  font-size: 1.08rem;
  line-height: 1.55;
}

.hero-kicker, .hero-title, .hero-copy, .hero-buttons {
  animation: .65s cubic-bezier(.16, 1, .3, 1) both hero-in;
}

.hero-title {
  animation-delay: .25s;
}

.hero-copy {
  animation-delay: .52s;
}

.hero-buttons {
  animation-delay: .78s;
}

.hero-signal {
  aspect-ratio: 1;
  width: 19rem;
  display: none;
  position: absolute;
  bottom: 6rem;
  right: 4rem;
}

.hero-reel {
  z-index: 2;
  color: #f4f1ea6b;
  font-family: var(--font-mono);
  text-transform: uppercase;
  justify-content: space-between;
  gap: 1rem;
  font-size: .68rem;
  display: flex;
  position: absolute;
  bottom: 1rem;
  left: 1.25rem;
  right: 1.25rem;
}

.product-orbit {
  background: linear-gradient(135deg, #ffffffdb, #ffffff14 38%, #7cffcb8c 52%, #ffffff14), #070707;
  border-radius: 999px;
  width: 100%;
  height: 100%;
  position: relative;
  box-shadow: inset 0 0 42px #ffffff29, 0 0 70px #7cffcb29;
}

.product-orbit:before {
  content: "";
  background: #030303f0;
  border-radius: 999px;
  position: absolute;
  inset: 23%;
  box-shadow: inset 0 0 36px #ffffff14;
}

.product-orbit:after {
  background: linear-gradient(90deg, transparent, var(--signal-mint), transparent);
  content: "";
  height: 3px;
  position: absolute;
  inset: 44% 12%;
  transform: rotate(-18deg);
}

.category-stage {
  gap: 2rem;
  display: grid;
}

.category-lines {
  gap: .8rem;
  display: grid;
}

.category-line {
  font-family: var(--font-display);
  text-transform: uppercase;
  color: #f4f1ea3d;
  margin: 0;
  font-size: 3.65rem;
  font-weight: 900;
  line-height: .92;
  transition: color .2s, transform .2s;
}

.category-line.active {
  color: var(--moon);
  transform: translateX(.45rem);
}

.macro-grid, .trust-grid, .product-detail-grid, .checkout-grid, .cart-layout {
  gap: 2rem;
  display: grid;
}

.macro-media, .product-hero-media, .film-frame, .social-tile, .poster-media {
  background: var(--smoke);
  border-radius: 8px;
  position: relative;
  overflow: hidden;
}

.macro-media {
  min-height: 30rem;
}

.cinematic-media, .cinematic-frame {
  transform-style: preserve-3d;
  box-shadow: inset 0 0 0 1px #f4f1ea14, 0 44px 110px #0000007a;
}

.cinematic-media:before, .cinematic-frame:before {
  z-index: 1;
  pointer-events: none;
  content: "";
  opacity: 0;
  background: linear-gradient(112deg, #0000 0 35%, #f4f1ea47, #0000 62%);
  transition: opacity .18s;
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
}

.cinematic-media:hover:before, .cinematic-frame:hover:before, .scent-card:hover:after {
  opacity: 1;
  animation: .95s cubic-bezier(.16, 1, .3, 1) light-sweep;
}

.macro-media img, .product-hero-media img, .film-frame img, .social-tile img, .poster-media img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.macro-copy {
  align-self: center;
}

.micro-list {
  flex-wrap: wrap;
  gap: .6rem;
  margin: 2rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.micro-list li {
  border: 1px solid var(--line);
  color: var(--chrome);
  font-family: var(--font-mono);
  border-radius: 999px;
  padding: .55rem .78rem;
  font-size: .78rem;
}

.film-strip {
  gap: 1rem;
  margin-top: 2rem;
  display: grid;
}

.film-frame {
  align-items: end;
  min-height: 25rem;
  display: grid;
}

.film-frame img, .social-tile img, .scent-card img {
  transition: transform .9s cubic-bezier(.16, 1, .3, 1), filter .9s cubic-bezier(.16, 1, .3, 1);
}

.film-frame:hover img, .social-tile:hover img, .scent-card:hover img {
  filter: saturate(1.18) contrast(1.08);
  transform: scale(1.06);
}

.film-frame:after, .social-tile:after, .poster-media:after {
  content: "";
  background: linear-gradient(#0000 35%, #030303b8);
  position: absolute;
  inset: 0;
}

.film-frame span, .social-tile span {
  z-index: 1;
  font-family: var(--font-display);
  padding: 1.25rem;
  font-size: 1.55rem;
  font-weight: 800;
  line-height: 1;
  position: relative;
}

.scent-grid {
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-top: 2rem;
  display: grid;
}

.scent-card, .line-card, .cart-panel, .checkout-panel {
  border: 1px solid var(--line);
  background: #f4f1ea0b;
  border-radius: 8px;
}

.scent-card {
  min-height: 31rem;
  display: grid;
  position: relative;
  overflow: hidden;
}

.scent-card:before {
  content: "";
  background: linear-gradient(180deg, transparent, #030303d1),
    linear-gradient(135deg, var(--accent), transparent 52%);
  position: absolute;
  inset: 0;
}

@supports (color: color-mix(in lab, red, red)) {
  .scent-card:before {
    background: linear-gradient(180deg, transparent, #030303d1),
    linear-gradient(135deg, color-mix(in srgb, var(--accent) 24%, transparent), transparent 52%);
  }
}

.scent-card:before {
  opacity: .92;
}

.scent-card:after {
  z-index: 2;
  pointer-events: none;
  content: "";
  opacity: 0;
  background: linear-gradient(112deg, transparent 0 36%, var(--accent), transparent 62%);
  position: absolute;
  inset: 0;
}

@supports (color: color-mix(in lab, red, red)) {
  .scent-card:after {
    background: linear-gradient(112deg, transparent 0 36%, color-mix(in srgb, var(--accent) 32%, white), transparent 62%);
  }
}

.scent-card:after {
  transform: translateX(-110%);
}

.scent-card img {
  object-fit: cover;
  width: 100%;
  height: 19rem;
}

.scent-card-content {
  z-index: 1;
  align-self: end;
  padding: 1.25rem;
  position: relative;
}

.scent-card h3 {
  font-family: var(--font-display);
  text-transform: uppercase;
  margin: 0;
  font-size: 2rem;
  line-height: .95;
}

.scent-card p {
  color: var(--muted);
  margin: .75rem 0 0;
  line-height: 1.5;
}

.card-actions {
  flex-wrap: wrap;
  gap: .6rem;
  margin-top: 1.1rem;
  display: flex;
}

.steps {
  gap: 1rem;
  margin-top: 2rem;
  display: grid;
}

.step {
  border-top: 1px solid var(--line);
  padding: 1.25rem 0;
  position: relative;
}

.step:after {
  content: "";
  background: linear-gradient(90deg, var(--signal-mint), transparent);
  transform-origin: 0;
  width: 42%;
  height: 1px;
  animation: 2.8s ease-in-out infinite alternate ritual-line;
  position: absolute;
  top: -1px;
  left: 0;
}

.step strong {
  color: var(--chrome);
  font-family: var(--font-mono);
  margin-bottom: .55rem;
  font-size: .86rem;
  display: block;
}

.step h3 {
  font-family: var(--font-display);
  text-transform: uppercase;
  margin: 0;
  font-size: 2.3rem;
}

.step p {
  max-width: 26rem;
  color: var(--muted);
  margin: .5rem 0 0;
  line-height: 1.5;
}

.social-grid {
  gap: 1rem;
  margin-top: 2rem;
  display: grid;
}

.social-tile {
  min-height: 16rem;
}

.social-hooks {
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.5rem;
  display: flex;
}

.social-hooks span {
  border: 1px solid var(--line);
  color: var(--chrome);
  border-radius: 999px;
  padding: .7rem .9rem;
}

.trust-grid {
  align-items: start;
}

.trust-list {
  gap: .8rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.trust-list li, .spec-row {
  border-top: 1px solid var(--line);
  color: var(--muted);
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: .75rem;
  padding: 1rem 0;
  display: grid;
}

.launch-cta {
  background: linear-gradient(90deg, #030303eb, #03030380, #030303eb), url("/visuals/noct-lineup.png") center / cover no-repeat;
  overflow: hidden;
}

.shop-hero, .simple-hero {
  padding: 9rem 1.25rem 4rem;
}

.simple-hero, .shop-hero, .product-hero {
  position: relative;
  overflow: clip;
}

.simple-hero:before, .shop-hero:before, .product-hero:before {
  z-index: -1;
  content: "";
  background: radial-gradient(circle at 74% 28%, #7cffcb1f, #0000 24rem), linear-gradient(110deg, #0000, #b100ff14, #0000);
  animation: 12s ease-in-out infinite alternate scene-haze;
  position: absolute;
  inset: 0;
}

.shop-toolbar {
  color: var(--muted);
  flex-wrap: wrap;
  gap: .8rem;
  margin-top: 2rem;
  display: flex;
}

.product-hero {
  padding: 8rem 1.25rem 4rem;
}

.product-hero-media {
  min-height: 32rem;
}

.product-meta {
  align-self: end;
}

.profile-list {
  gap: .75rem;
  margin: 2rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.profile-list li {
  border-top: 1px solid var(--line);
  color: var(--muted);
  justify-content: space-between;
  gap: 1rem;
  padding: .85rem 0;
  display: flex;
}

.line-card, .cart-panel, .checkout-panel {
  padding: 1.2rem;
  position: relative;
  overflow: hidden;
}

.line-card:before, .cart-panel:before, .checkout-panel:before {
  pointer-events: none;
  content: "";
  opacity: .54;
  background: linear-gradient(120deg, #0000 0 48%, #f4f1ea14, #0000 62%);
  animation: 7s ease-in-out infinite panel-sweep;
  position: absolute;
  inset: 0;
  transform: translateX(-120%);
}

.line-card h2, .cart-panel h2, .checkout-panel h2 {
  font-family: var(--font-display);
  text-transform: uppercase;
  margin: 0 0 1rem;
  font-size: 1.6rem;
}

.cart-item {
  border-top: 1px solid var(--line);
  grid-template-columns: 5rem 1fr;
  gap: 1rem;
  padding: 1rem 0;
  display: grid;
}

.cart-item img {
  object-fit: cover;
  border-radius: 8px;
  width: 5rem;
  height: 5rem;
}

.quantity-controls {
  border: 1px solid var(--line);
  border-radius: 999px;
  align-items: center;
  display: inline-flex;
  overflow: hidden;
}

.quantity-controls button {
  width: 2.25rem;
  height: 2.25rem;
  color: var(--moon);
  background: none;
  border: 0;
}

.quantity-controls span {
  text-align: center;
  min-width: 2rem;
}

.field-grid {
  gap: 1rem;
  display: grid;
}

.field {
  gap: .45rem;
  display: grid;
}

.field span {
  color: var(--chrome);
  font-family: var(--font-mono);
  text-transform: uppercase;
  font-size: .76rem;
}

.field input, .field select {
  border: 1px solid var(--line);
  min-height: 3rem;
  color: var(--moon);
  background: #f4f1ea0a;
  border-radius: 8px;
  padding: 0 .9rem;
}

.notice {
  border: 1px solid var(--line);
  color: var(--muted);
  background: #f4f1ea0b;
  border-radius: 8px;
  padding: 1rem;
  line-height: 1.5;
}

.muted {
  color: var(--muted);
}

.footer {
  border-top: 1px solid var(--line);
  color: var(--muted);
  padding: 3rem 1.25rem;
}

.footer-inner {
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  width: min(1180px, 100%);
  margin: 0 auto;
  display: flex;
}

@media (min-width: 720px) {
  .site-header {
    padding: 0 2rem;
  }

  .desktop-nav {
    display: flex;
  }

  .mobile-menu-button {
    display: none;
  }

  .display {
    font-size: 6.6rem;
  }

  .section-title {
    font-size: 5rem;
  }

  .category-line {
    font-size: 5.6rem;
  }

  .scent-grid, .social-grid, .film-strip, .field-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 980px) {
  .section {
    padding: 8rem 2rem;
  }

  .hero {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .hero-title {
    font-size: 8.8rem;
  }

  .hero-signal {
    display: block;
  }

  .macro-grid, .trust-grid, .product-detail-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    align-items: center;
  }

  .checkout-grid, .cart-layout {
    grid-template-columns: minmax(0, 1fr) 24rem;
    align-items: start;
  }

  .scent-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .film-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1320px) {
  .hero-title {
    font-size: 10.4rem;
  }

  .display {
    font-size: 8rem;
  }
}

@media (max-width: 520px) {
  .site-header {
    justify-content: space-between;
    padding: 0 .85rem;
    display: flex;
  }

  .header-actions {
    z-index: 70;
    gap: .35rem;
    position: fixed;
    top: .95rem;
    right: .85rem;
  }

  .cart-link {
    width: 2.25rem;
    min-width: 2.25rem;
    padding: 0;
  }

  .cart-link span {
    display: none;
  }

  .hero-title {
    font-size: 3.7rem;
  }

  .display {
    font-size: 3.15rem;
  }

  .section-title {
    font-size: 2.7rem;
  }

  .category-line {
    font-size: 2.85rem;
  }

  .button {
    white-space: normal;
    text-align: center;
    width: calc(100% - 1px);
    min-width: 0;
  }

  .macro-media, .product-hero-media {
    min-height: 22rem;
  }
}

@keyframes hero-in {
  from {
    transform: translateY(18px);
  }

  to {
    transform: translateY(0);
  }
}

@keyframes noct-drift {
  from {
    transform: translate3d(-2%, -1%, 0)scale(1);
  }

  to {
    transform: translate3d(2%, 1%, 0)scale(1.05);
  }
}

@keyframes scene-haze {
  from {
    transform: translate3d(-2rem, 1rem, 0)scale(1);
  }

  to {
    transform: translate3d(2rem, -1rem, 0)scale(1.04);
  }
}

@keyframes grain-jitter {
  0% {
    transform: translate3d(0, 0, 0);
  }

  50% {
    transform: translate3d(-2%, 1%, 0);
  }

  100% {
    transform: translate3d(1%, -2%, 0);
  }
}

@keyframes light-sweep {
  from {
    transform: translateX(-120%);
  }

  to {
    transform: translateX(120%);
  }
}

@keyframes panel-sweep {
  0%, 34% {
    transform: translateX(-120%);
  }

  62%, 100% {
    transform: translateX(120%);
  }
}

@keyframes ritual-line {
  from {
    opacity: .45;
    transform: scaleX(.28);
  }

  to {
    opacity: 1;
    transform: scaleX(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  *, :before, :after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

.story-page {
  min-height: 100svh;
  color: var(--moon);
  isolation: isolate;
  background: #050505;
  position: relative;
  overflow-x: clip;
}

.story-page:before, .story-page:after {
  z-index: 0;
  pointer-events: none;
  content: "";
  position: fixed;
  inset: 0;
}

.story-page:before {
  opacity: .22;
  background: radial-gradient(circle at 28% 22%, #f4f1ea14, #0000 24rem), radial-gradient(circle at 78% 62%, #7cffcb0f, #0000 28rem);
  animation: 18s ease-in-out infinite alternate noct-drift;
}

.story-page:after {
  opacity: .15;
  mix-blend-mode: screen;
  background-image: linear-gradient(#f4f1ea0a 1px, #0000 1px), radial-gradient(circle, #f4f1ea2b 0 1px, #0000 1.4px);
  background-size: 100% 4px, 36px 36px;
}

.story-section {
  z-index: 1;
  min-height: 100svh;
  padding: clamp(6rem, 9vw, 8rem) clamp(1.2rem, 4vw, 5rem);
  display: grid;
  position: relative;
  overflow: clip;
}

.story-kicker {
  color: #f4f1eaa3;
  font-family: var(--font-mono);
  letter-spacing: .22em;
  text-transform: uppercase;
  margin: 0;
  font-size: clamp(.68rem, .75vw, .78rem);
}

.opening-scene {
  background: #050505;
  place-items: center;
}

.story-particles {
  opacity: .34;
  background-image: radial-gradient(circle, #f4f1ea94 0 1px, #0000 1.5px), radial-gradient(circle, #7cffcb52 0 1px, #0000 1.5px);
  background-position: 0 0, 18px 24px;
  background-size: 92px 92px, 140px 140px;
  animation: .9s steps(2, end) infinite grain-jitter;
  position: absolute;
  inset: 0;
  -webkit-mask-image: radial-gradient(circle, #000 0 34%, #0000 72%);
  mask-image: radial-gradient(circle, #000 0 34%, #0000 72%);
}

.opening-glow {
  aspect-ratio: 1;
  opacity: .18;
  filter: blur(34px);
  background: radial-gradient(circle, #f4f1ea33, #0000 68%);
  border-radius: 999px;
  width: min(34rem, 70vw);
  animation: 5.8s ease-in-out infinite alternate opening-pulse;
  position: absolute;
}

.opening-logo {
  z-index: 2;
  text-align: center;
  place-items: center;
  display: grid;
  position: relative;
}

.opening-logo h1 {
  font-family: var(--font-display);
  letter-spacing: .16em;
  margin: 1.2rem 0 0;
  font-size: clamp(4.8rem, 18vw, 17rem);
  font-weight: 900;
  line-height: .78;
}

.opening-positioning {
  color: #f4f1eae6;
  font-family: var(--font-display);
  letter-spacing: .04em;
  margin: clamp(1.4rem, 4vw, 3rem) 0 0;
  font-size: clamp(1.25rem, 3vw, 3.2rem);
  font-weight: 800;
  line-height: 1;
}

.star-pulse {
  background: var(--moon);
  border-radius: 999px;
  width: .5rem;
  height: .5rem;
  margin-top: 1.5rem;
  animation: 2.6s ease-in-out infinite alternate opening-pulse;
  box-shadow: 0 0 28px #f4f1eaf2;
}

.scroll-enter {
  color: #f4f1ea7a;
  font-family: var(--font-mono);
  letter-spacing: .24em;
  margin-top: clamp(2rem, 5vw, 4rem);
  font-size: .72rem;
}

.object-scene {
  background: radial-gradient(circle at 34% 46%, #f4f1ea14, #0000 22rem), linear-gradient(#050505, #0b0b0b);
  grid-template-columns: minmax(0, 1fr) minmax(20rem, .72fr);
  align-items: center;
  gap: clamp(2rem, 6vw, 7rem);
}

.object-stage {
  place-items: center;
  min-height: min(70svh, 46rem);
  display: grid;
  position: relative;
}

.object-device, .final-product {
  aspect-ratio: 1;
  width: clamp(13rem, 32vw, 30rem);
  transform-style: preserve-3d;
  background: radial-gradient(circle, #050505 0 27%, #0000 28%), conic-gradient(from 28deg, #060606, #f4f1ea, #151515, #7cffcb, #050505, #d8d8d8, #050505);
  border-radius: 999px;
  position: relative;
  box-shadow: inset 0 0 60px #000000d1, 0 40px 120px #000000ad, 0 0 90px #f4f1ea1a;
}

.object-device span, .final-product span {
  background: linear-gradient(90deg, transparent, var(--moon), transparent);
  width: 64%;
  height: 1px;
  position: absolute;
  top: 48%;
  left: 18%;
  transform: rotate(-22deg);
  box-shadow: 0 0 22px #f4f1eab8;
}

.edge-light {
  filter: blur(1px);
  background: linear-gradient(90deg, #0000, #f4f1eae6, #0000);
  width: 42%;
  height: 1px;
  position: absolute;
  transform: translate(18%, -980%)rotate(-22deg);
}

.object-copy, .ritual-copy, .social-copy, .details-copy, .final-copy {
  z-index: 2;
  max-width: 46rem;
  position: relative;
}

.object-copy h2, .ritual-copy h2, .social-copy h2, .details-copy h2, .final-copy h2 {
  font-family: var(--font-display);
  letter-spacing: .03em;
  text-transform: uppercase;
  margin: 1rem 0 0;
  font-size: clamp(3rem, 8vw, 9.5rem);
  font-weight: 900;
  line-height: .86;
}

.object-copy p:not(.story-kicker), .ritual-copy p:not(.story-kicker), .social-copy p, .details-copy li {
  color: #f4f1eaad;
  font-size: clamp(1.05rem, 1.45vw, 1.45rem);
  line-height: 1.55;
}

.ritual-scene {
  background: linear-gradient(#050505d9, #050505f2), radial-gradient(circle at 60% 30%, #b100ff1f, #0000 30rem);
  align-content: center;
  gap: clamp(2rem, 5vw, 5rem);
}

.ritual-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(.75rem, 1.2vw, 1.2rem);
  display: grid;
}

.ritual-clip {
  background: #0b0b0b;
  min-height: clamp(20rem, 42vw, 38rem);
  margin: 0;
  position: relative;
  overflow: hidden;
}

.ritual-clip:nth-child(2n) {
  margin-top: clamp(2rem, 6vw, 6rem);
}

.ritual-clip img, .social-video-wall img, .scent-art img {
  object-fit: cover;
  filter: saturate(.74) contrast(1.13) brightness(.72);
  width: 100%;
  height: 100%;
  transform: scale(1.04);
}

.scent-void .scent-art img {
  filter: grayscale() contrast(1.18) brightness(.76);
}

.ritual-clip:after, .social-video-wall span:after, .scent-film:after {
  pointer-events: none;
  content: "";
  background: linear-gradient(#00000005, #00000094), linear-gradient(90deg, #0000, #f4f1ea0a, #0000);
  position: absolute;
  inset: 0;
}

.ritual-clip figcaption {
  z-index: 1;
  color: #f4f1ead1;
  font-family: var(--font-mono);
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: .72rem;
  position: absolute;
  bottom: 1rem;
  left: 1rem;
}

.scent-horizontal-section {
  z-index: 2;
  background: #050505;
  height: 100svh;
  position: relative;
  overflow: hidden;
}

.horizontal-intro {
  z-index: 4;
  color: #f4f1ea94;
  font-family: var(--font-mono);
  letter-spacing: .16em;
  text-transform: uppercase;
  justify-content: space-between;
  gap: 1rem;
  font-size: .72rem;
  display: flex;
  position: absolute;
  top: clamp(5.5rem, 8vw, 7.5rem);
  left: clamp(1.2rem, 4vw, 5rem);
  right: clamp(1.2rem, 4vw, 5rem);
}

.scent-track {
  will-change: transform;
  width: max-content;
  height: 100%;
  display: flex;
}

.scent-film {
  background: radial-gradient(circle at 28% 58%, var(--accent), transparent 28rem),
    linear-gradient(120deg, #050505, #0b0b0b 52%, #050505);
  grid-template-columns: minmax(0, .95fr) minmax(19rem, .7fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 7rem);
  width: 100vw;
  height: 100svh;
  padding: clamp(6rem, 10vw, 9rem) clamp(1.2rem, 5vw, 6rem);
  display: grid;
  position: relative;
  overflow: hidden;
}

@supports (color: color-mix(in lab, red, red)) {
  .scent-film {
    background: radial-gradient(circle at 28% 58%, color-mix(in srgb, var(--accent) 20%, transparent), transparent 28rem),
    linear-gradient(120deg, #050505, #0b0b0b 52%, #050505);
  }
}

.scent-atmosphere {
  opacity: .32;
  background: linear-gradient(115deg, transparent 0 40%, var(--accent), transparent 68%),
    radial-gradient(circle at 72% 44%, var(--accent), transparent 22rem);
  position: absolute;
  inset: 0;
}

@supports (color: color-mix(in lab, red, red)) {
  .scent-atmosphere {
    background: linear-gradient(115deg, transparent 0 40%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 68%),
    radial-gradient(circle at 72% 44%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 22rem);
  }
}

.scent-atmosphere {
  filter: blur(8px);
}

.scent-art {
  z-index: 1;
  border-left: 1px solid var(--accent);
  height: min(68svh, 44rem);
  position: relative;
  overflow: hidden;
}

@supports (color: color-mix(in lab, red, red)) {
  .scent-art {
    border-left: 1px solid color-mix(in srgb, var(--accent) 52%, transparent);
  }
}

.scent-film-copy {
  z-index: 2;
  justify-items: start;
  display: grid;
  position: relative;
}

.scent-film-copy h2 {
  color: var(--accent);
  font-family: var(--font-display);
  letter-spacing: .08em;
  margin: 1rem 0 1.5rem;
  font-size: clamp(5rem, 13vw, 14rem);
  font-weight: 900;
  line-height: .8;
}

.scent-film-copy p {
  color: #f4f1eadb;
  margin: .2rem 0;
  font-size: clamp(1.15rem, 1.8vw, 1.9rem);
  line-height: 1.2;
}

.scent-film-copy span:not(.story-kicker) {
  color: #f4f1ea80;
  max-width: 30rem;
  font-family: var(--font-mono);
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-top: 1.6rem;
  font-size: .72rem;
  line-height: 1.8;
}

.luxury-button {
  min-height: 3.2rem;
  color: var(--moon);
  font-family: var(--font-mono);
  letter-spacing: .16em;
  text-transform: uppercase;
  background: #f4f1ea05;
  border: 1px solid #f4f1ea70;
  border-radius: 2px;
  grid-auto-flow: column;
  justify-content: center;
  align-items: center;
  gap: .65rem;
  margin-top: 2.2rem;
  padding: .95rem 1.25rem;
  font-size: .74rem;
  transition: background .22s, color .22s, transform .22s;
  display: inline-grid;
}

.luxury-button:hover {
  background: var(--moon);
  color: #050505;
  transform: translateY(-2px);
}

.luxury-button.primary {
  border-color: var(--moon);
  background: var(--moon);
  color: #050505;
}

.social-scene {
  grid-template-columns: minmax(0, 1fr) minmax(18rem, .62fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 6rem);
}

.social-video-wall {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  height: min(72svh, 48rem);
  display: grid;
}

.social-video-wall span {
  background: #0b0b0b;
  position: relative;
  overflow: hidden;
}

.social-video-wall span:nth-child(2) {
  transform: translateY(8%);
}

.social-copy h2 {
  gap: .15rem;
  font-size: clamp(3rem, 7vw, 8rem);
  display: grid;
}

.details-scene {
  background: radial-gradient(circle at 36% 48%, #f4f1ea14, #0000 28rem), #050505;
  grid-template-columns: minmax(0, .9fr) minmax(18rem, .7fr);
  align-items: center;
  gap: clamp(2rem, 6vw, 7rem);
}

.exploded-view {
  place-items: center;
  min-height: min(72svh, 44rem);
  display: grid;
  position: relative;
}

.explode-ring {
  aspect-ratio: 1;
  background: radial-gradient(circle, #0000 0 30%, #f4f1ea14 31% 36%, #0000 37%), conic-gradient(from 20deg, #0000, #f4f1eab8, #0000, #7cffcb47, #0000);
  border: 1px solid #f4f1ea57;
  border-radius: 999px;
  width: clamp(12rem, 28vw, 28rem);
  position: absolute;
  box-shadow: 0 0 90px #f4f1ea14;
}

.explode-a {
  transform: translateX(-18%)rotate(-18deg);
}

.explode-b {
  transform: translateX(14%)scale(.82)rotate(18deg);
}

.explode-c {
  transform: translateX(42%)scale(.52)rotate(42deg);
}

.explode-shadow {
  filter: blur(20px);
  background: #000000e6;
  border-radius: 999px;
  align-self: end;
  width: min(36rem, 70vw);
  height: 2rem;
}

.details-copy ul {
  gap: .85rem;
  margin: 2rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.final-scene {
  text-align: center;
  background: radial-gradient(circle at 50% 58%, #f4f1ea1f, #0000 18rem), linear-gradient(#050505, #0b0b0b);
  place-items: center;
}

.final-product {
  width: clamp(9rem, 18vw, 16rem);
}

.final-copy {
  justify-items: center;
  margin-top: clamp(2rem, 5vw, 4rem);
  display: grid;
}

.final-copy h2 {
  max-width: 58rem;
  font-size: clamp(3.2rem, 7vw, 7.6rem);
}

@keyframes opening-pulse {
  from {
    opacity: .16;
    transform: scale(.96);
  }

  to {
    opacity: .72;
    transform: scale(1.05);
  }
}

@media (max-width: 900px) {
  .story-section, .object-scene, .social-scene, .details-scene, .scent-film {
    grid-template-columns: 1fr;
  }

  .story-section, .scent-film {
    padding: 6.25rem 1.25rem 3rem;
  }

  .object-stage, .exploded-view {
    min-height: 42svh;
  }

  .ritual-grid, .social-video-wall {
    grid-template-columns: 1fr;
  }

  .ritual-clip, .social-video-wall {
    height: auto;
    min-height: 18rem;
  }

  .ritual-clip:nth-child(2n), .social-video-wall span:nth-child(2) {
    margin-top: 0;
    transform: none;
  }

  .scent-art {
    height: 38svh;
  }

  .scent-film-copy h2 {
    font-size: clamp(4rem, 22vw, 7rem);
  }

  .horizontal-intro {
    display: none;
  }
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

/*# sourceMappingURL=app_globals_0jn8.0u.css.map*/