/*
  Biology Verdict design layer (2026-10).
  Loaded after the snapshot's Astro stylesheets, so it restyles every page
  without editing the frozen build output. Tokens first, then components.
  Fonts are instanced to the weights in use (400 to 700; Inter at its text optical size) to keep pages light.
*/

@font-face{font-family:"Newsreader";font-style:normal;font-display:swap;font-weight:400 700;src:url(/fonts/newsreader-text.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Newsreader";font-style:italic;font-display:swap;font-weight:400 500;src:url(/fonts/newsreader-italic.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:400 700;src:url(/fonts/inter-text.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --paper:#f6f4ee;
  --surface:#fffdf8;
  --ink:#13261f;
  --forest:#163d33;
  --forest-2:#215444;
  --line:#dcdfd3;
  --line-strong:#c2c9ba;
  --muted:#4d5c54;
  --lime:#d3e783;
  --soft:#ecf0e3;
  --sand:#f1ece1;
  --display:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --serif:var(--display);
  --radius:14px;
  --radius-sm:10px;
  --shadow-sm:0 1px 2px rgba(19,38,31,.06);
  --shadow-lift:0 18px 40px -22px rgba(19,38,31,.35),0 2px 6px rgba(19,38,31,.06);
  --ease:cubic-bezier(.22,1,.36,1);
  font-family:var(--sans);
  font-feature-settings:"cv11","ss01";
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
body{font-family:var(--sans);font-size:16px;line-height:1.62;background:var(--paper);color:var(--ink)}

/* Type: serif display headings, Inter for everything a reader scans. */
h1,h2,h3{font-family:var(--display);font-weight:450;letter-spacing:-.018em;line-height:1.08;font-optical-sizing:auto}
h1{letter-spacing:-.028em}
h3{letter-spacing:-.012em;line-height:1.2}
em{font-family:var(--display);font-style:italic;font-weight:400;letter-spacing:-.01em}
.eyebrow,.number{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;line-height:1.5;color:#3d6152}
.card-brand{font:600 12px/1.4 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.small,small{font-size:13.5px;color:var(--muted)}
.intro{font-size:19px;line-height:1.6;color:var(--muted)}
strong{font-weight:620}
a{text-decoration-thickness:1px;text-underline-offset:.22em;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);transition:text-decoration-color .15s}
a:hover{text-decoration-color:currentColor;text-decoration-thickness:1px}
.text-link{font-weight:600;font-size:14.5px}
/* Prices and dated figures line up. */
.card-price strong,.pick-price strong,.review-purchase strong,.cost-result strong,.lineup-item>span,.buy-bar strong,.comparison-rail strong,.discovery-count{font-variant-numeric:tabular-nums lining-nums}

/* Controls */
button,.button{border-radius:999px;font-weight:600;font-size:14.5px;min-height:46px;padding:12px 22px;gap:14px;letter-spacing:-.003em;transition:background-color .16s,border-color .16s,color .16s,transform .16s var(--ease),box-shadow .16s}
button:hover,.button:hover{background:var(--forest-2);border-color:var(--forest-2)}
button:active,.button:active{transform:translateY(1px)}
.button.secondary,button.secondary{background:transparent;color:var(--forest);border-color:var(--line-strong)}
.button.secondary:hover,button.secondary:hover{background:var(--soft);color:var(--forest);border-color:var(--forest)}
.button.cta-outbound{background:var(--forest);border-color:var(--forest);color:#fff;justify-content:center;box-shadow:0 8px 20px -12px rgba(22,61,51,.8)}
.button.cta-outbound:hover{background:var(--forest-2);border-color:var(--forest-2);box-shadow:0 12px 26px -12px rgba(22,61,51,.85)}
.button.cta-outbound .cta-arrow{color:var(--lime);font-weight:700}
input:not([type=checkbox]):not([type=range]),select,textarea{border-radius:var(--radius-sm);border-color:var(--line-strong);background:#fff;transition:border-color .15s,box-shadow .15s}
input:not([type=checkbox]):not([type=range]):hover,select:hover,textarea:hover{border-color:#8e9c8d}
input:not([type=checkbox]):not([type=range]):focus,select:focus,textarea:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(211,231,131,.75);outline:none}
.button:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus,#b74429);outline-offset:3px;border-radius:6px}
.tag,.chip,.discovery-chip{border-radius:999px}
.tag{padding:4px 11px}
.chip{padding:8px 14px;background:var(--surface)}
.chip:hover{background:var(--soft)}
.warning{border-radius:var(--radius-sm);border-left-width:4px}
.code,pre{border-radius:var(--radius-sm)}

/* Chrome: edition strip, header, draft banner, footer */
.edition{font:500 11.5px/1.5 var(--sans);letter-spacing:.06em;min-height:34px;padding-block:5px}
.edition>span,.edition>div>span{font-family:var(--sans);letter-spacing:.06em;font-size:11.5px}
.motion-toggle{font:500 12px/1.4 var(--sans);min-height:30px;padding:4px 12px;border-radius:999px;border-color:#5f7e70}
.motion-toggle:hover{background:#204c40}
.site-header{min-height:78px;padding-block:14px;gap:28px;background:color-mix(in srgb,var(--paper) 92%,transparent)}
.wordmark{font-family:var(--display);font-weight:700;letter-spacing:-.045em;font-size:30px;line-height:.86}
.wordmark>span{color:#7d9628}
.main-nav{gap:6px;font-size:14.5px;font-weight:500}
.main-nav a{padding:8px 13px;border-radius:999px;transition:background-color .15s}
.main-nav a:hover{background:var(--soft)}
.main-nav a[aria-current=page]{background:var(--soft);text-decoration:none;box-shadow:inset 0 0 0 1px var(--line-strong)}
.header-tools{font-size:14px;font-weight:500}
.header-tools .button{min-height:42px;padding:10px 18px}
.preview-banner{font-size:12.5px;gap:14px}
.preview-banner strong{font:700 11px/1.5 var(--sans);letter-spacing:.08em}
.site-footer{background:#ecebe2;margin-top:72px;padding-top:56px;padding-bottom:40px}
.site-footer .wordmark{font-size:30px}
.site-footer nav{font-size:14px}
.footer-note{font:400 12.5px/1.75 var(--sans);color:var(--muted)}
@media (width>=761px){
  .site-header{position:sticky;top:0;z-index:40;backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px)}
  .section-nav{top:78px}
  section[id],[id^=pick-]{scroll-margin-top:150px}
}

/* Surfaces: one card language across the site */
.product-card,.pick-card,.home-guide-card,.alternative-list>a,.resource-card,.endpoint-list>div,.tool-list>div{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color .2s,box-shadow .25s var(--ease),transform .25s var(--ease)}
.product-card:hover,.pick-card:hover,.home-guide-card:hover,.alternative-list>a:hover,.resource-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-lift);transform:translateY(-2px)}
.product-card.selected{border-color:var(--forest);box-shadow:0 0 0 2px var(--forest),var(--shadow-lift)}
.alternative-list>a{background:var(--surface)}
.alternative-list h3{font-size:24px}

/* Product photography: clean white plate, quiet credit line */
.product-photo{background:#fff;border:0;box-shadow:none;border-radius:0}
.product-photo picture{background:#fff;padding:clamp(14px,2.4vw,28px)}
.product-photo img{background:#fff}
.product-photo figcaption{background:var(--surface);border-top:1px solid var(--line);font-size:11.5px;line-height:1.5;padding:8px 14px;gap:2px}
.product-photo.compact figcaption{font-size:11px;padding:7px 14px}
.media-pending{font-weight:600}
.review-photo .product-photo{border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm)}
.review-photo .product-photo figcaption{font-size:11.5px}
.card-top{background:var(--surface);border-bottom:1px solid var(--line)}
.card-top.has-photography>.eyebrow{padding:12px 18px 0;font-size:11px;background:#fff}
.card-top.has-photography .product-photo picture{padding:14px 18px}
.home-guide-image .product-photo picture{padding:12px}
.home-guide-image .product-photo figcaption,.pick-image .product-photo figcaption{font-size:10.5px}
.pick-image,.home-guide-image{background:#fff}
.pick-image .product-photo picture{background:#fff}

/* Hero (home) */
.home-opening{padding:52px 0 44px;gap:6%}
.home-opening h1{font-size:clamp(52px,6.4vw,96px);line-height:.98;letter-spacing:-.035em;font-weight:400;margin:18px 0 24px}
.home-opening h1 em{color:var(--forest-2)}
.home-opening .intro{font-size:19px;max-width:560px}
.home-opening .hero-image{height:auto;aspect-ratio:4/3.1;border-radius:22px;box-shadow:var(--shadow-lift)}
.home-opening .hero-image figcaption{border-radius:999px;padding:5px 11px;font-size:11px;background:rgba(246,244,238,.92)}
.hero-actions{gap:14px 22px}
.trust-row{display:flex;flex-wrap:wrap;gap:8px 18px;margin:28px 0 0;padding:0;list-style:none;font-size:13.5px;color:var(--muted)}
.trust-row li{margin:0;display:inline-flex;align-items:center;gap:8px}
.trust-row li::before{content:"";width:18px;height:18px;flex:0 0 18px;border-radius:50%;background:var(--lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.4 6.6 11 12 5.4' fill='none' stroke='%23163d33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}

/* Home: categories, tools, method */
.home-guides{padding:40px 0 60px}
.home-guides h2,.home-method h2{font-size:clamp(34px,3.4vw,48px)}
.home-guide-grid{gap:16px}
.home-category-title{min-height:70px;padding:18px 18px 14px}
.home-category-title h3{font-size:23px}
.home-category-title>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--soft);font-size:14px;transition:background-color .2s,transform .2s var(--ease)}
.home-guide-card:hover .home-category-title>span{background:var(--lime);transform:rotate(-8deg)}
.home-guide-copy{padding:16px 18px 14px}
.home-guide-copy>.eyebrow{font-size:11px;min-height:34px}
.home-guide-copy h4{font-family:var(--display);font-size:19px;font-weight:500;line-height:1.25;letter-spacing:-.01em}
.home-guide-copy>.small{font-size:12.5px}
.home-guide-copy .text-link{font-size:13.5px}
.home-tools,.criteria-section,.decision-band{border-radius:24px;background:radial-gradient(120% 140% at 100% 0%,#24584a 0%,var(--forest) 55%,#10302a 100%);overflow:hidden}
.home-tools{padding:48px;gap:44px;align-items:center}
.home-tools h2{font-size:clamp(30px,3vw,42px)}
.home-tools>a{border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);padding:22px 22px 24px;background:rgba(255,255,255,.04);transition:background-color .2s,border-color .2s}
.home-tools>a:hover{background:rgba(255,255,255,.09);border-color:rgba(211,231,131,.6)}
.home-tools>a:hover h3{text-decoration:none}
.home-tools h3{font-size:25px}
.home-tools h3>span{color:var(--lime)}
.home-method{padding:80px 0 40px}
.home-method>div>p:first-child:not(.eyebrow){font-family:var(--display);font-size:24px;line-height:1.45;letter-spacing:-.01em}

/* Category guide */
.guide-intro h1{font-size:clamp(40px,4.6vw,68px);letter-spacing:-.03em}
.guide-intro .intro{font-size:19px}
.guide-intro .guide-intro-more{max-width:46rem;font-size:16px;line-height:1.65;color:var(--muted);margin:14px 0 18px}
.guide-nav{gap:8px;padding:10px 0;font-weight:500}
.guide-nav a{padding:7px 14px;border-radius:999px}
.guide-nav a:hover{background:var(--soft);text-decoration:none}
.pick-grid{gap:20px}
.pick-label{background:transparent;color:var(--forest);min-height:0;padding:16px 20px 4px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;gap:9px}
.pick-label::before{content:"";width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#9cbc2e;box-shadow:0 0 0 4px rgba(211,231,131,.55)}
.pick-label strong{font-weight:700}
.pick-card:first-child{border-color:#a9bb93}
.pick-image .product-photo img{height:200px}
.pick-body h2{font-size:30px;font-weight:500;letter-spacing:-.02em}
.pick-price>strong{font-family:var(--sans);font-size:24px;font-weight:650;letter-spacing:-.02em}
.pick-body h3{font:700 12px/1.5 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--forest)}
.pick-catch h3{color:#7a5a1e}
.pick-reason,.pick-catch{font-size:15px;line-height:1.6}
.pick-ctas{display:grid;gap:8px;margin-top:16px}
.pick-ctas .button{width:100%;margin:0;justify-content:center;text-align:center}
.pick-ctas .pick-review{min-height:42px;font-size:14px;border-color:transparent;color:var(--forest);text-decoration:underline;text-underline-offset:.22em;text-decoration-color:rgba(22,61,51,.4)}
.pick-ctas .pick-review:hover{background:var(--soft);text-decoration-color:currentColor}
.criteria-section h2{font-size:clamp(36px,3.6vw,54px)}
.criteria-list summary{font-family:var(--display);font-size:22px}
.criteria-list summary>span{font:600 11px/2.6 var(--sans)}
.lineup-item{padding:18px 6px;border-radius:0;transition:background-color .15s}
.lineup-item:hover{background:rgba(236,240,227,.6)}
.lineup-item h3{font-family:var(--display);font-size:21px;font-weight:500}
.lineup-item>span{font-weight:600}
.reading-links h2{font-size:clamp(30px,2.8vw,40px)}
.selection-note{font-size:13px}

/* Product review page */
.breadcrumb{font-size:13px}
.review-hero{gap:24px 6%;padding:30px 0 48px}
.review-opening>.eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--soft);border:1px solid #cfd9c0;border-radius:999px;padding:5px 12px 5px 10px;font-size:11.5px;color:var(--forest)}
.review-opening>.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:#9cbc2e}
.review-opening h1{font-size:clamp(44px,4.8vw,74px);font-weight:450;letter-spacing:-.03em}
.review-opening h1>span{font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.review-headline{font-family:var(--display);font-size:24px;line-height:1.35;letter-spacing:-.01em;margin-top:14px}
.review-byline{font-size:13px}
.verdict-box{background:var(--surface);border:1px solid var(--line);border-left:0;border-radius:18px;padding:24px 26px;margin:28px 0 18px;box-shadow:var(--shadow-sm);position:relative}
.verdict-box h2{display:inline-flex;align-items:center;gap:9px;font:700 12px/1.4 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--forest);margin-bottom:12px}
.verdict-box h2::before{content:"";width:20px;height:20px;border-radius:50%;background:var(--lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.4 6.6 11 12 5.4' fill='none' stroke='%23163d33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat}
.verdict-box>p{font-family:var(--display);font-size:20px;line-height:1.5;letter-spacing:-.005em}
.verdict-box>div{border-top:1px dashed var(--line-strong);font-size:14.5px;margin-top:18px;padding-top:16px}
.verdict-box>div>strong{font:700 12px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#7a5a1e}
.review-purchase{background:var(--forest);color:var(--paper);border-radius:18px;padding:18px 18px 18px 24px;gap:18px;box-shadow:var(--shadow-lift)}
.review-purchase strong{font-size:32px;font-weight:600;letter-spacing:-.025em;color:#fff}
.review-purchase .small{color:#c9d8cd;font-size:12px}
.review-purchase .button{background:var(--lime);border-color:var(--lime);color:var(--ink);min-height:50px;padding:12px 24px;font-size:15px}
.review-purchase .button:hover{background:#e2f1a4;border-color:#e2f1a4;color:var(--ink)}
.purchase-note{font-size:12px;margin-top:12px;padding-left:4px}
.section-nav{gap:4px;padding:8px 0;font-size:14px;font-weight:500;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.section-nav a{padding:6px 14px;border-radius:999px;text-decoration:none}
.section-nav a:hover{background:var(--soft)}
.review-body{max-width:1000px}
.fit-summary{font-family:var(--display);font-size:26px;line-height:1.35;letter-spacing:-.01em}
.review-fit ul{font-size:15px}
.review-alternative{background:var(--sand);border:1px solid #e3dac6;border-radius:var(--radius);padding:24px 28px}
.review-alternative>strong{font:700 12px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#7a5a1e}
.review-alternative>p{font-size:16px}
.review-body .article-section h2,.article-section h2{font-weight:450}
.table-scroll,.comparison-table-region{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.facts{font-size:15px}
.facts th,.facts td{border-bottom-color:var(--line);padding:15px 18px}
.facts tbody tr:last-child th,.facts tbody tr:last-child td{border-bottom:0}
.facts tbody th{background:#f3f4ec;font-weight:600;color:#33453d;font-size:14px}
.facts thead th{background:var(--soft);font-weight:600}
.facts caption:not(.sr-only){caption-side:top;text-align:left;margin:0;padding:14px 18px;font-size:13.5px;line-height:1.5;color:var(--muted);background:var(--surface);border-bottom:1px solid var(--line)}
.review-disclosure,.pick-alternative{font-size:14.5px}
.calculator{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:30px}
.calculator h2{font-weight:450}
.cost-result{border-radius:var(--radius);background:radial-gradient(120% 140% at 100% 0%,#24584a 0%,var(--forest) 60%)}
.cost-result strong{font-family:var(--sans);font-weight:600;letter-spacing:-.03em}
.cost-result .warning{border-radius:var(--radius-sm)}
.review-footnote{font-size:13px}
.article-section + .review-footnote{border-top:0}

/* Sticky purchase bar on product pages (shown by bv-theme.js once the hero price scrolls away) */
.buy-bar{position:fixed;z-index:60;left:50%;bottom:16px;width:min(720px,calc(100% - 24px));display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 10px 10px 18px;background:rgba(19,38,31,.96);color:var(--paper);border-radius:999px;box-shadow:0 18px 40px -16px rgba(0,0,0,.55);transform:translate(-50%,calc(100% + 32px));opacity:0;visibility:hidden;transition:transform .35s var(--ease),opacity .25s,visibility 0s .35s}
.buy-bar.is-on{transform:translate(-50%,0);opacity:1;visibility:visible;transition:transform .35s var(--ease),opacity .25s}
.buy-bar-info{display:flex;align-items:baseline;gap:12px;min-width:0}
.buy-bar-name{font-size:14px;font-weight:500;color:#d6e2d9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.buy-bar strong{font-size:18px;font-weight:650;color:#fff;white-space:nowrap}
.buy-bar .button{background:var(--lime);border-color:var(--lime);color:var(--ink);min-height:44px;padding:10px 20px;font-size:14px;white-space:nowrap;flex:0 0 auto}
.buy-bar .button:hover{background:#e2f1a4;border-color:#e2f1a4;color:var(--ink)}

/* Catalog, finder, compare */
.discovery-shell h1{font-size:clamp(40px,4.6vw,68px)}
.discovery-lede{font-size:18px}
.discovery-filter{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;top:96px}
.discovery-filter h2{font-size:24px}
.discovery-filter label,.comparison-form label{font-size:12px;font-weight:600;letter-spacing:.07em;color:#33453d}
.filter-heading{font:700 12px/1.5 var(--sans);letter-spacing:.08em;text-transform:uppercase}
.discovery-results-head h2{font-weight:450}
.discovery-count{font:600 11.5px/1.4 var(--sans);letter-spacing:.08em}
.discovery-page{border-radius:999px;min-width:44px;background:var(--surface)}
.discovery-tray{border-radius:var(--radius)}
.discovery-tray-actions .button{min-height:40px}
.product-grid{gap:18px}
.product-card h3{font-size:25px;font-weight:500;letter-spacing:-.018em}
.card-body{padding:20px 20px 16px}
.product-card .card-use{font-size:14.5px;color:var(--muted)}
.card-price strong{font-family:var(--sans);font-size:22px;font-weight:650;letter-spacing:-.02em}
.card-price .small{font-size:11.5px}
.card-actions{font-size:14px;font-weight:600}
.compare-pick{font:600 13px/1.4 var(--sans);text-decoration:none;border:1px solid var(--line-strong);border-radius:999px;padding:5px 12px!important}
.compare-pick:hover{background:var(--soft)}
.compare-pick.selected{background:var(--forest);border-color:var(--forest);color:#fff}
.comparison-form{border-top:0;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}
.comparison-rail{background:transparent;border:0;gap:14px}
.comparison-rail article{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:2px}
.comparison-rail h2{font-size:24px;font-weight:500}
.comparison-rail .product-photo{border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--line)}
.comparison-rail strong{font-size:20px;font-weight:650;margin:6px 0 2px}
/* The price's source line sits under the price at the size of the card's other small print. */
.comparison-rail article>strong+.small{display:block;font-size:12px;line-height:1.45;color:var(--muted)}
.comparison-rail article>strong{line-height:1.2}
.comparison-rail .product-photo img{max-height:240px}
.comparison-rail h2 a{text-decoration:none}
.comparison-rail h2 a:hover{text-decoration:underline}
.comparison-rail .button{margin-top:12px;justify-content:center;min-height:44px;font-size:14px}
/* The price buttons line up across the cards; the text above them keeps its spacing on the tallest card */
.comparison-rail article .button{margin-top:auto}
.comparison-rail article>:has(+.button){margin-bottom:15px}
.comparison-rail article>a:last-child:not(.button){margin-top:8px;font-size:14px}

/* Editorial pages */
.page-intro h1,.editorial-hero h1{letter-spacing:-.03em}
.reading-aside nav a{text-decoration:none;color:var(--muted)}
.reading-aside nav a:hover{color:var(--ink);text-decoration:underline}
.prose p,.prose li{font-size:17px;line-height:1.75}
.article-takeaway,.personal-review{border-radius:var(--radius);border-left-width:4px}
.shortlist-panel,.editorial-note{border-radius:20px}
.connect-hero h1{font-weight:400}

/* Responsive */
@media (width<=1100px){
  .home-tools{padding:36px;gap:24px}
  .home-guide-grid{gap:14px}
}
@media (width<=760px){
  .edition{font-size:10px;letter-spacing:.04em;min-height:36px}
  .edition>span{max-width:none;white-space:nowrap;font-size:10px;letter-spacing:.05em}
  .motion-toggle{min-height:28px;font-size:11px;padding:3px 10px}
  .site-header{padding-top:12px;gap:10px;min-height:0}
  .header-tools .button{min-height:40px;padding:8px 16px;font-size:13.5px}
  .site-header{background:var(--paper)}
  .wordmark{font-size:28px}
  .home-opening{padding:28px 0 24px}
  .home-opening h1{font-size:clamp(46px,13vw,64px)}
  .home-opening .intro{font-size:17px}
  .hero-actions .button{width:100%;justify-content:center}
  .trust-row{flex-direction:column;gap:10px;margin-top:22px}
  .home-guide-grid{gap:12px}
  .home-category-title{min-height:60px;padding:14px 12px 10px}
  .home-category-title h3{font-size:19px}
  .home-category-title>span{width:26px;height:26px;font-size:12px}
  .home-guide-copy{padding:12px 12px 10px}
  .home-guide-copy h4{font-size:17px}
  .home-guide-copy>.eyebrow{font-size:10.5px;min-height:0}
  .home-guide-copy .text-link{font-size:12.5px}
  .home-tools,.criteria-section,.decision-band{border-radius:20px;margin-inline:-6px}
  .home-tools{padding:28px 22px}
  .home-method{padding:48px 0 16px}
  .home-method>div>p:first-child:not(.eyebrow){font-size:21px}
  .guide-intro h1{font-size:40px}
  .guide-nav{overflow-x:auto;scrollbar-width:none;white-space:nowrap;gap:4px}
  .pick-label{padding:14px 18px 2px;font-size:11.5px}
  .pick-body h2{font-size:26px}
  .pick-ctas{grid-column:1/-1;margin:14px 18px 18px}
  .pick-reason{font-size:15px}
  .pick-image,.pick-image .product-photo picture,.pick-image .product-photo img{background:transparent}
  .pick-image .product-photo figcaption{background:transparent;border:0}
  .review-opening h1{font-size:46px}
  .review-headline{font-size:21px}
  .verdict-box{padding:20px}
  .verdict-box>p{font-size:18px}
  .review-purchase{padding:16px;border-radius:16px;flex-wrap:wrap}
  .review-purchase strong{font-size:28px}
  .review-purchase .button{width:100%;justify-content:center;font-size:15px}
  .fit-summary{font-size:22px}
  .section-nav{overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;scrollbar-width:none}
  .facts{font-size:14px}
  .facts th,.facts td{padding:13px 12px}
  .calculator{padding:20px;border-radius:16px}
  .discovery-filter{padding:18px;border-radius:16px}
  .product-card h3{font-size:24px}
  .buy-bar{bottom:10px;width:calc(100% - 16px);border-radius:18px;padding:10px 10px 10px 16px}
  .buy-bar-info{flex-direction:column;gap:0}
  .buy-bar-name{font-size:12.5px;max-width:42vw}
  .buy-bar strong{font-size:17px}
  .buy-bar .button{padding:10px 16px;font-size:13.5px}
  .site-footer{margin-top:56px}
  body.has-buy-bar .site-footer{padding-bottom:110px}
}
@media (width<=520px){
  .product-card h3{font-size:26px}
}
@media (prefers-reduced-motion:reduce){
  .product-card:hover,.pick-card:hover,.home-guide-card:hover,.alternative-list>a:hover,.resource-card:hover{transform:none}
  .buy-bar{transition:none}
}
html[data-motion=reduced] .product-card:hover,html[data-motion=reduced] .pick-card:hover,html[data-motion=reduced] .home-guide-card:hover,html[data-motion=reduced] .alternative-list>a:hover,html[data-motion=reduced] .resource-card:hover{transform:none}

/* Expansion layer (2026-10 category strategy): nine-category nav, desk-research
   placeholders, evidence pages. Markup comes from lib/expansion.ts. */
.nav-more{position:relative}
.nav-more>summary{list-style:none;cursor:pointer;padding:8px 13px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;transition:background-color .15s}
.nav-more>summary::-webkit-details-marker{display:none}
.nav-more>summary:hover,.nav-more[open]>summary,.nav-more>summary[data-current]{background:var(--soft)}
.nav-more>summary span{font-size:11px;color:var(--muted)}
.nav-more-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:50;min-width:240px;display:flex;flex-direction:column;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lift)}
.main-nav .nav-more-panel a{padding:10px 12px;border-radius:var(--radius-sm);white-space:nowrap}
.nav-more-panel .nav-dup{display:none}
@media (761px<=width<=1159px){
  .main-nav>a:nth-of-type(n+5){display:none}
  .nav-more-panel .nav-dup{display:block}
}
.desk-tag,.review-flag{display:inline-block;font:600 10.5px/1.6 var(--sans);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:1px 8px;vertical-align:middle}
.desk-tag{background:var(--soft);color:var(--forest);border:1px solid #cfd9c0}
.review-flag{background:#f6ead0;color:#6b4c12;border:1px solid #e2cf9f}
.bottom-line{margin-top:22px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px 24px;box-shadow:var(--shadow-sm);max-width:780px}
.bottom-line h2{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font:700 12px/1.4 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--forest);margin:0 0 10px}
.bottom-line p{font-family:var(--display);font-size:19px;line-height:1.5;margin:0}
.rating-badge{display:inline-block;font:700 11px/1.5 var(--sans);letter-spacing:.07em;text-transform:uppercase;border-radius:999px;padding:3px 10px;background:var(--soft);color:var(--forest);border:1px solid var(--line-strong)}
.rating-strong .rating-badge{background:#dfeec0;border-color:#b9d47b}
.rating-moderate .rating-badge{background:#e9f2d2;border-color:#c9dc9c}
.rating-mixed .rating-badge{background:#f6ead0;border-color:#e2cf9f;color:#6b4c12}
.rating-weak .rating-badge,.rating-not-supported .rating-badge{background:#f7e0d8;border-color:#e6b8a8;color:#7a2e18}
sup.cite{font:600 11px/1 var(--sans);margin-left:1px}
sup.cite a{text-decoration:none;padding:0 2px;border-radius:4px;background:var(--soft)}
.source-list{font-size:14.5px;line-height:1.6;padding-left:22px}
.source-list li{margin-bottom:8px;scroll-margin-top:150px;overflow-wrap:anywhere}
.source-list li:target{background:#f3f7e4;border-radius:6px}
.evidence-list{font-size:15px}
.evidence-list li{margin-bottom:10px}
.evidence-group{padding-top:28px}
.evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.evidence-card{display:flex;flex-direction:column;gap:6px;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s,transform .2s var(--ease)}
.evidence-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-lift);transform:translateY(-2px)}
.evidence-card h3{font-size:22px;font-weight:500;margin:0}
.evidence-card p:not(.eyebrow){font-size:14.5px;color:var(--muted);margin:0}
.evidence-card .rating-badge{align-self:flex-start;margin-top:auto}
.home-guide-grid.expanded{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-guide-grid.expanded .home-guide-card:last-child{grid-column:auto;display:flex}
@media (width<=1100px){.evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (width<=760px){
  .evidence-grid{grid-template-columns:1fr}
  .home-guide-grid.expanded{grid-template-columns:1fr 1fr}
  .bottom-line{padding:16px 18px}
  .bottom-line p{font-size:17px}
}
@media (prefers-reduced-motion:reduce){.evidence-card:hover{transform:none}}
html[data-motion=reduced] .evidence-card:hover{transform:none}

/* Consolidation pass (2026-10-14): the evidence grade as the site's signature, one home page built
   around it, drawn placeholders for reviews still waiting on photos, shorter guide openings, and the
   public footer. Markup comes from lib/components.ts, lib/home.ts and lib/expansion.ts. */
:root{
  --paper:#f3f4ef;
  --surface:#fcfdf9;
  --sand:#f1ede2;
}
.site-footer{background:#e7e9e1}

/* The verdict meter: five bars like signal strength. The grade is always written beside it. */
.verdict-meter{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;--grade:#7d8a7f;--grade-ink:var(--muted)}
.verdict-bars{display:inline-flex;align-items:flex-end;gap:2px;height:16px}
.verdict-bars i{display:block;width:5px;border-radius:1.5px;background:#d3d8cb}
.verdict-bars i:nth-child(1){height:6px}
.verdict-bars i:nth-child(2){height:8.5px}
.verdict-bars i:nth-child(3){height:11px}
.verdict-bars i:nth-child(4){height:13.5px}
.verdict-bars i:nth-child(5){height:16px}
.verdict-bars i.on{background:var(--grade)}
.verdict-grade{font:650 13px/1.2 var(--sans);color:var(--grade-ink)}
.grade-strong{--grade:#2f6b45;--grade-ink:#245437}
.grade-moderate{--grade:#5e8c2f;--grade-ink:#3f6620}
.grade-mixed{--grade:#c18d1f;--grade-ink:#7a5710}
.grade-weak{--grade:#c8662f;--grade-ink:#8f421b}
.grade-not-supported{--grade:#a7432b;--grade-ink:#8a321c}

/* Home: the pitch beside the evidence board */
.home-opening{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:6%;padding:56px 0 52px}
.home-pitch .intro{max-width:560px}
.evidence-board{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:26px 28px 22px;box-shadow:var(--shadow-lift)}
.board-head h2{font-family:var(--display);font-size:27px;font-weight:450;letter-spacing:-.015em;line-height:1.15;margin:0}
.board-head p{margin:6px 0 0;font-size:14px;color:var(--muted)}
.board-rows{list-style:none;margin:18px 0 16px;padding:0;border-top:1px solid var(--line)}
.board-rows li{margin:0}
.board-rows a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 2px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.board-question{font-family:var(--display);font-size:18.5px;line-height:1.3;letter-spacing:-.005em}
.board-rows a:hover .board-question{text-decoration:underline;text-decoration-color:currentColor}
.board-rows .verdict-meter{flex:0 0 auto}
.board-more{font-size:14px}

/* Home: nine buying guides as one even grid of tiles */
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.category-tile{position:relative;display:flex;flex-direction:column;gap:14px;padding:20px 20px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:border-color .2s,box-shadow .25s var(--ease),transform .25s var(--ease)}
.category-tile:hover{border-color:var(--line-strong);box-shadow:var(--shadow-lift);transform:translateY(-2px)}
.category-tile-link{display:grid;grid-template-columns:54px minmax(0,1fr);column-gap:14px;align-items:center;color:var(--ink);text-decoration:none}
.category-tile-link::after{content:"";position:absolute;inset:0;border-radius:inherit}
.category-mark{grid-row:1/3;width:54px;height:54px;border-radius:15px;background:var(--soft);color:var(--forest);display:grid;place-items:center;transition:background-color .2s}
.category-mark svg{width:34px;height:34px;stroke-width:2.3}
.category-tile:hover .category-mark{background:var(--lime)}
.category-name{font-family:var(--display);font-size:21px;line-height:1.15;letter-spacing:-.012em;align-self:end}
.category-count{font-size:13px;color:var(--muted);align-self:start;margin-top:2px}
.category-evidence{margin:0}
.category-pick{margin:auto 0 0;padding-top:13px;border-top:1px solid var(--line);font-size:14.5px;line-height:1.4}
.category-pick>span:first-child{display:block;font-size:12.5px;color:var(--muted);margin-bottom:3px}
.category-pick a{position:relative;z-index:1;font-weight:600}
.category-price{color:var(--muted);font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}

/* Home: popular comparisons */
.home-comparisons{padding:8px 0 64px}
.comparison-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;border-top:1px solid var(--line)}
.comparison-link{display:flex;flex-direction:column;gap:4px;padding:16px 0 17px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.comparison-category{font-size:12.5px;font-weight:600;color:var(--muted)}
.comparison-title{font-family:var(--display);font-size:19.5px;line-height:1.3;letter-spacing:-.008em}
.comparison-link:hover .comparison-title{text-decoration:underline}
.method-links{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:20px}
.home-method .method-links .text-link{margin:0}

/* Evidence line: a category's grade, linked to its evidence review */
.evidence-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:16px 0 0;font-size:14.5px}
.evidence-line-label{font-size:13px;color:var(--muted)}
.evidence-line a{font-weight:600}
.review-photo .evidence-line{margin-top:4px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.review-photo .evidence-line-label{flex-basis:100%}

/* Drawn placeholder for reviews waiting on a product photo: the category's line drawing and the product type */
.photo-placeholder .photo-placeholder-plate{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;aspect-ratio:4/3;background:radial-gradient(90% 90% at 50% 40%,#f7f9f2 0%,var(--soft) 100%);color:var(--forest)}
.photo-placeholder svg{width:clamp(64px,7vw,96px);height:auto;stroke-width:1.7;opacity:.82}
.photo-placeholder .photo-placeholder-plate span{font:500 13px/1.3 var(--sans);color:var(--muted);max-width:80%;text-align:center}
.photo-placeholder .photo-placeholder-plate span::first-letter{text-transform:uppercase}
.photo-placeholder.compact .photo-placeholder-plate{aspect-ratio:auto;height:190px;gap:8px}
.photo-placeholder.compact svg{width:58px}
.pick-image .photo-placeholder.compact .photo-placeholder-plate{height:calc(200px + 2*clamp(14px,2.4vw,28px))}
.card-top.has-photography .photo-placeholder.compact .photo-placeholder-plate{height:218px}
.review-photo .photo-placeholder{border:1px solid var(--line);border-radius:18px;overflow:hidden}
.review-photo .photo-placeholder .photo-placeholder-plate{aspect-ratio:auto;height:clamp(240px,28vw,360px)}
.review-photo .photo-placeholder svg{width:clamp(88px,9vw,124px);stroke-width:1.5}

/* Buying guides: a short opening, picks two by two, the price button right under the price */
.guide-intro-more{max-width:46rem;margin:10px 0 2px}
.guide-intro-more>summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font-size:14.5px;font-weight:600;color:var(--forest)}
.guide-intro-more>summary::-webkit-details-marker{display:none}
.guide-intro-more>summary::before{content:"+";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--soft);font-size:14px;line-height:1}
.guide-intro-more[open]>summary::before{content:"−"}
.guide-intro-more p{margin:10px 0 0;font-size:16px;line-height:1.65;color:var(--muted)}
.guide-byline time{font-variant-numeric:tabular-nums}
@media (width>=761px){
  .pick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pick-product-heading .pick-price{margin-bottom:16px}
  .pick-ctas{margin:0 0 20px}
}
.pick-ctas{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.pick-ctas .pick-review{width:auto;padding-inline:16px}
.pick-alternative summary{cursor:pointer}

/* Review page: the price note folds away under the button */
.price-notes{margin:4px 0 0;padding-left:4px;font-size:12.5px}
.price-notes>summary{cursor:pointer;color:var(--forest);font-weight:600}
.price-notes p{margin:6px 0 0;color:var(--muted);line-height:1.6}

/* Public footer: three link groups beside the wordmark */
.site-footer{grid-template-columns:minmax(0,1fr) minmax(0,2.1fr);gap:24px 64px}
.site-footer .footer-groups{grid-column:2;grid-row:1/span 2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;font-size:14px}
.footer-group{display:flex;flex-direction:column;gap:11px;min-width:0}
.footer-heading{font:650 13px/1.4 var(--sans);color:var(--forest);margin:0 0 3px}
.footer-group a{color:var(--ink);text-decoration:none}
.footer-group a:hover{text-decoration:underline}
.site-footer .footer-note{grid-column:1;font-size:12.5px}
.contact-email{margin-top:22px}

@media (width<=1100px){
  .category-grid,.comparison-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-footer .footer-groups{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* In two columns the long guide list takes the left one and the two short groups stack on the right */
  .site-footer .footer-groups>:first-child{grid-row:span 2}
}
@media (width<=760px){
  .home-opening{grid-template-columns:1fr;gap:28px;padding:28px 0 20px}
  .evidence-board{padding:20px 18px 16px;border-radius:18px}
  .board-head h2{font-size:24px}
  .board-question{font-size:17px}
  .board-rows a{gap:12px}
  .category-grid{grid-template-columns:1fr;gap:12px}
  .category-tile{padding:16px 16px 14px;gap:12px}
  /* The legacy Astro sheet spans the last tile full width as a two-column grid; keep it like the others */
  .category-grid .category-tile:last-child{grid-column:auto;display:flex;align-items:stretch}
  .category-grid .category-tile:last-child p{margin-top:14px}
  .category-tile-link{grid-template-columns:46px minmax(0,1fr)}
  .category-mark{width:46px;height:46px;border-radius:13px}
  .category-mark svg{width:30px;height:30px}
  .category-name{font-size:20px}
  .comparison-links{grid-template-columns:1fr}
  .comparison-title{font-size:18px}
  .home-comparisons{padding-bottom:44px}
  .photo-placeholder.compact .photo-placeholder-plate,.pick-image .photo-placeholder.compact .photo-placeholder-plate{height:150px}
  .pick-image .product-photo{background:transparent}
  .pick-image .product-photo img{height:auto;width:100%;max-height:150px;object-fit:contain}
  .pick-image .product-photo figcaption{display:none}
  .pick-ctas{grid-template-columns:1fr}
  .pick-ctas .pick-review{width:100%}
  .site-footer{grid-template-columns:1fr}
  .site-footer .footer-groups{grid-column:1;grid-row:auto;grid-template-columns:1fr 1fr;gap:24px 20px}
  .site-footer .footer-note{grid-column:1}
}
@media (prefers-reduced-motion:reduce){.category-tile:hover{transform:none}}
html[data-motion=reduced] .category-tile:hover{transform:none}

/* Audit pass (2026-10-14): fixes from the page, launch and accessibility reviews. Markup from lib/expansion.ts,
   lib/home.ts and lib/preview.ts. */
/* Focus stays visible: lime on the dark panels, and never hidden under the sticky header or price bar */
.home-tools,.criteria-section,.decision-band,.review-purchase,.buy-bar,.cost-result,.edition{--focus:var(--lime)}
@media (width>=761px){html{scroll-padding-top:96px}html:has(.section-nav){scroll-padding-top:140px}}
html:has(body.has-buy-bar){scroll-padding-bottom:110px}
sup.cite{white-space:nowrap}
sup.cite a+span+a{margin-left:0}

/* Edition strip: the motion switch keeps its space before the script reveals it, and reads as a quiet link */
.edition .motion-toggle[hidden]{display:inline-flex!important;visibility:hidden}
.edition .motion-toggle{background:none;border:0;border-radius:4px;min-height:0;padding:2px 4px;text-decoration:underline;text-underline-offset:3px;color:inherit;opacity:.85}
.edition .motion-toggle:hover{background:none;opacity:1}

/* Header: the catalog and compare links join the More menu where the header hides them */
.nav-more-panel .nav-tool{display:none}
@media (761px<=width<=1120px){.main-nav .nav-more-panel .nav-tool{display:block}}
.nav-more-panel .nav-tool:first-of-type{border-top:1px solid var(--line);margin-top:4px;padding-top:12px}

/* Mobile menu: three labelled groups, like the footer */
.mobile-menu nav{display:flex!important;flex-direction:column;gap:18px}
.mobile-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.mobile-heading{grid-column:1/-1;margin:0 0 4px;font:650 11.5px/1.4 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.mobile-group a{padding:10px 0;border-bottom:1px solid var(--line)}

/* Home tiles: the pick, then the category's evidence grade labelled with the claim it grades */
h3.category-name{margin:0;font-weight:400}
.category-pick-label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:3px}
.category-price time{font-variant-numeric:tabular-nums}
.category-evidence{display:flex;flex-direction:column;gap:5px;margin:0;font-size:13.5px;line-height:1.35}
.category-evidence-label{font-size:12px;color:var(--muted)}
.category-evidence a{position:relative;z-index:1;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}
.category-evidence a:hover{text-decoration-color:currentColor}

.footer-legal{margin-top:12px!important;color:var(--muted)}
.footer-legal a{color:inherit}

/* Review pages: the price box sits beside the verdict, under the photo or the key facts */
@media (width>=761px){
  .review-aside{position:sticky;top:150px;align-self:start;padding-top:0}
  .review-aside .review-purchase{flex-wrap:wrap;padding:18px 20px}
  .review-aside .review-purchase>div{flex:1 1 auto}
  .review-aside .review-purchase .button{flex:1 1 100%;justify-content:center}
}
.review-aside{display:flex;flex-direction:column;gap:12px}
.review-aside .exact-variant{margin:0}
.review-aside .purchase-note{margin:0}
.review-aside .price-notes{margin:0}
.glance-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px 22px;box-shadow:var(--shadow-sm)}
.glance-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.glance-glyph{flex:0 0 52px;width:52px;height:52px;padding:9px;border-radius:14px;background:var(--soft);color:var(--forest);stroke-width:2.2}
.glance-head p{margin:0;font-family:var(--display);font-size:22px;line-height:1.15;letter-spacing:-.01em}
.glance-head p span{display:block;font:650 11.5px/1.4 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.glance-facts{margin:0;display:grid;gap:0;border-top:1px solid var(--line)}
.glance-facts>div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.45}
.glance-facts dt{color:var(--muted)}
.glance-facts dd{margin:0}
.glance-more{display:inline-block;margin-top:12px;font-size:14px;font-weight:600}
.research-context{margin:0 0 18px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;font-size:15px;line-height:1.55}
.research-context a{font-weight:600;margin-right:4px}
.evidence-kind{display:inline-block;margin-right:8px;padding:1px 8px;border-radius:999px;background:var(--soft);font:600 11px/1.6 var(--sans);letter-spacing:.04em;color:var(--forest);vertical-align:1px}
.evidence-list li strong{font-weight:600}
.spec-table tbody th,.article-table tbody th{text-transform:none}
/* Legacy .facts th breaks anywhere, which splits one-word row labels mid-word on phones */
.spec-table tbody th{overflow-wrap:normal;word-break:normal;hyphens:auto}
.before-heading{margin:26px 0 10px;font-family:var(--display);font-size:22px;font-weight:450}
.buy-details{display:grid;gap:8px}
.buy-detail{border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.buy-detail>summary{display:grid;grid-template-columns:7.5rem minmax(0,1fr) auto;gap:12px;align-items:baseline;padding:12px 16px;cursor:pointer;list-style:none;font-size:14.5px}
.buy-detail>summary::-webkit-details-marker{display:none}
.buy-detail>summary::after{content:"+";color:var(--forest);font-weight:600}
.buy-detail[open]>summary::after{content:"−"}
.buy-detail>summary span{color:var(--muted)}
.buy-detail p{margin:0;padding:0 16px 14px;font-size:14.5px;line-height:1.6}
.alt-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.alt-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}
.alt-card .product-photo{border:0;border-radius:0;box-shadow:none}
.alt-card .product-photo img{height:170px;object-fit:contain}
.alt-card .product-photo figcaption{display:none}
.alt-card .photo-placeholder.compact .photo-placeholder-plate{height:170px}
.alt-body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px}
.alt-body h3{margin:0;font-size:21px}
.alt-body h3 a{color:var(--ink);text-decoration:none}
.alt-body h3 a:hover{text-decoration:underline}
.alt-body p{margin:0;font-size:14px;color:var(--muted)}
.alt-body .alt-price{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.alt-body .text-link{margin-top:auto;padding-top:6px;font-size:14px}
/* The calculator island repeats the section heading; keep its label for screen readers only */
#ownership .calculator>div>.eyebrow,#ownership .calculator>div>h2+p{display:none}
#ownership .calculator #cost-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#ownership .field-grid{align-items:end}
#ownership.no-energy .field-grid>label:nth-child(4),#ownership.no-energy .field-grid>label:nth-child(5),#ownership.no-energy .field-grid>label:nth-child(7),#ownership.no-energy .cost-result>p:nth-of-type(3){display:none}
/* Price bar */
.buy-bar-disclosure{font-size:11px;color:#c9d8cd}
@media (width<=760px){.buy-bar-store{display:none}}

/* Affiliate labels next to the buttons they describe */
.paid-label{grid-column:1/-1;font-size:12px;color:var(--muted)}
.guide-disclosure{max-width:46rem;margin:12px 0 0;font-size:13.5px;color:var(--muted)}

/* Articles: readable line length, tables that scroll instead of breaking words, citations that stay put */
.article-content.prose .article-section>:is(p,ul,ol,h2,h3){max-width:68ch}
.article-content .facts :is(th,td,caption){overflow-wrap:break-word;word-break:normal}
.article-content .table-scroll .article-table{min-width:max(100%,calc(var(--cols,2)*9.5rem))}
.article-content .article-table tbody th{position:sticky;left:0;z-index:1;background:var(--surface);min-width:8.5rem}
/* The legacy rule gives row labels 28% of the table, which squeezes the data columns on desktop. */
@media (width>=761px){.article-content .article-table tbody th{width:18%}}
/* Wide tables: the first header cell and the caption stay put while the columns scroll, and a shadow marks the
   right edge while more columns sit off screen (the local layer covers it once scrolled to the end) */
.article-content .article-table thead th:first-child{position:sticky;left:0;z-index:2;background:var(--soft)}
.article-content .facts caption:not(.sr-only){position:sticky;left:0;max-width:100cqw;box-sizing:border-box}
.article-content .table-scroll{margin-top:24px;container-type:inline-size;background:linear-gradient(to left,var(--surface) 45%,rgba(252,253,249,0)) right/28px 100% no-repeat local,linear-gradient(to left,rgba(19,38,31,.13),rgba(19,38,31,0)) right/14px 100% no-repeat scroll,var(--surface)}
.article-meta time{font-variant-numeric:tabular-nums}
.bottom-line-grade{margin:0 0 10px!important;font-size:15px}
.bottom-line-grade .verdict-grade{font-size:14px}
.bottom-line .text-link{display:inline-block;margin-top:12px;font-size:15px}
.in-short{max-width:690px;margin:20px 0 0;padding:14px 18px;background:var(--surface);border-left:3px solid var(--lime);border-radius:0 12px 12px 0;font-size:16.5px;line-height:1.55}
.toc-mobile{display:none}
.related-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:none!important}
.related-links a{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);text-decoration:none;font-weight:600;font-size:15px;line-height:1.4}
.related-links a:hover{border-color:var(--line-strong)}
.related-links a span{color:var(--forest)}
.evidence-card .verdict-meter{margin-top:auto;padding-top:8px}
.evidence-card .verdict-grade{font-size:12.5px}

/* Products named in an article: photo, dated price and a way to buy */
.product-strip{margin:0 0 40px}
.page-intro+.product-strip{margin-top:8px}
.strip-cards{display:grid;grid-template-columns:repeat(min(var(--strip-count,3),3),minmax(0,1fr));gap:16px}
.strip-card{display:grid;grid-template-rows:auto 1fr;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}
.strip-card .product-photo{border:0;border-radius:0;box-shadow:none}
.strip-card .product-photo img{height:160px;object-fit:contain}
.strip-card .product-photo figcaption{display:none}
.strip-card .photo-placeholder.compact .photo-placeholder-plate{height:160px}
.strip-body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px}
.strip-body h3{margin:0;font-size:21px}
.strip-body h3 a{color:var(--ink);text-decoration:none}
.strip-price{display:flex;flex-direction:column;gap:2px;margin:2px 0 6px}
.strip-price strong{font-size:22px;font-variant-numeric:tabular-nums}
.strip-price strong span{font-size:14px;font-weight:500;color:var(--muted)}
.strip-ctas{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:auto}
.strip-ctas .button{width:100%;justify-content:center}
.strip-note{margin:12px 0 0}

@media (width<=1100px){.alt-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.strip-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (width<=760px){
  .review-aside .review-purchase,.review-aside .purchase-note,.review-aside .price-notes{order:-1}
  .review-aside .exact-variant{order:-2}
  .glance-facts>div{grid-template-columns:1fr;gap:2px}
  .buy-detail>summary{grid-template-columns:minmax(0,1fr) auto}
  .buy-detail>summary span{grid-column:1;grid-row:2}
  .alt-cards,.strip-cards,.related-links{grid-template-columns:1fr}
  .alt-card,.strip-card{grid-template-columns:110px minmax(0,1fr);grid-template-rows:auto;display:grid}
  .alt-card .product-photo img,.strip-card .product-photo img{height:110px}
  .alt-card .photo-placeholder.compact .photo-placeholder-plate,.strip-card .photo-placeholder.compact .photo-placeholder-plate{height:100%;min-height:110px}
  .alt-card .photo-placeholder-plate span,.strip-card .photo-placeholder-plate span{display:none}
  .alt-body,.strip-body{padding:12px 14px 14px}
  .alt-body h3,.strip-body h3{font-size:19px}
  .toc-mobile{display:block;margin:0 0 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
  .toc-mobile>summary{padding:12px 16px;font-weight:600;cursor:pointer}
  .toc-mobile nav{display:flex;flex-direction:column;padding:0 16px 8px}
  .toc-mobile nav a{padding:11px 0;border-top:1px solid var(--line);font-size:15px}
  .article-layout>.reading-aside{display:none}
  /* Article tables on phones: a narrow label column, ruled off from the columns that scroll under it */
  .article-content .article-table tbody th{min-width:0;width:92px;font-size:12px}
  .article-content .article-table :is(tbody th,thead th:first-child){box-shadow:inset -1px 0 0 var(--line)}
  .edition{flex-wrap:wrap}
  .edition>span{white-space:normal}
}
.product-strip .section-top h2{font-size:clamp(26px,2.4vw,34px)}
@media (width>=761px){.review-aside .product-photo img{max-height:330px;object-fit:contain}}
/* Affiliate disclosure at the top of any page with an affiliate link (lib/preview.ts launchChrome). */
.affiliate-notice{margin:18px 0 0;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);font-size:13.5px;line-height:1.5;color:var(--muted)}
.affiliate-notice strong{color:var(--ink);font-weight:600}
.affiliate-notice a{color:var(--ink)}

/* Discovery tools pass (2026-10-14): catalog, finder, compare, 404 */

/* Buying-guide links: pills under the catalog intro and in empty states, a grid on the 404 page */
.discovery-guides{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.discovery-guides a{display:inline-flex;align-items:center;gap:9px;min-height:40px;padding:6px 15px 6px 7px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-size:14px;font-weight:550;line-height:1.3;text-decoration:none;transition:border-color .2s,background-color .2s}
.discovery-guides a:hover{border-color:var(--line-strong);background:var(--soft)}
.discovery-guides .guide-link-mark{flex:0 0 auto;width:28px;height:28px;padding:5px;border-radius:50%;background:var(--soft);color:var(--forest);stroke-width:2.4}
.discovery-guides a:hover .guide-link-mark{background:var(--lime)}
.discovery-guides.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:0}
.guide-grid a{min-height:62px;padding:10px 16px 10px 10px;border-radius:var(--radius);font-size:15.5px}
.guide-grid .guide-link-mark{width:40px;height:40px;padding:7px;border-radius:12px}
.empty .discovery-guides{margin-top:12px}
.discovery-topline{justify-content:flex-start;flex-wrap:wrap;gap:10px 24px}
.discovery-topline a{font-weight:600;color:var(--forest);white-space:nowrap}

/* Filter panel: fits the screen beside the results, and help text reads as a sentence */
.discovery-filter small{display:block;margin-top:5px;font-size:12.5px;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.45;color:var(--muted)}
@media (width>=761px){
  .discovery-filter{top:97px;max-height:calc(100vh - 113px);overflow-y:auto;overscroll-behavior:contain}
}

/* Results head: count and sort; active filters as removable chips */
.discovery-results-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}
.discovery-sort{display:flex;align-items:center;gap:8px;margin:0}
.discovery-sort label{font-size:13px;font-weight:600;color:var(--muted)}
.discovery-sort select{min-height:40px;padding:6px 10px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);font-size:14px}
.discovery-sort button{min-height:40px;padding:6px 14px}
.discovery-chip{gap:6px;min-height:40px;padding:6px 10px 6px 13px;border-color:var(--line-strong);background:var(--surface);color:var(--ink)}
.discovery-chip strong{color:var(--muted)}
.discovery-chip>span{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:15px;line-height:1;color:var(--forest)}
.discovery-chip:hover{background:var(--soft)}

/* Cards: a compare link that keeps its place, a note where comparing isn't possible, the pick badge */
.product-card{scroll-margin-top:112px}
.card-top.has-photography>.eyebrow{display:block;max-width:none}
.card-actions{align-items:center}
.card-actions .compare-pick{display:inline-flex;align-items:center;justify-content:center;min-height:36px;line-height:1.2}
.compare-pick-note{display:inline-flex;align-items:center;min-height:36px;padding:5px 12px;border:1px dashed var(--line-strong);border-radius:999px;font:600 13px/1.2 var(--sans);color:var(--muted)}
.pick-badge{display:inline-flex;align-items:center;gap:5px;margin-left:8px;padding:2px 9px 2px 7px;border-radius:999px;background:var(--lime);color:var(--ink);font:650 11px/1.5 var(--sans);letter-spacing:.02em;text-transform:none;vertical-align:1px;white-space:nowrap}
.pick-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--forest)}
.discovery-grid>.empty{grid-column:1/-1;margin:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.discovery-grid>.empty p+p{margin-top:14px}

/* Comparison tray: stays on screen while the shopper scrolls the results */
.discovery-tray{position:sticky;bottom:12px;z-index:30;flex-wrap:nowrap;gap:12px 20px;margin:22px 0 0;padding:12px 14px 12px 18px;border-radius:16px;box-shadow:0 18px 40px -16px rgba(0,0,0,.5)}
.discovery-tray-main{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;min-width:0}
.discovery-tray-title{margin:0;font:650 14px/1.3 var(--sans);color:#fff}
.discovery-tray-title span{margin-left:4px;font-weight:500;color:#d6e4cf}
.discovery-tray .tag{display:inline-flex;align-items:center;gap:2px;padding:2px 3px 2px 11px;background:#eaf0df;border-color:#eaf0df;color:var(--ink);font-size:13px;font-weight:550}
.discovery-tray .tag a{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;color:var(--forest);font-size:17px;font-weight:700;line-height:1;text-decoration:none}
.discovery-tray .tag a:hover{background:#d3dfc4}
.discovery-tray-hint{font-size:13.5px;color:#d6e4cf}
.discovery-tray-actions{flex:0 0 auto;gap:16px}
.discovery-tray-actions>a:not(.button){color:#fff;font-size:13.5px;font-weight:600}
.discovery-tray-actions .button{font-size:14px;padding:9px 18px}
@media (width<=760px){
  .discovery-layout{grid-template-columns:minmax(0,1fr)}
  .discovery-tray{flex-direction:column;align-items:stretch;gap:10px;bottom:8px;padding:12px 14px}
  .discovery-tray-list{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;max-width:100%}
  /* Each pill keeps its remove button: a long name ends in an ellipsis and the next pill peeks in */
  .discovery-tray .tag{flex:0 0 auto;max-width:85%;min-width:0;white-space:nowrap}
  .discovery-tray .tag-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
  .discovery-tray .tag a{flex:0 0 auto}
  .discovery-tray-actions{justify-content:space-between}
  .discovery-tray-actions .button{flex:1;justify-content:center}
  .product-card{scroll-margin-top:16px}
  .card-actions .compare-pick,.compare-pick-note{min-height:44px}
}

/* Finder: a category first, then only the questions that category can answer */
.finder-start{margin:4px 0 32px}
.finder-start h2{margin-bottom:18px;font-size:clamp(26px,2.6vw,34px)}
.finder-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.finder-tile{display:grid;grid-template-columns:54px minmax(0,1fr);column-gap:14px;row-gap:3px;align-items:center;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none;transition:border-color .2s,box-shadow .25s var(--ease),transform .25s var(--ease)}
.finder-tile:hover{border-color:var(--line-strong);box-shadow:var(--shadow-lift);transform:translateY(-2px)}
.finder-tile-mark{grid-row:1/4;display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:var(--soft);color:var(--forest);transition:background-color .2s}
.finder-tile-mark svg{width:34px;height:34px;stroke-width:2.3}
.finder-tile:hover .finder-tile-mark{background:var(--lime)}
.finder-tile-name{font-family:var(--display);font-size:21px;line-height:1.15;letter-spacing:-.012em}
.finder-tile-meta{font-size:13px;color:var(--muted)}
.finder-tile-asks{font-size:13px;font-weight:600;color:var(--forest)}
.finder-start-note{margin-top:20px;font-size:15px}
.finder-start-note a{font-weight:600}
.discovery-lede a{color:var(--forest);font-weight:600}

/* Compare: rail, disclosure, a table the page scrolls, and grouped suggestions */
.comparison-rail article>.product-photo{margin:0 0 12px}
.comparison-rail .eyebrow{font-size:11px;line-height:1.45}
.comparison-rail h2{line-height:1.2}
.cta-disclosure{margin:8px 0 0;font-size:12.5px;line-height:1.5;color:var(--muted)}
.pick-ctas .cta-disclosure{grid-column:1/-1;margin:0}
.comparison-disclosure{margin:-10px 0 22px}
.comparison-table .comparison-source{margin-top:6px;font-size:12.5px;line-height:1.5}
.comparison-table td>strong{font-size:17px;font-weight:650;font-variant-numeric:tabular-nums lining-nums}
.comparison-table td>p{margin:6px 0 0}
.comparison-table-region tbody th{text-transform:none}
.comparison-table thead th a{font-weight:600;text-decoration:none}
.comparison-table thead th a:hover{text-decoration:underline}
@media (width>=761px){
  .comparison-table-region{max-height:none;overflow:visible}
  .comparison-table-region .facts{min-width:0;table-layout:fixed}
  .comparison-table-region thead th{top:81px;box-shadow:inset 0 -1px 0 var(--line-strong)}
  .comparison-table-region thead th:first-child{width:210px;border-top-left-radius:13px}
  .comparison-table-region thead th:last-child{border-top-right-radius:13px}
  .comparison-table-region tbody tr:last-child th:first-child{border-bottom-left-radius:13px}
  .comparison-table-region td{min-width:0}
}
@media (width<=760px){
  .comparison-rail .cta-at{display:none}
  .comparison-rail .button{gap:8px;padding:10px 12px;border-radius:14px;font-size:13.5px}
  .comparison-table-region{container-type:inline-size;max-height:none;overflow-x:auto;overflow-y:hidden;margin-inline:0}
  .comparison-table-region .facts{min-width:0;font-size:13px}
  .comparison-table-region .facts th,.comparison-table-region .facts td{padding:12px 9px}
  .comparison-table-region th:first-child{width:92px;min-width:92px}
  .comparison-table-region td,.comparison-table-region thead th:not(:first-child){width:calc((100cqw - 92px)/2);min-width:calc((100cqw - 92px)/2)}
  .comparison-table-region tbody th{font-size:12px}
  .comparison-table td>strong{font-size:15.5px}
  .comparison-table-region tbody th{overflow-wrap:normal;word-break:normal;hyphens:auto}
  .comparison-table-region td ul{padding-left:14px}
  .comparison-rail h2{font-size:18px;line-height:1.25}
  /* The legacy layout sets the rail's small print to 10px on phones; 11px stays legible and matches the price note. */
  .comparison-rail article>strong+.small,.comparison-rail article>p:not(.eyebrow){font-size:11px}
}
.compare-suggestions{margin:28px 0 8px}
.compare-suggestions>h2{font-size:clamp(26px,2.6vw,34px)}
.compare-suggestions>p{max-width:44rem;margin:8px 0 0;color:var(--muted)}
.compare-suggestion-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:26px}
.compare-suggestion-group h3{margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--line);font:650 14px/1.4 var(--sans);letter-spacing:0}
.compare-suggestion-group h3 a{color:var(--forest);text-decoration:none}
.compare-suggestion-group h3 a:hover{text-decoration:underline}
.compare-suggestion-group .chip-list{flex-direction:column;gap:8px;margin:0}
.chip.compare-suggestion{display:flex;flex-direction:column;gap:3px;padding:10px 14px;border-radius:12px;color:var(--ink);font-size:14.5px;font-weight:550;line-height:1.35}
.chip.compare-suggestion small{font-size:12.5px;font-weight:400;line-height:1.4;color:var(--muted)}

/* Not found: a search box and the nine guides */
.not-found .intro{max-width:40rem;margin-top:14px}
.not-found-search{max-width:560px;margin-top:26px}
.not-found-search label{display:block;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--forest)}
.not-found-search div{display:flex;gap:8px}
.not-found-search input[type=search]{flex:1;min-width:0;min-height:48px;padding:10px 18px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);font-size:16px}
.not-found-guides{margin:36px 0 64px}
.not-found-guides h2{margin-bottom:16px;font-size:clamp(24px,2.4vw,30px)}
.not-found-guides p{margin-top:22px}

@media (width<=1100px){
  .finder-tiles,.compare-suggestion-groups,.discovery-guides.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (width<=760px){
  .finder-tiles,.compare-suggestion-groups,.discovery-guides.guide-grid{grid-template-columns:1fr}
  .finder-tiles{gap:10px}
  .finder-tile{grid-template-columns:46px minmax(0,1fr);padding:14px}
  .finder-tile-mark{width:46px;height:46px;border-radius:13px}
  .finder-tile-mark svg{width:30px;height:30px}
  .finder-tile-name{font-size:19px}
  .compare-suggestion-groups{gap:22px}
  .discovery-results-tools{width:100%;justify-content:space-between}
}
@media (prefers-reduced-motion:reduce){.finder-tile:hover{transform:none}}
html[data-motion=reduced] .finder-tile:hover{transform:none}

/* Source-led editorial identity and decision tools. No new fonts or remote assets. */
.editorial-context{margin:18px 0;color:var(--muted);font-size:13px;line-height:1.6;max-width:75ch}
.editorial-context p{margin:6px 0}.editorial-context .small{font-size:12px}
.grade-context{max-width:68ch}.offer-context{padding:12px 16px;background:var(--sand);border-left:3px solid var(--forest);font-size:13px;line-height:1.55}
.research-tool-link{font-size:14px;font-weight:600;margin:18px 0}.research-table{max-width:100%;margin:24px 0}.research-table table{min-width:780px}.research-table td,.research-table th{vertical-align:top;min-width:185px}.research-table th p{font-weight:400}.research-table details{margin-top:14px}.research-table summary{cursor:pointer;font-weight:600}.research-table tr[hidden]{display:none}
.table-filter{display:grid;gap:8px;max-width:560px;font-weight:600}.table-filter input{width:100%;min-height:44px;padding:10px 14px}
.room-calculator{border:1px solid var(--line-strong);background:var(--surface);padding:24px;border-radius:var(--radius);margin-block:24px}.room-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.room-fields label{font-size:13px;font-weight:600}.room-fields input{display:block;width:100%;min-height:44px;padding:8px 12px;margin-top:8px}.room-calculator output{display:block;font-size:18px;font-weight:600;margin-top:20px}.room-calculator h3{margin-top:0}
@media(max-width:600px){.room-fields{grid-template-columns:1fr}.room-calculator{padding:18px}.editorial-context{margin-block:14px}}

/* Intent-led routes to existing evidence, comparisons and cost tools. */
.intent-pathways{margin:1.25rem 0;padding:1rem 1.2rem;border:1px solid var(--line,#d6ddce);border-radius:12px}.intent-pathways p{font-size:.9rem;max-width:80ch}.intent-pathways ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1.4rem;padding-left:1.1rem;font-size:.9rem}@media(max-width:600px){.intent-pathways ul{grid-template-columns:1fr}}
