/*
 * =====================================================================
 * Grand Vanilla ID — Responsive UI Refinement
 * Mobile (≤ 719px) & Tablet (720px–1024px) Breakpoints.
 * Desktop/Laptop (≥ 1025px) is STRICTLY FROZEN.
 * Source of Truth: docs/design-assets/Mobile and docs/design-assets/Tablet PDFs.
 * =====================================================================
 */

/* Hide tablet responsive breaks on desktop and mobile by default */
.gv-tablet-br {
  display: none;
}

/* Responsive hero title variants (desktop default) */
.gv-hero-title-tablet,
.gv-hero-title-mobile {
  display: none !important;
}
.gv-hero-title-desktop {
  display: inline !important;
}

/* =====================================================================
   1. GLOBAL CONTAINER & OVERFLOW (Mobile & Tablet)
   ===================================================================== */
@media (max-width: 1024px) {
  html,
  body {
    overflow-x: clip !important;
    max-width: 100vw !important;
    width: 100% !important;
  }
  #page,
  .site,
  .site-main {
    overflow-x: clip !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .gv-container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  img:not(.gv-header-logo-img):not(.gv-footer-logo-img) {
    max-width: 100% !important;
  }

  /* Brand Logo */
  .gv-header-logo-img,
  .gv-brand-logo img {
    height: 30px !important;
    max-height: 30px !important;
    width: auto !important;
    max-width: 140px !important;
    object-fit: contain !important;
    display: block !important;
  }

  .gv-footer-logo-img,
  .gv-footer-logo-wrap img {
    height: 34px !important;
    max-height: 34px !important;
    width: auto !important;
    max-width: 155px !important;
    object-fit: contain !important;
    display: block !important;
  }

  /* Hide Desktop-only Single Product Pill Filters */
  .gv-product-pills-nav {
    display: none !important;
  }

  /* Suppress desktop-only line breaks on tablet and mobile */
  .gv-desktop-br {
    display: none !important;
  }
}

/* Base Spacing for Mobile */
@media (max-width: 719px) {
  .gv-container {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }
  .gv-section {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }
}

/* Base Spacing for Tablet */
@media (min-width: 720px) and (max-width: 1024px) {
  .gv-container {
    padding-left: clamp(2.5rem, 5.5vw, 4rem) !important;
    padding-right: clamp(2rem, 4vw, 3rem) !important;
  }
  .gv-section {
    padding-top: 4.5rem !important;
    padding-bottom: 4.5rem !important;
  }
}

/* =====================================================================
   2. HEADER / NAVIGATION
   ===================================================================== */
@media (max-width: 1024px) {
  .gv-header {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    background-color: #faf8f5 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04) !important;
    overflow: visible !important;
  }

  #site-navigation {
    display: none !important;
  }
  .gv-nav-cta-wrap {
    display: none !important;
  }
  #gv-mobile-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
  }
  .gv-mobile-drawer {
    background-color: #faf8f5 !important;
    border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
  }
}

/* WordPress Admin Bar Sticky Header Offset (Desktop & Tablet: 32px, Mobile <= 782px: 46px) */
body.admin-bar .gv-header {
  top: 32px !important;
}

@media (max-width: 782px) {
  body.admin-bar .gv-header {
    top: 46px !important;
  }
}

@media (min-width: 1025px) {
  #site-navigation {
    display: flex !important;
  }
  .gv-nav-cta-wrap {
    display: flex !important;
  }
  #gv-mobile-btn {
    display: none !important;
  }

  .gv-header {
    padding: 0.72rem 0 !important;
  }

  .gv-header-logo-img {
    height: 37px !important;
    width: auto !important;
  }

  #site-navigation.gv-nav-menu {
    gap: 2.5rem !important;
  }

  #site-navigation.gv-nav-menu a,
  #site-navigation .gv-nav-link,
  .gv-nav-link {
    font-size: 0.96rem !important;
  }

  .gv-nav-cta-btn {
    font-size: 0.9rem !important;
    padding: 0.52rem 1.4rem !important;
  }

  .gv-hero {
    min-height: calc(100vh - 60px) !important;
    min-height: calc(100dvh - 60px) !important;
    display: flex !important;
    align-items: center !important;
    background-color: #7a573d !important;
    background-position: center right !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    padding: 4.85rem 0 4.25rem !important;
    box-sizing: border-box !important;
  }

  body.admin-bar .gv-hero {
    min-height: calc(100vh - 60px - 32px) !important;
    min-height: calc(100dvh - 60px - 32px) !important;
  }

  /* Widen Desktop Container & Balance Left Edge Padding */
  .gv-container {
    max-width: 1440px !important;
    padding-left: clamp(28px, 2.5vw, 36px) !important;
    padding-right: clamp(28px, 2.5vw, 36px) !important;
  }

  @media (min-width: 1366px) {
    .gv-container {
      max-width: 1480px !important;
      padding-left: clamp(32px, 2.6vw, 38px) !important;
      padding-right: clamp(32px, 2.6vw, 38px) !important;
    }
  }

  @media (min-width: 1600px) {
    .gv-container {
      max-width: 1580px !important;
      padding-left: 44px !important;
      padding-right: 44px !important;
    }
  }

  /* =====================================================================
     Desktop Hero Layout & Typography (Wide Grid Match to 110% Zoom Scale)
     Strictly isolated to Desktop (>= 1025px) - Does NOT touch Tablet/Mobile
     ===================================================================== */
  .gv-hero-content-wrap {
    max-width: 820px !important;
    width: 100% !important;
    transform: none !important;
  }

  @media (min-width: 1366px) {
    .gv-hero-content-wrap {
      max-width: 850px !important;
      transform: none !important;
    }
  }

  @media (min-width: 1600px) {
    .gv-hero-content-wrap {
      max-width: 880px !important;
      transform: none !important;
    }
  }

  .gv-hero-title-tablet,
  .gv-hero-title-mobile {
    display: none !important;
  }
  .gv-hero-title-desktop {
    display: inline !important;
  }

  .gv-hero-content-wrap h1,
  .gv-hero-headline,
  .gv-hero h1 {
    font-family: var(--font-heading, "Jost", sans-serif) !important;
    font-size: 71.5px !important;
    font-weight: 500 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    color: #ffffff !important;
    max-width: 780px !important;
    margin-bottom: 1.5rem !important;
    text-transform: none !important;
    text-shadow: none !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  .gv-hero-content-wrap p,
  .gv-hero-subtitle,
  .gv-hero p {
    font-family: var(--font-body, "Lato", sans-serif) !important;
    font-size: 23.5px !important;
    font-weight: 400 !important;
    line-height: 1.36 !important;
    letter-spacing: 0 !important;
    color: rgba(255, 255, 255, 0.95) !important;
    max-width: min(580px, 42ch) !important;
    margin-bottom: 2.6rem !important;
    text-shadow: none !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  .gv-hero-btn-group,
  .gv-hero .gv-hero-btn-group,
  .gv-hero > .gv-container > div > div[style*="display: flex; gap: 1rem"] {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    align-items: center !important;
    margin-bottom: 4.85rem !important;
    width: auto !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    justify-content: flex-start !important;
  }

  .gv-hero-btn-primary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 55px !important;
    padding: 15px 31px !important;
    background-color: #363e19 !important;
    border: 1px solid #363e19 !important;
    color: #ffffff !important;
    font-family: var(--font-heading, "Jost", sans-serif) !important;
    font-size: 1.08rem !important;
    font-weight: 500 !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2) !important;
    transition: all 0.25s ease !important;
    white-space: nowrap !important;
    width: auto !important;
  }

  .gv-hero-btn-primary:hover {
    background-color: #0a0804 !important;
    border-color: #0a0804 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 22px rgba(10, 8, 4, 0.28) !important;
    color: #ffffff !important;
  }

  .gv-hero-btn-outline {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 55px !important;
    padding: 15px 31px !important;
    background: transparent !important;
    border: 1px solid #ffffff !important;
    color: #ffffff !important;
    font-family: var(--font-heading, "Jost", sans-serif) !important;
    font-size: 1.08rem !important;
    font-weight: 500 !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    transition: all 0.25s ease !important;
    white-space: nowrap !important;
    width: auto !important;
  }

  .gv-hero-btn-outline:hover {
    background-color: #ffffff !important;
    background: #ffffff !important;
    border-color: #ffffff !important;
    transform: translateY(-2px) !important;
    color: #363e19 !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22) !important;
  }

  .gv-trusted-badge {
    display: inline-flex !important;
    flex-direction: column !important;
    width: 435px !important;
    max-width: 100% !important;
    background: #0e110a !important;
    border-radius: 8px !important;
    padding: 1.25rem 2rem !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    box-sizing: border-box !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .gv-trusted-badge > span:first-child {
    font-size: 0.825rem !important;
    margin-bottom: 0.55rem !important;
  }

  .gv-trusted-badge span[style*="font-size: 2.25rem"],
  .gv-trusted-badge div > span {
    font-size: 2.5rem !important;
  }

  .gv-trusted-badge div[style*="border-radius: 50%"] {
    width: 33px !important;
    height: 33px !important;
    margin-left: -9px !important;
  }

  .gv-trusted-badge div[style*="border-radius: 50%"]:first-child {
    margin-left: 0 !important;
  }

  .gv-trusted-badge div[style*="border-radius: 50%"] svg {
    width: 33px !important;
    height: 33px !important;
  }

  .gv-trusted-badge div[style*="18+"] {
    width: 33px !important;
    height: 33px !important;
    font-size: 0.75rem !important;
  }

  /* Desktop Featured Product Cards Title Tuning */
  .gv-product-card .gv-card-title {
    max-width: 100% !important;
  }

  .gv-product-card.is-active .gv-card-title {
    max-width: 100% !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    font-size: clamp(1.15rem, 1.3vw, 1.28rem) !important;
  }

  .gv-product-card.is-active .gv-card-desc {
    max-width: 440px !important;
  }

  /* Global Floating WhatsApp Button Scaled for Desktop Prominence */
  .gv-floating-wa-wrap {
    bottom: 30px !important;
    right: 30px !important;
  }

  .gv-floating-wa-btn {
    height: 58px !important;
    min-width: 58px !important;
    padding: 0 22px 0 16px !important;
    border-radius: 50px !important;
    box-shadow: 0 7px 22px rgba(37, 211, 102, 0.4), 0 2px 6px rgba(0, 0, 0, 0.12) !important;
  }

  .gv-floating-wa-btn:hover {
    transform: translateY(-3px) scale(1.03) !important;
    box-shadow: 0 10px 28px rgba(37, 211, 102, 0.5), 0 3px 8px rgba(0, 0, 0, 0.15) !important;
  }

  .gv-wa-icon {
    width: 32px !important;
    height: 32px !important;
  }

  .gv-wa-icon svg {
    width: 30px !important;
    height: 30px !important;
  }

  .gv-wa-label {
    font-size: 0.975rem !important;
    font-weight: 600 !important;
    margin-left: 10px !important;
    letter-spacing: 0.015em !important;
  }

  .gv-wa-pulse {
    inset: -5px !important;
    border-radius: 50px !important;
  }

  /* =====================================================================
     About Us Section Desktop Polish (Balanced Right Column Alignment)
     Shifts text, feature boxes, and button to the right without touching the photo
     ===================================================================== */
  .gv-about-content-card {
    padding-left: clamp(2rem, 4.2vw, 4.5rem) !important;
    padding-right: 1.5rem !important;
    box-sizing: border-box !important;
  }

  .gv-about-content-card > div[style*="z-index: 1"] {
    max-width: 580px !important;
    width: 100% !important;
  }

  .gv-about-content-card p,
  .gv-about-content-card .gv-about-p-secondary,
  .gv-about-features-grid {
    max-width: 100% !important;
  }

  .gv-about-learn-btn {
    margin-top: 0.25rem !important;
  }

  /* Value Proposition Square Cards (1:1 Aspect Ratio) */
  .gv-vp-cards-grid,
  .gv-partner-cards-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.5rem !important;
  }

  .gv-vp-card,
  .gv-partner-card {
    aspect-ratio: 1 / 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }
}

