:root{ --serif:var(--sans) !important; --green:#1E8A4A; --rust:#C2410C; --cream:#FBF8F3; --red:#B42318; }
*{ box-sizing:border-box; }
body{ margin:0; background:#fff; color:var(--ink); font-family:var(--sans); -webkit-font-smoothing:antialiased; }
h1,h2,h3{ font-family:var(--sans) !important; font-weight:600; color:var(--ink); }
img{ display:block; max-width:100%; }
.shell{ max-width:1120px; margin:0 auto; padding:0 20px; }
.adlabel{ background:#F1EEE8; color:#6E7366; font-size:11px; letter-spacing:.08em; text-transform:uppercase; text-align:center; padding:5px 10px; }
.mast{ border-bottom:1px solid #E4E4DE; }
.mast .shell{ display:flex; justify-content:space-between; align-items:center; height:48px; }
.pub{ font-weight:600; font-size:18px; letter-spacing:-.01em; }
.sect{ font-size:12px; color:#6E7366; text-transform:uppercase; letter-spacing:.08em; }
.layout{ display:block; }
.art{ max-width:720px; margin:0 auto; padding-top:18px; padding-bottom:40px; min-width:0; }
.rail{ display:none; }
.kicker{ color:var(--rust); font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; margin:0 0 8px; }
h1{ font-size:clamp(28px,6.6vw,42px); line-height:1.12; margin:0 0 10px; letter-spacing:-.01em; }
.dek{ font-size:17px; line-height:1.5; color:var(--ink-2); margin:0 0 14px; }
.byline{ display:flex; gap:10px; align-items:center; margin-bottom:14px; }
.byline img{ width:40px; height:40px; border-radius:50%; object-fit:cover; }
.byline b{ display:block; font-size:14px; } .byline span{ font-size:12px; color:#6E7366; }
.hero{ margin:0 -20px 0; }
.hero img{ width:100%; aspect-ratio:4/3; object-fit:cover; object-position:50% 40%; }
figcaption{ font-size:12px; color:#6E7366; padding:6px 20px 0; }
.fig{ margin:18px -20px 6px; } .fig img, .fig .lp-video{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.fig .lp-video{ aspect-ratio:1/1; background:#fff; }
.vfig{ max-width:520px; margin-left:auto !important; margin-right:auto !important; } .vfig figcaption{ text-align:center; }
.sec{ margin-top:28px; }
.sec h2{ font-size:clamp(22px,5vw,28px); line-height:1.2; margin:0 0 10px; }
.sec p, .offer p{ font-size:18px; line-height:1.6; margin:0 0 14px; }
.sub{ font-weight:600; color:var(--green); font-size:16px !important; margin-bottom:12px !important; }
mark{ background:none; color:var(--rust); font-weight:600; padding:0; margin:0; }

/* Agitate: pain list */
.pains{ list-style:none; margin:4px 0 16px; padding:16px 18px; background:#FBF1EF; border-left:4px solid var(--red); display:grid; gap:10px; }
.pains li{ position:relative; padding-left:28px; font-size:17px; line-height:1.45; }
.pains li::before{ content:"\2715"; position:absolute; left:0; top:0; color:var(--red); font-weight:700; }

/* Failed fixes */
.fixes{ display:grid; gap:10px; margin:4px 0 16px; }
.fix{ display:grid; grid-template-columns:28px 1fr; gap:12px; align-items:start; border:1px solid #E4E4DE; padding:14px 16px; background:#fff; }
.fx-x{ width:26px; height:26px; border-radius:50%; background:var(--red); position:relative; margin-top:2px; }
.fx-x::before, .fx-x::after{ content:""; position:absolute; left:12px; top:6px; width:2px; height:14px; background:#fff; }
.fx-x::before{ transform:rotate(45deg); } .fx-x::after{ transform:rotate(-45deg); }
.fx-n{ font-weight:600; font-size:17px !important; margin:0 0 2px !important; line-height:1.35 !important; }
.fx-w{ font-size:16px !important; margin:0 !important; line-height:1.5 !important; color:var(--ink-2); }
.verdict{ font-weight:600; font-size:19px !important; background:var(--cream); padding:14px 16px; border-left:4px solid var(--green); }

/* Mechanism */
.how{ display:grid; gap:16px; background:var(--cream); padding:16px; }
.how img{ width:100%; aspect-ratio:1/1; object-fit:cover; background:#fff; }
.steps{ margin:0 0 12px; padding:0; list-style:none; counter-reset:s; display:grid; gap:10px; }
.steps li{ counter-increment:s; position:relative; padding-left:38px; font-size:17px; line-height:1.4; min-height:28px; }
.steps li::before{ content:counter(s); position:absolute; left:0; top:-1px; width:28px; height:28px; border-radius:50%; background:var(--green); color:#fff; font-size:14px; font-weight:600; display:flex; align-items:center; justify-content:center; }
.result{ font-weight:600; margin:0 !important; font-size:17px !important; }
.feat{ display:grid; gap:12px; margin-top:22px; }
.feat img{ width:100%; aspect-ratio:1/1; object-fit:cover; }
.feat h3{ font-size:21px; margin:0 0 6px; }
.feat p{ font-size:17px; line-height:1.6; margin:0; }

/* Before / after */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.sp{ margin:0; position:relative; }
.sp img{ width:100%; aspect-ratio:4/5; object-fit:cover; }
.sp.good img{ background:#fff; object-fit:contain; border:1px solid #E4E4DE; }
.sp figcaption{ padding:8px 0 0; font-size:14px; color:var(--ink); }
.sp figcaption b{ display:inline-block; color:#fff; font-size:11px; letter-spacing:.06em; text-transform:uppercase; padding:3px 7px; margin-right:6px; }
.sp.bad figcaption b{ background:var(--red); } .sp.good figcaption b{ background:var(--green); }

/* Life-after gallery */
.gal{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:14px 0 6px; }
.gi{ margin:0; } .gi img{ width:100%; aspect-ratio:1/1; object-fit:cover; } .gi figcaption{ padding:6px 0 0; }

.ticks{ list-style:none; padding:0; margin:6px 0 14px; display:grid; gap:10px; }
.ticks li{ position:relative; padding-left:28px; font-size:17px; line-height:1.45; }
.ticks li::before{ content:"\2713"; position:absolute; left:0; top:0; color:var(--green); font-weight:700; }
.cta{ display:block; background:var(--green); color:#fff !important; text-decoration:none; text-align:center; font-weight:600; font-size:21px; padding:15px 18px; border-radius:0; box-shadow:none; }
.soft{ background:var(--cream); padding:16px; margin:22px 0 6px; }
.pc-trust{ font-size:13px !important; color:#6E7366; text-align:center; margin:8px 0 0 !important; }

/* Product card (inline on phones, right rail on desktop) */
.inline-card{ margin:18px 0 4px; }
.pcard{ border:1px solid #E4E4DE; padding:14px; background:#fff; }
.pc-img img{ width:100%; aspect-ratio:1/1; object-fit:contain; background:#fff; }
.pc-chip{ display:inline-block; background:var(--rust); color:#fff; font-size:12px !important; font-weight:600; letter-spacing:.03em; padding:4px 8px; margin:8px 0 8px !important; line-height:1.3 !important; }
.pc-name{ font-weight:600; font-size:17px !important; line-height:1.3 !important; margin:0 0 4px !important; }
.pc-rate{ font-size:13px !important; margin:0 0 10px !important; color:var(--ink-2); }
.stars{ color:#E8A317; letter-spacing:1px; }
.pc-list{ list-style:none; margin:0 0 12px; padding:0; display:grid; gap:6px; }
.pc-list li{ position:relative; padding-left:24px; font-size:15px; line-height:1.4; }
.pc-list li::before{ content:"\2713"; position:absolute; left:0; color:var(--green); font-weight:700; }
.pcard .cta{ font-size:19px; padding:13px; }

/* Reviews */
.revs .rv-avg{ display:flex; align-items:center; gap:10px; font-size:14px !important; color:#6E7366; }
.revs .rv-avg b{ font-size:34px; color:var(--ink); }
.rv{ display:grid; grid-template-columns:52px 1fr; gap:12px; padding:14px 0; border-top:1px solid #EEE; }
.rv-av{ width:52px; height:52px; border-radius:50%; object-fit:cover; }
.rv-name{ font-weight:600; font-size:15px !important; margin:0 !important; } .rv-name span{ font-weight:400; font-size:12px; color:var(--green); margin-left:6px; }
.rv-s{ font-size:13px !important; margin:2px 0 4px !important; }
.rv-t{ font-size:16px !important; line-height:1.5 !important; }
.src{ font-size:12px !important; color:#6E7366; }
.obj{ background:var(--cream); margin-left:-20px; margin-right:-20px; padding:22px 20px 8px; }
.ob-q{ font-weight:600; margin-bottom:4px !important; }

/* Offer */
.offer{ margin-top:30px; border:3px solid var(--green); padding:20px 16px; background:#fff; }
.of-badge{ display:inline-block; background:var(--rust); color:#fff; font-size:13px !important; font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding:5px 10px; margin:0 0 10px !important; line-height:1.3 !important; }
.offer h2{ font-size:clamp(24px,5.4vw,30px); line-height:1.2; margin:0 0 10px; }
.of-box{ display:grid; gap:14px; margin:6px 0 16px; }
.of-img img{ width:100%; aspect-ratio:1/1; object-fit:contain; background:#fff; border:1px solid #E4E4DE; }
.of-name{ font-weight:600; font-size:17px !important; margin:0 0 6px !important; line-height:1.3 !important; }
.of-price{ margin:0 !important; display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.of-price b{ font-size:34px; color:var(--rust); }
.of-price span{ font-size:15px; color:var(--ink-2); }
.of-reg{ font-size:14px !important; color:#6E7366; margin:0 0 6px !important; }
.of-ends{ font-size:15px !important; font-weight:600; color:var(--red); margin:0 0 12px !important; }
.of-stock{ background:#FBF1EF; padding:12px; margin-bottom:12px; }
.of-stock p{ font-size:15px !important; margin:0 0 10px !important; line-height:1.45 !important; }
.sw{ display:flex; gap:10px; }
.sw figure{ margin:0; width:96px; } .sw img{ width:96px; height:96px; object-fit:cover; border:1px solid #E4E4DE; } .sw figcaption{ padding:4px 0 0; text-align:center; font-size:12px; color:var(--ink); }
.notfor{ font-size:15px !important; color:var(--ink-2); background:#F4F4F0; padding:12px 14px; }

.foot{ background:#E2E1D6; padding:22px 0 90px; font-size:13px; color:var(--ink-2); }
.foot a{ color:var(--ink-2); }
.sticky{ position:fixed; left:0; right:0; bottom:0; display:flex; gap:12px; align-items:center; justify-content:space-between; background:#fff; border-top:1px solid #E4E4DE; padding:10px 14px; transform:translateY(110%); transition:transform .25s; z-index:20; }
.sticky.on{ transform:none; }
.sticky span{ font-size:14px; font-weight:600; }
.sticky .cta{ font-size:17px; padding:11px 18px; white-space:nowrap; }

/* Video part: still image fills the box, play button when autoplay is blocked. */
.lp-video{ position:relative; margin:0; overflow:hidden; background:#fff; }
.lp-video video{ display:block; width:100%; height:100%; object-fit:cover; cursor:pointer; }
.lp-play{ position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); width:68px; height:68px; border:0; border-radius:50%; background:rgba(0,0,0,.55); cursor:pointer; padding:0; }
.lp-play::before{ content:""; position:absolute; left:26px; top:20px; border-style:solid; border-width:14px 0 14px 22px; border-color:transparent transparent transparent #fff; }
.lp-play[hidden], .lp-pause[hidden]{ display:none; }
.lp-pause{ position:absolute; left:10px; bottom:10px; width:40px; height:40px; border:0; border-radius:50%; background:rgba(0,0,0,.6); cursor:pointer; padding:0; opacity:0; transition:opacity .15s; }
.lp-pause::before, .lp-pause::after{ content:""; position:absolute; top:13px; width:4px; height:14px; background:#fff; border-radius:1px; }
.lp-pause::before{ left:14px; } .lp-pause::after{ right:14px; }
.lp-video:hover .lp-pause, .lp-pause:focus-visible{ opacity:1; }
.lp-play:focus-visible, .lp-pause:focus-visible{ outline:3px solid #fff; outline-offset:2px; }

/* Story beats (show the problem) */
.beat .beatfig{ margin-top:4px; margin-bottom:12px; }
.beat .beatfig img{ aspect-ratio:4/3; }
/* Old way vs the set */
.cmp h2{ font-size:clamp(21px,4.6vw,26px) !important; }
.tag{ display:inline-block; color:#fff; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding:3px 8px; margin:0 8px 0 0; line-height:1.4; }
.tag.bad{ background:var(--red); } .tag.good{ background:var(--green); }
p.tag{ margin:0 0 10px !important; font-size:11px !important; }
.vs{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.vs figure{ margin:0; }
.vs img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.goodfig img{ aspect-ratio:4/3; }
.edu .edu-in{ display:grid; gap:16px; background:var(--cream); padding:16px; align-items:center; }
.edu .edu-in img{ width:100%; aspect-ratio:1/1; object-fit:cover; }
.edu .edu-in p{ font-size:17px; margin:0 0 12px; }
@media (min-width:640px){ .edu .edu-in{ grid-template-columns:1fr 1.2fr; } }
.layers{ margin:6px 0 4px; background:var(--cream); padding:16px; display:grid; gap:10px; }
.ly-row{ display:grid; grid-template-columns:minmax(120px,44%) 1fr; gap:16px; align-items:center; }
.ly-slab svg{ width:100%; height:auto; display:block; }
.ly-txt b{ display:block; font-size:16px; line-height:1.3; } .ly-txt span{ display:block; font-size:14px; color:var(--ink-2); line-height:1.4; }
.pc-incl{ background:var(--tint-1); padding:10px 12px; margin:0 0 12px; }
.pc-incl-h{ font-weight:600; font-size:13px !important; letter-spacing:.04em; text-transform:uppercase; color:var(--green); margin:0 0 6px !important; line-height:1.3 !important; }
.pc-incl ul{ margin:0; padding:0 0 0 16px; display:grid; gap:3px; }
.pc-incl li{ font-size:14px; line-height:1.35; }
/* "Before" images: 20% less saturated. "After" images: 20% more saturated plus a touch of vibrance (contrast/brightness). */
.vs-old img, .beatfig img, .hero img{ filter:saturate(.8); }
.vs-new img, .goodfig img, .gi img, .fig:not(.beatfig):not(.extra) img, .pc-img img, .of-img img{ filter:saturate(1.2) contrast(1.05) brightness(1.02); }
.vs figcaption{ padding:8px 0 0; font-size:14px; line-height:1.4; color:var(--ink); }
.vs figcaption .tag{ display:table; margin:0 0 5px; }
.why{ background:var(--cream); border-left:4px solid var(--green); padding:12px 14px; margin-top:12px !important; font-size:17px !important; }
.extra{ max-width:420px; }
.extra img{ aspect-ratio:1/1 !important; }
.space{ display:grid; grid-template-columns:1fr; gap:12px; }
.sp-old, .sp-new{ border:1px solid #E4E4DE; padding:12px; }
.sp-old{ background:#FBF1EF; } .sp-new{ background:#F1F6F2; }
.pieces{ display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.pieces figure{ margin:0; } .pieces img{ width:100%; aspect-ratio:760/368; object-fit:cover; }
.pieces figcaption{ padding:3px 0 0; font-size:11px; color:var(--ink-2); }
.stackimg{ width:100%; max-width:260px; aspect-ratio:1/1; object-fit:contain; background:#fff; margin:0 auto; }
.num{ font-size:30px !important; font-weight:700; margin:10px 0 0 !important; line-height:1.1 !important; }
.num.bad{ color:var(--red); } .num.good{ color:var(--green); }
.ln{ font-size:15px !important; margin:2px 0 0 !important; line-height:1.4 !important; }
@media (min-width:640px){ .space{ grid-template-columns:1.25fr 1fr; } }

@media (min-width:640px){
  .hero, .fig{ margin-left:0; margin-right:0; } figcaption{ padding-left:0; } .obj{ margin-left:0; margin-right:0; }
  .how{ grid-template-columns:1fr 1fr; align-items:center; }
  .feat{ grid-template-columns:1fr 1.2fr; align-items:center; gap:22px; }
  .feat.flip img{ order:2; }
  .of-box{ grid-template-columns:1fr 1.1fr; align-items:start; }
  .rv-grid{ display:grid; grid-template-columns:1fr 1fr; column-gap:24px; }
  .gal{ grid-template-columns:repeat(4,1fr); }
}
@media (min-width:981px){
  .layout{ display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:48px; align-items:start; }
  .art{ margin:0; max-width:none; }
  .rail{ display:block; position:sticky; top:20px; padding-top:18px; }
  .inline-card{ display:none; }
  .gal{ grid-template-columns:1fr 1fr; }
  .sticky{ display:none; }
}

.rail .pc-img img{ aspect-ratio:auto; height:180px; }
.rail .pc-list{ display:none; }

.pc-chip{ white-space:nowrap; }
.pc-price{ margin:4px 0 8px; } .pc-now{ font-size:24px; font-weight:700; color:var(--rust); } .pc-was{ font-size:13px; color:var(--ink-2); }
.pc-urg{ border:1px solid var(--rust); background:#FBF1EC; padding:8px 10px; margin:0 0 12px; }
.pc-urg p{ margin:0 !important; font-size:14px !important; font-weight:600; color:var(--rust); line-height:1.4 !important; }
.pc-urg p::before{ content:"\25CF  "; font-size:10px; vertical-align:middle; }
.pc-incl li b{ font-weight:700; }

@media (min-width:981px){ .rail{ opacity:0; visibility:hidden; transition:opacity .4s; } .rail.on{ opacity:1; visibility:visible; } }
.rail .pc-img img{ height:140px; }
.rail .pc-rate{ margin-bottom:4px !important; }
.pc-incl ul{ list-style:none; padding:0; gap:4px; }
.pc-incl li{ font-size:13px; line-height:1.35; }
.pc-was{ white-space:nowrap; }
/* Readability: shorter paragraphs, more air between them. */
.sec p, .offer p{ line-height:1.7; margin:0 0 22px; }
.sec h2{ margin:0 0 16px; }
.sec{ margin-bottom:12px; }
.sec h2{ margin-top:36px; }

.storycta{ background:var(--tint-1); border-left:4px solid var(--green); padding:16px 18px; margin:8px 0 28px; }
.storycta p{ margin:0 0 12px !important; font-size:17px !important; line-height:1.5 !important; font-weight:600; }
.storycta .cta{ display:inline-block; width:auto; padding-left:28px; padding-right:28px; }

.countdown{ font-variant-numeric:tabular-nums; white-space:nowrap; }
.pc-urg .cd-line::before{ content:none !important; }
.pc-urg .cd-line .countdown{ display:block; font-size:22px; letter-spacing:.02em; }
.of-ends .countdown{ font-size:1.15em; }
.qual .qlist{ list-style:none; counter-reset:q; padding:0; margin:10px 0 18px; display:grid; gap:14px; }
.qual .qlist li{ counter-increment:q; background:var(--cream); padding:16px 18px 16px 58px; position:relative; }
.qual .qlist li::before{ content:counter(q); position:absolute; left:16px; top:16px; width:28px; height:28px; background:var(--green); color:#fff; font-weight:700; display:grid; place-items:center; font-size:15px; }
.qual .q-q{ font-weight:700; font-size:18px !important; margin:0 0 4px !important; line-height:1.35 !important; }
.qual .q-why{ font-size:16px !important; color:var(--ink-2); margin:0 0 8px !important; line-height:1.5 !important; }
.qual .q-lv{ font-size:16px !important; margin:0 !important; line-height:1.5 !important; font-weight:600; }
.qual .q-ok{ color:var(--green); font-weight:700; margin-right:6px; }
.qual .q-out{ font-weight:600; border-left:4px solid var(--green); padding-left:14px; }
.cd-alt{ font-size:16px !important; }
.pc-urg .cd-alt{ font-size:16px !important; font-weight:700; }
[hidden]{ display:none !important; }

.ctable{ width:100%; border-collapse:collapse; margin:8px 0 20px; font-size:16px; }
.ctable th{ font-size:14px; font-weight:700; padding:12px 10px; text-align:center; vertical-align:bottom; }
.ctable th.c-lv{ background:var(--green); color:#fff; }
.ctable th.c-oth{ background:#E9E7E2; color:var(--ink-2); }
.ctable td{ padding:14px 10px; border-bottom:1px solid #E4E1DA; vertical-align:middle; }
.ctable td.c-f{ font-weight:600; line-height:1.35; }
.ctable td.c-lv{ text-align:center; background:#EEF5EF; width:24%; }
.ctable td.c-oth{ text-align:center; color:var(--ink-2); width:28%; }
.c-yes{ display:inline-grid; place-items:center; width:30px; height:30px; background:var(--green); color:#fff; font-weight:700; font-size:17px; border-radius:50%; }
.c-no{ display:block; color:#B5462A; font-weight:700; font-size:18px; }
.c-oth small{ display:block; font-size:12.5px; line-height:1.3; margin-top:2px; }
.cmp .q-out{ font-weight:600; border-left:4px solid var(--green); padding-left:14px; }
@media (max-width:600px){ .ctable{ font-size:14.5px; } .ctable td, .ctable th{ padding:11px 6px; } }

/* ===== Feminine theme (soft blush, dusty rose, sage, rounded) ===== */
:root{ --green:#4E8A62; --rust:#B4637A; --red:#B4637A; --cream:#FBF3F0; --blush:#F7E6E1; --rose:#B4637A; --rose-2:#D9A5B0; --ink:#3A3236; --ink-2:#5A4F54; --muted:#8A7D82; --line:#EEDFDA; }
body{ background:#FFFCFA; color:var(--ink); }
.adlabel{ background:var(--blush); color:var(--rose); }
.mast{ border-bottom:1px solid var(--line); background:#FFFCFA; }
.pub{ font-weight:500; letter-spacing:.01em; color:var(--rose); }
.sect, figcaption, .byline span{ color:var(--muted); }
h1{ font-weight:500 !important; letter-spacing:-.005em; line-height:1.18; }
h2, .sec h2{ font-weight:500 !important; color:var(--ink); }
.kicker{ color:var(--rose); letter-spacing:.14em; font-weight:500; }
.dek{ color:var(--ink-2); font-weight:300; }
.sec p, .offer p{ color:var(--ink-2); font-weight:300; }
.sec p b, .sec p strong{ font-weight:600; color:var(--ink); }
mark{ color:var(--rose); font-weight:500; background:none; }
.byline img{ box-shadow:0 0 0 3px var(--blush); }
/* rounded, softer imagery */
.fig img, .fig .lp-video, .beatfig img, .goodfig img, .gi img, .vs-old img, .vs-new img, .pc-img img, .of-img img, .stackimg img, .rv-photo, .layers{ border-radius:14px; }
.fig, .beatfig{ margin-left:0 !important; margin-right:0 !important; }
.hero img{ border-radius:0 0 22px 22px; }
figcaption{ font-style:italic; padding-left:4px; }
/* soft cards */
.pcard, .offer, .storycta, .pc-incl, .pc-urg, .edu-in, .ly-row, .rv, .obj, .why, .good, .bad, .fix, .of-stock, .qual .qlist li, .ctable{ border-radius:14px !important; }
.pcard{ border-color:var(--line) !important; box-shadow:0 8px 28px rgba(180,99,122,.10); background:#fff; }
.offer{ border-color:var(--rose-2) !important; background:linear-gradient(180deg,#FFF8F6,#fff); box-shadow:0 10px 34px rgba(180,99,122,.12); }
.storycta{ background:var(--blush) !important; border-left-color:var(--rose) !important; }
.pc-incl{ background:#FBF3F0 !important; }
.pc-incl h4, .pc-incl .pc-ih, .pc-incl > p:first-child{ color:var(--rose) !important; }
.pc-chip, .of-badge{ background:var(--rose) !important; border-radius:999px !important; padding-left:12px !important; padding-right:12px !important; }
.pc-urg{ background:#FDF1F3 !important; border:1px solid var(--rose-2) !important; }
.pc-urg p, .pc-urg .countdown, .of-ends, .pc-price, .of-price{ color:var(--rose) !important; }
.pc-urg p::before{ color:var(--rose) !important; }
/* comparison table */
.ctable{ overflow:hidden; box-shadow:0 0 0 1px var(--line); }
.ctable th.c-oth{ background:#F4EEEC; color:var(--muted); }
.ctable td{ border-bottom-color:var(--line); }
.ctable td.c-lv{ background:#F1F6F2; }
.c-no{ color:var(--rose); }
.cmp .q-out, .qual .q-out{ border-left-color:var(--rose); }
/* CTA stays a green square, just a softer sage */
.cta{ background:var(--green); letter-spacing:.02em; font-weight:500; }
.cta:hover{ background:#447A56; }
.sticky{ background:#FFFCFA; border-top:1px solid var(--line); }
.foot{ background:#FBF3F0; }

/* ===== Rail card cleanup ===== */
#pc-rail{ padding:18px; }
#pc-rail .pc-img img{ height:150px; }
#pc-rail .pc-chip{ display:table; margin:12px 0 10px !important; font-size:11.5px !important; letter-spacing:.04em; }
#pc-rail .pc-name{ font-size:16px !important; font-weight:600; line-height:1.3 !important; margin:0 0 6px !important; }
#pc-rail .pc-rate{ font-size:12.5px !important; margin:0 0 12px !important; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#pc-rail .pc-price{ display:flex; align-items:baseline; gap:8px; margin:0 0 12px; padding-top:12px; border-top:1px solid var(--line); }
#pc-rail .pc-now{ font-size:26px; font-weight:600; }
#pc-rail .pc-urg{ background:none !important; border:0 !important; padding:0; margin:0 0 14px; }
#pc-rail .pc-urg p{ font-size:13px !important; font-weight:500; line-height:1.45 !important; }
#pc-rail .pc-urg p + p{ margin-top:4px !important; color:var(--muted) !important; font-weight:400; }
#pc-rail .pc-urg .cd-alt::before{ content:"\25CF  " !important; font-size:9px; vertical-align:middle; }
#pc-rail .pc-urg p:not(.cd-line)::before{ content:none !important; }
.rail-incl{ border-top:1px solid var(--line); padding-top:12px; margin:0 0 16px; }
.ri-h{ font-size:11.5px !important; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--rose); margin:0 0 8px !important; line-height:1.3 !important; }
.rail-incl ul{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6px 10px; }
.rail-incl li{ position:relative; padding-left:16px; font-size:12.5px; line-height:1.35; color:var(--ink-2); }
.rail-incl li::before{ content:"\2713"; position:absolute; left:0; color:var(--green); font-weight:700; font-size:11px; }
#pc-rail .cta{ font-size:17px; padding:13px; }
#pc-rail .pc-trust{ font-size:11.5px !important; line-height:1.5; color:var(--muted); }
.rail-incl li{ padding-left:15px; white-space:normal; min-width:0; }
#pc-rail .pc-urg .cd-alt{ font-size:13.5px !important; font-weight:600 !important; }
.of-badge, .pc-chip{ color:#fff !important; font-weight:600 !important; letter-spacing:.06em; font-size:12px !important; padding-top:5px !important; padding-bottom:5px !important; }
.offer .pc-name, .offer .of-name, .pc-name{ font-weight:600 !important; color:var(--ink) !important; } .pc-incl-h{ font-weight:600 !important; }
h1{ font-weight:600 !important; letter-spacing:-.015em !important; line-height:1.14 !important; }
.hero img{ object-position:50% 45%; filter:none !important; }

/* ===== Anatomy: product in the middle, benefits around it with callout lines ===== */
.anat{ text-align:center; padding:8px 0 4px; }
.anat .an-k{ font-size:12px !important; letter-spacing:.18em; text-transform:uppercase; color:var(--rose); font-weight:600; margin:0 0 6px !important; }
.anat h2{ font-size:clamp(24px,5.4vw,32px) !important; font-weight:700; margin-bottom:8px !important; }
.anat .an-sub{ font-size:16px !important; color:var(--ink-2); max-width:520px; margin:0 auto 18px !important; }
.an-grid{ position:relative; display:grid; gap:14px; }
.an-lines{ display:none; }
.an-mid{ order:-1; }
.an-disc{ position:relative; width:min(80vw,300px); aspect-ratio:1/1; margin:0 auto 4px; border-radius:50%; background:radial-gradient(circle at 50% 45%,#fff 0,#FBEDEA 60%,#F7E6E1 100%); display:grid; place-items:center; }
.an-disc img{ width:86%; height:86%; object-fit:contain; mix-blend-mode:multiply; }
.an-col{ display:grid; gap:14px; }
.an-pt{ display:grid; grid-template-columns:44px 1fr; gap:12px; align-items:start; text-align:left; }
.an-ic{ width:44px; height:44px; border-radius:50%; background:var(--green); color:#fff; display:grid; place-items:center; box-shadow:0 6px 16px rgba(78,138,98,.22); position:relative; z-index:2; }
.an-ic svg{ width:22px; height:22px; }
.anat .an-n{ font-size:12px !important; letter-spacing:.12em; color:var(--rose); font-weight:600; margin:0 0 2px !important; line-height:1.2 !important; }
.anat .an-h{ font-size:17px !important; font-weight:700; color:var(--ink); margin:0 0 3px !important; line-height:1.25 !important; }
.anat .an-b{ font-size:15px !important; line-height:1.45 !important; color:var(--ink-2); margin:0 !important; }
.anat .src{ text-align:center; margin-top:14px !important; }
@media (min-width:700px){
  .an-grid{ grid-template-columns:1fr 300px 1fr; align-items:center; gap:0; min-height:520px; }
  .an-lines{ display:block; position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:1; overflow:visible; }
  .an-lines line{ stroke:var(--rose-2); stroke-width:1.4; stroke-dasharray:4 4; }
  .an-lines circle{ fill:var(--rose); } .an-lines .halo{ fill:none; stroke:var(--rose-2); stroke-width:1; }
  .an-mid{ order:0; } .an-disc{ width:300px; }
  .an-col{ gap:30px; position:relative; z-index:2; }
  .an-pt{ grid-template-columns:1fr 40px; gap:10px; }
  .an-r .an-pt{ grid-template-columns:40px 1fr; }
  .an-l .an-pt{ text-align:right; margin-right:calc(var(--off) * 34px - 18px); }
  .an-r .an-pt{ margin-left:calc(var(--off) * 34px - 18px); }
  .an-l .an-ic{ order:2; }
  .an-l .an-pt > div, .an-r .an-pt > div{ max-width:200px; }
  .an-l .an-pt > div{ justify-self:end; }
  .an-ic{ width:40px; height:40px; } .an-ic svg{ width:20px; height:20px; }
  .anat .an-h{ font-size:16px !important; } .anat .an-b{ font-size:14px !important; }
}
/* ===== CTA: more prominent, still a square sage button ===== */
.cta{ position:relative; overflow:hidden; background:linear-gradient(180deg,#5A9A6F,#467F59) !important; font-weight:700 !important; letter-spacing:.01em; font-size:21px; padding:17px 22px !important; border-radius:0 !important; box-shadow:0 8px 20px rgba(70,127,89,.32), inset 0 1px 0 rgba(255,255,255,.18) !important; transition:transform .15s ease, box-shadow .15s ease, filter .15s ease; }
.cta::after{ content:"\2192"; display:inline-block; margin-left:10px; transition:transform .15s ease; }
.cta::before{ content:""; position:absolute; top:0; left:-60%; width:40%; height:100%; background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent); transform:skewX(-20deg); animation:cta-shine 4.5s ease-in-out infinite; }
.cta:hover{ transform:translateY(-2px); filter:brightness(1.05); box-shadow:0 12px 26px rgba(70,127,89,.4), inset 0 1px 0 rgba(255,255,255,.2) !important; }
.cta:hover::after{ transform:translateX(4px); }
.cta:active{ transform:translateY(0); }
@keyframes cta-shine{ 0%,70%{ left:-60%; } 100%{ left:130%; } }
@media (prefers-reduced-motion:reduce){ .cta::before{ animation:none; display:none; } }
.pcard .cta, #pc-rail .cta{ font-size:19px !important; padding:15px 14px !important; }
.sticky .cta{ font-size:17px !important; padding:12px 18px !important; }
.storycta .cta{ padding-left:30px !important; padding-right:30px !important; }
