/* ==========================================================================
   DeGlanze — main.css
   Pakistan's first interactive skincare brand.
   Palette: Forest #31483B · Silver Sage #A8B5A4 · Soft Silver #C3C7C0 · Warm Ivory #F3F1EA
   ========================================================================== */

/* ---------- Tokens ---------- */
:root{
  --forest:#31483B;
  --forest-2:#3B5647;
  --forest-deep:#1E2E25;
  --ink:#131D17;
  --ink-2:#0C130F;
  --sage:#A8B5A4;
  --sage-2:#BCC7B8;
  --sage-light:#DCE2D8;
  --silver:#C3C7C0;
  --silver-light:#E3E5E0;
  --ivory:#F3F1EA;
  --ivory-2:#ECE9E0;
  --ivory-3:#E2DED2;
  --text:#18221C;
  --body:#56635A;
  --muted:#7F8B83;
  --line:rgba(49,72,59,.14);
  --line-2:rgba(49,72,59,.24);
  --on-dark:rgba(243,241,234,.66);
  --on-dark-2:rgba(243,241,234,.42);
  --line-dark:rgba(195,199,192,.15);
  --line-dark-2:rgba(195,199,192,.28);
  --silver-grad:linear-gradient(115deg,#8F968D 0%,#E9ECE6 22%,#A9B0A6 42%,#F7F8F5 58%,#9DA49A 78%,#DADDD6 100%);

  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-io:cubic-bezier(.65,0,.35,1);

  --gutter:clamp(20px,4vw,72px);
  --max:1640px;
  --hdr:84px;
  --r:24px;
  --shadow:0 50px 100px -50px rgba(12,19,15,.55);
}

/* ---------- Reset ---------- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:hidden;overflow-x:clip}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{font-family:var(--sans);font-size:15px;line-height:1.7;font-weight:400;color:var(--text);background:var(--ivory);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;overflow-x:clip;text-rendering:optimizeLegibility}
img,video,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
ul,ol{list-style:none}
svg{width:1em;height:1em;flex:none}
::selection{background:var(--forest);color:var(--ivory)}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--sage);outline-offset:3px}
.dark :focus-visible,.phero--dark :focus-visible,.hero :focus-visible{outline-color:var(--sage-2)}
main:focus{outline:0}
.skip{position:fixed;left:16px;top:-80px;z-index:200;padding:12px 18px;border-radius:999px;background:var(--forest);color:var(--ivory);font-size:12px;font-weight:600;letter-spacing:.1em;transition:top .3s}
.skip:focus{top:12px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- Layout ---------- */
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.wrap--narrow{max-width:1180px}
.sec{padding:clamp(96px,12vw,190px) 0;position:relative}
.sec--tight{padding:clamp(70px,8vw,120px) 0}
.dark{background:var(--ink);color:var(--ivory)}
.deep{background:var(--forest-deep);color:var(--ivory)}
.forest{background:var(--forest);color:var(--ivory)}
.ivory2{background:var(--ivory-2)}
.sage{background:var(--sage-light)}

/* ---------- Type ---------- */
.label{display:inline-flex;align-items:center;gap:14px;font-size:10.5px;font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:var(--forest)}
.label::before{content:'';width:34px;height:1px;background:currentColor;opacity:.55}
.label--plain::before{display:none}
.label--center{justify-content:center}
.dark .label,.deep .label,.forest .label{color:var(--sage-2)}
.num{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--sage)}
.display{font-family:var(--serif);font-weight:300;font-size:clamp(54px,8.6vw,150px);line-height:.92;letter-spacing:-.025em}
.h1{font-family:var(--serif);font-weight:300;font-size:clamp(48px,6.6vw,112px);line-height:.95;letter-spacing:-.02em}
.h2{font-family:var(--serif);font-weight:300;font-size:clamp(40px,5vw,84px);line-height:1;letter-spacing:-.018em}
.h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.6vw,42px);line-height:1.08}
.h1 em,.h2 em,.h3 em,.display em{font-style:italic;font-weight:300}
.silver{background:var(--silver-grad);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:shimmer 8s linear infinite;padding-right:.04em}
@keyframes shimmer{to{background-position:-220% 0}}
.lead{font-size:clamp(16px,1.25vw,19px);line-height:1.75;color:var(--body);max-width:560px}
.dark .lead,.deep .lead,.forest .lead{color:var(--on-dark)}
.muted{color:var(--muted)}
.dark .muted,.deep .muted{color:var(--on-dark-2)}
.split-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.split-w>span{display:inline-block;will-change:transform}

/* ---------- Buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:19px 32px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;overflow:hidden;isolation:isolate;transition:color .5s var(--ease),border-color .5s var(--ease),opacity .3s}
.btn svg{font-size:16px;transition:transform .6s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn::before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;transform:translateY(101%);transition:transform .7s var(--ease)}
.btn:hover::before{transform:none}
.btn--silver{background:var(--silver-grad);background-size:200% 100%;color:var(--ink);box-shadow:0 18px 44px -20px rgba(227,229,224,.6),inset 0 1px 0 rgba(255,255,255,.7)}
.btn--silver::before{background:var(--ivory)}
.btn--forest{background:var(--forest);color:var(--ivory)}
.btn--forest::before{background:var(--ink)}
.btn--ghost{border:1px solid var(--line-2);color:var(--text)}
.btn--ghost::before{background:var(--forest)}
.btn--ghost:hover{color:var(--ivory);border-color:var(--forest)}
.btn--ghost-l{border:1px solid var(--line-dark-2);color:var(--ivory)}
.btn--ghost-l::before{background:var(--ivory)}
.btn--ghost-l:hover{color:var(--ink);border-color:var(--ivory)}
.btn--block{width:100%}
.btn--sm{padding:13px 20px;font-size:10px}
.btn--lg{padding:22px 38px;font-size:11.5px}
.btn[disabled]{opacity:.35;pointer-events:none}
.link{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding-bottom:6px;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;transition:background-size .6s var(--ease)}
.link svg{font-size:15px;transition:transform .6s var(--ease)}
.link:hover svg{transform:translateX(5px)}
.link:hover{background-size:0 1px;background-position:100% 100%}
.icon-btn{position:relative;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;transition:background .3s}
.icon-btn svg{font-size:20px}
.icon-btn:hover{background:rgba(127,139,131,.14)}
.chip{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:1px solid var(--line-2);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:.4s var(--ease)}
.chip.is-active,.chip:hover{background:var(--forest);border-color:var(--forest);color:var(--ivory)}
.dark .chip,.deep .chip{border-color:var(--line-dark-2)}
.dark .chip.is-active,.deep .chip.is-active,.dark .chip:hover,.deep .chip:hover{background:var(--ivory);border-color:var(--ivory);color:var(--ink)}
.pill-live{display:inline-flex;align-items:center;gap:8px;padding:7px 13px 7px 11px;border-radius:999px;font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;background:rgba(13,20,16,.55);border:1px solid var(--line-dark-2);color:var(--ivory);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.stars{display:inline-flex;gap:2px;color:var(--forest)}
.stars svg{font-size:12px}
.dark .stars,.deep .stars{color:var(--silver)}

/* ---------- Header ---------- */
.hdr{position:fixed;top:0;left:0;right:0;z-index:80;color:var(--ivory);transition:transform .7s var(--ease),color .5s}
.hdr::before{content:'';position:absolute;inset:0;background:rgba(19,29,23,.72);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-bottom:1px solid var(--line-dark);opacity:0;transition:opacity .6s}
body.is-scrolled .hdr::before{opacity:1}
body.hdr-light:not(.is-scrolled) .hdr{color:var(--forest-deep)}
body.hdr-hidden .hdr{transform:translateY(-100%)}
.hdr__inner{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:var(--hdr);max-width:1760px;margin:0 auto;padding:0 var(--gutter);transition:height .6s var(--ease)}
body.is-scrolled .hdr__inner{height:70px}
.hdr__nav{display:flex;align-items:center;gap:32px}
.hdr__link{position:relative;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:10px 0;display:inline-flex;align-items:center;gap:9px}
.hdr__link::after{content:'';position:absolute;left:0;right:0;bottom:4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease)}
.hdr__link:hover::after,.hdr__link.is-current::after,.has-mega:hover>.hdr__link::after{transform:scaleX(1);transform-origin:left}
.hdr__ai{font-size:8px;letter-spacing:.14em;padding:3px 6px;border-radius:999px;background:var(--sage);color:var(--ink);line-height:1;transform:translateY(-1px)}
.hdr__logo{display:flex;flex-direction:column;align-items:center;gap:4px;line-height:1}
.hdr__logo-row{display:flex;align-items:center;gap:11px}
.hdr__logo svg{width:34px;height:34px;transition:transform .9s var(--ease)}
.hdr__logo:hover svg{transform:rotate(-8deg) scale(1.06)}
.hdr__word{font-family:var(--serif);font-size:30px;font-weight:500;letter-spacing:.03em}
.hdr__tag{font-size:7px;font-weight:600;letter-spacing:.46em;text-transform:uppercase;opacity:.6}
.hdr__icons{display:flex;justify-content:flex-end;align-items:center;gap:2px}
.hdr__burger{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;gap:7px}
.hdr__burger span{display:block;width:24px;height:1.3px;background:currentColor}
.hdr__burger span:last-child{width:15px}
.bag-count{position:absolute;top:5px;right:3px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--sage);color:var(--ink);font-size:9.5px;font-weight:700;display:grid;place-items:center;line-height:1;transition:transform .4s var(--ease)}
.bag-count.bump{animation:bump .6s var(--ease)}
@keyframes bump{40%{transform:scale(1.5)}}
.has-mega{position:static}
.mega{position:absolute;left:var(--gutter);right:var(--gutter);top:calc(100% - 6px);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .5s var(--ease),transform .5s var(--ease),visibility .5s}
.has-mega:hover .mega,.has-mega:focus-within .mega{opacity:1;visibility:visible;transform:none}
.mega__in{display:grid;grid-template-columns:repeat(4,1fr) 1.4fr 1.4fr;gap:34px;padding:42px 46px;border-radius:var(--r);background:var(--ivory);color:var(--text);box-shadow:var(--shadow);border:1px solid var(--line)}
.mega h6{font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.mega__col a{display:block;font-family:var(--serif);font-size:21px;line-height:1.25;padding:4px 0;transition:color .3s,transform .5s var(--ease)}
.mega__col a:hover{color:var(--forest);transform:translateX(6px)}
.mega__col a small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.mega__card{position:relative;border-radius:18px;overflow:hidden;min-height:220px;color:var(--ivory)}
.mega__card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.mega__card:hover img{transform:scale(1.06)}
.mega__card span{position:absolute;inset:auto 0 0 0;padding:20px;background:linear-gradient(transparent,rgba(12,19,15,.85));font-family:var(--serif);font-size:23px;line-height:1.1}
.mega__card small{display:block;font-family:var(--sans);font-size:9.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--sage-2);margin-bottom:6px}

