/* ============================================================
   BITZIE by NUROVA — Stylesheet
   Inspired by Olipop: clean, spacious, color-matched products
   ============================================================ */

/* ---- VARIABLES ---- */
:root {
  /* Brand yellows */
  --brand:          #F7D96B;
  --brand-dark:     #D9B948;

  /* Espresso browns */
  --brown:          #76513D;
  --brown-dark:     #4E3426;
  --espresso:       #4E3426;
  --espresso-dark:  #2F2119;
  --orange:         #6A4330;   /* alias */
  --orange-dark:    #4E3426;

  /* Soft supporting accent */
  --purple:         #A595D6;
  --purple-dark:    #7867A8;
  --purple-light:   #F3EEFF;
  --tomato:         #E96D5C;
  --mint:           #8BCB82;
  --pod-cream:      #FFF3D8;
  --pod-coral:      #FFC8B8;
  --pod-green:      #CDEBB8;
  --pod-cheddar:    #FFE18C;
  --pod-pepper:     #F8E7B8;

  /* Flavor accent system */
  --accent-green:     #9BD57F;
  --accent-green-bg:  #F0FAE2;
  --accent-orange:    #F0856D;
  --accent-orange-bg: #FFF0EC;
  --accent-lavender:  #D8C7F4;
  --accent-lavender-bg: #F6F0FF;
  --accent-cheesy:    #F6C35E;
  --accent-cheesy-bg: #FFF5D8;

  /* Greens */
  --green:          #5A8A5A;
  --green-light:    #EDF5ED;

  /* Backgrounds */
  --yellow:         #F4CF57;
  --yellow-light:   #FFFAEE;
  --cream:          #FFF9EE;
  --cream-dark:     #F8EEDC;

  /* Text */
  --dark:           #1F1B18;
  --dark-2:         #2F2119;

  /* Neutrals */
  --mid:            #6F6A64;
  --light-grey:     #F5F0EA;
  --border:         #E8DED2;
  --white:          #FFFFFF;

  --radius-sm:  6px;
  --radius-md:  14px;
  --radius-lg:  22px;
  --radius-xl:  36px;
  --radius-pill:999px;

  --shadow-xs:  0 1px 4px rgba(0,0,0,0.06);
  --shadow-sm:  0 4px 16px rgba(78,52,38,0.08);
  --shadow-md:  0 12px 34px rgba(78,52,38,0.12);
  --shadow-lg:  0 22px 60px rgba(78,52,38,0.16);

  --pod-bumps:
    radial-gradient(circle at 22% 28%, rgba(118,81,61,0.11) 0 5px, transparent 6px),
    radial-gradient(circle at 38% 22%, rgba(118,81,61,0.08) 0 3px, transparent 4px),
    radial-gradient(circle at 54% 35%, rgba(118,81,61,0.1) 0 6px, transparent 7px),
    radial-gradient(circle at 70% 24%, rgba(118,81,61,0.07) 0 4px, transparent 5px),
    radial-gradient(circle at 30% 58%, rgba(118,81,61,0.08) 0 4px, transparent 5px),
    radial-gradient(circle at 49% 66%, rgba(118,81,61,0.1) 0 5px, transparent 6px),
    radial-gradient(circle at 68% 57%, rgba(118,81,61,0.07) 0 3px, transparent 4px);
  --roast-specks:
    radial-gradient(ellipse at 14% 26%, rgba(118,81,61,0.12) 0 1px, transparent 2px),
    radial-gradient(ellipse at 29% 72%, rgba(155,92,45,0.09) 0 1.5px, transparent 3px),
    radial-gradient(ellipse at 48% 18%, rgba(118,81,61,0.1) 0 1px, transparent 2px),
    radial-gradient(ellipse at 66% 78%, rgba(155,92,45,0.08) 0 2px, transparent 3px),
    radial-gradient(ellipse at 82% 36%, rgba(118,81,61,0.1) 0 1.5px, transparent 3px);

  --font-h:  'Fredoka One', cursive;
  --font-b:  'Nunito', sans-serif;
  --ease:    cubic-bezier(0.4, 0, 0.2, 1);
  --tr:      0.28s var(--ease);

  /* Homepage hero reveal tuning */
  --hero-reveal-total-ms: 2800ms;
  --hero-main-initial-scale: 1.2;
  --hero-main-settle-ms: 820ms;
  --hero-support-ms: 620ms;
  --hero-copy-ms: 520ms;
  --hero-glow-ms: 700ms;
}

/* ---- RESET ---- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-b);
  background:
    radial-gradient(circle at 12% 8%, rgba(247,217,107,0.12), transparent 28%),
    var(--cream);
  color: var(--dark);
  font-size: 16px;
  line-height: 1.65;
  overflow-x: hidden;
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.55;
  background-image: var(--roast-specks);
  background-size: 420px 360px;
}
a  { text-decoration: none; color: inherit; }
ul { list-style: none; }
img { max-width: 100%; display: block; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
input, select { font-family: inherit; }

.container {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 28px;
}

.section { padding: 88px 0; }
.section,
.marquee-bar,
.authority-strip,
.fullbleed-cta,
.newsletter-section,
.nurova-seo-section {
  position: relative;
}

/* ============================================================
   NAVBAR
   ============================================================ */
.navbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  height: 80px;
  background: rgba(255, 248, 235, 0.88);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid transparent;
  overflow: visible;
  transition: border-color var(--tr), box-shadow var(--tr);
}
.navbar::after {
  content: '';
  position: absolute;
  left: -4%;
  right: -4%;
  bottom: -13px;
  height: 24px;
  background: rgba(255,248,235,0.88);
  border-radius: 0 0 48% 52% / 0 0 78% 72%;
  clip-path: polygon(0 0, 7% 52%, 17% 28%, 28% 61%, 39% 35%, 51% 58%, 63% 31%, 75% 57%, 88% 28%, 100% 50%, 100% 0);
  pointer-events: none;
  z-index: -1;
}
.navbar.scrolled {
  border-bottom-color: rgba(78,52,38,0.12);
  box-shadow: 0 8px 24px rgba(78,52,38,0.07);
}
.nav-inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 28px;
  height: 80px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 20px;
}

/* Logo */
.nav-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
}
.nav-logo-img {
  height: 50px !important;
  width: auto;
  object-fit: contain;
  display: block;
}
.nav-logo-mobile { display: none; }
.logo-b {
  font-family: var(--font-h);
  font-size: 1.85rem;
  color: var(--orange);
}
.logo-n {
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--mid);
}

/* Nav Links */
.nav-links {
  display: flex;
  align-items: center;
  gap: 2px;
  justify-content: flex-start;
}
.nav-links a {
  padding: 6px 14px;
  font-weight: 800;
  font-size: 0.88rem;
  color: var(--dark-2);
  border-radius: var(--radius-pill);
  transition: color var(--tr), background var(--tr);
  letter-spacing: 0.2px;
}
.nav-links a:hover {
  color: var(--dark);
  background: rgba(0,0,0,0.07);
}
.nav-links a.active {
  color: var(--dark);
  background: var(--pod-cream);
  text-decoration: none;
}

/* Nav Left (hamburger + links on desktop) */
.nav-left {
  display: flex;
  align-items: center;
  gap: 4px;
}

/* Nav Right (links + shop btn + cart) */
.nav-right {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: flex-end;
}
.nav-shop-btn {
  background: var(--dark);
  color: var(--white);
  padding: 9px 20px;
  border-radius: var(--radius-pill);
  font-weight: 800;
  font-size: 0.88rem;
  box-shadow: 0 8px 18px rgba(31,27,24,0.16);
  transition: background var(--tr), transform var(--tr), box-shadow var(--tr);
}
.nav-shop-btn:hover {
  background: var(--dark-2);
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(31,27,24,0.22);
}
.cart-icon-btn {
  position: relative;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--light-grey);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--dark);
  transition: background var(--tr), transform var(--tr);
}
.cart-icon-btn:hover {
  background: var(--border);
  transform: translateY(-1px);
}
.cart-badge {
  position: absolute;
  top: -2px;
  right: -2px;
  background: var(--tomato);
  color: var(--white);
  font-size: 0.6rem;
  font-weight: 900;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--brand);
  line-height: 1;
}

/* Hamburger */
.hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  padding: 6px;
  flex-shrink: 0;
}
.hamburger span {
  width: 22px;
  height: 2px;
  background: var(--dark);
  border-radius: 2px;
  transition: var(--tr);
  display: block;
}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 13px 28px;
  border-radius: var(--radius-pill);
  font-family: var(--font-b);
  font-weight: 800;
  font-size: 0.95rem;
  transition: transform var(--tr), box-shadow var(--tr), background var(--tr), color var(--tr);
  cursor: pointer;
  border: 2px solid transparent;
  white-space: nowrap;
}
.btn:hover { transform: translateY(-2px); }

.btn-dark {
  background: var(--dark);
  color: var(--white);
  box-shadow: 0 10px 22px rgba(31,27,24,0.18);
}
.btn-dark:hover {
  background: var(--dark-2);
  box-shadow: 0 8px 24px rgba(31,27,24,0.32);
}

.btn-yellow {
  background: var(--brand);
  color: var(--dark);
  box-shadow: 0 4px 14px rgba(244,207,87,0.35);
}
.btn-yellow:hover {
  background: var(--brand-dark);
  box-shadow: 0 8px 24px rgba(244,207,87,0.45);
}

.btn-ghost {
  background: rgba(255,255,255,0.68);
  color: var(--dark);
  border-color: rgba(0,0,0,0.2);
}
.btn-ghost:hover {
  background: rgba(0,0,0,0.05);
  border-color: rgba(0,0,0,0.35);
}

.btn-white {
  background: var(--white);
  color: var(--dark);
}
.btn-white:hover {
  background: var(--cream);
  box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}

.btn-orange {
  background: var(--orange);
  color: var(--white);
  box-shadow: 0 4px 14px rgba(255,107,53,0.3);
}
.btn-orange:hover {
  background: var(--orange-dark);
  box-shadow: 0 8px 24px rgba(255,107,53,0.4);
}

.btn-full { width: 100%; }

/* ============================================================
   EYEBROW TAG
   ============================================================ */
.eyebrow-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--tag-bg, var(--pod-cream));
  color: var(--tag-color, var(--brown));
  padding: 7px 15px;
  border-radius: var(--radius-pill);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 14px;
}

/* ============================================================
   SECTION HEAD
   ============================================================ */
.section-head {
  max-width: 560px;
  margin-bottom: 52px;
}
.section-head.centered {
  text-align: center;
  margin: 0 auto 52px;
}
.section-head h2 {
  font-family: var(--font-h);
  font-size: clamp(2rem, 4vw, 2.8rem);
  line-height: 1.15;
  margin-bottom: 10px;
}
.section-head p {
  color: var(--mid);
  font-size: 1rem;
}
.centered-cta {
  text-align: center;
  margin-top: 52px;
}

