/** Shopify CDN: Minification failed

Line 2141:0 Unexpected "}"

**/
/* Extracted from Extend pets new updated code.html. Style blocks kept in original document order. */
  /* 1. Hide the big "Extend Pets" page title Shopify auto-renders */
  main .main-page-title,
  main .page-title,
  main h1.main-page-title,
  main h1.page-title,
  #MainContent h1:first-child,
  #MainContent > .shopify-section > .page-width > h1:first-child,
  .shopify-section--main-page > .page-width > h1:first-child { display: none !important; }

  /* 2. Reset only Shopify's content wrappers so the landing page fills the viewport.
        Does NOT touch any header, footer, or site chrome. */
  #MainContent > .shopify-section--main-page,
  #MainContent > .shopify-section > .page-width,
  #MainContent > .shopify-section > .page-width > .rte {
    max-width: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  #MainContent > .shopify-section > .page-width > .rte > *:first-child { margin-top: 0 !important; }

html{scroll-behavior:smooth}
#formula, #ingredients, #expect, #reviews, #faq{scroll-margin-top:88px}
:root{
  --green:#5EB273;
  --green-deep:#3F8E55;
  --green-ink:#2E6B40;
  --sage:#C3D5CA;
  --sage-light:#DDE8E1;
  --mist:#F5F8F6;
  --white:#FFFFFF;
  --black:#000000;
  --ink:#000000;
  --ink-2:#4A5250;
  --ink-3:#818C88;
  --line:#E3EAE6;
  --line-2:#D2DCD7;
  --r:16px;
  --r-lg:24px;
  --shell:1240px;
  --font:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--white);color:var(--ink);
  font-family:var(--font);
  font-size:17px;line-height:1.47;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.011em;
  padding-bottom:0;
}
.display{font-family:var(--font);font-weight:800;letter-spacing:-.045em;line-height:1.02;text-wrap:balance;color:var(--ink);font-feature-settings:'ss01','cv11'}
h1.display{font-size:clamp(28px,3.5vw,40px);line-height:1.1;letter-spacing:-.04em}
h2.display{font-size:clamp(29px,3.9vw,46px);letter-spacing:-.042em}
h3.display{font-size:clamp(20px,2.2vw,25px);letter-spacing:-.03em}
p{margin:0 0 1em;color:var(--ink-2);line-height:1.55}
a{color:var(--green-ink);text-decoration:none}
img,svg{max-width:100%}
.wrap{max-width:var(--shell);margin:0 auto;padding:0 20px}
.eyebrow{display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--green-ink);background:var(--sage-light);padding:7px 15px;border-radius:999px}