/* ---------- Overlays ---------- */
.veil{position:fixed;inset:0;z-index:100;background:rgba(12,19,15,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .6s var(--ease),visibility .6s}
.veil.is-on{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:110;width:min(480px,100%);display:flex;flex-direction:column;background:var(--ivory);color:var(--text);transform:translateX(102%);transition:transform .8s var(--ease)}
.drawer--left{right:auto;left:0;transform:translateX(-102%)}
.drawer.is-open{transform:none}
.drawer__hd{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid var(--line)}
.drawer__hd h3{font-family:var(--serif);font-weight:400;font-size:30px}
.drawer__hd h3 span{font-size:18px;color:var(--muted)}
.drawer__bd{flex:1;overflow-y:auto;padding:6px 28px}
.drawer__ft{padding:22px 28px 28px;border-top:1px solid var(--line);background:var(--ivory-2)}
.bag-perk{display:flex;align-items:center;gap:12px;padding:14px 28px;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--body)}
.bag-perk svg{font-size:18px;color:var(--forest)}
.line{display:grid;grid-template-columns:86px 1fr auto;gap:16px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.line img{width:86px;height:108px;object-fit:cover;border-radius:14px;background:var(--sage-light)}
.line h4{font-family:var(--serif);font-weight:500;font-size:21px;line-height:1.1}
.line small{display:block;font-size:11.5px;color:var(--muted);margin:3px 0 12px;letter-spacing:.04em}
.line__row{display:flex;align-items:center;gap:14px}
.line__rm{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.line__price{font-family:var(--serif);font-size:19px;text-align:right}
.qty{display:inline-flex;align-items:center;height:38px;border:1px solid var(--line-2);border-radius:999px}
.qty button{width:34px;height:100%;display:grid;place-items:center}
.qty button svg{font-size:13px}
.qty span{min-width:20px;text-align:center;font-size:13px;font-weight:600}
.bag-empty{text-align:center;padding:70px 10px}
.bag-empty svg{width:52px;height:52px;color:var(--sage);margin:0 auto 18px}
.bag-empty h4{font-family:var(--serif);font-weight:400;font-size:30px;margin-bottom:8px}
.bag-empty p{color:var(--body);margin-bottom:24px}
.upsell{display:flex;align-items:center;gap:14px;padding:16px 28px;border-top:1px solid var(--line)}
.upsell img{width:52px;height:64px;border-radius:10px;object-fit:cover}
.upsell div{flex:1}
.upsell h6{font-size:9.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.upsell b{display:block;font-family:var(--serif);font-weight:500;font-size:18px}
.upsell span{font-size:12px;color:var(--muted)}
.sum-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.sum-row span{font-size:10.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--body)}
.sum-row b{font-family:var(--serif);font-weight:500;font-size:28px}
.sum-note{font-size:12px;color:var(--muted);margin-bottom:16px}

.menu{background:var(--ink);color:var(--ivory)}
.menu .drawer__hd{border-color:var(--line-dark)}
.menu__nav{padding:18px 28px}
.menu__nav a{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--serif);font-size:38px;line-height:1.2;padding:10px 0;border-bottom:1px solid var(--line-dark)}
.menu__nav a small{font-family:var(--sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage)}
.menu__foot{margin-top:auto;padding:24px 28px;color:var(--on-dark-2);font-size:12px}

.search{position:fixed;top:0;left:0;right:0;z-index:110;background:var(--ivory);padding:34px 0 40px;transform:translateY(-104%);transition:transform .8s var(--ease);max-height:92vh;overflow-y:auto;box-shadow:var(--shadow)}
.search.is-open{transform:none}
.search__bar{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--forest);padding-bottom:14px}
.search__bar>svg{font-size:26px;color:var(--forest)}
.search__bar input{flex:1;min-width:0;background:none;border:0;outline:0;font-family:var(--serif);font-size:clamp(28px,3.2vw,48px);color:var(--text)}
.search__bar input::placeholder{color:rgba(24,34,28,.28)}
.search__tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:18px;font-size:12px;color:var(--muted)}
.search__res{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}
.search__res:empty{display:none}
.s-item{display:flex;align-items:center;gap:14px;padding:10px;border-radius:16px;transition:background .3s}
.s-item:hover{background:var(--ivory-2)}
.s-item img{width:62px;height:78px;border-radius:10px;object-fit:cover}
.s-item b{display:block;font-family:var(--serif);font-weight:500;font-size:20px;line-height:1.1}
.s-item span{font-size:12px;color:var(--muted)}

.toast{position:fixed;left:50%;bottom:28px;z-index:130;display:flex;align-items:center;gap:14px;padding:10px 22px 10px 10px;border-radius:999px;background:var(--ink);color:var(--ivory);font-size:13px;box-shadow:var(--shadow);transform:translate(-50%,calc(100% + 60px));visibility:hidden;transition:transform .8s var(--ease),visibility .8s;max-width:calc(100% - 32px)}
.toast.is-on{transform:translate(-50%,0);visibility:visible}
.toast img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.toast a{color:var(--sage-2);text-decoration:underline;text-underline-offset:3px;margin-left:6px}

.concierge{position:fixed;right:22px;bottom:22px;z-index:70;display:flex;align-items:center;gap:10px;padding:9px 18px 9px 9px;border-radius:999px;background:rgba(19,29,23,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--ivory);border:1px solid var(--line-dark-2);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;box-shadow:0 20px 40px -20px rgba(0,0,0,.6);transition:transform .6s var(--ease)}
.concierge span:first-child{width:36px;height:36px;border-radius:50%;background:var(--silver-grad);color:var(--ink);display:grid;place-items:center}
.concierge svg{font-size:18px}
.concierge:hover{transform:translateY(-3px)}

/* Cursor */
.cursor{display:none}
@media (pointer:fine){
  .cursor{display:block;position:fixed;inset:0;z-index:140;pointer-events:none}
  .cursor__dot,.cursor__ring{position:fixed;left:0;top:0;border-radius:50%;will-change:transform}
  .cursor__dot{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--ivory);mix-blend-mode:difference}
  .cursor__ring{width:40px;height:40px;margin:-20px 0 0 -20px;border:1px solid rgba(168,181,164,.65);display:grid;place-items:center;transition:width .5s var(--ease),height .5s var(--ease),margin .5s var(--ease),background .5s,border-color .5s}
  .cursor__lbl{font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);opacity:0;transition:opacity .3s}
  .cursor.is-hover .cursor__ring{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(168,181,164,.12);border-color:var(--sage)}
  .cursor.is-view .cursor__ring{width:100px;height:100px;margin:-50px 0 0 -50px;background:var(--silver-light);border-color:transparent}
  .cursor.is-view .cursor__lbl{opacity:1}
  .cursor.is-view .cursor__dot,.cursor.is-hidden .cursor__dot,.cursor.is-hidden .cursor__ring{opacity:0}
}

