/* SLEEQ by Suha — demo by Velare · v10
   Framework: Bootstrap 5.3 (grid, navbar, offcanvas, accordion) — loaded before this file.
   v10 re-skin (client: v9 felt "like 2000"): Glacial Indifference everywhere (self-hosted),
   lively olive/gold/coral palette, soft depth (radius + layered shadows) replacing the
   hard borders + offset print shadows, lift hovers replacing press hovers.
   Signature interactions kept: light-sweep headline, before/after slider, ritual quiz, stamp. */

@font-face{font-family:"Glacial Indifference";font-style:normal;font-weight:400;font-display:swap;src:url("../assets/fonts/GlacialIndifference-Regular.woff") format("woff")}
@font-face{font-family:"Glacial Indifference";font-style:normal;font-weight:700;font-display:swap;src:url("../assets/fonts/GlacialIndifference-Bold.woff") format("woff")}

:root{
  --olive:#6C7A33;
  --olive-deep:#4E5626;
  --ink:#222616;
  --ivory:#FFFFFF;
  --sage:#EAF0D8;
  --gold:#D19E2F;
  --gold-l:#EBC65C;
  --night:#29301A;--coral:#E8684A;--line:rgba(34,38,22,.16);
  --white:#FFFFFF;
  --serif:"Glacial Indifference","Futura","Avenir Next",sans-serif;
  --mono:"Glacial Indifference","Futura","Avenir Next",sans-serif;
  --sans:"Glacial Indifference","Futura","Avenir Next",sans-serif;
  --arch:16px;
  --pop:0 14px 34px rgba(34,38,22,.12);
  --pop-sm:0 8px 20px rgba(34,38,22,.10);
  --ease:cubic-bezier(.22,.61,.36,1);
  /* Bootstrap theme overrides */
  --bs-body-font-family:var(--sans);
  --bs-body-bg:var(--ivory);
  --bs-body-color:var(--ink);
  --bs-border-radius:.75rem;
  --bs-link-color-rgb:115,111,77;
  --bs-link-hover-color-rgb:38,37,26;
}

body{font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
/* film grain */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:1080;opacity:.06;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}

h1,h2,h3,h4.serif,.serif{font-family:var(--serif);font-weight:700;line-height:1.02;letter-spacing:-.01em}
em,.it{font-style:italic}
.gold{color:var(--gold)}
.mono{font-family:var(--mono);letter-spacing:.04em}
a{text-decoration:none}

.container-brand{max-width:1440px;margin-inline:auto;padding-inline:clamp(14px,2.2vw,28px)}

/* pointer glow (desktop) */
#glow{position:fixed;width:340px;height:340px;border-radius:50%;pointer-events:none;z-index:1;
  background:radial-gradient(circle,rgba(200,172,107,.22),transparent 65%);
  transform:translate(-50%,-50%);opacity:0}
@media(hover:hover){#glow{opacity:1}}

/* ---------- ticker ---------- */
.ticker{background:var(--night);color:var(--gold-l);overflow:hidden;white-space:nowrap;font-size:.72rem;text-transform:uppercase;font-family:var(--mono)}
.ticker__track{display:inline-block;padding:10px 0;animation:tick 28s linear infinite}
.ticker__track span{margin:0 1.6em}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---------- navbar (Bootstrap, themed) ---------- */
.navbar{background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding-block:10px}
.navbar .navbar-brand{display:flex;align-items:center;gap:12px}
.navbar .navbar-brand img{height:44px;width:auto}
.brand__word{font-family:var(--serif);font-weight:700;font-size:1.4rem;letter-spacing:.14em;color:var(--olive);line-height:1}
.brand__by{display:block;font-family:var(--mono);font-size:.56rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-top:2px}
.navbar .nav-link{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);position:relative;margin-inline:clamp(4px,1vw,14px)}
.navbar .nav-link::after{content:"";position:absolute;left:.5rem;right:100%;bottom:2px;height:2px;background:var(--gold);transition:right .3s var(--ease)}
.navbar .nav-link:hover::after,.navbar .nav-link.active::after{right:.5rem}
.navbar-toggler{border:1px solid var(--line);border-radius:0;box-shadow:0 8px 18px rgba(34,38,22,.10)}
.nav-link .navcount{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;margin-left:6px;border:1px solid var(--line);background:var(--gold-l);color:var(--ink);font-size:.6rem;font-weight:700;vertical-align:2px}
.navbar-toggler:focus{box-shadow:0 8px 18px rgba(34,38,22,.10)}
.cartbtn{display:flex;align-items:center;gap:8px;font-size:.78rem;text-transform:uppercase;font-family:var(--mono);color:var(--olive);padding:8px 2px;background:none;border:none}
.cartbtn__n{display:grid;place-items:center;min-width:22px;height:22px;border:1px solid var(--line);background:var(--gold-l);color:var(--ink);font-size:.72rem;font-weight:700;box-shadow:0 5px 12px rgba(34,38,22,.10)}

