@font-face {
  font-family: "Embra Display";
  src: url("assets/fonts/YoungSerif-Regular.ttf") format("truetype");
  font-display: swap;
}

:root {
  --embra-evergreen: #395847;
  --embra-leaf: #94a17b;
  --embra-ink: #273a2f;
  --candle-cream: #f6f0e5;
  --oat-paper: #eee5d6;
  --parchment: #dcd2c4;
  --embrace: #de7b54;
  --embrace-veil: #fbe9e2;
  --radiant: #498d8d;
  --radiant-veil: #e2f0f0;
  --inspire: #f69013;
  --inspire-veil: #fef3e4;
  --drift: #8e5da6;
  --drift-veil: #f3ecf6;
  --heal: #8b766c;
  --heal-veil: #eae6e4;
  --surface-header: rgba(246, 240, 229, .54);
  --surface-header-scrolled: rgba(246, 240, 229, .74);
  --surface-goal-nav: rgba(246, 240, 229, .58);
  --hero-copy-veil: linear-gradient(90deg, rgba(246, 240, 229, .90) 0%, rgba(246, 240, 229, .76) 29%, rgba(246, 240, 229, .36) 48%, rgba(246, 240, 229, .05) 68%, rgba(246, 240, 229, 0) 100%);
  --hero-copy-veil-mobile: linear-gradient(180deg, rgba(246, 240, 229, .94) 0%, rgba(246, 240, 229, .83) 43%, rgba(246, 240, 229, .15) 73%, rgba(246, 240, 229, .02) 100%);
  --line-subtle: rgba(220, 210, 196, .55);
  --line-header-scrolled: rgba(220, 210, 196, .55);
  --line-quiet: rgba(39, 58, 47, .18);
  --line-control: rgba(39, 58, 47, .38);
  --line-link: rgba(39, 58, 47, .45);
  --line-mobile-control: rgba(39, 58, 47, .32);
  --content-max: 1200px;
  --content-edge: max(4.5vw, calc((100vw - var(--content-max)) / 2));
  --display: "Embra Display", Georgia, serif;
  --display-tight: -.075em;
  --display-standard: -.045em;
  --sans: system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --motion-duration-quick: 260ms;
  --motion-duration-enter: 760ms;
  --motion-ease: cubic-bezier(.22, .61, .36, 1);
  --motion-distance: 18px;
  --motion-stagger: 90ms;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--candle-cream); color: var(--embra-ink); font-family: var(--sans); font-size:17px; font-weight:400; line-height:1.65; -webkit-font-smoothing:antialiased; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, textarea, select { font: inherit; }

/* A deliberately small motion system: one entrance, one image variation, and
   optional low-amplitude parallax. Content remains visible without JavaScript. */
.motion-ready [data-motion] {
  opacity: 0;
  transform: translate3d(0, var(--motion-distance), 0);
  transition:
    opacity var(--motion-duration-enter) var(--motion-ease),
    transform var(--motion-duration-enter) var(--motion-ease);
  transition-delay: calc(var(--motion-delay-index, 0) * var(--motion-stagger));
}

.motion-ready [data-motion="image"] {
  transform: translate3d(0, calc(var(--motion-distance) * .65), 0) scale(.992);
}

.motion-ready [data-motion].is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

[data-parallax] {
  --parallax-y: 0px;
  transform: translate3d(0, var(--parallax-y), 0) scale(1.04);
  will-change: transform;
}

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 10;
  width: 100%;
  min-height: 86px;
  padding: 0 var(--content-edge);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  border-bottom: 1px solid var(--line-subtle);
  background: var(--surface-header);
  backdrop-filter: blur(12px) saturate(110%);
  -webkit-backdrop-filter: blur(12px) saturate(110%);
  transition: background var(--motion-duration-quick) ease, border-color var(--motion-duration-quick) ease, backdrop-filter var(--motion-duration-quick) ease;
}

.site-header.is-scrolled {
  border-color: var(--line-header-scrolled);
  background: var(--surface-header-scrolled);
  backdrop-filter: blur(14px) saturate(110%);
  -webkit-backdrop-filter: blur(14px) saturate(110%);
}

