:root { --sand:#e8e0d4; --cream:#f4efe7; --stone:#c9b9a7; --sage:#69745d; --forest:#354238; --ink:#2b302b; --line:rgba(43,48,43,.22); --serif:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif; --sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Arial,sans-serif; }
* { box-sizing:border-box; }
figure { margin:0; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; background:var(--cream); color:var(--ink); font-family:var(--sans); line-height:1.8; }
a { color:inherit; }
a:focus-visible,button:focus-visible { outline:2px solid var(--forest); outline-offset:6px; }
.sui-header { position:absolute; z-index:40; top:0; left:0; display:grid; grid-template-columns:auto 1fr auto; gap:50px; align-items:center; width:100%; min-height:88px; padding:0 clamp(20px,5vw,78px); color:var(--ink); text-shadow:0 1px 10px rgba(244,239,231,.9); }
.sui-logo { display:flex; gap:12px; align-items:baseline; font:400 1.5rem var(--serif); letter-spacing:.15em; text-decoration:none; }.sui-logo span { font:500 .58rem var(--sans); letter-spacing:.25em; }
.sui-nav { display:flex; gap:clamp(18px,3vw,45px); justify-content:center; }.sui-nav a { font-size:.58rem; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }.sui-nav a:hover { opacity:.65; }
.header-cta { padding:8px 0; border-bottom:1px solid; font-size:.6rem; letter-spacing:.08em; text-decoration:none; }.menu-toggle { position:relative; z-index:2; display:none; border:0; background:transparent; color:inherit; font:500 .62rem var(--sans); cursor:pointer; }
.hero { display:grid; grid-template-columns:1.1fr .9fr; min-height:100svh; background:var(--sand); }
.hero-image { position:relative; min-height:780px; overflow:hidden; background:linear-gradient(145deg,#a79e8d,#67705f); }.hero-image::after { position:absolute; inset:0; background:linear-gradient(to top,rgba(31,39,32,.35),transparent 50%); content:""; }.hero-image img { width:100%; height:100%; object-fit:cover; animation:softFocus 12s ease-out both; }.image-fallback.is-missing img,img.is-missing { visibility:hidden; }
.vertical-note { position:absolute; z-index:2; right:28px; bottom:40px; color:#f7f1e8; font-size:.5rem; letter-spacing:.15em; writing-mode:vertical-rl; }
.hero-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:120px clamp(25px,6vw,95px) 70px; }
.concept-label,.section-label { margin:0; color:var(--sage); font-size:.56rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }.concept-label { padding:7px 11px; border:1px solid var(--line); }
.edition { margin:12vh 0 30px; color:#72776d; font:italic .7rem var(--serif); letter-spacing:.08em; }
.hero h1 { margin:0; font:400 clamp(3.3rem,6.2vw,6.6rem)/1.28 var(--serif); letter-spacing:.06em; }.hero h1 em { color:var(--sage); font-style:normal; }
.hero-copy>p:not(.concept-label,.edition) { max-width:470px; margin:38px 0; font-size:.78rem; }
.soft-button { display:inline-flex; gap:60px; justify-content:space-between; align-items:center; min-width:255px; padding:16px 18px; border:1px solid var(--forest); background:var(--forest); color:#f6f1e8; font-size:.65rem; letter-spacing:.08em; text-decoration:none; transition:background 300ms ease,color 300ms ease; }.soft-button:hover { background:transparent; color:var(--forest); }.hero-copy>small { margin-top:15px; color:#818479; font-size:.48rem; letter-spacing:.06em; }
[data-reveal] { opacity:0; transform:translateY(28px); clip-path:inset(0 0 20% 0); transition:opacity 1s ease,transform 1s ease,clip-path 1.1s ease; }[data-reveal][data-visible] { opacity:1; transform:none; clip-path:inset(0); }
.formula { position:relative; display:grid; grid-template-columns:.75fr 1fr; gap:10vw; align-items:center; min-height:100svh; padding:clamp(100px,14vw,220px) clamp(22px,9vw,145px); }
.formula-mark { position:relative; display:grid; place-items:center; width:min(100%,520px); aspect-ratio:1; border:1px solid var(--line); border-radius:50%; }.formula-mark::before,.formula-mark::after { position:absolute; inset:14%; border:1px solid var(--line); border-radius:50%; content:""; }.formula-mark::after { inset:29%; }.formula-mark span { font:400 clamp(7rem,15vw,15rem) var(--serif); color:var(--sage); }.formula-mark i { position:absolute; top:6%; right:20%; width:18px; aspect-ratio:1; border-radius:50% 50% 50% 10%; background:rgba(105,116,93,.45); transform:rotate(45deg); animation:dropFloat 4s ease-in-out infinite; }
.formula-copy h2,.ingredient h2,.ritual h2,.story h2,.promise h2,.waitlist h2 { margin:45px 0; font:400 clamp(2.6rem,5.5vw,5.8rem)/1.42 var(--serif); letter-spacing:.05em; }.formula-copy>p:not(.section-label) { max-width:530px; font-size:.8rem; }.formula dl { display:grid; grid-template-columns:repeat(3,1fr); margin:55px 0 22px; border-top:1px solid var(--line); }.formula dl div { padding:20px 10px 15px 0; border-right:1px solid var(--line); }.formula dt { font:400 clamp(1.8rem,3vw,3rem) var(--serif); }.formula dd { margin:5px 0 0; color:#777d71; font-size:.55rem; }.formula-copy>small { color:#888a83; font-size:.48rem; }
.ingredient { display:grid; grid-template-columns:.65fr 1fr .55fr; gap:6vw; align-items:center; min-height:110svh; padding:clamp(100px,13vw,200px) clamp(20px,6vw,95px); background:var(--forest); color:#f0ece4; }.ingredient .section-label { color:#b9c2ae; }.ingredient h2 span { display:inline-block; margin-bottom:20px; color:#b9c2ae; font:italic .75rem var(--serif); letter-spacing:.18em; }.ingredient-visual { position:relative; min-height:680px; overflow:hidden; background:radial-gradient(circle at 50% 30%,rgba(205,215,191,.2),transparent 35%),linear-gradient(145deg,#4f5c4b,#27332a); }.ingredient-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.85) brightness(.92); }.ingredient-visual::after { position:absolute; inset:0; background:linear-gradient(160deg,rgba(79,92,75,.35),rgba(39,51,42,.6)); content:""; mix-blend-mode:multiply; }.ingredient-visual figcaption { position:absolute; z-index:2; bottom:20px; left:20px; color:#c4ccb9; font-size:.5rem; letter-spacing:.13em; }
.ingredient-copy { align-self:end; padding-bottom:5vh; }.ingredient-copy>p { color:#c8cdc4; font-size:.73rem; }.ingredient-copy ol { margin:45px 0 0; padding:0; list-style:none; }.ingredient-copy li { display:grid; grid-template-columns:34px 1fr; gap:12px; padding:14px 0; border-top:1px solid rgba(255,255,255,.2); font-size:.62rem; }.ingredient-copy li span { color:#a9b4a1; }
.producer-note { display:flex; gap:20px; margin-top:40px; padding-top:26px; border-top:1px solid rgba(255,255,255,.2); }
.producer-photo { flex:0 0 84px; width:84px; aspect-ratio:3/4; overflow:hidden; border-radius:3px; background:rgba(255,255,255,.08); }
.producer-photo img { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.9) brightness(.95); }
.producer-text { flex:1; min-width:0; }
.producer-role { margin:0; color:#a9b4a1; font-size:.5rem; letter-spacing:.14em; text-transform:uppercase; }
.producer-name { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px; margin:10px 0 16px; font:400 .95rem var(--serif); }
.producer-name span { color:#a9b4a1; font-size:.5rem; letter-spacing:.04em; }
.producer-note blockquote { margin:0; color:#dbe0d4; font:italic .78rem/1.7 var(--serif); }
.trace-dl { display:grid; grid-template-columns:1fr 1fr; gap:14px 20px; margin:26px 0 0; padding-top:22px; border-top:1px solid rgba(255,255,255,.2); }
.trace-dl dt { color:#a9b4a1; font-size:.48rem; letter-spacing:.08em; text-transform:uppercase; }
.trace-dl dd { margin:4px 0 0; font-size:.62rem; }
.ritual { display:grid; grid-template-columns:1fr 1fr; min-height:100svh; background:var(--sand); }.product-stage { position:relative; min-height:850px; overflow:hidden; background:radial-gradient(circle at 50% 48%,#eee7dd,#c8bbab 68%); }.product-stage img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.92); }.product-stage::before { position:absolute; inset:0; background:linear-gradient(180deg,rgba(238,231,221,0) 42%,rgba(200,187,171,.55)); content:""; }.product-stage figcaption { position:absolute; z-index:2; right:30px; bottom:25px; font:400 1rem var(--serif); text-align:right; }.product-stage figcaption span { display:block; margin-top:4px; color:#5a5f54; font:500 .48rem var(--sans); letter-spacing:.1em; }
.ritual-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(80px,10vw,150px) clamp(25px,7vw,110px); }.ritual-figure { margin:0 0 40px; }.ritual-figure img { display:block; width:100%; height:auto; aspect-ratio:1200/670; object-fit:cover; }.ritual-figure figcaption { display:flex; justify-content:space-between; gap:16px; margin-top:12px; color:#687068; font-size:.53rem; letter-spacing:.02em; }.ritual-figure figcaption strong { flex:0 0 auto; color:var(--sage); font-weight:600; letter-spacing:.1em; text-transform:uppercase; }.ritual-steps { border-top:1px solid var(--line); }.ritual-steps article { display:grid; grid-template-columns:42px 1fr; gap:20px; padding:20px 0; border-bottom:1px solid var(--line); }.ritual-steps article>span { color:var(--sage); font-size:.53rem; }.ritual-steps h3 { margin:0 0 6px; font:italic 1.2rem var(--serif); }.ritual-steps p { margin:0; color:#687068; font-size:.66rem; }.ritual-steps p.step-meta { margin-top:8px; color:var(--sage); font-size:.53rem; letter-spacing:.06em; text-transform:uppercase; }.ritual-steps p.step-tip { margin-top:6px; color:#8a9088; font-size:.6rem; }
.story { display:grid; grid-template-columns:1.05fr .95fr; min-height:100svh; }.story-image { min-height:760px; background:linear-gradient(145deg,#a69988,#5f6a58); }.story-image img { width:100%; height:100%; object-fit:cover; filter:saturate(.62) sepia(.08); }.story-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(80px,10vw,150px) clamp(25px,7vw,110px); background:#dfd3c3; }.story-copy>p:not(.section-label) { max-width:510px; font-size:.75rem; }.story blockquote { margin:70px 0 0; padding-top:25px; border-top:1px solid var(--line); font:italic clamp(1.1rem,1.8vw,1.7rem)/1.8 var(--serif); }.story cite { display:block; margin-top:20px; color:#74796f; font:500 .47rem var(--sans); letter-spacing:.08em; }
.promise { padding:clamp(100px,13vw,190px) clamp(20px,7vw,110px); }.promise>h2 { max-width:800px; }.promise-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:80px; border-top:1px solid var(--line); border-left:1px solid var(--line); }.promise-grid article { min-height:330px; padding:28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.promise-grid span { color:var(--sage); font-size:.52rem; }.promise-grid h3 { margin:90px 0 20px; font:italic 1.4rem var(--serif); }.promise-grid p { color:#747a71; font-size:.67rem; }
.waitlist { position:relative; overflow:hidden; padding:clamp(110px,15vw,230px) 20px; background:var(--sage); color:#f4efe7; text-align:center; }.waitlist .section-label { color:#dbe0d4; }.waitlist h2 { margin-inline:auto; }.waitlist>p:not(.section-label,.demo-feedback) { max-width:520px; margin:0 auto 45px; color:#d8ddd2; font-size:.73rem; }.waitlist .soft-button { border-color:#f4efe7; background:#f4efe7; color:var(--forest); }.waitlist .soft-button:hover { background:transparent; color:#fff; }.waitlist>p.waitlist-perk:not(.section-label,.demo-feedback) { max-width:480px; margin:-24px auto 30px; color:#eef1e6; font-size:.6rem; }.waitlist-leaf i { position:absolute; width:310px; height:620px; border:1px solid rgba(255,255,255,.15); border-radius:100% 0 100% 0; transform:rotate(25deg); }.waitlist-leaf i:first-child { top:-250px; left:-120px; }.waitlist-leaf i:last-child { right:-110px; bottom:-320px; transform:rotate(205deg); }.demo-feedback { max-width:600px; margin:35px auto 0; padding:14px; border:1px solid rgba(255,255,255,.5); color:#fff; font-size:.63rem; }
.sui-footer { display:grid; grid-template-columns:auto 1fr 1fr auto; gap:40px; align-items:center; padding:35px clamp(20px,5vw,75px); background:var(--forest); color:#e9e5dd; }.sui-footer p,.sui-footer>a:last-child { margin:0; font-size:.5rem; letter-spacing:.06em; }
@keyframes softFocus { from { transform:scale(1.05); filter:blur(2px); } to { transform:scale(1); filter:none; } }@keyframes dropFloat { 50% { transform:translateY(16px) rotate(45deg); } }
@media (max-width:900px) {
  .sui-header { grid-template-columns:auto 1fr auto; }.menu-toggle { display:block; justify-self:end; }.header-cta { display:none; }.sui-nav { position:fixed; inset:0; display:flex; flex-direction:column; justify-content:center; gap:0; padding:100px 35px 50px; background:rgba(53,66,56,.98); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-20px); transition:opacity 300ms ease,transform 300ms ease,visibility 0s linear 300ms; }.sui-nav[data-open] { opacity:1; visibility:visible; pointer-events:auto; transform:none; transition-delay:0s; }.sui-nav a { padding:15px 0; border-bottom:1px solid rgba(255,255,255,.25); font:400 2rem var(--serif); }
  .hero { grid-template-columns:1fr; }.hero-image { min-height:70svh; }.hero-copy { min-height:80svh; }
  .formula { grid-template-columns:1fr; }.formula-mark { width:min(80vw,520px); margin:auto; }.ingredient { grid-template-columns:1fr 1fr; }.ingredient header { grid-column:1/-1; }.ingredient-copy { align-self:center; }.ritual,.story { grid-template-columns:1fr; }.product-stage { min-height:75svh; }.story-image { min-height:70svh; }.promise-grid { grid-template-columns:1fr; }.promise-grid article { min-height:260px; }.promise-grid h3 { margin-top:55px; }.sui-footer { grid-template-columns:auto 1fr; }
}
@media (max-width:540px) {
  .sui-header { min-height:72px; padding-inline:18px; }.hero-image { min-height:62svh; }.hero-copy { min-height:76svh; padding:80px 20px 60px; }.edition { margin-top:70px; }.hero h1 { font-size:3.7rem; }
  .formula { padding-inline:20px; }.formula dl { grid-template-columns:1fr; }.formula dl div { display:flex; justify-content:space-between; border-right:0; border-bottom:1px solid var(--line); }.ingredient { grid-template-columns:1fr; padding-inline:20px; }.ingredient-visual { min-height:580px; }.ingredient-copy { padding-bottom:0; }.ritual-copy,.story-copy { padding:80px 20px; }.product-stage { min-height:650px; }.story-image { min-height:58svh; }.promise { padding-inline:20px; }.waitlist h2 { font-size:3rem; }.sui-footer { grid-template-columns:1fr; }
}
.hero-copy { padding-block:105px 62px; }
.edition { margin:5vh 0 20px; }
.hero h1 { font-size:clamp(2.9rem,5.3vw,5.7rem); line-height:1.22; }
.hero-copy>p:not(.concept-label,.edition) { margin:22px 0 0; }
.sui-offer { width:min(100%,560px); margin-top:24px; padding:17px; border:1px solid rgba(43,48,43,.3); background:rgba(244,239,231,.48); box-shadow:0 18px 45px rgba(53,66,56,.08); backdrop-filter:blur(7px); }
.sui-offer-top { display:grid; grid-template-columns:1fr auto; gap:24px; align-items:start; }
.sui-offer-product { margin:0 0 3px; color:var(--forest); font:600 .68rem var(--serif); letter-spacing:.08em; }
.sui-offer-audience { margin:0; color:#60685f; font-size:.58rem; }
.sui-offer-price { margin:0; text-align:right; }
.sui-offer-price strong,.sui-offer-price span { display:block; white-space:nowrap; }
.sui-offer-price strong { font:500 .76rem var(--serif); }
.sui-offer-price span { margin-top:3px; color:#70766d; font-size:.46rem; }
.sui-offer-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin:14px 0; padding:0; border:1px solid var(--line); background:var(--line); list-style:none; }
.sui-offer-benefits li { padding:8px; background:rgba(244,239,231,.88); color:#596158; font-size:.5rem; line-height:1.55; }
.sui-offer-benefits li::before { margin-right:5px; color:var(--sage); content:"○"; }
.sui-offer .soft-button { width:100%; min-width:0; padding-block:12px; }
.sui-offer>small { display:block; margin-top:9px; color:#7e8279; font-size:.43rem; letter-spacing:.04em; }
@media (max-width:900px) {
  .sui-header { background:linear-gradient(to bottom,rgba(53,66,56,.94),rgba(53,66,56,.78)); color:#f6f1e8; text-shadow:0 1px 12px rgba(0,0,0,.62),0 1px 2px rgba(0,0,0,.45); }
  .hero { display:flex; flex-direction:column; }
  .hero-copy { order:-1; min-height:100svh; padding:120px 7vw 65px; }
  .hero-image { min-height:70svh; }
}
@media (max-width:540px) {
  .hero-copy { min-height:auto; padding:102px 20px 52px; }
  .edition { margin:24px 0 15px; }
  .hero h1 { font-size:3rem; line-height:1.25; }
  .hero-copy>p:not(.concept-label,.edition) { margin-top:16px; font-size:.7rem; }
  .sui-offer { margin-top:18px; padding:13px; }
  .sui-offer-top { grid-template-columns:1fr; gap:8px; }
  .sui-offer-price { text-align:left; }
  .sui-offer-benefits { grid-template-columns:1fr; margin:11px 0; }
  .sui-offer-benefits li { padding:6px 8px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  [data-reveal] { opacity:1; transform:none; clip-path:inset(0); }
}

/* --- Expanded sections: concern / reasons / ingredients / results / voices / plans / faq / waitlist-about --- */
.concern,.reasons { padding:clamp(90px,12vw,170px) clamp(20px,7vw,110px) clamp(40px,6vw,70px); }
.reasons { padding-top:clamp(20px,4vw,40px); }
.concern>header,.reasons>header,.ingredients-list>header,.results>header,.voices>header,.plans>header,.faq>header { max-width:640px; }
.concern h2,.reasons h2,.ingredients-list h2,.results h2,.voices h2,.plans h2,.faq h2 { margin:30px 0 22px; font:400 clamp(2.3rem,4.6vw,4.4rem)/1.4 var(--serif); letter-spacing:.05em; }
.concern>header>p,.reasons>header>p,.ingredients-list>header>p,.plans>header>p,.voices>header>p { max-width:520px; font-size:.76rem; color:#5c6259; }
.results>header>p { max-width:520px; color:#c4cbba; font-size:.72rem; }
.promise-grid.concern-grid,.promise-grid.reasons-grid { margin-top:55px; }

.ingredients-list { padding:clamp(90px,12vw,170px) clamp(20px,7vw,110px); background:var(--sand); }
.ingredients-figure { margin:45px 0 0; }
.ingredients-figure img { display:block; width:100%; height:auto; aspect-ratio:1200/670; object-fit:cover; }
.ingredients-figure figcaption { display:flex; justify-content:space-between; gap:20px; margin-top:14px; padding-top:14px; border-top:1px solid var(--line); font-size:.55rem; letter-spacing:.03em; }
.ingredients-figure figcaption strong { flex:0 0 auto; color:var(--sage); font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.ingredients-figure figcaption span { color:#75796f; }
.inci-list { columns:2; column-gap:50px; margin:45px 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.inci-list li { padding:14px 0; border-bottom:1px solid var(--line); break-inside:avoid; }
.inci-head { display:flex; justify-content:space-between; gap:14px; font-size:.68rem; }
.inci-head b { font-weight:500; }
.inci-head span { flex:0 0 auto; color:#7c8277; font-size:.53rem; text-align:right; }
.inci-list li>p { margin:6px 0 0; color:#75796f; font-size:.58rem; }
.texture-note { display:grid; grid-template-columns:240px 1fr; gap:30px; align-items:center; max-width:760px; margin-top:55px; padding-top:30px; border-top:1px solid var(--line); }
.texture-figure img { display:block; width:100%; height:180px; border-radius:2px; object-fit:cover; }
.texture-note h3 { margin:0 0 14px; font:italic 1.15rem var(--serif); }
.texture-note p { margin:0; color:#5c6259; font-size:.73rem; }

.results { padding:clamp(90px,12vw,170px) clamp(20px,7vw,110px); background:var(--forest); color:#f0ece4; }
.results .section-label { color:#b9c2ae; }
.results dl { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin:55px 0 22px; background:rgba(255,255,255,.15); }
.results dl div { padding:24px 14px 18px 0; background:var(--forest); }
.results dt { font:400 clamp(1.7rem,3.1vw,2.8rem) var(--serif); color:#fff; }
.results dd { margin:6px 0 0; color:#c4cbba; font-size:.55rem; }
.results>small { display:block; max-width:640px; color:#a9b09e; font-size:.48rem; }

.voices { padding:clamp(90px,12vw,170px) clamp(20px,7vw,110px); }
.voices-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:26px; margin-top:55px; }
.voice-card { padding:28px 24px; border:1px solid var(--line); background:var(--sand); }
.voice-card blockquote { margin:0 0 20px; font:italic .82rem/1.75 var(--serif); }
.voice-person { display:flex; align-items:center; gap:12px; }
.voice-avatar { width:42px; height:42px; border-radius:50%; object-fit:cover; flex:0 0 auto; }
.voice-card cite { color:var(--sage); font:500 .55rem var(--sans); font-style:normal; letter-spacing:.04em; }
.voices>small { display:block; margin-top:26px; color:#888a83; font-size:.48rem; }

.plans { padding:clamp(90px,12vw,170px) clamp(20px,7vw,110px); background:var(--sand); }
.plans-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:55px; border:1px solid var(--line); background:var(--line); }
.plan-card { display:flex; flex-direction:column; padding:32px 26px; background:var(--cream); }
.plan-card.is-featured { background:var(--forest); color:#f4efe7; }
.plan-name { margin:0; color:var(--sage); font-size:.56rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.plan-card.is-featured .plan-name { color:#b9c2ae; }
.plan-price { margin:16px 0 0; }
.plan-price strong { display:block; font:400 2.1rem var(--serif); }
.plan-price span { display:block; margin-top:4px; color:#777d71; font-size:.52rem; }
.plan-card.is-featured .plan-price span { color:#c4cbba; }
.plan-list { flex:1; margin:24px 0; padding:0; list-style:none; }
.plan-list li { padding:8px 0; border-top:1px solid var(--line); font-size:.6rem; }
.plan-card.is-featured .plan-list li { border-top-color:rgba(255,255,255,.2); }
.plan-list li::before { margin-right:6px; color:var(--sage); content:"○"; }
.plan-card.is-featured .plan-list li::before { color:#b9c2ae; }
.plan-note { margin:0; color:#7e8279; font-size:.46rem; letter-spacing:.03em; }
.plan-card.is-featured .plan-note { color:#c4cbba; }
.plan-terms { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin:26px 0 0; padding-top:22px; border-top:1px solid var(--line); }
.plan-terms dt { color:var(--sage); font-size:.5rem; letter-spacing:.06em; text-transform:uppercase; }
.plan-terms dd { margin:6px 0 0; color:#5c6259; font-size:.6rem; line-height:1.7; }
.plans-shipping { margin:22px 0 0; color:#888a83; font-size:.5rem; }
.plan-flow { margin-top:70px; }
.plan-flow>.section-label { margin-bottom:20px; }
.plan-steps { border-top:1px solid var(--line); }

.faq { padding:clamp(90px,12vw,170px) clamp(20px,7vw,110px); }
.faq-list { margin-top:55px; border-top:1px solid var(--line); }
.faq-list details { padding:20px 0; border-bottom:1px solid var(--line); }
.faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; list-style:none; font:500 .8rem var(--serif); }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { flex:0 0 auto; color:var(--sage); font-size:1.1rem; content:"+"; }
.faq-list details[open] summary::after { content:"–"; }
.faq-list p { max-width:640px; margin:16px 0 0; color:#5c6259; font-size:.7rem; }

.waitlist-about { max-width:600px; margin:60px auto 0; padding-top:30px; border-top:1px solid rgba(255,255,255,.3); text-align:left; }
.waitlist-about dl { display:grid; grid-template-columns:110px 1fr; gap:10px 18px; margin:0; }
.waitlist-about dt { color:#dbe0d4; font-size:.55rem; letter-spacing:.05em; }
.waitlist-about dd { margin:0; font-size:.62rem; }
.waitlist-note { max-width:600px; margin:24px 0 0; color:#dbe0d4; font-size:.48rem; letter-spacing:.03em; }

@media (max-width:900px) {
  .results dl { grid-template-columns:repeat(2,1fr); }
  .voices-grid { grid-template-columns:1fr; }
  .plans-grid { grid-template-columns:1fr; }
  .inci-list { columns:1; }
  .texture-note { grid-template-columns:1fr; }
  .texture-figure img { height:220px; }
  .plan-terms { grid-template-columns:1fr 1fr; }
}
@media (max-width:540px) {
  .concern,.reasons,.ingredients-list,.results,.voices,.plans,.faq { padding-inline:20px; }
  .results dl { grid-template-columns:1fr 1fr; }
  .trace-dl { grid-template-columns:1fr; }
  .plan-terms { grid-template-columns:1fr; }
  .waitlist-about dl { grid-template-columns:1fr; gap:2px 0; }
  .waitlist-about dt { margin-top:10px; }
}

/* --- Mobile body-text legibility (>=14px, ~1.7 line-height) --- */
@media (max-width:900px) {
  .hero-copy>p:not(.concept-label,.edition),
  .formula-copy>p:not(.section-label),
  .concern>header>p,.reasons>header>p,.ingredients-list>header>p,.plans>header>p,.voices>header>p,
  .results>header>p,
  .promise-grid p,
  .ingredient-copy>p,
  .ingredient-copy li,
  .producer-note blockquote,
  .ritual-steps p,
  .story-copy>p:not(.section-label),
  .story blockquote,
  .texture-note p,
  .inci-list li>p,
  .faq-list p,
  .waitlist>p:not(.section-label,.demo-feedback),
  .plan-list li,
  .plan-terms dd,
  .voice-card blockquote,
  .trace-dl dd {
    font-size:.875rem;
    line-height:1.7;
  }
  .inci-head b { font-size:.85rem; }
  .inci-head span,.step-tip,.step-meta,.producer-name { font-size:.72rem; }
  small,.hero-copy>small,.sui-offer>small,.formula-copy>small,.results>small,.voices>small,
  .waitlist-note,.waitlist-perk,.plan-note,.plans-shipping {
    font-size:.68rem;
    line-height:1.6;
  }
}