.nurova-seo-section {
  background:
    radial-gradient(circle at 88% 32%, rgba(205,235,184,0.18), transparent 28%),
    var(--white);
  padding: 58px 0;
  overflow: hidden;
}
.nurova-seo-inner {
  max-width: 820px;
}
.nurova-seo-inner h2 {
  font-family: var(--font-h);
  font-size: clamp(2rem, 4vw, 2.8rem);
  line-height: 1.15;
  margin-bottom: 14px;
}
.nurova-seo-inner p {
  max-width: 720px;
  color: var(--mid);
  font-size: 1.05rem;
}

/* ============================================================
   HERO
   ============================================================ */
.hero {
  min-height: 94vh;
  padding: 112px 28px 68px;
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 34%, rgba(255,200,184,0.42) 0%, rgba(255,200,184,0.12) 31%, transparent 58%),
    radial-gradient(circle at 18% 16%, rgba(247,217,107,0.28) 0%, transparent 34%),
    linear-gradient(176deg, #FFF9EE 62%, #F8EEDC 100%);
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.42;
  background-image: var(--roast-specks);
  background-size: 360px 300px;
  z-index: 0;
}
.hero::after,
.makhana-section::before,
.featured-section::before,
.compare-section::before,
.newsletter-section::before {
  content: '';
  position: absolute;
  left: -6%;
  right: -6%;
  top: -1px;
  height: 42px;
  background: inherit;
  clip-path: polygon(0 34%, 8% 50%, 17% 31%, 28% 62%, 39% 37%, 50% 57%, 61% 29%, 73% 58%, 86% 36%, 100% 54%, 100% 0, 0 0);
  pointer-events: none;
  z-index: 2;
}
.hero::after {
  top: auto;
  bottom: -1px;
  transform: rotate(180deg);
}
.hero-bg-shape {
  position: absolute;
  top: -80px;
  right: -160px;
  width: 760px;
  height: 680px;
  background: linear-gradient(135deg, rgba(255,225,140,0.46), rgba(255,200,184,0.18));
  border-radius: 46% 54% 58% 42% / 48% 44% 56% 52%;
  pointer-events: none;
  animation: pulse-shape 6s ease-in-out infinite;
}
.hero-bg-shape::before {
  content: '';
  position: absolute;
  inset: 14%;
  border-radius: inherit;
  background-image: var(--pod-bumps);
  background-size: 100% 100%;
  opacity: 0.7;
}
.hero-inner {
  position: relative;
  z-index: 1;
  max-width: 1160px;
  margin: 0 auto;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 0.46fr) minmax(0, 0.54fr);
  gap: 48px;
  align-items: center;
  flex: 1;
}
.hero-eyebrow {
  font-weight: 900;
  font-size: 0.82rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--tomato);
  margin-bottom: 18px;
}
.hero-headline {
  font-family: var(--font-h);
  font-size: clamp(3.7rem, 7.1vw, 5.95rem);
  line-height: 1.05;
  color: var(--dark);
  margin-bottom: 24px;
}
.hero-headline em {
  font-style: normal;
  color: #6A4330;
  position: relative;
  display: inline-block;
}
.hero-headline em::after {
  content: '';
  position: absolute;
  left: 4px;
  bottom: 4px;
  width: 88%;
  height: 10px;
  background: var(--pod-cheddar);
  border-radius: 6px;
  z-index: -1;
  opacity: 0.85;
}
.hero-body {
  font-size: 1.14rem;
  color: #5f554c;
  max-width: 500px;
  margin-bottom: 36px;
}
.hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.hero-trust {
  margin-top: 20px;
  color: rgba(31,27,24,0.62);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

/* Hero visual - product ring */
.hero-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  min-height: 560px;
  perspective: 900px;
}
.hero-visual::before {
  content: '';
  position: absolute;
  width: 510px;
  height: 460px;
  border-radius: 45% 55% 48% 52% / 55% 44% 56% 45%;
  background:
    var(--pod-bumps),
    radial-gradient(circle at 48% 38%, rgba(255,255,255,0.54), transparent 32%),
    linear-gradient(135deg, var(--pod-cheddar), var(--pod-coral));
  background-size: 100% 100%, 100% 100%, 100% 100%;
  box-shadow: inset 0 -22px 56px rgba(118,81,61,0.08), 0 28px 60px rgba(118,81,61,0.13);
  pointer-events: none;
  z-index: 0;
}
/* Arc container — all bags absolutely positioned within */
.hero-arc {
  position: relative;
  width: min(100%, 600px);
  height: 560px;
  flex-shrink: 0;
  transform-style: preserve-3d;
}
.hero-arc::before {
  content: '';
  position: absolute;
  inset: 54px 42px 44px;
  border-radius: 55% 45% 49% 51% / 45% 54% 46% 55%;
  background:
    var(--pod-bumps),
    rgba(255,255,255,0.22);
  background-size: 92% 92%, 100% 100%;
  border: 1px solid rgba(255,255,255,0.46);
  z-index: 1;
  pointer-events: none;
}

/* ---- Colour halos ---- */
.halo {
  position: absolute;
  border-radius: 50%;
  filter: blur(48px);
  pointer-events: none;
  z-index: 0;
}
.halo-main {
  width: 240px; height: 240px;
  background: rgba(233, 109, 92, 0.16);
  top: 50%; left: 50%;
  transform: translate(-50%, -52%);
}
.halo-tr {
  width: 150px; height: 150px;
  background: rgba(246, 195, 94, 0.18);
  top: 10px; right: 10px;
}
.halo-bl {
  width: 150px; height: 150px;
  background: rgba(139, 203, 130, 0.16);
  bottom: 30px; left: 10px;
}
.halo-br {
  width: 150px; height: 150px;
  background: rgba(248, 231, 184, 0.3);
  bottom: 30px; right: 10px;
}

/* ---- Arc bag base ---- */
.arc-bag {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  z-index: 2;
  cursor: pointer;
  will-change: transform, opacity;
  transition: transform var(--tr), opacity var(--tr);
}
/* Individual bag hover states defined per-bag below */
.arc-bag img {
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 24px 28px rgba(79, 49, 32, 0.2));
  transition: filter var(--tr);
}

/* ---- Main hero bag — centered, dominant ---- */
.arc-main {
  top: 50%; left: 50%;
  transform: translate(-50%, -54%);
}
.arc-main:hover { transform: translate(-50%, -62%); }
.arc-main img { width: clamp(245px, 20vw, 310px); }

/* ---- Supporting bags — smaller, rotated for depth ---- */
.arc-tr {
  --arc-tr-top: 34px;
  --arc-tr-right: 28px;
  top: var(--arc-tr-top);
  right: var(--arc-tr-right);
  transform: rotate(8deg);
}
.arc-tr img { width: clamp(122px, 10.6vw, 156px); }
.arc-tr:hover { transform: rotate(8deg) translateY(-8px); }

.arc-bl {
  --arc-bl-bottom: 64px;
  --arc-bl-left: 22px;
  bottom: var(--arc-bl-bottom);
  left: var(--arc-bl-left);
  transform: rotate(-7deg);
}
.arc-bl img { width: clamp(126px, 11vw, 162px); }
.arc-bl:hover { transform: rotate(-7deg) translateY(-8px); }

.arc-br {
  --arc-br-bottom: 58px;
  --arc-br-right: 18px;
  bottom: var(--arc-br-bottom);
  right: var(--arc-br-right);
  transform: rotate(5deg);
}
.arc-br img { width: clamp(122px, 10.8vw, 158px); }
.arc-br:hover { transform: rotate(5deg) translateY(-8px); }

/* ---- Post-reveal idle state ---- */
.arc-main { z-index: 4; }
.arc-main.is-hero { animation: float-center 5.8s ease-in-out infinite; }
.arc-bag.is-idle-support { animation: float-simple 6.4s ease-in-out infinite; }

@keyframes float-simple {
  0%, 100% { translate: 0 0; }
  50%       { translate: 0 -7px; }
}

@keyframes float-center {
  0%, 100% { translate: 0 0; }
  50%       { translate: 0 -8px; }
}

.hero-scroll-hint {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--mid);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin: 32px auto 0;
  animation: bounce-hint 2s ease-in-out infinite;
}

/* ============================================================
   FLAVOR STRIP (Olipop-style horizontal scroller)
   ============================================================ */