/* =====================================================================
   3. INNER PAGES HERO SECTION (#knowUs, #ourProducts, etc.)
   ===================================================================== */
@media (max-width: 719px) {
  .gv-hero-page {
    padding: 4.5rem 1.25rem !important;
    min-height: 220px !important;
  }
  .gv-hero-tag {
    font-size: 2rem !important;
    margin-bottom: 0.5rem !important;
  }
  .gv-hero-subtag {
    font-size: 0.9375rem !important;
  }
}

@media (min-width: 720px) and (max-width: 1024px) {
  .gv-hero-page {
    padding: 5.5rem 2rem !important;
    min-height: 250px !important;
  }
  .gv-hero-tag {
    font-size: 2.35rem !important;
  }
  .gv-hero-subtag {
    font-size: 1rem !important;
  }
}

/* =====================================================================
   4. LANDING PAGE — HERO SECTION
   ===================================================================== */
@media (max-width: 719px) {
  .gv-hero {
    height: calc(100vh - 56px) !important;
    height: calc(100dvh - 56px) !important;
    height: calc(100svh - 56px) !important;
    min-height: calc(100vh - 56px) !important;
    min-height: calc(100dvh - 56px) !important;
    min-height: calc(100svh - 56px) !important;
    max-height: calc(100svh - 56px) !important;
    padding: 0 0 1.25rem !important;
    background-size: cover !important;
    background-position: 48% 30% !important;
    background-repeat: no-repeat !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    position: relative !important;
  }

  body.admin-bar .gv-hero {
    height: calc(100svh - 56px - 46px) !important;
    min-height: calc(100svh - 56px - 46px) !important;
    max-height: calc(100svh - 56px - 46px) !important;
  }

  @media (max-height: 550px) {
    .gv-hero {
      height: auto !important;
      min-height: calc(100svh - 56px) !important;
      max-height: none !important;
      overflow-y: auto !important;
    }
  }

  .gv-hero > div:first-child {
    background: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.42) 0%,
      rgba(0, 0, 0, 0.15) 35%,
      rgba(0, 0, 0, 0.18) 65%,
      rgba(0, 0, 0, 0.52) 100%
    ) !important;
  }

  .gv-hero > .gv-container {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    height: 100% !important;
    width: 100% !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0 1.25rem !important;
    box-sizing: border-box !important;
  }

  .gv-hero-content-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    flex: 1 1 auto !important;
    height: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding-top: clamp(6.25rem, 15.5vh, 8.25rem) !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
  }

  .gv-hero-title-tablet,
  .gv-hero-title-desktop {
    display: none !important;
  }
  .gv-hero-title-mobile {
    display: inline !important;
  }

  .gv-hero h1 {
    font-family: var(--font-heading, "Jost", sans-serif) !important;
    text-align: center !important;
    font-size: clamp(1.75rem, 5.8vw, 1.95rem) !important;
    text-transform: uppercase !important;
    letter-spacing: -0.01em !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    margin-top: 0 !important;
    margin-bottom: 1.15rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 365px !important;
    width: 100% !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.4) !important;
  }

  .gv-hero p {
    font-family: var(--font-body, "Lato", sans-serif) !important;
    text-align: center !important;
    font-size: clamp(0.9375rem, 3.2vw, 1rem) !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    margin-top: 0 !important;
    margin-bottom: 1.6rem !important;
    max-width: 340px !important;
    width: 92% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    color: rgba(255, 255, 255, 0.92) !important;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.35) !important;
  }

  .gv-hero-btn-group,
  .gv-hero > .gv-container > div > div[style*="display: flex; gap: 1rem"] {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0.75rem !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    width: 100% !important;
    max-width: 345px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: center !important;
  }

  .gv-hero-btn-primary,
  .gv-hero-btn-outline {
    width: 100% !important;
    height: 46px !important;
    justify-content: center !important;
    align-items: center !important;
    display: inline-flex !important;
    text-align: center !important;
    padding: 0 0.75rem !important;
    font-size: 0.78125rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    border-radius: 4px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2) !important;
  }

  .gv-hero-btn-primary {
    background-color: #363e19 !important;
    border: 1px solid #363e19 !important;
    color: #ffffff !important;
  }

  .gv-hero-btn-outline {
    background: rgba(0, 0, 0, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.8) !important;
    color: #ffffff !important;
  }

  .gv-trusted-badge {
    width: 100% !important;
    max-width: 360px !important;
    padding: 0.85rem 1.25rem !important;
    margin-top: auto !important;
    margin-bottom: 1.25rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    background: #0e110a !important;
    border-radius: 8px !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.4) !important;
    box-sizing: border-box !important;
  }

  .gv-trusted-badge span[style*="font-size: 2.25rem"] {
    font-size: 1.75rem !important;
  }
}

/* =====================================================================
   4B. TALL MOBILE VIEWPORTS (e.g. 484×896, 430×932, 412×915)
   Balances vertical hierarchy, typography, and spaces between CTA & badge
   ===================================================================== */
