@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Sora:wght@500;600;700;800&display=swap');

:root{
  --bg:#ffffff;
  --bg2:#ffffff;
  --surface:#ffffff;
  --surface-soft:#fff6fb;
  --text:#3e1e31;
  --muted:#7b5a6f;
  --line:rgba(161, 76, 120, .08);
  --line-strong:rgba(161, 76, 120, .16);
  --primary:#ff5fa2;
  --primary2:#ff8b7b;
  --accent:#ffaed8;
  --good:#2f9a68;
  --shadow:0 16px 36px rgba(157, 49, 105, .1);
  --radius:20px;
  --font-ui:"Inter","Helvetica Neue",Arial,sans-serif;
  --font-display:"Sora","Inter","Helvetica Neue",Arial,sans-serif;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--font-ui);
  background:#ffffff;
  color:var(--text);
}
html::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:2;
  background:radial-gradient(
    circle at 50% 45%,
    rgba(255, 255, 255, 0) 16%,
    rgba(24, 13, 22, 0.22) 56%,
    rgba(17, 8, 15, 0.48) 100%
  );
}

@keyframes drift{
  0%,100%{transform:translateY(0) translateX(0)}
  50%{transform:translateY(-16px) translateX(10px)}
}

a{color:inherit;text-decoration:none}
.container{width:min(1160px, calc(100% - 40px)); margin:0 auto}

.topbar{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:blur(10px);
  background:rgba(255, 248, 252, .88);
  border-bottom:none;
  box-shadow:0 6px 20px rgba(157, 49, 105, .08);
  overflow:hidden;
}
.topbar__inner{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 0;
}

.topbarVine{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  opacity:.8;
}

.topbarVine svg{
  width:100%;
  height:100%;
  display:block;
}

.topbarVine__stem{
  fill:none;
  stroke:rgba(83, 134, 67, .62);
  stroke-width:3;
  stroke-linecap:round;
  stroke-dasharray:1700;
  stroke-dashoffset:1700;
  filter:drop-shadow(0 0 8px rgba(123, 196, 115, .22));
  animation:vineGrow 18s linear infinite;
}

.topbarVine__leaf{
  fill:rgba(108, 181, 95, .52);
  opacity:0;
  transform-origin:center;
  animation:vineLeaf 18s ease-in-out infinite;
}

.topbarVine__leaf--1{animation-delay:.9s}
.topbarVine__leaf--2{animation-delay:2.2s}
.topbarVine__leaf--3{animation-delay:3.4s}
.topbarVine__leaf--4{animation-delay:4.8s}
.topbarVine__leaf--5{animation-delay:6.1s}

.topbarVine__flower{
  opacity:0;
  transform-box:fill-box;
  transform-origin:center;
  animation:vineBloom 18s ease-in-out infinite;
}

.topbarVine__flower--1{animation-delay:1.5s}
.topbarVine__flower--2{animation-delay:3.1s}
.topbarVine__flower--3{animation-delay:4.7s}
.topbarVine__flower--4{animation-delay:6.3s}

.topbarVine__petal{
  fill:rgba(255, 186, 214, .74);
  stroke:rgba(255, 234, 245, .62);
  stroke-width:.8;
}

.topbarVine__center{
  fill:rgba(255, 232, 150, .92);
  stroke:rgba(255, 246, 214, .8);
  stroke-width:.6;
}

@keyframes vineGrow{
  0%{stroke-dashoffset:1700; opacity:.1}
  35%{stroke-dashoffset:0; opacity:.95}
  70%{stroke-dashoffset:0; opacity:.95}
  100%{stroke-dashoffset:-180; opacity:.55}
}

@keyframes vineLeaf{
  0%,8%{opacity:0; transform:scale(.86) rotate(-9deg)}
  18%,72%{opacity:.95; transform:scale(1) rotate(0)}
  100%{opacity:.35; transform:scale(.94) rotate(5deg)}
}

@keyframes vineBloom{
  0%,8%{opacity:0; transform:scale(.25) rotate(-12deg)}
  18%,70%{opacity:1; transform:scale(1) rotate(0)}
  100%{opacity:.5; transform:scale(.86) rotate(8deg)}
}
.brand{display:flex; align-items:center; gap:12px}
.brand__logo{
  width:44px;
  height:44px;
  padding:0;
  object-fit:contain;
  border-radius:12px;
  border:none;
  background:var(--surface);
  box-shadow:0 8px 18px rgba(188, 73, 126, .14);
}
.brand__name{
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-weight:800;
  font-size:20px;
  letter-spacing:.2px;
}
.brand__tag{display:block; font-size:12px; color:var(--muted); margin-top:1px}

.nav{display:none; gap:18px; align-items:center}
.nav a{color:var(--muted); font-weight:700}
.nav a:hover{color:var(--text)}

.navToggle{display:inline-flex}
.hamburger{
  width:22px;
  height:2px;
  background:var(--text);
  position:relative;
  display:inline-block;
  border-radius:9px;
}
.hamburger::before,.hamburger::after{
  content:"";
  position:absolute;
  left:0;
  width:22px;
  height:2px;
  background:var(--text);
  border-radius:9px;
}
.hamburger::before{top:-7px}
.hamburger::after{top:7px}

.mobileNav{
  display:none;
  border-top:none;
  padding:10px 20px 16px;
}
.mobileNav.isOpen{
  display:block;
}
.mobileNav a{
  display:block;
  padding:10px 0;
  color:var(--muted);
  font-weight:700;
}
.mobileNav a:hover{color:var(--text)}

.btn{
  border:none;
  background:rgba(255,255,255,.72);
  padding:10px 14px;
  border-radius:14px;
  font-weight:800;
  color:var(--text);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  transition:.18s ease;
}
.btn:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 16px rgba(157, 49, 105, .1);
}
.btn:disabled{
  opacity:.5;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}
.btn--primary{
  background:linear-gradient(135deg, var(--primary), var(--primary2));
  color:#fff;
  border-color:transparent;
  box-shadow:0 12px 22px rgba(255, 95, 162, .3);
}
.btn--primary:hover{box-shadow:0 16px 26px rgba(255, 95, 162, .34)}
.btn--secondary{background:rgba(255,255,255,.75)}
.btn--ghost{background:transparent}

.moodHero{
  padding:0;
}
.moodHero__panel{
  position:relative;
  border-radius:0;
  overflow:hidden;
  min-height:580px;
  border:none;
  background-image:url("../images/beach-scene-hero.jpg");
  background-size:cover;
  background-position:center 36%;
  background-repeat:no-repeat;
  background-color:#201724;
  box-shadow:none;
  width:100%;
  will-change:background-position;
}
.moodHero__overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 520px at 15% 40%, rgba(255, 150, 204, .30), transparent 62%),
    linear-gradient(100deg, rgba(10, 12, 30, .82) 0%, rgba(22, 26, 50, .64) 42%, rgba(31, 34, 62, .34) 100%);
}
.moodHero__layout{
  position:relative;
  z-index:1;
  width:min(1240px, calc(100% - 56px));
  margin:0 auto;
  min-height:580px;
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(290px, .92fr);
  gap:30px;
  align-items:center;
  padding:38px 0;
}
.moodHero__content{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
  gap:0;
  color:#fff;
  max-width:700px;
}
.moodHero__logo{
  width:420px !important;
  height:auto !important;
  padding:0;
  display:block;
  position:relative;
  z-index:5;
  object-fit:contain;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  margin:0 0 -20px 0;
}
.moodHero__eyebrow{
  margin:0;
  border:1px solid rgba(255,255,255,.34);
  background:rgba(255,255,255,.09);
  border-radius:999px;
  padding:7px 12px;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:rgba(246, 245, 255, .94);
}
.moodHero__title{
  position:relative;
  z-index:2;
  margin:0;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:clamp(42px, 5.8vw, 80px);
  line-height:1.02;
  color:#fffafc;
  text-shadow:0 12px 34px rgba(3, 6, 18, .45);
}
.moodHero__subtitle{
  position:relative;
  z-index:2;
  margin:6px 0 0;
  max-width:560px;
  font-size:17px;
  letter-spacing:.01em;
  line-height:1.6;
  color:rgba(240, 243, 255, .95);
  font-weight:600;
}

.heroWordmark{
  position:relative;
  z-index:2;
  margin-top:0;
}

.heroWordmark__stage{
  position:relative;
  margin:0;
  min-height:1.18em;
  width:100%;
  max-width:14ch;
  overflow:visible;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:clamp(50px, 9vw, 118px);
  line-height:.95;
  letter-spacing:-.045em;
}

.heroWordmark__word{
  --word-neon:#7cf8ff;
  position:absolute;
  left:0;
  top:0;
  display:block;
  width:100%;
  color:var(--word-neon);
  font-weight:900;
  text-transform:uppercase;
  transform-origin:50% 50%;
  text-shadow:
    0 0 8px color-mix(in srgb, var(--word-neon) 86%, white 14%),
    0 0 22px color-mix(in srgb, var(--word-neon) 76%, transparent 24%),
    0 0 54px color-mix(in srgb, var(--word-neon) 62%, transparent 38%);
  transition:
    transform .66s cubic-bezier(.2,.88,.24,1),
    opacity .52s ease,
    filter .52s ease,
    color .45s ease,
    text-shadow .45s ease;
  will-change:transform, opacity, filter;
}

.heroWordmark__word--current{
  opacity:1;
  transform:translateY(0) scale(1);
  filter:blur(0);
}

.heroWordmark__word--next{
  opacity:0;
  transform:translateY(56%) scale(.95);
  filter:blur(8px);
}

.heroWordmark__stage.isTransitioning .heroWordmark__word--current{
  opacity:0;
  transform:translateY(-48%) scale(1.05);
  filter:blur(10px);
}

.heroWordmark__stage.isTransitioning .heroWordmark__word--next{
  opacity:1;
  transform:translateY(0) scale(1);
  filter:blur(0);
}

.heroWordmark__subtitle{
  margin:6px 0 0;
  max-width:46ch;
  font-size:16px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:700;
  color:rgba(229, 238, 255, .92);
  text-shadow:0 6px 24px rgba(7, 13, 34, .5);
}
.moodHero__actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:0;
}

.heroActionImage{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:0;
  border-radius:14px;
  margin:0;
  transition:transform .2s ease, filter .2s ease;
}

.heroActionImage img{
  display:block;
  width:clamp(140px, 16vw, 220px);
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 8px 16px rgba(4, 8, 24, .22));
}

.heroActionImage:hover{
  transform:translateY(-2px) scale(1.03);
  filter:brightness(1.04);
}
.heroFloat{
  position:relative;
  width:min(540px, 100%);
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  align-items:end;
}
.heroFloat__item{
  position:relative;
  margin-left:0;
  display:grid;
  place-items:center;
  min-height:112px;
  transition:transform .22s ease;
}
.heroFloat__item img{
  width:100%;
  height:auto;
  object-fit:contain;
  display:block;
  max-width:114px;
  filter:drop-shadow(0 10px 14px rgba(4, 8, 24, .26));
}
.heroFloat__item:nth-child(1){transform:translateY(10px) rotate(-4deg)}
.heroFloat__item:nth-child(2){transform:translateY(0) rotate(-1deg)}
.heroFloat__item:nth-child(3){transform:translateY(8px) rotate(3deg)}
.heroFloat__item:nth-child(4){transform:translateY(12px) rotate(-3deg)}
.heroFloat__item:nth-child(5){transform:translateY(-4px) rotate(2deg) scale(1.05)}
.heroFloat__item:nth-child(6){transform:translateY(10px) rotate(4deg)}
.heroFloat__item:nth-child(7){transform:translateY(14px) rotate(-4deg)}
.heroFloat__item:nth-child(8){transform:translateY(4px) rotate(2deg)}
.heroFloat__item:nth-child(9){transform:translateY(8px) rotate(5deg)}
.heroFloat__item:hover{
  z-index:10;
  transform:translateY(-5px) scale(1.015);
}
.heroSocials{
  display:flex;
  gap:10px;
  margin-top:10px;
}
.heroSocial{
  width:52px;
  height:52px;
  border-radius:50%;
  border:none;
  background:rgba(255,255,255,.1);
  display:grid;
  place-items:center;
  color:#fff;
  transition:.2s ease;
}
.heroSocial:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.2);
}
.heroSocial svg{
  width:28px;
  height:28px;
  fill:currentColor;
}

