/* =============================================================
   PURE VANILLA INDONESIA — main.css  v3.0
   Split into logical sections — complete, no truncation
   ============================================================= */

/* ============================================================
   01. DESIGN TOKENS
   ============================================================ */
:root {
  --cream:         #faf6ef;
  --cream-dark:    #f0e8d5;
  --cream-mid:     #e4d5bc;
  --warm-white:    #fffdf8;
  --off-white:     #f9f5ee;
  --brown-light:   #8b6340;
  --brown:         #5c3d1e;
  --brown-dark:    #2d1b0e;
  --brown-deep:    #1a0f00;
  --gold:          #C9A96E;
  --gold-light:    #dfc090;
  --gold-dark:     #a0803a;
  --border:        #ddd0b8;
  --border-soft:   #ede5d4;
  --text-dark:     #1a0f00;
  --text-mid:      #4a3520;
  --text-light:    #7a5c3a;
  --text-muted:    #a08060;
  --text-subtle:   #c0a078;
  --bg:            #fffdf8;
  --bg-soft:       #faf6ef;
  --green:         #2a7a4a;
  --green-tint:    #f0faf4;
  --teal:          #1a6b6b;
  --teal-tint:     #f0f8f8;
  --blue:          #1a4a8a;
  --blue-tint:     #f0f4fc;
  --red:           #8a2a2a;
  --red-tint:      #fdf0f0;
  --orange:        #c05820;
  --orange-tint:   #fdf4ee;
  --purple:        #5a2a8a;
  --purple-tint:   #f6f0fc;

  --font-serif: 'Playfair Display', Georgia, serif;
  --font-sans:  'Inter', system-ui, sans-serif;

  --fs-xs:   .75rem;
  --fs-sm:   .875rem;
  --fs-base: 1rem;
  --fs-md:   1.125rem;
  --fs-lg:   1.25rem;
  --fs-xl:   1.5rem;
  --fs-2xl:  2rem;
  --fs-3xl:  2.5rem;
  --fs-4xl:  3.25rem;
  --fs-5xl:  4rem;

  --fw-light:   300;
  --fw-regular: 400;
  --fw-medium:  500;
  --fw-semi:    600;
  --fw-bold:    700;

  --lh-tight:   1.1;
  --lh-snug:    1.3;
  --lh-normal:  1.6;
  --lh-relaxed: 1.8;
  --ls-tight:  -.03em;
  --ls-normal: -.01em;
  --ls-wide:    .08em;
  --ls-wider:   .15em;

  --sp-1:.25rem; --sp-2:.5rem;  --sp-3:.75rem; --sp-4:1rem;
  --sp-5:1.25rem;--sp-6:1.5rem; --sp-8:2rem;   --sp-10:2.5rem;
  --sp-12:3rem;  --sp-16:4rem;  --sp-20:5rem;  --sp-24:6rem;

  --r-sm:4px; --r-md:8px; --r-lg:12px; --r-xl:16px;
  --r-2xl:24px; --r-3xl:32px; --r-full:9999px;

  --shadow-xs: 0 1px 3px rgba(90,50,10,.07);
  --shadow-sm: 0 2px 8px rgba(90,50,10,.10);
  --shadow-md: 0 6px 20px rgba(90,50,10,.13);
  --shadow-lg: 0 16px 48px rgba(90,50,10,.16);
  --shadow-xl: 0 28px 72px rgba(90,50,10,.20);
  --shadow-gold: 0 4px 24px rgba(201,169,110,.30);

  --ease-out:    cubic-bezier(.16,1,.3,1);
  --ease-bounce: cubic-bezier(.34,1.56,.64,1);
  --dur-fast:  180ms;
  --dur-mid:   300ms;
  --dur-slow:  500ms;

  --header-h:   72px;
  --announce-h: 40px;
}


/* ============================================================
   02. RESET & BASE
   ============================================================ */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }

html { font-size:16px; scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body {
  font-family:var(--font-sans);
  font-size:var(--fs-base);
  font-weight:var(--fw-regular);
  line-height:var(--lh-normal);
  letter-spacing:var(--ls-normal);
  color:var(--text-dark);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img,video   { display:block; max-width:100%; height:auto; }
a           { color:inherit; text-decoration:none; transition:color var(--dur-fast); }
ul,ol       { list-style:none; }
button      { font-family:inherit; cursor:pointer; border:none; background:none; }
input,select,textarea { font-family:inherit; font-size:inherit; }
address     { font-style:normal; }
table       { border-collapse:collapse; }

.skip-link {
  position:fixed; top:1rem; left:1rem; z-index:9999;
  padding:.5rem 1.2rem; background:var(--brown-deep);
  color:#fff; font-size:var(--fs-sm); font-weight:var(--fw-semi);
  border-radius:var(--r-md); transform:translateY(-200%);
  transition:transform var(--dur-mid) var(--ease-out);
}
.skip-link:focus { transform:translateY(0); color:#fff; }


/* ============================================================
   03. TYPOGRAPHY HELPERS
   ============================================================ */
h1,h2,h3,h4,h5,h6 {
  font-family:var(--font-serif);
  font-weight:var(--fw-bold);
  line-height:var(--lh-tight);
  letter-spacing:var(--ls-tight);
  color:var(--brown-deep);
}
p { line-height:var(--lh-relaxed); color:var(--text-mid); }
p em { font-style:italic; color:var(--text-muted); font-size:.93em; }
strong { font-weight:var(--fw-semi); color:var(--text-dark); }

.section-eyebrow {
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:var(--font-sans); font-size:var(--fs-xs);
  font-weight:var(--fw-semi); letter-spacing:var(--ls-wider);
  text-transform:uppercase; color:var(--gold-dark); margin-bottom:1rem;
}
.section-eyebrow--light { color:rgba(201,169,110,.75); }

.section-heading {
  font-family:var(--font-serif);
  font-size:clamp(var(--fs-2xl),4vw,var(--fs-4xl));
  font-weight:var(--fw-bold); letter-spacing:var(--ls-tight);
  color:var(--brown-deep); line-height:1.1; margin-bottom:.75rem;
}
.section-heading em        { font-style:italic; color:var(--gold-dark); }
.section-heading--light    { color:var(--cream); }
.section-heading--light em { color:var(--gold-light); }

.section-heading-id {
  font-family:var(--font-sans); font-size:var(--fs-sm);
  font-style:italic; color:var(--text-muted); margin-bottom:1.25rem;
}
.section-heading-id--light { color:rgba(255,255,255,.4); }

.section-lead { font-size:var(--fs-md); color:var(--text-mid); line-height:var(--lh-relaxed); max-width:600px; margin:0 auto; }

.section-header         { margin-bottom:2.5rem; }
.section-header--center { text-align:center; display:flex; flex-direction:column; align-items:center; }

.btn-text-link {
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:var(--fs-sm); font-weight:var(--fw-semi); color:var(--brown-dark);
  transition:gap var(--dur-fast),color var(--dur-fast);
}
.btn-text-link:hover   { gap:.75rem; color:var(--gold-dark); }
.btn-text-link i       { transition:transform var(--dur-fast) var(--ease-out); }
.btn-text-link:hover i { transform:translateX(3px); }


/* ============================================================
   04. LAYOUT UTILITIES
   ============================================================ */
.section-pad    { padding-top:6rem; padding-bottom:6rem; }
.section-pad-sm { padding-top:4rem; padding-bottom:4rem; }
.bg-cream       { background:var(--cream); }
.bg-dark-vanilla{ background:var(--brown-deep); }
.min-vh-85      { min-height:85vh; }


/* ============================================================
   05. BUTTONS
   ============================================================ */
.btn-vanilla {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.75rem 1.625rem;
  background:var(--brown-deep); color:var(--cream) !important;
  font-family:var(--font-sans); font-size:var(--fs-sm); font-weight:var(--fw-semi);
  letter-spacing:.02em; border-radius:var(--r-md); border:2px solid var(--brown-deep);
  transition:background var(--dur-fast),transform var(--dur-fast) var(--ease-bounce),box-shadow var(--dur-fast);
  cursor:pointer; white-space:nowrap;
}
.btn-vanilla:hover   { background:var(--brown); border-color:var(--brown); transform:translateY(-2px); box-shadow:var(--shadow-md); color:var(--cream)!important; }
.btn-vanilla.btn-lg  { padding:.875rem 2rem; font-size:var(--fs-base); }
.btn-vanilla.btn-sm  { padding:.45rem 1.1rem; font-size:var(--fs-xs); }

.btn-outline-vanilla {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.75rem 1.625rem;
  background:transparent; color:var(--brown-deep)!important;
  font-family:var(--font-sans); font-size:var(--fs-sm); font-weight:var(--fw-semi);
  border-radius:var(--r-md); border:2px solid var(--border);
  transition:border-color var(--dur-fast),background var(--dur-fast),transform var(--dur-fast) var(--ease-bounce);
  cursor:pointer; white-space:nowrap;
}
.btn-outline-vanilla:hover   { border-color:var(--brown-deep); background:var(--cream-dark); transform:translateY(-2px); color:var(--brown-deep)!important; }
.btn-outline-vanilla.btn-lg  { padding:.875rem 2rem; font-size:var(--fs-base); }
.btn-outline-vanilla.btn-sm  { padding:.45rem 1.1rem; font-size:var(--fs-xs); }

.btn-outline-vanilla-gold {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.75rem 1.625rem;
  background:transparent; color:var(--gold-light)!important;
  font-family:var(--font-sans); font-size:var(--fs-sm); font-weight:var(--fw-semi);
  border-radius:var(--r-md); border:2px solid var(--gold);
  transition:background var(--dur-fast),transform var(--dur-fast) var(--ease-bounce),box-shadow var(--dur-fast);
  cursor:pointer; white-space:nowrap;
}
.btn-outline-vanilla-gold:hover { background:rgba(201,169,110,.15); transform:translateY(-2px); box-shadow:var(--shadow-gold); color:var(--gold-light)!important; }

.btn-light-vanilla {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.875rem 2rem;
  background:var(--cream); color:var(--brown-deep)!important;
  font-family:var(--font-sans); font-size:var(--fs-base); font-weight:var(--fw-bold);
  border-radius:var(--r-md); border:2px solid var(--cream);
  transition:background var(--dur-fast),transform var(--dur-fast) var(--ease-bounce),box-shadow var(--dur-fast);
  cursor:pointer; white-space:nowrap;
}
.btn-light-vanilla:hover { background:var(--cream-dark); transform:translateY(-2px); box-shadow:0 8px 32px rgba(0,0,0,.2); color:var(--brown-deep)!important; }

.btn-outline-light-vanilla {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.875rem 2rem;
  background:transparent; color:rgba(255,255,255,.85)!important;
  font-family:var(--font-sans); font-size:var(--fs-base); font-weight:var(--fw-semi);
  border-radius:var(--r-md); border:2px solid rgba(255,255,255,.35);
  transition:background var(--dur-fast),border-color var(--dur-fast),transform var(--dur-fast) var(--ease-bounce);
  cursor:pointer; white-space:nowrap;
}
.btn-outline-light-vanilla:hover { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.65); transform:translateY(-2px); color:#fff!important; }

.btn-outline-vanilla-light {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.875rem 2rem;
  background:transparent; color:rgba(255,255,255,.9)!important;
  font-family:var(--font-sans); font-size:var(--fs-base); font-weight:var(--fw-semi);
  border-radius:var(--r-md); border:1.5px solid rgba(255,255,255,.45);
  transition:background var(--dur-fast),border-color var(--dur-fast),transform var(--dur-fast) var(--ease-bounce);
  cursor:pointer; white-space:nowrap;
}
.btn-outline-vanilla-light:hover { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.7); transform:translateY(-2px); color:#fff!important; }

.btn-whatsapp {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.75rem 1.625rem;
  background:#25d366; color:#fff!important;
  font-family:var(--font-sans); font-size:var(--fs-sm); font-weight:var(--fw-semi);
  border-radius:var(--r-md); border:2px solid #25d366;
  transition:background var(--dur-fast),transform var(--dur-fast) var(--ease-bounce);
  cursor:pointer; white-space:nowrap;
}
.btn-whatsapp:hover  { background:#1da851; border-color:#1da851; transform:translateY(-2px); color:#fff!important; }
.btn-whatsapp.btn-lg { padding:.875rem 2rem; font-size:var(--fs-base); }


/* ============================================================
   06. ANNOUNCEMENT BAR
   ============================================================ */
.announcement-bar {
  height:var(--announce-h); background:var(--brown-dark);
  display:flex; align-items:center; overflow:hidden;
}
.announcement-bar__text {
  font-size:var(--fs-xs); font-weight:var(--fw-medium);
  color:rgba(255,255,255,.7); text-align:center; width:100%;
  display:flex; align-items:center; justify-content:center; gap:.75rem; flex-wrap:wrap;
}
.ann-badge {
  display:inline-flex; padding:2px 8px; background:var(--gold); color:var(--brown-deep);
  font-size:10px; font-weight:var(--fw-bold); letter-spacing:var(--ls-wide);
  text-transform:uppercase; border-radius:var(--r-full); flex-shrink:0;
}
.ann-separator { color:rgba(255,255,255,.25); }
.announcement-bar__text a {
  color:var(--gold-light); font-weight:var(--fw-semi);
  display:inline-flex; align-items:center; gap:.25rem;
  text-decoration:underline; text-underline-offset:2px;
}
.announcement-bar__text a:hover { text-decoration:none; }


/* ============================================================
   07. HEADER & NAV
   ============================================================ */
.site-header {
  position:sticky; top:0; z-index:1000; height:var(--header-h);
  background:rgba(255,253,248,.96);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border-soft);
  transition:box-shadow var(--dur-mid) var(--ease-out);
}
.site-header.scrolled { box-shadow:0 4px 32px rgba(90,50,10,.10); }
.site-header .navbar  { padding:0; height:var(--header-h); display:flex; align-items:center; }
.site-header .container { display:flex; align-items:center; height:100%; }

.site-header .nav-link {
  font-family:var(--font-sans); font-size:var(--fs-sm); font-weight:var(--fw-medium);
  color:var(--text-mid)!important; padding:.5rem .75rem!important;
  border-radius:var(--r-md); transition:color var(--dur-fast),background var(--dur-fast);
}
.site-header .nav-link:hover,
.site-header .nav-link.active { color:var(--brown-deep)!important; background:var(--cream); }
.header-actions { flex-shrink:0; }

.navbar-toggler { border:1.5px solid var(--border); border-radius:var(--r-md); padding:6px 10px; }
.navbar-toggler:focus { box-shadow:none; }
.navbar-toggler-icon {
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(42,27,14,.8)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

@media (max-width:991.98px) {
  .navbar-collapse {
    position:absolute; top:var(--header-h); left:0; right:0;
    background:var(--warm-white); border-bottom:1px solid var(--border);
    padding:1rem 1rem 1.5rem; box-shadow:0 12px 32px rgba(90,50,10,.12); z-index:999;
  }
  .site-header .nav-link { padding:.75rem 1rem!important; }
}


/* ============================================================
   08. LOGO
   ============================================================ */
.site-logo { display:flex; align-items:center; gap:.75rem; text-decoration:none; flex-shrink:0; }
.logo-mark svg   { display:block; }
.logo-mark--sm svg { width:28px; height:28px; }
.logo-text   { display:flex; flex-direction:column; gap:0; }
.logo-name   { font-family:var(--font-serif); font-size:1.05rem; font-weight:var(--fw-bold); color:var(--brown-deep); letter-spacing:-.02em; line-height:1.2; font-style:italic; }
.logo-sub    { font-family:var(--font-sans); font-size:.6rem; font-weight:var(--fw-semi); color:var(--gold-dark); letter-spacing:var(--ls-wider); text-transform:uppercase; line-height:1; }


/* ============================================================
   09. HERO
   ============================================================ */
.hero-section { position:relative; overflow:hidden; min-height:92vh; display:flex; align-items:center; }
.hero-section__bg { position:absolute; inset:0; z-index:0; }
.hero-bg-image { width:100%; height:100%; object-fit:cover; object-position:center 40%; display:block; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(105deg,rgba(26,15,0,.84) 0%,rgba(44,28,10,.70) 45%,rgba(26,15,0,.42) 100%); }
.hero-section__inner { position:relative; z-index:1; width:100%; padding-top:5rem; padding-bottom:5rem; }

.hero-eyebrow { display:flex; align-items:center; gap:.75rem; font-size:var(--fs-xs); font-weight:var(--fw-semi); letter-spacing:var(--ls-wider); text-transform:uppercase; color:var(--gold-light); margin-bottom:1.25rem; }
.hero-eyebrow__line { display:block; width:40px; height:1px; background:var(--gold); flex-shrink:0; }

.hero-heading { font-family:var(--font-serif); font-size:clamp(2.5rem,7vw,5rem); font-weight:var(--fw-bold); letter-spacing:-.04em; line-height:1.0; color:var(--cream); margin-bottom:1.5rem; }
.hero-heading em { font-style:italic; color:var(--gold-light); }

.hero-subheading    { font-size:clamp(var(--fs-base),1.5vw,var(--fs-md)); color:rgba(255,255,255,.75); line-height:var(--lh-relaxed); max-width:540px; margin-bottom:.75rem; }
.hero-subheading--id{ font-size:var(--fs-sm); color:rgba(255,255,255,.45); font-style:italic; margin-bottom:2rem; }

.hero-cta-group { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; margin-bottom:2.5rem; }

.hero-trust { display:flex; align-items:center; gap:.25rem; flex-wrap:wrap; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.10); }
.trust-item { display:flex; align-items:center; gap:.5rem; font-size:var(--fs-xs); font-weight:var(--fw-medium); color:rgba(255,255,255,.6); }
.trust-item i { color:var(--gold); font-size:var(--fs-sm); }
.trust-sep   { color:rgba(255,255,255,.2); margin:0 .5rem; }

.hero-stats-card { background:rgba(255,253,248,.08); backdrop-filter:blur(12px); border:1px solid rgba(201,169,110,.25); border-radius:var(--r-2xl); padding:1.5rem; }
.hero-stat-item  { padding:1.25rem 0; text-align:center; }
.hero-stat-item strong { display:block; font-family:var(--font-serif); font-size:clamp(2rem,3vw,2.75rem); font-weight:var(--fw-bold); color:var(--gold-light); letter-spacing:-.04em; line-height:1; margin-bottom:.5rem; }
.hero-stat-item span   { font-size:var(--fs-xs); color:rgba(255,255,255,.5); line-height:1.4; }
.hero-stat-item span em{ display:block; font-style:italic; color:rgba(255,255,255,.3); font-size:.9em; }
.hero-stat-divider { height:1px; background:rgba(201,169,110,.15); }

.hero-scroll { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:.5rem; z-index:1; }
.hero-scroll__text { font-size:var(--fs-xs); letter-spacing:var(--ls-wider); text-transform:uppercase; color:rgba(255,255,255,.3); }
.hero-scroll__line { width:1px; height:40px; background:linear-gradient(to bottom,rgba(201,169,110,.5),transparent); animation:scroll-pulse 2s ease-in-out infinite; }
@keyframes scroll-pulse { 0%,100%{opacity:1} 50%{opacity:.3} }


/* ============================================================
   10. MARQUEE
   ============================================================ */
.marquee-section { display:flex; align-items:center; background:var(--brown-dark); padding:1rem 0; overflow:hidden; }
.marquee-label   { flex-shrink:0; padding:0 1.5rem; font-size:var(--fs-xs); font-weight:var(--fw-semi); letter-spacing:var(--ls-wider); text-transform:uppercase; color:rgba(255,255,255,.35); border-right:1px solid rgba(255,255,255,.1); white-space:nowrap; }
.marquee-track   { flex:1; overflow:hidden; }
.marquee-inner   { display:flex; align-items:center; white-space:nowrap; animation:marquee-run 30s linear infinite; }
.marquee-item    { font-size:var(--fs-sm); font-weight:var(--fw-medium); color:rgba(255,255,255,.55); padding:0 1.25rem; }
.marquee-item:hover { color:rgba(255,255,255,.85); }
.marquee-sep     { color:var(--gold); font-size:var(--fs-xs); opacity:.5; }
@keyframes marquee-run { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.marquee-track:hover .marquee-inner { animation-play-state:paused; }

/* ============================================================
   11. ABOUT SNIPPET / FARM FIGURES
   ============================================================ */
.about-figure { position:relative; border-radius:var(--r-2xl); overflow:hidden; box-shadow:var(--shadow-xl); margin:0; }
.about-figure__img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; transition:transform var(--dur-slow) var(--ease-out); }
.about-figure:hover .about-figure__img { transform:scale(1.04); }
.about-figure__badge { position:absolute; bottom:1.25rem; left:1.25rem; display:flex; align-items:center; gap:.5rem; padding:.375rem 1rem; background:rgba(26,15,0,.75); backdrop-filter:blur(8px); border:1px solid rgba(201,169,110,.3); border-radius:var(--r-full); font-size:var(--fs-xs); font-weight:var(--fw-semi); color:var(--gold-light); }
.about-figure__badge i { color:var(--gold); }
.about-figure__caption { font-size:var(--fs-xs); font-style:italic; color:var(--text-muted); text-align:center; margin-top:.75rem; }
.about-body p { margin-bottom:1rem; }
.about-body p:last-of-type { margin-bottom:1.5rem; }
.about-values { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--border); }
.value-pill { display:inline-flex; align-items:center; gap:.5rem; padding:.375rem 1rem; background:var(--cream); border:1px solid var(--border); border-radius:var(--r-full); font-size:var(--fs-xs); font-weight:var(--fw-semi); color:var(--brown-dark); transition:background var(--dur-fast),border-color var(--dur-fast); }
.value-pill i { color:var(--gold-dark); }
.value-pill:hover { background:var(--cream-dark); border-color:var(--gold); }

/* ============================================================
   12. PRODUCT CARDS
   ============================================================ */
.product-card { background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-xl); overflow:hidden; transition:transform var(--dur-mid) var(--ease-bounce),box-shadow var(--dur-mid),border-color var(--dur-fast); }
.product-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); border-color:var(--gold); }
.product-card__link { display:block; text-decoration:none; color:inherit; }
.product-card__image-wrap { position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--cream); }
.product-card__image { width:100%; height:100%; object-fit:cover; display:block; transition:transform var(--dur-slow) var(--ease-out); }
.product-card:hover .product-card__image { transform:scale(1.06); }
.product-card__badge { position:absolute; top:.75rem; left:.75rem; padding:3px 10px; font-size:10px; font-weight:var(--fw-bold); letter-spacing:.05em; text-transform:uppercase; border-radius:var(--r-full); z-index:1; }
.product-card__badge--premium    { background:var(--gold); color:var(--brown-deep); }
.product-card__badge--new        { background:var(--green); color:#fff; }
.product-card__badge--industrial { background:var(--brown); color:var(--cream); }
.product-card__body   { padding:1rem 1.25rem 1.25rem; display:flex; flex-direction:column; gap:.5rem; }
.product-card__origin { display:flex; align-items:center; gap:.25rem; font-size:var(--fs-xs); color:var(--text-muted); }
.product-card__origin i { color:var(--gold-dark); font-size:.65rem; }
.product-card__name { font-family:var(--font-serif); font-size:var(--fs-base); font-weight:var(--fw-bold); color:var(--brown-deep); line-height:1.3; }
.product-card__name em { display:block; font-style:italic; font-weight:var(--fw-regular); font-size:var(--fs-xs); color:var(--text-muted); }
.product-card__spec { font-size:var(--fs-xs); color:var(--text-light); line-height:1.5; }
.product-card__tags { display:flex; gap:.25rem; flex-wrap:wrap; margin-top:.5rem; }
.product-tag { display:inline-flex; padding:2px 8px; background:var(--cream); border:1px solid var(--border); border-radius:var(--r-full); font-size:10px; font-weight:var(--fw-semi); color:var(--text-light); }
.product-card__cta { display:flex; align-items:center; gap:.5rem; font-size:var(--fs-xs); font-weight:var(--fw-semi); color:var(--gold-dark); margin-top:.5rem; transition:gap var(--dur-fast); }
.product-card:hover .product-card__cta { gap:.75rem; }
.product-card--full .product-card__link { display:flex; flex-direction:column; height:100%; }
.product-card--full .product-card__body { flex:1; display:flex; flex-direction:column; }
.product-card--full .product-card__actions { margin-top:auto; padding-top:1rem; display:flex; gap:.5rem; flex-wrap:wrap; }
.product-spec-table { display:flex; flex-direction:column; margin:.75rem 0; }
.spec-row { display:flex; justify-content:space-between; align-items:flex-start; gap:.75rem; padding:.5rem 0; border-bottom:1px solid var(--border-soft); font-size:var(--fs-xs); }
.spec-row:last-child { border-bottom:none; }
.spec-label { color:var(--text-muted); flex-shrink:0; }
.spec-value { font-weight:var(--fw-medium); color:var(--text-dark); text-align:right; }
.product-card--custom { background:var(--brown-deep); border-color:var(--brown-dark); border-radius:var(--r-xl); overflow:hidden; transition:transform var(--dur-mid) var(--ease-bounce),box-shadow var(--dur-mid); }
.product-card--custom:hover { transform:translateY(-5px); box-shadow:var(--shadow-xl); }
.product-card-custom__inner { padding:2rem; display:flex; flex-direction:column; gap:1rem; height:100%; }
.product-card-custom__icon  { font-size:var(--fs-3xl); color:var(--gold); }
.product-card-custom__title { font-family:var(--font-serif); font-size:var(--fs-xl); color:var(--cream); font-style:italic; line-height:1.2; }
.product-card-custom__title em { display:block; font-style:normal; font-size:var(--fs-sm); color:rgba(255,255,255,.4); font-family:var(--font-sans); }
.product-card-custom__desc { font-size:var(--fs-sm); color:rgba(255,255,255,.6); line-height:var(--lh-relaxed); }
.product-card-custom__features { display:flex; flex-direction:column; gap:.5rem; flex:1; }
.product-card-custom__features li { display:flex; align-items:center; gap:.5rem; font-size:var(--fs-sm); color:rgba(255,255,255,.65); }
.product-card-custom__features li i { color:var(--gold); flex-shrink:0; }

/* Products page category header */
.product-category-section { scroll-margin-top:calc(var(--header-h) + 20px); }
.product-category-header { display:flex; align-items:flex-start; gap:1.25rem; margin-bottom:2rem; padding-bottom:1.5rem; border-bottom:1.5px solid var(--border); }
.product-category-header__icon { width:52px; height:52px; border-radius:var(--r-xl); background:var(--brown-deep); color:var(--gold); display:flex; align-items:center; justify-content:center; font-size:var(--fs-xl); flex-shrink:0; margin-top:4px; }
.product-category-header__icon--gold   { background:var(--brown); }
.product-category-header__icon--brown  { background:var(--brown-dark); color:var(--cream-dark); }
.product-category-header__icon--teal   { background:var(--teal); color:#fff; }
.product-category-header__icon--deep   { background:var(--brown-deep); }
.product-category-header__icon--orange { background:var(--orange); color:#fff; }
.product-category-desc { font-size:var(--fs-sm); color:var(--text-light); line-height:var(--lh-relaxed); max-width:540px; margin-top:.5rem; }
.products-quick-nav { margin-top:1.5rem; }
.products-quick-nav ul { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.products-quick-nav__link { display:inline-flex; padding:.375rem 1rem; background:var(--cream); border:1.5px solid var(--border); border-radius:var(--r-full); font-size:var(--fs-xs); font-weight:var(--fw-semi); color:var(--text-mid); transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast); }
.products-quick-nav__link:hover { background:var(--brown-deep); border-color:var(--brown-deep); color:var(--cream)!important; }

/* Ordering section — dark bg */
.ordering-section { background:var(--brown-dark); padding:3rem 0; }
.ordering-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
.ordering-item { padding:1.5rem 1rem; }
.ordering-item__icon { font-size:var(--fs-2xl); display:block; margin-bottom:1rem; color:var(--gold); }
.ordering-item__icon--teal  { color:#6dd4d4; }
.ordering-item__icon--green { color:#6dcc90; }
.ordering-item__title { font-family:var(--font-serif); font-size:var(--fs-lg); color:var(--cream); font-weight:var(--fw-bold); margin-bottom:1rem; line-height:1.3; font-style:italic; }
.ordering-item__title em { display:block; font-style:normal; font-size:var(--fs-xs); color:rgba(255,255,255,.35); font-family:var(--font-sans); margin-top:.25rem; }
.ordering-item ul { display:flex; flex-direction:column; gap:.5rem; list-style:none; padding:0; margin:0; }
.ordering-item li { font-size:var(--fs-sm); color:rgba(255,255,255,.6); padding-left:1.25rem; position:relative; line-height:1.5; }
.ordering-item li::before { content:'·'; position:absolute; left:0; color:var(--gold); font-size:1.1em; line-height:1.4; }

/* ============================================================
   13. WHY CHOOSE US
   ============================================================ */
.why-card { padding:2rem; background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-xl); height:100%; transition:transform var(--dur-mid) var(--ease-bounce),box-shadow var(--dur-mid),border-color var(--dur-fast); }
.why-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); border-color:var(--gold); }
.why-card__icon { width:52px; height:52px; border-radius:var(--r-lg); display:flex; align-items:center; justify-content:center; font-size:var(--fs-xl); margin-bottom:1.25rem; transition:transform var(--dur-fast) var(--ease-bounce); }
.why-card:hover .why-card__icon { transform:scale(1.1) rotate(-3deg); }
.why-card__icon--1 { background:var(--green-tint); color:var(--green); }
.why-card__icon--2 { background:var(--cream-dark);  color:var(--gold-dark); }
.why-card__icon--3 { background:var(--teal-tint);   color:var(--teal); }
.why-card__icon--4 { background:var(--blue-tint);   color:var(--blue); }
.why-card__title { font-family:var(--font-serif); font-size:var(--fs-lg); font-weight:var(--fw-bold); color:var(--brown-deep); margin-bottom:.75rem; line-height:1.25; }
.why-card__title em { display:block; font-style:italic; font-weight:var(--fw-regular); font-size:var(--fs-sm); color:var(--text-muted); }
.why-card__desc { font-size:var(--fs-sm); color:var(--text-light); line-height:var(--lh-relaxed); }

/* ============================================================
   14. ORIGINS OVERVIEW (homepage)
   ============================================================ */
.origins-section { background:var(--brown-deep); }
.origins-grid { display:grid; grid-template-columns:1fr; gap:1rem; }
.origin-card { border-radius:var(--r-xl); overflow:hidden; background:rgba(255,255,255,.05); border:1px solid rgba(201,169,110,.2); transition:transform var(--dur-mid) var(--ease-bounce),border-color var(--dur-fast); }
.origin-card:hover { transform:translateY(-4px); border-color:rgba(201,169,110,.5); }
.origin-card__image-wrap { aspect-ratio:16/9; overflow:hidden; }
.origin-card__image { width:100%; height:100%; object-fit:cover; display:block; transition:transform var(--dur-slow) var(--ease-out); }
.origin-card:hover .origin-card__image { transform:scale(1.05); }
.origin-card__body { padding:1rem 1.25rem; }
.origin-card__title { font-family:var(--font-serif); font-size:var(--fs-base); font-weight:var(--fw-bold); color:var(--cream); margin-bottom:.25rem; }
.origin-card__subtitle { font-size:var(--fs-xs); font-style:italic; color:rgba(255,255,255,.4); margin-bottom:.75rem; }
.origin-card__flavour { font-size:var(--fs-xs); color:rgba(255,255,255,.55); line-height:1.5; margin-bottom:.5rem; }
.origin-card__flavour strong { color:var(--gold-light); }
.origin-card__grade { font-size:10px; font-weight:var(--fw-bold); letter-spacing:.06em; text-transform:uppercase; color:var(--gold); }

/* ============================================================
   15. CERTIFICATIONS
   ============================================================ */
.certs-section { background:var(--warm-white); }
.certs-strip { display:flex; align-items:stretch; justify-content:center; gap:1rem; flex-wrap:wrap; }
.cert-badge { display:flex; align-items:center; gap:.75rem; padding:1rem 1.25rem; background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-xl); transition:transform var(--dur-fast) var(--ease-bounce),box-shadow var(--dur-fast),border-color var(--dur-fast); min-width:180px; }
.cert-badge:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:var(--gold); }
.cert-badge__icon { font-size:var(--fs-2xl); flex-shrink:0; }
.cert-badge__icon--green  { color:var(--green); }
.cert-badge__icon--blue   { color:var(--blue); }
.cert-badge__icon--gold   { color:var(--gold-dark); }
.cert-badge__icon--teal   { color:var(--teal); }
.cert-badge__icon--orange { color:var(--orange); }
.cert-badge__icon--purple { color:var(--purple); }
.cert-badge__text strong  { font-size:var(--fs-sm); font-weight:var(--fw-bold); color:var(--brown-deep); display:block; margin-bottom:2px; }
.cert-badge__text span    { font-size:var(--fs-xs); color:var(--text-muted); }
.cert-detail-row  { padding:2.5rem 0; }
.cert-badge-large { width:100px; height:100px; border-radius:50%; display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:.25rem; font-size:2rem; margin:0 auto; }
.cert-badge-large span { font-size:var(--fs-xs); font-weight:var(--fw-bold); text-align:center; line-height:1.2; }
.cert-badge-large--green  { background:var(--green-tint);  color:var(--green);    border:2px solid var(--green); }
.cert-badge-large--blue   { background:var(--blue-tint);   color:var(--blue);     border:2px solid var(--blue); }
.cert-badge-large--gold   { background:var(--cream-dark);  color:var(--gold-dark);border:2px solid var(--gold); }
.cert-badge-large--teal   { background:var(--teal-tint);   color:var(--teal);     border:2px solid var(--teal); }
.cert-badge-large--orange { background:var(--orange-tint); color:var(--orange);   border:2px solid var(--orange); }
.cert-badge-large--purple { background:var(--purple-tint); color:var(--purple);   border:2px solid var(--purple); }
.cert-detail-title { font-family:var(--font-serif); font-size:var(--fs-xl); font-weight:var(--fw-bold); color:var(--brown-deep); margin-bottom:1rem; line-height:1.25; }
.cert-detail-meta  { display:flex; flex-direction:column; background:var(--cream); border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden; margin-bottom:1.25rem; }
.cert-meta-item    { display:flex; gap:1rem; padding:.75rem 1.25rem; border-bottom:1px solid var(--border-soft); font-size:var(--fs-sm); }
.cert-meta-item:last-child    { border-bottom:none; }
.cert-meta-item__label        { color:var(--text-muted); width:150px; flex-shrink:0; font-weight:var(--fw-medium); }
.cert-meta-item__value        { color:var(--text-dark); font-weight:var(--fw-medium); }
.cert-detail-desc             { font-size:var(--fs-sm); color:var(--text-mid); line-height:var(--lh-relaxed); margin-bottom:.75rem; }
.cert-divider                 { border:none; border-top:1px solid var(--border-soft); margin:0; }
.cert-note         { display:flex; align-items:flex-start; gap:.75rem; padding:1rem; border-radius:var(--r-lg); margin-top:1rem; font-size:var(--fs-sm); }
.cert-note--info   { background:var(--blue-tint); border:1px solid rgba(26,74,138,.15); }
.cert-note--info i { color:var(--blue); flex-shrink:0; margin-top:2px; }
.cert-note--info strong { color:var(--blue); display:block; margin-bottom:.25rem; }
.cert-note--info p { color:var(--text-mid); margin:0; }
.cert-note--info a { color:var(--blue); text-decoration:underline; }
.cert-overview      { padding:2.5rem 0; }
.cert-overview-grid { display:flex; align-items:stretch; justify-content:center; gap:.75rem; flex-wrap:wrap; }
.cert-overview-item { display:flex; flex-direction:column; align-items:center; gap:.5rem; padding:1.25rem 1.5rem; border:1px solid rgba(255,255,255,.1); border-radius:var(--r-xl); text-align:center; min-width:110px; transition:background var(--dur-fast),border-color var(--dur-fast); }
.cert-overview-item:hover        { background:rgba(255,255,255,.05); border-color:rgba(201,169,110,.3); }
.cert-overview-item strong       { font-size:var(--fs-sm); font-weight:var(--fw-bold); color:var(--cream); }
.cert-overview-item span         { font-size:var(--fs-xs); color:rgba(255,255,255,.4); }
.cert-overview-item__icon        { font-size:var(--fs-2xl); }
.cert-overview-item__icon--green { color:#6dcc90; }
.cert-overview-item__icon--blue  { color:#6da0e0; }
.cert-overview-item__icon--gold  { color:var(--gold); }
.cert-overview-item__icon--teal  { color:#6dd4d4; }
.cert-overview-item__icon--orange{ color:#e09060; }
.cert-overview-item__icon--purple{ color:#c090e0; }
.cert-pill { display:inline-flex; align-items:center; gap:.25rem; padding:3px 10px; border-radius:var(--r-full); font-size:10px; font-weight:var(--fw-bold); letter-spacing:.04em; text-transform:uppercase; backdrop-filter:blur(6px); }
.cert-pill--green { background:rgba(255,255,255,.9); color:var(--green); }
.cert-pill--gold  { background:rgba(255,255,255,.9); color:var(--gold-dark); }

/* QC Steps — FIXED icon size */
.qc-step { padding:1.75rem; background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-xl); height:100%; transition:transform var(--dur-mid) var(--ease-bounce),box-shadow var(--dur-mid),border-color var(--dur-fast); }
.qc-step:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--gold); }
.qc-step__number { font-family:var(--font-serif); font-size:3.5rem; font-weight:var(--fw-bold); color:var(--border); letter-spacing:-.05em; line-height:1; margin-bottom:1rem; transition:color var(--dur-fast); }
.qc-step:hover .qc-step__number { color:var(--gold); }
.qc-step__icon { width:44px; height:44px; border-radius:var(--r-lg); display:flex; align-items:center; justify-content:center; font-size:1.25rem; margin-bottom:1rem; flex-shrink:0; }
.qc-step__icon--green  { background:var(--green-tint); color:var(--green); }
.qc-step__icon--gold   { background:var(--cream-dark);  color:var(--gold-dark); }
.qc-step__icon--brown  { background:var(--cream);        color:var(--brown); }
.qc-step__icon--teal   { background:var(--teal-tint);    color:var(--teal); }
.qc-step__title { font-family:var(--font-serif); font-size:var(--fs-lg); font-weight:var(--fw-bold); color:var(--brown-deep); margin-bottom:.75rem; line-height:1.25; }
.qc-step__title em { display:block; font-style:italic; font-weight:var(--fw-regular); font-size:var(--fs-sm); color:var(--text-muted); }
.qc-step__desc     { font-size:var(--fs-sm); color:var(--text-light); line-height:var(--lh-relaxed); margin-bottom:1rem; }
.qc-step__checks   { display:flex; flex-direction:column; gap:.5rem; list-style:none; padding:0; }
.qc-step__checks li { font-size:var(--fs-xs); color:var(--text-mid); padding-left:1rem; position:relative; }
.qc-step__checks li::before { content:'✓'; position:absolute; left:0; color:var(--green); font-weight:var(--fw-bold); }
.coa-contents { display:flex; flex-direction:column; gap:.75rem; margin-top:1.5rem; }
.coa-content-item { display:flex; align-items:flex-start; gap:.75rem; font-size:var(--fs-sm); color:var(--text-mid); }
.coa-content-item__icon { font-size:var(--fs-base); flex-shrink:0; margin-top:2px; }
.coa-content-item__icon--green { color:var(--green); }
.coa-content-item__icon--gold  { color:var(--gold-dark); }
.coa-content-item__icon--red   { color:var(--red); }
.coa-content-item__icon--blue  { color:var(--blue); }
.coa-content-item__icon--teal  { color:var(--teal); }
.coa-content-item strong { color:var(--brown-dark); display:block; margin-bottom:2px; }
.coa-content-item span   { font-size:var(--fs-xs); color:var(--text-muted); }
.coa-download-block { display:flex; align-items:center; gap:1.25rem; padding:1.25rem; background:var(--cream); border:1.5px solid var(--gold); border-radius:var(--r-xl); margin-top:1.5rem; flex-wrap:wrap; }
.coa-download-block__icon { font-size:var(--fs-3xl); color:var(--gold-dark); flex-shrink:0; }
.coa-download-block__text h3 { font-size:var(--fs-base); color:var(--brown-deep); margin-bottom:.25rem; }
.coa-download-block__text p  { font-size:var(--fs-sm); color:var(--text-muted); margin:0; }
.coa-request-card { background:var(--cream); border:1.5px solid var(--border); border-radius:var(--r-2xl); padding:1.5rem; }
.coa-request-card__header { display:flex; align-items:flex-start; gap:1rem; margin-bottom:1.5rem; }
.coa-request-card__header > i { font-size:var(--fs-3xl); color:var(--gold-dark); flex-shrink:0; }
.coa-request-card__header h3  { font-size:var(--fs-lg); color:var(--brown-deep); margin-bottom:.5rem; }
.coa-request-card__header p   { font-size:var(--fs-sm); color:var(--text-muted); margin:0; }
.coa-request-form { display:flex; flex-direction:column; gap:1rem; }
.coa-request-form__group { display:flex; flex-direction:column; gap:.5rem; }
.coa-request-form__group label { font-size:var(--fs-sm); font-weight:var(--fw-semi); color:var(--text-dark); }
.coa-request-form__group input,
.coa-request-form__group select { padding:.75rem 1rem; background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-md); font-size:var(--fs-sm); color:var(--text-dark); outline:none; transition:border-color var(--dur-fast); width:100%; }
.coa-request-form__group input:focus,
.coa-request-form__group select:focus { border-color:var(--gold-dark); }
.coa-request-form__note { font-size:var(--fs-xs); color:var(--text-muted); display:flex; align-items:center; gap:.5rem; margin-top:.5rem; }
.coa-request-form__note i { color:var(--green); }
.testing-partners      { background:var(--cream); }
.testing-partners-grid { display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; }
.testing-partner-item  { display:flex; align-items:center; gap:1rem; padding:1rem 1.5rem; background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-xl); flex:1; min-width:250px; max-width:420px; transition:border-color var(--dur-fast),box-shadow var(--dur-fast); }
.testing-partner-item:hover { border-color:var(--gold); box-shadow:var(--shadow-xs); }
.testing-partner-item__logo  { width:70px; height:44px; background:var(--brown-deep); border-radius:var(--r-md); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.testing-partner-item__logo strong { color:var(--gold); font-size:var(--fs-xs); letter-spacing:.04em; }
.testing-partner-item__name  { font-size:var(--fs-sm); font-weight:var(--fw-bold); color:var(--brown-deep); display:block; margin-bottom:2px; }
.testing-partner-item__scope { font-size:var(--fs-xs); color:var(--text-muted); line-height:1.4; display:block; }
.fairtrade-impact { display:grid; grid-template-columns:repeat(2,1fr); gap:.75rem; margin-top:1.25rem; }
.fairtrade-impact-item { padding:1rem; background:var(--orange-tint); border:1px solid rgba(192,88,32,.15); border-radius:var(--r-lg); text-align:center; }
.fairtrade-impact-item strong { display:block; font-family:var(--font-serif); font-size:var(--fs-2xl); font-weight:var(--fw-bold); color:var(--orange); letter-spacing:-.03em; margin-bottom:.25rem; }
.fairtrade-impact-item span   { font-size:var(--fs-xs); color:var(--text-muted); line-height:1.4; }

/* ============================================================
   16. PROCESS STEPS
   ============================================================ */
.process-step { padding:1.75rem; background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-xl); height:100%; transition:transform var(--dur-mid) var(--ease-bounce),box-shadow var(--dur-mid),border-color var(--dur-fast); }
.process-step:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--gold); }
.process-step__number { font-family:var(--font-serif); font-size:4rem; font-weight:var(--fw-bold); color:var(--border); letter-spacing:-.06em; line-height:1; margin-bottom:1rem; transition:color var(--dur-fast); }
.process-step:hover .process-step__number { color:var(--gold); }
.process-step__title { font-family:var(--font-serif); font-size:var(--fs-lg); font-weight:var(--fw-bold); color:var(--brown-deep); margin-bottom:.75rem; line-height:1.25; }
.process-step__title em { display:block; font-style:italic; font-weight:var(--fw-regular); font-size:var(--fs-sm); color:var(--text-muted); }
.process-step__desc { font-size:var(--fs-sm); color:var(--text-light); line-height:var(--lh-relaxed); }

