:root{
  --ink:#1a1a1a; --ink-soft:#5a5a5a;
  --paper:#ffffff; --paper-warm:#f4f7fa;
  --line:#dde3ea; --line-soft:#ececec;
  --blue:#1a3a5c; --blue-dark:#102a45;
  --accent:#0078d4; --accent-dark:#005a9e;
  --gold:#dca512;
  --shadow:0 4px 18px rgba(0,0,0,.08);
  --font-head:'Inter', -apple-system, system-ui, sans-serif;
  --font-body:'Source Serif Pro', Georgia, serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--ink);background:var(--paper);line-height:1.7;font-size:18px}
img{max-width:100%;height:auto;display:block}
.adv-bar{background:#eef3f8;border-bottom:1px solid var(--line);text-align:center;font-family:var(--font-head);font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:8px 12px;color:var(--ink-soft);font-weight:700}
.container{max-width:1140px;margin:0 auto;padding:30px 22px 60px}
.wrap{display:grid;grid-template-columns:1fr 320px;gap:38px;align-items:start}
@media (max-width:900px){.wrap{grid-template-columns:1fr;gap:24px}}
article{min-width:0}
.kicker{font-family:var(--font-head);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:800;margin-bottom:8px}
h1.headline{font-family:var(--font-body);font-weight:700;font-size:42px;line-height:1.14;letter-spacing:-.015em;color:var(--blue);margin-bottom:16px}
@media (max-width:900px){h1.headline{font-size:30px}}
@media (max-width:640px){h1.headline{font-size:26px;line-height:1.18}}
.byline{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:28px;font-family:var(--font-head);font-size:13px;flex-wrap:wrap}
.byline .author{font-weight:700;color:var(--ink)}
.byline .meta{color:var(--ink-soft)}
.byline .dot{color:var(--line);font-weight:700}
.inline-media{margin:22px 0 26px;display:block;max-width:100%;border-radius:4px;overflow:hidden;box-shadow:var(--shadow,0 4px 18px rgba(0,0,0,.08))}
.inline-media img, .inline-media video{display:block;width:100%;height:auto;max-width:100%}
.hero-img{margin:0 0 10px;background:#000;aspect-ratio:16/9;overflow:hidden;border-radius:4px;box-shadow:var(--shadow)}
.hero-img img,.hero-img video{width:100%;height:100%;object-fit:cover;display:block}
.caption{font-family:var(--font-head);font-size:12px;color:var(--ink-soft);line-height:1.45;padding:8px 4px 0;font-style:italic;margin-bottom:30px;border-bottom:1px solid var(--line-soft);padding-bottom:14px}
article p{margin-bottom:20px;font-size:18px;line-height:1.7;color:var(--ink)}
@media (max-width:640px){article p{font-size:17px}}
article p.lead{font-size:21px;line-height:1.55;color:var(--ink);font-weight:500;margin-bottom:24px}
article p.lead::first-letter{font-family:var(--font-body);font-weight:700;font-size:72px;line-height:.85;float:left;padding:6px 12px 0 0;color:var(--accent)}
@media (max-width:640px){article p.lead{font-size:19px}article p.lead::first-letter{font-size:60px}}
h2.h2{font-family:var(--font-body);font-weight:700;font-size:30px;line-height:1.2;color:var(--blue);margin:38px 0 16px;letter-spacing:-.01em}
@media (max-width:640px){h2.h2{font-size:24px}}
h3.h3{font-family:var(--font-head);font-weight:800;font-size:20px;line-height:1.3;color:var(--blue);margin:28px 0 12px;letter-spacing:-.005em}
article strong{color:var(--ink);font-weight:700}
article em{color:var(--ink-soft);font-style:italic}
blockquote.pull{border:none;border-top:3px solid var(--accent);border-bottom:1px solid var(--line);padding:20px 0 22px;margin:30px 0;font-family:var(--font-body);font-style:italic;font-size:24px;line-height:1.4;color:var(--ink);font-weight:500}
blockquote.pull .cite{display:block;font-family:var(--font-head);font-style:normal;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-top:14px;font-weight:800}
@media (max-width:640px){blockquote.pull{font-size:20px}}
blockquote.inline{margin:20px 0 24px;padding:16px 20px;background:var(--paper-warm);border-left:4px solid var(--accent);font-family:var(--font-body);font-style:italic;font-size:18px;line-height:1.55;color:var(--ink)}
blockquote.inline .cite{display:block;font-family:var(--font-head);font-style:normal;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin-top:10px;font-weight:800}
ul.checks{margin:16px 0 26px;padding:0;list-style:none}
ul.checks li{padding:8px 0 8px 30px;position:relative;font-family:var(--font-body);font-size:17px;line-height:1.55;color:var(--ink)}
ul.checks li::before{content:"✓";position:absolute;left:0;top:8px;color:var(--accent);font-weight:800;font-size:18px}
.cta-block{margin:32px 0;text-align:center}
a.cta{display:inline-block;background:var(--accent);color:#fff !important;font-family:var(--font-head);font-weight:800;font-size:16px;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;padding:18px 38px;border-radius:4px;box-shadow:0 4px 14px rgba(0,120,212,.3);transition:all .15s}
a.cta:hover{background:var(--accent-dark);transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,120,212,.4)}
a.cta .arrow{margin-left:6px;display:inline-block;transition:transform .15s}
a.cta:hover .arrow{transform:translateX(3px)}
a.inline-cta{color:var(--accent);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

aside.sidebar{position:sticky;top:18px;display:grid;gap:18px}
@media (max-width:900px){aside.sidebar{position:static}}
.sb-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:4px;padding:18px;box-shadow:var(--shadow)}
.sb-card .product-img{margin:-18px -18px 14px;border-bottom:1px solid var(--line);overflow:hidden;background:#f4f7fa;aspect-ratio:4/3}
.sb-card .product-img img{width:100%;height:100%;object-fit:cover}
.sb-card .badge{display:inline-block;background:var(--accent);color:#fff;font-family:var(--font-head);font-weight:800;font-size:10px;letter-spacing:.1em;padding:3px 8px;border-radius:2px;text-transform:uppercase;margin-bottom:10px}
.sb-card h4{font-family:var(--font-body);font-weight:700;font-size:18px;line-height:1.25;color:var(--blue);margin-bottom:10px}
.sb-card .price-line{font-family:var(--font-head);margin-bottom:14px;font-size:14px;color:var(--ink-soft)}
.sb-card .cta{display:block;width:100%;background:var(--accent);color:#fff !important;font-family:var(--font-head);font-weight:800;font-size:15px;text-align:center;padding:14px 16px;border-radius:4px;text-decoration:none;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 4px 14px rgba(0,120,212,.3);transition:all .15s;margin:0}
.sb-card .cta:hover{background:var(--accent-dark)}
.rating{background:#fff;border:1px solid var(--line);border-radius:4px;padding:18px;box-shadow:var(--shadow)}
.rating h5{font-family:var(--font-head);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-weight:800;margin-bottom:10px}
.rating-score{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
.rating-score .num{font-family:var(--font-head);font-weight:900;font-size:38px;color:var(--accent);line-height:1}
.rating-score .out{font-family:var(--font-head);color:var(--ink-soft);font-size:13px}
.rating-score .stars-big{color:var(--gold);font-size:16px;margin-left:auto}
.rating-bars{display:grid;gap:6px;margin:12px 0;font-family:var(--font-head);font-size:12px}
.rating-bars .row{display:grid;grid-template-columns:24px 1fr 32px;gap:8px;align-items:center}
.rating-bars .bar{background:var(--line);height:6px;border-radius:3px;overflow:hidden}
.rating-bars .bar i{display:block;height:100%;background:var(--gold);border-radius:3px}
.rating-bars .n{color:var(--ink-soft);text-align:right}
.rating-feats{margin-top:12px;border-top:1px solid var(--line);padding-top:12px;display:grid;gap:8px;font-family:var(--font-head);font-size:13px}
.rating-feats .feat{display:flex;justify-content:space-between;align-items:center}
.rating-feats .feat .lab{color:var(--ink-soft)}
.rating-feats .feat .val{color:var(--accent);font-weight:800}

.offer-box{margin:36px 0;padding:28px 26px;border:2px solid var(--accent);background:var(--paper-warm);text-align:center;border-radius:4px}
.offer-box .label{display:inline-block;background:var(--accent);color:#fff;font-family:var(--font-head);font-weight:800;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;border-radius:2px;margin-bottom:14px}
.offer-box h3{font-family:var(--font-body);font-weight:700;font-size:24px;color:var(--blue);margin-bottom:12px;line-height:1.25}
.offer-box .price-line{font-family:var(--font-head);margin:18px 0;text-align:center}
.offer-box .save{display:inline-block;background:var(--accent);color:#fff;font-family:var(--font-head);font-weight:800;font-size:18px;padding:10px 22px;border-radius:2px;letter-spacing:.04em}
.offer-box .guarantee-badge{margin:14px auto 18px;max-width:440px;background:#eef9f0;border:1px solid #c1d9c3;border-radius:6px;padding:12px 16px;display:flex;gap:12px;align-items:center;text-align:left;font-family:var(--font-body)}
.offer-box .guarantee-badge .gicon{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#1c6b29;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;font-family:var(--font-head)}
.offer-box .guarantee-badge .gtext{flex:1}
.offer-box .guarantee-badge .gtext b{display:block;font-family:var(--font-head);font-size:13px;font-weight:800;color:#1c6b29;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}
.offer-box .guarantee-badge .gtext span{font-size:14px;line-height:1.4;color:var(--ink)}
.offer-box .price-note{display:block;font-family:var(--font-head);font-size:13px;color:var(--ink-soft);margin-bottom:18px}

/* === Review cards Trustpilot-style === */
.reviews-tp{display:grid;gap:14px;margin:24px 0}
.tp-card{background:#fff;border:1px solid #e6e6e6;border-radius:8px;padding:18px 20px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.tp-row1{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.tp-stars{display:inline-flex;align-items:center;gap:1px;padding:3px;background:#00b67a;border-radius:2px}
.tp-stars .s{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:#fff;font-size:14px;line-height:1}
.tp-date{font-size:13px;color:#6b6b6b;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif}
.tp-card-headline{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-weight:700;font-size:16px;color:#1c1c1c;margin-bottom:6px;line-height:1.35}
.tp-card-body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.55;color:#1c1c1c;margin-bottom:14px}
.tp-card-footer{display:flex;align-items:center;gap:10px;border-top:1px solid #f0f0f0;padding-top:12px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif}
.tp-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:#dcdcdc;color:#1c1c1c;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:14px}
.tp-user{flex:1;min-width:0}
.tp-name{font-weight:700;font-size:14px;color:#1c1c1c;line-height:1.2;margin-bottom:2px}
.tp-meta{font-size:12px;color:#6b6b6b;line-height:1.2}
.tp-verified{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#00b67a;font-weight:700;margin-top:3px}
.tp-verified::before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;background:#00b67a;color:#fff;border-radius:50%;font-size:9px;font-weight:800}
@media (max-width:520px){.tp-card{padding:16px}}

.disclaimer{margin:36px 0 0;padding:16px;background:var(--paper-warm);border:1px solid var(--line);font-family:var(--font-head);font-size:12px;line-height:1.55;color:var(--ink-soft);font-style:italic}

footer{background:var(--blue);color:#bdcbe0;padding:30px 0 22px;margin-top:50px;font-family:var(--font-head);font-size:12px;line-height:1.6}
footer .foot{max-width:1140px;margin:0 auto;padding:0 22px;text-align:center}
footer .links{margin-bottom:10px}
footer .links a{color:#bdcbe0;text-decoration:underline;margin:0 6px}
footer .copy{color:#8aa0bd;font-size:11px}

.reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.reveal.visible{opacity:1;transform:none}

/* === Sticky share / CTA bar === */
#vb-sticky-bar{display:none;position:fixed;z-index:9998;bottom:0;left:0;width:100%;background:#fff;border-top:2px solid #0078d4;box-shadow:0 -4px 16px rgba(0,0,0,0.14);padding:10px 14px;font-family:'Inter',system-ui,sans-serif;opacity:0;transition:opacity .3s ease,transform .3s ease;transform:translateY(20px)}
#vb-sticky-bar.vb-visible{display:block;opacity:1;transform:translateY(0)}
#vb-sticky-bar .vb-inner{max-width:780px;margin:0 auto;display:flex;align-items:center;gap:14px}
body.vb-has-sticky-bar{padding-bottom:78px !important}
@media (max-width:640px){#vb-sticky-bar{padding:9px 12px}#vb-sticky-bar .vb-inner{gap:8px}body.vb-has-sticky-bar{padding-bottom:70px !important}}
#vb-sticky-bar .vb-cta-main{flex:1;display:inline-flex;align-items:center;justify-content:center;background:#0078d4 !important;color:#fff !important;font-weight:800 !important;font-size:15px !important;letter-spacing:.04em !important;text-transform:uppercase !important;text-decoration:none !important;padding:13px 18px !important;border-radius:4px !important;box-shadow:0 4px 14px rgba(0,0,0,.18) !important;transition:filter .15s !important;border:none !important;max-width:100%;text-align:center;line-height:1.15}
#vb-sticky-bar .vb-cta-main:hover{background:#005a9e !important}
@media (max-width:640px){#vb-sticky-bar .vb-cta-main{font-size:13px !important;padding:12px 12px !important}}
#vb-sticky-bar .vb-share-group{display:flex;align-items:center;gap:8px;flex-shrink:0}
#vb-sticky-bar .vb-share-label{font-size:12px;font-weight:700;color:#5a5a5a;text-transform:uppercase;letter-spacing:.06em;margin-right:2px}
@media (max-width:640px){#vb-sticky-bar .vb-share-label{display:none}}
#vb-sticky-bar .vb-share-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;text-decoration:none;transition:transform .15s,filter .15s;color:#fff;flex-shrink:0}
@media (max-width:640px){#vb-sticky-bar .vb-share-btn{width:36px;height:36px}#vb-sticky-bar .vb-share-btn svg{width:18px;height:18px}}
#vb-sticky-bar .vb-share-btn:hover{transform:translateY(-2px);filter:brightness(1.08)}
#vb-sticky-bar .vb-fb{background:#1877f2}
#vb-sticky-bar .vb-wa{background:#25d366}
#vb-sticky-bar .vb-share-btn svg{width:20px;height:20px;fill:#fff}