/* ---------- buttons: the "print" look (over Bootstrap .btn) ---------- */
.btn{--bs-btn-border-radius:0;font-family:var(--mono);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:14px 26px;border:1px solid var(--line);transition:transform .18s var(--ease),box-shadow .18s var(--ease)}
.btn-olive{background:var(--olive);color:var(--ivory);box-shadow:var(--pop)}
.btn-lined{background:var(--ivory);color:var(--ink);box-shadow:var(--pop)}
.btn-goldy{background:linear-gradient(120deg,var(--gold),var(--gold-l));color:var(--night);box-shadow:0 12px 28px rgba(34,38,22,.12)}
.btn-olive:hover{background:var(--olive);color:var(--ivory)}
.btn-lined:hover{background:var(--ivory);color:var(--ink)}
.btn:hover{transform:translateY(-4px)}
.btn-olive:hover,.btn-lined:hover{box-shadow:0 8px 18px rgba(34,38,22,.10)}
.btn-goldy:hover{box-shadow:0 8px 18px rgba(34,38,22,.10);color:var(--night)}
.btn:active{transform:translateY(1px)!important;box-shadow:none!important;border-color:var(--line)!important}
.btn:focus-visible{outline:2px dashed var(--gold);outline-offset:3px;box-shadow:var(--pop)}

/* ---------- hero ---------- */
.hero__in{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center;padding-block:clamp(48px,7vh,96px) clamp(40px,6vh,80px)}
.hero__kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}
.hero__kicker::before{content:"";width:34px;height:2px;background:var(--gold)}
.hero h1{font-size:clamp(2.7rem,6vw,5rem);color:var(--ink)}
.hero h1 .lit{background:linear-gradient(100deg,var(--ink) 0%,var(--ink) calc(var(--mx,50%) - 18%),var(--gold-l) var(--mx,50%),var(--ink) calc(var(--mx,50%) + 18%),var(--ink) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.hero__sub{margin:24px 0 34px;font-size:1.05rem;color:var(--olive-deep);max-width:46ch}
.hero__note{font-size:.74rem;font-family:var(--mono);color:var(--gold);margin-top:20px;text-transform:uppercase}
.hero__figure{position:relative;justify-self:end;width:min(100%,470px)}
.hero__figure::before{display:none}
.hero__img{border-radius:var(--arch);overflow:hidden;border:1px solid var(--line);box-shadow:0 18px 40px rgba(34,38,22,.14)}
.hero__img img{width:100%;height:min(62vh,560px);object-fit:cover}
.hero__stamp{position:absolute;left:-34px;bottom:38px;background:var(--white);border:1px solid var(--line);box-shadow:var(--pop-sm);padding:14px 18px;font-size:.78rem;line-height:1.45}
.hero__stamp strong{font-family:var(--serif);font-size:1.15rem;display:block;color:var(--olive)}
.stamp{position:absolute;top:-38px;right:-38px;width:120px;height:120px;animation:spin 16s linear infinite;filter:drop-shadow(2px 2px 0 var(--ivory));z-index:2}
.stamp text{font-family:var(--mono);font-size:11px;letter-spacing:.26em;fill:var(--olive);text-transform:uppercase}
.stamp .stamp__core{fill:var(--gold)}
@keyframes spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.stamp,.ticker__track,.mq__track{animation:none}}

/* ---------- outline-text marquee divider ---------- */
.mq{overflow:hidden;white-space:nowrap;padding:clamp(18px,3vh,30px) 0;border-block:1px solid var(--line);background:var(--ivory)}
.mq__track{display:inline-block;animation:tick 22s linear infinite;font-family:var(--serif);font-size:clamp(2rem,4.5vw,3.4rem);
  color:transparent;-webkit-text-stroke:1.5px var(--olive)}
.mq__track em{color:var(--gold-l);-webkit-text-stroke:0}
.mq__track span{margin:0 .45em}

/* ---------- section furniture ---------- */
.sec{padding:clamp(56px,9vh,110px) 0;position:relative}
.sec--sage{background:var(--sage)}
.sec--night{background:var(--night);color:var(--ivory)}
.sec__head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:clamp(28px,4vh,46px)}
.sec__kicker{font-family:var(--mono);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.sec__title{font-size:clamp(2rem,3.8vw,3.2rem)}
.sec__link{font-family:var(--mono);font-size:.76rem;text-transform:uppercase;color:var(--olive);border-bottom:2px solid var(--gold);padding-bottom:3px;white-space:nowrap}

/* ---------- ritual grid: all four cards in one full view, no scrolling ---------- */
.ritualsec{min-height:100svh;display:flex;align-items:center;padding:clamp(28px,4vh,56px) 0}
.ritualsec .sec__head{margin-bottom:clamp(18px,3vh,34px)}
.rail{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,22px);width:100%}
.ritual{background:var(--white);border:1px solid var(--line);box-shadow:var(--pop);padding:clamp(14px,1.6vw,22px);display:flex;flex-direction:column;gap:12px;transition:transform .18s var(--ease),box-shadow .18s var(--ease)}
.ritual:hover{transform:translateY(-4px);box-shadow:var(--pop-sm)}
.ritual__step{display:flex;align-items:center;gap:10px}
.ritual__n{font-family:var(--serif);font-size:1.7rem;color:var(--gold);font-style:italic}
.ritual__step h3{font-size:1.2rem}
.ritual__img{overflow:hidden;border:1px solid var(--line)}
.ritual__img img{height:clamp(110px,20vh,180px);width:100%;object-fit:cover;transition:transform .6s var(--ease)}
.ritual:hover .ritual__img img{transform:scale(1.05)}
.ritual p{font-size:.85rem;color:var(--olive-deep);margin:0}
@media(max-width:991.98px){.rail{grid-template-columns:repeat(2,1fr)}}
@media(max-width:575.98px){
  .rail{gap:10px}
  .ritual{padding:12px;gap:8px}
  .ritual p{display:none}
  .ritual__img img{height:15vh}
  .ritual__step h3{font-size:1rem}
  .ritual__n{font-size:1.3rem}
  .ritual a{font-size:.64rem}
}
.ritual a{margin-top:auto;font-family:var(--mono);font-size:.76rem;text-transform:uppercase;color:var(--olive);border-bottom:2px solid var(--gold);align-self:start;padding-bottom:2px}
.rail__bundle{background:var(--night);color:var(--ivory);box-shadow:0 12px 28px rgba(34,38,22,.12)}
.rail__bundle p{color:#D8DFB6}
.rail__bundle .ritual__step h3{color:var(--gold-l)}
.rail__bundle a{color:var(--gold-l)}

/* ---------- product cards (custom .pcard to avoid Bootstrap .card collisions) ---------- */
.pcard{background:var(--white);border:1px solid var(--line);box-shadow:var(--pop);overflow:hidden;position:relative;transition:transform .18s var(--ease),box-shadow .18s var(--ease);display:flex;flex-direction:column;height:100%}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--pop-sm)}
.pcard__img{position:relative;overflow:hidden;aspect-ratio:4/4.4;background:var(--sage);border-bottom:1px solid var(--line);display:block}
.pcard__img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.pcard:hover .pcard__img img{transform:scale(1.06)}
.pcard__img::after{content:"";position:absolute;top:0;bottom:0;left:-70%;width:45%;transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,253,248,.5),transparent);transition:left .1s}
.pcard:hover .pcard__img::after{left:130%;transition:left .7s var(--ease)}
.pcard__tag{position:absolute;top:12px;left:12px;background:var(--gold-l);color:var(--ink);border:1px solid var(--line);font-family:var(--mono);font-size:.62rem;font-weight:700;text-transform:uppercase;padding:5px 10px;box-shadow:0 5px 12px rgba(34,38,22,.10);z-index:2}
.pcard__quick{position:absolute;left:12px;right:12px;bottom:12px;background:var(--olive);color:var(--ivory);border:1px solid var(--line);box-shadow:var(--pop-sm);padding:12px;font-family:var(--mono);font-size:.72rem;font-weight:700;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:all .25s var(--ease);z-index:2}
.pcard:hover .pcard__quick,.pcard__quick:focus-visible{opacity:1;transform:none}
.pcard__quick:hover{background:var(--night);color:var(--ivory)}
.pcard__body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.pcard__body h3{font-size:1.22rem}
.pcard__body h3 a{color:var(--ink)}
.pcard__claim{font-size:.85rem;color:var(--olive-deep);flex:1;margin:0}
.pcard__meta{display:flex;align-items:center;justify-content:space-between;margin-top:6px;flex-wrap:wrap;gap:4px 10px}
.pcard__price{font-family:var(--mono);font-size:.85rem;font-weight:700;color:var(--ink);background:var(--gold-l);border:1px solid var(--line);padding:3px 8px;white-space:nowrap}
.pcard__price s{font-weight:400;opacity:.6;margin-right:6px}
.stars{font-size:.8rem;color:var(--gold);letter-spacing:.06em;white-space:nowrap}
.stars span{font-family:var(--mono);color:var(--olive-deep);font-size:.7rem;margin-left:5px}

