/*  Editorial-Native Rendering Engine — main stylesheet
    ─────────────────────────────────────────────────────────────────────
    Modeled directly on syngas-shop.com/ntv-ca/ (forensic-audited 2026-05-20).
    Single typeface: Montserrat throughout. No magazine deck, no breadcrumb,
    no meta row, no author avatar/socials, no drop-cap — the reference
    is intentionally minimal-chrome. Trust signals are inside the body.

    html font-size 10px so 1rem = 10px and the rem math stays clean
    (matches the reference exactly).

    Mobile breakpoint at 750px; sidebar hidden below.
   ───────────────────────────────────────────────────────────────────── */

@media screen and (max-width: 750px) { .desktop { display: none !important; } }
@media screen and (min-width: 751px) { .mobile  { display: none !important; } }

html { font-size: 10px; scroll-behavior: smooth; }

body {
  margin: 0; padding: 0;
  background: #F3F4F6;   /* gray page gutter — nuraslim ref */
  color: #2b2b2b;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* ─── Publication brand top bar — nuraslim ref: full-bleed dark teal
       with Alegreya logo text. ─── */
.top-bar {
  display: flex; flex-direction: column; align-items: center;
  background-color: #00465A;
}
.top-bar-inner {
  width: 100%; max-width: 112rem;
  display: flex; flex-direction: row; align-items: center;
  padding: 1.2rem 2rem;
}
@media screen and (max-width: 1150px) { .top-bar-inner { padding: 1.2rem 1.5rem; } }
.top-bar-logo {
  font-family: "Alegreya", "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 2.4rem; font-weight: 700; color: #ffffff;
  line-height: 1; white-space: nowrap;
}
.top-bar-logo img { height: 4rem; width: auto; display: block; }
.top-bar--mobile         { display: none; background-color: #00465A; padding: 1rem 0; text-align: center; }
.top-bar--mobile .top-bar-logo { font-family: "Alegreya", "Plus Jakarta Sans", "Inter", sans-serif; font-size: 2.4rem; font-weight: 700; color: #ffffff; }
@media screen and (max-width: 1020px) { .top-bar--mobile { display: block; } .top-bar:not(.top-bar--mobile) { display: none; } }

/* ─── Disclosure strip — sits in the gray gutter below the brand bar ─── */
.advertorial {
  background-color: #F3F4F6;
  text-align: center;
  padding: 0.8rem 0; margin: 0;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 1.2rem; font-weight: 400; color: #457584;
}
@media screen and (max-width: 750px) { .advertorial { padding: 0.4rem 0; } }

/* ─── Article shell — gray gutter wraps a white article card.
       Matches nuraslim ref: 1050px container, 3:1 main/sidebar. ─── */
.artmag {
  display: flex; flex-direction: column; align-items: center;
  background: #F3F4F6;
  padding: 0.4rem 0 5rem;
}
@media screen and (max-width: 750px) { .artmag { padding: 0.6rem 0 3rem; } }
.artmag-inner {
  width: 100%; max-width: 112rem;
  display: flex; flex-direction: row; align-items: flex-start;
  gap: 2rem; padding: 0 2rem;
}
@media screen and (max-width: 1150px) { .artmag-inner { padding: 0 1.5rem; } }
@media screen and (max-width: 750px)  { .artmag-inner { flex-direction: column; padding: 0; gap: 1rem; } }

/* Main column: white card on gray gutter. Inner padding tightened to
   match cylo reference (≈10px each side) so the text column reads
   fuller-bleed without losing the article-card frame. */
.artmag-content { flex: 3; min-width: 0; background: #ffffff; }
.artmag-content-inner {
  padding: 1.5rem 1rem 2.5rem;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 1.8rem; line-height: 1.5; color: #2b2b2b;
}
@media screen and (max-width: 750px) { .artmag-content-inner { padding: 1.5rem; } }

/* ─── Breadcrumb — nuraslim ref: teal square icon + Home > Section.
       Shown by default; operator can hide via header.show_breadcrumb=false. ─── */
.breadcrumb-row { margin-bottom: 1.5rem; }
.breadcrumb-row.is-visible { display: block; }
.breadcrumb-row .breadcrumb-text {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  color: #1A3053; font-weight: 400;
  font-size: 1.6rem; line-height: 1.8rem;
  display: flex; flex-direction: row; align-items: center;
  flex-wrap: wrap; gap: 0.6rem;
}
.breadcrumb-row .breadcrumb-text a { color: #1A3053; text-decoration: none; }
.breadcrumb-row .breadcrumb-text a:hover { text-decoration: underline; }
.breadcrumb-row .breadcrumb-icon {
  color: #167797; font-size: 1.2rem; flex-shrink: 0; margin-right: 0.2rem;
}
.breadcrumb-row .breadcrumb-sep { color: #9ca3af; }

/* ─── Editorial deck strap — OFF by default (syngas doesn't use it). When
       operator enables it via canonical.editorial_deck.text, it renders. ─── */
.editorial-deck {
  background-color: #fcf8e3;
  border-left: 4px solid #f0c040;
  padding: 1.2rem 1.6rem;
  margin: 0 0 1.8rem;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 1.5rem; line-height: 1.5; color: #5a4a1a;
  border-radius: 0.3rem;
}
.editorial-deck--variant-feature  { background-color: #eef6fb; border-left-color: #4089c3; color: #1f3a52; }
.editorial-deck--variant-research { background-color: #f0f8f0; border-left-color: #5aa84c; color: #2a4a22; }
.editorial-deck-kicker {
  display: block; font-size: 1.05rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.12rem;
  margin-bottom: 0.3rem; opacity: 0.75;
}

/* ─── H1 article headline — nuraslim ref: Bitter 35px / 700 / left ─── */
.headline {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 3.5rem; font-weight: 700; line-height: 1.3;
  color: #2b2b2b; margin: 0 0 1.5rem;
  text-align: left;
}
@media screen and (max-width: 750px) { .headline { font-size: 3rem; } }

/* ─── Meta row (date + views) — nuraslim ref ─── */
.meta-row {
  display: block;
  margin: 0 0 1.5rem; padding-bottom: 1rem;
  border-bottom: 1px solid #ededed;
}
.meta-row .meta-text {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  color: #457584; font-weight: 400;
  font-size: 1.2rem; line-height: 1.8rem;
  display: flex; flex-direction: row; align-items: center; gap: 0.4rem;
}
.meta-row .meta-icon {
  color: #BCD8E2; font-size: 1.4rem; margin-right: 0.4rem; flex-shrink: 0;
}
.meta-row .meta-icon--eye { margin-left: 0.4rem; margin-right: 0; color: #BCD8E2; }
.meta-row .meta-views { font-style: normal; margin-left: 0; }

/* ─── Author byline — circular avatar + "By {Name}" + credentials ─── */
.author-row {
  display: flex; flex-direction: row; align-items: center;
  width: 100%;
  margin-bottom: 1.5rem; padding-bottom: 1.5rem;
  border-bottom: 1px solid #ededed;
}
.author-row-avatar {
  width: 4rem; height: 4rem; border-radius: 50%; object-fit: cover;
  flex-shrink: 0; margin-right: 1rem; display: block;
}
.author-row-info {
  flex: 1;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  color: #000000; font-weight: 400;
  font-size: 1.3rem; line-height: 1.6rem;
}
.author-row-info-name { font-weight: 400; font-size: 1.3rem; }
.author-row-info-name b { font-weight: 700; }
.author-row-info-credentials {
  color: #457584; font-size: 1.1rem; line-height: 1.4rem;
  margin-top: 0.2rem;
}
.author-row-social { display: none; }

.social { display: none; }

/* ─── Social share bar (sits above the hero image, below the byline).
       Spec lifted from brand-advertorial: 4 colored pills, full-bleed
       on mobile, ~12px label, pill border-radius. ─── */
.share-bar {
  display: flex; gap: 0.6rem;
  margin: 0 0 2rem;
  flex-wrap: wrap;
}
.share-btn {
  flex: 1 1 6rem; min-width: 6.4rem;
  padding: 0.9rem 0.6rem;
  text-align: center;
  color: #ffffff;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 1.2rem; font-weight: 700;
  border-radius: 9999px;
  text-decoration: none; cursor: pointer;
  transition: opacity 0.18s ease, transform 0.1s ease;
  white-space: nowrap;
}
.share-btn:hover { opacity: 0.85; transform: translateY(-1px); color: #ffffff; text-decoration: none; }
.share-fb  { background: #1877f2; }
.share-tw  { background: #111111; }
.share-wa  { background: #25d366; }
.share-pin { background: #e60023; }
@media screen and (max-width: 750px) {
  .share-bar { gap: 0.4rem; margin-bottom: 1.5rem; }
  .share-btn { font-size: 1.1rem; padding: 0.8rem 0.4rem; flex-basis: 5rem; min-width: 5.6rem; }
}

/* ─── Hero image (between byline and first article paragraph) ─── */
.hero-image { margin: 0 0 2rem; padding: 0; }
.hero-image img {
  display: block; width: 100%; height: auto;
  border-radius: 0.4rem;
}
.hero-image-caption {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-style: italic;
  font-size: 1.4rem; line-height: 1.4; color: #6b7280;
  text-align: center; padding: 0.6rem 0 0; margin: 0;
}

/* ─── Article block stream ─── */
.content        { width: 100%; }
.content-block  { margin-bottom: 0; }

/* H2 — Bitter serif (nuraslim ref). 30px / 24px mobile. */
.content-block-title {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 3rem; font-weight: 700; line-height: 3.6rem; color: #2b2b2b;
  padding-bottom: 0; margin: 2rem 0 1rem;
}
@media screen and (max-width: 750px) { .content-block-title { font-size: 2.4rem; line-height: 3rem; } }

/* Optional H2 variants — kicker (small uppercase above) survives;
   question/lowercase neutralized to look like plain H2. */
.content-block-title--kicker .content-block-kicker {
  display: block;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 1.2rem; font-weight: 700; letter-spacing: 0.12rem;
  text-transform: uppercase; color: #6b7280;
  margin-bottom: 0.4rem;
}

/* Paragraph body — Bitter serif (nuraslim ref body uses Bitter, not sans). */
.content-block-article {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 2rem; line-height: 2.8rem; color: #2b2b2b;
  font-weight: 400;
}
.content-block-article p { margin: 1.5rem 0; }
.content-block-article p:first-child { margin-top: 0; }
.content-block-article p:last-child  { margin-bottom: 0; }
.content-block-article strong, .content-block-article b { font-weight: 700; color: #111827; }
.content-block-article a { color: #2563eb; }
.content-block-article ul, .content-block-article ol { margin: 1.5rem 0; padding-left: 2.4rem; }
.content-block-article li { margin: 0.6rem 0; }

/* Style overlays — NEUTRALIZED. The entropy pass still stamps them but
   they no longer alter visual rhythm. Keep selectors so canonical
   doesn't render with broken fallbacks. */
.content-block-article--boxed,
.content-block-article--dimmed-aside,
.content-block-article--lead-quote,
.content-block-article--inline-stat { /* intentional no-op */ }

/* Lead paragraph — same as paragraph_group, no drop-cap (syngas has none). */
.content-block-article.has-dropcap::first-letter,
.content-block-article .has-dropcap::first-letter { /* no-op */ }

/* Inline images — full column width, no captions floated, no float treatments. */
.content-block-image  { margin: 1.5rem 0; }
.content-block-image img { width: 100%; height: auto; display: block; padding: 1rem 0; }
.content-block-image-desc {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-style: italic;
  font-size: 1.4rem; line-height: 1.4; color: #6b7280;
  text-align: center; padding: 0.4rem 0 0; margin: 0;
}
.content-block-image-desc p { margin: 0; }
.content-block-image--full-bleed,
.content-block-image--left-float,
.content-block-image--right-float { /* neutralized — syngas uses full-column only */ }

/* Image pair (before/after) — desktop side-by-side, mobile stack */
.content-block-image-pair { display: flex; gap: 1.2rem; margin: 1.5rem 0; }
.content-block-image-pair .pair-half { flex: 1; min-width: 0; }
.content-block-image-pair img { width: 100%; height: auto; display: block; }
.content-block-image-pair .pair-label {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.2rem; font-weight: 600;
  text-transform: uppercase; color: #4b5563; text-align: center; padding: 0.6rem 0;
}
@media screen and (max-width: 750px) { .content-block-image-pair { flex-direction: column; } }

/* Separator */
.content-block-separator { border: none; border-top: 1px solid #e5e7eb; margin: 2rem 0; }
.content-block-separator--thick  { border-top-width: 3px; }
.content-block-separator--double { border-top: 3px double #e5e7eb; }

/* Pull quote — used sparingly */
.pull-quote {
  margin: 2rem 0;
  padding: 1.5rem 2rem;
  border-left: 4px solid #16a34a;
  background: #f9fafb;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 2rem; font-weight: 500; font-style: italic; line-height: 1.4;
  color: #1f2937;
}
.pull-quote-attribution {
  display: block; margin-top: 0.8rem;
  font-style: normal; font-size: 1.3rem; font-weight: 400; color: #6b7280;
}
.pull-quote--no-attrib .pull-quote-attribution { display: none; }

/* Callout box — pink-bordered, used ONCE near the end (syngas pattern) */
.callout-box {
  margin: 2rem 0; padding: 1rem 2rem;
  background: #FFDDDD; border: 2px solid #998484;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.6rem; color: #000;
  text-align: center;
}
.callout-box-heading {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 2rem; font-weight: 700;
  text-align: center; margin: 0 0 0.6rem;
}

/* ─── CTA buttons (the exact syngas-shop spec) ─── */
.content-block-cta {
  margin: 3rem 0; text-align: center;
}
.content-block-cta-btn,
.mgbutton {
  display: inline-block;
  background: #16a34a; color: #ffffff;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 2.75rem; font-weight: 700; text-transform: uppercase;
  padding: 1.2rem 2.4rem; border-radius: 1rem;
  text-decoration: none;
  transition: background 0.15s ease, filter 0.15s ease;
}
.content-block-cta-btn:hover,
.mgbutton:hover { background: #15803d; }
.content-block-cta-urgency {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.4rem; color: #6b7280;
  margin: 0 0 0.8rem;
}

/* Final CTA (button variant — identical to inline CTA) */
.final-cta { margin: 3rem 0; text-align: center; }
.final-cta-html { font-size: 1.8rem; color: #4b5563; margin-bottom: 1rem; }

/* Final CTA (link variant — softer text-link for demand-gen/outbrain) */
.final-discovery {
  margin: 3rem 0; padding: 2rem 0;
  border-top: 1px solid #e5e7eb; border-bottom: 1px solid #e5e7eb;
  text-align: center;
}
.final-discovery-html { font-size: 1.8rem; margin-bottom: 1rem; color: #1f2937; }
.final-discovery-link {
  display: inline-block;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.8rem; font-weight: 600;
  color: #2563eb; text-decoration: underline;
}

/* Soft inline-link CTA (Phase 2) */
.inline-link-recommendation {
  margin: 1.5rem 0;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.8rem; color: #1f2937;
}
.inline-link-recommendation a { color: #2563eb; font-weight: 600; text-decoration: underline; }

/* Editor recommendation card */
.editor-recommendation-card {
  margin: 2rem 0; padding: 1.6rem;
  background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 0.6rem;
  display: flex; gap: 1.6rem; align-items: center;
}
.editor-recommendation-card-thumb { width: 9rem; flex-shrink: 0; }
.editor-recommendation-card-thumb img { width: 100%; height: auto; border-radius: 0.4rem; display: block; }
.editor-recommendation-card-body { flex: 1; }
.editor-recommendation-card-pick {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.1rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.1rem; color: #16a34a;
}
.editor-recommendation-card-headline { font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.8rem; font-weight: 700; color: #1f2937; margin-top: 0.3rem; }
.editor-recommendation-card-review { font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.5rem; color: #4b5563; margin: 0.4rem 0 0.8rem; }
.editor-recommendation-card-link { font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.5rem; font-weight: 600; color: #2563eb; text-decoration: underline; }
@media screen and (max-width: 750px) {
  .editor-recommendation-card { flex-direction: column; align-items: stretch; }
  .editor-recommendation-card-thumb { width: 100%; }
}

.where-to-find-it { margin: 1.5rem 0; font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.8rem; color: #1f2937; }
.where-to-find-it a { color: #2563eb; font-weight: 600; }

/* Expert review block */
.expert-review {
  margin: 2rem 0; padding: 1.6rem;
  background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 0.6rem;
}
.expert-review-label {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.2rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.1rem; color: #4b5563; margin-bottom: 0.4rem;
}
.expert-review-score {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 2.4rem; font-weight: 700;
  color: #1f2937;
}
.expert-review-stars { color: #FFCB45; font-size: 1.6rem; }
.expert-review-body { margin-top: 0.8rem; font-size: 1.6rem; line-height: 1.5; color: #1f2937; }

/* Offer box — Phase-2 "product resource" framing, not discount */
.offer-box-wrapper { margin: 2rem 0; }
.offer-box {
  background: #ffffff; border: 2px solid #e5e7eb; border-radius: 0.6rem;
  padding: 1.6rem;
}
.offer-box-title {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 2rem; font-weight: 700;
  color: #1f2937; margin: 0 0 1rem; text-align: center;
}
.offer-box-image img { width: 100%; height: auto; max-width: 28rem; margin: 0 auto; display: block; }
.offer-box-content { font-size: 1.6rem; color: #4b5563; margin: 1rem 0; }
.offer-box-cta { text-align: center; margin-top: 1rem; }
.offer-box-alert {
  margin: 1.5rem 0; padding: 1rem 1.5rem;
  background: #fff8e1; border-left: 4px solid #f59e0b;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.5rem; color: #78350f;
}

/* Trust badges strip — small green-check pill row above references.
   Reads canonical.offer.trust_badges[]. (Wired in via the cross-mode
   audit follow-up — D6.) */
.trust-badges-row {
  display: flex; flex-wrap: wrap; gap: 0.8rem;
  list-style: none; padding: 0;
  margin: 2.4rem 0 0;
}
.trust-badges-pill {
  display: inline-flex; align-items: center; gap: 0.4rem;
  padding: 0.6rem 1.2rem;
  background: #f0fdf4; color: #15803d;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 1.4rem; font-weight: 600;
  border: 1px solid #bbf7d0; border-radius: 9999px;
}
.trust-badges-pill > span { color: #16a34a; font-weight: 700; }

/* References — inline at the bottom of the main column, full main-col
   width, magazine-style box. (Was previously rendered outside the
   article column which made it the full 1120px page-width.) */
.references-inline {
  margin: 3rem 0 0;
  padding: 1.5rem 2rem;
  background: #f9fafb;
  border: 1px solid #ededed;
  border-radius: 0.6rem;
}
.references-inline-title {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 1.8rem; font-weight: 700; line-height: 1.3;
  color: #1f2937; margin: 0 0 1rem;
}
.references-inline-list {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 1.4rem; line-height: 1.5; color: #4b5563;
  padding-left: 2.2rem; margin: 0;
}
.references-inline-list li { margin: 0.4rem 0; }
.references-inline-list a { color: #2563eb; text-decoration: underline; }

/* Legacy selectors retained as no-op safety net (kept so any stray
   pipeline-rendered markup with the old classes still gets a sensible
   default until a re-render replaces it). */
.references-wrapper { display: none; }

/* ═════════════════════════════════════════════════════════════════════
   SIDEBAR — gadgetslaboratory.com/cleaning-foam reference (forensic
   audit 2026-05-20). Centered minimal-chrome layout:
     headline → 5-star row → "score | count" → product image → bullets → CTA.
   28% / 308px equivalent column, sticky 30px top, hidden < 750px.
   ═════════════════════════════════════════════════════════════════════ */
.sidebar {
  flex: 1.15; flex-shrink: 0;   /* ~28% of 1120px container, +10% from previous 25% */
  position: sticky; top: 3rem; align-self: flex-start; z-index: 5;
}
.sidebar-inner {
  background: #ffffff;
  padding: 2.5rem;
  border: 1px solid #cccccc;
  border-radius: 0.5rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
  display: flex; flex-direction: column;
  gap: 1rem;
  text-align: center;
}
.sidebar-headline {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 2.2rem; font-weight: 700; line-height: 3rem;
  color: #242424; margin: 0;
  text-align: center;
  /* Long headline guard: max 3 lines + ellipsis. Prevents German
     compound nouns / long product names from blowing out the rail.
     -webkit-line-clamp is widely supported; word-break belt-and-braces. */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: anywhere;
  hyphens: auto;
}
/* Auto-shrink very long single-word headlines. */
.sidebar-headline:has(> *:first-child:nth-last-child(1)) { font-size: 1.9rem; line-height: 2.6rem; }

/* Star row + rating text */
.sidebar-rating { display: flex; flex-direction: column; align-items: center; gap: 0.4rem; margin: 0; }
.sidebar-rating-stars { display: flex; gap: 0.4rem; justify-content: center; }
.sidebar-rating-star { color: #FDAC2B; font-size: 1.7rem; line-height: 1; }
.sidebar-rating-text {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 1.6rem; font-weight: 400; line-height: 2.1rem;
  color: #242424; text-align: center;
}

/* Product image — full sidebar width, no rounding (ref pattern). */
.sidebar-product-link { display: block; transition: opacity 0.4s ease; }
.sidebar-product-link:hover { opacity: 0.6; }
.sidebar-product { margin: 0; }
.sidebar-product img {
  width: 100%; height: auto; display: block;
  border-radius: 0;
}

/* Benefit bullets — green-check checkmarks, left-aligned text inside
   the centered sidebar. Matches the gadgetslaboratory ref exactly. */
.sidebar-benefits {
  list-style: none; padding: 0; margin: 0;
  text-align: left;
  display: flex; flex-direction: column; gap: 0.4rem;
}
.sidebar-benefits li {
  display: flex; align-items: flex-start; gap: 0.6rem;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 1.6rem; font-weight: 400; line-height: 2.1rem;
  color: #242424;
}
.sidebar-benefits-icon {
  flex-shrink: 0; width: 1.6rem; height: 1.6rem;
  border-radius: 50%;
  background: #00C853; color: #ffffff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1rem; font-weight: 700; line-height: 1;
  margin-top: 0.25rem;
}
.sidebar-benefits-text { flex: 1; }

/* Green CTA — gadgetslaboratory ref: #16a34a bg, 16px weight 800,
   sentence case (NOT uppercase), 5px radius. */
.sidebar-cta {
  display: block; width: 100%; box-sizing: border-box;
  margin: 0.4rem 0 0; padding: 1.2rem 0;
  text-align: center;
  background: #16a34a; color: #ffffff;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 1.8rem; font-weight: 800; line-height: 3rem;
  text-transform: none; letter-spacing: 0;
  text-decoration: none;
  border-radius: 0.5rem;
  transition: background 0.2s ease;
}
.sidebar-cta:hover { background: #15803d; }

.sidebar-payments {
  width: 100%; height: auto; display: block;
  margin: 0.4rem 0 0;
}

/* Optional testimonial card below CTA */
.sidebar-testimonial {
  background: #f4f4f4; padding: 1rem; margin: 0.4rem 0 0;
  border-radius: 0.4rem; text-align: left;
}
.sidebar-testimonial-photo { width: 100%; max-width: 6rem; height: auto; border-radius: 50%; margin-bottom: 0.6rem; }
.sidebar-testimonial-info {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.6rem; font-weight: 700;
  color: #1f2937;
}
.sidebar-testimonial-stars { color: #FDAC2B; font-size: 1.4rem; }
.sidebar-testimonial-quote { font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.6rem; line-height: 1.4; color: #1f2937; padding-top: 1rem; margin: 0; }
.sidebar-testimonial-disclaimer { font-size: 1.1rem; color: #6b7280; margin-top: 0.6rem; }
.sidebar-testimonial-btn { display: none; }

/* Sidebar generic block fallbacks */
.sidebar-block { margin: 0; }
.sidebar-block-text { font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.6rem; line-height: 1.4; color: #1f2937; }
.sidebar-block-image { width: 100%; height: auto; display: block; margin-top: 1rem; border-radius: 0.6rem; }

@media screen and (max-width: 750px) {
  .sidebar { display: none; }
}

/* ═════════════════════════════════════════════════════════════════════
   COMMENTS — Facebook-style thread (user explicitly asked to keep)
   ═════════════════════════════════════════════════════════════════════ */
.comments { margin: 3rem 0 2rem; }
.comments-header {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.8rem; font-weight: 700;
  color: #1f2937; padding: 1rem 0; border-bottom: 1px solid #e5e7eb;
  display: flex; align-items: center; gap: 0.6rem;
}
.comments-list { list-style: none; margin: 0; padding: 0; }
.comments-list > li { padding: 1.2rem 0; border-bottom: 1px solid #f3f4f6; }
.comment-item { display: flex; gap: 1rem; align-items: flex-start; }
.comment-item-avatar img { width: 4rem; height: 4rem; border-radius: 50%; display: block; object-fit: cover; }
.comment-item-avatar--reply img { width: 3rem; height: 3rem; }
.comment-item-body { flex: 1; min-width: 0; font-family: "Plus Jakarta Sans", "Inter", sans-serif; }
.comment-item-body-name { font-size: 1.5rem; font-weight: 700; color: #365899; margin: 0; }
.comment-item-body-text { font-size: 1.5rem; line-height: 1.4; color: #1f2937; margin-top: 0.2rem; }
.comment-item-body-image { margin-top: 0.6rem; }
.comment-item-body-image img { max-width: 24rem; width: 100%; border-radius: 0.4rem; display: block; }
.comment-item-body-actions { font-size: 1.2rem; color: #6b7280; margin-top: 0.4rem; display: flex; gap: 0.4rem; align-items: center; }
.comment-item-body-actions .blue { color: #365899; font-weight: 600; cursor: pointer; }
.comment-item-body-actions .grijs { color: #6b7280; }
.comment-item-body ul { list-style: none; margin: 0.8rem 0 0; padding: 0 0 0 4rem; }
.comment-item-body ul > li { margin: 0.6rem 0; }

/* ═════════════════════════════════════════════════════════════════════
   PHASE-4/5 TRUST + RETENTION blocks — kept but visually toned down
   to fit the minimal-chrome look.
   ═════════════════════════════════════════════════════════════════════ */
.editor-note {
  margin: 1.5rem 0; padding: 1rem 1.5rem;
  background: #f9fafb; border-left: 3px solid #6b7280;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.5rem; line-height: 1.5; font-style: italic; color: #4b5563;
}
.editor-note-label {
  display: block; font-style: normal;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.1rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.1rem; color: #1f2937;
  margin-bottom: 0.4rem;
}

.citation-chip { display: inline; vertical-align: super; font-size: 0.6em; color: #2563eb; }

.stat-callout {
  margin: 1.5rem 0; padding: 1rem 1.5rem;
  background: #f9fafb; border-left: 4px solid #16a34a;
  display: flex; gap: 1rem; align-items: baseline;
}
.stat-callout-number { font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 3.6rem; font-weight: 700; color: #1f2937; line-height: 1; }
.stat-callout-label  { font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.5rem; color: #4b5563; line-height: 1.3; }
.stat-callout-source { display: block; margin-top: 0.4rem; font-size: 1.1rem; color: #6b7280; }

.research-card {
  margin: 1.5rem 0; padding: 1rem 1.5rem;
  background: #ecf6fa; border-left: 4px solid #4089c3;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
}
.research-card-label { font-size: 1.1rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1rem; color: #4089c3; }
.research-card-title { font-size: 1.7rem; font-weight: 700; color: #1f2937; margin: 0.4rem 0; }
.research-card-meta  { font-size: 1.3rem; color: #6b7280; }
.research-card-finding { font-size: 1.5rem; line-height: 1.4; color: #1f2937; }
.research-card-link  { display: inline-block; margin-top: 0.6rem; font-size: 1.3rem; color: #2563eb; }

.expert-card {
  margin: 1.5rem 0; padding: 1rem 1.5rem;
  background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 0.4rem;
  display: flex; gap: 1.2rem; align-items: flex-start;
}
.expert-card-photo img { width: 6rem; height: 6rem; border-radius: 50%; object-fit: cover; display: block; }
.expert-card-body { flex: 1; font-family: "Plus Jakarta Sans", "Inter", sans-serif; }
.expert-card-name  { font-size: 1.5rem; font-weight: 700; color: #1f2937; }
.expert-card-title { font-size: 1.2rem; color: #6b7280; margin: 0.2rem 0 0.6rem; }
.expert-card-quote { font-size: 1.6rem; line-height: 1.4; color: #1f2937; font-style: italic; }
@media screen and (max-width: 750px) {
  .expert-card { flex-direction: column; }
}

.story-continuation { margin: 1.5rem 0; font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.6rem; font-style: italic; color: #6b7280; text-align: center; }

.what-happened-next {
  margin: 2rem 0; padding: 1rem 1.5rem;
  background: #f9fafb; border-radius: 0.4rem;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
}
.what-happened-next-label,
.what-happened-next-kicker {
  display: block;
  font-size: 1.1rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.1rem; color: #6b7280; margin-bottom: 0.4rem;
}
.what-happened-next-body { margin: 0; font-size: 1.6rem; line-height: 1.5; color: #1f2937; }

.mini-summary {
  margin: 2rem 0; padding: 1rem 1.5rem;
  background: #FFF8E1; border: 1px solid #FFE6A3; border-radius: 0.4rem;
}
.mini-summary-label {
  display: block; font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 1.1rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.1rem; color: #b45309; margin-bottom: 0.4rem;
}
.mini-summary-points { margin: 0; padding-left: 1.6rem; list-style: disc; }
.mini-summary-points li { margin: 0.3rem 0; font-size: 1.5rem; color: #1f2937; }

/* ═════════════════════════════════════════════════════════════════════
   MOBILE STICKY CTA + LAYOUT VARIANTS — kept but layout variants are
   neutralized for the syngas-shop default look.
   ═════════════════════════════════════════════════════════════════════ */
.sticky-mobile-cta {
  display: none;
  position: fixed; bottom: 0; left: 0; right: 0;
  background: #ffffff; border-top: 1px solid #e5e7eb;
  padding: 1rem 1.5rem; z-index: 100;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.08);
}
@media screen and (max-width: 750px) {
  .sticky-mobile-cta { display: block; transform: translateY(110%); transition: transform 0.25s ease; }
  .sticky-mobile-cta--visible { transform: translateY(0); }
}
.sticky-mobile-cta-btn {
  display: block; width: 100%; padding: 1.3rem 1.6rem;
  background: #16a34a; color: #ffffff; text-align: center; text-decoration: none;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 2rem; font-weight: 700;
  text-transform: uppercase; border-radius: 0.6rem;
  transition: background 0.15s ease;
}
.sticky-mobile-cta-btn:hover { background: #15803d; }

/* Layout variants — single-column and document-style now no-ops; magazine-sidebar is default */
body[data-layout="single-column"]   .artmag-inner { max-width: 105rem; }
body[data-layout="document-style"]  .artmag-inner { max-width: 105rem; }
body[data-layout="single-column"]   .sidebar      { display: flex; flex-direction: column; }
body[data-layout="document-style"]  .sidebar      { display: flex; flex-direction: column; }

@media screen and (max-width: 750px) {
  body[data-layout="single-column"]  .sidebar,
  body[data-layout="document-style"] .sidebar { display: none; }
}

/* Typography pairings — all routes to Montserrat now (kept selectors so
   the body[data-pairing] attribute doesn't break legacy CSS) */
body[data-pairing="editorial-warm"],
body[data-pairing="editorial-cool"],
body[data-pairing="editorial-clean"] {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
}

/* ═════════════════════════════════════════════════════════════════════
   EXIT-INTENT MODAL
   ═════════════════════════════════════════════════════════════════════ */
.exit-intent {
  display: none; position: fixed; inset: 0;
  background: rgba(0,0,0,0.55); z-index: 9999;
  align-items: center; justify-content: center; padding: 2rem;
}
.exit-intent--open { display: flex; }
body.has-exit-intent { overflow: hidden; }
.exit-intent-card {
  background: #fff; max-width: 56rem; width: 100%;
  border-radius: 0.6rem; padding: 0; overflow: hidden;
  box-shadow: 0 18px 60px rgba(0,0,0,0.35);
  display: flex; flex-direction: row; position: relative;
}
@media screen and (max-width: 600px) {
  .exit-intent-card { flex-direction: column; }
}
.exit-intent-close {
  position: absolute; top: 0.6rem; right: 0.8rem;
  background: rgba(0,0,0,0.06); border: none;
  color: #1f2937; width: 2.8rem; height: 2.8rem;
  font-size: 1.8rem; line-height: 1; cursor: pointer;
  border-radius: 50%;
}
.exit-intent-image { flex: 1; min-width: 0; }
.exit-intent-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.exit-intent-body  { flex: 1.2; padding: 2.4rem 2.2rem; }
.exit-intent-heading {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 3rem; font-weight: 800; color: #1f2937;
  margin: 0 0 0.8rem; text-decoration: underline;
}
.exit-intent-subheading { font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.6rem; line-height: 1.5; color: #4b5563; margin: 0 0 1.4rem; }
.exit-intent-offer { font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-weight: 700; font-size: 2.2rem; line-height: 1.3; color: #1f2937; margin: 0 0 1.4rem; }
.exit-intent-cta {
  display: block; text-align: center; padding: 1.4rem 1.6rem;
  background-color: #ffd230; color: #1f2937;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.7rem; font-weight: 800;
  text-decoration: none; border-radius: 0.4rem;
}
.exit-intent-fineprint { font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.1rem; color: #6b7280; text-align: center; margin-top: 0.8rem; }

/* ═════════════════════════════════════════════════════════════════════
   FOOTER — identical visual spec to brand-advertorial (adv_1) so the
   legal/menu chrome stays consistent across modes. Uses the shared
   _footer_menu.html + _footer_below_menu.html partials.
   ═════════════════════════════════════════════════════════════════════ */
.site-footer {
  background: #1e1e1e;
  color: #aaaaaa;
  padding: 4.8rem 2rem 3.2rem;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 1.25rem; line-height: 1.85;
  margin-top: 6rem;
}
.site-footer .footer-inner {
  max-width: 80rem; margin: 0 auto; text-align: center;
}
.site-footer .footer-links {
  display: flex; justify-content: center; flex-wrap: wrap;
  gap: 0.6rem 2rem; margin-bottom: 2rem;
}
.site-footer .footer-links a {
  color: #cccccc; font-weight: 600; font-size: 1.3rem;
  text-decoration: none; transition: color 0.15s ease;
}
.site-footer .footer-links a:hover { color: #ffffff; }
.site-footer .footer-disclaimer {
  color: #777777; font-size: 1.2rem; margin-top: 1.2rem; line-height: 1.6;
}
.site-footer .footer-disclaimer a { color: #cccccc; }
.site-footer .footer-disclaimer strong { color: #cccccc; }
@media (max-width: 750px) {
  .site-footer { padding-bottom: 10rem; }   /* room for mobile sticky CTA */
}

/* ═════════════════════════════════════════════════════════════════════
   PROSPECTING-ADV v2 BLOCKS — added 2026-05-22 conversion-arc rewrite
   Reference: user feedback "page behaves like image→tiny text→image →
   destroys narrative momentum, emotional escalation, visual rhythm".
   These blocks restructure the page into a conversion narrative:
   pain → mechanism → first CTA → social proof → objections → comparison
   → emotional close → final CTA.
   ═════════════════════════════════════════════════════════════════════ */

/* ── comparison_table — 3-column feature matrix ────────────────────── */
.comparison-table-wrapper { margin: 4rem 0; }
.comparison-table-heading {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 2.4rem; font-weight: 700; line-height: 1.25;
  color: var(--editorial-ink, #1a1a2e);
  margin: 0 0 1.6rem;
}
.comparison-table-scroll { overflow-x: auto; }
.comparison-table {
  width: 100%; border-collapse: collapse;
  font-family: "Inter", "Plus Jakarta Sans", sans-serif;
  font-size: 1.5rem; line-height: 1.4;
}
.comparison-table th,
.comparison-table td {
  padding: 1.4rem 1.6rem;
  border-bottom: 1px solid #e7e9ee;
  text-align: center;
  vertical-align: middle;
}
.comparison-table-feature-col { width: 32%; }
.comparison-table-feature {
  text-align: left; font-weight: 600; color: #25324b;
  background: #fafbfc;
}
.comparison-table thead th {
  font-weight: 700; color: #6b7280; font-size: 1.3rem;
  text-transform: uppercase; letter-spacing: 0.04em;
  background: #f5f6f8; border-bottom: 2px solid #d8dce4;
}
.comparison-table-col--winner {
  background: #ecfdf5 !important; color: #047857 !important;
}
.comparison-table-cell--winner {
  background: #f0fdf4; font-weight: 700; color: #047857;
}
@media (max-width: 750px) {
  .comparison-table { font-size: 1.3rem; }
  .comparison-table th, .comparison-table td { padding: 1rem 0.8rem; }
}

/* ── objection_block — pre-purchase Q&A list ───────────────────────── */
.objection-block-wrapper {
  margin: 4rem 0;
  padding: 2.4rem 2.4rem 2rem;
  background: #fafbfc;
  border-left: 4px solid #2b5fb0;
  border-radius: 0 6px 6px 0;
}
.objection-block-heading {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 2.0rem; font-weight: 700; line-height: 1.3;
  color: var(--editorial-ink, #1a1a2e);
  margin: 0 0 1.6rem;
}
.objection-block-list { margin: 0; }
.objection-block-item { margin-bottom: 1.6rem; }
.objection-block-item:last-child { margin-bottom: 0; }
.objection-block-q {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 600; font-size: 1.55rem; color: #25324b;
  margin-bottom: 0.4rem;
}
.objection-block-a {
  font-family: "Inter", "Plus Jakarta Sans", sans-serif;
  font-size: 1.5rem; line-height: 1.6; color: #4a5568;
  margin: 0; padding: 0;
}

/* ── mechanism_steps_cards — 3-step visual grid ────────────────────── */
.mechanism-cards-wrapper { margin: 4rem 0; }
.mechanism-cards-heading {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 2.4rem; font-weight: 700; line-height: 1.25;
  color: var(--editorial-ink, #1a1a2e);
  margin: 0 0 2.4rem;
  text-align: center;
}
.mechanism-cards-grid {
  list-style: none; padding: 0; margin: 0;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem;
}
.mechanism-card {
  position: relative;
  background: #ffffff;
  border: 1px solid #e7e9ee;
  border-radius: 10px;
  padding: 2.4rem 1.8rem 2rem;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.mechanism-card-step {
  position: absolute; top: -1.6rem; left: 50%; transform: translateX(-50%);
  width: 3.2rem; height: 3.2rem; border-radius: 50%;
  background: #2b5fb0; color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800; font-size: 1.6rem; line-height: 3.2rem;
}
.mechanism-card-icon {
  width: 4.8rem; height: 4.8rem; margin: 0.6rem auto 1.2rem;
  background: #ecf3ff; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #2b5fb0; font-size: 2.2rem;
}
.mechanism-card-title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.65rem; font-weight: 700; line-height: 1.3;
  color: var(--editorial-ink, #1a1a2e);
  margin: 0 0 0.8rem;
}
.mechanism-card-body {
  font-family: "Inter", sans-serif;
  font-size: 1.45rem; line-height: 1.55; color: #4a5568;
  margin: 0;
}
@media (max-width: 750px) {
  .mechanism-cards-grid { grid-template-columns: 1fr; gap: 2.4rem; }
}

/* ── mid_article_cta_block — first commitment block (v3.2 sec 10) ─
   Editor-pick card style: product thumbnail on the LEFT, headline +
   benefits + button stacked on the RIGHT. Reads like a magazine's
   "Editor's Choice" recommendation, not a bordered sales sticky. */
.mid-cta-card {
  display: flex;
  gap: 2.4rem;
  align-items: stretch;
  margin: 3.6rem 0;
  padding: 2.0rem 2.0rem 2.0rem 2.0rem;
  border: 1px solid #e2e8f0;
  border-left: 4px solid #16a34a;
  border-radius: 6px;
  background: #ffffff;
}
.mid-cta-card-media {
  flex: 0 0 32%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f8fafc;
  border-radius: 4px;
  padding: 1.0rem;
  min-width: 0;
}
.mid-cta-card-media a {
  display: block;
  width: 100%;
  pointer-events: auto;
}
.mid-cta-card-media img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 3px;
}
.mid-cta-card--no-image .mid-cta-card-media { display: none; }
.mid-cta-card-body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}
.mid-cta-card-kicker {
  display: inline-block;
  align-self: flex-start;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700; font-size: 1.05rem; letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #047857;
  margin-bottom: 0.6rem;
}
.mid-cta-card-headline {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 2.0rem; font-weight: 800; line-height: 1.25;
  color: var(--editorial-ink, #1a1a2e);
  margin: 0 0 1.2rem;
}
.mid-cta-card-benefits {
  list-style: none;
  padding: 0;
  margin: 0 0 1.6rem;
}
.mid-cta-card-benefits li {
  font-family: "Inter", sans-serif;
  font-size: 1.45rem; line-height: 1.5; color: #334155;
  padding: 0.35rem 0 0.35rem 2.2rem;
  position: relative;
}
.mid-cta-card-benefits li::before {
  content: "✓";
  position: absolute; left: 0; top: 0.5rem;
  width: 1.6rem; height: 1.6rem;
  border-radius: 50%;
  background: #16a34a; color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 1.0rem;
  line-height: 1;
}
.mid-cta-card-button {
  display: inline-block;
  align-self: flex-start;
  background: #16a34a;
  color: #fff !important;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700; font-size: 1.55rem; letter-spacing: 0.01em;
  padding: 1.2rem 2.4rem;
  border-radius: 6px;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(22,163,74,0.18);
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.mid-cta-card-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(22,163,74,0.28);
}
.mid-cta-card-guarantee {
  font-family: "Inter", sans-serif;
  font-size: 1.20rem; color: #64748b;
  margin-top: 0.8rem;
}
@media (max-width: 720px) {
  .mid-cta-card {
    flex-direction: column;
    gap: 1.4rem;
    padding: 1.6rem;
  }
  .mid-cta-card-media { flex-basis: auto; padding: 0.8rem; }
  .mid-cta-card-headline { font-size: 1.8rem; }
  .mid-cta-card-button { width: 100%; text-align: center; }
}

/* ═════════════════════════════════════════════════════════════════════
   v3 CONVERSION ARC — additional blocks (added 2026-05-22)
   transformation_bridge / testimonial_block / micro_identity
   ═════════════════════════════════════════════════════════════════════ */

/* ── transformation_bridge — kicker + emotional pivot paragraph ─── */
.transformation-bridge {
  margin: 3.6rem 0;
  padding-left: 1.6rem;
  border-left: 3px solid #2b5fb0;
}
.transformation-bridge-kicker {
  display: block;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.2rem; font-weight: 800;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: #2b5fb0;
  margin-bottom: 0.8rem;
}
.transformation-bridge p {
  font-family: "Inter", "Plus Jakarta Sans", sans-serif;
  font-size: 1.7rem; line-height: 1.6;
  font-style: italic; color: #25324b;
  margin: 0 0 1.2rem;
}
.transformation-bridge p:last-child { margin-bottom: 0; }

/* ── testimonial_block — INLINE PULL-QUOTE STACK (active styling) ── */
/* Operator policy 2026-05-22: mid-page testimonials read as part of
   the article flow; FB-chat chrome lives only at the end. */
.testimonial-block-inline { margin: 3.2rem 0; }
.testimonial-block-inline-heading {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 2.0rem; font-weight: 700; line-height: 1.3;
  color: var(--editorial-ink, #1a1a2e);
  margin: 0 0 1.6rem;
}
.testimonial-inline {
  margin: 2.4rem 0;
  padding-left: 1.6rem;
  border-left: 3px solid #c8d6f0;
}
.testimonial-inline-quote {
  font-family: "Inter", "Plus Jakarta Sans", sans-serif;
  font-size: 1.7rem; line-height: 1.6;
  font-style: italic; color: #25324b;
  margin: 0 0 0.6rem;
}
.testimonial-inline-attr {
  display: block;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-style: normal; font-weight: 600;
  font-size: 1.35rem; color: #4a5568;
}

/* Legacy card-style testimonial CSS retained for any cached pre-v3.2
   canonical that still uses the old class names. */
.testimonial-block { margin: 4rem 0; }
.testimonial-block-heading {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 2.2rem; font-weight: 700; line-height: 1.25;
  color: var(--editorial-ink, #1a1a2e);
  margin: 0 0 2rem;
  text-align: center;
}
.testimonial-block-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem;
}
.testimonial-card {
  background: #ffffff;
  border: 1px solid #e7e9ee;
  border-radius: 10px;
  padding: 2rem 1.6rem;
  text-align: center;
  margin: 0;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.testimonial-card-avatar {
  width: 6.4rem; height: 6.4rem; margin: 0 auto 1.2rem;
  border-radius: 50%; overflow: hidden;
  border: 3px solid #ecf3ff;
}
.testimonial-card-avatar img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.testimonial-card-stars {
  font-size: 1.5rem; color: #f59e0b;
  letter-spacing: 0.1em; margin-bottom: 0.8rem;
}
.testimonial-card-quote {
  font-family: "Inter", "Plus Jakarta Sans", sans-serif;
  font-size: 1.5rem; line-height: 1.5;
  color: #25324b; font-style: italic;
  margin: 0 0 1.2rem; padding: 0;
  border: none; quotes: "\201C" "\201D";
}
.testimonial-card-quote::before { content: open-quote; margin-right: 0.2em; color: #94a3b8; }
.testimonial-card-quote::after  { content: close-quote; margin-left: 0.2em; color: #94a3b8; }
.testimonial-card-attr {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.3rem; color: #25324b; font-weight: 600;
}
.testimonial-card-name { display: block; }
.testimonial-card-role {
  display: block; font-weight: 500; color: #6b7280; font-size: 1.2rem;
  margin-top: 0.2rem;
}
@media (max-width: 750px) {
  .testimonial-block-grid { grid-template-columns: 1fr; gap: 2rem; }
}

/* ── micro_identity — "For / Not for" qualifier card ─────────────── */
.micro-identity {
  margin: 4rem 0;
  border: 1px solid #e7e9ee; border-radius: 10px;
  padding: 2.4rem 2.4rem 2rem;
  background: #ffffff;
}
.micro-identity-heading {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 2.0rem; font-weight: 700; line-height: 1.3;
  color: var(--editorial-ink, #1a1a2e);
  margin: 0 0 1.8rem; text-align: center;
}
.micro-identity-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 2rem;
}
.micro-identity-col-title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.45rem; font-weight: 700;
  letter-spacing: 0.06em; text-transform: uppercase;
  margin: 0 0 1.2rem;
}
.micro-identity-col--for .micro-identity-col-title { color: #047857; }
.micro-identity-col--not-for .micro-identity-col-title { color: #b91c1c; }
.micro-identity-list {
  list-style: none; padding: 0; margin: 0;
}
.micro-identity-list li {
  font-family: "Inter", sans-serif;
  font-size: 1.5rem; line-height: 1.5;
  color: #25324b;
  padding: 0.5rem 0 0.5rem 2.4rem; position: relative;
}
.micro-identity-list--for li::before {
  content: "✓"; position: absolute; left: 0; top: 0.6rem;
  width: 1.8rem; height: 1.8rem; border-radius: 50%;
  background: #047857; color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 1.1rem;
}
.micro-identity-list--not-for li::before {
  content: "✗"; position: absolute; left: 0; top: 0.6rem;
  width: 1.8rem; height: 1.8rem; border-radius: 50%;
  background: #b91c1c; color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 1.0rem;
}
@media (max-width: 750px) {
  .micro-identity-grid { grid-template-columns: 1fr; gap: 1.6rem; }
}

/* ── comments_fake_form — session-only "post a comment" form ─────── */
.comments-fake-form {
  margin-top: 1.6rem;
  padding-top: 1.6rem;
  border-top: 1px solid #e7e9ee;
  display: flex; flex-direction: column; gap: 0.8rem;
}
.comments-fake-form-row { display: flex; }
.comments-fake-form-name,
.comments-fake-form-body {
  width: 100%;
  font-family: "Inter", "Plus Jakarta Sans", sans-serif;
  font-size: 1.4rem; line-height: 1.5;
  color: #25324b;
  padding: 0.9rem 1.2rem;
  border: 1px solid #d8dce4;
  border-radius: 6px;
  background: #fafbfc;
  resize: vertical;
}
.comments-fake-form-name:focus,
.comments-fake-form-body:focus {
  outline: none; border-color: #2b5fb0;
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(43,95,176,0.12);
}
.comments-fake-form-actions { justify-content: flex-end; }
.comments-fake-form-submit {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.4rem; font-weight: 600;
  padding: 0.8rem 1.8rem;
  background: #1877f2;
  color: #fff;
  border: none; border-radius: 6px;
  cursor: pointer;
  transition: background 0.12s ease, transform 0.12s ease;
}
.comments-fake-form-submit:hover { background: #166fde; }
.comments-fake-form-submit:active { transform: translateY(1px); }
.comments-fake-form-submit:disabled {
  background: #047857; cursor: default;
}

/* ═════════════════════════════════════════════════════════════════════
   v3.2 CONVERSION ARC — failed_alternatives / why_now / decision_relief
   ═════════════════════════════════════════════════════════════════════ */

/* ── failed_alternatives — "why nothing has worked" reframe card ─── */
.failed-alternatives {
  margin: 4rem 0;
  padding: 2.4rem 2.4rem 2rem;
  background: #fdf2f2;
  border-left: 4px solid #b91c1c;
  border-radius: 0 8px 8px 0;
}
.failed-alternatives-heading {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 2.0rem; font-weight: 700; line-height: 1.3;
  color: var(--editorial-ink, #1a1a2e);
  margin: 0 0 1.4rem;
}
.failed-alternatives-list {
  list-style: none; padding: 0; margin: 0;
}
.failed-alternatives-item {
  display: flex; align-items: flex-start; gap: 1rem;
  padding: 0.8rem 0;
  font-family: "Inter", "Plus Jakarta Sans", sans-serif;
  font-size: 1.55rem; line-height: 1.5;
  color: #25324b;
}
.failed-alternatives-x {
  flex-shrink: 0; width: 2.4rem; height: 2.4rem; border-radius: 50%;
  background: #b91c1c; color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 1.3rem; line-height: 1;
  margin-top: 0.2rem;
}
.failed-alternatives-tried {
  font-weight: 700; color: #25324b;
}
.failed-alternatives-why {
  color: #4a5568;
}

/* ── why_now — journalism-tone urgency aside ─────────────────────── */
.why-now {
  margin: 3.6rem 0;
  padding: 1.8rem 2rem;
  background: #fff7ed;
  border-left: 4px solid #d97706;
  border-radius: 0 8px 8px 0;
}
.why-now-kicker {
  display: block;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.2rem; font-weight: 800;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: #b45309;
  margin-bottom: 0.8rem;
}
.why-now p {
  font-family: "Inter", "Plus Jakarta Sans", sans-serif;
  font-size: 1.55rem; line-height: 1.6;
  color: #25324b;
  margin: 0 0 1rem;
}
.why-now p:last-child { margin-bottom: 0; }

/* ── decision_relief — "decision is small" risk-free card ────────── */
.decision-relief {
  margin: 4rem 0;
  padding: 2.4rem 2.4rem 2rem;
  background: linear-gradient(180deg, #ffffff 0%, #f0fdf4 100%);
  border: 2px solid #bbf7d0;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(4,120,87,0.06);
}
.decision-relief-heading {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 2.0rem; font-weight: 700; line-height: 1.3;
  color: var(--editorial-ink, #1a1a2e);
  margin: 0 0 1.4rem;
}
.decision-relief-list {
  list-style: none; padding: 0; margin: 0 0 1.4rem;
}
.decision-relief-list li {
  display: flex; align-items: flex-start; gap: 1rem;
  padding: 0.6rem 0;
  font-family: "Inter", sans-serif;
  font-size: 1.5rem; line-height: 1.5;
  color: #25324b;
}
.decision-relief-check {
  flex-shrink: 0; width: 2.0rem; height: 2.0rem; border-radius: 50%;
  background: #047857; color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 1.2rem; line-height: 1;
  margin-top: 0.15rem;
}
.decision-relief-tagline {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.4rem; font-style: italic; color: #047857;
  margin: 0; padding-top: 1rem;
  border-top: 1px dashed #bbf7d0;
  text-align: center;
}

@media (max-width: 750px) {
  .failed-alternatives, .decision-relief { padding: 2rem 1.4rem 1.6rem; }
  .why-now { padding: 1.4rem 1.4rem; }
}

/* ════════════════════════════════════════════════════════════════════
   2026-05-22 v3.2 BORROWED ELEMENTS (buyevergreen.co reference)
   ════════════════════════════════════════════════════════════════════ */

/* ── 1) Status eyebrow — above the breadcrumb ─────────────────────── */
.status-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.45rem 1.0rem;
  margin: 0 0 1.2rem;
  border-radius: 999px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  font-family: "Inter", sans-serif;
  font-size: 1.20rem;
  font-weight: 500;
  color: #9a3412;
  line-height: 1.3;
}
.status-eyebrow-dot {
  width: 0.7rem; height: 0.7rem;
  border-radius: 50%;
  background: #ea580c;
  animation: status-pulse 1.8s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes status-pulse {
  0%,100% { transform: scale(1); opacity: 1; }
  50%     { transform: scale(0.7); opacity: 0.5; }
}

/* ── 2/3) Sticky CTA strip — desktop top + mobile bottom ──────────── */
.sticky-cta {
  position: fixed;
  left: 0; right: 0;
  z-index: 9000;
  background: #ffffff;
  border-bottom: 1px solid #e2e8f0;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  transform: translateY(-100%);
  transition: transform 0.28s ease-out;
  pointer-events: none;
  /* desktop: anchored to top */
  top: 0;
}
.sticky-cta--visible {
  transform: translateY(0);
  pointer-events: auto;
}
.sticky-cta-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0.8rem 1.6rem;
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.sticky-cta-thumb {
  flex: 0 0 4.4rem;
  width: 4.4rem; height: 4.4rem;
  border-radius: 4px;
  overflow: hidden;
  background: #f1f5f9;
}
.sticky-cta-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sticky-cta-text { flex: 1 1 auto; min-width: 0; }
.sticky-cta-headline {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.45rem; font-weight: 700;
  color: #1a1a2e; line-height: 1.25;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.sticky-cta-kicker {
  font-family: "Inter", sans-serif;
  font-size: 1.05rem;
  color: #64748b; letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-top: 0.1rem;
}
.sticky-cta-btn {
  flex: 0 0 auto;
  background: #16a34a;
  color: #fff !important;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 1.40rem;
  padding: 1.0rem 1.8rem;
  border-radius: 6px;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 2px 6px rgba(22,163,74,0.20);
}
.sticky-cta-btn:hover { background: #15803d; }

@media (max-width: 720px) {
  .sticky-cta {
    top: auto;
    bottom: 0;
    border-bottom: none;
    border-top: 1px solid #e2e8f0;
    transform: translateY(100%);
    box-shadow: 0 -2px 8px rgba(0,0,0,0.10);
  }
  .sticky-cta-inner {
    padding: 0.7rem 1.0rem;
    gap: 0.9rem;
  }
  .sticky-cta-thumb { flex-basis: 4.0rem; width: 4.0rem; height: 4.0rem; }
  .sticky-cta-headline { font-size: 1.30rem; }
  .sticky-cta-kicker { display: none; }
  .sticky-cta-btn {
    font-size: 1.30rem;
    padding: 0.9rem 1.4rem;
  }
}

/* The legacy .sticky-mobile-cta selectors are still in the page from
   pre-v3.2 — keep them harmless by zero-ing height so they don't paint
   if any older renderer still emits them. New runs use .sticky-cta. */
.sticky-mobile-cta:not(.sticky-cta) {
  display: none !important;
}

/* ── 4) Author bio card — before final comments thread ────────────── */
.author-bio-card {
  display: flex;
  gap: 1.6rem;
  align-items: flex-start;
  margin: 3.6rem 0 2.4rem;
  padding: 2.0rem;
  background: #f8fafc;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
}
.author-bio-card-avatar {
  flex: 0 0 6.4rem;
  width: 6.4rem; height: 6.4rem;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid #ffffff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.10);
}
.author-bio-card-avatar img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.author-bio-card-body { flex: 1 1 auto; min-width: 0; }
.author-bio-card-kicker {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.0rem; font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #64748b;
  margin-bottom: 0.3rem;
}
.author-bio-card-name {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.85rem; font-weight: 700;
  color: #1a1a2e;
  margin: 0 0 0.2rem;
  line-height: 1.2;
}
.author-bio-card-creds {
  font-family: "Inter", sans-serif;
  font-size: 1.30rem; color: #475569;
  margin-bottom: 0.8rem;
}
.author-bio-card-text {
  font-family: "Inter", sans-serif;
  font-size: 1.40rem; line-height: 1.55; color: #334155;
  margin: 0;
}
@media (max-width: 720px) {
  .author-bio-card { gap: 1.2rem; padding: 1.6rem; }
  .author-bio-card-avatar { flex-basis: 5.2rem; width: 5.2rem; height: 5.2rem; }
}

/* ── 5) Rating badge inside mid_article_cta_card ──────────────────── */
.mid-cta-card-rating {
  display: flex; align-items: center; gap: 0.7rem;
  margin: 0 0 1.2rem;
  font-family: "Inter", sans-serif;
}
.mid-cta-card-rating-stars {
  color: #f59e0b;
  font-size: 1.55rem;
  letter-spacing: 0.05em;
  line-height: 1;
}
.mid-cta-card-rating-star--empty { color: #e5e7eb; }
.mid-cta-card-rating-text {
  font-size: 1.30rem;
  color: #475569;
  font-weight: 500;
}

/* ── 6) Offer-box shipped-count proof line ────────────────────────── */
.offer-box-proof {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin: 1.2rem 0 0;
  padding: 0.9rem 1.2rem;
  background: #f0fdf4;
  border-left: 3px solid #16a34a;
  border-radius: 4px;
  font-family: "Inter", sans-serif;
  font-size: 1.30rem;
  color: #14532d;
  font-weight: 500;
}
.offer-box-proof-icon {
  flex: 0 0 1.6rem;
  width: 1.6rem; height: 1.6rem;
  border-radius: 50%;
  background: #16a34a;
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1;
}

/* ── 7) Stronger hero dek — magazine standfirst (italic, no panel) ── */
/* Override the legacy boxed deck when it lives in the hero region by
   targeting the editorial-deck--variant-feature variant + structural
   placement. The yellow box still applies for legacy fungiremover-
   style pages that explicitly set variant=research/feature with the
   visual panel intent — operators can switch by setting
   editorial_deck.variant=panel to keep the old look. */
.headline + .editorial-deck,
.headline + .editorial-deck.editorial-deck--variant-feature {
  background: transparent !important;
  border: none !important;
  border-left: none !important;
  padding: 0;
  margin: 0 0 2.0rem;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 1.95rem;
  font-style: italic;
  line-height: 1.45;
  color: #475569;
  border-radius: 0;
  position: relative;
}
.headline + .editorial-deck .editorial-deck-kicker {
  display: block;
  font-style: normal;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.10rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: #b45309;
  opacity: 1;
  margin-bottom: 0.5rem;
}
@media (max-width: 750px) {
  .headline + .editorial-deck { font-size: 1.65rem; }
}

/* ════════════════════════════════════════════════════════════════════
   2026-05-22 — Publisher masthead redesign
   Replaces the legacy .top-bar (dark teal solid bar with bare text)
   with a white magazine masthead: small colored brand mark + serif
   wordmark + italic category tagline.
   ════════════════════════════════════════════════════════════════════ */
.masthead {
  background: #ffffff;
  border-bottom: 1px solid #e5e7eb;
  padding: 0;
}
.masthead-inner {
  max-width: 112rem;
  margin: 0 auto;
  padding: 1.4rem 2rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media screen and (max-width: 1150px) { .masthead-inner { padding: 1.2rem 1.5rem; } }
.masthead-logo {
  display: inline-flex;
  align-items: center;
  gap: 1.1rem;
  text-decoration: none;
  color: inherit;
}
.masthead-logo--image img {
  height: 4.2rem;
  width: auto;
  display: block;
}
.masthead-mark {
  flex: 0 0 auto;
  width: 3.4rem;
  height: 3.4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #00465a;
  color: #ffffff;
  font-family: "Bitter", "Plus Jakarta Sans", "Inter", serif;
  font-size: 2.0rem;
  font-weight: 800;
  line-height: 1;
  border-radius: 3px;
  letter-spacing: 0;
}
.masthead-wordmark {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.1;
}
.masthead-wordmark-name {
  font-family: "Bitter", "Plus Jakarta Sans", "Inter", serif;
  font-size: 2.2rem;
  font-weight: 700;
  color: #0f172a;
  letter-spacing: 0.02em;
  text-transform: none;
}
.masthead-wordmark-tag {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 1.05rem;
  font-weight: 500;
  font-style: italic;
  color: #64748b;
  margin-top: 0.25rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
@media (max-width: 720px) {
  .masthead-inner { padding: 1.0rem 1.2rem; }
  .masthead-mark { width: 3.0rem; height: 3.0rem; font-size: 1.75rem; }
  .masthead-wordmark-name { font-size: 1.85rem; }
  .masthead-wordmark-tag { font-size: 0.95rem; }
}