.productSections{
  padding:0 0 26px;
}
.productSections__stack{
  width:100%;
  margin:0;
  display:grid;
  gap:0;
}
.productSection{
  width:100%;
  min-height:700px;
  position:relative;
  border-radius:0;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  background-color:#f6f2f5;
}
.productSection--fitBg{
  background-size:cover;
  background-color:transparent;
  min-height:700px;
}
.productSection--fitBg .productSection__content{
  min-height:700px;
}
.productSection--tall{
  min-height:700px;
}
.productSection--tall .productSection__content{
  min-height:700px;
}
.productSection--rightPanel .productSection__content{
  justify-content:flex-end;
}
.productSection--bgLeft{
  background-position:left center;
}
.productSection::before{
  content:"";
  position:absolute;
  inset:0;
  background:transparent;
}
.productSection--noOverlay::before{
  display:none;
}
.productSection__content{
  position:relative;
  z-index:1;
  width:min(1240px, calc(100% - 50px));
  margin:0 auto;
  min-height:700px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.productSection__panel{
  width:min(620px, 100%);
  background:linear-gradient(160deg, rgba(14, 17, 32, .68), rgba(27, 21, 43, .54));
  -webkit-backdrop-filter:blur(12px) saturate(118%);
  backdrop-filter:blur(12px) saturate(118%);
  border:1px solid rgba(255,255,255,.26);
  border-radius:22px;
  padding:24px 24px 22px;
  box-shadow:0 18px 34px rgba(6, 8, 19, .32);
}
.productSection__panel--coffeeTextBg{
  background-image:none;
  background-color:transparent;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  width:100%;
  max-width:none;
  min-height:700px;
  border:none;
  border-radius:0;
  padding:100px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  box-shadow:none;
  overflow:visible;
  position:relative;
  isolation:isolate;
}
.productSection__panel--coffeeTextBg::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:0;
  background-image:url("../images/functional-coffee-text.png");
  background-size:contain;
  background-position:center;
  background-repeat:no-repeat;
  animation:coffeeTextRotate 24s linear infinite;
  z-index:0;
}
.productSection__panel--coffeeTextBg > *{
  position:relative;
  z-index:1;
}
.productSection__panel--coffeeTextBg .productSection__kicker{
  margin:0 0 8px;
  font-size:11px;
  color:#ffffff;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-shadow:0 2px 10px rgba(0,0,0,.72);
}
.productSection__panel--coffeeTextBg h3{
  margin:0;
  font-size:40px;
  line-height:1.05;
  color:#ffffff;
  font-weight:900;
  letter-spacing:-.01em;
  text-shadow:0 4px 18px rgba(0,0,0,.7);
}
.productSection__panel--coffeeTextBg p{
  margin:12px 0 0;
  max-width:40ch;
  font-size:16px;
  line-height:1.55;
  color:#ffffff;
  font-weight:600;
  text-shadow:0 3px 14px rgba(0,0,0,.68);
}
.productSection__panel--coffeeTextBg .productInfoList{
  margin:14px 0 0;
  gap:8px;
}
.productSection__panel--coffeeTextBg .productInfoList li{
  font-size:14px;
  line-height:1.4;
  justify-content:center;
  text-align:center;
  color:#ffffff;
  font-weight:700;
  text-shadow:0 2px 8px rgba(0,0,0,.62);
  background:transparent;
  border:none;
  border-radius:0;
  padding:0;
}
.productSection__panel--coffeeTextBg .productInfoIcon{
  width:20px;
  min-width:20px;
  height:20px;
  font-size:11px;
  background:rgba(255,255,255,.18);
  color:#ffffff;
  border-color:rgba(255,255,255,.38);
}
.productSection__panel--coffeeTextBg .productSectionMoreLink{
  margin-top:14px;
  background:#ffffff;
  color:#1a1020;
  border:2px solid #ffffff;
  font-weight:900;
  box-shadow:0 12px 20px rgba(0,0,0,.34);
  font-size:13px;
  padding:11px 16px;
}
.productSection--coffeeSplit .productSection__content{
  width:100%;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  align-items:stretch;
  min-height:700px;
}
.productSection--coffeeSplit .productSection__panel--coffeeTextBg{
  margin:0;
}
.productSection--coffeeSplit .productSection__sideVisual{
  display:grid;
  place-items:center;
  width:100%;
  margin:0;
  padding:0;
  position:relative;
  overflow:visible;
  min-height:700px;
}
.coffeeVisual{
  width:min(72%, 540px);
  max-width:540px;
  aspect-ratio:1 / 1;
  margin:0 auto;
  position:relative;
  display:grid;
  place-items:center;
  overflow:visible;
  justify-self:center;
  align-self:center;
}
.coffeeVisual--image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:1;
  transform:translateX(0);
  transition:transform .7s cubic-bezier(.19,.95,.24,1), opacity .45s ease;
  overflow:visible;
}
.productSection--coffeeSplit .coffeeVisual--image img{
  width:138%;
  max-width:none;
  height:auto;
  display:block;
  margin:0 auto;
  transform:none;
}
.coffeeVisual--benefits{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  width:100%;
  height:100%;
  margin:0;
  padding:28px 24px;
  border-radius:0;
  background:transparent;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  box-shadow:none;
  color:#ffffff;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  opacity:0;
  transform:translateX(115%);
  transition:transform .7s cubic-bezier(.19,.95,.24,1), opacity .45s ease;
  pointer-events:none;
}
.coffeeVisual__eyebrow{
  margin:0 0 8px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#ffffff;
  text-shadow:0 3px 12px rgba(0,0,0,.7);
}
.coffeeVisual--benefits h4{
  margin:0;
  font-size:54px;
  line-height:1.02;
  color:#ffffff;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-weight:900;
  letter-spacing:-.01em;
  text-shadow:0 4px 16px rgba(0,0,0,.72);
}
.coffeeVisual__lead{
  margin:10px 0 0;
  max-width:26ch;
  font-size:22px;
  line-height:1.5;
  font-weight:600;
  color:#ffffff;
  text-shadow:0 3px 12px rgba(0,0,0,.68);
}
.coffeeVisual--benefits ul{
  margin:16px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
  font-size:19px;
  line-height:1.5;
  width:min(100%, 34rem);
  justify-items:center;
}
.coffeeVisual--benefits li{
  position:relative;
  padding-left:0;
  color:#ffffff;
  font-weight:700;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  text-shadow:0 2px 10px rgba(0,0,0,.58);
  text-align:center;
}
.coffeeVisual--benefits li::before{
  content:"✓";
  position:static;
  width:24px;
  height:24px;
  border-radius:50%;
  display:inline-grid;
  place-items:center;
  font-size:14px;
  font-weight:900;
  color:#0d1323;
  background:#ffffff;
  box-shadow:0 5px 10px rgba(0,0,0,.32);
  margin-right:8px;
  vertical-align:middle;
}

@keyframes coffeeTextRotate{
  from{
    transform:rotate(0deg) scale(1.04);
  }
  to{
    transform:rotate(360deg) scale(1.04);
  }
}
.productSection--coffeeSplit.isBenefitsVisible .coffeeVisual--image{
  opacity:0;
  transform:translateX(-115%);
}
.productSection--coffeeSplit.isBenefitsVisible .coffeeVisual--benefits{
  opacity:1;
  transform:translateX(0);
}
.productSection__sideVisual{
  margin:0;
  width:min(620px, 48vw);
  display:flex;
  justify-content:flex-end;
  align-items:flex-end;
}
.productSection__sideVisual img{
  width:100%;
  height:auto;
  max-height:760px;
  object-fit:contain;
  filter:drop-shadow(0 16px 24px rgba(7, 10, 20, .34));
}
.productSection--noOverlay .productSection__panel{
  background:linear-gradient(160deg, rgba(11, 14, 27, .76), rgba(19, 16, 32, .62));
  border-color:rgba(255,255,255,.24);
}
.productSection__kicker{
  margin:0 0 10px;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:900;
  color:rgba(255, 238, 250, .9);
  text-shadow:0 2px 8px rgba(0, 0, 0, .35);
}
.productSection__panel h3{
  margin:0;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:54px;
  line-height:1.02;
  font-weight:800;
  color:#fff7fc;
  text-shadow:0 4px 14px rgba(0, 0, 0, .38);
}
.productSection__panel p{
  margin:14px 0 0;
  color:rgba(245, 237, 248, .95);
  font-size:21px;
  line-height:1.66;
  font-weight:600;
  max-width:58ch;
  text-shadow:0 2px 8px rgba(0, 0, 0, .3);
}
.productInfoList{
  margin:18px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:11px;
}
.productInfoList li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:rgba(248, 243, 250, .95);
  font-size:18px;
  line-height:1.58;
  font-weight:600;
  text-shadow:0 2px 8px rgba(0, 0, 0, .28);
}
.productInfoIcon{
  width:24px;
  min-width:24px;
  height:24px;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.22);
  display:grid;
  place-items:center;
  font-size:13px;
}
.productSectionInfo{
  background:#fff;
  max-height:none;
  overflow:visible;
  opacity:1;
  padding:24px 0 28px;
  transition:none;
}
.productSectionInfo.isOpen{
  max-height:none;
  opacity:1;
  padding:24px 0 28px;
}
.productSectionInfo__content{
  width:min(1240px, calc(100% - 50px));
  margin:0 auto;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:20px;
  align-items:start;
}
.productSectionInfo__text h4{
  margin:0;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:40px;
  line-height:1.08;
}
.productSectionInfo__text p{
  margin:12px 0 0;
  color:#4b2d40;
  line-height:1.7;
  font-size:18px;
}
.productSectionInfo__kicker{
  margin:0 0 10px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#8f3d6d;
}
.productSectionInfo__text ul{
  margin:14px 0 0;
  padding:0 0 0 18px;
  display:grid;
  gap:10px;
  color:#402437;
  font-size:16px;
  line-height:1.55;
}
.productSectionInfo__label{
  margin:0;
  background:#fff;
  border-radius:16px;
  padding:12px;
  box-shadow:0 12px 24px rgba(157,49,105,.08);
}
.productSectionInfo__label img{
  width:100%;
  height:auto;
  display:block;
  border-radius:12px;
}
.productSectionInfo__label figcaption{
  margin-top:8px;
  font-size:11px;
  color:var(--muted);
}
.productSectionInfo__placeholder{
  min-height:220px;
  display:grid;
  place-items:center;
  text-align:center;
  background:rgba(255, 244, 250, .72);
  border-radius:12px;
  color:#7f5e72;
  font-weight:700;
  padding:18px;
}
.productSectionMoreLink{
  margin-top:18px;
  padding:12px 16px;
  background:rgba(255,255,255,.3);
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
}
.productSectionMoreLink:hover{
  background:rgba(255,255,255,.4);
}
.productSection__mobileImage{
  display:none;
}

.bundleSave{
  padding-top:30px;
}
.bundleAd{
  display:grid;
  grid-template-columns:46px .86fr 1.14fr;
  gap:14px;
  align-items:center;
  background:linear-gradient(150deg, rgba(255,255,255,.97), rgba(248, 255, 245, .96));
  border-radius:22px;
  padding:18px;
  box-shadow:0 14px 28px rgba(127, 150, 95, .14);
  margin-bottom:14px;
}
.bundleAd__rail{
  align-self:stretch;
  justify-self:stretch;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  display:grid;
  place-items:center;
  text-align:center;
  font-size:18px;
  letter-spacing:.12em;
  font-weight:900;
  color:#5d6f46;
  border-radius:12px;
  background:rgba(212, 222, 199, .72);
  text-transform:uppercase;
}
.bundleAd__media{
  background:#fff;
  border-radius:16px;
  padding:10px;
}
.bundleAd__media img{
  width:100%;
  max-height:280px;
  object-fit:contain;
  display:block;
}
.bundleAd__content h3{
  margin:0;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:38px;
  line-height:1.05;
}
.bundleAd__focus{
  display:inline-flex;
  margin-top:8px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(93, 111, 70, .14);
  color:#495a35;
  font-size:15px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.bundleAd__content p{
  margin:10px 0 0;
  color:#4e6243;
  font-size:16px;
  line-height:1.6;
}
.bundleAd__list{
  margin:12px 0 0;
  padding-left:18px;
  color:#4e6243;
  display:grid;
  gap:8px;
  font-size:14px;
  line-height:1.5;
}
.bundleAd .btn{
  margin-top:14px;
}
.bundleAd__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.bundleAd__actions .btn{
  margin-top:0;
}
.productShowcase{
  padding:18px 0 10px;
}
.productShowcase__inner{
  width:min(1240px, calc(100% - 40px));
  margin:0 auto;
}
.productShowcase__inner img{
  width:100%;
  max-height:680px;
  object-fit:cover;
  object-position:center;
  display:block;
}
.bundleLayout{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:14px;
  align-items:stretch;
}
.bundleFeatured{
  background:linear-gradient(155deg, rgba(255,255,255,.96), rgba(255,244,250,.96));
  border-radius:20px;
  padding:20px;
  box-shadow:0 12px 24px rgba(157,49,105,.1);
}
.bundleCard__kicker{
  margin:0 0 8px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:800;
  color:#8f3d6d;
}
.bundleFeatured h3{
  margin:0;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:34px;
  line-height:1.08;
}
.bundleFeatured p{
  margin:10px 0 0;
  color:#5c3d50;
  font-size:15px;
  line-height:1.58;
  max-width:48ch;
}
.bundleCard__image{
  width:100%;
  max-height:220px;
  object-fit:contain;
  display:block;
  margin:14px 0 0;
}
.bundleCard h3{
  margin:0;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:26px;
  line-height:1.12;
}
.bundleList{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.bundleMini{
  background:rgba(255,255,255,.92);
  border-radius:16px;
  padding:14px;
  box-shadow:0 10px 20px rgba(157,49,105,.08);
}
.bundleMini h4{
  margin:0;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:24px;
  line-height:1.1;
}
.bundleMini p{
  margin:8px 0 0;
  color:#5c3d50;
  font-size:14px;
  line-height:1.5;
}

.feelings{
  padding-top:30px;
}
.feelingsShell{
  border:none;
  border-radius:24px;
  padding:18px;
  background:linear-gradient(165deg, rgba(255,255,255,.9), rgba(255,247,252,.92));
  box-shadow:0 14px 28px rgba(157, 49, 105, .08);
}
.feelingsHead{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  margin-bottom:14px;
}
.feelingsHead h2{
  margin:0 0 6px;
  font-size:32px;
  letter-spacing:-.01em;
}
.feelingsHead p{
  margin:0;
  color:var(--muted);
  max-width:680px;
}
.feelingsHead__kicker{
  margin:0 0 8px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#8f3d6d;
}
.feelings__layout{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:12px;
  align-items:start;
}
.feelings__picker,
.resultsCard,
.finalStack{
  border:none;
  background:rgba(255,255,255,.94);
  border-radius:16px;
}
.feelings__picker{
  padding:12px;
}
.feelingCount{
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  border:none;
  background:#fff;
  font-size:12px;
  font-weight:800;
  color:#7d3f67;
}
.feelings__label{
  font-size:11px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:8px;
}
.feelingGrid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:8px;
}
.feelingChip{
  width:100%;
  aspect-ratio:1 / 1;
  border-radius:50%;
  border:none;
  background:#fff;
  color:var(--text);
  font-weight:800;
  font-size:12px;
  cursor:pointer;
  transition:.16s ease;
  padding:6px;
}
.feelingChip:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 14px rgba(157, 49, 105, .12);
}
.feelingChip.isActive{
  background:linear-gradient(145deg, rgba(255,95,162,.22), rgba(255,139,123,.2));
  border-color:rgba(255,95,162,.5);
  box-shadow:0 8px 14px rgba(255,95,162,.18);
}
.signalsRail{
  margin-top:10px;
  padding-top:10px;
  border-top:none;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  min-height:34px;
}
.signalTag{
  border:none;
  border-radius:999px;
  padding:5px 9px;
  font-size:10px;
  font-weight:800;
  color:#7d3f67;
  background:#fff;
}
.feelings__results{
  display:grid;
  gap:10px;
}
.resultsCard{
  padding:12px;
}
.resultsCard__head{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
  margin-bottom:8px;
}
.resultsCard h3{
  margin:0;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:19px;
}
.resultsCard__meta{
  font-size:10px;
  color:var(--muted);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.concerns{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.concernTag{
  border:none;
  border-radius:999px;
  padding:5px 8px;
  font-size:10px;
  font-weight:700;
  color:var(--muted);
  background:#fff;
}
.recGrid,
.stackGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
}
.miniProduct{
  border:none;
  border-radius:10px;
  background:#fff;
  padding:8px;
  display:grid;
  grid-template-columns:52px 1fr;
  gap:8px;
  align-items:center;
  cursor:pointer;
  transition:.16s ease;
  box-shadow:0 6px 14px rgba(157, 49, 105, .08);
}
.miniProduct:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 18px rgba(157, 49, 105, .12);
}
.miniProduct img{
  width:52px;
  height:52px;
  object-fit:contain;
}
.miniProduct__name{
  font-weight:800;
  line-height:1.2;
  font-size:11px;
}
.miniProduct__meta{
  margin-top:2px;
  color:var(--muted);
  font-size:9px;
}
.miniProduct__effect{
  margin-top:3px;
  color:var(--muted);
  font-size:9px;
  line-height:1.28;
}
.offerGrid{
  margin-top:4px;
  display:grid;
  gap:8px;
}
.offerCard{
  border:none;
  border-radius:10px;
  background:#fff;
  padding:9px;
}
.offerCard__name{
  font-weight:800;
  font-size:11px;
  line-height:1.3;
}
.offerCard__desc{
  margin-top:3px;
  color:var(--muted);
  font-size:9px;
  line-height:1.35;
}
.offerCard__cta{
  margin-top:7px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:none;
  border-radius:999px;
  padding:5px 9px;
  background:rgba(255,95,162,.12);
  color:#7d3f67;
  font-size:9px;
  font-weight:900;
}
.offerCard__cta:hover{
  background:rgba(255,95,162,.2);
}
.stackActions{
  margin-top:12px;
  border-top:none;
  padding-top:10px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
}
.stackActions__text{
  margin:0;
  color:var(--muted);
  font-size:11px;
}
.finalStack{
  margin-top:10px;
  padding:12px;
}
.finalStack h3{
  margin:0 0 4px;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:22px;
}
.offerGrid--final{
  margin-top:10px;
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.hero{position:relative; padding:60px 0 34px}
.hero__grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:22px;
  align-items:stretch;
}
.hero__copy,
.hero__card{animation:riseFade .65s ease both}
.hero__card{animation-delay:.12s}

