/* =============================================
   HEALTHY RITUALS — DISTINCTIVE PREMIUM DESIGN
   Primary font: AlteHaas Grotesk throughout
   ============================================= */

@font-face {
  font-family: 'AlteHaas';
  src: url('Fonts/AlteHaasGroteskRegular.ttf') format('truetype');
  font-weight: 400; font-display: swap;
}
@font-face {
  font-family: 'AlteHaas';
  src: url('Fonts/AlteHaasGroteskBold.ttf') format('truetype');
  font-weight: 700; font-display: swap;
}

:root {
  --green: #1a2e05;
  --green2: #2d4a0a;
  --cream: #f5f0e8;
  --cream2: #ece5d8;
  --gold: #c8b560;
  --dark: #0c0c0c;
  --grey: #777;
  --grey-light: #aaa;
  --border: rgba(26,46,5,0.08);
  --serif: 'AlteHaas', sans-serif;
  --sans: 'AlteHaas', sans-serif;
  --brand: 'AlteHaas', sans-serif;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --ease2: cubic-bezier(0.33, 1, 0.68, 1);
}

/* RESET */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:400;color:var(--dark);background:var(--cream);overflow-x:hidden;line-height:1.65;font-size:16px}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
ul,ol{list-style:none}

/* LAYOUT */
.wrap{max-width:1400px;margin:0 auto;padding:0 80px}
.wrap--narrow{max-width:900px;margin:0 auto;padding:0 80px}

/* TYPOGRAPHY */
.tag {
  font-family: var(--brand);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--green2);
  display: block;
  margin-bottom: 20px;
}
.tag--light { color: var(--gold); }
.tag--gold { color: var(--gold); }

h2 {
  font-family: var(--sans);
  font-size: clamp(2.2rem, 4.5vw, 3.8rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--green);
  margin-bottom: 28px;
}
h2 em {
  font-style: normal;
  font-weight: 400;
}

/* BUTTON */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 36px;
  font-family: var(--brand);
  font-weight: 700;
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  background: var(--green);
  color: var(--cream);
  border: none;
  cursor: pointer;
  transition: all 0.4s var(--ease);
}
.btn:hover { background:var(--green2); transform:translateY(-2px); }
.btn--cream { background:var(--cream); color:var(--green); }
.btn--cream:hover { background:var(--gold); color:var(--green); }

/* ============ LOADER ============ */
.loader {
  position: fixed; inset:0; z-index:9999;
  background: var(--green);
  display: flex; align-items:center; justify-content:center;
  transition: opacity 0.6s var(--ease), visibility 0.6s;
}
.loader.is-done { opacity:0; visibility:hidden; pointer-events:none; }
.loader__logo img {
  height: 48px; width: auto;
  filter: brightness(0) invert(1);
  opacity: 0;
  animation: loaderFade 1s 0.2s var(--ease) forwards;
}
@keyframes loaderFade {
  from{opacity:0;transform:scale(0.92)} to{opacity:1;transform:scale(1)}
}

/* ============ NAV ============ */
.nav {
  position:fixed;top:0;left:0;width:100%;z-index:100;
  padding:24px 0;
  transition:all 0.5s var(--ease);
}
.nav.is-scrolled {
  padding:14px 0;
  background:rgba(245,240,232,0.92);
  backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);
  box-shadow:0 1px 0 rgba(0,0,0,0.04);
}
.nav__inner {
  max-width:1400px;margin:0 auto;padding:0 80px;
  display:flex;align-items:center;justify-content:space-between;
}
.nav__logo img {
  height:42px;width:auto;
  filter:brightness(0) invert(1);
  transition:filter 0.5s;
}
.nav.is-scrolled .nav__logo img {
  filter:brightness(0) saturate(100%) invert(13%) sepia(38%) saturate(2200%) hue-rotate(67deg) brightness(94%) contrast(98%);
}

.nav__center {display:flex;gap:32px}
.nav__center a, .nav__shop {
  font-family:var(--brand);
  font-size:0.68rem;font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;
  color:rgba(245,240,232,0.65);
  transition:color 0.3s;
}
.nav__center a:hover, .nav__shop:hover { color:var(--cream); }
.nav.is-scrolled .nav__center a, .nav.is-scrolled .nav__shop { color:var(--grey); }
.nav.is-scrolled .nav__center a:hover, .nav.is-scrolled .nav__shop:hover { color:var(--dark); }

.nav__shop {
  padding:9px 22px;
  border:1px solid rgba(245,240,232,0.2);
}
.nav.is-scrolled .nav__shop { border-color:var(--green); color:var(--green); }
.nav.is-scrolled .nav__shop:hover { background:var(--green);color:var(--cream); }

.nav__burger {
  display:none;background:none;border:none;cursor:pointer;
  width:26px;height:18px;position:relative;z-index:101;
}
.nav__burger span {
  display:block;width:100%;height:1.5px;
  background:var(--cream);position:absolute;left:0;
  transition:all 0.4s var(--ease);
}
.nav__burger span:first-child{top:3px}
.nav__burger span:last-child{bottom:3px}
.nav.is-scrolled .nav__burger span{background:var(--dark)}
.nav__burger.is-active span:first-child{top:50%;transform:translateY(-50%) rotate(45deg);background:var(--cream)}
.nav__burger.is-active span:last-child{bottom:50%;transform:translateY(50%) rotate(-45deg);background:var(--cream)}