/* ============================================================
   17. TESTIMONIALS
   ============================================================ */
.testimonial-card { background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-xl); padding:1.75rem; height:100%; display:flex; flex-direction:column; gap:1rem; transition:transform var(--dur-mid) var(--ease-bounce),box-shadow var(--dur-mid),border-color var(--dur-fast); }
.testimonial-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); border-color:var(--gold); }
.testimonial-card__stars   { display:flex; gap:3px; }
.testimonial-card__stars i { color:var(--gold); font-size:var(--fs-sm); }
.testimonial-card__text    { font-family:var(--font-serif); font-size:var(--fs-base); font-style:italic; line-height:var(--lh-relaxed); color:var(--text-dark); flex:1; }
.testimonial-card__footer  { display:flex; align-items:center; gap:.75rem; margin-top:auto; padding-top:1rem; border-top:1px solid var(--border-soft); }
.testimonial-card__avatar  { width:40px; height:40px; border-radius:50%; background:var(--brown-deep); color:var(--cream); display:flex; align-items:center; justify-content:center; font-size:var(--fs-xs); font-weight:var(--fw-bold); flex-shrink:0; }
.testimonial-card__avatar--gold { background:var(--gold-dark); color:var(--brown-deep); }
.testimonial-card__avatar--dark { background:var(--brown-dark); }
.testimonial-card__name    { display:block; font-weight:var(--fw-bold); color:var(--brown-deep); font-style:normal; font-size:var(--fs-sm); margin-bottom:2px; }
.testimonial-card__role    { display:block; font-size:var(--fs-xs); color:var(--text-muted); line-height:1.4; }


/* ============================================================
   11. ABOUT SNIPPET / FARM FIGURES
   ============================================================ */
.about-figure { position:relative; border-radius:var(--r-2xl); overflow:hidden; box-shadow:var(--shadow-xl); margin:0; }
.about-figure__img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; transition:transform var(--dur-slow) var(--ease-out); }
.about-figure:hover .about-figure__img { transform:scale(1.04); }
.about-figure__badge { position:absolute; bottom:1.25rem; left:1.25rem; display:flex; align-items:center; gap:.5rem; padding:.375rem 1rem; background:rgba(26,15,0,.75); backdrop-filter:blur(8px); border:1px solid rgba(201,169,110,.3); border-radius:var(--r-full); font-size:var(--fs-xs); font-weight:var(--fw-semi); color:var(--gold-light); }
.about-figure__badge i { color:var(--gold); }
.about-figure__caption { font-size:var(--fs-xs); font-style:italic; color:var(--text-muted); text-align:center; margin-top:.75rem; }
.about-body p { margin-bottom:1rem; }
.about-body p:last-of-type { margin-bottom:1.5rem; }
.about-values { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--border); }
.value-pill { display:inline-flex; align-items:center; gap:.5rem; padding:.375rem 1rem; background:var(--cream); border:1px solid var(--border); border-radius:var(--r-full); font-size:var(--fs-xs); font-weight:var(--fw-semi); color:var(--brown-dark); transition:background var(--dur-fast),border-color var(--dur-fast); }
.value-pill i { color:var(--gold-dark); }
.value-pill:hover { background:var(--cream-dark); border-color:var(--gold); }


/* ============================================================
   12. PRODUCT CARDS
   ============================================================ */
.product-card { background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-xl); overflow:hidden; transition:transform var(--dur-mid) var(--ease-bounce),box-shadow var(--dur-mid),border-color var(--dur-fast); }
.product-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); border-color:var(--gold); }
.product-card__link { display:block; text-decoration:none; color:inherit; }
.product-card__image-wrap { position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--cream); }
.product-card__image { width:100%; height:100%; object-fit:cover; display:block; transition:transform var(--dur-slow) var(--ease-out); }
.product-card:hover .product-card__image { transform:scale(1.06); }
.product-card__badge { position:absolute; top:.75rem; left:.75rem; padding:3px 10px; font-size:10px; font-weight:var(--fw-bold); letter-spacing:.05em; text-transform:uppercase; border-radius:var(--r-full); z-index:1; }
.product-card__badge--premium { background:var(--gold); color:var(--brown-deep); }
.product-card__badge--new { background:var(--green); color:#fff; }
.product-card__badge--industrial { background:var(--brown); color:var(--cream); }
.product-card__body { padding:1rem 1.25rem 1.25rem; display:flex; flex-direction:column; gap:.5rem; }
.product-card__origin { display:flex; align-items:center; gap:.25rem; font-size:var(--fs-xs); color:var(--text-muted); }
.product-card__origin i { color:var(--gold-dark); font-size:.65rem; }
.product-card__name { font-family:var(--font-serif); font-size:var(--fs-base); font-weight:var(--fw-bold); color:var(--brown-deep); line-height:1.3; }
.product-card__name em { display:block; font-style:italic; font-weight:var(--fw-regular); font-size:var(--fs-xs); color:var(--text-muted); }
.product-card__spec { font-size:var(--fs-xs); color:var(--text-light); line-height:1.5; }
.product-card__tags { display:flex; gap:.25rem; flex-wrap:wrap; margin-top:.5rem; }
.product-tag { display:inline-flex; padding:2px 8px; background:var(--cream); border:1px solid var(--border); border-radius:var(--r-full); font-size:10px; font-weight:var(--fw-semi); color:var(--text-light); }
.product-card__cta { display:flex; align-items:center; gap:.5rem; font-size:var(--fs-xs); font-weight:var(--fw-semi); color:var(--gold-dark); margin-top:.5rem; transition:gap var(--dur-fast); }
.product-card:hover .product-card__cta { gap:.75rem; }

.product-card--full .product-card__link { display:flex; flex-direction:column; height:100%; }
.product-card--full .product-card__body { flex:1; display:flex; flex-direction:column; }
.product-card--full .product-card__actions { margin-top:auto; padding-top:1rem; display:flex; gap:.5rem; flex-wrap:wrap; }

.product-spec-table { display:flex; flex-direction:column; margin:.75rem 0; }
.spec-row { display:flex; justify-content:space-between; align-items:flex-start; gap:.75rem; padding:.5rem 0; border-bottom:1px solid var(--border-soft); font-size:var(--fs-xs); }
.spec-row:last-child { border-bottom:none; }
.spec-label { color:var(--text-muted); flex-shrink:0; }
.spec-value { font-weight:var(--fw-medium); color:var(--text-dark); text-align:right; }

.product-card--custom { background:var(--brown-deep); border-color:var(--brown-dark); border-radius:var(--r-xl); overflow:hidden; transition:transform var(--dur-mid) var(--ease-bounce),box-shadow var(--dur-mid); }
.product-card--custom:hover { transform:translateY(-5px); box-shadow:var(--shadow-xl); }
.product-card-custom__inner { padding:2rem; display:flex; flex-direction:column; gap:1rem; height:100%; }
.product-card-custom__icon { font-size:var(--fs-3xl); color:var(--gold); }
.product-card-custom__title { font-family:var(--font-serif); font-size:var(--fs-xl); color:var(--cream); font-style:italic; line-height:1.2; }
.product-card-custom__title em { display:block; font-style:normal; font-size:var(--fs-sm); color:rgba(255,255,255,.4); font-family:var(--font-sans); }
.product-card-custom__desc { font-size:var(--fs-sm); color:rgba(255,255,255,.6); line-height:var(--lh-relaxed); }
.product-card-custom__features { display:flex; flex-direction:column; gap:.5rem; flex:1; }
.product-card-custom__features li { display:flex; align-items:center; gap:.5rem; font-size:var(--fs-sm); color:rgba(255,255,255,.65); }
.product-card-custom__features li i { color:var(--gold); flex-shrink:0; }

.product-category-section { scroll-margin-top:calc(var(--header-h) + 20px); }
.product-category-header { display:flex; align-items:flex-start; gap:1.25rem; margin-bottom:2rem; padding-bottom:1.5rem; border-bottom:1.5px solid var(--border); }
.product-category-header__icon { width:52px; height:52px; border-radius:var(--r-xl); background:var(--brown-deep); color:var(--gold); display:flex; align-items:center; justify-content:center; font-size:var(--fs-xl); flex-shrink:0; margin-top:4px; }
.product-category-header__icon--gold { background:var(--brown); }
.product-category-header__icon--brown { background:var(--brown-dark); color:var(--cream-dark); }
.product-category-header__icon--teal { background:var(--teal); color:#fff; }
.product-category-header__icon--deep { background:var(--brown-deep); }
.product-category-header__icon--orange { background:var(--orange); color:#fff; }
.product-category-desc { font-size:var(--fs-sm); color:var(--text-light); line-height:var(--lh-relaxed); max-width:540px; margin-top:.5rem; }

.products-quick-nav { margin-top:1.5rem; }
.products-quick-nav ul { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.products-quick-nav__link { display:inline-flex; padding:.375rem 1rem; background:var(--cream); border:1.5px solid var(--border); border-radius:var(--r-full); font-size:var(--fs-xs); font-weight:var(--fw-semi); color:var(--text-mid); transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast); }
.products-quick-nav__link:hover { background:var(--brown-deep); border-color:var(--brown-deep); color:var(--cream)!important; }

/* Ordering section FIXED — dark bg, proper list layout */
.ordering-section { background:var(--brown-dark); padding:3rem 0; }
.ordering-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
.ordering-item { padding:1.5rem 1rem; }
.ordering-item__icon { font-size:var(--fs-2xl); display:block; margin-bottom:1rem; color:var(--gold); }
.ordering-item__icon--gold { color:var(--gold); }
.ordering-item__icon--teal { color:#6dd4d4; }
.ordering-item__icon--green { color:#6dcc90; }
.ordering-item__title { font-family:var(--font-serif); font-size:var(--fs-lg); color:var(--cream); font-weight:var(--fw-bold); margin-bottom:1rem; line-height:1.3; font-style:italic; }
.ordering-item__title em { display:block; font-style:normal; font-size:var(--fs-xs); color:rgba(255,255,255,.35); font-family:var(--font-sans); margin-top:.25rem; }
.ordering-item ul { display:flex; flex-direction:column; gap:.5rem; list-style:none; padding:0; margin:0; }
.ordering-item li { font-size:var(--fs-sm); color:rgba(255,255,255,.6); padding-left:1.25rem; position:relative; line-height:1.5; }
.ordering-item li::before { content:'·'; position:absolute; left:0; color:var(--gold); font-size:1.1em; line-height:1.4; }


/* ============================================================
   13. WHY CHOOSE US
   ============================================================ */
.why-card { padding:2rem; background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-xl); height:100%; transition:transform var(--dur-mid) var(--ease-bounce),box-shadow var(--dur-mid),border-color var(--dur-fast); }
.why-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); border-color:var(--gold); }
.why-card__icon { width:52px; height:52px; border-radius:var(--r-lg); display:flex; align-items:center; justify-content:center; font-size:var(--fs-xl); margin-bottom:1.25rem; transition:transform var(--dur-fast) var(--ease-bounce); }
.why-card:hover .why-card__icon { transform:scale(1.1) rotate(-3deg); }
.why-card__icon--1 { background:var(--green-tint); color:var(--green); }
.why-card__icon--2 { background:var(--cream-dark); color:var(--gold-dark); }
.why-card__icon--3 { background:var(--teal-tint); color:var(--teal); }
.why-card__icon--4 { background:var(--blue-tint); color:var(--blue); }
.why-card__title { font-family:var(--font-serif); font-size:var(--fs-lg); font-weight:var(--fw-bold); color:var(--brown-deep); margin-bottom:.75rem; line-height:1.25; }
.why-card__title em { display:block; font-style:italic; font-weight:var(--fw-regular); font-size:var(--fs-sm); color:var(--text-muted); }
.why-card__desc { font-size:var(--fs-sm); color:var(--text-light); line-height:var(--lh-relaxed); }


/* ============================================================
   14. ORIGINS OVERVIEW (homepage cards)
   ============================================================ */
.origins-section { background:var(--brown-deep); }
.origins-grid { display:grid; grid-template-columns:1fr; gap:1rem; }
.origin-card { border-radius:var(--r-xl); overflow:hidden; background:rgba(255,255,255,.05); border:1px solid rgba(201,169,110,.2); transition:transform var(--dur-mid) var(--ease-bounce),border-color var(--dur-fast); }
.origin-card:hover { transform:translateY(-4px); border-color:rgba(201,169,110,.5); }
.origin-card__image-wrap { aspect-ratio:16/9; overflow:hidden; }
.origin-card__image { width:100%; height:100%; object-fit:cover; display:block; transition:transform var(--dur-slow) var(--ease-out); }
.origin-card:hover .origin-card__image { transform:scale(1.05); }
.origin-card__body { padding:1rem 1.25rem; }
.origin-card__title { font-family:var(--font-serif); font-size:var(--fs-base); font-weight:var(--fw-bold); color:var(--cream); margin-bottom:.25rem; }
.origin-card__subtitle { font-size:var(--fs-xs); font-style:italic; color:rgba(255,255,255,.4); margin-bottom:.75rem; }
.origin-card__flavour { font-size:var(--fs-xs); color:rgba(255,255,255,.55); line-height:1.5; margin-bottom:.5rem; }
.origin-card__flavour strong { color:var(--gold-light); }
.origin-card__grade { font-size:10px; font-weight:var(--fw-bold); letter-spacing:.06em; text-transform:uppercase; color:var(--gold); }


/* ============================================================
   15. CERTIFICATIONS STRIP & DETAIL
   ============================================================ */
.certs-section { background:var(--warm-white); }
.certs-strip { display:flex; align-items:stretch; justify-content:center; gap:1rem; flex-wrap:wrap; }
.cert-badge { display:flex; align-items:center; gap:.75rem; padding:1rem 1.25rem; background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-xl); transition:transform var(--dur-fast) var(--ease-bounce),box-shadow var(--dur-fast),border-color var(--dur-fast); min-width:180px; }
.cert-badge:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:var(--gold); }
.cert-badge__icon { font-size:var(--fs-2xl); flex-shrink:0; }
.cert-badge__icon--green { color:var(--green); }
.cert-badge__icon--blue { color:var(--blue); }
.cert-badge__icon--gold { color:var(--gold-dark); }
.cert-badge__icon--teal { color:var(--teal); }
.cert-badge__icon--orange { color:var(--orange); }
.cert-badge__icon--purple { color:var(--purple); }
.cert-badge__text { display:flex; flex-direction:column; gap:2px; }
.cert-badge__text strong { font-size:var(--fs-sm); font-weight:var(--fw-bold); color:var(--brown-deep); }
.cert-badge__text span { font-size:var(--fs-xs); color:var(--text-muted); }

.cert-detail-row { padding:2.5rem 0; }
.cert-badge-large { width:100px; height:100px; border-radius:50%; display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:.25rem; font-size:2rem; margin:0 auto; }
.cert-badge-large span { font-size:var(--fs-xs); font-weight:var(--fw-bold); letter-spacing:.03em; text-align:center; line-height:1.2; }
.cert-badge-large--green { background:var(--green-tint); color:var(--green); border:2px solid var(--green); }
.cert-badge-large--blue { background:var(--blue-tint); color:var(--blue); border:2px solid var(--blue); }
.cert-badge-large--gold { background:var(--cream-dark); color:var(--gold-dark); border:2px solid var(--gold); }
.cert-badge-large--teal { background:var(--teal-tint); color:var(--teal); border:2px solid var(--teal); }
.cert-badge-large--orange { background:var(--orange-tint); color:var(--orange); border:2px solid var(--orange); }
.cert-badge-large--purple { background:var(--purple-tint); color:var(--purple); border:2px solid var(--purple); }

.cert-detail-title { font-family:var(--font-serif); font-size:var(--fs-xl); font-weight:var(--fw-bold); color:var(--brown-deep); margin-bottom:1rem; line-height:1.25; }
.cert-detail-meta { display:flex; flex-direction:column; background:var(--cream); border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden; margin-bottom:1.25rem; }
.cert-meta-item { display:flex; gap:1rem; padding:.75rem 1.25rem; border-bottom:1px solid var(--border-soft); font-size:var(--fs-sm); }
.cert-meta-item:last-child { border-bottom:none; }
.cert-meta-item__label { color:var(--text-muted); width:150px; flex-shrink:0; font-weight:var(--fw-medium); }
.cert-meta-item__value { color:var(--text-dark); font-weight:var(--fw-medium); }
.cert-detail-desc { font-size:var(--fs-sm); color:var(--text-mid); line-height:var(--lh-relaxed); margin-bottom:.75rem; }
.cert-divider { border:none; border-top:1px solid var(--border-soft); margin:0; }

.cert-note { display:flex; align-items:flex-start; gap:.75rem; padding:1rem; border-radius:var(--r-lg); margin-top:1rem; font-size:var(--fs-sm); }
.cert-note--info { background:var(--blue-tint); border:1px solid rgba(26,74,138,.15); }
.cert-note--info i { color:var(--blue); flex-shrink:0; margin-top:2px; }
.cert-note--info strong { color:var(--blue); display:block; margin-bottom:.25rem; }
.cert-note--info p { color:var(--text-mid); margin:0; }
.cert-note--info a { color:var(--blue); text-decoration:underline; }