@media (max-width: 767px) and (min-height: 800px) {
  .gv-hero-content-wrap {
    padding-top: clamp(8.5rem, 16.5vh, 10.25rem) !important;
  }

  .gv-hero h1 {
    font-size: clamp(2.1rem, 5.6vw, 2.45rem) !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .gv-hero p {
    font-size: clamp(1.05rem, 0.95rem + 0.25vh, 1.125rem) !important;
    line-height: 1.6 !important;
    max-width: 440px !important;
    margin-bottom: 2rem !important;
  }

  .gv-hero-btn-group,
  .gv-hero > .gv-container > div > div[style*="display: flex; gap: 1rem"] {
    max-width: 420px !important;
    gap: 0.85rem !important;
  }

  .gv-hero-btn-primary,
  .gv-hero-btn-outline {
    height: 52px !important;
    font-size: 0.875rem !important;
    padding: 0 1.25rem !important;
  }

  .gv-trusted-badge {
    max-width: 395px !important;
    padding: 1rem 1.4rem !important;
    margin-bottom: 1.75rem !important;
  }

  .gv-trusted-badge span[style*="font-size: 2.25rem"] {
    font-size: 1.95rem !important;
  }
}

@media (min-width: 720px) and (max-width: 1024px) {
  .gv-tablet-br {
    display: block !important;
  }

  .gv-hero-title-desktop,
  .gv-hero-title-mobile {
    display: none !important;
  }
  .gv-hero-title-tablet {
    display: inline !important;
  }

  .gv-hero {
    min-height: calc(100vh - 58px) !important;
    min-height: calc(100dvh - 58px) !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    padding-top: clamp(7.5rem, 13vw, 9.5rem) !important;
    padding-bottom: clamp(2.5rem, 4vw, 3.5rem) !important;
    box-sizing: border-box !important;
    background-position: 70% center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Gentle subtle ambient tint matching user design photo */
  .gv-hero > div:first-child {
    display: block !important;
    background: linear-gradient(
      to right,
      rgba(0, 0, 0, 0.28) 0%,
      rgba(0, 0, 0, 0.08) 50%,
      transparent 70%
    ) !important;
  }

  body.admin-bar .gv-hero {
    min-height: calc(100vh - 58px - 32px) !important;
    min-height: calc(100dvh - 58px - 32px) !important;
  }

  .gv-hero > .gv-container {
    width: 100% !important;
    max-width: 834px !important;
    padding-left: clamp(24px, 4.7vw, 40px) !important;
    padding-right: clamp(24px, 4.7vw, 40px) !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
  }

  .gv-hero-content-wrap {
    max-width: 720px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    justify-content: flex-start !important;
  }

  .gv-hero h1 {
    font-family: var(--font-heading, "Jost", sans-serif) !important;
    font-size: clamp(56px, 7.8vw, 70px) !important;
    font-weight: 500 !important;
    line-height: 1.14 !important;
    letter-spacing: -0.02em !important;
    color: #ffffff !important;
    max-width: 720px !important;
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: clamp(1.5rem, 2.8vw, 2rem) !important;
    text-transform: none !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.25) !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  .gv-hero p {
    font-family: var(--font-body, "Lato", sans-serif) !important;
    font-size: clamp(21px, 2.7vw, 24px) !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
    color: rgba(255, 255, 255, 0.92) !important;
    max-width: 680px !important;
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: clamp(2.5rem, 4.5vw, 3.25rem) !important;
    text-transform: none !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.2) !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }

  .gv-hero-btn-group,
  .gv-hero > .gv-container > div > div[style*="display: flex; gap: 1rem"] {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: clamp(7rem, 13vw, 10rem) !important;
    width: auto !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    justify-content: flex-start !important;
  }

  .gv-hero-btn-primary,
  .gv-hero-btn-outline {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: 52px !important;
    padding: 14px 30px !important;
    font-family: var(--font-heading, "Jost", sans-serif) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    transition: all 0.25s ease !important;
  }

  .gv-hero-btn-primary {
    background-color: #363e19 !important;
    border: 1px solid #363e19 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18) !important;
  }

  .gv-hero-btn-primary:hover {
    background-color: #0a0804 !important;
    border-color: #0a0804 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
  }

  .gv-hero-btn-outline {
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    color: #ffffff !important;
  }

  .gv-hero-btn-outline:hover {
    background-color: #ffffff !important;
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: #363e19 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22) !important;
  }

  .gv-trusted-badge {
    width: 395px !important;
    max-width: 100% !important;
    background: #0e110a !important;
    border-radius: 8px !important;
    padding: 1.25rem 1.85rem !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-sizing: border-box !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .gv-trusted-badge span:first-child {
    display: block !important;
    font-size: 0.75rem !important;
    line-height: 1.35 !important;
    text-transform: none !important;
    letter-spacing: 0.01em !important;
    margin-bottom: 0.45rem !important;
    color: #d1d5db !important;
  }

  .gv-trusted-badge span[style*="font-size: 2.25rem"] {
    font-size: 2.25rem !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    color: #ffffff !important;
  }

  /* Prevent any white gap between hero and subsequent section */
  .gv-hero + section,
  .gv-hero + .gv-section {
    margin-top: 0 !important;
  }
}

@media (min-width: 720px) and (max-width: 782px) {
  body.admin-bar .gv-hero {
    min-height: calc(100vh - 51px - 46px) !important;
    min-height: calc(100dvh - 51px - 46px) !important;
  }
}

/* =====================================================================
   5. ABOUT US SECTION (Landing Page & About Page Overview)
   Design Alignment: Dark olive container (#363E19) with flower watermark,
   section indicator 'ABOUT US', clean paragraph, 4 dark feature rows
   with left accent bar, and 'LEARN MORE →' outline button.
   ===================================================================== */
@media (max-width: 1024px) {
  /* Hide duplicate second paragraph on mobile and tablet */
  .gv-about-p-secondary,
  .gv-grid-split-about > div:last-child p:nth-of-type(2),
  .gv-about-overview-grid > div:last-child p:nth-of-type(2) {
    display: none !important;
  }

  /* Hide duplicate h2 heading on mobile & tablet since paragraph already begins with "Grand Vanilla Indonesia..." */
  .gv-about-heading,
  .gv-grid-split-about > div:last-child h2,
  .gv-about-overview-grid > div:last-child h2 {
    display: none !important;
  }

  .gv-about-content-card,
  .gv-grid-split-about > div:last-child,
  .gv-about-overview-grid > div:last-child {
    background-color: #363e19 !important;
    border-radius: 12px !important;
    padding: 2.25rem 1.65rem !important;
    color: #ffffff !important;
    box-sizing: border-box !important;
    position: relative !important;
    overflow: hidden !important;
  }

  /* Orchid flower watermark in top right */
  .gv-about-watermark,
  .gv-grid-split-about img[aria-hidden="true"],
  .gv-about-overview-grid img[aria-hidden="true"] {
    display: block !important;
    position: absolute !important;
    top: -15px !important;
    right: -15px !important;
    width: 145px !important;
    height: auto !important;
    opacity: 0.18 !important;
    pointer-events: none !important;
    z-index: 0 !important;
    transform: rotate(15deg) !important;
  }

  /* Section Tag: Line + ABOUT US */
  .gv-about-tagline,
  .gv-grid-split-about
    > div:last-child
    div[style*="color: #363E19; font-size: 0.9375rem"],
  .gv-about-overview-grid
    > div:last-child
    div[style*="color: #363E19; font-size: 0.875rem"] {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 0.8125rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 1.25rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    font-weight: 500 !important;
  }

  .gv-about-tagline span,
  .gv-grid-split-about
    > div:last-child
    div[style*="color: #363E19; font-size: 0.9375rem"]
    span,
  .gv-about-overview-grid
    > div:last-child
    div[style*="color: #363E19; font-size: 0.875rem"]
    span {
    background: rgba(255, 255, 255, 0.6) !important;
    width: 32px !important;
    height: 2px !important;
    display: inline-block !important;
  }

  /* Main Paragraph */
  .gv-grid-split-about > div:last-child p,
  .gv-about-overview-grid > div:last-child p {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 0.875rem !important;
    line-height: 1.65 !important;
    margin-bottom: 1.75rem !important;
  }

  /* 4 Feature Boxes: 1 Single Column with dark fill and left accent line */
  .gv-about-features-grid,
  .gv-grid-split-about
    > div:last-child
    div[style*="display: grid; grid-template-columns: repeat(2, 1fr)"],
  .gv-about-overview-grid
    > div:last-child
    div[style*="display: grid; grid-template-columns: repeat(2, 1fr)"] {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.5rem !important;
    margin-bottom: 2rem !important;
    width: 100% !important;
  }

  .gv-about-feature-box,
  .gv-grid-split-about
    > div:last-child
    div[style*="display: grid; grid-template-columns: repeat(2, 1fr)"]
    > div,
  .gv-about-overview-grid
    > div:last-child
    div[style*="display: grid; grid-template-columns: repeat(2, 1fr)"]
    > div {
    background-color: #272f12 !important;
    border: none !important;
    border-left: 2px solid rgba(255, 255, 255, 0.65) !important;
    color: rgba(255, 255, 255, 0.92) !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    padding: 0.7rem 1rem !important;
    border-radius: 2px !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }

  /* Learn More CTA Button */
  .gv-about-learn-btn,
  .gv-grid-split-about > div:last-child a,
  .gv-about-overview-grid > div:last-child a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.45rem !important;
    border: 1px solid rgba(255, 255, 255, 0.55) !important;
    color: #ffffff !important;
    background: transparent !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 0.65rem 1.4rem !important;
    border-radius: 2px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
  }

  .gv-about-learn-btn:hover,
  .gv-grid-split-about > div:last-child a:hover,
  .gv-about-overview-grid > div:last-child a:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: #ffffff !important;
  }

  /* Hide OEM section on homepage (not present in Mobile/Tablet PDF) */
  .gv-grid-split-oem,
  section:has(.gv-grid-split-oem) {
    display: none !important;
  }
}