/* ===== Stars ===== */
.stars{display:inline-flex;gap:1.5px;color:var(--green)}
.stars svg{width:15px;height:15px}
.stars.lg svg{width:18px;height:18px}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:17px 32px;border-radius:999px;border:none;cursor:pointer;font-family:var(--font);font-weight:500;font-size:16px;letter-spacing:-.01em;text-decoration:none;transition:background .15s,transform .15s,box-shadow .15s;text-align:center}
.btn-primary{background:var(--green);color:#fff;box-shadow:0 5px 16px rgba(94,178,115,.3)}
.btn-primary:hover{background:var(--green-deep);color:#fff;transform:translateY(-1px)}
.btn-dark{background:var(--black) !important;color:#fff !important}
.btn-dark:hover{background:var(--green-deep) !important;color:#fff !important}
a.btn-dark,a.btn.btn-dark,.btn.btn-dark{color:#fff !important}
a.btn-dark:visited,a.btn.btn-dark:visited{color:#fff !important}
.btn-outline{background:#fff;color:var(--ink);border:1.5px solid var(--line-2)}
.btn-outline:hover{border-color:var(--green);color:var(--green-ink)}
.btn-block{width:100%}
.btn-lg{padding:20px 40px;font-size:17px}

/* ===== Top bars ===== */
.util{background:var(--black);color:#fff;font-size:12px;padding:7px 0}
.util-in{max-width:var(--shell);margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;gap:16px;align-items:center}
.util a{color:rgba(255,255,255,.75);font-weight:500}
.util a:hover{color:var(--green)}
.util-l{display:flex;gap:18px}
.util-r{display:flex;gap:18px}
@media (max-width:760px){.util-l{display:none}.util-in{justify-content:center}}

/* ===== Header ===== */
header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:env(safe-area-inset-top,0);z-index:60}
.nav{max-width:var(--shell);margin:0 auto;padding:13px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{font-family:var(--font);font-weight:600;font-size:24px;letter-spacing:-.04em;color:var(--ink);display:flex;align-items:center;gap:8px;text-decoration:none}
.logo-img{height:20px !important;width:auto !important;max-width:120px !important;max-height:20px !important;display:block;object-fit:contain}
footer .logo-img{height:18px !important;max-width:110px !important;max-height:18px !important}
@media (max-width:640px){
  .logo-img{height:16px !important;max-width:95px !important;max-height:16px !important}
  footer .logo-img{height:16px !important;max-width:95px !important;max-height:16px !important}
}
.paw{width:30px;height:30px;background:var(--black);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.paw svg{width:18px;height:18px;color:var(--green)}
.nav-links{display:flex;gap:26px;font-size:14px;font-weight:500}
.nav-links a{color:var(--ink-2)}
.nav-links a:hover{color:var(--green-ink)}
.nav-ico{display:flex;gap:16px;align-items:center}
.nav-ico a{color:var(--ink);display:flex}
.nav-ico svg{width:21px;height:21px}
.cart-dot{position:relative}
.cart-dot::after{content:"2";position:absolute;top:-5px;right:-7px;background:var(--green);color:#fff;font-size:9.5px;font-weight:600;width:15px;height:15px;border-radius:50%;display:flex;align-items:center;justify-content:center}
@media (max-width:940px){.nav-links{display:none}}

/* ===== PDP layout ===== */
.pdp{padding:0 0 56px}
.pdp-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:44px;align-items:start}
.pdp-grid>*{min-width:0}
.gal,.buy{min-width:0}
@media (max-width:980px){.pdp-grid{grid-template-columns:1fr;gap:34px}.pdp{padding:0 0 40px}}

/* Desktop only: pin the left gallery while the right buy column scrolls.
   The sticky container (.gal) stays stuck until .pdp-grid runs out, so it
   naturally releases at the end of the hero and the next section flows
   normally underneath. Guarded by (min-width:981px) so mobile/tablet keep
   their stacked, non-sticky behavior. */
@media (min-width:981px){
  .gal{position:sticky;top:20px;align-self:start}
}

/* ===== Buy box controls ===== */
.opt{border:1.5px solid var(--line);border-radius:var(--r);padding:16px 18px;margin-bottom:11px;cursor:pointer;display:block;position:relative;background:#fff;transition:border-color .15s,background .15s,box-shadow .15s}
.opt.on{border:1.5px solid #0F1715;background:#fff;box-shadow:0 0 0 1.5px #0F1715,0 10px 28px rgba(15,23,21,.08)}
.opt-top{display:flex;align-items:flex-start;gap:12px}
.radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--line-2);flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s}
.opt.on .radio{border-color:#0F1715;background:#0F1715}
.opt.on .radio::after{content:"";width:7px;height:7px;border-radius:50%;background:#fff}
.opt-body{flex:1;min-width:0}
.opt-name{font-size:15.5px;font-weight:600;letter-spacing:-.02em;color:var(--ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.opt-badge{background:var(--green);color:#fff;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:999px}
.opt-note{font-size:13px;color:var(--ink-3);margin-top:3px}
.opt-price{text-align:right;flex-shrink:0}
.opt-now{font-family:var(--font);font-size:22px;font-weight:600;color:var(--ink);letter-spacing:-.035em;display:block;line-height:1.1}
.opt-was{font-size:13px;color:var(--ink-3);text-decoration:line-through}
.opt-perks{display:none;padding:13px 0 2px 32px;margin-top:12px;border-top:1px dashed var(--line-2)}
.opt.on .opt-perks{display:block}
.opt-perks ul{margin:0;padding:0}
.opt-perks li{list-style:none;display:flex;gap:8px;font-size:13px;color:var(--ink-2);margin-bottom:7px;font-weight:400}
.opt-perks li:last-child{margin-bottom:0}
.opt-perks svg{width:14px;height:14px;color:var(--green);flex-shrink:0;margin-top:2px}

.pick-label{font-size:13.5px;font-weight:600;letter-spacing:-.015em;color:var(--ink);margin-bottom:9px;display:block}

/* ================================================================
   MULTI-PACK PICKER — green & black brand palette
   Dense, editorial card rows that keep the right column from towering
   over the gallery while the Subscribe/One-Time mode toggle stays
   front-and-center.
   ================================================================ */
.pk-wrap{margin:6px 0 0}
.pk-wrap[data-mode="onetime"] [data-only="subscribe"]{display:none !important}

/* Segmented purchase-type toggle (black track, green active pill) */
.pk-mode{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--ink);border-radius:999px;padding:4px;margin-bottom:12px}
.pk-mode-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:transparent;border:none;cursor:pointer;padding:11px 14px;border-radius:999px;font-family:var(--font);font-size:13.5px;font-weight:600;letter-spacing:-.012em;color:rgba(255,255,255,.72);transition:color .18s ease,background .18s ease,box-shadow .18s ease;white-space:nowrap}
.pk-mode-btn:hover:not(.on){color:#fff}
.pk-mode-btn.on{background:var(--green);color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.18)}
.pk-mode-btn .pk-sub-ico{width:13px;height:13px}
.pk-mode-tag{display:inline-block;margin-left:4px;padding:2px 8px;font-size:10.5px;font-weight:700;letter-spacing:.02em;background:rgba(0,0,0,.22);color:#fff;border-radius:999px;text-transform:uppercase}
.pk-mode-btn:not(.on) .pk-mode-tag{display:none}

/* The card list */
.pk-grid{display:flex;flex-direction:column;gap:7px}
.pk-card{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px 12px 46px;border:1.5px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .12s ease;user-select:none;overflow:hidden}
.pk-card:hover{border-color:var(--green);transform:translateY(-1px)}
.pk-card .pk-input{position:absolute;opacity:0;pointer-events:none}
.pk-card.on{border-color:var(--ink);background:var(--ink);box-shadow:0 6px 18px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.04)}
.pk-card.on .pk-title{color:#fff}
.pk-card.on .pk-price{color:#fff}
.pk-card.on .pk-cycle{color:rgba(255,255,255,.68)}
.pk-card.on .pk-save{color:var(--green)}

/* Radio check — hollow by default, green-filled when selected */
/* Radio is anchored to the TITLE row (not the whole card), so when the card
   grows to show the strike-price row the circle stays level with the title. */
.pk-radio{position:absolute;left:14px;top:21px;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;border:1.8px solid rgba(0,0,0,.2);background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .15s ease,background .15s ease}
.pk-card:hover .pk-radio{border-color:var(--green)}
.pk-card.on .pk-radio{border-color:var(--green);background:var(--green)}
.pk-check{display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transform:scale(.6);transition:opacity .15s ease,transform .15s ease}
.pk-check svg{width:12px;height:12px}
.pk-card.on .pk-check{opacity:1;transform:scale(1)}

/* Row body (title + price on top, save line beneath) */
.pk-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;line-height:1.2}
.pk-row-1{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.pk-row-2{display:flex;align-items:center;min-height:14px;justify-content:flex-end}
.pk-title{font-family:var(--font);font-size:15px;font-weight:700;letter-spacing:-.015em;color:var(--ink)}
.pk-price-group{display:inline-flex;align-items:baseline;gap:3px;flex-shrink:0}
.pk-price{font-family:var(--font);font-size:16px;font-weight:700;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.pk-cycle{font-family:var(--font);font-size:12.5px;font-weight:500;color:var(--ink-3);letter-spacing:-.005em}
/* Compare-at (strikethrough) price under the current price so buyers see the dollar savings directly. */
.pk-save{font-family:var(--font);font-size:12.5px;font-weight:500;letter-spacing:-.005em;color:var(--ink-3);display:inline-flex;align-items:baseline;gap:2px}
.pk-save .pk-strike-amt{text-decoration:line-through;text-decoration-thickness:1px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.pk-save .pk-strike-cycle{font-size:11.5px;color:var(--ink-3);text-decoration:none}
.pk-card.on .pk-save,
.pk-card.on .pk-save .pk-strike-amt,
.pk-card.on .pk-save .pk-strike-cycle{color:rgba(255,255,255,.55)}

/* Right-aligned OFF% pill */
.pk-tag{display:inline-flex;align-items:center;flex-shrink:0;height:24px;padding:0 10px;border-radius:999px;font-family:var(--font);font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;margin-left:auto}
.pk-off-tag{background:var(--sage-light);color:var(--green-ink)}
.pk-off-tag .pk-off-val{font-size:12px;font-weight:800;margin-right:2px}
.pk-card.on .pk-off-tag{background:var(--green);color:#fff}

/* "Most Popular Choice" banner — sits ABOVE the 2 Boxes card, not on it */
.pk-featured{position:relative;padding-top:0}
.pk-featured-label{position:absolute;top:-10px;left:14px;z-index:2;display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:var(--green);color:#fff;font-family:var(--font);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;box-shadow:0 2px 6px rgba(94,178,115,.35)}
.pk-featured-label svg{width:10px;height:10px}
.pk-featured .pk-card{margin-top:8px}
/* Hide the banner entirely under One-Time (nothing's "most popular" there) */
.pk-wrap[data-mode="onetime"] .pk-featured-label{display:none}
.pk-wrap[data-mode="onetime"] .pk-featured .pk-card{margin-top:0}

/* Hide 0% off tag (One-Time 1 Box) */
.pk-wrap[data-mode="onetime"] .pk-card[data-pack="1"] .pk-off-tag{display:none}

/* Hide empty save text's underline when 0 */
.pk-save:empty{display:none}

/* Micro-footer under the grid: free shipping + cancel anytime (Subscribe only) */
.pk-cancel{display:flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font);font-size:12px;font-weight:500;color:var(--ink-3);margin:10px 0 0;letter-spacing:-.005em}
.pk-cancel svg{width:12px;height:12px;color:var(--green)}

/* Mobile tightening */
@media (max-width:640px){
  .pk-mode-btn{font-size:12.5px;padding:10px 10px;gap:5px}
  .pk-card{padding:11px 12px 11px 42px;gap:10px}
  .pk-radio{left:12px;top:19px;width:20px;height:20px}
  .pk-check svg{width:11px;height:11px}
  .pk-title{font-size:14px}
  .pk-price{font-size:15px}
  .pk-cycle{font-size:12px}
  .pk-save{font-size:11.5px}
  .pk-tag{height:22px;padding:0 9px;font-size:10.5px}
  .pk-tag .pk-off-val{font-size:11.5px}
  .pk-featured-label{font-size:9px;padding:3px 8px;top:-9px;left:10px}
  .pk-cancel{font-size:11.5px}
}

.buy-trust{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.pay-banner{margin-top:14px;padding-top:0;border-top:none;display:flex;justify-content:center;overflow:hidden}

/* ===== CTA trust review ===== */
.cta-review{margin:18px 0 0;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 2px rgba(16,24,20,.03),0 4px 14px rgba(16,24,20,.04);display:flex;flex-direction:column;gap:14px}
.cta-review-quote{position:relative;margin:0;padding:4px 0 4px 14px;border-left:3px solid var(--green);font-family:var(--font);font-size:15px;font-weight:400;line-height:1.55;letter-spacing:-.012em;color:var(--ink);font-style:italic}
.cta-review-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--line);flex-wrap:wrap}
.cta-review-id{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}
.cta-review-name{font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}
.cta-review-name::after{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--line-2);margin:0 0 2px 10px;vertical-align:middle}
.cta-review-verified{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500;letter-spacing:.005em;color:var(--ink-2)}
.cta-review-verified svg{width:11px;height:11px;stroke-width:3.4;color:var(--green-deep)}
.cta-review-stars{display:inline-flex;gap:1px;color:var(--green-deep)}
.cta-review-stars svg{width:13px;height:13px}
.pay-banner img{display:block;width:100%;max-width:420px;height:42px;object-fit:cover;object-position:center}
@media (max-width:720px){.pay-banner img{max-width:300px;height:34px}}
.bt{text-align:center}
.bt svg{width:22px;height:22px;color:var(--green);margin-bottom:6px}
.bt div{font-size:11.5px;font-weight:500;color:var(--ink-2);line-height:1.3}
.pay-row{display:flex;gap:7px;justify-content:center;margin-top:16px;flex-wrap:wrap;opacity:.65}
.pay{width:38px;height:24px;border:1px solid var(--line);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;color:var(--ink-2);letter-spacing:.02em;background:#fff}

/* ===== Promo carousel bar ===== */
.promo{background:var(--black);color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 14px;min-height:46px}
.promo-arw{background:none;border:none;color:rgba(255,255,255,.55);cursor:pointer;padding:6px;display:flex;border-radius:50%;transition:color .15s}
.promo-arw:hover{color:#fff}
.promo-arw svg{width:17px;height:17px}
.promo-slides{position:relative;flex:1;max-width:620px;text-align:center;min-height:32px}
.promo-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .3s;display:flex;flex-direction:column;justify-content:center;gap:1px}
.promo-slide.on{opacity:1;visibility:visible;position:relative}
.promo-slide strong{font-size:13.5px;font-weight:600;letter-spacing:-.015em}
.promo-slide span{font-size:11.5px;color:rgba(255,255,255,.6);font-weight:400}

/* ===== Image placeholders (swap these for real photos) ===== */
.ph{
  position:relative;width:100%;max-width:100%;background:var(--mist);
  border:2px dashed var(--line-2);border-radius:var(--r-lg);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:9px;text-align:center;padding:20px;color:var(--ink-3);
}
.ph-ico{width:46px;height:46px;opacity:.4;color:var(--ink-3)}
.ph b{font-size:15px;font-weight:600;letter-spacing:-.02em;color:var(--ink-2)}
.ph span{font-size:12.5px;line-height:1.4;max-width:190px;overflow-wrap:anywhere}
.ph code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap;font-size:11px;background:#fff;border:1px solid var(--line);padding:4px 9px;border-radius:6px;color:var(--ink-3)}
.ph-thumb{border-radius:12px;gap:5px;padding:8px}
.ph-thumb svg{width:20px;height:20px;opacity:.4}
.ph-thumb code{font-size:9px;padding:2px 5px}
.ph-face{border-radius:50%;width:54px;height:54px;flex-shrink:0;padding:0;gap:0;border-width:1.5px}
.ph-face svg{width:24px;height:24px;opacity:.45}

/* ===== Gallery ===== */
.gal-stage{position:relative;border-radius:var(--r-lg);overflow:hidden;min-width:0;background:#fff;border:1px solid var(--line)}
.gal-slide{display:none}
.gal-slide.on{display:block}
/* contain, never cover: cropping a listing image would cut off label text */
.gal-img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain !important;object-position:center;display:block;background:#fff;max-width:100%}
/* ---- Belt-and-braces: every product-box image on the page preserves its natural ratio ---- */
.gal-img,
.thumb img,
.fa-thumb img,
.pk-card img,
.inside-pic img{
  object-fit:contain !important;
  object-position:center !important;
}
.gal-video{width:100%;aspect-ratio:1/1;object-fit:cover;background:#000;display:block}
.thumb-video{position:relative}
.thumb-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.72);color:#fff;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:background .18s ease,transform .18s ease}
.thumb-play svg{width:14px;height:14px;margin-left:2px}
.thumb-video:hover .thumb-play{background:rgba(0,0,0,.86);transform:translate(-50%,-50%) scale(1.05)}

/* promo discs over the image */
@media (max-width:560px){
  .disc-ship svg{width:17px;height:17px}
  .disc-big2{font-size:15px}
}

.gal-arw{position:absolute;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:0;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink);box-shadow:none;z-index:3;transition:transform .15s ease, opacity .15s ease;opacity:.8;padding:0}
.gal-arw:hover{opacity:1;transform:translateY(-50%) scale(1.1)}
.gal-arw svg{width:22px;height:22px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.gal-prev{left:10px}
.gal-next{right:10px}

.gal-dots{display:flex;gap:7px;justify-content:center;align-items:center;margin-top:14px}
.gal-dots{flex-wrap:wrap}
.gal-dots button{width:7px;height:7px;border-radius:50%;border:none;background:var(--line-2);padding:0;cursor:pointer;transition:all .18s}
.gal-dots button.on{background:var(--ink);width:22px;border-radius:999px}

.thumbs{display:flex;gap:9px;margin-top:14px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.thumbs::-webkit-scrollbar{height:5px}
.thumbs::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:99px}
.thumb{flex:0 0 74px;width:74px;height:74px;padding:0;background:#fff;border:1.5px solid var(--line);border-radius:11px;cursor:pointer;overflow:hidden;transition:border-color .15s,box-shadow .15s;scroll-snap-align:start}
.thumb img{width:100%;height:100%;object-fit:contain;display:block;background:#fff}
.thumb:hover{border-color:var(--line-2)}
.thumb.on{border-color:var(--green);box-shadow:0 0 0 2px rgba(94,178,115,.24)}
@media (max-width:560px){.thumb{flex:0 0 62px;width:62px;height:62px}}

.seals{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.seal-chip{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:11.5px;font-weight:500;color:var(--ink-2);letter-spacing:.01em}
.seals-img{display:flex;justify-content:center;margin-top:22px}
.seals-img img{display:block;width:100%;max-width:520px;height:auto}
@media (max-width:720px){
  .seals-img{margin-top:16px}
  .seals-img img{max-width:300px}
}
.seal-chip svg{width:14px;height:14px;color:var(--green)}

/* ===== Buy column header ===== */
.pill-new{display:inline-flex;align-items:center;gap:6px;background:var(--black);color:#fff;font-size:11.5px;font-weight:500;letter-spacing:-.005em;padding:7px 14px;border-radius:999px;margin-bottom:16px}
.pill-new svg{width:13px;height:13px;color:var(--green)}
.ttl{font-family:var(--font);font-size:clamp(24px,2.6vw,32px);font-weight:800;letter-spacing:-.038em;line-height:1.1;color:var(--ink);margin:0 0 14px;white-space:nowrap}
@media (max-width:980px){.ttl{white-space:normal}}
.ttl em{font-style:normal;font-weight:800;color:var(--green-deep)}

/* Trustpilot style rating */
.tp{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.tp-word{font-size:14px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.tp-boxes{display:flex;gap:2px}
.tp-boxes i{width:22px;height:22px;background:var(--green);display:flex;align-items:center;justify-content:center;border-radius:2px}
.tp-boxes i svg{width:14px;height:14px;color:#fff}
.tp-boxes i.half{background:linear-gradient(90deg,var(--green) 50%,var(--line-2) 50%)}
.tp-count{font-size:13px;color:var(--ink-2)}
.tp-count b{font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:3px}
.tp-count b svg{width:12px;height:12px;color:var(--green)}
.tp-link{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:var(--green-ink);margin-bottom:18px}
.tp-link svg{width:13px;height:13px}
.buy-lede{font-size:16.5px;color:var(--ink-2);margin-bottom:24px;line-height:1.5;letter-spacing:-.012em}
.buy-benefits{list-style:none;padding:0;margin:0 0 26px;display:flex;flex-direction:column;gap:11px}
.buy-benefits li{display:flex;align-items:flex-start;gap:12px;font-size:15.5px;line-height:1.45;color:var(--ink);font-weight:500;letter-spacing:-.008em}
.buy-benefits .bb-ico{flex-shrink:0;width:22px;height:22px;margin-top:1px;display:block}
.buy-benefits sup{font-size:9px;top:-.5em;position:relative;font-weight:600}

/* ===== Tell me about tabs ===== */
.tellme{border-top:1px solid var(--line);padding-top:24px;margin-top:28px}
.tellme-lab{display:block;font-size:13.5px;font-weight:600;letter-spacing:-.015em;color:var(--ink);margin-bottom:12px}
.tabs{display:flex;gap:0;border-bottom:1px solid var(--line-2);overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{background:var(--mist);border:1px solid var(--line-2);border-bottom:none;border-radius:10px 10px 0 0;padding:11px 15px;font-family:var(--font);font-size:12.5px;font-weight:500;letter-spacing:-.01em;color:var(--ink-3);cursor:pointer;white-space:nowrap;margin-right:-1px;margin-bottom:-1px;transition:all .15s}
.tab:hover{color:var(--ink-2)}
.tab.on{background:#fff;color:var(--ink);font-weight:600;border-color:var(--line-2);position:relative;z-index:2}
.tabpanes{border:1px solid var(--line-2);border-top:none;border-radius:0 0 12px 12px;padding:24px;background:#fff}
.tabpane{display:none}
.tabpane.on{display:block}
.tq{font-size:15px;line-height:1.6;color:var(--green-ink);font-style:normal;margin:0 0 18px}
.tvet{display:flex;align-items:center;gap:13px}
.tvet strong{display:block;font-size:14px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.tvet span{font-size:12.5px;color:var(--ink-3)}
.tlist{list-style:none;margin:0;padding:0}
.tlist li{position:relative;padding-left:24px;font-size:14.5px;color:var(--ink-2);line-height:1.5;margin-bottom:11px}
.tlist li:last-child{margin-bottom:0}
.tlist li::before{content:"";position:absolute;left:0;top:7px;width:14px;height:14px;border-radius:50%;background:var(--green)}
.tlist li::after{content:"";position:absolute;left:4px;top:11px;width:6px;height:3px;border-left:1.6px solid #fff;border-bottom:1.6px solid #fff;transform:rotate(-45deg)}
.tlist b{color:var(--ink);font-weight:600}


/* placeholders that fill an existing ratio box */
.vet-pic .ph,.split-media .ph,.exp-pic .ph,.rv-pic .ph,.rv-media .ph,.vt-media .ph{border-radius:inherit;height:100%}
/* media wrappers set svg{width:100%}; pin the placeholder icon back down */
.vet-pic .ph .ph-ico,.split-media .ph .ph-ico,.exp-pic .ph .ph-ico,.rv-pic .ph .ph-ico,.vt-media .ph .ph-ico{width:46px;height:46px;flex:none}
.rv-media .ph .ph-ico{width:30px;height:30px;flex:none}
.thumb .ph svg{width:20px;height:20px;flex:none}
.ph-face svg{width:24px;height:24px;flex:none}

.exp-pic .ph,.rv-pic .ph{gap:6px}
.exp-pic .ph b,.rv-pic .ph b,.rv-media .ph b{font-size:13px}
.exp-pic .ph span,.rv-pic .ph span,.rv-media .ph span{font-size:11px}
.rv-media .ph .ph-ico{width:30px;height:30px}
.rv-media .ph code,.rv-pic .ph code{font-size:9.5px}
.vt-media .ph{border-radius:18px}
.rv-video .rv-play{z-index:2}

/* ===== Press bar ===== */
.press{background:var(--mist);padding:26px 0;border-block:1px solid var(--line)}
.press-lab{text-align:center;font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:16px}
.press-row{display:flex;justify-content:center;align-items:center;gap:42px;flex-wrap:wrap}
.press-row span{font-family:var(--font);font-size:19px;font-weight:600;color:var(--ink);opacity:.34;letter-spacing:-.02em}
@media (max-width:560px){.press-row{gap:24px}.press-row span{font-size:16px}}

/* ===== Section shell ===== */
section{padding:76px 0}
@media (max-width:760px){section{padding:52px 0}}
.bg-mist{background:var(--mist)}
.bg-sage{background:var(--sage)}
.bg-dark{background:var(--black);color:#fff}
.sec-head{max-width:700px;margin:0 auto 46px;text-align:center}
.sec-head .eyebrow{margin-bottom:18px}
.sec-head p{font-size:17px;margin-top:16px}
.bg-dark .sec-head h2,.bg-dark h2,.bg-dark h3{color:#fff}
.bg-dark .sec-head p{color:rgba(255,255,255,.72)}

/* split layout */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:34px}.split.flip .split-media{order:-1}}
.split-media{border-radius:var(--r-lg);overflow:hidden;background:var(--sage-light);aspect-ratio:4/3.4;display:flex;align-items:center;justify-content:center}
.split-media.dark{background:var(--black)}
.split-media svg{width:100%;height:100%;display:block}
.split h2{margin-bottom:18px}

/* numbered benefit list */
.numlist{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:8px}
@media (max-width:640px){.numlist{grid-template-columns:1fr;gap:20px}}
.num-item{display:flex;gap:14px;align-items:flex-start}
.num-badge{width:38px;height:38px;border-radius:50%;background:var(--sage-light);color:var(--green-ink);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--font);font-weight:600;font-size:15px;letter-spacing:-.02em}
.num-item h4{font-family:var(--font);font-size:16.5px;font-weight:600;letter-spacing:-.025em;margin:0 0 5px;color:var(--ink);line-height:1.25}
.num-item p{font-size:14px;margin:0;color:var(--ink-2);line-height:1.5}
.bg-dark .num-badge{background:rgba(94,178,115,.2);color:var(--green)}
.bg-dark .num-item h4{color:#fff}
.bg-dark .num-item p{color:rgba(255,255,255,.66)}

/* check list */
.checks{list-style:none;padding:0;margin:0}
.checks li{display:flex;gap:12px;align-items:flex-start;padding:11px 0;font-size:15.5px;color:var(--ink-2);line-height:1.5}
.checks svg{width:21px;height:21px;color:var(--green);flex-shrink:0;margin-top:2px}
.checks b{color:var(--ink);font-weight:700}

/* ===== Vet quote ===== */
.vet{display:grid;grid-template-columns:1.25fr 1fr;gap:52px;align-items:center;max-width:1000px;margin:0 auto}
@media (max-width:820px){.vet{grid-template-columns:1fr;gap:30px}}
.vet-q{font-family:var(--font);font-size:clamp(20px,2.4vw,27px);font-weight:500;line-height:1.38;letter-spacing:-.032em;color:var(--ink);margin:0 0 20px}
.vet-who strong{display:block;font-size:15px;color:var(--ink)}
.vet-who span{font-size:13.5px;color:var(--ink-3)}
.vet-pic{border-radius:var(--r-lg);overflow:hidden;background:var(--sage-light);aspect-ratio:1/1.06}
.vet-pic svg{width:100%;height:100%;display:block}

/* ===== Ingredient cards ===== */
.ing-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:860px){.ing-row{grid-template-columns:1fr;max-width:420px;margin:0 auto}}
.ing{position:relative;border-radius:var(--r-lg);overflow:hidden;background:#F2F2EF;aspect-ratio:3/4;isolation:isolate;cursor:default}
.ing-pic{position:absolute;inset:0;background:#F2F2EF;display:flex;align-items:center;justify-content:center;z-index:0}
.ing-pic svg{width:100%;height:100%;display:block}
.ing-head{position:absolute;top:0;left:0;right:0;padding:28px 30px 20px;z-index:2;pointer-events:none}
.ing-head h4{font-family:Georgia,"Times New Roman",serif;font-size:clamp(22px,2.2vw,30px);font-weight:400;letter-spacing:-.015em;margin:0 0 4px;color:var(--ink);line-height:1.1}
.ing-mg{display:inline-block;font-family:var(--font);font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--green-ink);background:rgba(255,255,255,.75);padding:4px 10px;border-radius:999px;backdrop-filter:blur(4px)}
.ing-txt{position:absolute;left:0;right:0;bottom:0;padding:26px 30px 28px;background:linear-gradient(180deg,rgba(44,52,47,0) 0%,rgba(44,52,47,.92) 32%,rgba(44,52,47,.96) 100%);color:#fff;z-index:1;transform:translateY(calc(100% - 0px));transition:transform .4s cubic-bezier(.2,.7,.2,1);min-height:52%}
.ing:hover .ing-txt,.ing:focus-within .ing-txt{transform:translateY(0)}
.ing-txt p{font-size:14.5px;margin:0 0 14px;color:rgba(255,255,255,.9);line-height:1.55}
.ing-bullets{list-style:none;padding:0;margin:0}
.ing-bullets li{position:relative;padding:4px 0 4px 16px;font-size:13.5px;color:rgba(255,255,255,.92);line-height:1.5}
.ing-bullets li::before{content:"";position:absolute;left:0;top:12px;width:5px;height:5px;border-radius:50%;background:var(--green)}
@media (max-width:860px){
  .ing{aspect-ratio:4/5}
  .ing-txt{transform:translateY(0);background:linear-gradient(180deg,rgba(44,52,47,0) 0%,rgba(44,52,47,.9) 50%,rgba(44,52,47,.96) 100%);padding:22px 22px 24px}
  .ing-head{padding:22px 22px 16px}
  .ing-head h4{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.3)}
  .ing-mg{background:rgba(255,255,255,.9)}
}

/* ===== Dosage table ===== */
.dose{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff}
.dose-r{display:grid;grid-template-columns:1.2fr 1fr auto;gap:14px;padding:16px 22px;border-bottom:1px solid var(--line);align-items:center}
.dose-r:last-child{border-bottom:none}
.dose-r.h{background:var(--black);color:#fff;font-size:11.5px;font-weight:600;letter-spacing:.055em;text-transform:uppercase}
.dose-r.h > *{color:#fff}
.d-size{font-family:var(--font);font-size:16.5px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.d-wt{font-size:14px;color:var(--ink-2)}
.d-amt{font-size:13.5px;font-weight:700;color:var(--green-ink);white-space:nowrap;text-align:right}

/* ===== What to expect ===== */
.exp-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:860px){.exp-row{grid-template-columns:1fr;max-width:420px;margin:0 auto}}
.exp{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.exp-pic{aspect-ratio:1/.72;background:var(--sage-light);display:flex;align-items:center;justify-content:center;position:relative}
.exp-pic svg{width:100%;height:100%;display:block}
.exp-when{position:absolute;top:14px;left:14px;background:#fff;border-radius:999px;padding:6px 14px;font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--green-ink)}
.exp-txt{padding:24px}
.exp-txt h3{font-family:var(--font);font-size:20px;font-weight:600;letter-spacing:-.03em;margin:0 0 9px;color:var(--ink)}
.exp-txt p{font-size:14.5px;margin:0;color:var(--ink-2);line-height:1.6}

/* ===== Reviews ===== */
.rv-head{display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:center;margin-bottom:40px}
@media (max-width:860px){.rv-head{grid-template-columns:1fr;gap:28px}}
.rv-score{text-align:center;background:var(--mist);border-radius:var(--r-lg);padding:28px}
.rv-big{font-family:var(--font);font-size:58px;font-weight:600;line-height:1;color:var(--ink);letter-spacing:-.05em}
.rv-score .stars{margin:10px 0 6px;justify-content:center}
.rv-count{font-size:13px;color:var(--ink-3);font-weight:600}
.bars{display:flex;flex-direction:column;gap:11px}
.bar-r{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--ink);font-weight:600}
.bar-r .lbl{width:42px;flex-shrink:0;color:var(--ink-2)}
.bar-t{flex:1;height:12px;background:#EFEFEC;border-radius:999px;overflow:hidden;position:relative}
.bar-f{display:block;height:100%;min-width:14px;background:linear-gradient(90deg,#2E6B40 0%,#3F8E55 100%);border-radius:999px;position:relative;transition:width .9s cubic-bezier(.2,.7,.2,1)}
.bar-r .pct{width:42px;text-align:right;flex-shrink:0;color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}

/* ===== Reviews, v2 layout (score left, dog-photo grid right) ===== */
.rv-head-v2{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
  gap:72px;
  align-items:center;
  margin-bottom:56px;
  padding:0;
}
.rv-head-v2 .rv-score-col{display:flex;flex-direction:column;gap:28px;background:transparent;padding:0;max-width:460px}
.rv-head-v2 .rv-score-row{display:flex;align-items:center;gap:22px}
.rv-head-v2 .rv-big{font-size:72px;font-weight:600;letter-spacing:-.05em;line-height:1;color:#1d1d1f}
.rv-head-v2 .rv-score-meta{display:flex;flex-direction:column;gap:6px}
.rv-head-v2 .rv-score-meta .stars{margin:0;justify-content:flex-start;gap:3px}
.rv-head-v2 .rv-score-meta .stars svg{width:20px;height:20px;color:#3F8E55}
.rv-head-v2 .rv-count{font-size:14px;color:#6e6e73;font-weight:500}
.rv-head-v2 .bars{gap:9px}
.rv-head-v2 .bar-r{font-size:13px}
.rv-head-v2 .bar-t{height:10px;background:#F0F0ED}
.rv-head-v2 .bar-f{background:linear-gradient(90deg,#2E6B40 0%,#3F8E55 100%)}
.rv-head-v2 .bar-r .pct{color:#6e6e73;font-weight:600}

/* dog photo grid */
.rv-gallery{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-template-rows:repeat(3,1fr);
  gap:10px;
  width:100%;
  aspect-ratio:4/3;
}
.rv-tile{
  position:relative;
  overflow:hidden;
  border-radius:12px;
  background:#EDECE7;
  transition:transform .35s cubic-bezier(.2,.7,.2,1);
}
.rv-tile img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s cubic-bezier(.2,.7,.2,1);
}
.rv-tile:hover{transform:translateY(-2px)}
.rv-tile:hover img{transform:scale(1.06)}

/* Tablet */
@media (max-width:960px){
  .rv-head-v2{grid-template-columns:1fr;gap:40px;margin-bottom:40px}
  .rv-head-v2 .rv-score-col{max-width:none;margin:0 auto;width:100%;max-width:520px}
  .rv-head-v2 .rv-big{font-size:60px}
}

/* Mobile */
@media (max-width:640px){
  .rv-head-v2{gap:32px;margin-bottom:32px}
  .rv-head-v2 .rv-score-row{gap:16px}
  .rv-head-v2 .rv-big{font-size:48px}
  .rv-head-v2 .rv-score-meta .stars svg{width:16px;height:16px}
  .rv-head-v2 .rv-count{font-size:12.5px}
  .rv-head-v2 .bar-r{font-size:12px}
  .rv-head-v2 .bar-r .lbl{width:38px}
  .rv-head-v2 .bar-r .pct{width:36px}
  .rv-gallery{
    grid-template-columns:repeat(3,1fr);
    grid-template-rows:repeat(4,1fr);
    aspect-ratio:3/4;
    gap:8px;
  }
  .rv-tile{border-radius:10px}
}

/* --- filter chips --- */

/* --- review rows --- */
.rv-list{display:flex;flex-direction:column}
.rv-row{display:grid;grid-template-columns:216px minmax(0,1fr) 240px;gap:30px;padding:30px 0;border-bottom:1px solid var(--line);align-items:start}
.rv-row.no-media{grid-template-columns:216px minmax(0,1fr)}
@media (max-width:1040px){.rv-row{grid-template-columns:200px minmax(0,1fr);gap:24px}.rv-row .rv-media{grid-column:2;max-width:320px}.rv-row.no-media{grid-template-columns:200px minmax(0,1fr)}}
@media (max-width:760px){.rv-row{grid-template-columns:1fr;gap:18px;padding:26px 0}.rv-row .rv-media{grid-column:1;max-width:none}.rv-row.no-media{grid-template-columns:1fr}}

/* reviewer sidebar */
.rv-prof{background:var(--mist);border-radius:14px;padding:18px}
.rv-prof-top{display:flex;align-items:center;gap:11px;margin-bottom:13px}
.rv-av{width:38px;height:38px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rv-av svg{width:21px;height:21px;color:#fff}
.rv-idn strong{display:block;font-size:14px;font-weight:600;letter-spacing:-.02em;color:var(--ink);line-height:1.25}
.rv-vb{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:var(--green-ink)}
.rv-vb svg{width:11px;height:11px}
.rv-rec{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:500;color:var(--ink-2);padding-bottom:13px;margin-bottom:13px;border-bottom:1px solid var(--line-2)}
.rv-rec svg{width:14px;height:14px;color:var(--green);flex-shrink:0}
.rv-attrs{margin:0}
.rv-attrs > div{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:baseline;
  gap:4px 12px;
  padding:9px 0;
  border-top:1px solid rgba(0,0,0,.06);
  margin-bottom:0;
}
.rv-attrs > div:first-child{border-top:none;padding-top:4px}
.rv-attrs > div:last-child{padding-bottom:2px}
.rv-attrs dt{
  font-size:12px;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
  color:var(--ink-2);
  margin:0;
  line-height:1.35;
  flex:0 1 auto;
  min-width:0;
}
.rv-attrs dd{
  margin:0;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:-.005em;
  color:var(--ink);
  line-height:1.35;
  text-align:right;
  flex:1 1 auto;
  min-width:0;
  word-wrap:break-word;
  overflow-wrap:break-word;
}
/* Long question wraps and value drops below */
.rv-attrs > div:has(dt:nth-child(1):only-child){display:block}
.rv-attrs > div.rv-attrs-wide{display:block}
.rv-attrs > div.rv-attrs-wide dd{text-align:left;margin-top:4px}

/* review body */
.rv-main{min-width:0}
.rv-meta-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:10px}
.rv-date{font-size:12.5px;color:var(--ink-3);font-weight:500;white-space:nowrap}
.rv-t{font-family:var(--font);font-size:16.5px;font-weight:600;letter-spacing:-.025em;color:var(--ink);margin:0 0 8px;line-height:1.3}
.rv-b{font-size:15px;color:var(--ink-2);line-height:1.6;margin:0 0 16px}

/* brand response */
.rv-reply{display:flex;gap:13px;background:var(--mist);border-left:3px solid var(--green);border-radius:0 12px 12px 0;padding:16px 18px;margin:0 0 16px}
.rv-reply-av{width:34px;height:34px;border-radius:50%;background:var(--black);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rv-reply-av svg{width:19px;height:19px;color:var(--green)}
.rv-reply-top{display:flex;align-items:center;gap:10px;margin-bottom:5px}
.rv-reply-top strong{font-size:13.5px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.rv-reply p{font-size:14px;color:var(--ink-2);line-height:1.6;margin:0}

/* helpful row */
.rv-helpful{display:flex;gap:18px;align-items:center}
.rv-helpful button{background:none;border:none;padding:0;cursor:pointer;font-family:var(--font);font-size:12.5px;font-weight:500;color:var(--ink-3);display:flex;align-items:center;gap:6px;transition:color .15s}
.rv-helpful button:hover{color:var(--green-ink)}
.rv-helpful svg{width:14px;height:14px}

/* customer photo */
.rv-media{position:relative;aspect-ratio:1/1;background:#F6F5F2;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.rv-media > img{cursor:zoom-in;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.rv-media > img:hover{transform:scale(1.03)}
.rv-media .rv-m-tile{cursor:zoom-in}
.rv-media .rv-m-tile img{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.rv-media .rv-m-tile:hover img{transform:scale(1.06)}
.rv-media > img:focus-visible,
.rv-media .rv-m-tile:focus-visible{outline:2px solid var(--green-ink,#2E6B40);outline-offset:3px}
.rv-media svg{width:100%;height:100%;display:block}
.rv-media > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.rv-media-video{background:#000;aspect-ratio:1/1}
.rv-media-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:#000}

/* Mosaic, 1 large on top + 2 small below (for reviews with 3 photos) */
.rv-media.rv-media-mosaic{
  background:transparent;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1.4fr 1fr;
  gap:6px;
  padding:0;
  border:none;
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:12px;
  align-items:stretch;
  justify-items:stretch;
}
.rv-media-mosaic .rv-m-tile{
  position:relative;
  overflow:hidden;
  border-radius:8px;
  background:#F6F5F2;
  display:block;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
}
.rv-media-mosaic .rv-m-tile img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.rv-media-mosaic .rv-m-main{grid-column:1/-1}

/* Pair — 2 photos stacked for reviews with 2 images */
.rv-media.rv-media-pair{
  background:transparent;
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:6px;
  padding:0;
  border:none;
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:12px;
  align-items:stretch;
  justify-items:stretch;
}
.rv-media-pair .rv-m-tile{
  position:relative;
  overflow:hidden;
  border-radius:8px;
  background:#F6F5F2;
  display:block;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
}
.rv-media-pair .rv-m-tile img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Placeholder look, subtle, ready for images to be added */
.rv-media-ph{
  background:#FAFAF7;
  border:1.5px dashed #E2E1DB;
  border-radius:12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:#C7C5BD;
  text-align:center;
}
.rv-media-ph svg{width:30px;height:30px;color:inherit;flex:none}
.rv-media-ph span{font-family:var(--font);font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:inherit}
.rv-play{position:absolute;inset:0;margin:auto;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.94);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.24)}
.rv-play svg{width:20px;height:20px;color:var(--ink);margin-left:2px}
.rv-more{text-align:center;margin-top:36px}

/* ===== Video testimonial ===== */
.vt-card{max-width:1000px;margin:0 auto;background:#fff;border-radius:var(--r-lg);padding:26px;display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;box-shadow:0 14px 44px rgba(0,0,0,.08)}
@media (max-width:820px){.vt-card{grid-template-columns:1fr;gap:24px;padding:20px}}
.vt-media{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/3;background:var(--sage-light)}
.vt-media svg{width:100%;height:100%;display:block}
.vt-cap{position:absolute;left:14px;bottom:14px;right:14px;background:rgba(0,0,0,.6);color:#fff;font-size:12.5px;font-weight:500;letter-spacing:-.01em;padding:8px 13px;border-radius:999px;text-align:center;backdrop-filter:blur(6px)}
.vt-play{position:absolute;inset:0;margin:auto;width:62px;height:62px;border-radius:50%;border:none;background:rgba(255,255,255,.95);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.28);transition:transform .15s}
.vt-play:hover{transform:scale(1.06)}
.vt-play svg{width:26px;height:26px;color:var(--ink);margin-left:3px}
.vt-body{padding:8px 12px}
@media (max-width:820px){.vt-body{padding:0}}
.vt-quote{font-family:var(--font);font-size:clamp(18px,2.1vw,23px);font-weight:500;line-height:1.42;letter-spacing:-.03em;color:var(--ink);margin:0 0 22px;border:none;padding:0}
.vt-who strong{display:block;font-size:15px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.vt-who span{font-size:13.5px;color:var(--ink-3)}
.vt-nav{display:flex;align-items:center;gap:14px;margin-top:26px}
.vt-arrow{width:38px;height:38px;border-radius:50%;border:1px solid var(--line-2);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink);transition:all .15s}
.vt-arrow:hover{border-color:var(--green);color:var(--green-ink)}
.vt-arrow svg{width:17px;height:17px}
.vt-dots{display:flex;gap:7px;align-items:center}
.vt-dots i{width:7px;height:7px;border-radius:50%;background:var(--line-2);display:block}
.vt-dots i.on{background:var(--green);width:22px;border-radius:999px}

/* ===== Why subscribe ===== */
.sub-calc{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;margin-top:26px}
.calc-r{display:flex;justify-content:space-between;align-items:center;padding:11px 0;font-size:14.5px;color:var(--ink-2);border-bottom:1px solid var(--line)}
.calc-r:last-of-type{border-bottom:none}
.calc-r b{color:var(--ink);font-weight:700}
.calc-tot{display:flex;justify-content:space-between;align-items:center;background:var(--sage-light);border-radius:12px;padding:15px 18px;margin-top:14px}
.calc-tot span{font-size:14px;font-weight:700;color:var(--green-ink)}
.calc-tot strong{font-family:var(--font);font-size:22px;font-weight:600;color:var(--green-ink);letter-spacing:-.035em}
.strike{text-decoration:line-through;color:var(--ink-3)}

/* ===== FAQ ===== */
.faq{max-width:840px;margin:0 auto}
.faq-i{border-bottom:1px solid var(--line)}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:23px 4px;cursor:pointer;font-family:var(--font);font-size:17.5px;font-weight:600;color:var(--ink);line-height:1.35;letter-spacing:-.028em}
@media (max-width:560px){.faq-q{font-size:15.5px;padding:19px 2px}}
.faq-p{width:30px;height:30px;border-radius:50%;background:var(--sage-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--green-ink);transition:transform .22s,background .18s}
.faq-p svg{width:13px;height:13px}
.faq-i.open .faq-p{transform:rotate(45deg);background:var(--green);color:#fff}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-a p{padding:0 4px 22px;margin:0;font-size:15px;color:var(--ink-2);line-height:1.68}
.faq-i.open .faq-a{max-height:500px}

/* ===== Best sellers ===== */
.bs-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:940px){.bs-row{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.bs-row{grid-template-columns:1fr;max-width:300px;margin:0 auto}}
.bs{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}
.bs-pic{aspect-ratio:1/1;background:var(--mist);display:flex;align-items:center;justify-content:center;padding:18px}
.bs-pic svg{width:100%;height:100%}
.bs-txt{padding:18px;display:flex;flex-direction:column;flex:1}
.bs-tag{font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--green-ink);margin-bottom:7px}
.bs-txt h4{font-family:var(--font);font-size:16px;font-weight:600;letter-spacing:-.025em;margin:0 0 8px;color:var(--ink);line-height:1.3}
.bs-rate{display:flex;align-items:center;gap:6px;margin-bottom:12px;font-size:11.5px;color:var(--ink-3)}
.bs-rate .stars svg{width:12px;height:12px}
.bs-price{font-family:var(--font);font-size:19px;font-weight:600;color:var(--ink);letter-spacing:-.03em;margin-bottom:14px;margin-top:auto}
.bs-price small{font-size:12px;color:var(--ink-3);font-weight:500;text-decoration:line-through;margin-left:6px}
.bs .btn{padding:12px 18px;font-size:13.5px;width:100%}

/* ===== Emotional close ===== */
.close-s{text-align:center;position:relative;overflow:hidden}
.close-s::before{content:"";position:absolute;top:-35%;left:50%;transform:translateX(-50%);width:780px;height:780px;max-width:150%;background:radial-gradient(circle,rgba(94,178,115,.19),transparent 68%);pointer-events:none}
.close-s .wrap{position:relative;z-index:1}
.close-art{width:96px;margin:0 auto 28px;display:block}
.close-s h2{max-width:780px;margin:0 auto 26px}
.close-copy{max-width:600px;margin:0 auto 36px}
.close-copy p{font-size:18.5px;color:rgba(255,255,255,.8);line-height:1.55;letter-spacing:-.015em;margin-bottom:.85em}
.close-copy p:last-child{margin-bottom:0;color:#fff;font-weight:600}
.close-fine{margin-top:22px;font-size:13px;color:rgba(255,255,255,.5)}

/* ===== Footer ===== */
footer{background:#fff;border-top:1px solid var(--line);padding:56px 0 28px}
.foot-grid{display:grid;grid-template-columns:1fr;gap:38px;margin-bottom:40px;text-align:center;justify-items:center}
.foot-grid .logo{justify-content:center}
.foot-grid .foot-tag{max-width:420px;margin-left:auto;margin-right:auto}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;gap:30px}}
.foot-tag{font-size:14px;color:var(--ink-3);max-width:270px;line-height:1.6;margin:14px 0 0}
footer h5{font-size:12px;font-weight:600;letter-spacing:.055em;text-transform:uppercase;color:var(--ink);margin:0 0 15px}
footer ul{list-style:none;padding:0;margin:0}
footer li{margin-bottom:10px}
footer ul a{color:var(--ink-2);font-size:14px;font-weight:500}
footer ul a:hover{color:var(--green-ink)}
.foot-bot{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12.5px;color:var(--ink-3)}
.foot-disc{max-width:880px;margin:20px auto 0;font-size:11.5px;color:var(--ink-3);line-height:1.6;text-align:center}
.wordmark{font-family:var(--font);font-size:clamp(52px,13vw,150px);font-weight:600;letter-spacing:-.06em;color:var(--mist);text-align:center;line-height:.9;margin-top:34px;user-select:none}

/* ===== Sticky mobile ATC ===== */
.sticky-atc{
  position:fixed;left:0;right:0;bottom:0;z-index:70;background:#fff;
  border-top:1px solid var(--line);padding:11px 16px;
  padding-bottom:calc(11px + env(safe-area-inset-bottom,0px));
  display:none;align-items:center;gap:13px;
  box-shadow:0 -4px 20px rgba(0,0,0,.09);
  transform:translateY(110%);transition:transform .25s ease;
}
.sticky-atc.show{transform:translateY(0)}
.sa-info{flex:1;min-width:0}
.sa-info strong{display:block;font-size:13.5px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sa-info span{font-size:12.5px;color:var(--ink-3)}
.sa-info span b{color:var(--green-ink);font-weight:700}
.sticky-atc .btn{padding:14px 26px;font-size:14.5px;white-space:nowrap}
/* Old sticky bar retired — the floating ATC covers all breakpoints now */
.sticky-atc{display:none !important}
.btn-dark{background:#111 !important;color:#fff !important;border:1.5px solid #111;transition:background .15s}
.btn-dark:hover{background:#000 !important;color:#fff !important}

/* ========================================================
   MOBILE OPTIMIZATION PASS
   ======================================================== */
@media (max-width:900px){
  :root{--r:14px;--r-lg:16px}
  .wrap{padding:0 18px}

  /* Promo rotator */
  .promo{padding:9px 0;font-size:12.5px}
  .promo-slide strong{font-size:13px}
  .promo-slide span{display:none}

  /* Sticky header & nav */
  .nav{padding:10px 0;gap:10px}
  .nav-logo{font-size:18px}
  .nav-logo .paw{width:28px;height:28px}
  .nav-links{display:none}
  .nav-icons{gap:10px}
  .nav-icon{width:36px;height:36px}

  /* PDP hero layout stack */
  .pdp{grid-template-columns:1fr;gap:22px;padding:0 0 32px}
  .gal{border-radius:16px}
  .gal-arw{width:26px;height:26px}
  .gal-arw svg{width:20px;height:20px}
  .thumbs{gap:7px}
  .thumb{width:62px;height:62px;border-radius:10px}

  /* Buy column */
  .buy{padding:0 2px}
  .pill-new{font-size:11.5px;padding:6px 12px}
  .ttl{font-size:clamp(24px,6.5vw,30px)!important;line-height:1.1}
  .ttl em{letter-spacing:-.045em}
  .trustpilot-row{flex-wrap:wrap;gap:8px;font-size:12.5px}
  .buy-lede{font-size:14.5px;line-height:1.55;margin-bottom:16px}
  .buy-benefits{gap:9px;margin-bottom:20px}
  .buy-benefits li{font-size:14.5px;gap:10px}
  .buy-benefits .bb-ico{width:20px;height:20px}
  .pick-label{font-size:13px;margin-bottom:7px}
  .opt{padding:14px 15px}
  .opt-name{font-size:14.5px;gap:6px}
  .opt-badge{font-size:9.5px;padding:3px 7px}
  .opt-note{font-size:12px}
  .opt-now{font-size:19px}
  .opt-was{font-size:12px}
  .opt-perks{padding:12px 0 2px 28px}
  .opt-perks li{font-size:12.5px}
  .btn.btn-lg{padding:15px 22px;font-size:15px}

  /* Press */
  .press{padding:14px 0}
  .press-row{gap:14px;flex-wrap:wrap;justify-content:center;row-gap:6px}
  .press-row span{font-size:11px}
  .press-lab{font-size:10px;margin-bottom:8px}

  /* Pain cards */
  .pain{padding:48px 0!important}
  .pain .display{font-size:26px!important;line-height:1.1!important}
  .pain-row{gap:10px!important}
  .pain-txt{padding:14px 14px 14px!important}
  .pain-txt h3{font-size:14px!important}
  .pain-num{font-size:10.5px!important}

  /* Why happens hero card */
  .why-sec{padding:48px 0 16px}
  .why-title{font-size:30px!important;line-height:1.08}
  .why-lede{font-size:15px}
  .why-close{font-size:16px;margin-top:28px;padding:0}

  /* Turning point full image */
  .solve-sec{padding:36px 0 44px}
  .solve-hero{min-height:auto;border-radius:18px}
  .solve-bg-img{height:260px}
  .solve-shade{background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.2) 55%,rgba(0,0,0,.86) 100%)}
  .solve-overlay{padding:22px 22px 26px;min-height:auto;background:#15181a}
  .solve-chip{font-size:10.5px;padding:6px 12px;margin-bottom:16px}
  .solve-h{font-size:clamp(26px,7vw,34px)!important;line-height:1.08}
  .solve-sub{font-size:14.5px;line-height:1.55}
  .solve-stats{grid-template-columns:1fr 1fr;gap:16px 8px;padding:16px 14px;margin-top:24px}
  .s-num{font-size:22px!important}
  .s-u{font-size:14px!important}
  .s-lbl{font-size:10.5px!important;line-height:1.3}

  /* Inside, what's inside carousel */
  .inside-sec{padding:48px 0 60px}
  .inside-top{margin-bottom:26px;padding-right:18px}
  .inside-h{font-size:28px!important;line-height:1.08;margin:8px 0 12px!important}
  .inside-sub{font-size:14.5px;padding:0 4px}
  /* .inside-nav and .ing-slide width are overridden by the 2-col grid rules */
  .ing-slide-title{padding:18px 20px 8px}
  .ing-slide-title h3{font-size:19px}
  .ing-slide-title h3 span{font-size:14.5px}
  .ing-slide-txt{padding:56px 18px 18px}
  .ing-slide-txt p{font-size:13.5px}

  /* 3 Simple Steps */
  .steps-sec{padding:48px 0 56px}
  .steps-sec .display{font-size:26px!important;line-height:1.08}
  .steps-row{gap:14px;max-width:420px;margin-top:28px}
  .step-card{aspect-ratio:4/5;border-radius:18px}
  .step-cap{padding:20px 22px 22px}
  .step-pill{font-size:10.5px;padding:6px 11px}
  .step-cap h3{font-size:22px}

  /* Why Dogs Love It */
  .love-sec{padding:48px 0}
  .love-grid{gap:28px}
  .love-h{font-size:30px!important;line-height:1.08;margin-bottom:16px}
  .love-lede{font-size:15px;margin-bottom:22px}
  .love-list li{font-size:14.5px;padding:13px 0;gap:14px}
  .love-ico{width:40px;height:40px}
  .love-ico svg{width:18px;height:18px}

  /* Why Pet Parents */
  .parents-sec{padding:48px 0}
  .parents-grid{gap:28px}
  .parents-h{font-size:30px!important;line-height:1.08;margin-bottom:20px}
  .parents-list li{padding:13px 0;gap:14px}
  .parents-ico{width:40px;height:40px}
  .parents-ico svg{width:18px;height:18px}
  .parents-txt h3{font-size:16px}
  .parents-txt p{font-size:13.5px}

  /* See Him Again */
  .seehim-sec{padding:48px 0}
  .seehim-grid{gap:28px}
  .seehim-h{font-size:28px!important;line-height:1.08}
  .seehim-lede{font-size:14.5px}
  .seehim-list li{padding:16px 0;gap:14px}
  .seehim-ico{width:40px;height:40px}
  .seehim-ico svg{width:18px;height:18px}
  .seehim-txt h3{font-size:17px}

  /* What To Expect / timeline */
  .expect-sec{padding:48px 0}
  .expect-grid{gap:28px}
  .expect-h{font-size:26px!important;line-height:1.08}
  .expect-lede{font-size:14.5px}
  .expect-step{gap:14px;padding-bottom:20px}
  .expect-marker{width:36px;height:36px;font-size:12px}
  .expect-step::before{left:17px}
  .expect-body h3{font-size:17px}
  .expect-body p{font-size:13.5px}
  .expect-month{font-size:9.5px;padding:4px 9px}

  /* Reviews */
  #reviews{padding:48px 0}
  #reviews .display{font-size:26px!important;line-height:1.1}
  .rv-head{grid-template-columns:1fr;gap:18px;padding:20px}
  .rv-big{font-size:46px}
  .rv-count{font-size:12.5px}
  .bar-r{font-size:12px;gap:10px}
  .bar-r .lbl, .bar-r .pct{width:36px}
  .bar-t{height:10px}
  .rv-row{padding:22px 0;gap:16px}
  .rv-prof{padding:14px;border-radius:12px}
  .rv-prof-top{gap:10px}
  .rv-av{width:32px;height:32px}
  .rv-idn strong{font-size:14px}
  .rv-vb{font-size:11px}
  .rv-rec{font-size:12px}
  .rv-attrs dt{font-size:10.5px}
  .rv-attrs dd{font-size:12.5px}
  .rv-t{font-size:16px}
  .rv-b{font-size:14px;line-height:1.6}
  .rv-date{font-size:11.5px}
  .rv-helpful button{font-size:12.5px;padding:7px 12px}
  #rvShowMore{padding:13px 24px;font-size:14.5px}

  /* FAQ */
  #faq{padding:48px 0 60px!important}
  #faq .sec-head h2{font-size:28px!important;line-height:1.08}
  .faq-q{font-size:15px;padding:20px 0;gap:14px}
  .faq-a p,.faq-a ul li{font-size:14px}

  /* P.S. close */
  .close-s{padding:52px 0 60px}
  .close-s .ps-label{font-size:11.5px;padding:7px 16px;margin-bottom:18px}
  .close-s .ps-lede{font-size:clamp(24px,6.5vw,30px)!important;margin-bottom:26px}
  .close-s .ps-body p{font-size:15.5px}
  .close-s .ps-quotes{padding:20px 18px;margin:20px auto 24px}
  .close-s .ps-quotes p{font-size:18px!important}
  .close-s .ps-or{font-size:21px!important}
  .close-s .ps-plea{font-size:23px!important}
  .close-s .ps-close-1,.close-s .ps-close-2,.close-s .ps-close-3{font-size:18px!important}
  .close-s .ps-cta-lead{font-size:15.5px;padding:0 6px}

  /* Footer */
  footer{padding:36px 0 110px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:26px}
  .foot-grid h5{font-size:12.5px}
  .foot-grid a{font-size:13px}

  /* Sticky mobile ATC */
  .sa{padding:10px 14px;gap:10px}
  .sa strong{font-size:13.5px}
  .sa span{font-size:11.5px}
  .sa .btn{padding:11px 16px;font-size:13.5px}
}

@media (max-width:520px){
  .wrap{padding:0 14px}

  /* PDP hero further tightening */
  .ttl{font-size:22px!important}
  .buy-lede{font-size:13.5px}
  .buy-benefits li{font-size:14px}
  .buy-benefits .bb-ico{width:19px;height:19px}

  /* Pain cards */
  .pain{padding:40px 0!important}
  .pain .display{font-size:22px!important}
  .pain-txt h3{font-size:13px!important}
  .pain-row{gap:8px!important}

  /* Why happens */
  .why-title{font-size:24px!important}
  .why-lede{font-size:14px}
  .why-close{font-size:14.5px}

  /* Turning point */
  .solve-bg-img{height:220px}
  .solve-overlay{padding:20px 18px 22px}
  .solve-h{font-size:24px!important}
  .solve-sub{font-size:13.5px}
  .s-num{font-size:20px!important}
  .s-u{font-size:13px!important}
  .s-lbl{font-size:10px!important}

  /* Inside carousel */
  .inside-h{font-size:24px!important}
  /* .ing-slide width is overridden by the 2-col grid rules in the inside section */

  /* 3 Steps */
  .step-cap h3{font-size:20px}

  /* Love / Parents / Seehim / Expect */
  .love-h,.parents-h,.seehim-h,.expect-h{font-size:24px!important}

  /* Reviews */
  #reviews .display{font-size:22px!important}
  .rv-big{font-size:40px}

  /* FAQ */
  #faq .sec-head h2{font-size:24px!important}
  .faq-q{font-size:14.5px}

  /* P.S. */
  .close-s .ps-lede{font-size:24px!important}
  .close-s .ps-body p{font-size:14.5px}
  .close-s .ps-quotes p{font-size:16px!important}
  .close-s .ps-or{font-size:19px!important}
  .close-s .ps-plea{font-size:20px!important}
  .close-s .ps-close-1,.close-s .ps-close-2,.close-s .ps-close-3{font-size:16px!important}

  /* Footer */
  .foot-grid{grid-template-columns:1fr;gap:22px}
}

@media (max-width:360px){
  .wrap{padding:0 12px}
  .ttl{font-size:20px!important}
  .solve-h,.inside-h,.love-h,.parents-h,.seehim-h,.expect-h,#reviews .display,.pain .display{font-size:22px!important}
  .why-title{font-size:22px!important}
}

/* ===== Decorative paw prints (brand accent) =====
   Subtle, faded, non-interactive. Applied via pseudo-elements so markup stays clean.
   Each host section needs position:relative + overflow:hidden (set below).
   .wrap inside each is lifted above the paw with z-index:1. */
.paw-bg{position:relative;overflow:hidden}
.paw-bg > .wrap{position:relative;z-index:1}
.paw-deco{
  position:absolute;
  background-image:url('/cdn/shop/files/Black_Paw_Print_Icon_59e7fede-6900-4657-ae2c-9fc82fdf1fbf.webp?v=1790838160');
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
  pointer-events:none;
  z-index:0;
  opacity:.045;
}
/* individual placements */
.paw-pain-1{bottom:-40px;left:-30px;width:220px;height:220px;transform:rotate(-18deg)}
.paw-pain-2{top:60px;right:4%;width:120px;height:120px;transform:rotate(22deg);opacity:.035}
.paw-pain-3{top:38%;left:38%;width:90px;height:90px;transform:rotate(45deg);opacity:.03}
.paw-steps-1{top:40px;right:-20px;width:170px;height:170px;transform:rotate(28deg);opacity:.05}
.paw-steps-2{bottom:30px;left:-10px;width:140px;height:140px;transform:rotate(-25deg);opacity:.04}
.paw-steps-3{top:48%;left:46%;width:70px;height:70px;transform:rotate(10deg);opacity:.03}
.paw-love-1{top:50px;right:3%;width:110px;height:110px;transform:rotate(-14deg);opacity:.05}
.paw-love-2{bottom:40px;left:2%;width:150px;height:150px;transform:rotate(32deg);opacity:.04}
.paw-love-3{top:40%;right:46%;width:60px;height:60px;transform:rotate(-40deg);opacity:.03}
.paw-parents-1{top:70px;left:3%;width:130px;height:130px;transform:rotate(-22deg);opacity:.045}
.paw-parents-2{bottom:40px;right:-20px;width:170px;height:170px;transform:rotate(16deg);opacity:.04}
.paw-seehim-1{top:60px;right:-30px;width:180px;height:180px;transform:rotate(18deg);opacity:.05}
.paw-seehim-2{bottom:30px;left:-20px;width:140px;height:140px;transform:rotate(-30deg);opacity:.04}
.paw-expect-1{top:50px;left:-10px;width:150px;height:150px;transform:rotate(26deg);opacity:.045}
.paw-expect-2{bottom:60px;right:5%;width:100px;height:100px;transform:rotate(-18deg);opacity:.035}
.paw-faq-1{top:40px;right:4%;width:140px;height:140px;transform:rotate(-20deg);opacity:.04}
.paw-faq-2{bottom:40px;left:3%;width:110px;height:110px;transform:rotate(24deg);opacity:.035}
.paw-faq-3{top:52%;right:46%;width:70px;height:70px;transform:rotate(-45deg);opacity:.03}

@media (max-width:720px){
  .paw-pain-1{width:150px;height:150px;bottom:-25px;left:-25px}
  .paw-pain-2,.paw-pain-3{display:none}
  .paw-steps-1{width:120px;height:120px}
  .paw-steps-2{width:100px;height:100px}
  .paw-steps-3{display:none}
  .paw-love-1{width:80px;height:80px;top:30px}
  .paw-love-2{width:100px;height:100px;bottom:20px}
  .paw-love-3{display:none}
  .paw-parents-1{width:90px;height:90px;top:30px}
  .paw-parents-2{width:110px;height:110px}
  .paw-seehim-1{width:120px;height:120px;top:30px;right:-20px}
  .paw-seehim-2{width:90px;height:90px}
  .paw-expect-1{width:100px;height:100px}
  .paw-expect-2{width:80px;height:80px}
  .paw-faq-1{width:100px;height:100px}
  .paw-faq-2{width:80px;height:80px}
  .paw-faq-3{display:none}
}

/* ===== INGREDIENT BENTO (editorial two-column rows) ===== */
.ib-sec{background:#fff;padding:96px 0 96px;position:relative;overflow:hidden}
.ib-wrap{max-width:1200px}

/* Section header */
.ib-head{text-align:center;max-width:900px;margin:0 auto 56px}
.ib-eyebrow{display:inline-block;font-family:var(--font);font-size:12.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--green-deep);margin-bottom:18px}
.ib-title{font-family:var(--font);font-size:clamp(34px,4.6vw,58px);font-weight:800;letter-spacing:-.045em;line-height:1.02;color:var(--ink);margin:0 0 18px;text-wrap:balance}
.ib-sub{font-family:var(--font);font-size:17px;line-height:1.55;color:var(--ink-2);margin:0 auto;max-width:620px;letter-spacing:-.005em}

/* Alternating stack */
.ib-stack{display:flex;flex-direction:column;gap:16px}
.ib-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-height:380px}

/* Text card — warm cream background, serif heading, pill button */
.ib-text{
  background:#F0E9DC;
  border-radius:22px;
  padding:48px 52px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.ib-cardtitle{
  font-family:'Inter',var(--font);
  font-size:clamp(28px,3.2vw,40px);
  font-weight:700;
  letter-spacing:-.028em;
  line-height:1.1;
  color:var(--ink);
  margin:0 0 18px;
}
.ib-copy{
  font-family:var(--font);
  font-size:15.5px;
  line-height:1.6;
  color:var(--ink-2);
  margin:0 0 28px;
  letter-spacing:-.005em;
  max-width:460px;
}
.ib-learn{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  padding:12px 24px;
  background:#E5DAC2;
  color:var(--ink);
  font-family:var(--font);
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  border-radius:999px;
  text-decoration:none;
  transition:background .2s ease,color .2s ease,transform .15s ease;
}
.ib-learn:hover{background:var(--ink);color:#fff;transform:translateY(-1px)}

/* Image card — full-bleed photo with rounded corners */
.ib-image{
  position:relative;
  margin:0;
  border-radius:22px;
  overflow:hidden;
  background:#EEEEE9;
  min-height:380px;
}
.ib-image img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .7s cubic-bezier(.2,.7,.2,1);
}
.ib-row:hover .ib-image img{transform:scale(1.03)}

/* Section CTA — balanced, intentional, matches the main buy button */
.ib-cta{display:flex;flex-direction:column;align-items:center;gap:14px;margin:72px auto 0;max-width:720px;text-align:center}
.ib-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:18px 40px;background:var(--green);color:#fff;font-family:var(--font);font-size:16px;font-weight:700;letter-spacing:-.012em;line-height:1;border-radius:999px;text-decoration:none;box-shadow:0 1px 2px rgba(16,24,20,.08),0 10px 24px rgba(94,178,115,.28);transition:background .2s ease,transform .18s ease,box-shadow .25s ease;will-change:transform}
.ib-cta-btn:hover{background:var(--green-deep);transform:translateY(-2px);box-shadow:0 2px 4px rgba(16,24,20,.1),0 16px 36px rgba(94,178,115,.36)}
.ib-cta-btn:active{transform:translateY(0)}
.ib-cta-btn svg{transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.ib-cta-btn:hover svg{transform:translateX(3px)}
.ib-cta-note{font-family:var(--font);font-size:13.5px;color:var(--ink-2);margin:0;letter-spacing:-.005em}

/* Tablet */
@media (max-width:900px){
  .ib-sec{padding:72px 0 72px}
  .ib-head{margin-bottom:40px}
  .ib-row{grid-template-columns:1fr;min-height:0;gap:0;border-radius:22px;overflow:hidden;background:#F0E9DC}
  .ib-cta{margin-top:56px}
  .ib-cta-btn{padding:16px 32px;font-size:15px}
  .ib-image{min-height:0;aspect-ratio:4/3;border-radius:22px 22px 0 0}
  .ib-text{border-radius:0 0 22px 22px;padding:36px 32px}
  /* Force image to always sit above the text on mobile, regardless of DOM order */
  .ib-row .ib-image{order:1}
  .ib-row .ib-text{order:2}
  .ib-cardtitle{font-size:28px;margin-bottom:14px}
  .ib-copy{font-size:15px;margin-bottom:22px}
}

/* Small mobile */
@media (max-width:520px){
  .ib-sec{padding:56px 0 56px}
  .ib-head{margin-bottom:28px}
  .ib-cta{margin-top:40px;gap:12px}
  .ib-cta-btn{padding:15px 26px;font-size:14.5px;width:100%;max-width:320px}
  .ib-cta-note{font-size:12.5px;line-height:1.5}
  .ib-eyebrow{font-size:11.5px;letter-spacing:.2em;margin-bottom:14px}
  .ib-sub{font-size:14.5px}
  .ib-stack{gap:14px}
  .ib-image{aspect-ratio:4/3}
  .ib-text{padding:28px 24px}
  .ib-cardtitle{font-size:26px;margin-bottom:12px}
  .ib-copy{font-size:14.5px;margin-bottom:20px}
  .ib-learn{font-size:11px;padding:11px 20px}
}

.pain-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pain-wide{max-width:1600px}
.pain-card{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:3/4.4;isolation:isolate;transition:transform .25s ease,box-shadow .25s ease;background:#1a1a1a}
.pain-card:hover{transform:translateY(-4px);box-shadow:0 26px 52px rgba(0,0,0,.18)}
.pain-pic{position:absolute;inset:0;overflow:hidden;background:var(--sage-light)}
.pain-pic::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 42%,rgba(0,0,0,.35) 65%,rgba(0,0,0,.78) 100%);pointer-events:none}
.pain-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.pain-card:hover .pain-img{transform:scale(1.05)}
.pain-txt{position:absolute;left:0;right:0;bottom:0;padding:24px 26px 26px;z-index:2;display:flex;flex-direction:column;gap:8px;color:#fff}
.pain-num{font-family:var(--font);font-size:12px;font-weight:600;letter-spacing:.1em;color:rgba(255,255,255,.78);text-transform:uppercase}
.pain-txt h3{font-family:var(--font);font-size:22px;font-weight:600;letter-spacing:-.028em;line-height:1.22;margin:0;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.35)}
@media (max-width:1100px){
  .pain-txt h3{font-size:19px}
  .pain-txt{padding:20px 22px 22px}
}
@media (max-width:820px){
  /* Horizontal snap-scroll carousel on mobile */
  .pain-wide{max-width:none;padding-right:0}
  .pain-row{
    display:flex !important;
    grid-template-columns:none !important;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    gap:14px !important;
    padding:4px 20% 4px 0;
    margin-right:-20px;
    scroll-padding-left:0;
  }
  .pain-row::-webkit-scrollbar{display:none}
  .pain-card{
    flex:0 0 82%;
    scroll-snap-align:start;
    aspect-ratio:3/4;
  }
  .pain-txt h3{font-size:19px}
  .pain-txt{padding:22px 22px 24px}

  /* Scroll hint: subtle swipe cue below the carousel */
  .pain-hint{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin-top:18px;
    font-family:var(--font);
    font-size:12.5px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--ink-3);
  }
  .pain-hint .pain-hint-line{
    width:28px;height:1px;background:currentColor;opacity:.4;
  }
  .pain-hint .pain-hint-arrow{
    display:inline-flex;align-items:center;justify-content:center;
    width:30px;height:30px;border-radius:50%;
    background:#fff;border:1.5px solid var(--line-2);color:var(--ink);
    animation:pain-nudge 1.8s ease-in-out infinite;
  }
  .pain-hint .pain-hint-arrow svg{width:14px;height:14px}
  @keyframes pain-nudge{
    0%,100%{transform:translateX(0)}
    50%{transform:translateX(6px)}
  }
}
@media (min-width:821px){
  .pain-hint{display:none}
}
@media (max-width:480px){
  .pain-row{gap:12px}
  .pain-txt{padding:16px 18px 18px}
  .pain-txt h3{font-size:17px}
  .pain-num{font-size:11px}
}

.trust-video-sec{background:#fff;padding:72px 0 48px;position:relative}
.trust-video-sec .wrap{max-width:1080px;position:relative;z-index:1}
/* Headline is a static block above the video — never sticky, never floating.
   Explicit position:static + z-index:auto defuse any ancestor sticky/absolute
   rules that could lift it over the video frame below. */
.tv-head{position:static !important;z-index:auto;text-align:center;max-width:820px;margin:0 auto 56px;padding:0 20px;background:transparent}
.tv-title{font-family:var(--font);font-size:clamp(28px,3.6vw,42px);font-weight:800;letter-spacing:-.04em;line-height:1.1;color:var(--ink);margin:0;text-wrap:balance}
/* Video frame sits in its own flow row with its own top margin — guards
   against the headline block visually touching the video edge. */
.trust-video-sec .trust-video-frame{margin-top:0}
@media (max-width:900px){.trust-video-sec{padding:56px 0 36px}.tv-head{margin-bottom:40px}.tv-title{font-size:26px}}
@media (max-width:520px){.trust-video-sec{padding:44px 0 28px}.tv-head{margin-bottom:28px}.tv-title{font-size:22px;letter-spacing:-.03em}}
.trust-video-frame{position:relative;margin:0 auto;max-width:960px;border-radius:22px;overflow:hidden;background:#000;box-shadow:0 24px 60px rgba(16,24,20,.14),0 2px 6px rgba(16,24,20,.06);aspect-ratio:16/9}
.trust-video-el{display:block;width:100%;height:100%;object-fit:cover;background:#000;pointer-events:none}

/* Custom mute/unmute toggle - the only control shown */
.trust-video-mute{position:absolute;bottom:16px;right:16px;width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.18);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;z-index:2;transition:background .18s ease,transform .18s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.trust-video-mute:hover{background:rgba(0,0,0,.72);transform:scale(1.05)}
.trust-video-mute:focus-visible{outline:2px solid #fff;outline-offset:2px}
.trust-video-mute .tvm-ico{width:20px;height:20px;display:none}
.trust-video-mute[aria-pressed="true"] .tvm-muted{display:block}
.trust-video-mute[aria-pressed="false"] .tvm-sound{display:block}
@media (max-width:560px){
  .trust-video-mute{bottom:12px;right:12px;width:40px;height:40px}
  .trust-video-mute .tvm-ico{width:18px;height:18px}
}
@media (max-width:820px){
  .trust-video-sec{padding:36px 0 16px}
  .trust-video-frame{border-radius:16px}
}

/* ===== Before & After videos ===== */
.ba-sec{background:#fff;padding:80px 0 92px;position:relative}
.ba-sec .wrap{max-width:920px}
.ba-head{text-align:center;max-width:720px;margin:0 auto 48px}
.ba-head .eyebrow{margin-bottom:16px}
.ba-head h2{margin:0 0 14px}
.ba-head p{font-size:16px;color:var(--ink-2);margin:0;max-width:520px;margin:0 auto}

.ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ba-tile{position:relative;display:block;width:100%;padding:0;margin:0;border:none;background:#000;border-radius:20px;overflow:hidden;cursor:pointer;aspect-ratio:4/5;isolation:isolate;transition:transform .25s ease,box-shadow .25s ease;box-shadow:0 2px 6px rgba(16,24,20,.06),0 10px 28px rgba(16,24,20,.08)}
.ba-tile:hover{transform:translateY(-4px);box-shadow:0 4px 10px rgba(16,24,20,.08),0 20px 44px rgba(16,24,20,.14)}
.ba-tile:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.ba-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:#000}

/* Centered play affordance */
.ba-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.94);display:flex;align-items:center;justify-content:center;color:var(--ink);pointer-events:none;transition:transform .2s ease,background .2s ease;box-shadow:0 6px 18px rgba(0,0,0,.26);z-index:2}
.ba-tile:hover .ba-play{background:var(--green);color:#fff;transform:translate(-50%,-50%) scale(1.08)}
.ba-play svg{width:26px;height:26px;margin-left:3px}

/* Corner badge */
.ba-badge{position:absolute;top:12px;left:12px;background:rgba(0,0,0,.55);color:#fff;font-family:var(--font);font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;padding:5px 10px;border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2}

/* Section heading above the video grid */
.ba-head{text-align:center;max-width:820px;margin:0 auto 44px}
.ba-title{font-family:var(--font);font-size:clamp(30px,4vw,50px);font-weight:800;letter-spacing:-.04em;line-height:1.06;color:var(--ink);margin:0;text-wrap:balance}
@media (max-width:900px){.ba-head{margin-bottom:32px}.ba-title{font-size:28px}.ba-title br{display:none}}
@media (max-width:520px){.ba-head{margin-bottom:24px}.ba-title{font-size:24px;letter-spacing:-.03em}}

@media (max-width:900px){
  .ba-sec{padding:60px 0 72px}
  .ba-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .ba-tile{border-radius:16px}
  .ba-play{width:52px;height:52px}
  .ba-play svg{width:22px;height:22px}
}
@media (max-width:520px){
  .ba-sec{padding:48px 0 60px}
  .ba-head{margin-bottom:32px}
  .ba-grid{grid-template-columns:1fr;gap:14px;max-width:360px;margin:0 auto}
  .ba-tile{aspect-ratio:4/5}
}

/* Lightbox */
.ba-lb{position:fixed;inset:0;z-index:9999;background:rgba(10,12,10,.94);display:none;align-items:center;justify-content:center;padding:56px 24px;opacity:0;transition:opacity .22s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ba-lb.is-open{display:flex;opacity:1}
.ba-lb-stage{position:relative;width:min(90vw,520px);aspect-ratio:4/5;max-height:calc(100vh - 140px);border-radius:14px;overflow:hidden;background:#000;box-shadow:0 24px 80px rgba(0,0,0,.55)}
.ba-lb-video{width:100%;height:100%;object-fit:contain;background:#000;display:block}
.ba-lb-close{position:absolute;top:20px;right:20px;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .18s ease,transform .18s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.ba-lb-close:hover{background:rgba(255,255,255,.22);transform:scale(1.05)}
.ba-lb-close svg{width:20px;height:20px}
body.ba-lb-locked{overflow:hidden}
@media (max-width:560px){
  .ba-lb{padding:48px 14px}
  .ba-lb-close{top:12px;right:12px;width:40px;height:40px}
  .ba-lb-close svg{width:18px;height:18px}
}

.steps-sec{position:relative;background:#fff;padding:84px 0 92px;overflow:hidden;isolation:isolate}

/* CTA below the 3-steps row — matches the bento / guarantee CTAs so they feel like one family */
.steps-cta{display:flex;flex-direction:column;align-items:center;gap:14px;margin:56px auto 0;max-width:720px;text-align:center;position:relative;z-index:1}
.steps-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:18px 40px;background:var(--green);color:#fff;font-family:var(--font);font-size:16px;font-weight:700;letter-spacing:-.012em;line-height:1;border-radius:999px;text-decoration:none;box-shadow:0 1px 2px rgba(16,24,20,.08),0 10px 24px rgba(94,178,115,.28);transition:background .2s ease,transform .18s ease,box-shadow .25s ease;will-change:transform}
.steps-cta-btn:hover{background:var(--green-deep);transform:translateY(-2px);box-shadow:0 2px 4px rgba(16,24,20,.1),0 16px 36px rgba(94,178,115,.36)}
.steps-cta-btn:active{transform:translateY(0)}
.steps-cta-btn svg{transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.steps-cta-btn:hover svg{transform:translateX(3px)}
.steps-cta-note{font-family:var(--font);font-size:13.5px;color:var(--ink-2);margin:0;letter-spacing:-.005em}
@media (max-width:900px){
  .steps-cta{margin-top:40px}
  .steps-cta-btn{padding:16px 32px;font-size:15px}
}
@media (max-width:560px){
  .steps-cta{margin-top:32px;gap:12px}
  .steps-cta-btn{padding:15px 26px;font-size:14.5px;width:100%;max-width:320px}
  .steps-cta-note{font-size:12.5px;line-height:1.5}
}

.steps-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;max-width:1240px;margin:40px auto 0}

.step-card{position:relative;border-radius:24px;overflow:hidden;isolation:isolate;aspect-ratio:3/4;background:#1a1a1a;transition:transform .3s ease;cursor:default}
.step-card:hover{transform:translateY(-5px)}
.step-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.step-card:hover .step-img{transform:scale(1.05)}
.step-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.35) 65%,rgba(0,0,0,.82) 100%);z-index:1;pointer-events:none}
.step-cap{position:absolute;left:0;right:0;bottom:0;padding:30px 32px 32px;z-index:2;color:#fff;display:flex;flex-direction:column;gap:14px}
.step-pill{align-self:flex-start;display:inline-block;font-family:var(--font);font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:rgba(94,178,115,.95);padding:7px 14px;border-radius:999px;box-shadow:0 6px 16px rgba(0,0,0,.3)}
.step-cap h3{font-family:var(--font);font-size:clamp(26px,2.6vw,32px);font-weight:700;letter-spacing:-.028em;color:#fff;margin:0;line-height:1.1;text-shadow:0 2px 14px rgba(0,0,0,.45)}

@media (max-width:920px){
  .steps-sec{padding:56px 0 64px}
  .steps-row{grid-template-columns:1fr;gap:16px;max-width:460px;margin-top:32px}
  .step-card{aspect-ratio:3/4}
  .step-cap{padding:24px 26px 26px}
  .step-cap h3{font-size:24px}
}
@media (max-width:480px){
  .step-cap{padding:20px 22px 22px}
  .step-cap h3{font-size:22px}
}

.love-sec{background:#fff;padding:80px 0}
.love-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center;max-width:1280px;margin:0 auto}
.love-copy{padding-right:4px}
.love-eyebrow{display:inline-block;font-family:var(--font);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:18px}
.love-h{font-family:var(--font);font-size:clamp(38px,4.6vw,58px);font-weight:800;letter-spacing:-.048em;line-height:1.02;color:var(--ink);margin:0 0 20px}
.love-h em{font-family:inherit;color:var(--green-ink);font-style:normal;font-weight:800;letter-spacing:inherit}
.love-lede{font-family:var(--font);font-size:18px;font-weight:400;color:var(--ink-2);letter-spacing:-.008em;line-height:1.55;margin:0 0 26px;max-width:520px}
.love-list{list-style:none;padding:0;margin:0}
.love-list li{display:flex;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid #ECECEA;font-size:18px;color:var(--ink);font-weight:600;line-height:1.35;letter-spacing:-.014em}
.love-list li:last-child{border-bottom:none}
.love-ico{width:48px;height:48px;border-radius:50%;background:#F3F3F1;color:var(--ink);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.love-ico svg{width:22px;height:22px}
.love-txt{flex:1}
.love-visual{display:flex;align-items:center;justify-content:center}
.love-visual svg{width:100%;max-width:420px;height:auto;display:block}
.love-img{width:100%;max-width:640px;aspect-ratio:1/1;object-fit:cover;display:block;border-radius:28px!important;overflow:hidden}
.love-video-wrap{position:relative;display:inline-flex;max-width:100%;max-height:680px;border-radius:28px;overflow:hidden;background:#000;box-shadow:0 14px 44px rgba(0,0,0,.1);line-height:0}
.love-video{display:block;width:auto;height:auto;max-width:100%;max-height:680px;background:#000;pointer-events:none}
.love-video-mute{position:absolute;bottom:16px;right:16px;width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.18);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;z-index:2;transition:background .18s ease,transform .18s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.love-video-mute:hover{background:rgba(0,0,0,.72);transform:scale(1.05)}
.love-video-mute:focus-visible{outline:2px solid #fff;outline-offset:2px}
.love-video-mute .lvm-ico{width:20px;height:20px;display:none}
.love-video-mute[aria-pressed="true"] .lvm-muted{display:block}
.love-video-mute[aria-pressed="false"] .lvm-sound{display:block}
@media (max-width:560px){
  .love-video-wrap,.love-video{max-height:70vh}
  .love-video-mute{bottom:12px;right:12px;width:40px;height:40px}
  .love-video-mute .lvm-ico{width:18px;height:18px}
}

@media (max-width:900px){
  .love-sec{padding:56px 0}
  .love-grid{grid-template-columns:1fr;gap:24px;display:flex;flex-direction:column}
  .love-copy{padding-right:0;display:contents}
  .love-visual{order:2;max-width:480px;margin:0 auto;width:100%}
  .love-copy > .love-h{order:1;margin-bottom:4px}
  .love-copy > *:not(.love-h){order:3}
  .love-h{font-size:34px}
  .love-lede{font-size:16.5px}
  .love-list li{font-size:16.5px;padding:14px 0}
  .love-ico{width:44px;height:44px}
  .love-ico svg{width:20px;height:20px}
  .love-check{width:28px;height:28px}
  .love-check svg{width:14px;height:14px}
}

.parents-sec{background:#fff;padding:80px 0}
.parents-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;max-width:1280px;margin:0 auto}
.parents-visual{display:flex;align-items:center;justify-content:center}
.parents-video-wrap{position:relative;width:100%;max-width:640px;border-radius:28px;overflow:hidden;line-height:0}
.parents-img{width:100%;max-width:640px;aspect-ratio:1/1;object-fit:cover;display:block;border-radius:28px!important;overflow:hidden}
.parents-video-wrap .parents-img{border-radius:0!important}

/* Floating mute / unmute toggle */
.parents-mute{position:absolute;bottom:16px;right:16px;width:48px;height:48px;border-radius:50%;background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.18);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;z-index:3;transition:background .18s ease,transform .18s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.parents-mute:hover{background:rgba(0,0,0,.78);transform:scale(1.06)}
.parents-mute:focus-visible{outline:2px solid #fff;outline-offset:2px}
.parents-mute .pm-icon{width:22px;height:22px}
.parents-mute .pm-icon--unmuted{display:none}
.parents-mute[aria-pressed="false"] .pm-icon--muted{display:none}
.parents-mute[aria-pressed="false"] .pm-icon--unmuted{display:block}
@media (max-width:560px){
  .parents-mute{width:42px;height:42px;bottom:12px;right:12px}
  .parents-mute .pm-icon{width:19px;height:19px}
}
.parents-copy{padding-left:4px}
.parents-eyebrow{display:inline-block;font-family:var(--font);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:18px}
.parents-h{font-family:var(--font);font-size:clamp(38px,4.6vw,58px);font-weight:800;letter-spacing:-.048em;line-height:1.02;color:var(--ink);margin:0 0 16px}
.parents-lede{font-family:var(--font);font-size:17.5px;line-height:1.55;color:var(--ink-2);margin:0 0 30px;letter-spacing:-.005em;max-width:520px}
@media (max-width:720px){.parents-lede{font-size:15.5px;margin-bottom:22px}}
.parents-h em{font-family:inherit;color:var(--green-ink);font-style:normal;font-weight:800;letter-spacing:inherit}
.parents-list{list-style:none;padding:0;margin:0}
.parents-list li{display:flex;align-items:flex-start;gap:18px;padding:18px 0;border-bottom:1px solid #ECECEA}
.parents-list li:last-child{border-bottom:none}
.parents-ico{width:48px;height:48px;border-radius:50%;background:#F3F3F1;color:var(--ink);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.parents-ico svg{width:22px;height:22px}
.parents-txt{flex:1;min-width:0}
.parents-txt h3{font-family:var(--font);font-size:18px;font-weight:700;letter-spacing:-.016em;color:var(--ink);margin:0 0 4px;line-height:1.3}
.parents-txt p{font-size:14.5px;line-height:1.55;color:var(--ink-2);margin:0}

@media (max-width:900px){
  .parents-sec{padding:56px 0}
  .parents-grid{grid-template-columns:1fr;gap:24px;display:flex;flex-direction:column}
  .parents-visual{order:2;max-width:480px;margin:0 auto;width:100%}
  .parents-copy{padding-left:0;display:contents}
  .parents-copy > .parents-h{order:1;margin-bottom:4px}
  .parents-copy > *:not(.parents-h){order:3}
  .parents-h{font-size:34px;margin-bottom:22px;letter-spacing:-.04em}
  .parents-list li{padding:14px 0;gap:14px}
  .parents-ico{width:44px;height:44px}
  .parents-ico svg{width:20px;height:20px}
  .parents-txt h3{font-size:17px}
  .parents-txt p{font-size:14px}
}

.seehim-sec{background:#fff;padding:80px 0}
.seehim-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:60px;align-items:stretch;max-width:1280px;margin:0 auto}
.seehim-copy{padding-right:4px;display:flex;flex-direction:column;justify-content:center}
.seehim-eyebrow{display:inline-block;font-family:var(--font);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:18px}
.seehim-h{font-family:var(--font);font-size:clamp(36px,4.4vw,54px);font-weight:800;letter-spacing:-.048em;line-height:1.02;color:var(--ink);margin:0 0 20px}
.seehim-h em{font-family:inherit;color:var(--green-ink);font-style:normal;font-weight:800;letter-spacing:inherit}
.seehim-lede{font-family:var(--font);font-size:16.5px;font-weight:400;color:var(--ink-2);letter-spacing:-.005em;line-height:1.55;margin:0 0 26px;max-width:520px}
.seehim-list{list-style:none;padding:0;margin:0}
.seehim-list li{display:flex;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid #ECECEA}
.seehim-list li:last-child{border-bottom:none}
.seehim-ico{width:48px;height:48px;border-radius:50%;background:#F3F3F1;color:var(--ink);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.seehim-ico svg{width:22px;height:22px}
.seehim-txt{flex:1;min-width:0}
.seehim-txt h3{font-family:var(--font);font-size:20px;font-weight:700;letter-spacing:-.018em;color:var(--ink);margin:0;line-height:1.3}
.seehim-visual{display:flex;align-items:stretch;justify-content:center}
.seehim-img{width:100%;max-width:620px;height:100%;min-height:620px;object-fit:cover;display:block;border-radius:28px!important;overflow:hidden}

@media (max-width:900px){
  .seehim-sec{padding:56px 0}
  .seehim-grid{grid-template-columns:1fr;gap:24px;display:flex;flex-direction:column;align-items:stretch}
  .seehim-copy{padding-right:0;display:contents}
  .seehim-visual{order:2;max-width:480px;margin:0 auto;align-items:center;width:100%}
  .seehim-copy > .seehim-h{order:1;margin-bottom:4px}
  .seehim-copy > *:not(.seehim-h){order:3}
  .seehim-img{min-height:auto;aspect-ratio:1/1;height:auto}
  .seehim-h{font-size:32px;margin-bottom:18px;letter-spacing:-.04em}
  .seehim-lede{font-size:15.5px}
  .seehim-list li{padding:14px 0;gap:14px}
  .seehim-ico{width:44px;height:44px}
  .seehim-ico svg{width:20px;height:20px}
  .seehim-txt h3{font-size:18px}
}

.expect-sec{background:#fff;padding:80px 0}
.expect-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:60px;align-items:stretch;max-width:1280px;margin:0 auto}
.expect-visual{display:flex;align-items:stretch;justify-content:center}
.expect-img{width:100%;max-width:620px;height:100%;min-height:580px;object-fit:cover;display:block;border-radius:28px!important;overflow:hidden}
.expect-copy{padding-left:4px;display:flex;flex-direction:column;justify-content:center}
.expect-eyebrow{display:inline-block;font-family:var(--font);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:16px}
.expect-h{font-family:var(--font);font-size:clamp(34px,4vw,50px);font-weight:800;letter-spacing:-.048em;line-height:1.02;color:var(--ink);margin:0 0 16px}
.expect-h em{font-family:inherit;color:var(--green-ink);font-style:normal;font-weight:800;letter-spacing:inherit}
.expect-lede{font-family:var(--font);font-size:15.5px;font-weight:400;color:var(--ink-2);letter-spacing:-.005em;line-height:1.55;margin:0 0 28px;max-width:520px}

.expect-timeline{list-style:none;padding:0;margin:0;position:relative;counter-reset:expect-count}
.expect-step{position:relative;display:grid;grid-template-columns:44px 1fr;gap:22px;padding-bottom:26px;align-items:flex-start}
.expect-step:last-child{padding-bottom:0}
.expect-node{position:relative;display:flex;justify-content:center;padding-top:2px}
.expect-step::before{content:"";position:absolute;left:21px;top:38px;bottom:-6px;width:0;border-left:1.5px dashed #CFCFCB;z-index:0}
.expect-step:last-child::before{display:none}
.expect-marker{position:relative;z-index:1;width:44px;height:44px;border-radius:50%;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;font-family:Georgia,"Times New Roman",serif;font-size:14px;font-weight:400;letter-spacing:.02em;box-shadow:0 2px 6px rgba(0,0,0,.14)}
.expect-marker-final{background:#111;position:relative}
.expect-marker-final::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1.5px solid #111;opacity:.3}

.expect-body{min-width:0;padding-top:4px}
.expect-month{display:inline-block;font-family:var(--font);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);background:#F3F3F1;padding:4px 10px;border-radius:999px;margin-bottom:10px}
.expect-body h3{font-family:var(--font);font-size:20px;font-weight:700;letter-spacing:-.022em;color:var(--ink);margin:0 0 6px;line-height:1.25}
.expect-body p{font-size:14.5px;line-height:1.55;color:var(--ink-2);margin:0}

@media (max-width:900px){
  .expect-sec{padding:56px 0}
  .expect-grid{grid-template-columns:1fr;gap:24px;display:flex;flex-direction:column;align-items:stretch}
  .expect-visual{order:2;max-width:480px;margin:0 auto;width:100%}
  .expect-img{min-height:auto;aspect-ratio:1/1;height:auto}
  .expect-copy{padding-left:0;display:contents}
  .expect-copy > .expect-h{order:1;margin-bottom:4px}
  .expect-copy > *:not(.expect-h){order:3}
  .expect-h{font-size:30px;margin-bottom:14px;letter-spacing:-.04em}
  .expect-lede{font-size:15px;margin-bottom:24px}
  .expect-step{grid-template-columns:38px 1fr;gap:16px;padding-bottom:22px}
  .expect-step::before{left:18px}
  .expect-marker{width:38px;height:38px;font-size:13px}
  .expect-body h3{font-size:18px}
  .expect-body p{font-size:14px}
}

/* ===== 60-day guarantee ===== */
.guar-sec{background:#fff;padding:0 0 120px}
.guar-sec .wrap{max-width:1120px}

/* CTA directly below the guarantee card — matches the bento CTA so both read as one system */
.guar-cta{display:flex;flex-direction:column;align-items:center;gap:14px;margin:48px auto 0;max-width:720px;text-align:center}
.guar-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:18px 40px;background:var(--green);color:#fff;font-family:var(--font);font-size:16px;font-weight:700;letter-spacing:-.012em;line-height:1;border-radius:999px;text-decoration:none;box-shadow:0 1px 2px rgba(16,24,20,.08),0 10px 24px rgba(94,178,115,.28);transition:background .2s ease,transform .18s ease,box-shadow .25s ease;will-change:transform}
.guar-cta-btn:hover{background:var(--green-deep);transform:translateY(-2px);box-shadow:0 2px 4px rgba(16,24,20,.1),0 16px 36px rgba(94,178,115,.36)}
.guar-cta-btn:active{transform:translateY(0)}
.guar-cta-btn svg{transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.guar-cta-btn:hover svg{transform:translateX(3px)}
.guar-cta-note{font-family:var(--font);font-size:13.5px;color:var(--ink-2);margin:0;letter-spacing:-.005em}
@media (max-width:900px){
  .guar-cta{margin-top:36px}
  .guar-cta-btn{padding:16px 32px;font-size:15px}
}
@media (max-width:560px){
  .guar-cta{margin-top:28px;gap:12px}
  .guar-cta-btn{padding:15px 26px;font-size:14.5px;width:100%;max-width:320px}
  .guar-cta-note{font-size:12.5px;line-height:1.5}
}
.guar-card{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:52px;
  align-items:center;
  padding:72px 80px;
  margin:0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:32px;
}
.guar-mark{
  flex-shrink:0;
  width:144px;height:144px;
  color:var(--ink);
  display:flex;align-items:center;justify-content:center;
}
.guar-mark svg{width:100%;height:100%;display:block}
.guar-body{min-width:0}
.guar-title{
  font-family:var(--font);
  font-size:clamp(32px,3.6vw,44px);
  font-weight:700;
  letter-spacing:-.025em;
  line-height:1.1;
  color:var(--ink);
  margin:0 0 16px;
}
.guar-copy{
  font-family:var(--font);
  font-size:17px;
  line-height:1.6;
  letter-spacing:-.005em;
  color:var(--ink-2);
  margin:0;
  max-width:640px;
}
.guar-link{
  color:var(--ink);
  font-weight:600;
  text-decoration:none;
  border-bottom:1px solid var(--ink);
  padding-bottom:2px;
  transition:opacity .18s ease;
}
.guar-link:hover{opacity:.6}

@media (max-width:820px){
  .guar-sec{padding:0 0 72px}
  .guar-card{grid-template-columns:1fr;gap:24px;padding:48px 32px;text-align:left;border-radius:24px}
  .guar-mark{width:104px;height:104px}
  .guar-title{font-size:28px}
  .guar-copy{font-size:15.5px}
}
@media (max-width:480px){
  .guar-card{padding:36px 24px;border-radius:20px}
  .guar-mark{width:88px;height:88px}
  .guar-title{font-size:24px}
}

/* ===== Comparison, Apple-inspired clean design ===== */
.cmp-sec{background:#fff;padding:120px 0}
.cmp-head{text-align:center;max-width:720px;margin:0 auto 72px;padding:0 20px}
.cmp-title{
  font-family:var(--font);
  font-size:clamp(40px,5.2vw,64px);
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1.05;
  color:#1d1d1f;
  margin:0 0 20px;
}
.cmp-sub{
  font-family:var(--font);
  font-size:19px;
  line-height:1.42;
  color:#6e6e73;
  margin:0 auto;
  max-width:560px;
  letter-spacing:-.005em;
  font-weight:400;
}
.cmp-wrap{max-width:980px;margin:0 auto;padding:0 20px}
.cmp-table{width:100%;border-collapse:collapse;font-family:var(--font)}

/* Header */
.cmp-table thead th{
  padding:24px 20px 22px;
  text-align:center;
  vertical-align:bottom;
  border-bottom:1px solid #1d1d1f;
  background:transparent;
}
.cmp-table thead .cmp-feat-col{border-bottom:1px solid #d2d2d7;width:44%}
.cmp-brand{
  display:inline-block;
  font-weight:600;
  font-size:19px;
  letter-spacing:-.018em;
  color:#0E7D4D;
}
.cmp-them{
  display:inline-block;
  font-weight:500;
  font-size:17px;
  color:#86868b;
  letter-spacing:-.01em;
}

/* Rows */
.cmp-table tbody tr{border-bottom:1px solid #f2f2f3}
.cmp-table tbody tr:last-child{border-bottom:none}
.cmp-table tbody th{
  text-align:left;
  padding:28px 24px 28px 0;
  font-weight:500;
  font-size:16px;
  color:#1d1d1f;
  letter-spacing:-.008em;
  line-height:1.4;
  width:44%;
  vertical-align:middle;
}
.cmp-table tbody td{
  text-align:center;
  padding:28px 16px;
  vertical-align:middle;
  width:28%;
  background:transparent;
}
.cmp-table tbody th sup{font-size:11px;color:#0E7D4D;font-weight:600;top:-.4em;position:relative}

/* Check marks, simple, no circle wrapper */
.cmp-check{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#0E7D4D;
  color:#fff;
}
.cmp-check svg{width:14px;height:14px}
.cmp-check-them{background:#d2d2d7}
.cmp-check-x{background:#d2d2d7}
.cmp-ico{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:#F0F7F1;
  color:#1F5733;
  margin-right:14px;
  vertical-align:middle;
  flex-shrink:0;
}
.cmp-ico svg{width:22px;height:22px;display:block}
.cmp-feat-txt{vertical-align:middle}
.cmp-note{
  display:inline-block;
  font-size:16px;
  color:#86868b;
  font-weight:400;
  letter-spacing:-.005em;
}

/* Footnote */
.cmp-footnote{
  text-align:center;
  font-size:13px;
  color:#86868b;
  margin:40px 0 0;
  font-family:var(--font);
  letter-spacing:-.003em;
  font-weight:400;
}
.cmp-footnote sup{color:#0E7D4D;font-weight:600}

/* Tablet */
@media (max-width:900px){
  .cmp-sec{padding:88px 0}
  .cmp-head{margin-bottom:48px}
  .cmp-table tbody th{padding:22px 18px 22px 0;font-size:15px}
  .cmp-table tbody td{padding:22px 12px}
  .cmp-brand{font-size:17px}
  .cmp-them{font-size:15px}
  .cmp-note{font-size:14.5px}
}

/* ============================================================
   MOBILE COMPARISON — clean 3-column table with icons,
   continuous column backgrounds, soft green Extend column
   ============================================================ */
@media (max-width:640px){
  .cmp-sec{padding:56px 0 64px;background:#fff}
  .cmp-head{margin-bottom:28px;padding:0 20px}
  .cmp-sub{font-size:15px;line-height:1.55}
  .cmp-wrap{padding:0 10px;max-width:none}

  /* Keep table semantics; just restyle */
  .cmp-table{
    width:100% !important;
    display:table !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
    table-layout:fixed !important;
  }
  .cmp-table thead{display:table-header-group !important}
  .cmp-table tbody{display:table-row-group !important}
  .cmp-table tr{display:table-row !important}
  .cmp-table th,
  .cmp-table td{display:table-cell !important;vertical-align:middle !important}

  /* Column widths */
  .cmp-table thead .cmp-feat-col{width:40% !important;background:transparent !important;border:none !important;padding:0 !important}
  .cmp-table thead .cmp-us-col{
    width:30% !important;
    background:#F0F7F1 !important;
    border:none !important;
    border-top-left-radius:14px !important;
    border-top-right-radius:14px !important;
    padding:18px 8px 18px !important;
    text-align:center !important;
    vertical-align:middle !important;
  }
  .cmp-table thead .cmp-them-col{
    width:30% !important;
    background:#F7F7F8 !important;
    border:none !important;
    border-top-left-radius:14px !important;
    border-top-right-radius:14px !important;
    padding:18px 8px 18px !important;
    text-align:center !important;
    vertical-align:middle !important;
  }

  .cmp-brand{
    display:block !important;
    font-size:14px !important;
    font-weight:700 !important;
    color:#0E7D4D !important;
    letter-spacing:-.012em !important;
    line-height:1.2 !important;
  }
  .cmp-them{
    display:block !important;
    font-size:14px !important;
    font-weight:500 !important;
    color:#86868b !important;
    letter-spacing:-.012em !important;
    line-height:1.2 !important;
  }

  /* Body cells */
  .cmp-table tbody tr{
    border:none !important;
    background:transparent !important;
    padding:0 !important;
    margin:0 !important;
    box-shadow:none !important;
  }

  .cmp-table tbody th.cmp-feat{
    width:40% !important;
    padding:18px 10px 18px 4px !important;
    background:#fff !important;
    border-bottom:1px solid #f0f0f1 !important;
    text-align:left !important;
    vertical-align:middle !important;
    font-family:var(--font) !important;
    font-size:14.5px !important;
    font-weight:600 !important;
    color:#1d1d1f !important;
    letter-spacing:-.012em !important;
    line-height:1.3 !important;
    white-space:normal !important;
    display:table-cell !important;
  }
  .cmp-table tbody tr:last-child th.cmp-feat{border-bottom:none !important}

  .cmp-feat-txt{display:inline;vertical-align:middle}

  .cmp-ico{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border-radius:50%;
    background:#F0F7F1;
    color:#0E7D4D;
    margin-right:10px;
    vertical-align:middle;
    flex-shrink:0;
  }
  .cmp-ico svg{width:20px;height:20px;display:block}

  .cmp-table tbody td{
    width:30% !important;
    padding:18px 4px !important;
    text-align:center !important;
    vertical-align:middle !important;
    border-bottom:1px solid #e8ede9 !important;
    display:table-cell !important;
    flex:none !important;
    min-height:0 !important;
    gap:0 !important;
  }
  .cmp-table tbody td.cmp-us{
    background:#F0F7F1 !important;
    border-radius:0 !important;
  }
  .cmp-table tbody td.cmp-them{
    background:#F7F7F8 !important;
    border-radius:0 !important;
    border-bottom:1px solid #efeff0 !important;
  }
  /* Clear any pseudo-labels that were on the previous card layout */
  .cmp-table tbody td.cmp-us::before,
  .cmp-table tbody td.cmp-them::before{content:none !important;display:none !important}

  /* Last row: round the bottoms */
  .cmp-table tbody tr:last-child td.cmp-us{
    border-bottom-left-radius:14px !important;
    border-bottom-right-radius:14px !important;
    border-bottom:none !important;
  }
  .cmp-table tbody tr:last-child td.cmp-them{
    border-bottom-left-radius:14px !important;
    border-bottom-right-radius:14px !important;
    border-bottom:none !important;
  }

  /* Center the check/indicator inside each td */
  .cmp-table tbody td .cmp-check{
    display:inline-flex !important;
    width:34px !important;
    height:34px !important;
    border-radius:50% !important;
    background:#1F5733 !important;
    color:#fff !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 auto !important;
    flex-shrink:0 !important;
  }
  .cmp-table tbody td .cmp-check svg{width:16px !important;height:16px !important;display:block !important;stroke:#fff !important}

  .cmp-table tbody td .cmp-check-them{
    background:#D7D7DA !important;
  }
  .cmp-table tbody td .cmp-check-x{
    background:#D7D7DA !important;
  }
  .cmp-table tbody td .cmp-check-x svg{stroke:#fff !important}

  .cmp-table tbody td .cmp-note{
    display:block !important;
    margin:0 !important;
    font-size:13px !important;
    color:#86868b !important;
    text-align:center !important;
    line-height:1.3 !important;
    font-weight:500 !important;
    letter-spacing:-.005em;
  }

  .cmp-table tbody th.cmp-feat sup{
    font-size:9px;
    color:#0E7D4D;
    font-weight:700;
    top:-.4em;
    position:relative;
  }

  .cmp-footnote{margin-top:24px;font-size:12px;padding:0 12px;text-align:center;color:#86868b}
}

/* Even smaller screens: tighten up */
@media (max-width:380px){
  .cmp-wrap{padding:0 6px}
  .cmp-table tbody th.cmp-feat{padding:14px 6px 14px 2px !important;font-size:13.5px !important}
  .cmp-table tbody td{padding:14px 2px !important}
  .cmp-ico{width:30px;height:30px;margin-right:8px}
  .cmp-ico svg{width:17px;height:17px}
  .cmp-table thead .cmp-us-col,
  .cmp-table thead .cmp-them-col{padding:14px 4px !important}
  .cmp-brand,.cmp-them{font-size:12.5px !important}
  .cmp-table tbody td .cmp-check{width:30px !important;height:30px !important}
  .cmp-table tbody td .cmp-check svg{width:14px !important;height:14px !important}
  .cmp-table tbody td .cmp-note{font-size:12px !important}
}
}

/* ============================================================
   MOBILE: BIG, CENTERED SECTION HEADLINES
   Applies to every section headline below the main product hero.
   The product hero (.ttl) is intentionally excluded.
   ============================================================ */
@media (max-width:820px){
  .pain .display,
  .sec-head .display,
  #reviews .display,
  .solve-h,
  .inside-h,
  .love-h,
  .parents-h,
  .seehim-h,
  .expect-h,
  .why-title,
  .ignore-title,
  .cmp-title{
    font-size:clamp(30px,8vw,38px) !important;
    line-height:1.08 !important;
    letter-spacing:-.035em !important;
    text-align:center !important;
    text-wrap:balance;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  /* Center the subheadlines/ledes that follow */
  .pain .sec-head p,
  .sec-head p,
  #reviews .sec-head p,
  .solve-sub,
  .inside-sub,
  .love-lede,
  .parents-lede,
  .seehim-lede,
  .expect-lede,
  .why-lede,
  .ignore-sub,
  .cmp-sub{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    max-width:560px !important;
  }
  /* If any section had a flex-start aligned copy column, center its contents */
  .love-copy,
  .parents-copy,
  .seehim-copy,
  .expect-copy,
  .why-split-copy{
    text-align:left;
  }
}

.rv-row.rv-hidden{display:none}
#rvShowMore{cursor:pointer;border:0}

#faq{padding-top:72px;padding-bottom:80px}
#faq .sec-head{text-align:left;margin-bottom:36px;max-width:none}
#faq .sec-head .eyebrow{color:var(--ink-2);background:transparent;border:none;padding:0;font-size:12px;letter-spacing:.14em;font-weight:700;margin-bottom:12px}
#faq .sec-head h2{font-family:var(--font);font-size:clamp(34px,4vw,50px);font-weight:800;letter-spacing:-.048em;line-height:1.02;color:var(--ink);text-align:left}
.faq{max-width:860px;margin:0 auto}
.faq-i{border-bottom:1px solid #E7E7E4;border-top:none}
.faq-i:first-child{border-top:1px solid #E7E7E4}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 2px;cursor:pointer;font-family:var(--font);font-size:17px;font-weight:600;color:var(--ink);line-height:1.4;letter-spacing:-.016em;text-align:left}
.faq-p{width:28px;height:28px;border-radius:50%;background:transparent;border:1.5px solid var(--ink-2);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ink);transition:transform .25s ease,background .18s ease,border-color .18s ease,color .18s ease}
.faq-p svg{width:11px;height:11px;stroke-width:2.4}
.faq-i.open .faq-p{transform:rotate(45deg);background:var(--ink);border-color:var(--ink);color:#fff}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;max-width:720px}
.faq-i.open .faq-a{max-height:1200px;padding:4px 2px 26px}
.faq-a p{margin:0 0 12px;font-size:15.5px;line-height:1.65;color:var(--ink-2)}
.faq-a p:last-child{margin-bottom:0}
.faq-a b{color:var(--ink);font-weight:600}
.faq-a ul.faq-ul,.faq-a ul.faq-checks{list-style:none;padding:0;margin:4px 0 14px}
.faq-a ul.faq-ul li{position:relative;padding:5px 0 5px 20px;font-size:15.5px;color:var(--ink-2);line-height:1.5}
.faq-a ul.faq-ul li::before{content:"";position:absolute;left:4px;top:14px;width:5px;height:5px;border-radius:50%;background:var(--ink)}
.faq-a ul.faq-checks li{position:relative;padding:5px 0 5px 26px;font-size:15.5px;color:var(--ink-2);line-height:1.5}
.faq-a ul.faq-checks li::before{content:"";position:absolute;left:0;top:9px;width:16px;height:16px;border-radius:50%;background:var(--ink)}
.faq-a ul.faq-checks li::after{content:"";position:absolute;left:4px;top:14px;width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
@media (max-width:720px){
  #faq .sec-head{margin-bottom:28px}
  .faq-q{font-size:15.5px;padding:22px 0;gap:16px}
  .faq-a p,.faq-a ul li{font-size:14.5px}
  .faq-p{width:24px;height:24px}
  .faq-p svg{width:10px;height:10px}
}

/* ===== Floating ATC (desktop) ===== */
.float-atc{
  position:fixed; left:50%; bottom:24px; z-index:2147483000;
  transform:translate(-50%, 140%);
  display:flex; align-items:center; gap:16px;
  width:min(640px, calc(100% - 40px));
  padding:10px 10px 10px 14px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(16,24,20,.08);
  border-radius:999px;
  box-shadow:0 1px 2px rgba(16,24,20,.04), 0 18px 48px rgba(16,24,20,.14), 0 4px 14px rgba(16,24,20,.06);
  -webkit-backdrop-filter:saturate(1.4) blur(14px);
  backdrop-filter:saturate(1.4) blur(14px);
  transition:transform .32s cubic-bezier(.2,.9,.3,1.2), opacity .25s ease;
  opacity:0;
  pointer-events:none;
}
.float-atc.show{ transform:translate(-50%, 0); opacity:1; pointer-events:auto }

.float-atc .fa-thumb{
  width:50px; height:50px; border-radius:12px; overflow:hidden; flex-shrink:0;
  background:#fff; border:1px solid rgba(16,24,20,.06);
  display:flex; align-items:center; justify-content:center; padding:3px;
}
.float-atc .fa-thumb img{ width:100%; height:100%; object-fit:contain; display:block }

.float-atc .fa-info{ display:flex; align-items:center; min-width:0; line-height:1.2; margin-right:6px }
.float-atc .fa-name{
  font-family:var(--font); font-size:15px; font-weight:600; letter-spacing:-.015em;
  color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.float-atc .fa-meta{ display:flex; align-items:center; gap:7px; margin-top:3px }
.float-atc .fa-stars{ display:inline-flex; gap:1px; color:var(--green-deep) }
.float-atc .fa-stars svg{ width:10px; height:10px }
.float-atc .fa-reviews{ font-size:11.5px; color:var(--ink-3); font-weight:500; letter-spacing:-.005em }

.float-atc .fa-price{
  margin-left:auto; display:flex; flex-direction:column; align-items:flex-end;
  line-height:1.15; padding-right:6px;
  border-right:1px solid var(--line); padding-right:14px;
}
.float-atc .fa-now{ font-family:var(--font); font-size:15px; font-weight:700; letter-spacing:-.02em; color:var(--ink) }
.float-atc .fa-label{ font-size:10.5px; font-weight:500; letter-spacing:.005em; color:var(--ink-3); text-transform:none; margin-top:2px }

.float-atc .fa-btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 20px; border-radius:999px;
  background:var(--green); color:#fff; border:none; cursor:pointer;
  font-family:var(--font); font-size:14px; font-weight:600; letter-spacing:-.01em;
  box-shadow:0 1px 2px rgba(16,24,20,.08), inset 0 1px 0 rgba(255,255,255,.18);
  transition:background .15s ease, transform .12s ease;
  white-space:nowrap;
}
.float-atc .fa-btn:hover{ background:var(--green-deep) }
.float-atc .fa-btn:active{ transform:translateY(1px) }
.float-atc .fa-btn svg{ width:16px; height:16px }

.float-atc .fa-close{
  width:28px; height:28px; border-radius:50%;
  background:transparent; border:none; color:var(--ink-3); cursor:pointer;
  display:flex; align-items:center; justify-content:center; padding:0; margin-left:2px;
  transition:background .15s ease, color .15s ease;
}
.float-atc .fa-close:hover{ background:var(--mist); color:var(--ink) }
.float-atc .fa-close svg{ width:14px; height:14px }

/* Mobile layout — the pill becomes a bottom bar on narrow screens */
@media (max-width:720px){
  .float-atc{
    left:12px; right:12px; bottom:12px;
    width:auto; transform:translateY(140%);
    padding:8px 8px 8px 12px;
    gap:10px;
    border-radius:16px;
  }
  .float-atc.show{ transform:translateY(0) }
  .float-atc .fa-thumb{ width:44px; height:44px; border-radius:10px }
  .float-atc .fa-info{ margin-right:0 }
  .float-atc .fa-name{ font-size:13px }
  .float-atc .fa-reviews{ font-size:10.5px }
  .float-atc .fa-price{ display:none } /* save horizontal room on phones */
  .float-atc .fa-btn{ padding:11px 16px; font-size:13.5px }
  .float-atc .fa-btn svg{ width:15px; height:15px }
  .float-atc .fa-close{ width:26px; height:26px }
}

.rv-tile{cursor:zoom-in}
.rv-tile:focus-visible{outline:2px solid var(--green-ink,#2E6B40);outline-offset:3px}

.rv-lb{
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(10,12,10,.94);
  display:none;
  align-items:center;
  justify-content:center;
  padding:60px 72px;
  opacity:0;
  transition:opacity .22s ease;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.rv-lb.is-open{display:flex;opacity:1}

.rv-lb-stage{
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  max-width:100%;
  max-height:100%;
}
.rv-lb-img{
  display:block;
  max-width:100%;
  max-height:calc(100vh - 170px);
  width:auto;
  height:auto;
  border-radius:10px;
  box-shadow:0 24px 80px rgba(0,0,0,.55);
  object-fit:contain;
  transition:opacity .18s ease;
}
.rv-lb-img.is-loading{opacity:.35}
.rv-lb-caption{color:rgba(255,255,255,.72);font-family:var(--font);font-size:13px;letter-spacing:.03em;font-weight:500}
.rv-lb-counter{font-variant-numeric:tabular-nums}

.rv-lb-close,
.rv-lb-nav{
  position:absolute;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  width:46px;
  height:46px;
  border-radius:50%;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  transition:background .18s ease,transform .18s ease,border-color .18s ease;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.rv-lb-close{top:24px;right:24px}
.rv-lb-prev{top:50%;left:24px;transform:translateY(-50%)}
.rv-lb-next{top:50%;right:24px;transform:translateY(-50%)}
.rv-lb-close:hover,
.rv-lb-nav:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.28)}
.rv-lb-close:hover{transform:scale(1.05)}
.rv-lb-prev:hover{transform:translateY(-50%) scale(1.05)}
.rv-lb-next:hover{transform:translateY(-50%) scale(1.05)}
.rv-lb-close svg,
.rv-lb-nav svg{width:20px;height:20px}
.rv-lb-close:focus-visible,
.rv-lb-nav:focus-visible{outline:2px solid #fff;outline-offset:3px}

body.rv-lb-locked{overflow:hidden}

/* Mobile */
@media (max-width:640px){
  .rv-lb{padding:72px 16px 92px}
  .rv-lb-close{top:14px;right:14px;width:40px;height:40px}
  .rv-lb-nav{top:auto;bottom:18px;width:46px;height:46px}
  .rv-lb-prev{left:50%;transform:translateX(calc(-100% - 10px))}
  .rv-lb-next{right:50%;transform:translateX(calc(100% + 10px))}
  .rv-lb-prev:hover{transform:translateX(calc(-100% - 10px)) scale(1.05)}
  .rv-lb-next:hover{transform:translateX(calc(100% + 10px)) scale(1.05)}
  .rv-lb-img{max-height:calc(100vh - 200px);border-radius:8px}
  .rv-lb-caption{font-size:12px}
}

/* ===== A11Y FIX: bigger tap area for gallery dots (dots look the same) ===== */
.gal-dots{gap:0}
.gal-dots button{width:24px;height:24px;border-radius:0;background:transparent !important;position:relative}
.gal-dots button::before{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:var(--line-2);transform:translate(-50%,-50%);transition:all .18s}
.gal-dots button.on{width:30px}
.gal-dots button.on::before{width:22px;border-radius:999px;background:var(--ink)}

/* ===== Shipping cutoff + benefit line under Add to cart ===== */