/* ---------- before/after slider ---------- */
.ba{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.ba__fig{position:relative;user-select:none;touch-action:none;border:1px solid var(--line);box-shadow:0 18px 40px rgba(34,38,22,.14);overflow:hidden;cursor:ew-resize}
.ba__fig img{width:100%;height:min(64vh,540px);object-fit:cover;pointer-events:none}
.ba__before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos,50%)) 0 0)}
.ba__before img{filter:saturate(.4) contrast(.82) brightness(.92) sepia(.12)}
.ba__handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:3px;background:var(--ivory);box-shadow:0 0 0 1px var(--ink)}
.ba__handle::after{content:"◂ ▸";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  background:var(--gold-l);border:1px solid var(--line);box-shadow:0 5px 12px rgba(34,38,22,.10);color:var(--ink);
  font-family:var(--mono);font-size:.72rem;padding:8px 10px;white-space:nowrap}
.ba__tag{position:absolute;top:14px;font-family:var(--mono);font-size:.66rem;text-transform:uppercase;background:var(--ivory);border:1px solid var(--line);padding:4px 10px;box-shadow:0 5px 12px rgba(34,38,22,.10);z-index:2}
.ba__tag--l{left:14px}
.ba__tag--r{right:14px}
.ba__copy p{color:var(--olive-deep);margin:20px 0;max-width:46ch}
.ba__note{font-family:var(--mono);font-size:.68rem;color:var(--olive-deep);opacity:.75;text-transform:uppercase}