@media (max-width: 719px) {
  /* Hide duplicate h2 heading on mobile since paragraph already begins with "Grand Vanilla Indonesia..." */
  .gv-grid-split-about > div:last-child h2,
  .gv-about-overview-grid > div:last-child h2 {
    display: none !important;
  }

  .gv-grid-split-about,
  .gv-about-overview-grid {
    grid-template-columns: 1fr !important;
    gap: 1.25rem !important;
  }

  .gv-about-rustic-img,
  .gv-grid-split-about img[style*="max-height: 540px"],
  .gv-about-overview-grid img {
    height: 600px !important;
    min-height: 540px !important;
    max-height: 680px !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 12px !important;
    width: 100% !important;
    display: block !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06) !important;
  }
}

@media (min-width: 720px) and (max-width: 1024px) {
  .gv-grid-split-about,
  .gv-about-overview-grid {
    display: grid !important;
    grid-template-columns: 1fr 1.15fr !important;
    gap: 2rem !important;
    align-items: stretch !important;
  }

  .gv-grid-split-about img[style*="max-height: 540px"],
  .gv-about-overview-grid img {
    height: 100% !important;
    max-height: 100% !important;
    min-height: 520px !important;
    object-fit: cover !important;
    border-radius: 12px !important;
    width: 100% !important;
  }

  .gv-about-content-card,
  .gv-grid-split-about > div:last-child,
  .gv-about-overview-grid > div:last-child {
    background-color: #363e19 !important;
    border-radius: 12px !important;
    padding: 2.75rem 2.25rem !important;
  }

  .gv-about-content-card p,
  .gv-grid-split-about > div:last-child p,
  .gv-about-overview-grid > div:last-child p {
    font-size: 0.9375rem !important;
    line-height: 1.65 !important;
    color: #ffffff !important;
    margin-bottom: 2rem !important;
  }

  .gv-about-features-grid,
  .gv-grid-split-about
    > div:last-child
    div[style*="display: grid; grid-template-columns: repeat(2, 1fr)"],
  .gv-about-overview-grid
    > div:last-child
    div[style*="display: grid; grid-template-columns: repeat(2, 1fr)"] {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.65rem !important;
    margin-bottom: 2.25rem !important;
  }

  .gv-about-feature-box,
  .gv-grid-split-about
    > div:last-child
    div[style*="display: grid; grid-template-columns: repeat(2, 1fr)"]
    > div,
  .gv-about-overview-grid
    > div:last-child
    div[style*="display: grid; grid-template-columns: repeat(2, 1fr)"]
    > div {
    background-color: #272f12 !important;
    border: none !important;
    border-left: 2.5px solid rgba(255, 255, 255, 0.75) !important;
    color: #ffffff !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    padding: 0.85rem 1.25rem !important;
    text-align: left !important;
    border-radius: 2px !important;
  }

  .gv-about-learn-btn,
  .gv-grid-split-about > div:last-child a,
  .gv-about-overview-grid > div:last-child a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 1.5rem !important;
    border: 1.5px solid #ffffff !important;
    color: #ffffff !important;
    background: transparent !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 0.75rem 1.75rem !important;
  }

  .gv-about-learn-btn svg,
  .gv-grid-split-about > div:last-child a svg,
  .gv-about-overview-grid > div:last-child a svg {
    stroke: #ffffff !important;
  }
}

/* =====================================================================
   6. PRODUCT CARDS COMPONENT (Homepage & Products Page)
   Desktop, Tablet, and Mobile Unified Appearance & Interactive Animation:
   - Horizontal flex row layout across all viewports.
   - All 3 cards share light sage background #BDC4B8 (NO dark green active card).
   - Badges (#1, #2, #3) are dark olive #363E19 with white text.
   - Active card: expanded (flex: 1.85), showing product image, title, desc, and "Detail —" button.
   - Collapsed cards: narrower (flex: 1), showing product image, title, and square "→" button.
   - Smooth 0.6s cubic-bezier flex expansion animation on click/tap across all viewports.
   ===================================================================== */
@media (min-width: 720px) and (max-width: 1024px) {
  html body .gv-products-cards-grid {
    display: flex !important;
    flex-direction: row !important;
    gap: 0.85rem !important;
    align-items: stretch !important;
    width: 100% !important;
    margin-bottom: 3.5rem !important;
  }

  html body .gv-product-card {
    height: 390px !important;
    min-height: 390px !important;
    max-height: none !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
    position: relative !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    background-color: #bdc4b8 !important;
    box-shadow: none !important;
    padding: 1.25rem 1rem 1.25rem !important;
    transition:
      flex 0.65s cubic-bezier(0.16, 1, 0.3, 1),
      background-color 0.35s ease,
      padding 0.65s cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: flex !important;
    transform: translateZ(0) !important;
    -webkit-transform: translateZ(0) !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
  }

  html body .gv-product-card.is-active {
    flex: 1.65 1 0px !important;
    background-color: #bdc4b8 !important;
    padding: 1.25rem 1.25rem 1.25rem !important;
    cursor: default !important;
  }

  html body .gv-product-card.is-collapsed {
    flex: 1 1 0px !important;
    background-color: #bdc4b8 !important;
    padding: 1.25rem 0.95rem 1.25rem !important;
    cursor: pointer !important;
  }

  html body .gv-product-card.is-collapsed:hover {
    background-color: #b5bcb0 !important;
  }

  html body .gv-product-card .gv-card-badge {
    position: absolute !important;
    top: 1.1rem !important;
    left: 1.1rem !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 4px !important;
    background-color: #363e19 !important;
    color: #ffffff !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    z-index: 3 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
    line-height: 1 !important;
  }

  html body .gv-product-card .gv-card-img-wrap {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0.35rem 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  html body .gv-product-card .gv-card-img {
    width: auto !important;
    height: auto !important;
    max-width: 92% !important;
    object-fit: contain !important;
    filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.06)) !important;
    transition:
      transform 0.65s cubic-bezier(0.16, 1, 0.3, 1),
      max-height 0.65s cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform, max-height !important;
    transform: translateZ(0) !important;
    -webkit-transform: translateZ(0) !important;
  }

  html body .gv-product-card.is-active .gv-card-img {
    max-height: 195px !important;
    transform: translate3d(0, 0, 0) !important;
  }

  html body .gv-product-card.is-collapsed .gv-card-img {
    max-height: 160px !important;
    transform: translate3d(0, 0, 0) !important;
  }

  html body .gv-product-card .gv-card-bottom {
    position: static !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
    gap: 0.5rem !important;
    width: 100% !important;
    max-width: 100% !important;
    flex-shrink: 0 !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateZ(0) !important;
    -webkit-transform: translateZ(0) !important;
    pointer-events: auto !important;
  }

  html body .gv-product-card .gv-card-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    gap: 0.25rem !important;
    transform: translateZ(0) !important;
    -webkit-transform: translateZ(0) !important;
  }

  html body .gv-product-card .gv-card-title {
    font-family: var(--font-heading, "Jost", sans-serif) !important;
    font-weight: 600 !important;
    color: #363e19 !important;
    margin: 0 !important;
    line-height: 1.22 !important;
    font-size: 1.08rem !important;
    max-width: 250px !important;
    transition: color 0.4s ease !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 0 !important;
    transform: translateZ(0) !important;
    -webkit-transform: translateZ(0) !important;
  }

  html body .gv-product-card.is-active .gv-card-title {
    color: #262c11 !important;
    min-height: 0 !important;
  }

  html body .gv-product-card.is-collapsed .gv-card-title {
    color: #363e19 !important;
    min-height: 0 !important;
  }

  html body .gv-product-card .gv-card-desc {
    color: #4a5239 !important;
    margin: 0 !important;
    font-size: 0.75rem !important;
    line-height: 1.38 !important;
    max-width: 280px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    box-sizing: border-box !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    transform: translate3d(0, 3px, 0) !important;
    opacity: 0.65 !important;
    transition:
      opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1),
      transform 0.45s cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: opacity, transform !important;
  }

  html body .gv-product-card.is-active .gv-card-desc {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
  }

  html body .gv-product-card.is-collapsed .gv-card-desc {
    opacity: 0.65 !important;
    transform: translate3d(0, 3px, 0) !important;
  }

  html body .gv-product-card .gv-card-actions-slot {
    position: relative !important;
    height: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-shrink: 0 !important;
    overflow: visible !important;
    margin-left: 0.25rem !important;
    transition:
      width 0.65s cubic-bezier(0.16, 1, 0.3, 1),
      min-width 0.65s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  html body .gv-product-card.is-collapsed .gv-card-actions-slot {
    min-width: 30px !important;
    width: 30px !important;
  }

  html body .gv-product-card.is-active .gv-card-actions-slot {
    min-width: 90px !important;
    width: 90px !important;
  }

  html body .gv-product-card .gv-card-btn-detail {
    position: absolute !important;
    right: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translate3d(6px, 0, 0) !important;
    transition:
      opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1),
      transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
      visibility 0.35s,
      background-color 0.2s ease,
      color 0.2s ease !important;
    pointer-events: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
    border: 1px solid #363e19 !important;
    color: #363e19 !important;
    background: transparent !important;
    font-family: var(--font-heading, "Jost", sans-serif) !important;
    font-size: 0.78125rem !important;
    font-weight: 500 !important;
    padding: 0.4rem 0.9rem !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }

  html body .gv-product-card .gv-card-btn-arrow {
    position: absolute !important;
    right: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate3d(0, 0, 0) !important;
    transition:
      opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1),
      transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
      visibility 0.35s,
      background-color 0.2s ease,
      color 0.2s ease !important;
    pointer-events: auto !important;
    width: 30px !important;
    height: 30px !important;
    border: 1px solid #363e19 !important;
    color: #363e19 !important;
    background: transparent !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.875rem !important;
    line-height: 1 !important;
  }

  html body .gv-product-card.is-active .gv-card-btn-detail {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate3d(0, 0, 0) !important;
    pointer-events: auto !important;
  }

  html body .gv-product-card.is-active .gv-card-btn-arrow {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translate3d(-6px, 0, 0) !important;
    pointer-events: none !important;
  }

  html body .gv-product-card.is-collapsed .gv-card-btn-detail {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translate3d(6px, 0, 0) !important;
    pointer-events: none !important;
  }

  html body .gv-product-card.is-collapsed .gv-card-btn-arrow {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate3d(0, 0, 0) !important;
    pointer-events: auto !important;
  }

  html body .gv-card-btn-detail:hover {
    background-color: #363e19 !important;
    color: #ffffff !important;
  }

  html body .gv-card-btn-arrow:hover {
    background-color: #363e19 !important;
    color: #ffffff !important;
  }
}