@keyframes riseFade{
  from{opacity:0; transform:translateY(18px)}
  to{opacity:1; transform:translateY(0)}
}

.hero__bg{
  position:absolute;
  inset:auto 0 0 0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(161, 76, 120, .3), transparent);
}

.pill{
  display:inline-flex;
  align-items:center;
  padding:7px 11px;
  border-radius:999px;
  border:none;
  background:rgba(255,255,255,.75);
  color:var(--muted);
  font-weight:700;
  font-size:12px;
}

h1{
  margin:12px 0 10px;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:clamp(34px, 3.3vw, 54px);
  line-height:1.03;
}

.grad{
  background:linear-gradient(125deg, var(--primary), var(--primary2));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.lead{
  margin:0 0 16px;
  color:var(--muted);
  font-size:16px;
  line-height:1.56;
}

.hero__cta{display:flex; gap:12px; flex-wrap:wrap}
.hero__badges{
  margin-top:18px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.badge{
  font-size:12px;
  color:var(--muted);
  padding:8px 10px;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,.72);
}

.hero__card{
  border:none;
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(255, 248, 252, .95));
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.hero__brand{
  border:none;
  background:var(--surface-soft);
  border-radius:16px;
  padding:10px;
  display:flex;
  align-items:center;
  gap:10px;
}
.hero__brand img{
  width:52px;
  height:52px;
  object-fit:contain;
  border-radius:12px;
  border:none;
  background:var(--surface);
}
.hero__brandTitle{font-weight:900}
.hero__brandText{font-size:12px; color:var(--muted)}

.hero__cardTop{display:grid; grid-template-columns:repeat(3, 1fr); gap:10px}
.hero__stat{
  border:none;
  background:rgba(255,255,255,.84);
  border-radius:16px;
  padding:12px;
}
.hero__statNum{font-weight:900; font-size:20px}
.hero__statLbl{color:var(--muted); font-size:12px; margin-top:4px}

.hero__preview{display:flex; flex-direction:column; gap:12px}
.previewCard{
  border:none;
  background:rgba(255,255,255,.82);
  border-radius:16px;
  padding:12px;
}
.previewTitle{font-weight:900; margin-bottom:10px}
.previewItem{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px;
  border-radius:12px;
  border:none;
  background:rgba(255, 244, 250, .7);
  margin-bottom:8px;
}
.previewItem:last-child{margin-bottom:0}
.previewName{font-weight:900}
.previewMeta{color:var(--muted); font-size:12px}

.notice{
  border:none;
  border-radius:16px;
  padding:12px;
  color:var(--muted);
  background:rgba(255,255,255,.8);
  font-size:13px;
  line-height:1.45;
}

.section{padding:44px 0}
.section--alt{
  background:linear-gradient(180deg, rgba(255,255,255,.5), rgba(255, 248, 252, .62));
  border-top:none;
  border-bottom:none;
}
.section__head h2{
  margin:0 0 8px;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:30px;
}
.section__head p{margin:0 0 18px; color:var(--muted)}

.innerPageHero{
  position:relative;
  min-height:330px;
  overflow:hidden;
}
.innerPageHero__bg{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(100deg, rgba(12, 14, 33, .84) 0%, rgba(25, 23, 45, .66) 44%, rgba(25, 23, 45, .38) 100%),
    radial-gradient(680px 360px at 18% 35%, rgba(255, 151, 205, .32), transparent 62%),
    url("../images/E109DN22.avif");
  background-size:cover, cover, cover;
  background-position:center center;
  background-repeat:no-repeat;
}
.innerPageHero--research .innerPageHero__bg{
  background-image:
    linear-gradient(100deg, rgba(12, 14, 33, .84) 0%, rgba(25, 23, 45, .66) 44%, rgba(25, 23, 45, .4) 100%),
    radial-gradient(780px 420px at 22% 30%, rgba(95, 154, 255, .26), transparent 62%),
    url("../images/product-showcase.webp");
}
.innerPageHero--wizard .innerPageHero__bg{
  background-image:
    linear-gradient(100deg, rgba(12, 14, 33, .84) 0%, rgba(25, 23, 45, .66) 44%, rgba(25, 23, 45, .4) 100%),
    radial-gradient(680px 380px at 18% 35%, rgba(255, 151, 205, .32), transparent 62%),
    url("../images/174981377278.png");
}
.innerPageHero__container{
  position:relative;
  z-index:1;
  min-height:330px;
  display:flex;
  align-items:center;
}
.innerPageHero__panel{
  width:min(760px, 100%);
  color:#fff;
  border-radius:24px;
  padding:10px 24px 12px;
  background:linear-gradient(160deg, rgba(14, 17, 32, .56), rgba(27, 21, 43, .42));
  -webkit-backdrop-filter:blur(10px) saturate(118%);
  backdrop-filter:blur(10px) saturate(118%);
  border:1px solid rgba(255,255,255,.26);
  box-shadow:0 18px 34px rgba(6, 8, 19, .32);
}
.innerPageHero__logo{
  width:380px !important;
  height:auto !important;
  padding:0;
  display:block;
  position:relative;
  z-index:5;
  object-fit:contain;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  margin:0;
}
.innerPageHero__eyebrow{
  margin:0;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:800;
  color:rgba(255, 238, 250, .92);
}
.innerPageHero__panel h1{
  position:relative;
  z-index:2;
  margin:0;
  color:#fffafc;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:clamp(34px, 5vw, 58px);
  line-height:1.03;
  text-shadow:0 6px 18px rgba(0,0,0,.34);
}
.innerPageHero__panel p{
  position:relative;
  z-index:2;
  margin:8px 0 0;
  max-width:58ch;
  color:rgba(247, 240, 252, .95);
  font-size:17px;
  line-height:1.58;
  text-shadow:0 2px 8px rgba(0,0,0,.24);
}

.storeHero{
  padding-top:16px;
  padding-bottom:12px;
}
.storeControls{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:12px;
  align-items:center;
  border-radius:20px;
  padding:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,247,252,.94));
  box-shadow:0 14px 26px rgba(170, 89, 133, .1);
}
.storeSelectWrap{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:800;
  color:var(--muted);
}
.storeSelect{
  border:none;
  background:rgba(255,255,255,.88);
  color:var(--text);
  padding:11px 14px;
  border-radius:14px;
  outline:none;
  font-weight:700;
}
.storeSelect:focus{box-shadow:0 0 0 3px rgba(255,95,162,.14)}
.storeBands{
  padding-top:10px;
}
.storeGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}
.storeBand{
  min-height:400px;
  position:relative;
  border-radius:22px;
  overflow:hidden;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-color:#f3eef3;
  box-shadow:0 16px 32px rgba(170, 89, 133, .16);
}
.storeBand__shade{
  position:absolute;
  inset:0;
  background:linear-gradient(108deg, rgba(10, 12, 22, .82) 0%, rgba(22, 20, 38, .58) 48%, rgba(22, 20, 38, .34) 100%);
}
.storeBand__content{
  position:relative;
  z-index:1;
  width:min(520px, calc(100% - 34px));
  margin:0 auto;
  min-height:400px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.storeBand__kicker{
  margin:0 0 8px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:800;
  color:rgba(255, 239, 249, .95);
  text-shadow:0 2px 8px rgba(0,0,0,.35);
}
.storeBand h3{
  margin:0;
  color:#fff8fd;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:38px;
  line-height:1.06;
  text-shadow:0 4px 14px rgba(0,0,0,.38);
}
.storeBand p{
  margin:10px 0 0;
  color:rgba(247, 240, 252, .95);
  font-size:15px;
  line-height:1.55;
  text-shadow:0 2px 8px rgba(0,0,0,.3);
}
.storeBand .productInfoList li{
  color:rgba(248, 243, 250, .95);
  text-shadow:0 2px 8px rgba(0,0,0,.28);
}

.promoAd{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  min-height:300px;
  padding:24px;
  display:grid;
  align-items:end;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  box-shadow:0 18px 34px rgba(170, 89, 133, .16);
}
.promoAd__shade{
  position:absolute;
  inset:0;
  background:linear-gradient(110deg, rgba(16, 13, 24, .84) 0%, rgba(16, 13, 24, .58) 46%, rgba(16, 13, 24, .28) 100%);
}
.promoAd__content{
  position:relative;
  z-index:1;
  width:min(640px, 100%);
}
.promoAd__kicker{
  margin:0 0 8px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:800;
  color:rgba(255, 230, 246, .96);
}
.promoAd h3{
  margin:0;
  color:#fff8fd;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:42px;
  line-height:1.04;
}
.promoAd p{
  margin:10px 0 0;
  color:rgba(247, 240, 252, .96);
  line-height:1.6;
}
.promoAd .moodHero__actions{
  margin-top:14px;
}

.bundleProductPage{
  padding-top:0;
}
.bundleProductHero{
  display:grid;
  grid-template-columns:minmax(240px, .8fr) 1.2fr;
  gap:18px;
  align-items:center;
}
.bundleProductHero__media{
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,245,231,.9));
  padding:14px;
}
.bundleProductHero__media img{
  width:100%;
  max-height:460px;
  object-fit:contain;
  display:block;
}
.bundleProductHero__content h2{
  margin:0;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:42px;
  line-height:1.06;
}
.bundleProductHero__content p{
  margin:12px 0 0;
  color:#4f3246;
  line-height:1.65;
}
.bundleProductGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.bundleProductGrid .card h3,
.bundleProductIncludes h3,
.bundleProductFacts h3{
  margin:0 0 10px;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:30px;
}
.bundleProductIncludes__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.bundleProductIncludes__grid h4{
  margin:0 0 8px;
  font-size:20px;
}
.bundleProductFacts{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:14px;
  align-items:start;
}
.bundleProductFacts__image{
  margin:0;
  border-radius:16px;
  overflow:hidden;
  background:rgba(255,255,255,.86);
}
.bundleProductFacts__image img{
  width:100%;
  display:block;
}

