.ov4{
  --bg:#FCFAF8; --card:#FFFFFF; --soft:#F4F0EA; --sunk:#EAE4DB;
  --acc:#e4552a; --acc-hi:#ff6b3d; --acc-wash:#FFF0EA;
  --pri:#1C6961; --pri-dk:#13534C; --pri-lt:#309188; --pri-wash:#E7F1EF;
  --ink:#16211F; --ink2:#4D5A57; --line:#E7E0D7; --line2:#D5CCC0;
  --r:20px; --rm:14px; --rp:999px;
  --glow:0 8px 22px -10px rgb(228 85 42 / .55);
  --lift:0 1px 2px rgba(22,33,31,.05), 0 14px 30px -22px rgba(22,33,31,.5);
  --fd:"Outfit",ui-sans-serif,system-ui,sans-serif;
  --fb:"Inter",ui-sans-serif,system-ui,sans-serif;
  --pad:18px;
  --ease:cubic-bezier(.16,1,.3,1);
  background:var(--bg); color:var(--ink); font-family:var(--fb);
  font-size:17px; line-height:1.55; -webkit-font-smoothing:antialiased;
}
@media(min-width:768px){ .ov4{ --pad:28px; } }

.ov4 *,.ov4 *::before,.ov4 *::after{ box-sizing:border-box; }
.ov4 h1,.ov4 h2,.ov4 h3,.ov4 h4{ margin:0; font-family:var(--fd); font-weight:800;
  line-height:1.08; letter-spacing:-.028em; text-wrap:pretty; }
@media(min-width:768px){ .ov4 h1,.ov4 h2,.ov4 h3,.ov4 h4{ text-wrap:balance; } }
.ov4 p{ margin:0; } .ov4 ul{ margin:0; padding:0; list-style:none; }
.ov4 img{ display:block; max-width:100%; height:auto; }
.ov4 a{ color:inherit; }
.ov4 :focus-visible{ outline:3px solid var(--acc); outline-offset:3px; border-radius:8px; }
.ov4 ::selection{ background:var(--acc-wash); color:var(--ink); }
.ov4{ caret-color:var(--acc); accent-color:var(--acc); scrollbar-color:var(--line2) transparent; }

.ov4__w{ max-width:1180px; margin:0 auto; padding-inline:var(--pad); }
.ov4__s{ padding-block:46px; }
@media(min-width:768px){ .ov4__s{ padding-block:74px; } }
.ov4__soft{ background:var(--soft); }
.ov4 .h2{ font-size:30px; line-height:1.06; }
@media(min-width:768px){ .ov4 .h2{ font-size:42px; } }
.ov4 .sub{ color:var(--ink2); font-size:16.5px; max-width:60ch; margin-top:12px; }
@media(min-width:768px){ .ov4 .sub{ font-size:18px; } }
.ov4 .kick{ font-family:var(--fd); font-weight:700; font-size:12px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--pri); margin-bottom:10px; }
.ov4 .mt{ margin-top:26px; }

/* buttons */
.ov4 .btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--fd); font-weight:700; border-radius:var(--rp); border:2px solid transparent;
  cursor:pointer; text-decoration:none; text-align:center; min-height:52px;
  transition:transform .12s ease, background .15s ease; }
.ov4 .btn:active{ transform:translateY(1px); }
.ov4 .cta{ background:var(--acc); color:#fff; font-size:18px; padding:15px 22px;
  width:100%; box-shadow:var(--glow); line-height:1.2; }
.ov4 .cta:hover{ background:var(--acc-hi); }
.ov4 .cta[disabled]{ opacity:.6; cursor:not-allowed; }
.ov4 .cta .pz{ font-weight:800; white-space:nowrap; }
.ov4 .ghost{ border-color:var(--line2); color:var(--ink); background:transparent;
  font-size:14.5px; padding:10px 18px; min-height:46px; }
.ov4 .ghost:hover{ background:var(--sunk); }

/* promo */
.ov4__promo{ background:var(--pri-dk); color:#EAF3F0; text-align:center; font-family:var(--fd);
  font-weight:600; font-size:12px; padding:10px 16px; line-height:1.4; }

/* hero */
.ov4__hero{ padding-top:22px; padding-bottom:8px; }
@media(min-width:1000px){ .ov4__hero{ padding-top:36px; padding-bottom:46px; } }
.ov4__hg{ display:grid; gap:20px; }
@media(min-width:1000px){ .ov4__hg{ grid-template-columns:1.02fr .98fr; gap:48px; align-items:start; } }
.ov4 .eyebrow{ font-family:var(--fd); font-weight:700; font-size:11.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--acc); }
.ov4 h1{ font-size:34px; line-height:1.02; margin:12px 0; letter-spacing:-.035em; }
@media(min-width:390px){ .ov4 h1{ font-size:37px; } }
@media(min-width:768px){ .ov4 h1{ font-size:54px; } }
@media(min-width:1000px){ .ov4 h1{ font-size:46px; } }
@media(min-width:1240px){ .ov4 h1{ font-size:56px; } }
.ov4 h1 em{ font-style:normal; color:var(--acc); }
.ov4__hero .sub{ font-size:17px; margin-top:0; }

.ov4__gal{ display:grid; gap:8px; }
.ov4__galmain{ position:relative; aspect-ratio:4/5; border-radius:var(--rm);
  overflow:hidden; background:var(--sunk); }
@media(min-width:600px){ .ov4__galmain{ aspect-ratio:1/1; } }
.ov4__galmain img,.ov4__galmain video{ width:100%; height:100%; object-fit:cover; }
.ov4__thumbs{ display:grid; grid-template-columns:repeat(4,1fr); gap:7px; }
.ov4__thumb{ position:relative; aspect-ratio:1; border-radius:12px; overflow:hidden;
  background:var(--sunk); border:2px solid transparent; cursor:pointer; padding:0; }
.ov4__thumb img{ width:100%; height:100%; object-fit:cover; }
.ov4__thumb.is-on{ border-color:var(--acc); }

.ov4__proof3{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:16px; }
.ov4__p3{ border:1.5px solid var(--line); border-radius:var(--rm); background:var(--card);
  padding:12px 8px; text-align:center; display:flex; flex-direction:column; justify-content:center; }
.ov4__p3 b{ display:block; font-family:var(--fd); font-weight:800; font-size:12.5px; line-height:1.2; }
.ov4__p3 span{ display:block; font-size:11px; color:var(--ink2); line-height:1.3; margin-top:3px; }

.ov4__rate{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:16px;
  padding:11px 13px; border:1.5px solid var(--line); border-radius:var(--rm); background:var(--card); }