.flavor-strip {
  overflow-x: auto;
  overflow-y: hidden;
  padding: 28px 0;
  background: var(--white);
  border-top: 2px solid var(--border);
  border-bottom: 2px solid var(--border);
  box-shadow: 0 -4px 20px rgba(160,113,79,0.06);
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.flavor-strip::-webkit-scrollbar { display: none; }
.flavor-strip-track {
  display: flex;
  gap: 16px;
  padding: 0 28px;
  width: max-content;
}
.flavor-chip {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  border-radius: var(--radius-pill);
  background: var(--chip-bg, #F3F4F6);
  border: 2px solid transparent;
  cursor: pointer;
  transition: border-color var(--tr), transform var(--tr), box-shadow var(--tr);
  white-space: nowrap;
  flex-shrink: 0;
}
.flavor-chip:hover {
  border-color: var(--brown);
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(160,113,79,0.12);
}
.flavor-chip .chip-emoji { font-size: 1.6rem; }
.flavor-chip .chip-name  { font-weight: 800; font-size: 0.9rem; color: var(--dark); }
.flavor-chip .chip-price { font-size: 0.8rem; color: var(--mid); font-weight: 700; }

/* ============================================================
   FEATURED FLAVOR CARDS (Olipop-style large color cards)
   ============================================================ */
.flavor-cards-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.flavor-card {
  border-radius: 26px;
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,0.55), transparent 38%),
    var(--fc-bg, #FFF3E0);
  border: 1.5px solid rgba(78,52,38,0.1);
  overflow: hidden;
  position: relative;
  transition: transform var(--tr), box-shadow var(--tr), border-color var(--tr);
  cursor: pointer;
  display: flex;
  flex-direction: column;
}
.flavor-card::before {
  content: '';
  position: absolute;
  top: 18px;
  left: 50%;
  width: 74%;
  height: 46%;
  transform: translateX(-50%);
  border-radius: 52% 48% 46% 54% / 48% 42% 58% 52%;
  background:
    var(--pod-bumps),
    rgba(255,255,255,0.46);
  background-size: 100% 100%, 100% 100%;
  opacity: 0.72;
  border: 1px solid rgba(255,255,255,0.62);
  pointer-events: none;
  z-index: 0;
}
.flavor-card::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.4;
  background-image: var(--roast-specks);
  background-size: 260px 220px;
  z-index: 1;
}
.flavor-card > * {
  position: relative;
  z-index: 2;
}
.flavor-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 44px rgba(78,52,38,0.13);
  border-color: rgba(78,52,38,0.22);
}
.fc-img {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4.5rem;
  padding: 24px;
  transition: transform var(--tr);
}
.flavor-card:hover .fc-img { transform: scale(1.08); }
.fc-body {
  background: rgba(255,255,255,0.84);
  padding: 22px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.fc-badge {
  display: inline-block;
  background: rgba(31,27,24,0.86);
  color: var(--white);
  font-size: 0.65rem;
  font-weight: 900;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: var(--radius-pill);
  width: fit-content;
  margin-bottom: 6px;
}
.fc-name {
  font-family: var(--font-h);
  font-size: 1.3rem;
  color: var(--dark);
}
.fc-desc {
  font-size: 0.86rem;
  color: var(--mid);
  flex: 1;
}
.fc-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
}
.fc-price {
  font-family: var(--font-h);
  font-size: 1.4rem;
  color: var(--dark);
}
.fc-add {
  background: var(--dark);
  color: var(--white);
  border-radius: var(--radius-pill);
  padding: 8px 18px;
  font-weight: 800;
  font-size: 0.82rem;
  transition: background var(--tr), transform var(--tr);
}
.fc-add:hover { background: var(--dark-2); transform: scale(1.04); }
.fc-add.added { background: #16a34a; }

/* ============================================================
   MARQUEE BAR
   ============================================================ */
.marquee-bar {
  background: #1F1B18;
  padding: 14px 0;
  overflow: hidden;
  border-top: 0;
  border-bottom: 0;
  margin-top: -1px;
}
.marquee-bar::before,
.marquee-bar::after {
  content: '';
  position: absolute;
  left: -4%;
  right: -4%;
  height: 18px;
  background: var(--cream);
  pointer-events: none;
  z-index: 1;
}
.marquee-bar::before {
  top: -1px;
  clip-path: polygon(0 0, 100% 0, 100% 42%, 89% 64%, 78% 39%, 67% 59%, 55% 36%, 44% 62%, 31% 41%, 19% 59%, 8% 36%, 0 58%);
}
.marquee-bar::after {
  bottom: -1px;
  transform: rotate(180deg);
  clip-path: polygon(0 0, 100% 0, 100% 42%, 89% 64%, 78% 39%, 67% 59%, 55% 36%, 44% 62%, 31% 41%, 19% 59%, 8% 36%, 0 58%);
}
.marquee-bar--light {
  background: var(--yellow);
  border-color: var(--dark);
}
.marquee-track {
  display: flex;
  gap: 40px;
  white-space: nowrap;
  animation: marquee 22s linear infinite;
  width: max-content;
  align-items: center;
}
.marquee-bar .marquee-track span       { color: var(--white); font-weight: 900; font-size: 0.8rem; letter-spacing: 2px; }
.marquee-bar--light .marquee-track span { color: var(--dark); }

/* ============================================================
   SPLIT SECTION
   ============================================================ */
.split-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
}
.split-color-block {
  background:
    radial-gradient(circle at 70% 25%, rgba(247,217,107,0.5), transparent 36%),
    linear-gradient(145deg, #F0FAE2, #FFF5D8);
  border-radius: var(--radius-xl);
  padding: 40px;
  min-height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  border-radius: 44% 56% 50% 50% / 52% 45% 55% 48%;
}
.split-color-block::before {
  content: '';
  position: absolute;
  inset: 34px;
  border-radius: 48% 52% 56% 44% / 50% 43% 57% 50%;
  background-image: var(--pod-bumps);
  background-size: 100% 100%;
  opacity: 0.32;
}
.split-color-block::after {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.34;
  background-image: var(--roast-specks);
  background-size: 280px 240px;
}
.split-stats-stack {
  position: relative;
  z-index: 1;
}
.split-emoji-stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}
.se-card {
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 18px 22px;
  font-size: 2rem;
  display: flex;
  align-items: center;
  gap: 16px;
  box-shadow: var(--shadow-xs);
  transition: transform var(--tr);
}
.se-card:hover { transform: translateX(6px); }
.se-card span { font-family: var(--font-h); font-size: 1rem; color: var(--dark); }

.split-text .section-head h2 { text-align: left; }
.split-text p { color: var(--mid); margin-bottom: 20px; font-size: 1rem; }

.check-list { margin-bottom: 32px; }
.check-list li {
  padding: 9px 0;
  font-weight: 700;
  font-size: 0.95rem;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 10px;
}
.check-list li::before {
  content: '✓';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--accent-green-bg);
  color: var(--green);
  font-size: 0.8rem;
  font-weight: 900;
  flex-shrink: 0;
}

/* ============================================================
   SPLIT SECTION — STAT CARDS
   ============================================================ */
.split-stats-stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
}
.sstat-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.sstat-card {
  background: var(--white);
  border-radius: 20px;
  padding: 22px 24px;
  box-shadow: var(--shadow-sm);
  transition: transform var(--tr);
}
.sstat-card:hover { transform: translateY(-3px); }
.sstat-hero {
  text-align: center;
  background: var(--brand);
  color: var(--dark);
}
.sstat-hero .sstat-num {
  font-family: var(--font-h);
  font-size: 3.4rem;
  color: var(--dark);
  line-height: 1;
  margin-bottom: 4px;
}
.sstat-hero .sstat-label { font-size: 0.88rem; font-weight: 700; color: rgba(31,27,24,0.65); }
.sstat-sm { text-align: center; }
.sstat-sm .sstat-num {
  font-family: var(--font-h);
  font-size: clamp(1.55rem, 2.2vw, 2.2rem);
  color: var(--dark);
  line-height: 1;
  margin-bottom: 4px;
}
.sstat-sm .sstat-label { font-size: 0.78rem; font-weight: 700; color: var(--mid); }
.sstat-green { background: var(--accent-green-bg); }
.sstat-green .sstat-icon,
.sstat-wide .sstat-icon {
  font-family: var(--font-h);
  font-size: 1.45rem;
  margin-bottom: 6px;
}
.sstat-green .sstat-label { font-size: 0.82rem; font-weight: 800; color: var(--green); }
.sstat-wide {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--accent-lavender-bg);
}
.sstat-wide .sstat-icon { flex-shrink: 0; margin-bottom: 0; }
.sstat-wide .sstat-label { font-size: 0.9rem; font-weight: 800; color: var(--brown-dark); }

/* ============================================================
   COMPARE THE CRUNCH SECTION
   ============================================================ */
.compare-section {
  background:
    radial-gradient(circle at 84% 18%, rgba(255,200,184,0.18), transparent 28%),
    linear-gradient(180deg, var(--cream-dark), #FFF9EE);
  padding: 100px 0;
  overflow: hidden;
}
.compare-section .section-head h2 { color: var(--dark); }
.compare-section .section-head p { color: var(--mid); }
.compare-section .eyebrow-tag {
  background: rgba(244,207,87,0.3);
  color: var(--brown);
}
.compare-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 48px;
  align-items: stretch;
}
.compare-col {
  border-radius: 38px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 0;
  transition: transform var(--tr), box-shadow var(--tr);
}
.compare-col::before {
  content: '';
  position: absolute;
  right: 18px;
  top: 18px;
  width: 94px;
  height: 78px;
  border-radius: 48% 52% 56% 44% / 46% 52% 48% 54%;
  background-image: var(--pod-bumps);
  background-size: 100% 100%;
  opacity: 0.16;
  pointer-events: none;
}
.compare-col {
  position: relative;
  overflow: hidden;
}
.compare-col:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.compare-best {
  background: var(--dark);
  border: none;
  box-shadow: var(--shadow-lg);
  position: relative;
}
.compare-okay {
  background: var(--white);
  border: 1.5px solid var(--border);
}
.compare-bad {
  background: var(--accent-orange-bg);
  border: 1.5px solid rgba(255,122,89,0.15);
}
.compare-col-header { margin-bottom: 24px; }
.compare-badge {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: var(--radius-pill);
  margin-bottom: 12px;
}
.cb-best { background: var(--brand); color: var(--dark); }
.cb-okay { background: var(--light-grey); color: var(--mid); }
.cb-bad  { background: rgba(255,122,89,0.15); color: var(--accent-orange); }
.compare-name {
  font-family: var(--font-h);
  font-size: 1.5rem;
  color: var(--dark);
  margin-bottom: 2px;
}
.compare-best .compare-name { color: var(--white); }
.compare-brand {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--mid);
}
.compare-best .compare-brand { color: rgba(255,255,255,0.45); }
.compare-list {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 24px;
}
.compare-list li {
  padding: 10px 0;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--dark);
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid var(--border);
}
.compare-best .compare-list li {
  color: rgba(255,255,255,0.85);
  border-bottom-color: rgba(255,255,255,0.1);
}
.compare-list li::before {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  font-weight: 900;
  flex-shrink: 0;
}
.cl-good::before { content: '✓'; background: var(--accent-green-bg); color: var(--green); }
.cl-warn::before { content: '~'; background: var(--accent-cheesy-bg); color: #b45309; }
.cl-bad::before  { content: '✗'; background: rgba(220,50,50,0.1); color: #dc2626; }
.compare-verdict {
  padding: 12px 20px;
  border-radius: var(--radius-pill);
  font-size: 0.85rem;
  font-weight: 900;
  text-align: center;
  letter-spacing: 0.3px;
}
.cv-best { background: var(--brand); color: var(--dark); }
.cv-okay { background: var(--light-grey); color: var(--mid); }
.cv-bad  { background: rgba(255,122,89,0.15); color: var(--accent-orange); }
.compare-footnote {
  text-align: center;
  color: var(--mid);
  font-size: 0.78rem;
  font-weight: 600;
  margin-top: 28px;
  font-style: italic;
}

/* ============================================================
   PERKS GRID
   ============================================================ */
.perks-section {
  background:
    radial-gradient(circle at 85% 10%, rgba(205,235,184,0.24), transparent 28%),
    var(--cream);
  overflow: hidden;
}
.perks-section::before {
  background: var(--cream);
}

.featured-section {
  background:
    linear-gradient(180deg, #FFF9EE 0%, #FFFFFF 50%, #FFF9EE 100%);
  overflow: hidden;
}
.featured-section::after,
.perks-section::after,
.split-section::after,
.compare-section::after,
.nurova-seo-section::after {
  content: '';
  position: absolute;
  left: -6%;
  right: -6%;
  bottom: -1px;
  height: 42px;
  background: inherit;
  clip-path: polygon(0 42%, 8% 26%, 19% 55%, 31% 31%, 43% 58%, 55% 29%, 68% 55%, 80% 34%, 92% 58%, 100% 37%, 100% 100%, 0 100%);
  pointer-events: none;
  z-index: 2;
}

.perks-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.perk-card {
  position: relative;
  overflow: hidden;
  background: var(--perk-bg, #F3F4F6);
  border-radius: 24px;
  padding: 34px 26px;
  border: 1.5px solid rgba(78,52,38,0.08);
  box-shadow: 0 10px 24px rgba(78,52,38,0.05);
  transition: border-color var(--tr), transform var(--tr), box-shadow var(--tr);
}
.perk-card::after {
  content: '';
  position: absolute;
  right: -36px;
  bottom: -46px;
  width: 150px;
  height: 130px;
  border-radius: 50% 50% 42% 58% / 48% 42% 58% 52%;
  background:
    var(--pod-bumps),
    rgba(255,255,255,0.42);
  background-size: 100% 100%, 100% 100%;
  pointer-events: none;
}
.perk-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--roast-specks);
  background-size: 240px 190px;
  opacity: 0.24;
  pointer-events: none;
}
.perk-card > * {
  position: relative;
  z-index: 1;
}
.perk-card:hover {
  border-color: var(--brown);
  transform: translateY(-4px);
  box-shadow: 0 4px 20px rgba(160,113,79,0.10);
}
.perk-icon {
  font-family: var(--font-h);
  font-size: 1.1rem;
  margin-bottom: 18px;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.62);
  border-radius: var(--radius-md);
}
.perk-card h3 {
  font-family: var(--font-h);
  font-size: 1.25rem;
  margin-bottom: 10px;
  color: var(--dark);
}
.perk-card p { color: var(--mid); font-size: 0.9rem; line-height: 1.65; }

/* ============================================================
   FULL-BLEED CTA
   ============================================================ */
.fullbleed-cta {
  background:
    radial-gradient(circle at 50% 0%, rgba(247,217,107,0.2), transparent 40%),
    var(--dark);
  padding: 80px 0 0;
  overflow: hidden;
  border-radius: 42px 42px 0 0 / 26px 38px 0 0;
}
.fullbleed-cta::before {
  content: '';
  position: absolute;
  left: -4%;
  right: -4%;
  top: -1px;
  height: 48px;
  background: var(--cream);
  clip-path: polygon(0 0, 100% 0, 100% 42%, 89% 60%, 78% 33%, 66% 58%, 53% 31%, 40% 62%, 27% 37%, 14% 60%, 0 34%);
  pointer-events: none;
}
.fullbleed-cta::after {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.2;
  pointer-events: none;
  background-image: var(--roast-specks);
  background-size: 320px 260px;
}
.fbc-inner {
  max-width: 680px;
  margin: 0 auto;
  text-align: center;
  padding: 0 28px;
  position: relative;
  z-index: 1;
}
.fbc-inner h2 {
  font-family: var(--font-h);
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  color: var(--white);
  margin-bottom: 14px;
  line-height: 1.15;
}
.fbc-inner p {
  color: rgba(255,255,255,0.65);
  margin-bottom: 32px;
  font-size: 1rem;
}
.fbc-emoji-row {
  display: flex;
  justify-content: center;
  gap: 0;
  margin-top: 52px;
}
.fbc-emoji-row span {
  flex: 1;
  text-align: center;
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.78);
  padding: 22px 12px;
  background: rgba(255,255,255,0.04);
  border-right: 1px solid rgba(255,255,255,0.07);
  transition: background var(--tr), transform var(--tr);
}
.fbc-emoji-row span:last-child { border-right: none; }
.fbc-emoji-row span:hover { background: rgba(244,207,87,0.14); transform: translateY(-2px); }