@media (max-width: 719px) {
  /* Products Grid Mobile: Horizontal side-by-side matching Desktop layout & proportions */
  html body .gv-products-cards-grid {
    display: flex !important;
    flex-direction: row !important;
    gap: 0.35rem !important;
    width: calc(100% + 1.4rem) !important;
    max-width: calc(100% + 1.4rem) !important;
    margin-left: -0.7rem !important;
    margin-right: -0.7rem !important;
    margin-bottom: 2.25rem !important;
    overflow: visible !important;
    align-items: stretch !important;
  }

  /* Base Product Card Mobile: Proportional Boxy / Ngotak (185px height, ~195px active width = 1.05:1 ratio, strictly NOT panjang/tall) */
  html body .gv-product-card {
    background-color: #bdc4b8 !important;
    border-radius: 11px !important;
    height: 185px !important;
    min-height: 185px !important;
    max-height: 185px !important;
    position: relative !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    min-width: 0 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04) !important;
    transition:
      flex 0.45s cubic-bezier(0.4, 0, 0.2, 1),
      background-color 0.3s ease,
      padding 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important;
    will-change: flex;
  }

  html body .gv-product-card.is-active {
    flex: 1.95 1 0px !important;
    padding: 0.6rem 0.6rem 0.6rem 0.6rem !important;
    cursor: default !important;
  }

  html body .gv-product-card.is-collapsed {
    flex: 1 1 0px !important;
    padding: 0.6rem 0.35rem 0.55rem 0.35rem !important;
    cursor: pointer !important;
  }

  html body .gv-product-card.is-collapsed:hover {
    background-color: #b5bcb0 !important;
  }

  /* Badge (#1, #2, #3): Compact dark olive box */
  html body .gv-product-card .gv-card-badge {
    position: absolute !important;
    top: 0.4rem !important;
    left: 0.4rem !important;
    background-color: #363e19 !important;
    color: #ffffff !important;
    font-size: 0.62rem !important;
    font-weight: 500 !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 3px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 3 !important;
    line-height: 1 !important;
    border: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  /* Product Image: Cleanly fitted without overflow and harmonized across cards */
  html body .gv-product-card .gv-card-img-wrap {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding-top: 0.4rem !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  html body .gv-product-card .gv-card-img {
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    object-fit: contain !important;
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.06)) !important;
    transition:
      transform 0.45s cubic-bezier(0.4, 0, 0.2, 1),
      max-height 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important;
    will-change: transform, max-height;
  }

  html body .gv-product-card.is-active .gv-card-img {
    max-height: 112px !important;
    transform: translate3d(0, 0, 0) !important;
  }

  /* Optical centering for Card #2 (active): bowl shifted left in raw PNG, nudge right */
  html body .gv-product-card[data-card-index="2"].is-active .gv-card-img {
    max-height: 104px !important;
    transform: translate3d(6px, 0, 0) !important;
  }

  /* Harmonized smooth sizing for collapsed cards: large visual presence matching active curve */
  html body .gv-product-card.is-collapsed .gv-card-img {
    max-height: 88px !important;
    transform: translate3d(0, 0, 0) !important;
  }

  /* Card #1 (Vanilla Beans) collapsed: large and clear */
  html body .gv-product-card[data-card-index="1"].is-collapsed .gv-card-img {
    max-height: 88px !important;
    transform: translate3d(0, 0, 0) !important;
  }

  /* Card #2 (Vanilla Powder) collapsed: bowl centered cleanly without edge clipping */
  html body .gv-product-card[data-card-index="2"].is-collapsed .gv-card-img {
    max-height: 86px !important;
    transform: translate3d(14px, 0, 0) !important;
  }

  /* Card #3 (Vanilla Extract) collapsed: bottle & beans scaled up boldly and aligned baseline */
  html body .gv-product-card[data-card-index="3"].is-collapsed .gv-card-img {
    max-height: 90px !important;
    transform: translate3d(0, 0, 0) !important;
  }

  /* Bottom Content: Title, Description, and Actions */
  html body .gv-product-card .gv-card-bottom {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
    gap: 0.22rem !important;
    width: 100% !important;
    flex-shrink: 0 !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
  }

  html body .gv-product-card .gv-card-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  html body .gv-product-card .gv-card-title {
    font-family: var(--font-heading, "Jost", sans-serif) !important;
    font-weight: 500 !important;
    color: #363e19 !important;
    margin: 0 0 0.12rem 0 !important;
    line-height: 1.15 !important;
    min-height: 0 !important;
    white-space: normal !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    transition: font-size 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important;
  }

  html body .gv-product-card.is-active .gv-card-title {
    font-size: 0.74rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.1rem !important;
  }

  html body .gv-product-card.is-collapsed .gv-card-title {
    font-size: 0.47rem !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 0 !important;
  }

  /* Description: Smooth slide/fade transition without layout jumps */
  html body .gv-product-card .gv-card-desc {
    color: #4a5239 !important;
    margin: 0 !important;
    min-height: 0 !important;
    transition:
      max-height 0.45s cubic-bezier(0.4, 0, 0.2, 1),
      opacity 0.35s ease,
      margin-top 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important;
  }

  html body .gv-product-card.is-active .gv-card-desc {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    font-size: 0.52rem !important;
    line-height: 1.25 !important;
    max-height: 26px !important;
    height: auto !important;
    min-height: 0 !important;
    opacity: 1 !important;
    margin-top: 0.12rem !important;
    visibility: visible !important;
  }

  html body .gv-product-card.is-collapsed .gv-card-desc {
    display: block !important;
    max-height: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    opacity: 0 !important;
    margin-top: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* Actions slot & buttons with synchronized crossfade transition */
  html body .gv-product-card .gv-card-actions-slot {
    position: relative !important;
    height: 22px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-shrink: 0 !important;
    transition:
      width 0.45s cubic-bezier(0.4, 0, 0.2, 1),
      min-width 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important;
  }

  html body .gv-product-card.is-collapsed .gv-card-actions-slot {
    min-width: 20px !important;
    width: 20px !important;
  }

  html body .gv-product-card.is-active .gv-card-actions-slot {
    min-width: 55px !important;
    width: 55px !important;
  }

  html body .gv-product-card .gv-card-btn-detail {
    position: absolute !important;
    right: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.15rem !important;
    border: 1px solid #363e19 !important;
    color: #363e19 !important;
    background: transparent !important;
    font-family: var(--font-heading, "Jost", sans-serif) !important;
    font-size: 0.55rem !important;
    font-weight: 500 !important;
    padding: 0.12rem 0.4rem !important;
    border-radius: 3px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    height: 22px !important;
    box-sizing: border-box !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translate3d(6px, 0, 0) !important;
    transition:
      opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1),
      transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
      visibility 0.35s !important;
    pointer-events: none !important;
  }

  html body .gv-product-card .gv-card-btn-arrow {
    position: absolute !important;
    right: 0 !important;
    width: 20px !important;
    height: 20px !important;
    border: 1px solid #363e19 !important;
    color: #363e19 !important;
    background: transparent !important;
    border-radius: 3px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.68rem !important;
    line-height: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate3d(0, 0, 0) !important;
    transition:
      opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1),
      transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
      visibility 0.35s !important;
    pointer-events: auto !important;
  }

  html body .gv-product-card.is-active .gv-card-btn-detail {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate3d(0, 0, 0) !important;
    pointer-events: auto !important;
  }

  html body .gv-product-card.is-active .gv-card-btn-arrow {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translate3d(-6px, 0, 0) !important;
    pointer-events: none !important;
  }

  html body .gv-product-card.is-collapsed .gv-card-btn-detail {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translate3d(6px, 0, 0) !important;
    pointer-events: none !important;
  }

  html body .gv-product-card.is-collapsed .gv-card-btn-arrow {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate3d(0, 0, 0) !important;
    pointer-events: auto !important;
  }

  html body .gv-card-btn-detail:hover {
    background-color: #363e19 !important;
    color: #ffffff !important;
  }

  html body .gv-card-btn-arrow:hover {
    background-color: #363e19 !important;
    color: #ffffff !important;
  }
}