.productDeepPage{
  padding-top:0;
}
.deepHero{
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:18px;
  align-items:center;
  margin-bottom:18px;
  border-radius:24px;
  padding:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,247,252,.94));
  box-shadow:0 14px 26px rgba(170, 89, 133, .1);
}
.deepHero__media{
  background:rgba(255,255,255,.9);
  border-radius:20px;
  padding:18px;
  box-shadow:0 12px 24px rgba(157,49,105,.08);
}
.deepHero__media img{
  width:100%;
  max-height:340px;
  object-fit:contain;
  display:block;
}
.deepHero__content h1{
  margin:0;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:46px;
  line-height:1.04;
}
.deepHero__meta{
  margin:10px 0 0;
  color:var(--muted);
  font-weight:700;
}
.deepVerdict{
  margin:12px 0 0;
  color:#4d2f43;
  line-height:1.62;
}
.deepSection{
  margin-bottom:14px;
}
.deepSection h2{
  margin:0 0 10px;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:30px;
}
.deepSection p{
  margin:0 0 12px;
  color:#503347;
  line-height:1.68;
}
.deepRefGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.deepRefCard{
  border:none;
  border-radius:14px;
  background:rgba(255,255,255,.85);
  padding:12px;
}
.deepRefCard h4{
  margin:0;
  font-size:16px;
  line-height:1.35;
}
.deepRefCard p{
  margin:8px 0;
  font-size:14px;
  color:var(--muted);
}
.deepRefCard a{
  font-weight:800;
  color:#8f3d6d;
}
.deepSafety{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:8px;
  color:#503347;
  line-height:1.58;
}
.deepIndex h1{
  margin:0;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:44px;
}
.deepIndex{
  border-radius:24px;
  padding:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,247,252,.94));
  box-shadow:0 14px 26px rgba(170, 89, 133, .1);
}
.deepIndexGrid{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.deepIndexCard{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:10px;
  align-items:center;
  border:none;
  border-radius:14px;
  background:rgba(255,255,255,.9);
  padding:10px;
}
.deepIndexCard img{
  width:64px;
  height:64px;
  object-fit:contain;
}
.deepIndexCard strong{
  display:block;
  line-height:1.25;
}
.deepIndexCard span{
  font-size:12px;
  color:var(--muted);
}

.controls{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:12px;
  align-items:center;
  margin-bottom:18px;
}
.search input{
  width:100%;
  border:none;
  background:rgba(255,255,255,.88);
  color:var(--text);
  padding:12px 14px;
  border-radius:14px;
  outline:none;
}
.search input:focus{box-shadow:0 0 0 3px rgba(255,95,162,.14)}

.filters{display:flex; flex-wrap:wrap; gap:8px}
.chip{
  padding:9px 10px;
  border-radius:999px;
  border:none;
  background:rgba(255,255,255,.8);
  color:var(--muted);
  font-weight:800;
  font-size:12px;
  cursor:pointer;
  user-select:none;
}
.chip:hover{color:var(--text)}
.chip.isActive{
  background:linear-gradient(120deg, rgba(255,95,162,.18), rgba(255,139,123,.2));
  color:var(--text);
}

.grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:14px}
.card{
  border:none;
  background:rgba(255,255,255,.86);
  border-radius:var(--radius);
  padding:14px;
  box-shadow:var(--shadow);
}
.product{
  border:none;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,247,252,.96));
  border-radius:var(--radius);
  padding:14px;
  cursor:pointer;
  transition:.18s ease;
  min-height:220px;
  display:flex;
  flex-direction:column;
  gap:10px;
  box-shadow:0 12px 26px rgba(170, 89, 133, .11);
}
.product:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(170, 89, 133, .16);
}
.product__top{display:flex; justify-content:space-between; gap:10px; align-items:flex-start}
.product__name{font-weight:900; font-size:16px; line-height:1.2}
.product__sub{color:var(--muted); font-size:12px; margin-top:4px}
.kicker{
  font-size:11px;
  font-weight:900;
  padding:6px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  border:none;
  color:var(--muted);
  white-space:nowrap;
}
.product__desc{color:var(--muted); font-size:13px; line-height:1.45}
.product__effects{
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}
.product__effects strong{
  font-weight:800;
  color:var(--text);
}
.product__media{
  border:none;
  border-radius:14px;
  background:#fff;
  min-height:132px;
  display:grid;
  place-items:center;
  padding:8px;
}
.product__image{
  max-width:100%;
  max-height:116px;
  object-fit:contain;
  display:block;
}
.tags{display:flex; flex-wrap:wrap; gap:8px; margin-top:auto}
.tag{
  font-size:11px;
  color:var(--muted);
  padding:6px 8px;
  border-radius:999px;
  border:none;
  background:rgba(255,255,255,.84);
}
.tag--caff{border-color:rgba(255,139,123,.6); background:rgba(255,139,123,.18)}
.tag--free{border-color:rgba(47,154,104,.45); background:rgba(47,154,104,.14)}

.twoCol{display:grid; grid-template-columns:1.1fr .9fr; gap:16px; align-items:start}
.bullets{margin:12px 0 0; color:var(--muted); line-height:1.6}
.bullets li{margin:8px 0}
.muted{color:var(--muted)}
.miniGrid{display:grid; grid-template-columns:1fr; gap:10px; margin-top:12px}
.mini{
  border:none;
  border-radius:16px;
  background:rgba(255,255,255,.8);
  padding:12px;
}
.mini__t{font-weight:900; margin-bottom:6px}
.mini__d{color:var(--muted); font-size:13px; line-height:1.45}

.accordion details{
  border:none;
  border-radius:16px;
  background:rgba(255,255,255,.84);
  padding:12px 14px;
  margin-bottom:10px;
}
.accordion summary{cursor:pointer; font-weight:900}
.acc__body{color:var(--muted); margin-top:10px; line-height:1.55}

.footer{
  border-top:none;
  padding:26px 0 18px;
  background:rgba(255, 244, 249, .74);
}
.footer__grid{
  display:grid;
  grid-template-columns:1.3fr .35fr .35fr;
  gap:16px;
  align-items:start;
}
.footer__brand{display:flex; align-items:center; gap:12px; margin-bottom:10px}
.footer__name{
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-weight:800;
  font-size:20px;
}
.footer__tag{color:var(--muted); font-size:12px; margin-top:2px}
.footer__col{display:flex; flex-direction:column; gap:8px}
.footer__head{font-weight:900; margin-bottom:6px}
.footer__col a{color:var(--muted)}
.footer__col a:hover{color:var(--text)}
.footer__bottom{
  margin-top:14px;
  padding-top:14px;
  border-top:none;
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:var(--muted);
  font-size:12px;
}

