/*
Theme Name: Best Home Gym Equipment
Theme URI: https://besthomegymequipment.com
Author: Best Home Gym Equipment
Author URI: https://besthomegymequipment.com
Description: Standalone editorial affiliate theme with automatic content installation for BestHomeGymEquipment.com.
Version: 1.1.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: best-home-gym-equipment
License: GPL-2.0-or-later
*/

:root { --ink:#11120f; --paper:#f2efe7; --acid:#d8ff39; --coral:#ff674d; --lilac:#bca7ff; --blue:#4c7cff; --font-display:"Anton"; --font-body:"Archivo"; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-body), Arial, sans-serif; }
a { color:inherit; text-decoration:none; }
button, input { font:inherit; }
.back-to-top { position:fixed; z-index:40; right:1.25rem; bottom:1.25rem; width:54px; height:54px; display:grid; place-items:center; background:var(--acid); color:var(--ink); border:2px solid var(--ink); box-shadow:5px 5px 0 var(--ink); font-family:var(--font-display),Impact,sans-serif; font-size:2rem; line-height:1; transition:background .18s ease,transform .18s ease,box-shadow .18s ease; }
.back-to-top:hover { background:var(--coral); transform:translateY(-3px); box-shadow:5px 8px 0 var(--ink); }
.back-to-top:focus-visible { outline:4px solid var(--blue); outline-offset:3px; }
.editorial-page:has(.floating-buy) .back-to-top { bottom:7.5rem; }
.ticker { display:flex; justify-content:center; overflow:hidden; background:var(--acid); border-bottom:2px solid var(--ink); font-size:.7rem; font-weight:800; letter-spacing:.16em; }
.ticker-track { width:100%; max-width:900px; display:flex; justify-content:center; gap:clamp(1rem,4vw,2.2rem); align-items:center; padding:.55rem 1rem; }
.ticker-track span { white-space:nowrap; }
.ticker i { font-style:normal; font-size:.65rem; }
@keyframes marquee { to { transform:translateX(-50%); } }
.site-header { height:94px; padding:0 clamp(1.25rem,4vw,4.5rem); display:flex; align-items:center; justify-content:space-between; border-bottom:2px solid var(--ink); }
.brand,.footer-brand { display:flex; align-items:center; gap:1rem; font-size:.76rem; font-weight:800; line-height:1.05; letter-spacing:-.02em; }
.brand-mark { width:42px; height:42px; position:relative; flex:0 0 auto; display:grid; place-items:center; overflow:visible; background:var(--ink); color:var(--acid); border-radius:50%; transform:rotate(-8deg); }
.brand-letter { position:relative; z-index:2; font-family:var(--font-display); font-size:1.55rem; line-height:1; }
.brand-dumbbell { position:absolute; z-index:1; left:50%; top:50%; width:58px; height:15px; transform:translate(-50%,-50%) rotate(8deg); }
.brand-dumbbell i { position:absolute; display:block; }
.brand-dumbbell i:first-child,.brand-dumbbell i:last-child { top:0; width:8px; height:15px; background:var(--ink); border:2px solid var(--acid); border-radius:2px; }
.brand-dumbbell i:first-child { left:0; }
.brand-dumbbell i:nth-child(2) { left:6px; right:6px; top:5px; height:5px; background:var(--acid); }
.brand-dumbbell i:last-child { right:0; }
.desktop-nav { display:flex; gap:2.5rem; font-size:.82rem; font-weight:700; }
.desktop-nav a { position:relative; }
.desktop-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-5px; height:2px; background:var(--ink); transition:.2s; }
.desktop-nav a:hover::after { right:0; }
.header-cta,.button { display:inline-flex; align-items:center; justify-content:space-between; gap:2rem; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.03em; border:2px solid var(--ink); padding:1rem 1.2rem; transition:.2s; }
.header-cta { background:var(--ink); color:white; min-width:175px; }
.header-cta:hover,.button-dark:hover { background:var(--coral); color:var(--ink); }
.hero { min-height:clamp(680px,75vw,900px); position:relative; display:flex; align-items:center; overflow:hidden; color:var(--paper); border-bottom:2px solid var(--ink); background-image:linear-gradient(90deg,rgba(8,9,7,.98) 0%,rgba(8,9,7,.92) 35%,rgba(8,9,7,.28) 67%,rgba(8,9,7,.02) 100%),url('assets/hero-background-v2.webp'); background-size:cover; background-position:center; }
.hero-copy { position:relative; z-index:1; width:min(76%,1120px); padding:clamp(4rem,7vw,7rem) clamp(1.25rem,4vw,4.5rem); }
.kicker { margin:0 0 1.35rem; font-size:.72rem; line-height:1.3; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }
.kicker span { background:var(--acid); color:var(--ink); padding:.35rem .45rem; }
h1,h2,h3 { font-family:var(--font-display), Impact, sans-serif; font-weight:400; margin:0; text-transform:uppercase; line-height:.88; letter-spacing:-.025em; }
h1 { max-width:930px; font-size:clamp(4.2rem,8.2vw,9.2rem); text-wrap:balance; }
.hero-nowrap { white-space:nowrap; }
h1 em,h2 em { color:var(--coral); font-style:normal; }
.hero-intro { max-width:590px; color:rgba(242,239,231,.88); font-size:clamp(1rem,1.4vw,1.32rem); line-height:1.55; margin:2rem 0; }
.hero-actions { display:flex; gap:1.5rem; align-items:center; }
.button-dark { background:var(--acid); color:var(--ink); min-width:210px; }
.hero .button-dark:hover { background:var(--coral); }
.text-link { font-size:.78rem; font-weight:800; text-transform:uppercase; border-bottom:2px solid currentColor; padding:.4rem 0; }
.proof-strip { display:grid; grid-template-columns:repeat(3,1fr); border-bottom:2px solid var(--ink); }
.proof-strip > div { min-height:100px; display:flex; align-items:center; gap:1rem; padding:1.3rem clamp(1.25rem,3vw,3rem); }
.proof-strip > div:not(:last-child) { border-right:2px solid var(--ink); }
.proof-strip b { font-family:var(--font-display); font-size:2.3rem; color:var(--coral); }
.proof-strip span { display:grid; gap:.2rem; font-size:.72rem; line-height:1.4; }
.proof-strip strong { font-size:.78rem; text-transform:uppercase; }
.section { padding:clamp(4rem,8vw,8rem) clamp(1.25rem,4vw,4.5rem); border-bottom:2px solid var(--ink); }
.section-heading { margin-bottom:3.5rem; }
.split-heading,.picks-heading { display:grid; grid-template-columns:minmax(500px,600px) minmax(420px,760px); justify-content:start; align-items:start; gap:clamp(2rem,4vw,5rem); }
h2 { font-size:clamp(3.7rem,7vw,7.4rem); }
.section-intro-copy { max-width:760px; display:grid; gap:1rem; align-self:start; padding-top:0; }
.section-intro-copy p { margin:0; font-size:clamp(1rem,1.15vw,1.14rem); line-height:1.72; }
.heading-line { white-space:nowrap; }
.category-grid { display:grid; grid-template-columns:repeat(4,1fr); border:2px solid var(--ink); }
.category-card { min-height:360px; padding:1.25rem; display:flex; flex-direction:column; position:relative; transition:transform .2s; }
.category-card:not(:last-child) { border-right:2px solid var(--ink); }
.category-card:hover { transform:translateY(-8px); z-index:2; box-shadow:0 8px 0 var(--ink); }
.acid { background:var(--acid); }.orange { background:var(--coral); }.lilac { background:var(--lilac); }.blue { background:var(--blue); color:white; }
.card-number { font-size:.68rem; font-weight:800; }
.category-icon { flex:1; display:flex; align-items:center; justify-content:center; }
.category-icon i { width:34px; height:64px; background:currentColor; border-radius:4px; }
.category-icon b { width:80px; height:14px; background:currentColor; display:block; }
.category-copy { display:grid; gap:.4rem; }
.category-copy strong { font-family:var(--font-display); font-size:2rem; text-transform:uppercase; font-weight:400; }
.category-copy small { font-size:.72rem; font-weight:700; }
.round-arrow { position:absolute; right:1rem; top:1rem; width:34px; height:34px; border:2px solid currentColor; border-radius:50%; display:grid; place-items:center; }
.picks-section { background:#d8d3c8; }
.picks-grid { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:1.3rem; margin-bottom:2rem; }
.pick-card { min-height:560px; border:2px solid var(--ink); padding:1.35rem; display:flex; flex-direction:column; }
.feature-dark { background:var(--ink); color:white; }.feature-coral { background:var(--coral); }.feature-lime { background:var(--acid); }
.pick-top { display:flex; justify-content:space-between; align-items:start; font-size:.65rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.pick-top > span { border:1.5px solid currentColor; border-radius:30px; padding:.35rem .6rem; }
.pick-top > b { font-family:var(--font-display); font-size:2.5rem; font-weight:400; }
.pick-top small { font-family:var(--font-body); font-size:.6rem; }
.product-shape { flex:1; display:grid; place-items:center; }
.product-shape span { width:150px; aspect-ratio:1; display:grid; place-items:center; border:12px solid currentColor; border-radius:50%; font-family:var(--font-display); font-size:2.8rem; transform:rotate(-8deg); opacity:.9; }
.feature-dark .product-shape span { color:var(--acid); }
.pick-copy p { font-size:.64rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.pick-copy h3 { font-size:clamp(2rem,3vw,3.3rem); margin:.5rem 0 1rem; }
.pick-copy > span { display:block; font-size:.78rem; line-height:1.5; max-width:380px; }
.pick-card > a { border-top:1.5px solid currentColor; margin-top:1.4rem; padding-top:1rem; display:flex; justify-content:space-between; font-size:.7rem; font-weight:800; text-transform:uppercase; }
.button-outline { width:max-content; margin-left:auto; }
.button-outline:hover { background:var(--ink); color:white; }
.method-section { display:grid; grid-template-columns:1fr 1fr; background:var(--ink); color:white; border-bottom:2px solid var(--ink); }
.method-title { padding:clamp(4rem,8vw,8rem) clamp(1.25rem,4vw,4.5rem); border-right:1px solid #555; background:radial-gradient(circle at 20% 90%, rgba(216,255,57,.15), transparent 35%); }
.method-copy { padding:clamp(4rem,8vw,8rem) clamp(1.25rem,4vw,4.5rem); }
.method-copy > p { font-size:1.05rem; line-height:1.65; margin:0 0 2.5rem; max-width:650px; }
.method-copy ol { padding:0; margin:0; list-style:none; border-top:1px solid #555; }
.method-copy li { display:grid; grid-template-columns:60px 1fr; gap:1rem; padding:1.5rem 0; border-bottom:1px solid #555; }
.method-copy li > span { font-family:var(--font-display); color:var(--acid); font-size:1.5rem; }
.method-copy li b { text-transform:uppercase; font-size:.85rem; }
.method-copy li p { color:#aaa; font-size:.78rem; line-height:1.5; margin:.45rem 0 0; }
.newsletter { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:5rem; padding:clamp(4rem,7vw,7rem) clamp(1.25rem,4vw,4.5rem); background:var(--acid); border-bottom:2px solid var(--ink); }
.newsletter h2 em { color:var(--ink); -webkit-text-stroke:2px var(--ink); -webkit-text-fill-color:transparent; }
.newsletter form > label { display:block; font-weight:700; margin-bottom:1rem; }
.newsletter form > div { display:flex; border-bottom:3px solid var(--ink); }
.newsletter input { flex:1; min-width:0; padding:1rem 0; border:0; background:transparent; outline:0; font-size:.82rem; font-weight:700; }
.newsletter button { border:0; background:var(--ink); color:white; padding:0 1.5rem; font-weight:800; cursor:pointer; }
.newsletter small { display:block; font-size:.62rem; margin-top:.8rem; }
footer { padding:3rem clamp(1.25rem,4vw,4.5rem); display:grid; grid-template-columns:1.2fr .8fr 1.5fr; align-items:start; gap:2rem; background:#e8e4da; font-size:.65rem; line-height:1.5; }
.footer-links { display:grid; gap:.45rem; font-weight:700; text-transform:uppercase; }
footer p { margin:0; max-width:440px; } footer > span { grid-column:1/-1; padding-top:2rem; border-top:1px solid #aaa; text-transform:uppercase; }
@media (max-width:900px) {
  .desktop-nav { display:none; }.hero { min-height:760px; background-position:62% center; background-image:linear-gradient(90deg,rgba(8,9,7,.97) 0%,rgba(8,9,7,.84) 55%,rgba(8,9,7,.36) 100%),url('assets/hero-background-v2.webp'); }.hero-copy { width:82%; }
  .split-heading,.picks-heading { display:block; }.section-intro-copy { max-width:720px; margin-top:1.5rem; padding-top:0; }
  .proof-strip { grid-template-columns:1fr; }.proof-strip > div:not(:last-child) { border-right:0; border-bottom:2px solid var(--ink); }
  .category-grid { grid-template-columns:1fr 1fr; }.category-card:nth-child(2) { border-right:0; }.category-card:nth-child(-n+2) { border-bottom:2px solid var(--ink); }
  .picks-grid { grid-template-columns:1fr; }.pick-card { min-height:520px; }
  .method-section,.newsletter { grid-template-columns:1fr; }.method-title { border-right:0; border-bottom:1px solid #555; }.newsletter { gap:2rem; }
  footer { grid-template-columns:1fr 1fr; } footer p { grid-column:1/-1; }
}
@media (max-width:580px) {
  .site-header { height:78px; }.header-cta { min-width:auto; padding:.8rem; }.header-cta span { display:none; }
  .brand { font-size:.62rem; gap:.85rem; }.brand-mark { width:36px; height:36px; }.brand-letter { font-size:1.35rem; }.brand-dumbbell { transform:translate(-50%,-50%) rotate(8deg) scale(.86); }
  .hero { min-height:700px; align-items:flex-end; background-position:66% center; background-image:linear-gradient(180deg,rgba(8,9,7,.28) 0%,rgba(8,9,7,.8) 40%,rgba(8,9,7,.98) 100%),url('assets/hero-background-v2.webp'); }.hero-copy { width:100%; padding-top:10rem; } h1 { font-size:clamp(3.7rem,18vw,5.4rem); }.hero-nowrap { white-space:normal; }
  .hero-actions { align-items:stretch; flex-direction:column; }.text-link { width:max-content; }
  .split-heading,.picks-heading { display:block; }.section-intro-copy { margin-top:1.5rem; }
  .category-grid { grid-template-columns:1fr; }.category-card { min-height:290px; border-right:0!important; border-bottom:2px solid var(--ink); }.category-card:last-child { border-bottom:0; }
  .button-outline { width:100%; }.newsletter form > div { flex-direction:column; }.newsletter button { padding:1rem; }
  footer { grid-template-columns:1fr; } footer p { grid-column:auto; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.ticker-track { animation:none; } * { transition:none!important; } }

/* Editorial category and review templates */
.editorial-page { overflow:clip; }
.editorial-header { background:var(--paper); }
.breadcrumbs { padding:1rem clamp(1.25rem,4vw,4.5rem); border-bottom:1px solid #aaa; background:#e8e4da; }
.breadcrumbs ol { display:flex; flex-wrap:wrap; gap:.65rem; align-items:center; margin:0; padding:0; list-style:none; font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.breadcrumbs li { display:flex; gap:.65rem; align-items:center; }.breadcrumbs b { color:#888; }.breadcrumbs [aria-current="page"] { color:#666; }
.eyebrow-chip { display:inline-block; margin:0 0 1.5rem; padding:.45rem .6rem; background:var(--acid); color:var(--ink); font-size:.68rem!important; font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.category-masthead { min-height:560px; position:relative; display:flex; align-items:end; padding:clamp(4rem,8vw,8rem) clamp(1.25rem,4vw,4.5rem); background:var(--ink); color:var(--paper); border-bottom:2px solid var(--ink); }
.category-masthead > div { max-width:1000px; }.category-masthead h1,.review-hero h1 { font-size:clamp(5rem,11vw,11.5rem); }.category-masthead h1 em,.review-hero h1 em { color:var(--coral); font-style:normal; }
.category-masthead > div > p:last-child { max-width:700px; margin:2rem 0 0; color:#c8c5bd; font-size:clamp(1.05rem,1.5vw,1.35rem); line-height:1.55; }
.floating-index { position:absolute; right:clamp(1.25rem,4vw,4.5rem); top:clamp(2rem,5vw,5rem); width:210px; aspect-ratio:1; display:flex; flex-direction:column; justify-content:center; padding:1.5rem; background:var(--acid); color:var(--ink); border:2px solid var(--paper); box-shadow:12px 12px 0 var(--coral); transform:rotate(3deg); }
.floating-index span,.floating-index b { font-size:.65rem; text-transform:uppercase; letter-spacing:.1em; }.floating-index strong { font-family:var(--font-display); font-size:6rem; font-weight:400; line-height:.9; }.floating-index p { margin:.2rem 0 .8rem; font-weight:800; text-transform:uppercase; }
.category-jump { min-height:74px; display:flex; align-items:center; gap:2rem; padding:0 clamp(1.25rem,4vw,4.5rem); border-bottom:2px solid var(--ink); background:var(--acid); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.category-jump b { margin-right:auto; }.category-jump a { border-bottom:2px solid transparent; padding:.4rem 0; }.category-jump a:hover { border-color:var(--ink); }
.editorial-shell,.review-shell { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:clamp(2rem,4vw,5rem); padding:clamp(4rem,7vw,7rem) clamp(1.25rem,4vw,4.5rem); border-bottom:2px solid var(--ink); }
.category-content,.review-body { min-width:0; }.content-intro { margin-bottom:4rem; }.section-label { margin:0 0 1rem; font-size:.65rem!important; line-height:1.2!important; font-weight:800; text-transform:uppercase; letter-spacing:.13em; }
.content-intro h2,.rating-section h2,.review-section h2,.buying-guide h2,.comparison-block h2,.faq-block h2,.alternatives h2,.review-method h2,.final-verdict h2,.spec-panel h2 { font-size:clamp(3.5rem,6.5vw,7rem); }
.content-intro h2 em,.buying-guide h2 em,.rating-section h2 em,.review-section h2 em,.review-method h2 em,.final-verdict h2 em { color:var(--coral); font-style:normal; }.content-intro > p:last-child { max-width:780px; margin:1.5rem 0 0; font-size:1.15rem; line-height:1.65; }
.winner-card { display:grid; grid-template-columns:minmax(280px,.8fr) 1.2fr; min-height:620px; margin-bottom:2rem; border:2px solid var(--ink); background:#d8d3c8; }
.winner-art { min-height:500px; position:relative; overflow:hidden; display:grid; place-items:center; background:var(--ink); border-right:2px solid var(--ink); color:var(--acid); }
.winner-art::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 70%,rgba(216,255,57,.38),transparent 35%); }.winner-art span { z-index:1; width:170px; aspect-ratio:1; display:grid; place-items:center; border:14px solid currentColor; border-radius:50%; font-family:var(--font-display); font-size:3.5rem; transform:rotate(-9deg); }
.winner-art i { position:absolute; width:18px; height:70%; background:currentColor; top:13%; }.winner-art i:nth-of-type(1){ left:18%; }.winner-art i:nth-of-type(2){ right:18%; }.winner-art b { position:absolute; top:20%; width:68%; height:15px; background:currentColor; }
.winner-copy { padding:clamp(2rem,4vw,4rem); display:flex; flex-direction:column; justify-content:center; }.award-row { display:flex; justify-content:space-between; gap:1rem; align-items:start; }.award-row > span { padding:.5rem .8rem; background:var(--coral); border:2px solid var(--ink); border-radius:30px; font-size:.7rem; font-weight:800; text-transform:uppercase; }
.score-ring { width:96px; height:96px; flex:0 0 auto; display:grid; grid-template-columns:1fr auto; align-content:center; justify-content:center; padding:.8rem; border:4px solid currentColor; border-radius:50%; text-align:center; transform:rotate(3deg); }.score-ring strong { font-family:var(--font-display); font-size:2.7rem; line-height:.8; font-weight:400; }.score-ring > span { align-self:end; font-size:.58rem; font-weight:800; }.score-ring small { grid-column:1/-1; margin-top:.3rem; font-size:.55rem; font-weight:800; text-transform:uppercase; }
.mini-label { margin:2rem 0 .5rem; font-size:.65rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }.winner-copy h2 { font-size:clamp(3rem,5vw,5.5rem); }.winner-copy > p:not(.mini-label) { font-size:1rem; line-height:1.6; }.winner-copy ul,.verdict-lists ul { padding-left:1.2rem; line-height:1.75; font-size:.88rem; }.card-actions { display:flex; align-items:center; gap:1.5rem; margin-top:1.5rem; }.solid-acid { background:var(--acid); }.solid-acid:hover { background:var(--coral); }.inline-price { display:grid; font-size:.72rem; }.inline-price span { text-transform:uppercase; }.inline-price b { font-size:1.2rem; }
.ranked-picks { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-bottom:5rem; }.rank-card { min-height:480px; display:flex; flex-direction:column; padding:1.4rem; border:2px solid var(--ink); }.rank-head { display:flex; align-items:start; justify-content:space-between; gap:.5rem; }.rank-head > span { font-family:var(--font-display); font-size:2.3rem; }.rank-head > b { max-width:110px; font-size:.62rem; text-transform:uppercase; }.rank-card .score-ring { width:68px; height:68px; border-width:3px; padding:.5rem; }.rank-card .score-ring strong { font-size:1.8rem; }.rank-card .score-ring small { display:none; }.rank-card h3 { margin:3rem 0 1rem; font-size:clamp(2.2rem,3.2vw,3.4rem); }.rank-card > p { font-size:.82rem; line-height:1.55; }.rank-card ul { padding:0; list-style:none; font-size:.7rem; font-weight:700; line-height:1.9; }.rank-card li::before { content:"+"; margin-right:.5rem; }.rank-card > div:last-child { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin-top:auto; padding-top:1rem; border-top:1.5px solid currentColor; }.rank-card > div:last-child strong { font-size:.78rem; }.rank-card > div:last-child a { font-size:.68rem; font-weight:800; text-transform:uppercase; }
.comparison-block { padding:clamp(3rem,6vw,6rem) 0; border-top:2px solid var(--ink); }.table-scroll { overflow-x:auto; margin:2rem 0 1rem; border:2px solid var(--ink); }.comparison-block table { width:100%; border-collapse:collapse; min-width:700px; background:var(--paper); font-size:.8rem; }.comparison-block th,.comparison-block td { padding:1.15rem; border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); text-align:left; }.comparison-block thead { background:var(--acid); color:var(--ink); text-transform:uppercase; font-size:.65rem; }.comparison-block thead th { border-color:var(--ink); }.comparison-block tbody th { font-weight:800; }.comparison-block small,.spec-panel small { display:block; color:#666; font-size:.66rem; line-height:1.5; }
.buying-guide { padding:clamp(4rem,7vw,7rem) 0; border-top:2px solid var(--ink); }.guide-grid { display:grid; grid-template-columns:1fr 1fr; margin-top:3rem; border:2px solid var(--ink); }.guide-grid article { min-height:300px; padding:2rem; }.guide-grid article:nth-child(odd){ border-right:2px solid var(--ink); }.guide-grid article:nth-child(-n+2){ border-bottom:2px solid var(--ink); }.guide-grid span { font-family:var(--font-display); font-size:2.5rem; color:var(--coral); }.guide-grid h3 { margin:3rem 0 1rem; font-size:2rem; }.guide-grid p { font-size:.85rem; line-height:1.6; }
.faq-block { padding:clamp(4rem,7vw,7rem) 0; border-top:2px solid var(--ink); }.faq-block h2 { margin-bottom:2.5rem; }.faq-block details { border-top:2px solid var(--ink); }.faq-block details:last-child { border-bottom:2px solid var(--ink); }.faq-block summary { display:flex; justify-content:space-between; gap:2rem; padding:1.5rem 0; cursor:pointer; list-style:none; font-size:1.05rem; font-weight:800; }.faq-block summary::-webkit-details-marker { display:none; }.faq-block summary span { font-family:var(--font-display); font-size:1.8rem; transition:.2s; }.faq-block details[open] summary span { transform:rotate(45deg); }.faq-block details p { max-width:760px; margin:0 0 1.5rem; font-size:.9rem; line-height:1.65; }
.sticky-stack { position:sticky; top:1rem; display:grid; gap:1rem; }.sidebar-card { padding:1.4rem; border:2px solid var(--ink); background:var(--paper); }.sidebar-card h3 { margin:1rem 0; font-size:2rem; }.sidebar-card > p:not(.section-label) { font-size:.8rem; line-height:1.55; }.sidebar-card > a { display:flex; align-items:center; gap:.7rem; padding:.8rem 0; border-top:1px solid currentColor; font-size:.68rem; text-transform:uppercase; }.sidebar-card > a span { font-family:var(--font-display); font-size:1.4rem; }.sidebar-card > a b { flex:1; }.sidebar-card > a em { font-style:normal; font-weight:800; }.dark-card { background:var(--ink); color:white; }.acid-card { background:var(--acid); }.big-symbol { font-family:var(--font-display); font-size:5rem; }

.review-hero { min-height:780px; display:grid; grid-template-columns:1.15fr .85fr; background:var(--ink); color:var(--paper); border-bottom:2px solid var(--ink); }.review-hero-copy { padding:clamp(4rem,7vw,7rem) clamp(1.25rem,4vw,4.5rem); display:flex; flex-direction:column; justify-content:center; }.review-dek { max-width:760px; margin:2rem 0; color:#d1cec6; font-size:clamp(1.1rem,1.7vw,1.5rem); line-height:1.55; }.byline { display:flex; align-items:center; gap:1rem; margin-top:1rem; }.author-avatar { width:48px; height:48px; display:grid; place-items:center; background:var(--acid); color:var(--ink); border-radius:50%; font-size:.72rem; font-weight:800; }.byline p { display:grid; gap:.3rem; margin:0; font-size:.72rem; }.byline small { color:#999; }
.review-hero-art { min-height:620px; position:relative; overflow:hidden; display:grid; place-items:center; background:radial-gradient(circle at 55% 55%,#b2d81d 0%,#3b4812 30%,#10110e 64%); border-left:1px solid #555; }.rack-illustration { width:72%; height:62%; position:relative; }.rack-illustration i { position:absolute; top:0; bottom:0; width:32px; border:5px solid #bbb; background:repeating-linear-gradient(#242521 0 17px,#bbb 18px 23px,#242521 24px 42px); }.rack-illustration i:first-child { left:10%; }.rack-illustration i:nth-child(2) { right:10%; }.rack-illustration b { position:absolute; top:2%; left:10%; right:10%; height:22px; background:#bbb; }.rack-illustration span { position:absolute; inset:0; display:grid; place-items:center; font-family:var(--font-display); font-size:5rem; color:var(--acid); transform:rotate(-7deg); }.hero-score { position:absolute; right:1.5rem; bottom:1.5rem; width:200px; padding:1.2rem; background:var(--coral); color:var(--ink); border:2px solid var(--paper); box-shadow:8px 8px 0 var(--acid); }.hero-score .score-ring { width:84px; height:84px; margin-left:auto; }.hero-score > p { margin:1rem 0 .3rem; font-size:.6rem; font-weight:800; letter-spacing:.12em; }.hero-score > strong { font-size:.72rem; line-height:1.4; }
.disclosure-bar { display:flex; align-items:center; gap:2rem; padding:1rem clamp(1.25rem,4vw,4.5rem); background:var(--acid); border-bottom:2px solid var(--ink); font-size:.7rem; }.disclosure-bar b { text-transform:uppercase; }.disclosure-bar p { flex:1; margin:0; }.disclosure-bar a { font-weight:800; text-transform:uppercase; }
.review-shell { grid-template-columns:minmax(0,1fr) 310px; }.review-body > section { scroll-margin-top:1rem; }.verdict-card { padding:clamp(2rem,4vw,4rem); background:#d8d3c8; border:2px solid var(--ink); }.verdict-card h2 { font-size:clamp(4rem,7vw,7rem); }.verdict-card > div:first-child > p:last-child { max-width:900px; font-size:1.05rem; line-height:1.7; }.verdict-lists { display:grid; grid-template-columns:1fr 1fr; margin-top:2rem; border:2px solid var(--ink); }.verdict-lists article { padding:1.5rem; }.verdict-lists article:first-child { background:var(--acid); border-right:2px solid var(--ink); }.verdict-lists article:last-child { background:var(--coral); }.verdict-lists h3 { font-size:1.8rem; }
.rating-section,.review-section,.alternatives,.review-method { padding:clamp(4rem,7vw,7rem) 0; border-bottom:2px solid var(--ink); }.rating-grid { display:grid; grid-template-columns:190px 1fr; gap:3rem; align-items:center; margin-top:3rem; }.rating-grid > .score-ring { width:175px; height:175px; border-width:8px; }.rating-grid > .score-ring strong { font-size:5.5rem; }.rating-row { display:grid; grid-template-columns:130px 1fr 36px; gap:1rem; align-items:center; margin:.9rem 0; font-size:.75rem; font-weight:700; }.rating-row > div { height:12px; background:#cbc6ba; border:1px solid var(--ink); }.rating-row i { display:block; height:100%; background:var(--coral); }.review-section .lead { max-width:800px; margin:2rem 0 1.5rem; font-size:1.35rem; line-height:1.55; font-weight:600; }.review-section > p:not(.section-label):not(.lead) { max-width:820px; font-size:1rem; line-height:1.8; }.pull-quote { max-width:800px; margin:3rem 0; padding:2rem; background:var(--acid); border:2px solid var(--ink); box-shadow:10px 10px 0 var(--ink); font-family:var(--font-display); font-size:clamp(2rem,4vw,4rem); line-height:1; text-transform:uppercase; }
.spec-panel { margin:clamp(4rem,7vw,7rem) 0; padding:clamp(2rem,4vw,4rem); background:var(--ink); color:white; }.spec-panel dl { display:grid; grid-template-columns:1fr 1fr; margin:3rem 0 1rem; border:1px solid #666; }.spec-panel dl div { display:flex; justify-content:space-between; gap:1rem; padding:1.1rem; border-bottom:1px solid #666; }.spec-panel dl div:nth-child(odd) { border-right:1px solid #666; }.spec-panel dt { color:#aaa; font-size:.68rem; text-transform:uppercase; }.spec-panel dd { margin:0; font-size:.78rem; font-weight:800; }.spec-panel small { color:#999; }
.callout-grid { display:grid; grid-template-columns:1fr 1fr; margin-top:3rem; border:2px solid var(--ink); }.callout-grid article { padding:2rem; }.callout-grid article:first-child { background:var(--lilac); border-right:2px solid var(--ink); }.callout-grid article:last-child { background:var(--coral); }.callout-grid span { font-size:.62rem; font-weight:800; letter-spacing:.12em; }.callout-grid h3 { margin:1.5rem 0 1rem; font-size:2.1rem; }.callout-grid p { font-size:.8rem; line-height:1.55; }
.alternatives > div { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:3rem; }.alternatives article { min-height:330px; display:flex; flex-direction:column; padding:1.4rem; border:2px solid var(--ink); }.alternatives article:nth-child(1){ background:var(--coral); }.alternatives article:nth-child(2){ background:var(--lilac); }.alternatives article:nth-child(3){ background:var(--acid); }.alternatives span { font-size:.62rem; font-weight:800; text-transform:uppercase; }.alternatives h3 { margin:3rem 0 1rem; font-size:2.2rem; }.alternatives p { font-size:.78rem; line-height:1.55; }.alternatives a { margin-top:auto; padding-top:1rem; border-top:1.5px solid currentColor; font-size:.68rem; font-weight:800; text-transform:uppercase; }
.review-method { background:var(--ink); color:white; padding-inline:clamp(2rem,4vw,4rem); }.review-method > p:last-child { max-width:850px; color:#bbb; font-size:1rem; line-height:1.75; }
.final-verdict { display:grid; grid-template-columns:1fr .8fr; gap:3rem; align-items:center; padding:clamp(3rem,6vw,6rem); background:var(--coral); border:2px solid var(--ink); }.final-verdict > div:last-child > p { font-size:1rem; line-height:1.6; }.final-verdict .button { margin:1rem 0; }.final-verdict small { display:block; font-size:.62rem; }
.toc a { justify-content:space-between; }.toc a span { font-family:var(--font-body); font-size:.6rem; }.sidebar-buy { display:grid; justify-items:center; gap:.7rem; padding:1.5rem; background:var(--acid); border:2px solid var(--ink); text-align:center; }.sidebar-buy > span { font-size:.6rem; font-weight:800; letter-spacing:.1em; }.sidebar-buy > b { font-family:var(--font-display); font-size:2rem; font-weight:400; text-transform:uppercase; }.sidebar-buy > small { font-size:.7rem; }.sidebar-buy > a { width:100%; padding:1rem; background:var(--ink); color:white; font-size:.68rem; font-weight:800; text-transform:uppercase; }.sidebar-buy > em { font-size:.55rem; font-style:normal; text-transform:uppercase; }
.floating-buy { position:fixed; z-index:20; right:1.5rem; bottom:1.5rem; width:min(470px,calc(100% - 3rem)); display:grid; grid-template-columns:62px 1fr auto; align-items:center; gap:1rem; padding:.7rem; background:var(--paper); border:2px solid var(--ink); box-shadow:7px 7px 0 var(--ink); }.floating-buy > div { display:grid; text-align:center; border-right:1px solid var(--ink); }.floating-buy > div span { font-size:.48rem; font-weight:800; }.floating-buy > div b { font-family:var(--font-display); font-size:2rem; }.floating-buy p { display:grid; margin:0; }.floating-buy p strong { font-size:.75rem; }.floating-buy p small { font-size:.58rem; }.floating-buy > a { padding:1rem; background:var(--acid); border:1px solid var(--ink); font-size:.65rem; font-weight:800; text-transform:uppercase; }

@media (max-width:1100px) {
  .editorial-shell,.review-shell { grid-template-columns:1fr; }.editorial-sidebar,.review-sidebar { display:none; }.ranked-picks { grid-template-columns:1fr 1fr; }.rank-card:last-child { grid-column:1/-1; }.review-hero { grid-template-columns:1fr; }.review-hero-art { min-height:560px; border-left:0; border-top:1px solid #555; }
}
@media (max-width:760px) {
  .floating-index { width:130px; right:1rem; top:1.5rem; }.floating-index strong { font-size:3.5rem; }.floating-index p { font-size:.65rem; }.category-masthead { min-height:650px; padding-top:12rem; }.category-masthead h1,.review-hero h1 { font-size:clamp(4.3rem,20vw,7rem); }.category-jump { overflow-x:auto; gap:1.3rem; white-space:nowrap; }.category-jump b { display:none; }
  .winner-card { grid-template-columns:1fr; }.winner-art { min-height:360px; border-right:0; border-bottom:2px solid var(--ink); }.ranked-picks { grid-template-columns:1fr; }.rank-card:last-child { grid-column:auto; }.guide-grid,.verdict-lists,.callout-grid,.alternatives > div,.final-verdict { grid-template-columns:1fr; }.guide-grid article { border-right:0!important; border-bottom:2px solid var(--ink); }.guide-grid article:last-child { border-bottom:0; }.verdict-lists article:first-child,.callout-grid article:first-child { border-right:0; border-bottom:2px solid var(--ink); }
  .card-actions { align-items:stretch; flex-direction:column; }.rating-grid { grid-template-columns:1fr; }.rating-grid > .score-ring { margin:auto; }.rating-row { grid-template-columns:110px 1fr 30px; gap:.6rem; }.spec-panel dl { grid-template-columns:1fr; }.spec-panel dl div:nth-child(odd) { border-right:0; }.review-hero-copy { padding-top:5rem; }.review-hero-art { min-height:480px; }.hero-score { width:170px; }.disclosure-bar { align-items:flex-start; flex-wrap:wrap; }.disclosure-bar p { flex-basis:70%; }.floating-buy { right:.75rem; bottom:.75rem; width:calc(100% - 1.5rem); grid-template-columns:52px 1fr auto; gap:.5rem; }.floating-buy p small { display:none; }.floating-buy > a { padding:.8rem .6rem; }
}

/* Silo hubs, money pages and informational guides */
.hub-hero { min-height:620px; display:grid; grid-template-columns:1fr 280px; align-items:end; gap:4rem; padding:clamp(4rem,8vw,8rem) clamp(1.25rem,4vw,4.5rem); background:var(--ink); color:var(--paper); border-bottom:2px solid var(--ink); }
.hub-hero > div { max-width:1100px; }.hub-hero h1,.topic-hero h1,.money-hero h1,.commercial-hero h1,.info-hero h1 { font-size:clamp(5rem,10vw,11rem); }.hub-hero h1 em,.topic-hero h1 em,.money-hero h1 em,.commercial-hero h1 em,.info-hero h1 em { color:var(--coral); font-style:normal; }.hub-hero > div > p:last-child { max-width:720px; color:#bbb; font-size:1.2rem; line-height:1.6; }.hub-hero > aside { padding:2rem; background:var(--acid); color:var(--ink); border:2px solid var(--paper); box-shadow:12px 12px 0 var(--coral); transform:rotate(2deg); }.hub-hero aside strong { display:block; font-family:var(--font-display); font-size:7rem; font-weight:400; line-height:.8; }.hub-hero aside span { font-size:.72rem; font-weight:800; text-transform:uppercase; }.hub-hero aside p { margin:2rem 0 0; font-size:.78rem; line-height:1.5; }
.hub-intro { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:end; padding:clamp(4rem,7vw,7rem) clamp(1.25rem,4vw,4.5rem); }.hub-intro h2,.hub-method h2,.cross-silo h2,.guide-opening h2,.budget-example h2,.source-note h2 { font-size:clamp(3.8rem,7vw,7.5rem); }.hub-intro h2 em,.hub-method h2 em,.cross-silo h2 em,.guide-opening h2 em,.budget-example h2 em { color:var(--coral); font-style:normal; }.hub-intro > p:last-child { margin:0; font-size:1.05rem; line-height:1.7; }
.hub-card-grid { display:grid; grid-template-columns:repeat(4,1fr); padding:0 clamp(1.25rem,4vw,4.5rem) clamp(4rem,7vw,7rem); }.hub-card { min-height:390px; display:flex; flex-direction:column; padding:1.5rem; border:2px solid var(--ink); margin:-1px; transition:.2s; }.hub-card[href]:hover { transform:translateY(-7px); z-index:2; box-shadow:0 7px 0 var(--ink); }.hub-card > span { font-family:var(--font-display); font-size:2.6rem; }.hub-card h2 { margin:3rem 0 1rem; font-size:clamp(2rem,3vw,3.1rem); }.hub-card p { font-size:.8rem; line-height:1.6; }.hub-card small { margin-top:auto; font-size:.62rem; font-weight:700; }.hub-card b { margin-top:1rem; padding-top:1rem; border-top:1.5px solid currentColor; font-size:.65rem; text-transform:uppercase; }.tone-0{background:var(--acid)}.tone-1{background:var(--coral)}.tone-2{background:var(--lilac)}.tone-3{background:var(--blue);color:white}
.hub-method { display:grid; grid-template-columns:.8fr 1.2fr; gap:4rem; padding:clamp(4rem,8vw,8rem) clamp(1.25rem,4vw,4.5rem); background:var(--ink); color:white; }.hub-method > div:last-child { border-top:1px solid #555; }.hub-method article { display:grid; grid-template-columns:60px 1fr; padding:1.5rem 0; border-bottom:1px solid #555; }.hub-method article b { grid-row:1/3; font-family:var(--font-display); color:var(--acid); font-size:2rem; }.hub-method article h3 { margin:0; font-size:1.7rem; }.hub-method article p { margin:.5rem 0 0; color:#aaa; font-size:.8rem; line-height:1.5; }
.topic-hero { min-height:650px; display:grid; grid-template-columns:1fr 250px; align-items:end; gap:4rem; padding:clamp(4rem,8vw,8rem) clamp(1.25rem,4vw,4.5rem); background:#d8d3c8; border-bottom:2px solid var(--ink); }.topic-hero > div > p:last-child { max-width:760px; font-size:1.2rem; line-height:1.6; }.topic-stat { padding:2rem; background:var(--coral); border:2px solid var(--ink); box-shadow:10px 10px 0 var(--acid); }.topic-stat strong { display:block; font-family:var(--font-display); font-size:6rem; line-height:.8; }.topic-stat span,.topic-stat b { display:block; font-size:.68rem; text-transform:uppercase; }.topic-stat b { margin-top:2rem; }.key-takeaway { display:grid; grid-template-columns:170px 1fr; gap:2rem; align-items:center; padding:1.5rem clamp(1.25rem,4vw,4.5rem); background:var(--acid); border-bottom:2px solid var(--ink); }.key-takeaway span { font-size:.66rem; font-weight:800; letter-spacing:.1em; }.key-takeaway p { margin:0; font-size:.9rem; line-height:1.6; }.key-takeaway a { text-decoration:underline; font-weight:800; }
.topic-shell { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:4rem; padding:clamp(4rem,7vw,7rem) clamp(1.25rem,4vw,4.5rem); }.topic-guide-grid { display:grid; grid-template-columns:1fr 1fr; border:2px solid var(--ink); }.topic-guide-grid article { min-height:300px; display:flex; flex-direction:column; padding:1.5rem; border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); }.topic-guide-grid article:nth-child(even){border-right:0}.topic-guide-grid article:nth-last-child(-n+2){border-bottom:0}.topic-guide-grid article > span { font-family:var(--font-display); font-size:2.4rem; color:var(--coral); }.topic-guide-grid h2 { margin:2rem 0 1rem; font-size:2.4rem; }.topic-guide-grid p { font-size:.78rem; line-height:1.55; }.topic-guide-grid a,.topic-guide-grid small { margin-top:auto; font-size:.65rem; font-weight:800; text-transform:uppercase; }.topic-copy { padding:clamp(4rem,7vw,7rem) 0; }.topic-copy > h2 { font-size:clamp(3.8rem,7vw,7rem); }.topic-copy h2 em { color:var(--coral); font-style:normal; }.topic-copy article { display:grid; grid-template-columns:250px 1fr; gap:2rem; padding:2rem 0; border-top:2px solid var(--ink); }.topic-copy article:last-child { border-bottom:2px solid var(--ink); }.topic-copy article h3 { margin:0; font-size:1.8rem; }.topic-copy article p { margin:0; font-size:.88rem; line-height:1.7; }
.money-hero,.commercial-hero,.info-hero { min-height:760px; display:grid; grid-template-columns:1fr 310px; gap:4rem; align-items:end; padding:clamp(4rem,7vw,7rem) clamp(1.25rem,4vw,4.5rem); background:var(--ink); color:var(--paper); border-bottom:2px solid var(--ink); }.money-hero > div > p:not(.eyebrow-chip),.commercial-hero > div > p:not(.eyebrow-chip),.info-hero > div > p:not(.eyebrow-chip) { max-width:780px; color:#bbb; font-size:1.2rem; line-height:1.6; }.money-hero > aside,.commercial-hero > aside,.info-hero > aside { display:flex; flex-direction:column; align-items:flex-start; gap:1rem; padding:1.5rem; background:var(--coral); color:var(--ink); border:2px solid var(--paper); box-shadow:10px 10px 0 var(--acid); }.money-hero aside > span,.commercial-hero aside > span,.info-hero aside > span { font-size:.62rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }.money-hero aside > b { font-family:var(--font-display); font-size:5rem; line-height:.8; }.money-hero aside h2 { font-size:2.5rem; }.money-hero aside a,.commercial-hero aside a { width:100%; padding-top:1rem; border-top:2px solid var(--ink); font-size:.68rem; font-weight:800; text-transform:uppercase; }.commercial-hero aside strong { font-size:.8rem; line-height:1.5; }.commercial-hero aside small { font-size:.55rem; text-transform:uppercase; }.info-hero aside strong { font-family:var(--font-display); font-size:8rem; font-weight:400; line-height:.8; }.info-hero aside p { margin:0; font-weight:800; text-transform:uppercase; }
.amazon-disclosure { display:flex; gap:2rem; align-items:center; padding:1rem clamp(1.25rem,4vw,4.5rem); background:var(--acid); border-bottom:2px solid var(--ink); font-size:.7rem; }.amazon-disclosure b { text-transform:uppercase; }.amazon-disclosure p { margin:0; }
.article-intro { display:grid; grid-template-columns:1fr 1fr; gap:4rem; padding:clamp(4rem,7vw,7rem) clamp(1.25rem,4vw,4.5rem); }.article-intro h2,.quick-table h2 { font-size:clamp(3.8rem,7vw,7rem); }.article-intro h2 em,.quick-table h2 em { color:var(--coral); font-style:normal; }.article-intro > div:last-child p { font-size:1rem; line-height:1.75; }.money-takeaway { margin-bottom:0; }.money-shell,.guide-shell { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:4rem; padding:clamp(4rem,7vw,7rem) clamp(1.25rem,4vw,4.5rem); border-bottom:2px solid var(--ink); }
.article-toc { padding:2rem; margin-bottom:4rem; background:#d8d3c8; border:2px solid var(--ink); }.article-toc ol { display:grid; grid-template-columns:1fr 1fr; gap:0 2rem; margin:0 0 1rem; padding:0; list-style:none; }.article-toc li { border-top:1px solid var(--ink); }.article-toc li a { display:grid; grid-template-columns:38px 1fr; gap:.5rem; padding:.9rem 0; font-size:.72rem; font-weight:800; }.article-toc li span { font-family:var(--font-display); font-size:1.2rem; }.article-toc li b { grid-column:2; font-size:.55rem; font-weight:600; text-transform:uppercase; }.article-toc > a { display:inline-block; margin-right:1.5rem; font-size:.65rem; font-weight:800; text-transform:uppercase; }.compact-toc { display:flex; flex-wrap:wrap; gap:1rem 2rem; }.compact-toc .section-label { flex-basis:100%; }.compact-toc > a { margin:0; }
.quick-table { padding-bottom:5rem; }.quick-table table { min-width:760px; width:100%; border-collapse:collapse; font-size:.75rem; }.quick-table th,.quick-table td { padding:1rem; border:1px solid var(--ink); text-align:left; }.quick-table thead { background:var(--acid); color:var(--ink); text-transform:uppercase; }.quick-table thead th { border-color:var(--ink); }.quick-table tbody td:first-child { background:var(--acid); color:var(--ink); font-weight:800; text-align:center; }.quick-table td a { font-weight:800; text-transform:uppercase; }
.quick-table tbody th .card-title-link,.comparison-block tbody th .card-title-link,.quick-table tbody td:last-child a,.comparison-block tbody td:last-child a { display:inline-flex; align-items:center; padding:.42rem .55rem; background:var(--acid); color:var(--ink); border:1px solid var(--ink); line-height:1.25; transition:background .18s ease,transform .18s ease; }
.quick-table tbody th .card-title-link:hover,.comparison-block tbody th .card-title-link:hover,.quick-table tbody td:last-child a:hover,.comparison-block tbody td:last-child a:hover { background:var(--coral); transform:translateY(-1px); }
.product-list { display:grid; gap:3rem; }.money-product { scroll-margin-top:1rem; border:2px solid var(--ink); background:#d8d3c8; }.money-product > header { display:flex; justify-content:space-between; gap:2rem; align-items:start; padding:2rem; border-bottom:2px solid var(--ink); }.money-product > header > div > span { display:inline-block; padding:.4rem .7rem; background:var(--acid); border:1px solid var(--ink); font-size:.62rem; font-weight:800; text-transform:uppercase; }.money-product > header h2 { font-size:clamp(3.5rem,6vw,6.5rem); }.product-key { display:grid; grid-template-columns:150px 1fr; gap:2rem; padding:1.25rem 2rem; background:var(--acid); border-bottom:2px solid var(--ink); }.product-key b { font-size:.62rem; letter-spacing:.1em; }.product-key p { margin:0; font-size:.82rem; line-height:1.55; }.product-summary { padding:2rem 2rem 0; margin:0; font-size:1.05rem; line-height:1.7; }.product-details { display:grid; grid-template-columns:1fr 1fr; gap:3rem; padding:2rem; }.product-details h3 { font-size:1.8rem; }.product-details p { font-size:.83rem; line-height:1.7; }.fact-chips { display:flex; flex-wrap:wrap; gap:.5rem; padding:0; list-style:none; }.fact-chips li { padding:.45rem .6rem; background:var(--paper); border:1px solid var(--ink); font-size:.6rem; font-weight:800; }.pros-cons { display:grid; grid-template-columns:1fr 1fr; border:2px solid var(--ink); }.pros-cons section { padding:1rem; }.pros-cons section:first-child { background:var(--acid); border-right:2px solid var(--ink); }.pros-cons section:last-child { background:var(--coral); }.pros-cons ul { padding-left:1.1rem; font-size:.7rem; line-height:1.75; }.money-product > footer { display:grid; grid-template-columns:1fr 1fr; gap:1rem; padding:1.2rem 2rem; border-top:2px solid var(--ink); background:var(--paper); }.amazon-button,.read-review { display:flex; justify-content:space-between; align-items:center; padding:1rem; border:2px solid var(--ink); font-size:.68rem; font-weight:800; text-transform:uppercase; }.amazon-button { background:var(--acid); }.read-review { background:var(--ink); color:white; }.money-product footer small { grid-column:1/-1; font-size:.55rem; }.money-sidebar,.guide-sidebar { min-width:0; }
.source-note { margin-top:5rem; padding:clamp(2rem,4vw,4rem); background:var(--ink); color:white; }.source-note > p:not(.section-label) { max-width:850px; color:#bbb; font-size:.9rem; line-height:1.75; }.source-note > div { display:flex; flex-wrap:wrap; gap:1rem; margin-top:2rem; }.source-note a { padding:.8rem; border:1px solid #777; font-size:.65rem; font-weight:800; text-transform:uppercase; }.spec-ribbon { display:grid; grid-template-columns:repeat(4,1fr); margin:3rem 0; border:2px solid var(--ink); }.spec-ribbon div { min-height:130px; display:flex; flex-direction:column; justify-content:space-between; padding:1rem; border-right:1px solid var(--ink); background:var(--acid); }.spec-ribbon div:last-child { border-right:0; }.spec-ribbon span { font-family:var(--font-display); font-size:1.6rem; }.spec-ribbon b { font-size:.7rem; text-transform:uppercase; }.review-cta { display:grid; grid-template-columns:150px 1fr; gap:2rem; padding:2rem; margin-top:3rem; background:var(--coral); border:2px solid var(--ink); }.review-cta > div:first-child > span { font-size:.58rem; font-weight:800; }.review-cta h3 { margin:0; font-size:2.5rem; }.review-cta p { font-size:.8rem; }.review-cta small { display:block; margin-top:.5rem; font-size:.55rem; }
.guide-index { display:grid; grid-template-columns:repeat(3,1fr); padding:clamp(4rem,7vw,7rem) clamp(1.25rem,4vw,4.5rem); }.guide-index article { min-height:340px; display:flex; flex-direction:column; padding:1.5rem; margin:-1px; border:2px solid var(--ink); }.guide-index article:first-child { background:var(--acid); }.guide-index article > span { font-family:var(--font-display); font-size:2.5rem; color:var(--coral); }.guide-index h2 { margin:2rem 0 1rem; font-size:2.5rem; }.guide-index p { font-size:.78rem; line-height:1.6; }.guide-index a,.guide-index small { margin-top:auto; font-size:.65rem; font-weight:800; text-transform:uppercase; }.cross-silo { display:grid; grid-template-columns:1fr 1fr; gap:4rem; padding:clamp(4rem,7vw,7rem) clamp(1.25rem,4vw,4.5rem); background:var(--coral); border-bottom:2px solid var(--ink); }.cross-silo > div:last-child { border-top:2px solid var(--ink); }.cross-silo a { display:flex; justify-content:space-between; padding:1.4rem 0; border-bottom:2px solid var(--ink); font-size:.78rem; font-weight:800; text-transform:uppercase; }
.workout-grid { display:grid; grid-template-columns:repeat(5,1fr); padding:clamp(4rem,7vw,7rem) clamp(1.25rem,4vw,4.5rem); }.workout-grid article { min-height:300px; display:flex; flex-direction:column; padding:1.2rem; margin:-1px; border:2px solid var(--ink); }.workout-grid article:nth-child(4n+1){background:var(--acid)}.workout-grid article:nth-child(4n+2){background:var(--coral)}.workout-grid article:nth-child(4n+3){background:var(--lilac)}.workout-grid article:nth-child(4n){background:var(--blue);color:white}.workout-grid span { font-family:var(--font-display); font-size:2.2rem; }.workout-grid h2 { margin:2.5rem 0 1rem; font-size:2rem; }.workout-grid p { font-size:.72rem; line-height:1.5; }.workout-grid small { margin-top:auto; font-size:.56rem; font-weight:800; text-transform:uppercase; }
.guide-shell { grid-template-columns:minmax(0,1fr) 300px; }.guide-opening { padding-bottom:5rem; }.guide-opening > p:not(.section-label) { max-width:850px; font-size:1rem; line-height:1.8; }.guide-step { scroll-margin-top:1rem; padding:clamp(4rem,7vw,7rem) 0; border-top:2px solid var(--ink); }.guide-step > header { display:grid; grid-template-columns:90px 1fr; align-items:start; }.guide-step > header > span { font-family:var(--font-display); font-size:4rem; color:var(--coral); }.guide-step h2 { font-size:clamp(3.5rem,6vw,6.5rem); }.guide-step .lead { max-width:850px; font-size:1.3rem; line-height:1.55; font-weight:700; }.guide-step > p:not(.lead) { max-width:850px; font-size:.95rem; line-height:1.8; }.guide-step > ul { max-width:750px; padding:1.5rem 1.5rem 1.5rem 3rem; background:var(--acid); border:2px solid var(--ink); font-size:.78rem; line-height:1.9; }.inline-links { display:flex; flex-wrap:wrap; gap:1rem; margin-top:2rem; }.inline-links a { padding:1rem; background:var(--ink); color:white; font-size:.68rem; font-weight:800; text-transform:uppercase; }.budget-example { padding:clamp(4rem,7vw,7rem) 0; border-top:2px solid var(--ink); }.budget-example > div { display:grid; grid-template-columns:1fr 1fr; border:2px solid var(--ink); margin-top:3rem; }.budget-example article { min-height:260px; padding:1.5rem; }.budget-example article:nth-child(odd){border-right:2px solid var(--ink)}.budget-example article:nth-child(-n+2){border-bottom:2px solid var(--ink)}.budget-example article span { font-family:var(--font-display); color:var(--coral); font-size:2rem; }.budget-example article h3 { margin:2rem 0 1rem; font-size:2rem; }.budget-example article p { font-size:.78rem; line-height:1.55; }
@media (max-width:1100px){.hub-card-grid{grid-template-columns:repeat(3,1fr)}.topic-shell,.money-shell,.guide-shell{grid-template-columns:1fr}.topic-sidebar,.money-sidebar,.guide-sidebar{display:none}.workout-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.hub-hero,.topic-hero,.money-hero,.commercial-hero,.info-hero{grid-template-columns:1fr;min-height:auto;gap:3rem;padding-top:5rem}.hub-hero>aside,.topic-stat,.money-hero>aside,.commercial-hero>aside,.info-hero>aside{max-width:280px}.hub-intro,.hub-method,.article-intro,.cross-silo{grid-template-columns:1fr}.hub-card-grid{grid-template-columns:1fr}.hub-card{min-height:300px}.topic-guide-grid,.article-toc ol,.product-details,.money-product>footer,.guide-index,.workout-grid{grid-template-columns:1fr}.topic-guide-grid article{border-right:0;border-bottom:1px solid var(--ink)!important}.topic-copy article{grid-template-columns:1fr}.key-takeaway{grid-template-columns:1fr;gap:.7rem}.product-key{grid-template-columns:1fr;gap:.5rem}.pros-cons{grid-template-columns:1fr}.pros-cons section:first-child{border-right:0;border-bottom:2px solid var(--ink)}.money-product footer small{grid-column:auto}.spec-ribbon{grid-template-columns:1fr 1fr}.spec-ribbon div:nth-child(2){border-right:0}.spec-ribbon div:nth-child(-n+2){border-bottom:1px solid var(--ink)}.review-cta{grid-template-columns:1fr}.guide-index article{min-height:280px}.budget-example>div{grid-template-columns:1fr}.budget-example article{border-right:0!important;border-bottom:2px solid var(--ink)!important}.budget-example article:last-child{border-bottom:0!important}.guide-step>header{grid-template-columns:65px 1fr}.source-note>div{flex-direction:column}.money-product>header{flex-direction:column}.commercial-hero h1{font-size:clamp(3.6rem,15vw,6rem)}}
.standards-page{padding:clamp(4rem,7vw,7rem) clamp(1.25rem,4vw,4.5rem)}.standards-page article{display:grid;grid-template-columns:100px 1fr;gap:2rem;padding:3rem 0;border-top:2px solid var(--ink)}.standards-page article:last-child{border-bottom:2px solid var(--ink)}.standards-page article>span{font-family:var(--font-display);font-size:4rem;color:var(--coral)}.standards-page h2{font-size:clamp(2.8rem,5vw,5.5rem)}.standards-page p:not(.section-label){max-width:850px;font-size:.95rem;line-height:1.8}@media(max-width:600px){.standards-page article{grid-template-columns:60px 1fr}.standards-page article>span{font-size:2.7rem}}

/* Calmer editorial rhythm, shared card imagery and mega navigation */
:root { --layout-pad:clamp(1.25rem,4vw,4.5rem); --card-gap:clamp(1.5rem,2.3vw,2.5rem); --soft-paper:#e8e4da; }
body { font-size:17px; }
.site-header { position:relative; z-index:100; background:var(--paper); }
.mobile-nav { display:none; }
.mega-navigation { align-self:stretch; align-items:stretch; gap:.2rem; }
.mega-menu { position:static; display:flex; align-items:center; }
.mega-menu summary { height:100%; display:flex; align-items:center; gap:.55rem; padding:0 1rem; cursor:pointer; list-style:none; text-transform:uppercase; letter-spacing:.03em; }
.mega-menu summary::-webkit-details-marker { display:none; }
.mega-menu summary span { display:grid; place-items:center; width:19px; height:19px; border:1px solid currentColor; border-radius:50%; font-size:.75rem; transition:transform .2s ease; }
.mega-menu[open] summary,.mega-menu:hover summary,.mega-menu:focus-within summary { background:var(--ink); color:white; }
.mega-menu[open] summary span { transform:rotate(45deg); }
.desktop-nav > .nav-direct { display:flex; align-items:center; padding:0 1rem; text-transform:uppercase; letter-spacing:.03em; }
.mega-panel { display:none; position:absolute; top:calc(100% + 2px); left:50%; width:min(1320px,calc(100vw - 2rem)); max-height:calc(100vh - 145px); overflow:auto; transform:translateX(-50%); padding:2rem; background:var(--paper); color:var(--ink); border:2px solid var(--ink); box-shadow:12px 12px 0 rgba(17,18,15,.28); z-index:120; }
.mega-menu[open] > .mega-panel,.mega-menu:hover > .mega-panel,.mega-menu:focus-within > .mega-panel { display:block; }
.mega-panel a::after { display:none!important; }
.mega-panel-heading { display:flex; justify-content:space-between; align-items:end; gap:2rem; padding-bottom:1.4rem; margin-bottom:1.5rem; border-bottom:2px solid var(--ink); }
.mega-panel-heading > div { display:grid; gap:.35rem; }
.mega-panel-heading span { font-size:.62rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }
.mega-panel-heading strong { font-family:var(--font-display); font-size:clamp(2.3rem,4vw,4.5rem); font-weight:400; line-height:.85; }
.mega-panel-heading > a { padding:.8rem 1rem; background:var(--ink); color:white; font-size:.68rem; font-weight:800; text-transform:uppercase; }
.mega-equipment-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.1rem; }
.mega-category { min-width:0; padding:1rem; background:#fffdf7; border:1px solid #c9c4b8; border-radius:8px; }
.mega-category-title { display:flex; justify-content:space-between; gap:.75rem; padding-bottom:.65rem; border-bottom:1px solid var(--ink); font-size:.8rem; font-weight:900; text-transform:uppercase; }
.mega-category ul { display:grid; gap:.35rem; margin:.7rem 0 0; padding:0; list-style:none; }
.mega-category li a,.mega-category li > span { display:block; overflow:hidden; color:#45463f; font-size:.66rem; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.mega-category li > span { color:#77766f; }
.mega-category li > span::after { content:" · planned"; color:#99978e; font-size:.52rem; text-transform:uppercase; }
.mega-category li a:hover { text-decoration:underline; text-underline-offset:3px; }
.mega-panel-compact { width:min(1050px,calc(100vw - 2rem)); }
.mega-quick-grid,.mega-guide-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; }
.mega-guide-grid { grid-template-columns:repeat(4,1fr); }
.mega-quick-grid > a,.mega-guide-grid > a { min-height:145px; display:flex; flex-direction:column; gap:.75rem; padding:1rem; background:#fffdf7; border:1px solid #c9c4b8; border-radius:8px; }
.mega-quick-grid > a:hover,.mega-guide-grid > a:hover { background:var(--acid); border-color:var(--ink); }
.mega-quick-grid span,.mega-guide-grid span { font-family:var(--font-display); color:var(--coral); font-size:1.7rem; }
.mega-quick-grid strong,.mega-guide-grid strong { font-size:.75rem; line-height:1.3; text-transform:uppercase; }
.mega-quick-grid small,.mega-guide-grid small { margin-top:auto; color:#777; font-size:.55rem; text-transform:uppercase; }

/* Separate dense grids into readable, individual surfaces. */
.category-grid,.topic-guide-grid,.guide-grid,.budget-example > div { border:0; gap:var(--card-gap); }
.category-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.category-card { min-height:430px; overflow:hidden; padding:0 1.5rem 1.5rem; border:2px solid var(--ink)!important; border-radius:12px; box-shadow:0 8px 0 rgba(17,18,15,.12); }
.category-card::before,.hub-card::before,.guide-index article::before,.workout-grid article::before,.topic-guide-grid article::before { content:""; flex:0 0 auto; height:155px; margin:0 -1.5rem 1.35rem; background-image:linear-gradient(rgba(17,18,15,.05),rgba(17,18,15,.16)),url('assets/equipment-card-sprite.webp'); background-repeat:no-repeat; background-size:400% auto; background-position:0 68%; border-bottom:2px solid var(--ink); }
.category-card:nth-child(2)::before,.hub-card:nth-child(4n+2)::before,.guide-index article:nth-child(4n+2)::before,.workout-grid article:nth-child(4n+2)::before { background-position:33.333% 68%; }
.category-card:nth-child(3)::before,.hub-card:nth-child(4n+3)::before,.guide-index article:nth-child(4n+3)::before,.workout-grid article:nth-child(4n+3)::before { background-position:66.666% 68%; }
.category-card:nth-child(4)::before,.hub-card:nth-child(4n)::before,.guide-index article:nth-child(4n)::before,.workout-grid article:nth-child(4n)::before { background-position:100% 68%; }
.category-icon { display:none; }
.category-copy { margin:clamp(1.25rem,2vw,2rem) 0 clamp(1.4rem,2vw,2rem); }
.category-copy strong { font-size:2.4rem; }
.category-copy small { font-size:.8rem; line-height:1.45; }
.category-copy ul { display:grid; gap:.55rem; margin:1.2rem 0 0; padding:0; list-style:none; }
.category-copy li { display:flex; align-items:flex-start; gap:.6rem; font-size:.75rem; font-weight:750; line-height:1.35; }
.category-copy li::before { content:""; width:8px; height:8px; flex:0 0 auto; margin-top:.32em; background:currentColor; transform:rotate(45deg); }
.category-cta { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:auto; padding:.85rem 1rem; background:var(--ink); color:white; border:2px solid var(--ink); font-size:.68rem; font-weight:900; letter-spacing:.035em; text-transform:uppercase; }
.category-cta b { font-size:1rem; }
.category-card:hover .category-cta { background:white; color:var(--ink); }
.blue .category-cta { background:white; color:var(--ink); border-color:white; }
.blue:hover .category-cta { background:var(--acid); border-color:var(--ink); }
.picks-grid { gap:var(--card-gap); }
.pick-card { min-height:600px; padding:1.65rem; border-radius:12px; overflow:hidden; }
.product-shape { min-height:230px; margin:1.25rem -1.65rem; background-image:linear-gradient(rgba(17,18,15,.08),rgba(17,18,15,.22)),url('assets/equipment-card-sprite.webp'); background-repeat:no-repeat; background-size:400% auto; background-position:33.333% 68%; border-block:2px solid currentColor; }
.pick-card:nth-child(2) .product-shape { background-position:66.666% 68%; }
.pick-card:nth-child(3) .product-shape { background-position:0 68%; }
.product-shape span { width:110px; color:var(--acid); background:rgba(17,18,15,.76); border-width:7px; font-size:2.2rem; }
.hub-card-grid,.guide-index,.workout-grid { gap:var(--card-gap); }
.hub-card { min-height:440px; overflow:hidden; padding:0 1.5rem 1.5rem; margin:0; border-radius:12px; box-shadow:0 7px 0 rgba(17,18,15,.12); scroll-margin-top:9rem; }
.hub-card h2 { margin:1.4rem 0 1rem; }
.guide-index article,.workout-grid article { min-height:410px; overflow:hidden; padding:0 1.5rem 1.5rem; margin:0; border-radius:12px; box-shadow:0 7px 0 rgba(17,18,15,.12); scroll-margin-top:9rem; }
.guide-index article::before,.workout-grid article::before { height:145px; }
.guide-index h2,.workout-grid h2 { margin:1.2rem 0 1rem; }
.topic-guide-grid article { min-height:430px; overflow:hidden; padding:0 1.7rem 1.7rem; background:var(--paper); border:2px solid var(--ink)!important; border-radius:12px; box-shadow:0 8px 0 rgba(17,18,15,.12); scroll-margin-top:9rem; transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.topic-guide-grid article:hover,.topic-guide-grid article:focus-within { background:var(--acid); box-shadow:0 10px 0 rgba(17,18,15,.22); transform:translateY(-2px); }
.topic-guide-grid article::before { height:160px; margin-inline:-1.7rem; background-position:0 68%; }
.topic-card-heading { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:1rem; margin:1.35rem 0 1rem; }
.topic-card-heading > span { font-family:var(--font-display); font-size:clamp(2.6rem,3vw,3.4rem); line-height:.9; color:var(--coral); }
.topic-guide-grid h2 { margin:0; font-size:clamp(2.25rem,2.8vw,3rem); line-height:1.02; }
.topic-card-heading .card-title-link { display:inline; font-size:inherit; line-height:inherit; text-transform:none; }
.topic-guide-grid p { margin:0 0 1.6rem; font-size:1.02rem; line-height:1.65; }
.topic-card-cta { display:flex; align-items:center; justify-content:space-between; gap:1rem; width:calc(100% - .45rem); margin-top:auto!important; padding:.9rem 1rem; color:white; background:var(--ink); border:2px solid var(--ink); box-shadow:6px 6px 0 var(--coral); font-size:.72rem!important; font-weight:900; letter-spacing:.035em; line-height:1.2; text-transform:uppercase; transition:box-shadow .18s ease,transform .18s ease; }
.topic-card-cta b { font-size:1.05rem; line-height:1; }
.topic-card-cta:hover,.topic-card-cta:focus-visible { box-shadow:4px 4px 0 var(--coral); transform:translate(2px,2px); }
.guide-grid article,.budget-example article { min-height:300px; padding:2.2rem; border:2px solid var(--ink)!important; border-radius:10px; }
.ranked-picks,.alternatives > div { gap:var(--card-gap); }
.rank-card,.alternatives article,.sidebar-card,.sidebar-buy,.article-toc,.verdict-card,.review-cta,.source-note { border-radius:10px; }
.rank-card { padding:1.8rem; }
.alternatives article { padding:1.8rem; }

/* More whitespace and calmer reading widths on commercial and guide templates. */
.editorial-shell,.review-shell,.topic-shell,.money-shell,.guide-shell { width:min(1600px,100%); margin-inline:auto; gap:clamp(3.5rem,5vw,6rem); }
.money-shell,.guide-shell { grid-template-columns:minmax(0,1fr) 285px; }
.review-shell { grid-template-columns:minmax(0,1fr) 285px; }
.article-intro,.hub-intro { gap:clamp(3rem,6vw,7rem); }
.article-intro > div:last-child p,.hub-intro > p:last-child,.review-section > p:not(.section-label),.guide-step > p:not(.section-label),.guide-opening > p:not(.section-label) { font-size:1.04rem; line-height:1.82; }
.article-toc { padding:clamp(1.7rem,3vw,2.7rem); margin-bottom:clamp(4rem,7vw,7rem); }
.article-toc ol { gap:.5rem 3rem; }
.article-toc li a { padding:1.1rem 0; font-size:.78rem; }
.quick-table { padding-bottom:clamp(5rem,8vw,8rem); }
.product-list { gap:clamp(4.5rem,7vw,7rem); }
.money-product { overflow:hidden; border-radius:14px; box-shadow:0 12px 0 rgba(17,18,15,.1); }
.money-product > header { padding:clamp(2rem,4vw,3.5rem); }
.money-product > header h2 { max-width:820px; font-size:clamp(3.2rem,5vw,5.2rem); }
.product-key { padding:1.7rem clamp(2rem,4vw,3.5rem); }
.product-summary { padding:clamp(2rem,4vw,3.5rem) clamp(2rem,4vw,3.5rem) 0; font-size:1.12rem; line-height:1.8; }
.product-details { gap:clamp(2.5rem,5vw,5rem); padding:clamp(2rem,4vw,3.5rem); }
.product-details p { font-size:.95rem; line-height:1.75; }
.pros-cons { gap:1rem; border:0; }
.pros-cons section { padding:1.4rem; border:2px solid var(--ink)!important; border-radius:8px; }
.money-product > footer { padding:1.6rem clamp(2rem,4vw,3.5rem); }
.rating-section,.review-section,.alternatives,.review-method { padding:clamp(5rem,8vw,8rem) 0; }
.verdict-card { padding:clamp(2.5rem,5vw,5rem); }
.verdict-lists,.callout-grid,.spec-ribbon { gap:1rem; border:0; }
.verdict-lists article,.callout-grid article,.spec-ribbon div { border:2px solid var(--ink)!important; border-radius:8px; }
.spec-ribbon { margin:3.5rem 0; }
.spec-ribbon div { min-height:145px; }
.guide-step { padding:clamp(5rem,8vw,8rem) 0; }

/* Lightweight animated diagram used by every individual review. */
.product-video-section { scroll-margin-top:2rem; }
.video-explainer { margin-top:2.5rem; border:2px solid var(--ink); border-radius:14px; overflow:hidden; background:var(--ink); color:white; }
.video-frame { min-height:470px; position:relative; display:grid; grid-template-columns:.78fr 1.22fr; align-items:center; gap:3rem; padding:clamp(2rem,5vw,4.5rem); overflow:hidden; background:radial-gradient(circle at 20% 80%,rgba(216,255,57,.23),transparent 34%),var(--ink); }
.video-title { position:absolute; inset:1.2rem 1.4rem auto; display:flex; justify-content:space-between; gap:2rem; font-size:.62rem; font-weight:800; letter-spacing:.1em; }
.video-title strong { max-width:65%; text-align:right; text-transform:uppercase; }
.video-machine { width:min(100%,330px); aspect-ratio:1.25; position:relative; display:grid; place-items:center; color:var(--acid); }
.video-machine::before { content:""; position:absolute; left:7%; right:7%; bottom:16%; height:26%; border:8px solid currentColor; transform:skewX(-12deg); }
.video-machine::after { content:""; position:absolute; left:20%; right:12%; bottom:21%; height:6px; background:var(--coral); animation:diagram-belt 1.2s linear infinite; }
.video-machine i { position:absolute; left:18%; top:9%; width:9px; height:55%; background:currentColor; transform:rotate(-12deg); transform-origin:bottom; }
.video-machine b { position:absolute; left:14%; top:9%; width:42%; height:9px; background:currentColor; }
.video-walking-pad .video-machine i,.video-walking-pad .video-machine b { display:none; }
.video-equipment-generic .video-machine::before { left:18%; right:18%; bottom:8%; height:70%; border:9px solid currentColor; border-radius:22%; transform:rotate(8deg); }
.video-equipment-generic .video-machine::after { left:30%; right:30%; bottom:46%; height:8px; animation:diagram-generic 1.8s ease-in-out infinite alternate; }
.video-equipment-generic .video-machine i,.video-equipment-generic .video-machine b { display:none; }
.video-machine span { z-index:2; width:92px; height:92px; display:grid; place-items:center; border:6px solid currentColor; border-radius:50%; background:var(--ink); font-family:var(--font-display); font-size:2.3rem; transform:rotate(-8deg); }
.video-frame ol { min-height:190px; position:relative; margin:0; padding:0; list-style:none; }
.video-frame li { position:absolute; inset:0; display:grid; grid-template-columns:70px 1fr; align-items:center; gap:1.4rem; opacity:0; transform:translateY(18px); animation:diagram-step 16s ease-in-out infinite; }
.video-frame li:nth-child(2) { animation-delay:4s; }.video-frame li:nth-child(3) { animation-delay:8s; }.video-frame li:nth-child(4) { animation-delay:12s; }
.video-frame li > span { font-family:var(--font-display); color:var(--coral); font-size:4.8rem; }
.video-frame li > strong { font-family:var(--font-display); font-size:clamp(2rem,4vw,4rem); font-weight:400; line-height:.94; text-transform:uppercase; }
.video-progress { position:absolute; left:0; right:0; bottom:0; height:8px; background:#34352f; }
.video-progress i { display:block; width:0; height:100%; background:var(--acid); animation:diagram-progress 16s linear infinite; }
.video-transcript { margin-top:1rem; border:2px solid var(--ink); border-radius:10px; background:#fffdf7; }
.video-transcript summary { display:flex; justify-content:space-between; padding:1.2rem 1.4rem; cursor:pointer; font-size:.72rem; font-weight:800; text-transform:uppercase; }
.video-transcript ol { margin:0; padding:0 2rem 1rem 3.5rem; font-size:.9rem; line-height:1.8; }
.video-transcript p { margin:0; padding:1.2rem 1.4rem; border-top:1px solid #bbb; font-size:.75rem!important; line-height:1.6!important; }
@keyframes diagram-step { 0%,100%{opacity:0;transform:translateY(18px)} 3%,21%{opacity:1;transform:translateY(0)} 25%{opacity:0;transform:translateY(-18px)} }
@keyframes diagram-progress { to{width:100%} }
@keyframes diagram-belt { to{transform:translateX(16px)} }
@keyframes diagram-generic { to{transform:translateY(-24px) rotate(12deg)} }

.money-hero h1 { max-width:1200px; overflow-wrap:anywhere; font-size:clamp(4.2rem,8.5vw,9.5rem); }
.money-hero h1 em { text-wrap:balance; }

@media (max-width:1100px) {
  .mega-equipment-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .desktop-nav { display:none; }
  .mobile-nav { display:block; position:relative; margin-left:auto; }
  .mobile-nav > summary { display:flex; align-items:center; gap:.5rem; padding:.75rem; border:2px solid var(--ink); list-style:none; cursor:pointer; font-size:.68rem; font-weight:800; text-transform:uppercase; }
  .mobile-nav > summary::-webkit-details-marker { display:none; }
  .mobile-panel { position:absolute; top:calc(100% + .75rem); right:0; width:min(300px,calc(100vw - 2rem)); display:grid; padding:1rem; background:var(--paper); border:2px solid var(--ink); box-shadow:8px 8px 0 rgba(17,18,15,.25); }
  .mobile-panel a { padding:1rem .5rem; border-bottom:1px solid #aaa; font-size:.75rem; font-weight:800; text-transform:uppercase; }
  .mobile-panel a:last-child { border-bottom:0; }
  .category-grid { gap:1.5rem; }
}
@media (max-width:760px) {
  .category-card { min-height:410px; }
  .hub-card-grid,.guide-index,.workout-grid,.topic-guide-grid { gap:1.5rem; }
  .topic-guide-grid article { border:2px solid var(--ink)!important; }
  .product-details { gap:2rem; }
  .pros-cons section:first-child { border-bottom:2px solid var(--ink); }
  .video-frame { min-height:620px; grid-template-columns:1fr; align-content:center; gap:1rem; padding-top:5rem; }
  .video-machine { width:220px; margin:auto; }
  .video-frame li { grid-template-columns:55px 1fr; }
  .video-frame li > span { font-size:3.7rem; }
}
@media (max-width:580px) {
  .header-cta { display:none; }
  .site-header { padding-inline:1rem; }
  .category-grid { grid-template-columns:1fr; }
  .category-card { border:2px solid var(--ink)!important; border-radius:10px; }
  .money-product > header,.product-key,.product-summary,.product-details,.money-product > footer { padding-inline:1.35rem; }
  .money-product > footer { gap:.8rem; }
}
@media (prefers-reduced-motion:reduce) {
  .video-frame { min-height:auto; grid-template-columns:1fr; }
  .video-frame ol { min-height:auto; display:grid; gap:1rem; }
  .video-frame li { position:static; opacity:1; transform:none; animation:none; }
  .video-progress,.video-machine::after { display:none; }
}

/* WordPress-native layouts generated by the bundled content importer. */
.bhge-hero { min-height:clamp(560px,68vw,800px); position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,310px); gap:clamp(2rem,5vw,5rem); align-items:end; padding:clamp(4rem,8vw,8rem) var(--layout-pad,clamp(1.25rem,4vw,4.5rem)); background:var(--ink); color:var(--paper); border-bottom:2px solid var(--ink); }
.bhge-hero::before { content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(17,18,15,.98) 0%,rgba(17,18,15,.9) 52%,rgba(17,18,15,.35) 100%),url('assets/home-gym-hero.webp') center/cover; }
.bhge-hero > * { position:relative; z-index:1; }.bhge-hero h1 { font-size:clamp(4rem,8.5vw,9.5rem); line-height:.96; }.bhge-hero h1 em { color:var(--coral); font-style:normal; }.bhge-hero > div > p:not(.section-label) { max-width:780px; color:#d3d0c8; font-size:clamp(1.08rem,1.45vw,1.35rem); line-height:1.65; }.bhge-hero > aside { display:grid; gap:1rem; padding:1.5rem; background:var(--coral); color:var(--ink); border:2px solid var(--paper); box-shadow:10px 10px 0 var(--acid); }.bhge-hero > aside > strong,.review-score strong { font-family:var(--font-display); font-size:clamp(4rem,7vw,7rem); font-weight:400; line-height:.85; }.bhge-hero > aside > span,.review-score span { font-size:.7rem; font-weight:800; text-transform:uppercase; }
.section-pad { padding:clamp(4rem,7vw,7rem) var(--layout-pad,clamp(1.25rem,4vw,4.5rem)); }.section-heading { margin-bottom:2.5rem; }.section-heading h2 { font-size:clamp(3.8rem,7vw,7.5rem); }.content-shell,.review-content,.guide-content { width:min(1180px,calc(100% - 2.5rem)); margin:0 auto; padding:clamp(4rem,7vw,7rem) 0; }.review-content > section,.guide-content > section { padding:clamp(3.5rem,6vw,6rem) 0; border-top:2px solid var(--ink); }.review-content h2,.guide-content h2 { font-size:clamp(3.5rem,6.5vw,7rem); line-height:1.02; }.review-content .lead,.guide-content .lead { font-size:1.25rem; line-height:1.65; font-weight:700; }.review-content p,.guide-content p { max-width:900px; font-size:1rem; line-height:1.8; }
.mini-product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:2px solid var(--ink); }.mini-product-grid > a { min-height:120px; display:flex; flex-direction:column; justify-content:space-between; gap:1rem; padding:1.25rem; margin:-1px; border:1px solid var(--ink); background:var(--paper); }.mini-product-grid > a:hover { background:var(--acid); }.mini-product-grid strong { font-size:1rem; }.mini-product-grid span { font-size:.75rem; line-height:1.5; }
.product-hero-image { display:grid; place-items:center; min-height:420px; margin:0; padding:2rem; background:#ded9ce; border-bottom:2px solid var(--ink); }.product-hero-image img { width:min(720px,100%); max-height:520px; object-fit:contain; mix-blend-mode:multiply; }.review-score { display:grid; }.use-steps { display:grid; gap:1rem; padding:0; list-style:none; }.use-steps li { display:grid; grid-template-columns:80px 1fr; align-items:center; min-height:90px; padding:1rem; background:var(--paper); border:2px solid var(--ink); }.use-steps span { font-family:var(--font-display); color:var(--coral); font-size:2.5rem; }.use-steps b { font-size:1rem; }
.schedule-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:2rem 0; border:2px solid var(--ink); }.schedule-grid article { min-height:180px; display:flex; flex-direction:column; gap:.8rem; padding:1.3rem; margin:-1px; border:1px solid var(--ink); }.schedule-grid article:nth-child(4n+1) { background:var(--acid); }.schedule-grid article:nth-child(4n+2) { background:var(--coral); }.schedule-grid article:nth-child(4n+3) { background:var(--lilac); }.schedule-grid b { font-size:.68rem; text-transform:uppercase; }.exercise-list { display:grid; gap:1rem; }.exercise-list > article { display:grid; grid-template-columns:70px minmax(0,1fr) minmax(260px,.8fr); align-items:center; gap:1.5rem; padding:1.25rem; border:2px solid var(--ink); }.exercise-list > article > span { font-family:var(--font-display); color:var(--coral); font-size:2.6rem; }.exercise-list h3 { font-size:1.5rem; }.exercise-list dl { display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; margin:0; }.exercise-list dl div { padding:.7rem; background:#ded9ce; border:1px solid #aaa; }.exercise-list dt { font-size:.52rem; font-weight:800; }.exercise-list dd { margin:.3rem 0 0; font-size:.65rem; }
.legal-page { width:min(980px,calc(100% - 2.5rem)); margin:0 auto; padding:clamp(4rem,7vw,7rem) 0; }.legal-page section { padding:2.5rem 0; border-top:2px solid var(--ink); }.legal-page h2 { font-size:clamp(2.8rem,5vw,5rem); }.legal-page p { font-size:1.05rem; line-height:1.85; }.legal-page a { text-decoration:underline; text-underline-offset:4px; }
.screen-reader-text { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }.bhge-search-results[hidden] { display:none; }.bhge-search-results p { margin:.7rem; font-size:.75rem; }.admin-bar .site-header { top:32px; }

@media (max-width:900px) { .bhge-hero { grid-template-columns:1fr; }.bhge-hero > aside { max-width:360px; }.exercise-list > article { grid-template-columns:60px 1fr; }.exercise-list dl { grid-column:1/-1; }.mini-product-grid { grid-template-columns:1fr; } }
@media (max-width:600px) { .schedule-grid { grid-template-columns:1fr; }.exercise-list dl { grid-template-columns:1fr; }.bhge-hero { min-height:650px; padding-top:8rem; }.admin-bar .site-header { top:46px; } }

/* Supporting workout and informational article templates */
.health-note { display:grid; grid-template-columns:180px 1fr; gap:2rem; align-items:center; padding:1.3rem var(--layout-pad); background:var(--coral); border-bottom:2px solid var(--ink); }
.health-note b { font-size:.7rem; letter-spacing:.1em; }
.health-note p { max-width:1050px; margin:0; font-size:.82rem; line-height:1.65; }
.support-section { padding:clamp(5rem,8vw,8rem) 0; border-top:2px solid var(--ink); scroll-margin-top:2rem; }
.support-section h2 { font-size:clamp(3.8rem,6.5vw,7rem); }
.support-section h2 em { color:var(--coral); font-style:normal; }
.support-lead { max-width:850px; margin:1.7rem 0 3rem; font-size:1.15rem; font-weight:650; line-height:1.7; }
.schedule-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--card-gap); }
.schedule-grid article { min-height:240px; display:flex; flex-direction:column; padding:1.8rem; background:var(--acid); border:2px solid var(--ink); border-radius:10px; }
.schedule-grid article:nth-child(even) { background:var(--lilac); }
.schedule-grid span { font-size:.65rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.schedule-grid h3 { margin:2.5rem 0 1rem; font-size:2.2rem; }
.schedule-grid p { margin-top:auto; font-size:.82rem; line-height:1.6; }
.exercise-list { display:grid; gap:1.5rem; }
.exercise-list article { display:grid; grid-template-columns:75px minmax(200px,1fr) minmax(330px,.9fr); gap:2rem; align-items:center; padding:2rem; background:#fffdf7; border:2px solid var(--ink); border-radius:10px; }
.exercise-list article > span { font-family:var(--font-display); color:var(--coral); font-size:3.5rem; }
.exercise-list h3 { font-size:2rem; }
.exercise-list p { margin:.7rem 0 0; font-size:.82rem; line-height:1.6; }
.exercise-list dl { display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem; margin:0; }
.exercise-list dl div { min-width:0; padding:.8rem; background:var(--soft-paper); border:1px solid #bbb5a8; border-radius:7px; }
.exercise-list dt { margin-bottom:.45rem; font-size:.55rem; font-weight:800; text-transform:uppercase; }
.exercise-list dd { margin:0; font-size:.7rem; line-height:1.4; }
.progression-list { display:grid; grid-template-columns:1fr 1fr; gap:var(--card-gap); margin:0; padding:0; list-style:none; }
.progression-list li { min-height:210px; display:flex; flex-direction:column; padding:1.8rem; background:var(--ink); color:white; border-radius:10px; }
.progression-list li:nth-child(2),.progression-list li:nth-child(3) { background:var(--coral); color:var(--ink); }
.progression-list span { font-family:var(--font-display); color:var(--acid); font-size:3rem; }
.progression-list li:nth-child(2) span,.progression-list li:nth-child(3) span { color:var(--ink); }
.progression-list p { margin:auto 0 0; font-size:.9rem; line-height:1.7; }
.support-links { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--card-gap); }
.support-links a { min-height:150px; display:flex; justify-content:space-between; align-items:end; gap:1rem; padding:1.5rem; background:var(--acid); border:2px solid var(--ink); border-radius:10px; font-family:var(--font-display); font-size:1.7rem; line-height:1; text-transform:uppercase; }
.support-links a:nth-child(2) { background:var(--coral); }.support-links a:nth-child(3) { background:var(--lilac); }
.support-links a:hover { transform:translateY(-5px); box-shadow:0 7px 0 rgba(17,18,15,.15); }
.workout-grid article > a,.guide-index article > a { margin-top:auto; padding-top:1rem; border-top:1.5px solid currentColor; font-size:.65rem; font-weight:800; text-transform:uppercase; }
.support-article .info-hero h1 { max-width:1200px; overflow-wrap:anywhere; font-size:clamp(4rem,8vw,9rem); }
.support-article .guide-step > p:not(.lead) { font-size:1rem; line-height:1.8; }
.support-article .guide-step > ul { border-radius:10px; }
@media(max-width:900px){
  .exercise-list article { grid-template-columns:65px 1fr; }
  .exercise-list dl { grid-column:2; }
  .schedule-grid,.support-links { grid-template-columns:1fr 1fr; }
}
@media(max-width:650px){
  .health-note { grid-template-columns:1fr; gap:.6rem; }
  .schedule-grid,.progression-list,.support-links { grid-template-columns:1fr; }
  .exercise-list article { grid-template-columns:45px 1fr; gap:1rem; padding:1.25rem; }
  .exercise-list article > span { font-size:2.5rem; }
  .exercise-list dl { grid-column:1/-1; grid-template-columns:1fr; }
  .support-links a { min-height:120px; }
}

/* August 2026 readability, navigation, trust and affiliate compliance pass. */
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }

@media (min-width:901px) {
  .site-header { position:sticky; top:0; z-index:500; box-shadow:0 4px 0 rgba(17,18,15,.12); }
  .mega-navigation { flex:1; justify-content:center; min-width:0; }
  .header-cta { margin-left:1rem; }
}

.site-search { width:clamp(155px,14vw,230px); position:relative; align-self:center; margin-left:.5rem; }
.site-search > input { width:100%; height:44px; padding:.7rem 2.2rem .7rem .8rem; border:2px solid var(--ink); border-radius:0; background:#fffdf7; color:var(--ink); font-size:.66rem; font-weight:800; letter-spacing:.04em; }
.site-search > span { position:absolute; right:.8rem; top:50%; transform:translateY(-50%); font-size:1.25rem; pointer-events:none; }
.search-results { position:absolute; top:calc(100% + .65rem); right:0; width:min(430px,calc(100vw - 2rem)); max-height:min(70vh,600px); overflow:auto; padding:.7rem; background:#fffdf7; border:2px solid var(--ink); box-shadow:10px 10px 0 rgba(17,18,15,.25); z-index:800; }
.search-results a { display:grid; grid-template-columns:92px 1fr; gap:.25rem 1rem; padding:1rem .8rem; border-bottom:1px solid #b6b1a6; }
.search-results a:last-of-type { border-bottom:0; }
.search-results a:hover { background:var(--acid); }
.search-results a::after { display:none!important; }
.search-results small { grid-row:1/3; color:#4c4d47; font-size:.56rem; font-weight:800; text-transform:uppercase; }
.search-results strong { font-size:.76rem; line-height:1.3; }
.search-results span { color:#4c4d47; font-size:.62rem; line-height:1.35; }
.search-status,.search-results > p { margin:0; padding:.65rem .8rem; color:#4c4d47; font-size:.62rem; font-weight:700; }

/* No content is hidden while waiting for scroll-triggered animation. */
.categories-section,.picks-section,.method-section,.hub-intro,.hub-card-grid,.article-intro,.money-shell,.review-shell { opacity:1!important; visibility:visible!important; transform:none!important; }
.section { padding-block:clamp(3.5rem,5vw,5.5rem); }
.section-heading { margin-bottom:clamp(1.25rem,2vw,2rem); }
.categories-section,.picks-section { padding-block:clamp(2.75rem,4vw,4.25rem); }
.picks-grid { margin-bottom:1.5rem; }
.method-title,.method-copy { padding-block:clamp(3.5rem,5vw,5.5rem); }
.article-toc { margin-bottom:clamp(2.5rem,4vw,4rem); }
.rating-section,.review-section,.alternatives,.review-method,.guide-step,.support-section { padding-block:clamp(3.5rem,5vw,5.5rem); }
.product-list { gap:clamp(3rem,5vw,4.5rem); }

/* Long editorial titles read in natural case while short display labels remain bold. */
.pick-copy h3,.money-product h2,.topic-guide-grid h2,.guide-index h2,.workout-grid h2,.alternatives h3,.support-article .info-hero h1,.single-product-review .commercial-hero h1 { text-transform:none; line-height:.98; }
.natural-case { text-transform:none; }
.pick-copy h3 { font-size:clamp(2rem,2.7vw,3rem); }

/* Stronger secondary text contrast on cream and light card surfaces. */
.mega-category li a,.mega-category li > span,.mega-quick-grid small,.mega-guide-grid small,.breadcrumbs [aria-current="page"],.search-results span,.search-results small,footer,.topic-guide-grid p,.hub-card p,.guide-index p,.workout-grid p { color:#484942; }
.mega-category li > span::after { color:#54564f; }
.breadcrumbs b { color:#555750; }

/* Every major hero carries visual context; commercial templates promote the exact PDP image when verified. */
.hub-hero,.topic-hero,.money-hero,.info-hero,.commercial-hero,.category-masthead { position:relative; isolation:isolate; overflow:hidden; }
.hub-hero::before,.topic-hero::before,.info-hero::before,.money-hero::before,.category-masthead::before { content:""; position:absolute; inset:0; z-index:-2; background-image:linear-gradient(90deg,rgba(17,18,15,.98) 0%,rgba(17,18,15,.92) 48%,rgba(17,18,15,.36) 100%),url('assets/home-gym-hero.webp'); background-size:cover; background-position:center; }
.topic-hero::before { background-image:linear-gradient(90deg,rgba(216,211,200,.98) 0%,rgba(216,211,200,.9) 50%,rgba(216,211,200,.28) 100%),url('assets/home-gym-hero.webp'); }
.money-hero::before { left:48%; background-image:linear-gradient(90deg,var(--ink) 0%,rgba(17,18,15,.72) 26%,rgba(17,18,15,.08) 100%),var(--product-image,url('assets/home-gym-hero.webp')); background-size:cover; background-position:center; opacity:.9; }
.money-hero > *,.hub-hero > *,.topic-hero > *,.info-hero > * { position:relative; z-index:1; }
.commercial-hero aside::before { content:""; width:100%; min-height:230px; margin:-1.5rem -1.5rem .5rem; background:var(--paper) var(--product-image,url('assets/home-gym-hero.webp')) center/contain no-repeat; border-bottom:2px solid var(--ink); }
.commercial-hero aside { overflow:hidden; }

.amazon-pending,.amazon-button:not([href]),.sidebar-buy a:not([href]),.floating-buy a:not([href]),.commercial-hero a:not([href]) { display:flex; align-items:center; justify-content:center; cursor:not-allowed; background:#d5d1c7!important; color:#4b4c46!important; border:2px dashed #777!important; text-align:center; }
.quick-table a:not([href]) { color:#555750; pointer-events:none; text-decoration:line-through; }

footer { grid-template-columns:1.05fr .65fr .65fr 1.5fr; gap:clamp(1.5rem,3vw,3.5rem); padding-block:clamp(3rem,5vw,5rem); font-size:.72rem; }
.footer-links { align-content:start; gap:.7rem; }
.footer-links > b,.social-share > b { margin-bottom:.35rem; color:var(--ink); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; }
.footer-links a:hover,.social-share a:hover { text-decoration:underline; text-underline-offset:3px; }
.footer-trust { display:grid; gap:1.5rem; }
.footer-trust p { color:#3f403a; font-size:.74rem; line-height:1.65; }
.social-share { display:flex; flex-wrap:wrap; gap:.65rem 1rem; align-items:center; font-weight:750; text-transform:uppercase; }
.social-share b { flex-basis:100%; }
footer > span { color:#484942; }

.legal-page { width:min(980px,calc(100% - 2.5rem)); margin:0 auto; padding:clamp(4rem,7vw,7rem) 0; }
.legal-page h1 { text-transform:none; }
.legal-lead { max-width:800px; margin:2rem 0 4rem; font-size:clamp(1.15rem,2vw,1.45rem); line-height:1.65; }
.legal-page section { padding:2.5rem 0; border-top:2px solid var(--ink); }
.legal-page section h2 { margin-bottom:1.2rem; font-size:clamp(2.4rem,4vw,4rem); text-transform:none; line-height:1; }
.legal-page section p,.legal-page section li { font-size:1rem; line-height:1.8; }
.legal-page section a { font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.contact-email { font-family:var(--font-display); font-size:clamp(1.4rem,3vw,2.5rem)!important; overflow-wrap:anywhere; }
.content-link { font-weight:800; text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:.2em; }
.content-link:hover { background:var(--acid); color:var(--ink); }

@media (max-width:1180px) and (min-width:901px) {
  .site-search { width:150px; }
  .mega-menu summary,.desktop-nav > .nav-direct { padding-inline:.55rem; font-size:.7rem; }
  .header-cta { display:none; }
  .split-heading,.picks-heading { display:block; }.section-intro-copy { max-width:760px; margin-top:1.5rem; padding-top:0; }
}
@media (max-width:900px) {
  .site-search { display:none; }
  footer { grid-template-columns:1fr 1fr; }
  .footer-trust { grid-column:1/-1; }
  .money-hero::before { left:30%; }
}
@media (max-width:580px) {
  footer { grid-template-columns:1fr; }
  .footer-trust { grid-column:auto; }
  .commercial-hero aside::before { min-height:190px; }
}

/* Typography scale and display-heading rhythm. */
body { font-size:19px; line-height:1.55; }
p,li { text-wrap:pretty; }
h1,h2 { line-height:1; letter-spacing:-.015em; }
h3 { line-height:1.08; letter-spacing:-.01em; }
h1 br,h2 br { display:block; content:""; margin-top:.09em; }
h1 br + em,h2 br + em { display:inline-block; padding-top:.06em; }

.hero h1,.hub-hero h1,.topic-hero h1,.money-hero h1,.commercial-hero h1,.info-hero h1,.category-masthead h1,.review-hero h1 { line-height:.98; }
.support-article .info-hero h1 { line-height:1.02; }
.support-section h2,.guide-step h2,.guide-opening h2,.article-intro h2,.quick-table h2,.hub-intro h2,.hub-method h2,.cross-silo h2,.source-note h2 { line-height:1.02; }
.support-section h2 em,.guide-step h2 em,.guide-opening h2 em,.article-intro h2 em,.quick-table h2 em,.hub-intro h2 em,.hub-method h2 em,.cross-silo h2 em,.source-note h2 em { display:inline-block; padding-top:.06em; }
.money-product h2,.topic-guide-grid h2,.guide-index h2,.workout-grid h2,.pick-copy h3,.alternatives h3 { line-height:1.06; }

.article-intro > div:last-child p,.hub-intro > p:last-child,.review-section > p:not(.section-label),.guide-step > p:not(.section-label),.guide-opening > p:not(.section-label),.support-article .guide-step > p:not(.lead) { font-size:1.08rem; line-height:1.82; }
.health-note p { font-size:1rem; line-height:1.7; }
.key-takeaway p,.product-key p { font-size:1rem; line-height:1.7; }
.support-lead { font-size:1.22rem; line-height:1.7; }
.schedule-grid p { font-size:1rem; line-height:1.68; }
.schedule-grid h3 { line-height:1.08; }
.exercise-list p { font-size:.98rem; line-height:1.7; }
.exercise-list dd { font-size:.84rem; line-height:1.5; }
.exercise-list dt { font-size:.64rem; }
.progression-list p { font-size:1rem; line-height:1.72; }
.progression-list li { min-height:235px; padding:2rem; }
.support-links a { font-size:1.9rem; line-height:1.08; }

.hub-card p,.topic-guide-grid p,.guide-index p,.workout-grid p,.rank-card p,.alternatives article p,.product-details p,.budget-example article p { font-size:.94rem; line-height:1.7; }
.sidebar-card > p:not(.section-label) { font-size:.92rem; line-height:1.65; }
.sidebar-card > a { font-size:.76rem; line-height:1.4; }
.source-note > p:not(.section-label) { font-size:1rem; line-height:1.78; }
.guide-step > ul { font-size:.92rem; line-height:1.85; }
.review-cta p,.verdict-card p,.faq-block p { font-size:1rem; line-height:1.7; }
.footer-trust p { font-size:.84rem; }

@media (max-width:760px) {
  body { font-size:18px; }
  h1,h2 { line-height:1.02; }
  .support-section h2,.guide-step h2,.article-intro h2,.hub-intro h2 { line-height:1.04; }
  .exercise-list p,.schedule-grid p,.progression-list p { font-size:1rem; }
}

/* Fuller editorial introductions and centered takeaway features. */
.article-intro,.hub-intro {
  grid-template-columns:minmax(360px,.85fr) minmax(480px,1.15fr);
  align-items:center;
  gap:clamp(3rem,7vw,8rem);
  padding-block:clamp(4rem,6vw,6.5rem);
}
.article-intro > div:first-child,.hub-intro > div:first-child { align-self:center; }
.intro-copy {
  display:grid;
  gap:clamp(1rem,1.6vw,1.5rem);
  width:100%;
  max-width:920px;
  justify-self:end;
  align-content:center;
}
.intro-copy p {
  margin:0;
  color:#24251f;
  font-size:clamp(1.14rem,1.25vw,1.34rem)!important;
  line-height:1.7!important;
}
.intro-copy p + p {
  padding-top:clamp(.85rem,1.2vw,1.2rem);
  border-top:1px solid #aaa69c;
}
.guide-opening > p:not(.section-label) {
  max-width:920px;
  font-size:clamp(1.12rem,1.18vw,1.28rem);
  line-height:1.75;
}

.key-takeaway {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:clamp(1.35rem,2vw,2rem);
  padding:clamp(2.8rem,4.5vw,4.6rem) clamp(1.25rem,4vw,4.5rem);
  text-align:center;
}
.key-takeaway > span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.7rem 1.25rem .62rem;
  background:var(--ink);
  color:var(--acid);
  border:2px solid var(--ink);
  box-shadow:7px 7px 0 var(--coral);
  transform:rotate(-2.5deg);
  font-family:var(--font-display);
  font-size:clamp(1.15rem,1.5vw,1.5rem);
  font-weight:900;
  line-height:1;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.key-takeaway > p {
  width:min(1100px,100%);
  margin:0 auto;
  font-size:clamp(1.18rem,1.55vw,1.55rem);
  font-weight:650;
  line-height:1.62;
  text-align:center;
}

.product-key {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1.15rem;
  padding-block:2rem;
  text-align:center;
}
.product-key > b {
  display:inline-block;
  padding:.48rem .85rem .42rem;
  background:var(--ink);
  color:var(--acid);
  box-shadow:5px 5px 0 var(--coral);
  transform:rotate(-2.5deg);
  font-family:var(--font-display);
  font-size:1rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.055em;
}
.product-key > p {
  width:min(820px,100%);
  margin:0 auto;
  font-size:clamp(1.05rem,1.12vw,1.18rem);
  line-height:1.68;
  text-align:center;
}

@media (max-width:900px) {
  .article-intro,.hub-intro { grid-template-columns:1fr; gap:2.5rem; }
  .intro-copy { max-width:none; justify-self:stretch; }
}
@media (max-width:580px) {
  .article-intro,.hub-intro { padding-block:3.5rem; }
  .key-takeaway { padding-block:2.6rem; }
  .key-takeaway > span { box-shadow:5px 5px 0 var(--coral); }
}

/* Larger jump-link navigation and contextual equipment cards. */
.article-toc .section-label { margin-bottom:1.1rem; font-size:.8rem!important; }
.article-toc li a {
  grid-template-columns:54px minmax(0,1fr);
  gap:.8rem;
  padding:1.35rem 0;
  font-size:clamp(.98rem,1.05vw,1.12rem);
  line-height:1.35;
}
.article-toc li span { font-size:1.7rem; line-height:1; }
.article-toc li b { font-size:.7rem; line-height:1.4; }
.article-toc > a {
  margin:.8rem .55rem 0 0;
  padding:.75rem .9rem;
  background:var(--paper);
  border:1px solid var(--ink);
  font-size:.86rem;
  line-height:1.25;
}
.article-toc > a:hover { background:var(--acid); }
.compact-toc {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.75rem;
}
.compact-toc .section-label { grid-column:1/-1; }
.compact-toc > a { display:flex; align-items:center; justify-content:center; margin:0; padding:1rem .75rem; text-align:center; }

.sidebar-card.toc .section-label { font-size:.72rem!important; }
.sidebar-card.toc > a {
  justify-content:space-between;
  padding:1rem 0;
  font-size:.88rem;
  font-weight:760;
  line-height:1.38;
  text-transform:none;
}
.sidebar-card.toc > a span { flex:0 0 auto; font-size:1.3rem; }

.sidebar-equipment {
  padding:1.2rem;
  background:#d8d3c8;
  border:2px solid var(--ink);
  border-radius:10px;
}
.sidebar-equipment > .section-label { margin-bottom:.55rem; font-size:.68rem!important; }
.sidebar-equipment > h2 { margin:0 0 1.2rem; font-size:clamp(1.85rem,2.1vw,2.15rem); line-height:1; text-transform:uppercase; white-space:nowrap; }
.sidebar-equipment > div { display:grid; gap:.9rem; }
.equipment-review-card {
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  min-height:108px;
  overflow:hidden;
  background:var(--paper);
  border:2px solid var(--ink);
  border-radius:8px;
}
.equipment-review-card:hover { transform:translateY(-3px); box-shadow:0 5px 0 rgba(17,18,15,.18); }
.equipment-review-image { display:grid; place-items:center; min-width:0; padding:.4rem; background:white; border-right:1px solid var(--ink); }
.equipment-review-image img { display:block; width:100%; height:100%; max-height:98px; object-fit:contain; }
.equipment-review-copy { min-width:0; display:flex; flex-direction:column; gap:.45rem; padding:.75rem; }
.equipment-review-copy > small { color:#4b4c45; font-size:.56rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.equipment-review-copy > strong { font-size:.83rem; line-height:1.28; }
.equipment-review-copy > b { display:flex; justify-content:space-between; gap:.5rem; margin-top:auto; padding-top:.5rem; border-top:1px solid var(--ink); font-size:.62rem; text-transform:uppercase; }

@media (min-width:1101px) {
  .sticky-stack {
    position:sticky;
    top:6rem;
    align-self:start;
    max-height:none;
    overflow:visible;
    padding-right:0;
  }
}
@media (max-width:760px) {
  .compact-toc { grid-template-columns:1fr 1fr; }
  .article-toc li a { grid-template-columns:48px minmax(0,1fr); font-size:1rem; }
  .article-toc > a { display:flex; margin-right:0; }
}
@media (max-width:480px) {
  .compact-toc { grid-template-columns:1fr; }
  .ticker { font-size:.52rem; letter-spacing:.09em; }
  .ticker-track { gap:.55rem; padding-inline:.55rem; }
  .ticker i { font-size:.46rem; }
}

/* Individual review heroes use the exact product artwork as the full-bleed visual. */
.single-product-review .commercial-hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-color:var(--ink);
  background-image:
    linear-gradient(90deg,rgba(17,18,15,.99) 0%,rgba(17,18,15,.94) 42%,rgba(17,18,15,.58) 70%,rgba(17,18,15,.25) 100%),
    var(--product-image,url('assets/home-gym-hero.webp'));
  background-repeat:no-repeat;
  background-position:center,right center;
  background-size:cover,cover;
}
.single-product-review .commercial-hero::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(0deg,rgba(17,18,15,.42),transparent 52%);
  pointer-events:none;
}
.single-product-review .commercial-hero > * { position:relative; z-index:1; }
.single-product-review .commercial-hero aside { overflow:visible; }
.single-product-review .commercial-hero aside::before { content:none; display:none; }
.single-product-review .commercial-hero aside .score-ring {
  width:190px;
  height:190px;
  align-self:center;
  margin:.15rem auto .75rem;
  padding:1.35rem;
  background:var(--ink);
  color:var(--acid);
  border:7px solid var(--acid);
  box-shadow:6px 6px 0 rgba(17,18,15,.22);
}
.single-product-review .commercial-hero aside .score-ring strong {
  color:var(--acid);
  font-size:5.25rem;
}
.single-product-review .commercial-hero aside .score-ring > span {
  color:var(--acid);
  font-size:.72rem;
}
.single-product-review .commercial-hero aside .score-ring small {
  color:var(--acid);
  font-size:.68rem;
  letter-spacing:.07em;
}

@media (max-width:760px) {
  .single-product-review .commercial-hero::before {
    background-image:
      linear-gradient(180deg,rgba(17,18,15,.52) 0%,rgba(17,18,15,.93) 58%,rgba(17,18,15,.99) 100%),
      var(--product-image,url('assets/home-gym-hero.webp'));
    background-position:center top,center top;
    background-size:cover,auto 58%;
  }
}
@media (max-width:580px) {
  .single-product-review .commercial-hero aside .score-ring {
    width:164px;
    height:164px;
    border-width:6px;
  }
  .single-product-review .commercial-hero aside .score-ring strong { font-size:4.35rem; }
}

/* Navigational titles share their card CTA destination across the site. */
.card-title-link {
  color:inherit;
  text-decoration:none;
  text-decoration-thickness:.08em;
  text-underline-offset:.12em;
}
.card-title-link:hover { text-decoration:underline; }
.card-title-link:focus-visible {
  outline:3px solid currentColor;
  outline-offset:4px;
  border-radius:2px;
}

/* Paginated workout and guide libraries: never more than ten cards per listing. */
.library-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(1.5rem,2.6vw,2.8rem);
  padding:clamp(4rem,7vw,7rem) var(--layout-pad);
  background:#ded9ce;
  border-bottom:2px solid var(--ink);
}
.library-grid article {
  min-height:430px;
  display:flex;
  flex-direction:column;
  padding:clamp(1.5rem,2.5vw,2.4rem);
  background:var(--paper);
  border:2px solid var(--ink);
  border-radius:12px;
  box-shadow:8px 8px 0 var(--ink);
}
.library-grid article:nth-child(4n+1) { background:var(--acid); }
.library-grid article:nth-child(4n+2) { background:var(--coral); }
.library-grid article:nth-child(4n+3) { background:var(--lilac); }
.library-grid article:nth-child(4n) { background:#e8e4da; }
.library-grid article > span { font-family:var(--font-display); font-size:2.8rem; line-height:1; }
.library-grid article .section-label { margin:.9rem 0; color:#373931; font-size:.68rem!important; }
.library-grid article h2 { font-size:clamp(2.4rem,3.5vw,4.1rem); line-height:1.02; text-transform:none; }
.library-grid article > p:not(.section-label) { margin:1.25rem 0; font-size:1rem; line-height:1.7; }
.library-grid article ul { margin:0 0 1.5rem; padding-left:1.2rem; font-size:.85rem; font-weight:700; line-height:1.8; }
.library-grid article > a:last-child { display:flex; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:1rem; border-top:2px solid currentColor; font-size:.76rem; font-weight:850; text-transform:uppercase; }
.library-pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:1.5rem; padding:1.5rem var(--layout-pad); background:var(--paper); border-bottom:2px solid var(--ink); font-size:.78rem; font-weight:850; text-align:center; text-transform:uppercase; }
.library-pagination > div { display:flex; justify-content:center; gap:.55rem; }
.library-pagination > div a { width:42px; height:42px; display:grid; place-items:center; border:2px solid var(--ink); }
.library-pagination > div a[aria-current="page"] { background:var(--ink); color:var(--acid); }
.library-pagination a:hover { color:#596f00; text-decoration:underline; text-underline-offset:4px; }

@media (max-width:760px) {
  .back-to-top { right:.85rem; bottom:.85rem; width:48px; height:48px; font-size:1.75rem; box-shadow:4px 4px 0 var(--ink); }
  .editorial-page:has(.floating-buy) .back-to-top { bottom:6.5rem; }
  .library-grid { grid-template-columns:1fr; }
  .library-grid article { min-height:360px; }
  .library-pagination { gap:1rem; }
  .library-pagination > div { flex-basis:100%; flex-wrap:wrap; order:-1; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .back-to-top { transition:none; }
}

/* Product review gallery, synchronized with the current long-form review template. */
.wp-product-gallery {
  padding:clamp(1.25rem,3vw,2.5rem) var(--layout-pad,clamp(1.25rem,4vw,4.5rem)) 1.5rem;
  background:#d8d3c8;
  border-bottom:2px solid var(--ink);
  outline:none;
}
.wp-product-gallery:focus-visible { box-shadow:inset 0 0 0 4px var(--acid); }
.wp-product-gallery-stage {
  position:relative;
  width:min(1180px,100%);
  min-height:clamp(420px,54vw,690px);
  display:grid;
  place-items:center;
  margin:0 auto;
  overflow:hidden;
  background:#fff;
  border:2px solid var(--ink);
  border-radius:12px;
  box-shadow:10px 10px 0 var(--coral);
}
.wp-gallery-slide { width:100%; height:100%; display:grid; place-items:center; padding:clamp(1.5rem,4vw,4rem); }
.wp-gallery-slide.is-hidden { display:none; }
.wp-gallery-slide img { width:100%; height:100%; max-height:610px; object-fit:contain; }
.wp-gallery-arrow {
  position:absolute;
  top:50%;
  z-index:2;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  padding:0;
  transform:translateY(-50%);
  background:var(--ink);
  color:var(--acid);
  border:2px solid var(--ink);
  border-radius:50%;
  font-size:1.8rem;
  font-weight:900;
  cursor:pointer;
}
.wp-gallery-arrow:hover,.wp-gallery-arrow:focus-visible { background:var(--acid); color:var(--ink); }
.wp-gallery-previous { left:1rem; }
.wp-gallery-next { right:1rem; }
.wp-gallery-counter { position:absolute; right:1rem; bottom:1rem; padding:.55rem .75rem; background:var(--ink); color:#fff; font-size:.72rem; font-weight:850; }
.wp-gallery-dots { display:flex; justify-content:center; flex-wrap:wrap; gap:.55rem; margin:1.25rem auto .8rem; }
.wp-gallery-dots button { width:14px; height:14px; padding:0; background:transparent; border:2px solid var(--ink); border-radius:50%; cursor:pointer; }
.wp-gallery-dots button.is-active { background:var(--acid); box-shadow:0 0 0 2px var(--ink); }
.wp-product-gallery > p { max-width:760px; margin:.75rem auto 0; color:#373931; font-size:.82rem; line-height:1.55; text-align:center; }
.review-content .button-link { display:inline-flex; justify-content:space-between; gap:2rem; min-width:min(100%,340px); margin-top:1.25rem; padding:1rem 1.2rem; background:var(--ink); color:#fff; border:2px solid var(--ink); font-size:.8rem; font-weight:850; text-transform:uppercase; }
.review-content .button-link:hover { background:var(--acid); color:var(--ink); }
.review-content .review-cta { display:block; padding:clamp(2rem,4vw,4rem); }
.review-content .review-cta h2 { font-size:clamp(3rem,6vw,6.5rem); }
.review-content .review-cta small { max-width:760px; margin-top:1rem; font-size:.72rem; line-height:1.5; }
.review-content .internal-links { padding-bottom:0; }

@media (max-width:760px) {
  .wp-product-gallery-stage { min-height:360px; box-shadow:6px 6px 0 var(--coral); }
  .wp-gallery-slide { padding:1.25rem; }
  .wp-gallery-arrow { width:46px; height:46px; font-size:1.35rem; }
  .wp-gallery-previous { left:.5rem; }
  .wp-gallery-next { right:.5rem; }
}