/* ============================================================
   NEWSLETTER
   ============================================================ */
.newsletter-section { background: linear-gradient(135deg, var(--yellow-light) 0%, var(--cream-dark) 100%); }
.newsletter-section {
  overflow: hidden;
}
.newsletter-section::after {
  content: '';
  position: absolute;
  right: 8%;
  top: 28px;
  width: 170px;
  height: 128px;
  border-radius: 50% 50% 42% 58% / 48% 42% 58% 52%;
  background:
    var(--pod-bumps),
    rgba(255,255,255,0.32);
  background-size: 100% 100%, 100% 100%;
  opacity: 0.45;
  pointer-events: none;
}
.newsletter-inner {
  max-width: 680px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
  position: relative;
  z-index: 1;
}
.newsletter-text h2 {
  font-family: var(--font-h);
  font-size: 2rem;
  margin-bottom: 10px;
}
.newsletter-text p { color: var(--mid); font-size: 0.92rem; }
.newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.nl-input {
  padding: 13px 18px;
  border-radius: var(--radius-pill);
  border: 2px solid var(--border);
  background: var(--white);
  font-size: 0.95rem;
  outline: none;
  transition: border-color var(--tr);
}
.nl-input:focus { border-color: var(--brown); box-shadow: 0 0 0 3px rgba(160,113,79,0.10); }
.nl-success {
  display: none;
  font-weight: 800;
  color: #16a34a;
  font-size: 0.9rem;
}

/* ============================================================
   FOOTER
   ============================================================ */
.footer {
  background: var(--espresso-dark);
  color: var(--white);
  padding: 72px 0 0;
}
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 56px;
}
.footer-logo { margin-bottom: 14px; }
.footer-brand-col p {
  color: rgba(255,255,255,0.5);
  font-size: 0.88rem;
  max-width: 240px;
  line-height: 1.7;
  margin-bottom: 22px;
}
.social-row { display: flex; gap: 10px; }
.social-link {
  width: 38px;
  height: 38px;
  border-radius: var(--radius-sm);
  background: rgba(255,255,255,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.6);
  transition: background var(--tr), color var(--tr), transform var(--tr);
}
.social-link:hover {
  background: var(--orange);
  color: var(--white);
  transform: translateY(-2px);
}
.footer-col h4 {
  font-family: var(--font-h);
  font-size: 0.95rem;
  color: var(--white);
  margin-bottom: 18px;
  letter-spacing: 0.5px;
}
.footer-col ul li { margin-bottom: 10px; }
.footer-col ul li a {
  color: rgba(255,255,255,0.5);
  font-size: 0.88rem;
  transition: color var(--tr);
}
.footer-col ul li a:hover { color: var(--white); }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.08);
  padding: 20px 28px;
  text-align: center;
}
.footer-bottom p { color: rgba(255,255,255,0.3); font-size: 0.8rem; }

/* ============================================================
   CART DRAWER
   ============================================================ */
.cart-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.45);
  z-index: 1100;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.cart-overlay.open { opacity: 1; pointer-events: all; }

.cart-drawer {
  position: fixed;
  top: 0; right: 0;
  width: 400px;
  max-width: 100vw;
  height: 100vh;
  background: var(--white);
  z-index: 1101;
  transform: translateX(100%);
  transition: transform 0.35s var(--ease);
  display: flex;
  flex-direction: column;
  box-shadow: -8px 0 40px rgba(0,0,0,0.14);
}
.cart-drawer.open { transform: translateX(0); }

.cart-drawer-head {
  padding: 22px 24px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.cart-drawer-head h3 {
  font-family: var(--font-h);
  font-size: 1.3rem;
}
.drawer-close {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--light-grey);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background var(--tr);
}
.drawer-close:hover { background: var(--border); }

.cart-body {
  flex: 1;
  overflow-y: auto;
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cart-empty-state {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--mid);
  font-size: 0.95rem;
  text-align: center;
  padding: 40px 0;
  gap: 8px;
}
.cart-empty-state span { font-size: 3rem; }

.cart-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px;
  background: var(--light-grey);
  border-radius: var(--radius-md);
  transition: background var(--tr);
}
.cart-item:hover { background: var(--border); }
.ci-emoji {
  width: 54px;
  height: 54px;
  background: var(--ci-bg, #FFF3E0);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  flex-shrink: 0;
}
.ci-info { flex: 1; }
.ci-name  { font-weight: 800; font-size: 0.88rem; margin-bottom: 3px; }
.ci-price { font-family: var(--font-h); font-size: 1rem; color: var(--orange); }
.ci-qty   { display: flex; align-items: center; gap: 8px; }
.qty-btn  {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--white);
  border: 1.5px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 1rem;
  transition: border-color var(--tr), color var(--tr);
}
.qty-btn:hover { border-color: var(--dark); color: var(--dark); }
.qty-num { font-weight: 900; font-size: 0.9rem; min-width: 20px; text-align: center; }

.cart-foot {
  padding: 20px 24px;
  border-top: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.cart-total-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.95rem;
  font-weight: 700;
}
.cart-total-row strong {
  font-family: var(--font-h);
  font-size: 1.5rem;
}
.cart-shipping-note {
  font-size: 0.78rem;
  color: var(--mid);
  text-align: center;
}

/* ============================================================
   SHOP PAGE
   ============================================================ */
.shop-hero-banner {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 72% 44%, rgba(255, 200, 184, 0.36) 0%, rgba(255, 200, 184, 0.1) 36%, transparent 62%),
    linear-gradient(150deg, #FFF9EE 0%, #F8EEDC 100%);
  padding: 126px 0 64px;
}
.shop-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 0.46fr) minmax(0, 0.54fr);
  gap: 48px;
  align-items: center;
}
.shop-hero-copy h1 {
  font-family: var(--font-h);
  font-size: clamp(3.2rem, 6.7vw, 5.6rem);
  line-height: 1;
  margin-bottom: 18px;
}
.shop-hero-copy p {
  color: var(--mid);
  font-size: 1.08rem;
  max-width: 500px;
  margin-bottom: 28px;
}
.shop-hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.shop-hero-proof {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.shop-hero-proof span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 7px 13px;
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(78, 52, 38, 0.12);
  color: var(--brown-dark);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.02em;
}
.shop-hero-visual {
  position: relative;
  min-height: 430px;
}
.shop-hero-glow {
  position: absolute;
  inset: 50% auto auto 50%;
  width: min(86vw, 520px);
  height: min(86vw, 520px);
  border-radius: 45% 55% 50% 50% / 53% 44% 56% 47%;
  transform: translate(-50%, -50%);
  background:
    radial-gradient(circle at 48% 38%, rgba(255,255,255,0.5), transparent 30%),
    linear-gradient(135deg, var(--pod-cheddar), var(--pod-coral));
  box-shadow: inset 0 -20px 50px rgba(118,81,61,0.08), 0 24px 54px rgba(118,81,61,0.12);
}
.shop-hero-bag {
  position: absolute;
  width: clamp(112px, 12vw, 158px);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 20px 26px rgba(79, 49, 32, 0.18));
  transition: transform var(--tr), filter var(--tr);
}
.shop-hero-bag-main {
  width: clamp(210px, 19vw, 285px);
  left: 48%;
  top: 48%;
  z-index: 4;
  transform: translate(-50%, -50%);
}
.shop-hero-bag-left {
  left: 7%;
  bottom: 17%;
  z-index: 2;
  transform: rotate(-9deg);
}
.shop-hero-bag-top {
  right: 15%;
  top: 9%;
  z-index: 3;
  transform: rotate(8deg);
}
.shop-hero-bag-right {
  right: 5%;
  bottom: 18%;
  z-index: 2;
  transform: rotate(6deg);
}
.shop-hero-visual:hover .shop-hero-bag-main { transform: translate(-50%, -53%); }