/* Curtain (page transitions) + preloader */
.curtain{position:fixed;inset:0;z-index:150;background:var(--ink);color:var(--ivory);display:grid;place-items:center;pointer-events:none;clip-path:inset(100% 0 0 0)}
.curtain.is-cover{clip-path:inset(0 0 0 0)}
.curtain__in{display:flex;flex-direction:column;align-items:center;gap:16px}
.curtain__in svg{width:44px;height:44px;color:var(--silver)}
.curtain__in b{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(40px,5vw,72px);line-height:1}
.preloader{position:fixed;inset:0;z-index:160;background:var(--ink);color:var(--ivory);display:grid;place-items:center;animation:plFail .8s 7s forwards}
@keyframes plFail{to{opacity:0;visibility:hidden}}
.preloader__in{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 24px}
.preloader__mark{width:76px;height:76px;margin-bottom:26px}
.pl-path{fill:transparent;stroke:var(--silver);stroke-width:.8}
.preloader__word{display:flex;overflow:hidden;font-family:var(--serif);font-weight:400;font-size:clamp(46px,6vw,76px);letter-spacing:.03em;line-height:1.1}
.preloader__word span{display:inline-block}
.preloader__line{margin-top:18px;font-size:10.5px;font-weight:600;letter-spacing:.42em;text-transform:uppercase;color:var(--sage)}
.preloader__count{position:absolute;right:var(--gutter);bottom:28px;font-family:var(--serif);font-weight:300;font-size:clamp(56px,8vw,130px);line-height:1;color:rgba(195,199,192,.2)}
.preloader__bar{position:absolute;left:var(--gutter);bottom:44px;width:min(260px,40vw);height:1px;background:var(--line-dark)}
.preloader__bar i{position:absolute;inset:0;background:var(--silver);transform-origin:left;transform:scaleX(0)}

/* ---------- Footer ---------- */
.ftr{background:var(--ink-2);color:var(--on-dark);padding-top:clamp(80px,9vw,140px);overflow:hidden;position:relative}
.ftr__circle{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:end;padding-bottom:80px;border-bottom:1px solid var(--line-dark)}
.ftr__circle h3{font-family:var(--serif);font-weight:300;font-size:clamp(40px,4.6vw,76px);line-height:1;color:var(--ivory)}
.ftr__circle p{margin-top:18px;max-width:440px}
.ftr__form{display:flex;gap:8px;padding:8px;border-radius:999px;border:1px solid var(--line-dark-2);background:rgba(243,241,234,.03)}
.ftr__form input{flex:1;min-width:0;background:none;border:0;outline:0;padding:0 22px;color:var(--ivory);font-size:15px}
.ftr__form input::placeholder{color:var(--on-dark-2)}
.ftr__msg{min-height:22px;margin-top:12px;font-size:12.5px;color:var(--sage-2)}
.ftr__grid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:40px;padding:70px 0}
.ftr__brand p{margin-top:20px;max-width:300px;font-size:13.5px}
.ftr__brand .hdr__logo{align-items:flex-start;color:var(--ivory)}
.ftr h5{font-size:10px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--sage);margin-bottom:22px}
.ftr li{margin-bottom:11px}
.ftr li a{font-size:14px;transition:color .3s,padding .5s var(--ease)}
.ftr li a:hover{color:var(--ivory);padding-left:6px}
.socials{display:flex;gap:10px;margin-top:26px}
.socials a{width:42px;height:42px;border-radius:50%;border:1px solid var(--line-dark-2);display:grid;place-items:center;color:var(--silver-light);transition:.5s var(--ease)}
.socials a:hover{background:var(--silver-light);color:var(--ink);transform:translateY(-3px)}
.socials svg{font-size:17px}
.ftr__word{text-align:center;line-height:.76;overflow:hidden;user-select:none}
.ftr__word span{display:inline-block;font-family:var(--serif);font-weight:300;font-size:clamp(90px,21vw,360px);letter-spacing:-.02em;background:var(--silver-grad);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.16;animation:shimmer 14s linear infinite}
.ftr__bot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:26px 0 34px;border-top:1px solid var(--line-dark);font-size:12px}
.pay{display:flex;flex-wrap:wrap;gap:6px}
.pay span{padding:6px 10px;border-radius:6px;border:1px solid var(--line-dark-2);font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-2)}

/* ---------- Shared components ---------- */
.sec-hd{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;margin-bottom:clamp(48px,6vw,90px)}
.sec-hd--c{flex-direction:column;align-items:center;text-align:center}
.sec-hd .h2{margin-top:22px}
.arch{position:relative;border-radius:999px 999px 26px 26px;overflow:hidden;background:var(--forest-deep)}
.arch-line{position:absolute;inset:-16px;border-radius:999px 999px 34px 34px;border:1px solid var(--line-dark-2);pointer-events:none}
.gl-host{position:relative;touch-action:none;-webkit-user-select:none;user-select:none}
.gl-host canvas{position:absolute;inset:0;width:100%;height:100%}
.gl-host .gl-loader{position:absolute;inset:0;display:grid;place-items:center;background:var(--forest-deep);transition:opacity .8s}
.gl-host .gl-loader::after{content:'';width:36px;height:36px;border-radius:50%;border:1px solid var(--line-dark-2);border-top-color:var(--silver-light);animation:spin 1s linear infinite}
.gl-host.is-ready .gl-loader{opacity:0;pointer-events:none}
@keyframes spin{to{transform:rotate(360deg)}}
.tone-dots{display:flex;gap:10px;align-items:center}
.tone-dot{position:relative;width:34px;height:34px;border-radius:50%;background-size:360% auto;background-position:36% 64%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);transition:transform .5s var(--ease)}
.tone-dot.is-active{transform:scale(1.12);box-shadow:0 0 0 2px var(--ink),0 0 0 3px var(--silver-light)}
.tone-dot:hover{transform:scale(1.1)}
.tone-dot::after{content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.3),transparent 46%)}
.split{position:absolute;inset:0;z-index:3;pointer-events:none;--x:50%}
.split[hidden]{display:none}
.split__line{position:absolute;top:0;bottom:0;left:var(--x);width:1px;background:linear-gradient(transparent,rgba(243,241,234,.92) 12%,rgba(243,241,234,.92) 88%,transparent);box-shadow:0 0 14px rgba(243,241,234,.5)}
.split__h{position:absolute;left:var(--x);top:54%;width:50px;height:50px;margin:-25px 0 0 -25px;border-radius:50%;background:rgba(243,241,234,.94);color:var(--ink);display:grid;place-items:center;pointer-events:auto;cursor:ew-resize;box-shadow:0 12px 30px rgba(0,0,0,.35);touch-action:none}
.split__h svg{font-size:20px}
.split__tag{position:absolute;bottom:22px;padding:6px 12px;border-radius:999px;background:rgba(13,20,16,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--ivory);font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.split__tag--l{left:18px}.split__tag--r{right:18px}
.range{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer}
.range::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,currentColor var(--fill,0%),rgba(127,139,131,.35) var(--fill,0%))}
.range::-moz-range-track{height:2px;background:rgba(127,139,131,.35)}
.range::-moz-range-progress{height:2px;background:currentColor}
.range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-10px;border-radius:50%;background:var(--silver-grad);box-shadow:0 0 0 6px rgba(168,181,164,.18),0 6px 16px rgba(0,0,0,.35)}
.range::-moz-range-thumb{width:22px;height:22px;border:0;border-radius:50%;background:var(--silver-light)}
.marquee{overflow:hidden;white-space:nowrap}
.marquee__t{display:inline-flex;will-change:transform}
.marquee__g{display:inline-flex;align-items:center}

/* Product card */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:56px 26px}
.pcard{position:relative}
.pcard__media{position:relative;display:block;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:var(--sage-light);transform-style:preserve-3d}
.pcard__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .9s var(--ease),transform 1.6s var(--ease)}
.pcard__media .alt{opacity:0;transform:scale(1.08)}
.pcard:hover .pcard__media .alt{opacity:1;transform:none}
.pcard:hover .pcard__media .main{transform:scale(1.06)}
.pcard__tags{position:absolute;top:14px;left:14px;right:14px;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.tag{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:7px 12px;border-radius:999px;background:rgba(243,241,234,.92);color:var(--ink);font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;backdrop-filter:blur(6px)}
.tag--dark{background:rgba(19,29,23,.78);color:var(--ivory)}
.pcard__acts{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;display:flex;gap:8px;transform:translateY(calc(100% + 18px));transition:transform .7s var(--ease)}
.pcard:hover .pcard__acts,.pcard:focus-within .pcard__acts{transform:none}
.pcard__add{flex:1;height:50px;border-radius:999px;background:var(--ivory);color:var(--ink);display:flex;align-items:center;justify-content:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;transition:background .4s,color .4s}
.pcard__add:hover{background:var(--forest);color:var(--ivory)}
.pcard__add svg{font-size:15px}
.pcard__try{height:50px;padding:0 18px;border-radius:999px;background:rgba(19,29,23,.82);color:var(--ivory);display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;backdrop-filter:blur(8px);transition:background .4s}
.pcard__try:hover{background:var(--ink)}
.pcard__info{padding:20px 4px 0}
.pcard__meta{display:flex;justify-content:space-between;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.pcard__name{font-family:var(--serif);font-weight:400;font-size:clamp(23px,1.8vw,28px);line-height:1.1;margin:8px 0 4px}
.pcard__benefit{font-size:12.5px;color:var(--body)}
.pcard__foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.pcard__price{font-family:var(--serif);font-size:21px}
.pcard__rate{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted)}
.dark .pcard__foot,.deep .pcard__foot{border-color:var(--line-dark)}
.dark .pcard__meta,.deep .pcard__meta,.dark .pcard__rate,.deep .pcard__rate{color:var(--on-dark-2)}
.dark .pcard__benefit,.deep .pcard__benefit{color:var(--on-dark)}

.acc{border-top:1px solid var(--line)}
.acc__i{border-bottom:1px solid var(--line)}
.acc__q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;text-align:left;font-family:var(--serif);font-size:22px}
.acc__q i{position:relative;width:14px;height:14px;flex:none}
.acc__q i::before,.acc__q i::after{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:currentColor;transition:transform .5s var(--ease)}
.acc__q i::after{transform:rotate(90deg)}
.acc__i.is-open .acc__q i::after{transform:rotate(0)}
.acc__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.acc__i.is-open .acc__a{grid-template-rows:1fr}
.acc__a>div{overflow:hidden}
.acc__a p,.acc__a ul{padding-bottom:22px;color:var(--body);font-size:14.5px;max-width:620px}
.acc__a li{position:relative;padding-left:18px;margin-bottom:6px}
.acc__a li::before{content:'';position:absolute;left:0;top:11px;width:8px;height:1px;background:var(--sage)}
.dark .acc,.dark .acc__i{border-color:var(--line-dark)}
.dark .acc__a p{color:var(--on-dark)}