.ov4 .stars{ color:var(--acc); font-size:15px; letter-spacing:.06em; }
.ov4__tpbox{ display:flex; align-items:center; gap:10px; }
.ov4__tpmeta{ display:grid; gap:2px; }
.ov4__tpmeta .t{ font-size:13.5px; color:var(--ink); line-height:1.25; }
.ov4__tpmeta .t b{ font-family:var(--fd); font-weight:800; }
.ov4__tpmeta .s{ font-size:12px; color:var(--ink2); line-height:1.2; }
.ov4__tpstars{ display:inline-flex; gap:3px; }
.ov4__tpstars span{ width:18px; height:18px; border-radius:2px; background:#00B67A; color:#fff; display:grid; place-items:center; font-size:11px; line-height:1; }
.ov4__tpstars--sm span{ width:16px; height:16px; font-size:10px; }
.ov4__tpstars span.is-off{ background:#DCEEE8; color:#7AA896; }
.ov4__honest{ margin-top:10px; font-size:14px; line-height:1.5; color:var(--ink2); max-width:52ch; }
.ov4__honest b{ color:var(--ink); font-weight:600; }

/* offer box */
.ov4__box{ background:var(--card); border:2px solid var(--line); border-radius:var(--r);
  padding:15px; box-shadow:var(--lift); margin-top:20px; }
@media(min-width:768px){ .ov4__box{ padding:20px; } }
.ov4__boxh{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-bottom:13px; }
.ov4__boxh h2{ font-size:19px; }
.ov4__boxh span{ font-size:12.5px; color:var(--ink2); }
.ov4__tiers{ display:grid; gap:16px; }
.ov4__tier{ position:relative; display:grid; grid-template-columns:22px 48px 1fr auto; gap:10px;
  align-items:center; border:2px solid var(--line2); border-radius:var(--rm); padding:15px 13px;
  background:var(--bg); cursor:pointer; min-height:74px;
  transition:border-color .18s var(--ease), background .18s var(--ease), box-shadow .18s var(--ease); }
@media(min-width:520px){ .ov4__tier{ grid-template-columns:22px 56px 1fr auto; gap:14px; padding:16px 15px; } }
@media(max-width:419px){ .ov4__tier{ grid-template-columns:22px 40px 1fr auto; gap:8px; padding:14px 12px; }
  .ov4__tier .ov4__tmedia{ width:40px; height:40px; }
  .ov4__tier .ov4__tname{ font-size:15.5px; }
  .ov4__tier .ov4__tprice{ font-size:18px; } }
@media(max-width:339px){ .ov4__tier{ grid-template-columns:22px 1fr auto; }
  .ov4__tier .ov4__tmedia{ display:none; } }
.ov4__tier:hover{ border-color:var(--pri-lt); }
.ov4__tier.is-on{ border-color:var(--acc); background:var(--acc-wash);
  box-shadow:0 2px 4px -2px rgba(228,85,42,.22), 0 12px 26px -20px rgba(228,85,42,.8); }
.ov4__tier input{ position:absolute; opacity:0; pointer-events:none; }
.ov4__rad{ width:21px; height:21px; border-radius:50%; border:2px solid var(--line2);
  display:grid; place-items:center; background:var(--card); }
.ov4__tier.is-on .ov4__rad{ border-color:var(--acc); }
.ov4__tier.is-on .ov4__rad::after{ content:""; width:10px; height:10px; border-radius:50%; background:var(--acc); }
.ov4__tmedia{ width:48px; height:48px; border-radius:11px; overflow:hidden; background:var(--sunk); }
@media(min-width:520px){ .ov4__tmedia{ width:56px; height:56px; } }
.ov4__tmedia img{ width:100%; height:100%; object-fit:cover; }
.ov4__tname{ display:block; font-family:var(--fd); font-weight:800; font-size:16.5px; line-height:1.15; }
.ov4__tname small{ font-weight:600; font-size:13.5px; color:var(--ink2); white-space:nowrap; }
.ov4__tnote{ display:block; font-size:13px; color:var(--ink2); line-height:1.4; margin-top:5px; }
.ov4__tperk{ display:block; font-size:12.5px; color:var(--pri); font-weight:700; margin-top:6px; line-height:1.35; }
.ov4__tprice{ text-align:right; font-family:var(--fd); font-weight:800; font-size:19px;
  font-variant-numeric:tabular-nums; letter-spacing:-.03em; line-height:1.1; white-space:nowrap; }
.ov4__tper{ display:block; font-family:var(--fb); font-size:11.5px; font-weight:500;
  color:var(--ink2); letter-spacing:0; margin-top:4px; white-space:nowrap; }
.ov4__tsave{ display:block; font-family:var(--fb); font-size:11.5px; font-weight:700;
  color:var(--pri); letter-spacing:0; margin-top:3px; white-space:nowrap; }
.ov4__flag{ position:absolute; top:-10px; left:13px; z-index:1; font-family:var(--fd); font-weight:800;
  font-size:10px; letter-spacing:.09em; text-transform:uppercase; padding:4px 10px; white-space:nowrap;
  border-radius:var(--rp); background:var(--acc); color:#fff;
  box-shadow:0 2px 6px -2px rgba(22,33,31,.35); }
.ov4__flag--teal{ background:var(--pri-dk); }
.ov4__tier.is-soldout{ opacity:.5; pointer-events:none; }

.ov4__refill{ display:flex; align-items:flex-start; gap:11px; margin-top:12px; padding:13px;
  border:2px dashed var(--pri-lt); border-radius:var(--rm); background:var(--pri-wash); cursor:pointer; }
.ov4__refill input{ width:20px; height:20px; margin:1px 0 0; accent-color:var(--pri-dk); flex:none; }
.ov4__refill .t{ font-family:var(--fd); font-weight:800; font-size:14.5px; color:var(--pri-dk); }
.ov4__refill .d{ font-size:12.5px; color:var(--ink2); line-height:1.45; margin-top:3px; }
.ov4__refill .d b{ color:var(--ink); font-weight:700; }

.ov4__under{ margin-top:10px; text-align:center; font-size:13px; color:var(--ink2); line-height:1.5; }
.ov4__minig{ margin-top:14px; padding-top:14px; border-top:1px solid var(--line);
  display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:start; }
.ov4__seal-sm{ width:56px; height:56px; border-radius:50%; background:var(--acc-wash);
  border:2px solid var(--acc); color:var(--acc); display:grid; place-items:center; text-align:center;
  font-family:var(--fd); font-weight:800; font-size:9.5px; line-height:1.1; flex:none; }
.ov4__seal-sm b{ display:block; font-size:19px; line-height:1; }
.ov4__minig .tx{ font-size:13.5px; line-height:1.5; color:var(--ink2); }
.ov4__minig .tx b{ color:var(--ink); font-family:var(--fd); font-weight:800; display:block;
  font-size:14.5px; margin-bottom:2px; }
.ov4__trust{ margin-top:14px; padding-top:13px; border-top:1px solid var(--line);
  display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.ov4__trust li{ text-align:center; font-size:11.5px; color:var(--ink2); line-height:1.3; }
.ov4__trust b{ display:block; font-family:var(--fd); font-size:13px; color:var(--ink);
  font-weight:800; margin-bottom:1px; }

/* voice of customer band */
.ov4__voc{ display:grid; gap:10px; margin-top:22px; }
@media(min-width:700px){ .ov4__voc{ grid-template-columns:repeat(3,1fr); gap:14px; } }
.ov4__voc blockquote{ margin:0; padding:16px 18px; border:1.5px solid var(--line);
  border-radius:var(--rm); background:var(--card); }
.ov4__voc q{ font-family:var(--fd); font-weight:600; font-size:16px; line-height:1.4;
  quotes:"\201C" "\201D"; color:var(--ink); }
.ov4__vocnote{ margin-top:16px; font-size:12.5px; color:var(--ink2); line-height:1.6; max-width:64ch; }

/* card grids */
.ov4__g3{ display:grid; gap:12px; margin-top:24px; }
@media(min-width:760px){ .ov4__g3{ grid-template-columns:repeat(3,1fr); gap:18px; } }
.ov4__g4{ display:grid; gap:12px; margin-top:24px; }
@media(min-width:640px){ .ov4__g4{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1000px){ .ov4__g4{ grid-template-columns:repeat(4,1fr); gap:16px; } }
.ov4__card{ border:1.5px solid var(--line); border-radius:var(--r); background:var(--card);
  overflow:hidden; display:flex; flex-direction:column; }
.ov4__card > img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.ov4__card--sq > img{ aspect-ratio:1; }
.ov4__cardb{ padding:16px; }
.ov4__cardb h3{ font-size:18px; margin-bottom:6px; }
.ov4__cardb p{ font-size:14.5px; color:var(--ink2); line-height:1.5; }

/* forced care flow */
.ov4__flow{ display:grid; gap:8px; margin-top:22px; }
@media(min-width:760px){ .ov4__flow{ grid-template-columns:repeat(4,1fr); gap:10px; } }
.ov4__fs{ border:2px solid var(--line); border-radius:var(--rm); background:var(--card);
  padding:14px; text-align:center; position:relative; }
.ov4__fs b{ font-family:var(--fd); font-weight:800; font-size:14px; display:block; }
.ov4__fs.is-end{ border-color:var(--acc); background:var(--acc-wash); color:var(--acc); }
.ov4__fs::after{ content:"\2193"; position:absolute; bottom:-15px; left:50%; transform:translateX(-50%);
  font-family:var(--fd); font-weight:800; color:var(--line2); font-size:15px; }
.ov4__fs:last-child::after{ display:none; }
@media(min-width:760px){ .ov4__fs::after{ content:"\2192"; bottom:auto; top:50%; left:auto;
  right:-11px; transform:translateY(-50%); } }
.ov4__ex{ display:grid; margin-top:26px; border:1.5px solid var(--line); border-radius:var(--r);
  overflow:hidden; background:var(--card); }
.ov4__ex li{ display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:center; padding:15px 16px; }
.ov4__ex li + li{ border-top:1px solid var(--line); }
.ov4__ex .w{ font-family:var(--fd); font-weight:800; font-size:14.5px; min-width:104px; }
.ov4__ex .r{ font-size:14.5px; color:var(--ink2); line-height:1.45; }
.ov4__turn{ margin-top:26px; padding:20px; border-radius:var(--r); background:var(--pri-dk);
  color:#EAF3F0; font-family:var(--fd); font-weight:800; font-size:20px; line-height:1.2; letter-spacing:-.02em; }
@media(min-width:768px){ .ov4__turn{ font-size:26px; padding:28px; } }

/* chew loop */
.ov4__loop{ display:grid; margin-top:26px; }
@media(min-width:900px){ .ov4__loop{ grid-template-columns:repeat(4,1fr); gap:16px; } }
.ov4__ls{ position:relative; padding-left:52px; padding-bottom:24px; }
@media(min-width:900px){ .ov4__ls{ padding-left:0; padding-bottom:0; } }
.ov4__ls::before{ content:""; position:absolute; left:17px; top:34px; bottom:-6px; width:2px; background:var(--line2); }
.ov4__ls:last-child::before{ display:none; }
@media(min-width:900px){ .ov4__ls::before{ left:34px; top:17px; right:-16px; bottom:auto; width:auto; height:2px; } }
.ov4__lnum{ position:absolute; left:0; top:0; width:36px; height:36px; border-radius:50%;
  background:var(--acc); color:#fff; display:grid; place-items:center; font-family:var(--fd);
  font-weight:800; font-size:15px; z-index:1; }
@media(min-width:900px){ .ov4__lnum{ position:relative; margin-bottom:14px; } }
.ov4__ls h3{ font-size:18px; margin-bottom:5px; }
.ov4__ls p{ font-size:14.5px; color:var(--ink2); line-height:1.5; }
.ov4__ls img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--rm); margin-top:12px; }
.ov4__hbox{ margin-top:8px; padding:16px; border-radius:var(--rm); border:2px solid var(--pri-lt); background:var(--pri-wash); }
.ov4__hbox b{ font-family:var(--fd); font-weight:800; font-size:14.5px; color:var(--pri-dk);
  display:block; margin-bottom:4px; }
.ov4__hbox p{ font-size:14px; color:var(--ink2); line-height:1.5; }

/* versus */
.ov4__vs{ display:grid; gap:10px; margin-top:24px; }
@media(min-width:760px){ .ov4__vs{ grid-template-columns:1fr auto 1fr; gap:16px; align-items:center; } }
.ov4__vsc{ border:2px solid var(--line); border-radius:var(--r); background:var(--card); overflow:hidden; }
.ov4__vsc > img{ width:100%; aspect-ratio:16/9; object-fit:cover; }
.ov4__vsc .b{ padding:16px; }
.ov4__vsc h3{ font-size:17px; margin-bottom:9px; }
.ov4__vsc li{ display:grid; grid-template-columns:16px 1fr; gap:9px; font-size:14.5px;
  line-height:1.45; padding:5px 0; color:var(--ink2); }
.ov4__vsc .m{ font-family:var(--fd); font-weight:800; }
.ov4__vsc.is-yes{ border-color:var(--acc); }
.ov4__vsc.is-yes .m{ color:var(--acc); }
.ov4__vsdiv{ font-family:var(--fd); font-weight:800; font-size:13px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--ink2); text-align:center; padding:2px; }

/* product anatomy + generic split */
.ov4__split{ display:grid; gap:16px; margin-top:24px; }
@media(min-width:900px){ .ov4__split{ grid-template-columns:1.05fr .95fr; gap:30px; align-items:center; } }
.ov4__split img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--r); }
.ov4__split img.ov4__ill{ object-fit:contain; background:var(--card);
  border:1.5px solid var(--line); padding:20px; }
.ov4__specs{ display:grid; border:1.5px solid var(--line); border-radius:var(--r); overflow:hidden; background:var(--card); }
.ov4__specs li{ padding:15px 16px; }
.ov4__specs li + li{ border-top:1px solid var(--line); }
.ov4__specs b{ font-family:var(--fd); font-weight:800; font-size:15px; display:block; margin-bottom:3px; }
.ov4__specs span{ font-size:14px; color:var(--ink2); line-height:1.45; }