.shop-body {
  padding: 46px 0 84px;
  background:
    radial-gradient(circle at 12% 36%, rgba(205,235,184,0.18), transparent 22%),
    linear-gradient(180deg, #FFF9EE 0%, #FFFFFF 36%, #FFF9EE 100%);
}

.shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 34px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(78, 52, 38, 0.12);
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(78, 52, 38, 0.07);
}
.filter-tabs { display: flex; gap: 8px; flex-wrap: wrap; }
.ftab {
  padding: 10px 18px;
  border-radius: var(--radius-pill);
  font-weight: 800;
  font-size: 0.88rem;
  background: #FFF9F1;
  border: 1.5px solid rgba(78, 52, 38, 0.13);
  color: var(--brown-dark);
  cursor: pointer;
  transition: all var(--tr);
}
.ftab:hover, .ftab.active {
  background: var(--pod-cheddar);
  color: var(--dark);
  border-color: rgba(78,52,38,0.18);
  box-shadow: 0 7px 16px rgba(118,81,61,0.12);
}
.sort-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--mid);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.sort-select {
  padding: 10px 18px;
  border-radius: var(--radius-pill);
  border: 1.5px solid rgba(78, 52, 38, 0.18);
  background: var(--white);
  font-weight: 700;
  font-size: 0.88rem;
  color: var(--dark);
  cursor: pointer;
  outline: none;
  transition: border-color var(--tr);
}
.sort-select:focus { border-color: var(--dark); }
.shop-section-head {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: end;
  margin-bottom: 26px;
}
.shop-section-head h2 {
  font-family: var(--font-h);
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
}
.shop-section-head > p {
  color: var(--mid);
  max-width: 470px;
  font-size: 0.98rem;
}
.shop-kicker {
  color: var(--brown);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.shop-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.shop-grid .flavor-card {
  position: relative;
  border-radius: 28px;
  background:
    radial-gradient(circle at 50% 22%, rgba(255,255,255,0.72), transparent 48%),
    var(--fc-bg, #FFF3E0);
  border: 1px solid rgba(78, 52, 38, 0.12);
  box-shadow: 0 12px 28px rgba(78, 52, 38, 0.08);
}
.shop-grid .flavor-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 42px rgba(78, 52, 38, 0.14);
  border-color: rgba(78, 52, 38, 0.2);
}
.shop-grid .fc-img {
  aspect-ratio: 0.92;
  padding: 26px 24px 12px;
}
.shop-grid .fc-img img {
  width: 82%;
  height: 100%;
  object-fit: contain;
  margin: 0 auto;
  filter: drop-shadow(0 16px 18px rgba(79,49,32,0.14));
}
.shop-grid .flavor-card:hover .fc-img img {
  transform: translateY(-5px) scale(1.03);
}
.shop-grid .fc-body {
  padding: 18px;
  background: rgba(255, 255, 255, 0.86);
  border-top: 1px solid rgba(78, 52, 38, 0.08);
  backdrop-filter: blur(10px);
}
.shop-grid .fc-badge {
  background: rgba(31,27,24,0.84) !important;
  color: var(--white);
}
.shop-grid .fc-name {
  font-size: 1.18rem;
  margin-bottom: 4px;
}
.shop-grid .fc-desc {
  font-size: 0.84rem;
  line-height: 1.55;
}
.shop-card-meta {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 12px 0 2px;
}
.shop-card-meta span {
  padding: 4px 8px;
  border-radius: var(--radius-pill);
  background: rgba(31, 27, 24, 0.06);
  color: var(--brown-dark);
  font-size: 0.68rem;
  font-weight: 900;
}
.shop-grid .fc-footer {
  border-top-color: rgba(78, 52, 38, 0.1);
}
.shop-grid .fc-price {
  font-size: 1.35rem;
}
.shop-grid .fc-add {
  padding: 9px 16px;
  box-shadow: 0 8px 18px rgba(31,27,24,0.16);
}
.shop-bundle-card {
  grid-column: span 2;
}
.shop-bundle-mini {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 230px;
}
.shop-bundle-mini img {
  position: absolute;
  width: 34%;
  height: auto;
  object-fit: contain;
}
.shop-bundle-mini img:nth-child(1) { left: 2%; bottom: 15%; transform: rotate(-10deg); }
.shop-bundle-mini img:nth-child(2) { left: 24%; top: 6%; transform: rotate(6deg); }
.shop-bundle-mini img:nth-child(3) { left: 43%; bottom: 5%; width: 42%; z-index: 2; }
.shop-bundle-mini img:nth-child(4) { right: 0; top: 18%; transform: rotate(9deg); }
.shop-empty-state {
  grid-column: 1 / -1;
  text-align: center;
  padding: 60px 24px;
  color: var(--mid);
  font-weight: 800;
}

.shop-values {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 56px;
}
.shop-value-card {
  position: relative;
  overflow: hidden;
  background: rgba(255,255,255,0.82);
  border: 1px solid rgba(78, 52, 38, 0.12);
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 10px 24px rgba(78, 52, 38, 0.06);
}
.shop-value-card::after {
  content: '';
  position: absolute;
  right: -34px;
  top: -30px;
  width: 116px;
  height: 98px;
  border-radius: 50% 50% 44% 56% / 48% 42% 58% 52%;
  background: var(--pod-cream);
  opacity: 0.72;
}
.shop-value-card span {
  display: block;
  color: var(--brand-dark);
  font-weight: 900;
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  margin-bottom: 12px;
}
.shop-value-card h3 {
  font-family: var(--font-h);
  font-size: 1.25rem;
  margin-bottom: 8px;
}
.shop-value-card p {
  color: var(--mid);
  font-size: 0.9rem;
}

/* Bundle Banner */
.bundle-banner {
  margin-top: 72px;
  background:
    radial-gradient(circle at 74% 50%, rgba(247, 217, 107, 0.18) 0%, transparent 40%),
    linear-gradient(135deg, #2B211A 0%, #1F1B18 100%);
  border-radius: 34px;
  padding: 52px;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 1fr);
  gap: 52px;
  align-items: center;
  overflow: hidden;
}
.bundle-text h2 {
  font-family: var(--font-h);
  font-size: 2.2rem;
  color: var(--white);
  margin-bottom: 12px;
}
.bundle-text p {
  color: rgba(255,255,255,0.65);
  font-size: 0.96rem;
  margin-bottom: 20px;
  max-width: 440px;
}
.bundle-price-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}
.bundle-price-new {
  font-family: var(--font-h);
  font-size: 2rem;
  color: var(--white);
}
.bundle-price-old {
  font-size: 1rem;
  color: rgba(255,255,255,0.4);
  text-decoration: line-through;
}
.bundle-save-tag {
  background: #16a34a;
  color: var(--white);
  font-size: 0.72rem;
  font-weight: 900;
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.bundle-product-stack {
  position: relative;
  min-height: 290px;
}
.bundle-product-stack::before {
  content: '';
  position: absolute;
  inset: 22px 10px 8px;
  border-radius: 46% 54% 52% 48% / 50% 42% 58% 50%;
  background: linear-gradient(135deg, rgba(255,225,140,0.24), rgba(255,200,184,0.18));
}
.bundle-product-stack img {
  position: absolute;
  width: clamp(112px, 12vw, 150px);
  filter: drop-shadow(0 18px 22px rgba(0,0,0,0.28));
}
.bundle-product-stack img:nth-child(1) { left: 2%; bottom: 8%; transform: rotate(-10deg); }
.bundle-product-stack img:nth-child(2) { left: 27%; top: 2%; transform: rotate(6deg); }
.bundle-product-stack img:nth-child(3) { left: 45%; bottom: 0; width: clamp(142px, 15vw, 190px); z-index: 2; }
.bundle-product-stack img:nth-child(4) { right: 4%; top: 20%; transform: rotate(9deg); }

.shop-proof-strip {
  margin-top: 34px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.shop-proof-strip div {
  background: #FFF8EE;
  border: 1px solid rgba(78, 52, 38, 0.12);
  border-radius: 16px;
  padding: 16px 18px;
}
.shop-proof-strip strong {
  display: block;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--brown);
  margin-bottom: 4px;
}
.shop-proof-strip span {
  color: var(--dark);
  font-weight: 800;
}

/* ============================================================
   ABOUT PAGE
   ============================================================ */
.about-hero-section {
  background: linear-gradient(150deg, #FFF8EE 0%, #FFF0F8 100%);
  padding: 130px 0 52px;
  text-align: center;
}
.about-hero-section h1 {
  font-family: var(--font-h);
  font-size: clamp(2.6rem, 5.5vw, 4rem);
  margin-bottom: 12px;
  line-height: 1.1;
}
.about-hero-section p { color: var(--mid); font-size: 1rem; margin-top: 8px; }
.about-hero-strip {
  display: flex;
  justify-content: center;
  gap: 0;
  margin-top: 44px;
  border-top: 1px solid rgba(0,0,0,0.06);
}
.about-hero-strip span {
  flex: 1;
  text-align: center;
  padding: 18px 0;
  font-size: 2.4rem;
  border-right: 1px solid rgba(0,0,0,0.06);
  background: transparent;
  transition: background var(--tr);
}
.about-hero-strip span:last-child { border-right: none; }
.about-hero-strip span:hover { background: rgba(255,107,53,0.06); }

/* About split */
.about-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
}
.about-split-text h2 {
  font-family: var(--font-h);
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  margin-bottom: 18px;
}
.about-split-text p {
  color: var(--mid);
  margin-bottom: 14px;
  font-size: 0.97rem;
  line-height: 1.8;
}
.about-split-text em { color: var(--orange); font-style: normal; font-weight: 800; }
.origin-card-stack { display: flex; flex-direction: column; gap: 16px; }
.origin-card {
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 24px 28px;
  border: 2px solid var(--border);
  box-shadow: var(--shadow-xs);
  transition: border-color var(--tr), transform var(--tr);
}
.origin-card:hover { border-color: var(--orange); transform: translateX(6px); }
.origin-card strong {
  display: block;
  font-family: var(--font-h);
  font-size: 1.8rem;
  color: var(--orange);
}
.origin-card span { font-size: 0.88rem; color: var(--mid); font-weight: 700; }

/* Values */
.values-section { background: var(--light-grey); }
.values-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.value-item {
  background: var(--white);
  border-radius: var(--radius-xl);
  padding: 36px;
  border: 2px solid var(--border);
  display: flex;
  gap: 24px;
  align-items: flex-start;
  transition: border-color var(--tr), transform var(--tr), box-shadow var(--tr);
}
.value-item:hover {
  border-color: var(--orange);
  transform: translateY(-3px);
  box-shadow: var(--shadow-sm);
}
.value-num {
  font-family: var(--font-h);
  font-size: 3rem;
  color: rgba(255,107,53,0.12);
  line-height: 1;
  flex-shrink: 0;
  min-width: 48px;
}
.value-content { flex: 1; }
.value-icon  { font-size: 2rem; margin-bottom: 10px; }
.value-content h3 {
  font-family: var(--font-h);
  font-size: 1.3rem;
  margin-bottom: 8px;
}
.value-content p { color: var(--mid); font-size: 0.9rem; line-height: 1.65; }

/* Nurova section */
.nurova-section { background: var(--dark); }
.nurova-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
}
.nurova-text h2 {
  font-family: var(--font-h);
  font-size: clamp(2rem, 4vw, 3rem);
  color: var(--white);
  margin-bottom: 18px;
}
.nurova-text p { color: rgba(255,255,255,0.6); margin-bottom: 14px; font-size: 0.95rem; line-height: 1.8; }
.nurova-stats-row {
  display: flex;
  gap: 28px;
  margin-top: 36px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.1);
  flex-wrap: wrap;
}
.nstat { text-align: center; }
.nstat strong {
  display: block;
  font-family: var(--font-h);
  font-size: 1.8rem;
  color: var(--yellow);
}
.nstat span {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.45);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Nurova logo card */
.nurova-logo-card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius-xl);
  overflow: hidden;
}
.nlc-inner { padding: 44px; }
.nlc-wordmark {
  font-family: var(--font-h);
  font-size: 3.2rem;
  color: var(--white);
  margin-bottom: 4px;
}
.nlc-sub {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.4);
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 24px;
}
.nlc-divider {
  height: 1px;
  background: rgba(255,255,255,0.1);
  margin-bottom: 20px;
}
.nlc-desc {
  color: rgba(255,255,255,0.55);
  font-size: 0.88rem;
  line-height: 1.7;
  margin-bottom: 24px;
}
.nlc-brands { display: flex; flex-direction: column; gap: 10px; }
.nlc-brand {
  padding: 12px 18px;
  border-radius: var(--radius-md);
  font-weight: 800;
  font-size: 0.88rem;
  border: 1px solid rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.45);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.nlc-brand span { font-size: 0.72rem; font-weight: 700; color: rgba(255,255,255,0.3); }