.mob {
  position:fixed;inset:0;z-index:99;background:var(--green);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;
  opacity:0;pointer-events:none;transition:opacity 0.5s var(--ease);
}
.mob.is-active{opacity:1;pointer-events:all}
.mob__link {
  font-family:var(--sans);font-size:2rem;font-weight:400;
  color:var(--cream);opacity:0.6;transition:opacity 0.3s;
}
.mob__link:hover{opacity:1}

/* ============ HERO — Scroll-Expanding Video ============ */
.hero {
  position: relative;
  height: 100vh;
  min-height: 640px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--dark);
}

/* Background image behind the video */
.hero__bg-image {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero__bg-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.5) saturate(0.85);
}
.hero__bg-dim {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, rgba(10,10,10,0.2) 0%, rgba(10,10,10,0.6) 100%);
}

/* Expanding video container — starts small, grows to fill viewport */
.hero__media {
  position: relative;
  z-index: 1;
  width: 320px;
  height: 420px;
  border-radius: 20px;
  overflow: hidden;
  flex-shrink: 0;
  transition: border-radius 0.1s linear;
}
.hero__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hero__media-dim {
  position: absolute;
  inset: 0;
  background: rgba(10,10,10,0.5);
  pointer-events: none;
  transition: opacity 0.1s linear;
}