.cert-overview { padding:2.5rem 0; }
.cert-overview-grid { display:flex; align-items:stretch; justify-content:center; gap:.75rem; flex-wrap:wrap; }
.cert-overview-item { display:flex; flex-direction:column; align-items:center; gap:.5rem; padding:1.25rem 1.5rem; border:1px solid rgba(255,255,255,.1); border-radius:var(--r-xl); text-align:center; min-width:110px; transition:background var(--dur-fast),border-color var(--dur-fast); }
.cert-overview-item:hover { background:rgba(255,255,255,.05); border-color:rgba(201,169,110,.3); }
.cert-overview-item strong { font-size:var(--fs-sm); font-weight:var(--fw-bold); color:var(--cream); }
.cert-overview-item span { font-size:var(--fs-xs); color:rgba(255,255,255,.4); }
.cert-overview-item__icon { font-size:var(--fs-2xl); }
.cert-overview-item__icon--green { color:#6dcc90; }
.cert-overview-item__icon--blue { color:#6da0e0; }
.cert-overview-item__icon--gold { color:var(--gold); }
.cert-overview-item__icon--teal { color:#6dd4d4; }
.cert-overview-item__icon--orange { color:#e09060; }
.cert-overview-item__icon--purple { color:#c090e0; }

.cert-pill { display:inline-flex; align-items:center; gap:.25rem; padding:3px 10px; border-radius:var(--r-full); font-size:10px; font-weight:var(--fw-bold); letter-spacing:.04em; text-transform:uppercase; backdrop-filter:blur(6px); box-shadow:var(--shadow-xs); }
.cert-pill--green { background:rgba(255,255,255,.9); color:var(--green); }
.cert-pill--gold { background:rgba(255,255,255,.9); color:var(--gold-dark); }

/* QC Steps FIXED icon size */
.qc-step { padding:1.75rem; background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-xl); height:100%; transition:transform var(--dur-mid) var(--ease-bounce),box-shadow var(--dur-mid),border-color var(--dur-fast); }
.qc-step:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--gold); }
.qc-step__number { font-family:var(--font-serif); font-size:3.5rem; font-weight:var(--fw-bold); color:var(--border); letter-spacing:-.05em; line-height:1; margin-bottom:1rem; transition:color var(--dur-fast); }
.qc-step:hover .qc-step__number { color:var(--gold); }
.qc-step__icon { width:44px; height:44px; border-radius:var(--r-lg); display:flex; align-items:center; justify-content:center; font-size:1.25rem; margin-bottom:1rem; flex-shrink:0; }
.qc-step__icon--green { background:var(--green-tint); color:var(--green); }
.qc-step__icon--gold { background:var(--cream-dark); color:var(--gold-dark); }
.qc-step__icon--brown { background:var(--cream); color:var(--brown); }
.qc-step__icon--teal { background:var(--teal-tint); color:var(--teal); }
.qc-step__title { font-family:var(--font-serif); font-size:var(--fs-lg); font-weight:var(--fw-bold); color:var(--brown-deep); margin-bottom:.75rem; line-height:1.25; }
.qc-step__title em { display:block; font-style:italic; font-weight:var(--fw-regular); font-size:var(--fs-sm); color:var(--text-muted); }
.qc-step__desc { font-size:var(--fs-sm); color:var(--text-light); line-height:var(--lh-relaxed); margin-bottom:1rem; }
.qc-step__checks { display:flex; flex-direction:column; gap:.5rem; list-style:none; padding:0; }
.qc-step__checks li { font-size:var(--fs-xs); color:var(--text-mid); padding-left:1rem; position:relative; }
.qc-step__checks li::before { content:'✓'; position:absolute; left:0; color:var(--green); font-weight:var(--fw-bold); }

.coa-contents { display:flex; flex-direction:column; gap:.75rem; margin-top:1.5rem; }
.coa-content-item { display:flex; align-items:flex-start; gap:.75rem; font-size:var(--fs-sm); color:var(--text-mid); }
.coa-content-item__icon { font-size:var(--fs-base); flex-shrink:0; margin-top:2px; }
.coa-content-item__icon--green { color:var(--green); }
.coa-content-item__icon--gold { color:var(--gold-dark); }
.coa-content-item__icon--red { color:var(--red); }
.coa-content-item__icon--blue { color:var(--blue); }
.coa-content-item__icon--teal { color:var(--teal); }
.coa-content-item strong { color:var(--brown-dark); display:block; margin-bottom:2px; }
.coa-content-item span { font-size:var(--fs-xs); color:var(--text-muted); }

.coa-download-block { display:flex; align-items:center; gap:1.25rem; padding:1.25rem; background:var(--cream); border:1.5px solid var(--gold); border-radius:var(--r-xl); margin-top:1.5rem; flex-wrap:wrap; }
.coa-download-block__icon { font-size:var(--fs-3xl); color:var(--gold-dark); flex-shrink:0; }
.coa-download-block__text h3 { font-size:var(--fs-base); color:var(--brown-deep); margin-bottom:.25rem; }
.coa-download-block__text p { font-size:var(--fs-sm); color:var(--text-muted); margin:0; }

.coa-request-card { background:var(--cream); border:1.5px solid var(--border); border-radius:var(--r-2xl); padding:1.5rem; }
.coa-request-card__header { display:flex; align-items:flex-start; gap:1rem; margin-bottom:1.5rem; }
.coa-request-card__header > i { font-size:var(--fs-3xl); color:var(--gold-dark); flex-shrink:0; }
.coa-request-card__header h3 { font-size:var(--fs-lg); color:var(--brown-deep); margin-bottom:.5rem; }
.coa-request-card__header p { font-size:var(--fs-sm); color:var(--text-muted); margin:0; }

.testing-partners { background:var(--cream); }
.testing-partners-grid { display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; }
.testing-partner-item { display:flex; align-items:center; gap:1rem; padding:1rem 1.5rem; background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-xl); flex:1; min-width:250px; max-width:420px; transition:border-color var(--dur-fast),box-shadow var(--dur-fast); }
.testing-partner-item:hover { border-color:var(--gold); box-shadow:var(--shadow-xs); }
.testing-partner-item__logo { width:70px; height:44px; background:var(--brown-deep); border-radius:var(--r-md); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.testing-partner-item__logo strong { color:var(--gold); font-size:var(--fs-xs); letter-spacing:.04em; }
.testing-partner-item__name { font-size:var(--fs-sm); font-weight:var(--fw-bold); color:var(--brown-deep); display:block; margin-bottom:2px; }
.testing-partner-item__scope { font-size:var(--fs-xs); color:var(--text-muted); line-height:1.4; display:block; }

.fairtrade-impact { display:grid; grid-template-columns:repeat(2,1fr); gap:.75rem; margin-top:1.25rem; }
.fairtrade-impact-item { padding:1rem; background:var(--orange-tint); border:1px solid rgba(192,88,32,.15); border-radius:var(--r-lg); text-align:center; }
.fairtrade-impact-item strong { display:block; font-family:var(--font-serif); font-size:var(--fs-2xl); font-weight:var(--fw-bold); color:var(--orange); letter-spacing:-.03em; margin-bottom:.25rem; }
.fairtrade-impact-item span { font-size:var(--fs-xs); color:var(--text-muted); line-height:1.4; }


/* ============================================================
   16. PROCESS STEPS
   ============================================================ */
.process-step { padding:1.75rem; background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-xl); height:100%; transition:transform var(--dur-mid) var(--ease-bounce),box-shadow var(--dur-mid),border-color var(--dur-fast); }
.process-step:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--gold); }
.process-step__number { font-family:var(--font-serif); font-size:4rem; font-weight:var(--fw-bold); color:var(--border); letter-spacing:-.06em; line-height:1; margin-bottom:1rem; transition:color var(--dur-fast); }
.process-step:hover .process-step__number { color:var(--gold); }
.process-step__title { font-family:var(--font-serif); font-size:var(--fs-lg); font-weight:var(--fw-bold); color:var(--brown-deep); margin-bottom:.75rem; line-height:1.25; }
.process-step__title em { display:block; font-style:italic; font-weight:var(--fw-regular); font-size:var(--fs-sm); color:var(--text-muted); }
.process-step__desc { font-size:var(--fs-sm); color:var(--text-light); line-height:var(--lh-relaxed); }


/* ============================================================
   17. TESTIMONIALS
   ============================================================ */
.testimonial-card { background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-xl); padding:1.75rem; height:100%; display:flex; flex-direction:column; gap:1rem; transition:transform var(--dur-mid) var(--ease-bounce),box-shadow var(--dur-mid),border-color var(--dur-fast); }
.testimonial-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); border-color:var(--gold); }
.testimonial-card__stars { display:flex; gap:3px; }
.testimonial-card__stars i { color:var(--gold); font-size:var(--fs-sm); }
.testimonial-card__text { font-family:var(--font-serif); font-size:var(--fs-base); font-style:italic; line-height:var(--lh-relaxed); color:var(--text-dark); flex:1; }
.testimonial-card__footer { display:flex; align-items:center; gap:.75rem; margin-top:auto; padding-top:1rem; border-top:1px solid var(--border-soft); }
.testimonial-card__avatar { width:40px; height:40px; border-radius:50%; background:var(--brown-deep); color:var(--cream); display:flex; align-items:center; justify-content:center; font-size:var(--fs-xs); font-weight:var(--fw-bold); flex-shrink:0; }
.testimonial-card__avatar--gold { background:var(--gold-dark); color:var(--brown-deep); }
.testimonial-card__avatar--dark { background:var(--brown-dark); }
.testimonial-card__name { display:block; font-weight:var(--fw-bold); color:var(--brown-deep); font-style:normal; font-size:var(--fs-sm); margin-bottom:2px; }
.testimonial-card__role { display:block; font-size:var(--fs-xs); color:var(--text-muted); line-height:1.4; }


/* ============================================================
   18. BLOG CARDS — INDEX & BLOG PAGE
   ============================================================ */
.blog-card { background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-xl); overflow:hidden; display:flex; flex-direction:column; transition:transform var(--dur-mid) var(--ease-bounce),box-shadow var(--dur-mid),border-color var(--dur-fast); }
.blog-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--gold); }
.blog-card__link { display:block; text-decoration:none; color:inherit; flex:1; }
.blog-card--featured .blog-card__image-wrap { aspect-ratio:16/9; overflow:hidden; }
.blog-card--featured .blog-card__image { width:100%; height:100%; object-fit:cover; display:block; transition:transform var(--dur-slow) var(--ease-out); }
.blog-card--featured:hover .blog-card__image { transform:scale(1.04); }
.blog-card--featured .blog-card__body { padding:1.25rem 1.5rem; }
.blog-card--compact .blog-card__link { display:flex; gap:1rem; align-items:flex-start; }
.blog-card--compact .blog-card__image-wrap { width:100px; flex-shrink:0; aspect-ratio:4/3; border-radius:var(--r-md); overflow:hidden; }
.blog-card--compact .blog-card__image { width:100%; height:100%; object-fit:cover; display:block; }
.blog-card--compact .blog-card__body { padding:.75rem .75rem .75rem 0; flex:1; }

.blog-tag { display:inline-flex; padding:2px 10px; border-radius:var(--r-full); font-size:10px; font-weight:var(--fw-bold); letter-spacing:.05em; text-transform:uppercase; margin-bottom:.75rem; }
.blog-tag--gold   { background:var(--cream-dark); color:var(--gold-dark); border:1px solid var(--gold); }
.blog-tag--brown  { background:var(--cream); color:var(--brown); border:1px solid var(--border); }
.blog-tag--green  { background:var(--green-tint); color:var(--green); border:1px solid rgba(42,122,74,.2); }
.blog-tag--teal   { background:var(--teal-tint); color:var(--teal); border:1px solid rgba(26,107,107,.2); }
.blog-tag--purple { background:var(--purple-tint); color:var(--purple); border:1px solid rgba(90,42,138,.2); }

.blog-card__title   { font-family:var(--font-serif); font-size:var(--fs-base); font-weight:var(--fw-bold); color:var(--brown-deep); line-height:1.3; margin-bottom:.75rem; }
.blog-card--compact .blog-card__title { font-size:var(--fs-sm); }
.blog-card__excerpt { font-size:var(--fs-sm); color:var(--text-light); line-height:var(--lh-relaxed); margin-bottom:.75rem; }
.blog-card__meta  { display:flex; align-items:center; gap:.75rem; }
.blog-card__date  { font-size:var(--fs-xs); color:var(--text-muted); }
.blog-card__read  { font-size:var(--fs-xs); color:var(--text-subtle); }

/* Blog page featured hero card FIXED — side by side layout */
.blog-hero-card { border-radius:var(--r-2xl); overflow:hidden; border:1.5px solid var(--border); background:var(--warm-white); transition:box-shadow var(--dur-mid); }
.blog-hero-card:hover { box-shadow:var(--shadow-xl); }
.blog-hero-card__link { display:block; text-decoration:none; color:inherit; }
.blog-hero-card__image-wrap { position:relative; overflow:hidden; height:100%; min-height:320px; }
.blog-hero-card__image { width:100%; height:100%; object-fit:cover; display:block; transition:transform var(--dur-slow) var(--ease-out); position:absolute; inset:0; }
.blog-hero-card:hover .blog-hero-card__image { transform:scale(1.04); }
.blog-hero-card__reading-time { position:absolute; top:1rem; right:1rem; background:rgba(26,15,0,.65); backdrop-filter:blur(4px); color:rgba(255,255,255,.75); font-size:var(--fs-xs); padding:3px 10px; border-radius:var(--r-full); display:flex; align-items:center; gap:.25rem; z-index:1; }
.blog-hero-card__body { padding:2rem; display:flex; flex-direction:column; justify-content:center; }
.blog-hero-card__tags { margin-bottom:1rem; }
.blog-hero-card__title { font-family:var(--font-serif); font-size:clamp(var(--fs-xl),2.5vw,var(--fs-3xl)); font-weight:var(--fw-bold); color:var(--brown-deep); letter-spacing:-.03em; line-height:1.15; margin-bottom:1rem; }
.blog-hero-card__excerpt { font-size:var(--fs-sm); color:var(--text-light); line-height:var(--lh-relaxed); margin-bottom:.75rem; }
.blog-hero-card__meta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.75rem; margin-bottom:1.25rem; }

/* Blog filter nav */
.blog-filter-section { background:var(--warm-white); border-bottom:1px solid var(--border); padding:1rem 0; position:sticky; top:var(--header-h); z-index:100; }
.pvi-blog-filter-nav { overflow-x:auto; scrollbar-width:none; }
.pvi-blog-filter-nav::-webkit-scrollbar { display:none; }
.pvi-filter-tabs { display:flex; gap:.5rem; white-space:nowrap; }
.pvi-filter-tab { display:inline-flex; padding:.5rem 1.25rem; background:transparent; border:1.5px solid var(--border); border-radius:var(--r-full); font-size:var(--fs-xs); font-weight:var(--fw-semi); color:var(--text-mid); cursor:pointer; transition:all var(--dur-fast); white-space:nowrap; }
.pvi-filter-tab:hover  { border-color:var(--brown-dark); color:var(--brown-dark); }
.pvi-filter-tab.active { background:var(--brown-deep); border-color:var(--brown-deep); color:var(--cream); }