/* ---------- quiz: one full viewport, no internal scroll ---------- */
.quizsec{min-height:100svh;display:flex;align-items:center;padding:clamp(24px,4vh,56px) 0}
.quizgrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(24px,4vw,64px);align-items:center;width:100%}
.quizgrid__title{font-size:clamp(1.7rem,3vw,2.7rem);color:var(--ivory)}
.quizgrid__sub{color:#D8DFB6;font-size:.95rem;margin-top:14px;max-width:36ch}
.quiz__box{background:var(--ivory);color:var(--ink);border:1px solid var(--line);box-shadow:0 16px 36px rgba(34,38,22,.13);padding:clamp(18px,2.6vw,36px)}
.quiz__qnum{font-family:var(--mono);font-size:.68rem;text-transform:uppercase;color:var(--gold);margin-bottom:8px;display:block}
.quiz__q{font-family:var(--serif);font-size:clamp(1.15rem,2vw,1.7rem);margin-bottom:16px}
.quiz__opts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.quiz__opt{border:1px solid var(--line);background:var(--white);box-shadow:var(--pop-sm);padding:13px 10px;font-family:var(--mono);font-size:.74rem;text-transform:uppercase;text-align:center;transition:all .15s var(--ease)}
.quiz__opt:hover{transform:translateY(-2px);box-shadow:0 5px 12px rgba(34,38,22,.10);background:var(--sage)}
.quiz__bar{height:8px;background:var(--sage);border:1px solid var(--line);margin-bottom:18px}
.quiz__fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-l));transition:width .3s var(--ease)}
.quiz__result h3{font-size:clamp(1.3rem,2.4vw,1.9rem);margin-bottom:6px}
.quiz__verdict{font-family:var(--mono);font-size:.74rem;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.quiz__picks{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
.quiz__pick{border:1px solid var(--line);background:var(--white);box-shadow:var(--pop-sm);padding:10px;text-align:center}
.quiz__pick img{aspect-ratio:1;object-fit:cover;border:1px solid var(--line);margin-bottom:8px;width:100%;max-height:120px}
.quiz__pick h4{font-family:var(--serif);font-size:.92rem;line-height:1.15;margin-bottom:6px}
.quiz__pick span{font-family:var(--mono);font-size:.7rem;background:var(--gold-l);border:1px solid var(--line);padding:2px 6px}
.quiz__actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.quiz__actions .btn{padding:12px 18px;font-size:.72rem}
.quiz__again{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;text-decoration:underline;color:var(--olive-deep);background:none;border:none}
@media(max-width:991.98px){
  .quizgrid{grid-template-columns:1fr;gap:20px}
  .quizgrid__head{text-align:center}
  .quizgrid__sub{margin-inline:auto;font-size:.86rem}
  .quiz__picks{grid-template-columns:1fr;gap:8px}
  .quiz__pick{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:12px;text-align:left;padding:8px 12px}
  .quiz__pick img{width:56px;height:56px;max-height:none;margin:0}
  .quiz__pick h4{margin:0;font-size:.9rem}
}

/* ---------- inner-page hero + contact ---------- */
.pagehero{padding:clamp(36px,6vh,70px) 0 clamp(20px,3vh,36px);text-align:center}
.pagehero h1{font-size:clamp(2.2rem,4.6vw,3.8rem)}
.pagehero p{color:var(--olive-deep);margin-top:14px;max-width:56ch;margin-inline:auto}
.form-sleeq label{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;color:var(--olive);margin-bottom:6px;display:block}
.form-sleeq input,.form-sleeq textarea,.form-sleeq select{width:100%;border:1px solid var(--line);background:var(--white);padding:12px 14px;font-family:var(--sans);font-size:.95rem;border-radius:0;margin-bottom:16px;outline:none;transition:box-shadow .15s var(--ease)}
.form-sleeq input:focus,.form-sleeq textarea:focus,.form-sleeq select:focus{box-shadow:var(--pop-sm)}
.contact-card{border:1px solid var(--line);background:var(--white);box-shadow:var(--pop);padding:24px;height:100%}
.contact-card h3{font-size:1.2rem;margin-bottom:8px}
.contact-card p{font-size:.9rem;color:var(--olive-deep);margin:0 0 10px}
.contact-card .mono{font-size:.8rem;color:var(--olive)}

/* ---------- ingredients ---------- */
.ingr__fig img{border-radius:var(--arch);height:min(64vh,560px);width:100%;object-fit:cover;border:1px solid var(--line);box-shadow:0 18px 40px rgba(34,38,22,.14)}
.ingr__list{display:grid;gap:8px;margin-top:26px}
.ingr__item{display:flex;gap:18px;padding:16px;transition:all .18s var(--ease);align-items:baseline;border:2px solid transparent}
.ingr__item:hover{background:var(--white);border-color:var(--line);box-shadow:var(--pop-sm)}
.ingr__num{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:1.4rem;min-width:34px}
.ingr__item h3{font-size:1.15rem;margin-bottom:4px}
.ingr__item p{font-size:.9rem;color:var(--olive-deep);margin:0}

/* ---------- founder ---------- */
.founder__fig{position:relative}
.founder__fig img{border-radius:var(--arch);height:min(60vh,520px);width:100%;object-fit:cover;border:2px solid var(--gold-l)}
.founder__fig::after{display:none}
.founder h2{font-size:clamp(1.9rem,3.4vw,2.9rem);color:var(--ivory)}
.founder h2 em{color:var(--gold-l)}
.founder p{color:#D8DFB6;margin-top:20px;font-size:1.02rem;max-width:52ch}
.founder__sig{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--gold-l);margin-top:28px}

/* ---------- reviews ---------- */
.reviews{columns:3;column-gap:24px}
.review{break-inside:avoid;background:var(--white);border:1px solid var(--line);box-shadow:var(--pop-sm);padding:24px;margin-bottom:24px;transition:transform .18s var(--ease)}
.review:nth-child(odd){transform:rotate(-.6deg)}
.review:nth-child(even){transform:rotate(.5deg)}
.review:hover{transform:rotate(0)}
.review__stars{color:var(--gold);letter-spacing:.1em;margin-bottom:10px}
.review p{font-size:.94rem}
.review footer{margin-top:14px;font-family:var(--mono);font-size:.7rem;text-transform:uppercase;color:var(--olive-deep)}
.review footer strong{color:var(--olive)}

/* ---------- promise strip ---------- */
.promise-item{padding:26px 16px;background:var(--white);border:1px solid var(--line);box-shadow:var(--pop-sm);text-align:center;height:100%}
.promise-item .serif{font-size:1.3rem;color:var(--olive);display:block;margin-bottom:6px}
.promise-item p{font-size:.82rem;color:var(--olive-deep);margin:0}

/* ---------- footer ---------- */
.footer{background:var(--night);color:#D8DFB6;padding:60px 0 30px;border-top:2px solid var(--gold)}
.footer h4{font-family:var(--mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-l);margin-bottom:16px}
.footer a{display:block;padding:4px 0;font-size:.92rem;color:#D8DFB6;transition:color .2s}
.footer a:hover{color:var(--ivory)}
.footer__brand img{height:64px;margin-bottom:16px}
.footer__brand p{font-size:.9rem;max-width:34ch}
.newsletter{display:flex;border:2px solid var(--gold-l);overflow:hidden;margin-top:14px;box-shadow:0 10px 22px rgba(34,38,22,.10)}
.newsletter input{flex:1;background:none;border:none;padding:12px 18px;color:var(--ivory);font-family:var(--mono);font-size:.85rem;outline:none}
.newsletter button{background:var(--gold);color:var(--night);padding:0 22px;font-weight:700;font-family:var(--mono);font-size:.74rem;text-transform:uppercase;border:none}
.footer__bar{border-top:1px solid rgba(207,202,168,.25);padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:.72rem}
.footer__velare{color:var(--gold-l)}

/* ---------- cart offcanvas (Bootstrap, themed) ---------- */
.offcanvas.cartoc{--bs-offcanvas-width:min(430px,94vw);background:var(--ivory);border-left:1px solid var(--line)}
.cartoc .offcanvas-header{border-bottom:1px solid var(--line);padding:20px 26px}
.cartoc .offcanvas-title{font-family:var(--serif);font-size:1.5rem}
.cartoc .offcanvas-body{padding:0;display:flex;flex-direction:column}
.shipbar{padding:16px 26px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.76rem;color:var(--olive-deep)}
.shipbar__track{height:8px;background:var(--sage);border:1px solid var(--line);margin-top:10px;overflow:hidden}
.shipbar__fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-l));transition:width .4s var(--ease)}
.drawer__items{flex:1;overflow-y:auto;padding:10px 26px}
.citem{display:grid;grid-template-columns:72px 1fr auto;gap:16px;padding:16px 0;border-bottom:1px solid var(--sage);align-items:center}
.citem img{width:72px;height:82px;object-fit:cover;border:1px solid var(--line)}
.citem h4{font-family:var(--serif);font-size:1rem;font-weight:700}
.citem__price{font-family:var(--mono);font-size:.78rem;color:var(--gold);margin-top:2px}
.qty{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--line);background:var(--white);padding:4px 12px;margin-top:8px;font-family:var(--mono)}
.qty button{font-size:1rem;color:var(--olive);padding:0 4px;background:none;border:none}
.citem__rm{font-family:var(--mono);font-size:.64rem;text-transform:uppercase;color:#A9AE8C;text-decoration:underline;background:none;border:none}
.drawer__empty{text-align:center;padding:70px 20px;color:var(--olive-deep)}
.drawer__empty .serif{font-size:1.5rem;display:block;margin-bottom:10px;color:var(--olive)}
.drawer__foot{padding:20px 26px 26px;border-top:1px solid var(--line);background:var(--white)}
.drawer__total{display:flex;justify-content:space-between;font-family:var(--serif);font-size:1.3rem;margin-bottom:14px}
.drawer__foot .btn{width:100%;justify-content:center;display:inline-flex}
.drawer__hint{text-align:center;font-family:var(--mono);font-size:.64rem;color:var(--olive-deep);margin-top:10px}

/* ---------- toast ---------- */
.toast-sleeq{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--night);color:var(--ivory);border:2px solid var(--gold-l);box-shadow:var(--pop-sm);padding:13px 26px;font-family:var(--mono);font-size:.78rem;opacity:0;transition:all .35s var(--ease);z-index:1090;pointer-events:none}
.toast-sleeq.show{opacity:1;transform:translate(-50%,0)}
.toast-sleeq .gold{color:var(--gold-l)}