/* Title text overlay */
.hero__text {
  position: absolute;
  z-index: 2;
  text-align: center;
  color: var(--cream);
  pointer-events: none;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hero__tag {
  font-family: var(--brand);
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 24px;
  opacity: 0;
}
.hero__h1 {
  font-family: var(--sans);
  font-size: clamp(3rem, 6.5vw, 5.2rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.hero__word {
  display: inline-block;
  transition: transform 0.05s linear;
  will-change: transform;
  opacity: 0;
}
.hero__word--right em {
  font-style: italic;
  font-weight: 400;
}
.hero__sub {
  font-family: var(--sans);
  font-size: 0.95rem;
  font-weight: 400;
  color: rgba(245,240,232,0.55);
  line-height: 1.7;
  max-width: 420px;
  opacity: 0;
}
.hero__scroll-hint {
  position: absolute;
  bottom: -80px;
  font-family: var(--brand);
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(245,240,232,0.35);
  animation: hintPulse 2.4s ease-in-out infinite;
}
@keyframes hintPulse {
  0%,100% { opacity: 0.25; }
  50% { opacity: 0.7; }
}

/* When hero is fully expanded, hide bg image and text */
.hero.is-expanded .hero__bg-image { opacity: 0; }
.hero.is-expanded .hero__text { opacity: 0; }
.hero.is-expanded .hero__media {
  border-radius: 0 !important;
}

/* ============ INTRO ============ */
.intro {
  padding:180px 0;
  text-align:center;
}
.intro__text {
  font-family:var(--sans);
  font-size:clamp(1.3rem,2.4vw,2.1rem);
  font-weight:400;line-height:1.75;
  color:var(--green);
}
.intro__text em { font-style:normal; }

/* ============ STORY ============ */
.story { padding:0 0 180px; }
.story__layout {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:140px;
  align-items:center;
}
.story__col--img { position:relative; }
.story__img--main {
  width:88%;aspect-ratio:3/4;overflow:hidden;
}
.story__img--main img {
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.4s var(--ease);
}
.story__img--main:hover img { transform:scale(1.02); }
.story__img--float {
  position:absolute;bottom:-60px;right:-20px;
  width:52%;aspect-ratio:3/4;overflow:hidden;
  box-shadow:0 40px 80px rgba(0,0,0,0.1);
}
.story__img--float img { width:100%;height:100%;object-fit:cover; }
.story__col--text h2 { margin-bottom:24px; }
.story__col--text p {
  font-size:0.95rem;color:var(--grey);line-height:1.85;margin-bottom:16px;
}
.story__stats {
  display:flex;gap:40px;margin-top:48px;
  padding-top:40px;border-top:1px solid var(--border);
}
.story__stat strong {
  display:block;
  font-family:var(--sans);
  font-size:2.6rem;font-weight:400;
  color:var(--green);line-height:1;margin-bottom:6px;
}
.story__stat span {
  font-size:0.68rem;font-weight:700;font-family:var(--brand);
  letter-spacing:0.1em;text-transform:uppercase;color:var(--grey);
  line-height:1.4;
}

/* ============ MARQUEE ============ */
.marquee {
  padding:20px 0;overflow:hidden;white-space:nowrap;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.marquee__track {
  display:inline-flex;align-items:center;gap:20px;
  animation:slide 30s linear infinite;
}
.marquee__track span {
  font-family:var(--sans);font-size:1.1rem;font-weight:400;
  font-style:normal;color:var(--green);
}
.marquee__sep { color:var(--gold);font-style:normal; }
@keyframes slide {
  0%{transform:translateX(0)} 100%{transform:translateX(-50%)}
}

/* ============ BLEED ============ */
.bleed {
  position:relative;margin:120px 0;
  height:70vh;overflow:hidden;
}
.bleed img {
  width:100%;height:100%;object-fit:cover;
  object-position:center 35%;
  transition:transform 1.2s var(--ease);
}
.bleed__overlay {
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(26,46,5,0.4);
}
.bleed blockquote {
  font-family:var(--sans);
  font-size:clamp(1.4rem,3vw,2.4rem);
  font-weight:400;font-style:normal;
  color:var(--cream);text-align:center;
  line-height:1.5;max-width:600px;padding:0 32px;
}

/* ============ PRODUCT ============ */
.product { padding:0 0 180px; }
.product__layout {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:120px;
  align-items:start;
}
.product__visual {
  aspect-ratio:4/5;overflow:hidden;
  position:sticky;top:120px;
}
.product__visual img {
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.4s var(--ease);
}
.product__visual:hover img { transform:scale(1.02); }
.product__detail { padding-top:40px; }
.product__detail p { font-size:0.95rem;color:var(--grey);line-height:1.85;margin-bottom:32px; }

.product__list { margin-bottom:40px; }
.product__row {
  display:flex;justify-content:space-between;align-items:center;
  padding:16px 0;border-bottom:1px solid var(--border);
}
.product__ingredient {
  font-family:var(--sans);font-size:1.15rem;font-weight:400;color:var(--green);
}
.product__benefit {
  font-size:0.78rem;font-weight:700;font-family:var(--brand);
  letter-spacing:0.08em;text-transform:uppercase;color:var(--grey);
}
.product__action {
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  flex-wrap:wrap;padding-top:20px;
}
.product__price {
  font-family:var(--sans);font-size:2rem;font-weight:400;color:var(--green);
}
.product__price small { font-size:0.85rem; }
.product__meta {
  display:block;font-size:0.72rem;font-family:var(--brand);
  color:var(--grey);letter-spacing:0.06em;margin-top:2px;
}

/* ============ BENEFITS ============ */
.benefits {
  position:relative;padding:160px 0;overflow:hidden;
}
.benefits__bg {
  position:absolute;inset:0;
  background:var(--green);
}
.benefits__bg::after {
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 30% 20%,rgba(200,181,96,0.06)0%,transparent 60%);
}
.benefits .wrap { position:relative;z-index:1; }
.benefits__head { margin-bottom:80px; }
.benefits__head h2 { color:var(--cream); }

.benefits__grid {
  display:grid;grid-template-columns:repeat(4,1fr);gap:48px;
}
.benefits__card {
  padding:44px 0;
  border-top:1px solid rgba(245,240,232,0.08);
}
.benefits__n {
  font-family:var(--brand);font-size:0.65rem;font-weight:700;
  letter-spacing:0.1em;color:var(--gold);
  display:block;margin-bottom:24px;
}
.benefits__card h3 {
  font-family:var(--sans);font-size:1.4rem;font-weight:400;
  color:var(--cream);line-height:1.2;margin-bottom:14px;
}
.benefits__card p {
  font-size:0.85rem;line-height:1.7;color:rgba(245,240,232,0.4);
}

/* ============ INGREDIENTS ============ */
.ingredients { padding:160px 0 120px; }
.ingredients__head { text-align:center;max-width:560px;margin:0 auto 80px; }
.ingredients__nav-wrap { position:relative; }
.ingredients__scroll {
  display:flex;gap:32px;overflow-x:auto;
  padding:0 80px 48px;scroll-snap-type:x mandatory;
  scrollbar-width:none;cursor:grab;
  scroll-behavior:smooth;
}
.ingredients__scroll::-webkit-scrollbar{display:none}
.ingredients__nav {
  position:absolute;top:calc(50% - 50px);transform:translateY(-50%);
  z-index:5;
  width:52px;height:52px;
  border-radius:50%;
  background:var(--cream);
  border:1px solid rgba(26,46,5,0.12);
  color:var(--green);
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all 0.3s var(--ease);
  box-shadow:0 6px 20px rgba(0,0,0,0.06);
}
.ingredients__nav svg { width:22px;height:22px; }
.ingredients__nav:hover {
  background:var(--green);color:var(--cream);
  border-color:var(--green);
  transform:translateY(-50%) scale(1.05);
}
.ingredients__nav--prev { left:24px; }
.ingredients__nav--next { right:24px; }

.ingredients__card {
  flex-shrink:0;width:320px;scroll-snap-align:start;
}
.ingredients__img {
  aspect-ratio:1;margin-bottom:18px;
  perspective:1400px;cursor:pointer;
}
.ingredients__flip {
  position:relative;width:100%;height:100%;
  transform-style:preserve-3d;
  transition:transform 0.9s cubic-bezier(0.65,0,0.35,1);
}
.ingredients__card.is-flipped .ingredients__flip {
  transform:rotateY(180deg);
}
.ingredients__face {
  position:absolute;inset:0;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  overflow:hidden;
}
.ingredients__face--front img {
  width:100%;height:100%;object-fit:cover;
  transition:transform 0.8s var(--ease);
}
.ingredients__card:hover .ingredients__face--front img { transform:scale(1.05); }
.ingredients__hint {
  position:absolute;bottom:14px;right:14px;
  font-family:var(--brand);font-size:0.58rem;font-weight:600;
  letter-spacing:0.16em;text-transform:uppercase;
  color:var(--cream);background:rgba(12,12,12,0.55);
  padding:7px 11px;border-radius:99px;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  opacity:0;transform:translateY(4px);
  transition:opacity 0.35s,transform 0.35s;
  pointer-events:none;
}
.ingredients__card:hover .ingredients__hint{opacity:1;transform:translateY(0)}
.ingredients__card.is-flipped .ingredients__hint{opacity:0}
.ingredients__face--back {
  transform:rotateY(180deg);
  background:
    radial-gradient(circle at 85% 15%, rgba(200,181,96,0.18) 0%, transparent 55%),
    linear-gradient(160deg, #f7f1e6 0%, #e9dcc1 100%);
  color:var(--green);
  padding:38px 30px 34px;
  display:flex;flex-direction:column;justify-content:center;
  border:1px solid rgba(200,181,96,0.35);
  box-shadow:inset 0 0 60px rgba(26,46,5,0.04);
}
.ingredients__face--back h4 {
  font-family:var(--brand);font-size:0.62rem;font-weight:700;
  letter-spacing:0.26em;text-transform:uppercase;
  color:var(--gold);margin-bottom:26px;
  position:relative;padding-bottom:14px;
}
.ingredients__face--back h4::after {
  content:"";position:absolute;left:0;bottom:0;
  width:36px;height:1px;background:var(--gold);
}
.ingredients__face--back ul {
  list-style:none;padding:0;margin:0;
}
.ingredients__face--back li {
  font-size:0.95rem;line-height:1.45;font-weight:400;
  color:var(--green);
  padding:8px 0 8px 22px;position:relative;
}
.ingredients__face--back li::before {
  content:"";position:absolute;left:0;top:18px;
  width:10px;height:1px;background:var(--gold);
}
.ingredients__card h3 {
  font-family:var(--sans);font-size:1.1rem;font-weight:400;
  color:var(--green);margin-bottom:4px;
}
.ingredients__card p { font-size:0.8rem;color:var(--grey); }

/* ============ HOW TO USE ============ */
.howto {
  padding:140px 0 160px;
  background:var(--cream2);
  position:relative;
}
.howto__head {
  text-align:center;max-width:560px;margin:0 auto 90px;
}
.howto__grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:64px;
  max-width:1100px;margin:0 auto;
}
.howto__step {
  padding:48px 0 0;
  border-top:1px solid rgba(26,46,5,0.12);
}
.howto__n {
  font-family:var(--brand);font-size:0.65rem;font-weight:700;
  letter-spacing:0.18em;color:var(--gold);
  display:block;margin-bottom:28px;
}
.howto__step h3 {
  font-family:var(--sans);font-size:1.6rem;font-weight:400;
  color:var(--green);line-height:1.2;margin-bottom:16px;
}
.howto__step p {
  font-size:0.92rem;line-height:1.7;color:var(--grey);
  max-width:280px;
}

/* ============ INGREDIENT FOCUS VIDEO ============ */
.ifocus {
  padding:160px 0;
  background:var(--cream);
}
.ifocus__layout {
  display:grid;grid-template-columns:1fr 1fr;gap:80px;
  align-items:center;
}
.ifocus__video {
  aspect-ratio:1/1;
  overflow:hidden;
  background:var(--cream2);
  position:relative;
}
.ifocus__video video {
  width:100%;height:100%;object-fit:cover;display:block;
}
.ifocus__copy h2 { margin-bottom:28px; }
.ifocus__copy p {
  font-size:1rem;line-height:1.75;color:var(--grey);
  margin-bottom:36px;max-width:440px;
}
.ifocus__list {
  list-style:none;padding:0;
}
.ifocus__list li {
  display:flex;align-items:baseline;gap:18px;
  padding:18px 0;
  border-top:1px solid rgba(26,46,5,0.1);
  font-family:var(--sans);font-size:1.02rem;font-weight:400;
  color:var(--green);line-height:1.5;
}
.ifocus__list li:last-child { border-bottom:1px solid rgba(26,46,5,0.1); }
.ifocus__list li span {
  font-family:var(--brand);font-size:0.62rem;font-weight:700;
  letter-spacing:0.18em;color:var(--gold);
  flex-shrink:0;
}

/* ============ GALLERY ============ */
.gallery { padding:0 80px;margin-bottom:160px; }
.gallery__row {
  display:grid;gap:16px;margin-bottom:16px;
  height:62vh;min-height:480px;max-height:680px;
}
.gallery__row:first-child { grid-template-columns:1.6fr 1fr; }
.gallery__row--offset { grid-template-columns:1fr 1.6fr; }
.gallery__item { overflow:hidden;height:100%; }
.gallery__item img {
  width:100%;height:100%;object-fit:cover;
  transition:transform 1s var(--ease);
}
.gallery__item:hover img { transform:scale(1.03); }

/* ============ REVIEWS ============ */
.reviews {
  padding:160px 0;
  background:var(--cream);
  position:relative;
  overflow:hidden;
}
.reviews__bg-glow {
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 20% 80%,rgba(200,181,96,0.06)0%,transparent 50%);
  pointer-events:none;
}
.reviews__head {
  text-align:center;margin-bottom:72px;position:relative;z-index:1;
}
.reviews__track-wrap {
  overflow:hidden;
  position:relative;
  z-index:1;
}
.reviews__track-wrap::before,
.reviews__track-wrap::after {
  content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none;
}
.reviews__track-wrap::before {
  left:0;background:linear-gradient(to right,var(--cream),transparent);
}
.reviews__track-wrap::after {
  right:0;background:linear-gradient(to left,var(--cream),transparent);
}
.reviews__track {
  display:flex;gap:28px;
  animation:reviewsScroll 40s linear infinite;
  width:max-content;
}
.reviews__track:hover { animation-play-state:paused; }
@keyframes reviewsScroll {
  0% { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}
.reviews__card {
  flex-shrink:0;width:400px;
  padding:44px 40px;
  background:#fff;
  border-radius:12px;
  box-shadow:0 2px 20px rgba(26,46,5,0.04);
  border:1px solid rgba(26,46,5,0.05);
  transition:all 0.4s var(--ease);
}
.reviews__card:hover {
  transform:translateY(-4px);
  box-shadow:0 12px 40px rgba(26,46,5,0.08);
}
.reviews__stars {
  color:var(--gold);font-size:0.85rem;letter-spacing:4px;margin-bottom:20px;
}
.reviews__title {
  font-family:var(--sans);font-size:1.05rem;font-weight:700;
  color:var(--green);margin-bottom:12px;
}
.reviews__card p {
  font-family:var(--sans);font-size:0.88rem;font-weight:400;
  line-height:1.8;color:var(--grey);margin-bottom:28px;
}
.reviews__card cite {
  font-family:var(--brand);font-style:normal;
  font-size:0.62rem;font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;
  color:var(--green);
  display:flex;align-items:center;gap:10px;
}
.reviews__card cite::before {
  content:'';display:block;width:16px;height:1px;
  background:var(--green);opacity:0.25;
}
.reviews__badge {
  display:inline-block;
  font-family:var(--brand);font-size:0.52rem;font-weight:700;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--green2);
  background:rgba(45,74,10,0.08);
  padding:4px 10px;margin-top:14px;
  border-radius:20px;
}

/* ============ FAQ ============ */
.faq {
  padding: 160px 0;
  background: var(--cream);
}
.faq__head {
  text-align: center;
  margin-bottom: 72px;
}
.faq__list {
  max-width: 800px;
  margin: 0 auto;
}
.faq__item {
  border-bottom: 1px solid var(--border);
}
.faq__item:first-child {
  border-top: 1px solid var(--border);
}
.faq__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 28px 0;
  font-family: var(--sans);
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--green);
  cursor: pointer;
  list-style: none;
  transition: color 0.3s;
}
.faq__q::-webkit-details-marker { display: none; }
.faq__q::after {
  content: '+';
  font-family: var(--sans);
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--grey-light);
  transition: transform 0.3s var(--ease);
  flex-shrink: 0;
  margin-left: 24px;
}
.faq__item[open] .faq__q::after {
  content: '−';
  transform: rotate(180deg);
}
.faq__item[open] .faq__q {
  color: var(--green2);
}
.faq__a {
  padding: 0 0 28px;
}
.faq__a p {
  font-size: 0.92rem;
  line-height: 1.75;
  color: var(--grey);
  max-width: 620px;
}