/* =====================================================================
   7. VALUE PROPOSITIONS SECTION (Homepage)
   PDF Mobile: 1 column, left aligned.
   PDF Tablet: 2x2 grid, left aligned.
   ===================================================================== */
@media (max-width: 1024px) {
  /* Left-align card contents to match PDF */
  div[style*="display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr))"]
    > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
  }

  div[style*="display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr))"]
    > div
    > div[style*="width: 48px"] {
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

@media (max-width: 719px) {
  div[style*="display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr))"] {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.25rem !important;
  }

  div[style*="display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr))"]
    > div {
    padding: 2.25rem 1.75rem !important;
  }
}

@media (min-width: 720px) and (max-width: 1024px) {
  div[style*="display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr))"] {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.5rem !important;
  }

  div[style*="display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr))"]
    > div {
    padding: 2.5rem 2rem !important;
  }
}

/* =====================================================================
   8. WHO WE SERVE SECTION (FROM INDONESIA TO GLOBAL MARKETS)
   Desktop, Tablet, and Mobile Unified Appearance:
   - Outline border 1px solid rgba(255, 255, 255, 0.22) with border-radius: 8px.
   - Subtle background rgba(255, 255, 255, 0.02).
   - SVG icon in 44x44px rounded box (border 1px solid rgba(255, 255, 255, 0.28)).
   - Clean uppercase typography matching desktop photo.
   - No numbers or black box counters.
   ===================================================================== */
/* Unified Typography across Desktop, Tablet & Mobile */
section[style*="background-color: #363E19"] h2 {
  font-weight: 500 !important;
  font-style: normal !important;
}

section[style*="background-color: #363E19"] h3 {
  font-weight: 400 !important;
  font-style: italic !important;
}

@media (max-width: 1024px) {
  .gv-who-we-serve-grid {
    gap: 1.25rem !important;
    max-width: 1040px !important;
    margin: 0 auto !important;
  }

  .gv-who-we-serve-card {
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    border-radius: 8px !important;
    padding: 1.15rem 1.35rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 1.15rem !important;
    background: rgba(255, 255, 255, 0.02) !important;
    transition: all 0.25s ease !important;
  }

  .gv-who-we-serve-card:hover {
    border-color: rgba(255, 255, 255, 0.45) !important;
    background: rgba(255, 255, 255, 0.05) !important;
  }

  .gv-who-we-serve-icon {
    width: 44px !important;
    height: 44px !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    border-radius: 6px !important;
    background: transparent !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    color: #ffffff !important;
  }

  .gv-who-we-serve-icon svg {
    display: block !important;
    width: 22px !important;
    height: 22px !important;
  }

  .gv-who-we-serve-icon::after {
    display: none !important;
    content: none !important;
  }

  .gv-who-we-serve-label {
    font-family: var(--font-heading, "Jost", sans-serif) !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    color: #ffffff !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
  }
}

@media (min-width: 720px) and (max-width: 1024px) {
  .gv-who-we-serve-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0.85rem !important;
  }

  .gv-who-we-serve-card {
    padding: 1rem 0.85rem !important;
    gap: 0.75rem !important;
  }

  .gv-who-we-serve-icon {
    width: 38px !important;
    height: 38px !important;
  }

  .gv-who-we-serve-icon svg {
    width: 18px !important;
    height: 18px !important;
  }

  .gv-who-we-serve-label {
    font-size: 0.78125rem !important;
    letter-spacing: 0.04em !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 719px) {
  /* Section Global Markets: Full-screen mobile presence (min-height: 100svh) with spaced-out vertical distribution */
  section[style*="background-color: #363E19"] {
    min-height: 100vh !important;
    min-height: 100dvh !important;
    min-height: 100svh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    padding: clamp(2.5rem, 5vh, 4rem) 0 !important;
    box-sizing: border-box !important;
  }
  section[style*="background-color: #363E19"] > .gv-container {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    flex: 1 1 auto !important;
    box-sizing: border-box !important;
  }
  section[style*="background-color: #363E19"]
    div[style*="margin-bottom: 4.5rem"] {
    margin-bottom: clamp(1.75rem, 3.5vh, 2.75rem) !important;
    gap: 0.85rem !important;
  }
  section[style*="background-color: #363E19"]
    div[style*="margin-bottom: 5rem"] {
    margin-bottom: clamp(1.75rem, 3.5vh, 2.75rem) !important;
  }
  section[style*="background-color: #363E19"]
    div[style*="margin-bottom: 5rem"]
    h3 {
    margin-bottom: clamp(1rem, 2vh, 1.6rem) !important;
    font-size: clamp(1.25rem, 1rem + 1vh, 1.45rem) !important;
  }
  section[style*="background-color: #363E19"] div[style*="margin-top: 2.5rem"] {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  section[style*="background-color: #363E19"]
    div[style*="margin-top: 2.5rem"]
    h3 {
    margin-bottom: clamp(1rem, 2vh, 1.6rem) !important;
    font-size: clamp(1.25rem, 1rem + 1vh, 1.45rem) !important;
  }

  /* 6 B2B Cards: 3 Columns x 2 Rows on mobile (matching desktop 2 rows) */
  .gv-who-we-serve-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: clamp(0.35rem, 1vw, 0.5rem) !important;
  }

  .gv-who-we-serve-card {
    padding: clamp(0.55rem, 1.2vh, 0.75rem) 0.35rem !important;
    gap: 0.35rem !important;
    border-radius: 6px !important;
    min-width: 0 !important;
  }

  .gv-who-we-serve-icon {
    width: 26px !important;
    height: 26px !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    border-radius: 4px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .gv-who-we-serve-icon svg {
    width: 14px !important;
    height: 14px !important;
    display: block !important;
  }

  .gv-who-we-serve-label {
    font-size: clamp(0.5rem, 0.45rem + 0.2vw, 0.58rem) !important;
    letter-spacing: 0.02em !important;
    line-height: 1.18 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
}

/* =====================================================================
   9. EXPLORE MORE PRODUCTS (Products Archive & Single Product)
   PDF Mobile & Tablet: Dark green photo box on top, light sage text box below.
   ===================================================================== */
@media (max-width: 1024px) {
  .gv-explore-more-section .gv-explore-row,
  .gv-explore-more-section .gv-explore-row.gv-explore-row-reverse,
  .gv-product-row,
  .gv-product-row-reverse {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.25rem !important;
    margin-bottom: 3rem !important;
  }

  .gv-explore-more-section .gv-explore-img-card,
  div[style*="display: flex; flex-direction: column; gap: 3rem; margin-bottom: 3rem"]
    .gv-explore-img-card {
    order: 1 !important;
    background-color: #363e19 !important;
    border-radius: 12px !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    padding: 2.5rem !important;
    box-sizing: border-box !important;
  }

  .gv-explore-more-section .gv-explore-text-col,
  div[style*="display: flex; flex-direction: column; gap: 3rem; margin-bottom: 3rem"]
    .gv-explore-text-col {
    order: 2 !important;
    background-color: #bdc4b8 !important;
    border-radius: 12px !important;
    padding: 2.25rem 2rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .gv-explore-item-title {
    font-size: 1.75rem !important;
    color: #1c230c !important;
    margin-bottom: 0.75rem !important;
  }

  .gv-explore-item-desc {
    color: #4a5239 !important;
    margin-bottom: 1.5rem !important;
    max-width: 100% !important;
  }

  .gv-explore-btn {
    border-color: #363e19 !important;
    color: #363e19 !important;
    background: transparent !important;
  }
}

/* =====================================================================
   10. ABOUT US PAGE LOWER SECTIONS
   Source of Truth: docs/design-assets/Tablet/About Us.pdf (834px Frame)
   ===================================================================== */

/* 10.1 Journey & Purpose */
@media (max-width: 719px) {
  .gv-journey-header-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
  .gv-journey-body-grid {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }
  .gv-journey-title {
    text-transform: uppercase !important;
    font-size: 2rem !important;
  }
}

@media (min-width: 720px) and (max-width: 1024px) {
  .gv-journey-section {
    padding-top: 4.5rem !important;
    padding-bottom: 4.5rem !important;
  }
  .gv-journey-header-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.85rem !important;
    align-items: flex-start !important;
    margin-bottom: 2.75rem !important;
  }
  .gv-journey-title,
  .gv-journey-header-grid h2 {
    font-family: var(--font-heading, "Jost", sans-serif) !important;
    font-size: 2.25rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.01em !important;
    color: #363e19 !important;
    line-height: 1.15 !important;
    margin: 0 !important;
  }
  .gv-journey-header-grid p {
    font-size: 0.9375rem !important;
    color: #4a5239 !important;
    line-height: 1.6 !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  .gv-journey-body-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.75rem !important;
    align-items: stretch !important;
  }
  .gv-journey-body-grid > div:first-child {
    min-height: 400px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
  }
  .gv-journey-body-grid > div:first-child h3 {
    text-transform: uppercase !important;
    font-size: 1.35rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
  }
  .gv-journey-body-grid > div:last-child {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.75rem !important;
  }
  .gv-journey-body-grid > div:last-child > div:first-child {
    background-color: #b9c1b4 !important;
    border-radius: 12px !important;
    padding: 2.5rem 2.25rem !important;
  }
  .gv-journey-body-grid > div:last-child > div:first-child h3 {
    text-transform: uppercase !important;
    font-size: 1.35rem !important;
    font-weight: 600 !important;
    color: #363e19 !important;
    margin-bottom: 0.75rem !important;
  }
  .gv-journey-body-grid > div:last-child > div:last-child {
    background-color: #363e19 !important;
    border-radius: 12px !important;
    padding: 2.5rem 2.25rem !important;
  }
  .gv-journey-body-grid > div:last-child > div:last-child h3 {
    text-transform: uppercase !important;
    font-size: 1.35rem !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    margin-bottom: 0.75rem !important;
  }
}

/* 10.2 Value Propositions (Your Trusted Partner For Quality Indonesian Vanilla) */
@media (max-width: 1024px) {
  .gv-partner-title,
  .gv-about-partner-section h2 {
    text-transform: uppercase !important;
    font-size: 2.2rem !important;
    font-weight: 600 !important;
    line-height: 1.22 !important;
    text-align: center !important;
  }
}

@media (min-width: 720px) and (max-width: 1024px) {
  .gv-about-partner-section {
    padding-top: 4.5rem !important;
    padding-bottom: 4.5rem !important;
  }
  .gv-partner-header,
  .gv-about-partner-section > .gv-container > div:first-child {
    text-align: center !important;
    max-width: 700px !important;
    margin: 0 auto 3rem !important;
  }
  .gv-partner-cards-grid,
  .gv-about-partner-section
    div[style*="grid-template-columns: repeat(auto-fit, minmax(240px, 1fr))"] {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.5rem !important;
  }
  .gv-partner-card,
  .gv-about-partner-section div[style*="background: #FFFFFF"] {
    background: #ffffff !important;
    border-radius: 12px !important;
    padding: 2.5rem 2rem !important;
    text-align: left !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }
  .gv-partner-card > div:first-child,
  .gv-about-partner-section div[style*="width: 48px; height: 48px"] {
    margin-bottom: 1.5rem !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    align-self: flex-start !important;
  }
  .gv-partner-card h3,
  .gv-about-partner-section h3 {
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    color: #363e19 !important;
    margin-bottom: 0.75rem !important;
    text-align: left !important;
  }
  .gv-partner-card p,
  .gv-about-partner-section p {
    font-size: 0.875rem !important;
    line-height: 1.65 !important;
    color: #4a5239 !important;
    text-align: left !important;
  }
}

/* 10.3 Sourced From Local Indonesia Section */
@media (max-width: 1024px) {
  .gv-sourcing-title,
  .gv-sourcing-left-bottom h2 {
    text-transform: uppercase !important;
    font-size: 2.25rem !important;
    font-weight: 600 !important;
    line-height: 1.18 !important;
  }
  .gv-sourcing-left-col div[style*="font-family: var(--font-heading"] {
    text-transform: uppercase !important;
  }
}

@media (min-width: 720px) and (max-width: 1024px) {
  .gv-sourcing-section {
    padding-top: 4.5rem !important;
    padding-bottom: 4.5rem !important;
  }
  .gv-sourcing-dark-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 2.5rem !important;
  }
  .gv-sourcing-left-col {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    height: auto !important;
  }
  .gv-sourcing-left-bottom {
    padding-top: 0 !important;
  }
  .gv-sourcing-left-bottom p {
    font-size: 0.9375rem !important;
    color: #bac4b2 !important;
    line-height: 1.65 !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  .gv-sourcing-right-col {
    display: flex !important;
    flex-direction: column !important;
    gap: 2.5rem !important;
  }
  .gv-sourcing-right-col > div:first-child > div:first-child {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2rem !important;
  }
  .gv-sourcing-right-col h4 {
    font-size: 1.15rem !important;
    font-weight: 600 !important;
  }
  .gv-sourcing-right-col p {
    font-size: 0.875rem !important;
    line-height: 1.6 !important;
  }
  .gv-sourcing-right-col > div:last-child {
    aspect-ratio: 16 / 9 !important;
    width: 100% !important;
    border-radius: 12px !important;
    overflow: hidden !important;
  }
}

/* 10.4 Export Capability Section */
@media (max-width: 719px) {
  .gv-export-capability-container {
    display: block !important;
  }
  .gv-export-header {
    text-align: left !important;
    margin-bottom: 2rem !important;
  }
  .gv-export-header > div {
    justify-content: flex-start !important;
  }
  .gv-export-header h2 {
    text-transform: uppercase !important;
    font-size: 2rem !important;
  }
  .gv-export-cards {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
  .gv-export-card {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    text-align: left !important;
    gap: 1.25rem !important;
    padding: 1.5rem 1.25rem !important;
  }
}

@media (min-width: 720px) and (max-width: 1024px) {
  .gv-export-capability-section {
    padding-top: 4.5rem !important;
    padding-bottom: 4.5rem !important;
  }
  .gv-export-capability-container {
    display: grid !important;
    grid-template-columns: 1fr 1.35fr !important;
    gap: 2.5rem !important;
    align-items: flex-start !important;
  }
  .gv-export-header {
    position: sticky !important;
    top: 6rem !important;
    text-align: left !important;
    margin: 0 !important;
  }
  .gv-export-header > div {
    justify-content: flex-start !important;
    text-transform: uppercase !important;
    font-size: 0.875rem !important;
    margin-bottom: 0.75rem !important;
  }
  .gv-export-header h2 {
    font-family: var(--font-heading, "Jost", sans-serif) !important;
    text-transform: uppercase !important;
    font-size: 2.25rem !important;
    font-weight: 600 !important;
    line-height: 1.18 !important;
    color: #363e19 !important;
    margin: 0 !important;
  }
  .gv-export-cards,
  .gv-export-capability-container .gv-export-cards,
  div.gv-export-cards {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.25rem !important;
  }
  .gv-export-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
    padding: 2.25rem 2rem !important;
    border-radius: 12px !important;
    background: #ffffff !important;
  }
  .gv-export-card-icon {
    margin-bottom: 1.25rem !important;
    margin-left: 0 !important;
  }
  .gv-export-card h3 {
    font-size: 1.2rem !important;
    font-weight: 600 !important;
    color: #363e19 !important;
    margin-bottom: 0.5rem !important;
    text-align: left !important;
  }
  .gv-export-card p {
    font-size: 0.875rem !important;
    line-height: 1.6 !important;
    color: #4a5239 !important;
    text-align: left !important;
  }
}

/* 10.5 Facilities Section */
@media (max-width: 1024px) {
  .gv-facilities-title,
  .gv-facilities-header-grid h2 {
    text-transform: uppercase !important;
    font-size: 2.25rem !important;
    font-weight: 600 !important;
    line-height: 1.18 !important;
  }
  .gv-facilities-header-grid div[style*="font-family: var(--font-heading"] {
    text-transform: uppercase !important;
  }
  .gv-facility-card {
    background-color: transparent !important;
    padding: 0 !important;
    aspect-ratio: auto !important;
  }
  .gv-facility-card img {
    border-radius: 12px !important;
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
  }
  section:has(.gv-facility-card) .gv-explore-text-col,
  .gv-facilities-section .gv-explore-text-col {
    background-color: transparent !important;
    padding: 0 !important;
  }
  section:has(.gv-facility-card) .gv-explore-row,
  .gv-facilities-section .gv-explore-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
    margin-bottom: 3.5rem !important;
  }
  section:has(.gv-facility-card) .gv-facility-card,
  .gv-facilities-section .gv-facility-card {
    order: 1 !important;
  }
  section:has(.gv-facility-card) .gv-explore-text-col,
  .gv-facilities-section .gv-explore-text-col {
    order: 2 !important;
  }
  .gv-explore-item-title {
    font-family: var(--font-heading, "Jost", sans-serif) !important;
    font-size: 1.85rem !important;
    font-weight: 600 !important;
    color: #363e19 !important;
    margin-bottom: 0.75rem !important;
  }
  .gv-explore-item-desc {
    font-size: 0.9375rem !important;
    line-height: 1.65 !important;
    color: #606950 !important;
  }
}

@media (min-width: 720px) and (max-width: 1024px) {
  .gv-facilities-header-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.85rem !important;
    align-items: flex-start !important;
    margin-bottom: 3rem !important;
  }
  .gv-facilities-header-desc-col p {
    max-width: 100% !important;
    margin: 0 !important;
  }
}

/* =====================================================================
   11. PRODUCT DETAIL PAGE (single-vanilla_product.php)
   ===================================================================== */
@media (max-width: 1024px) {
  .gv-app-card {
    background: #ffffff !important;
    border-radius: 8px !important;
    padding: 1.5rem !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.02) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
  }
  .gv-app-num {
    width: 32px !important;
    height: 32px !important;
    background: #363e19 !important;
    color: #ffffff !important;
    font-family: var(--font-heading) !important;
    font-weight: 500 !important;
    border-radius: 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 1rem !important;
  }
}