/* ---------- shop page ---------- */
.shophero{padding:clamp(40px,7vh,80px) 0 30px;text-align:center}
.shophero h1{font-size:clamp(2.3rem,5vw,4rem)}
.shophero p{color:var(--olive-deep);margin-top:14px}
.filters{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;padding:10px 0 40px}
.chip{padding:10px 20px;border:1px solid var(--line);background:var(--white);color:var(--ink);font-family:var(--mono);font-size:.72rem;text-transform:uppercase;box-shadow:var(--pop-sm);transition:all .15s var(--ease)}
.chip:hover{transform:translateY(-2px);box-shadow:0 5px 12px rgba(34,38,22,.10)}
.chip.on{background:var(--olive);color:var(--ivory);transform:none;box-shadow:none}

/* ---------- product page ---------- */
.pdp{padding:clamp(36px,6vh,70px) 0}
.pdp__gallery{position:sticky;top:110px}
.pdp__main{border-radius:var(--arch);overflow:hidden;border:1px solid var(--line);box-shadow:0 18px 40px rgba(34,38,22,.14)}
.pdp__main img{width:100%;height:min(66vh,600px);object-fit:cover}
.pdp__thumbs{display:flex;gap:12px;margin-top:18px}
.pdp__thumbs img{width:84px;height:84px;object-fit:cover;cursor:pointer;border:1px solid var(--line);opacity:.7;transition:all .2s}
.pdp__thumbs img.on{opacity:1;box-shadow:0 8px 18px rgba(34,38,22,.10)}
.pdp__step{font-family:var(--mono);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.pdp h1{font-size:clamp(2rem,3.8vw,3.2rem)}
.pdp__rating{margin:14px 0;font-size:.9rem}
.pdp__price{font-family:var(--mono);font-size:1.15rem;font-weight:700;color:var(--ink);background:var(--gold-l);border:1px solid var(--line);display:inline-block;padding:6px 14px;box-shadow:var(--pop-sm);margin:10px 0 20px}
.pdp__price s{font-weight:400;opacity:.6;margin-right:10px}
.pdp__desc{color:var(--olive-deep);max-width:52ch}
.pdp__buy{display:flex;gap:16px;margin:28px 0;align-items:stretch}
.pdp__buy .qty{margin:0;padding:8px 18px}
.pdp__perks{display:grid;gap:8px;font-family:var(--mono);font-size:.8rem;color:var(--olive-deep);margin-bottom:30px}
.pdp__perks span{color:var(--gold)}
/* Bootstrap accordion, themed */
.accordion.sleeq-acc{--bs-accordion-bg:transparent;--bs-accordion-border-radius:0;--bs-accordion-inner-border-radius:0;--bs-accordion-border-color:var(--line);--bs-accordion-btn-focus-box-shadow:none;border-top:1px solid var(--line)}
.sleeq-acc .accordion-item{border:none;border-bottom:1px solid var(--line)}
.sleeq-acc .accordion-button{font-family:var(--serif);font-size:1.1rem;background:transparent;color:var(--ink);padding:18px 4px;box-shadow:none}
.sleeq-acc .accordion-button::after{filter:hue-rotate(10deg) saturate(.6)}
.sleeq-acc .accordion-button:not(.collapsed){color:var(--olive)}
.sleeq-acc .accordion-body{padding:0 4px 18px;font-size:.92rem;color:var(--olive-deep)}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media(max-width:991.98px){
  .navbar .navbar-collapse{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}
  #glow{display:none}
  .hero__in,.ba{grid-template-columns:1fr}
  .hero__figure{justify-self:center;order:-1}
  .hero__img img{height:44vh}
  .hero__stamp{left:8px;bottom:16px}
  .stamp{top:-24px;right:-8px;width:96px;height:96px}
  .founder__fig{max-width:420px}
  .reviews{columns:2}
  .pdp__gallery{position:static;margin-bottom:30px}
}
@media(max-width:600px){
  .reviews{columns:1}
  .sec__head{flex-direction:column;align-items:flex-start}
  .ba__fig img{height:50vh}
}

/* ---------- wishlist ---------- */
.pcard__wish{position:absolute;top:12px;right:12px;z-index:3;width:38px;height:38px;display:grid;place-items:center;background:var(--ivory);border:1px solid var(--line);box-shadow:0 5px 12px rgba(34,38,22,.10);font-size:1.05rem;line-height:1;color:var(--olive);transition:all .15s var(--ease);padding:0}
.pcard__wish:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(34,38,22,.08)}
.pcard__wish.on{background:var(--gold-l);color:var(--night)}
.wishlink{text-decoration:none}
.pdp__wish{width:52px;display:grid;place-items:center;border:1px solid var(--line);background:var(--ivory);box-shadow:var(--pop-sm);font-size:1.2rem;color:var(--olive);transition:all .15s var(--ease)}
.pdp__wish.on{background:var(--gold-l);color:var(--night)}
.pdp__wish:hover{transform:translateY(-2px);box-shadow:0 5px 12px rgba(34,38,22,.10)}