/* ============ CTA ============ */
.cta {
  position:relative;padding:180px 0;text-align:center;overflow:hidden;
}
.cta__bg {
  position:absolute;inset:0;background:var(--green);
}
.cta__bg::after {
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 60% 50%,rgba(200,181,96,0.07)0%,transparent 55%);
}
.cta .wrap { position:relative;z-index:1; }
.cta__tag {
  font-family:var(--brand);font-size:0.6rem;font-weight:700;
  letter-spacing:0.35em;text-transform:uppercase;
  color:var(--gold);margin-bottom:20px;
}
.cta h2 { color:var(--cream);margin-bottom:12px; }
.cta__sub { color:rgba(245,240,232,0.45);font-size:1rem;margin-bottom:44px; }

/* ============ FOOTER ============ */
.footer {
  padding:96px 0 36px;background:var(--dark);
  position:relative;overflow:hidden;
}
.footer::before {
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:120px;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  opacity:0.6;
}
.footer__top {
  display:grid;grid-template-columns:1.3fr 2fr;gap:80px;
  padding-bottom:64px;border-bottom:1px solid rgba(255,255,255,0.08);
}
.footer__logo {
  height:60px;width:auto;
  filter:brightness(0) invert(1);
  margin-bottom:20px;opacity:0.92;
}
.footer__brand p {
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:1.05rem;color:rgba(245,240,232,0.55);
  line-height:1.5;max-width:320px;
}
.footer__links { display:grid;grid-template-columns:repeat(3,1fr);gap:40px; }
.footer__col span {
  display:block;font-family:var(--brand);
  font-size:0.62rem;font-weight:700;
  letter-spacing:0.22em;text-transform:uppercase;
  color:var(--gold);margin-bottom:20px;
}
.footer__col a {
  display:block;font-size:0.92rem;
  color:rgba(245,240,232,0.55);margin-bottom:12px;
  transition:color 0.3s,transform 0.3s;
}
.footer__col a:hover { color:var(--cream);transform:translateX(3px); }
.footer__bottom {
  padding-top:32px;display:flex;justify-content:space-between;
  align-items:center;flex-wrap:wrap;gap:12px;
}
.footer__bottom p {
  font-size:0.72rem;color:rgba(245,240,232,0.35);
  letter-spacing:0.08em;margin:0;
}
.footer__bottom-tag {
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:0.85rem;color:rgba(200,181,96,0.7);
  letter-spacing:0.04em;
}