/* ======================= HOME ======================= */
.hero{position:relative;min-height:100vh;min-height:100svh;background:var(--ink);color:var(--ivory);overflow:hidden;display:flex;flex-direction:column}
.hero__bg{position:absolute;inset:0;background:radial-gradient(70% 80% at 72% 45%,#2C4236 0%,#1A2820 42%,var(--ink-2) 100%)}
.hero__water{position:absolute;left:-1vw;bottom:2vh;font-family:var(--serif);font-style:italic;font-weight:300;font-size:25vw;line-height:.8;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(195,199,192,.06);pointer-events:none;user-select:none}
.hero__in{position:relative;flex:1;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:40px;padding-top:calc(var(--hdr) + 40px);padding-bottom:120px}
.hero__kick{display:flex;align-items:center;gap:16px;margin-bottom:34px}
.hero__title{font-family:var(--serif);font-weight:300;line-height:.9;letter-spacing:-.025em}
.hero__title .ln{display:block;overflow:hidden;padding-bottom:.07em}
.hero__title .ln>span{display:block}
.hero__t1{font-size:clamp(40px,5.2vw,92px)}
.hero__t2{font-size:clamp(78px,11.4vw,210px);font-style:italic;margin-left:-.04em}
.hero__t3{font-size:clamp(40px,5.2vw,92px)}
.hero__sub{max-width:470px;margin-top:34px;font-size:clamp(15px,1.15vw,17px);line-height:1.8;color:var(--on-dark)}
.hero__ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:40px}
.hero__shop{color:var(--ivory)}
.hero__trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:30px;font-size:11.5px;color:var(--on-dark)}
.hero__trust li{display:flex;align-items:center;gap:8px}
.hero__trust svg{width:16px;height:16px;color:var(--sage-2)}
.hero__vis{position:relative;justify-self:center}
.hero__arch{height:min(66vh,700px);aspect-ratio:.58;box-shadow:0 80px 140px -50px rgba(0,0,0,.85)}
.hero__live{position:absolute;top:-30px;left:50%;transform:translateX(-50%);z-index:5;white-space:nowrap}
.hero__cue{position:absolute;left:50%;bottom:9%;transform:translateX(-50%);z-index:4;display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:rgba(13,20,16,.55);border:1px solid var(--line-dark-2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:11px;font-weight:500;letter-spacing:.04em;white-space:nowrap;transition:opacity .6s}
.hero__cue svg{font-size:16px;color:var(--sage-2);animation:sway 2.4s var(--ease-io) infinite}
@keyframes sway{50%{transform:translateX(5px)}}
.hero__cue.is-hidden{opacity:0}
.hero__tones{position:absolute;left:50%;bottom:-74px;transform:translateX(-50%);display:flex;align-items:center;gap:14px}
.hero__tones small{font-size:9.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--on-dark-2);white-space:nowrap}
.hero__meter{position:absolute;right:-22%;bottom:16%;z-index:4;width:180px;padding:18px 20px;border-radius:18px;background:rgba(19,29,23,.6);border:1px solid var(--line-dark-2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.hero__meter span{display:block;font-size:9.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--on-dark-2)}
.hero__meter b{display:block;font-family:var(--serif);font-weight:300;font-size:48px;line-height:1;margin:6px 0 10px;font-variant-numeric:tabular-nums}
.hero__meter i{display:block;height:2px;background:var(--line-dark);border-radius:2px;overflow:hidden}
.hero__meter i::after{content:'';display:block;height:100%;width:var(--w,0%);background:var(--silver-grad);transition:width .8s var(--ease)}
.hero__meter small{display:block;margin-top:9px;font-size:11px;color:var(--sage-2)}
.hero__tick{position:relative;border-top:1px solid var(--line-dark);padding:18px 0}
.hero__tick .marquee__g span{font-size:10.5px;font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:var(--on-dark-2);padding:0 34px}
.hero__tick .marquee__g svg{width:16px;height:16px;color:var(--sage)}
.hero__scroll{position:absolute;right:var(--gutter);bottom:84px;display:flex;flex-direction:column;align-items:center;gap:12px;font-size:9.5px;font-weight:600;letter-spacing:.4em;text-transform:uppercase;color:var(--on-dark-2)}
.hero__scroll span{writing-mode:vertical-rl}
.hero__scroll i{width:1px;height:56px;background:linear-gradient(var(--silver),transparent);animation:sline 2.4s var(--ease-io) infinite;transform-origin:top}
@keyframes sline{0%{transform:scaleY(0)}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* Statement */
.stmt{background:var(--ivory)}
.stmt__txt{font-family:var(--serif);font-weight:300;font-size:clamp(32px,4.2vw,68px);line-height:1.14;letter-spacing:-.012em;text-align:center;color:var(--forest-deep);max-width:1300px;margin:0 auto}
.stmt__txt em{font-style:italic}
.stmt__txt .w{display:inline}
.pillimg{display:inline-block;height:.86em;width:1.9em;border-radius:999px;overflow:hidden;vertical-align:middle;position:relative;top:-.07em;margin:0 .06em;background:var(--sage-light)}
.pillimg img{width:100%;height:100%;object-fit:cover}
.pillimg--r{width:.86em}
.stmt__stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(70px,8vw,120px);border-top:1px solid var(--line)}
.stmt__stats div{padding:34px 26px 0;border-right:1px solid var(--line)}
.stmt__stats div:last-child{border-right:0}
.stmt__stats b{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(46px,4.6vw,76px);line-height:1;color:var(--forest)}
.stmt__stats span{display:block;margin-top:10px;font-size:10.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);max-width:180px}

/* Lab story (scrollytelling) */
.ls{background:var(--ink);color:var(--ivory)}
.ls__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,120px)}
.ls__chapters{padding:12vh 0 18vh}
.ls__ch{min-height:78vh;display:flex;flex-direction:column;justify-content:center;opacity:.22;transition:opacity .8s var(--ease)}
.ls__ch.is-on{opacity:1}
.ls__ch .num{font-size:clamp(60px,6vw,104px);line-height:1;color:var(--sage)}
.ls__ch h3{font-family:var(--serif);font-weight:300;font-size:clamp(40px,4.4vw,72px);line-height:1;margin:18px 0 22px}
.ls__ch h3 em{font-style:italic}
.ls__ch p{max-width:460px;color:var(--on-dark);font-size:16px}
.ls__ch .ls__bul{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.ls__ch .ls__bul span{padding:8px 14px;border-radius:999px;border:1px solid var(--line-dark-2);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark)}
.ls__stage{position:sticky;top:0;height:100vh;height:100svh;display:grid;place-items:center}
.ls__arch{height:min(78vh,820px);aspect-ratio:.54;box-shadow:0 80px 140px -50px rgba(0,0,0,.85)}
.ls__hud{position:absolute;inset:0;pointer-events:none;z-index:4}
.ls__step{position:absolute;top:16%;left:50%;transform:translateX(-50%)}
.ls__days{position:absolute;left:50%;bottom:7%;transform:translateX(-50%);display:flex;align-items:baseline;gap:8px;padding:10px 18px;border-radius:999px;background:rgba(13,20,16,.6);border:1px solid var(--line-dark-2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transition:opacity .6s}
.ls__days.is-on{opacity:1}
.ls__days span{font-size:9.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--on-dark-2)}
.ls__days b{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1;font-variant-numeric:tabular-nums}
.ls__tones{position:absolute;left:50%;bottom:7%;transform:translateX(-50%);opacity:0;transition:opacity .6s}
.ls__tones.is-on{opacity:1}
.ls__cta{margin-top:40px;align-self:flex-start}