/* ---------- account ---------- */
.acct-tabs{display:flex;gap:12px;justify-content:center;margin-bottom:26px;flex-wrap:wrap}
.acct-panel{max-width:520px;margin:0 auto}
.acct-dash h2{font-size:clamp(1.6rem,3vw,2.4rem)}
.table-sleeq{width:100%;border:1px solid var(--line);background:var(--white);box-shadow:var(--pop-sm);border-collapse:collapse;font-size:.85rem}
.table-sleeq th{font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--olive);border-bottom:1px solid var(--line);padding:12px 14px;text-align:left;background:var(--sage)}
.table-sleeq td{padding:12px 14px;border-bottom:1px solid var(--sage)}
.table-sleeq tr:last-child td{border-bottom:none}
.pill{font-family:var(--mono);font-size:.66rem;text-transform:uppercase;border:1px solid var(--line);padding:3px 8px;white-space:nowrap}
.pill--ok{background:var(--gold-l)}
.pill--ship{background:var(--sage)}
.acct-signout{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;text-decoration:underline;color:var(--olive-deep);background:none;border:none}
.table-wrap{overflow-x:auto}

/* ---------- navbar icon buttons + search overlay ---------- */
.iconbtn{display:grid;place-items:center;width:36px;height:36px;color:var(--olive);background:none;border:none;padding:0;transition:transform .15s var(--ease)}
.iconbtn:hover{transform:translateY(-1px);color:var(--ink)}
.iconbtn svg{width:20px;height:20px}
.searchov{position:fixed;inset:0;z-index:1070;background:rgba(35,34,20,.55);display:none}
.searchov.open{display:flex;align-items:flex-start;justify-content:center;padding:10vh 16px 16px}
.searchov__panel{width:min(640px,100%);background:var(--ivory);border:1px solid var(--line);box-shadow:0 16px 36px rgba(34,38,22,.13);max-height:76vh;display:flex;flex-direction:column}
.searchov__bar{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:14px 18px}
.searchov__bar svg{width:20px;height:20px;color:var(--gold);flex:none}
.searchov__bar input{flex:1;border:none;background:none;outline:none;font-family:var(--mono);font-size:.95rem;color:var(--ink)}
.searchov__bar input::placeholder{color:#A9AE8C}
.searchov__close{font-size:1.4rem;color:var(--olive);background:none;border:none;padding:0 4px}
.searchov__results{overflow-y:auto;padding:10px 18px 16px}
.searchov__label{font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);margin:10px 0 8px}
.sres{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;padding:10px 8px;border-bottom:1px solid var(--sage);color:var(--ink)}
.sres:last-child{border-bottom:none}
.sres:hover{background:var(--sage)}
.sres img{width:52px;height:52px;object-fit:cover;border:1px solid var(--line)}
.sres h4{font-family:var(--serif);font-size:.98rem;margin:0}
.sres p{font-size:.76rem;color:var(--olive-deep);margin:2px 0 0}
.sres .pcard__price{font-size:.74rem}
.searchov__none{padding:26px 8px;text-align:center;color:var(--olive-deep);font-size:.92rem}
.searchov__none .serif{display:block;font-size:1.25rem;color:var(--olive);margin-bottom:6px}

