@font-face {
  font-family: "Outfit";
  src: url("/fonts/outfit-latin.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Newsreader";
  src: url("/r4/assets/cinematic/newsreader-display.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

body.cinematic {
  --gm-night: #111e20;
  --gm-paper: #172626;
  --gm-ink: #edf0e6;
  --gm-muted: #b7c3b8;
  --gm-accent: #e5ecb1;
  --gm-line: #3a4942;
  --gm-ease: cubic-bezier(.16, 1, .3, 1);
  --gm-gutter: clamp(24px, 5vw, 88px);
  --font-display: "Newsreader", Georgia, serif;
  background: var(--gm-paper);
  color: var(--gm-ink);
  font-family: "Outfit", sans-serif;
  font-size: 17px;
  font-weight: 350;
  line-height: 1.6;
  padding: 0;
  overflow-x: clip;
  margin: 0;
}

body.cinematic *, body.cinematic *::before, body.cinematic *::after { box-sizing: border-box; }
body.cinematic img { display: block; max-width: 100%; }
body.cinematic { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body.cinematic h1, body.cinematic h2, body.cinematic h3 { text-wrap: balance; }
body.cinematic p, body.cinematic dd { text-wrap: pretty; }
body.cinematic .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
body.cinematic .hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }
body.cinematic .r4-sticky { display: none; }
html { scroll-behavior: smooth; }
html { scrollbar-color: #718579 #172626; }
body.cinematic ::selection { background: var(--gm-accent); color: var(--gm-night); }
body.cinematic :focus-visible { outline: 2px solid currentColor; outline-offset: 6px; }
body.cinematic a { color: inherit; text-underline-offset: 5px; }
body.cinematic button, body.cinematic input { font: inherit; }
body.cinematic button { cursor: pointer; }
body.cinematic button:disabled { cursor: wait; opacity: .65; }
body.cinematic svg { width: 24px; height: 24px; flex-shrink: 0; }
body.cinematic h1, body.cinematic h2, body.cinematic h3, body.cinematic p, body.cinematic figure { margin: 0; }
body.cinematic h1, body.cinematic h2 { font-family: var(--font-display); font-weight: 400; letter-spacing: -.035em; }
body.cinematic h2 { font-size: clamp(48px, 5.7vw, 88px); line-height: .99; }
body.cinematic h3 { font-weight: 400; line-height: 1.25; }
body.cinematic em { font-family: var(--font-display); font-weight: 400; }
body.cinematic main { max-width: none; padding: 0; }
body.cinematic [hidden] { display: none !important; }
.gm-shell { width: 100%; max-width: 1600px; margin: 0 auto; padding-left: var(--gm-gutter); padding-right: var(--gm-gutter); }
.gm-skip { position: fixed; top: -100px; left: 24px; padding: 12px 20px; z-index: 300; background: var(--gm-paper); color: var(--gm-ink); }
.gm-skip:focus { top: 20px; }
.gm-skip:not(:focus) { clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; padding: 0; }
#worlds, #how, #listen, #edition, #join, #signup-form-hero, #signup-form-footer { scroll-margin-top: 88px; }
body.cinematic .gm-nav { position: absolute; z-index: 20; top: 0; left: 0; margin: 0; width: 100%; max-width: none; height: 96px; border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; color: white; }
body.cinematic .r4-nav__inner { height: 100%; max-width: 1600px; margin: 0 auto; padding: 0 var(--gm-gutter); display: flex; align-items: center; justify-content: space-between; background: transparent; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none; }
body.cinematic .r4-nav__brand { padding: 0; font: 500 24px "Outfit", sans-serif; letter-spacing: -.035em; color: inherit; text-decoration: none; }
.gm-brand-dot { color: var(--gm-accent); }
body.cinematic .r4-nav__links { display: flex; gap: 36px; }
body.cinematic .r4-nav__links a { padding: 10px 0; font-size: 14px; text-decoration: none; color: inherit; opacity: .9; }
body.cinematic .r4-nav__links a:hover { opacity: 1; text-decoration: underline; }
body.cinematic .r4-nav__cta { display: inline-flex; align-items: center; gap: 24px; padding: 12px 0; background: transparent; border: 0; border-bottom: 1px solid #ffffff70; border-radius: 0; box-shadow: none; color: inherit; font-size: 14px; font-weight: 400; text-decoration: none; }
body.cinematic .r4-nav__cta.is-hidden { visibility: visible; opacity: 1; pointer-events: auto; }
.gm-hero { position: relative; isolation: isolate; min-height: 780px; height: auto; overflow: clip; background: var(--gm-night); color: #fff; }
.gm-hero-media, .gm-hero-shade { position: absolute; inset: 0; z-index: -2; }
.gm-hero-media picture { display: block; width: 100%; height: 100%; }
body.cinematic .gm-hero-landscape { width: 100%; height: 115%; object-fit: cover; object-position: 50% 60%; transform: translateY(var(--hero-shift, 0px)) scale(1.02); }
.gm-hero-shade { z-index: 0; background: linear-gradient(90deg, #09181ce6 0%, #09181c99 42%, #09181c80 80%), linear-gradient(0deg, #0b1b23de 0%, transparent 38%, #06161b28 100%); }
.gm-hero-content { position: relative; z-index: 2; padding: clamp(156px, 19vh, 210px) var(--gm-gutter) 155px; max-width: 1600px; margin: 0 auto; }
body.cinematic .gm-hero h1 { color: #fff; font-size: clamp(54px, 5.4vw, 82px); line-height: 1.02; margin: 0 0 25px; max-width: 53%; }
.gm-hero h1 em { color: #eaf0d7; }
.gm-title-line { display: block; overflow: clip; padding: .08em .08em .18em 0; margin: -.08em -.08em -.18em 0; }
.gm-title-line > * { display: block; }
.gm-nowrap { white-space: nowrap; }
.gm-hero-description { max-width: 43%; font-size: 18px; line-height: 1.65; color: #f0f3ec; }
.gm-mobile-break { display: none; }
.gm-button { display: inline-flex; align-items: center; gap: 48px; min-height: 56px; padding: 14px 22px; text-decoration: none; font-size: 15px; transition: background .25s, transform .18s; }
.gm-button--light { background: var(--gm-accent); color: var(--gm-night) !important; }
.gm-button:hover { background: #f1f5d3; }
.gm-button svg, .gm-text-link svg, .r4-nav__cta svg { transition: transform .45s var(--gm-ease); }
.gm-button:hover svg, .gm-text-link:hover svg, .r4-nav__cta:hover svg { transform: translateX(5px); }
.gm-button:active { transform: scale(.985); }
.gm-hero .gm-button { margin-top: 28px; }
.gm-hero-sample { display: flex; align-items: center; gap: 12px; width: fit-content; min-height: 50px; margin-top: 14px; padding: 12px 18px; border: 1px solid #b8c7ba; border-radius: 0; background: #12232480; color: #f0f3ec; font-size: 15px !important; line-height: 1.4; }
.gm-hero-sample:hover { background: #2b4038; }
.gm-hero-sample svg { width: 20px !important; height: 20px !important; }
body.cinematic .gm-hero-audio-status { margin-top: 10px; color: #e5ecb1; font-size: 13px; }
body.cinematic .gm-hero-object { position: absolute; z-index: 1; width: 41%; right: var(--gm-gutter); top: 27%; bottom: auto; transform: translateY(var(--object-shift, 0px)); }
body.cinematic .gm-hero-object img { width: 100%; height: auto; margin: 0 auto; transform: none; }
.gm-hero-object figcaption { text-align: center; line-height: 1.5; color: #fff; margin-top: 20px; }
.gm-hero-object figcaption strong { display: block; font-family: var(--font-display); font-size: 26px; font-weight: 400; line-height: 1.2; }
.gm-hero-object figcaption span { display: block; margin-top: 12px; font-size: 14px; color: #e8ece4; }
.gm-hero-object figcaption small { display: block; margin-top: 9px; font-size: 11px; color: #c8d4cd; }
.gm-hero-baseline { position: absolute; z-index: 3; left: var(--gm-gutter); right: var(--gm-gutter); bottom: 28px; display: flex; justify-content: space-between; align-items: end; padding-top: 22px; border-top: 1px solid #ffffff40; color: #e1e8e8; font-size: 12px; line-height: 1.4; }
.gm-scroll-link { position: absolute; left: 50%; bottom: -1px; display: grid; place-items: center; width: 44px; height: 44px; transform: rotate(90deg); }
.gm-motion-control { margin-left: auto; padding: 12px 0; color: inherit; background: none; border: 0; font-size: 12px !important; text-decoration: underline; text-underline-offset: 4px; }
.gm-intro { display: grid; grid-template-columns: 1.3fr 1fr; align-items: center; gap: 80px; padding-top: 76px; padding-bottom: 38px; }
body.cinematic .gm-intro-line { font: 400 clamp(34px, 3.5vw, 56px)/1.1 var(--font-display); letter-spacing: -.03em; }
.gm-intro-aside { max-width: 420px; justify-self: end; color: var(--gm-muted); font-size: 16px; }
.gm-intro-aside p + p { margin-top: 18px; }
.gm-intro-line em { color: var(--gm-accent); }
.gm-worlds { background: #172626; }
.gm-worlds-heading { padding-top: 35px; padding-bottom: 40px; display: flex; align-items: end; justify-content: space-between; gap: 32px; }
body.cinematic .gm-worlds-heading h2 { font-size: 48px; }
.gm-worlds-heading p { max-width: 35ch; color: #b7c3b8; font-size: 16px; padding-bottom: 5px; }
.gm-world-stage { position: relative; height: min(52vw, 640px); min-height: 520px; overflow: hidden; background: #101e23; color: white; touch-action: pan-y; }
.gm-world-images, .gm-world-scrim { position: absolute; inset: 0; }
body.cinematic .gm-world-image { width: 100%; height: 108%; object-fit: cover; object-position: center 58%; position: absolute; inset: 0; opacity: 0; visibility: hidden; transform: translateY(var(--world-shift, 0px)); }
body.cinematic [data-world-image="campfire"] { object-position: center bottom; }
body.cinematic .gm-world-image.is-active { opacity: 1; visibility: visible; }
.gm-world-scrim { background: linear-gradient(0deg, #031216e8, #0312164d 50%, #03121608); z-index: 3; pointer-events: none; }
.gm-world-caption { position: absolute; z-index: 4; bottom: 138px; left: var(--gm-gutter); right: var(--gm-gutter); }
.gm-world-count { color: #e3e9c9; font-size: 12px; font-variant-numeric: tabular-nums; }
body.cinematic .gm-world-caption h3 { font-family: var(--font-display); font-size: clamp(46px, 6vw, 90px); line-height: 1.05; letter-spacing: -.03em; margin: 14px 0 16px; }
.gm-world-caption > p:last-child { font-size: 17px; line-height: 1.55; max-width: 470px; color: #eff1ea; }
.gm-world-switches { position: absolute; z-index: 5; display: grid; grid-template-columns: repeat(4, 1fr); bottom: 0; left: var(--gm-gutter); right: var(--gm-gutter); border-top: 1px solid #ffffff50; }
.gm-world-switches button { position: relative; padding: 22px 8px 26px; min-height: 92px; color: #ffffffb3; border: 0; background: none; text-align: left; font-size: 16px; }
.gm-world-switches button span { display: block; margin-bottom: 6px; font-size: 10px; font-variant-numeric: tabular-nums; }
.gm-world-switches button::before { content: ""; position: absolute; top: -1px; left: 0; right: 18px; height: 3px; background: var(--gm-accent); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--gm-ease); }
.gm-world-switches button[aria-pressed="true"] { color: white; }
.gm-world-switches button[aria-pressed="true"]::before { transform: scaleX(1); }
.gm-world-switches button:hover { color: #fff; }
.gm-world-switches button.is-loading { color: var(--gm-accent); }
.gm-world-status { position: absolute; z-index: 6; top: 82px; left: var(--gm-gutter); right: var(--gm-gutter); width: fit-content; max-width: calc(100% - 2 * var(--gm-gutter)); padding: 8px 12px; background: #111e20; color: #edf0e6; font-size: 14px; }
.gm-world-details { padding: 36px 0 32px; background: #f3efe5; color: #203133; }
body.cinematic .gm-world-details h3 { font-family: var(--font-display); font-size: 30px; margin-bottom: 24px; }
.gm-world-pairing { display: grid; grid-template-columns: 1.2fr 1fr; margin: 0; gap: 48px; }
.gm-world-pairing dt { margin-bottom: 9px; font-size: 15px; font-weight: 500; }
.gm-world-pairing dd { margin: 0; max-width: 50ch; font-size: 17px; line-height: 1.6; }
.gm-world-scent { padding-right: 48px; border-right: 1px solid #c2c8bd; }
.gm-world-scent dd { min-height: 3.2em; }
body.cinematic #world-scent-notes { margin-top: 10px; color: #4d6055; font-size: 15px; }
body.cinematic .gm-world-development { margin-top: 26px; color: #4d6055; font-size: 14px; line-height: 1.6; max-width: 76ch; }
.gm-listening { display: grid; grid-template-columns: 1fr 1fr; gap: 25px 80px; padding-top: 45px; }
.gm-listening-copy h3 { font-family: var(--font-display); font-size: 29px; margin-bottom: 12px; }
.gm-listening-copy p { color: #b7c3b8; font-size: 15px; }
.gm-audio-ui { display: flex; align-items: center; gap: 20px; min-width: 0; }
.gm-audio-toggle { width: 58px; height: 58px; min-width: 58px; border: 1px solid #82928a; border-radius: 50%; display: grid; place-items: center; background: transparent; color: var(--gm-ink); transition: background .3s, transform .3s; }
.gm-audio-toggle:hover { background: var(--gm-accent); color: #172626; transform: scale(1.04); }
.gm-audio-toggle { position: relative; }
.gm-audio-toggle::after { content: ""; position: absolute; inset: -7px; border: 1px solid #c8d5b8; border-radius: inherit; opacity: 0; pointer-events: none; }
.gm-audio-ui.is-playing .gm-audio-toggle::after { animation: gm-listening-breath 3s ease-in-out infinite; }
.gm-audio-ui.is-offscreen .gm-audio-toggle::after { animation-play-state: paused; }
@keyframes gm-listening-breath { 0%, 100% { opacity: .15; transform: scale(.94); } 50% { opacity: .6; transform: scale(1.05); } }
.gm-audio-track { flex: 1; min-width: 0; }
#gm-audio-progress { width: 100%; height: 36px; margin: 0; cursor: pointer; accent-color: #e5ecb1; background: transparent; }
#gm-audio-progress:disabled { opacity: .5; cursor: default; }
.gm-audio-meta { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; color: #c1cdbf; font-variant-numeric: tabular-nums; }
#gm-audio-time { white-space: nowrap; }
.gm-passage { grid-column: 1 / -1; color: #c1cdbf; font-size: 13px; }
.gm-passage summary { cursor: pointer; padding: 12px 0; width: fit-content; min-height: 44px; }
.gm-passage p { max-width: 650px; padding: 8px 0; }

.gm-how { --gm-paper: #f3efe5; --gm-ink: #203133; --gm-muted: #59665d; --gm-line: #c2c8bd; padding-top: 85px; padding-bottom: 80px; background: var(--gm-paper); color: var(--gm-ink); max-width: none; }
.gm-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 35px; margin-bottom: 48px; }
.gm-section-heading > p { color: var(--gm-muted); font-size: 18px; }
.gm-section-heading > div { max-width: 420px; color: var(--gm-muted); font-size: 16px; }
.gm-section-heading > div p:first-child { margin-bottom: 16px; color: var(--gm-ink); }
.gm-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.gm-steps figure { overflow: hidden; background: #e8e1d6; }
body.cinematic .gm-steps img { width: 100%; aspect-ratio: 1.25; height: auto; object-fit: cover; transition: transform 1.2s var(--gm-ease); }
.gm-steps li:hover img { transform: scale(1.04); }
.gm-how-note { margin-top: 32px !important; color: var(--gm-muted); font-size: 16px; line-height: 1.65; }
.gm-step-patch { position: relative; --gm-step-inset: 24px; padding: var(--gm-step-inset); aspect-ratio: 1.25; }
body.cinematic .gm-step-patch img { position: absolute; inset: var(--gm-step-inset); width: calc(100% - 2 * var(--gm-step-inset)); height: calc(100% - 2 * var(--gm-step-inset)); object-fit: contain; }
.gm-step-copy { display: flex; gap: 20px; padding-top: 24px; }
.gm-step-copy > span { font-size: 11px; color: #56665d; padding-top: 5px; }
.gm-step-copy h3 { font-size: 25px; margin-bottom: 9px !important; }
.gm-step-copy p { font-size: 15px; color: var(--gm-muted); }
.gm-early-list { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 60px; border-top: 1px solid var(--gm-line); margin-top: 72px; padding-top: 42px; }
.gm-early-list h3 { font-family: var(--font-display); font-size: 30px; margin-bottom: 8px !important; }
.gm-early-list > div p { font-size: 14px; color: var(--gm-muted); }
body.cinematic .r4-form { margin: 0; padding: 0; width: 100%; max-width: none; border: 0; background: transparent; box-shadow: none; }
body.cinematic .r4-form-row { display: flex; gap: 0; align-items: stretch; padding: 0; border: 0; }
body.cinematic .r4-form-row input { width: 0; flex: 1; min-width: 0; height: 56px; border: 1px solid #9baa9f; border-right: 0; border-radius: 0; background: transparent; color: inherit; box-shadow: none; padding: 14px 16px; font-size: 16px; caret-color: #657d43; }
body.cinematic .r4-form-row input::placeholder { color: #6b7972; opacity: 1; }
body.cinematic .r4-form-row button { width: auto; min-height: 56px; padding: 14px 19px; border: 0; border-radius: 0; background: var(--gm-ink); color: white; font-size: 14px; font-weight: 400; box-shadow: none; transition: background .25s; }
body.cinematic .r4-form-row button:hover { background: #3a514c; }
body.cinematic .r4-trust { color: var(--gm-muted); text-align: left; font-size: 13px; line-height: 1.6; margin: 14px 0 0; max-width: none; }
body.cinematic .r4-error { font-size: 14px; color: #b43b2b; margin: 10px 0 0; }
body.cinematic .r4-form-row input.is-invalid { border-color: #b43b2b; }
.gm-edition { --gm-ink: #edf0e6; --gm-muted: #b7c3b8; display: grid; grid-template-columns: 1.05fr 1fr; align-items: start; gap: clamp(36px, 6vw, 100px); padding: 88px max(var(--gm-gutter), calc((100vw - 1424px) / 2)); background: #223530; }
.gm-edition-art { position: relative; min-width: 0; background: #ece8dd; color: #35443a; }
.gm-edition-photo { overflow: hidden; }
body.cinematic .gm-edition-art img { display: block; height: auto; width: 100%; aspect-ratio: 3 / 2; object-fit: contain; }
.gm-edition-art figcaption { display: grid; gap: 18px; padding: 24px; }
.gm-edition-art figcaption > span { font: 400 clamp(22px, 2.2vw, 32px)/1.15 var(--font-display); }
.gm-edition-art figcaption small { font-size: 11px; line-height: 1.5; color: #596454; }
.gm-edition-copy { min-width: 0; }
body.cinematic .gm-edition-copy h2 { font-size: clamp(46px, 4.8vw, 66px); }
.gm-edition-copy h2 em { color: var(--gm-accent); }
.gm-edition-title { font-size: 15px; margin-top: 28px !important; margin-bottom: 9px !important; }
.gm-edition-copy > p { color: #c0cbbd; font-size: 15px; }
.gm-lasting { margin-top: 32px; border-top: 1px solid #506151; padding-top: 24px; }
.gm-lasting > p:first-child { display: flex; align-items: center; gap: 20px; }
.gm-lasting strong { font: 400 clamp(42px, 4.1vw, 62px)/1 var(--font-display); letter-spacing: -.03em; white-space: nowrap; }
.gm-lasting span { font-size: 14px; max-width: 90px; line-height: 1.4; color: var(--gm-accent); }
.gm-patch-count { display: grid; grid-template-columns: repeat(20, minmax(0, 1fr)); gap: 6px; margin: 22px 0 14px; }
.gm-patch-count span { width: 100%; aspect-ratio: .9; background: #d9dfb5; clip-path: polygon(50% 0, 96% 25%, 96% 75%, 50% 100%, 4% 75%, 4% 25%); }
.gm-patch-count span:nth-child(4n + 2) { background: #b9cabc; }
.gm-patch-count span:nth-child(4n + 3) { background: #899f86; }
.gm-patch-count span:nth-child(4n) { background: #d2b68b; }
.gm-lasting-note { font-size: 12px; line-height: 1.6; color: #c0cbbd; }
.gm-edition-price { border-top: 1px solid #506151; padding-top: 24px; margin-top: 8px; }
.gm-edition-price > p:first-child { display: flex; align-items: center; gap: 24px; margin-bottom: 16px; }
.gm-edition-price strong { font: 400 58px/1 var(--font-display); letter-spacing: -.03em; color: var(--gm-accent); }
.gm-edition-price span { font-size: 13px; line-height: 1.5; }
.gm-edition-price > p + p { font-size: 14px; color: #d1d9cc; }
.gm-edition-price > p + p + p { margin-top: 14px; font-size: 13px; color: var(--gm-muted); }
.gm-specs { margin: 30px 0 20px; }
.gm-specs > div { border-top: 1px solid #506151; padding: 14px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.gm-specs dt { font-size: 15px; }
.gm-specs dd { margin: 0; color: #c0cbbd; font-size: 14px; }
body.cinematic p.gm-edition-note { font-size: 12px; margin-top: 16px; }
.gm-text-link { display: inline-flex; align-items: center; gap: 28px; border-bottom: 1px solid #788576; padding: 12px 0; margin-top: 16px; text-decoration: none; font-size: 15px; }
/* Free email is the landing action; the optional reservation follows signup. */
.gm-edition-art { grid-column: 1; grid-row: 1; }
.gm-edition-copy { grid-column: 2; grid-row: 1 / 3; }
.gm-edition-action { grid-column: 1; grid-row: 2; width: 100%; align-self: start; margin-top: 0; scroll-margin-top: 104px; }
.gm-edition { row-gap: 28px; }
body.cinematic .gm-edition-action .r4-form-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; gap: 8px 0; }
body.cinematic .gm-edition-action .r4-form-row label { grid-column: 1 / -1; font-size: 13px; color: #e0e5dd; }
body.cinematic .gm-edition-action .r4-form-row input { width: 100%; height: 54px; border: 1px solid #93a68c; border-right: 0; color: #f2f4e8; background: #102326; }
body.cinematic .gm-edition-action .r4-form-row input::placeholder { color: #c0cbbd; }
body.cinematic .gm-edition-action .r4-form-row button { width: auto; min-height: 54px; background: #e5ecb1; color: #102326; }
body.cinematic .gm-edition-action .r4-trust { color: #c0cbbd; font-size: 13px; }
body.cinematic .gm-edition-action .r4-error { color: #ffd6bd; }
body.cinematic .gm-edition-action .r4-list-note { color: #e5ecb1; }
body.cinematic .gm-edition-action .r4-form.is-done .r4-form-row label { display: none; }
.gm-sample-next { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px 28px; }
.gm-sample-next a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; text-decoration: underline; text-underline-offset: 5px; color: #e5ecb1; }
.gm-faq { --gm-ink: #263b34; --gm-muted: #526257; --gm-line: #c6cdc0; max-width: none; display: grid; grid-template-columns: 1fr 1.2fr; gap: 80px; padding: 80px max(var(--gm-gutter), calc((100vw - 1424px) / 2)) 100px; background: #f5f2e9; color: var(--gm-ink); }
body.cinematic .gm-faq h2 { font-size: clamp(38px, 4vw, 60px); }
.gm-faq-list details { border-top: 1px solid var(--gm-line); }
.gm-faq-list details:last-child { border-bottom: 1px solid var(--gm-line); }
.gm-faq-list summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 23px 0; cursor: pointer; font-size: 15px; line-height: 1.4; }
.gm-faq-list summary::-webkit-details-marker { display: none; }
.gm-faq-list summary span { position: relative; width: 12px; height: 12px; flex-shrink: 0; }
.gm-faq-list summary span::before, .gm-faq-list summary span::after { content: ""; position: absolute; background: #52694e; width: 12px; height: 1px; left: 0; top: 6px; }
.gm-faq-list summary span::after { transform: rotate(90deg); transition: transform .3s; }
.gm-faq-list details[open] summary span::after { transform: rotate(0); }
.gm-faq-list summary { transition: color .2s; }
.gm-faq-list summary:hover { color: #567045; }
.gm-refund-steps { margin: 0 0 18px; padding: 0 30px 0 22px; color: var(--gm-muted); font-size: 15px; line-height: 1.6; }
.gm-refund-steps li + li { margin-top: 8px; }
body.cinematic .r4-list-note { font-size: 15px; line-height: 1.65; }
body.cinematic .r4-list-note strong { display: inline-block; font-weight: 500; font-size: 22px; margin-bottom: 8px; }
body.cinematic .r4-list-note a { text-decoration: underline; }
.gm-faq-list details p { color: var(--gm-muted); font-size: 14px; padding: 0 30px 23px 0; max-width: 560px; }
.gm-join { position: relative; overflow: hidden; background: var(--gm-night); color: white; }
.gm-join-art { position: absolute; inset: 0; }
body.cinematic .gm-join-art img { width: 100%; height: 112%; object-fit: cover; opacity: .28; transform: translateY(var(--join-shift, 0px)); }
.gm-join::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #101d20c9, #101d2088); pointer-events: none; }
.gm-join-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 90px; padding-top: 100px; padding-bottom: 100px; align-items: center; }
.gm-join h2 { color: #f4f5ec; }
.gm-join h2 em { color: var(--gm-accent); }
.gm-join-inner > div > p { margin-top: 28px; font-size: 16px; color: #e0e5dd; }
.gm-join-inner > div > p.gm-join-personal { font-size: 14px; margin-top: 12px; }
body.cinematic .gm-join .r4-form-row input { border-color: #a8b6a1; background: #071a1c40; color: white; }
body.cinematic .gm-join .r4-form-row input::placeholder { color: #c8d0c4; }
body.cinematic .gm-join .r4-form-row button { background: var(--gm-accent); color: var(--gm-night); }
body.cinematic .gm-join .r4-trust { color: #d1d8cc; }
body.cinematic .gm-join .r4-error { color: #ffd6bd; }
body.cinematic .gm-footer { display: grid; grid-template-columns: 1fr 1fr; max-width: none; margin: 0; padding: 42px var(--gm-gutter); border: 0; text-align: left; color: var(--gm-ink); background: var(--gm-paper); gap: 12px; }
.gm-footer-brand { font-size: 24px; font-weight: 500; text-decoration: none; letter-spacing: -.035em; }
body.cinematic .gm-footer p { grid-column: 1; grid-row: 2; font-size: 12px; color: var(--gm-muted); }
.gm-footer nav { grid-column: 2; grid-row: 1; display: flex; flex-wrap: wrap; justify-content: end; gap: 4px 28px; font-size: 12px; align-items: center; }
.gm-footer nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 2px; }
.gm-footer nav[aria-label="Legal"] { gap: 4px 18px; }
.gm-footer nav a:focus,
.gm-footer nav a:focus-visible { outline: 2px solid var(--gm-accent); outline-offset: 3px; }
.gm-footer .gm-footer-social { grid-column: 1; grid-row: 3; justify-content: start; gap: 4px 24px; }
.gm-footer-social a { gap: 7px; text-decoration: none; }
body.cinematic .gm-footer-social svg { width: 13px; height: 13px; transition: transform .3s var(--gm-ease); }
.gm-footer-social a:hover { color: var(--gm-accent); }
.gm-footer-social a:hover svg { transform: translate(2px, -2px); }
.gm-footer small { grid-column: 2; grid-row: 3; align-self: center; text-align: right; color: var(--gm-muted); font-size: 11px; }
/* Reservation state is owned by the shared hold/hold-design.css. */
.gm-enter .gm-title-line > * { animation: gm-opening-title .75s var(--gm-ease) both; }
.gm-enter .gm-title-line + .gm-title-line > * { animation-delay: .07s; }
.gm-enter .gm-hero-object img { animation: gm-opening-object .95s var(--gm-ease) both; }
@keyframes gm-opening-title { from { transform: translateY(45%); } to { transform: translateY(0); } }
@keyframes gm-opening-object { from { translate: 0 18px; rotate: 5deg; } to { translate: 0 0; rotate: 0deg; } }

@media (min-width: 1800px) { .gm-hero-content { padding-left: 0; } }
@media (max-width: 1023px) {
  body.cinematic .r4-nav__links { gap: 20px; }
  .gm-hero { min-height: 760px; }
  body.cinematic .gm-hero-object { right: var(--gm-gutter); width: 40%; top: 31%; bottom: auto; }
  .gm-hero-content { padding-top: 190px; }
  body.cinematic .gm-hero h1 { font-size: clamp(49px, 6vw, 62px); }
  .gm-intro { gap: 40px; }
  .gm-listening { gap: 24px 35px; }
  .gm-edition { grid-template-columns: 1fr 1fr; gap: 32px; padding-top: 64px; padding-bottom: 64px; }
  .gm-specs > div { grid-template-columns: 1fr; gap: 5px; }
  .gm-faq { gap: 40px; }
  .gm-early-list { gap: 35px; }
  body.cinematic .r4-form-row { flex-direction: column; gap: 10px; }
  body.cinematic .r4-form-row input { width: 100%; flex: auto; border-right: 1px solid #9baa9f; }
  .gm-join-inner { gap: 45px; }
}
@media (max-width: 699px) {
  body.cinematic { --gm-gutter: 24px; font-size: 16px; }
  body.cinematic h2 { font-size: 54px; }
  body.cinematic .gm-nav { height: 78px; }
  body.cinematic .r4-nav__brand { font-size: 22px; }
  body.cinematic .r4-nav__links { display: none; }
  body.cinematic .r4-nav__cta { gap: 12px; font-size: 12px; padding: 10px 0; }
  .gm-nav .r4-nav__cta svg { width: 19px; height: 19px; }
  .gm-hero { min-height: 0; height: auto; max-height: none; padding-bottom: 100px; }
  body.cinematic .gm-hero-landscape { object-position: 62% center; height: 110%; }
  .gm-hero-shade { background: linear-gradient(180deg, #06161bb8, #06161b99 55%, #06161be6 100%), linear-gradient(90deg, #06161b70, #06161b30); }
  .gm-hero-content { padding: 126px var(--gm-gutter) 0; }
  body.cinematic .gm-hero h1 { font-size: clamp(46px, 11.4vw, 72px); line-height: 1.03; margin-bottom: 20px; max-width: none; }
  .gm-hero-description { max-width: 40ch; font-size: 16px; line-height: 1.55; }
  .gm-mobile-break { display: initial; }
  .gm-hero .gm-button { margin-top: 23px; min-height: 52px; padding: 12px 18px; gap: 32px; font-size: 14px; }
  .gm-hero-sample { min-height: 50px; font-size: 14px !important; }
  body.cinematic .gm-hero-object { position: relative; display: block; width: auto; right: auto; top: auto; bottom: auto; margin: 32px var(--gm-gutter) 0; transform: none; }
  body.cinematic .gm-hero-object img { width: 100%; max-width: none; transform: none; margin: 0 auto; }
  .gm-hero-object figcaption { text-align: left; margin-top: 16px; }
  .gm-hero-object figcaption strong { font-size: 23px; line-height: 1.2; }
  .gm-hero-object figcaption span { font-size: 12px; margin: 12px 0 0; }
  .gm-hero-object figcaption small { font-size: 11px; margin-top: 9px; }
  .gm-hero-baseline { bottom: 20px; padding-top: 16px; font-size: 11px; align-items: center; }
  .gm-motion-control { font-size: 11px !important; min-height: 44px; }
  .gm-scroll-link { left: 48%; width: 44px; height: 44px; }
  .gm-intro { grid-template-columns: 1fr; gap: 26px; padding-top: 52px; padding-bottom: 30px; }
  body.cinematic .gm-intro-line { font-size: clamp(31px, 8.1vw, 38px); line-height: 1.14; }
  .gm-intro-aside { font-size: 15px; justify-self: start; }
  .gm-intro-aside p + p { margin-top: 12px; }
  .gm-worlds-heading { padding-top: 32px; padding-bottom: 28px; display: block; }
  body.cinematic .gm-worlds-heading h2 { font-size: 36px; }
  .gm-worlds-heading p { font-size: 14px; max-width: none; margin-top: 14px; }
  .gm-worlds-heading p br { display: none; }
  .gm-world-stage { height: auto; min-height: 650px; padding-top: 335px; padding-bottom: 12px; }
  body.cinematic .gm-world-image { height: 430px; object-position: 70% center; }
  body.cinematic [data-world-image="campfire"] { object-position: 81% 65%; }
  body.cinematic [data-world-image="caves"] { object-position: 76% 55%; }
  body.cinematic [data-world-image="glacier"] { object-position: 70% 55%; }
  body.cinematic [data-world-image="northern"] { object-position: 50% 72%; }
  .gm-world-scrim { background: linear-gradient(180deg, #03121600 180px, #031216aa 330px, #031216 430px); }
  .gm-world-caption { position: relative; bottom: auto; left: auto; right: auto; padding: 0 var(--gm-gutter); min-height: 160px; }
  body.cinematic .gm-world-caption h3 { font-size: 44px; margin: 12px 0; }
  .gm-world-caption > p:last-child { font-size: 15px; max-width: 34ch; }
  .gm-world-caption > p:last-child br { display: none; }
  .gm-world-count { font-size: 11px; }
  .gm-world-switches { position: relative; left: auto; right: auto; bottom: auto; grid-template-columns: 1fr 1fr; gap: 0 15px; margin: 20px var(--gm-gutter) 0; border-top: 0; }
  .gm-world-switches button { padding: 14px 0 10px; min-height: 58px; border-top: 1px solid #ffffff45; font-size: 13px; display: flex; align-items: center; gap: 10px; }
  .gm-world-switches button span { margin-bottom: 0; font-size: 11px; opacity: .9; }
  .gm-world-details { padding: 28px 0 32px; }
  body.cinematic .gm-world-details h3 { font-size: 28px; margin-bottom: 24px; }
  .gm-world-pairing { grid-template-columns: 1fr; gap: 24px; }
  .gm-world-scent { padding: 0 0 24px; border-right: 0; border-bottom: 1px solid #c2c8bd; }
  .gm-world-pairing dd { font-size: 16px; }
  .gm-world-scent dd { min-height: 0; }
  .gm-world-switches button::before { right: 0; height: 2px; }
  .gm-world-switches button[aria-pressed="true"]::after { right: 0; height: 2px; }
  .gm-listening { grid-template-columns: 1fr; gap: 24px; padding-top: 32px; }
  .gm-listening-copy h3 { font-size: 27px; max-width: 300px; }
  .gm-listening-copy p { font-size: 15px; }
  .gm-audio-ui { gap: 15px; }
  .gm-audio-toggle { width: 50px; height: 50px; min-width: 50px; }
  .gm-audio-meta { font-size: 12px; gap: 5px; flex-wrap: wrap; }
  .gm-passage { margin-top: -12px; font-size: 12px; }

  .gm-how { padding-top: 65px; padding-bottom: 60px; }
  .gm-section-heading { display: block; margin-bottom: 32px; }
  .gm-section-heading > div { margin-top: 25px; font-size: 15px; }
  .gm-section-heading > div p:first-child { margin-bottom: 9px; }
  .gm-steps { grid-template-columns: 1fr; gap: 28px; }
  .gm-steps li { display: grid; grid-template-columns: 1fr 1.25fr; gap: 22px; align-items: center; }
  .gm-step-patch { --gm-step-inset: 16px; aspect-ratio: 1; }
  body.cinematic .gm-steps img { aspect-ratio: 1; }
  .gm-step-copy { padding-top: 0; display: block; }
  .gm-step-copy > span { display: block; margin-bottom: 8px; font-size: 10px; }
  .gm-step-copy h3 { font-size: 23px; margin-bottom: 6px !important; }
  .gm-step-copy p { font-size: 15px; line-height: 1.5; }
  .gm-step-copy p br { display: none; }
  .gm-early-list { grid-template-columns: 1fr; gap: 24px; margin-top: 48px; padding-top: 30px; }
  .gm-early-list h3 { font-size: 27px; }
  .gm-early-list > div p { font-size: 13px; }
  body.cinematic .r4-form-row { flex-direction: column; gap: 10px; }
  body.cinematic .r4-form-row input { width: 100%; flex: auto; border-right: 1px solid #9baa9f; padding-left: 14px; height: 54px; }
  body.cinematic .r4-form-row button { font-size: 15px; padding: 13px 16px; min-height: 54px; }
  body.cinematic .r4-trust { font-size: 12px; line-height: 1.6; }
  .gm-edition { display: flex; flex-direction: column; gap: 0; padding: 0; }
  .gm-edition-art { width: 100%; }
  .gm-edition-art figcaption { padding: 20px var(--gm-gutter); gap: 12px; }
  .gm-edition-copy { padding: 40px var(--gm-gutter) 26px; width: 100%; }
  .gm-edition-action { display: block; width: 100%; padding: 0 var(--gm-gutter) 44px; }
  .gm-edition-action .r4-form { padding-top: 0; }
  body.cinematic .gm-edition-copy h2 { font-size: clamp(44px, 12vw, 60px); }
  .gm-lasting { margin-top: 28px; padding-top: 24px; }
  .gm-lasting strong { font-size: 56px; }
  .gm-lasting span { font-size: 13px; }
  .gm-patch-count { grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 8px; margin-top: 20px; }
  .gm-patch-count span { max-width: 26px; }
  .gm-edition-price { margin-top: 22px; }
  .gm-edition-title { margin-top: 24px !important; }
  .gm-specs { margin-top: 24px; }
  .gm-specs > div { grid-template-columns: 1fr 1.1fr; gap: 15px; padding: 14px 0; }
  .gm-specs dt { font-size: 15px; }
  .gm-specs dd { font-size: 14px; }
  .gm-faq { grid-template-columns: 1fr; gap: 30px; padding-top: 48px; padding-bottom: 55px; }
  body.cinematic .gm-faq h2 { font-size: 44px; }
  .gm-faq-list summary { padding: 21px 0; font-size: 14px; }
  .gm-faq-list details p { font-size: 15px; padding-right: 12px; }
  .gm-join-inner { grid-template-columns: 1fr; gap: 35px; padding-top: 64px; padding-bottom: 62px; }
  .gm-join h2 { font-size: 61px; }
  .gm-join-inner > div > p { font-size: 14px; margin-top: 25px; }
  body.cinematic .gm-footer { grid-template-columns: 1fr; padding: 28px var(--gm-gutter); gap: 12px; }
  .gm-footer-brand { font-size: 22px; }
  .gm-footer nav { grid-column: 1; grid-row: 4; justify-content: start; gap: 4px 24px; }
  body.cinematic .gm-footer p { font-size: 12px; }
  .gm-footer small { grid-column: 1; grid-row: 5; text-align: left; font-size: 11px; }
}
@media (max-width: 359px) {
  body.cinematic { --gm-gutter: 20px; }
  .gm-hero { min-height: 0; }
  .gm-hero-content { padding-top: 116px; }
  body.cinematic .gm-hero h1 { font-size: 43px; }
  .gm-hero-description { font-size: 14px; }
  .gm-hero-object figcaption strong { font-size: 24px; }
  .gm-hero-object figcaption span { font-size: 12px; }
  body.cinematic .gm-hero-object { gap: 18px; margin-top: 36px; }
  .gm-worlds-heading p { font-size: 14px; max-width: none; }
  body.cinematic .gm-world-caption h3 { font-size: 38px; }
  .gm-steps li { gap: 15px; }
  body.cinematic .r4-form-row { flex-direction: column; gap: 10px; }
  body.cinematic .r4-form-row input { flex: auto; width: 100%; border-right: 1px solid #9baa9f; }
  .gm-specs > div { grid-template-columns: 1fr; gap: 6px; }
  .gm-lasting strong { font-size: 48px; }
  .gm-join h2 { font-size: 53px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body.cinematic *, body.cinematic *::before, body.cinematic *::after { animation: none !important; transition-duration: 0s !important; }
  .gm-steps li:hover img { transform: none; }
}
html.gm-motion-paused { scroll-behavior: auto; }
body.cinematic.gm-motion-paused *, body.cinematic.gm-motion-paused *::before, body.cinematic.gm-motion-paused *::after { animation: none !important; transition-duration: 0s !important; }
body.cinematic.gm-motion-paused .gm-steps li:hover img { transform: none; }

/* Product explanation and the ungated sample precede sign-up. */
.gm-hero-label { font-size: 13px; letter-spacing: .04em; margin-bottom: 22px !important; color: var(--gm-accent); }
.gm-development-note { font-size: 12px; margin-top: 16px !important; color: #e0e7d9; max-width: 44%; }
.gm-sample-section { padding-bottom: 58px; background: #172626; }
.gm-signup-section { padding-top: 32px; padding-bottom: 72px; }
.gm-signup-section .gm-early-list { margin-top: 0; }
@media (max-width: 699px) {
  .gm-hero-label { font-size: 12px; margin-bottom: 18px !important; }
  .gm-development-note { max-width: none; }
  .gm-sample-section { padding-bottom: 32px; }
  .gm-signup-section { padding-top: 22px; padding-bottom: 45px; }
}

.gm-sample-note { color: #e0e7d9; font-size: 12px; margin-top: 8px !important; }
.gm-hero-object figcaption small { margin-top: 0; }
@media (max-width: 699px) { .gm-hero-object figcaption { margin-top: 10px; } }

/* Scene names on the left, scent and audio details on the right. */
.gm-world-caption { bottom: 48px; }
.gm-world-details > .gm-shell { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 56px; align-items: start; }
.gm-world-details .gm-world-switches { position: relative; inset: auto; display: grid; grid-template-columns: 1fr; margin: 0; border: 0; }
.gm-world-details .gm-world-switches button { display: flex; align-items: center; gap: 16px; min-height: 60px; padding: 16px 0; border-top: 1px solid #b7bdb0; color: #53624f; font-size: 15px; }
.gm-world-details .gm-world-switches button span { margin: 0; }
.gm-world-details .gm-world-switches button[aria-pressed="true"] { color: #1e372d; font-weight: 500; }
.gm-world-details .gm-world-switches button::before { background: #536947; }
.gm-world-details .gm-world-switches button:hover { color: #1e372d; }
.gm-world-pairing-copy { min-width: 0; }
@media (max-width: 699px) {
 .gm-world-stage { min-height: 540px; }
 .gm-world-caption { bottom: auto; }
 .gm-world-details > .gm-shell { display: block; }
 .gm-world-details .gm-world-switches { grid-template-columns: 1fr 1fr; gap: 0 16px; margin-bottom: 30px; }
 .gm-world-details .gm-world-switches button { min-height: 56px; font-size: 13px; gap: 10px; }
}

/* The kit lists all four scents without requiring a scene selection. */
.gm-specs > .gm-specs-scents { display: block; }
.gm-specs-scents dt { margin-bottom: 12px; }
.gm-kit-scents { margin: 0 0 12px; padding-left: 17px; }
.gm-kit-scents li + li { margin-top: 5px; }
.gm-kit-scents strong { color: var(--gm-ink); font-weight: 500; }
.gm-specs-scents dd > p { margin: 0; }

/* 短屏保留完整首屏文案，减少空隙，让两个行动入口避开底部隐私栏。 */
@media (max-width: 699px) and (max-height: 740px) {
  .gm-hero-content { padding-top: 88px; }
  body.cinematic .gm-hero h1 { margin-bottom: 16px; }
  .gm-hero-description { line-height: 1.45; }
  .gm-hero .gm-button { margin-top: 16px; }
  .gm-hero-sample { margin-top: 8px; }
}

/* 小尺寸短屏保持正文与触控目标可读，收紧标题和留白。 */
@media (max-width: 359px) and (max-height: 640px) {
  .gm-hero-content { padding-top: 80px; }
  .gm-hero-label { margin-bottom: 12px !important; }
  body.cinematic .gm-hero h1 { font-size: 34px; margin-bottom: 12px; }
  .gm-hero .gm-button { min-height: 44px; margin-top: 12px; padding-top: 10px; padding-bottom: 10px; }
  .gm-hero-sample { min-height: 44px; padding-top: 10px; padding-bottom: 10px; }
}

/* Product-first reading order. The same DOM order works without CSS or motion. */
.gm-hero-content {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr);
  grid-template-areas: 'title product' 'details product';
  gap: 26px clamp(36px, 6vw, 96px);
  align-content: center;
  padding-top: clamp(140px, 18vh, 180px);
  padding-bottom: 142px;
}
.gm-hero-heading { grid-area: title; min-width: 0; }
body.cinematic .gm-hero-category { font-size: 13px; line-height: 1.4; letter-spacing: .02em; color: #e5ecb1; margin-bottom: 16px; }
body.cinematic .gm-hero h1 { max-width: none; margin: 0; font-size: clamp(44px, 4.6vw, 66px); line-height: 1.06; }
.gm-hero-details { grid-area: details; min-width: 0; }
.gm-hero-description { max-width: 44ch; font-size: 17px; line-height: 1.6; }
body.cinematic .gm-hero-object { grid-area: product; position: relative; inset: auto; width: 100%; margin: 0; align-self: center; transform: none; }
.gm-hero-object figcaption { text-align: center; margin-top: 28px; }
.gm-pair-items { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 3vw, 44px); align-items: end; width: 100%; max-width: 480px; margin: 0 auto; padding: 12px 0; }
.gm-pair-scent, .gm-pair-audio { display: flex; flex-direction: column; align-items: center; text-align: center; min-width: 0; }
.gm-pair-scent { padding-bottom: 56px; }
body.cinematic .gm-pair-scent img { width: 100%; max-width: 158px; height: auto; mix-blend-mode: normal; transform: rotate(-12deg); filter: drop-shadow(0 16px 18px #07141755); }
.gm-pair-phone { width: clamp(132px, 13.6vw, 196px); max-width: 100%; overflow: hidden; border: 5px solid #14272b; border-radius: 27px; outline: 1px solid #b7c8c445; box-shadow: 12px 24px 40px #06161b60; transform: rotate(6deg); }
body.cinematic .gm-pair-phone img { width: 100%; height: auto; }
body.cinematic .gm-pair-items p { width: 100%; margin-top: 24px; text-shadow: 0 1px 12px #06161b80; }
.gm-pair-items strong { display: block; font-size: 14px; font-weight: 450; line-height: 1.3; }
.gm-pair-items p span { display: block; margin-top: 6px; font-size: 11px; line-height: 1.45; color: #edf0e6; }
.gm-pairings { padding-top: 62px; padding-bottom: 62px; background: #172626; }
.gm-pairings-heading { display: grid; grid-template-columns: 1.15fr 1fr; gap: 40px; align-items: end; margin-bottom: 30px; }
body.cinematic .gm-pairings-eyebrow { font-size: 13px; color: var(--gm-accent); margin-bottom: 12px; }
body.cinematic .gm-pairings-heading h2 { font-size: clamp(34px, 3.5vw, 52px); line-height: 1.1; }
.gm-pairings-heading > p { color: var(--gm-muted); font-size: 15px; max-width: 46ch; }
.gm-pairings-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.gm-pairings-grid article { position: relative; min-width: 0; overflow: hidden; background: #0d1d20; }
body.cinematic .gm-pairings-grid img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.gm-pairings-grid article > div { position: absolute; inset: auto 0 0; padding: 48px 18px 20px; background: linear-gradient(transparent, #061416e8); }
.gm-pairings-grid span { display: block; color: #e2e8d7; font-size: 11px; margin-bottom: 7px; }
body.cinematic .gm-pairings-grid h3 { font: 400 clamp(22px, 2.2vw, 34px)/1.1 var(--font-display); color: white; }
.gm-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 24px; margin-top: 26px; }
.gm-hero-sample { margin: 0; min-height: 54px; padding: 14px 20px; border: 1px solid #b1bdaf; background: transparent; color: #f4f5ec; }
.gm-hero-sample:hover { background: rgba(255,255,255,.08); }
body.cinematic a.gm-hero-notify { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 14px 20px; background: var(--gm-accent); color: #172626; font-size: 14px; text-decoration: none; }
.gm-hero-notify:hover { background: #f1f5d3; text-decoration: none; }
body.cinematic p.gm-hero-signup-note { margin: 12px 0 0; font-size: 12px; line-height: 1.5; color: #d0d8cc; }
.gm-hero-notify svg { width: 18px; height: 18px; }
.gm-development-note { max-width: 44ch; margin-top: 18px !important; }
.gm-intro { padding-top: 54px; padding-bottom: 54px; }
.gm-how { padding-bottom: 34px; }
.gm-how-note { font-size: 12px; margin-top: 24px !important; }
.gm-sample-section { background: #f3efe5; color: #203133; padding-bottom: 64px; }
.gm-listening { --gm-ink: #203133; padding-top: 32px; position: relative; }
.gm-listening::before { content: ''; position: absolute; top: 0; left: var(--gm-gutter); right: var(--gm-gutter); border-top: 1px solid #c2c8bd; }
.gm-listening-copy h3 { font-size: clamp(28px, 3vw, 40px); }
.gm-listening-copy p, .gm-sample-section .gm-audio-meta, .gm-sample-section .gm-passage { color: #485b50; }
.gm-listening-scent { margin-top: 22px !important; font-size: 14px !important; }
.gm-listening-scent strong { display: block; font-weight: 500; color: #203133; margin-bottom: 4px; }
.gm-listening-scent small { display: block; font-size: 12px; margin-top: 5px; }
.gm-sample-section .gm-audio-ui { align-self: center; }
.gm-sample-section .gm-audio-toggle { background: #203b32; color: #f3efe5; border-color: #203b32; }
.gm-sample-section .gm-audio-toggle:hover { background: #344f43; color: #fff; }
.gm-sample-section #gm-audio-progress { accent-color: #344f43; }
.gm-sample-section .gm-sample-next a { color: #203b32; }
.gm-sample-section .gm-sample-next { align-self: end; }

/* A single editorial spread: the product, its contents and the offer. */
.gm-edition { --gm-ink: #203133; --gm-muted: #485b50; color: var(--gm-ink); background: #f3efe5; column-gap: clamp(36px, 6vw, 86px); row-gap: 24px; padding-top: 80px; padding-bottom: 80px; }
body.cinematic #edition-heading { grid-column: 2; grid-row: 1; font-size: clamp(42px, 4.2vw, 62px); line-height: 1.04; }
.gm-edition-art.gm-kit-product { grid-column: 1; grid-row: 1 / 4; padding: 0; align-self: start; background: transparent; }
body.cinematic .gm-kit-product img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.gm-edition-art.gm-kit-product figcaption { display: block; padding: 14px 0 0; }
.gm-edition-art.gm-kit-product figcaption small { font-size: 11px; line-height: 1.5; color: #485b50; }
.gm-edition-copy { grid-column: 2; grid-row: 2; }
.gm-edition-action { grid-column: 2; grid-row: 3; }
.gm-edition-copy .gm-specs { margin: 4px 0 20px; display: grid; gap: 22px; }
.gm-edition-copy .gm-specs > div { display: block; padding: 0; border: 0; }
.gm-edition-copy .gm-specs dt { font-size: 18px; font-weight: 450; margin-bottom: 5px; }
.gm-edition-copy .gm-specs dd { max-width: 44ch; color: var(--gm-muted); font-size: 14px; line-height: 1.6; }
body.cinematic .gm-additional-content { font-size: 12px; line-height: 1.6; color: var(--gm-muted); border-top: 1px solid #c2c8bd; padding: 18px 0 22px; }
.gm-additional-content strong { display: block; font-weight: 450; margin-bottom: 4px; }
body.cinematic .gm-included-recordings { max-width: 48ch; color: var(--gm-muted); font-size: 13px; line-height: 1.6; padding: 0 0 26px; }
.gm-edition-price { border-color: #c2c8bd; padding-top: 24px; margin-top: 0; }
.gm-edition-price > p:first-child { gap: 24px; margin-bottom: 12px; }
.gm-edition-price strong { font-size: 62px; color: var(--gm-ink); }
.gm-edition-price span { color: var(--gm-muted); }
.gm-edition-price > p + p { max-width: 44ch; color: var(--gm-muted); font-size: 13px; }
body.cinematic .gm-edition-action .r4-form-row label { color: var(--gm-ink); }
body.cinematic .gm-edition-action .r4-form-row input { border-color: #8e9a8a; background: transparent; color: var(--gm-ink); caret-color: #203133; }
body.cinematic .gm-edition-action .r4-form-row input::placeholder { color: #586b5c; }
body.cinematic .gm-edition-action .r4-form-row input.is-invalid { border-color: #b43b2b; }
body.cinematic .gm-edition-action .r4-form-row button { background: #203b32; color: #f3efe5; padding-left: 22px; padding-right: 22px; }
body.cinematic .gm-edition-action .r4-form-row button:hover { background: #344f43; }
body.cinematic .gm-edition-action .r4-trust { color: var(--gm-muted); font-size: 12px; }
body.cinematic .gm-edition-action .r4-error { color: #b43b2b; }
body.cinematic .gm-edition-action .r4-list-note { color: #203b32; }
@media (max-width: 699px) {
  .gm-hero-content { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'title' 'product' 'details'; gap: 16px; padding: 86px var(--gm-gutter) 0; }
  body.cinematic .gm-hero h1 { font-size: clamp(30px, 8.4vw, 46px); line-height: 1.04; margin: 0; }
  body.cinematic .gm-hero-object { margin: 0; }
  .gm-hero-object figcaption { margin-top: 10px; }
  .gm-pair-items { width: 100%; max-width: 300px; padding: 10px 0 0; gap: 30px; }
  .gm-pair-scent { padding-bottom: 26px; }
  body.cinematic .gm-pair-scent img { max-width: 94px; }
  .gm-pair-phone { width: 98px; border-width: 3px; border-radius: 15px; box-shadow: 8px 14px 24px #06161b60; }
  body.cinematic .gm-pair-items p { margin-top: 16px; }
  .gm-pair-items strong { font-size: 12px; }
  .gm-pair-items p span { font-size: 10px; line-height: 1.3; margin-top: 3px; }
  .gm-pair figcaption small { font-size: 10px; }
  .gm-pairings { padding-top: 36px; padding-bottom: 36px; }
  .gm-pairings-heading { grid-template-columns: 1fr; gap: 16px; margin-bottom: 24px; }
  body.cinematic .gm-pairings-heading h2 { font-size: 34px; max-width: 17ch; }
  .gm-pairings-heading > p { font-size: 14px; }
  .gm-pairings-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .gm-pairings-grid article > div { padding: 38px 12px 14px; }
  .gm-pairings-grid span { font-size: 9px; }
  body.cinematic .gm-pairings-grid h3 { font-size: 23px; }
  .gm-hero-description { font-size: 15px; line-height: 1.5; }
  .gm-hero-actions { margin-top: 18px; gap: 10px 16px; }
  .gm-hero-sample { min-height: 50px; padding: 12px 10px; margin: 0; gap: 6px; font-size: 12px !important; }
  body.cinematic a.gm-hero-notify { min-height: 50px; padding: 12px 14px; font-size: 13px; gap: 8px; }
  .gm-hero-notify svg { display: none; }
  .gm-development-note { margin-top: 12px !important; font-size: 12px; }
  .gm-intro { padding-top: 40px; padding-bottom: 40px; }
  .gm-how { padding-top: 44px; padding-bottom: 28px; }
  .gm-section-heading { margin-bottom: 28px; }
  .gm-steps { gap: 24px; }
  .gm-steps li { grid-template-columns: 100px minmax(0, 1fr); gap: 20px; }
  .gm-step-copy { gap: 12px; }
  .gm-step-copy h3 { font-size: 20px; }
  .gm-step-copy p { font-size: 14px; }
  .gm-sample-section { padding-bottom: 40px; }
  .gm-listening { gap: 20px; padding-top: 28px; }
  .gm-listening-copy h3 { max-width: none; font-size: 31px; }
  .gm-listening-scent { margin-top: 18px !important; }
  .gm-edition { padding: 44px var(--gm-gutter) 48px; gap: 0; }
  body.cinematic #edition-heading { order: 0; font-size: 42px; margin-bottom: 26px; }
  .gm-edition-art.gm-kit-product { order: 1; grid-row: auto; padding: 0; margin-bottom: 30px; }
  body.cinematic .gm-kit-product img { width: 100%; max-width: none; height: auto; aspect-ratio: 1.1; object-position: 50% 58%; }
  .gm-edition-art.gm-kit-product figcaption { padding-top: 10px; }
  .gm-edition-art.gm-kit-product figcaption small { font-size: 10px; }
  .gm-edition-copy { order: 2; padding: 0; }
  .gm-edition-copy .gm-specs { margin-top: 0; gap: 20px; }
  .gm-edition-copy .gm-specs dt { font-size: 17px; }
  .gm-edition-action { order: 3; padding: 24px 0 0; }
  .gm-edition-price { margin-top: 0; padding-top: 20px; }
  .gm-edition-price strong { font-size: 56px; }
}
@media (max-width: 359px) {
  .gm-hero-content { padding-top: 86px; gap: 18px; }
  body.cinematic .gm-hero h1 { font-size: 29px; }
  .gm-hero-actions { column-gap: 12px; }
  .gm-hero-notify svg { display: none; }
  .gm-hero-sample { padding: 12px; font-size: 12px !important; }
  .gm-steps li { grid-template-columns: 86px minmax(0, 1fr); gap: 16px; }
  .gm-step-copy { gap: 8px; }
  .gm-step-copy h3 { font-size: 18px; }
}

/* The film is an editorial interlude, not another product card or an embedded studio. */
.gm-app-film { color: #203b32; background: #e9ecdf; padding: 80px 0; }
.gm-app-film-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; column-gap: clamp(48px, 8vw, 132px); max-width: 1320px; }
.gm-app-film-copy { grid-column: 2; grid-row: 1; }
body.cinematic .gm-app-film-copy h2 { font-size: clamp(44px, 4.8vw, 68px); line-height: 1.02; margin-bottom: 28px; }
.gm-app-film-copy h2 em { color: #536747; }
.gm-app-film-copy > p { max-width: 32ch; font-size: 18px; line-height: 1.65; }
body.cinematic .gm-app-film-copy .gm-app-film-note { margin-top: 24px; color: #4c6052; font-size: 12px; }
.gm-app-film-figure { grid-column: 1; grid-row: 1; width: 100%; max-width: 520px; justify-self: center; min-width: 0; }
.gm-app-film-figure video { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: contain; background: #f5f3eb; }
.gm-app-film-controls { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 60px; font-size: 12px; }
#gm-app-film-status { max-width: 28ch; color: #4c6052; line-height: 1.4; }
#gm-app-film-toggle { min-height: 44px; min-width: 88px; padding: 8px 12px; margin-right: -12px; border: 0; background: none; color: #203b32; font-size: 13px; text-decoration: underline; text-underline-offset: 5px; white-space: nowrap; }
#gm-app-film-toggle:hover { color: #48623f; }
@media (max-width: 699px) {
  .gm-app-film { padding: 52px 0 32px; }
  .gm-app-film-inner { display: flex; flex-direction: column; align-items: stretch; gap: 28px; }
  body.cinematic .gm-app-film-copy h2 { font-size: clamp(38px, 10vw, 54px); margin-bottom: 20px; }
  .gm-app-film-copy > p { font-size: 16px; max-width: 36ch; }
  body.cinematic .gm-app-film-copy .gm-app-film-note { margin-top: 16px; }
  .gm-app-film-figure { align-self: center; max-width: 460px; }
}