/* Collection */
.coll__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:60px 26px}
.coll__grid .pcard--feat{grid-column:span 2;grid-row:span 2}
.coll__grid .pcard--feat .pcard__media{aspect-ratio:auto;height:calc(100% - 140px);min-height:520px}
.coll__grid--3{grid-template-columns:repeat(3,1fr)}
.who__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.who__c{display:flex;flex-direction:column;padding:30px 26px 22px;border-radius:var(--r);border:1px solid var(--line);background:var(--ivory);transition:transform .8s var(--ease),box-shadow .8s var(--ease),border-color .4s}
.who__c:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--forest)}
.who__c h4{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.1;margin:18px 0 10px}
.who__c p{flex:1;font-size:13.5px;color:var(--body)}
.who__p{display:flex;align-items:center;gap:12px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--forest)}
.who__p img{width:40px;height:48px;border-radius:10px;object-fit:cover}
.trust__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.trust__c{padding:32px 28px;border-radius:var(--r);background:var(--ivory)}
.trust__c svg{width:30px;height:30px;color:var(--forest)}
.trust__c h4{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.1;margin:18px 0 10px}
.trust__c p{font-size:13.5px;color:var(--body)}
.trust__c a{color:var(--forest);text-decoration:underline;text-underline-offset:3px}

/* Tones */
.tones{background:var(--forest-deep);color:var(--ivory);overflow:hidden}
.tones__row{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:clamp(50px,6vw,90px)}
.tones__item{position:relative}
.tones__img{aspect-ratio:.6;border-radius:999px 999px 20px 20px;overflow:hidden;background:var(--forest)}
.tones__img img{width:100%;height:100%;object-fit:cover;object-position:50% 62%;transition:transform 1.6s var(--ease),filter 1s}
.tones__item:hover .tones__img img{transform:scale(1.06)}
.tones__cap{display:flex;justify-content:space-between;align-items:baseline;padding:16px 4px 0}
.tones__cap b{font-family:var(--serif);font-weight:400;font-size:24px}
.tones__cap span{font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--on-dark-2)}
.promise{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;max-width:860px;margin:clamp(60px,7vw,100px) auto 0;padding:30px 34px;border-radius:var(--r);border:1px solid var(--line-dark-2);background:rgba(243,241,234,.03)}
.promise svg{width:54px;height:54px;color:var(--silver)}
.promise b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.2vw,32px);line-height:1.2}
.promise p{color:var(--on-dark);margin-top:6px;font-size:14px}

/* UV */
.uv__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,130px);align-items:center}
.uv__arch{height:min(80vh,820px);aspect-ratio:.56;justify-self:center;box-shadow:0 80px 140px -50px rgba(0,0,0,.85)}
.uv__tag{position:absolute;top:15%;left:50%;transform:translateX(-50%);z-index:4;display:flex;align-items:center;gap:8px;padding:7px 13px;border-radius:999px;background:rgba(40,30,80,.6);border:1px solid rgba(150,140,230,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#DCD8FF;white-space:nowrap}
.uv__list{margin-top:36px;border-top:1px solid var(--line-dark)}
.uv__list li{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--line-dark)}
.uv__list .num{font-size:24px}
.uv__list b{display:block;font-family:var(--serif);font-weight:400;font-size:23px}
.uv__list p{font-size:14px;color:var(--on-dark)}

/* Ritual */
.ritual__toggle{display:inline-flex;padding:5px;border-radius:999px;border:1px solid var(--line-2);position:relative}
.ritual__toggle button{position:relative;z-index:1;padding:12px 26px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;transition:color .5s}
.ritual__toggle button.is-active{color:var(--ivory)}
.ritual__toggle i{position:absolute;top:5px;bottom:5px;left:5px;border-radius:999px;background:var(--forest);transition:transform .7s var(--ease),width .7s var(--ease)}
.ritual__steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.rstep{position:relative}
.rstep__img{aspect-ratio:.78;border-radius:999px 999px 20px 20px;overflow:hidden;background:var(--sage-light)}
.rstep__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.rstep:hover .rstep__img img{transform:scale(1.06)}
.rstep__n{display:flex;justify-content:space-between;align-items:baseline;margin-top:20px}
.rstep__n .num{font-size:30px}
.rstep__n span{font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.rstep h4{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.1;margin:6px 0 6px}
.rstep p{font-size:13.5px;color:var(--body)}

/* Science teaser */
.sci__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sci__card{position:relative;padding:40px 34px 34px;border-radius:var(--r);border:1px solid var(--line);background:var(--ivory);overflow:hidden;transition:transform .8s var(--ease),box-shadow .8s var(--ease)}
.sci__card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.sci__card .num{font-size:20px}
.sci__card h4{font-family:var(--serif);font-weight:400;font-size:34px;line-height:1.05;margin:22px 0 12px}
.sci__card p{color:var(--body);font-size:14px}
.sci__card small{display:block;margin-top:22px;font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--forest)}
.sci__orb{position:absolute;right:-50px;top:-50px;width:170px;height:170px;border-radius:50%;border:1px solid var(--line);}
.sci__orb::after{content:'';position:absolute;inset:26px;border-radius:50%;border:1px dashed var(--line-2);animation:spin 40s linear infinite}

/* Quotes */
.quotes{background:var(--sage-light)}
.quote-track{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.quote{display:flex;flex-direction:column;padding:40px 36px 32px;border-radius:var(--r);background:var(--ivory);min-height:360px}
.quote blockquote{flex:1;font-family:var(--serif);font-weight:400;font-size:clamp(22px,1.8vw,28px);line-height:1.32;margin:22px 0 28px}
.quote figcaption{display:flex;align-items:center;gap:14px;padding-top:20px;border-top:1px solid var(--line)}
.quote figcaption img{width:46px;height:46px;border-radius:50%;object-fit:cover}
.quote figcaption b{display:block;font-size:13.5px;font-weight:600}
.quote figcaption span{font-size:11.5px;color:var(--muted)}

/* Concierge */
.cons{display:grid;grid-template-columns:1fr 1fr;min-height:720px;background:var(--forest);color:var(--ivory)}
.cons__img{position:relative;overflow:hidden}
.cons__img img,.cons__img video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cons__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(60px,7vw,120px)}
.cons__list{margin:34px 0 40px;display:grid;gap:14px}
.cons__list li{display:flex;gap:14px;align-items:flex-start;color:var(--on-dark)}
.cons__list svg{font-size:18px;color:var(--sage-2);margin-top:4px}

/* Bundle band */
.band{position:relative;min-height:max(52vw,680px);display:flex;align-items:center;overflow:hidden;color:var(--ivory)}
.band__bg{position:absolute;inset:-6% 0;z-index:-1}
.band__bg img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.band::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,19,15,.94),rgba(12,19,15,.72) 38%,rgba(12,19,15,.1) 70%,rgba(12,19,15,0));pointer-events:none}
.band__card{position:relative;max-width:520px}
.band__price{display:flex;align-items:baseline;gap:14px;margin:30px 0}
.band__price b{font-family:var(--serif);font-weight:400;font-size:40px}
.band__price span{font-size:12px;color:var(--on-dark)}

/* ======================= PAGE HEROES ======================= */
.phero{position:relative;padding:calc(var(--hdr) + clamp(70px,9vw,140px)) 0 clamp(60px,7vw,100px);overflow:hidden}
.phero--dark{background:var(--ink);color:var(--ivory)}
.phero__crumbs{display:flex;gap:10px;font-size:10.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:28px}
.phero--dark .phero__crumbs{color:var(--on-dark-2)}
.phero__crumbs a:hover{color:var(--forest)}
.phero__row{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}