.nlc-brand.active {
  background: rgba(255,107,53,0.18);
  border-color: var(--orange);
  color: var(--orange);
}
.nlc-brand.active span { color: rgba(255,107,53,0.6); }
.nlc-brand.upcoming { background: rgba(255,255,255,0.03); }

/* Team */
.team-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.team-card {
  background: var(--tc-bg, #F3F4F6);
  border-radius: var(--radius-xl);
  padding: 32px 24px;
  text-align: center;
  border: 2px solid transparent;
  transition: border-color var(--tr), transform var(--tr), box-shadow var(--tr);
}
.team-card:hover {
  border-color: var(--orange);
  transform: translateY(-4px);
  box-shadow: var(--shadow-sm);
}
.tc-avatar {
  width: 76px;
  height: 76px;
  background: var(--white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  margin: 0 auto 16px;
  box-shadow: var(--shadow-xs);
}
.team-card h3 { font-family: var(--font-h); font-size: 1.15rem; margin-bottom: 5px; }
.tc-role {
  display: block;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--orange);
  margin-bottom: 12px;
}
.team-card p { color: var(--mid); font-size: 0.85rem; line-height: 1.6; }

/* ============================================================
   SCROLL REVEAL
   ============================================================ */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.6s var(--ease), transform 0.6s var(--ease);
}
.reveal.visible { opacity: 1; transform: translateY(0); }

/* ============================================================
   ANIMATIONS
   ============================================================ */
@keyframes pulse-shape {
  0%, 100% { transform: scale(1) rotate(0deg); opacity: 0.8; }
  50%       { transform: scale(1.1) rotate(10deg); opacity: 1; }
}
@keyframes float-center {
  0%, 100% { translate: 0 0; }
  50%       { translate: 0 -8px; }
}
@keyframes wiggle {
  0%, 100% { transform: rotate(-6deg); }
  50%       { transform: rotate(6deg); }
}

/* Individual ring card float animations — each drifts in its own direction */
@keyframes float-ring-1 {
  0%, 100% { transform: translateX(-50%) translateY(0px) rotate(-1deg); }
  50%       { transform: translateX(-50%) translateY(-16px) rotate(1deg); }
}
@keyframes float-ring-2 {
  0%, 100% { transform: translateY(-50%) translateX(0px) rotate(1deg); }
  50%       { transform: translateY(-50%) translateX(12px) rotate(-2deg); }
}
@keyframes float-ring-3 {
  0%, 100% { transform: translateX(-50%) translateY(0px) rotate(1deg); }
  50%       { transform: translateX(-50%) translateY(16px) rotate(-1deg); }
}
@keyframes float-ring-4 {
  0%, 100% { transform: translateY(-50%) translateX(0px) rotate(-1deg); }
  50%       { transform: translateY(-50%) translateX(-12px) rotate(2deg); }
}

@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@keyframes bounce-hint {
  0%, 100% { transform: translateY(0); opacity: 0.7; }
  50%       { transform: translateY(5px); opacity: 1; }
}
@keyframes pop {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.18); }
  100% { transform: scale(1); }
}

/* ============================================================
   DOT HOVER EFFECT (homepage featured cards)
   ============================================================ */
.flavor-card-featured {
  position: relative;
  overflow: hidden;
  display: block;
  text-decoration: none;
  color: inherit;
  transition: transform 0.22s var(--ease), box-shadow 0.22s var(--ease);
}
.flavor-card-featured:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg);
}
.flavor-card-featured {
  background:
    radial-gradient(circle at 50% 24%, rgba(255,255,255,0.74), transparent 46%),
    var(--fc-bg, #FFF3E0);
}
.flavor-card-featured .fc-img {
  aspect-ratio: 0.9;
  padding: 30px 22px 14px;
}
.flavor-card-featured .fc-img img {
  width: 86%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 18px 20px rgba(79,49,32,0.16));
}
.flavor-card-featured .fc-view-hint {
  font-size: 0.8rem;
  font-weight: 800;
  color: var(--fc-accent, var(--brown));
  margin-top: 10px;
  letter-spacing: 0.3px;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.2s, transform 0.2s;
}
.flavor-card-featured:hover .fc-view-hint {
  opacity: 1;
  transform: translateY(0);
}
.flavor-dot {
  position: absolute;
  top: -12px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 10;
  animation: dotFall 1s ease-in forwards;
}
@keyframes dotFall {
  0%   { transform: translateY(0) rotate(0deg) scale(1); opacity: 1; }
  80%  { opacity: 0.6; }
  100% { transform: translateY(340px) rotate(400deg) scale(0.4); opacity: 0; }
}

/* ============================================================
   PRODUCT DETAIL PAGE
   ============================================================ */
.product-detail-section {
  padding: 120px 0 80px;
  background:
    radial-gradient(circle at 12% 12%, rgba(247,217,107,0.18), transparent 26%),
    var(--cream);
  min-height: 100vh;
}
.breadcrumb {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--mid);
  margin-bottom: 36px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.breadcrumb a {
  color: var(--mid);
  text-decoration: none;
  transition: color var(--tr);
}
.breadcrumb a:hover { color: var(--dark); }
.breadcrumb span { color: var(--dark); }

.product-detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}

/* Left: image */
.pd-image-wrap {}
.pd-image-bg {
  border-radius: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
  position: relative;
  overflow: hidden;
  min-height: 420px;
}
.pd-image-bg::before {
  content: '';
  position: absolute;
  width: 78%;
  height: 66%;
  border-radius: 46% 54% 52% 48% / 52% 44% 56% 48%;
  background: rgba(255,255,255,0.5);
  border: 1px solid rgba(255,255,255,0.62);
}
.pd-image-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 60% 40%, rgba(255,255,255,0.35) 0%, transparent 70%);
  pointer-events: none;
}
.pd-product-img {
  width: 100%;
  max-width: 340px;
  height: auto;
  object-fit: contain;
  position: relative;
  z-index: 1;
  drop-shadow: 0 20px 40px rgba(0,0,0,0.15);
  filter: drop-shadow(0 20px 40px rgba(0,0,0,0.18));
}

/* Right: info */
.pd-info { display: flex; flex-direction: column; gap: 0; }
.pd-badge {
  display: inline-block;
  padding: 5px 14px;
  border-radius: var(--radius-pill);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: white;
  margin-bottom: 14px;
  width: fit-content;
}
.pd-name {
  font-family: var(--font-h);
  font-size: clamp(2rem, 4vw, 3rem);
  color: var(--dark);
  line-height: 1.1;
  margin-bottom: 6px;
}
.pd-sub {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--mid);
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.pd-price {
  font-family: var(--font-h);
  font-size: 2rem;
  color: var(--brown);
  margin-bottom: 20px;
}
.pd-desc {
  font-size: 1.05rem;
  color: var(--mid);
  line-height: 1.7;
  margin-bottom: 24px;
}
.pd-taste-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 28px;
}
.pd-taste-tags span {
  background: var(--cream-dark);
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  padding: 6px 16px;
  font-size: 0.85rem;
  font-weight: 800;
  color: var(--dark-2);
}
.pd-details {
  background: rgba(255,255,255,0.78);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 20px 24px;
  margin-bottom: 28px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pd-detail-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.9rem;
  border-bottom: 1px solid var(--border);
  padding-bottom: 12px;
}
.pd-detail-row:last-child { border-bottom: none; padding-bottom: 0; }
.pd-detail-row span:first-child { color: var(--mid); font-weight: 700; }
.pd-detail-row span:last-child { color: var(--dark); font-weight: 800; }
.pd-cart-btn {
  width: 100%;
  padding: 16px 24px;
  font-size: 1rem;
  border-radius: var(--radius-pill);
  margin-bottom: 14px;
}
.pd-back-link {
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--mid);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: color var(--tr);
}
.pd-back-link:hover { color: var(--dark); }

/* Also like section */
.pd-also-section {
  margin-top: 80px;
  padding-top: 60px;
  border-top: 1px solid var(--border);
}
.pd-also-section h3 {
  font-family: var(--font-h);
  font-size: 1.8rem;
  margin-bottom: 32px;
  color: var(--dark);
}
.pd-also-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.also-card {
  display: block;
  text-decoration: none;
  color: inherit;
  border-radius: 24px;
  overflow: hidden;
  background: var(--white);
  border: 1px solid var(--border);
  transition: transform 0.2s var(--ease), box-shadow 0.2s var(--ease);
}
.also-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}
.also-img {
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  position: relative;
  overflow: hidden;
}
.also-img::before {
  content: '';
  position: absolute;
  width: 70%;
  height: 66%;
  border-radius: 48% 52% 55% 45% / 50% 44% 56% 50%;
  background: rgba(255,255,255,0.48);
}
.also-img img {
  height: 120px;
  width: auto;
  object-fit: contain;
  filter: drop-shadow(0 8px 16px rgba(0,0,0,0.12));
  position: relative;
  z-index: 1;
}
.also-name {
  padding: 12px 16px 4px;
  font-weight: 800;
  font-size: 0.95rem;
  color: var(--dark);
}
.also-price {
  padding: 0 16px 16px;
  font-weight: 700;
  font-size: 0.88rem;
  color: var(--mid);
}

