/* Competitor-style product hub (/products/<p>/ when the product JSON has heroBullets).
   Loaded only on those hubs and on the sub-pages of those products. Newsroom palette: ink / red / wash on white,
   square corners, Newsreader headlines, Inter text. */
.hub-page {
  --h-ink: #0a0a0a; --h-ink2: #333333; --h-ink3: #6b6b6b; --h-rule: #e6e6e6; --h-rule2: #cfcfcf;
  --h-red: #c8102e; --h-red-dark: #a30d26; --h-wash: #f3f3f3; --h-paper: #faf8f4;
  --h-display: 'Newsreader Variable', Newsreader, Georgia, 'Times New Roman', serif;
  --h-sans: 'Inter Variable', Inter, system-ui, -apple-system, 'Segoe UI', sans-serif;
  overflow-x: clip; background: #fff; color: var(--h-ink2);
}
.hub-pricing, .hub-wide, .hub-bleed { --h-ink: #0a0a0a; --h-ink2: #333333; --h-ink3: #6b6b6b; --h-rule: #e6e6e6; --h-red: #c8102e; --h-red-dark: #a30d26; --h-wash: #f3f3f3;
  --h-display: 'Newsreader Variable', Newsreader, Georgia, 'Times New Roman', serif; }

/* Buttons */
.hub-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: 1rem 1.6rem; font: 700 .8rem/1.3 'Inter Variable', Inter, system-ui, sans-serif; letter-spacing: .1em; text-transform: uppercase; text-decoration: none !important; text-align: center; transition: background-color .15s, color .15s; border: 2px solid transparent; }
.hub-btn-main { background: #c8102e; color: #fff !important; width: 100%; max-width: 26rem; }
.hub-btn-main:hover { background: #a30d26; }
.hub-btn-ghost { background: #fff; color: #0a0a0a !important; border-color: #0a0a0a; padding: .75rem 1.25rem; margin-top: .75rem; }
.hub-btn-ghost:hover { background: #0a0a0a; color: #fff !important; }
.hub-btn-dark { background: #0a0a0a; color: #fff !important; }
.hub-btn-dark:hover { background: #c8102e; }
.hub-btn-light { background: #fff; color: #0a0a0a !important; }
.hub-btn-light:hover { background: #f3f3f3; }

/* Offer bar and sticky product bar (below the site's own sticky nav) */
.hub-offerbar { background: #0a0a0a; color: #fff; text-align: center; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: .55rem 1rem; }
.hub-offerbar span { color: #ff6b81; margin-right: .4rem; }
.hub-bar { position: sticky; top: 3.5rem; z-index: 40; background: rgba(255,255,255,.97); border-bottom: 2px solid var(--h-ink); }
@media (min-width: 768px) { .hub-bar { top: 2.75rem; } }
.hub-bar-inner { max-width: 72rem; margin: 0 auto; padding: .6rem 1rem; display: flex; align-items: center; gap: 1.5rem; }
.hub-bar-name { font-family: var(--h-display); font-weight: 700; font-size: 1.25rem; letter-spacing: -.01em; color: var(--h-ink); white-space: nowrap; }
.hub-bar-links { display: flex; gap: 1.4rem; margin-left: auto; overflow-x: auto; scrollbar-width: none; }
.hub-bar-links a { font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--h-ink); text-decoration: none; white-space: nowrap; border-bottom: 2px solid transparent; padding: .25rem 0; }
.hub-bar-links a:hover { border-color: var(--h-red); color: var(--h-red); }
.hub-bar-cta { background: var(--h-red); color: #fff !important; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: .6rem 1rem; text-decoration: none; white-space: nowrap; }
.hub-bar-cta:hover { background: var(--h-red-dark); }

/* Hero */
.hub-hero { border-bottom: 1px solid var(--h-rule); background: linear-gradient(90deg, #fff 0%, #fff 55%, var(--h-wash) 55%, var(--h-wash) 100%); }
.hub-hero-inner { max-width: 72rem; margin: 0 auto; padding: 2.75rem 1rem 3rem; display: grid; grid-template-columns: 1.15fr .85fr; gap: 2.5rem; align-items: center; }
.hub-eyebrow { display: inline-block; font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--h-red); border-top: 2px solid var(--h-red); padding-top: .5rem; margin-bottom: 1rem; }
.hub-hero h1 { font-family: var(--h-display); font-weight: 700; letter-spacing: -.022em; font-size: clamp(2.2rem, 4.8vw, 3.6rem); line-height: 1.02; color: var(--h-ink); margin: 0 0 1.1rem; text-wrap: balance; }
.hub-hero h1 em { color: var(--h-red); font-style: italic; font-weight: 600; }
.hub-lede { font-size: 1.1rem; line-height: 1.55; color: var(--h-ink2); margin: 0 0 1.1rem; max-width: 34rem; }
.hub-checks { list-style: none; padding: 0; margin: 0 0 1.5rem; }
.hub-checks li { position: relative; padding: .55rem 0 .55rem 1.9rem; border-bottom: 1px solid var(--h-rule); font-size: .97rem; color: var(--h-ink); }
.hub-checks li::before { content: ''; position: absolute; left: .15rem; top: .95rem; width: .5rem; height: .85rem; border: solid var(--h-red); border-width: 0 2px 2px 0; transform: rotate(40deg); }
.hub-hero-text .hub-btn { display: flex; }
.hub-hero-text .hub-btn-ghost { display: inline-flex; }
.hub-score-line { margin: 1.4rem 0 0; padding-top: 1rem; border-top: 2px solid var(--h-ink); font-size: .88rem; color: var(--h-ink3); max-width: 28rem; }
.hub-score-line strong { color: var(--h-ink); font-family: var(--h-display); font-size: 1.6rem; margin-right: .25rem; }
.hub-hero-img { text-align: center; }
.hub-hero-img img { display: inline-block; width: 100%; max-width: 27rem; height: auto; filter: drop-shadow(0 22px 28px rgba(0,0,0,.2)); }

/* Seal row and byline */
.hub-seals { border-bottom: 1px solid var(--h-rule); background: #fff; padding: 1.25rem 1rem .75rem; }
.hub-seals-inner { max-width: 62rem; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem 1.5rem; }
.hub-seal { display: flex; align-items: center; gap: .65rem; }
.hub-seal strong { display: block; font-size: .8rem; color: var(--h-ink); }
.hub-seal small { display: block; font-size: .64rem; letter-spacing: .06em; text-transform: uppercase; color: var(--h-ink3); max-width: 9rem; line-height: 1.3; }
.hub-seal-mark { width: 2.5rem; height: 2.5rem; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: .62rem; letter-spacing: .02em; color: #fff; background: var(--h-ink); flex: 0 0 2.5rem; }
.hub-seal-usa .hub-seal-mark, .hub-seal-guarantee .hub-seal-mark { background: var(--h-red); }
.hub-seal-digital .hub-seal-mark { font-size: .52rem; letter-spacing: 0; }
.hub-seal-natural .hub-seal-mark, .hub-seal-nongmo .hub-seal-mark, .hub-seal-stimulantfree .hub-seal-mark { background: #fff; color: var(--h-ink); border: 2px solid var(--h-ink); }
.hub-seals-note { text-align: center; font-size: .68rem; color: var(--h-ink3); margin: .85rem 0 0; }
.hub-byline { max-width: 40rem; margin: 1.4rem auto .5rem; display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; border-top: 2px solid var(--h-ink); border-bottom: 1px solid var(--h-rule); padding: .75rem 1rem; }
.hub-byline small { display: block; font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--h-ink3); }
.hub-byline a, .hub-byline span { font-size: .86rem; font-weight: 600; color: var(--h-ink); }

/* Body column and dark section bands */
.hub-main { padding: .5rem 1rem 2.5rem; }
.hub-col { max-width: 42rem; margin: 0 auto; }
.hub-body { font-size: 1.05rem; line-height: 1.72; color: var(--h-ink2); }
.hub-body > h2 { width: 100vw; margin: 4rem 0 2.25rem 50%; transform: translateX(-50%); padding: 3.25rem 1rem 3rem; background: #0a0a0a; color: #fff; text-align: center; font-family: var(--h-display); font-weight: 700; font-size: clamp(1.75rem, 3.6vw, 2.6rem); line-height: 1.1; letter-spacing: -.02em; position: relative; box-sizing: border-box; }
.hub-body > h2::after { content: ''; position: absolute; left: 50%; bottom: 0; width: 4rem; height: 4px; transform: translateX(-50%); background: #c8102e; }
.hub-body > h3 { font-family: var(--h-display); font-weight: 700; font-size: 1.5rem; line-height: 1.2; letter-spacing: -.01em; color: var(--h-ink); margin: 2.25rem 0 .6rem; }
.hub-body > p { margin: 0 0 1.15rem; }
.hub-body a { color: var(--h-red); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.hub-body a:hover { color: var(--h-red-dark); }
.hub-body > ul, .hub-body > ol { padding: 0; list-style: none; margin: 0 0 1.4rem; }
.hub-body > ul > li { position: relative; padding: .45rem 0 .45rem 1.6rem; border-bottom: 1px solid var(--h-rule); }
.hub-body > ul > li::before { content: ''; position: absolute; left: .2rem; top: 1.1rem; width: .5rem; height: .5rem; background: var(--h-red); }
.hub-body > ol { counter-reset: hubol; }
.hub-body > ol > li { counter-increment: hubol; position: relative; padding: .55rem 0 .55rem 2.6rem; border-bottom: 1px solid var(--h-rule); }
.hub-body > ol > li::before { content: counter(hubol); position: absolute; left: 0; top: .5rem; font-family: var(--h-display); font-size: 1.7rem; font-weight: 300; line-height: 1; color: var(--h-red); }
.hub-body > blockquote { margin: 0 0 1.4rem; padding: .25rem 0 .25rem 1.25rem; border-left: 2px solid var(--h-ink); font-family: var(--h-display); font-size: 1.3rem; line-height: 1.35; color: var(--h-ink); font-style: normal; }
.hub-body > blockquote p { margin: 0; }
.hub-body img { max-width: 100%; height: auto; }
.hub-body > table { display: block; max-width: 100%; overflow-x: auto; margin: 0 0 1.6rem; border-collapse: collapse; font-size: .93rem; line-height: 1.5; border-top: 2px solid var(--h-ink); }
.hub-body > table th, .hub-body > table td { padding: .65rem .8rem; border-bottom: 1px solid var(--h-rule); text-align: left; vertical-align: top; }
.hub-body > table thead th { font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--h-ink); border-bottom: 2px solid var(--h-ink); white-space: nowrap; }
.hub-body > table td { min-width: 7rem; }
.hub-body .hub-wide, .hub-body .hub-bleed { max-width: none; }
.hub-wide { width: min(66rem, calc(100vw - 2rem)); margin: 2rem 0 1.5rem 50%; transform: translateX(-50%); box-sizing: border-box; }
.hub-bleed { width: 100vw; margin-left: 50%; transform: translateX(-50%); box-sizing: border-box; }
/* The mobile-width rule for sub-page tables (prose column) and long Cta labels */
.prose.hub-sub table { display: block; max-width: 100%; overflow-x: auto; }
.hub-sub aside a, .hub-body aside a { white-space: normal; overflow-wrap: anywhere; }

/* 30-second take */
.hub-take { background: var(--h-paper); border-top: 4px solid var(--h-ink); padding: 2.25rem 2rem 2rem; }
.hub-kicker { display: block; font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--h-red); margin-bottom: .5rem; }
.hub-take-title { font-family: var(--h-display); font-weight: 700; font-size: clamp(1.6rem, 3vw, 2.2rem); letter-spacing: -.02em; color: var(--h-ink); margin: 0 0 1.4rem; line-height: 1.1; }
.hub-take-top { display: grid; grid-template-columns: 13rem 1fr; gap: 1.1rem; margin-bottom: 1.1rem; }
.hub-take-score { background: #fff; border: 1px solid var(--h-rule); padding: 1.3rem .9rem; text-align: center; display: flex; flex-direction: column; align-items: center; gap: .25rem; }
.hub-take-score strong { font-family: var(--h-display); font-size: 3.4rem; font-weight: 700; line-height: 1; color: var(--h-ink); }
.hub-take-score sup { font-size: .9rem; color: var(--h-ink3); font-family: var(--h-sans); font-weight: 600; margin-left: .15rem; }
.hub-take-score b { font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; color: var(--h-red); margin-top: .4rem; }
.hub-take-score small { font-size: .72rem; color: var(--h-ink3); line-height: 1.4; }
.hub-take-bottom { background: #fff; border: 1px solid var(--h-rule); border-left: 4px solid var(--h-red); padding: 1.2rem 1.4rem; }
.hub-take-bottom p { margin: 0; font-family: var(--h-display); font-size: 1.12rem; line-height: 1.55; color: var(--h-ink); }
.hub-take-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.hub-take-cards > div { background: #fff; border: 1px solid var(--h-rule); padding: 1rem 1.1rem .6rem; }
.hub-take-cards h3 { font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 .6rem; color: var(--h-ink); border-bottom: 2px solid var(--h-ink); padding-bottom: .5rem; font-family: var(--h-sans); }
.hub-take-cards ul { list-style: none; padding: 0; margin: 0; }
.hub-take-cards li, .hub-take-cards p { font-size: .88rem; line-height: 1.45; padding: .5rem 0; border-bottom: 1px solid var(--h-rule); margin: 0; color: var(--h-ink2); }
.hub-take-cards li:last-child, .hub-take-cards p:last-child { border-bottom: 0; }
.hub-body .hub-take li { padding-left: 0; }
.hub-body .hub-take li::before { display: none; }
.hub-take-cta { text-align: center; margin-top: 1.5rem; }

/* Seller testimonials */
.hub-reviews { margin: 1rem 0 1.75rem; }
.hub-reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
.hub-review { margin: 0; padding: 1.1rem 1.2rem; border-top: 2px solid var(--h-ink); background: #fff; }
.hub-review-avatar { width: 2.6rem; height: 2.6rem; border-radius: 50%; display: grid; place-items: center; margin-bottom: .7rem; background: var(--h-ink); color: #fff; font-weight: 700; font-size: .85rem; letter-spacing: .04em; }
.hub-review figcaption strong { display: block; font-family: var(--h-display); font-size: 1.15rem; color: var(--h-ink); }
.hub-review figcaption em { display: block; color: var(--h-ink3); font-size: .82rem; font-style: normal; margin: .1rem 0 .6rem; }
.hub-review blockquote { margin: 0; font-family: var(--h-display); font-size: 1.05rem; line-height: 1.5; color: var(--h-ink); border: 0; padding: 0; }
.hub-reviews-note { text-align: center; font-size: .76rem; color: var(--h-ink3); margin-top: 1rem; }

/* Pricing cards (hub look, also used on the Price sub-page of hub-mode products) */
.hub-pricing { max-width: 66rem; margin: 2rem 0 1.5rem; }
.hub-body > .hub-pricing { width: min(66rem, calc(100vw - 2rem)); max-width: none; margin: 2rem 0 1.5rem 50%; transform: translateX(-50%); box-sizing: border-box; }
.hub-pricing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(14.5rem, 1fr)); gap: 1.1rem; align-items: stretch; }
.hub-plan { position: relative; border: 1px solid var(--h-rule); background: #fff; padding: 1.7rem 1.1rem 1.1rem; text-align: center; display: flex; flex-direction: column; align-items: center; }
.hub-pricing-single { grid-template-columns: minmax(0, 24rem); justify-content: center; }
.hub-plan-best { border: 2px solid var(--h-ink); background: linear-gradient(180deg, var(--h-wash) 0%, #fff 38%); box-shadow: 0 14px 30px rgba(0,0,0,.12); }
.hub-plan-flag { position: absolute; top: -.8rem; left: 50%; transform: translateX(-50%); background: var(--h-red); color: #fff; font-size: .64rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; padding: .3rem .8rem; white-space: nowrap; }
.hub-plan h3 { margin: 0; font-family: var(--h-display); font-size: 1.7rem; font-weight: 700; color: var(--h-ink); letter-spacing: -.01em; }
.hub-plan-supply { font-size: .78rem; font-weight: 600; color: var(--h-ink3); margin: .15rem 0 .4rem; }
.hub-plan img.hub-plan-img { height: 9.5rem; width: auto; max-width: 100%; object-fit: contain; margin: .4rem 0; }
.hub-plan-per { margin: .4rem 0 .15rem; font-size: .8rem; font-weight: 700; color: var(--h-ink3); text-transform: uppercase; line-height: 1; }
.hub-plan-per span { font-family: var(--h-display); font-size: 3.6rem; font-weight: 700; color: var(--h-ink); letter-spacing: -.03em; text-transform: none; }
.hub-plan-best .hub-plan-per span { color: var(--h-red); }
.hub-plan-total { font-size: .92rem; color: var(--h-ink); margin-bottom: .6rem; }
.hub-plan-total s { color: var(--h-ink3); margin-right: .35rem; }
.hub-plan-save { width: 100%; background: var(--h-ink); color: #fff; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: .4rem .6rem; margin-bottom: .7rem; }
.hub-plan ul { list-style: none; padding: 0; margin: 0 0 1rem; width: 100%; font-size: .88rem; color: var(--h-ink2); }
.hub-plan li { padding: .4rem 0; border-bottom: 1px solid var(--h-rule); }
.hub-plan li:first-child { border-top: 1px solid var(--h-rule); }
.hub-plan-buy { margin-top: auto; width: 100%; display: flex; align-items: center; justify-content: center; gap: .5rem; background: var(--h-red); color: #fff !important; font-weight: 800; font-size: .85rem; letter-spacing: .1em; text-transform: uppercase; text-decoration: none !important; padding: .95rem .6rem; }
.hub-plan-buy:hover { background: var(--h-red-dark); }
.hub-plan-cards { height: auto !important; width: 100%; max-width: 14rem; margin: .8rem 0 0; }
.hub-pricing-note { font-size: .78rem; color: var(--h-ink3); text-align: center; margin: .9rem 0 0; }

/* Bonus band */
.hub-bonuses { margin: 4rem 0 2.5rem; }
.hub-bonuses-head { background: #0a0a0a; color: #fff; text-align: center; padding: 3.25rem 1rem 3.5rem; border-bottom: 4px solid #c8102e; }
.hub-pill { display: inline-block; border: 1px solid rgba(255,255,255,.55); color: #fff; padding: .35rem .9rem; font-size: .66rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 1.1rem; }
.hub-bonuses-title { font-family: var(--h-display); font-weight: 700; font-size: clamp(1.8rem, 4vw, 2.8rem); line-height: 1.08; letter-spacing: -.02em; max-width: 46rem; margin: 0 auto .8rem; color: #fff; }
.hub-bonuses-title span { color: #ff6b81; font-style: italic; }
.hub-bonuses-head p { color: #d4d4d4; max-width: 36rem; margin: 0 auto 1rem; }
.hub-bonuses-ticks { list-style: none; padding: 0; margin: 0; display: flex; justify-content: center; flex-wrap: wrap; gap: .5rem 1.4rem; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.hub-bonuses-grid { max-width: 66rem; margin: 2rem auto 0; padding: 0 1rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.hub-bonus { position: relative; background: #fff; border: 1px solid var(--h-rule); border-top: 2px solid var(--h-ink); padding: .9rem .9rem 1.3rem; text-align: center; }
.hub-bonus img { width: 100%; height: 11.5rem; object-fit: cover; }
.hub-bonus-tag { position: absolute; top: 1.4rem; left: 1.4rem; background: #c8102e; color: #fff; font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: .25rem .6rem; z-index: 1; }
.hub-bonus h3 { font-family: var(--h-display); font-size: 1.35rem; font-weight: 700; color: var(--h-ink); margin: 1rem 0 .4rem; line-height: 1.2; }
.hub-bonus-price { font-size: .9rem; color: var(--h-ink3); margin: 0 0 .6rem; }
.hub-bonus-price b { background: var(--h-ink); color: #fff; padding: .2rem .6rem; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; margin-left: .3rem; }
.hub-bonus p:last-child { font-size: .9rem; line-height: 1.55; color: var(--h-ink2); margin: 0; }
.hub-bonuses-bar { max-width: 64rem; margin: 1.5rem auto 0; background: var(--h-wash); border-top: 2px solid var(--h-ink); padding: 1rem 1.3rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.hub-bonuses-bar small { display: block; font-size: .64rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--h-ink3); }
.hub-bonuses-bar s { color: var(--h-ink3); margin-right: .4rem; }
.hub-bonuses-bar b { color: var(--h-red); font-family: var(--h-display); font-size: 1.5rem; }
.hub-bonuses-bar .hub-btn-main { width: auto; max-width: none; padding: .85rem 1.3rem; }
.hub-bonuses-note { max-width: 64rem; margin: .8rem auto 0; padding: 0 1rem; font-size: .8rem; color: var(--h-ink3); text-align: center; }

/* Guarantee */
.hub-guarantee { display: grid; grid-template-columns: 15rem 1fr; gap: 2.5rem; align-items: center; margin: 3.5rem 0 2rem 50%; border-top: 2px solid var(--h-ink); padding-top: 2.25rem; }
.hub-guarantee-badge { width: 12.5rem; height: 12.5rem; border-radius: 50%; margin: 0 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #0a0a0a; border: 6px solid #fff; box-shadow: 0 0 0 3px #c8102e, 0 18px 34px rgba(0,0,0,.25); color: #fff; text-transform: uppercase; }
.hub-guarantee-badge b { font-family: var(--h-display); font-size: 4.2rem; line-height: 1; font-weight: 700; }
.hub-guarantee-badge span { font-size: 1rem; font-weight: 800; letter-spacing: .2em; }
.hub-guarantee-badge small { font-size: .62rem; font-weight: 700; letter-spacing: .12em; max-width: 8.5rem; text-align: center; line-height: 1.4; margin-top: .3rem; color: #ff9aa9; }
.hub-guarantee-title { font-family: var(--h-display); font-weight: 700; font-size: clamp(1.5rem, 3vw, 2.1rem); color: var(--h-ink); line-height: 1.12; letter-spacing: -.02em; margin: 0 0 .9rem; }
.hub-guarantee-text p { margin: 0 0 .8rem; font-size: 1rem; line-height: 1.6; }
.hub-guarantee-text ul { padding: 0; list-style: none; margin: 0 0 1.2rem; }
.hub-guarantee-text li { position: relative; padding: .35rem 0 .35rem 1.5rem; font-size: .96rem; border-bottom: 1px solid var(--h-rule); }
.hub-guarantee-text li::before { content: ''; position: absolute; left: .15rem; top: .75rem; width: .4rem; height: .7rem; border: solid var(--h-red); border-width: 0 2px 2px 0; transform: rotate(40deg); }
.hub-guarantee .hub-btn-main { width: auto; max-width: none; }

/* Hub FAQ, sources, disclaimer sit in the same column */
.hub-body > section, .hub-body > aside, .hub-body > div { max-width: none; }

@media (max-width: 900px) {
  .hub-hero { background: #fff; }
  .hub-hero-inner { grid-template-columns: 1fr; padding-top: 1.5rem; gap: 1.5rem; }
  .hub-hero-img { order: -1; background: var(--h-wash); padding: 1.25rem 0; }
  .hub-hero-img img { max-width: 15rem; }
  .hub-bar-links { display: none; }
  .hub-bar-cta { margin-left: auto; }
  .hub-take-top, .hub-take-cards, .hub-reviews-grid, .hub-bonuses-grid, .hub-guarantee { grid-template-columns: 1fr; }
  .hub-take { padding: 1.5rem 1rem; }
  .hub-seals-inner { justify-content: center; }
  .hub-guarantee { gap: 1.5rem; }
  .hub-btn { padding: .9rem 1rem; }
}