/* ============ RESPONSIVE ============ */
/* Large desktop */
@media(min-width:1600px){
  .wrap,.wrap--narrow{padding:0 120px}
  .nav__inner{padding:0 120px}
  .ingredients__scroll{padding:0 120px 48px}
  .gallery{padding:0 120px}
  .ingredients__card{width:360px}
}

@media(max-width:1024px){
  .wrap,.wrap--narrow{padding:0 36px}
  .nav__inner{padding:0 36px}
  .story__layout,.product__layout{grid-template-columns:1fr;gap:60px}
  .product__visual{position:static}
  .benefits__grid{grid-template-columns:repeat(2,1fr)}
  .ifocus__layout{grid-template-columns:1fr;gap:48px;max-width:560px;margin:0 auto}
  .howto__grid{grid-template-columns:1fr;gap:32px;max-width:480px}
  .footer__top{grid-template-columns:1fr;gap:48px}
  .footer__bottom{justify-content:center;text-align:center}
  .gallery{padding:0 36px}
  .full-image,.bleed{margin:80px 0}
  .ingredients__scroll{padding:0 36px 40px}
  .ingredients__card{width:280px}
}
@media(max-width:768px){
  .wrap,.wrap--narrow{padding:0 24px}
  .nav__inner{padding:0 24px}
  .nav__center,.nav__shop{display:none}
  .nav__burger{display:block}
  .intro{padding:120px 0}
  .story{padding:0 0 120px}
  .product{padding:0 0 120px}
  .benefits{padding:100px 0}
  .benefits__grid{grid-template-columns:1fr}
  .howto{padding:100px 0 110px}
  .ifocus{padding:100px 0}
  .ingredients{padding:100px 0 80px}
  .ingredients__scroll{padding:0 24px 36px}
  .ingredients__card{width:260px}
  .ingredients__nav{display:none}
  .gallery{padding:0 24px;margin-bottom:100px}
  .gallery__row:first-child,.gallery__row--offset{grid-template-columns:1fr;height:auto;max-height:none}
  .gallery__item{aspect-ratio:4/3;height:auto}
  .reviews{padding:0 0 100px}
  .reviews__card{width:300px}
  .cta{padding:120px 0}
  .bleed{height:50vh;margin:80px 0}
  .bleed img{object-position:center center}
  .story__img--float{position:relative;bottom:auto;right:auto;width:65%;margin-top:-40px;margin-left:auto}
  .story__stats{gap:24px}
  .story__stat strong{font-size:2rem}
  .footer__links{grid-template-columns:1fr;gap:32px}
}
@media(max-width:480px){
  .hero__h1{font-size:2.4rem}
  .hero__media{width:240px;height:340px}
  .ingredients__card{width:220px}
  .product__row{flex-direction:column;align-items:flex-start;gap:4px}
}

