/** Shopify CDN: Minification failed

Line 10:31 Unexpected "-->"
Line 27:41 Unexpected "-->"

**/
/* Extracted from layout/theme.liquid body <style> blocks (template: index) on 2026-09-06. Order preserved; linked right after footer-group, which is where these blocks sat. */

/* from layout/theme.liquid L1392 */
<!-- opt-shopnow-bar v5 polish -->
      /* Push page bottom up by bar height when bar is shown so footer isn't covered */
      body.opt-bar-active { padding-bottom: 88px; }
      @media (max-width: 600px) { body.opt-bar-active { padding-bottom: 76px; } }
      @supports (padding-bottom: env(safe-area-inset-bottom)) {
        body.opt-bar-active { padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
        @media (max-width: 600px) { body.opt-bar-active { padding-bottom: calc(76px + env(safe-area-inset-bottom)); } }
      }
      .opt-bar-product-btn {
        background: transparent;
        border: none;
        padding: 0;
        margin: 0;
        font: inherit;
        cursor: pointer;
        text-align: left;
      }
      <!-- opt-shopnow-bar v6 no-dismiss -->
      /* Bottom safe-area inset for iOS */
      #opt-shopnow-bar { padding-bottom: env(safe-area-inset-bottom, 0); }
      #opt-shopnow-bar {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 998;
        background: #EDE8DF;
        border-top: 1px solid rgba(20, 19, 10, 0.08);
        box-shadow: 0 -10px 28px rgba(20, 19, 10, 0.12);
        opacity: 0;
        transform: translateY(100%);
        transition: opacity .25s ease, transform .25s ease;
      }
      #opt-shopnow-bar[hidden] { display: none !important; }
      #opt-shopnow-bar.opt-visible { opacity: 1; transform: translateY(0); }
      .opt-bar-inner {
        max-width: 1200px;
        margin: 0 auto;
        padding: 12px 20px;
        display: flex;
        align-items: center;
        gap: 16px;
      }
      .opt-bar-product {
        flex: 1 1 auto;
        min-width: 0;
        display: flex;
        align-items: center;
        gap: 14px;
        text-decoration: none;
        color: #14130a;
      }
      .opt-bar-img {
        width: 56px;
        height: 56px;
        object-fit: contain;
        background: #F5F0E8;
        border-radius: 10px;
        flex-shrink: 0;
      }
      .opt-bar-meta { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
      .opt-bar-title {
        font-size: 16px;
        font-weight: 800;
        line-height: 1.2;
        color: #14130a;
        text-decoration: underline;
        text-underline-offset: 3px;
        text-decoration-thickness: 1px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }
      .opt-bar-rating { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #2f3d20; }
      .opt-bar-guarantee {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        font-size: 11.5px;
        line-height: 1;
        font-weight: 700;
        color: #2f3d20;
        background: rgba(47, 61, 32, 0.08);
        border: 1px solid rgba(47, 61, 32, 0.18);
        border-radius: 999px;
        padding: 4px 9px;
        align-self: flex-start;
        letter-spacing: 0.1px;
      }
      .opt-bar-guarantee svg { flex: 0 0 11px; }
      @media (max-width: 600px) {
        .opt-bar-guarantee { font-size: 11px; padding: 3px 7px; gap: 4px; }
        .opt-bar-guarantee svg { width: 9px; height: 9px; flex-basis: 9px; }
      }
      .opt-bar-stars { color: #14130a; letter-spacing: 1px; font-size: 13px; line-height: 1; }
      .opt-bar-rating-text strong { font-weight: 700; }
      .opt-bar-reviews { text-decoration: underline; text-underline-offset: 2px; opacity: 0.9; }
      .opt-bar-btn {
        flex-shrink: 0;
        min-height: 48px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: #2f3d20;
        color: #EDE8DF;
        border: none; padding: 14px 28px;
        font-size: 15px;
        font-weight: 800;
        letter-spacing: 0.6px;
        cursor: pointer;
        transition: background .2s ease, transform .1s ease, box-shadow .2s ease;
        font-family: inherit;
      }
      .opt-bar-btn:hover { background: #758956; box-shadow: 0 6px 18px rgba(20,19,10,0.18); }
      .opt-bar-btn:active { transform: scale(.97); }

      /* Mobile: stack image+title row tighter, keep button on the right */
      @media (max-width: 600px) {
        .opt-bar-inner { padding: 10px 12px; gap: 10px; }
        .opt-bar-img { width: 44px; height: 44px; border-radius: 8px; }
        .opt-bar-title { font-size: 13px; text-decoration: none; }
        .opt-bar-rating { font-size: 11px; gap: 5px; }
        .opt-bar-stars { font-size: 11px; }
        .opt-bar-reviews { display: none; }
        .opt-bar-btn { padding: 11px 16px; font-size: 13px; letter-spacing: 0.4px; }
      }
      @media (max-width: 360px) {
        .opt-bar-inner { padding: 8px 10px; gap: 8px; }
        .opt-bar-img { width: 38px; height: 38px; }
        .opt-bar-title { font-size: 12px; }
        .opt-bar-rating-text { font-size: 11px; }
        .opt-bar-btn { padding: 10px 12px; font-size: 12px; }
      }
      @media (prefers-reduced-motion: reduce) {
        #opt-shopnow-bar { transition: opacity .15s ease; transform: none !important; }
      }

/* from layout/theme.liquid L1684 */
/* Hide the tab navigation entirely — no clicking needed when all 3 show */
      [id$="__content_tabs_NfhgRf"] [class*="tabs-navigation"] {
        display: none !important;
      }

      /* Hide the shared hero image on the left — the timeline doesn't need it */
      [id$="__content_tabs_NfhgRf"] [class*="shared-image"],
      [id$="__content_tabs_NfhgRf"] [class*="content-tabs-image"],
      [id$="__content_tabs_NfhgRf"] [class*="content-tabs-shared-image"] {
        display: none !important;
      }

      /* Flatten the wrapper layout so tabs-content gets full width */
      [id$="__content_tabs_NfhgRf"] [class*="content-tabs-wrapper"] {
        display: block !important;
        flex-direction: column !important;
        width: 100% !important;
      }
      [id$="__content_tabs_NfhgRf"] [class*="tabs-content-section-template"] {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 100% !important;
      }

      /* Force the tab-content container into a 3-column grid */
      [id$="__content_tabs_NfhgRf"] [class*="tabs-content-template"]:not([class*="section"]) {
        display: grid !important;
        grid-template-columns: 1fr 1fr 1fr !important;
        gap: 32px !important;
        position: relative !important;
        width: 100% !important;
        max-width: 1100px !important;
        margin: 60px auto 30px !important;
        padding: 32px 12px 12px !important;
      }
      @media (max-width: 768px) {
        [id$="__content_tabs_NfhgRf"] [class*="tabs-content-template"]:not([class*="section"]) {
          grid-template-columns: 1fr !important;
          gap: 56px !important;
          margin: 40px auto 20px !important;
        }
      }

      /* v3 redesign — Premium milestone cards (overflow:visible so badges
         can stick up above the card). Stripe gets its own border-radius to
         match the card's rounded corners. Reduced min-height for tighter
         visual proportions. */
      [id$="__content_tabs_NfhgRf"] [class*="tab-content-template"]:not([class*="inner"]) {
        display: block !important;
        opacity: 0;
        transform: translateY(40px) scale(0.94) !important;
        transition:
          opacity 0.85s cubic-bezier(0.22, 0.61, 0.36, 1),
          transform 0.85s cubic-bezier(0.22, 0.61, 0.36, 1),
          box-shadow 0.45s ease,
          border-color 0.45s ease !important;
        background: linear-gradient(180deg, #ffffff 0%, #faf6ef 100%) !important;
        border: 1px solid rgba(47, 61, 32, 0.12) !important;
        border-radius: 22px !important;
        padding: 48px 26px 28px !important;
        position: relative !important;
        text-align: center !important;
        overflow: visible !important;
        box-shadow:
          0 2px 8px rgba(47, 61, 32, 0.06),
          0 10px 28px rgba(47, 61, 32, 0.06) !important;
        max-width: none !important;
        min-height: 0 !important;
      }
      /* Top accent stripe — rounded at the top to follow card corners */
      [id$="__content_tabs_NfhgRf"] [class*="tab-content-template"]:not([class*="inner"])::after {
        content: "";
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        height: 4px !important;
        background: linear-gradient(90deg,
          rgba(168, 184, 144, 0.55) 0%,
          rgba(117, 137, 86, 0.85) 50%,
          rgba(168, 184, 144, 0.55) 100%) !important;
        opacity: 0.7 !important;
        border-radius: 22px 22px 0 0 !important;
        transition: opacity 0.4s ease, height 0.4s ease !important;
        z-index: 0 !important;
        pointer-events: none;
      }

      /* Number badges — sit above card edge, fully visible (overflow:visible
         on the card lets them stick up) */
      [id$="__content_tabs_NfhgRf"] [class*="tab-content-template"]:not([class*="inner"])::before {
        position: absolute !important;
        top: -28px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 56px !important;
        height: 56px !important;
        background: #2f3d20 !important;
        color: #f5f0e8 !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 22px !important;
        font-weight: 700 !important;
        font-family: 'Lora', Georgia, serif !important;
        font-style: italic !important;
        line-height: 1 !important;
        box-shadow:
          0 6px 18px rgba(47, 61, 32, 0.35),
          0 0 0 5px #faf6ef,
          0 0 0 6px rgba(168, 184, 144, 0.45) !important;
        z-index: 4 !important;
        background-image: none !important;
        background-color: #2f3d20 !important;
        background-repeat: no-repeat !important;
      }
      [id$="__content_tabs_NfhgRf"] [class*="tab-content-template"]:not([class*="inner"]):nth-child(1)::before { content: "1" !important; }
      [id$="__content_tabs_NfhgRf"] [class*="tab-content-template"]:not([class*="inner"]):nth-child(2)::before { content: "2" !important; }
      [id$="__content_tabs_NfhgRf"] [class*="tab-content-template"]:not([class*="inner"]):nth-child(3)::before { content: "3" !important; }

      /* Organic flowing wave v2 — blended design:
         • Higher amplitude (peaks at y=4, troughs at y=26 in 0–30 viewBox)
         • Thicker stroke (2.5px vs 1.8px)
         • More cycles (5 across full width)
         • Dashed pattern (4-on / 3-off) for a breathy, soft feel
         • Small sage "seed" dots at peaks (botanical accents)
         • Tiny leaf shapes at troughs (botanical decoration)
         • Gradient stays multi-stop so density varies left → right
         • Plenty of negative space — the wave doesn't shout, it breathes */
      [id$="__content_tabs_NfhgRf"] [class*="tabs-content-template"]:not([class*="section"])::before {
        content: "";
        position: absolute !important;
        top: 6px !important;
        left: 10% !important;
        right: 10% !important;
        height: 52px !important;
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 30' preserveAspectRatio='none'><defs><linearGradient id='g' x1='0' y1='0' x2='1' y2='0'><stop offset='0%' stop-color='%23a8b890' stop-opacity='0.3'/><stop offset='30%' stop-color='%23758956' stop-opacity='0.85'/><stop offset='50%' stop-color='%232f3d20' stop-opacity='1'/><stop offset='70%' stop-color='%23758956' stop-opacity='0.85'/><stop offset='100%' stop-color='%23a8b890' stop-opacity='0.3'/></linearGradient></defs><path d='M 0 15 Q 20 4 40 15 T 80 15 T 120 15 T 160 15 T 200 15' stroke='url(%23g)' stroke-width='2.5' stroke-dasharray='4 3' fill='none' stroke-linecap='round'/><circle cx='20' cy='4' r='2.2' fill='%23758956' opacity='0.85'/><circle cx='60' cy='4' r='1.6' fill='%23a8b890' opacity='0.7'/><circle cx='100' cy='4' r='2.5' fill='%232f3d20' opacity='0.85'/><circle cx='140' cy='4' r='1.6' fill='%23a8b890' opacity='0.7'/><circle cx='180' cy='4' r='2.2' fill='%23758956' opacity='0.85'/><ellipse cx='40' cy='26' rx='3.5' ry='1.6' fill='%23a8b890' opacity='0.55' transform='rotate(20 40 26)'/><ellipse cx='80' cy='26' rx='3.5' ry='1.6' fill='%23a8b890' opacity='0.55' transform='rotate(-20 80 26)'/><ellipse cx='120' cy='26' rx='3.5' ry='1.6' fill='%23a8b890' opacity='0.55' transform='rotate(20 120 26)'/><ellipse cx='160' cy='26' rx='3.5' ry='1.6' fill='%23a8b890' opacity='0.55' transform='rotate(-20 160 26)'/></svg>") !important;
        background-repeat: no-repeat !important;
        background-size: 100% 100% !important;
        background-position: center center !important;
        z-index: 0;
      }
      @media (max-width: 768px) {
        [id$="__content_tabs_NfhgRf"] [class*="tabs-content-template"]:not([class*="section"])::before {
          display: none !important;
        }
      }

      /* Sequential card reveal — staggered 350ms apart */
      [id$="__content_tabs_NfhgRf"].opt-pillars-visible [class*="tab-content-template"]:not([class*="inner"]):nth-child(1) {
        opacity: 1 !important;
        transform: translateY(0) scale(1) !important;
        transition-delay: 250ms !important;
      }
      [id$="__content_tabs_NfhgRf"].opt-pillars-visible [class*="tab-content-template"]:not([class*="inner"]):nth-child(2) {
        opacity: 1 !important;
        transform: translateY(0) scale(1) !important;
        transition-delay: 600ms !important;
      }
      [id$="__content_tabs_NfhgRf"].opt-pillars-visible [class*="tab-content-template"]:not([class*="inner"]):nth-child(3) {
        opacity: 1 !important;
        transform: translateY(0) scale(1) !important;
        transition-delay: 950ms !important;
      }
      /* (Badges + line are static at full size — animation removed because
         pseudo-element transform transitions were unreliable. Only cards animate.) */

      /* Inner card layout — image FIRST, then text */
      [id$="__content_tabs_NfhgRf"] [class*="tab-content-inner-template"] {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        gap: 22px !important;
        align-items: center !important;
      }
      [id$="__content_tabs_NfhgRf"] [class*="tab-content-inner-template"] > div {
        width: 100% !important;
      }
      /* Use :has() to target the content block that contains the image and
         push it to the TOP of the card. Falls back gracefully on browsers
         without :has() (Safari 15.4+, Chrome 105+, Firefox 121+). */
      [id$="__content_tabs_NfhgRf"] [class*="tab-content-inner-template"] > [class*="content-block-template"]:has(img) {
        order: -1 !important;
      }
      /* Image — circular, prominent, with sage frame + soft glow */
      [id$="__content_tabs_NfhgRf"] [class*="tab-content-inner-template"] img {
        max-width: 170px !important;
        width: 170px !important;
        height: 170px !important;
        object-fit: cover !important;
        border-radius: 50% !important;
        border: 4px solid #ffffff !important;
        box-shadow:
          0 0 0 1px rgba(168, 184, 144, 0.45),
          0 8px 24px rgba(47, 61, 32, 0.15) !important;
        margin: 0 auto !important;
        transition:
          transform 0.55s cubic-bezier(0.22, 0.61, 0.36, 1),
          box-shadow 0.45s ease !important;
        display: block !important;
      }
      /* Title — slightly bolder + tighter line height */
      [id$="__content_tabs_NfhgRf"] [class*="content-block-title-template"] {
        font-size: 22px !important;
        font-weight: 800 !important;
        color: #2f3d20 !important;
        margin: 6px 0 4px !important;
        line-height: 1.2 !important;
        letter-spacing: -0.01em !important;
      }
      /* Tiny sage divider line under each title (decorative) */
      [id$="__content_tabs_NfhgRf"] [class*="content-block-title-template"]::after {
        content: "";
        display: block;
        width: 40px;
        height: 2px;
        background: linear-gradient(90deg, transparent, #a8b890, transparent);
        margin: 12px auto 4px;
        border-radius: 2px;
      }
      /* Description body — more readable */
      [id$="__content_tabs_NfhgRf"] [class*="content-block-content-template"] p {
        color: #4a5240 !important;
        font-size: 15px !important;
        line-height: 1.6 !important;
        margin: 0 !important;
        max-width: 280px !important;
        margin-left: auto !important;
        margin-right: auto !important;
      }

      /* Premium hover — deeper lift, image zoom, accent-stripe brightens */
      [id$="__content_tabs_NfhgRf"] [class*="tab-content-template"]:not([class*="inner"]):hover {
        transform: translateY(-10px) scale(1.015) !important;
        border-color: rgba(47, 61, 32, 0.35) !important;
        box-shadow:
          0 22px 44px rgba(47, 61, 32, 0.16),
          0 0 0 1px rgba(168, 184, 144, 0.35),
          0 0 0 8px rgba(168, 184, 144, 0.10) !important;
      }
      [id$="__content_tabs_NfhgRf"] [class*="tab-content-template"]:not([class*="inner"]):hover::after {
        opacity: 1 !important;
        height: 5px !important;
      }
      [id$="__content_tabs_NfhgRf"] [class*="tab-content-template"]:not([class*="inner"]):hover img {
        transform: scale(1.08) !important;
        box-shadow:
          0 0 0 1px rgba(168, 184, 144, 0.65),
          0 14px 32px rgba(47, 61, 32, 0.22) !important;
      }
      [id$="__content_tabs_NfhgRf"] [class*="tab-content-template"]:not([class*="inner"]):hover::before {
        box-shadow:
          0 10px 24px rgba(47, 61, 32, 0.45),
          0 0 0 5px #ffffff,
          0 0 0 7px rgba(168, 184, 144, 0.65) !important;
      }

      /* (No safety override needed — line is static.) */

      @media (prefers-reduced-motion: reduce) {
        [id$="__content_tabs_NfhgRf"] [class*="tab-content-template"]:not([class*="inner"]) {
          opacity: 1 !important;
          transform: translateY(0) scale(1) !important;
          transition: none !important;
        }
      }

/* from layout/theme.liquid L1994 */
/* Universal press scale + brightness — fires on :active for any pressable */
    button:active:not(:disabled):not([aria-disabled="true"]):not(.shop-mobile-arrow),
    input[type="submit"]:active:not(:disabled),
    input[type="button"]:active:not(:disabled),
    a.button:active,
    a[class*="-btn"]:active,
    a[class*="-button"]:active,
    a[class*="cta"]:active,
    a[class*="shopnow"]:active,
    [role="button"]:active:not([aria-disabled="true"]) {
      transform: scale(0.97) !important;
      filter: brightness(0.93) saturate(1.08) !important;
      transition: transform 0.12s cubic-bezier(0.22, 0.61, 0.36, 1),
                  filter 0.12s ease !important;
    }
    /* Hover lift only for clearly CTA-style elements — avoid disturbing every
       <a> on the page */
    a.button:hover,
    a[class*="-btn"]:hover,
    a[class*="-button"]:hover,
    a[class*="cta"]:hover,
    a[class*="shopnow"]:hover {
      filter: brightness(1.04);
    }
    /* Ripple element injected by JS — sage tint on light buttons, cream on dark */
    .opt-ripple {
      position: absolute;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(168, 184, 144, 0.55) 0%, rgba(168, 184, 144, 0) 70%);
      transform: scale(0);
      opacity: 0.85;
      pointer-events: none;
      z-index: 0;
      animation: optGlobalRipple 0.55s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
    }
    .opt-ripple.opt-ripple-dark-bg {
      /* cream ripple for dark-backgrounded buttons */
      background: radial-gradient(circle, rgba(245, 240, 232, 0.45) 0%, rgba(245, 240, 232, 0) 70%);
    }
    @keyframes optGlobalRipple {
      0%   { transform: scale(0);   opacity: 0.85; }
      100% { transform: scale(1.6); opacity: 0; }
    }
    /* Respect motion preference */
    @media (prefers-reduced-motion: reduce) {
      button:active:not(:disabled),
      input[type="submit"]:active,
      a.button:active,
      [role="button"]:active {
        transform: none !important;
      }
      .opt-ripple { display: none !important; }
    }

/* from layout/theme.liquid L2200 */
.testimonials-carousel {
      position: relative !important;
    }
    .testimonials-carousel .testimonials-navigation {
      position: absolute !important;
      top: 50%;
      left: 0 !important;
      right: 0 !important;
      width: 100% !important;
      transform: translateY(-50%) !important;
      display: flex !important;
      flex-direction: row !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 0 8px !important;
      margin: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      pointer-events: none !important;
      z-index: 5 !important;
      gap: 0 !important;
      column-gap: 0 !important;
    }
    /* Testimonials chevrons need MUCH higher contrast than the default v2
       white-frosted base — cream section bg made the white buttons disappear.
       Override with sage-green fill + cream chevron + deep shadow so they
       pop clearly. Press state still transitions to deeper darkness. */
    .testimonials-carousel .testimonials-navigation .nav-button.global-nav-button {
      pointer-events: auto !important;
      margin: 0 !important;
      width: 52px !important;
      height: 52px !important;
      background: #758956 !important;
      border: 2px solid #5d6e44 !important;
      box-shadow:
        0 6px 18px rgba(47, 61, 32, 0.32),
        0 1px 4px rgba(47, 61, 32, 0.18) !important;
    }
    .testimonials-carousel .testimonials-navigation .nav-button.global-nav-button svg {
      width: 24px !important;
      height: 24px !important;
      color: #f5f0e8 !important;
      stroke-width: 2.5 !important;
    }
    .testimonials-carousel .testimonials-navigation .nav-button.global-nav-button svg path,
    .testimonials-carousel .testimonials-navigation .nav-button.global-nav-button svg line,
    .testimonials-carousel .testimonials-navigation .nav-button.global-nav-button svg polyline {
      stroke: #f5f0e8 !important;
      stroke-width: 2.5 !important;
    }
    .testimonials-carousel .testimonials-navigation .nav-button.global-nav-button:hover {
      background: #5d6e44 !important;
      border-color: #2f3d20 !important;
      transform: translateY(-3px) scale(1.06) !important;
      box-shadow:
        0 12px 28px rgba(47, 61, 32, 0.42),
        0 0 0 5px rgba(168, 184, 144, 0.22) !important;
    }
    /* Press state: deepest green + cream icon + tight scale */
    .testimonials-carousel .testimonials-navigation .nav-button.global-nav-button:active,
    .testimonials-carousel .testimonials-navigation .nav-button.global-nav-button.is-pressing {
      background: #2f3d20 !important;
      border-color: #2f3d20 !important;
      transform: translateY(0) scale(0.93) !important;
      box-shadow:
        0 3px 8px rgba(47, 61, 32, 0.45),
        0 0 0 6px rgba(168, 184, 144, 0.35) !important;
    }
    .testimonials-carousel .testimonials-navigation .nav-button.global-nav-button.prev + .nav-button.global-nav-button.next,
    .testimonials-carousel .testimonials-navigation .nav-button.global-nav-button.next ~ .nav-button.global-nav-button.prev {
      margin-left: 0 !important;
    }
    @media (max-width: 989px) {
      .testimonials-carousel .testimonials-navigation .nav-button.global-nav-button {
        width: 46px !important;
        height: 46px !important;
      }
      .testimonials-carousel .testimonials-navigation .nav-button.global-nav-button svg {
        width: 22px !important;
        height: 22px !important;
      }
    }
    /* Keep the dot pagination visible at the natural bottom */
    .testimonials-carousel .testimonials-dots {
      position: relative;
      z-index: 4;
    }

    /* Homepage / video-testimonials section — same side-positioning */
    .video-testimonials-section {
      position: relative !important;
    }
    .video-testimonials-section .carousel-nav {
      position: absolute !important;
      top: 50%;
      left: 0 !important;
      right: 0 !important;
      width: 100% !important;
      transform: translateY(-50%) !important;
      display: flex !important;
      flex-direction: row !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 0 8px !important;
      margin: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      pointer-events: none !important;
      z-index: 5 !important;
      gap: 0 !important;
      column-gap: 0 !important;
    }
    /* Visual design comes from the global v2 nav-button rule. */
    .video-testimonials-section .carousel-nav .nav-button.global-nav-button {
      pointer-events: auto !important;
      margin: 0 !important;
    }
    .video-testimonials-section .carousel-nav .nav-button.global-nav-button.prev + .nav-button.global-nav-button.next,
    .video-testimonials-section .carousel-nav .nav-button.global-nav-button.next ~ .nav-button.global-nav-button.prev {
      margin-left: 0 !important;
    }
    @media (max-width: 989px) {
      .video-testimonials-section .carousel-nav .nav-button.global-nav-button {
        width: 44px !important;
        height: 44px !important;
      }
      .video-testimonials-section .carousel-nav .nav-button.global-nav-button svg {
        width: 20px !important;
        height: 20px !important;
      }
    }

/* from layout/theme.liquid L2940 */
.opt-info-page {
      max-width: 780px;
      margin: 0 auto;
      padding: 48px 28px 80px;
      color: #3d4a30;
      font-size: 16px;
      line-height: 1.7;
    }
    .opt-info-page h1 {
      font-size: clamp(36px, 5vw, 48px);
      font-weight: 800;
      color: #14130a;
      letter-spacing: -0.02em;
      line-height: 1.1;
      margin: 0 0 32px;
    }
    .opt-info-page h2 {
      font-size: clamp(26px, 3.5vw, 32px);
      font-weight: 700;
      color: #2f3d20;
      letter-spacing: -0.01em;
      line-height: 1.2;
      margin: 56px 0 16px;
      padding-bottom: 14px;
      border-bottom: none;
      position: relative;
    }
    .opt-info-page h2::after {
      content: '';
      display: block;
      width: 48px;
      height: 3px;
      background: linear-gradient(90deg, #758956 0%, #a8b890 100%);
      border-radius: 2px;
      margin-top: 14px;
    }
    .opt-info-page > h2:first-child,
    .opt-info-page > div:first-child h2:first-child {
      margin-top: 0;
    }
    .opt-info-page h3 {
      font-size: 19px;
      font-weight: 700;
      color: #2f3d20;
      letter-spacing: -0.005em;
      line-height: 1.3;
      margin: 36px 0 10px;
    }
    .opt-info-page p {
      font-size: 16px;
      line-height: 1.75;
      color: #3d4a30;
      margin: 0 0 18px;
    }
    .opt-info-page p:last-child { margin-bottom: 0; }

    .opt-info-page strong {
      color: #2f3d20;
      font-weight: 700;
    }
    .opt-info-page em {
      font-style: italic;
    }
    .opt-info-page a {
      color: #5d6e44;
      font-weight: 600;
      text-decoration: underline;
      text-underline-offset: 3px;
      text-decoration-thickness: 1.5px;
      transition: color 0.2s ease;
    }
    .opt-info-page a:hover {
      color: #2f3d20;
      text-decoration-thickness: 2px;
    }

    /* Lists — refined sage bullets with hanging indent */
    .opt-info-page ul {
      list-style: none;
      padding: 0;
      margin: 0 0 24px;
    }
    .opt-info-page ul li {
      position: relative;
      padding-left: 22px;
      font-size: 16px;
      line-height: 1.75;
      color: #3d4a30;
      margin-bottom: 10px;
    }
    .opt-info-page ul li::before {
      content: '';
      position: absolute;
      left: 4px;
      top: 11px;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #a8b890;
    }
    /* Lists already styled inline (delivery times with flags) — preserve them */
    .opt-info-page ul[style*="list-style:none"] li {
      padding-left: 0;
    }
    .opt-info-page ul[style*="list-style:none"] li::before {
      display: none;
    }

    /* Horizontal rule — more refined */
    .opt-info-page hr {
      border: none;
      border-top: 1px solid rgba(47, 61, 32, 0.10);
      margin: 56px 0 40px;
    }

    /* Inline code (for order number examples, etc.) */
    .opt-info-page code {
      background: rgba(168, 184, 144, 0.18);
      color: #2f3d20;
      padding: 2px 7px;
      border-radius: 4px;
      font-size: 0.9em;
      font-family: ui-monospace, "SF Mono", "Cascadia Code", "Roboto Mono", monospace;
    }

    @media (max-width: 749px) {
      .opt-info-page {
        padding: 32px 20px 60px;
        font-size: 15px;
      }
      .opt-info-page h1 {
        font-size: 30px;
        margin-bottom: 24px;
      }
      .opt-info-page h2 {
        font-size: 22px;
        margin-top: 44px;
      }
      .opt-info-page h2::after {
        width: 40px;
        height: 2.5px;
        margin-top: 12px;
      }
      .opt-info-page h3 {
        font-size: 17px;
        margin-top: 28px;
      }
      .opt-info-page p,
      .opt-info-page ul li {
        font-size: 15px;
        line-height: 1.7;
      }
      .opt-info-page hr {
        margin: 44px 0 32px;
      }
    }

/* from layout/theme.liquid L3111 */
/* ── 1. Headline word reveal ─────────────────────────────────────── */
    .opt-headline-reveal .opt-word {
      display: inline-block;
      opacity: 0;
      transform: translateY(14px);
      transition:
        opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1),
        transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
      will-change: opacity, transform;
    }
    .opt-headline-reveal.opt-headline-in .opt-word {
      opacity: 1;
      transform: translateY(0);
    }
    /* opt-word-gradient-fix v1 — word-split spans must re-inherit gradient text,
       otherwise clipped accents render transparent (invisible headings) */
    .opt-headline-reveal .opt-word {
      background-image: inherit;
      -webkit-background-clip: text;
      background-clip: text;
    }

    /* ── 2. Number count-up (placeholder span, JS animates textContent) ── */
    .opt-counter {
      font-variant-numeric: tabular-nums;
      font-feature-settings: "tnum";
    }

    /* ── 3. Soft pulse on primary CTAs ───────────────────────────────── */
    @keyframes optCTAPulse {
      0%, 100% { box-shadow: 0 0 0 0 rgba(168, 184, 144, 0.45); }
      50%      { box-shadow: 0 0 0 8px rgba(168, 184, 144, 0); }
    }
    /* Only the *primary* CTAs (bundle selector chosen card, sticky main CTA).
       Avoid every button — would be noisy. */
    [class*="bundle"] [class*="selected"],
    [class*="bundle"] [aria-selected="true"],
    .opt-bar-btn:not(:hover):not(:active) {
      animation: optCTAPulse 2.4s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
    }
    /* Pause the pulse while user interacts so it doesn't compete with hover */
    .opt-bar-btn:hover,
    .opt-bar-btn:focus-visible,
    [class*="bundle"] [class*="selected"]:hover {
      animation-play-state: paused !important;}

    /* ── 4. Image micro-tilt on hover (desktop only) ─────────────────── */
    @media (hover: hover) and (min-width: 990px) {
      [class*="image-with-text"] img,
      [class*="testimonial"] img,
      [class*="founder"] img,
      [class*="before-after"] img {
        transition:
          transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1),
          filter 0.4s ease !important;
        will-change: transform;
      }
      [class*="image-with-text"]:hover img,
      [class*="founder"]:hover img {
        transform: perspective(1200px) rotateY(-2deg) rotateX(1.5deg) scale(1.025) !important;
        filter: saturate(1.08) brightness(1.02);
      }
    }

    /* ── 5. Smooth anchor scrolling with sticky-header offset ────────── */
    html {
      scroll-behavior: smooth;
      scroll-padding-top: 80px; /* keeps target below sticky header */
    }
    @media (max-width: 989px) {
      html { scroll-padding-top: 68px; }
    }

    /* ── Reduce motion respect ───────────────────────────────────────── */
    @media (prefers-reduced-motion: reduce) {
      .opt-headline-reveal .opt-word {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
      }
      [class*="bundle"] [class*="selected"],
      .opt-bar-btn:not(:hover):not(:active) {
        animation: none !important;
      }
      [class*="image-with-text"]:hover img,
      [class*="founder"]:hover img {
        transform: none !important;
      }
      html { scroll-behavior: auto; }
    }

/* from layout/theme.liquid L3361 */
.opt-sale-countdown{font-variant-numeric:tabular-nums;letter-spacing:0.4px;white-space:nowrap;font-weight:700;}


/* 2026-09-08 · mobile hero: get a CTA above the fold.
   Measured on iPhone 13 (390x664) as a first-time visitor: .custom-hero__image-wrapper is
   pinned to aspect-ratio 1/1, so the 16:9 source is cropped to a 390px square that consumes
   the entire first screen. Everything below it — subhead, price, button — fell past the fold;
   the first CTA sat at y=788, its bottom edge 209px beyond the viewport. A visitor arriving
   from Instagram saw a photo and two lines of headline, with nothing to act on.
   Restoring the image's native 16:9 recovers 171px AND stops cropping the photograph, and
   tightening the stacked spacing recovers the rest. Desktop is untouched — it is a two-column
   layout there and the CTA was always visible. */
@media (max-width: 749px){
  .custom-hero__image-wrapper{
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
  }
  .custom-hero__content{
    padding-top: 6px !important;
  }
  /* The content wrapper is taller than its own content on mobile and centres vertically,
     which parked 54px of dead space above the rating line and pushed the button down by
     exactly that much. Top-align it on small screens; desktop keeps the centring. */
  .custom-hero__content-wrapper{
    justify-content: flex-start !important;
  }
}