/* Blog author */
.pvi-blog-author { display:flex; align-items:center; gap:.75rem; }
.pvi-blog-author__avatar { width:36px; height:36px; border-radius:50%; background:var(--brown-deep); color:var(--cream); display:flex; align-items:center; justify-content:center; font-size:var(--fs-xs); font-weight:var(--fw-bold); flex-shrink:0; }
.pvi-blog-author__avatar--gold  { background:var(--gold-dark); color:var(--brown-deep); }
.pvi-blog-author__avatar--brown { background:var(--brown); }
.pvi-blog-author__avatar--teal  { background:var(--teal); color:#fff; }
.pvi-blog-author__name { font-size:var(--fs-sm); font-weight:var(--fw-semi); color:var(--brown-deep); display:block; }
.pvi-blog-author__role { font-size:var(--fs-xs); color:var(--text-muted); display:block; }
.pvi-blog-author--sm .pvi-blog-author__avatar { width:28px; height:28px; font-size:10px; }
.pvi-blog-date { font-size:var(--fs-xs); color:var(--text-muted); }

/* PVI blog cards (grid) */
.pvi-blog-card { border-radius:var(--r-xl); overflow:hidden; background:var(--warm-white); border:1.5px solid var(--border); height:100%; display:flex; flex-direction:column; transition:transform var(--dur-mid) var(--ease-bounce),box-shadow var(--dur-mid),border-color var(--dur-fast); }
.pvi-blog-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--gold); }
.pvi-blog-card__link { display:flex; flex-direction:column; text-decoration:none; color:inherit; flex:1; }
.pvi-blog-card__image-wrap { position:relative; aspect-ratio:16/9; overflow:hidden; }
.pvi-blog-card__image { width:100%; height:100%; object-fit:cover; display:block; transition:transform var(--dur-slow) var(--ease-out); }
.pvi-blog-card:hover .pvi-blog-card__image { transform:scale(1.05); }
.pvi-blog-card__tag { position:absolute; top:.75rem; left:.75rem; backdrop-filter:blur(4px); background:rgba(255,253,248,.88); }
.pvi-blog-card__body { padding:1rem 1.25rem; flex:1; display:flex; flex-direction:column; gap:.75rem; }
.pvi-blog-card__title { font-family:var(--font-serif); font-size:var(--fs-sm); font-weight:var(--fw-bold); color:var(--brown-deep); line-height:1.35; flex:1; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.pvi-blog-card__excerpt { font-size:var(--fs-xs); color:var(--text-light); line-height:1.6; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pvi-blog-card__meta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.5rem; margin-top:auto; }
.pvi-blog-card__meta-right { display:flex; flex-direction:column; align-items:flex-end; gap:2px; }
.pvi-blog-card__meta-right time { font-size:var(--fs-xs); color:var(--text-muted); }
.pvi-blog-card__meta-right span { font-size:10px; color:var(--text-subtle); }

/* No results */
.pvi-no-results { text-align:center; padding:5rem 2rem; }
.pvi-no-results__icon { font-size:3rem; color:var(--border); display:block; margin-bottom:1rem; }

/* Blog pagination */
.pvi-blog-pagination { display:flex; justify-content:center; }
.pvi-blog-pagination .page-link { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:var(--r-md); border:1.5px solid var(--border); color:var(--text-mid); font-size:var(--fs-sm); font-weight:var(--fw-semi); text-decoration:none; transition:all var(--dur-fast); }
.pvi-blog-pagination .page-item.active .page-link { background:var(--brown-deep); border-color:var(--brown-deep); color:var(--cream); }
.pvi-blog-pagination .page-item:not(.disabled) .page-link:hover { border-color:var(--brown-dark); color:var(--brown-dark); }

/* Newsletter section */
.pvi-newsletter-section { background:var(--brown-deep); }
.pvi-newsletter-inner { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.pvi-newsletter-heading { font-family:var(--font-serif); font-size:clamp(var(--fs-2xl),3vw,var(--fs-4xl)); font-weight:var(--fw-bold); color:var(--cream); letter-spacing:-.03em; line-height:1.1; margin-bottom:.5rem; }
.pvi-newsletter-heading em { font-style:italic; color:var(--gold-light); }
.pvi-newsletter-desc { font-size:var(--fs-sm); color:rgba(255,255,255,.55); line-height:var(--lh-relaxed); margin-top:1rem; }
.pvi-newsletter-benefits { display:flex; flex-direction:column; gap:.5rem; margin-top:1.25rem; }
.pvi-newsletter-benefits li { font-size:var(--fs-sm); color:rgba(255,255,255,.6); display:flex; align-items:center; gap:.5rem; }
.pvi-newsletter-benefits li i { color:var(--gold); }


/* ============================================================
   19. CTA SECTION
   ============================================================ */
.cta-section { background:var(--brown-deep); }
.cta-inner { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.cta-inner--simple { grid-template-columns:1fr; text-align:center; max-width:640px; margin:0 auto; }
.cta-inner--simple .cta-actions { justify-content:center; }
.cta-inner__image { border-radius:var(--r-2xl); overflow:hidden; box-shadow:var(--shadow-xl); }
.cta-img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.cta-heading { font-family:var(--font-serif); font-size:clamp(var(--fs-2xl),4vw,var(--fs-4xl)); font-weight:var(--fw-bold); color:var(--cream); letter-spacing:-.03em; line-height:1.1; margin-bottom:1rem; }
.cta-heading em { font-style:italic; color:var(--gold-light); }
.cta-sub     { font-size:var(--fs-sm); color:rgba(255,255,255,.6); line-height:var(--lh-relaxed); margin-bottom:.75rem; }
.cta-actions { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; margin-top:2rem; }


/* ============================================================
   20. FOOTER
   ============================================================ */
.site-footer { background:var(--brown-deep); padding-top:4rem; }
.site-footer__top { padding-bottom:3rem; border-bottom:1px solid rgba(255,255,255,.08); }
.site-footer__logo { display:flex; align-items:center; gap:.75rem; text-decoration:none; margin-bottom:1.25rem; }
.site-footer__tagline { font-size:var(--fs-sm); color:rgba(255,255,255,.45); line-height:var(--lh-relaxed); margin-bottom:1.25rem; }
.site-footer__address { display:flex; align-items:flex-start; gap:.5rem; font-size:var(--fs-xs); color:rgba(255,255,255,.35); margin-bottom:1rem; }
.site-footer__contacts { display:flex; flex-direction:column; gap:.5rem; }
.site-footer__contacts a { display:flex; align-items:center; gap:.5rem; font-size:var(--fs-xs); color:rgba(255,255,255,.45); text-decoration:none; transition:color var(--dur-fast); }
.site-footer__contacts a:hover { color:var(--gold-light); }
.site-footer__nav-title { font-family:var(--font-sans); font-size:var(--fs-xs); font-weight:var(--fw-bold); letter-spacing:var(--ls-wider); text-transform:uppercase; color:rgba(255,255,255,.3); margin-bottom:1.25rem; }
.site-footer__nav-list { display:flex; flex-direction:column; gap:.75rem; }
.site-footer__nav-list a { font-size:var(--fs-sm); color:rgba(255,255,255,.5); text-decoration:none; transition:color var(--dur-fast),padding-left var(--dur-fast); }
.site-footer__nav-list a:hover { color:var(--gold-light); padding-left:4px; }
.site-footer__social { display:flex; gap:.5rem; }
.footer-social-link { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:var(--r-md); border:1px solid rgba(255,255,255,.15); color:rgba(255,255,255,.45); font-size:var(--fs-base); text-decoration:none; transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast); }
.footer-social-link:hover { background:rgba(201,169,110,.15); border-color:var(--gold); color:var(--gold-light); }
.site-footer__newsletter-desc { font-size:var(--fs-xs); color:rgba(255,255,255,.4); line-height:1.6; margin-bottom:1rem; }
.footer-newsletter-form__group { display:flex; border:1px solid rgba(255,255,255,.15); border-radius:var(--r-md); overflow:hidden; background:rgba(255,255,255,.05); }
.footer-newsletter-form__input { flex:1; height:40px; padding:0 1rem; background:transparent; border:none; color:rgba(255,255,255,.8); font-size:var(--fs-xs); outline:none; }
.footer-newsletter-form__input::placeholder { color:rgba(255,255,255,.3); }
.footer-newsletter-form__btn { display:flex; align-items:center; justify-content:center; width:40px; background:var(--gold-dark); color:#fff; font-size:var(--fs-sm); transition:background var(--dur-fast); border:none; cursor:pointer; }
.footer-newsletter-form__btn:hover { background:var(--gold); }
.site-footer__bottom { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding:1.25rem 0; border-top:1px solid rgba(255,255,255,.06); }
.site-footer__copy { font-size:var(--fs-xs); color:rgba(255,255,255,.25); margin:0; }
.site-footer__legal { display:flex; gap:1.25rem; }
.site-footer__legal a { font-size:var(--fs-xs); color:rgba(255,255,255,.25); text-decoration:none; transition:color var(--dur-fast); }
.site-footer__legal a:hover { color:rgba(255,255,255,.6); }


/* ============================================================
   21. PAGE HERO (inner pages) — FIXED about/origins overlap
   ============================================================ */
.page-hero--simple { padding:4rem 0 3rem; background:var(--cream); border-bottom:1px solid var(--border); }

/* Hero with bg image — about, origins */
.page-hero--about,
.page-hero--origins { position:relative; padding:0; overflow:hidden; }

.page-hero__bg { position:relative; width:100%; height:420px; overflow:hidden; }
.page-hero__bg-image { width:100%; height:100%; object-fit:cover; object-position:center 40%; display:block; }
.page-hero__overlay { position:absolute; inset:0; background:linear-gradient(105deg,rgba(26,15,0,.82) 0%,rgba(44,28,10,.68) 55%,rgba(26,15,0,.42) 100%); }

/* Content sits over image via absolute inside .page-hero__bg */
.page-hero__inner { position:absolute; bottom:0; left:0; right:0; padding:2rem 0 2.5rem; z-index:2; }

/* Breadcrumb on dark bg */
.page-breadcrumb { margin-bottom:1.25rem; }
.breadcrumb { font-size:var(--fs-xs); gap:.5rem; }
.breadcrumb-item a { color:rgba(255,255,255,.55); text-decoration:none; }
.breadcrumb-item a:hover { color:var(--gold-light); }
.breadcrumb-item.active { color:rgba(255,255,255,.8); }
.breadcrumb-item + .breadcrumb-item::before { color:rgba(255,255,255,.25); }

/* Breadcrumb on light bg (page-hero--simple) */
.page-hero--simple .page-breadcrumb .breadcrumb-item a { color:var(--text-muted); }
.page-hero--simple .page-breadcrumb .breadcrumb-item a:hover { color:var(--gold-dark); }
.page-hero--simple .page-breadcrumb .breadcrumb-item.active { color:var(--text-dark); }
.page-hero--simple .page-breadcrumb .breadcrumb-item + .breadcrumb-item::before { color:var(--border); }

.page-hero__heading { font-family:var(--font-serif); font-size:clamp(2rem,5vw,3.5rem); font-weight:var(--fw-bold); letter-spacing:-.04em; line-height:1.05; color:var(--cream); margin-bottom:.75rem; }
.page-hero__heading em { font-style:italic; color:var(--gold-light); }
.page-hero--simple .page-hero__heading    { color:var(--brown-deep); }
.page-hero--simple .page-hero__heading em { color:var(--gold-dark); }

.page-hero__desc { font-size:var(--fs-sm); color:rgba(255,255,255,.65); line-height:var(--lh-relaxed); max-width:620px; margin-bottom:.5rem; }
.page-hero--simple .page-hero__desc { color:var(--text-mid); }


/* ============================================================
   22. ABOUT PAGE SPECIFIC
   ============================================================ */
.mission-block { display:flex; gap:1rem; padding:1.25rem; border:1.5px solid var(--border); border-radius:var(--r-xl); margin-bottom:1rem; transition:transform var(--dur-fast) var(--ease-bounce),border-color var(--dur-fast); }
.mission-block:hover { transform:translateX(4px); border-color:var(--gold); }
.mission-block__icon { width:40px; height:40px; border-radius:var(--r-lg); display:flex; align-items:center; justify-content:center; font-size:var(--fs-lg); flex-shrink:0; }
.mission-block--vision .mission-block__icon  { background:var(--blue-tint); color:var(--blue); }
.mission-block--mission .mission-block__icon { background:var(--cream-dark); color:var(--gold-dark); }
.mission-block__title { font-size:var(--fs-sm); font-weight:var(--fw-bold); color:var(--brown-deep); margin-bottom:.5rem; }
.mission-block p { font-size:var(--fs-sm); color:var(--text-mid); line-height:var(--lh-relaxed); margin-bottom:.5rem; }

.value-card { background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-xl); padding:1.5rem; height:100%; transition:transform var(--dur-mid) var(--ease-bounce),box-shadow var(--dur-mid),border-color var(--dur-fast); }
.value-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--gold); }
.value-card__icon { width:44px; height:44px; border-radius:var(--r-lg); display:flex; align-items:center; justify-content:center; font-size:var(--fs-xl); margin-bottom:1rem; }
.value-card__icon--green { background:var(--green-tint); color:var(--green); }
.value-card__icon--gold  { background:var(--cream-dark); color:var(--gold-dark); }
.value-card__icon--brown { background:var(--cream); color:var(--brown); }
.value-card__icon--teal  { background:var(--teal-tint); color:var(--teal); }
.value-card__title { font-family:var(--font-serif); font-size:var(--fs-base); font-weight:var(--fw-bold); color:var(--brown-deep); margin-bottom:.75rem; line-height:1.3; }
.value-card__title em { display:block; font-style:italic; font-weight:var(--fw-regular); font-size:var(--fs-sm); color:var(--text-muted); }
.value-card__desc { font-size:var(--fs-sm); color:var(--text-light); line-height:var(--lh-relaxed); }

.numbers-section { background:var(--cream); }
.numbers-grid { display:flex; flex-wrap:wrap; border:1.5px solid var(--border); border-radius:var(--r-2xl); overflow:hidden; background:var(--warm-white); }
.number-item { flex:1; min-width:120px; padding:2rem 1.5rem; text-align:center; border-right:1px solid var(--border); transition:background var(--dur-fast); }
.number-item:last-child { border-right:none; }
.number-item:hover { background:var(--cream); }
.number-item__value { display:block; font-family:var(--font-serif); font-size:clamp(var(--fs-2xl),3vw,var(--fs-4xl)); font-weight:var(--fw-bold); color:var(--brown-deep); letter-spacing:-.04em; line-height:1; margin-bottom:.5rem; }
.number-item__value span { color:var(--gold-dark); }
.number-item__label { font-size:var(--fs-xs); color:var(--text-muted); line-height:1.4; }
.number-item__label em { display:block; font-style:italic; color:var(--text-subtle); }

.team-card { border-radius:var(--r-xl); overflow:hidden; background:var(--warm-white); border:1.5px solid var(--border); transition:transform var(--dur-mid) var(--ease-bounce),box-shadow var(--dur-mid),border-color var(--dur-fast); }
.team-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); border-color:var(--gold); }
.team-card__image-wrap { aspect-ratio:3/4; overflow:hidden; }
.team-card__image { width:100%; height:100%; object-fit:cover; object-position:top; display:block; transition:transform var(--dur-slow) var(--ease-out); }
.team-card:hover .team-card__image { transform:scale(1.04); }
.team-card__body { padding:1rem 1.25rem; }
.team-card__name { font-family:var(--font-serif); font-size:var(--fs-base); font-weight:var(--fw-bold); color:var(--brown-deep); margin-bottom:2px; }
.team-card__role { font-size:var(--fs-xs); color:var(--gold-dark); font-weight:var(--fw-semi); margin-bottom:.5rem; }
.team-card__bio  { font-size:var(--fs-xs); color:var(--text-muted); line-height:1.5; }

.timeline { position:relative; padding-left:3rem; }
.timeline::before { content:''; position:absolute; left:22px; top:0; bottom:0; width:1.5px; background:linear-gradient(to bottom,var(--gold),transparent); }
.timeline-item { position:relative; margin-bottom:2.5rem; display:grid; grid-template-columns:72px 1fr; gap:1.5rem; align-items:flex-start; }
.timeline-item::before { content:''; position:absolute; left:-28px; top:10px; width:10px; height:10px; border-radius:50%; background:var(--gold); border:3px solid var(--warm-white); box-shadow:0 0 0 2px var(--gold); z-index:1; }
.timeline-item__year  { font-family:var(--font-serif); font-size:var(--fs-xl); font-weight:var(--fw-bold); color:var(--gold-dark); letter-spacing:-.03em; padding-top:6px; }
.timeline-item__title { font-family:var(--font-serif); font-size:var(--fs-base); font-weight:var(--fw-bold); color:var(--brown-deep); margin-bottom:.5rem; line-height:1.3; }
.timeline-item__desc  { font-size:var(--fs-sm); color:var(--text-mid); line-height:var(--lh-relaxed); margin-bottom:.5rem; }

.farm-commitments { display:flex; flex-direction:column; gap:1rem; margin:1.5rem 0; }
.farm-commitment  { display:flex; align-items:flex-start; gap:.75rem; }
.farm-commitment__icon { font-size:var(--fs-lg); color:var(--green); flex-shrink:0; margin-top:2px; }
.farm-commitment strong { color:var(--brown-deep); display:block; font-size:var(--fs-sm); margin-bottom:2px; }
.farm-commitment p      { font-size:var(--fs-sm); color:var(--text-mid); line-height:1.5; margin:0; }

.farm-figure { border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-md); margin:0; }
.farm-figure__img { width:100%; height:100%; object-fit:cover; display:block; transition:transform var(--dur-slow) var(--ease-out); }
.farm-figure:hover .farm-figure__img { transform:scale(1.04); }

.founder-quote { position:relative; padding:1.5rem 1.5rem 1.5rem 2rem; border-left:3px solid var(--gold); background:var(--cream); border-radius:0 var(--r-lg) var(--r-lg) 0; margin:1.5rem 0; }
.founder-quote p    { font-family:var(--font-serif); font-size:var(--fs-md); font-style:italic; color:var(--brown-dark); margin-bottom:.75rem; line-height:var(--lh-relaxed); }
.founder-quote cite { font-style:normal; font-weight:var(--fw-semi); color:var(--gold-dark); font-size:var(--fs-sm); }


/* ============================================================
   23. PRODUCT SINGLE
   ============================================================ */
.product-gallery { display:flex; flex-direction:column; gap:.75rem; }
.product-gallery__main { position:relative; border-radius:var(--r-2xl); overflow:hidden; border:1.5px solid var(--border); background:var(--cream); aspect-ratio:4/3; }
.product-gallery__main-img { width:100%; height:100%; object-fit:cover; display:block; transition:opacity var(--dur-mid); }
.product-gallery__main-caption { text-align:center; font-size:var(--fs-xs); font-style:italic; color:var(--text-muted); padding:.75rem 1rem; background:var(--cream); border-top:1px solid var(--border-soft); }
.product-gallery__certs { position:absolute; top:1rem; left:1rem; display:flex; flex-direction:column; gap:.5rem; }
.product-gallery__thumbs { display:flex; gap:.75rem; }
.product-gallery__thumb { width:80px; height:60px; border-radius:var(--r-md); overflow:hidden; border:2px solid var(--border); cursor:pointer; padding:0; background:none; transition:border-color var(--dur-fast),transform var(--dur-fast) var(--ease-bounce); flex-shrink:0; }
.product-gallery__thumb.active { border-color:var(--gold-dark); }
.product-gallery__thumb:hover  { border-color:var(--brown); transform:scale(1.05); }
.product-gallery__thumb img    { width:100%; height:100%; object-fit:cover; display:block; }
.product-gallery__share { display:flex; align-items:center; gap:.75rem; padding-top:.75rem; }
.product-gallery__share-label { font-size:var(--fs-xs); color:var(--text-muted); }
.product-gallery__share-links { display:flex; gap:.5rem; }
.share-btn-vanilla { display:flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:var(--r-md); border:1.5px solid var(--border); color:var(--text-mid); font-size:var(--fs-sm); text-decoration:none; transition:all var(--dur-fast); }
.share-btn-vanilla:hover { background:var(--brown-deep); border-color:var(--brown-deep); color:var(--cream); }

.product-info { display:flex; flex-direction:column; gap:1.25rem; }
.product-info__meta { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.product-availability { display:flex; align-items:center; gap:.5rem; font-size:var(--fs-xs); font-weight:var(--fw-semi); }
.product-availability--instock { color:var(--green); }
.product-availability__dot { width:7px; height:7px; border-radius:50%; background:var(--green); animation:avail-pulse 2s ease-in-out infinite; }
@keyframes avail-pulse { 0%,100%{opacity:1} 50%{opacity:.5} }
.product-info__sku { font-size:var(--fs-xs); color:var(--text-muted); }
.product-info__name { font-family:var(--font-serif); font-size:clamp(var(--fs-xl),3vw,var(--fs-3xl)); font-weight:var(--fw-bold); color:var(--brown-deep); letter-spacing:-.03em; line-height:1.15; }
.product-info__name em { font-style:italic; color:var(--text-muted); font-size:.55em; display:block; font-weight:var(--fw-regular); letter-spacing:0; margin-top:.25rem; }
.product-info__origin-tag { display:flex; align-items:center; gap:.5rem; font-size:var(--fs-xs); color:var(--text-light); flex-wrap:wrap; }
.product-info__origin-tag i { color:var(--gold-dark); }
.origin-divider { color:var(--border); }
.product-info__rating { display:flex; align-items:center; gap:.75rem; }
.rating-stars { display:flex; gap:2px; }
.rating-stars i { color:var(--gold); font-size:var(--fs-sm); }
.rating-score   { font-family:var(--font-serif); font-size:var(--fs-lg); font-weight:var(--fw-bold); color:var(--brown-deep); }
.rating-count   { font-size:var(--fs-xs); color:var(--gold-dark); text-decoration:underline; text-underline-offset:2px; }
.product-info__short-desc { font-size:var(--fs-sm); color:var(--text-mid); line-height:var(--lh-relaxed); }

.product-info__quick-specs { display:grid; grid-template-columns:repeat(4,1fr); gap:.75rem; }
.quick-spec { text-align:center; padding:.75rem .5rem; background:var(--cream); border:1px solid var(--border); border-radius:var(--r-lg); }
.quick-spec strong { display:block; font-family:var(--font-serif); font-size:var(--fs-lg); font-weight:var(--fw-bold); color:var(--brown-deep); letter-spacing:-.02em; margin-bottom:2px; }
.quick-spec span   { font-size:10px; color:var(--text-muted); text-transform:uppercase; letter-spacing:.05em; }

.product-info__price-block { padding:1.25rem; background:var(--cream); border:1.5px solid var(--border); border-radius:var(--r-xl); }
.price-block__label    { font-size:var(--fs-xs); font-weight:var(--fw-semi); letter-spacing:var(--ls-wide); text-transform:uppercase; color:var(--text-muted); margin-bottom:.5rem; }
.price-on-request      { font-family:var(--font-serif); font-size:var(--fs-2xl); font-weight:var(--fw-bold); color:var(--brown-deep); letter-spacing:-.03em; display:block; margin-bottom:.25rem; }
.price-on-request-id   { font-size:var(--fs-xs); font-style:italic; color:var(--text-muted); display:block; margin-bottom:.75rem; }
.price-block__note     { font-size:var(--fs-xs); color:var(--text-muted); line-height:1.6; margin:0; }

.product-info__order-size-label { font-size:var(--fs-sm); font-weight:var(--fw-semi); color:var(--brown-dark); margin-bottom:.75rem; display:block; }
.order-size-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:.5rem; }
.order-size-option { cursor:pointer; }
.order-size-option input { position:absolute; opacity:0; pointer-events:none; }
.order-size-option__label { display:flex; flex-direction:column; padding:.75rem; background:var(--cream); border:1.5px solid var(--border); border-radius:var(--r-lg); cursor:pointer; transition:all var(--dur-fast); }
.order-size-option__label strong { font-size:var(--fs-sm); font-weight:var(--fw-bold); color:var(--brown-deep); }
.order-size-option__label span   { font-size:var(--fs-xs); color:var(--text-muted); font-weight:var(--fw-medium); }
.order-size-option__label em     { font-size:10px; font-style:italic; color:var(--text-subtle); }
.order-size-option__label:hover  { border-color:var(--gold); }
.order-size-option input:checked + .order-size-option__label { background:var(--brown-deep); border-color:var(--brown-deep); }
.order-size-option input:checked + .order-size-option__label strong { color:var(--cream); }
.order-size-option input:checked + .order-size-option__label span   { color:rgba(255,255,255,.5); }
.order-size-option input:checked + .order-size-option__label em     { color:var(--gold); }

.product-info__actions { display:flex; flex-direction:column; gap:.75rem; }
.product-info__trust   { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; padding-top:1rem; border-top:1px solid var(--border-soft); }
.trust-strip-item { display:flex; align-items:center; gap:.25rem; font-size:var(--fs-xs); font-weight:var(--fw-medium); color:var(--text-muted); }
.trust-strip-item i { color:var(--green); font-size:var(--fs-sm); }