/* Product detail page responsive */
@media (max-width: 768px) {
  .product-detail-grid { grid-template-columns: 1fr; gap: 32px; }
  .pd-image-bg { min-height: 280px; padding: 24px; }
  .pd-also-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .pd-also-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
}

/* ============================================================
   PRODUCT-LED HERO REVEAL — the homepage hero is visible at frame 1.
   JS (intro.js) only stages the hero into its settled state.
   ============================================================ */

/* ------------------------------------------------------------------
   BASE TRANSITIONS — always active, NOT nested inside pending rule
   so they persist after intro-pending is removed.
------------------------------------------------------------------ */
.arc-main {
  transition:
    opacity 0.5s ease,
    transform var(--hero-main-settle-ms) cubic-bezier(0.18, 0.88, 0.28, 1);
}
.arc-main img {
  transition: filter 0.5s ease;
}
.arc-tr, .arc-bl, .arc-br {
  transition:
    opacity var(--hero-support-ms) ease,
    transform var(--hero-support-ms) cubic-bezier(0.22, 1, 0.36, 1);
}
.hero-eyebrow,
.hero-body,
.hero-actions,
.hero-trust,
.hero-scroll-hint {
  transition:
    opacity var(--hero-copy-ms) ease,
    transform var(--hero-copy-ms) cubic-bezier(0.22, 1, 0.36, 1);
}
.hl-l1, .hl-l2 {
  display: block;
  transition: transform 0.56s cubic-bezier(0.22, 1, 0.36, 1);
}
.halo,
.hero-visual::before {
  transition: opacity var(--hero-glow-ms) ease, transform var(--hero-glow-ms) ease;
}

/* ------------------------------------------------------------------
   HEADLINE CLIP CONTAINERS — overflow:hidden so inner spans
   can rise up through the clip for a premium line reveal
------------------------------------------------------------------ */
.hl-clip {
  display: block;
  overflow: hidden;
  padding-bottom: 0.12em;
  margin-bottom: -0.12em;
}

/* ------------------------------------------------------------------
   INITIAL REVEAL STATES — only active when html.intro-pending exists.
   The product choreography happens inside the real hero, not an overlay.
------------------------------------------------------------------ */
html.intro-pending .hero-text           { pointer-events: none; }
html.intro-pending .hero-visual::before { opacity: 0.72; transform: scale(1.14); }
html.intro-pending .halo                { opacity: 0.52; }
html.intro-pending .arc-main            { opacity: 1; transform: translate(-50%, -57%) scale(var(--hero-main-initial-scale)); }
html.intro-pending .arc-tr              { opacity: 0.18; transform: translate(-18px, 22px) rotate(3deg) scale(0.94); }
html.intro-pending .arc-bl              { opacity: 0.16; transform: translate(22px, 24px) rotate(-2deg) scale(0.94); }
html.intro-pending .arc-br              { opacity: 0.16; transform: translate(-20px, 24px) rotate(1deg) scale(0.94); }
html.intro-pending .hero-eyebrow        { opacity: 0; transform: translateY(14px); }
html.intro-pending .hl-l1              { transform: translateY(110%); }
html.intro-pending .hl-l2              { transform: translateY(110%); }
html.intro-pending .hero-body          { opacity: 0; transform: translateY(14px); }
html.intro-pending .hero-actions       { opacity: 0; transform: translateY(14px); }
html.intro-pending .hero-trust         { opacity: 0; transform: translateY(8px); }
html.intro-pending .hero-scroll-hint   { opacity: 0; }

/* ------------------------------------------------------------------
   REVEALED OVERRIDES — JS adds .intro-visible with staggered delays
   Higher specificity (3 classes: html + element + .intro-visible)
   ensures these beat the hidden state rules above.
------------------------------------------------------------------ */
html.intro-pending .hero-visual.intro-glow-visible::before { opacity: 1; transform: scale(1); }
html.intro-pending .hero-arc.intro-glow-visible .halo      { opacity: 1; }
html.intro-pending .arc-main.intro-visible           { opacity: 1; transform: translate(-50%, -54%) scale(1); }
html.intro-pending .arc-tr.intro-visible             { opacity: 1; transform: rotate(8deg); }
html.intro-pending .arc-bl.intro-visible             { opacity: 1; transform: rotate(-7deg); }
html.intro-pending .arc-br.intro-visible             { opacity: 1; transform: rotate(5deg); }
html.intro-pending .hero-eyebrow.intro-visible       { opacity: 1; transform: translateY(0); }
html.intro-pending .hl-l1.intro-visible              { transform: translateY(0); }
html.intro-pending .hl-l2.intro-visible              { transform: translateY(0); }
html.intro-pending .hero-body.intro-visible          { opacity: 1; transform: translateY(0); }
html.intro-pending .hero-actions.intro-visible       { opacity: 1; transform: translateY(0); }
html.intro-pending .hero-trust.intro-visible         { opacity: 1; transform: translateY(0); }
html.intro-pending .hero-scroll-hint.intro-visible   { opacity: 1; }

/* ------------------------------------------------------------------
   REDUCED MOTION — instant reveal, no transitions
------------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
  .arc-main, .arc-main img,
  .arc-tr, .arc-bl, .arc-br,
  .hero-eyebrow,
  .hl-l1, .hl-l2,
  .hero-body, .hero-actions,
  .hero-trust, .hero-scroll-hint,
  .halo, .hero-visual::before {
    animation: none !important;
    transition-duration: 180ms !important;
  }
}

/* ============================================================
   VALUES ICON GRID (about.html)
   ============================================================ */
.values-icon-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 48px;
}
.vig-item {
  background: var(--vig-bg, var(--cream-dark));
  border: 1.5px solid var(--vig-border, var(--border));
  border-radius: var(--radius-lg);
  padding: 28px 24px;
  transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease);
}
.vig-item:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}
.vig-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  margin-bottom: 18px;
}
.vig-item h3 {
  font-family: var(--font-h);
  font-size: 1.05rem;
  color: var(--dark);
  margin-bottom: 8px;
  line-height: 1.25;
}
.vig-item p {
  font-size: 0.875rem;
  color: var(--mid);
  line-height: 1.65;
}

/* ============================================================
   PRODUCT INTRO SECTION
   ============================================================ */
.makhana-section {
  background:
    radial-gradient(circle at 18% 18%, rgba(247,217,107,0.14), transparent 32%),
    var(--white);
  overflow: hidden;
}
.makhana-section::after {
  content: '';
  position: absolute;
  right: -44px;
  top: 72px;
  width: 260px;
  height: 210px;
  border-radius: 48% 52% 56% 44% / 52% 42% 58% 48%;
  background:
    var(--pod-bumps),
    linear-gradient(135deg, rgba(205,235,184,0.32), rgba(255,243,216,0.48));
  background-size: 100% 100%, 100% 100%;
  opacity: 0.58;
  pointer-events: none;
}

.makhana-journey {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  margin: 48px 0 40px;
}
.mj-step {
  flex: 1;
  max-width: 260px;
  text-align: center;
  padding: 24px 20px;
  border-radius: 24px;
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(78,52,38,0.08);
  box-shadow: 0 10px 28px rgba(78,52,38,0.06);
  position: relative;
  overflow: hidden;
  border-radius: 34px;
}
.mj-step::after {
  content: '';
  position: absolute;
  left: -24px;
  bottom: -34px;
  width: 118px;
  height: 92px;
  border-radius: 48% 52% 45% 55% / 50% 43% 57% 50%;
  background:
    var(--pod-bumps),
    rgba(255,243,216,0.58);
  background-size: 100% 100%, 100% 100%;
  opacity: 0.58;
}
.mj-step > * {
  position: relative;
  z-index: 1;
}
.mj-icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-h);
  font-size: 1.2rem;
  margin: 0 auto 16px;
  border: 2px solid rgba(78,52,38,0.08);
}
.mj-step h4 {
  font-family: var(--font-h);
  font-size: 1.15rem;
  color: var(--dark);
  margin-bottom: 8px;
}
.mj-step p {
  font-size: 0.88rem;
  color: var(--mid);
  line-height: 1.6;
}
.mj-arrow {
  font-size: 1.8rem;
  color: var(--tomato);
  font-weight: 900;
  padding: 0 8px;
  margin-top: 28px;
  flex-shrink: 0;
}

.makhana-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-top: 8px;
}
.makhana-pill {
  background: var(--pill-bg, var(--cream-dark));
  color: var(--pill-color, var(--dark));
  border-radius: 999px 800px 920px 760px / 760px 999px 760px 920px;
  padding: 10px 22px;
  font-size: 0.9rem;
  font-weight: 800;
  border: 1.5px solid rgba(78,52,38,0.08);
  transition: transform 0.2s var(--ease), box-shadow 0.2s var(--ease);
}
.makhana-pill:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
}

/* ============================================================
   AUTHORITY STRIP
   ============================================================ */
.authority-strip {
  background:
    linear-gradient(135deg, #1F1B18 0%, #2A211A 100%);
  padding: 64px 0;
  position: relative;
  overflow: hidden;
}
.authority-strip::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    var(--pod-bumps),
    radial-gradient(ellipse at 80% 50%, rgba(247,217,107,0.12) 0%, transparent 65%);
  background-size: 360px 300px, 100% 100%;
  opacity: 0.75;
  pointer-events: none;
}
.authority-strip--about {
  background: linear-gradient(135deg, #1F1B18 60%, #2a2318 100%);
}
.auth-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}
.auth-text .eyebrow-tag {
  color: var(--brand) !important;
}
.auth-text h2 {
  font-family: var(--font-h);
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  color: #fff;
  line-height: 1.2;
  margin: 12px 0 16px;
}
.auth-text p {
  font-size: 0.95rem;
  color: rgba(255,255,255,0.7);
  line-height: 1.7;
  max-width: 480px;
}

.auth-badges {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.auth-badge {
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-lg);
  padding: 20px 18px;
  text-align: center;
  transition: background 0.2s var(--ease), transform 0.2s var(--ease);
}
.auth-badge:hover {
  background: rgba(255,255,255,0.11);
  transform: translateY(-2px);
}
.ab-num {
  font-family: var(--font-h);
  font-size: 2rem;
  color: var(--brand);
  line-height: 1;
  margin-bottom: 6px;
}
.ab-icon {
  font-size: 1.8rem;
  margin-bottom: 6px;
  line-height: 1;
}
.ab-label {
  font-size: 0.78rem;
  font-weight: 800;
  color: rgba(255,255,255,0.8);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1.3;
}

/* ============================================================
   FOUNDER PILLARS (about.html)
   ============================================================ */