@media (max-width: 719px) {
  .gv-specs-split {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }

  .gv-applications-section {
    display: block !important;
  }

  .gv-applications-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
}

@media (min-width: 720px) and (max-width: 1024px) {
  /* Stacked 1-column specs on Tablet matching Tablet PDF */
  .gv-specs-split {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
  }
  .gv-applications-section {
    display: grid !important;
    grid-template-columns: 1fr 1.5fr !important;
    gap: 2.5rem !important;
    align-items: flex-start !important;
  }
  .gv-applications-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
}

/* =====================================================================
   12. GALLERY PAGE (page-gallery.php)
   ===================================================================== */
@media (max-width: 1024px) {
  .gv-gallery-tab {
    font-size: 0.8125rem !important;
    padding: 0.5rem 1.25rem !important;
  }
}

@media (max-width: 719px) {
  .gv-gallery-explore-grid {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }
  .gv-gallery-filter-tabs {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0.5rem !important;
  }
  .gv-gallery-tab {
    text-align: center !important;
    padding: 0.5rem 0.25rem !important;
  }
}

@media (min-width: 720px) and (max-width: 1024px) {
  .gv-gallery-explore-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.5rem !important;
  }
}

/* =====================================================================
   13. BLOG ARCHIVE (index.php) & HOMEPAGE BLOG PREVIEWS
   PDF Mobile: 1-column stacked with 1:1 square image.
   PDF Tablet: 2-column side-by-side row with 1:1 image left and text right.
   ===================================================================== */