/* ============================================
   ABOUT PAGE
   ============================================ */

/* Solid nav variant for inner pages */
.nav--solid {
  background:rgba(245,240,232,0.92);
  backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);
  box-shadow:0 1px 0 rgba(0,0,0,0.04);
  padding:14px 0;
}
.nav--solid .nav__logo img {
  filter:brightness(0) saturate(100%) invert(13%) sepia(38%) saturate(2200%) hue-rotate(67deg) brightness(94%) contrast(98%);
}
.nav--solid .nav__center a, .nav--solid .nav__shop { color:var(--grey); }
.nav--solid .nav__center a:hover, .nav--solid .nav__shop:hover { color:var(--dark); }
.nav--solid .nav__shop { border-color:var(--green); color:var(--green); }
.nav--solid .nav__shop:hover { background:var(--green);color:var(--cream); }
.nav--solid .nav__center a.is-active { color:var(--green); }
.nav--solid .nav__burger span { background:var(--dark); }

.page-about { background:var(--cream); }

/* Hero */
.abt-hero {
  position:relative;
  min-height:88vh;
  display:flex;align-items:flex-end;
  overflow:hidden;
  padding:0 0 110px;
}
.abt-hero__img {
  position:absolute;inset:0;
}
.abt-hero__img img {
  width:100%;height:100%;object-fit:cover;
}
.abt-hero__overlay {
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(12,12,12,0.05) 0%,rgba(12,12,12,0.35) 50%,rgba(12,12,12,0.78) 100%);
}
.abt-hero__content {
  position:relative;z-index:1;color:var(--cream);
  max-width:880px;
}
.abt-hero__content .tag { color:var(--gold); margin-bottom:24px; }
.abt-hero__content h1 {
  font-family:var(--sans);
  font-size:clamp(2.8rem,6.5vw,5.6rem);
  font-weight:700;line-height:1.02;letter-spacing:-0.015em;
  color:var(--cream);
  margin-bottom:28px;
}
.abt-hero__content h1 em {
  font-family:var(--sans);
  font-style:italic;font-weight:300;
  color:var(--gold);
}
.abt-hero__content p {
  font-size:1.05rem;line-height:1.7;
  color:rgba(245,240,232,0.78);
  max-width:560px;
}

/* Origin */
.abt-origin {
  padding:140px 0;
  background:var(--cream);
}
.abt-origin__layout {
  display:grid;grid-template-columns:1.05fr 0.95fr;gap:88px;
  align-items:center;
}
.abt-origin__copy h2 { margin-bottom:32px; }
.abt-lead {
  font-size:1.18rem;line-height:1.65;color:var(--green);
  margin-bottom:22px;
}
.abt-origin__copy p {
  font-size:0.98rem;line-height:1.75;color:var(--grey);
  margin-bottom:18px;
}
.abt-origin__visual {
  position:relative;aspect-ratio:4/5;
  overflow:hidden;
}
.abt-origin__visual img {
  width:100%;height:100%;object-fit:cover;
}
.abt-origin__caption {
  position:absolute;bottom:18px;left:18px;
  font-family:var(--brand);font-size:0.62rem;font-weight:700;
  letter-spacing:0.22em;text-transform:uppercase;
  color:var(--cream);
  background:rgba(12,12,12,0.4);padding:8px 14px;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}

