/** Shopify CDN: Minification failed

Line 269:2 Unexpected "{"
Line 269:3 Expected identifier but found "%"
Line 269:69 Unexpected "("
Line 269:208 Expected identifier but found "%"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:lp-announcement-strip (INDEX:35) */
/* ==========================================================================
     A2 "editorial-bold" styling for the announcement strip.
     Source of craft: nate/.../styled/phase-1/announcement-strip.html.
     Direction (operator 2026-05-30): the strip is a TANGERINE TINT bar with
     FOREST ink — deliberately NOT forest-on-forest and NOT the #FF8F1C CTA
     orange — so it reads as page CHROME that pops on scroll, distinct from the
     forest hero/buy-box surfaces below it.
     ========================================================================== */
  .lp-announce {
    /* Brand BASE tokens: map to theme vars with a hex fallback so the strip
       follows the theme palette but never breaks if a var is absent (B's pattern).
       All vars are scoped to this section root class — nothing leaks to :root. */
    --lp-forest: var(--color-primary-forest, #284734);
    --lp-tangerine: var(--color-primary-tangerine, #FF8F1C);
    --lp-beige: var(--color-primary-beige, #F1E7DB);

    /* DERIVED tints/shades (ADR-9 — computed derivatives of tangerine, allowed
       as literal hex). The TINT is the bar surface; the shades drive dismiss
       state hierarchy. */
    --lp-tangerine-tint-20: #FFB66B;  /* lighten ~20% — the bar surface */
    --lp-tangerine-shade-10: #E6810F; /* darken 10% — dismiss hover */
    --lp-tangerine-shade-20: #CC7308; /* darken 20% — dismiss pressed */

    /* Editorial faces: display for the offer emphasis, body for the message.
       Mapped to theme font vars with the locked Bex stack as fallback. */
    --lp-font-display: var(--bst-font-secondary, "IvyPresto Headline", Georgia, "Times New Roman", serif);
    --lp-font-body: var(--font-body-family, "TT Norms Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif);

    position: sticky; top: 0; z-index: 10;
    /* Full-bleed: break out of the #MainContent 1240px frame so the bar spans
       the FULL browser width (operator 2026-06-22, template-level change). 100vw
       + symmetric negative margins; paired with body{overflow-x:clip} in
       lp.liquid to absorb scrollbar-width jitter WITHOUT breaking position:sticky
       (clip, unlike hidden, doesn't create a scroll container). */
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    display: flex; align-items: center; justify-content: center; gap: 10px;
    min-height: 40px; padding: 8px 48px 8px 16px; /* right padding reserves the dismiss tap target */

    /* Tangerine TINT surface (#FFB66B), forest ink. Forest on #FFB66B = 5.96:1
       (passes WCAG AA 4.5:1). This is the operator-locked banner color. */
    background: var(--lp-tangerine-tint-20);
    color: var(--lp-forest);

    /* Letter-spacing carries the editorial polish (a small-caps feel without
       shrinking the type). TT Norms Pro holds tracking well. */
    font-family: var(--lp-font-body);
    font-size: 13.5px;
    font-weight: 500;
    letter-spacing: 0.012em;
    text-align: center;
  }

  /* Dismissed state — toggled by lp-page.js (user closed it, or a remembered
     session). Hides the chrome <aside> only; the served first-paint HTML always
     contains the data-lp message (SP-4 spirit — never display:none the message). */
  .lp-announce.lp-announce--dismissed { display: none; }

  .lp-announce__msg {
    display: inline-block;
    line-height: 1.35;
  }
  /* The offer term sits in the display face (italic) so the value beat lands on
     the FACE, not on a color shift — the Magic Mind editorial-weight move,
     translated to a single-line chrome bar. Stays forest ink on the tint. */
  .lp-announce__msg b {
    font-family: var(--lp-font-display);
    font-weight: 500;   /* IvyPresto display 500 = the "editorial-medium" weight */
    font-style: italic;
    font-size: 15px;
    letter-spacing: 0;
    color: var(--lp-forest);
  }

  /* Dismiss control — real <button>, 44x44 tap target, inside the strip's
     reserved right padding. State hierarchy via tangerine shades (ADR-9). */
  .lp-announce__dismiss {
    position: absolute; right: 0; top: 0;
    min-height: 44px; min-width: 44px; padding: 0 14px;
    background: transparent; color: var(--lp-forest);
    border: 0; font: inherit; font-size: 20px; line-height: 1; cursor: pointer;
    /* Motion kept under the 200ms budget (D8). */
    transition: background-color 160ms ease, color 160ms ease;
  }
  .lp-announce__dismiss:hover { background: var(--lp-tangerine-shade-10); }
  .lp-announce__dismiss:active { background: var(--lp-tangerine-shade-20); }
  .lp-announce__dismiss:focus-visible {
    /* Forest focus ring reads reliably against the tangerine tint. */
    outline: 2px solid var(--lp-forest);
    outline-offset: -3px;
  }

  /* Respect reduced motion: drop the state transition when the user opts out. */
  @media (prefers-reduced-motion: reduce) {
    .lp-announce__dismiss { transition: none; }
  }

  /* Desktop expansion — single 750px breakpoint, mobile-first (D35). */
  @media (min-width: 750px) {
    .lp-announce { font-size: 14px; min-height: 42px; letter-spacing: 0.018em; }
    .lp-announce__msg b { font-size: 16px; }
  }
/* END_SECTION:lp-announcement-strip */

/* START_SECTION:lp-buy-box (INDEX:36) */
.lp-buybox {
    /* base brand tokens — inherit the live theme palette, hex fallback keeps the section standalone-renderable */
    --lp-forest: var(--color-primary-forest, #284734);
    --lp-tangerine: var(--color-primary-tangerine, #FF8F1C);
    --lp-beige: var(--color-primary-beige, #F1E7DB);
    --lp-white: var(--color-primary-white, #ffffff);
    --lp-ink: var(--color-text-main, #232323);
    /* A1 neutrals (no theme token) */
    --lp-muted: #6f6b62;
    --lp-line: #d8d4cb;
    /* derived tints/shades (ADR-9, literal — computed derivatives of the base tokens) */
    --lp-forest-shade-10: #243F2F;     /* opt hover border */
    --lp-forest-tint-30: #E9EFE9;      /* selected purchase-type fill (pale forest) */
    --lp-beige-shade-10: #D9CFC1;      /* cadence rules */
    --lp-tangerine-tint-30: #FFC18E;   /* closing kicker ink (on forest) */
    --lp-tangerine-tint-85: #FCEFE0;   /* selected plan-card fill (pale peach, subtle) */
    --lp-tangerine-shade-10: #E6810F;  /* ATC hover */
    --lp-tangerine-shade-20: #CC7308;  /* ATC active */
    --lp-font-display: var(--bst-font-secondary, "IvyPresto Headline", Georgia, serif);
    --lp-font-body: var(--bst-font-primary, "TT Norms Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif);
    padding: 36px 18px 48px;
    background: var(--lp-beige);
    color: var(--lp-ink);
    font-family: var(--lp-font-body);
  }
  /* Closing instance — forest field, reverse-contrast (Magic Mind dark-section-on-close). */
  .lp-buybox--slot-closing { background: var(--lp-forest); }

  /* Closing kicker — quiet uppercase line above the h2 (editorial print kicker). Closing only. */
  .lp-buybox__kicker { text-align: center; font-size: 11px; text-transform: uppercase; letter-spacing: 0.16em; color: var(--lp-tangerine-tint-30); margin: 0 0 14px; }

  .lp-buybox__h2 { font-family: var(--lp-font-display); font-weight: 300; font-size: 30px; line-height: 1.08; letter-spacing: -0.005em; text-align: center; margin: 0 0 22px; color: var(--lp-ink); }
  .lp-buybox__h2 em { font-style: italic; color: var(--lp-forest); }
  .lp-buybox--slot-closing .lp-buybox__h2 { color: var(--lp-beige); font-size: 28px; margin-bottom: 12px; }
  .lp-buybox--slot-closing .lp-buybox__h2 em { color: var(--lp-tangerine); }

  .lp-buybox__grid { display: flex; flex-direction: column; gap: 22px; margin: 0; }
  /* slot-main: product image + panel are ONE flush card filling the frame — no white gap. */
  .lp-buybox--slot-main .lp-buybox__grid { gap: 0; border: 1px solid var(--lp-line); border-radius: 6px; overflow: hidden; background: var(--lp-white); }
  .lp-buybox--slot-main .lp-buybox__media { border: none; border-radius: 0; }
  .lp-buybox--slot-main .lp-buybox__panel { border: none; border-radius: 0; }
  .lp-buybox--slot-closing .lp-buybox__grid { max-width: 640px; gap: 20px; margin: 0 auto; }   /* center the condensed closing panel in the forest band */

  .lp-buybox__media { background: var(--lp-white); border: 1px solid var(--lp-line); border-radius: 4px; min-height: 220px; display: flex; align-items: center; justify-content: center; color: var(--lp-muted); font-size: 12px; overflow: hidden; }
  .lp-buybox__media-img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .lp-buybox__media-ph { color: var(--lp-muted); font-size: 12px; }

  .lp-buybox__panel { background: var(--lp-white); border: 1px solid var(--lp-line); border-radius: 4px; padding: 26px 22px; }
  /* Center buy-box content when there's no image beside it: the closing instance (all widths)
     and the main instance on mobile (image stacks above). Skio + the welcome checklist stay
     left-aligned; the ATC is full-width. Desktop main reverts to left (image sits beside it). */
  .lp-buybox__panel { text-align: center; }
  .lp-buybox__perday { justify-content: center; }
  .lp-buybox__skio, .lp-buybox__welcome { text-align: left; }

  .lp-buybox__name { font-family: var(--lp-font-display); font-weight: 300; font-size: 20px; line-height: 1.15; margin: 0 0 6px; color: var(--lp-ink); text-align: left; }
  .lp-buybox__name .adapt { color: var(--lp-muted); font-family: var(--lp-font-body); font-size: 11.5px; letter-spacing: 0.02em; display: block; margin-top: 4px; }

  .lp-buybox__rating { display: flex; align-items: center; gap: 8px; margin: 8px 0 18px; min-height: 18px; }
  .lp-buybox__stars { color: var(--lp-tangerine); font-size: 15px; letter-spacing: 2px; line-height: 1; }
  .lp-buybox__rating-count { color: var(--lp-muted); font-size: 13px; }

  /* (Static LP purchase-type radios + their control-label/opt styles removed 2026-06-01 —
     Skio owns the purchase selector now; O-002 reconciliation.) */

  /* Skio zone — Skio's plan picker + purchase + cadence selector render here; LP only frames the spacing (Decision 9). */
  .lp-buybox__skio { margin: 8px 0 18px; }

  /* Welcome-kit slot — tangerine left rail marks it as the load-bearing offer panel (Olipop move).
     A <ul> from C renders as a checked stack; a plain line renders as-is. data-lp markup unchanged. */
  .lp-buybox__welcome { background: var(--lp-beige); border-left: 4px solid var(--lp-tangerine); border-radius: 0 4px 4px 0; padding: 14px 16px; font-size: 13.5px; line-height: 1.55; margin: 0 0 18px; color: var(--lp-ink); }
  .lp-buybox__welcome ul { margin: 0; padding: 0 0 0 4px; list-style: none; }
  .lp-buybox__welcome li { position: relative; padding-left: 22px; margin: 6px 0; }
  .lp-buybox__welcome li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--lp-forest); font-weight: 700; }

  /* (LP cadence container + note removed 2026-06-01 — Skio renders the cadence selector; OQ-B-1.) */

  /* Per-day comparison anchor (Magic Mind): display-italic number + body comparison phrase. */
  .lp-buybox__perday { display: flex; align-items: baseline; gap: 10px; font-size: 13.5px; color: var(--lp-muted); margin: 0 0 20px; padding: 4px 0; }
  .lp-buybox__perday strong { font-family: var(--lp-font-display); font-style: italic; font-weight: 300; font-size: 22px; color: var(--lp-forest); line-height: 1; }

  /* ATC — REUSED theme button (snippets/buy-buttons.liquid: .product-form__submit), styled brand-locked
     HERE because section-main-product.css (where the theme's button + price-in-button styles live) is not
     loaded on the LP layout. Tangerine fill + forest ink (4.51:1 AA; matches the live OM button, operator
     2026-05-30), forest accent rule animating to full width on hover. The price rides INSIDE the button
     (.product-form__submit--price) exactly like the PDP; Skio rewrites .product-form__submit--current-price. */
  .lp-buybox__buy { margin: 8px 0 0; }
  .lp-buybox .product-form { display: block; }
  .lp-buybox .product-form__submit { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; width: 100%; min-height: 52px; padding: 16px; margin: 0; background: var(--lp-tangerine); color: var(--lp-forest); border: 1px solid var(--lp-tangerine); border-radius: 2px; font-family: inherit; font-weight: 600; font-size: 16px; letter-spacing: 0.02em; cursor: pointer; position: relative; transition: background-color 160ms ease, transform 160ms ease; }
  .lp-buybox .product-form__submit::after { content: ""; position: absolute; left: 0; bottom: -6px; width: 50%; height: 3px; background: var(--lp-forest); transition: width 200ms ease; }
  .lp-buybox .product-form__submit:hover { background: var(--lp-tangerine-shade-10); }
  .lp-buybox .product-form__submit:hover::after { width: 100%; }
  .lp-buybox .product-form__submit:active { background: var(--lp-tangerine-shade-20); transform: translateY(1px); }
  .lp-buybox .product-form__submit:focus-visible { outline: 2px solid var(--lp-forest); outline-offset: 3px; }
  .lp-buybox .product-form__submit[disabled] { opacity: 0.6; cursor: not-allowed; }
  .lp-buybox .product-form__submit--price { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
  .lp-buybox .product-form__submit--compare-price { text-decoration: line-through; opacity: 0.7; font-weight: 500; }
  .lp-buybox .product-form__submit .loading__spinner { display: none; }
  .lp-buybox .product-form__submit.loading .loading__spinner { display: inline-flex; }
  /* Closing instance: the accent rule + focus ring shift to beige so they read against the forest band. */
  .lp-buybox--slot-closing .product-form__submit::after { background: var(--lp-beige); }
  .lp-buybox--slot-closing .product-form__submit:focus-visible { outline-color: var(--lp-beige); }
  /* Error wrapper + reassurance/trademark copy under the button (rendered by buy-buttons.liquid). */
  .lp-buybox .product-form__error-message-wrapper { display: flex; gap: 6px; align-items: center; color: #b3261e; font-size: 13px; margin: 0 0 10px; }
  .lp-buybox .product-form__error-message-wrapper[hidden] { display: none; }
  .lp-buybox .buy-button-discount-callout { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 12px 0 0; font-size: 13px; color: var(--lp-forest); font-weight: 600; }
  .lp-buybox .buy-button-text-below { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 12px 0 0; font-size: 12px; letter-spacing: 0.02em; color: var(--lp-muted); }
  .lp-buybox .buy-button-text-below p { margin: 0; }
  .lp-buybox .buy-button-text-below svg, .lp-buybox .buy-button-discount-callout svg { width: 16px; height: 16px; }
  .lp-buybox .trademark-text { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 10px 0 0; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--lp-muted); }
  .lp-buybox .trademark-text svg { width: 14px; height: 14px; }
  .lp-buybox--slot-closing .buy-button-text-below, .lp-buybox--slot-closing .trademark-text { color: var(--lp-beige); opacity: 0.85; }

  /* Guarantee — MAIN: quiet microcopy under the ATC. */
  .lp-buybox__guarantee { text-align: center; font-size: 12px; letter-spacing: 0.04em; color: var(--lp-muted); margin: 16px 0 0; }
  /* Guarantee — CLOSING: standalone risk-reversal callout (tangerine rail + display heading), BEFORE the ATC (F-001). */
  .lp-buybox--slot-closing .lp-buybox__guarantee { background: var(--lp-beige); border-left: 4px solid var(--lp-tangerine); border-radius: 0 4px 4px 0; padding: 16px 18px; margin: 0 0 18px; text-align: left; font-size: 13.5px; letter-spacing: 0; color: var(--lp-ink); line-height: 1.5; }
  .lp-buybox--slot-closing .lp-buybox__guarantee strong { display: block; font-family: var(--lp-font-display); font-style: italic; font-weight: 300; font-size: 18px; color: var(--lp-forest); margin-bottom: 6px; line-height: 1.15; }

  /* ===== Custom size + plan selector (2026-06-18; replaces the Skio shadow-DOM widget) =====
     One DOM, two skins: plan-cards (light, default) + bold-forest (dark field) switch via the
     lp_style modifier class. Selected state = tangerine border + tint; tokens bound to --lp-* only. */
  .lp-buybox__sizelabel { font-family: var(--lp-font-body); text-transform: uppercase; letter-spacing: 0.14em; font-size: 10px; color: var(--lp-muted); margin: 2px 0 8px; text-align: left; }
  .lp-buybox__sizes { display: flex; gap: 8px; margin: 0 0 16px; }
  .lp-buybox__size { flex: 1; position: relative; min-height: 46px; padding: 12px 8px; border: 1.5px solid var(--lp-line); border-radius: 6px; background: var(--lp-white); font-family: var(--lp-font-body); font-weight: 600; font-size: 13.5px; color: var(--lp-ink); cursor: pointer; transition: border-color 160ms ease, background-color 160ms ease; }
  .lp-buybox__size.is-sel { border-color: var(--lp-forest); background: var(--lp-forest-tint-30); }
  .lp-buybox__size:focus-visible { outline: 2px solid var(--lp-forest); outline-offset: 2px; }
  .lp-buybox__size-tag { position: absolute; top: -9px; right: 8px; background: var(--lp-tangerine); color: var(--lp-forest); font-size: 8.5px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; padding: 2px 7px; border-radius: 99px; }

  .lp-buybox__plans { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; margin: 6px 0 14px; }
  .lp-buybox__plan { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 3px; padding: 18px 12px 16px; border: 2px solid var(--lp-line); border-radius: 8px; background: var(--lp-white); cursor: pointer; font-family: var(--lp-font-body); color: var(--lp-ink); transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease; }
  .lp-buybox__plan-ribbon { position: absolute; top: -10px; left: 50%; transform: translateX(-50%); background: var(--lp-forest); color: var(--lp-beige); font-size: 9px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 4px 10px; border-radius: 99px; white-space: nowrap; }
  .lp-buybox__plan-lab { font-weight: 700; font-size: 13px; }
  .lp-buybox__plan-badge { display: none; }  /* the ribbon already states the saving in card view */
  .lp-buybox__plan-price { font-family: var(--lp-font-display); font-weight: 300; font-size: 27px; line-height: 1; margin: 6px 0 1px; color: var(--lp-ink); }
  .lp-buybox__plan-sub { font-size: 11px; color: var(--lp-muted); }
  .lp-buybox__plan-ship { margin-top: 9px; font-size: 11px; }
  .lp-buybox__plan-ship--free { background: var(--lp-forest); color: var(--lp-beige); font-weight: 700; letter-spacing: 0.02em; padding: 5px 11px; border-radius: 99px; }
  .lp-buybox__plan-ship--paid { color: var(--lp-muted); font-weight: 500; margin-top: 11px; }
  .lp-buybox__plan.is-sel { border-color: var(--lp-tangerine); background: var(--lp-tangerine-tint-85); box-shadow: 0 6px 16px -12px rgba(255,143,28,0.45); }
  .lp-buybox__plan:focus-visible { outline: 2px solid var(--lp-forest); outline-offset: 2px; }

  .lp-buybox__freq { display: flex; align-items: center; justify-content: space-between; border: 1.5px solid var(--lp-line); border-radius: 6px; padding: 13px 15px; font-size: 12.5px; color: var(--lp-ink); margin: 0 0 16px; }
  .lp-buybox__freq b { font-weight: 700; }
  .lp-buybox__freq-caret { color: var(--lp-muted); font-size: 11px; }

  /* Trust row — one small reassurance line under the ATC (matches the comp). */
  .lp-buybox__trust { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 18px; margin: 14px 0 0; font-size: 11.5px; color: var(--lp-muted); }
  .lp-buybox__trust span { display: inline-flex; align-items: center; gap: 5px; }
  {%- comment -%} Light-beige trust text is ONLY for the forest skin (readable on forest). slot-closing renders on a WHITE card now, so it must keep the dark muted default — beige-on-white was unreadable. {%- endcomment -%}
  .lp-buybox--bold-forest .lp-buybox__trust { color: rgba(241,231,219,0.72); }

  /* ---- BOLD-FOREST skin: forest field, beige type (lp_style = bold-forest) ---- */
  .lp-buybox--bold-forest { background: var(--lp-forest); }
  .lp-buybox--bold-forest .lp-buybox__h2 { color: var(--lp-beige); }
  .lp-buybox--bold-forest .lp-buybox__h2 em { color: var(--lp-tangerine); }
  .lp-buybox--bold-forest .lp-buybox__name,
  .lp-buybox--bold-forest .lp-buybox__sizelabel { color: var(--lp-beige); }
  .lp-buybox--bold-forest .lp-buybox__size { background: rgba(241,231,219,0.06); border-color: rgba(241,231,219,0.22); color: var(--lp-beige); }
  .lp-buybox--bold-forest .lp-buybox__size.is-sel { background: var(--lp-beige); border-color: var(--lp-tangerine); color: var(--lp-forest); }
  .lp-buybox--bold-forest .lp-buybox__plan { background: rgba(241,231,219,0.06); border-color: rgba(241,231,219,0.22); color: var(--lp-beige); }
  .lp-buybox--bold-forest .lp-buybox__plan-price { color: #fff; }
  .lp-buybox--bold-forest .lp-buybox__plan-sub { color: rgba(241,231,219,0.7); }
  .lp-buybox--bold-forest .lp-buybox__plan.is-sel { background: var(--lp-beige); border-color: var(--lp-tangerine); }
  .lp-buybox--bold-forest .lp-buybox__plan.is-sel .lp-buybox__plan-lab,
  .lp-buybox--bold-forest .lp-buybox__plan.is-sel .lp-buybox__plan-price { color: var(--lp-forest); }
  .lp-buybox--bold-forest .lp-buybox__plan.is-sel .lp-buybox__plan-sub { color: #5b6b5e; }
  .lp-buybox--bold-forest .lp-buybox__freq { background: rgba(241,231,219,0.06); border-color: rgba(241,231,219,0.22); color: var(--lp-beige); }

  /* Respect reduced motion. */
  @media (prefers-reduced-motion: reduce) {
    .lp-buybox .product-form__submit, .lp-buybox .product-form__submit::after,
    .lp-buybox__size, .lp-buybox__plan { transition: none; }
    .lp-buybox .product-form__submit:active { transform: none; }
  }

  /* ===== Desktop expansion — single 750px breakpoint (D35) ===== */
  @media (min-width: 750px) {
    .lp-buybox { padding: 80px 48px; }
    .lp-buybox--slot-closing { padding: 72px 48px; }
    .lp-buybox__h2 { font-size: 44px; margin-bottom: 36px; letter-spacing: -0.012em; }
    .lp-buybox--slot-closing .lp-buybox__h2 { font-size: 40px; margin-bottom: 16px; }
    .lp-buybox__kicker { font-size: 12px; letter-spacing: 0.18em; margin-bottom: 18px; }
    .lp-buybox__grid { flex-direction: row; align-items: flex-start; gap: 48px; }
    .lp-buybox__media { flex: 1 1 45%; min-height: 420px; }
    .lp-buybox__panel { flex: 1 1 55%; padding: 32px; }
    .lp-buybox--slot-main .lp-buybox__panel { text-align: left; }
    .lp-buybox--slot-main .lp-buybox__perday { justify-content: flex-start; }
    .lp-buybox__name { font-size: 24px; }
    .lp-buybox--slot-closing .lp-buybox__name { font-size: 22px; }
    /* Closing is condensed: a single centered panel (no media zone). */
    .lp-buybox--slot-closing .lp-buybox__grid { max-width: 640px; }
  }
/* END_SECTION:lp-buy-box */

/* START_SECTION:lp-closing-cta (INDEX:37) */
.lp-close {
    --lp-forest: var(--color-primary-forest, #284734);
    --lp-tangerine: var(--color-primary-tangerine, #FF8F1C);
    --lp-beige: var(--color-primary-beige, #F1E7DB);
    --lp-cream-soft: #E5DECE;          /* meta line on forest (ADR-9 neutral) */
    --lp-tangerine-tint-30: #FFC18E;   /* kicker on forest (ADR-9 tangerine tint) */
    --lp-tangerine-shade-10: #E6810F;  /* CTA hover (ADR-9) */
    --lp-tangerine-shade-20: #CC7308;  /* CTA active (ADR-9) */
    --lp-font-display: var(--bst-font-secondary, "IvyPresto Headline", Georgia, serif);
    --lp-font-body: var(--bst-font-primary, "TT Norms Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif);
    background: var(--lp-forest);
    color: var(--lp-beige);
    font-family: var(--lp-font-body);
    padding: 48px 24px;
  }
  .lp-close__inner { max-width: 640px; margin: 0 auto; text-align: center; }
  .lp-close__kicker { font-size: 11px; text-transform: uppercase; letter-spacing: 0.16em; color: var(--lp-tangerine-tint-30); margin: 0 0 14px; }
  /* The locked brand line, display face; the second word leans italic (the editorial beat). */
  .lp-close__h2 {
    font-family: var(--lp-font-display); font-weight: 300;
    font-size: 34px; line-height: 1.05; letter-spacing: -0.01em;
    margin: 0 0 12px; color: var(--lp-beige);
  }
  .lp-close__h2 em { font-style: italic; color: var(--lp-tangerine); }
  .lp-close__meta { font-size: 13px; letter-spacing: 0.02em; color: var(--lp-cream-soft); margin: 0 0 24px; }
  /* CTA — the single closing action. Tangerine fill + forest ink, identical to the hero + buy-box ATC. */
  .lp-close__cta {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 52px; min-width: 44px; padding: 15px 34px;
    background: var(--lp-tangerine); color: var(--lp-forest);
    font: inherit; font-weight: 600; font-size: 16px; letter-spacing: 0.015em;
    text-decoration: none; border: 1px solid var(--lp-tangerine); border-radius: 2px;
    position: relative; transition: background-color 160ms ease, transform 160ms ease;
  }
  /* Accent rule beneath the CTA, beige so it reads on the forest field; grows on hover (the house move). */
  .lp-close__cta::after { content: ""; position: absolute; left: 0; bottom: -6px; width: 50%; height: 3px; background: var(--lp-beige); transition: width 200ms ease; }
  .lp-close__cta:hover { background: var(--lp-tangerine-shade-10); }
  .lp-close__cta:hover::after { width: 100%; }
  .lp-close__cta:active { background: var(--lp-tangerine-shade-20); transform: translateY(1px); }
  .lp-close__cta:focus-visible { outline: 2px solid var(--lp-beige); outline-offset: 3px; }
  @media (prefers-reduced-motion: reduce) {
    .lp-close__cta, .lp-close__cta::after { transition: none; }
    .lp-close__cta:active { transform: none; }
  }
  /* ===== Desktop expansion — single 750px breakpoint (D35) ===== */
  @media (min-width: 750px) {
    .lp-close { padding: 64px 48px; }
    .lp-close__h2 { font-size: 46px; margin-bottom: 14px; }
    .lp-close__meta { font-size: 14px; margin-bottom: 28px; }
  }
/* END_SECTION:lp-closing-cta */

/* START_SECTION:lp-comparison (INDEX:38) */
.lp-comp {
    --lp-forest: var(--color-primary-forest, #284734);
    --lp-beige: var(--color-primary-beige, #F1E7DB);
    --lp-white: var(--color-primary-white, #ffffff);
    --lp-ink: var(--color-text-main, #232323);
    --lp-body: #3a372f;
    --lp-muted: #6f6b62;
    --lp-line: #d8d4cb;
    --lp-forest-soft: #E9EFE9;   /* pale forest tint for the "us" column (ADR-9) */
    --lp-font-display: var(--bst-font-secondary, "IvyPresto Headline", Georgia, serif);
    --lp-font-body: var(--bst-font-primary, "TT Norms Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif);
    background: var(--lp-white);
    color: var(--lp-ink);
    font-family: var(--lp-font-body);
    padding: 48px 24px;
  }
  .lp-comp__head { text-align: center; max-width: 640px; margin: 0 auto; }
  .lp-comp__h2 {
    font-family: var(--lp-font-display); font-weight: 300;
    font-size: 30px; line-height: 1.12; letter-spacing: -0.005em;
    margin: 0 0 14px; color: var(--lp-ink);
  }
  .lp-comp__lead { font-size: 16px; line-height: 1.6; color: var(--lp-body); margin: 0 auto 0; max-width: 540px; }
  .lp-comp__footnote { font-size: 12px; line-height: 1.5; color: var(--lp-muted); text-align: center; max-width: 900px; margin: 14px auto 0; }
  .lp-comp__wrap { max-width: 900px; margin: 32px auto 0; overflow-x: auto; }
  /* table-layout:fixed makes the table honor width:100% and WRAP inside its columns
     instead of forcing a min-content floor that pushes the whole page frame wider
     than the mobile viewport (the colgroup sets the proportions). */
  .lp-comp__table { width: 100%; table-layout: fixed; border-collapse: collapse; border: 1px solid var(--lp-line); border-radius: 6px; overflow: hidden; }
  .lp-comp__col-label { width: 37%; }
  .lp-comp__col-v { width: 21%; }
  .lp-comp__vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .lp-comp__table th, .lp-comp__table td {
    padding: 12px 8px; text-align: center; font-size: 13px;
    border-bottom: 1px solid var(--lp-line); vertical-align: middle;
    overflow-wrap: break-word;
  }
  .lp-comp__table tbody tr:last-child th, .lp-comp__table tbody tr:last-child td { border-bottom: none; }
  /* Row labels — left, on a beige rail. */
  .lp-comp__table tbody th[scope="row"] {
    text-align: left; font-weight: 600; color: var(--lp-ink);
    background: var(--lp-beige); font-size: 12.5px; width: 38%;
  }
  /* Column heads — forest field; the "us" head is the brighter forest. */
  .lp-comp__table thead th {
    background: var(--lp-ink, #232323); color: #f6f3ec;
    font-size: 11px; letter-spacing: 0.04em; text-transform: uppercase; font-weight: 600; padding: 12px 6px;
  }
  .lp-comp__table thead th.lp-comp__us { background: var(--lp-forest); }
  /* The "us" body cells — pale forest highlight. */
  .lp-comp__table td.lp-comp__us { background: var(--lp-forest-soft); color: var(--lp-forest); font-weight: 600; }
  .lp-comp__table td.lp-comp__us b { font-family: var(--lp-font-display); font-weight: 300; font-size: 17px; }
  .lp-comp__yes { color: var(--lp-forest); font-weight: 700; font-size: 15px; }
  .lp-comp__no { color: #b8b3a5; }
  .lp-comp__table tbody td { color: var(--lp-muted); }
  /* ===== Desktop expansion — single 750px breakpoint (D35) ===== */
  @media (min-width: 750px) {
    .lp-comp { padding: 76px 48px; }
    .lp-comp__h2 { font-size: 40px; letter-spacing: -0.012em; margin-bottom: 16px; }
    .lp-comp__lead { font-size: 17.5px; }
    .lp-comp__wrap { margin-top: 44px; }
    .lp-comp__table th, .lp-comp__table td { padding: 16px 14px; font-size: 14px; }
    .lp-comp__table thead th { font-size: 12px; letter-spacing: 0.06em; }
    .lp-comp__table tbody th[scope="row"] { font-size: 14px; }
    .lp-comp__table td.lp-comp__us b { font-size: 19px; }
  }
/* END_SECTION:lp-comparison */

/* START_SECTION:lp-difference (INDEX:39) */
.lp-diff {
    --lp-forest: var(--color-primary-forest, #284734);
    --lp-beige: var(--color-primary-beige, #F1E7DB);
    --lp-white: var(--color-primary-white, #ffffff);
    --lp-ink: var(--color-text-main, #232323);
    --lp-body: #3a372f;          /* warm body ink (ADR-9 neutral) */
    --lp-line: #d8d4cb;          /* hairline (no theme token) */
    --lp-font-display: var(--bst-font-secondary, "IvyPresto Headline", Georgia, serif);
    --lp-font-body: var(--bst-font-primary, "TT Norms Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif);
    background: var(--lp-white);
    color: var(--lp-ink);
    font-family: var(--lp-font-body);
    padding: 48px 24px;
  }
  .lp-diff__head { text-align: center; max-width: 640px; margin: 0 auto; }
  .lp-diff__h2 {
    font-family: var(--lp-font-display); font-weight: 300;
    font-size: 30px; line-height: 1.12; letter-spacing: -0.005em;
    margin: 0 0 14px; color: var(--lp-ink);
  }
  .lp-diff__lead { font-size: 16px; line-height: 1.6; color: var(--lp-body); margin: 0 auto; max-width: 560px; }
  .lp-diff__grid {
    list-style: none; margin: 32px 0 0; padding: 0;
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px;
  }
  .lp-diff__card {
    background: var(--lp-beige); border: 1px solid var(--lp-line); border-radius: 6px;
    padding: 26px 20px; text-align: center;
    display: flex; flex-direction: column; align-items: center;
  }
  /* Forest line-glyph — same visual language as the trust-strip seal, ties the bands together. */
  .lp-diff__icon { color: var(--lp-forest); margin-bottom: 14px; display: inline-flex; }
  .lp-diff__card-title {
    font-family: var(--lp-font-display); font-weight: 300;
    font-size: 18px; line-height: 1.22; margin: 0 0 8px; color: var(--lp-ink);
  }
  .lp-diff__card-body { font-size: 13.5px; line-height: 1.55; color: var(--lp-body); margin: 0; }
  /* ===== Desktop expansion — single 750px breakpoint (D35) ===== */
  @media (min-width: 750px) {
    .lp-diff { padding: 76px 48px; }
    .lp-diff__h2 { font-size: 40px; letter-spacing: -0.012em; margin-bottom: 16px; }
    .lp-diff__lead { font-size: 17.5px; }
    .lp-diff__grid { grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 44px; }
    .lp-diff__card { padding: 30px 22px; }
    .lp-diff__card-title { font-size: 19px; }
  }
/* END_SECTION:lp-difference */

/* START_SECTION:lp-faq (INDEX:40) */
.lp-faq {
    --lp-forest: var(--color-primary-forest, #284734);
    --lp-white: var(--color-primary-white, #ffffff);
    --lp-ink: var(--color-text-main, #232323);
    --lp-body: #3a372f;
    --lp-line: #d8d4cb;
    --lp-font-display: var(--bst-font-secondary, "IvyPresto Headline", Georgia, serif);
    --lp-font-body: var(--bst-font-primary, "TT Norms Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif);
    background: var(--lp-white);
    color: var(--lp-ink);
    font-family: var(--lp-font-body);
    padding: 48px 24px;
  }
  .lp-faq__head { text-align: center; max-width: 640px; margin: 0 auto; }
  .lp-faq__h2 {
    font-family: var(--lp-font-display); font-weight: 300;
    font-size: 30px; line-height: 1.12; letter-spacing: -0.005em;
    margin: 0; color: var(--lp-ink);
  }
  .lp-faq__list { max-width: 720px; margin: 30px auto 0; }
  .lp-faq__item { border-bottom: 1px solid var(--lp-line); padding: 4px 0; }
  .lp-faq__item:first-child { border-top: 1px solid var(--lp-line); }
  .lp-faq__q {
    list-style: none; cursor: pointer; padding: 18px 4px;
    display: flex; justify-content: space-between; align-items: center; gap: 16px;
    font-size: 16px; font-weight: 600; color: var(--lp-ink);
  }
  .lp-faq__q::-webkit-details-marker { display: none; }
  /* +/− affordance in forest (display weight), flips on open. */
  .lp-faq__q::after { content: "+"; font-family: var(--lp-font-display); font-weight: 300; font-size: 24px; color: var(--lp-forest); line-height: 1; flex: 0 0 auto; }
  .lp-faq__item[open] .lp-faq__q::after { content: "−"; }
  .lp-faq__a { padding: 0 4px 18px; }
  .lp-faq__a p { margin: 0; font-size: 14.5px; line-height: 1.62; color: var(--lp-body); max-width: 60ch; }
  /* ===== Desktop expansion — single 750px breakpoint (D35) ===== */
  @media (min-width: 750px) {
    .lp-faq { padding: 76px 48px; }
    .lp-faq__h2 { font-size: 40px; letter-spacing: -0.012em; }
    .lp-faq__list { margin-top: 40px; }
    .lp-faq__q { font-size: 17px; padding: 20px 4px; }
  }
/* END_SECTION:lp-faq */

/* START_SECTION:lp-founder-video (INDEX:41) */
.lp-video {
    --lp-forest: var(--color-primary-forest, #284734);
    --lp-beige: var(--color-primary-beige, #F1E7DB);
    --lp-white: var(--color-primary-white, #ffffff);
    --lp-ink: var(--color-text-main, #232323);
    --lp-forest-deep: #1a2820;   /* poster gradient stop (ADR-9 forest shade) */
    --lp-font-display: var(--bst-font-secondary, "IvyPresto Headline", Georgia, serif);
    --lp-font-body: var(--bst-font-primary, "TT Norms Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif);
    background: var(--lp-white);
    color: var(--lp-ink);
    font-family: var(--lp-font-body);
    padding: 48px 24px;
  }
  .lp-video__head { text-align: center; max-width: 640px; margin: 0 auto; }
  .lp-video__h2 {
    font-family: var(--lp-font-display); font-weight: 300;
    font-size: 30px; line-height: 1.12; letter-spacing: -0.005em;
    margin: 0; color: var(--lp-ink);
  }
  .lp-video__frame-wrap { display: flex; justify-content: center; margin-top: 30px; }
  .lp-video__frame {
    position: relative; display: flex; align-items: center; justify-content: center;
    width: 100%; max-width: 760px; aspect-ratio: 16 / 9; border-radius: 8px; overflow: hidden;
    text-decoration: none; background: var(--lp-forest);
  }
  .lp-video__frame--ph { background: linear-gradient(135deg, var(--lp-forest) 0%, var(--lp-forest-deep) 100%); }
  .lp-video__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  /* Play button — beige disc, forest glyph, nudged for optical center. */
  .lp-video__play {
    position: relative; z-index: 1;
    width: 74px; height: 74px; border-radius: 50%;
    background: rgba(241,231,219,0.95); color: var(--lp-forest);
    display: flex; align-items: center; justify-content: center; padding-left: 4px;
    transition: transform 160ms ease, background-color 160ms ease;
  }
  .lp-video__frame:hover .lp-video__play { transform: scale(1.06); background: var(--lp-beige); }
  .lp-video__frame:focus-visible { outline: 2px solid var(--lp-forest); outline-offset: 3px; }
  .lp-video__caption {
    position: absolute; bottom: 14px; left: 16px; z-index: 1;
    color: var(--lp-beige); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
    text-shadow: 0 1px 3px rgba(0,0,0,0.35);
  }
  @media (prefers-reduced-motion: reduce) {
    .lp-video__play, .lp-video__frame:hover .lp-video__play { transition: none; transform: none; }
  }
  /* ===== Desktop expansion — single 750px breakpoint (D35) ===== */
  @media (min-width: 750px) {
    .lp-video { padding: 76px 48px; }
    .lp-video__h2 { font-size: 40px; letter-spacing: -0.012em; }
    .lp-video__frame-wrap { margin-top: 40px; }
    .lp-video__play { width: 84px; height: 84px; }
  }
/* END_SECTION:lp-founder-video */

/* START_SECTION:lp-grow-story (INDEX:42) */
.lp-grow {
    --lp-forest: var(--color-primary-forest, #284734);
    --lp-beige: var(--color-primary-beige, #F1E7DB);
    --lp-ink: var(--color-text-main, #232323);
    --lp-body: #3a372f;
    --lp-line: #d8d4cb;
    --lp-forest-deep: #1a2820;   /* gradient stop (ADR-9 forest shade) */
    --lp-sage: #5b6f4a;          /* gradient stop (ADR-9 forest tint) */
    --lp-font-display: var(--bst-font-secondary, "IvyPresto Headline", Georgia, serif);
    --lp-font-body: var(--bst-font-primary, "TT Norms Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif);
    background: var(--lp-beige);
    color: var(--lp-ink);
    font-family: var(--lp-font-body);
  }
  /* Two-column split filling the frame — image bleeds to the edge, no inner max-width. */
  .lp-grow__grid { display: grid; grid-template-columns: 1fr; }
  .lp-grow__media { width: 100%; min-height: 280px; }
  .lp-grow__img { display: block; width: 100%; height: 100%; min-height: 280px; object-fit: cover; }
  /* Styled fallback — forest field evoking the grow rooms, with a quiet location caption. */
  .lp-grow__img--ph {
    background: linear-gradient(135deg, #3d5a42 0%, var(--lp-forest) 42%, var(--lp-sage) 100%);
    display: flex; align-items: flex-end; padding: 22px;
  }
  .lp-grow__ph-label {
    font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255,255,255,0.6);
  }
  .lp-grow__copy { padding: 44px 24px; }
  .lp-grow__eyebrow { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--lp-forest); margin: 0 0 14px; }
  .lp-grow__h2 {
    font-family: var(--lp-font-display); font-weight: 300;
    font-size: 30px; line-height: 1.1; letter-spacing: -0.005em;
    margin: 0 0 18px; color: var(--lp-ink); text-align: left;
  }
  .lp-grow__body p { font-size: 15px; line-height: 1.7; color: var(--lp-body); margin: 0 0 16px; max-width: 52ch; }
  .lp-grow__body p:last-child { margin-bottom: 0; }
  /* Quiet text link — forest, underlined, secondary action (page-system action rule). */
  .lp-grow__link {
    display: inline-block; margin-top: 18px; font-size: 13px; font-weight: 600;
    letter-spacing: 0.02em; color: var(--lp-forest); text-decoration: underline; text-underline-offset: 3px;
    min-height: 44px; line-height: 44px;
  }
  .lp-grow__link:focus-visible { outline: 2px solid var(--lp-forest); outline-offset: 3px; }
  /* ===== Desktop expansion — single 750px breakpoint (D35) ===== */
  @media (min-width: 750px) {
    .lp-grow__grid { grid-template-columns: 1fr 1fr; align-items: stretch; min-height: 520px; }
    .lp-grow__media { min-height: 100%; }
    .lp-grow__img, .lp-grow__img--ph { min-height: 100%; }
    .lp-grow__copy { padding: 72px 56px; display: flex; flex-direction: column; justify-content: center; }
    .lp-grow__h2 { font-size: 38px; margin-bottom: 20px; letter-spacing: -0.012em; }
  }
/* END_SECTION:lp-grow-story */

/* START_SECTION:lp-guarantee (INDEX:43) */
.lp-guar {
    --lp-forest: var(--color-primary-forest, #284734);
    --lp-forest-soft: #E9EFE9;   /* pale forest tint surface (ADR-9 — tint of forest, no new hue) */
    --lp-forest-body: #2c4030;   /* body ink on forest-soft (ADR-9 forest tint) */
    --lp-font-display: var(--bst-font-secondary, "IvyPresto Headline", Georgia, serif);
    --lp-font-body: var(--bst-font-primary, "TT Norms Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif);
    background: var(--lp-forest-soft);
    color: var(--lp-forest);
    font-family: var(--lp-font-body);
    padding: 48px 24px;
  }
  .lp-guar__inner { max-width: 640px; margin: 0 auto; text-align: center; }
  .lp-guar__h2 {
    font-family: var(--lp-font-display); font-weight: 300;
    font-size: 30px; line-height: 1.12; letter-spacing: -0.005em;
    margin: 0 0 16px; color: var(--lp-forest);
  }
  .lp-guar__lead { font-size: 16px; line-height: 1.66; color: var(--lp-forest-body); margin: 0 auto; max-width: 540px; }
  .lp-guar__meta { margin: 22px 0 0; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--lp-forest); }
  /* ===== Desktop expansion — single 750px breakpoint (D35) ===== */
  @media (min-width: 750px) {
    .lp-guar { padding: 72px 48px; }
    .lp-guar__h2 { font-size: 40px; letter-spacing: -0.012em; margin-bottom: 18px; }
    .lp-guar__lead { font-size: 17.5px; }
  }
/* END_SECTION:lp-guarantee */

/* START_SECTION:lp-hero (INDEX:44) */
.lp-hero {
    /* base brand tokens — inherit the live theme palette, hex fallback keeps the section standalone-renderable */
    --lp-forest: var(--color-primary-forest, #284734);
    --lp-tangerine: var(--color-primary-tangerine, #FF8F1C);
    --lp-beige: var(--color-primary-beige, #F1E7DB);
    --lp-white: var(--color-primary-white, #ffffff);
    --lp-ink: var(--color-text-main, #232323);
    /* A1 neutrals (no theme token) */
    --lp-muted: #6f6b62;
    --lp-line: #d8d4cb;
    /* derived tints/shades (ADR-9, literal — computed derivatives of the base tokens) */
    --lp-tangerine-shade-10: #E6810F;  /* CTA hover */
    --lp-tangerine-shade-20: #CC7308;  /* CTA active */
    --lp-beige-shade-10: #D9CFC1;      /* softer rule above the stat strip */
    --lp-font-display: var(--bst-font-secondary, "IvyPresto Headline", Georgia, serif);
    /* Body = brand TT Norms Pro (--bst-font-primary). NOT --font-body-family: that resolves to the
       theme's Dawn body-font setting (Assistant), which drifted the subhead off-brand (caught by verify 2026-06-02). */
    --lp-font-body: var(--bst-font-primary, "TT Norms Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif);
    display: flex;
    flex-direction: column;
    background: var(--lp-white);
    color: var(--lp-ink);
    font-family: var(--lp-font-body);
  }
  .lp-hero__media { width: 100%; }
  /* Height cap keeps the LCP image compact so the headline + CTA stay above the fold on mobile. */
  .lp-hero__img {
    display: block; width: 100%; height: 220px; object-fit: cover;
    background: var(--lp-beige); border-bottom: 1px solid var(--lp-line);
  }
  /* Editorial-bold rhythm: generous side padding + breathing room around the headline (AG1 whitespace move). */
  .lp-hero__copy { padding: 32px 20px 28px; max-width: 38ch; }
  /* The h1 carries the editorial weight. Italic on the brand-promise em is the Magic Mind move —
     the FACE change creates the beat, not a color shift on the whole line. */
  .lp-hero__h1 {
    font-family: var(--lp-font-display); font-weight: 500;
    font-size: 34px; line-height: 1.05; letter-spacing: -0.005em;
    margin: 0 0 16px; color: var(--lp-ink);
  }
  .lp-hero__h1 em { font-style: italic; color: var(--lp-forest); }
  .lp-hero__sub {
    font-size: 16.5px; line-height: 1.55; color: #3a372f;
    margin: 0 0 24px; max-width: 52ch;       /* extra space before the CTA — editorial pacing */
  }
  /* Soft CTA — the only hero CTA. Tangerine fill + forest ink (4.51:1 AA; matches the live OM button,
     operator 2026-05-30). Tangerine border, forest accent rule beneath. Tap target >=44x44 (ADR-6). */
  .lp-hero__cta {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 48px; min-width: 44px; padding: 14px 26px;
    background: var(--lp-tangerine); color: var(--lp-forest);
    font: inherit; font-weight: 600; font-size: 15px; letter-spacing: 0.015em;
    text-decoration: none; border: 1px solid var(--lp-tangerine); border-radius: 2px;
    position: relative;
    transition: background-color 160ms ease, transform 160ms ease;
  }
  /* Accent rule beneath the CTA, ½ width, forest so it stays visible on the tangerine button;
     animates to full width on hover (editorial "rule under headline" move). */
  .lp-hero__cta::after {
    content: ""; position: absolute; left: 0; bottom: -6px;
    width: 50%; height: 3px; background: var(--lp-forest);
    transition: width 200ms ease;
  }
  .lp-hero__cta:hover { background: var(--lp-tangerine-shade-10); }
  .lp-hero__cta:hover::after { width: 100%; }
  .lp-hero__cta:active { background: var(--lp-tangerine-shade-20); transform: translateY(1px); }
  .lp-hero__cta:focus-visible { outline: 2px solid var(--lp-forest); outline-offset: 3px; }
  /* Stat strip — 2x2 mobile, 1x4 desktop. Quiet pull-out facts under a thin rule (AG1 understated-stat move). */
  .lp-hero__stats {
    list-style: none; margin: 28px 0 0; padding: 18px 0 0;
    border-top: 1px solid var(--lp-beige-shade-10);
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px 14px;
  }
  .lp-hero__stat { font-size: 10.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--lp-muted); text-align: center; }
  .lp-hero__stat-value {
    display: block; font-family: var(--lp-font-display); font-weight: 500;
    font-size: 24px; line-height: 1; margin-bottom: 4px;
    letter-spacing: 0; text-transform: none; color: var(--lp-ink);
  }
  /* Respect reduced motion: no transitions, no animated underline. */
  @media (prefers-reduced-motion: reduce) {
    .lp-hero__cta, .lp-hero__cta::after { transition: none; }
    .lp-hero__cta:active { transform: none; }
  }
  /* ===== Desktop expansion — single 750px breakpoint (D35) ===== */
  @media (min-width: 750px) {
    .lp-hero { flex-direction: row; align-items: stretch; }
    .lp-hero__media { order: 2; flex: 1 1 45%; min-width: 0; }
    .lp-hero__img { height: 100%; min-height: 460px; border-bottom: none; border-left: 1px solid var(--lp-line); }
    .lp-hero__copy {
      order: 1; flex: 1 1 55%; min-width: 0; padding: 72px 56px 56px; max-width: none;
      display: flex; flex-direction: column; justify-content: center;
    }
    .lp-hero__h1 { font-size: 56px; letter-spacing: -0.012em; margin-bottom: 20px; }
    .lp-hero__sub { font-size: 18px; margin-bottom: 28px; }
    /* Even distribution across the copy column — equal gaps between each stat. */
    /* Always a 2x2 grid on desktop (two on top, two on bottom). Capped width + the
       space-between columns keep the block pulled toward the left/center instead of
       stretching the four stats edge-to-edge across a wide copy column (operator 2026-06-24). */
    .lp-hero__stats { display: grid; grid-template-columns: repeat(2, max-content); justify-content: space-between; gap: 30px 16px; max-width: 420px; margin-top: 36px; padding-top: 22px; }
    .lp-hero__stat { flex: 0 0 auto; }
    .lp-hero__stat-value { font-size: 28px; }
  }
/* END_SECTION:lp-hero */

/* START_SECTION:lp-how-it-works (INDEX:45) */
.lp-how {
    --lp-forest: var(--color-primary-forest, #284734);
    --lp-white: var(--color-primary-white, #ffffff);
    --lp-ink: var(--color-text-main, #232323);
    --lp-body: #3a372f;
    --lp-muted: #6f6b62;
    --lp-line: #d8d4cb;
    --lp-font-display: var(--bst-font-secondary, "IvyPresto Headline", Georgia, serif);
    --lp-font-body: var(--bst-font-primary, "TT Norms Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif);
    background: var(--lp-white);
    color: var(--lp-ink);
    font-family: var(--lp-font-body);
    padding: 48px 24px;
  }
  .lp-how__head { text-align: center; max-width: 640px; margin: 0 auto; }
  .lp-how__h2 {
    font-family: var(--lp-font-display); font-weight: 300;
    font-size: 30px; line-height: 1.12; letter-spacing: -0.005em;
    margin: 0 0 14px; color: var(--lp-ink);
  }
  .lp-how__lead { font-size: 16px; line-height: 1.6; color: var(--lp-body); margin: 0 auto; max-width: 540px; }
  .lp-how__steps {
    list-style: none; margin: 36px 0 0; padding: 0;
    display: grid; grid-template-columns: 1fr; gap: 30px;
  }
  .lp-how__step { text-align: center; }
  /* The display number IS the icon — forest, light, large (editorial beat). */
  .lp-how__num {
    display: inline-block; font-family: var(--lp-font-display); font-weight: 300;
    font-size: 44px; line-height: 1; color: var(--lp-forest); margin-bottom: 10px;
  }
  .lp-how__step-title {
    font-family: var(--lp-font-display); font-weight: 300;
    font-size: 24px; line-height: 1.1; margin: 0 0 7px; color: var(--lp-ink);
  }
  .lp-how__step-caption { font-size: 14px; line-height: 1.55; color: var(--lp-muted); margin: 0 auto; max-width: 30ch; }
  /* ===== Desktop expansion — single 750px breakpoint (D35) ===== */
  @media (min-width: 750px) {
    .lp-how { padding: 76px 48px; }
    .lp-how__h2 { font-size: 40px; letter-spacing: -0.012em; margin-bottom: 16px; }
    .lp-how__lead { font-size: 17.5px; }
    .lp-how__steps { grid-template-columns: repeat(3, 1fr); gap: 40px; margin-top: 48px; }
    .lp-how__num { font-size: 52px; }
    .lp-how__step-title { font-size: 26px; }
  }
/* END_SECTION:lp-how-it-works */

/* START_SECTION:lp-mushrooms (INDEX:46) */
.lp-shrooms {
    --lp-forest: var(--color-primary-forest, #284734);
    --lp-white: var(--color-primary-white, #ffffff);
    --lp-ink: var(--color-text-main, #232323);
    --lp-body: #3a372f;
    --lp-muted: #6f6b62;
    --lp-line: #d8d4cb;
    --lp-font-display: var(--bst-font-secondary, "IvyPresto Headline", Georgia, serif);
    --lp-font-body: var(--bst-font-primary, "TT Norms Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif);
    background: var(--lp-white);
    color: var(--lp-ink);
    font-family: var(--lp-font-body);
    padding: 48px 24px;
  }
  .lp-shrooms__head { text-align: center; max-width: 640px; margin: 0 auto; }
  .lp-shrooms__h2 {
    font-family: var(--lp-font-display); font-weight: 300;
    font-size: 30px; line-height: 1.12; letter-spacing: -0.005em;
    margin: 0 0 14px; color: var(--lp-ink);
  }
  .lp-shrooms__lead { font-size: 16px; line-height: 1.6; color: var(--lp-body); margin: 0 auto; max-width: 560px; }
  .lp-shrooms__grid {
    list-style: none; margin: 32px 0 0; padding: 0;
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px;
  }
  .lp-shrooms__bucket {
    background: var(--lp-white); border: 1px solid var(--lp-line); border-radius: 6px;
    padding: 24px 20px;
  }
  .lp-shrooms__icon { color: var(--lp-forest); display: inline-flex; margin-bottom: 10px; }
  /* Benefit — the card's lead. Display face, forest, sized up so it carries the card now that
     the icon is gone (operator 2026-06-22 "make the benefit more prominent"). */
  .lp-shrooms__bucket-title {
    font-family: var(--lp-font-display); font-weight: 300;
    font-size: 24px; line-height: 1.08; margin: 0 0 4px; color: var(--lp-forest);
  }
  /* Mushroom name — paired tight under the benefit and given real weight so the species reads
     as clearly as the job it does (operator 2026-06-22 "make the name more prominent"). */
  .lp-shrooms__species { font-size: 15px; line-height: 1.5; font-weight: 600; color: var(--lp-ink); margin: 0 0 12px; }
  .lp-shrooms__species b { font-weight: 600; }
  .lp-shrooms__why { font-size: 13px; line-height: 1.6; color: var(--lp-muted); margin: 0; }
  /* ===== Desktop expansion — single 750px breakpoint (D35) ===== */
  @media (min-width: 750px) {
    .lp-shrooms { padding: 76px 48px; }
    .lp-shrooms__h2 { font-size: 40px; letter-spacing: -0.012em; margin-bottom: 16px; }
    .lp-shrooms__lead { font-size: 17.5px; }
    .lp-shrooms__grid { grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 44px; }
    .lp-shrooms__bucket-title { font-size: 26px; }
    .lp-shrooms__species { font-size: 15.5px; }
  }
/* END_SECTION:lp-mushrooms */

/* START_SECTION:lp-problem-framing (INDEX:47) */
.lp-problem {
    --lp-forest: var(--color-primary-forest, #284734);
    --lp-tangerine: var(--color-primary-tangerine, #FF8F1C);
    --lp-beige: var(--color-primary-beige, #F1E7DB);
    --lp-cream-soft: #E5DECE;   /* body text on forest — softened beige (ADR-9 neutral) */
    --lp-font-display: var(--bst-font-secondary, "IvyPresto Headline", Georgia, serif);
    --lp-font-body: var(--bst-font-primary, "TT Norms Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif);
    background: var(--lp-forest);
    color: var(--lp-beige);
    font-family: var(--lp-font-body);
    padding: 48px 24px;
  }
  /* Centered reading column INSIDE the full-width forest band (the band fills the frame; the text
     is the only thing constrained, for line length). */
  .lp-problem__inner { max-width: 820px; margin: 0 auto; text-align: center; }
  .lp-problem__h2 {
    font-family: var(--lp-font-display); font-weight: 300;
    /* Default section-h2 size, matching the "Ten mushrooms…" h2 (operator 2026-06-23 —
       reverting the 06-22 +35% bump). */
    font-size: 30px; line-height: 1.12; letter-spacing: -0.005em;
    margin: 0 0 18px; color: var(--lp-beige);
  }
  .lp-problem__lead {
    font-size: 16px; line-height: 1.68; color: var(--lp-cream-soft);
    margin: 0 auto; max-width: 780px;
  }
  /* Emphasis — the diagnosis, kept in its own block with a line break but at BODY size
     (operator 2026-06-23). Full beige + medium weight keep it distinct without making it larger
     than the lead above it. */
  .lp-problem__emphasis {
    font-family: var(--lp-font-body); font-weight: 500;
    font-size: 16px; line-height: 1.68; color: var(--lp-beige);
    margin: 22px auto 0; max-width: 780px;
  }
  /* Transition — body face, tangerine, NOT italic; just slightly larger than the body copy so it
     reads as a calm answer rather than a display punchline (operator 2026-06-23). */
  .lp-problem__transition {
    font-family: var(--lp-font-body); font-style: normal; font-weight: 400;
    font-size: 19px; line-height: 1.4; color: var(--lp-tangerine);
    margin: 26px 0 0;
  }
  /* ===== Desktop expansion — single 750px breakpoint (D35) ===== */
  @media (min-width: 750px) {
    .lp-problem { padding: 76px 48px; }
    .lp-problem__h2 { font-size: 40px; margin-bottom: 22px; letter-spacing: -0.012em; }
    .lp-problem__lead { font-size: 17.5px; }
    .lp-problem__emphasis { font-size: 17.5px; }
    .lp-problem__transition { font-size: 21px; margin-top: 30px; }
  }
/* END_SECTION:lp-problem-framing */

/* START_SECTION:lp-proof (INDEX:48) */
.lp-proof {
    --lp-forest: var(--color-primary-forest, #284734);
    --lp-tangerine: var(--color-primary-tangerine, #FF8F1C);
    --lp-beige: var(--color-primary-beige, #F1E7DB);
    --lp-white: var(--color-primary-white, #ffffff);
    --lp-ink: var(--color-text-main, #232323);
    --lp-body: #3a372f;
    --lp-muted: #6f6b62;
    --lp-line: #d8d4cb;
    --lp-star: #c4853c;          /* warm review star (ADR-9 tangerine shade) */
    --lp-forest-soft: #E9EFE9;
    --lp-font-display: var(--bst-font-secondary, "IvyPresto Headline", Georgia, serif);
    --lp-font-body: var(--bst-font-primary, "TT Norms Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif);
    background: var(--lp-white);
    color: var(--lp-ink);
    font-family: var(--lp-font-body);
    padding: 48px 24px;
  }
  .lp-proof__head { text-align: center; max-width: 680px; margin: 0 auto; }
  .lp-proof__h2 {
    font-family: var(--lp-font-display); font-weight: 300;
    font-size: 30px; line-height: 1.12; letter-spacing: -0.005em;
    margin: 0; color: var(--lp-ink);
  }
  /* Expert tier. */
  .lp-proof__experts { display: grid; grid-template-columns: 1fr; gap: 16px; margin: 32px 0 36px; }
  .lp-proof__expert { background: var(--lp-beige); border-left: 3px solid var(--lp-forest); border-radius: 0 6px 6px 0; padding: 26px 24px; margin: 0; }
  .lp-proof__role { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--lp-forest); margin: 0 0 12px; }
  .lp-proof__quote { font-family: var(--lp-font-display); font-style: italic; font-weight: 300; font-size: 18px; line-height: 1.42; margin: 0 0 14px; color: var(--lp-ink); }
  .lp-proof__who { font-size: 13px; color: var(--lp-ink); }
  .lp-proof__who b { display: block; font-weight: 600; }
  .lp-proof__who span { color: var(--lp-muted); font-size: 12px; }
  /* Review tier. */
  .lp-proof__reviews { margin-top: 4px; }
  .lp-proof__agg { text-align: center; font-size: 14px; color: var(--lp-ink); margin: 0 0 18px; }
  .lp-proof__stars { color: var(--lp-star); letter-spacing: 0.08em; }
  .lp-proof__agg .lp-proof__stars { margin-right: 8px; font-size: 15px; }
  .lp-proof__review-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 14px; }
  .lp-proof__review { background: var(--lp-white); border: 1px solid var(--lp-line); border-radius: 6px; padding: 22px; }
  .lp-proof__review .lp-proof__stars { font-size: 12px; display: block; margin-bottom: 10px; }
  .lp-proof__review-body { font-family: var(--lp-font-display); font-style: italic; font-weight: 300; font-size: 16px; line-height: 1.5; margin: 0 0 14px; color: var(--lp-ink); }
  .lp-proof__attr { font-size: 12px; color: var(--lp-muted); margin: 0; }
  .lp-proof__attr b { color: var(--lp-ink); font-weight: 600; }
  .lp-proof__verified { background: var(--lp-forest-soft); color: var(--lp-forest); padding: 1px 7px; border-radius: 2px; font-size: 10px; letter-spacing: 0.04em; margin-left: 6px; }
  /* Optional micro line under the review grid — small, muted, centered. */
  .lp-proof__micro { font-size: 12px; color: inherit; opacity: 0.7; margin-top: 14px; text-align: center; }
  /* ===== Desktop expansion — single 750px breakpoint (D35) ===== */
  @media (min-width: 750px) {
    .lp-proof { padding: 76px 48px; }
    .lp-proof__h2 { font-size: 40px; letter-spacing: -0.012em; }
    .lp-proof__experts { grid-template-columns: 1fr 1fr; gap: 24px; margin: 44px 0 40px; }
    .lp-proof__quote { font-size: 19px; }
    .lp-proof__review-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  }
/* END_SECTION:lp-proof */

/* START_SECTION:lp-science-story (INDEX:49) */
.lp-sci {
    --lp-forest: var(--color-primary-forest, #284734);
    --lp-tangerine: var(--color-primary-tangerine, #FF8F1C);
    --lp-beige: var(--color-primary-beige, #F1E7DB);
    --lp-cream-soft: #E5DECE;    /* body on forest (ADR-9 neutral) */
    --lp-amber: #b8975e;         /* radial fallback stop (ADR-9 warm neutral) */
    --lp-amber-deep: #3a2818;    /* radial fallback stop */
    --lp-font-display: var(--bst-font-secondary, "IvyPresto Headline", Georgia, serif);
    --lp-font-body: var(--bst-font-primary, "TT Norms Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif);
    background: var(--lp-forest);
    color: var(--lp-beige);
    font-family: var(--lp-font-body);
  }
  .lp-sci__grid { display: grid; grid-template-columns: 1fr; }
  /* Mobile: image leads (order 1), copy follows. Desktop overrides to copy-left. */
  .lp-sci__media { order: 1; width: 100%; min-height: 260px; }
  .lp-sci__copy { order: 2; padding: 44px 24px; }
  .lp-sci__eyebrow { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: #c4d4c8; margin: 0 0 14px; }
  .lp-sci__h2 {
    font-family: var(--lp-font-display); font-weight: 300;
    font-size: 30px; line-height: 1.1; letter-spacing: -0.005em;
    margin: 0 0 18px; color: var(--lp-beige); text-align: left;
  }
  .lp-sci__p { font-size: 15px; line-height: 1.7; color: var(--lp-cream-soft); margin: 0 0 20px; max-width: 52ch; }
  /* Pull-stat — display number + caption with a cream left rule (the v2 callout). */
  .lp-sci__pullstat { border-left: 2px solid var(--lp-beige); padding: 8px 0 8px 18px; margin: 0 0 20px; max-width: 380px; }
  .lp-sci__pullstat-value { display: block; font-family: var(--lp-font-display); font-weight: 300; font-size: 30px; line-height: 1.1; color: #ffffff; margin-bottom: 4px; }
  /* Label given real weight + brightness so "beta glucans per serving" reads as a claim,
     not a caption (operator 2026-06-23). */
  .lp-sci__pullstat-label { font-size: 15px; font-weight: 500; letter-spacing: 0.04em; color: rgba(241,231,219,0.95); }
  .lp-sci__link {
    display: inline-block; margin-top: 4px; font-size: 13px; font-weight: 600; letter-spacing: 0.02em;
    color: var(--lp-beige); text-decoration: underline; text-underline-offset: 3px;
    min-height: 44px; line-height: 44px;
  }
  .lp-sci__link:focus-visible { outline: 2px solid var(--lp-beige); outline-offset: 3px; }
  .lp-sci__img { display: block; width: 100%; height: 100%; min-height: 260px; object-fit: cover; }
  /* Warm radial fallback with a faint concentric ring (evokes the studied compound, not a literal claim). */
  .lp-sci__img--ph {
    background: radial-gradient(circle at 45% 42%, #d9c690 0%, var(--lp-amber) 38%, var(--lp-amber-deep) 100%);
    display: flex; align-items: center; justify-content: center; min-height: 260px;
  }
  .lp-sci__ring { width: 180px; height: 180px; border: 1px solid rgba(255,255,255,0.28); border-radius: 50%; position: relative; }
  .lp-sci__ring::before, .lp-sci__ring::after { content: ""; position: absolute; inset: 28px; border: 1px solid rgba(255,255,255,0.2); border-radius: 50%; }
  .lp-sci__ring::after { inset: 56px; }
  /* ===== Desktop expansion — single 750px breakpoint (D35) ===== */
  @media (min-width: 750px) {
    .lp-sci__grid { grid-template-columns: 1fr 1fr; align-items: stretch; min-height: 520px; }
    .lp-sci__copy { order: 1; padding: 72px 56px; display: flex; flex-direction: column; justify-content: center; }
    .lp-sci__media { order: 2; min-height: 100%; }
    .lp-sci__img, .lp-sci__img--ph { min-height: 100%; }
    .lp-sci__h2 { font-size: 38px; margin-bottom: 20px; letter-spacing: -0.012em; }
    .lp-sci__pullstat-value { font-size: 34px; }
    .lp-sci__pullstat-label { font-size: 16px; }
  }
/* END_SECTION:lp-science-story */

/* START_SECTION:lp-sticky-buy-bar (INDEX:50) */
.lp-sticky {
    --lp-forest: var(--color-primary-forest, #284734);
    --lp-tangerine: var(--color-primary-tangerine, #FF8F1C);
    --lp-beige: var(--color-primary-beige, #F1E7DB);
    --lp-white: #ffffff;
    --lp-ink: var(--color-text-main, #232323);
    --lp-muted: #6f6b62;
    --lp-line: #d8d4cb;
    --lp-tangerine-shade-10: #E6810F;
    --lp-tangerine-shade-20: #CC7308;

    position: fixed; left: 0; right: 0; bottom: 0; z-index: 20;
    display: flex; align-items: center; justify-content: space-between; gap: 14px;
    /* Right padding reserves clearance for the bottom-right customer-service chat
       widget (~64px) so the CTA never sits under it. */
    padding: 10px 84px 10px 16px;
    min-height: 68px;
    background: var(--lp-white); border-top: 1px solid var(--lp-line);
    box-shadow: 0 -4px 12px rgba(0,0,0,0.06);
    /* First-paint: present in DOM, slid off-screen + transparent (SP-4). */
    transform: translateY(100%);
    opacity: 0;
    transition: transform 0.2s ease, opacity 0.2s ease;
    pointer-events: none;
  }
  .lp-sticky.lp-sticky--revealed {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  /* Price column — discounted price (body weight) + discount badge, with the
     purchase-type label dropping to a small uppercase muted line. */
  .lp-sticky__price { flex: 1 1 auto; min-width: 0; line-height: 1.2; }
  .lp-sticky__row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
  .lp-sticky__amt { font-size: 16px; font-weight: 700; color: var(--lp-ink); }
  .lp-sticky__badge {
    background: var(--lp-forest); color: var(--lp-beige);
    font-size: 10px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase;
    padding: 2px 7px; border-radius: 99px; white-space: nowrap;
  }
  .lp-sticky__sub {
    color: var(--lp-muted); font-size: 11px;
    letter-spacing: 0.06em; text-transform: uppercase;
    display: block; margin-top: 2px;
  }

  /* The bar's product-form is layout-transparent (it's just a wrapper around the CTA). */
  .lp-sticky__form, .lp-sticky__form-el { display: contents; }

  /* Sticky CTA — the visual hit: tangerine fill + FOREST ink (4.51:1 AA). */
  .lp-sticky__cta {
    flex: 0 0 auto; min-height: 48px; min-width: 44px; padding: 14px 22px;
    background: var(--lp-tangerine); color: var(--lp-forest);
    border: 1px solid var(--lp-tangerine); border-radius: 2px;
    font: inherit; font-weight: 600; font-size: 15px; letter-spacing: 0.018em;
    cursor: pointer; position: relative; white-space: nowrap;
    transition: background-color 0.16s ease, transform 0.16s ease;
  }
  .lp-sticky__cta::after {
    content: ""; position: absolute; left: 0; bottom: -5px;
    width: 50%; height: 2px; background: var(--lp-forest);
    transition: width 0.2s ease;
  }
  .lp-sticky__cta:hover { background: var(--lp-tangerine-shade-10); }
  .lp-sticky__cta:hover::after { width: 100%; }
  .lp-sticky__cta:active { background: var(--lp-tangerine-shade-20); transform: translateY(1px); }
  .lp-sticky__cta:focus-visible { outline: 2px solid var(--lp-forest); outline-offset: 3px; }
  .lp-sticky__cta[disabled] { opacity: 0.6; cursor: not-allowed; }

  @media (prefers-reduced-motion: reduce) {
    .lp-sticky, .lp-sticky__cta, .lp-sticky__cta::after { transition: none; }
    .lp-sticky__cta:active { transform: none; }
  }

  @media (min-width: 750px) {
    /* Desktop: float as a panel ABOVE the bottom-right CS widget (was bottom:20px,
       which collided with it). Lifted to bottom:96px; normal right padding. */
    .lp-sticky {
      max-width: 460px; left: auto; right: 20px; bottom: 96px;
      padding: 14px 20px;
      border: 1px solid var(--lp-line); border-radius: 6px;
      box-shadow: 0 6px 20px rgba(0,0,0,0.08);
    }
    .lp-sticky__cta { font-size: 16px; }
  }
/* END_SECTION:lp-sticky-buy-bar */

/* START_SECTION:lp-trust-strip (INDEX:51) */
.lp-trust {
    --lp-forest: var(--color-primary-forest, #284734);
    --lp-beige: var(--color-primary-beige, #F1E7DB);
    --lp-line: #d8d4cb;
    --lp-font-body: var(--bst-font-primary, "TT Norms Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif);
    background: var(--lp-beige);
    border-top: 1px solid var(--lp-line);
    border-bottom: 1px solid var(--lp-line);
    font-family: var(--lp-font-body);
  }
  .lp-trust__items {
    list-style: none; margin: 0; padding: 20px 48px;
    display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
    gap: 14px 30px;
  }
  .lp-trust__item { display: flex; align-items: center; gap: 9px; }
  /* Forest checkmark medallion — gives the cert visual weight so it pops. */
  .lp-trust__seal {
    display: inline-flex; align-items: center; justify-content: center;
    width: 22px; height: 22px; border-radius: 50%;
    background: var(--lp-forest); color: var(--lp-beige); flex: 0 0 auto;
  }
  .lp-trust__badge { width: 34px; height: 34px; object-fit: contain; flex: 0 0 auto; }
  /* Bold forest label — not tiny muted gray. */
  .lp-trust__label {
    font-size: 13px; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase;
    color: var(--lp-forest); white-space: nowrap;
  }
  /* ===== Desktop: evenly distributed single row ===== */
  @media (min-width: 750px) {
    .lp-trust__items { flex-wrap: wrap; justify-content: space-between; gap: 14px 20px; padding: 22px 48px; }
  }
/* END_SECTION:lp-trust-strip */