:root {
  --forest: #102d23;
  --forest-2: #173e30;
  --charcoal: #1c211e;
  --ink: #20241f;
  --muted: #666a61;
  --ivory: #f5f0e5;
  --paper: #fffdf8;
  --gold: #bd8c3c;
  --gold-dark: #8b6122;
  --line: rgba(28, 33, 30, 0.15);
  --line-light: rgba(255, 253, 248, 0.2);
  --shadow: 0 24px 70px rgba(19, 37, 29, 0.14);
  --radius: 20px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  width: 100%;
  min-width: 320px;
  overflow-x: hidden;
  color: var(--ink);
  background: var(--paper);
  font-family: "Manrope", system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
img, video { display: block; max-width: 100%; }
[hidden] { display: none !important; }

:focus-visible {
  outline: 3px solid #f3b24e;
  outline-offset: 3px;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 8px;
  left: 8px;
  transform: translateY(-160%);
  padding: 10px 14px;
  color: #fff;
  background: var(--forest);
  border-radius: 6px;
}
.skip-link:focus { transform: translateY(0); }

.shell { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
.prelaunch-strip {
  min-height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 18px;
  padding: 5px 18px;
  color: #fffaf0;
  background: var(--forest);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-align: center;
  text-transform: uppercase;
}
.prelaunch-strip strong { color: #fffaf0; }
.prelaunch-strip span, .prelaunch-strip strong { min-width: 0; overflow-wrap: anywhere; }
.prelaunch-strip .offer-countdown { min-width: 260px; border-left: 1px solid rgba(255,255,255,0.36); padding-left: 18px; color: #ffda83; font-variant-numeric: tabular-nums; }

.site-header {
  position: relative;
  z-index: 10;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 253, 248, 0.94);
  backdrop-filter: blur(12px);
}
.header-inner { height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.brand {
  flex: 0 0 auto;
  color: var(--forest);
  font-family: "Sora", sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-decoration: none;
  white-space: nowrap;
}
.header-link { color: var(--forest); font-size: 0.82rem; font-weight: 700; text-underline-offset: 4px; }
.header-status { color: #6c7169; font-size: 0.62rem; font-weight: 800; letter-spacing: 0.12em; }
.header-actions { display: flex; align-items: center; gap: 12px; }
.email-offer-link {
  border: 0;
  padding: 0;
  color: var(--gold-dark);
  background: transparent;
  cursor: pointer;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.header-discount-button {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(16,45,35,0.46);
  border-radius: 999px;
  padding: 7px 14px;
  color: var(--forest);
  background: #fffdf8;
  font-size: 0.76rem;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: transform 160ms ease, background 160ms ease, box-shadow 160ms ease;
}
.header-discount-button::before { content: "✉"; margin-right: 6px; color: var(--gold-dark); font-size: 0.82rem; }
.discount-label-mobile { display: none; }
.header-discount-button:hover { transform: translateY(-1px); background: #fff7e5; box-shadow: 0 8px 20px rgba(16,45,35,0.12); }
.header-checkout-button { width: auto; min-height: 38px; flex: 0 0 auto; padding: 8px 17px; font-size: 0.76rem; white-space: nowrap; }

.hero {
  position: relative;
  overflow: hidden;
  padding: clamp(26px, 4vw, 50px) 0 clamp(50px, 6vw, 78px);
  background:
    radial-gradient(circle at 82% 15%, rgba(189, 140, 60, 0.16), transparent 31rem),
    linear-gradient(145deg, #fffdf8 0%, #f5f0e5 100%);
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.42;
  background-image: linear-gradient(rgba(16, 45, 35, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(16, 45, 35, 0.035) 1px, transparent 1px);
  background-size: 42px 42px;
}
.hero-shell { position: relative; }
.hero-grid { min-width: 0; display: grid; grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr); gap: clamp(34px, 5vw, 68px); align-items: center; }
.hero-copy, .hero-media, .offer-grid > *, .science-grid > *, .faq-grid > *, .split-intro > *, .room-grid > *, .bonuses-grid > *, .modality-story-grid > * { min-width: 0; }
.eyebrow {
  margin: 0 0 16px;
  color: var(--gold-dark);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
h1, h2, h3 { margin-top: 0; color: var(--forest); font-family: "Sora", sans-serif; line-height: 1.1; letter-spacing: -0.035em; }
h1 { max-width: 820px; margin-bottom: 18px; overflow-wrap: break-word; font-size: clamp(2.4rem, 4.7vw, 4.3rem); }
.hero h1 { max-width: 610px; font-size: clamp(2.85rem, 3.65vw, 3.35rem); }
h2 { margin-bottom: 20px; font-size: clamp(2rem, 3.8vw, 3.35rem); }
h3 { font-size: 1.05rem; }
.section-deck { max-width: 580px; color: var(--muted); font-size: 1rem; }
p { margin-top: 0; }
.hero-lede { max-width: 720px; margin-bottom: 18px; color: #424740; font-size: clamp(1rem, 1.3vw, 1.16rem); }
.hero-feature-band { display: grid; grid-template-columns: minmax(150px, 0.25fr) minmax(0, 1.75fr); gap: 18px; align-items: center; margin-top: 30px; border: 1px solid rgba(16,45,35,0.13); border-radius: 18px; padding: 16px; background: rgba(255,253,248,0.72); box-shadow: 0 14px 36px rgba(19,37,29,0.07); }
.hero-feature-intro { padding: 4px 10px; }
.hero-feature-intro span { display: block; margin-bottom: 7px; color: var(--gold-dark); font-size: 0.62rem; font-weight: 900; letter-spacing: 0.12em; }
.hero-feature-intro strong { display: block; color: var(--forest); font-family: "Sora"; font-size: 0.87rem; line-height: 1.35; }
.hero-modality-visual {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 6px;
  margin: 0;
}
.hero-modality-visual > span {
  min-width: 0;
  min-height: 66px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(16, 45, 35, 0.12);
  border-radius: 13px;
  padding: 9px 5px;
  color: var(--forest);
  background: rgba(255, 253, 248, 0.76);
  box-shadow: 0 8px 22px rgba(19, 37, 29, 0.06);
}
.hero-modality-visual svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.hero-modality-visual strong { font-size: 0.58rem; line-height: 1.2; letter-spacing: 0.06em; text-align: center; text-transform: uppercase; }
.hero-modality-visual .modality-sauna { color: #9a5f1b; background: rgba(255, 241, 211, 0.78); }
.hero-modality-visual .modality-red { color: #922e2a; background: rgba(255, 231, 225, 0.78); }
.hero-modality-visual .modality-pemf { color: #1a6350; background: rgba(226, 244, 237, 0.78); }
.hero-modality-visual .modality-compression { color: #315a74; background: rgba(229, 241, 248, 0.78); }
.hero-modality-visual .modality-audio { color: #624885; background: rgba(239, 233, 249, 0.78); }
.hero-modality-visual .feature-emf { color: #69531d; background: rgba(247, 240, 205, 0.82); }
.hero-modality-visual .feature-grounding { color: #49622a; background: rgba(233, 243, 215, 0.82); }
.hero-modality-visual .feature-air { color: #23657a; background: rgba(222, 243, 247, 0.82); }
.hero-modality-visual .feature-emf-device { color: #69531d; background: rgba(247, 240, 205, 0.82); }
.hero-modality-visual .feature-vibration { color: #574b83; background: rgba(235, 231, 248, 0.82); }
.hero-modality-visual .feature-inversion { color: #2e6551; background: rgba(222, 241, 232, 0.82); }
.hero-modality-visual .feature-massage { color: #7a5326; background: rgba(248, 236, 217, 0.82); }
.feature-mark { display: grid; place-items: center; width: 27px; height: 23px; border: 1px solid currentColor; border-radius: 7px; font-size: 0.5rem; font-weight: 900; letter-spacing: 0.04em; }
.feature-mark-symbol { border: 0; font-size: 1.55rem; line-height: 1; }
.hero-email-offer { width: min(100%, 570px); display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 15px; border: 1px solid rgba(16,45,35,0.22); border-radius: 13px; padding: 12px 15px; color: var(--forest); background: rgba(255,253,248,0.76); cursor: pointer; text-align: left; transition: border-color 160ms ease, background 160ms ease, transform 160ms ease; }
.hero-email-offer:hover { transform: translateY(-1px); border-color: var(--gold-dark); background: #fff8e8; }
.hero-email-offer strong, .hero-email-offer small { display: block; }
.hero-email-offer strong { font-family: "Sora"; font-size: 0.78rem; }
.hero-email-offer small { margin-top: 2px; color: #656a62; font-size: 0.7rem; }
.email-offer-arrow { color: var(--gold-dark); font-size: 1.3rem; font-weight: 900; }
.hero-value-row { display: grid; grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr); gap: 14px; margin-top: 14px; }
.hero-gap { margin: 0; padding: 14px 16px; border-left: 3px solid var(--gold); color: #4f554d; background: rgba(255,255,255,0.62); font-size: 0.78rem; }
.hero-gap strong { color: var(--forest); }
.hero-trust { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 16px; border-block: 1px solid var(--line); padding-block: 16px; color: var(--forest); }
.hero-trust > div { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 0 12px; }
.hero-trust > div + div { border-left: 1px solid var(--line); }
.hero-trust svg { width: 27px; height: 27px; flex-shrink: 0; fill: none; stroke: var(--gold-dark); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.hero-trust strong, .hero-trust small { display: block; }
.hero-trust strong { font-size: 0.78rem; font-weight: 800; line-height: 1.4; }
.hero-trust small { margin-top: 3px; color: #62675f; font-size: 0.7rem; line-height: 1.4; }
.refund-badge {
  width: fit-content;
  margin: -4px 0 14px;
  border: 1px solid rgba(139, 97, 34, 0.28);
  border-radius: 999px;
  padding: 6px 12px;
  color: #684610;
  background: #fff6df;
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}
.availability-copy { max-width: 680px; margin: 11px 0 0; color: var(--forest); font-size: 0.78rem; font-weight: 800; }
.availability-copy.is-almost-full { color: #7c3e1b; }
.hero-proof-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,0.65); }
.hero-proof-grid div { padding: 14px 18px; border-right: 1px solid var(--line); }
.hero-proof-grid div:last-child { border-right: 0; }
.hero-proof-grid strong, .hero-proof-grid span { display: block; }
.hero-proof-grid strong { color: var(--forest); font-family: "Sora"; font-size: 1.12rem; }
.hero-proof-grid span { color: #62675f; font-size: 0.7rem; }

.button {
  min-height: 50px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 13px 22px;
  cursor: pointer;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease, opacity 160ms ease;
}
.button:hover { transform: translateY(-2px); }
.button:disabled { cursor: not-allowed; opacity: 0.58; transform: none; }
.button-primary { color: #fff; background: var(--forest); box-shadow: 0 10px 26px rgba(16, 45, 35, 0.2); }
.button-primary:hover { background: #194535; }
.button-secondary { color: #fff; background: var(--charcoal); }
.button-gold { color: #1a211d; background: #e0b66c; }
.button-small { min-height: 38px; padding: 8px 16px; font-size: 0.84rem; }
.checkout-button, [data-signup-placement], [data-priority-signup-form] button[type="submit"] {
  width: min(100%, 570px);
  max-width: 100%;
  border-color: #9b6819;
  color: #102d23;
  background: linear-gradient(135deg, #ffda83 0%, #edb347 100%);
  box-shadow: 0 13px 32px rgba(139, 97, 34, 0.3), inset 0 1px 0 rgba(255,255,255,0.55);
  letter-spacing: 0.01em;
}
.checkout-button:hover, [data-signup-placement]:hover, [data-priority-signup-form] button[type="submit"]:hover {
  border-color: #77490c;
  color: #0b241b;
  background: linear-gradient(135deg, #ffe39c 0%, #f5c45f 100%);
  box-shadow: 0 16px 36px rgba(139, 97, 34, 0.38), inset 0 1px 0 rgba(255,255,255,0.68);
}
.header-actions .header-checkout-button { width: auto; }
.checkout-button:disabled, [data-priority-signup-form] button[type="submit"]:disabled {
  border-color: #b69356;
  color: #36483f;
  background: #e7cea1;
  box-shadow: none;
}
.cta-microcopy, .refund-copy { max-width: 570px; margin: 12px 0 0; color: var(--muted); font-size: 0.76rem; line-height: 1.5; }
.email-offer-link { margin-top: 13px; font-size: 0.8rem; text-align: left; }
.checkout-notice { max-width: 570px; margin: 12px 0 0; padding: 10px 12px; color: #5c431a; background: #fff0cf; border: 1px solid #dfbe78; border-radius: 8px; font-size: 0.82rem; }

.hero-media { width: 100%; min-width: 0; justify-self: end; }
.concept-photo { margin: 0; }
.concept-photo img {
  width: 100%;
  height: auto;
  border-radius: 22px;
  object-fit: cover;
  box-shadow: var(--shadow);
}
.concept-photo figcaption {
  margin-top: 11px;
  color: #676b63;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.5;
  text-align: center;
}
.hero-concept-photo img { aspect-ratio: 16 / 10; object-fit: cover; object-position: center; }
.concept-gallery-section { padding: clamp(34px, 5vw, 64px) 0; background: #eee5d5; }
.concept-gallery-section figcaption { color: #555b53; }
.concept-photo-wide img { max-height: 720px; object-position: center; }
.concept-photo-forest { margin-bottom: 42px; }
.concept-photo-forest img { max-height: 640px; object-position: center; }
.concept-photo-forest figcaption { color: #bdc9c1; }
.video-frame {
  position: relative;
  width: min(100%, 420px);
  aspect-ratio: 9 / 16;
  margin-left: auto;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.45);
  border-radius: 26px;
  background: linear-gradient(155deg, #193b2e 0%, #0b2119 56%, #7d5730 130%);
  box-shadow: var(--shadow);
}
.video-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: inherit;
}
.video-frame video { width: 100%; height: 100%; object-fit: cover; background: #0b2119; }
.concept-disclosure { width: min(100%, 420px); margin: 12px 0 0 auto; color: #676b63; font-size: 0.58rem; font-weight: 800; letter-spacing: 0.1em; line-height: 1.5; text-align: center; }

.section { padding: clamp(72px, 8vw, 116px) 0; }
.section-heading { max-width: 740px; margin-bottom: 40px; }
.section-heading > p:last-child { color: var(--muted); }
.split-intro, .room-grid { display: grid; grid-template-columns: 0.82fr 1fr; gap: clamp(38px, 8vw, 108px); align-items: start; }
.rich-copy { color: #50564e; font-size: 1.02rem; }
.rich-copy p { margin-bottom: 22px; }
.rich-copy p:last-child { margin-bottom: 0; }
.market-gap { padding: 18px 20px; border: 1px solid rgba(139,97,34,0.22); border-radius: 12px; color: #3f493f; background: #fff7e5; }
.market-gap strong { color: var(--forest); }
.inline-detail { margin-top: 22px; border: 1px solid rgba(139,97,34,0.22); border-radius: 12px; background: #fff7e5; }
.inline-detail summary { padding: 15px 18px; color: var(--forest); cursor: pointer; font-weight: 800; }
.inline-detail p { margin: 0; padding: 0 18px 18px; font-size: 0.9rem; }
.one-room-graphic {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(260px, 0.45fr);
  gap: clamp(24px, 5vw, 70px);
  align-items: center;
  margin-top: clamp(40px, 6vw, 74px);
  padding: clamp(24px, 4vw, 42px);
  overflow: hidden;
  border: 1px solid rgba(16,45,35,0.13);
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(255,255,255,0.9), rgba(238,229,213,0.72));
  box-shadow: 0 18px 52px rgba(19,37,29,0.08);
}
.one-room-graphic::before { content: ""; position: absolute; width: 300px; height: 300px; right: -95px; border-radius: 50%; background: rgba(189,140,60,0.14); filter: blur(2px); }
.room-system-copy { position: relative; z-index: 1; }
.room-system-copy .eyebrow { margin-bottom: 9px; }
.room-system-copy h3 { max-width: 650px; margin-bottom: 10px; font-size: clamp(1.45rem, 2.4vw, 2rem); }
.room-system-copy > p:last-of-type { max-width: 680px; color: #596058; font-size: 0.88rem; }
.room-feature-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 22px; }
.feature-group { display: grid; gap: 7px; border: 1px solid rgba(16,45,35,0.13); border-radius: 15px; padding: 17px; background: rgba(255,253,248,0.8); }
.feature-group strong { margin-bottom: 3px; color: var(--gold-dark); font-size: 0.62rem; letter-spacing: 0.11em; }
.feature-group span { position: relative; padding-left: 15px; color: var(--forest); font-size: 0.76rem; font-weight: 700; line-height: 1.4; }
.feature-group span::before { content: ""; position: absolute; top: 0.52em; left: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--gold); }
.room-core { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; min-height: 310px; padding: 30px 26px; border: 1px solid rgba(255,255,255,0.28); border-radius: 22px; color: #fff; background: linear-gradient(145deg, var(--forest-2), var(--forest)); box-shadow: 0 18px 45px rgba(16,45,35,0.22); text-align: left; }
.room-core > span { margin-bottom: 15px; color: #e1bc76; font-size: 0.58rem; font-weight: 900; letter-spacing: 0.12em; }
.room-core strong { font-family: "Sora"; font-size: 1.45rem; letter-spacing: 0.04em; }
.room-core small { margin-top: 7px; color: #ced9d2; }
.room-core ul { margin: 25px 0 0; border-top: 1px solid rgba(255,255,255,0.18); padding: 20px 0 0; color: #ecf2ee; list-style: none; }
.room-core li { margin-top: 7px; font-size: 0.76rem; }
.room-core li::before { content: "✓"; margin-right: 8px; color: #e1bc76; font-weight: 900; }
.step-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.step-grid li { min-height: 190px; padding: 25px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.step-grid span { display: block; margin-bottom: 32px; color: var(--gold-dark); font-size: 0.74rem; font-weight: 800; letter-spacing: 0.12em; }
.step-grid p { margin: 0; color: var(--forest); font-family: "Sora"; font-size: 1.08rem; font-weight: 600; line-height: 1.35; }
.occupancy-note { margin: 24px 0 0; padding: 18px 20px; border-left: 3px solid var(--gold); color: #52574f; background: var(--ivory); font-size: 0.88rem; }

.section-forest { color: #e9eee9; background: var(--forest); }
.section-heading-light h2 { color: #fffaf0; }
.section-forest .eyebrow { color: #e0b66c; }
.section-forest .section-heading > p:last-child { color: #bdc9c1; }
.benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.benefit-grid article { min-height: 250px; padding: 28px; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.benefit-grid span, .bonus-number { color: #e0b66c; font-size: 0.67rem; font-weight: 800; letter-spacing: 0.12em; }
.benefit-grid h3 { margin: 48px 0 12px; color: #fffaf0; font-size: 1.08rem; }
.benefit-grid p { margin: 0; color: #bdc9c1; font-size: 0.84rem; }
.benefit-grid details, .room-details details { margin-top: 18px; }
.benefit-grid summary, .room-details summary { width: fit-content; color: #e0b66c; cursor: pointer; font-size: 0.74rem; font-weight: 800; text-underline-offset: 4px; }
.benefit-grid details p { margin-top: 10px; }

.bonuses { background: #fffdf8; }
.bonuses-grid { display: grid; grid-template-columns: 0.72fr 1fr; gap: clamp(42px, 8vw, 110px); align-items: start; }
.bonus-list { border-top: 1px solid var(--line); }
.bonus-list article { display: grid; grid-template-columns: 100px 1fr; gap: 22px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.bonus-list .bonus-featured { margin-inline: -18px; padding-inline: 18px; border: 1px solid rgba(139,97,34,0.25); border-radius: 14px; background: linear-gradient(120deg, #fff2d0, #fffaf0); }
.bonus-featured .bonus-number { width: fit-content; height: fit-content; padding: 5px 8px; border-radius: 5px; color: #fffaf0; background: var(--forest); font-size: 0.6rem; }
.bonus-list h3 { margin: 0 0 8px; }
.bonus-list p { margin: 0; color: #5b6058; font-size: 0.88rem; }
.bonus-number { color: var(--gold-dark); padding-top: 3px; }
.bonus-highlight { margin-top: 24px; border: 1px solid rgba(139,97,34,0.22); border-radius: 15px; padding: 18px 20px; color: var(--forest); background: linear-gradient(135deg, #fff4d3, #fffaf0); box-shadow: 0 12px 32px rgba(19,37,29,0.06); }
.bonus-highlight strong, .bonus-highlight span { display: block; }
.bonus-highlight strong { margin-bottom: 5px; font-family: "Sora"; font-size: 1rem; }
.bonus-highlight span { color: #595a4e; font-size: 0.8rem; }
.bonus-terms { grid-column: 2; margin: -76px 0 0; padding: 16px 18px; border-left: 3px solid var(--gold); color: #575c55; background: var(--ivory); font-size: 0.78rem; }
.suite-menu { color: #f8f2e7; background: radial-gradient(circle at 84% 12%, rgba(201,160,84,0.13), transparent 29%), linear-gradient(145deg, #173d30, #0d2a21 72%); }
.suite-menu-heading { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(300px, 0.7fr); column-gap: clamp(50px, 9vw, 130px); align-items: end; margin-bottom: 46px; }
.suite-menu-heading .eyebrow { grid-column: 1 / -1; color: #d7b56c; }
.suite-menu-heading h2 { max-width: 700px; margin: 0; color: #fffaf0; }
.suite-menu-heading > p:last-child { margin: 0 0 7px; color: rgba(255,250,240,0.72); }
.suite-menu-group + .suite-menu-group { margin-top: 40px; }
.suite-menu-group-label { margin: 0 0 13px; color: #d7b56c; font-size: 0.62rem; font-weight: 800; letter-spacing: 0.15em; }
.suite-menu-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(10px, 1.4vw, 18px); }
.suite-menu-item { position: relative; min-width: 0; aspect-ratio: 1 / 1; margin: 0; overflow: hidden; border-radius: 18px; background: #e9dfd0; }
.suite-menu-item img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.suite-menu-item::after { position: absolute; inset: 40% 0 0; content: ""; background: linear-gradient(to bottom, transparent, rgba(5,24,18,0.88)); pointer-events: none; }
.suite-menu-item figcaption { position: absolute; z-index: 1; right: 15px; bottom: 14px; left: 15px; color: #fff; }
.suite-menu-item figcaption span { display: block; margin-bottom: 4px; color: #edd18d; font-size: 0.48rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.suite-menu-item h3 { margin: 0; color: #fff; font-size: clamp(0.76rem, 1.1vw, 0.94rem); line-height: 1.2; }
.suite-menu-disclosure { margin: 27px 0 0; color: rgba(255,250,240,0.48); font-size: 0.5rem; font-weight: 800; letter-spacing: 0.075em; text-align: center; }
.modality-story { background: #fffdf8; }
.modality-story-alt { background: #eee6da; }
.modality-story-grid { display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(0, 0.87fr); gap: clamp(38px, 7vw, 90px); align-items: center; }
.modality-story-grid.is-reverse .modality-photo { order: 2; }
.modality-story-grid.is-reverse .modality-copy { order: 1; }
.modality-photo img { aspect-ratio: 4 / 3; object-fit: cover; }
.modality-copy > p { color: #50564e; }
.modality-copy h2 { margin-bottom: 18px; }
.modality-copy h3 { margin: 30px 0 10px; }
.modality-copy ul { margin: 0 0 28px; padding-left: 21px; color: #50564e; }
.modality-copy li { margin-bottom: 8px; }
.modality-number { margin-bottom: 13px !important; color: var(--gold-dark) !important; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.13em; }
.evidence-card { margin-top: 28px; border: 1px solid rgba(16,45,35,0.15); border-radius: 15px; padding: 22px; background: rgba(255,255,255,0.72); }
.evidence-card > strong { display: block; margin-bottom: 8px; color: var(--forest); font-family: "Sora"; }
.evidence-card p { margin-bottom: 12px; color: #535950; font-size: 0.84rem; }
.study-list { display: grid; gap: 10px; margin: 16px 0 0 !important; padding: 16px 0 0 !important; border-top: 1px solid rgba(16,45,35,0.12); list-style: none; }
.study-list li { margin: 0; color: #656a62; font-size: 0.67rem; line-height: 1.5; }
.study-list b { color: #3f493f; font-weight: 800; }
.source-links { display: flex; flex-wrap: wrap; gap: 10px 18px; }
.modality-safety-summary { padding: 24px 0; color: #f6f1e7; background: #17382d; }
.modality-safety-summary .shell { display: grid; grid-template-columns: minmax(220px, 0.55fr) minmax(0, 1.45fr); gap: 30px; align-items: center; }
.modality-safety-summary strong { color: #ffda83; font-family: "Sora"; font-size: 0.9rem; }
.modality-safety-summary p { margin: 0; color: rgba(255,255,255,0.78); font-size: 0.78rem; }

.offer { background: #f7f3ea; }
.offer-grid { display: grid; grid-template-columns: 1.05fr 0.8fr; gap: clamp(42px, 8vw, 100px); align-items: start; }
.offer-lede { max-width: 660px; color: #555a52; font-size: 1.08rem; }
.payment-sequence { margin-top: 34px; border-top: 1px solid var(--line); }
.payment-sequence article { display: grid; grid-template-columns: 180px 1fr; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.payment-sequence strong { color: var(--forest); font-family: "Sora"; font-size: 1rem; }
.payment-sequence p { margin: 0; color: #5b6058; font-size: 0.9rem; }
.offer-card { padding: clamp(26px, 4vw, 42px); border: 1px solid rgba(16,45,35,0.12); border-top: 4px solid var(--gold); border-radius: var(--radius); background: linear-gradient(165deg, #fffdf8, #fff 45%); box-shadow: var(--shadow); }
.offer-card-label { margin-bottom: 12px; color: var(--gold-dark); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.14em; }
.offer-price { margin-bottom: 24px; color: var(--forest); font-family: "Sora"; font-size: clamp(3rem, 5vw, 4.25rem); font-weight: 700; line-height: 1; }
.offer-price span { font-size: 1.3rem; vertical-align: top; }
.offer-price small { display: block; margin-top: 10px; color: var(--muted); font-family: "Manrope"; font-size: 0.8rem; font-weight: 700; }
.offer-discount { width: 100%; display: grid; gap: 2px; margin: -7px 0 22px; border: 1px solid #d8aa58; border-radius: 12px; padding: 12px 14px; color: #4f3510; background: #fff3ce; cursor: pointer; text-align: left; }
.offer-discount strong { font-family: "Sora"; font-size: 0.8rem; }
.offer-discount span { font-size: 0.73rem; }
.check-list { margin: 0 0 28px; padding: 0; list-style: none; }
.check-list li { position: relative; margin-bottom: 11px; padding-left: 25px; color: #464b44; font-size: 0.86rem; }
.check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--gold-dark); font-weight: 900; }
.campaign-deadline { margin: 16px 0 0; color: var(--forest); font-size: 0.8rem; font-weight: 800; }
.refund-callout { margin: 8px 0 0; padding: 17px 18px; border-radius: 12px; color: #4f4e45; background: #fff4d8; font-size: 0.84rem; }
.offer-checkout-button { margin-top: 24px; }
.offer-cta-copy { margin-bottom: 0; }
.price-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 30px; }
.price-compare > div { padding: 22px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.price-compare span { display: block; margin-bottom: 10px; color: var(--gold-dark); font-size: 0.65rem; font-weight: 800; letter-spacing: 0.1em; }
.price-compare strong { display: block; color: var(--forest); font-family: "Sora"; font-size: 2.4rem; line-height: 1; }
.price-compare p { margin: 10px 0 0; color: #5b6058; font-size: 0.78rem; }

.day-in-room { background: #ece4d7; }
.day-in-room .eyebrow, .final-message .eyebrow { color: #704713; }
.room-details { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(16,45,35,0.18); border-left: 1px solid rgba(16,45,35,0.18); }
.room-details article { min-height: 190px; padding: 24px; border-right: 1px solid rgba(16,45,35,0.18); border-bottom: 1px solid rgba(16,45,35,0.18); }
.room-details h3 { margin-bottom: 12px; }
.room-details p { margin: 0; color: #555a52; font-size: 0.85rem; }
.room-details summary { color: var(--gold-dark); }
.room-details details p { margin-top: 9px; }

.room-environment { background-color: #eef1e8; }
.environment-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.environment-grid article { min-height: 275px; border: 1px solid rgba(16,45,35,0.14); border-radius: var(--radius); padding: clamp(24px, 3vw, 34px); background: rgba(255,253,248,0.82); box-shadow: 0 14px 38px rgba(19,37,29,0.07); }
.environment-grid h3 { margin: 34px 0 12px; }
.environment-grid p { margin: 0; color: #555c53; font-size: 0.86rem; }
.environment-mark { display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid currentColor; border-radius: 16px; font-family: "Sora"; font-size: 0.72rem; font-weight: 800; }
.environment-grounding .environment-mark { color: #49622a; font-size: 1.6rem; }
.environment-emf .environment-mark { color: #8a671d; }
.environment-air .environment-mark { color: #23657a; }
.cleaning-promise { display: grid; grid-template-columns: minmax(210px, 0.42fr) 1fr; gap: 26px; margin-top: 18px; border-radius: 16px; padding: 20px 24px; color: #eef5ef; background: var(--forest); }
.cleaning-promise strong { font-family: "Sora"; }
.cleaning-promise span { color: #c5d2c9; font-size: 0.88rem; }

.guarantee { color: #f1f3ef; background: #1b2420; }
.guarantee-inner { text-align: center; }
.guarantee h2 { max-width: 960px; margin-right: auto; margin-left: auto; color: #fffaf0; }
.guarantee .eyebrow { color: #e0b66c; }
.guarantee-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; max-width: 1000px; margin: 42px auto 0; background: rgba(255,255,255,0.18); }
.guarantee-grid p { margin: 0; padding: 24px; color: #c8d0ca; background: #1b2420; font-size: 0.88rem; }
.guarantee-grid strong { display: block; margin-bottom: 7px; color: #fffaf0; }

.section-ivory { background: var(--ivory); }
.science-grid { display: grid; grid-template-columns: 0.8fr 1fr; gap: clamp(36px, 8vw, 110px); }
.science-grid > div:last-child { color: #50564e; font-size: 1rem; }
.safety-copy { margin: 26px 0 0; padding-top: 24px; border-top: 1px solid var(--line); font-size: 0.85rem; }

.support-section { color: #eef3ef; background: linear-gradient(135deg, #173e30, #102d23); }
.support-inner { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr); gap: clamp(42px, 8vw, 100px); align-items: center; }
.support-section h2 { color: #fffaf0; }
.support-section .eyebrow { color: #e0b66c; }
.support-section p { max-width: 680px; color: #c6d2cb; }
.support-actions { border: 1px solid rgba(255,255,255,0.18); border-radius: var(--radius); padding: clamp(24px, 4vw, 36px); background: rgba(255,255,255,0.07); }
.support-email-button { width: 100%; border: 1px solid #e5bd72; color: #15251d; background: linear-gradient(135deg, #ffe6a7, #dfae56); box-shadow: 0 12px 30px rgba(0,0,0,0.18); }

.email-offer-section { position: relative; overflow: hidden; background: var(--forest); }
.email-offer-section::before { content: "10%"; position: absolute; right: -2vw; top: 50%; transform: translateY(-50%); color: rgba(255,255,255,0.035); font-family: "Sora"; font-size: clamp(9rem, 23vw, 23rem); font-weight: 800; line-height: 1; }
.email-offer-grid { position: relative; display: grid; grid-template-columns: 0.8fr 1fr; gap: clamp(38px, 8vw, 100px); align-items: center; }
.email-offer-grid h2 { color: #fffaf0; }
.email-offer-grid .eyebrow { color: #e0b66c; }
.email-offer-grid > div:first-child > p { color: #c8d3cc; }
.compact-checks { margin: 24px 0 0; padding: 0; color: #d9e2dc; list-style: none; }
.compact-checks li { position: relative; margin: 9px 0; padding-left: 24px; font-size: 0.86rem; }
.compact-checks li::before { content: "✓"; position: absolute; left: 0; color: #e0b66c; font-weight: 900; }
.email-offer-card { padding: clamp(24px, 4vw, 42px); border-radius: var(--radius); background: #fffdf8; box-shadow: 0 24px 70px rgba(0,0,0,0.23); }
.email-offer-form { display: grid; gap: 16px; }
.email-offer-form > label:first-child { display: grid; gap: 7px; color: var(--forest); font-size: 0.8rem; font-weight: 800; }
.email-offer-form .consent-check { font-size: 0.74rem; line-height: 1.45; }
.promo-result { margin-top: 4px; border: 1px solid #d2aa64; border-radius: 14px; padding: 18px; background: #fff4d8; text-align: center; }
.promo-result p { margin-bottom: 9px; color: #555a52; font-size: 0.78rem; }
.promo-result strong { display: block; margin-bottom: 9px; color: var(--forest); font-family: "Sora"; font-size: 1.5rem; letter-spacing: 0.06em; overflow-wrap: anywhere; }
.promo-result .button { width: 100%; min-height: 42px; }
.promo-apply-form { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
.promo-apply-form label { display: grid; gap: 8px; color: var(--forest); font-size: 0.76rem; font-weight: 800; }
.promo-apply-form label span { display: grid; grid-template-columns: 1fr auto; }
.promo-apply-form input { border-radius: 9px 0 0 9px; text-transform: uppercase; }
.promo-apply-form button { border: 0; border-radius: 0 9px 9px 0; padding: 0 17px; color: #fff; background: var(--forest); cursor: pointer; font-weight: 800; }
.email-offer-dialog { width: min(560px, calc(100% - 28px)); max-height: calc(100dvh - 28px); margin: auto; border: 0; border-radius: 22px; padding: 0; color: var(--ink); background: #fffdf8; box-shadow: 0 30px 100px rgba(0,0,0,0.4); }
.email-offer-dialog::backdrop { background: rgba(9,22,17,0.68); backdrop-filter: blur(5px); }
.dialog-shell { position: relative; padding: clamp(24px, 6vw, 44px); }
.dialog-shell h2 { margin-bottom: 13px; font-size: clamp(2rem, 7vw, 3rem); }
.dialog-shell > p:not(.eyebrow) { color: #585d55; }
.dialog-close { position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; border: 0; border-radius: 50%; color: var(--forest); background: #eee6d8; cursor: pointer; font-size: 1.6rem; line-height: 1; }
body:has(.email-offer-dialog[open]) { overflow: hidden; }

.motion-ready .reveal-section, .motion-ready .reveal-grid > * { opacity: 0; transform: translateY(18px); transition: opacity 520ms ease, transform 520ms ease; }
.motion-ready .is-revealed, .motion-ready .reveal-grid.is-revealed > * { opacity: 1; transform: translateY(0); }
.motion-ready .reveal-grid.is-revealed > *:nth-child(2) { transition-delay: 60ms; }
.motion-ready .reveal-grid.is-revealed > *:nth-child(3) { transition-delay: 120ms; }
.motion-ready .reveal-grid.is-revealed > *:nth-child(4) { transition-delay: 180ms; }
.motion-ready .reveal-grid.is-revealed > *:nth-child(5) { transition-delay: 240ms; }
.motion-ready .reveal-grid.is-revealed > *:nth-child(6) { transition-delay: 300ms; }
.motion-ready .room-core { animation: room-glow 4s ease-in-out infinite; }
@keyframes room-glow { 50% { box-shadow: 0 18px 55px rgba(189,140,60,0.32); } }

.lifestyle { background: #f7f3ea; }
.lifestyle-layout { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(42px, 7vw, 90px); align-items: center; }
.lifestyle-copy .section-heading { margin-bottom: 22px; }
.lifestyle-copy > p { color: #555b53; }
.routine-list { margin: 28px 0 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.routine-list li { display: grid; gap: 4px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.routine-list strong { color: var(--forest); font-family: "Sora"; font-size: 0.88rem; }
.routine-list span { color: #62675f; font-size: 0.78rem; }
.lifestyle-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; width: 100%; max-width: 560px; margin: 0 auto; }
.lifestyle-grid figure { margin: 0; }
.lifestyle-grid img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 14px; box-shadow: 0 16px 38px rgba(19, 37, 29, 0.12); }

.faq-grid { display: grid; grid-template-columns: 0.7fr 1.1fr; gap: clamp(38px, 8vw, 100px); align-items: start; }
.faq-heading { position: sticky; top: 30px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { padding: 20px 36px 20px 0; color: var(--forest); cursor: pointer; font-family: "Sora"; font-size: 0.98rem; font-weight: 600; line-height: 1.35; }
.faq-list p { padding: 0 28px 22px 0; color: #5a5f57; font-size: 0.88rem; }

.validity-section { color: #fffaf0; background-color: #102d23; background-image: radial-gradient(circle at 82% 20%, rgba(212,165,85,0.13), transparent 34%), linear-gradient(135deg, rgba(255,255,255,0.025) 25%, transparent 25%, transparent 75%, rgba(255,255,255,0.025) 75%); background-size: auto, 24px 24px; }
.validity-inner { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(300px, 0.82fr); gap: clamp(40px, 8vw, 100px); align-items: center; }
.validity-section .eyebrow { color: #ffda83; }
.validity-section h2 { color: #fffaf0; }
.validity-section p { color: rgba(255,255,255,0.78); }
.validity-note { font-size: 0.8rem; }
.validity-clock { border: 1px solid rgba(255,218,131,0.38); border-radius: 18px; padding: clamp(25px, 4vw, 38px); background: rgba(255,255,255,0.065); box-shadow: 0 22px 60px rgba(0,0,0,0.16); }
.validity-clock > span { display: block; margin-bottom: 12px; color: #ffda83; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.14em; }
.validity-clock strong { display: block; color: #fff; font-family: "Sora"; font-size: clamp(1.35rem, 3vw, 2rem); font-variant-numeric: tabular-nums; line-height: 1.2; }
.validity-clock p { margin: 14px 0 0; font-size: 0.76rem; }

.final-message { padding: clamp(70px, 8vw, 108px) 0; text-align: center; background: #eee5d5; }
.final-message-inner { max-width: 880px; }
.final-message h2 { margin-right: auto; margin-left: auto; }
.final-message-lede { max-width: 680px; margin: 0 auto 24px; color: #5b6058; }
.final-checkout-button { margin-right: auto; margin-left: auto; }
.final-cta-copy { margin-right: auto; margin-left: auto; color: #555b53; }
.final-message .checkout-notice { margin-right: auto; margin-left: auto; }

.trust-footer-section { padding: clamp(48px, 6vw, 76px) 0; color: #e9f0eb; background: #16261f; }
.trust-footer-heading { display: flex; justify-content: space-between; gap: 34px; align-items: end; margin-bottom: 30px; border-bottom: 1px solid rgba(255,255,255,0.14); padding-bottom: 24px; }
.trust-footer-heading .eyebrow { margin: 0; color: #e0b66c; }
.trust-footer-heading h2 { max-width: 680px; margin: 0; color: #fffaf0; font-size: clamp(1.7rem, 3vw, 2.55rem); text-align: right; }
.trust-footer-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(255,255,255,0.14); }
.trust-footer-grid > div { min-height: 155px; padding: 22px; background: #16261f; }
.trust-footer-grid strong, .trust-footer-grid span { display: block; }
.trust-footer-grid strong { margin-bottom: 9px; color: #fffaf0; font-family: "Sora"; font-size: 0.86rem; }
.trust-footer-grid span { color: #bfcac3; font-size: 0.76rem; }
.trust-footer-grid a { color: #f0c77d; text-underline-offset: 3px; }

.waitlist-section { background: #ebe4d6; }
.waitlist-section .eyebrow { color: #805719; }
.waitlist-grid { display: grid; grid-template-columns: 0.82fr 1fr; gap: clamp(38px, 8vw, 96px); }
.waitlist-grid > div > p:last-child { color: #5a5f57; }
.waitlist-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.waitlist-form label, .survey-card label { display: grid; gap: 7px; color: var(--forest); font-size: 0.8rem; font-weight: 800; }
.waitlist-form label span { color: #5c6159; font-weight: 500; }
input, select, textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(16,45,35,0.25);
  border-radius: 9px;
  padding: 11px 12px;
  color: var(--ink);
  background: #fff;
}
textarea { min-height: 110px; resize: vertical; }
.consent-check { grid-column: 1 / -1; display: flex !important; align-items: flex-start; gap: 10px !important; color: #51564f !important; font-weight: 500 !important; }
.consent-check input { width: 18px; min-height: 18px; margin-top: 3px; }
.waitlist-form .button, .form-status, .turnstile-slot { grid-column: 1 / -1; }
.turnstile-slot { min-height: 0; margin-top: 10px; }
.form-status { min-height: 1.4em; margin: 0; color: var(--forest); font-size: 0.82rem; font-weight: 700; }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.final-cta { padding: clamp(58px, 7vw, 88px) 0; color: #edf2ed; background: var(--charcoal); }
.final-inner { display: grid; grid-template-columns: 1fr 0.85fr; gap: 52px; align-items: center; }
.final-cta h2 { color: #fffaf0; }
.final-cta .eyebrow { color: #e0b66c; }
.final-cta p { color: #c2c9c3; }
.final-cta .cta-microcopy { color: #aeb6b0; }

.site-footer { padding: 36px 0 52px; color: #6a6e68; background: #f7f3ea; font-size: 0.8rem; }
.footer-inner { display: flex; justify-content: space-between; gap: 28px; }
.footer-inner p:last-child { text-align: right; }

.promo-applied .header-discount-button, .promo-applied .hero-email-offer, .promo-applied .offer-discount { display: none; }

.opening-case, .bonuses, .experience, .modality-story, .faq-section {
  background-image:
    radial-gradient(circle at 1px 1px, rgba(16,45,35,0.035) 0.7px, transparent 0.8px),
    linear-gradient(112deg, rgba(189,140,60,0.018), transparent 42%, rgba(16,45,35,0.018));
  background-size: 9px 9px, 100% 100%;
}

@media (min-width: 981px) {
  .hero-media { transform: translateX(clamp(8px, 1.35vw, 18px)); }
}

.sticky-checkout {
  position: fixed;
  z-index: 80;
  right: 14px;
  bottom: 14px;
  left: 14px;
  display: none;
  align-items: center;
  gap: 10px;
  padding: 9px;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 18px;
  color: #fff;
  background: rgba(18, 31, 25, 0.96);
  box-shadow: 0 16px 46px rgba(0,0,0,0.28);
  backdrop-filter: blur(12px);
}
.sticky-checkout .button { flex: 1; min-height: 46px; }
.sticky-checkout small { max-width: 74px; padding-right: 8px; color: #c7d0c9; font-size: 0.63rem; line-height: 1.25; }

.success-page { min-height: 100vh; padding: 48px 20px 80px; background: linear-gradient(145deg, #f7f3ea, #ebe4d6); }
.success-shell { width: min(760px, 100%); margin: 0 auto; }
.success-shell > .brand { display: inline-block; margin-bottom: 34px; }
.success-card, .survey-card { margin-bottom: 22px; padding: clamp(26px, 6vw, 52px); border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.success-card h1 { font-size: clamp(2.2rem, 7vw, 4rem); }
.receipt-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 28px 0; }
.receipt-summary div { padding: 16px; border-radius: 12px; background: var(--ivory); }
.receipt-summary strong { display: block; color: var(--forest); font-family: "Sora"; }
.receipt-summary span { color: var(--muted); font-size: 0.75rem; }
.survey-card form { display: grid; gap: 17px; }
.survey-card fieldset { margin: 0; border: 1px solid var(--line); border-radius: 10px; padding: 14px; }
.survey-card legend { color: var(--forest); font-size: 0.8rem; font-weight: 800; }
.survey-card fieldset label { display: inline-flex; align-items: center; margin: 8px 18px 0 0; }
.survey-card fieldset input { width: 18px; min-height: 18px; }

@media (max-width: 980px) {
  .hero-grid, .offer-grid, .science-grid, .faq-grid, .waitlist-grid, .split-intro, .room-grid, .bonuses-grid, .modality-story-grid, .lifestyle-layout, .email-offer-grid, .support-inner, .validity-inner { grid-template-columns: 1fr; }
  .hero-media { max-width: 520px; }
  .video-frame, .concept-disclosure { margin-right: auto; margin-left: 0; }
  .modality-story-grid.is-reverse .modality-photo, .modality-story-grid.is-reverse .modality-copy { order: initial; }
  .faq-heading { position: static; }
  .bonus-terms { grid-column: auto; margin: 0; }
  .step-grid { grid-template-columns: repeat(2, 1fr); }
  .hero-feature-band { grid-template-columns: 1fr; }
  .hero-feature-intro { display: flex; justify-content: space-between; gap: 24px; align-items: baseline; }
  .hero-feature-intro span { margin-bottom: 0; }
  .hero-modality-visual { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .one-room-graphic { grid-template-columns: 1fr; }
  .room-core { min-height: 230px; }
  .suite-menu-heading { grid-template-columns: 1fr; gap: 15px; }
  .suite-menu-heading .eyebrow { grid-column: auto; }
  .suite-menu-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .shell { width: calc(100% - 30px); max-width: 560px; }
  .prelaunch-strip { min-height: 36px; font-size: 0.6rem; }
  .prelaunch-strip { display: grid; gap: 1px; }
  .prelaunch-strip .offer-countdown { min-width: 0; border-top: 1px solid rgba(255,255,255,0.26); border-left: 0; padding-top: 2px; padding-left: 0; }
  .header-inner { height: 48px; }
  .header-status { display: none; }
  .header-actions { gap: 6px; }
  .brand { font-size: 0.69rem; letter-spacing: 0.085em; }
  .header-discount-button { min-height: 34px; padding: 7px 10px; font-size: 0.66rem; }
  .header-discount-button::before { display: none; }
  .discount-label-desktop { display: none; }
  .discount-label-mobile { display: inline; }
  .header-checkout-button { min-height: 36px; padding: 7px 11px; font-size: 0.68rem; }
  .hero { padding-top: 22px; }
  .hero-grid { gap: 26px; }
  .hero-media { max-width: none; }
  h1 { font-size: clamp(2.15rem, 10.8vw, 3.15rem); }
  h2 { font-size: clamp(1.9rem, 9vw, 2.75rem); }
  .hero-lede { font-size: 0.98rem; }
  .hero-feature-band { margin-top: 20px; padding: 11px; }
  .hero-feature-intro { display: block; padding: 5px; }
  .hero-feature-intro span { margin-bottom: 4px; }
  .hero-modality-visual { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
  .hero-modality-visual > span { min-height: 61px; gap: 5px; border-radius: 10px; padding: 7px 2px; }
  .hero-modality-visual svg { width: 20px; height: 20px; }
  .hero-modality-visual strong { font-size: 0.5rem; letter-spacing: 0.025em; }
  .hero-value-row { grid-template-columns: 1fr; }
  .hero-trust { grid-template-columns: 1fr; gap: 12px; padding-block: 14px; }
  .hero-trust > div { justify-content: flex-start; padding: 0 8px; }
  .hero-trust > div + div { border-left: 0; }
  .hero-trust svg { width: 24px; height: 24px; }
  .hero-copy .button { width: 100%; }
  .refund-badge { font-size: 0.6rem; }
  .hero-proof-grid div { padding: 12px 9px; }
  .hero-proof-grid strong { font-size: 0.96rem; }
  .hero-proof-grid span { font-size: 0.6rem; }
  .video-frame { width: 100%; max-height: 650px; }
  .step-grid { grid-template-columns: 1fr; }
  .step-grid li { min-height: auto; }
  .step-grid span { margin-bottom: 18px; }
  .benefit-grid { grid-template-columns: 1fr; }
  .benefit-grid article { min-height: auto; }
  .benefit-grid h3 { margin-top: 28px; }
  .one-room-graphic { padding: 20px; }
  .room-feature-groups { grid-template-columns: 1fr; }
  .bonus-list article { grid-template-columns: 1fr; gap: 9px; }
  .bonus-list .bonus-featured { margin-inline: 0; }
  .room-details, .guarantee-grid { grid-template-columns: 1fr; }
  .environment-grid { grid-template-columns: 1fr; }
  .suite-menu-heading { margin-bottom: 32px; }
  .suite-menu-heading > p:last-child { margin: 0; }
  .suite-menu-group + .suite-menu-group { margin-top: 32px; }
  .suite-menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .suite-menu-item { border-radius: 14px; }
  .suite-menu-item figcaption { right: 11px; bottom: 10px; left: 11px; }
  .suite-menu-item figcaption span { font-size: 0.42rem; }
  .suite-menu-item h3 { font-size: 0.75rem; }
  .suite-menu-disclosure { margin-top: 20px; font-size: 0.42rem; line-height: 1.5; }
  .modality-safety-summary .shell { grid-template-columns: 1fr; gap: 7px; }
  .environment-grid article { min-height: auto; }
  .cleaning-promise { grid-template-columns: 1fr; gap: 7px; }
  .room-details article { min-height: auto; }
  .lifestyle-grid { grid-template-columns: 1fr; max-width: 520px; }
  .trust-footer-heading { display: block; }
  .trust-footer-heading .eyebrow { margin-bottom: 10px; }
  .trust-footer-heading h2 { text-align: left; }
  .trust-footer-grid { grid-template-columns: 1fr 1fr; }
  .price-compare { grid-template-columns: 1fr; }
  .payment-sequence article { grid-template-columns: 1fr; gap: 5px; }
  .offer-card { padding: 26px 20px; }
  .waitlist-form { grid-template-columns: 1fr; }
  .email-offer-card { padding: 22px 18px; }
  .final-inner { grid-template-columns: 1fr; gap: 24px; }
  .final-cta .button { width: 100%; }
  .footer-inner { display: block; }
  .footer-inner p:last-child { margin-top: 20px; text-align: left; }
  .sticky-checkout.is-visible { display: flex; }
  .receipt-summary { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
  .trust-footer-grid { grid-template-columns: 1fr; }
  .trust-footer-grid > div { min-height: auto; }
}

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