/* Ledisa advertorial system — editorial/review presell look, modeled on the live
   myhealthyshape.com advertorial (white, Poppins/Roboto, gold accent), refreshed
   with a touch of Ledisa brand warmth. Compliance: structure/function only. */
:root{
  --bg:#ffffff; --ink:#1c1c1c; --soft:#555555; --faint:#8a8a8a; --line:#ececec;
  --gold:#E8A93C; --gold-soft:#FBEFD7; --green:#466C36; --green-deep:#044339;
  --cream:#FFFAF4; --peach:#F2A24E; --terra:#B4533A;
  --disp:'Poppins',-apple-system,sans-serif; --body:'Roboto',-apple-system,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:#f3f3f1;color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.7}
.paper{max-width:760px;margin:0 auto;background:var(--bg);box-shadow:0 0 40px rgba(0,0,0,.05)}
.pad{padding:0 26px}
h1,h2,h3,h4,.disp{font-family:var(--disp);letter-spacing:-.01em}
a{color:var(--green-deep)}
img{max-width:100%;display:block}

/* top ribbon (editorial source) */
.ribbon{background:var(--ink);color:#fff;font-family:var(--disp);font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;text-align:center;padding:9px 12px;font-weight:600}
.masthead{border-bottom:1px solid var(--line);padding:16px 26px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.masthead .pub{font-family:var(--disp);font-weight:700;font-size:18px}
.masthead .date{font-size:12px;color:var(--faint)}

/* article header */
.hero{padding:30px 26px 6px}
.kicker{font-family:var(--disp);font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
h1.title{font-size:clamp(27px,4.6vw,40px);font-weight:700;line-height:1.16;margin:12px 0 12px;color:var(--ink)}
.byline{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--faint);border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:6px}
.byline b{color:var(--soft)}
.lead{font-size:18.5px;line-height:1.75;color:#333;margin:18px 0}
.lead b{color:var(--ink)}
p{margin:16px 0;color:#333}
.pad>p,.section>p{max-width:none}
h2.sec{font-size:23px;font-weight:700;margin:34px 0 6px;color:var(--ink)}
h3.sub{font-size:19px;font-weight:600;margin:26px 0 6px}
.note{font-size:14.5px;color:var(--soft);background:var(--cream);border-left:3px solid var(--peach);padding:12px 16px;margin:18px 0;border-radius:0 8px 8px 0}

/* ranked product card */
.rank{border:1px solid var(--line);border-radius:14px;margin:22px 0;overflow:hidden;background:#fff}
.rank.winner{border:2px solid var(--gold);box-shadow:0 10px 30px rgba(232,169,60,.16)}
.rank .rhead{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--cream);border-bottom:1px solid var(--line)}
.rank.winner .rhead{background:linear-gradient(135deg,var(--gold-soft),#fff)}
.badge{font-family:var(--disp);font-weight:700;font-size:13px;color:#fff;background:var(--soft);border-radius:8px;padding:6px 10px;white-space:nowrap}
.rank.winner .badge{background:var(--gold);color:#3a2a08}
.rank .rname{font-family:var(--disp);font-weight:700;font-size:19px;flex:1}
.rank .rname small{display:block;font-weight:400;font-size:12.5px;color:var(--faint);letter-spacing:.04em}
.grade{font-family:var(--disp);font-weight:700;font-size:26px;color:var(--green);text-align:right;line-height:1}
.grade small{display:block;font-size:11px;color:var(--faint);font-weight:500;letter-spacing:.06em}
.rbody{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:18px;align-items:start}
@media(max-width:560px){.rbody{grid-template-columns:1fr}.rimg{max-width:160px;margin:0 auto}}
.rimg{background:var(--cream);border-radius:12px;padding:10px}
.rimg img{height:120px;object-fit:contain;margin:0 auto}
.stars{color:var(--gold);font-size:15px;letter-spacing:1px}
.stars b{color:var(--ink);font-family:var(--disp);font-size:13px;margin-left:6px}
.scores{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.score{font-size:12px;background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:3px 10px;color:var(--soft)}
.score b{color:var(--ink)}
.proscons{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0}
@media(max-width:520px){.proscons{grid-template-columns:1fr}}
.pc h5{font-family:var(--disp);font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.pc.pro h5{color:var(--green)} .pc.con h5{color:var(--terra)}
.pc ul{list-style:none;font-size:14px;color:#444}
.pc li{padding:3px 0 3px 20px;position:relative}
.pc.pro li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:700}
.pc.con li::before{content:"–";position:absolute;left:0;color:var(--terra);font-weight:700}

/* CTA */
.cta{display:block;text-align:center;font-family:var(--disp);font-weight:700;font-size:16px;text-decoration:none;
  background:var(--green);color:#fff;border-radius:12px;padding:15px 20px;margin:14px 0 4px;transition:.15s;
  box-shadow:0 8px 22px rgba(70,108,54,.22)}
.cta:hover{background:var(--green-deep)}
.cta.gold{background:var(--gold);color:#3a2a08;box-shadow:0 8px 22px rgba(232,169,60,.28)}
.cta.gold:hover{background:#d8991f}
.cta .sm{display:block;font-weight:400;font-size:12px;opacity:.85;margin-top:2px}
.offerline{text-align:center;font-size:13px;color:var(--terra);font-weight:600;margin-top:8px}

/* comparison table */
.cmp{width:100%;border-collapse:collapse;font-size:14px;margin:18px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.cmp th{font-family:var(--disp);font-size:11px;letter-spacing:.06em;text-transform:uppercase;text-align:left;background:var(--cream);padding:11px 12px;color:var(--soft);border-bottom:1px solid var(--line)}
.cmp td{padding:11px 12px;border-bottom:1px solid var(--line)}
.cmp tr:last-child td{border-bottom:none}
.cmp .win{background:var(--gold-soft);font-weight:600}
.cmp .ck{color:var(--green);font-weight:700}.cmp .x{color:var(--terra)}

/* testimonial strip */
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
@media(max-width:560px){.quotes{grid-template-columns:1fr}}
.quote{background:var(--cream);border-radius:12px;padding:16px}
.quote p{font-size:14.5px;font-style:italic;color:#444;margin:0 0 8px}
.quote .who{font-size:12.5px;color:var(--faint);font-weight:600}
.quote .st{color:var(--gold);font-size:13px}

/* how we ranked / methodology */
.method{background:var(--cream);border-radius:14px;padding:20px 22px;margin:22px 0}
.method h3{font-family:var(--disp);font-size:17px;margin-bottom:8px}
.method ol{padding-left:20px;font-size:14.5px;color:#444}
.method li{margin:5px 0}

/* guarantee */
.guarantee{border:2px dashed var(--green);border-radius:14px;padding:20px 22px;margin:24px 0;text-align:center;background:#fbfdf9}
.guarantee h3{font-family:var(--disp);color:var(--green-deep);font-size:19px;margin-bottom:6px}
.guarantee p{font-size:14.5px;color:#444;margin:6px 0}

/* urgency (soft, honest) */
.urgent{background:var(--gold-soft);border:1px solid var(--gold);border-radius:10px;padding:12px 16px;margin:18px 0;font-size:14px;color:#6b4a10;text-align:center;font-weight:500}

/* disclaimer footer */
.disclaimer{background:#f3f3f1;color:var(--faint);font-size:11.5px;line-height:1.6;padding:26px;margin-top:10px}
.disclaimer b{color:var(--soft)}
.disclaimer a{color:var(--soft)}
.foot{text-align:center;font-size:12px;color:var(--faint);padding:18px}
.reveal{opacity:0;transform:translateY(12px);transition:.5s}.reveal.in{opacity:1;transform:none}