/* ---------- navbar: uniform icon cluster with corner badges ---------- */
.iconbtn{position:relative}
.iconbtn .cartbtn__n{position:absolute;top:-3px;right:-5px;min-width:16px;height:16px;font-size:.58rem;border-width:1.5px;box-shadow:0 3px 8px rgba(34,38,22,.08);padding:0 3px}


/* ---------- v10 re-skin: radius + lively accents ---------- */
.ticker{display:none}
.btn,.chip,.pill,.pcard__tag,.pcard__price,.pdp__price,.ba__tag,.quiz__pick span,.cartbtn__n,.nav-link .navcount,.toast-sleeq,.ba__handle::after{border-radius:999px}
.pcard,.ritual,.quiz__box,.contact-card,.review,.promise-item,.searchov__panel,.hero__stamp,.quiz__pick,.table-sleeq,.ba__fig,.pcard__quick{border-radius:16px}
.table-sleeq{overflow:hidden;border-collapse:separate;border-spacing:0}
.ritual__img,.quiz__opt,.newsletter,.form-sleeq input,.form-sleeq textarea,.form-sleeq select,.qty,.citem img,.sres img,.quiz__pick img,.pdp__thumbs img,.quiz__bar,.shipbar__track,.navbar-toggler{border-radius:10px}
.pcard__wish,.pdp__wish,.iconbtn{border-radius:50%}
.pcard__img{border-bottom:none}
.pcard__tag{background:var(--coral);color:#fff;border:none;box-shadow:0 5px 12px rgba(232,104,74,.35)}
.pcard__wish.on,.pdp__wish.on{background:var(--coral);color:#fff;border-color:transparent}
.quiz__fill,.shipbar__fill{background:linear-gradient(90deg,var(--coral),var(--gold-l))}
.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ---------- v12: bold menu, plain-text prices (the gold pill read as a button), 3D tilt ---------- */
.navbar .nav-link{font-weight:700}
.pcard__price,.pdp__price,.quiz__pick span{background:none;border:none;padding:0;border-radius:0;box-shadow:none;color:var(--ink)}
.pcard__price{font-size:.95rem}
.pdp__price{font-size:1.35rem}
.tilt{will-change:transform}

/* ---------- v13: promise strip icons + pure white base ---------- */
.promise-item__icon{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 14px;border-radius:50%;background:var(--sage);color:var(--olive)}
.promise-item__icon svg{width:22px;height:22px}

/* ---------- v14: tighter side gutters ---------- */
.navbar .container-xxl{max-width:1440px;--bs-gutter-x:clamp(28px,4.4vw,56px)}

/* ---------- v15: white-type footer logo ---------- */
.footer__logo{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.footer__logo img{height:52px;margin-bottom:0}
.footer__logo .brand__word{color:#fff;font-size:1.5rem}
.footer__logo .brand__by{color:var(--gold-l)}

/* ---------- v15: hero image crop (hair-flip shot) ---------- */
.hero__img img{object-position:50% 22%}

/* ---------- v16: PDP perk icons ---------- */
.pdp__perks div{display:flex;align-items:center;gap:10px}
.pdp__perkicon{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;background:var(--sage);color:var(--olive)}
.pdp__perkicon svg{width:16px;height:16px}

/* ---------- v21: product particles, hero + footer only ---------- */
.hero{position:relative}
.footer{position:relative;overflow:hidden}
.pwrap{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.pwrap--hero{z-index:-1;color:var(--olive)}
.pwrap--footer{z-index:0;color:var(--gold-l)}
.particle{position:absolute;bottom:-36px;display:block;animation:pfloat linear infinite}
.particle svg{width:100%;height:100%;display:block}
@keyframes pfloat{
  0%{transform:translate(0,0) rotate(-8deg)}
  50%{transform:translate(var(--sway,22px),calc(var(--rise,90vh)/-2)) rotate(10deg)}
  100%{transform:translate(0,calc(var(--rise,90vh)*-1.08)) rotate(-8deg)}
}
@media(prefers-reduced-motion:reduce){.pwrap{display:none}}

/* ---------- v17: marquee in the logo's Didone face ---------- */
.mq__track{font-family:"Poppins","Futura","Avenir Next",sans-serif;font-weight:700;letter-spacing:.02em;color:var(--olive);-webkit-text-stroke:0}

/* ---------- v20: ritual = 3 step cards + full-width bundle banner below ---------- */
.rail{grid-template-columns:repeat(3,1fr)}
.rail__bundle{grid-column:1/-1;flex-direction:row;align-items:center;gap:clamp(18px,3vw,40px);padding:clamp(18px,2.4vw,32px)}
.rail__bundle .ritual__img{flex:0 0 clamp(200px,26vw,340px)}
.rail__bundle .ritual__img img{height:clamp(120px,18vh,180px)}
.rail__bundle .ritual__step{flex:0 0 auto}
.rail__bundle p{flex:1}
.rail__bundle a{align-self:center;white-space:nowrap;margin-top:0}
@media(max-width:767.98px){
  .rail__bundle{flex-direction:column;align-items:stretch;gap:12px}
  .rail__bundle .ritual__img{flex:auto}
  .rail__bundle a{align-self:start}
}

/* ---------- v22: marquee separators are product icons ---------- */
.mq__track em{display:inline-block;vertical-align:-.06em}
.mq__track em svg{width:.72em;height:.72em;display:inline-block}

/* ---------- v23: Full Ritual banner redesign ---------- */
.bundle__media{position:relative;flex:0 0 clamp(220px,26vw,360px);border-radius:10px;overflow:hidden}
.bundle__media img{width:100%;height:clamp(150px,20vh,200px);object-fit:cover;display:block}
.bundle__save{position:absolute;top:10px;left:10px;background:var(--coral);color:#fff;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:6px 12px;border-radius:999px}
.bundle__body{flex:1;display:flex;flex-direction:column;gap:6px}
.bundle__kicker{font-size:.68rem;text-transform:uppercase;letter-spacing:.2em;color:var(--gold);margin:0}
.bundle__body h3{color:var(--gold-l);font-size:1.6rem;margin:0}
.bundle__body p{margin:0}
.bundle__price{font-weight:700;color:#fff;font-size:1.05rem;margin-top:4px}
.bundle__price s{opacity:.55;font-weight:400;margin-left:8px}
.rail__bundle .bundle__cta{align-self:flex-start;margin-top:12px;color:var(--night);border:none;padding:12px 28px}
@media(max-width:767.98px){
  .bundle__media{flex:auto}
  .bundle__cta{align-self:stretch;text-align:center}
}

/* ---------- v24: marquee words in gradient ink (like the hero "light") ---------- */
.mq__track span{background:linear-gradient(100deg,var(--olive) 5%,var(--gold) 50%,var(--coral) 95%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- v26: PDP perks inline ---------- */
.pdp__perks{display:flex;flex-wrap:wrap;gap:10px 24px}
.pdp__perks div{white-space:nowrap}
.pdp__perkicon{width:28px;height:28px}
.pdp__perkicon svg{width:14px;height:14px}

/* ---------- v27: bold PDP accordion titles ---------- */
.sleeq-acc .accordion-button{font-weight:700}

/* ---------- v29: before/after slider — stronger "before" so the drag reads instantly ---------- */
.ba__before img{filter:saturate(.25) contrast(.78) brightness(.88) sepia(.18)}

/* ---------- v30: quiz section compact, reviews one row ---------- */
.quizsec{min-height:auto;padding:clamp(48px,8vh,90px) 0}
.reviews{columns:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.review{margin-bottom:0}
.review:nth-child(n+4){display:none}
@media(max-width:767.98px){.reviews{grid-template-columns:1fr}.review:nth-child(n+3){display:none}}