.modal{position:fixed; inset:0; display:none; z-index:100}
.modal.isOpen{display:block}
.modal__backdrop{position:absolute; inset:0; background:rgba(70, 32, 58, .5)}
.modal__panel{
  position:relative;
  width:min(980px, calc(100% - 30px));
  margin:56px auto;
  border:none;
  background:rgba(255, 252, 254, .98);
  backdrop-filter:blur(8px);
  border-radius:22px;
  box-shadow:var(--shadow);
  padding:16px;
}
.modal__close{
  position:absolute;
  top:10px;
  right:12px;
  width:40px;
  height:40px;
  border-radius:12px;
  border:none;
  background:rgba(255,255,255,.85);
  color:var(--text);
  cursor:pointer;
  font-size:22px;
}
.modal__close:hover{background:#fff}
.modal h3{margin:0 0 6px; font-family:"Inter","Helvetica Neue",Arial,sans-serif; font-size:30px}
.modalGrid{display:grid; grid-template-columns:.95fr 1.05fr; gap:14px; margin-top:10px}
.modalBox{
  border:none;
  border-radius:18px;
  background:rgba(255,255,255,.84);
  padding:12px;
}
.modalProductImage{
  width:100%;
  height:280px;
  object-fit:contain;
  border:none;
  border-radius:14px;
  background:#fff;
  display:block;
}
.modalMeta{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px}
hr.sep{border:none; border-top:1px solid rgba(161, 76, 120, .08); margin:12px 0}

.small{font-size:12px; color:var(--muted); line-height:1.5}
.effectList{
  margin:8px 0 0;
  padding-left:18px;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
.effectList li{
  margin:7px 0;
}
.kv{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:10px;
  padding:8px 0;
  border-bottom:1px solid rgba(161, 76, 120, .08);
}
.kv:last-child{border-bottom:none}
.kv b{color:var(--text)}
.kv span{color:var(--muted)}

@media (max-width:980px){
  .productSection--coffeeSplit .productSection__content{
    grid-template-columns:1fr;
  }
  .productSection--coffeeSplit .productSection__panel--coffeeTextBg{
    min-height:560px;
  }
  .productSection--coffeeSplit .productSection__sideVisual{
    display:none;
  }
  .innerPageHero,
  .innerPageHero__container{
    min-height:280px;
  }
  .innerPageHero__panel{
    width:100%;
  }
  .moodHero__layout{
    grid-template-columns:1fr;
    gap:18px;
    width:min(900px, calc(100% - 44px));
    min-height:560px;
    padding:30px 0;
  }
  .heroFloat{justify-self:start}
  .heroFloat__item{min-height:104px}
  .heroFloat__item img{max-width:102px}
  .moodHero__title{font-size:clamp(36px, 7vw, 64px)}
  .feelingsShell{padding:14px}
  .feelingsHead{flex-direction:column; align-items:flex-start}
  .feelings__layout{grid-template-columns:1fr}
  .stackActions{flex-direction:column; align-items:flex-start}
  .stackActions .btn{width:100%}
  .bundleLayout{
    grid-template-columns:1fr;
  }
  .bundleAd{
    grid-template-columns:38px 1fr;
    align-items:start;
  }
  .bundleAd__media{
    grid-column:2;
  }
  .bundleAd__content{
    grid-column:2;
  }
  .bundleList{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .storeControls{
    grid-template-columns:1fr;
    align-items:stretch;
    border-radius:16px;
    padding:10px;
  }
  .storeSelectWrap{
    justify-content:space-between;
  }
  .storeGrid{
    grid-template-columns:1fr;
  }
  .deepHero{
    grid-template-columns:1fr;
    border-radius:16px;
    padding:10px;
  }
  .deepRefGrid{
    grid-template-columns:1fr;
  }
  .bundleProductHero{
    grid-template-columns:1fr;
  }
  .bundleProductHero__content h2{
    font-size:36px;
  }
  .bundleProductGrid{
    grid-template-columns:1fr;
  }
  .bundleProductIncludes__grid{
    grid-template-columns:1fr;
  }
  .bundleProductFacts{
    grid-template-columns:1fr;
  }
  .grid{grid-template-columns:repeat(2, 1fr)}
  .hero__grid{grid-template-columns:1fr}
}

@media (max-width:720px){
  .container{
    width:calc(100% - 24px);
  }
  .section{
    padding:30px 0;
  }
  .innerPageHero,
  .innerPageHero__container{
    min-height:240px;
  }
  .innerPageHero__panel{
    border-radius:16px;
    padding:14px;
  }
  .innerPageHero__logo{
    width:260px !important;
    height:auto !important;
    border-radius:0;
    margin:0;
  }
  .innerPageHero__panel h1{
    font-size:clamp(30px, 8vw, 40px);
  }
  .innerPageHero__panel p{
    font-size:14px;
  }
  .topbar__inner{
    padding:10px 0;
  }
  .brand{
    gap:8px;
  }
  .brand__tag{
    display:none;
  }
  .mobileNav{
    padding:8px 12px 12px;
    background:rgba(255,255,255,.96);
    border-radius:0 0 14px 14px;
  }
  .mobileNav a{
    padding:12px 0;
    border-bottom:1px solid rgba(161, 76, 120, .08);
  }
  .mobileNav a:last-child{
    border-bottom:none;
  }
  .productSections{
    padding:0 0 14px;
  }
  .productSections__stack{
    width:100%;
    gap:0;
  }
  .productSection{
    min-height:420px;
  }
  .productSection__content{
    width:calc(100% - 16px);
    min-height:420px;
    align-items:flex-end;
    justify-content:flex-start;
  }
  .productSection--rightPanel .productSection__content{
    justify-content:flex-end;
  }
  .productSection__panel{
    width:100%;
    max-width:100%;
    padding:12px 12px 14px;
    border-radius:16px;
    background:linear-gradient(180deg, rgba(7, 10, 20, .04), rgba(7, 10, 20, .68));
    border:1px solid rgba(255,255,255,.22);
    box-shadow:0 10px 20px rgba(6, 8, 19, .2);
  }
  .productSection__kicker{
    margin:0;
    font-size:11px;
    color:rgba(246, 243, 253, .95);
  }
  .productSection__panel h3{
    margin-top:4px;
    font-size:24px;
  }
  .productSection__panel p{
    display:none;
  }
  .productInfoList{
    display:none;
  }
  .productSectionMoreLink{
    margin-top:10px;
    width:100%;
    padding:11px 14px;
    background:rgba(255,255,255,.92);
    color:#2e1a2a;
    border:1px solid rgba(255,255,255,.95);
    box-shadow:0 8px 14px rgba(4, 8, 24, .16);
  }
  .productSectionInfo{
    display:none;
  }
  .productSection__sideVisual{
    display:none;
  }
  .productSection--mobileFunctional{
    background-image:linear-gradient(180deg, #f9f4f8, #eee7ef) !important;
  }
  .productSection--mobileFunctional .productSection__content{
    align-items:center;
    justify-content:center;
  }
  .productSection--mobileFunctional .productSection__panel{
    text-align:center;
    max-width:360px;
    background:linear-gradient(180deg, rgba(18, 20, 34, .28), rgba(18, 20, 34, .62));
  }
  .productSection__mobileImage{
    display:block;
    width:min(72vw, 220px);
    height:auto;
    margin:0 auto 10px;
    filter:drop-shadow(0 14px 18px rgba(8, 10, 20, .3));
  }
  .moodHero{padding:0}
  .moodHero__panel{min-height:500px}
  .moodHero__layout{
    min-height:460px;
    width:calc(100% - 16px);
    padding:18px 0;
    gap:10px;
  }
  .moodHero__content{min-height:auto}
  .moodHero__eyebrow{font-size:10px; padding:6px 10px}
  .moodHero__logo{
    width:260px !important;
    height:auto !important;
    border-radius:0;
    margin:0 0 -12px 0;
  }
  .moodHero__title{font-size:clamp(28px, 8.4vw, 40px)}
  .moodHero__subtitle{font-size:14px}
  .moodHero__actions .btn{width:100%}
  .feelingsShell{padding:12px}
  .feelingsHead h2{font-size:30px}
  .feelingCount{font-size:11px}
  .feelingGrid{grid-template-columns:repeat(3, minmax(0, 1fr))}
  .signalsRail{gap:6px}
  .signalTag{font-size:10px; padding:5px 8px}
  .recGrid,
  .stackGrid,
  .offerGrid--final{grid-template-columns:1fr}
  .bundleList{grid-template-columns:1fr}
  .bundleAd{
    grid-template-columns:1fr;
    gap:10px;
    padding:14px;
  }
  .bundleAd__rail{
    grid-column:auto;
    justify-self:start;
    writing-mode:horizontal-tb;
    transform:none;
    min-height:24px;
    padding:8px 10px;
    font-size:14px;
  }
  .bundleAd__media{
    grid-column:auto;
  }
  .bundleAd__content{
    grid-column:auto;
  }
  .bundleAd__content h3{font-size:26px}
  .bundleAd__focus{font-size:12px}
  .bundleAd .btn{
    width:100%;
  }
  .bundleAd__rail{
    letter-spacing:.08em;
  }
  .bundleFeatured h3{font-size:30px}
  .bundleMini h4{font-size:22px}
  .productShowcase{
    padding:10px 0 6px;
  }
  .productShowcase__inner img{
    max-height:460px;
  }
  .storeBand{
    min-height:360px;
    border-radius:16px;
  }
  .storeBand__content{
    width:calc(100% - 24px);
    min-height:360px;
  }
  .storeBand h3{
    font-size:30px;
  }
  .storeBand p{
    font-size:14px;
  }
  .storeBand .productInfoList li{
    font-size:12px;
  }
  .bundleProductHero__content h2{
    font-size:30px;
  }
  .bundleProductGrid .card h3,
  .bundleProductIncludes h3,
  .bundleProductFacts h3{
    font-size:24px;
  }
  .bundleProductIncludes__grid h4{
    font-size:18px;
  }
  .promoAd{
    min-height:260px;
    border-radius:16px;
    padding:18px;
  }
  .promoAd h3{
    font-size:32px;
  }
  .promoAd p{
    font-size:14px;
  }
  .promoAd .moodHero__actions .btn{
    width:100%;
  }
  .deepHero__content h1{
    font-size:36px;
  }
  .deepSection h2{
    font-size:24px;
  }
  .deepIndex h1{
    font-size:34px;
  }
  .deepIndex{
    border-radius:16px;
    padding:10px;
  }
  .deepIndexGrid{
    grid-template-columns:1fr;
  }
  .stackActions .btn{width:100%}
  .heroFloat{
    width:100%;
    gap:6px;
  }
  .heroFloat__item{min-height:82px}
  .heroFloat__item img{max-width:86px}
  .heroSocials{
    width:100%;
    justify-content:center;
  }
  .heroSocial{width:46px; height:46px}
  .heroSocial svg{width:24px; height:24px}
  .nav{display:none}
  .navToggle{display:inline-flex}
  .controls{grid-template-columns:1fr; align-items:stretch}
  .footer__grid{grid-template-columns:1fr}
  .twoCol{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr}
  .modalGrid{grid-template-columns:1fr}
  .brand__logo{width:38px; height:38px}
  .brand__name{font-size:18px}
  .section__head h2{font-size:28px}
  .accordion summary{font-size:16px}
  .footer__bottom{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* Wizard Page */
.matchWizardPage{
  padding-bottom:80px;
}

.matchWizardHero{
  padding:48px 0 20px;
}

.matchWizardHero__inner{
  text-align:center;
  max-width:860px;
}

.matchWizardHero__logo{
  width:380px !important;
  height:auto !important;
  padding:0;
  display:block;
  position:relative;
  z-index:5;
  object-fit:contain;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.matchWizardHero__eyebrow{
  margin:0;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.matchWizardHero h1{
  margin:4px 0;
  font-size:clamp(34px, 6vw, 64px);
  line-height:1.02;
}

.matchWizardHero p{
  margin:0;
  max-width:720px;
  font-size:18px;
  color:var(--muted);
}

.matchWizard__shell{
  max-width:940px;
  margin:0 auto;
  padding:28px;
  border-radius:24px;
  background:linear-gradient(145deg, rgba(255,255,255,.94), rgba(255,248,253,.92));
  box-shadow:0 20px 42px rgba(157, 49, 105, .12);
  border:1px solid rgba(170, 92, 135, .1);
}

.matchWizard__progressWrap{
  height:10px;
  width:100%;
  border-radius:999px;
  background:rgba(170, 92, 135, .12);
  overflow:hidden;
}

.matchWizard__progress{
  height:100%;
  width:0;
  border-radius:999px;
  background:linear-gradient(90deg, #ff5fa2, #ff8b7b);
  transition:width .24s ease;
}

.matchWizard__stepMeta{
  margin-top:20px;
  display:grid;
  gap:6px;
}

.matchWizard__stepMeta span:first-child{
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.matchWizard__stepMeta span:last-child{
  font-size:clamp(22px, 3vw, 34px);
  font-weight:800;
  line-height:1.14;
}

.matchWizard__choices{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.wizardChoice{
  border:1px solid rgba(170, 92, 135, .2);
  border-radius:18px;
  background:#fff;
  color:var(--text);
  text-align:left;
  padding:16px;
  cursor:pointer;
  transition:.18s ease;
  display:grid;
  gap:6px;
}

.wizardChoice:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 18px rgba(157, 49, 105, .1);
}

.wizardChoice.isActive{
  border-color:rgba(255, 95, 162, .5);
  background:linear-gradient(165deg, rgba(255, 249, 253, .98), rgba(255, 237, 246, .98));
  box-shadow:0 12px 20px rgba(255, 95, 162, .16);
}

.wizardChoice__title{
  font-size:18px;
  font-weight:700;
}

.wizardChoice__subtitle{
  color:var(--muted);
  font-size:12px;
  font-weight:600;
}

.matchWizard__actions{
  margin-top:18px;
  display:flex;
  justify-content:space-between;
  gap:12px;
}

.matchResults{
  padding-top:24px;
}

.matchResults__summary{
  margin:4px 0 20px;
  font-size:14px;
  color:var(--muted);
  font-weight:600;
}

.matchResults__summary span{
  color:var(--text);
  font-weight:800;
}

.matchResults__title{
  margin:0 0 10px;
  font-size:26px;
}

.matchResults__products,
.matchResults__bundles{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.matchCard,
.bundleMatchCard{
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(170, 92, 135, .12);
  box-shadow:0 12px 24px rgba(157, 49, 105, .08);
  overflow:hidden;
}

.matchCard__imageWrap{
  min-height:220px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg, #fff, #fff7fb);
  padding:18px;
}

.matchCard__imageWrap img{
  width:100%;
  max-width:240px;
  height:auto;
  object-fit:contain;
}

.matchCard__body,
.bundleMatchCard__body{
  padding:16px;
}

.matchCard h4,
.bundleMatchCard h4{
  margin:0 0 8px;
  font-size:24px;
  line-height:1.08;
}

.matchCard p{
  margin:0 0 14px;
  color:var(--muted);
  line-height:1.55;
}

.bundleMatchCard{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, 1fr);
}

.bundleMatchCard img{
  width:100%;
  height:260px;
  object-fit:cover;
}

.bundleMatchCard__focus{
  position:absolute;
  top:12px;
  right:12px;
  z-index:1;
  border-radius:999px;
  padding:5px 10px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  color:#fff;
  background:rgba(12, 18, 50, .72);
}

.matchResults__footer{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

@media (max-width:900px){
  .matchWizard__shell{padding:20px}
  .matchWizard__choices,
  .matchResults__products,
  .matchResults__bundles{grid-template-columns:1fr}
  .matchCard__imageWrap{min-height:190px}
}

@media (max-width:640px){
  .matchWizardHero{padding:28px 0 10px}
  .matchWizardHero p{font-size:16px}
  .wizardChoice__title{font-size:16px}
  .matchWizard__actions{flex-direction:column}
  .matchWizard__actions .btn{width:100%}
}

/* Store redesign + product detail pages */
.storeShowcase{
  padding-top:8px;
}

.storeFeatured{
  display:grid;
}

.storeFeatureCard{
  border-radius:28px;
  padding:28px;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:20px;
  align-items:center;
  background:
    radial-gradient(900px 420px at 12% 20%, rgba(255, 132, 191, .18), transparent 58%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,247,252,.95));
  box-shadow:0 22px 40px rgba(157, 49, 105, .15);
  border:1px solid rgba(176, 89, 132, .16);
}

.storeFeatureCard--bundle{
  background:
    radial-gradient(900px 420px at 12% 20%, rgba(138, 208, 126, .2), transparent 58%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(245,255,240,.95));
}

.storeFeatureCard__content h2{
  margin:6px 0 0;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:clamp(32px, 4.2vw, 56px);
  line-height:1.04;
}

.storeFeatureCard__content p{
  margin:12px 0 0;
  color:#5a3b4f;
  font-size:16px;
  line-height:1.65;
  max-width:54ch;
}

.storeFeatureCard__badges{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.storeFeatureCard__badges span,
.storeCard__badges span{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#754561;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(170, 92, 135, .18);
}

.storeFeatureCard__actions{
  margin-top:16px;
}

.storeFeatureCard__media{
  border-radius:24px;
  padding:18px;
  background:rgba(255,255,255,.85);
  box-shadow:0 12px 24px rgba(157, 49, 105, .11);
}

.storeFeatureCard__media img{
  width:100%;
  max-height:380px;
  object-fit:contain;
  display:block;
}

.storeSplitHead{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:14px;
  margin-bottom:14px;
}

.storeSectionTitle{
  margin:4px 0 0;
  font-size:clamp(28px, 3vw, 42px);
  line-height:1.04;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
}

.storeBands--bundles{
  padding-top:18px;
}

.storeGrid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.storeCard{
  border:1px solid rgba(170, 92, 135, .14);
  border-radius:22px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(255,247,252,.95));
  box-shadow:0 14px 28px rgba(170, 89, 133, .12);
  display:grid;
  grid-template-rows:auto 1fr;
}

.storeCard--bundle{
  background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(248,255,244,.95));
}

.storeCard__media{
  display:grid;
  place-items:center;
  min-height:210px;
  background:
    radial-gradient(360px 180px at 50% 18%, rgba(255, 157, 210, .14), transparent 68%),
    #fff;
  border-bottom:1px solid rgba(170, 92, 135, .1);
}

.storeCard__media img{
  width:min(84%, 260px);
  max-height:186px;
  object-fit:contain;
  transition:transform .2s ease;
}

.storeCard:hover .storeCard__media img{
  transform:translateY(-3px) scale(1.02);
}

.storeCard__body{
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.storeCard h3{
  margin:0;
  font-size:24px;
  line-height:1.1;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
}

.storeCard h3 a:hover{
  color:#8d3f6c;
}

.storeCard p{
  margin:0;
  color:#66485b;
  line-height:1.55;
}

.storeCard__badges{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.storeCard__stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
}

.storeCard__stats div{
  background:rgba(255,255,255,.84);
  border:1px solid rgba(170, 92, 135, .14);
  border-radius:12px;
  padding:9px;
}

.storeCard__stats span{
  display:block;
  font-size:10px;
  font-weight:800;
  color:#84516f;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.storeCard__stats strong{
  display:block;
  margin-top:4px;
  font-size:18px;
}

.storeCard__tags{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.storeCard__tags li{
  border-radius:999px;
  padding:6px 10px;
  font-size:11px;
  color:#7c4a67;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(170, 92, 135, .14);
}

.storeCard__actions{
  margin-top:auto;
}

.storeCard__actions .btn{
  width:100%;
}

.storeEmpty{
  grid-column:1 / -1;
  border-radius:18px;
  padding:16px;
}

.storeEmpty h3{
  margin:0 0 8px;
  font-size:24px;
}

.detail-page{
  background:
    linear-gradient(118deg, #f5f8ff 0%, #f8f7ff 40%, #fcfbff 100%);
}

.detail-page .container{
  width:min(1040px, calc(100% - 40px));
}

.detail-hero{
  padding:14px 0 22px;
}

.detail-hero__inner{
  border-radius:0;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(360px, .92fr);
  gap:0;
  background:
    linear-gradient(108deg, rgba(10, 15, 36, .96) 0%, rgba(20, 28, 58, .88) 45%, rgba(27, 37, 72, .78) 100%),
    radial-gradient(760px 360px at 14% 24%, rgba(67, 173, 255, .34), transparent 64%),
    radial-gradient(520px 280px at 86% 16%, rgba(255, 136, 203, .24), transparent 60%);
  border:1px solid rgba(130, 163, 230, .24);
  box-shadow:0 24px 40px rgba(10, 13, 34, .34);
}

.detail-hero__content{
  padding:42px 38px;
  color:#fff;
}

.detail-hero__content h1{
  margin:6px 0 0;
  color:#fff;
  font-size:clamp(34px, 4.2vw, 56px);
  line-height:1.08;
  font-family:var(--font-display);
  letter-spacing:-.016em;
  max-width:18ch;
}

.detail-hero__content > p{
  margin:16px 0 0;
  color:rgba(239, 244, 255, .94);
  font-size:19px;
  line-height:1.72;
  max-width:52ch;
}

.detail-badges{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.detail-badges span{
  padding:8px 12px;
  border-radius:0;
  border:1px solid rgba(255,255,255,.22);
  background:linear-gradient(145deg, rgba(255,255,255,.16), rgba(255,255,255,.08));
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.detail-actions{
  margin-top:24px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.detail-hero__price{
  margin:14px 0 0;
  color:#e9f2ff;
  font-size:15px;
  font-weight:700;
  letter-spacing:.02em;
}

.detail-hero__media{
  background:
    linear-gradient(165deg, rgba(255,255,255,.14), rgba(255,255,255,.02)),
    radial-gradient(420px 220px at 50% 10%, rgba(255,255,255,.2), transparent 70%);
  display:grid;
  place-items:center;
  padding:30px;
}

.detail-hero__media img{
  width:min(90%, 500px);
  max-height:460px;
  object-fit:contain;
  filter:drop-shadow(0 20px 24px rgba(8, 11, 33, .34));
}

.detail-grid-wrap{
  padding-top:8px;
}

.detail-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}

.detail-card{
  border:1px solid rgba(162, 178, 232, .28);
  border-radius:0;
  padding:24px;
  background:
    linear-gradient(160deg, rgba(255,255,255,.95), rgba(249,252,255,.92));
  box-shadow:0 10px 18px rgba(95, 114, 184, .09);
}

.detail-card h2{
  margin:0;
  font-size:clamp(30px, 3vw, 40px);
  line-height:1.12;
  font-family:var(--font-display);
  letter-spacing:-.012em;
  color:#101b42;
}

.detail-card h3{
  margin:14px 0 8px;
  font-size:18px;
}

.detail-card p{
  margin:12px 0 0;
  line-height:1.8;
  color:#2f3957;
  max-width:70ch;
  font-size:17px;
}

.detail-pricing{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
}

.detail-pricing div{
  border-radius:0;
  padding:12px;
  border:1px solid rgba(162, 178, 232, .28);
  background:linear-gradient(145deg, rgba(255,255,255,.9), rgba(245, 249, 255, .92));
}

.detail-pricing span{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:800;
  color:#875470;
}

.detail-pricing strong{
  display:block;
  margin-top:4px;
  font-size:20px;
}

.detail-list{
  margin:4px 0 0;
  padding-left:18px;
  display:grid;
  gap:10px;
  color:#5f4356;
  line-height:1.62;
}

.detail-sections{
  padding-top:8px;
}

.detail-sections .container{
  display:grid;
  gap:14px;
}

.detail-section{
  border-radius:0;
  border:1px solid rgba(162, 178, 232, .26);
  background:linear-gradient(160deg, rgba(255,255,255,.84), rgba(255,255,255,.7));
  padding:26px;
  box-shadow:0 10px 16px rgba(103, 120, 190, .08);
  margin-bottom:0;
}

.detail-section h3{
  margin:0 0 14px;
  font-size:clamp(28px, 2.6vw, 36px);
  line-height:1.16;
  font-family:var(--font-display);
  letter-spacing:-.015em;
  color:#101b42;
}

.detail-section p{
  margin:0;
  color:#2f3957;
  line-height:1.88;
  max-width:70ch;
  font-size:17px;
}

.detail-section p + p{
  margin-top:10px;
}

.detail-gallery{
  padding-top:16px;
  padding-bottom:64px;
}

.ingredient-showcase{
  padding-top:4px;
  padding-bottom:8px;
}

.ingredient-showcase h3{
  margin:0 0 14px;
  font-size:30px;
  font-family:var(--font-display);
  letter-spacing:-.015em;
}

.ingredient-group{
  margin-top:12px;
  padding:10px 12px 12px;
  border:1px solid rgba(140, 160, 220, .22);
  background:linear-gradient(160deg, rgba(255,255,255,.82), rgba(246,250,255,.74));
}

.ingredient-group__title{
  margin:0 0 8px;
  font-size:14px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#122355;
  text-shadow:none;
}

.ingredient-grid{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:8px;
  justify-items:center;
}

.ingredient-card{
  display:block;
}

.ingredient-orb{
  --orb-glow:#7f86ff;
  position:relative;
  width:112px;
  height:112px;
  margin:0 auto;
  display:grid;
  place-items:center;
  text-decoration:none;
  transition:transform .2s ease, filter .2s ease;
}

.ingredient-orb__ring{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  animation:orbRotate 30s linear infinite;
}

.ingredient-orb__ring svg{
  width:112px;
  height:112px;
}

.ingredient-orb__ring text{
  fill:#000;
  font-size:7px;
  letter-spacing:.08em;
  font-weight:800;
  text-transform:uppercase;
  opacity:1;
  stroke:rgba(255, 255, 255, .35);
  stroke-width:1px;
  paint-order:stroke fill;
  filter:none;
}

.ingredient-orb__core{
  width:76px;
  height:76px;
  border-radius:50%;
  border:1px solid color-mix(in srgb, var(--orb-glow) 48%, rgba(235, 241, 255, .72));
  background:transparent;
  box-shadow:
    0 4px 10px rgba(56, 77, 140, .12);
  display:grid;
  place-items:center;
  transition:box-shadow .2s ease, border-color .2s ease;
}

.ingredient-orb__core img{
  width:72px;
  height:72px;
  object-fit:contain;
  object-position:center center;
  display:block;
  margin:auto;
}

.ingredient-orb h4{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.ingredient-orb:hover{
  transform:translateY(-3px) scale(1.02);
  filter:drop-shadow(0 0 14px color-mix(in srgb, var(--orb-glow) 55%, transparent));
}

.ingredient-orb:hover .ingredient-orb__core{
  border-color:color-mix(in srgb, var(--orb-glow) 72%, #fff);
  box-shadow:
    0 0 0 3px color-mix(in srgb, var(--orb-glow) 28%, transparent),
    0 14px 24px color-mix(in srgb, var(--orb-glow) 34%, transparent),
    inset 0 -8px 12px rgba(200, 214, 255, .24);
}

.ingredient-orb:hover .ingredient-orb__ring{
  animation-duration:7s;
}

/* Inline ingredient icon tags in descriptions */
.ingredient-inline{
  --inline-glow:#7f86ff;
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0 2px;
  padding:2px 7px 2px 5px;
  border:1px solid color-mix(in srgb, var(--inline-glow) 40%, rgba(120, 130, 190, .35));
  background:linear-gradient(160deg, rgba(255,255,255,.86), rgba(245,249,255,.8));
  color:#111827;
  text-decoration:none;
  border-radius:999px;
  line-height:1.1;
  vertical-align:middle;
  box-shadow:0 3px 8px color-mix(in srgb, var(--inline-glow) 18%, transparent);
  transition:.15s ease;
}

.ingredient-inline img{
  width:18px;
  height:18px;
  object-fit:contain;
  display:block;
}

.ingredient-inline span{
  font-size:12px;
  font-weight:700;
  letter-spacing:.01em;
}

.ingredient-inline:hover{
  transform:translateY(-1px);
  box-shadow:0 5px 12px color-mix(in srgb, var(--inline-glow) 28%, transparent);
  border-color:color-mix(in srgb, var(--inline-glow) 62%, #fff);
}

@keyframes orbRotate{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}

.ingredient-grid--compact{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

.ingredient-page{
  min-height:100vh;
}

.ingredient-hero{
  padding:26px 0 12px;
}

.ingredient-hero__inner{
  border:1px solid rgba(130, 163, 230, .24);
  background:
    linear-gradient(108deg, rgba(10, 15, 36, .96) 0%, rgba(20, 28, 58, .88) 45%, rgba(27, 37, 72, .78) 100%),
    radial-gradient(760px 360px at 14% 24%, rgba(67, 173, 255, .34), transparent 64%),
    radial-gradient(520px 280px at 86% 16%, rgba(255, 136, 203, .24), transparent 60%);
  box-shadow:0 24px 40px rgba(10, 13, 34, .34);
  padding:26px;
  color:#fff;
  text-align:center;
}

.ingredient-hero__icon{
  width:min(280px, 68vw);
  height:180px;
  object-fit:contain;
  display:block;
  margin:0 auto 10px;
  filter:drop-shadow(0 16px 18px rgba(8, 11, 33, .34));
}

.ingredient-hero__inner h1{
  margin:4px 0 0;
  font-family:var(--font-display);
  font-size:clamp(34px, 5vw, 56px);
  line-height:1.06;
  letter-spacing:-.02em;
}

.ingredient-article{
  padding-top:10px;
  padding-bottom:48px;
}

.ingredient-article__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.ingredient-article__actions{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.detail-gallery h3{
  margin:0 0 14px;
  font-size:30px;
  font-family:var(--font-display);
  letter-spacing:-.015em;
}

.detail-links{
  display:grid;
  gap:10px;
}

.detail-links a{
  border:1px solid rgba(162, 178, 232, .26);
  border-radius:0;
  padding:12px 14px;
  background:linear-gradient(145deg, rgba(255,255,255,.96), rgba(246,250,255,.92));
  color:#5b4e9d;
  font-weight:700;
  overflow-wrap:anywhere;
}

.detail-links a:hover{
  color:#273a80;
  background:linear-gradient(145deg, #ffffff, #f3f8ff);
}

.detail-page .btn{
  border-radius:0;
  min-height:46px;
  letter-spacing:.01em;
}

.detail-auto-list{
  margin:10px 0 0;
  padding:0 0 0 20px;
  display:grid;
  gap:10px;
  max-width:70ch;
}

.detail-auto-list li{
  color:#2f3957;
  line-height:1.78;
  font-size:17px;
}

.detail-page .btn--primary{
  background:linear-gradient(102deg, #33a0ff, #5b67ff 55%, #ff6eb7 100%);
  box-shadow:0 10px 18px rgba(67, 90, 214, .28);
}

.detail-page .btn--primary:hover{
  box-shadow:0 12px 20px rgba(67, 90, 214, .34);
}

@media (max-width:980px){
  .storeFeatureCard{
    grid-template-columns:1fr;
    padding:20px;
    border-radius:20px;
  }
  .storeFeatureCard__media{
    order:-1;
    border-radius:18px;
  }
  .storeGrid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .detail-hero__inner{
    grid-template-columns:1fr;
  }
  .detail-hero__media{
    min-height:320px;
  }
  .detail-grid{
    grid-template-columns:1fr;
  }
  .detail-page .container{
    width:min(960px, calc(100% - 30px));
  }
  .ingredient-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
  .ingredient-article__grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:720px){
  .storeSplitHead{
    flex-direction:column;
    align-items:flex-start;
  }
  .storeGrid{
    grid-template-columns:1fr;
  }
  .storeCard h3{
    font-size:22px;
  }
  .storeCard__stats{
    grid-template-columns:1fr;
  }
  .detail-hero{
    padding-top:0;
  }
  .detail-hero__inner{
    border-radius:0;
  }
  .detail-hero__content{
    padding:20px 16px;
  }
  .detail-hero__content h1{
    font-size:clamp(30px, 10vw, 44px);
  }
  .detail-hero__content > p{
    font-size:15px;
    line-height:1.66;
  }
  .detail-pricing{
    grid-template-columns:1fr 1fr;
  }
  .detail-card h2{
    font-size:26px;
  }
  .detail-section h3,
  .detail-gallery h3{
    font-size:24px;
  }
  .ingredient-showcase h3{
    font-size:24px;
  }
  .ingredient-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:8px;
  }
  .ingredient-orb{
    width:96px;
    height:96px;
  }
  .ingredient-orb__ring svg{
    width:96px;
    height:96px;
  }
  .ingredient-orb__core{
    width:64px;
    height:64px;
  }
  .ingredient-orb__core img{
    width:60px;
    height:60px;
  }
  .ingredient-hero__inner{
    padding:16px 12px;
  }
  .ingredient-hero__icon{
    height:140px;
  }
  .ingredient-hero__inner h1{
    font-size:clamp(28px, 8vw, 38px);
  }
  .ingredient-article__actions .btn{
    width:100%;
  }
  .detail-card,
  .detail-section{
    padding:14px;
  }
  .detail-card p,
  .detail-section p,
  .detail-auto-list li{
    font-size:15px;
    line-height:1.7;
  }
  .detail-links a{
    padding:10px 12px;
  }
  .detail-pricing div{
    padding:9px;
  }
}

/* Product-page redesign: minimal, gradient-led, no cards/borders */
.detail-page{
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  background:
    radial-gradient(1100px 560px at -5% 0%, rgba(255, 204, 220, .36), transparent 68%),
    radial-gradient(1000px 520px at 105% 0%, rgba(196, 226, 255, .34), transparent 70%),
    linear-gradient(180deg, #fffdfd 0%, #f7f9ff 50%, #f4f8ff 100%);
}

.detail-page .container{
  width:min(980px, calc(100% - 44px));
}

.detail-hero{
  padding:38px 0 14px;
}

.detail-hero__inner{
  grid-template-columns:minmax(0, 1.1fr) minmax(260px, .9fr);
  gap:28px;
  border:none;
  box-shadow:none;
  background:transparent;
  align-items:center;
}

.detail-hero__content{
  padding:0;
  color:#13233f;
}

.detail-hero__content h1,
.detail-card h2,
.detail-section h3,
.detail-gallery h3{
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  letter-spacing:-.02em;
  color:#13233f;
}

.detail-hero__content h1{
  font-size:clamp(36px, 5vw, 62px);
  max-width:15ch;
  line-height:1.04;
}

.detail-hero__content > p{
  font-size:18px;
  line-height:1.75;
  color:#42597b;
  margin-top:12px;
}

.detail-hero__price{
  color:#253f66;
  font-size:15px;
  margin-top:12px;
}

.detail-actions{
  margin-top:18px;
}

.detail-page .btn{
  border-radius:999px;
  border:none;
  box-shadow:none;
}

.detail-page .btn--primary{
  background:linear-gradient(120deg, #0f7be5 0%, #4d63ff 50%, #f4629d 100%);
  color:#fff;
}

.detail-page .btn--primary:hover{
  box-shadow:0 12px 26px rgba(77, 99, 255, .25);
}

.detail-hero__media{
  background:transparent;
  padding:0;
  display:flex;
  justify-content:center;
}

.detail-hero__media img{
  width:min(100%, 460px);
  max-height:440px;
  filter:drop-shadow(0 24px 28px rgba(19, 35, 63, .18));
}

.detail-grid-wrap,
.detail-sections,
.detail-gallery{
  padding-top:12px;
}

.detail-card,
.detail-section{
  border:none;
  background:transparent;
  box-shadow:none;
  border-radius:0;
  padding:0;
}

.detail-card h2{
  font-size:clamp(30px, 4vw, 42px);
  margin:0 0 10px;
}

.detail-section{
  margin-top:26px;
}

.detail-section h3{
  font-size:clamp(26px, 3vw, 36px);
  margin:0 0 12px;
}

.detail-card p,
.detail-section p,
.detail-auto-list li{
  max-width:68ch;
  font-size:18px;
  line-height:1.86;
  color:#2e486f;
}

.detail-section p + p{
  margin-top:14px;
}

.detail-subhead{
  margin:18px 0 8px;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.11em;
  color:#5176a8;
  font-weight:800;
}

.detail-feature-list{
  margin:0 0 12px;
  padding-left:18px;
  display:grid;
  gap:10px;
}

.detail-feature-list li{
  color:#294668;
  line-height:1.72;
  font-size:17px;
}

.detail-feature-list strong{
  color:#13233f;
}

.detail-auto-list{
  margin-top:10px;
  gap:10px;
}

.detail-links{
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:10px;
}

.detail-links a{
  border:none;
  border-radius:999px;
  padding:10px 14px;
  background:linear-gradient(145deg, rgba(255,255,255,.86), rgba(237, 245, 255, .82));
  color:#24507e;
  font-weight:700;
  font-size:13px;
}

.detail-links a:hover{
  color:#16395f;
  background:linear-gradient(145deg, rgba(255,255,255,.94), rgba(231, 241, 255, .94));
}

.detail-gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  gap:10px;
  margin-top:2px;
}

.detail-gallery-item{
  position:relative;
  display:block;
  border-radius:14px;
  overflow:hidden;
  background:linear-gradient(165deg, rgba(255,255,255,.92), rgba(238, 245, 255, .82));
  min-height:160px;
}

.detail-gallery-item::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:32%;
  background:linear-gradient(180deg, rgba(18, 35, 63, 0), rgba(18, 35, 63, .14));
  pointer-events:none;
}

.detail-gallery-item img{
  width:100%;
  height:100%;
  min-height:160px;
  object-fit:contain;
  display:block;
}

.detail-gallery-item.is-hero-candidate{
  box-shadow:0 10px 22px rgba(56, 84, 136, .16);
}

.detail-gallery-item.is-label::before{
  content:"Label";
  position:absolute;
  top:8px;
  right:8px;
  font-size:10px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:800;
  color:#fff;
  background:rgba(20, 36, 63, .72);
  padding:6px 7px;
  border-radius:999px;
  z-index:1;
}

.detail-doc-links{
  margin-top:10px;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:10px;
}

.detail-doc-links a{
  border:none;
  border-radius:999px;
  padding:10px 14px;
  background:linear-gradient(145deg, rgba(255,255,255,.86), rgba(237, 245, 255, .82));
  color:#24507e;
  font-weight:700;
  font-size:13px;
}

.detail-doc-links a:hover{
  color:#16395f;
  background:linear-gradient(145deg, rgba(255,255,255,.94), rgba(231, 241, 255, .94));
}

@media (max-width:980px){
  .detail-page .container{
    width:min(920px, calc(100% - 34px));
  }
  .detail-hero__inner{
    grid-template-columns:1fr;
    gap:16px;
  }
  .detail-hero__media{
    order:-1;
  }
}

@media (max-width:720px){
  .detail-page .container{
    width:min(720px, calc(100% - 24px));
  }
  .detail-hero{
    padding-top:18px;
  }
  .detail-hero__content h1{
    font-size:clamp(30px, 10vw, 42px);
  }
  .detail-hero__content > p,
  .detail-card p,
  .detail-section p,
  .detail-auto-list li{
    font-size:16px;
    line-height:1.72;
  }
  .detail-section{
    margin-top:20px;
  }
}

/* Store refresh: modern, less boxy presentation */
.storePage{
  background:
    radial-gradient(960px 520px at 4% 0%, rgba(255, 203, 223, .28), transparent 68%),
    radial-gradient(980px 520px at 100% 0%, rgba(199, 226, 255, .3), transparent 70%),
    linear-gradient(180deg, #fffdfd 0%, #f7f9ff 52%, #f5f8ff 100%);
}

.storeHero{
  padding-top:20px;
  padding-bottom:14px;
}

.storeControls{
  border:none;
  border-radius:26px;
  padding:12px;
  background:linear-gradient(160deg, rgba(255,255,255,.7), rgba(255,255,255,.44));
  backdrop-filter:blur(8px);
  box-shadow:0 12px 28px rgba(34, 58, 94, .08);
}

.search input{
  border-radius:999px;
  border:1px solid rgba(97, 124, 171, .14);
  background:rgba(255,255,255,.86);
  color:#1d365a;
  font-size:14px;
  font-weight:600;
}

.search input::placeholder{
  color:#6d85aa;
}

.storeSelectWrap{
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#6380a8;
}

.storeSelect{
  border:1px solid rgba(97, 124, 171, .14);
  border-radius:999px;
  background:rgba(255,255,255,.86);
  color:#1d365a;
  font-size:13px;
}

.filters{
  gap:6px;
}

.chip{
  padding:8px 12px;
  font-size:11px;
  letter-spacing:.05em;
  text-transform:uppercase;
  border:1px solid rgba(98, 127, 176, .14);
  background:rgba(255,255,255,.76);
  color:#4c668c;
}

.chip.isActive{
  border-color:transparent;
  background:linear-gradient(122deg, rgba(23, 127, 228, .12), rgba(77, 99, 255, .14), rgba(242, 98, 157, .12));
  color:#193d69;
}

.storeFeatureCard{
  border:none;
  border-radius:30px;
  padding:22px;
  background:
    radial-gradient(780px 320px at 12% 8%, rgba(255, 170, 210, .2), transparent 62%),
    radial-gradient(660px 320px at 86% 90%, rgba(170, 205, 255, .2), transparent 62%),
    linear-gradient(160deg, rgba(255,255,255,.76), rgba(255,255,255,.54));
  backdrop-filter:blur(7px);
  box-shadow:0 22px 40px rgba(27, 50, 84, .12);
}

.storeFeatureCard__content h2{
  font-size:clamp(30px, 4vw, 52px);
  letter-spacing:-.022em;
  color:#142f53;
}

.storeFeatureCard__content p{
  color:#3c577c;
  font-size:16px;
  line-height:1.66;
}

.storeFeatureCard__media{
  border-radius:24px;
  border:none;
  background:linear-gradient(165deg, rgba(255,255,255,.86), rgba(238, 246, 255, .72));
  box-shadow:inset 0 0 0 1px rgba(107, 139, 190, .1);
}

.storeGrid{
  gap:16px;
}

.storeGrid#storeProductGrid{
  display:block;
}

.storeGrid--routine{
  margin-top:10px;
}

.storeRoutineGroup + .storeRoutineGroup{
  margin-top:22px;
}

.storeRoutineGroup__title{
  margin:0;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:clamp(20px, 2.4vw, 30px);
  line-height:1.1;
  letter-spacing:-.012em;
  color:#17355d;
}

.storeCard{
  border:none;
  border-radius:24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.8), rgba(255,255,255,.62));
  backdrop-filter:blur(5px);
  box-shadow:0 16px 34px rgba(28, 54, 90, .11);
  transition:transform .22s ease, box-shadow .22s ease;
}

.storeCard:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 42px rgba(28, 54, 90, .16);
}

.storeCard__media{
  border-bottom:none;
  min-height:230px;
  background:
    radial-gradient(320px 180px at 50% 14%, rgba(179, 214, 255, .2), transparent 68%),
    radial-gradient(280px 140px at 80% 90%, rgba(255, 177, 219, .18), transparent 66%),
    rgba(255,255,255,.52);
}

.storeCard__media img{
  width:min(82%, 250px);
  max-height:194px;
}

.storeCard__body{
  padding:14px 14px 16px;
  gap:9px;
}

.storeCard h3{
  font-size:22px;
  line-height:1.1;
  letter-spacing:-.015em;
  color:#143055;
}

.storeCard p{
  color:#466084;
  line-height:1.58;
  font-size:14px;
}

.storeCard__stats{
  gap:6px;
}

.storeCard__stats div{
  border:none;
  border-radius:12px;
  background:rgba(255,255,255,.58);
  box-shadow:inset 0 0 0 1px rgba(103, 134, 182, .11);
}

.storeCard__stats span{
  color:#6681a7;
}

.storeCard__stats strong{
  font-size:17px;
  color:#153a64;
}

.storeCard__tags{
  gap:5px;
}

.storeCard__tags li{
  border:none;
  background:rgba(255,255,255,.62);
  color:#4f6b92;
  box-shadow:inset 0 0 0 1px rgba(96, 128, 176, .13);
}

.storeCard__actions .btn{
  border-radius:999px;
  min-height:44px;
  background:linear-gradient(120deg, #117de6 0%, #4d63ff 54%, #f5629d 100%);
  color:#fff;
  box-shadow:0 10px 24px rgba(77, 99, 255, .24);
}

.storeCard__actions .btn:hover{
  box-shadow:0 14px 28px rgba(77, 99, 255, .28);
}

@media (max-width:980px){
  .storeFeatureCard{
    padding:18px;
  }
}

@media (max-width:720px){
  .storeControls{
    border-radius:18px;
    padding:10px;
  }
  .storeCard{
    border-radius:20px;
  }
  .storeCard__media{
    min-height:210px;
  }
  .storeCard h3{
    font-size:21px;
  }
}

.storeCartToggle{
  white-space:nowrap;
}

.storeCartCount{
  display:inline-grid;
  place-items:center;
  min-width:24px;
  height:24px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  color:#fff;
  background:linear-gradient(122deg, #147fe7, #f05f99);
}

.storeCard__actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.storeCard__actions .btn{
  width:100%;
  min-height:42px;
}

.storeFeatureCard__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.storeCartOverlay{
  position:fixed;
  inset:0;
  background:rgba(12, 24, 44, .42);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
  z-index:80;
}

.storeCartOverlay.isOpen{
  opacity:1;
  pointer-events:auto;
}

.storeCart{
  position:fixed;
  top:0;
  right:0;
  width:min(420px, 100vw);
  height:100dvh;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(244, 249, 255, .94));
  backdrop-filter:blur(12px);
  box-shadow:-22px 0 44px rgba(20, 36, 64, .2);
  transform:translateX(100%);
  transition:transform .24s ease;
  z-index:90;
  display:grid;
  grid-template-rows:auto 1fr auto;
}

.storeCart.isOpen{
  transform:translateX(0);
}

.storeCart__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:14px;
  border-bottom:1px solid rgba(105, 136, 183, .18);
}

.storeCart__head h3{
  margin:0;
  font-size:22px;
  color:#14365f;
}

.storeCart__body{
  overflow:auto;
  padding:12px 12px 16px;
  display:grid;
  gap:10px;
  align-content:start;
}

.storeCartEmpty{
  padding:10px 4px;
}

.storeCartEmpty h4{
  margin:0 0 6px;
  font-size:18px;
  color:#1f416a;
}

.storeCartItem{
  display:grid;
  grid-template-columns:88px 1fr;
  gap:10px;
  padding:10px;
  border-radius:16px;
  background:rgba(255,255,255,.72);
  box-shadow:inset 0 0 0 1px rgba(98, 127, 175, .14);
}

.storeCartItem img{
  width:88px;
  height:88px;
  object-fit:contain;
}

.storeCartItem__content h4{
  margin:0;
  font-size:16px;
  color:#14365d;
}

.storeCartItem__content p{
  margin:4px 0 8px;
  font-size:13px;
  color:#4d6890;
}

.storeCartItem__content strong{
  display:block;
  margin-top:8px;
  color:#1a4a7d;
}

.storeCartItem__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
}

.storeCartItem__actions .btn{
  min-height:30px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
}

.storeCart__foot{
  border-top:1px solid rgba(105, 136, 183, .18);
  padding:12px;
  display:grid;
  gap:10px;
}

.storeCart__totals{
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#315482;
}

.storeCart__totals strong{
  color:#13345a;
  font-size:22px;
}

.storeCart__close{
  border-radius:999px;
}

@media (max-width:720px){
  .storeCard__actions{
    grid-template-columns:1fr;
  }
}

/* Premium refresh */
:root{
  --bg:#f7f0e8;
  --bg2:#efe3d6;
  --surface:#fffaf4;
  --surface-soft:#f4ece2;
  --text:#211814;
  --muted:#6f6258;
  --line:rgba(73, 51, 33, .08);
  --line-strong:rgba(73, 51, 33, .16);
  --primary:#d06e38;
  --primary2:#ecb26b;
  --accent:#f5c98d;
  --shadow:0 22px 60px rgba(71, 41, 17, .12);
  --radius:26px;
}

body{
  background:
    radial-gradient(circle at top left, rgba(245, 201, 141, .22), transparent 26%),
    radial-gradient(circle at 86% 16%, rgba(208, 110, 56, .18), transparent 22%),
    linear-gradient(180deg, #fbf5ef 0%, #f6ede4 44%, #f3e7db 100%);
  color:var(--text);
}

html::before{
  background:
    radial-gradient(circle at 50% 42%, rgba(255,255,255,0) 14%, rgba(33,20,13,.18) 60%, rgba(12,7,5,.42) 100%);
}

.promoBar{
  position:relative;
  z-index:60;
  background:linear-gradient(90deg, #201612, #3a2318 52%, #6d3c1e 100%);
  color:#f9efe7;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.promoBar__inner{
  min-height:42px;
  display:flex;
  gap:18px;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.promoBar__inner a{
  color:#ffd9a9;
}

.topbar{
  background:rgba(251, 245, 239, .82);
  border-bottom:1px solid rgba(84, 55, 34, .08);
  box-shadow:0 14px 36px rgba(61, 39, 25, .08);
}

.brand__logo{
  box-shadow:0 10px 24px rgba(88, 56, 29, .12);
}

.nav a,
.mobileNav a{
  letter-spacing:.02em;
}

.btn{
  border-radius:999px;
  padding:12px 18px;
}

.btn--primary{
  background:linear-gradient(135deg, #b95c2b, #e9a152 55%, #f1be7a);
  box-shadow:0 18px 34px rgba(185, 92, 43, .28);
}

.btn--secondary{
  background:rgba(255, 250, 244, .84);
  color:#2f2018;
  box-shadow:inset 0 0 0 1px rgba(69, 48, 31, .12);
}

.moodHero{
  padding:0 0 18px;
}

.moodHero__panel{
  min-height:680px;
  background-position:center 28%;
}

.moodHero__overlay{
  background:
    radial-gradient(680px 360px at 52% 44%, rgba(255, 244, 220, .26), transparent 70%),
    radial-gradient(680px 360px at 16% 28%, rgba(247, 205, 140, .26), transparent 72%),
    radial-gradient(520px 300px at 82% 76%, rgba(199, 102, 52, .26), transparent 62%),
    linear-gradient(98deg, rgba(16, 12, 11, .78) 0%, rgba(31, 25, 26, .58) 44%, rgba(31, 26, 25, .24) 100%);
}

.moodHero__layout{
  min-height:680px;
  gap:42px;
  padding:52px 0 44px;
}

.moodHero__content{
  max-width:740px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}

.moodHero__eyebrow{
  margin:0 0 12px;
  padding:8px 14px;
  background:rgba(255, 245, 234, .10);
  border:1px solid rgba(255, 220, 188, .32);
  border-radius:999px;
  color:#ffe4c2;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.moodHero__logo{
  width:360px !important;
  margin:0 0 -8px 0;
  filter:drop-shadow(0 12px 30px rgba(0,0,0,.24));
}

.moodHero__title{
  max-width:11ch;
  font-family:var(--font-display);
  font-size:clamp(56px, 7vw, 104px);
  letter-spacing:-.045em;
  text-shadow:0 18px 38px rgba(0,0,0,.34);
}

.moodHero__subtitle{
  max-width:62ch;
  margin-top:4px;
  font-size:19px;
  line-height:1.55;
  color:rgba(252, 246, 240, .92);
}

.moodHero__actions{
  margin-top:6px;
}

.heroMetrics{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  width:min(720px, 100%);
  margin-top:22px;
}

.heroMetric{
  padding:18px 18px 16px;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.06));
  border:1px solid rgba(255, 238, 221, .16);
  backdrop-filter:blur(16px);
  box-shadow:0 18px 30px rgba(0,0,0,.12);
}

.heroMetric strong{
  display:block;
  font-family:var(--font-display);
  font-size:24px;
  color:#fff8ef;
  letter-spacing:-.03em;
}

.heroMetric span{
  display:block;
  margin-top:6px;
  font-size:13px;
  line-height:1.5;
  color:rgba(255, 244, 233, .82);
}

.heroSocials{
  margin-top:4px;
}

.heroSocial{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
}

.heroFloat{
  gap:16px;
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.heroFloat__item{
  border-radius:26px;
  background:linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(14px);
  box-shadow:0 22px 40px rgba(0,0,0,.14);
}

.trustRibbon{
  padding:14px 0 22px;
}

.trustRibbon__inner{
  display:grid;
  grid-template-columns:minmax(280px, .9fr) 1.1fr;
  gap:26px;
  align-items:start;
  padding:28px 30px;
  border-radius:34px;
  background:linear-gradient(140deg, rgba(255,250,244,.94), rgba(244,233,219,.92));
  box-shadow:var(--shadow);
  border:1px solid rgba(98, 68, 43, .08);
}

.trustRibbon__eyebrow,
.storeIntro__eyebrow{
  margin:0 0 10px;
  color:#9f5c33;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.trustRibbon__lead h2,
.storeIntro__card h2{
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(30px, 4.2vw, 48px);
  line-height:1.04;
  letter-spacing:-.035em;
}

.trustRibbon__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}

.trustRibbon__grid article,
.storeIntro__card{
  padding:20px 20px 18px;
  border-radius:24px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(82, 60, 43, .08);
}

.trustRibbon__grid strong{
  display:block;
  margin-bottom:8px;
  font-size:16px;
  font-weight:800;
}

.trustRibbon__grid p,
.storeIntro__card p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
}

.productShowcase{
  padding:18px 0 10px;
}

.productShowcase__inner{
  width:min(1240px, calc(100% - 44px));
  margin:0 auto;
  border-radius:34px;
  overflow:hidden;
  box-shadow:0 28px 70px rgba(61, 39, 25, .18);
}

.productSections{
  padding-top:30px;
}

.productSections__stack{
  gap:26px;
}

.productSection{
  border-radius:34px;
  overflow:hidden;
  box-shadow:0 24px 64px rgba(70, 43, 26, .16);
}

.productSection::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 48%, rgba(255, 251, 236, .42) 0%, rgba(255, 247, 224, .20) 34%, rgba(255, 244, 218, 0) 66%),
    radial-gradient(circle at 50% 50%, rgba(0, 0, 0, 0) 44%, rgba(18, 11, 8, .16) 78%, rgba(9, 5, 4, .34) 100%);
}

.productSection--noOverlay::before{
  display:block;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 252, 238, .34) 0%, rgba(255, 246, 224, .14) 40%, rgba(255, 244, 218, 0) 70%),
    radial-gradient(circle at 50% 50%, rgba(0, 0, 0, 0) 52%, rgba(14, 9, 7, .12) 80%, rgba(8, 5, 4, .26) 100%);
}

.productSection__panel{
  background:linear-gradient(160deg, rgba(22, 17, 15, .68), rgba(47, 35, 30, .44));
  backdrop-filter:blur(18px);
  border-radius:30px;
  padding:30px 30px 28px;
}

.productSection__panel--coffeeTextBg{
  background:linear-gradient(170deg, rgba(20,16,14,.72), rgba(50,34,24,.42));
}

.productSection__panel h3{
  font-family:var(--font-display);
  letter-spacing:-.03em;
}

.productSection__panel p{
  color:rgba(255, 246, 237, .88);
}

.productInfoList li{
  color:rgba(255, 246, 237, .92);
}

.productInfoIcon{
  background:rgba(255, 214, 166, .14);
  border-color:rgba(255, 233, 201, .20);
}

.productSectionMoreLink{
  background:rgba(255, 245, 232, .16);
  border-color:rgba(255, 232, 198, .22);
}

.productSectionInfo{
  background:transparent;
  padding-top:18px;
}

.productSectionInfo__content{
  padding:26px 28px;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,250,245,.9), rgba(246,238,229,.9));
  box-shadow:0 18px 50px rgba(77, 52, 33, .10);
}

.innerPageHero{
  padding-top:18px;
}

.innerPageHero__panel{
  width:min(880px, 100%);
  padding:24px 28px 26px;
  border-radius:30px;
  background:linear-gradient(160deg, rgba(24, 17, 15, .66), rgba(55, 38, 29, .40));
  border:1px solid rgba(255,239,220,.18);
  box-shadow:0 26px 60px rgba(31, 18, 10, .20);
}

.innerPageHero__panel h1{
  font-family:var(--font-display);
  font-size:clamp(42px, 5.6vw, 74px);
  letter-spacing:-.045em;
}

.innerPageHero__panel p{
  font-size:18px;
  line-height:1.72;
}

.storeIntro{
  padding-top:4px;
  padding-bottom:8px;
}

.storeIntro__grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:16px;
}

.storeIntro__card{
  padding:26px 26px 24px;
  border-radius:28px;
  box-shadow:0 18px 46px rgba(77, 52, 33, .10);
}

.storeIntro__card--accent{
  background:linear-gradient(135deg, rgba(229, 175, 106, .18), rgba(208, 110, 56, .10), rgba(255,255,255,.72));
}

.storeHero{
  padding-top:10px;
}

.storeControls{
  padding:18px;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,251,246,.96), rgba(245,237,227,.94));
  border:1px solid rgba(75, 52, 35, .08);
  box-shadow:0 20px 48px rgba(77, 52, 33, .10);
}

.search input{
  min-height:58px;
  border-radius:18px;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(84, 57, 37, .08);
  font-size:16px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.32);
}

.search input::placeholder{
  color:#8a7b70;
}

.chip{
  border-radius:999px;
  background:rgba(255,255,255,.70);
  border:1px solid rgba(84, 57, 37, .08);
  color:#5a4c42;
  font-weight:700;
}

.chip.isActive{
  background:linear-gradient(135deg, #b95c2b, #e3a055);
  color:#fff9f2;
  box-shadow:0 14px 24px rgba(185, 92, 43, .22);
}

.storeFeatured{
  padding:0;
}

.storeSplitHead{
  align-items:end;
  margin-bottom:18px;
}

.storeSectionTitle{
  font-family:var(--font-display);
  font-size:clamp(30px, 3.4vw, 46px);
  letter-spacing:-.035em;
}

.storeGrid{
  gap:18px;
}

.storeRoutineGroup + .storeRoutineGroup{
  margin-top:34px;
}

.storeRoutineGroup__title{
  margin:0 0 14px;
  font-family:var(--font-display);
  font-size:28px;
  letter-spacing:-.03em;
}

.storeCard{
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,251,246,.95), rgba(245,237,227,.95));
  border:1px solid rgba(78, 54, 36, .08);
  box-shadow:0 18px 44px rgba(77, 52, 33, .10);
}

.storeCard:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 60px rgba(77, 52, 33, .14);
}

.storeCard__media{
  padding:18px 18px 0;
  min-height:280px;
}

.storeCard__media img{
  filter:drop-shadow(0 18px 28px rgba(75, 48, 26, .16));
}

.storeCard__body{
  padding:18px 18px 20px;
}

.storeCard h3{
  font-family:var(--font-display);
  font-size:29px;
  line-height:1.04;
  letter-spacing:-.03em;
}

.storeCard p{
  margin-top:10px;
  font-size:15px;
  line-height:1.72;
  color:#67584e;
}

.storeCard__stats{
  gap:10px;
}

.storeCard__stats div{
  border-radius:18px;
  background:rgba(255,255,255,.64);
  border:1px solid rgba(84, 57, 37, .06);
}

.storeCard__tags li{
  background:rgba(214, 178, 140, .18);
  color:#66472d;
  font-weight:700;
}

.storeCard__actions .btn{
  min-height:48px;
}

.footer{
  margin-top:28px;
}

@media (max-width: 980px){
  .heroMetrics,
  .trustRibbon__grid,
  .storeIntro__grid{
    grid-template-columns:1fr;
  }

  .trustRibbon__inner{
    grid-template-columns:1fr;
  }

  .moodHero__panel,
  .moodHero__layout{
    min-height:auto;
  }

  .moodHero__layout{
    grid-template-columns:1fr;
    padding:42px 0 34px;
  }

  .moodHero__title{
    max-width:none;
  }

  .heroFloat{
    width:100%;
  }

  .storeControls{
    grid-template-columns:1fr;
  }
}

@media (max-width: 720px){
  .promoBar__inner{
    justify-content:flex-start;
    padding:8px 0;
    font-size:11px;
  }

  .moodHero__panel{
    border-radius:0 0 28px 28px;
  }

  .moodHero__logo{
    width:260px !important;
  }

  .heroMetrics{
    gap:10px;
  }

  .heroMetric{
    padding:15px 15px 14px;
  }

  .trustRibbon__inner,
  .storeIntro__card,
  .storeControls,
  .storeCard{
    border-radius:22px;
  }

  .productShowcase__inner,
  .productSection,
  .productSection__panel{
    border-radius:24px;
  }

  .storeCard__media{
    min-height:220px;
  }

  .storeCard h3{
    font-size:24px;
  }
}

/* Let the rotating coffee visual break the section frame and overlap adjacent cards. */
.productSections__stack,
.productSection--coffeeSplit,
.productSection--coffeeSplit .productSection__content,
.productSection--coffeeSplit .productSection__sideVisual{
  overflow:visible;
}

.productSection--coffeeSplit{
  position:relative;
  z-index:4;
}

.productSection--coffeeSplit .productSection__sideVisual,
.productSection--coffeeSplit .coffeeVisual{
  position:relative;
  z-index:5;
}

/* Render heavy lower-page blocks on demand to cut initial paint cost. */
.productSectionInfo,
.faq,
.footer{
  content-visibility:auto;
  contain-intrinsic-size:1px 760px;
}

/* Final lock: keep coffee image + benefits centered in the right column on desktop. */
@media (min-width: 981px){
  .productSection--coffeeSplit .productSection__sideVisual{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    position:relative !important;
    width:100% !important;
    min-height:700px !important;
    margin:0 !important;
    padding:0 !important;
  }

  .productSection--coffeeSplit .coffeeVisual{
    position:absolute !important;
    top:50% !important;
    left:50% !important;
    width:min(90%, 560px) !important;
    height:min(90vw, 560px) !important;
    max-height:560px !important;
    margin:0 !important;
    transform:translate(-50%, -50%) !important;
    overflow:visible !important;
  }

  .productSection--coffeeSplit .coffeeVisual--image,
  .productSection--coffeeSplit .coffeeVisual--benefits{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
  }

  .productSection--coffeeSplit .coffeeVisual--image{
    opacity:1 !important;
    transform:translateX(0) !important;
    transition:transform .7s cubic-bezier(.19,.95,.24,1), opacity .45s ease !important;
  }

  .productSection--coffeeSplit .coffeeVisual--image img{
    width:140% !important;
    max-width:none !important;
    margin:0 auto !important;
    height:auto !important;
    transform:translateX(-100px) !important;
  }

  .productSection--coffeeSplit .coffeeVisual--benefits{
    opacity:0 !important;
    transform:translateX(115%) !important;
    transition:transform .7s cubic-bezier(.19,.95,.24,1), opacity .45s ease !important;
    pointer-events:none !important;
  }

  .productSection--coffeeSplit.isBenefitsVisible .coffeeVisual--image{
    opacity:0 !important;
    transform:translateX(-115%) !important;
  }

  .productSection--coffeeSplit.isBenefitsVisible .coffeeVisual--benefits{
    opacity:1 !important;
    transform:translateX(0) !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .topbarVine__stem,
  .topbarVine__leaf,
  .topbarVine__flower{
    animation:none !important;
  }

  .topbarVine__stem{
    stroke-dashoffset:0;
    opacity:.72;
  }

  .topbarVine__leaf{
    opacity:.72;
    transform:none;
  }

  .topbarVine__flower{
    opacity:.82;
    transform:none;
  }
}

@media (max-width: 720px){
  .topbarVine{
    opacity:.5;
  }

  .topbarVine__stem{
    stroke-width:2.2;
  }
}

/* Equal spacing lock for left hero stack: logo, wordmark, tagline, CTA images, socials */
.moodHero__content{
  gap:3px !important;
}

.moodHero__logo,
.heroWordmark,
.heroWordmark__subtitle,
.moodHero__actions,
.heroSocials{
  margin:0 !important;
}

.heroWordmark{
  display:flex;
  flex-direction:column;
  gap:3px;
}

/* Scroll-reactive doodle overlays for sections below hero */
.doodleHost{
  position:relative;
  isolation:isolate;
}

.doodleCanvas{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  opacity:.82;
}

.doodleHost > :not(.doodleCanvas){
  position:relative;
  z-index:2;
}