@media (max-width: 719px) {
  .gv-blog-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.5rem !important;
  }
  .gv-blog-tab {
    text-align: center !important;
    padding: 0.5rem 0.25rem !important;
    font-size: 0.75rem !important;
  }
  .gv-blog-row,
  .gv-blog-article-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    margin-bottom: 2.5rem !important;
  }
  .gv-blog-badge {
    font-size: 3.5rem !important;
    margin-bottom: -0.75rem !important;
  }
  .gv-blog-img-wrap {
    aspect-ratio: 1 / 1 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    width: 100% !important;
  }
  .gv-blog-img-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}

@media (min-width: 720px) and (max-width: 1024px) {
  .gv-blog-row,
  .gv-blog-article-row {
    display: grid !important;
    grid-template-columns: 2fr 3fr !important;
    gap: 2rem !important;
    align-items: center !important;
    margin-bottom: 3.5rem !important;
  }
  .gv-blog-img-wrap {
    aspect-ratio: 1 / 1 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    width: 100% !important;
  }
  .gv-blog-img-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}

/* =====================================================================
   14. BLOG DETAIL PAGE (single.php)
   ===================================================================== */
@media (max-width: 719px) {
  .gv-detail-title {
    font-size: 1.65rem !important;
    line-height: 1.25 !important;
  }
  .gv-detail-featured-wrap {
    max-height: 260px !important;
  }
  .gv-detail-featured-img {
    max-height: 260px !important;
    object-fit: cover !important;
  }
  .gv-detail-more-row {
    grid-template-columns: 1fr !important;
    gap: 1.25rem !important;
  }
}

@media (min-width: 720px) and (max-width: 1024px) {
  .gv-detail-featured-wrap {
    max-height: 420px !important;
  }
  .gv-detail-more-row {
    grid-template-columns: 5fr 6fr !important;
    gap: 2rem !important;
  }
}

/* =====================================================================
   15. CONTACT US PAGE (page-contact.php)
   ===================================================================== */
@media (max-width: 719px) {
  .gv-contact-wrapper {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
  }
  .gv-contact-details {
    grid-template-columns: 1fr 1fr !important;
    gap: 1.25rem 1.5rem !important;
  }
  .gv-contact-form-card {
    padding: 2rem 1.25rem !important;
  }
  .gv-map-wrapper iframe {
    height: 320px !important;
  }
}

@media (min-width: 720px) and (max-width: 1024px) {
  .gv-contact-wrapper {
    grid-template-columns: 1fr !important;
    gap: 3rem !important;
  }
  .gv-contact-details {
    grid-template-columns: 1fr 1fr !important;
    gap: 1.5rem 2rem !important;
  }
  .gv-map-wrapper iframe {
    height: 380px !important;
  }
}

/* =====================================================================
   16. FOOTER COMPONENT
   ===================================================================== */
@media (max-width: 719px) {
  .gv-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
    text-align: center !important;
  }
  .gv-footer-grid > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  .gv-footer {
    padding-top: 3.5rem !important;
  }
}

@media (min-width: 720px) and (max-width: 1024px) {
  .gv-footer-grid {
    grid-template-columns: 1.5fr 1fr 1fr 1fr !important;
    gap: 2rem !important;
  }
}

/* =====================================================================
   17. UNIFIED CTA & OLIVE BUTTON HOVER EFFECTS (ALL BREAKPOINTS)
   ===================================================================== */
.gv-nav-cta-btn,
.gv-nav-cta-wrap a,
.gv-mobile-drawer-cta-btn,
.gv-hero-btn-primary,
.gv-btn-olive-cta,
.gv-btn-view-all-products,
.gv-view-all-products-btn,
.gv-view-all-gallery-btn,
.gv-view-all-blog-btn,
.gv-explore-all-btn,
.gv-detail-view-all-btn,
.gv-btn-primary,
.gv-cta-btn {
  transition:
    background-color 0.25s ease,
    color 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease !important;
  cursor: pointer;
}

.gv-nav-cta-btn:hover,
.gv-nav-cta-wrap a:hover,
.gv-mobile-drawer-cta-btn:hover,
.gv-hero-btn-primary:hover,
.gv-btn-olive-cta:hover,
.gv-btn-view-all-products:hover,
.gv-view-all-products-btn:hover,
.gv-view-all-gallery-btn:hover,
.gv-view-all-blog-btn:hover,
.gv-explore-all-btn:hover,
.gv-detail-view-all-btn:hover,
.gv-btn-primary:hover,
.gv-cta-btn:hover {
  background-color: #0a0804 !important;
  border-color: #0a0804 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 22px rgba(10, 8, 4, 0.28) !important;
}
