/* Brand colours from the founder-curated original. Font roles live in typography.mjs. */
:root {
  --cream:hsl(30 43% 97%); --taupe:hsl(25 24% 87%); --taupe-dark:hsl(25 20% 80%);
  --taupe-light:hsl(28 28% 93%); --sage:hsl(120 15% 49%); --sage-dark:hsl(120 12% 33%);
  --sage-light:hsl(120 15% 61%); --charcoal:hsl(0 0% 17%); --warm-gray:hsl(0 0% 42%);
  --espresso:hsl(24 28% 18%); --paper:var(--cream); --ink:var(--charcoal); --muted:var(--warm-gray);
  --button-ink:#ffffff; --gold:hsl(30 30% 57%); --line:hsl(25 20% 85%); --wash:hsl(120 15% 93%); --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:auto;scroll-padding-top:28px}
body{margin:0;color:var(--ink);background:var(--paper);font:var(--weight-body) 17px/1.6 var(--font-body);-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
a:hover{color:var(--sage-dark)}
button,input{font:inherit}button{cursor:pointer}
a,button,summary,input{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--sage-dark);outline-offset:5px}
[hidden]{display:none!important}
h1,h2,h3,h4,p,figure{margin:0}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--weight-heading);letter-spacing:-.025em}
h1{font-size:clamp(43px,4.6vw,66px);line-height:1.05}
h2{font-size:clamp(31px,3.4vw,46px);line-height:1.12}
h3{font-size:24px;line-height:1.25}h4{font-size:19px;line-height:1.35}
p{max-width:66ch}p+p{margin-top:17px}
strong{font-weight:var(--weight-strong)}
em{font-family:var(--font-emphasis);font-style:italic;font-weight:var(--weight-emphasis)}
strong em,em strong{font-weight:var(--weight-strong)}
.headline-accent{font-family:var(--font-heading);font-weight:var(--weight-accent);font-style:italic;color:var(--sage)}
.price{font-family:var(--font-price);font-weight:var(--weight-price);font-variant-numeric:lining-nums}
.site-header,.site-footer,main{width:min(1640px,92%);margin:auto}
.page-wide main{width:100%}
.container{width:min(1640px,92%);margin-inline:auto}
.band-taupe{background:var(--taupe)}
.band-sage{background:var(--wash)}
.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}
.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1}
.wordmark{font:italic 400 38px/.96 var(--font-logo);letter-spacing:-2px;text-decoration:none}
.pronunciation{font:var(--weight-body) 12px/1.4 var(--font-body);margin-top:7px;letter-spacing:.01em}
.site-header nav{display:flex;align-items:center;gap:34px;font-family:var(--font-nav);font-weight:var(--weight-nav)}
.site-header nav a:not(.button){font-size:15px;text-decoration:none}
.site-header nav a[aria-current=page]{color:var(--sage-dark);text-decoration:underline}
.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:12px 25px;border:1px solid var(--sage);border-radius:7px;background:var(--sage);color:var(--button-ink);font:var(--weight-button) 19px/1.45 var(--font-button);text-decoration:none;transition:background .15s,transform .15s}
.button:hover{background:var(--espresso);border-color:var(--espresso);color:var(--white)}
.button:active{transform:translateY(1px)}
.button.outline{font-size:14px;background:transparent;color:var(--sage-dark);min-height:42px;padding:9px 20px}
.button.outline:hover{background:var(--wash)}
.button:disabled{opacity:.65;cursor:wait}
.eyebrow{font-size:11.2px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage-dark);margin-bottom:19px;line-height:1.5}
.intro{font-size:19px;line-height:1.6;max-width:47ch}
.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:26px}
.text-link{display:inline-block;font-size:15px;padding:10px 0;text-decoration-color:var(--sage-dark)}
.text-link span{display:inline-block;margin-left:10px}
.availability{font-size:12px;line-height:1.6;color:var(--muted);margin-top:21px;max-width:45ch}
/* Demo geometry: one desktop surface, panel overlay, exterior instruction gutter. */
.hero{display:grid;grid-template-columns:.92fr 1.18fr;gap:36px;align-items:center;padding:48px 0 48px}
.hero-copy{padding-bottom:22px}
.hero h1{font-size:clamp(45px,4.05vw,72px);line-height:1.08;letter-spacing:-.025em}
.headline-line{display:block}
.hero .intro{color:var(--muted);margin-top:24px;max-width:40ch;font-size:clamp(18px,1.35vw,22px)}
.product-demo{min-width:0;--cue-width:110px;--scene-height:572px}
.demo-stage{height:var(--scene-height);position:relative;padding-right:var(--cue-width);isolation:isolate}
.retailer-window{position:absolute;inset:52px var(--cue-width) 0 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white;box-shadow:0 12px 25px hsl(24 28% 18% / .07)}
.window-chrome{height:29px;background:var(--cream);display:flex;gap:4px;align-items:center;padding:0 10px;border-bottom:1px solid var(--line)}
.window-chrome>span:not(.window-label){width:5px;height:5px;border-radius:50%;background:var(--taupe-dark)}
.window-label{font-size:10px;color:var(--muted);margin-left:10px}
.retailer-crop{height:calc(100% - 29px);overflow:hidden;position:relative;background:white}
.retailer-crop>img{width:min(65%,360px);height:auto;display:block;clip-path:inset(0 0 26%)}
.retailer-side{position:absolute;left:68%;right:5%;top:34%;font-size:11px;line-height:1.5}
.retailer-side strong{display:block;font-size:15px;line-height:1.3;margin-top:10px}
.retailer-side p+p{margin-top:14px}.retailer-side .retailer-price{font-size:21px;font-weight:700}
.retailer-side>span{font-size:10px;color:var(--muted)}
.demo-comparison{position:absolute;right:var(--cue-width);top:52px;width:clamp(252px,16.3vw,292px);height:calc(100% - 52px);border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:-8px 8px 26px hsl(24 28% 18% / .12);background:#f5f2ee;display:flex;flex-direction:column}
.demo-panel-header{display:flex;align-items:center;justify-content:space-between;padding-left:12px;border-bottom:1px solid var(--line);height:44px;flex:none;background:#f5f2ee}
.demo-panel-wordmark{font:italic 400 22px/1 var(--font-demo-badge)}
.demo-panel-tools{display:flex}
.demo-close,.demo-icon-button{border:0;background:transparent;color:var(--espresso);width:44px;height:44px;display:grid;place-items:center;flex:none}
.demo-close:hover,.demo-icon-button:hover{background:var(--taupe)}
.demo-comparison :focus-visible{outline-offset:-3px}
.demo-product-view{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.demo-selected{display:flex;align-items:center;gap:10px;background:var(--cream);margin:6px;padding:6px;border:1px solid var(--line);border-radius:7px;flex:none}
.demo-selected .selected-copy{line-height:1.2}.demo-selected .demo-thumb{height:56px}.demo-selected small{display:block;margin-top:3px}.demo-selected .demo-product-name{font-size:14px;line-height:1.25;letter-spacing:0;margin:0}.demo-selected span{display:block;font-size:10px;line-height:1.1;letter-spacing:.06em}.demo-selected .price{font-size:17px;line-height:1.3;margin:0}.demo-selected small{font-size:10px;color:var(--muted)}
.demo-thumb{position:relative;width:42px;height:56px;overflow:hidden;flex:none;background:#f7f7f7;border-radius:3px}
.demo-thumb img{position:absolute;width:80px;height:auto;max-width:none;left:-11px;top:-37px}
.demo-price-position{margin:0 8px 8px;padding:6px 10px 6px;background:var(--wash);border-radius:5px;font-size:11px;flex:none}
.demo-price-position strong{color:#a22c32}.price-meter{height:4px;border-radius:3px;background:linear-gradient(to right,#319768 0 33%,#d4b658 33% 66%,#bd4b4c 66%);position:relative;margin-top:12px}
.price-meter span{position:absolute;right:2px;top:-3px;width:10px;height:10px;border:2px solid #a22c32;border-radius:50%;background:var(--cream)}
.meter-labels{display:flex;justify-content:space-between;font-size:10px;margin-top:5px;color:var(--muted)}
.demo-offers{margin:0 8px 5px;background:#e9e5df;border-radius:6px;flex:none;min-height:0;overflow:visible}
.demo-list-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:8px 9px 3px}
.demo-offer{border:0;border-top:1px solid #dcd7cf;background:transparent;width:100%;min-height:44px;display:flex;align-items:center;gap:7px;padding:5px 8px;color:var(--ink);text-align:left}
.demo-offer:hover{background:var(--cream)}
.retailer-initial{display:grid;place-items:center;flex:none;width:21px;height:23px;border-radius:4px;background:var(--espresso);color:var(--cream);font-size:11px;font-weight:700}
.offer-retailer{font-size:11px;line-height:1.2}.offer-price{margin-left:auto;text-align:right;font-size:11px;line-height:1.3;white-space:nowrap;font-variant-numeric:tabular-nums}.offer-price small{display:block;font-size:10px;color:var(--sage-dark);margin-top:2px}
.demo-ingredients{border-bottom:0;flex:none}
.demo-ingredients summary{font:var(--weight-body) 14px/1.35 var(--font-body);padding:12px 34px 12px 12px;min-height:44px;background:#f5f2ee}
.demo-ingredients summary::after{right:13px;top:12px}
.demo-product-view:has(.demo-ingredients[open]) .demo-selected,.demo-product-view:has(.demo-ingredients[open]) .demo-price-position{display:none}
.demo-ingredients>div{padding:0 12px 16px;font-size:13px;line-height:1.5}
.ingredient-scent{background:var(--wash);border-left:2px solid var(--sage-dark);padding:10px;font-style:italic}
.ingredient-chips{list-style:none;padding:0;margin:13px 0;display:flex;flex-wrap:wrap;gap:6px}
.ingredient-chips li{padding:4px 7px;border:1px solid var(--taupe-dark);border-radius:4px;color:var(--espresso);font-size:12px;line-height:1.35}
.ingredient-note{font-size:11px;line-height:1.5}
.simi-badge{position:absolute;right:calc(var(--cue-width) + 12px);top:168px;display:flex;align-items:center;height:60px;padding:6px 0;border:0;background:transparent;color:var(--white);border-radius:12px}
.runtime-badge-wordmark{animation:badge-float 3s ease-in-out infinite;animation-play-state:paused;display:flex;align-items:center;height:48px;padding:0 18px;border-radius:12px;background:var(--sage);box-shadow:0 5px 22px rgb(0 0 0 / .22);font:italic 400 27px/1 var(--font-demo-badge)}
.simi-badge:hover .runtime-badge-wordmark{background:var(--sage-dark)}
.badge-wordmark{font:italic 400 24px/1 var(--font-logo);letter-spacing:-.02em}
.demo-callout{position:absolute;right:0;width:calc(var(--cue-width) - 5px);display:flex;flex-direction:column-reverse;align-items:flex-start;gap:3px;color:var(--sage-dark);font:italic 400 21px/1.2 var(--font-heading);pointer-events:none}
.demo-callout span{margin-left:6px;white-space:nowrap}.demo-callout svg{animation:badge-nudge 1.4s ease-in-out 3}
.click-callout{top:132px;font-size:25px;color:var(--espresso)}
.close-callout{top:44px;font-size:14px;color:var(--muted)}.close-callout svg{width:36px;height:20px}
.ingredients-callout{bottom:20px;font-size:19px}.history-callout{top:0;font-size:20px}.mobile-click-direction{display:none}
.history-cue{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;color:var(--sage-dark)}
.motion-running .runtime-badge-wordmark{animation-play-state:running}
@keyframes badge-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(-6px)}}
@keyframes badge-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.demo-explainer{margin-top:18px;border-left:3px solid var(--sage);padding-left:14px;min-height:75px;max-width:64ch}
.demo-step{font-size:12px;color:var(--sage-dark);display:block;margin-bottom:5px}.demo-explainer>p{font-size:15px;line-height:1.45}
.product-demo figcaption{font-size:10px;color:var(--muted);line-height:1.5;margin-top:8px}
.demo-library{padding:0 10px 14px;overflow-y:auto;min-height:0;scrollbar-width:thin}
.demo-back{border:0;background:transparent;padding:10px 0;min-height:44px;color:var(--sage-dark);font-size:12px}
.library-disclaimer{font-size:10px;color:var(--muted);margin:4px 0 9px}
.library-tabs{display:flex;border-bottom:1px solid var(--line)}
.library-tabs button{background:none;border:0;min-height:44px;flex:1;font-size:14px;color:var(--muted);border-bottom:2px solid transparent}
.library-tabs button[aria-pressed=true]{border-color:var(--sage-dark);color:var(--espresso)}
.library-description{font-size:12px;line-height:1.5;margin:12px 0}
.demo-library-card{position:relative;border:1px solid var(--line);background:var(--cream);border-radius:15px;box-shadow:0 2px 5px hsl(24 28% 18% / .04);overflow:hidden}
.library-row{display:flex;align-items:center;gap:13px;width:100%;min-height:104px;padding:16px 46px 16px 10px;background:transparent;border:0;text-align:left;color:var(--ink)}
.library-row:hover{background:white}
.library-product{min-width:0;line-height:1.4}.library-product>span,.library-product>strong{display:block}
.library-brand{font-size:11px;letter-spacing:.08em;color:var(--muted)}
.library-product>strong{font-size:15px;font-weight:400;margin-top:4px}.library-variant{font-size:10px;margin-top:6px;color:var(--muted)}
.bookmark-button{display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:var(--warm-gray);flex:none;border-radius:6px}
.bookmark-button svg{fill:none}.bookmark-button:hover{background:var(--wash);color:var(--sage-dark)}
.bookmark-button[aria-pressed=true],.bookmark-button[data-filled=true]{color:hsl(150 22% 40%)}
.bookmark-button[aria-pressed=true] svg,.bookmark-button[data-filled=true] svg{fill:currentColor}
.demo-selected{position:relative;padding-right:44px;gap:7px}.demo-selected .selected-copy{min-width:0}.demo-selected .bookmark-button{position:absolute;right:0;top:8px;width:44px;height:44px}
.demo-selected small{font-size:9px}.demo-selected .demo-product-name{font-size:13px}
.demo-library-card>.bookmark-button{position:absolute;right:0;top:calc(50% - 22px)}
.library-footnote{font-size:10px;line-height:1.5;color:var(--muted);margin-top:14px}
.demo-empty{padding:24px 8px;background:var(--wash);border-radius:6px}.demo-empty p{font-size:15px}.demo-empty span{display:block;font-size:12px;margin-top:10px;color:var(--muted)}
.section{border-top:1px solid var(--line);padding:80px 0}
.page-wide .section{border-top:0;padding:84px 0}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:42px}
.section-heading .eyebrow{margin-bottom:14px}
.section-intro{font-size:17px;color:var(--muted);max-width:41ch}
.walkthrough-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.walkthrough-copy article{display:grid;grid-template-columns:28px 1fr;gap:20px;padding:27px 0;border-bottom:1px solid var(--line)}
.walkthrough-copy article:first-child{padding-top:0}
.walkthrough-copy article:last-of-type{border-bottom:0;padding-bottom:0}
.walkthrough-copy h3{font-size:24px}
.walkthrough-copy article p{margin-top:9px;color:var(--muted);font-size:16px;max-width:41ch}
.step-number{font-size:12px;color:var(--sage-dark);padding-top:5px}
.section-note{font-size:12px;line-height:1.6;color:var(--muted);margin-top:23px;max-width:66ch}
.comparison-detail{width:100%;max-width:430px;justify-self:end}
.detail-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:15px 18px;background:var(--taupe-light);border-radius:10px 10px 0 0}
.detail-heading>span:last-child{font-size:12px;color:var(--muted)}
.comparison-crop{width:100%;aspect-ratio:566/464;overflow:hidden;position:relative;border-radius:0 0 10px 10px}
.comparison-crop img{position:absolute;width:100%;height:auto;left:0;bottom:0;transform:translateY(6.94%)}
.comparison-detail figcaption{font-size:11px;line-height:1.6;color:var(--muted);margin-top:12px}
.band-espresso{background:var(--espresso);color:var(--cream)}
.band-espresso .eyebrow{color:var(--sage-light)}
.band-espresso a:hover{color:var(--cream)}
.band-espresso :focus-visible{outline-color:var(--cream)}
.why-heading{text-align:center;margin-bottom:56px}.why-heading h2{font-size:clamp(36px,3.5vw,55px)}
.principle-list{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}
.principle-number{display:block;font-family:var(--font-heading);font-size:44px;line-height:1.15;color:var(--sage-light);margin-bottom:13px}
.principle-list h3{font-size:clamp(23px,1.8vw,29px)}
.principle-list p{font-size:18px;margin-top:18px;color:#e0d9d2;line-height:1.65}
.principle-list .text-link{font-size:14px;margin-top:7px;text-decoration-color:var(--sage-light)}
.company-intro{text-align:center}.company-intro .eyebrow,.why-heading .eyebrow,.mission-copy .eyebrow{margin-inline:auto}.company-intro h1,.company-intro .intro{margin-inline:auto}
/* Exact original mission type treatment, scoped to this founder-requested exception. */
.page-wide .mission-section{padding-block:96px;position:relative;background:radial-gradient(circle at top left,rgba(184,149,106,.08),transparent 400px),var(--espresso)}
.mission-copy{text-align:center;max-width:640px}
.mission-copy .eyebrow{font-family:var(--font-mission-body);font-size:.7rem;font-weight:var(--weight-mission-label);letter-spacing:.2em;text-transform:uppercase;color:hsl(30 30% 57%);margin-bottom:16px}
.mission-copy h2{font:italic 400 2.5rem/1.15 var(--font-mission-heading);letter-spacing:-.02em;margin-bottom:24px}
.mission-copy h2 em{font:inherit}
.mission-copy p:not(.eyebrow){font:400 1.05rem/1.7 var(--font-mission-body);margin-inline:auto;color:hsl(30 43% 97% / .6);max-width:640px}
.mission-copy p+p{margin-top:16px}
.join-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:0}
.join-copy>.section-intro{margin-top:18px;font-size:16px}
.home-faq{margin-top:24px}
.home-faq summary{font-size:17px;padding:17px 35px 17px 0}
.home-faq summary::after{top:16px}
.home-faq details>div{font-size:15px;padding-bottom:16px}
.join-copy>.text-link{margin-top:14px}
.closing{background:var(--wash);padding:35px;display:flex;align-items:center;justify-content:space-between;gap:35px;margin-bottom:45px;border-radius:10px}
.closing p:not(.eyebrow){margin-top:19px;font-size:15px}
.site-footer{padding:32px 0 23px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.3fr;gap:28px}
.footer-brand p{font-size:13px;color:var(--muted);margin-top:12px}
.site-footer nav{display:flex;gap:12px 24px;align-content:flex-start;flex-wrap:wrap;justify-content:flex-end}
.site-footer nav a{font-size:13px;text-decoration:none}
.copyright{font-size:11px;color:var(--muted);grid-column:1/-1;padding-top:8px}
.skip-link{position:fixed;left:18px;top:-100px;z-index:5;background:var(--ink);color:white;padding:12px}
.skip-link:focus{top:10px}
.preview-notice{padding:5px 20px;text-align:center;background:var(--wash);color:var(--sage-dark);font-size:11px;line-height:1.6}
.signup-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:42px 65px;align-items:start}
.signup-copy h1{font-size:clamp(40px,4.5vw,60px)}
.signup-copy .intro{margin-top:24px}
.signup-details{margin-top:30px;color:var(--muted);font-size:15px}
.signup-details strong{color:var(--ink)}
.signup-card{padding:31px;background:white;border:1px solid var(--line);border-radius:10px;align-self:start}
.signup-card h2{font-size:32px}
.signup-card>p{margin-top:16px;font-size:14px}
.signup-card form{margin-top:25px}
label{display:block;font-size:14px;margin-bottom:8px}
input{display:block;width:100%;padding:12px 13px;background:var(--paper);border:1px solid var(--taupe-dark);border-radius:5px;font-size:16px;color:var(--ink);min-height:48px}
input[aria-invalid=true]{border-color:#913b31}
.form-help{font-size:12px;color:var(--muted);margin-top:8px}
.signup-card form .button{width:100%;margin-top:21px}
.form-status{font-size:14px;line-height:1.6;margin-top:16px;min-height:23px}
.form-status[data-state=error]{color:#913b31}
.form-status[data-state=created],.form-status[data-state=duplicate]{color:var(--sage-dark)}
.privacy-note{font-size:12px!important;color:var(--muted)}
.small-label{font-size:12px!important;color:var(--muted);line-height:1.6}
.company-hero{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding:38px 0 48px;border-top:0}
.company-hero h1{font-size:clamp(45px,4.7vw,64px)}
.company-hero .intro{font-size:19px}
.in-page{display:flex;gap:10px 22px;flex-wrap:wrap;margin-top:28px}
.in-page a{font-size:13px;color:var(--sage-dark)}
.editorial{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.editorial h2{font-size:39px}
.prose{font-size:17px;line-height:1.7}
.prose p+p{margin-top:19px}
.prose h3{font-size:23px;margin:27px 0 14px}
.prose a{color:var(--sage-dark)}
.team-heading{margin-bottom:31px}
.team-heading h2{font-size:41px}
.team-member{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:28px 0;border-top:1px solid var(--line)}
.team-member:last-child{padding-bottom:0}
.team-member h2{font-size:29px;letter-spacing:-.02em}.team-member:first-child{padding-top:0;border-top:0}
.team-role{color:var(--sage-dark);font-size:14px;margin-top:7px}
.team-member .text-link{margin-top:7px}
.company-intro h1,.partner-intro h1{font-size:clamp(38px,4.1vw,54px);line-height:1.16;max-width:920px}
.company-intro .intro,.partner-intro .intro{margin-top:25px;max-width:56ch;font-size:18px}
.partner-contact{display:flex;align-items:center;justify-content:space-between;gap:32px}
.partner-contact h2{font-size:38px}.partner-contact p:not(.eyebrow){margin-top:16px;font-size:16px}
.mission-section .prose{max-width:57ch}
.page-heading{max-width:850px;padding:60px 0 44px}
.page-heading .intro{margin-top:20px}
.faq-list{max-width:850px;padding-top:12px}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;position:relative;padding:23px 38px 23px 0;font:var(--weight-body) 20px/1.35 var(--font-body)}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';position:absolute;right:6px;top:22px;color:var(--sage-dark)}
details[open] summary::after{content:'−'}
details>div{padding:0 36px 22px 0;font-size:16px;color:var(--muted)}
.legal{max-width:800px;margin:0 auto;padding:60px 0 80px}
.legal h1{font-size:49px}
.legal>.small-label{margin-top:18px}
.legal h2{font-size:27px;letter-spacing:-.02em;margin:31px 0 14px}
.legal h3{font-size:22px;margin-top:23px}
.legal p,.legal li{font-size:16px}
.legal p+p{margin-top:16px}.legal li+li{margin-top:8px}
.legal a{color:var(--sage-dark)}
.not-found{padding:55px 0 90px;max-width:750px}
.not-found p{margin-top:23px}.not-found .button{margin-top:25px}

/* Reveal is progressive enhancement: readable before JS, in print and without motion. */
html.js .reveal-pending{opacity:0;transform:translateY(22px)}
.reveal-section{transition:opacity .6s ease,transform .6s ease}
html{scroll-padding-bottom:calc(72px + env(safe-area-inset-bottom))}body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
.back-top-rail{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:3;display:flex;justify-content:center}
#back-to-top{min-height:44px;border:1px solid var(--line);border-radius:7px;padding:9px 16px;background:var(--cream);color:var(--espresso);font-size:13px;box-shadow:0 4px 12px hsl(24 28% 18% / .1)}
#back-to-top span{margin-left:12px}
@media(min-width:1800px){.product-demo{--scene-height:572px}.hero{gap:54px}.hero .intro{margin-top:28px}.hero .actions{margin-top:30px}.hero .button{font-size:19px;padding:15px 28px}.availability{font-size:14px}.site-header nav a:not(.button){font-size:17px}}
@media(max-width:1200px){
 .hero{gap:24px;grid-template-columns:.9fr 1.2fr}.hero h1{font-size:clamp(39px,4.05vw,48px)}
 .product-demo{--cue-width:88px;--scene-height:572px}.demo-comparison{width:244px}.demo-callout{font-size:18px}.click-callout{font-size:23px}.close-callout{font-size:13px}.ingredients-callout{font-size:16px}
 .walkthrough-grid,.join-section,.signup-layout,.editorial,.team-member{gap:40px}.principle-list{gap:30px}
}
@media(max-width:900px){
 .hero{grid-template-columns:1fr;gap:28px;padding:38px 0 48px}.hero h1{font-size:clamp(43px,6.5vw,65px)}.hero-copy{padding:0}.hero .intro{max-width:46ch}
 .product-demo{width:100%;max-width:760px;justify-self:center;--cue-width:105px;--scene-height:572px}.demo-comparison{width:270px}
 .retailer-crop>img{width:60%}.demo-explainer{min-height:65px}.principle-list{gap:23px}
 .hero .actions{margin-top:22px}.availability{margin-top:15px}
}
@media(max-width:760px){
 .site-header{height:78px;gap:12px}.site-header nav{gap:14px}.site-header nav a:not(.button){font-size:13px}.site-header .button{font-size:13px;padding:8px 14px}
 .wordmark{font-size:34px}.pronunciation{font-size:11px}.hero .intro{font-size:18px;margin-top:20px}.actions{gap:20px}
 .section,.page-wide .section{padding:56px 0}.section-heading{display:block;margin-bottom:25px}.section-heading h2{font-size:34px}
 .walkthrough-grid,.join-section,.signup-layout,.editorial,.team-member{grid-template-columns:1fr;gap:27px}
 .walkthrough-copy article{padding:18px 0}.walkthrough-copy h3{font-size:23px}.comparison-detail{max-width:430px;justify-self:center}
 .principle-list{grid-template-columns:1fr;gap:36px}.principle-list article{display:grid;grid-template-columns:48px 1fr;column-gap:16px}.principle-number{grid-row:1/4;font-size:35px;margin:0}.principle-list h3{font-size:25px}.principle-list p,.principle-list a{grid-column:2}.principle-list p{margin-top:10px;font-size:16px}
 .why-heading{margin-bottom:40px}.why-heading h2{font-size:39px}
 .signup-card{padding:26px}.signup-card h2{font-size:31px}.closing{padding:27px;display:block;margin-bottom:32px}.closing .button{margin-top:24px}
 .site-footer{grid-template-columns:1fr;gap:25px}.site-footer nav{justify-content:flex-start;gap:14px 23px}
 .team-member{gap:15px;padding:25px 0}.team-member h2{font-size:26px}.prose{font-size:16px}
 .desktop-break{display:none}.company-intro h1,.partner-intro h1{font-size:39px}.company-intro .intro,.partner-intro .intro{font-size:17px}
 .mission-copy h2{font-size:2rem}.page-wide .mission-section{padding-block:72px}
 .partner-contact{display:block}.partner-contact .button{margin-top:24px}
 .page-heading h1{font-size:41px}.faq-list{padding-top:0}summary{font-size:19px}details>div{padding:0 9px 22px}
 .legal h1{font-size:41px}.legal h2{font-size:25px}.legal p{font-size:16px}.preview-notice{font-size:10px;padding:5px 12px}
 html{scroll-padding-bottom:calc(64px + env(safe-area-inset-bottom))}body{padding-bottom:calc(55px + env(safe-area-inset-bottom))}

}
@media(max-width:520px){
 .hero h1{font-size:clamp(36px,10vw,51px)}.hero .intro{font-size:17px}.product-demo{--cue-width:0px;--scene-height:620px}
 .retailer-window{top:55px;bottom:40px}.demo-comparison{top:55px;height:calc(100% - 95px);width:calc(100% - 20px);max-width:292px;right:0}
 .retailer-crop>img{width:80%}.retailer-side{display:none}.simi-badge{top:75px;right:12px}
 .demo-callout{width:auto;right:8px;flex-direction:row;align-items:center;gap:0}.demo-callout span{margin-left:0}.click-callout{top:-4px;right:40px;font-size:27px;flex-direction:row-reverse;align-items:flex-start}.click-callout svg:not(.mobile-click-direction){display:none}.click-callout .mobile-click-direction{display:block;width:52px;height:100px;transform:none;animation:badge-float 1.6s ease-in-out 3}
 .close-callout{top:14px;font-size:14px;flex-direction:row-reverse}.close-callout svg{transform:rotate(-90deg);animation:none;width:30px}
 .ingredients-callout{bottom:8px;font-size:20px;right:4px;flex-direction:row-reverse}.ingredients-callout svg{transform:rotate(90deg);animation:none}
 .history-callout{top:12px;right:102px;font-size:19px}
 .demo-explainer{margin-top:10px;min-height:85px}.demo-explainer>p{font-size:15px}.demo-step{font-size:12px}
 @keyframes mobile-cue{0%,100%{transform:rotate(-90deg) translateX(0)}50%{transform:rotate(-90deg) translateX(-5px)}}
}
@media(max-width:370px){
 .site-header nav{gap:10px}.site-header .button{font-size:12px;padding-inline:10px}.hero h1{font-size:37px}.headline-line{display:inline}.hero .actions{gap:15px}.hero .button{padding-inline:16px}.hero .text-link{font-size:13px}.hero .text-link span{margin-left:3px}
 .company-intro h1,.partner-intro h1{font-size:35px}.signup-card{padding:22px}.legal h1{font-size:36px}.principle-list article{grid-template-columns:37px 1fr;column-gap:12px}
}
html.motion-running{scroll-behavior:smooth}
html:not(.motion-running) *,html:not(.motion-running) *::before,html:not(.motion-running) *::after{transition:none!important}
html:not(.motion-running) .button:active{transform:none}
html:not(.motion-running) .reveal-section{transition:none}
html:not(.motion-running) .reveal-pending{opacity:1;transform:none}
html:not(.motion-running) .demo-callout svg{animation:none}
.motion-control{grid-column:1/-1;justify-self:start;min-height:44px;border:1px solid var(--line);border-radius:24px;background:transparent;padding:8px 16px;color:var(--sage-dark);font-size:13px}
/* Founder-requested live-site brand and exact Why/Mission layout. */
.site-footer{width:100%;padding:40px max(4%,calc((100% - 1640px)/2));background:var(--taupe);border-top:0}
.page-wide .product-walkthrough{padding-block:56px}
.product-walkthrough .section-heading{margin-bottom:24px}
.product-walkthrough .walkthrough-grid{gap:50px}
.product-walkthrough .walkthrough-copy article{padding-block:18px}
.product-walkthrough .walkthrough-copy article:first-child{padding-top:0}
.product-walkthrough .walkthrough-copy article:last-of-type{padding-bottom:0}
.product-walkthrough .comparison-detail{max-width:340px}
.page-wide .why-band,.page-wide .mission-section{position:relative;overflow:hidden;padding:96px 64px;background:var(--espresso)}
.why-band::before,.mission-section::before{content:'';position:absolute;top:-100px;left:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(184,149,106,.08) 0%,transparent 70%);pointer-events:none}
.why-band .container{width:100%;max-width:1000px;position:relative}
.mission-section .container{width:100%;max-width:640px;position:relative}
.why-heading{margin-bottom:48px}
.why-heading .eyebrow,.mission-copy .eyebrow{font-size:11.2px;line-height:1.5;font-weight:var(--weight-mission-label);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.why-heading h2{font:400 44px/1.15 var(--font-heading);letter-spacing:-.02em}
.principle-list{grid-template-columns:repeat(3,1fr);gap:48px}
.principle-list article{display:block}
.principle-number{font:400 48px/1 var(--font-heading);color:var(--gold);opacity:.4;margin-bottom:12px}
.principle-list h3{font:400 20.8px/1.3 var(--font-heading);letter-spacing:normal;margin-bottom:12px;color:var(--cream)}
.principle-list p{font:400 14.08px/1.7 var(--font-body);color:hsl(30 43% 97% / .6);margin-top:0}
.mission-copy h2{font-size:40px}.mission-copy p:not(.eyebrow){font-size:16.8px;line-height:1.7}
@media(min-width:1024px){.page-wide .why-band,.page-wide .mission-section{padding-block:76px}.why-band .container{max-width:1120px}.principle-list{gap:36px}}
@media(max-width:767px){.page-wide .why-band,.page-wide .mission-section{padding:96px 24px}.why-heading h2,.mission-copy h2{font-size:32px}.principle-list{grid-template-columns:1fr;gap:48px}.page-wide .product-walkthrough{padding-block:40px}.product-walkthrough .walkthrough-grid{gap:28px}.site-header .button{font-size:19px;padding:8px 12px}.site-header nav{gap:10px}}
@media(max-width:370px){.site-header{width:94%;gap:6px}.site-header nav{gap:6px}.site-header nav a:not(.button){font-size:12px}.site-header .button{font-size:19px;padding-inline:8px;white-space:nowrap}}
/* Shared alignment and color roles across the founder-reviewed sections. */
.product-walkthrough>.container,.page-wide .why-band>.container,.partner-contact{width:min(1360px,84%);max-width:1360px}
.page-wide .why-band{padding-inline:0}
.product-walkthrough .walkthrough-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(48px,6vw,96px);align-items:center}
.product-walkthrough .comparison-detail{width:100%;max-width:420px;justify-self:center}
.product-walkthrough .section-heading{margin-bottom:30px}
.product-walkthrough .walkthrough-copy h3{font-size:26px}
.product-walkthrough .walkthrough-copy article p{font-size:17px}
.principle-list{gap:48px}.principle-list h3{font-size:24px}.principle-list p{font-size:16px}
.company-intro .intro,.team-member .prose{color:var(--warm-gray)}
.team-member .prose{font-size:18px;line-height:1.75}
.company-intro .eyebrow,.team-role,.team-member .text-link{color:var(--sage)}
.page-wide #contact:not(.partners-form-section){padding-block:40px}
.partner-contact{justify-content:center;gap:clamp(40px,8vw,128px)}
.partner-contact .eyebrow{margin-bottom:12px}
.retailer-initial{background:#171717;color:white}
[data-retailer="Jomashop"] .retailer-initial{background:#bd2030}
[data-retailer="Bloomingdale’s"] .retailer-initial{background:#b58a18}
[data-retailer="Macy’s"] .retailer-initial{background:#ed2344}
[data-retailer="Nordstrom"] .retailer-initial{background:#292929}
.demo-ingredients summary{background:var(--wash);color:var(--sage-dark);border-top:1px solid var(--line)}
.demo-ingredients summary:hover{background:var(--taupe-light)}
.demo-ingredients summary::after{color:var(--sage-dark)}
@media(max-width:760px){
 .product-walkthrough>.container,.page-wide .why-band>.container,.partner-contact{width:88%}
 .product-walkthrough .walkthrough-grid{grid-template-columns:1fr;gap:28px}
 .product-walkthrough .comparison-detail{max-width:380px}
 .product-walkthrough .walkthrough-copy h3{font-size:24px}
 .principle-list h3{font-size:23px}.principle-list p{font-size:16px}
 .team-member .prose{font-size:17px}
 .partner-contact{text-align:center}.partner-contact .eyebrow{margin-inline:auto}
}
.product-walkthrough .comparison-reveal{width:100%;max-width:420px;justify-self:center}
@media(max-width:760px){.product-walkthrough .comparison-reveal{max-width:380px}}
/* Original live logo geometry, reveal timings and hover responses. */
.site-header{width:100%;height:68px;display:block;position:sticky;top:0;z-index:100;background:hsl(30 43% 97% / .85);backdrop-filter:blur(20px);border-bottom:1px solid transparent;transition:background .3s,border-color .3s}
.header-inner{width:min(1640px,92%);height:68px;margin:auto;padding:0;display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-header.header-scrolled{background:hsl(30 43% 97% / .95);border-color:hsl(0 0% 17% / .08)}
.brand{align-items:flex-start;line-height:1;color:var(--charcoal)}
.site-header .brand{transform:translateX(8px)}
.site-header .wordmark{font:italic 400 25.6px/1 var(--font-logo);letter-spacing:-.512px;color:var(--charcoal)}
.pronunciation{font:italic 400 9.6px/1 var(--font-body);font-synthesis:style;letter-spacing:.192px;margin-top:-2px;color:var(--warm-gray)}
.site-header nav a:not(.button){color:var(--warm-gray);transition:color .15s}
.site-header nav a:not(.button):hover,.site-header nav a[aria-current=page]{color:var(--charcoal)}
.site-footer .wordmark{font-size:20.8px;line-height:1.5;letter-spacing:normal;color:var(--charcoal)}
html{scroll-padding-top:88px}
#contact:not(.partners-form-section) .partner-contact{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(48px,6vw,96px)}
#contact:not(.partners-form-section) .partner-contact>.button{justify-self:center}
.partner-intro{text-align:center}.partner-intro>.container{max-width:820px}.partner-intro .eyebrow{margin-inline:auto}.partner-intro h1{font-size:51.2px;line-height:1.1;margin:0 auto 24px}.partner-intro .intro{font-size:18.4px;line-height:1.7;max-width:520px;margin:0 auto 40px;color:var(--warm-gray)}
.partner-benefits>.container,.partner-process>.container{max-width:1120px;width:84%}
.partner-heading{text-align:center;margin-bottom:64px}.partner-heading .eyebrow{margin-inline:auto;color:var(--sage)}.partner-heading h2{font-size:44px;line-height:1.15}
.partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.partner-card{height:100%;position:relative;overflow:hidden;border:1px solid hsl(0 0% 17% / .04);border-radius:16px;background:white;padding:32px;transition:transform .3s,box-shadow .3s}
.partner-card::before{content:'';position:absolute;inset:0 0 auto;height:3px;background:var(--sage);opacity:0;transition:opacity .3s}
.partner-card h3,.partner-step h3{font-size:20px;margin-bottom:12px;font-weight:400;letter-spacing:normal}
.partner-card p,.partner-step p{font-size:14.4px;line-height:1.65;color:var(--warm-gray)}
.partner-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--taupe-light);color:var(--sage);margin-bottom:20px}
.partner-step{text-align:center}.partner-step .partner-icon{width:56px;height:56px;border-radius:50%;margin-inline:auto}.partner-step p{max-width:280px;margin:auto}.partner-number{display:block;font:400 32px/1.5 var(--font-heading);color:hsl(0 0% 17% / .2);margin-bottom:8px}
.page-wide .partners-form-section{padding-block:76px}.partners-form-section>.container{max-width:540px;width:88%}
.partners-contact-copy{text-align:center}.partners-contact-copy h2{font-size:40px;line-height:1.15;margin-bottom:16px}.partners-contact-copy p{font-size:16px;line-height:1.7;color:var(--warm-gray);margin-bottom:48px}.partners-contact-copy a{color:var(--sage)}
#partner-form input,#partner-form textarea{display:block;width:100%;padding:14px 20px;border:1px solid hsl(0 0% 17% / .1);border-radius:12px;font:400 14.4px/1.5 var(--font-body);background:white;margin-bottom:16px;color:var(--ink);transition:border-color .15s}
#partner-form textarea{min-height:140px;resize:vertical}#partner-form input:focus,#partner-form textarea:focus{border-color:var(--sage)}
.partner-submit{text-align:center;padding-top:8px}.partner-form-help{font-size:12px;color:var(--warm-gray);line-height:1.6;margin:12px 0}
html.js .reveal-section{transition:opacity .7s ease,transform .7s ease}
html.js .reveal-delay-1{transition-delay:.1s}html.js .reveal-delay-2{transition-delay:.2s}html.js .reveal-delay-3{transition-delay:.3s}
html.js.motion-running .reveal-pending{opacity:0;transform:translateY(30px)}
.button{transition:background-color .15s,border-color .15s,color .15s,transform .15s,box-shadow .15s}
.button:hover{background:var(--sage-dark);border-color:var(--sage-dark);color:white}
.motion-running .button:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(107,143,107,.2)}
.motion-running .site-header .button:hover{transform:translateY(-1px)}
.partner-card:hover::before{opacity:1}.motion-running .partner-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.06)}
.comparison-detail{transition:transform .4s,box-shadow .4s}.motion-running .comparison-detail:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(0,0,0,.1),0 4px 12px rgba(0,0,0,.04)}
.motion-running #back-to-top:hover{transform:translateY(-2px)}
@keyframes badge-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:767px){
 .header-inner{gap:12px}.site-header nav{gap:12px}.site-header nav a:not(.button){font-size:13px}
 .partner-intro h1{font-size:38.4px}.partner-heading h2{font-size:32px}.partner-grid{grid-template-columns:1fr}.partner-benefits>.container,.partner-process>.container{width:88%}.partner-heading{margin-bottom:40px}
 .page-wide .partners-form-section{padding-block:56px}.partners-contact-copy h2{font-size:32px}
 #contact:not(.partners-form-section) .partner-contact{grid-template-columns:1fr;gap:24px;text-align:center}#contact:not(.partners-form-section) .partner-contact>.button{margin-top:0}
}
@media(max-width:370px){.header-inner{gap:6px}.site-header nav{gap:6px}.site-header nav a:not(.button){font-size:12px}}
@media(prefers-reduced-motion:reduce){html:not(.motion-running){scroll-behavior:auto}html:not(.motion-running) *,html:not(.motion-running) *::before,html:not(.motion-running) *::after{transition:none!important;animation:none!important}html.js:not(.motion-running) .reveal-pending{opacity:1;transform:none}}
@media print{html.js .reveal-pending{opacity:1;transform:none}.back-top-rail{display:none}}