.founder-pillars {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 28px;
}
.fp-item {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--cream-dark);
  border-radius: var(--radius-md);
  padding: 12px 18px;
  font-size: 0.92rem;
  color: var(--dark);
  border: 1px solid var(--border);
}
.fp-item span {
  font-size: 1.2rem;
  flex-shrink: 0;
}
.fp-item strong {
  font-weight: 800;
  color: var(--dark);
}

/* ============================================================
   SACRAMENTO CARD (about.html)
   ============================================================ */
.sacramento-card {
  display: flex;
  align-items: center;
  gap: 16px;
  background: linear-gradient(135deg, #FFF7D6 0%, #FFF0EC 100%);
  border: 1.5px solid rgba(244,207,87,0.4);
  border-radius: var(--radius-lg);
  padding: 20px 24px;
  margin-top: 20px;
  box-shadow: var(--shadow-sm);
}
.sac-icon {
  font-size: 2rem;
  flex-shrink: 0;
}
.sac-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.sac-text strong {
  font-weight: 900;
  font-size: 0.95rem;
  color: var(--dark);
}
.sac-text span {
  font-size: 0.82rem;
  color: var(--mid);
  line-height: 1.5;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

/* ---- Tablet (≤1024px) ---- */
@media (max-width: 1024px) {
  .hero-inner        { grid-template-columns: 1fr; text-align: center; }
  .hero-body         { margin: 0 auto 36px; max-width: 520px; }
  .hero-actions      { justify-content: center; }
  .hero-visual       { justify-content: center; }
  .hero-visual       { min-height: 430px; order: -1; }
  html.intro-pending .hero-visual { transform: none; }
  .hero-arc          { width: min(100%, 500px); height: 420px; transform-origin: top center; }
  .arc-main img      { width: clamp(190px, 27vw, 230px); }
  .arc-tr img,
  .arc-bl img,
  .arc-br img        { width: clamp(88px, 15vw, 116px); }

  .flavor-cards-row  { grid-template-columns: repeat(2, 1fr); }
  .shop-grid         { grid-template-columns: repeat(2, 1fr); }
  .shop-hero-inner   { grid-template-columns: 1fr; text-align: center; gap: 22px; }
  .shop-hero-copy p  { margin-left: auto; margin-right: auto; }
  .shop-hero-actions,
  .shop-hero-proof   { justify-content: center; }
  .shop-hero-visual  { min-height: 360px; }
  .shop-section-head { align-items: flex-start; flex-direction: column; }
  .shop-values,
  .shop-proof-strip  { grid-template-columns: 1fr; }
  .perks-grid        { grid-template-columns: repeat(2, 1fr); }
  .split-container   { grid-template-columns: 1fr; }
  .newsletter-inner  { grid-template-columns: 1fr; gap: 24px; }
  .about-split       { grid-template-columns: 1fr; }
  .nurova-inner      { grid-template-columns: 1fr; }
  .team-grid         { grid-template-columns: repeat(2, 1fr); }
  .values-grid       { grid-template-columns: 1fr; }
  .values-icon-grid  { grid-template-columns: repeat(2, 1fr); }
  .footer-grid       { grid-template-columns: 1fr 1fr; }
  .bundle-banner     { grid-template-columns: 1fr; }
  .compare-grid      { grid-template-columns: 1fr; gap: 16px; }
  .auth-inner        { grid-template-columns: 1fr; gap: 32px; }
  .makhana-journey   { gap: 0; }
}

/* ---- Mobile (≤768px) ---- */
@media (max-width: 768px) {
  /* Navbar */
  .nav-inner {
    grid-template-columns: auto 1fr auto;
    padding: 0 16px;
  }
  .nav-logo { justify-content: center; }
  .nav-logo-img { height: 50px !important; }
  .nav-logo-desktop { display: none; }
  .nav-logo-mobile  { display: block; }
  .nav-right { gap: 8px; }
  .nav-shop-btn { display: none; }
  .hamburger { display: flex; }

  /* Nav dropdown */
  .nav-links {
    position: fixed;
    top: 80px; left: 0; right: 0;
    background: var(--brand);
    flex-direction: column;
    padding: 12px 20px 20px;
    border-bottom: 2px solid rgba(0,0,0,0.08);
    display: none;
    box-shadow: var(--shadow-md);
    z-index: 1000;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 2px;
  }
  .nav-links.open { display: flex; }
  .nav-links a    { font-size: 1rem; padding: 10px 14px; width: 100%; color: var(--dark); border-radius: var(--radius-md); }

  /* Hero */
  .hero { padding: 86px 20px 36px; min-height: auto; }
  .hero-inner { gap: 2px; }
  .hero-text { padding-bottom: 0; }
  .hero-visual { display: flex; min-height: 245px; }
  .hero-visual::before { width: 275px; height: 275px; }
  .hero-arc { width: min(100%, 315px); height: 238px; }
  .arc-main { top: 50%; left: 50%; }
  .arc-main img { width: clamp(138px, 41vw, 164px); }
  .arc-tr { --arc-tr-top: 12px; --arc-tr-right: 12px; }
  .arc-bl { --arc-bl-bottom: 18px; --arc-bl-left: 12px; }
  .arc-br { --arc-br-bottom: 14px; --arc-br-right: 12px; }
  .arc-tr img,
  .arc-bl img,
  .arc-br img { width: clamp(58px, 18vw, 76px); }
  .hero-headline { font-size: clamp(2.15rem, 8.2vw, 2.8rem); margin-bottom: 12px; }
  .hero-body { font-size: 0.96rem; margin-bottom: 18px; line-height: 1.5; }
  .hero-eyebrow { margin-bottom: 10px; font-size: 0.74rem; }
  .hero-actions { gap: 10px; }
  .hero-actions .btn { padding: 12px 24px; font-size: 0.9rem; }
  .hero-trust { font-size: 0.74rem; margin-top: 14px; }
  .hero-scroll-hint { display: none; }

  /* Sections */
  .section { padding: 48px 0; }
  .container { padding: 0 20px; }
  .section-head h2 { font-size: 1.8rem; }
  .section-head p  { font-size: 0.9rem; }

  /* Cards */
  .flavor-cards-row { grid-template-columns: 1fr 1fr; gap: 12px; }
  .shop-grid        { grid-template-columns: 1fr 1fr; gap: 12px; }
  .shop-hero-banner { padding: 108px 0 42px; }
  .shop-hero-copy h1 { font-size: clamp(2.65rem, 13vw, 4rem); }
  .shop-hero-copy p { font-size: 0.98rem; }
  .shop-hero-visual { min-height: 300px; }
  .shop-hero-bag-main { width: clamp(180px, 47vw, 230px); }
  .shop-hero-bag { width: clamp(82px, 24vw, 116px); }
  .shop-toolbar { align-items: flex-start; }
  .filter-tabs { width: 100%; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 2px; }
  .ftab { flex: 0 0 auto; }
  .sort-label { width: 100%; justify-content: space-between; }
  .shop-section-head > p { font-size: 0.92rem; }
  .shop-grid .fc-img { aspect-ratio: 1.05; padding: 18px 14px 8px; }
  .shop-grid .fc-img img { width: 70%; }
  .shop-grid .fc-body { padding: 15px; }
  .shop-grid .fc-footer { align-items: flex-start; flex-direction: column; gap: 10px; }
  .shop-grid .fc-add { width: 100%; justify-content: center; }
  .shop-values { gap: 12px; }
  .bundle-banner { padding: 30px 22px; gap: 22px; }
  .bundle-product-stack { min-height: 250px; }
  .bundle-product-stack img { width: 28%; }
  .bundle-product-stack img:nth-child(3) { width: 36%; }
  .perks-grid       { grid-template-columns: 1fr 1fr; gap: 12px; }
  .team-grid        { grid-template-columns: 1fr 1fr; }
  .values-icon-grid { grid-template-columns: 1fr 1fr; gap: 12px; }

  /* Split section */
  .split-visual { display: none; }
  .compare-grid { grid-template-columns: 1fr; gap: 16px; }

  /* Product intro journey */
  .makhana-journey { flex-direction: column; align-items: center; gap: 8px; }
  .mj-step { max-width: 100%; padding: 0; }
  .mj-arrow { transform: rotate(90deg); margin: 4px 0; }

  /* Authority strip */
  .auth-inner { grid-template-columns: 1fr; gap: 28px; }
  .auth-badges { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .auth-text h2 { font-size: 1.5rem; }
  .authority-strip { padding: 48px 0; }

  /* Founder pillars */
  .founder-pillars { gap: 8px; }

  /* CTA */
  .fbc-inner h2     { font-size: 1.8rem; }
  .fbc-emoji-row { flex-wrap: wrap; }
  .fbc-emoji-row span {
    flex: 1 1 50%;
    font-size: 0.68rem;
    line-height: 1.25;
  }
  .fullbleed-cta    { padding: 48px 0 32px; }

  /* Newsletter */
  .newsletter-form  { flex-direction: column; }
  .nl-input         { width: 100%; }

  /* Footer */
  .footer-grid      { grid-template-columns: 1fr 1fr; gap: 28px; }
  .footer           { padding: 48px 0 0; }

  /* Marquee */
  .marquee-bar      { font-size: 0.75rem; padding: 12px 0; }
}

/* ---- Small mobile (≤480px) ---- */
@media (max-width: 480px) {
  .nav-logo-img     { height: 46px !important; }
  .nav-logo-desktop { display: none; }
  .nav-logo-mobile  { display: block; }
  .hero-headline    { font-size: clamp(2rem, 9.2vw, 2.55rem); }
  .hero-visual      { min-height: 220px; }
  .hero-arc         { height: 215px; }
  .arc-main img     { width: clamp(132px, 42vw, 154px); }
  .arc-tr img,
  .arc-bl img,
  .arc-br img       { width: clamp(54px, 18vw, 70px); }
  .flavor-cards-row { grid-template-columns: 1fr; }
  .shop-grid        { grid-template-columns: 1fr; }
  .shop-bundle-card { grid-column: span 1; }
  .shop-hero-visual { min-height: 265px; }
  .shop-hero-bag-main { width: clamp(160px, 54vw, 205px); }
  .shop-hero-bag-left { left: 0; bottom: 12%; }
  .shop-hero-bag-top { right: 9%; top: 6%; }
  .shop-hero-bag-right { right: 0; bottom: 12%; }
  .bundle-product-stack { min-height: 210px; }
  .perks-grid       { grid-template-columns: 1fr; }
  .team-grid        { grid-template-columns: 1fr; }
  .footer-grid      { grid-template-columns: 1fr; }
  .values-grid      { grid-template-columns: 1fr; }
  .values-icon-grid { grid-template-columns: 1fr; }
  .fbc-inner h2     { font-size: 1.6rem; }
  .hero-actions     { flex-direction: column; align-items: center; }
  .hero-actions .btn { width: 100%; text-align: center; justify-content: center; }
}