/* Product tabs */
.product-tabs__nav { border-bottom:2px solid var(--border); overflow-x:auto; scrollbar-width:none; }
.product-tabs__nav::-webkit-scrollbar { display:none; }
.product-tabs__list { display:flex; white-space:nowrap; }
.product-tab-btn { padding:1rem 1.25rem; font-family:var(--font-sans); font-size:var(--fs-sm); font-weight:var(--fw-semi); color:var(--text-muted); border-bottom:2px solid transparent; margin-bottom:-2px; transition:color var(--dur-fast),border-color var(--dur-fast); cursor:pointer; white-space:nowrap; }
.product-tab-btn:hover  { color:var(--brown-dark); }
.product-tab-btn.active { color:var(--brown-deep); border-bottom-color:var(--gold-dark); }
.product-tab-panel { display:none; padding-top:2rem; }
.product-tab-panel:not([hidden]) { display:block; animation:tab-in var(--dur-mid) var(--ease-out); }
@keyframes tab-in { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
.product-tab-heading    { font-family:var(--font-serif); font-size:var(--fs-2xl); font-weight:var(--fw-bold); color:var(--brown-deep); letter-spacing:-.03em; margin-bottom:1.5rem; }
.product-tab-subheading { font-family:var(--font-serif); font-size:var(--fs-lg); font-weight:var(--fw-bold); color:var(--brown-deep); margin-bottom:1rem; margin-top:2rem; }
.product-tab-panel p    { font-size:var(--fs-sm); color:var(--text-mid); line-height:var(--lh-relaxed); margin-bottom:1rem; }
.product-tab-panel p em { font-style:italic; color:var(--text-muted); }

.flavour-profile { display:flex; flex-direction:column; gap:.75rem; margin:1.25rem 0; }
.flavour-item    { display:grid; grid-template-columns:80px 1fr 120px; align-items:center; gap:.75rem; font-size:var(--fs-sm); }
.flavour-item__label    { color:var(--text-muted); font-weight:var(--fw-medium); }
.flavour-item__bar-wrap { height:6px; background:var(--border); border-radius:var(--r-full); overflow:hidden; }
.flavour-item__bar      { height:100%; width:var(--bar-w,0%); background:var(--gold-dark); border-radius:var(--r-full); transition:width 1s var(--ease-out); }
.flavour-item__bar--2   { background:var(--brown); }
.flavour-item__bar--3   { background:var(--brown-light); }
.flavour-item__note     { font-size:var(--fs-xs); color:var(--text-mid); font-weight:var(--fw-medium); }

.applications-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; margin:1.25rem 0; }
.application-item { display:flex; flex-direction:column; align-items:center; gap:.5rem; padding:1rem; background:var(--cream); border:1px solid var(--border); border-radius:var(--r-lg); text-align:center; font-size:var(--fs-xs); font-weight:var(--fw-medium); color:var(--text-mid); transition:border-color var(--dur-fast),background var(--dur-fast); }
.application-item:hover { border-color:var(--gold); background:var(--cream-dark); }
.application-item i { font-size:var(--fs-xl); color:var(--gold-dark); }

.curing-steps { display:flex; flex-direction:column; gap:1rem; margin:1.25rem 0; list-style:none; padding:0; counter-reset:curing; }
.curing-steps li { display:flex; gap:1rem; font-size:var(--fs-sm); counter-increment:curing; }
.curing-steps li::before { content:counter(curing,decimal-leading-zero); font-family:var(--font-serif); font-size:var(--fs-xl); font-weight:var(--fw-bold); color:var(--gold); flex-shrink:0; width:32px; line-height:1; }
.curing-steps li strong  { color:var(--brown-deep); display:block; margin-bottom:2px; }
.curing-steps li span    { color:var(--text-mid); line-height:1.5; }

.spec-table-full { width:100%; border-collapse:collapse; font-size:var(--fs-sm); }
.spec-table-full caption { font-size:var(--fs-xs); color:var(--text-muted); padding:.5rem 1rem; text-align:left; border-bottom:1px solid var(--border); }
.spec-table-full thead tr { background:var(--brown-deep); }
.spec-table-full thead th { padding:.75rem 1rem; text-align:left; font-size:var(--fs-xs); font-weight:var(--fw-bold); letter-spacing:.06em; text-transform:uppercase; color:var(--gold-light); white-space:nowrap; }
.spec-table-full th[scope="row"] { background:var(--cream); font-weight:var(--fw-semi); color:var(--text-muted); width:45%; }
.spec-table-full td { padding:.75rem 1rem; color:var(--text-dark); border-bottom:1px solid var(--border-soft); }
.spec-table-full tr:last-child td,.spec-table-full tr:last-child th { border-bottom:none; }
.spec-table-full tbody tr:hover td { background:var(--bg-soft); }
.spec-table-full td strong { color:var(--brown-deep); }

.product-certs-list { display:flex; flex-direction:column; gap:.75rem; }
.product-cert-item  { display:flex; align-items:center; gap:.75rem; font-size:var(--fs-sm); color:var(--text-mid); }
.product-cert-item__icon { font-size:var(--fs-lg); flex-shrink:0; }
.product-cert-item__icon--green  { color:var(--green); }
.product-cert-item__icon--blue   { color:var(--blue); }
.product-cert-item__icon--gold   { color:var(--gold-dark); }
.product-cert-item__icon--teal   { color:var(--teal); }
.product-cert-item__icon--purple { color:var(--purple); }
.product-cert-item strong { color:var(--brown-dark); display:block; font-size:var(--fs-sm); }
.product-cert-item span   { font-size:var(--fs-xs); }

.packaging-card { border-radius:var(--r-xl); overflow:hidden; background:var(--warm-white); border:1.5px solid var(--border); transition:transform var(--dur-fast) var(--ease-bounce),border-color var(--dur-fast); height:100%; }
.packaging-card:hover { transform:translateY(-3px); border-color:var(--gold); }
.packaging-card__image-wrap { aspect-ratio:16/9; overflow:hidden; }
.packaging-card__image { width:100%; height:100%; object-fit:cover; display:block; transition:transform var(--dur-slow) var(--ease-out); }
.packaging-card:hover .packaging-card__image { transform:scale(1.05); }
.packaging-card__body  { padding:1rem 1.25rem; }
.packaging-card__title { font-size:var(--fs-sm); font-weight:var(--fw-bold); color:var(--brown-deep); margin-bottom:.75rem; }
.packaging-card ul { display:flex; flex-direction:column; gap:.25rem; list-style:none; padding:0; }
.packaging-card li { font-size:var(--fs-xs); color:var(--text-mid); padding-left:1rem; position:relative; }
.packaging-card li::before { content:'·'; position:absolute; left:0; color:var(--gold-dark); }

.shipping-timeline { padding:1.5rem; background:var(--cream); border:1.5px solid var(--border); border-radius:var(--r-xl); margin-top:1.5rem; }
.shipping-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.shipping-step__day { font-size:var(--fs-xs); font-weight:var(--fw-bold); color:var(--gold-dark); text-transform:uppercase; letter-spacing:.06em; margin-bottom:.5rem; }
.shipping-step__content strong { font-size:var(--fs-sm); font-weight:var(--fw-bold); color:var(--brown-deep); display:block; margin-bottom:.25rem; }
.shipping-step__content p { font-size:var(--fs-xs); color:var(--text-muted); line-height:1.5; margin:0; }

.reviews-summary { display:flex; align-items:center; gap:2rem; padding:1.5rem; background:var(--cream); border:1.5px solid var(--border); border-radius:var(--r-xl); margin-bottom:1.5rem; }
.reviews-summary__score  { text-align:center; }
.reviews-summary__number { font-family:var(--font-serif); font-size:3.5rem; font-weight:var(--fw-bold); color:var(--brown-deep); letter-spacing:-.06em; display:block; line-height:1; }
.reviews-summary__stars  { display:flex; gap:2px; justify-content:center; margin:.25rem 0; }
.reviews-summary__stars i{ color:var(--gold); }
.reviews-summary__count  { font-size:var(--fs-xs); color:var(--text-muted); }
.reviews-summary__bars   { flex:1; display:flex; flex-direction:column; gap:.25rem; }
.review-bar-row   { display:flex; align-items:center; gap:.75rem; font-size:var(--fs-xs); color:var(--text-muted); }
.review-bar-track { flex:1; height:6px; background:var(--border); border-radius:var(--r-full); overflow:hidden; }
.review-bar-fill  { height:100%; width:var(--bar-w,0%); background:var(--gold); border-radius:var(--r-full); }
.review-bar-fill--4 { background:var(--gold-light); }
.review-bar-fill--3 { background:var(--border); }

.review-item-vanilla { padding:1.5rem; background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-xl); margin-bottom:1rem; transition:border-color var(--dur-fast); }
.review-item-vanilla:hover { border-color:var(--gold); }
.review-item-vanilla__header { display:flex; align-items:center; gap:.75rem; margin-bottom:.75rem; }
.review-item-vanilla__stars  { display:flex; gap:2px; }
.review-item-vanilla__stars i{ color:var(--gold); font-size:var(--fs-sm); }
.review-item-vanilla__verified { display:flex; align-items:center; gap:.25rem; font-size:var(--fs-xs); font-weight:var(--fw-semi); color:var(--green); }
.review-item-vanilla__text    { font-family:var(--font-serif); font-style:italic; color:var(--text-dark); line-height:var(--lh-relaxed); margin-bottom:1rem; font-size:var(--fs-base); }
.review-item-vanilla__footer  { display:flex; align-items:center; gap:.75rem; }
.review-item-vanilla__name    { font-weight:var(--fw-bold); color:var(--brown-deep); font-style:normal; font-size:var(--fs-sm); }
.review-item-vanilla__company { font-size:var(--fs-xs); color:var(--text-muted); margin-left:.5rem; }
.review-item-vanilla__date    { margin-left:auto; font-size:var(--fs-xs); color:var(--text-subtle); }
.review-item-vanilla__meta    { margin-top:.75rem; font-size:var(--fs-xs); color:var(--text-muted); padding-top:.75rem; border-top:1px solid var(--border-soft); }

.lab-info-card { padding:1.25rem; background:var(--cream); border:1.5px solid var(--border); border-radius:var(--r-xl); }
.lab-info-card__title { display:flex; align-items:center; gap:.5rem; font-size:var(--fs-sm); font-weight:var(--fw-bold); color:var(--brown-deep); margin-bottom:1rem; }
.lab-info-card__list  { display:flex; flex-direction:column; gap:.75rem; list-style:none; padding:0; }
.lab-info-card__list li strong { color:var(--brown-dark); display:block; margin-bottom:1px; }
.lab-info-card__list li span   { font-size:var(--fs-xs); color:var(--text-muted); }
.lab-info-card__note { font-size:var(--fs-xs); color:var(--text-muted); line-height:1.6; margin-top:1rem; padding-top:1rem; border-top:1px solid var(--border-soft); }

.product-tab-figure { border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--shadow-md); margin:0; }
.product-tab-figure__img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.product-tab-figure figcaption { font-size:var(--fs-xs); font-style:italic; color:var(--text-muted); text-align:center; padding:.75rem; background:var(--cream); }

/* Related products section */
.related-products { background:var(--cream); }


/* ============================================================
   24. ORIGINS PAGE
   ============================================================ */
.hero-region-nav { display:flex; gap:1rem; flex-wrap:wrap; margin-top:2rem; }
.hero-region-nav__item { display:flex; align-items:center; gap:.75rem; padding:.75rem 1.25rem; background:rgba(255,255,255,.08); border:1px solid rgba(201,169,110,.25); border-radius:var(--r-full); text-decoration:none; color:rgba(255,255,255,.65); font-size:var(--fs-xs); font-weight:var(--fw-semi); transition:all var(--dur-fast); }
.hero-region-nav__item:hover { background:rgba(201,169,110,.15); border-color:var(--gold); color:var(--gold-light); }
.hero-region-nav__number { font-family:var(--font-serif); font-size:var(--fs-lg); font-weight:var(--fw-bold); color:var(--gold); line-height:1; }

.origin-section  { scroll-margin-top:var(--header-h); }
.origin-number   { font-family:var(--font-serif); font-size:6rem; font-weight:var(--fw-bold); color:rgba(201,169,110,.15); letter-spacing:-.06em; line-height:1; margin-bottom:1rem; }
.origin-number--dark { color:rgba(26,15,0,.08); }
.origin-tagline  { font-family:var(--font-sans); font-size:var(--fs-xs); font-weight:var(--fw-semi); letter-spacing:var(--ls-wider); text-transform:uppercase; color:var(--gold-light); margin-bottom:1.5rem; }

.origin-profile { display:flex; flex-direction:column; margin:1.5rem 0; border:1px solid rgba(201,169,110,.2); border-radius:var(--r-xl); overflow:hidden; }
.origin-profile--light { border-color:var(--border); }
.origin-profile-item { display:flex; gap:1rem; padding:.75rem 1.25rem; border-bottom:1px solid rgba(201,169,110,.1); font-size:var(--fs-xs); }
.origin-profile--light .origin-profile-item { border-bottom-color:var(--border-soft); }
.origin-profile-item:last-child { border-bottom:none; }
.origin-profile-item__label { color:rgba(255,255,255,.4); flex-shrink:0; width:120px; font-weight:var(--fw-medium); }
.origin-profile--light .origin-profile-item__label { color:var(--text-muted); }
.origin-profile-item__value { color:rgba(255,255,255,.75); font-weight:var(--fw-medium); }
.origin-profile--light .origin-profile-item__value { color:var(--text-dark); }

.flavour-notes { margin-top:1.25rem; }
.flavour-notes__title { font-size:var(--fs-xs); font-weight:var(--fw-semi); letter-spacing:var(--ls-wide); text-transform:uppercase; color:rgba(255,255,255,.4); margin-bottom:.75rem; }
.flavour-note-tag { display:inline-flex; padding:3px 12px; background:rgba(201,169,110,.1); border:1px solid rgba(201,169,110,.2); border-radius:var(--r-full); font-size:var(--fs-xs); font-weight:var(--fw-semi); color:rgba(255,255,255,.6); margin-right:.5rem; margin-bottom:.5rem; transition:background var(--dur-fast); }
.flavour-note-tag:hover { background:rgba(201,169,110,.2); }
.flavour-note-tag--primary { background:rgba(201,169,110,.2); border-color:rgba(201,169,110,.4); color:var(--gold-light); }

.origin-hero-figure { border-radius:var(--r-2xl); overflow:hidden; box-shadow:var(--shadow-xl); margin:0; }
.origin-hero-figure__img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; transition:transform var(--dur-slow) var(--ease-out); }
.origin-hero-figure:hover .origin-hero-figure__img { transform:scale(1.03); }
.origin-hero-figure figcaption { font-size:var(--fs-xs); font-style:italic; padding:.75rem 1rem; text-align:center; }
.origin-section--maluku .origin-hero-figure figcaption,
.origin-section--papua  .origin-hero-figure figcaption { background:rgba(26,15,0,.6); color:rgba(255,255,255,.55); }
.origin-section--sulawesi .origin-hero-figure figcaption { background:var(--cream); color:var(--text-muted); }

.origin-detail-card { padding:1.25rem; border-radius:var(--r-xl); border:1px solid rgba(201,169,110,.15); background:rgba(255,255,255,.04); height:100%; }
.origin-detail-card--light { background:var(--cream); border-color:var(--border); }
.origin-detail-card__title { display:flex; align-items:center; gap:.5rem; font-size:var(--fs-sm); font-weight:var(--fw-bold); color:var(--gold-light); margin-bottom:1rem; }
.origin-detail-card--light .origin-detail-card__title { color:var(--brown-deep); }
.origin-detail-card p       { font-size:var(--fs-xs); color:rgba(255,255,255,.55); line-height:var(--lh-relaxed); margin-bottom:.75rem; }
.origin-detail-card--light p { color:var(--text-mid); }
.origin-detail-card__note  { font-size:var(--fs-xs); padding-top:.75rem; border-top:1px solid rgba(255,255,255,.1); margin-top:.75rem; color:rgba(255,255,255,.4); }
.origin-detail-card--light .origin-detail-card__note { color:var(--orange); border-color:var(--border); }

.origin-metrics-table { width:100%; border-collapse:collapse; font-size:var(--fs-xs); }
.origin-metrics-table th { color:rgba(255,255,255,.4); padding:.5rem .75rem; text-align:left; border-bottom:1px solid rgba(255,255,255,.06); font-weight:var(--fw-medium); }
.origin-metrics-table td { color:rgba(255,255,255,.75); padding:.5rem .75rem; border-bottom:1px solid rgba(255,255,255,.06); }
.origin-metrics-table td strong { color:var(--gold-light); }
.origin-metrics-table tr:last-child th,.origin-metrics-table tr:last-child td { border-bottom:none; }
.origin-metrics-table--light th { color:var(--text-muted); border-bottom-color:var(--border-soft); }
.origin-metrics-table--light td { color:var(--text-dark); border-bottom-color:var(--border-soft); }
.origin-metrics-table--light td strong { color:var(--brown-deep); }

.origin-products { margin-top:1.25rem; }
.origin-products__title { font-size:var(--fs-xs); font-weight:var(--fw-semi); letter-spacing:var(--ls-wide); text-transform:uppercase; color:rgba(255,255,255,.4); margin-bottom:.75rem; }
.origin-products--light .origin-products__title { color:var(--text-muted); }
.origin-products__list { display:flex; flex-wrap:wrap; gap:.5rem; }
.origin-product-tag { display:inline-flex; align-items:center; gap:.5rem; padding:.375rem 1rem; background:rgba(201,169,110,.08); border:1px solid rgba(201,169,110,.2); border-radius:var(--r-full); font-size:var(--fs-xs); font-weight:var(--fw-semi); color:var(--gold-light); text-decoration:none; transition:all var(--dur-fast); }
.origin-product-tag:hover { background:rgba(201,169,110,.2); border-color:var(--gold); color:var(--gold-light); }
.origin-product-tag--light { background:var(--cream); border-color:var(--border); color:var(--brown-dark); }
.origin-product-tag--light:hover { border-color:var(--gold); background:var(--cream-dark); color:var(--gold-dark); }

.terroir-factors { display:flex; flex-direction:column; gap:1rem; margin-top:1.5rem; }
.terroir-factor  { display:flex; align-items:flex-start; gap:.75rem; }
.terroir-factor__icon        { font-size:var(--fs-xl); flex-shrink:0; margin-top:2px; }
.terroir-factor__icon--gold  { color:var(--gold-dark); }
.terroir-factor__icon--brown { color:var(--brown); }
.terroir-factor__icon--green { color:var(--green); }
.terroir-factor strong { color:var(--brown-deep); display:block; font-size:var(--fs-sm); margin-bottom:2px; }
.terroir-factor span   { font-size:var(--fs-sm); color:var(--text-mid); line-height:1.5; }

.origin-intro-figure { border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--shadow-md); margin:0; }
.origin-intro-figure__img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; transition:transform var(--dur-slow) var(--ease-out); }
.origin-intro-figure:hover .origin-intro-figure__img { transform:scale(1.04); }
.origin-intro-figure figcaption { font-size:var(--fs-xs); font-style:italic; color:var(--text-muted); padding:.75rem; text-align:center; background:var(--cream); }

.origin-comparison-table { width:100%; border-collapse:collapse; font-size:var(--fs-sm); }
.origin-comparison-table thead tr { background:var(--brown-deep); }
.origin-comparison-table thead th { padding:1rem 1.25rem; text-align:left; color:var(--gold-light); font-weight:var(--fw-bold); white-space:nowrap; }
.comparison-origin-name { display:block; font-family:var(--font-serif); font-size:var(--fs-base); font-weight:var(--fw-bold); font-style:italic; }
.comparison-origin-sub  { display:block; font-size:var(--fs-xs); font-style:normal; color:rgba(255,255,255,.4); font-weight:var(--fw-regular); }
.origin-comparison-table tbody tr:nth-child(even) { background:var(--cream); }
.origin-comparison-table tbody tr:hover td,
.origin-comparison-table tbody tr:hover th { background:var(--cream-dark); }
.origin-comparison-table th[scope="row"] { background:var(--cream); color:var(--text-muted); font-weight:var(--fw-semi); padding:.75rem 1.25rem; border-bottom:1px solid var(--border-soft); }
.origin-comparison-table td { padding:.75rem 1.25rem; border-bottom:1px solid var(--border-soft); color:var(--text-mid); }
.origin-comparison-table td strong { color:var(--brown-deep); }
.origin-comparison-table tbody tr:last-child td,
.origin-comparison-table tbody tr:last-child th { border-bottom:none; }

.traceability-figure { border-radius:var(--r-2xl); overflow:hidden; box-shadow:var(--shadow-xl); margin:0; }
.traceability-figure__img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.traceability-figure figcaption { font-size:var(--fs-xs); font-style:italic; color:var(--text-muted); padding:.75rem; text-align:center; background:var(--cream); }