.brand { justify-self: start; display: inline-flex; align-items: center; }
.brand img { display: block; width: 112px; height: auto; }
.primary-nav, .header-actions { display: flex; align-items: center; gap: 27px; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.primary-nav a, .header-actions a { transition: opacity .2s ease; }
.primary-nav a:hover, .header-actions a:hover { opacity: .58; }
.header-actions { justify-self: end; gap: 20px; font-size: 10px; }
.bag { display: inline-flex; align-items: center; gap: 6px; }
.bag b { width: 17px; height: 17px; display: inline-grid; place-items: center; border: 1px solid var(--line-control); border-radius: 50%; font-size: 8px; }
.menu-button { display: none; }
.nav-menu { position: relative; }
.nav-menu summary { padding: 32px 2px; display: flex; align-items: center; gap: 7px; cursor: pointer; list-style: none; transition: opacity .2s ease; }
.nav-menu summary::-webkit-details-marker { display: none; }
.nav-menu summary::after { content: "+"; font-size: 13px; font-weight: 500; line-height: 1; transition: transform .2s ease; }
.nav-menu[open] summary::after { transform: rotate(45deg); }
.nav-menu summary:hover { opacity: .58; }
.nav-menu summary.has-current { text-decoration: underline; text-underline-offset: 5px; }
.nav-menu summary:focus-visible { outline: 2px solid var(--embra-evergreen); outline-offset: 4px; }
.nav-popover { position: absolute; top: calc(100% - 4px); left: -18px; min-width: 270px; padding: 12px; display: grid; border: 1px solid var(--parchment); border-radius: 7px; background: rgba(246, 240, 229, .98); box-shadow: 0 20px 38px rgba(39, 58, 47, .13); backdrop-filter: blur(14px); }
.nav-popover a { padding: 10px 11px; display: flex; justify-content: space-between; gap: 24px; border-radius: 4px; white-space: nowrap; }
.nav-popover a:hover { opacity: 1; background: var(--oat-paper); }
.nav-popover a span { color: rgba(39, 58, 47, .58); font-size: 9px; }
.nav-popover hr { width: 100%; margin: 6px 0; border: 0; border-top: 1px solid var(--parchment); }
.mobile-menu { position: fixed; z-index: 9; inset: 74px 0 auto; max-height: calc(100svh - 74px); overflow-y: auto; padding: 25px var(--content-edge) 34px; background: var(--candle-cream); border-bottom: 1px solid var(--parchment); box-shadow: 0 20px 35px rgba(39, 58, 47, .08); }
.mobile-menu[hidden] { display: none; }
.mobile-menu-group + .mobile-menu-group { margin-top: 25px; }
.mobile-menu-group h2 { margin: 0 0 7px; color: var(--embra-leaf); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.mobile-menu a { display: block; padding: 10px 0; border-bottom: 1px solid rgba(39, 58, 47, .12); font-family: var(--display); font-size: 23px; line-height: 1.1; }
.mobile-menu .mobile-product-links { display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; }
.mobile-menu .mobile-product-links a { font-size: 19px; }
body.menu-open { overflow: hidden; }

.hero-stage { position: relative; height: calc(100svh + 360px); }
.hero-sticky { position: relative; height: 100%; background: var(--candle-cream); }

.hero {
  position: relative;
  isolation: isolate;
  height: 100svh;
  padding: clamp(58px, 8vw, 130px) var(--content-edge) 70px;
  display: grid;
  grid-template-columns: minmax(330px, .87fr) minmax(480px, 1.13fr);
  overflow: hidden;
}

.hero::before { position: absolute; z-index: -4; inset: 0; content: ""; background: var(--candle-cream); }
.hero-copy { position: relative; z-index: 2; align-self: center; max-width: 570px; padding-bottom: clamp(64px, 8vw, 130px); }
.eyebrow, .goals-label { margin: 0; color: var(--embra-evergreen); font-size: 9px; font-weight: 900; letter-spacing: .15em; line-height: 1.3; text-transform: uppercase; }
h1 { max-width: 560px; margin: 16px 0 19px; font-family: var(--display); font-size: clamp(66px, 7vw, 116px); font-weight: 400; letter-spacing: var(--display-tight); line-height: .86; }
.hero-intro { max-width:440px; margin:0; color:var(--embra-ink); font-size:17px; font-weight:400; line-height:1.65; }
.hero-actions { display: flex; align-items: center; gap: 24px; margin-top: 30px; }
.button { min-height: 47px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; gap: 20px; border-radius: 999px; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; transition: transform .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--embra-evergreen); color: var(--candle-cream); }
.button-primary span { font-size: 14px; }
.text-link { padding: 8px 0; border-bottom: 1px solid var(--line-link); font-size: 10px; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }

.hero-products { position: absolute; z-index: 0; inset: 0; min-height: 0; overflow: hidden; }
.hero-products::after { position: absolute; z-index: 1; inset: 0; content: ""; background: var(--hero-copy-veil); }
.hero-photo { width: 100%; height: 100%; position: absolute; inset: 0; display: block; object-fit: cover; object-position: center bottom; }

.product-reveal {
  --reveal-progress: 0;
  --drawer-height: 70px;
  position: sticky;
  z-index: 5;
  top: calc(100svh - var(--drawer-height));
  bottom: 0;
  height: var(--drawer-height);
  min-height: 70px;
  margin-top: -70px;
  padding: 0 var(--content-edge);
  display: grid;
  grid-template-columns: minmax(210px, 1.35fr) minmax(0, 5fr);
  border-top: 1px solid var(--parchment);
  background: rgba(246, 240, 229, calc(.58 + (.42 * var(--reveal-progress))));
  box-shadow: 0 -18px 55px rgba(39, 58, 47, calc(.08 * var(--reveal-progress)));
  backdrop-filter: blur(12px) saturate(110%);
  -webkit-backdrop-filter: blur(12px) saturate(110%);
  overflow: hidden;
  will-change: height;
}

.reveal-lead { position: relative; z-index: 3; padding: 0 clamp(24px, 3vw, 48px) 0 0; display: flex; align-items: center; border-right: 1px solid rgba(39, 58, 47, calc(.12 * var(--reveal-progress))); }
.goals-label { white-space: nowrap; opacity: clamp(0, calc(1 - (var(--reveal-progress) * 2.4)), 1); transform: translateY(calc(-125px * var(--reveal-progress))); }
.reveal-lead-expanded { position: absolute; right: clamp(24px, 3vw, 48px); bottom: 28px; left: 0; opacity: clamp(0, calc((var(--reveal-progress) - .22) * 1.282), 1); transform: translateY(calc(24px * (1 - var(--reveal-progress)))); }
.reveal-lead-expanded h2 { margin: 0 0 26px; font-family: var(--display); font-size: clamp(31px, 3.1vw, 47px); font-weight: 400; letter-spacing: var(--display-standard); line-height: .92; }
.reveal-lead-expanded a { padding-bottom: 5px; border-bottom: 1px solid var(--line-link); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.reveal-lead-expanded a span { margin-left: 8px; }

.product-rail { min-width: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.product-path { --path-color: var(--embra-leaf); --path-veil: var(--oat-paper); --bottle-delay: 0; --bottle-progress: clamp(0, calc((var(--reveal-progress) - var(--bottle-delay)) * 1.515), 1); position: relative; min-width: 0; overflow: hidden; padding: 0 14px; display: block; border-right: 1px solid rgba(39, 58, 47, calc(.1 * var(--reveal-progress))); }
.product-path:last-child { border-right: 0; }
.product-path::before { position: absolute; z-index: -1; inset: 0; content: ""; background: linear-gradient(180deg, color-mix(in srgb, var(--path-veil) 20%, transparent), var(--path-veil)); opacity: calc(.88 * var(--reveal-progress)); }
.product-path.inspire { --path-color: var(--inspire); --path-veil: var(--inspire-veil); --bottle-delay: 0; }
.product-path.drift { --path-color: var(--drift); --path-veil: var(--drift-veil); --bottle-delay: .085; }
.product-path.heal { --path-color: var(--heal); --path-veil: var(--heal-veil); --bottle-delay: .17; }
.product-path.radiant { --path-color: var(--radiant); --path-veil: var(--radiant-veil); --bottle-delay: .255; }
.product-path.embrace { --path-color: var(--embrace); --path-veil: var(--embrace-veil); --bottle-delay: .34; }
.path-atmosphere { position: absolute; z-index: 0; top: 28px; left: 50%; width: min(145px, 82%); aspect-ratio: 1; border-radius: 50%; background: linear-gradient(155deg, var(--path-veil), var(--path-color)); filter: blur(14px); opacity: calc(.72 * var(--reveal-progress)); transform: translateX(-50%) scale(calc(.72 + (.28 * var(--reveal-progress)))); }
.product-path img { position: absolute; z-index: 1; top: 24px; left: 50%; width: min(205px, 126%); max-width: none; filter: drop-shadow(0 18px 13px rgba(39, 58, 47, .16)); opacity: var(--bottle-progress); transform: translateX(-50%) translateY(calc(125px * (1 - var(--bottle-progress)))) scale(calc(.88 + (.12 * var(--bottle-progress)))); will-change: transform, opacity; }
.path-copy { position: absolute; z-index: 2; right: 14px; bottom: 22px; left: 14px; height: 58px; display: block; }
.path-goal { position: absolute; bottom: -1px; left: 0; height: 26px; display: inline-flex; align-items: center; gap: 8px; font-family: var(--display); font-size: clamp(13px, 1.05vw, 17px); letter-spacing: var(--display-standard); white-space: nowrap; opacity: clamp(0, calc(1 - (var(--reveal-progress) * 3)), 1); }
.path-goal i { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: var(--path-color); }
.path-copy strong { position: absolute; top: 5px; left: 0; font-family: var(--display); font-size: clamp(24px, 2.05vw, 32px); font-weight: 400; letter-spacing: -.05em; line-height: .9; opacity: clamp(0, calc((var(--reveal-progress) - .28) * 1.389), 1); transform: translateY(calc(12px * (1 - var(--reveal-progress)))); }
.path-copy small { position: absolute; top: 40px; right: 34px; left: 0; font-size: 9px; font-weight: 750; letter-spacing: .045em; line-height: 1.3; text-transform: uppercase; opacity: clamp(0, calc((var(--reveal-progress) - .28) * 1.389), 1); }
.product-path > b { position: absolute; z-index: 3; right: 14px; bottom: 25px; width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 12px; opacity: clamp(0, calc((var(--reveal-progress) - .28) * 1.389), 1); transform: scale(calc(.72 + (.28 * var(--reveal-progress)))); }
.product-path:hover img { transform: translateX(-50%) translateY(calc(125px * (1 - var(--bottle-progress)) - 5px)) scale(calc(.9 + (.12 * var(--bottle-progress)))); }

.approach-preview { min-height: 620px; padding: 130px var(--content-edge); display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .42fr); gap: 10vw; align-items: end; background: var(--embra-evergreen); color: var(--candle-cream); }
.approach-preview .eyebrow { color: #dce3aa; }
.approach-preview h2, .section-heading h2, .actual-life h2, .finder-copy h2 { margin: 22px 0 28px; font-family: var(--display); font-size: clamp(52px, 6vw, 88px); font-weight: 400; letter-spacing: var(--display-tight); line-height: .9; }
.approach-copy > p:last-child { max-width: 480px; margin: 0; font-size: 17px; }
.approach-signoff { max-width: 280px; margin: 0 0 8px; color: #dce3aa; font-family: var(--display); font-size: clamp(27px, 2.7vw, 42px); letter-spacing: var(--display-standard); line-height: .95; }

.day-night { padding: 145px var(--content-edge); background: var(--candle-cream); }
.section-heading { max-width: 740px; }
.section-heading > p:last-child { max-width: 390px; margin: 0; font-size: 17px; }
.ritual-grid { margin-top: 75px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ritual-card { position: relative; min-height: 650px; overflow: hidden; isolation: isolate; color: var(--candle-cream); }
.ritual-card::after { position: absolute; z-index: 1; inset: 0; content: ""; background: linear-gradient(180deg, rgba(39,58,47,.04) 18%, rgba(39,58,47,.82) 100%); }
.ritual-card-evening::after { background: linear-gradient(180deg, rgba(39,58,47,.08) 15%, rgba(24,25,38,.86) 100%); }
.ritual-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ritual-card-morning .ritual-photo { object-position: 52% center; }
.ritual-card-evening .ritual-photo { object-position: 84% center; }
.ritual-copy { position: absolute; z-index: 2; right: clamp(28px, 4vw, 58px); bottom: 42px; left: clamp(28px, 4vw, 58px); }
.ritual-copy > span { font-size: 9px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.ritual-copy h3 { max-width: 390px; margin: 19px 0 18px; font-family: var(--display); font-size: clamp(44px, 4.4vw, 66px); font-weight: 400; letter-spacing: var(--display-tight); line-height: .88; }
.ritual-copy p { margin: 0 0 23px; font-size: 12px; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.ritual-copy a { padding-bottom: 5px; border-bottom: 1px solid currentColor; font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.ritual-copy a b { margin-left: 8px; font-size: 13px; }

.actual-life { min-height: 780px; display: grid; grid-template-columns: 1.08fr .92fr; background: var(--oat-paper); }
.actual-life-image { min-height: 650px; overflow: hidden; }
.actual-life-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.actual-life-copy { padding: clamp(90px, 12vw, 180px) var(--content-edge); display: flex; flex-direction: column; justify-content: center; }
.actual-life-copy > p:not(.eyebrow) { max-width: 430px; margin: 0 0 31px; font-size: 17px; }

.clarity { padding: 145px var(--content-edge); background: var(--radiant-veil); }
.clarity-heading { max-width: 860px; }
.clarity-points { margin-top: 80px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(39,58,47,.17); }
.clarity-points article { min-height: 280px; padding: 30px 30px 0 0; }
.clarity-points article + article { padding-left: 30px; border-left: 1px solid rgba(39,58,47,.17); }
.clarity-points span { color: var(--radiant); font-size: 10px; font-weight: 900; letter-spacing: .14em; }
.clarity-points h3 { max-width: 230px; margin: 52px 0 14px; font-family: var(--display); font-size: clamp(27px, 2.4vw, 36px); font-weight: 400; letter-spacing: var(--display-standard); line-height: .93; }
.clarity-points p { max-width: 285px; margin: 0; font-size: 14px; line-height: 1.6; }

.finder-close { min-height: 720px; position: relative; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; background: var(--candle-cream); }
.finder-image { position: relative; min-height: 620px; }
.finder-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 72% center; }
.finder-copy { padding: clamp(90px, 12vw, 180px) var(--content-edge); display: flex; flex-direction: column; justify-content: center; }
.finder-copy > p:not(.eyebrow) { max-width: 390px; margin: 0 0 32px; font-size: 17px; }
.finder-copy .button { align-self: flex-start; }

.site-footer { min-height: 120px; padding: 0 var(--content-edge); display: flex; align-items: center; justify-content: space-between; gap: 30px; background: var(--oat-paper); }
.site-footer img { width: 112px; height: auto; }
.site-footer p, .site-footer a { margin: 0; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.site-footer a { padding-bottom: 4px; border-bottom: 1px solid currentColor; }
.site-footer-full { min-height: 320px; padding-top: 58px; padding-bottom: 50px; display: grid; grid-template-columns: 1.4fr 1.15fr 1fr 1fr .7fr; align-items: start; gap: clamp(28px, 4vw, 70px); }
.footer-brand { max-width: 260px; }
.footer-logo { width: fit-content; display: block; border: 0 !important; }
.footer-brand p { margin-top: 16px; line-height: 1.5; }
.footer-brand .footer-back { width: fit-content; margin-top: 30px; display: block; }
.footer-group { display: grid; gap: 9px; }
.footer-group h2 { margin: 0 0 8px; color: var(--embra-leaf); font-size: 9px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.footer-group a { width: fit-content; padding: 0; border: 0; font-size: 9px; }
.footer-group a:hover { text-decoration: underline; text-underline-offset: 4px; }
.footer-group a[aria-current="page"], .mobile-menu a[aria-current="page"], .nav-popover a[aria-current="page"] { text-decoration: underline; text-underline-offset: 4px; }

/* Shared interior-page system */
.page-body { padding-top: 86px; }
.page-section { padding: clamp(85px, 10vw, 145px) var(--content-edge); }
.page-section.oat { background: var(--oat-paper); }
.page-section.evergreen { background: var(--embra-evergreen); color: var(--candle-cream); }
.page-section.narrow { padding-top: 70px; padding-bottom: 70px; }
.page-kicker { margin: 0 0 18px; color: var(--embra-evergreen); font-size: 9px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.evergreen .page-kicker { color: #dfe6ca; }
.page-title, .display-title { margin: 0; font-family: var(--display); font-weight: 400; letter-spacing: var(--display-tight); line-height: .88; }
.page-title { max-width: 980px; font-size: clamp(66px, 9vw, 136px); }
.display-title { font-size: clamp(48px, 6.4vw, 96px); }
.page-deck { max-width: 620px; margin: 30px 0 0; font-size: clamp(17px, 1.7vw, 21px); line-height: 1.65; }
.subpage-hero { min-height: 590px; display: flex; flex-direction: column; justify-content: flex-end; background: radial-gradient(circle at 84% 24%, rgba(148, 161, 123, .22), transparent 28%), var(--candle-cream); }
.section-lead { max-width: 800px; }
.section-lead > p:last-child { max-width: 620px; margin-top: 28px; }
.button-secondary { border: 1px solid rgba(39, 58, 47, .4); }
.button-disabled { cursor: not-allowed; background: var(--parchment); color: rgba(39, 58, 47, .62); }
.text-link { width: fit-content; padding-bottom: 5px; border-bottom: 1px solid rgba(39, 58, 47, .42); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }

.formula-grid { margin-top: 62px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.formula-card { --formula: var(--embra-leaf); --veil: var(--oat-paper); min-width: 0; padding: 22px; display: flex; flex-direction: column; background: linear-gradient(180deg, var(--candle-cream), var(--veil)); border: 1px solid rgba(39, 58, 47, .1); border-radius: 8px; transition: transform .25s ease; }
.formula-card:hover { transform: translateY(-6px); }
.formula-card.inspire, .formula-theme.inspire { --formula: var(--inspire); --veil: var(--inspire-veil); }
.formula-card.drift, .formula-theme.drift { --formula: var(--drift); --veil: var(--drift-veil); }
.formula-card.heal, .formula-theme.heal { --formula: var(--heal); --veil: var(--heal-veil); }
.formula-card.radiant, .formula-theme.radiant { --formula: var(--radiant); --veil: var(--radiant-veil); }
.formula-card.embrace, .formula-theme.embrace { --formula: var(--embrace); --veil: var(--embrace-veil); }
.formula-card > span { color: var(--formula); font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.formula-card img { width: 100%; aspect-ratio: .8; object-fit: contain; filter: drop-shadow(0 18px 14px rgba(39, 58, 47, .13)); }
.formula-card h2 { margin: 8px 0 5px; font-family: var(--display); font-size: 35px; font-weight: 400; letter-spacing: var(--display-standard); line-height: 1; }
.formula-card p { min-height: 44px; margin: 0 0 22px; font-size: 12px; line-height: 1.5; }
.formula-card b { margin-top: auto; color: var(--formula); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }

.compare-grid, .principle-list, .faq-grid { margin-top: 60px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(39, 58, 47, .18); }
.compare-grid article, .principle-list article { min-height: 230px; padding: 28px 28px 0 0; }
.compare-grid article + article, .principle-list article + article { padding-left: 28px; border-left: 1px solid rgba(39, 58, 47, .18); }
.compare-grid span, .principle-list span { color: var(--formula, var(--radiant)); font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.compare-grid h3, .principle-list h3 { margin: 38px 0 12px; font-family: var(--display); font-size: 32px; font-weight: 400; line-height: 1; }
.compare-grid p, .principle-list p { margin: 0; font-size: 14px; }

.editorial-split { min-height: 680px; display: grid; grid-template-columns: 1fr 1fr; }
.editorial-split > div { min-width: 0; }
.editorial-image { position: relative; overflow: hidden; min-height: 580px; }
.editorial-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.editorial-copy { padding: clamp(75px, 9vw, 135px) var(--content-edge); display: flex; flex-direction: column; justify-content: center; background: var(--veil, var(--oat-paper)); }
.editorial-copy p:not(.page-kicker) { max-width: 500px; margin: 28px 0; }

.product-hero { min-height: 720px; display: grid; grid-template-columns: 1fr 1fr; background: var(--veil); }
.product-visual { min-height: 640px; display: grid; place-items: center; background: radial-gradient(circle, var(--candle-cream) 0 25%, transparent 58%); }
.product-visual img { max-width: min(460px, 76%); max-height: 600px; object-fit: contain; filter: drop-shadow(0 30px 22px rgba(39, 58, 47, .16)); }
.product-summary { padding: clamp(70px, 8vw, 125px) var(--content-edge); display: flex; flex-direction: column; justify-content: center; }
.product-summary .page-title { font-size: clamp(70px, 8vw, 126px); }
.product-purpose { margin: 12px 0 0; color: var(--formula); font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.product-summary .page-deck { margin-top: 25px; }
.product-actions { margin-top: 34px; display: flex; flex-wrap: wrap; gap: 12px; }
.availability-note { max-width: 440px; margin: 18px 0 0; font-size: 12px; line-height: 1.5; }
.facts-gate { padding: 28px; border: 1px solid rgba(39, 58, 47, .2); border-radius: 8px; background: rgba(246, 240, 229, .65); }
.facts-gate strong { display: block; margin-bottom: 8px; font-family: var(--display); font-size: 26px; font-weight: 400; }
.facts-gate p { margin: 0; font-size: 14px; }
.details-grid { margin-top: 55px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.detail-card { padding: 28px; background: rgba(255,255,255,.32); border: 1px solid rgba(39, 58, 47, .13); border-radius: 7px; }
.detail-card h3 { margin: 0 0 10px; font-family: var(--display); font-size: 29px; font-weight: 400; }
.detail-card p { margin: 0; font-size: 14px; }
.routine-strip { display: grid; grid-template-columns: repeat(3, 1fr); }
.routine-strip article { min-height: 260px; padding: 35px; border: 1px solid rgba(39, 58, 47, .16); }
.routine-strip article + article { border-left: 0; }
.routine-strip h3 { margin: 38px 0 10px; font-family: var(--display); font-size: 31px; font-weight: 400; }

.faq-list { max-width: 900px; margin-top: 48px; border-top: 1px solid rgba(39, 58, 47, .2); }
.faq-list details { border-bottom: 1px solid rgba(39, 58, 47, .2); }
.faq-list summary { padding: 25px 40px 25px 0; cursor: pointer; font-family: var(--display); font-size: 25px; line-height: 1.1; }
.faq-list details p { max-width: 720px; margin: -5px 0 25px; font-size: 14px; }

.finder-form, .contact-form { max-width: 850px; margin-top: 50px; }
.question-set { margin: 0 0 42px; padding: 0; border: 0; }
.question-set legend { margin-bottom: 18px; font-family: var(--display); font-size: 30px; line-height: 1.1; }
.choice-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.choice { padding: 19px; display: flex; align-items: center; gap: 12px; border: 1px solid rgba(39, 58, 47, .2); border-radius: 7px; background: rgba(255,255,255,.25); cursor: pointer; }
.choice:has(input:checked) { border-color: var(--embra-evergreen); background: var(--oat-paper); }
.field { margin-bottom: 20px; }
.field label { display: block; margin-bottom: 7px; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.field input, .field textarea, .field select { width: 100%; padding: 15px; border: 1px solid rgba(39, 58, 47, .28); border-radius: 5px; background: rgba(255,255,255,.45); color: var(--embra-ink); }
.field textarea { min-height: 150px; resize: vertical; }
.prototype-note { max-width: 720px; margin-top: 24px; padding: 17px 20px; background: var(--oat-paper); border-left: 3px solid var(--embra-leaf); font-size: 13px; }
.legal-copy { max-width: 780px; }
.legal-copy h2 { margin: 52px 0 14px; font-family: var(--display); font-size: 36px; font-weight: 400; }
.legal-copy p, .legal-copy li { font-size: 15px; }

@media (max-width: 900px) {
  :root { --content-edge: 6vw; }
  .site-header { min-height: 74px; padding: 0 var(--content-edge); grid-template-columns: 1fr auto; }
  .brand img { width: 100px; }.primary-nav, .header-actions { display: none; }
  .menu-button { width: 43px; height: 43px; padding: 0; display: grid; gap: 5px; place-content: center; border: 1px solid var(--line-mobile-control); border-radius: 50%; background: transparent; }
  .menu-button span { width: 15px; height: 1px; display: block; background: var(--embra-ink); }
  .hero-stage { height: auto; }
  .hero-sticky { height: auto; }
  .hero { min-height: 82svh; height: auto; padding: 52px var(--content-edge) 54px; grid-template-columns: 1fr; }
  .hero-copy { padding-bottom: 38px; }.hero-copy h1 { font-size: clamp(61px, 14vw, 96px); }.hero-intro { max-width: 390px; }
  .hero-products { min-height: 0; }.hero-products::after { background: var(--hero-copy-veil-mobile); }.hero-photo { object-position: 68% center; }
  .product-reveal { --reveal-progress: 1 !important; position: relative; top: auto; bottom: auto; height: auto !important; min-height: 0; margin-top: 0; padding: 0; display: block; overflow: visible; background: var(--candle-cream); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .reveal-lead { min-height: 128px; padding: 30px var(--content-edge); display: block; border-right: 0; }
  .goals-label { margin: 0 0 14px; white-space: normal; opacity: 1; transform: none; }
  .reveal-lead-expanded { position: static; opacity: 1; transform: none; }
  .reveal-lead-expanded h2 { margin: 0; font-size: 37px; }
  .reveal-lead-expanded a { display: none; }
  .product-rail { padding: 0 var(--content-edge) 40px; display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .product-rail::-webkit-scrollbar { display: none; }
  .product-path { width: min(72vw, 330px); height: 395px; flex: 0 0 auto; padding: 0 18px; border: 1px solid rgba(39, 58, 47, .1); border-radius: 8px; scroll-snap-align: start; }
  .product-path::before { opacity: .92; }
  .path-atmosphere { top: 36px; width: 72%; }
  .product-path img { top: 4px; width: min(260px, 110%); }
  .path-copy { right: 18px; bottom: 22px; left: 18px; height: 62px; }
  .path-goal { position: absolute; bottom: 0; height: auto; font-family: var(--sans); font-size: 10px; font-weight: 750; letter-spacing: .035em; text-transform: uppercase; opacity: 1; }
  .path-goal i { display: none; }
  .path-copy strong { top: auto; bottom: 25px; font-size: 35px; }
  .path-copy small { display: none; }
  .product-path > b { right: 18px; bottom: 25px; }
  .approach-preview { min-height: 540px; padding-top: 90px; padding-bottom: 90px; grid-template-columns: 1fr; gap: 52px; }
  .approach-signoff { max-width: 260px; }
  .day-night, .clarity { padding-top: 95px; padding-bottom: 95px; }
  .ritual-grid { margin-top: 52px; grid-template-columns: 1fr; }
  .ritual-card { min-height: 600px; }
  .actual-life { min-height: 0; grid-template-columns: 1fr; }
  .actual-life-image { min-height: 520px; }
  .actual-life-copy { padding-top: 90px; padding-bottom: 90px; }
  .clarity-points { margin-top: 55px; }
  .finder-close { min-height: 0; grid-template-columns: 1fr; }
  .finder-image { min-height: 460px; }
  .finder-copy { padding-top: 90px; padding-bottom: 90px; }
  .site-footer { min-height: 150px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 13px; }
  .site-footer-full { padding-top: 45px; padding-bottom: 45px; display: grid; grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .page-body { padding-top: 74px; }
  .subpage-hero { min-height: 500px; }
  .formula-grid { grid-template-columns: repeat(2, 1fr); }
  .formula-card:last-child { grid-column: 1 / -1; }
  .compare-grid, .principle-list { grid-template-columns: 1fr; }
  .compare-grid article, .principle-list article { min-height: 0; padding: 28px 0; }
  .compare-grid article + article, .principle-list article + article { padding-left: 0; border-top: 1px solid rgba(39, 58, 47, .18); border-left: 0; }
  .compare-grid h3, .principle-list h3 { margin-top: 22px; }
  .editorial-split, .product-hero { min-height: 0; grid-template-columns: 1fr; }
  .editorial-image { min-height: 460px; }
  .product-visual { min-height: 520px; order: 2; }
  .product-summary { min-height: 530px; }
  .details-grid { grid-template-columns: 1fr; }
  .routine-strip { grid-template-columns: 1fr; }
  .routine-strip article + article { border-top: 0; border-left: 1px solid rgba(39, 58, 47, .16); }
  .choice-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 17px; }
  .approach-preview h2, .section-heading h2, .actual-life h2, .finder-copy h2 { font-size: clamp(48px, 14vw, 65px); }
  .ritual-card { min-height: 530px; }
  .ritual-copy { right: 26px; bottom: 29px; left: 26px; }
  .ritual-copy h3 { font-size: 47px; }
  .actual-life-image { min-height: 400px; }
  .clarity-points { grid-template-columns: 1fr; }
  .clarity-points article { min-height: 0; padding: 28px 0; }
  .clarity-points article + article { padding-left: 0; border-top: 1px solid rgba(39,58,47,.17); border-left: 0; }
  .clarity-points h3 { margin: 25px 0 13px; }
  .finder-image { min-height: 340px; }
  .site-footer p { font-size: 8px; }
  .site-footer-full { grid-template-columns: 1fr 1fr; gap: 34px 24px; }
  .footer-brand { grid-column: 1 / -1; }
  .formula-grid { grid-template-columns: 1fr; }
  .formula-card:last-child { grid-column: auto; }
  .product-visual { min-height: 420px; }
  .product-summary { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
  .motion-ready [data-motion] { opacity: 1 !important; transform: none !important; }
  [data-parallax] { transform: none !important; }
  .product-reveal { --reveal-progress: 1 !important; --drawer-height: 420px !important; }
}