/* non responder band */
.ov4__band{ background:var(--pri-dk); color:#EAF3F0; }
.ov4__band .kick{ color:#FFA07A; }
.ov4__band .sub{ color:rgba(234,243,240,.78); }
.ov4__tries{ display:grid; gap:10px; margin-top:24px; }
@media(min-width:820px){ .ov4__tries{ grid-template-columns:repeat(4,1fr); gap:14px; } }
.ov4__try{ border:1.5px solid rgba(255,255,255,.22); border-radius:var(--rm); padding:16px; background:rgba(255,255,255,.05); }
.ov4__try .n{ font-family:var(--fd); font-weight:800; font-size:11px; letter-spacing:.11em;
  text-transform:uppercase; color:#FFA07A; margin-bottom:8px; }
.ov4__try b{ font-family:var(--fd); font-weight:800; font-size:16px; display:block; margin-bottom:5px; }
.ov4__try p{ font-size:14px; line-height:1.5; color:rgba(234,243,240,.8); }
.ov4__try.is-last{ border-color:#FFA07A; background:rgba(255,160,122,.12); }

/* reframe + guarantee */
.ov4__reframe{ border:1.5px solid #E9CDBF; border-radius:var(--r); background:#FFF8F4; padding:22px; box-shadow:0 10px 24px -20px rgba(22,33,31,.22); }
@media(min-width:768px){ .ov4__reframe{ padding:28px; } }
.ov4__reframe h3{ font-size:24px; margin-bottom:10px; max-width:13ch; }
@media(min-width:768px){ .ov4__reframe h3{ font-size:30px; } }
.ov4__reframe p{ font-size:16px; color:var(--ink2); line-height:1.55; max-width:38ch; }
.ov4__ts{ display:grid; gap:12px; margin-top:18px; counter-reset:ov4test; }
@media(min-width:700px){ .ov4__ts{ grid-template-columns:repeat(3,1fr); gap:14px; } }
.ov4__tstep{ counter-increment:ov4test; background:var(--card); border:1.5px solid var(--line); border-radius:var(--rm); padding:14px 14px 14px 50px; position:relative; box-shadow:0 8px 20px -18px rgba(22,33,31,.25); }
.ov4__tstep::before{ content:counter(ov4test); position:absolute; left:14px; top:14px; width:24px; height:24px; border-radius:50%; background:var(--acc); color:#fff; display:grid; place-items:center; font-family:var(--fd); font-weight:800; font-size:12px; line-height:1; }
.ov4__tstep b{ font-family:var(--fd); font-weight:800; font-size:15px; display:block; margin-bottom:3px; }
.ov4__tstep span{ font-size:13.5px; color:var(--ink2); line-height:1.45; display:block; }
.ov4__tstep::after{ content:"\2193"; position:absolute; bottom:-16px; left:50%; transform:translateX(-50%);
  font-family:var(--fd); font-weight:800; color:#D9A591; font-size:14px; z-index:1; }
.ov4__tstep:last-child::after{ display:none; }
@media(min-width:700px){ .ov4__tstep::after{ content:"\2192"; bottom:auto; top:50%; left:auto;
  right:-14px; transform:translateY(-50%); } }

.ov4__gt{ border:1.5px solid #E9CDBF; border-radius:var(--r); background:var(--card);
  padding:22px; box-shadow:0 12px 24px -22px rgba(22,33,31,.34); display:grid; gap:18px; }
@media(max-width:819px){ .ov4__gt{ grid-template-columns:76px 1fr; gap:16px; align-items:start; } }
@media(min-width:820px){ .ov4__gt{ grid-template-columns:auto 1fr; gap:30px; align-items:start; padding:30px; } }
.ov4__seal{ width:88px; height:88px; border-radius:50%; background:var(--acc); color:#fff;
  display:grid; place-items:center; text-align:center; font-family:var(--fd); font-weight:800;
  font-size:11px; line-height:1.1; letter-spacing:.03em; justify-self:start; align-self:start; }
.ov4__seal b{ display:block; font-size:30px; line-height:1; }
.ov4__gt h3{ font-size:25px; margin-bottom:8px; color:var(--ink); }
@media(min-width:768px){ .ov4__gt h3{ font-size:31px; } }
.ov4__gterms{ display:grid; gap:12px; margin-top:14px; }
.ov4__gterms li{ display:grid; grid-template-columns:24px 1fr; gap:12px; font-size:15px; line-height:1.55; color:var(--ink2); }
.ov4__gterms .m{ width:24px; height:24px; border-radius:50%; background:var(--pri-wash); color:var(--pri-dk); font-family:var(--fd); font-weight:800; display:grid; place-items:center; }
.ov4__gfine{ margin-top:14px; padding-top:12px; border-top:1px solid var(--line);
  font-size:13px; color:var(--ink2); line-height:1.55; }

/* claims ledger */
.ov4__led{ display:grid; margin-top:24px; border:2px solid var(--line); border-radius:var(--r);
  overflow:hidden; background:var(--card); }
@media(min-width:820px){ .ov4__led{ grid-template-columns:1fr 1fr; } }
.ov4__lc{ padding:20px; }
.ov4__lc + .ov4__lc{ border-top:2px solid var(--line); }
@media(min-width:820px){ .ov4__lc + .ov4__lc{ border-top:0; border-left:2px solid var(--line); } }
.ov4__led h4{ font-family:var(--fd); font-weight:800; font-size:12.5px; letter-spacing:.11em;
  text-transform:uppercase; margin-bottom:14px; }
.ov4__lc.is-ok h4{ color:var(--pri); }
.ov4__lc.is-no h4{ color:var(--acc); }
.ov4__led li{ display:grid; grid-template-columns:17px 1fr; gap:10px; font-size:15px; line-height:1.5; padding:8px 0; }
.ov4__led .m{ font-family:var(--fd); font-weight:800; font-size:15px; }
.ov4__lc.is-ok .m{ color:var(--pri); }
.ov4__lc.is-no .m{ color:var(--acc); }
.ov4__ledclose{ margin-top:24px; font-family:var(--fd); font-weight:800; font-size:22px;
  line-height:1.22; letter-spacing:-.03em; max-width:22ch; }
@media(min-width:768px){ .ov4__ledclose{ font-size:30px; max-width:26ch; } }

/* cost */
.ov4__big{ font-family:var(--fd); font-weight:800; font-size:40px; line-height:1; letter-spacing:-.045em; }
@media(min-width:768px){ .ov4__big{ font-size:56px; } }
.ov4__big i{ display:block; font-style:normal; font-family:var(--fb); font-size:15px;
  color:var(--ink2); font-weight:400; letter-spacing:0; line-height:1.45; margin-top:12px; max-width:34ch; }
.ov4__note{ margin-top:16px; padding:14px; border-radius:var(--rm); background:var(--soft);
  font-size:13px; color:var(--ink2); line-height:1.6; }

/* ugc rail */
.ov4__rail{ display:grid; grid-auto-flow:column; grid-auto-columns:66%; gap:11px; overflow-x:auto;
  scroll-snap-type:x mandatory; margin:24px calc(var(--pad)*-1) 0; padding:0 var(--pad) 10px;
  scrollbar-width:none; }
.ov4__rail::-webkit-scrollbar{ display:none; }
.ov4__rail > *{ scroll-snap-align:start; }
@media(min-width:900px){ .ov4__rail{ grid-auto-columns:1fr; overflow:visible; margin:24px 0 0; padding:0; } }
.ov4__ugc{ margin:0; }
.ov4__ugc .m{ position:relative; aspect-ratio:9/16; border-radius:var(--rm); overflow:hidden; background:var(--sunk); }
.ov4__ugc .m img,.ov4__ugc .m video{ width:100%; height:100%; object-fit:cover; }
.ov4__ugc .ph{ position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end;
  padding:12px; border:1px dashed var(--line2); border-radius:var(--rm); }
.ov4__ugc .ph span{ font-size:11.5px; line-height:1.45; color:var(--ink2);
  background:rgba(252,250,248,.86); border-radius:9px; padding:8px 10px; }
.ov4__ugc .tag{ position:absolute; top:10px; left:10px; font-family:var(--fd); font-weight:700;
  font-size:9.5px; letter-spacing:.13em; text-transform:uppercase; background:var(--acc);
  color:#fff; padding:4px 9px; border-radius:var(--rp); }
.ov4__ugc figcaption{ font-size:13.5px; color:var(--ink2); margin-top:10px; line-height:1.45; }
.ov4__ugc figcaption b{ display:block; color:var(--ink); font-family:var(--fd); font-weight:700; font-size:14px; }
.ov4__hint{ font-size:12px; color:var(--ink2); margin-top:4px; }
@media(min-width:900px){ .ov4__hint{ display:none; } }

/* reviews */
.ov4__rvt{ display:grid; gap:18px; margin-top:22px; padding:18px; border:1.5px solid var(--line);
  border-radius:var(--r); background:var(--card); }
@media(min-width:760px){ .ov4__rvt{ grid-template-columns:auto 1fr; gap:34px; align-items:center; } }
.ov4__sc{ display:flex; align-items:center; gap:12px; }
.ov4__sc--tp{ align-items:flex-start; }
.ov4__sc b{ font-family:var(--fd); font-weight:800; font-size:44px; line-height:1; letter-spacing:-.04em; }
.ov4__tpbrand{ font-family:var(--fd); font-weight:800; font-size:16px; line-height:1; color:var(--ink); margin-bottom:10px; }
.ov4__tpinline{ display:flex; align-items:center; gap:14px; }
.ov4__tplabel{ font-size:13px; color:var(--ink2); margin-top:6px; }
.ov4__bars{ display:grid; gap:8px; }
.ov4__bar{ display:grid; grid-template-columns:24px 1fr 38px; gap:9px; align-items:center;
  font-size:12px; color:var(--ink2); font-variant-numeric:tabular-nums; }
.ov4__trk{ height:7px; background:var(--sunk); border-radius:var(--rp); overflow:hidden; }
.ov4__fil{ display:block; height:100%; background:#00B67A; border-radius:var(--rp); }
.ov4__rvs{ display:grid; gap:12px; margin-top:16px; }
@media(min-width:760px){ .ov4__rvs{ grid-template-columns:repeat(2,1fr); gap:16px; } }
@media(min-width:1060px){ .ov4__rvs{ grid-template-columns:repeat(3,1fr); } }
.ov4__rv{ border:1.5px solid var(--line); border-radius:var(--rm); background:var(--card);
  overflow:hidden; display:flex; flex-direction:column; }
.ov4__rv > img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.ov4__rvb{ padding:16px; display:grid; gap:8px; }
.ov4__rvh{ display:flex; align-items:center; gap:10px; }
.ov4__av{ width:36px; height:36px; border-radius:50%; object-fit:cover; background:var(--sunk); flex:none; }
.ov4__rvn{ font-family:var(--fd); font-weight:700; font-size:14.5px; line-height:1.2; }
.ov4__rvm{ display:block; font-size:11.5px; color:var(--ink2); font-weight:400; font-family:var(--fb); }
.ov4__rv h4{ font-size:15.5px; }
.ov4__rv p{ font-size:14.5px; color:var(--ink2); line-height:1.5; }
.ov4__rvmeta{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.ov4__vb{ font-family:var(--fd); font-weight:700; font-size:11px; letter-spacing:.08em;
  text-transform:uppercase; color:#00B67A; }
.ov4__more{ margin-top:16px; text-align:center; }

/* pack cards */
.ov4__packs{ display:grid; gap:14px; margin-top:24px; }
@media(min-width:860px){ .ov4__packs{ grid-template-columns:repeat(3,1fr); gap:18px; align-items:start; } }
.ov4__pk{ position:relative; border:2px solid var(--line); border-radius:var(--r); background:var(--card);
  padding:20px; display:flex; flex-direction:column; gap:9px; }
.ov4__pk.is-best{ border-color:var(--acc); box-shadow:var(--lift); }
.ov4__pk .q{ font-family:var(--fd); font-weight:800; font-size:22px; }
.ov4__pk .cnt{ font-size:14px; color:var(--ink2); }
.ov4__pk .pr{ font-family:var(--fd); font-weight:800; font-size:34px; letter-spacing:-.035em; line-height:1; margin-top:2px; }
.ov4__pk .per{ font-size:13.5px; color:var(--ink2); }
.ov4__pk .sv{ font-size:13px; font-weight:700; color:var(--pri); }
.ov4__pk ul{ display:grid; gap:7px; margin-top:6px; flex:1; }
.ov4__pk ul li{ display:grid; grid-template-columns:15px 1fr; gap:9px; font-size:14px; color:var(--ink2); line-height:1.45; }
.ov4__pk ul .m{ color:var(--pri); font-family:var(--fd); font-weight:800; }
.ov4__pk .btn{ width:100%; margin-top:8px; font-size:16px; }

/* faq */
.ov4__faq{ margin-top:20px; border-top:2px solid var(--line); max-width:860px; }
.ov4__faq details{ border-bottom:1px solid var(--line); }
.ov4__faq summary{ cursor:pointer; list-style:none; position:relative; padding:17px 38px 17px 0;
  font-family:var(--fd); font-weight:700; font-size:16.5px; line-height:1.35; }
.ov4__faq summary::-webkit-details-marker{ display:none; }
.ov4__faq summary::after{ content:"+"; position:absolute; right:4px; top:14px; font-size:23px;
  color:var(--acc); font-family:var(--fd); font-weight:600; }
.ov4__faq details[open] summary::after{ content:"\2212"; }
.ov4__faq .a{ padding:0 0 18px; color:var(--ink2); font-size:15px; line-height:1.6; }
.ov4__faq .a p + p{ margin-top:10px; }
.ov4__faq .a ul{ list-style:disc; padding-left:20px; margin-top:8px; }
.ov4__faq .a li{ margin-bottom:5px; }

/* final */
.ov4__final{ background:var(--pri-dk); color:#EAF3F0; text-align:center; }
.ov4__final h2{ font-size:32px; line-height:1.05; color:#fff !important; }
@media(min-width:768px){ .ov4__final h2{ font-size:48px; } }
.ov4__final p{ color:rgba(234,243,240,.9) !important; font-size:17px; margin-top:14px; max-width:34ch; margin-inline:auto; }
.ov4__final .cta{ max-width:400px; margin:24px auto 0; }
.ov4__fmicro{ margin-top:14px; font-size:13px; color:rgba(234,243,240,.76) !important; line-height:1.7; }

/* sticky dock */
.ov4__dock{ position:fixed; left:0; right:0; bottom:0; z-index:60; background:var(--card);
  border-top:1px solid var(--line); padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom));
  display:flex; align-items:center; gap:12px; box-shadow:0 -6px 22px -18px rgba(0,0,0,.7);
  transform:translateY(120%); transition:transform .25s var(--ease, ease); }
.ov4__dock.is-in{ transform:none; }
.ov4__dock .cta{ width:auto; flex:1; font-size:16px; padding:13px 16px; box-shadow:none; min-height:50px; }
.ov4__dkp{ font-family:var(--fd); line-height:1.1; flex:none; }
.ov4__dkp b{ display:block; font-weight:800; font-size:19px; letter-spacing:-.03em; }
.ov4__dkp i{ font-style:normal; font-size:11.5px; color:var(--ink2); }
@media(min-width:1000px){ .ov4__dock{ display:none; } }
.ov4--docked{ padding-bottom:0; }
@media(min-width:1000px){ .ov4--docked{ padding-bottom:0; } }

/* ======================================================================
   V4 conversion cleanup — mobile-first
   Reduces card soup, enlarges the purchase controls and keeps media as
   clearly labelled placeholders until final photo/video assets are ready.
   ====================================================================== */
.ov4__media-ph{
  width:100%; min-height:220px; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:8px; padding:24px; text-align:center; border:1.5px dashed #BEB5AA; border-radius:var(--r);
  background:linear-gradient(145deg,#F4EFE8,#EDE6DD); color:var(--ink2); overflow:hidden;
}
.ov4__media-ph--portrait{ aspect-ratio:4/5; }
.ov4__media-ph--landscape{ aspect-ratio:4/3; }
.ov4__media-ph--wide{ aspect-ratio:16/9; }
.ov4__media-ph-icon{ width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.72); }
.ov4__media-ph-icon svg{ width:22px; height:22px; fill:var(--pri); }
.ov4__media-ph strong{ font-family:var(--fd); font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink); }
.ov4__media-ph > span:last-child{ max-width:38ch; font-size:12.5px; line-height:1.5; }
.ov4__galmain > .ov4__media-ph{ height:100%; min-height:0; border:0; border-radius:0; }
.ov4__thumb--ph{ cursor:default; display:grid; place-items:center; border-color:var(--line); }
.ov4__thumb--ph span{ font-family:var(--fd); font-weight:800; font-size:9px; line-height:1.15; letter-spacing:.06em; color:var(--ink2); text-align:center; }

/* Hero: simplify the signal stack. */
.ov4__proof3{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:11px 0; gap:0; }
.ov4__p3{ border:0; border-radius:0; background:transparent; padding:0 8px; }
.ov4__p3 + .ov4__p3{ border-left:1px solid var(--line); }
.ov4__p3 b{ font-size:12px; }
.ov4__p3 span{ font-size:10.5px; }
.ov4__rate{ border:0; border-radius:0; padding:0; background:transparent; margin-top:13px; }
.ov4__honest{ padding:10px 12px; border-left:3px solid var(--pri); background:var(--pri-wash); border-radius:0 10px 10px 0; }

/* Purchase area: bigger targets, less admin-form feel. */
.ov4__box{ margin-top:18px; }
.ov4__tiers{ gap:13px; }
.ov4__tier{ min-height:88px; padding:16px 14px; }
.ov4__tname{ font-size:17px; }
.ov4__tnote{ font-size:13.5px; }
.ov4__tprice{ font-size:22px; }
.ov4__tper,.ov4__tsave{ font-size:12px; }
.ov4__box .cta{ min-height:58px; margin-top:14px; font-size:18px; }
.ov4__under{ font-size:12.5px; margin-top:9px; }
.ov4__minig{ padding:14px; margin-top:14px; border:1px solid var(--line); border-radius:var(--rm); background:var(--soft); }
.ov4__trust{ border-top:0; padding-top:2px; margin-top:12px; }
.ov4__trust li{ font-size:11px; }

/* Problem section: one emotional visual + compact reasons. */
.ov4__problem{ display:grid; gap:20px; margin-top:24px; }
@media(min-width:820px){ .ov4__problem{ grid-template-columns:1.05fr .95fr; gap:34px; align-items:center; } }
.ov4__problem-list{ border-top:1px solid var(--line); }
.ov4__problem-row{ display:grid; grid-template-columns:34px 1fr; gap:13px; padding:16px 0; border-bottom:1px solid var(--line); }
.ov4__problem-num{ font-family:var(--fd); font-weight:800; color:var(--acc); font-size:12px; letter-spacing:.08em; padding-top:3px; }
.ov4__problem-row h3{ font-size:18px; margin:0 0 4px; }
.ov4__problem-row p{ color:var(--ink2); font-size:14.5px; line-height:1.5; }
.ov4__voc{ grid-template-columns:1fr; gap:0; border-top:1px solid var(--line); margin-top:24px; }
@media(min-width:700px){ .ov4__voc{ grid-template-columns:1fr 1fr; gap:26px; } }
.ov4__voc blockquote{ border:0; border-radius:0; background:transparent; padding:18px 0 0 18px; border-left:3px solid var(--acc); }
.ov4__voc q{ font-size:17px; }

/* Forced-care vs choice-driven — one clear comparison instead of four floating cards. */
.ov4__trapcompare{ display:grid; gap:12px; margin-top:24px; }
@media(min-width:820px){ .ov4__trapcompare{ grid-template-columns:1fr 1fr; gap:18px; } }
.ov4__traplane{ border:1.5px solid var(--line); border-radius:var(--r); padding:18px; background:var(--card); }
.ov4__traplane.is-forced{ border-color:#E6CFC5; background:#FFF7F3; }
.ov4__traplane.is-choice{ border-color:#B9D6D1; background:#EEF7F5; }
.ov4__traplabel{ display:block; font-family:var(--fd); font-weight:800; font-size:11px; letter-spacing:.11em; margin-bottom:12px; color:var(--ink2); }
.ov4__trapsteps{ display:grid; gap:0; }
.ov4__trapsteps span{ position:relative; padding:10px 10px 10px 28px; font-family:var(--fd); font-weight:700; font-size:14px; border-top:1px solid rgba(22,33,31,.08); }
.ov4__trapsteps span:first-child{ border-top:0; }
.ov4__trapsteps span::before{ content:"→"; position:absolute; left:2px; color:var(--acc); font-weight:800; }
.ov4__traplane.is-choice .ov4__trapsteps span::before{ color:var(--pri); }
.ov4__ex{ margin-top:18px; }
.ov4__turn{ margin-top:18px; }

/* Choice-driven loop: one visual proof then a clean 4-step rail. */
.ov4__loop-media{ margin-top:24px; max-width:880px; }
.ov4__loop{ margin-top:22px; }
.ov4__ls{ padding-bottom:18px; }
.ov4__ls p{ max-width:48ch; }
.ov4__hbox{ margin-top:18px; }

/* First session: one media slot + numbered instructions, no 4-card stack. */
.ov4__first{ display:grid; gap:22px; margin-top:24px; }
@media(min-width:820px){ .ov4__first{ grid-template-columns:.9fr 1.1fr; gap:34px; align-items:center; } }
.ov4__first-steps{ border-top:1px solid var(--line); }
.ov4__first-row{ display:grid; grid-template-columns:38px 1fr; gap:13px; padding:15px 0; border-bottom:1px solid var(--line); }
.ov4__first-row > span{ width:30px; height:30px; border-radius:50%; display:grid; place-items:center; background:var(--acc); color:#fff; font-family:var(--fd); font-weight:800; font-size:13px; }
.ov4__first-row h3{ font-size:17px; margin-bottom:4px; }
.ov4__first-row p{ color:var(--ink2); font-size:14px; line-height:1.5; }

/* UGC placeholders are intentionally obvious to the editor, but still neat in preview. */
.ov4__ugc-ph{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:18px; text-align:center; border:1.5px dashed #BEB5AA; background:linear-gradient(160deg,#F4EFE8,#E7DED3); }
.ov4__ugc-ph strong{ font-family:var(--fd); font-size:12px; letter-spacing:.1em; color:var(--ink); }
.ov4__ugc-ph span{ font-size:11.5px; line-height:1.45; color:var(--ink2); }

/* Reviews on mobile become a swipeable proof rail instead of a very long stack. */
@media(max-width:759px){
  .ov4__rvs{ display:grid; grid-template-columns:1fr; gap:14px; margin-top:16px; }
  .ov4__rv{ width:100%; }
}

/* Stronger mobile hierarchy and more comfortable touch targets. */
@media(max-width:767px){
  .ov4{ --pad:16px; font-size:16px; }
  .ov4__s{ padding-block:38px; }
  .ov4__hero{ padding-top:10px; padding-bottom:18px; }
  .ov4__hg{ gap:18px; }
  .ov4 h1{ font-size:39px; margin:11px 0 10px; }
  .ov4 .h2{ font-size:32px; line-height:1.04; }
  .ov4 .sub{ font-size:16px; line-height:1.52; margin-top:10px; }
  .ov4__hero .sub{ font-size:16px; }
  .ov4__galmain{ border-radius:16px; aspect-ratio:4/5; }
  .ov4__thumbs{ gap:6px; }
  .ov4__thumb{ border-radius:10px; }
  .ov4__proof3{ margin-top:13px; }
  .ov4__p3{ padding-inline:5px; }
  .ov4__p3 b{ font-size:11.5px; }
  .ov4__p3 span{ display:none; }
  .ov4__rate .t{ font-size:12.5px; }
  .ov4__honest{ font-size:13px; line-height:1.45; }

  .ov4__box{ margin-left:-4px; margin-right:-4px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
  .ov4__boxh{ display:block; margin-bottom:12px; }
  .ov4__boxh h2{ font-size:20px; }
  .ov4__boxh span{ display:block; margin-top:3px; font-size:12px; }
  .ov4__tiers{ gap:14px; }
  .ov4__tier{ grid-template-columns:24px 1fr auto; gap:10px; padding:17px 14px; min-height:94px; background:var(--card); border-color:var(--line); }
  .ov4__tier .ov4__tmedia{ display:none; }
  .ov4__rad{ width:22px; height:22px; }
  .ov4__tname{ font-size:17px; }
  .ov4__tname small{ display:block; margin-top:2px; font-size:12.5px; }
  .ov4__tnote{ font-size:13px; line-height:1.35; margin-top:4px; }
  .ov4__tperk{ font-size:12px; margin-top:4px; }
  .ov4__tprice{ font-size:22px; }
  .ov4__flag{ top:-9px; left:46px; font-size:9px; padding:4px 8px; }
  .ov4__box .cta{ min-height:58px; font-size:17px; }
  .ov4__minig{ grid-template-columns:52px 1fr; gap:10px; padding:12px; }
  .ov4__seal-sm{ width:52px; height:52px; }
  .ov4__minig .tx{ font-size:13px; }
  .ov4__trust{ gap:4px; }
  .ov4__trust b{ font-size:12px; }
  .ov4__trust li{ font-size:10.5px; }

  .ov4__problem{ margin-top:20px; }
  .ov4__problem-row{ padding:14px 0; }
  .ov4__problem-row h3{ font-size:17px; }
  .ov4__problem-row p{ font-size:14px; }
  .ov4__vocnote{ font-size:11.5px; }

  .ov4__traplane{ padding:15px; }
  .ov4__ex{ border:0; background:transparent; border-radius:0; }
  .ov4__ex li{ grid-template-columns:1fr; gap:3px; padding:12px 0; border-top:1px solid var(--line); }
  .ov4__ex li + li{ border-top:1px solid var(--line); }
  .ov4__ex .w{ min-width:0; font-size:14px; }
  .ov4__ex .r{ font-size:13.5px; }
  .ov4__turn{ font-size:20px; padding:17px; }

  .ov4__loop-media{ margin-top:18px; }
  .ov4__ls{ padding-left:48px; padding-bottom:16px; }
  .ov4__lnum{ width:34px; height:34px; }
  .ov4__ls h3{ font-size:17px; }
  .ov4__ls p{ font-size:14px; }

  .ov4__vs{ gap:8px; }
  .ov4__vsc .b{ padding:14px; }
  .ov4__vsc li{ font-size:14px; }
  .ov4__vsdiv{ padding:3px 0; }

  .ov4__split{ margin-top:18px; }
  .ov4__specs{ border-radius:14px; }
  .ov4__specs li{ padding:13px 14px; }
  .ov4__specs b{ font-size:14.5px; }
  .ov4__specs span{ font-size:13.5px; }

  .ov4__gt{ padding:18px; grid-template-columns:72px 1fr; gap:14px; }
  .ov4__seal{ width:72px; height:72px; font-size:9px; }
  .ov4__seal b{ font-size:25px; }
  .ov4__gt h3{ font-size:24px; }
  .ov4__gterms li{ font-size:14px; grid-template-columns:22px 1fr; gap:10px; }
  .ov4__gterms .m{ width:22px; height:22px; }
  .ov4__gfine{ font-size:12.5px; }

  .ov4__led{ margin-top:18px; }
  .ov4__lc{ padding:17px; }
  .ov4__led li{ font-size:14px; padding:6px 0; }
  .ov4__ledclose{ font-size:22px; }

  .ov4__big{ font-size:42px; }
  .ov4__note{ font-size:12.5px; }
  .ov4__rail{ grid-auto-columns:78%; }
  .ov4__rvt{ padding:15px; }
  .ov4__sc b{ font-size:40px; }
  .ov4__packs{ gap:12px; }
  .ov4__pk{ padding:18px; }
  .ov4__pk .q{ font-size:21px; }
  .ov4__pk .pr{ font-size:32px; }
  .ov4__faq summary{ font-size:16px; padding-block:16px; }
  .ov4__final h2{ font-size:34px; }
  .ov4__final p{ font-size:16px; }
  .ov4__dock{ padding-inline:14px; }
}


.ov4__final{ padding-bottom:calc(46px + 82px); }
@media(min-width:768px){ .ov4__final{ padding-bottom:calc(74px + 82px); } }
@media(min-width:1000px){ .ov4__final{ padding-bottom:74px; } }
@media(max-width:759px){
  .ov4__rvt{ gap:14px; }
  .ov4__tpinline{ align-items:flex-start; gap:12px; }
  .ov4__tpbrand{ margin-bottom:8px; }
}


/* ==============================================================
   V4 cleanup round 2 — remove repetition, clarify comparison,
   and rebuild the guarantee block for mobile readability.
   ============================================================== */
.ov4__trust{ display:none !important; }

.ov4__trapcompare{ display:grid; gap:14px; margin-top:24px; }
@media(min-width:900px){ .ov4__trapcompare{ grid-template-columns:1fr 1fr; gap:18px; } }
.ov4__trapcard{ border:1.5px solid var(--line); border-radius:24px; background:var(--card); padding:18px; }
.ov4__trapcard.is-forced{ background:#FFF7F3; border-color:#E7CFC2; }
.ov4__trapcard.is-choice{ background:#EEF7F5; border-color:#B9D6D1; }
.ov4__traphead{ margin-bottom:12px; }
.ov4__traplabel{ display:block; font-family:var(--fd); font-weight:800; font-size:11px; letter-spacing:.12em; color:var(--ink2); margin-bottom:8px; }
.ov4__traphead p{ font-size:14px; line-height:1.45; color:var(--ink2); max-width:32ch; }
.ov4__trapsteps{ display:grid; gap:10px; }
.ov4__trapsteps span{ display:grid; grid-template-columns:24px 1fr; gap:10px; align-items:center; padding:12px 0; border-top:1px solid rgba(22,33,31,.08); }
.ov4__trapsteps span:first-child{ border-top:0; padding-top:0; }
.ov4__trapsteps span:last-child{ padding-bottom:0; }
.ov4__trapsteps strong{ font-family:var(--fd); font-weight:700; font-size:16px; line-height:1.2; }
.ov4__trapsteps i{ width:22px; height:22px; border-radius:50%; display:grid; place-items:center; font-style:normal; font-family:var(--fd); font-weight:800; font-size:12px; }
.ov4__trapcard.is-forced .ov4__trapsteps i{ background:#FFE5DB; color:var(--acc); }
.ov4__trapcard.is-choice .ov4__trapsteps i{ background:#DDF0EB; color:var(--pri-dk); }

.ov4__exwrap{ margin-top:18px; }
.ov4__exhead{ font-family:var(--fd); font-weight:800; font-size:14px; color:var(--ink); margin-bottom:10px; }
.ov4__ex{ display:grid; gap:10px; margin-top:0; border:0; background:transparent; }
.ov4__ex li{ display:grid; grid-template-columns:minmax(108px,128px) 1fr; gap:12px; align-items:start; padding:14px 16px; border:1px solid var(--line); border-radius:16px; background:var(--card); }
.ov4__ex .w{ min-width:0; font-family:var(--fd); font-weight:800; font-size:15px; }
.ov4__ex .r{ font-size:14px; color:var(--ink2); line-height:1.45; }
.ov4__turn{ margin-top:18px; padding:20px; border-radius:22px; background:var(--pri-dk); color:#fff; font-family:var(--fd); font-weight:800; font-size:18px; line-height:1.15; max-width:28ch; }
@media(min-width:768px){ .ov4__turn{ font-size:24px; padding:24px; } }

.ov4__gt{ display:block; padding:22px; border:1.5px solid #E7CFC2; border-radius:24px; background:var(--card); box-shadow:0 12px 30px -26px rgba(22,33,31,.3); }
.ov4__gthead{ display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:start; }
.ov4__gtcopy h3{ margin-bottom:8px; }
.ov4__gtcopy .sub{ max-width:42ch; }
.ov4__seal{ width:78px; height:78px; font-size:9.5px; line-height:1.05; }
.ov4__seal b{ font-size:27px; }
.ov4__gterms{ display:grid; gap:10px; margin-top:18px; }
.ov4__gterms li{ display:grid; grid-template-columns:28px 1fr; gap:12px; align-items:start; padding:12px 14px; border:1px solid var(--line); border-radius:16px; background:var(--soft); font-size:15px; line-height:1.55; color:var(--ink2); }
.ov4__gterms .m{ width:28px; height:28px; border-radius:50%; background:#DDF0EB; color:var(--pri-dk); display:grid; place-items:center; font-family:var(--fd); font-weight:800; }
.ov4__gfine{ margin-top:14px; padding-top:12px; border-top:1px solid var(--line); font-size:12.5px; line-height:1.55; max-width:52ch; }

@media(max-width:767px){
  .ov4__trapcard{ padding:16px; border-radius:22px; }
  .ov4__traphead p{ font-size:13.5px; }
  .ov4__trapsteps strong{ font-size:15px; }
  .ov4__exhead{ font-size:13.5px; }
  .ov4__ex li{ grid-template-columns:1fr; gap:4px; padding:12px 14px; }
  .ov4__ex .w{ font-size:14.5px; }
  .ov4__ex .r{ font-size:13.5px; }
  .ov4__turn{ max-width:none; font-size:18px; border-radius:20px; }

  .ov4__gt{ padding:18px; border-radius:22px; }
  .ov4__gthead{ grid-template-columns:68px 1fr; gap:14px; }
  .ov4__seal{ width:68px; height:68px; font-size:8px; }
  .ov4__seal b{ font-size:23px; }
  .ov4__gtcopy h3{ font-size:22px; }
  .ov4__gtcopy .sub{ font-size:14px; line-height:1.45; }
  .ov4__gterms{ gap:8px; }
  .ov4__gterms li{ grid-template-columns:24px 1fr; gap:10px; padding:11px 12px; font-size:14px; }
  .ov4__gterms .m{ width:24px; height:24px; }
}

/* Final mobile fixes: clean step numbers, horizontal Trustpilot header, dark-section contrast */
.ov4__trapcard .ov4__trapsteps span::before{
  content:none !important;
  display:none !important;
}

/* Keep the top Trustpilot proof on one line, including review count. */
.ov4__tpbox{
  flex-wrap:nowrap;
  width:100%;
}
.ov4__tpmeta{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:nowrap;
  min-width:0;
  white-space:nowrap;
}
.ov4__tpmeta .t,
.ov4__tpmeta .s{
  display:inline;
  margin:0;
  white-space:nowrap;
}
.ov4__tpmeta .s::before{
  content:"•";
  margin-right:7px;
  color:var(--line2);
}
@media(max-width:390px){
  .ov4__tpbox{ gap:8px; padding-inline:10px; }
  .ov4__tpstars{ gap:2px; }
  .ov4__tpstars span{ width:16px; height:16px; font-size:10px; }
  .ov4__tpmeta{ gap:5px; }
  .ov4__tpmeta .t{ font-size:12px; }
  .ov4__tpmeta .s{ font-size:11px; }
  .ov4__tpmeta .s::before{ margin-right:5px; }
}

/* Theme-level heading rules were overriding inherited light text on dark green sections. */
.ov4__band,
.ov4__band .h2,
.ov4__band h1,
.ov4__band h2,
.ov4__band h3,
.ov4__band h4,
.ov4__band b,
.ov4__band strong{
  color:#F7FBFA !important;
}
.ov4__band .sub,
.ov4__band p,
.ov4__band li,
.ov4__band span:not(.n){
  color:rgba(247,251,250,.84);
}
.ov4__band .ov4__try .n{
  color:#FFA07A !important;
}
.ov4__turn,
.ov4__turn *{
  color:#FFFFFF !important;
}
.ov4__final,
.ov4__final h1,
.ov4__final h2,
.ov4__final h3,
.ov4__final h4,
.ov4__final p,
.ov4__final span,
.ov4__final strong,
.ov4__final b{
  color:#FFFFFF !important;
}
.ov4__final .ov4__fmicro{
  color:rgba(255,255,255,.78) !important;
}

/* ==============================================================
   V5 product anatomy — real photography, mobile-first
   ============================================================== */
.ov4__anatomy{
  background:#FFFDF9;
}
.ov4__anatomy-head{
  max-width:660px;
}
.ov4__anatomy-main{
  margin:24px 0 0;
  border:1px solid #E8DDD0;
  border-radius:26px;
  overflow:hidden;
  background:#F6EFE6;
  box-shadow:0 18px 40px -32px rgba(22,33,31,.4);
}
.ov4__anatomy-main img{
  display:block;
  width:100%;
  height:auto;
}
.ov4__anatomy-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-top:16px;
}
.ov4__anatomy-card{
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:12px;
  border:1px solid #E7DDD2;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 22px -22px rgba(22,33,31,.38);
}
.ov4__anatomy-card > img{
  width:88px;
  height:88px;
  object-fit:cover;
  border-radius:16px;
  background:#F5EDE3;
}
.ov4__anatomy-card h3{
  font-size:17px;
  line-height:1.15;
  color:var(--pri-dk);
  margin:0 0 5px;
}
.ov4__anatomy-card p{
  margin:0;
  font-size:13.5px;
  line-height:1.5;
  color:var(--ink2);
}
@media(min-width:760px){
  .ov4__anatomy-main{ margin-top:30px; }
  .ov4__anatomy-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin-top:18px;
  }
  .ov4__anatomy-card{
    grid-template-columns:112px minmax(0,1fr);
    gap:18px;
    padding:14px;
  }
  .ov4__anatomy-card > img{
    width:112px;
    height:112px;
    border-radius:18px;
  }
  .ov4__anatomy-card h3{ font-size:19px; }
  .ov4__anatomy-card p{ font-size:14.5px; }
}
@media(max-width:767px){
  .ov4__anatomy{ padding-top:40px; padding-bottom:42px; }
  .ov4__anatomy .h2{ max-width:11ch; }
  .ov4__anatomy-main{
    margin-top:20px;
    border-radius:20px;
  }
  .ov4__anatomy-card{
    grid-template-columns:78px minmax(0,1fr);
    gap:12px;
    padding:10px;
    border-radius:18px;
  }
  .ov4__anatomy-card > img{
    width:78px;
    height:78px;
    border-radius:14px;
  }
  .ov4__anatomy-card h3{ font-size:15.5px; }
  .ov4__anatomy-card p{ font-size:12.8px; line-height:1.42; }
}

/* ==============================================================
   V6 media integration — user-supplied GIFs, product photos & UGC
   ============================================================= */
.ov4__gal{ display:grid; gap:9px; min-width:0; }
.ov4__galviewport{ position:relative; overflow:hidden; border-radius:16px; background:#F1EAE1; }
.ov4__galtrack{ display:flex; width:100%; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; }
.ov4__galtrack::-webkit-scrollbar{ display:none; }
.ov4__galslide{ flex:0 0 100%; width:100%; aspect-ratio:3/4; margin:0; scroll-snap-align:start; scroll-snap-stop:always; background:#EFE8DE; display:grid; place-items:center; overflow:hidden; }
.ov4__galslide img,.ov4__galslide video{ width:100%; height:100%; object-fit:cover; display:block; }
.ov4__galslide--contain{ background:#F7F2EC; }
.ov4__galslide--contain img{ object-fit:contain; }
.ov4__galnav{ position:absolute; z-index:4; top:50%; transform:translateY(-50%); width:42px; height:42px; border:1px solid rgba(22,33,31,.12); border-radius:50%; background:rgba(255,255,255,.9); color:var(--ink); box-shadow:0 6px 18px -10px rgba(22,33,31,.5); display:grid; place-items:center; font-size:30px; line-height:1; cursor:pointer; backdrop-filter:blur(8px); }
.ov4__galnav--prev{ left:10px; }
.ov4__galnav--next{ right:10px; }
.ov4__galcount{ position:absolute; right:10px; bottom:10px; z-index:4; min-width:46px; height:28px; padding:0 10px; display:grid; place-items:center; border-radius:999px; background:rgba(22,33,31,.72); color:#fff; font-family:var(--fd); font-weight:700; font-size:12px; backdrop-filter:blur(8px); }
.ov4__thumbs{ display:flex; gap:7px; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; padding:1px 1px 3px; }
.ov4__thumbs::-webkit-scrollbar{ display:none; }
.ov4__thumb{ flex:0 0 68px; width:68px; aspect-ratio:1; position:relative; border-radius:10px; overflow:hidden; background:var(--sunk); border:2px solid transparent; cursor:pointer; padding:0; }
.ov4__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.ov4__thumb.is-on{ border-color:var(--acc); box-shadow:0 0 0 1px rgba(228,85,42,.12); }
@media(min-width:600px){
  .ov4__galslide{ aspect-ratio:1/1; }
  .ov4__thumb{ flex-basis:78px; width:78px; }
}

.ov4__media-card{ border-radius:var(--r); overflow:hidden; background:var(--sunk); }
.ov4__media-card img,.ov4__media-card video{ width:100%; height:auto; display:block; object-fit:cover; }
.ov4__media-card--gif{ background:#EDE5DB; }
.ov4__loop-media.ov4__media-card{ max-width:520px; }
.ov4__loop-media.ov4__media-card img{ aspect-ratio:3/4; object-fit:cover; }
.ov4__problem-media.ov4__media-card img{ aspect-ratio:4/3; object-fit:cover; }
.ov4__first-media.ov4__media-card img{ width:100%; aspect-ratio:3/4; object-fit:cover; }
.ov4__split > .ov4__media-card img{ aspect-ratio:4/3; object-fit:cover; }

.ov4__ugc-carousel{ position:relative; margin-top:24px; }
.ov4__ugc-carousel .ov4__rail{ margin-top:0; }
.ov4__ugc-nav{ position:absolute; z-index:4; top:43%; transform:translateY(-50%); width:42px; height:42px; border:1px solid rgba(22,33,31,.12); border-radius:50%; background:rgba(255,255,255,.92); color:var(--ink); box-shadow:0 6px 18px -10px rgba(22,33,31,.55); display:grid; place-items:center; font-size:28px; line-height:1; cursor:pointer; }
.ov4__ugc-nav--prev{ left:-7px; }
.ov4__ugc-nav--next{ right:-7px; }
.ov4__ugc-dots{ display:flex; justify-content:center; gap:7px; margin-top:12px; }
.ov4__ugc-dots button{ width:7px; height:7px; border:0; border-radius:50%; background:#D5CCC0; padding:0; cursor:pointer; transition:width .2s var(--ease), background .2s var(--ease); }
.ov4__ugc-dots button.is-on{ width:22px; border-radius:999px; background:var(--pri); }
.ov4__ugc video{ background:#111; }

@media(max-width:899px){
  .ov4__galnav{ width:38px; height:38px; font-size:27px; }
  .ov4__ugc-nav{ display:none; }
  .ov4__rail{ scroll-padding-left:var(--pad); }
}

@media(min-width:900px){
  .ov4__ugc-dots{ display:none; }
}
@media(min-width:900px){ .ov4__ugc-nav{ display:none; } }

/* Gallery cleanup v7: square media, no counter badge, autoplay hero video. */
.ov4__galviewport{ border-radius:0 !important; }
.ov4__galslide{ border-radius:0 !important; }
.ov4__thumb{ border-radius:0 !important; }
.ov4__galcount{ display:none !important; }
.ov4__mainvideo{ width:100%; height:100%; object-fit:cover; display:block; }
.ov4__galnav{ border-radius:6px !important; }

/* ======================================================================
   Trustpilot hero proof — centered layout matching the reference treatment.
   ====================================================================== */
.ov4__tpbox{
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  gap:11px;
  margin-top:22px !important;
  margin-bottom:18px;
  padding:4px 0 !important;
  text-align:center;
  border:0 !important;
  background:transparent !important;
}
.ov4__tprow{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  width:100%;
}
.ov4__tpbrandmark{
  display:inline-flex;
  align-items:center;
  gap:5px;
  flex:none;
  white-space:nowrap;
}
.ov4__tplogo-star{
  color:#00B67A;
  font-size:29px;
  line-height:1;
  transform:translateY(-1px);
}
.ov4__tplogo-word{
  color:#191919;
  font-family:Arial,Helvetica,sans-serif;
  font-size:20px;
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1;
}
.ov4__tprating{
  display:inline-flex;
  align-items:center;
  gap:3px;
  flex:none;
}
.ov4__tpstarbox{
  position:relative;
  width:31px;
  height:29px;
  overflow:hidden;
  background:#D9E1E5;
  display:grid;
  place-items:center;
}
.ov4__tpstarbox i{
  position:absolute;
  inset:0 auto 0 0;
  display:block;
  background:#00B67A;
  z-index:0;
}
.ov4__tpstarbox b{
  position:relative;
  z-index:1;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:21px;
  font-weight:700;
  line-height:1;
}
.ov4__tpcaption{
  color:#252525;
  font-family:Arial,Helvetica,sans-serif;
  font-size:12.5px;
  font-weight:400;
  line-height:1.25;
  letter-spacing:.005em;
  text-transform:uppercase;
  white-space:nowrap;
}
.ov4__tpcaption b{ font-weight:700; }
.ov4__tpbox + .ov4__honest{
  margin-top:0 !important;
}
.ov4__honest{
  margin-bottom:6px;
}

@media(max-width:430px){
  .ov4__tpbox{ margin-top:24px !important; margin-bottom:20px; gap:10px; }
  .ov4__tprow{ gap:12px; }
  .ov4__tplogo-star{ font-size:26px; }
  .ov4__tplogo-word{ font-size:18px; }
  .ov4__tpstarbox{ width:27px; height:26px; }
  .ov4__tpstarbox b{ font-size:18px; }
  .ov4__tpcaption{ font-size:11.5px; }
}
@media(max-width:360px){
  .ov4__tprow{ gap:9px; }
  .ov4__tplogo-star{ font-size:23px; }
  .ov4__tplogo-word{ font-size:16px; }
  .ov4__tpstarbox{ width:24px; height:23px; }
  .ov4__tpstarbox b{ font-size:16px; }
  .ov4__tpcaption{ font-size:10.5px; }
}

/* ======================================================================
   V11 conversion-order + responsive cleanup
   Applies to the Silvervine PDP section only (.ov4).
   ====================================================================== */
.ov4__tpmobile{ display:none; }

/* UGC: four equal cards on desktop, one large swipe card on mobile. */
@media(min-width:900px){
  .ov4__ugc-carousel .ov4__rail{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    grid-auto-flow:initial;
    grid-auto-columns:auto;
    gap:16px;
    overflow:visible;
    margin:22px 0 0;
    padding:0;
  }
  .ov4__ugc{ min-width:0; }
  .ov4__ugc .m{ aspect-ratio:9/16; }
}
@media(max-width:899px){
  .ov4__ugc-carousel .ov4__rail{
    grid-auto-columns:84%;
    gap:14px;
    margin:20px calc(var(--pad) * -1) 0;
    padding:0 var(--pad) 8px;
    scroll-padding-left:var(--pad);
  }
  .ov4__ugc figcaption{ font-size:14px; }
  .ov4__ugc figcaption b{ font-size:15px; }
}

/* Combined response / guarantee: one concise block instead of three repeats. */
.ov4__response-test{ background:var(--soft); }
.ov4__response-card{
  border:1.5px solid var(--line2);
  border-radius:var(--r);
  background:var(--card);
  padding:22px;
  box-shadow:0 12px 28px -24px rgba(22,33,31,.35);
}
.ov4__response-kicker{
  display:block;
  margin-bottom:10px;
  font-family:var(--fd);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  color:var(--acc);
}
.ov4__response-copy .sub{ max-width:68ch; }
.ov4__response-steps{
  display:grid;
  gap:10px;
  margin-top:20px;
}
.ov4__response-steps > div{
  display:grid;
  grid-template-columns:30px 1fr;
  align-items:center;
  gap:11px;
  min-height:52px;
  padding:11px 13px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--bg);
}
.ov4__response-steps span{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--pri-wash);
  color:var(--pri-dk);
  font-family:var(--fd);
  font-size:13px;
  font-weight:800;
}
.ov4__response-steps b{ font-family:var(--fd); font-size:15px; line-height:1.25; }
@media(min-width:800px){
  .ov4__response-card{ padding:28px; }
  .ov4__response-steps{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
}

/* Compact claims ledger. */
#ov4-claims.ov4__s{ padding-block:38px; }
#ov4-claims .ov4__led{ margin-top:18px; }
#ov4-claims .ov4__lc{ padding:16px 18px; }
#ov4-claims .ov4__led h4{ margin-bottom:8px; }
#ov4-claims .ov4__led li{ padding:5px 0; font-size:14px; line-height:1.42; }
#ov4-claims .ov4__ledclose{ margin-top:16px; font-size:20px; }
@media(min-width:768px){
  #ov4-claims.ov4__s{ padding-block:50px; }
  #ov4-claims .ov4__lc{ padding:18px 20px; }
  #ov4-claims .ov4__ledclose{ font-size:24px; }
}

/* Trustpilot review section: same content, denser presentation. */
#ov4-reviews.ov4__s{ padding-block:34px; }
#ov4-reviews .h2{ font-size:28px; }
#ov4-reviews .ov4__rvt{ margin-top:14px; padding:14px; gap:14px; }
#ov4-reviews .ov4__rvs{ margin-top:14px; align-items:start; }
#ov4-reviews .ov4__rv{ align-self:start; height:auto; }
#ov4-reviews .ov4__rv[hidden]{ display:none !important; }
#ov4-reviews .ov4__rv > img{ aspect-ratio:16/10; max-height:210px; object-fit:cover; }
#ov4-reviews .ov4__rvb{ padding:14px; gap:7px; }
#ov4-reviews .ov4__rv p{ font-size:14px; line-height:1.48; }
#ov4-reviews .ov4__more{ margin-top:12px; }
@media(min-width:760px){
  #ov4-reviews.ov4__s{ padding-block:52px; }
  #ov4-reviews .h2{ font-size:36px; }
  #ov4-reviews .ov4__rvs{
    display:block;
    columns:2;
    column-gap:14px;
  }
  #ov4-reviews .ov4__rv{
    width:100%;
    break-inside:avoid;
    margin:0 0 14px;
  }
  #ov4-reviews .ov4__rv > img{ max-height:185px; }
}
@media(min-width:1060px){
  #ov4-reviews .ov4__rvs{ columns:3; }
}

/* Mobile hero order and touch sizing. */
@media(max-width:767px){
  .ov4__hero .ov4__hg{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:0;
  }
  .ov4__hero-info{ display:contents; }
  .ov4__hero-info > .eyebrow{ display:none; }
  .ov4__hero-info > .ov4__rate{ order:1; grid-column:1; }
  .ov4__hero-info > h1{ order:2; grid-column:1; }
  .ov4__hero-info > .sub{ order:3; grid-column:1; }
  .ov4__hero > .ov4__w > .ov4__gal{ order:4; grid-column:1; }
  .ov4__hero-info > .ov4__proof3{ order:5; grid-column:1; }
  .ov4__hero-info > .ov4__box{ order:6; grid-column:1; }
  .ov4__hero-info > .ov4__honest{ order:7; grid-column:1; }

  .ov4__hero-info > h1{
    font-size:clamp(30px,8.7vw,36px);
    line-height:1.03;
    margin:12px 0 10px;
    max-width:100%;
  }
  .ov4__hero-info > .sub{
    font-size:16px;
    line-height:1.5;
    margin:0 0 18px;
  }

  /* Short Trustpilot proof above H1. */
  .ov4__hero .ov4__tpbox{
    flex-direction:row !important;
    justify-content:flex-start;
    align-items:center;
    flex-wrap:wrap;
    gap:8px 10px;
    margin:0 0 4px !important;
    padding:0 !important;
    text-align:left;
  }
  .ov4__hero .ov4__tprow{ width:auto; justify-content:flex-start; gap:8px; }
  .ov4__hero .ov4__tpbrandmark{ gap:4px; }
  .ov4__hero .ov4__tplogo-star{ font-size:20px; }
  .ov4__hero .ov4__tplogo-word{ font-size:15px; }
  .ov4__hero .ov4__tpstarbox{ width:20px; height:19px; }
  .ov4__hero .ov4__tpstarbox b{ font-size:13px; }
  .ov4__hero .ov4__tpcaption{ display:none; }
  .ov4__hero .ov4__tpmobile{
    display:flex;
    gap:5px;
    align-items:center;
    font-family:var(--fb);
    font-size:12.5px;
    line-height:1.2;
    color:var(--ink2);
    white-space:nowrap;
  }
  .ov4__hero .ov4__tpmobile b{ color:var(--ink); font-weight:800; }

  .ov4__gal{ margin-top:0; min-width:0; }

  /* Benefits are readable rows, not three tiny columns. */
  .ov4__proof3{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin:16px 0 18px;
    padding:0;
    border:0;
  }
  .ov4__p3{
    position:relative;
    display:grid;
    grid-template-columns:24px minmax(0,1fr);
    gap:10px;
    align-items:start;
    padding:10px 12px;
    text-align:left;
    border:1px solid var(--line);
    border-radius:12px;
    background:var(--card);
  }
  .ov4__p3 + .ov4__p3{ border-left:1px solid var(--line); }
  .ov4__p3::before{
    content:"✓";
    width:22px;
    height:22px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--pri-wash);
    color:var(--pri-dk);
    font-family:var(--fd);
    font-size:13px;
    font-weight:800;
  }
  .ov4__p3 b{ font-size:14.5px; line-height:1.25; }
  .ov4__p3 span{ display:block !important; margin-top:2px; font-size:13px; line-height:1.35; }
  .ov4__p3 > b,.ov4__p3 > span{ grid-column:2; }
  .ov4__p3::before{ grid-column:1; grid-row:1 / span 2; }

  /* Purchase cards: keep pack images visible from 340px up. */
  .ov4__tier{
    min-height:96px;
    gap:10px;
    padding:16px 13px;
  }
  .ov4__rad{ width:22px; height:22px; }
  .ov4__tname{ font-size:16px; }
  .ov4__tnote{ font-size:13px; line-height:1.4; }
  .ov4__tperk{ font-size:13px; }
  .ov4__tprice{ font-size:21px; }
  .ov4__tper,.ov4__tsave{ font-size:12px; }
  .ov4__under{ font-size:13px; line-height:1.45; padding-inline:4px; }

  .ov4__honest{ margin-top:14px !important; margin-bottom:0; font-size:13px; }

  #ov4-claims .ov4__lc + .ov4__lc{ border-top:1.5px solid var(--line); }
  .ov4__response-card{ padding:18px; }
  .ov4__response-steps > div{ min-height:48px; }
}

@media(min-width:340px) and (max-width:767px){
  .ov4__tier{
    grid-template-columns:22px 52px minmax(0,1fr) auto !important;
  }
  .ov4__tier .ov4__tmedia{
    display:block !important;
    width:52px !important;
    height:52px !important;
    border-radius:10px;
  }
}
@media(max-width:339px){
  .ov4__tier{
    grid-template-columns:22px minmax(0,1fr) auto !important;
    padding-inline:10px;
  }
  .ov4__tier .ov4__tmedia{ display:none !important; }
  .ov4__tprice{ font-size:20px; }
  .ov4__tname{ font-size:16px; }
}
@media(max-width:430px){
  .ov4__hero .ov4__tpbox{ flex-wrap:nowrap; gap:7px; }
  .ov4__hero .ov4__tprow{ gap:6px; min-width:0; }
  .ov4__hero .ov4__tplogo-star{ font-size:18px; }
  .ov4__hero .ov4__tplogo-word{ font-size:14px; }
  .ov4__hero .ov4__tpstarbox{ width:16px; height:16px; }
  .ov4__hero .ov4__tpstarbox b{ font-size:10.5px; }
  .ov4__hero .ov4__tpmobile{ font-size:11.5px; gap:4px; }
}
@media(max-width:339px){
  .ov4__hero .ov4__tplogo-word{ font-size:13px; }
  .ov4__hero .ov4__tpstarbox{ width:15px; height:15px; }
  .ov4__hero .ov4__tpmobile{ font-size:11px; }
}
@media(max-width:767px){
  .ov4__p3 span{ font-size:14px !important; }
}
@media(min-width:1000px){
  .ov4__hero-info h1{ font-size:clamp(42px,3.45vw,50px); line-height:1.02; }
}


/* ======================================================================
   Hero restore: pre-global Silvervine layout.
   Gallery stays first on mobile; copy/proofs/offer follow in the original flow.
   Trustpilot is intentionally a little smaller than the earlier treatment.
   ====================================================================== */
.ov4__hero .ov4__tpbox{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  gap:8px !important;
  margin:16px 0 14px !important;
  padding:2px 0 !important;
  text-align:center !important;
  border:0 !important;
  background:transparent !important;
}
.ov4__hero .ov4__tprow{ display:flex !important; width:100% !important; justify-content:center !important; align-items:center !important; gap:13px !important; }
.ov4__hero .ov4__tpbrandmark{ display:inline-flex !important; align-items:center !important; gap:4px !important; }
.ov4__hero .ov4__tplogo-star{ font-size:24px !important; }
.ov4__hero .ov4__tplogo-word{ font-size:17px !important; }
.ov4__hero .ov4__tprating{ display:inline-flex !important; gap:2px !important; }
.ov4__hero .ov4__tpstarbox{ width:25px !important; height:24px !important; }
.ov4__hero .ov4__tpstarbox b{ font-size:17px !important; }
.ov4__hero .ov4__tpcaption{ display:block !important; font-size:11px !important; line-height:1.2 !important; }
.ov4__hero .ov4__tpmobile{ display:none !important; }

@media(max-width:767px){
  /* Undo the later reordered mobile hero. DOM order is again the original: media -> copy -> offer. */
  .ov4__hero .ov4__hg{ display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:18px !important; }
  .ov4__hero > .ov4__w > .ov4__gal{ order:initial !important; grid-column:auto !important; }
  .ov4__hero > .ov4__w > div:not(.ov4__gal){ order:initial !important; grid-column:auto !important; display:block !important; }
  .ov4__hero .eyebrow{ display:block !important; }
  .ov4__hero h1{ font-size:39px !important; line-height:1.02 !important; margin:11px 0 10px !important; }
  .ov4__hero .sub{ font-size:16px !important; line-height:1.52 !important; margin-top:0 !important; }

  /* Original compact three-up proof row. */
  .ov4__hero .ov4__proof3{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:0 !important;
    margin-top:13px !important;
    margin-bottom:0 !important;
    padding:11px 0 !important;
    border-top:1px solid var(--line) !important;
    border-bottom:1px solid var(--line) !important;
  }
  .ov4__hero .ov4__p3{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    grid-template-columns:none !important;
    gap:0 !important;
    padding:0 5px !important;
    text-align:center !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
  }
  .ov4__hero .ov4__p3 + .ov4__p3{ border-left:1px solid var(--line) !important; }
  .ov4__hero .ov4__p3::before{ display:none !important; content:none !important; }
  .ov4__hero .ov4__p3 b{ display:block !important; font-size:11.5px !important; line-height:1.2 !important; }
  .ov4__hero .ov4__p3 span{ display:none !important; }

  /* Original purchase-card treatment. */
  .ov4__hero .ov4__box{ margin-left:-4px !important; margin-right:-4px !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
  .ov4__hero .ov4__tier{ grid-template-columns:24px minmax(0,1fr) auto !important; gap:10px !important; padding:17px 14px !important; min-height:94px !important; }
  .ov4__hero .ov4__tier .ov4__tmedia{ display:none !important; }

  .ov4__hero .ov4__tpbox{ gap:7px !important; margin:14px 0 12px !important; }
  .ov4__hero .ov4__tprow{ gap:10px !important; }
  .ov4__hero .ov4__tplogo-star{ font-size:22px !important; }
  .ov4__hero .ov4__tplogo-word{ font-size:16px !important; }
  .ov4__hero .ov4__tpstarbox{ width:23px !important; height:22px !important; }
  .ov4__hero .ov4__tpstarbox b{ font-size:15px !important; }
  .ov4__hero .ov4__tpcaption{ font-size:10.5px !important; }
}
@media(max-width:360px){
  .ov4__hero .ov4__tprow{ gap:8px !important; }
  .ov4__hero .ov4__tplogo-star{ font-size:20px !important; }
  .ov4__hero .ov4__tplogo-word{ font-size:15px !important; }
  .ov4__hero .ov4__tpstarbox{ width:21px !important; height:20px !important; }
  .ov4__hero .ov4__tpstarbox b{ font-size:14px !important; }
  .ov4__hero .ov4__tpcaption{ font-size:10px !important; }
}