.traceability-steps { display:flex; flex-direction:column; gap:.5rem; margin-top:1.5rem; }
.trace-step { display:flex; align-items:flex-start; gap:1rem; }
.trace-step__icon { width:36px; height:36px; border-radius:50%; background:var(--brown-deep); color:var(--cream); display:flex; align-items:center; justify-content:center; font-size:var(--fs-sm); flex-shrink:0; }
.trace-step__icon--gold  { background:var(--gold-dark); color:var(--brown-deep); }
.trace-step__icon--brown { background:var(--brown); }
.trace-step__icon--teal  { background:var(--teal); color:#fff; }
.trace-step__icon--green { background:var(--green); color:#fff; }
.trace-step__text strong { color:var(--brown-deep); display:block; font-size:var(--fs-sm); margin-bottom:2px; }
.trace-step__text span   { font-size:var(--fs-xs); color:var(--text-muted); line-height:1.5; }
.trace-step__arrow { padding-left:18px; color:var(--border); font-size:var(--fs-sm); }

.traceability-cta-card { display:flex; align-items:center; gap:1.25rem; padding:1.25rem; background:var(--cream-dark); border:1.5px solid var(--gold); border-radius:var(--r-xl); margin-top:1.5rem; flex-wrap:wrap; }
.traceability-cta-card > i { font-size:var(--fs-3xl); color:var(--gold-dark); flex-shrink:0; }
.traceability-cta-card h3  { font-size:var(--fs-sm); color:var(--brown-deep); margin-bottom:.25rem; }
.traceability-cta-card p   { font-size:var(--fs-xs); color:var(--text-muted); margin:0; }


/* ============================================================
   25. BLOG ARTICLE BODY
   ============================================================ */
.pvi-article-hero { padding-top:0; background:var(--cream); }
.pvi-article-hero .container { padding-bottom:1.5rem; }
.pvi-article-hero__meta { display:flex; align-items:center; gap:1rem; margin-bottom:1.25rem; flex-wrap:wrap; }
.pvi-article-hero__read-time { display:flex; align-items:center; gap:.25rem; font-size:var(--fs-xs); color:var(--text-muted); }
.pvi-article-hero__title { font-family:var(--font-serif); font-size:clamp(var(--fs-2xl),5vw,3.5rem); font-weight:var(--fw-bold); letter-spacing:-.04em; line-height:1.1; color:var(--brown-deep); margin-bottom:1.5rem; }
.pvi-article-hero__title em { font-style:italic; color:var(--gold-dark); }
.pvi-article-hero__author-bar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; padding-bottom:1.5rem; border-bottom:1px solid var(--border); }
.pvi-article-hero__date-share { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; }
.pvi-article-share { display:flex; align-items:center; gap:.5rem; }
.pvi-article-hero__image-wrap { position:relative; }
.pvi-article-hero__image { width:100%; max-height:540px; object-fit:cover; display:block; }
.pvi-article-hero__caption { text-align:center; font-size:var(--fs-xs); font-style:italic; color:var(--text-muted); padding:.75rem 1rem; background:var(--cream-dark); border-top:1px solid var(--border); }

.pvi-article-body h2 { font-family:var(--font-serif); font-size:var(--fs-2xl); font-weight:var(--fw-bold); color:var(--brown-deep); letter-spacing:-.03em; margin-top:2.5rem; margin-bottom:1.25rem; border-bottom:1.5px solid var(--border); padding-bottom:.75rem; }
.pvi-article-body h3 { font-family:var(--font-serif); font-size:var(--fs-xl); font-weight:var(--fw-bold); color:var(--brown-dark); letter-spacing:-.02em; margin-top:2rem; margin-bottom:1rem; }
.pvi-article-body p  { font-size:var(--fs-base); color:var(--text-mid); line-height:var(--lh-relaxed); margin-bottom:1.25rem; }
.pvi-article-lead    { font-family:var(--font-serif); font-size:var(--fs-md); font-style:italic; color:var(--brown-dark); line-height:var(--lh-relaxed); padding-bottom:1.5rem; border-bottom:1px solid var(--border); margin-bottom:2rem; }

.pvi-article-takeaways { background:var(--cream); border:1.5px solid var(--gold); border-radius:var(--r-xl); padding:1.5rem; margin:2rem 0; }
.pvi-article-takeaways__title { display:flex; align-items:center; gap:.5rem; font-family:var(--font-serif); font-size:var(--fs-lg); font-weight:var(--fw-bold); color:var(--brown-deep); margin-bottom:1rem; }
.pvi-article-takeaways__title i { color:var(--gold-dark); }
.pvi-article-takeaways ul { display:flex; flex-direction:column; gap:.75rem; list-style:none; padding:0; }
.pvi-article-takeaways li { font-size:var(--fs-sm); color:var(--text-mid); padding-left:1.25rem; position:relative; line-height:1.6; }
.pvi-article-takeaways li::before { content:'→'; position:absolute; left:0; color:var(--gold-dark); font-weight:var(--fw-bold); }
.pvi-article-takeaways li strong { color:var(--brown-deep); }

.pvi-article-list { display:flex; flex-direction:column; gap:.75rem; margin:1.25rem 0; list-style:none; padding:0; }
.pvi-article-list li { font-size:var(--fs-sm); color:var(--text-mid); padding-left:1.25rem; position:relative; line-height:1.6; }
.pvi-article-list li::before { content:'·'; position:absolute; left:0; color:var(--gold-dark); font-size:1.25em; line-height:1; }
.pvi-article-list li strong { color:var(--brown-deep); }

.pvi-article-figure { margin:2rem 0; }
.pvi-article-figure__img     { width:100%; border-radius:var(--r-xl); box-shadow:var(--shadow-md); display:block; }
.pvi-article-figure__caption { text-align:center; font-size:var(--fs-xs); font-style:italic; color:var(--text-muted); margin-top:.75rem; }

.pvi-article-callout { display:flex; align-items:flex-start; gap:1rem; padding:1.25rem; border-radius:var(--r-xl); margin:1.5rem 0; }
.pvi-article-callout--info { background:var(--blue-tint); border:1px solid rgba(26,74,138,.15); }
.pvi-article-callout--info > i { color:var(--blue); flex-shrink:0; font-size:var(--fs-lg); margin-top:2px; }
.pvi-article-callout strong { color:var(--blue); display:block; margin-bottom:.5rem; font-size:var(--fs-sm); }
.pvi-article-callout p { font-size:var(--fs-sm); color:var(--text-mid); margin:0 0 .75rem; }
.pvi-article-callout a { color:var(--blue); font-weight:var(--fw-semi); text-decoration:underline; }

.pvi-data-table-wrap { overflow-x:auto; margin:1.5rem 0; border-radius:var(--r-xl); border:1.5px solid var(--border); }
.pvi-data-table { width:100%; border-collapse:collapse; font-size:var(--fs-sm); }
.pvi-data-table caption { font-size:var(--fs-xs); color:var(--text-muted); padding:.5rem 1rem; text-align:left; border-bottom:1px solid var(--border); }
.pvi-data-table thead tr { background:var(--brown-deep); }
.pvi-data-table thead th { padding:.75rem 1rem; text-align:left; font-size:var(--fs-xs); font-weight:var(--fw-bold); letter-spacing:.06em; text-transform:uppercase; color:var(--gold-light); white-space:nowrap; }
.pvi-data-table tbody tr:nth-child(even) { background:var(--cream); }
.pvi-data-table tbody tr:hover td { background:var(--cream-dark); }
.pvi-data-table td { padding:.75rem 1rem; color:var(--text-mid); border-bottom:1px solid var(--border-soft); }
.pvi-data-table tbody tr:last-child td { border-bottom:none; }
.pvi-data-table td strong { color:var(--brown-deep); }

.pvi-article-quote { position:relative; padding:1.5rem 1.5rem 1.5rem 2rem; border-left:3px solid var(--gold); background:var(--cream); border-radius:0 var(--r-xl) var(--r-xl) 0; margin:2rem 0; }
.pvi-article-quote p    { font-family:var(--font-serif); font-size:var(--fs-md); font-style:italic; color:var(--brown-dark); margin-bottom:1rem; line-height:var(--lh-relaxed); }
.pvi-article-quote footer { font-size:var(--fs-sm); }
.pvi-article-quote cite { font-style:normal; font-weight:var(--fw-semi); color:var(--gold-dark); }

.pvi-decision-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin:1.5rem 0; }
.pvi-decision-card { padding:1.5rem; border-radius:var(--r-xl); border:1.5px solid var(--border); }
.pvi-decision-card--indonesia { background:var(--cream); border-color:var(--gold); }
.pvi-decision-card--madagascar { background:var(--off-white); }
.pvi-decision-card h3 { font-family:var(--font-serif); font-size:var(--fs-lg); font-weight:var(--fw-bold); color:var(--brown-deep); margin-bottom:1rem; line-height:1.25; }
.pvi-decision-card ul { display:flex; flex-direction:column; gap:.5rem; list-style:none; padding:0; }
.pvi-decision-card li { font-size:var(--fs-sm); color:var(--text-mid); padding-left:1.25rem; position:relative; line-height:1.5; }
.pvi-decision-card--indonesia li::before { content:'✓'; position:absolute; left:0; color:var(--green); font-weight:var(--fw-bold); }
.pvi-decision-card--madagascar li::before { content:'·'; position:absolute; left:0; color:var(--text-subtle); }
.pvi-decision-card__note { font-size:var(--fs-xs); font-style:italic; color:var(--text-muted); margin-top:1rem; padding-top:1rem; border-top:1px solid var(--border-soft); }

.pvi-article-tags { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--border); }
.pvi-article-tags__label { font-size:var(--fs-xs); color:var(--text-muted); font-weight:var(--fw-medium); }
.pvi-article-tag { padding:3px 10px; background:var(--cream); border:1px solid var(--border); border-radius:var(--r-full); font-size:var(--fs-xs); color:var(--text-mid); text-decoration:none; transition:all var(--dur-fast); }
.pvi-article-tag:hover { background:var(--brown-deep); border-color:var(--brown-deep); color:var(--cream); }

.pvi-author-bio { display:flex; gap:1.25rem; padding:1.5rem; background:var(--cream); border:1.5px solid var(--border); border-radius:var(--r-xl); margin-top:2rem; }
.pvi-author-bio__avatar { width:64px; height:64px; border-radius:var(--r-lg); background:var(--gold-dark); color:var(--brown-deep); display:flex; align-items:center; justify-content:center; font-family:var(--font-sans); font-size:var(--fs-base); font-weight:var(--fw-bold); flex-shrink:0; }
.pvi-author-bio__name { font-family:var(--font-serif); font-size:var(--fs-base); font-weight:var(--fw-bold); color:var(--brown-deep); margin-bottom:2px; }
.pvi-author-bio__role { font-size:var(--fs-xs); color:var(--gold-dark); font-weight:var(--fw-semi); margin-bottom:.75rem; }
.pvi-author-bio__desc { font-size:var(--fs-sm); color:var(--text-mid); line-height:var(--lh-relaxed); }

.pvi-article-nav { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--border); }
.pvi-article-nav__item { display:flex; flex-direction:column; gap:.5rem; padding:1rem; background:var(--cream); border:1.5px solid var(--border); border-radius:var(--r-xl); text-decoration:none; transition:border-color var(--dur-fast),box-shadow var(--dur-fast); }
.pvi-article-nav__item:hover { border-color:var(--gold); box-shadow:var(--shadow-xs); }
.pvi-article-nav__item--next { text-align:right; }
.pvi-article-nav__label { display:flex; align-items:center; gap:.5rem; font-size:var(--fs-xs); font-weight:var(--fw-semi); text-transform:uppercase; letter-spacing:.06em; color:var(--text-muted); }
.pvi-article-nav__item--next .pvi-article-nav__label { justify-content:flex-end; }
.pvi-article-nav__title { font-size:var(--fs-sm); font-weight:var(--fw-semi); color:var(--brown-deep); line-height:1.3; }

/* Article sidebar */
.pvi-article-sidebar { position:sticky; top:calc(var(--header-h) + 1.5rem); align-self:flex-start; }
.pvi-sidebar-widget { background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-xl); padding:1.25rem; margin-bottom:1.25rem; }
.pvi-sidebar-widget--toc { background:var(--cream); }
.pvi-sidebar-widget--cta { background:var(--brown-deep); border-color:var(--brown-deep); }
.pvi-sidebar-widget__title { font-size:var(--fs-sm); font-weight:var(--fw-bold); color:var(--brown-deep); margin-bottom:1rem; padding-bottom:.75rem; border-bottom:1px solid var(--border); }
.pvi-sidebar-widget--cta .pvi-sidebar-widget__title { color:var(--cream); border-bottom-color:rgba(255,255,255,.1); }

.pvi-toc-list { display:flex; flex-direction:column; gap:.25rem; counter-reset:toc; list-style:none; padding:0; }
.pvi-toc-list li { counter-increment:toc; }
.pvi-toc-list a { display:flex; gap:.5rem; font-size:var(--fs-sm); color:var(--text-mid); text-decoration:none; padding:.375rem .75rem; border-radius:var(--r-md); transition:background var(--dur-fast),color var(--dur-fast); }
.pvi-toc-list a::before { content:counter(toc,decimal-leading-zero); font-size:var(--fs-xs); font-weight:var(--fw-bold); color:var(--gold-dark); flex-shrink:0; width:22px; }
.pvi-toc-list a:hover { background:var(--cream-dark); color:var(--brown-deep); }

.pvi-sidebar-related { display:flex; flex-direction:column; gap:1rem; }
.pvi-sidebar-related-item { display:flex; gap:.75rem; text-decoration:none; color:inherit; padding:.375rem; border-radius:var(--r-md); transition:background var(--dur-fast); }
.pvi-sidebar-related-item:hover { background:var(--cream); }
.pvi-sidebar-related-item__image-wrap { width:72px; height:54px; border-radius:var(--r-md); overflow:hidden; flex-shrink:0; }
.pvi-sidebar-related-item__image-wrap img { width:100%; height:100%; object-fit:cover; display:block; }
.pvi-sidebar-related-item__body h4 { font-size:var(--fs-xs); font-weight:var(--fw-semi); color:var(--brown-deep); line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-bottom:2px; }
.pvi-sidebar-related-item__body time { font-size:10px; color:var(--text-muted); }