/* Pillars */
.abt-pillars {
  position:relative;padding:160px 0;overflow:hidden;
}
.abt-pillars__bg {
  position:absolute;inset:0;background:var(--green);
}
.abt-pillars__bg::after {
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 70% 30%,rgba(200,181,96,0.07)0%,transparent 60%);
}
.abt-pillars .wrap { position:relative;z-index:1; }
.abt-pillars__head { margin-bottom:80px;max-width:680px; }
.abt-pillars__head h2 { color:var(--cream); }
.abt-pillars__grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:56px;
}
.abt-pillar {
  padding:44px 0 0;
  border-top:1px solid rgba(245,240,232,0.1);
}
.abt-pillar__n {
  font-family:var(--brand);font-size:0.65rem;font-weight:700;
  letter-spacing:0.18em;color:var(--gold);
  display:block;margin-bottom:24px;
}
.abt-pillar h3 {
  font-family:var(--sans);font-size:1.45rem;font-weight:400;
  color:var(--cream);line-height:1.2;margin-bottom:16px;
}
.abt-pillar p {
  font-size:0.92rem;line-height:1.75;color:rgba(245,240,232,0.45);
}

/* Wide bleed image */
.abt-bleed {
  width:100%;height:78vh;overflow:hidden;
}
.abt-bleed img {
  width:100%;height:100%;object-fit:cover;
}

/* Voice / quote */
.abt-voice {
  padding:140px 0;background:var(--cream2);
  text-align:center;
}
.abt-voice blockquote {
  max-width:880px;margin:0 auto;
}
.abt-voice blockquote p {
  font-family:var(--sans);
  font-size:clamp(1.5rem,2.6vw,2.2rem);
  line-height:1.4;font-weight:400;
  color:var(--green);
  letter-spacing:-0.005em;
}
.abt-voice blockquote footer {
  margin-top:32px;
  font-family:var(--brand);font-size:0.62rem;font-weight:700;
  letter-spacing:0.22em;text-transform:uppercase;
  color:var(--gold);
}

/* Community */
.abt-community {
  padding:160px 0;
  background:var(--cream);
}
.abt-community__layout {
  display:grid;grid-template-columns:1fr 1fr;gap:88px;
  align-items:center;
}
.abt-community__visual {
  aspect-ratio:5/4;overflow:hidden;
}
.abt-community__visual img {
  width:100%;height:100%;object-fit:cover;
}
.abt-community__copy h2 { margin-bottom:28px; }
.abt-community__copy p {
  font-size:1rem;line-height:1.75;color:var(--grey);
  margin-bottom:18px;
}

/* About responsive */
@media(max-width:1024px){
  .abt-origin__layout,
  .abt-community__layout { grid-template-columns:1fr;gap:56px; }
  .abt-pillars__grid { grid-template-columns:1fr;gap:40px;max-width:540px; }
  .abt-hero { min-height:78vh;padding:0 0 80px; }
  .abt-bleed { height:60vh; }
}
@media(max-width:768px){
  .abt-origin,.abt-community { padding:100px 0; }
  .abt-pillars,.abt-voice { padding:100px 0; }
  .abt-hero { min-height:72vh; }
  .abt-bleed { height:46vh; }
}

/* ============ CART DRAWER ============ */
.nav__shop {
  background:none;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;
}
.nav__cart-count {
  display:inline-flex;align-items:center;justify-content:center;
  min-width:18px;height:18px;padding:0 5px;
  background:var(--gold);color:var(--green);
  border-radius:9px;
  font-family:var(--brand);font-size:0.62rem;font-weight:700;
  letter-spacing:0;line-height:1;
}
.mob__link--btn {
  background:none;border:none;cursor:pointer;padding:0;
  font-family:var(--sans);font-size:2rem;font-weight:400;
  color:var(--cream);opacity:0.6;transition:opacity 0.3s;
}
.mob__link--btn:hover { opacity:1; }
.footer__btn {
  display:block;background:none;border:none;cursor:pointer;
  padding:0;text-align:left;
  font-family:var(--sans);font-size:0.92rem;
  color:rgba(245,240,232,0.55);margin-bottom:12px;
  transition:color 0.3s, transform 0.3s;
}
.footer__btn:hover { color:var(--cream); transform:translateX(3px); }

.cart {
  position:fixed; inset:0; z-index:200;
  pointer-events:none;
}
.cart.is-open { pointer-events:auto; }
.cart__overlay {
  position:absolute; inset:0;
  background:rgba(12,12,12,0.55);
  opacity:0; transition:opacity 0.5s var(--ease);
}
.cart.is-open .cart__overlay { opacity:1; }
.cart__panel {
  position:absolute; top:0; right:0; bottom:0;
  width:min(480px, 100%);
  background:var(--cream);
  display:flex; flex-direction:column;
  transform:translateX(100%);
  transition:transform 0.55s var(--ease);
  box-shadow:-30px 0 60px rgba(12,12,12,0.18);
}
.cart.is-open .cart__panel { transform:translateX(0); }

.cart__header {
  padding:28px 32px 22px;
  display:flex; align-items:center; justify-content:space-between;
  border-bottom:1px solid rgba(26,46,5,0.08);
}
.cart__header h3 {
  font-family:var(--sans);font-size:1.4rem;font-weight:400;
  color:var(--green);
}
.cart__close {
  background:none;border:none;cursor:pointer;
  width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  color:var(--green);opacity:0.7;
  transition:opacity 0.3s, transform 0.3s;
}
.cart__close:hover { opacity:1; transform:rotate(90deg); }
.cart__close svg { width:20px;height:20px; }