/* ======================= SHOP ======================= */
.shop-bar{position:sticky;top:70px;z-index:20;transition:top .7s var(--ease);background:rgba(243,241,234,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.shop-bar__in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
.shop-bar__f{display:flex;flex-wrap:wrap;gap:8px}
.shop-bar__r{display:flex;align-items:center;gap:16px;font-size:12px;color:var(--muted)}
.select{appearance:none;-webkit-appearance:none;padding:10px 38px 10px 16px;border-radius:999px;border:1px solid var(--line-2);background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%2331483B' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 12px center/14px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
body.hdr-hidden .shop-bar{top:0}
.shop-grid{padding:60px 0 clamp(90px,10vw,150px)}
.pcard.is-out{display:none}
.lab-band{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:40px;padding:clamp(40px,5vw,70px);border-radius:32px;background:var(--ink);color:var(--ivory);overflow:hidden;position:relative}
.lab-band__faces{display:flex;gap:10px;justify-content:flex-end}
.lab-band__faces img{width:min(16%,110px);aspect-ratio:.6;object-fit:cover;object-position:50% 60%;border-radius:999px 999px 14px 14px}

/* ======================= PDP ======================= */
.pdp{padding-top:calc(var(--hdr) + 30px)}
.pdp__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(40px,5vw,90px);align-items:start}
.pdp__gal{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pdp__gal figure{position:relative;border-radius:var(--r);overflow:hidden;background:var(--sage-light);aspect-ratio:4/5}
.pdp__gal figure:first-child{grid-column:span 2;aspect-ratio:auto;height:min(92vh,900px)}
.pdp__gal figure.wide{grid-column:span 2;aspect-ratio:16/9}
.pdp__gal img,.pdp__gal video{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.pdp__gal figure:hover img{transform:scale(1.04)}
.pdp__buy{position:sticky;top:110px;padding-bottom:40px}
.pdp__crumbs{display:flex;gap:10px;font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:26px}
.pdp__cat{font-size:10.5px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--forest)}
.pdp__name{font-family:var(--serif);font-weight:300;font-size:clamp(46px,4.8vw,80px);line-height:.98;letter-spacing:-.015em;margin:14px 0 16px}
.pdp__rate{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted)}
.pdp__benefit{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--forest);margin:26px 0 12px}
.pdp__desc{color:var(--body);font-size:15.5px;max-width:520px}
.pdp__price{display:flex;align-items:baseline;gap:14px;margin:30px 0 22px}
.pdp__price b{font-family:var(--serif);font-weight:400;font-size:42px;line-height:1}
.pdp__price span{font-size:12px;color:var(--muted);letter-spacing:.04em}
.pdp__opts{display:flex;gap:8px;margin-bottom:18px}
.pdp__opt{padding:12px 18px;border-radius:14px;border:1px solid var(--line-2);font-size:12px;font-weight:600;text-align:left;line-height:1.3}
.pdp__opt small{display:block;font-weight:400;color:var(--muted);font-size:11px}
.pdp__opt.is-active{border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest)}
.pdp__cta{display:flex;gap:10px}
.pdp__cta .qty{height:60px}
.pdp__cta .btn{flex:1}
.pdp__try{display:flex;align-items:center;gap:16px;margin:14px 0 16px;padding:14px 16px;border-radius:18px;background:var(--ink);color:var(--ivory);transition:transform .6s var(--ease)}
.pdp__try:hover{transform:translateY(-3px)}
.pdp__try-faces{display:flex}
.pdp__try-faces span{width:34px;height:34px;border-radius:50%;background-size:360% auto;background-position:36% 64%;border:2px solid var(--ink);margin-left:-10px}
.pdp__try-faces span:first-child{margin-left:0}
.pdp__try b{display:block;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.pdp__try small{display:block;font-size:12px;color:var(--on-dark)}
.pdp__try svg{margin-left:auto;font-size:18px}
.pdp__perks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:26px 0 30px}
.pdp__perks div{padding:14px;border-radius:14px;background:var(--ivory-2);font-size:11.5px;line-height:1.4;color:var(--body)}
.pdp__perks svg{display:block;font-size:20px;color:var(--forest);margin-bottom:8px}
.pdp__for{font-size:13px;color:var(--body);margin:-6px 0 18px}
.pdp__for b{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--forest);margin-right:8px}
.pdp__ship{display:grid;gap:10px;margin:22px 0 24px;padding:16px 18px;border-radius:16px;background:var(--ivory-2);font-size:12.5px;color:var(--body)}
.pdp__ship li{display:flex;align-items:center;gap:12px}
.pdp__ship svg{width:20px;height:20px;flex:none;color:var(--forest)}
.pdp__ship b{color:var(--text);font-weight:600}
.pdp__ship a,.pdp__ask,.acc__a a{color:var(--forest);text-decoration:underline;text-underline-offset:3px}
.pdp__ask{display:inline-flex;align-items:center;gap:10px;margin:0 0 26px;font-size:12.5px}
.pdp__ask svg{width:18px;height:18px;flex:none}
.pdp__facts{display:grid;grid-template-columns:120px 1fr;gap:10px 16px;font-size:13px}
.pdp__facts dt{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.pdp__facts dd{color:var(--body)}
@media (max-width:480px){.pdp__facts{grid-template-columns:1fr;gap:2px}.pdp__facts dd{margin-bottom:10px}}
.mini{background:var(--ink);color:var(--ivory)}
.mini__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,110px);align-items:center}
.mini__arch{height:min(80vh,800px);aspect-ratio:.56;justify-self:center;box-shadow:0 80px 140px -50px rgba(0,0,0,.85)}
.mini__ctrl{margin-top:34px;display:grid;gap:26px}
.mini__ctrl h6{font-size:10px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--on-dark-2);margin-bottom:12px}
.mini__day{display:flex;justify-content:space-between;align-items:baseline}
.mini__day b{font-family:var(--serif);font-weight:300;font-size:54px;line-height:1}
.mini__day b small{font-size:20px;color:var(--on-dark-2)}
.mini__ctrl .range{color:var(--silver-light)}
.mini__res{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mini__res div{padding:14px;border-radius:14px;border:1px solid var(--line-dark);background:rgba(243,241,234,.03)}
.mini__res b{display:block;font-family:var(--serif);font-weight:400;font-size:28px;line-height:1}
.mini__res span{font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-2)}
.mini__hint{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--sage-2)}
.mini__hint svg{font-size:18px}
.howto__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.howto__i{padding:36px 30px;border-radius:var(--r);background:var(--ivory-2)}
.howto__i .num{font-size:44px;line-height:1}
.howto__i h4{font-family:var(--serif);font-weight:400;font-size:28px;margin:18px 0 8px}
.howto__i p{color:var(--body);font-size:14px}
.sticky-buy{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;align-items:center;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(243,241,234,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);transform:translateY(100%);transition:transform .6s var(--ease)}
.sticky-buy.is-on{transform:none}
.sticky-buy img{width:44px;height:54px;border-radius:10px;object-fit:cover}
.sticky-buy div{flex:1;min-width:0}
.sticky-buy b{display:block;font-family:var(--serif);font-weight:500;font-size:18px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky-buy span{font-size:12px;color:var(--muted)}

/* ======================= STORY / SCIENCE ======================= */
.story-hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;color:var(--ivory);overflow:hidden;background:var(--ink)}
.story-hero__bg{position:absolute;inset:-8% 0}
.story-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 14%;transform:scale(1.45) translateX(13%);transform-origin:50% 0}
.story-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,19,15,.35) 0%,rgba(12,19,15,0) 30%,rgba(12,19,15,.82) 58%,rgba(12,19,15,.97) 100%)}
.story-hero__in{position:relative;z-index:2;padding-bottom:clamp(60px,8vw,120px)}
.chapter{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,120px);align-items:start;padding:clamp(60px,7vw,110px) 0;border-top:1px solid var(--line)}
.chapter .num{font-size:clamp(70px,8vw,130px);line-height:.9}
.chapter h3{font-family:var(--serif);font-weight:300;font-size:clamp(34px,3.6vw,58px);line-height:1.05;margin-bottom:22px}
.chapter h3 em{font-style:italic}
.chapter p{color:var(--body);font-size:16px;max-width:620px;margin-bottom:14px}
.duo{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-top:clamp(40px,5vw,70px)}
.duo figure{border-radius:var(--r);overflow:hidden;background:var(--sage-light)}
.duo img,.duo video{width:100%;height:100%;object-fit:cover}
.duo figure:first-child{aspect-ratio:16/11}
.duo figure:last-child{aspect-ratio:auto}
.values4{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark)}
.values4 div{padding:44px 30px 10px;border-right:1px solid var(--line-dark)}
.values4 div:last-child{border-right:0}
.values4 svg{width:44px;height:44px;color:var(--silver);margin-bottom:20px}
.values4 h4{font-family:var(--serif);font-weight:400;font-size:26px;margin-bottom:8px}
.values4 p{font-size:13.5px;color:var(--on-dark)}
.letter{max-width:900px;margin:0 auto;text-align:center}
.letter blockquote{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(28px,3.2vw,50px);line-height:1.25;margin:30px 0}
.letter cite{font-style:normal;font-size:10.5px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}