.pvi-sidebar-products { display:flex; flex-direction:column; gap:.75rem; }
.pvi-sidebar-product { display:flex; gap:.75rem; text-decoration:none; padding:.375rem; border-radius:var(--r-md); transition:background var(--dur-fast); color:inherit; }
.pvi-sidebar-product:hover { background:var(--cream); }
.pvi-sidebar-product__image { width:72px; height:54px; border-radius:var(--r-md); object-fit:cover; display:block; flex-shrink:0; }
.pvi-sidebar-product__info h4 { font-size:var(--fs-xs); font-weight:var(--fw-semi); color:var(--brown-deep); line-height:1.3; margin-bottom:2px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pvi-sidebar-product__info span { font-size:10px; color:var(--gold-dark); font-weight:var(--fw-medium); }

.pvi-sidebar-cta { display:flex; flex-direction:column; gap:.75rem; }
.pvi-sidebar-cta__icon  { font-size:var(--fs-3xl); color:var(--gold); }
.pvi-sidebar-cta__title { font-family:var(--font-serif); font-size:var(--fs-base); font-weight:var(--fw-bold); color:var(--cream); line-height:1.3; }
.pvi-sidebar-cta__desc  { font-size:var(--fs-xs); color:rgba(255,255,255,.5); line-height:1.6; }


/* ============================================================
   26. CONTACT PAGE
   ============================================================ */
.pvi-channel-card { display:flex; flex-direction:column; gap:.75rem; padding:1.5rem; background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-xl); text-decoration:none; color:inherit; height:100%; transition:transform var(--dur-mid) var(--ease-bounce),box-shadow var(--dur-mid),border-color var(--dur-fast); }
.pvi-channel-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--gold); }
.pvi-channel-card__icon { width:48px; height:48px; border-radius:var(--r-lg); background:var(--brown-deep); color:var(--gold); display:flex; align-items:center; justify-content:center; font-size:var(--fs-xl); flex-shrink:0; }
.pvi-channel-card__icon--gold   { background:var(--brown); color:var(--gold); }
.pvi-channel-card__icon--green  { background:#25d366; color:#fff; }
.pvi-channel-card__icon--teal   { background:var(--teal); color:#fff; }
.pvi-channel-card__icon--blue   { background:var(--blue); color:#fff; }
.pvi-channel-card__title { font-size:var(--fs-base); font-weight:var(--fw-bold); color:var(--brown-deep); }
.pvi-channel-card__value { font-size:var(--fs-sm); font-weight:var(--fw-semi); color:var(--text-dark); }
.pvi-channel-card__desc  { font-size:var(--fs-xs); color:var(--text-muted); line-height:1.6; flex:1; }
.pvi-channel-card__cta   { font-size:var(--fs-xs); font-weight:var(--fw-semi); color:var(--gold-dark); display:flex; align-items:center; gap:.25rem; margin-top:auto; }

.pvi-contact-info { display:flex; flex-direction:column; gap:1rem; }
.pvi-contact-info-card { display:flex; gap:1rem; padding:1.25rem; background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-xl); }
.pvi-contact-info-card__icon { width:40px; height:40px; border-radius:var(--r-lg); display:flex; align-items:center; justify-content:center; font-size:var(--fs-lg); flex-shrink:0; }
.pvi-contact-info-card__icon--gold   { background:var(--cream-dark); color:var(--gold-dark); }
.pvi-contact-info-card__icon--green  { background:var(--green-tint); color:var(--green); }
.pvi-contact-info-card__icon--brown  { background:var(--cream); color:var(--brown); }
.pvi-contact-info-card__icon--teal   { background:var(--teal-tint); color:var(--teal); }
.pvi-contact-info-card__icon--blue   { background:var(--blue-tint); color:var(--blue); }
.pvi-contact-info-card__title   { font-size:var(--fs-sm); font-weight:var(--fw-bold); color:var(--brown-deep); margin-bottom:.75rem; }
.pvi-contact-info-card__address { font-style:normal; font-size:var(--fs-sm); color:var(--text-mid); line-height:var(--lh-relaxed); }

.pvi-hours-list { display:flex; flex-direction:column; gap:.5rem; }
.pvi-hours-row  { display:flex; justify-content:space-between; gap:1rem; font-size:var(--fs-sm); }
.pvi-hours-row dt { color:var(--text-muted); }
.pvi-hours-row dd { font-weight:var(--fw-semi); color:var(--text-dark); }
.pvi-hours-closed { color:var(--red)!important; }
.pvi-hours-note   { margin-top:.75rem; padding-top:.75rem; border-top:1px solid var(--border-soft); font-size:var(--fs-xs); color:var(--text-muted); display:flex; align-items:center; gap:.5rem; }
.pvi-hours-note i { color:#25d366; }

.pvi-dept-list { display:flex; flex-direction:column; gap:.5rem; list-style:none; padding:0; }
.pvi-dept-list li { font-size:var(--fs-sm); color:var(--text-mid); }
.pvi-dept-list__label { font-weight:var(--fw-semi); color:var(--text-dark); }
.pvi-dept-list a { color:var(--blue); }
.pvi-dept-list a:hover { text-decoration:underline; }

.pvi-key-contacts { display:flex; flex-direction:column; gap:1rem; }
.pvi-key-contact  { display:flex; align-items:flex-start; gap:.75rem; }
.pvi-key-contact__avatar { width:40px; height:40px; border-radius:50%; background:var(--gold-dark); color:var(--brown-deep); display:flex; align-items:center; justify-content:center; font-size:var(--fs-xs); font-weight:var(--fw-bold); flex-shrink:0; }
.pvi-key-contact__avatar--brown { background:var(--brown); color:var(--cream); }
.pvi-key-contact strong { color:var(--brown-deep); display:block; font-size:var(--fs-sm); }
.pvi-key-contact span   { font-size:var(--fs-xs); color:var(--text-muted); display:block; }
.pvi-key-contact a      { font-size:var(--fs-xs); color:var(--blue); }

.pvi-shipping-info { display:flex; flex-direction:column; gap:.375rem; list-style:none; padding:0; }
.pvi-shipping-info li { font-size:var(--fs-sm); color:var(--text-mid); }
.pvi-shipping-info li strong { color:var(--brown-dark); }

.pvi-contact-social { padding:1.25rem; background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-xl); }
.pvi-contact-social__title { font-size:var(--fs-sm); font-weight:var(--fw-bold); color:var(--brown-deep); margin-bottom:1rem; }
.pvi-contact-social__links { display:flex; flex-direction:column; gap:.75rem; }
.pvi-social-btn { display:flex; align-items:center; gap:.75rem; padding:.75rem; border-radius:var(--r-md); font-size:var(--fs-sm); color:var(--text-mid); text-decoration:none; transition:background var(--dur-fast),color var(--dur-fast); }
.pvi-social-btn:hover { background:var(--cream); color:var(--brown-deep); }
.pvi-social-btn i { font-size:var(--fs-base); flex-shrink:0; }
.pvi-social-btn--whatsapp i { color:#25d366; }

.pvi-map-section { }
.pvi-map-embed { height:380px; background:var(--cream); border-top:1px solid var(--border); position:relative; overflow:hidden; }
.pvi-map-embed__placeholder { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.pvi-map-embed__content { text-align:center; padding:2rem; }
.pvi-map-embed__icon { font-size:3rem; color:var(--gold-dark); margin-bottom:1rem; display:block; }
.pvi-map-embed__content h3 { font-family:var(--font-serif); font-size:var(--fs-xl); color:var(--brown-deep); margin-bottom:.5rem; }
.pvi-map-embed__content p  { font-size:var(--fs-sm); color:var(--text-muted); margin-bottom:1.25rem; }

.pvi-contact-faq { background:var(--cream); }
.pvi-contact-faq-item { padding:1.25rem; background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-xl); height:100%; transition:border-color var(--dur-fast); }
.pvi-contact-faq-item:hover { border-color:var(--gold); }
.pvi-contact-faq-item__q { font-family:var(--font-serif); font-size:var(--fs-base); font-weight:var(--fw-bold); color:var(--brown-deep); margin-bottom:.75rem; display:flex; align-items:flex-start; gap:.5rem; line-height:1.3; }
.pvi-contact-faq-item__q i { color:var(--gold-dark); flex-shrink:0; margin-top:2px; }
.pvi-contact-faq-item__a { font-size:var(--fs-sm); color:var(--text-mid); line-height:var(--lh-relaxed); margin:0; }
.pvi-contact-faq-item__a a { color:var(--gold-dark); text-decoration:underline; }


/* ============================================================
   27. FORMS — GLOBAL PVI
   ============================================================ */
.pvi-contact-form { display:flex; flex-direction:column; gap:1.25rem; }
.pvi-contact-form__fieldset { border:none; padding:0; margin:0; }
.pvi-contact-form__legend { font-size:var(--fs-sm); font-weight:var(--fw-semi); color:var(--text-dark); margin-bottom:1rem; display:block; }

.pvi-intent-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; }
.pvi-intent-radio { cursor:pointer; }
.pvi-intent-radio input { position:absolute; opacity:0; pointer-events:none; }
.pvi-intent-radio__label { display:flex; flex-direction:column; align-items:center; gap:.25rem; padding:1rem .75rem; background:var(--cream); border:1.5px solid var(--border); border-radius:var(--r-xl); text-align:center; cursor:pointer; transition:all var(--dur-fast); }
.pvi-intent-radio__label i      { font-size:var(--fs-xl); color:var(--text-muted); }
.pvi-intent-radio__label strong { font-size:var(--fs-xs); font-weight:var(--fw-bold); color:var(--text-dark); }
.pvi-intent-radio__label small  { font-size:10px; color:var(--text-subtle); font-style:italic; }
.pvi-intent-radio__label:hover  { border-color:var(--brown-dark); }
.pvi-intent-radio input:checked + .pvi-intent-radio__label { background:var(--brown-deep); border-color:var(--brown-deep); }
.pvi-intent-radio input:checked + .pvi-intent-radio__label i      { color:var(--gold); }
.pvi-intent-radio input:checked + .pvi-intent-radio__label strong { color:var(--cream); }
.pvi-intent-radio input:checked + .pvi-intent-radio__label small  { color:rgba(255,255,255,.45); }

.pvi-form-group  { display:flex; flex-direction:column; gap:.5rem; }
.pvi-form-label  { font-size:var(--fs-sm); font-weight:var(--fw-semi); color:var(--text-dark); }
.pvi-form-required { color:var(--gold-dark); }

.pvi-form-input,
.pvi-form-select,
.pvi-form-textarea {
  padding:.75rem 1rem; background:var(--cream); border:1.5px solid var(--border);
  border-radius:var(--r-md); font-size:var(--fs-sm); color:var(--text-dark);
  outline:none; transition:border-color var(--dur-fast),box-shadow var(--dur-fast); width:100%;
}
.pvi-form-input:focus,
.pvi-form-select:focus,
.pvi-form-textarea:focus { border-color:var(--gold-dark); box-shadow:0 0 0 3px rgba(160,128,58,.12); background:var(--warm-white); }
.pvi-form-input::placeholder,.pvi-form-textarea::placeholder { color:var(--text-subtle); }
.pvi-form-textarea { resize:vertical; min-height:140px; line-height:var(--lh-relaxed); }
.pvi-form-select  { cursor:pointer; height:46px; }

.pvi-checkbox-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:.5rem; }
.pvi-form-check { display:flex; align-items:flex-start; gap:.5rem; font-size:var(--fs-sm); color:var(--text-mid); cursor:pointer; padding:.375rem; border-radius:var(--r-md); transition:background var(--dur-fast); }
.pvi-form-check:hover { background:var(--cream); }
.pvi-form-check input { width:16px; height:16px; cursor:pointer; accent-color:var(--gold-dark); margin-top:2px; flex-shrink:0; }
.pvi-form-check--consent { align-items:flex-start; font-size:var(--fs-xs); color:var(--text-muted); line-height:1.6; padding:1rem; background:var(--cream); border:1.5px solid var(--border); border-radius:var(--r-lg); }
.pvi-form-check--consent a { color:var(--gold-dark); text-decoration:underline; }
.pvi-form-error { font-size:var(--fs-xs); color:var(--red); display:none; }
.pvi-form-error:not(:empty) { display:block; }
.pvi-field-error { border-color:var(--red)!important; }

.pvi-contact-form__actions { display:flex; flex-direction:column; gap:.75rem; }
.pvi-contact-form__or { text-align:center; font-size:var(--fs-xs); color:var(--text-muted); position:relative; margin:.25rem 0; }
.pvi-contact-form__or::before,.pvi-contact-form__or::after { content:''; position:absolute; top:50%; width:44%; height:1px; background:var(--border); }
.pvi-contact-form__or::before { left:0; }
.pvi-contact-form__or::after  { right:0; }

.pvi-form-success { display:flex; align-items:center; gap:1rem; padding:1.25rem; background:var(--green-tint); border:1.5px solid var(--green); border-radius:var(--r-xl); margin-top:1rem; animation:fade-in var(--dur-mid) var(--ease-out); }
@keyframes fade-in { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
.pvi-form-success > i  { font-size:var(--fs-2xl); color:var(--green); flex-shrink:0; }
.pvi-form-success h3   { font-size:var(--fs-base); color:var(--brown-deep); margin-bottom:.25rem; }
.pvi-form-success p    { font-size:var(--fs-sm); color:var(--text-mid); margin:0; }

.coa-request-form { display:flex; flex-direction:column; gap:1rem; }
.coa-request-form__group { display:flex; flex-direction:column; gap:.5rem; }
.coa-request-form__group label { font-size:var(--fs-sm); font-weight:var(--fw-semi); color:var(--text-dark); }
.coa-request-form__group input,
.coa-request-form__group select { padding:.75rem 1rem; background:var(--warm-white); border:1.5px solid var(--border); border-radius:var(--r-md); font-size:var(--fs-sm); color:var(--text-dark); outline:none; transition:border-color var(--dur-fast); width:100%; }
.coa-request-form__group input:focus,
.coa-request-form__group select:focus { border-color:var(--gold-dark); }
.coa-request-form__note { font-size:var(--fs-xs); color:var(--text-muted); display:flex; align-items:center; gap:.5rem; margin-top:.5rem; }
.coa-request-form__note i { color:var(--green); }

.pvi-newsletter-form { display:flex; flex-direction:column; gap:1rem; }
.pvi-newsletter-form__group { display:flex; flex-direction:column; gap:.5rem; }
.pvi-newsletter-form__group > label,
.pvi-newsletter-form__label { font-size:var(--fs-sm); font-weight:var(--fw-semi); color:rgba(255,255,255,.6); }
.pvi-newsletter-form__input { padding:.75rem 1rem; background:rgba(255,255,255,.08); border:1.5px solid rgba(255,255,255,.15); border-radius:var(--r-md); font-size:var(--fs-sm); color:rgba(255,255,255,.85); outline:none; transition:border-color var(--dur-fast); width:100%; }
.pvi-newsletter-form__input:focus { border-color:var(--gold); }
.pvi-newsletter-form__input::placeholder { color:rgba(255,255,255,.3); }
.pvi-newsletter-checkboxes { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }
.pvi-nl-check { display:flex; align-items:center; gap:.5rem; font-size:var(--fs-xs); color:rgba(255,255,255,.55); cursor:pointer; }
.pvi-nl-check input { accent-color:var(--gold); cursor:pointer; }
.pvi-newsletter-form__note { font-size:var(--fs-xs); color:rgba(255,255,255,.35); display:flex; align-items:center; gap:.5rem; margin-top:.5rem; }
.pvi-newsletter-form__note i { color:var(--green); }


/* ============================================================
   28. SCROLL REVEAL
   ============================================================ */
.reveal { opacity:0; transform:translateY(20px); transition:opacity .6s var(--ease-out),transform .6s var(--ease-out); }
.reveal.is-visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:.1s; }
.reveal-delay-2 { transition-delay:.2s; }
.reveal-delay-3 { transition-delay:.3s; }
.reveal-delay-4 { transition-delay:.4s; }


/* ============================================================
   29. RESPONSIVE
   ============================================================ */
@media (max-width:1199.98px) {
  .hero-stats-card { display:none; }
}

@media (max-width:991.98px) {
  .section-pad    { padding-top:4rem;  padding-bottom:4rem; }
  .section-pad-sm { padding-top:3rem;  padding-bottom:3rem; }
  .cta-inner      { grid-template-columns:1fr; }
  .cta-inner__image { display:none; }
  .pvi-newsletter-inner { grid-template-columns:1fr; }
  .pvi-intent-grid { grid-template-columns:repeat(2,1fr); }
  .pvi-checkbox-grid { grid-template-columns:1fr; }
  .pvi-article-sidebar { position:relative; top:0; }
  .pvi-decision-grid { grid-template-columns:1fr; }
  .applications-grid { grid-template-columns:repeat(2,1fr); }
  .shipping-steps { grid-template-columns:repeat(2,1fr); }
  .product-info__quick-specs { grid-template-columns:repeat(2,1fr); }
  .ordering-grid { grid-template-columns:repeat(2,1fr); }
  .blog-hero-card__image-wrap { min-height:240px; }
}

@media (max-width:767.98px) {
  :root { --header-h:64px; }
  .section-pad    { padding-top:3rem; padding-bottom:3rem; }
  .section-pad-sm { padding-top:2rem; padding-bottom:2rem; }
  .hero-heading   { font-size:clamp(2rem,9vw,3rem); }
  .page-hero__bg  { height:320px; }
  .blog-hero-card__body { padding:1.25rem; }
  .certs-strip .cert-badge { min-width:150px; }
  .number-item { border-right:none; border-bottom:1px solid var(--border); }
  .number-item:last-child { border-bottom:none; }
  .timeline { padding-left:2rem; }
  .timeline-item { grid-template-columns:56px 1fr; gap:1rem; }
  .pvi-article-nav { grid-template-columns:1fr; }
  .pvi-author-bio { flex-direction:column; }
  .pvi-article-hero__author-bar { flex-direction:column; align-items:flex-start; }
  .coa-request-card__header { flex-direction:column; }
  .reviews-summary { flex-direction:column; }
  .fairtrade-impact { grid-template-columns:1fr; }
  .cert-meta-item { flex-direction:column; gap:.25rem; }
  .cert-meta-item__label { width:auto; }
  .shipping-steps { grid-template-columns:1fr; }
}

@media (max-width:575.98px) {
  .logo-sub       { display:none; }
  .hero-cta-group { flex-direction:column; align-items:flex-start; }
  .trust-sep      { display:none; }
  .pvi-intent-grid { grid-template-columns:repeat(2,1fr); }
  .order-size-grid  { grid-template-columns:repeat(2,1fr); }
  .applications-grid { grid-template-columns:1fr; }
  .product-info__quick-specs { grid-template-columns:repeat(2,1fr); }
  .ordering-grid { grid-template-columns:1fr; }
  .coa-download-block { flex-direction:column; }
  .pvi-newsletter-checkboxes { grid-template-columns:1fr; }
  .hero-region-nav { flex-direction:column; gap:.5rem; }
  .origin-comparison-table { font-size:var(--fs-xs); }
  .pvi-decision-grid { grid-template-columns:1fr; }
  .blog-filter-section { top:0; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
  html { scroll-behavior:auto; }
}

@media print {
  .site-header,.announcement-bar,.site-footer { display:none; }
  body { font-size:12pt; color:#000; background:#fff; }
  .hero-section { min-height:auto; }
  .hero-overlay { display:none; }
}


/* ============================================================
   FIX 1: ORDERING SECTION — prevent word-wrap on list items
   ============================================================ */
.ordering-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}

.ordering-item {
  padding: 2rem 1.5rem;
  border-right: 1px solid rgba(255,255,255,.06);
}

.ordering-item:last-child { border-right: none; }

.ordering-item__icon {
  font-size: 1.75rem;
  display: block;
  margin-bottom: 1.25rem;
  line-height: 1;
}

.ordering-item__title {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  color: var(--cream);
  font-weight: var(--fw-bold);
  margin-bottom: 1rem;
  line-height: 1.3;
  font-style: italic;
}

.ordering-item__title em {
  display: block;
  font-style: normal;
  font-size: .7rem;
  color: rgba(255,255,255,.35);
  font-family: var(--font-sans);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-top: .25rem;
  font-weight: var(--fw-semi);
}

.ordering-item ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.ordering-item li {
  font-size: .8125rem;        /* 13px — slightly smaller so it fits */
  color: rgba(255,255,255,.6);
  line-height: 1.45;
  padding-left: 1rem;
  position: relative;
  word-break: normal;         /* prevent mid-word break */
  overflow-wrap: normal;      /* keep words whole */
  white-space: normal;        /* allow line break between words only */
}

.ordering-item li::before {
  content: '·';
  position: absolute;
  left: 0;
  color: var(--gold);
  font-size: 1em;
  line-height: 1.45;
}

@media (max-width: 991.98px) {
  .ordering-grid { grid-template-columns: repeat(2, 1fr); }
  .ordering-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,.06); }
  .ordering-item:nth-child(2n) { padding-left: 1.5rem; }
}

@media (max-width: 575.98px) {
  .ordering-grid { grid-template-columns: 1fr; }
}


/* ============================================================
   FIX 2: BLOG CARD TAGS — pvi-blog-tag variants
   These apply to tags used INSIDE .pvi-blog-card (grid cards)
   and also inside .blog-hero-card featured card
   ============================================================ */

/* Base tag — used as position:absolute overlay on card image */
.pvi-blog-card__tag,
.pvi-blog-hero-tag {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: var(--r-full);
  font-size: 10px;
  font-weight: var(--fw-bold);
  letter-spacing: .05em;
  text-transform: uppercase;
  line-height: 1.4;
  white-space: nowrap;
}

/* Colour variants */
.pvi-blog-tag--gold {
  background: rgba(250,246,239,.92);
  color: var(--gold-dark);
  border: 1px solid rgba(160,128,58,.3);
  backdrop-filter: blur(4px);
}

.pvi-blog-tag--brown {
  background: rgba(250,246,239,.92);
  color: var(--brown);
  border: 1px solid rgba(92,61,30,.2);
  backdrop-filter: blur(4px);
}

.pvi-blog-tag--green {
  background: rgba(240,250,244,.92);
  color: var(--green);
  border: 1px solid rgba(42,122,74,.25);
  backdrop-filter: blur(4px);
}

.pvi-blog-tag--teal {
  background: rgba(240,248,248,.92);
  color: var(--teal);
  border: 1px solid rgba(26,107,107,.25);
  backdrop-filter: blur(4px);
}

.pvi-blog-tag--purple {
  background: rgba(246,240,252,.92);
  color: var(--purple);
  border: 1px solid rgba(90,42,138,.2);
  backdrop-filter: blur(4px);
}

/* Standalone tags (not overlaid on image) — inside card body or featured card */
.blog-hero-card__tags .pvi-blog-tag--gold,
.pvi-blog-card__body .pvi-blog-tag--gold {
  background: var(--cream-dark);
  backdrop-filter: none;
}

.blog-hero-card__tags .pvi-blog-tag--brown,
.pvi-blog-card__body .pvi-blog-tag--brown {
  background: var(--cream);
  backdrop-filter: none;
}

.blog-hero-card__tags .pvi-blog-tag--green,
.pvi-blog-card__body .pvi-blog-tag--green {
  background: var(--green-tint);
  backdrop-filter: none;
}

.blog-hero-card__tags .pvi-blog-tag--teal,
.pvi-blog-card__body .pvi-blog-tag--teal {
  background: var(--teal-tint);
  backdrop-filter: none;
}

.blog-hero-card__tags .pvi-blog-tag--purple,
.pvi-blog-card__body .pvi-blog-tag--purple {
  background: var(--purple-tint);
  backdrop-filter: none;
}

/* Also fix the old .blog-tag class used in index homepage cards */
.blog-tag {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: var(--r-full);
  font-size: 10px;
  font-weight: var(--fw-bold);
  letter-spacing: .05em;
  text-transform: uppercase;
  margin-bottom: .75rem;
  line-height: 1.4;
}

.blog-tag--gold   { background: var(--cream-dark); color: var(--gold-dark);  border: 1px solid rgba(160,128,58,.3); }
.blog-tag--brown  { background: var(--cream);      color: var(--brown);      border: 1px solid rgba(92,61,30,.2); }
.blog-tag--green  { background: var(--green-tint); color: var(--green);      border: 1px solid rgba(42,122,74,.2); }
.blog-tag--teal   { background: var(--teal-tint);  color: var(--teal);       border: 1px solid rgba(26,107,107,.2); }
.blog-tag--purple { background: var(--purple-tint);color: var(--purple);     border: 1px solid rgba(90,42,138,.2); }


/* ============================================================
   FIX ORDERING SECTION — Bootstrap col override + no word-wrap
   Masalah: Bootstrap col-sm-6 col-lg-3 terlalu sempit, teks
   di <li> wrap per karakter. Fix dengan min-width & font-size.
   ============================================================ */

/* Override Bootstrap gutter yang terlalu besar */
.ordering-section .row.ordering-grid {
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
}

/* Setiap kolom ordering */
.ordering-section .ordering-item {
  padding: 2rem 1.75rem;
  border-right: 1px solid rgba(255,255,255,.07);
}
.ordering-section [role="listitem"]:last-child .ordering-item {
  border-right: none;
}

/* Icon ukuran wajar */
.ordering-section .ordering-item__icon {
  font-size: 1.5rem !important;
  display: block;
  margin-bottom: 1rem;
  line-height: 1;
}

/* Title — tidak terlalu besar agar kolom cukup */
.ordering-section .ordering-item__title {
  font-family: var(--font-serif);
  font-size: 1rem !important;
  color: var(--cream);
  font-weight: var(--fw-bold);
  margin-bottom: .875rem;
  line-height: 1.3;
  font-style: italic;
}

.ordering-section .ordering-item__title em {
  display: block;
  font-style: normal;
  font-size: .65rem;
  color: rgba(255,255,255,.35);
  font-family: var(--font-sans);
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-top: .2rem;
  font-weight: 600;
}

/* LIST — ini kunci utama: paksa 1 baris per item */
.ordering-section .ordering-item ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: .45rem;
}

.ordering-section .ordering-item li {
  font-size: .8rem !important;   /* 12.8px — cukup kecil agar muat */
  color: rgba(255,255,255,.62);
  line-height: 1.5;
  padding-left: .875rem;
  position: relative;
  /* KUNCI: hanya wrap di spasi, bukan di tengah kata */
  word-break: keep-all;
  overflow-wrap: normal;
  hyphens: none;
  white-space: normal;
}

.ordering-section .ordering-item li::before {
  content: '·';
  position: absolute;
  left: 0;
  color: var(--gold);
  line-height: 1.5;
}

/* Responsive tweaks */
@media (max-width: 991.98px) {
  .ordering-section .ordering-item {
    border-right: none;
    border-bottom: 1px solid rgba(255,255,255,.07);
    padding: 1.5rem;
  }
  .ordering-section [role="listitem"]:last-child .ordering-item {
    border-bottom: none;
  }
  .ordering-section .ordering-item li {
    font-size: .875rem !important;
  }
}


/* ============================================================
   ORDERING GRID FINAL FIX — remove Bootstrap gutter & force
   proper column width dengan CSS grid override
   ============================================================ */

/* Hapus row g-4 gutter effect pada ordering grid */
.ordering-section .row.g-4 {
  --bs-gutter-x: 0 !important;
  --bs-gutter-y: 0 !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.ordering-section .row.g-4 > * {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

/* Paksa setiap col jadi lebar penuh dari CSS grid */
.ordering-section .row.ordering-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
}

/* Reset Bootstrap col behaviour */
.ordering-section .row.ordering-grid > [class*="col-"] {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
}

/* Divider antar kolom */
.ordering-section .row.ordering-grid > [class*="col-"] {
  border-right: 1px solid rgba(255,255,255,.07);
}
.ordering-section .row.ordering-grid > [class*="col-"]:last-child {
  border-right: none;
}

@media (max-width: 991.98px) {
  .ordering-section .row.ordering-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .ordering-section .row.ordering-grid > [class*="col-"] {
    border-right: none;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }
  .ordering-section .row.ordering-grid > [class*="col-"]:nth-child(odd) {
    border-right: 1px solid rgba(255,255,255,.07);
  }
}

@media (max-width: 575.98px) {
  .ordering-section .row.ordering-grid {
    grid-template-columns: 1fr !important;
  }
  .ordering-section .row.ordering-grid > [class*="col-"]:nth-child(odd) {
    border-right: none;
  }
}