.cart__body {
  flex:1;
  padding:28px 32px;
  overflow-y:auto;
  display:flex; flex-direction:column; gap:24px;
}
.cart__loading,
.cart__error,
.cart__empty {
  text-align:center;
  font-family:var(--serif);font-style:italic;font-weight:300;
  color:rgba(26,46,5,0.55);
  padding:40px 0;
}
.cart__error { color:#a64444; font-style:normal; font-family:var(--sans); }

/* Empty state product picker */
.cart__picker {
  display:flex;flex-direction:column;gap:20px;
}
.cart__picker-img {
  aspect-ratio:1;
  background:#e9e3d6;
  border-radius:6px;
  overflow:hidden;
}
.cart__picker-img img {
  width:100%;height:100%;object-fit:cover;
}
.cart__picker-title {
  font-family:var(--sans);font-size:1.4rem;font-weight:400;
  color:var(--green);line-height:1.2;
}
.cart__picker-meta {
  font-family:var(--brand);font-size:0.62rem;font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;
  color:rgba(26,46,5,0.55);
  margin-top:2px;
}

/* Plan toggle */
.cart__plans {
  display:grid;grid-template-columns:1fr 1fr;gap:8px;
  margin-top:8px;
}
.cart__plan {
  position:relative;
  border:1px solid rgba(26,46,5,0.18);
  background:transparent;cursor:pointer;
  padding:14px 14px 12px;border-radius:4px;
  text-align:left;
  transition:border-color 0.3s, background 0.3s;
}
.cart__plan:hover { border-color:var(--green); }
.cart__plan.is-active {
  border-color:var(--green);
  background:rgba(26,46,5,0.04);
}
.cart__plan-label {
  display:block;
  font-family:var(--brand);font-size:0.6rem;font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;
  color:var(--green);margin-bottom:4px;
}
.cart__plan-price {
  font-family:var(--sans);font-size:1rem;font-weight:400;
  color:var(--green);
}
.cart__plan-save {
  display:block;
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:0.78rem;color:var(--gold);margin-top:2px;
}

/* Quantity stepper */
.cart__qty {
  display:inline-flex;align-items:center;
  border:1px solid rgba(26,46,5,0.2);
  border-radius:30px;
  overflow:hidden;
}
.cart__qty button {
  background:none;border:none;cursor:pointer;
  width:32px;height:32px;
  font-size:1rem;color:var(--green);
  display:flex;align-items:center;justify-content:center;
  transition:background 0.3s;
}
.cart__qty button:hover { background:rgba(26,46,5,0.06); }
.cart__qty button:disabled { opacity:0.3;cursor:not-allowed; }
.cart__qty span {
  min-width:28px;text-align:center;
  font-family:var(--sans);font-size:0.92rem;
  color:var(--green);
}

.cart__picker-actions {
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;margin-top:4px;
}
.cart__picker .btn { width:auto;flex:1; }

/* Line items */
.cart__line {
  display:grid;
  grid-template-columns:80px 1fr;
  gap:18px;
  padding-bottom:24px;
  border-bottom:1px solid rgba(26,46,5,0.08);
}
.cart__line:last-child { border-bottom:none; }
.cart__line-img {
  aspect-ratio:1;
  background:#e9e3d6;border-radius:4px;overflow:hidden;
}
.cart__line-img img { width:100%;height:100%;object-fit:cover; }
.cart__line-info { display:flex;flex-direction:column;gap:6px; }
.cart__line-top {
  display:flex;justify-content:space-between;gap:12px;
  align-items:flex-start;
}
.cart__line-title {
  font-family:var(--sans);font-size:1rem;font-weight:400;
  color:var(--green);line-height:1.3;
}
.cart__line-plan {
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:0.85rem;color:rgba(26,46,5,0.55);
  margin-top:2px;
}
.cart__line-price {
  font-family:var(--sans);font-size:0.92rem;
  color:var(--green);white-space:nowrap;
}
.cart__line-actions {
  display:flex;align-items:center;justify-content:space-between;
  margin-top:6px;
}
.cart__line-remove {
  background:none;border:none;cursor:pointer;padding:4px 0;
  font-family:var(--brand);font-size:0.58rem;font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;
  color:rgba(26,46,5,0.5);
  transition:color 0.3s;
}
.cart__line-remove:hover { color:#a64444; }

.cart__footer {
  padding:24px 32px 28px;
  border-top:1px solid rgba(26,46,5,0.08);
  background:rgba(245,240,232,0.6);
}
.cart__subtotal {
  display:flex;justify-content:space-between;align-items:baseline;
  margin-bottom:6px;
}
.cart__subtotal span {
  font-family:var(--brand);font-size:0.65rem;font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;
  color:var(--green);
}
.cart__subtotal strong {
  font-family:var(--sans);font-size:1.2rem;font-weight:400;
  color:var(--green);
}
.cart__note {
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:0.82rem;color:rgba(26,46,5,0.55);
  margin-bottom:16px;
}
.cart__checkout {
  width:100%;justify-content:center;text-align:center;
}

@media(max-width:768px){
  .cart__panel { width:100%; }
  .cart__header { padding:22px 22px 18px; }
  .cart__body { padding:22px; }
  .cart__footer { padding:20px 22px 24px; }
}