.how{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.how__i{padding:36px 32px;border-radius:var(--r);border:1px solid var(--line-dark);background:rgba(243,241,234,.03)}
.how__i .num{font-size:40px;line-height:1}
.how__i h4{font-family:var(--serif);font-weight:400;font-size:28px;margin:18px 0 10px}
.how__i p{font-size:14px;color:var(--on-dark)}
.ingr{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,6vw,110px);align-items:center}
.ingr__list li{position:relative;display:flex;align-items:baseline;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:clamp(28px,2.8vw,44px);line-height:1;color:rgba(24,34,28,.3);cursor:pointer;transition:color .6s var(--ease),padding .6s var(--ease)}
.ingr__list li span{font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.2em;color:var(--muted)}
.ingr__list li i{margin-left:auto;font-size:15px;color:var(--muted);opacity:0;transition:.5s}
.ingr__list li::after{content:'';position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--forest);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease)}
.ingr__list li:hover{color:rgba(24,34,28,.6)}
.ingr__list li.is-on{color:var(--forest-deep);padding-left:14px}
.ingr__list li.is-on i{opacity:1}
.ingr__list li.is-on::after{transform:scaleX(1)}
.ingr__stage{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center}
.ingr__orb{position:relative;width:clamp(240px,24vw,380px);aspect-ratio:1}
.ingr__orb svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 50s linear infinite}
.ingr__orb circle{fill:none;stroke:var(--sage);stroke-dasharray:3 9}
.ingr__orb circle+circle{stroke:var(--silver);stroke-dasharray:none;opacity:.6}
.ingr__img{position:absolute;inset:13%;border-radius:50%;overflow:hidden;background:var(--forest);box-shadow:var(--shadow)}
.ingr__img img{width:100%;height:100%;object-fit:cover}
.ingr__info h3{font-family:var(--serif);font-weight:300;font-size:clamp(36px,3.4vw,54px);line-height:1;margin:10px 0 14px}
.ingr__info p{color:var(--body);max-width:380px}
.ingr__info a{display:inline-block;margin-top:18px;font-size:12px;font-weight:600;color:var(--forest);border-bottom:1px solid currentColor}
.ethics{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.ethics div{padding:36px 34px;border-radius:var(--r);background:var(--ivory)}
.ethics b{display:block;font-family:var(--serif);font-weight:400;font-size:28px;margin-bottom:8px}
.ethics p{color:var(--body);font-size:14.5px}

/* ======================= CHECKOUT ======================= */
.co{padding-top:calc(var(--hdr) + 40px);padding-bottom:120px;background:var(--ivory)}
.co__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(40px,6vw,100px);align-items:start}
.co h1{font-family:var(--serif);font-weight:300;font-size:clamp(44px,4.4vw,72px);line-height:1;margin:16px 0 40px}
.co__sec{padding:34px 0;border-top:1px solid var(--line)}
.co__sec h3{display:flex;align-items:baseline;gap:14px;font-family:var(--serif);font-weight:400;font-size:28px;margin-bottom:22px}
.co__sec h3 .num{font-size:20px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fgrid .full{grid-column:span 2}
.field{position:relative}
.field input,.field select,.field textarea{width:100%;padding:24px 18px 10px;border-radius:14px;border:1px solid var(--line-2);background:rgba(255,255,255,.4);outline:0;font-size:15px;transition:border-color .3s,background .3s}
.field select{appearance:none;-webkit-appearance:none}
.field label{position:absolute;left:18px;top:17px;font-size:13.5px;color:var(--muted);pointer-events:none;transition:.3s var(--ease)}
.field input:focus,.field select:focus{border-color:var(--forest);background:#fff}
.field input:focus+label,.field input:not(:placeholder-shown)+label,.field select+label{top:8px;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.radios{display:grid;gap:10px}
.radio{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:16px;border:1px solid var(--line-2);cursor:pointer;transition:.3s}
.radio input{appearance:none;-webkit-appearance:none;width:18px;height:18px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;flex:none}
.radio input:checked{border-color:var(--forest)}
.radio input:checked::after{content:'';width:10px;height:10px;border-radius:50%;background:var(--forest)}
.radio:has(input:checked){border-color:var(--forest);background:rgba(255,255,255,.5)}
.radio b{display:block;font-size:14px;font-weight:600}
.radio span{font-size:12.5px;color:var(--muted)}
.radio em{margin-left:auto;font-style:normal;font-family:var(--serif);font-size:18px}
.co__sum{position:sticky;top:110px;padding:34px;border-radius:28px;background:var(--ivory-2);border:1px solid var(--line)}
.co__sum h3{font-family:var(--serif);font-weight:400;font-size:28px;margin-bottom:12px}
.co__rows{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);display:grid;gap:8px;font-size:14px}
.co__rows div{display:flex;justify-content:space-between}
.co__rows .tot{margin-top:8px;padding-top:14px;border-top:1px solid var(--line);font-family:var(--serif);font-size:28px}
.co__note{margin-top:16px;font-size:11.5px;color:var(--muted);line-height:1.5}
.co__done{text-align:center;max-width:640px;margin:0 auto;padding:60px 0}
.co__done>svg{width:72px;height:72px;color:var(--forest);margin:0 auto 24px}
.co__done-acts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.co__done-track{margin-top:26px;font-size:13px;color:var(--muted)}
.co__done-track a,.co__trust a{color:var(--forest);text-decoration:underline;text-underline-offset:3px}
.co__trust{margin-top:22px;display:grid;gap:12px;font-size:12.5px;color:var(--body)}
.co__trust li{display:flex;align-items:center;gap:12px}
.co__trust svg{width:22px;height:22px;flex:none;color:var(--forest)}
.radio.is-off{opacity:.5;cursor:not-allowed}
.field__err{display:block;margin-top:6px;font-size:12px;color:#A44A35}
.pcard__was{font-size:13px;color:var(--muted)}

/* ======================= LAB PAGE ======================= */
body.lab-page{overflow:hidden;background:var(--ink)}

/* ======================= RESPONSIVE ======================= */
@media (max-width:1280px){
  .hdr__nav{gap:22px}
  .pgrid,.coll__grid{grid-template-columns:repeat(3,1fr)}
  .coll__grid .pcard--feat{grid-column:span 2;grid-row:span 1}
  .coll__grid .pcard--feat .pcard__media{height:auto;aspect-ratio:4/3.2;min-height:0}
  .mega__in{grid-template-columns:repeat(4,1fr) 1.3fr}
  .mega__card:last-child{display:none}
}
@media (max-width:1024px){
  :root{--hdr:72px}
  .hdr__nav{display:none}
  .hdr__burger{display:flex}
  .hdr__inner{grid-template-columns:auto 1fr auto}
  .hdr__logo{justify-self:center}
  .hdr__tag{display:none}
  .hero__in{grid-template-columns:1fr;gap:110px;padding-bottom:150px}
  .hero__arch{height:auto;width:min(72vw,400px)}
  .hero__meter{right:-8%;top:auto;bottom:22%;width:150px;padding:14px 16px}
  .hero__meter b{font-size:36px}
  .hero__scroll{display:none}
  .ls__grid{grid-template-columns:1fr}
  .ls__stage{grid-row:1;top:var(--hdr);height:62vh;z-index:2;background:var(--ink)}
  .ls__arch{height:56vh}
  .ls__ch{min-height:70vh}
  .pgrid,.coll__grid{grid-template-columns:repeat(2,1fr)}
  .stmt__stats{grid-template-columns:repeat(2,1fr)}
  .stmt__stats div:nth-child(2){border-right:0}
  .tones__row{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto;scrollbar-width:none;padding-bottom:6px}
  .uv__grid,.mini__grid,.cons,.ingr,.co__grid,.pdp__grid,.chapter,.lab-band{grid-template-columns:minmax(0,1fr)}
  .mini__arch{height:auto;width:min(80vw,420px)}
  .ritual__steps,.sci__grid,.quote-track,.howto__grid,.how{grid-template-columns:repeat(2,1fr)}
  .ftr__circle{grid-template-columns:1fr}
  .ftr__grid{grid-template-columns:1fr 1fr}
  .ftr__brand{grid-column:span 2}
  .values4{grid-template-columns:repeat(2,1fr)}
  .pdp__buy,.co__sum{position:static}
  .pdp__gal{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter);scroll-padding:0 var(--gutter);scrollbar-width:none}
  .pdp__gal::-webkit-scrollbar{display:none}
  .pdp__gal figure,.pdp__gal figure:first-child,.pdp__gal figure.wide{flex:0 0 84%;height:auto;aspect-ratio:4/5;scroll-snap-align:start;clip-path:none!important}
  .sticky-buy{display:flex}
  .cons__img{min-height:420px}
  .search__res{grid-template-columns:repeat(2,1fr)}
  .ingr__stage{grid-template-columns:1fr}
  .lab-band__faces{justify-content:flex-start}
  .coll__grid--3{grid-template-columns:repeat(3,1fr);gap:40px 14px}
  .who__grid,.trust__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  body{font-size:14.5px}
  .hdr__word{font-size:25px}
  .hdr__logo svg{width:28px;height:28px}
  .hide-sm{display:none!important}
  .hero__t2{font-size:clamp(70px,22vw,120px)}
  .hero__ctas .btn{flex:1 1 100%}
  .hero__tones .tone-dot{width:28px;height:28px}
  .hero__tones small{display:none}
  .pgrid,.coll__grid{gap:40px 12px}
  .coll__grid .pcard--feat{grid-column:span 2}
  .pcard__acts{display:none}
  .tag{padding:5px 8px;font-size:7.5px;letter-spacing:.1em;gap:5px}
  .story-hero__bg img{transform:scale(1.5) translateX(0);object-position:50% 10%}
  .pcard__name{font-size:20px}
  .pcard__benefit{display:none}
  .pcard__foot{flex-direction:column;align-items:flex-start;gap:4px}
  .ritual__steps,.sci__grid,.quote-track,.howto__grid,.how,.ethics{grid-template-columns:1fr}
  .values4{grid-template-columns:1fr}
  .values4 div{border-right:0;border-bottom:1px solid var(--line-dark)}
  .ftr__grid{grid-template-columns:1fr 1fr;gap:30px}
  .ftr__form{flex-direction:column;border-radius:22px}
  .ftr__form input{padding:14px 16px}
  .fgrid{grid-template-columns:1fr}
  .fgrid .full{grid-column:auto}
  .pdp__perks{grid-template-columns:1fr}
  .promise{grid-template-columns:1fr}
  .duo{grid-template-columns:1fr}
  .concierge b{display:none}
  .concierge{padding:7px}
  .search__res{grid-template-columns:1fr}
  .stmt__stats div{padding:24px 14px 0}
  .shop-bar__r{width:100%;gap:10px}
  .shop-bar__r>*{min-width:0;flex:1 1 0}
  .mini{overflow-x:clip}
  .coll__grid--3{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter) 8px;scroll-padding:0 var(--gutter);scrollbar-width:none}
  .coll__grid--3::-webkit-scrollbar{display:none}
  .coll__grid--3 .pcard{flex:0 0 74%;scroll-snap-align:start}
  .who__grid,.trust__grid{grid-template-columns:1fr}
  .who__c h4,.trust__c h4{font-size:24px}
  .hero__trust{gap:8px 16px;font-size:11px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Client care, privacy, 404 */
.help__nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px}
.help__nav .chip{color:var(--ivory);border-color:var(--line-dark-2)}
.help__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,6vw,110px);align-items:start}
.help__track{display:grid;gap:14px;padding:30px;border-radius:var(--r);background:var(--ivory-2);border:1px solid var(--line)}
.help__msg{min-height:20px;font-size:13px;color:#A44A35}
.help__result{margin-top:18px;padding:28px 30px;border-radius:var(--r);background:#fff;border:1px solid var(--line);display:grid;gap:18px}
.help__res-hd{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.help__res-hd small{display:block;font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.help__res-hd b{font-family:var(--serif);font-weight:500;font-size:19px;word-break:break-word}
.help__steps{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.help__steps li{display:grid;gap:8px;font-size:11px;color:var(--muted);text-align:center}
.help__steps i{height:4px;border-radius:4px;background:var(--ivory-2)}
.help__steps .is-done i,.help__steps .is-on i{background:var(--forest)}
.help__steps .is-on span{color:var(--forest);font-weight:700}
.help__note{font-size:14px;color:var(--body)}
.help__kv{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:13.5px}
.help__kv dt{color:var(--muted)}
.help__demo{font-size:11.5px;color:var(--muted)}
.help__list{display:grid;gap:4px}
.help__list>div{padding:20px 0;border-bottom:1px solid var(--line)}
.help__list>div:first-child{padding-top:0}
.help__list h4{font-family:var(--serif);font-weight:500;font-size:23px;margin-bottom:6px}
.help__list p{color:var(--body);font-size:14.5px;max-width:620px}
.help__list a,.legal a,.acc__a a{color:var(--forest);text-decoration:underline;text-underline-offset:3px}
.help__contact{display:grid;gap:12px}
.help__card{display:flex;align-items:center;gap:18px;padding:22px 24px;border-radius:var(--r);border:1px solid var(--line);background:#fff;transition:border-color .4s,transform .6s var(--ease)}
.help__card:hover{border-color:var(--forest);transform:translateY(-3px)}
.help__card svg{width:30px;height:30px;flex:none;color:var(--forest)}
.help__card b{display:block;font-family:var(--serif);font-weight:500;font-size:22px}
.help__card span{font-size:13px;color:var(--muted)}
.legal{max-width:780px}
.legal h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3vw,40px);margin:56px 0 14px;scroll-margin-top:110px}
.legal h3{font-family:var(--serif);font-weight:500;font-size:22px;margin:26px 0 8px}
.legal p,.legal li{color:var(--body);font-size:15px;line-height:1.75}
.legal ul{margin:8px 0 12px;padding-left:20px;list-style:disc}
.legal .updated{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.nf{min-height:100vh;min-height:100svh;display:grid;place-items:center;text-align:center;padding:calc(var(--hdr) + 40px) 20px 60px;background:radial-gradient(70% 70% at 50% 40%,#2C4236 0%,#1A2820 45%,var(--ink-2) 100%);color:var(--ivory)}
.nf__n{font-family:var(--serif);font-weight:300;font-size:clamp(120px,24vw,300px);line-height:.85;letter-spacing:-.04em}
.nf__n em{font-style:italic}
.nf p{max-width:460px;margin:20px auto 34px;color:var(--on-dark)}
.nf__acts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
@media (max-width:1024px){.help__grid{grid-template-columns:1fr}}
@media (max-width:640px){.help__track,.help__result{padding:22px 18px}.help__res-hd{grid-template-columns:1fr 1fr}.help__steps span{font-size:9.5px}}

/* Verified reviews */
.pdp__rate{display:inline-flex;align-items:center;gap:10px;margin:-4px 0 14px;font-size:12.5px;color:var(--muted)}
.pdp__rate[hidden]{display:none}
.stars--1 svg:nth-child(n+2),.stars--2 svg:nth-child(n+3),.stars--3 svg:nth-child(n+4),.stars--4 svg:nth-child(n+5){opacity:.22}
.rv__hd{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:34px}
.rv__sum{display:flex;align-items:center;gap:16px}
.rv__sum b{font-family:var(--serif);font-weight:300;font-size:64px;line-height:1}
.rv__sum span:not(.stars){display:block;margin-top:4px;font-size:12px;color:var(--muted)}
.rv__sum .muted{max-width:340px;font-size:14px}
.rv__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.rv__item{padding:26px;border-radius:var(--r);background:var(--ivory-2)}
.rv__top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.rv__v{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--forest)}
.rv__v svg{width:14px;height:14px}
.rv__item p{margin:14px 0 12px;font-size:14.5px;color:var(--body)}
.rv__item small{font-size:12px;color:var(--muted)}
.rv__write{margin-top:30px}
.rv__form{margin-top:22px;max-width:760px;display:grid;gap:16px;padding:28px;border-radius:var(--r);border:1px solid var(--line);background:#fff}
.rv__form[hidden]{display:none}
.rv__note{font-size:13px;color:var(--body)}
.rv__form .field textarea{min-height:120px;resize:vertical}
.rv__rate{border:0;padding:0;margin:0}
.rv__stars{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}
.rv__rate legend{margin-bottom:6px;padding:0;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.rv__rate input{position:absolute;opacity:0;pointer-events:none}
.rv__rate label{cursor:pointer;color:var(--line-2);padding:4px}
.rv__rate label svg{width:30px;height:30px}
.rv__rate input:checked~label,.rv__rate label:hover,.rv__rate label:hover~label{color:#B98A3E}
.rv__rate input:focus-visible+label{outline:2px solid var(--sage);border-radius:6px}
.rv__msg{min-height:20px;font-size:13px;color:var(--forest)}
@media (max-width:640px){.rv__form{padding:20px 16px}.rv__sum b{font-size:48px}}

/* Checkout discount code */
.co__code{display:flex;gap:8px;margin-top:18px}
.co__code input{flex:1;min-width:0;height:44px;padding:0 16px;border-radius:12px;border:1px solid var(--line-2);background:rgba(255,255,255,.6);font-size:13px;letter-spacing:.08em;text-transform:uppercase;outline:0}
.co__code input:focus{border-color:var(--forest);background:#fff}
.co__code .btn{height:44px}
.co__codemsg{min-height:18px;margin-top:8px;font-size:12px;color:var(--forest)}
#coDiscRow b{font-size:11px;letter-spacing:.08em;color:var(--forest)}
.co__rm{margin-left:6px;font-size:11px;color:var(--muted);text-decoration:underline}

/* Checkout: online transfer details */
.co__pay{margin-top:14px;padding:20px 22px;border-radius:16px;background:var(--ivory-2);border:1px solid var(--line);display:grid;gap:12px;font-size:13.5px;color:var(--body)}
.co__acct{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.co__acct small{display:block;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.co__acct b{display:block;font-family:var(--serif);font-weight:500;font-size:28px;letter-spacing:.04em;color:var(--text);line-height:1.2}
.co__acct span{font-size:12.5px;color:var(--body)}
.co__acct--done{max-width:460px;margin:0 auto 14px;text-align:left}
.co__paynote{font-size:12.5px;color:var(--muted);margin-bottom:22px}
.co__pay .co__paynote{margin:0}
#coShipLbl{font-size:11px;color:var(--muted)}
@media (max-width:640px){.co__acct{flex-direction:column;align-items:flex-start}}
.radio em{white-space:nowrap}
@media (max-width:640px){.radio{gap:12px;padding:16px}.radio em{font-size:14px}}
.co__free{margin:-2px 0 10px;font-size:12px;color:var(--muted)}
.co__free:empty{display:none}
.co__free.is-ok{color:var(--forest)}
/* sold out + collection note (live catalogue) */
.tag--out{background:var(--ink);color:var(--ivory)}
.pcard__add.is-disabled{opacity:.6;cursor:default}
.pcard.is-out-stock .pcard__media img{filter:grayscale(.35)}
.btn.is-disabled,.btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}
.shop-note{max-width:640px;margin:0 0 26px;color:var(--body);font-size:15px;line-height:1.6}
.co__out{color:#B4553F;font-weight:700}
