/* WASDROOG-COMBINATIE.NL — shared design system
   This file is the only active stylesheet. Edit tokens and components here.
   Article topics never get their own width, table, label or button rules. */

/* 1. Design values: one source for every page and component. */

@font-face { font-family: DM; src: url("/assets/dm-sans.woff2") format("woff2"); font-weight: 100 1000; font-display: swap; }

@font-face { font-family: Manrope; src: url("/assets/manrope.woff2") format("woff2"); font-weight: 200 800; font-display: swap; }

:root {
  --font-body: DM, Arial, sans-serif;
  --font-heading: Manrope, DM, Arial, sans-serif;
  --blue: #195cff; --blue-hover: #0e48d7; --dark: #142342;
  --muted: #526176; --quiet: #63718a; --line: #dce5ef;
  --pale: #f3f6fc; --lime: #d9f79b; --white: #fff;
  --page-width: 1280px; --page-gutter: 36px;
  --reading-width: 940px; --text-measure: 78ch; --prose-measure: 66ch;
  --sidebar-width: 220px; --column-gap: 48px;
  --section-space: 44px; --section-padding: 48px; --panel-padding: 28px;
  --body-size: 17px; --body-leading: 1.8;
  --h1-size: 44px; --h2-size: 32px; --h3-size: 23px;
  --card-radius: 16px; --table-radius: 12px; --control-radius: 10px;
  --table-padding: 17px 19px; --table-font-size: 14px;
  --button-padding: 13px 20px; --button-size: 14px; --button-height: 51px;
  --label-size: 12px; --label-padding: 6px 10px;
  --anchor-offset: 110px; --ease-out: cubic-bezier(.22,1,.36,1);
}

@media (max-width: 1100px) {
  :root { --page-gutter: 28px; --sidebar-width: 200px; --column-gap: 32px; }
}

@media (max-width: 900px) {
  :root { --page-gutter: 24px; --column-gap: 28px; --h1-size: 40px; }
}

@media (max-width: 600px) {
  :root {
    --page-gutter: 20px; --section-space: 32px; --section-padding: 32px;
    --panel-padding: 20px; --body-size: 16px;
    --h1-size: 32px; --h2-size: 27px; --h3-size: 22px;
    --table-padding: 14px 16px; --table-font-size: 13px;
    --button-padding: 9px 14px; --button-height: 44px;
    --label-size: 11px; --label-padding: 5px 8px;
  }
}

@media (max-width: 360px) {
  :root { --h1-size: 28px; --h2-size: 24px; }
}

/* 2. Foundation and shared page geometry. */

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body { margin: 0; font: var(--body-size)/var(--body-leading) var(--font-body); color: var(--dark); background: var(--white); -webkit-font-smoothing: antialiased; }

a { color: inherit; text-decoration: none; -webkit-tap-highlight-color: transparent; }

button, input, select, textarea { font: inherit; }

button { cursor: pointer; }

button, input, select { color: inherit; }

img { display: block; max-width: 100%; height: auto; }

svg { max-width: 100%; }

h1, h2, h3, h4, p { margin: 0; }

h1, h2, h3, h4 { font-family: var(--font-heading); font-weight: 650; letter-spacing: -.035em; line-height: 1.25; overflow-wrap: break-word; }

h1 { font-size: var(--h1-size); hyphens:auto; }

h2 { font-size: var(--h2-size); }

h3 { font-size: var(--h3-size); }

:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }

[hidden] { display: none !important; }

.wrap { width: calc(100% - var(--page-gutter) * 2); max-width: var(--page-width); margin-inline: auto; }

section[id], li[id], .full-review[id], #beoordeling { scroll-margin-top: var(--anchor-offset); }

.visually-hidden, .skip-link:not(:focus) { position: absolute; top: 0; left: 0; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

.skip-link:focus { position: fixed; top: 12px; left: 12px; z-index: 200; padding: 12px 18px; background: white; color: var(--blue); }

.section-kicker { display: block; color: #47658b; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 14px; }

.content-layout, .product-reviews-layout { display: grid; grid-template-columns: var(--sidebar-width) minmax(0,1fr); gap: var(--column-gap); align-items: start; }

.content-layout { padding-block: var(--section-padding) 32px; border-top: 1px solid var(--line); margin-top: 20px; }

.guide-content, .article-main { min-width: 0; max-width: var(--reading-width); }

/* Reading columns share the menu's right edge while keeping the left sidebar. */
.content-layout > .guide-content, .product-reviews-layout > .article-main { max-width: none; --text-measure: 100%; --prose-measure: 100%; }

.chapter { padding-bottom: var(--section-space); margin-bottom: var(--section-space); border-bottom: 1px solid var(--line); }

.chapter:last-child { border-bottom: 0; }

.chapter h2 { font-size: var(--h2-size); line-height: 1.28; max-width: 31ch; margin-bottom: 24px; }

.chapter h3 { font-size: var(--h3-size); line-height: 1.35; margin: 28px 0 18px; }

.prose { color: #40516c; }

.chapter p:not(.label,.review-label), .full-review > p:not(.label,.review-label), .article-main > p { font-size: var(--body-size); line-height: var(--body-leading); max-width: var(--text-measure); margin-bottom: 22px; }

.prose > p:not(.label,.review-label) { max-width: var(--prose-measure); }
.chapter > :last-child, .chapter > p:last-child, .chapter > figure:last-child { margin-bottom: 0; }

.chapter strong { color: #253f60; font-weight: 650; }

.prose a:not(.button), .bronnoot a, .guide-content p a:not(.button) { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }

.prose ul, .prose ol { padding-left: 24px; margin: 22px 0; }

.prose li { margin-bottom: 12px; }

.sources-chapter li { font-size: 14px; line-height: 1.8; }

/* Article photographs share the reading column, spacing and palette. */
.editorial-photo { margin: 28px 0; scroll-margin-top: var(--anchor-offset); }
.editorial-photo img { width: 100%; height: auto; border-radius: var(--card-radius); background: var(--pale); }
.editorial-photo figcaption { margin-top: 12px; color: var(--muted); font-size: 14px; line-height: 1.65; }

/* Completed article illustrations use the same palette and reading-column width. */
.article-illustration { margin: 30px 0; padding: 28px; background: var(--pale); border: 1px solid var(--line); border-radius: var(--card-radius); scroll-margin-top: var(--anchor-offset); }
.article-illustration > h3 { margin: 0 0 24px; font-size: 23px; line-height: 1.3; }
.article-illustration > figcaption { margin-top: 20px; font-size: 14px; line-height: 1.65; color: var(--muted); }
.laundry-route { display: grid; grid-template-columns: 1fr 24px 1fr 24px 1.2fr; align-items: center; gap: 12px; margin: 16px 0; }
.laundry-route > div { padding: 20px 14px; border-radius: 12px; text-align: center; background: #fff; }
.laundry-route > div strong { display: block; font-size: 28px; color: #142342; line-height: 1.2; margin-bottom: 8px; }
.laundry-route > div span { display: block; font-size: 14px; line-height: 1.45; }
.laundry-route .laundry-route-dry { background: #195cff; color: white; }
.laundry-route .laundry-route-dry strong { color: white; }
.laundry-route .laundry-route-rest { background: #d9f79b; }
.laundry-route-arrow,.laundry-route-plus { text-align: center; font-size: 24px; color: #142342; }
.dimension-drawing { padding: 12px; background: #fff; border-radius: 12px; }
.dimension-drawing svg { display: block; width: 100%; height: auto; }
.illustration-key { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 24px; margin: 24px 0 0; }
.illustration-key dt { color: #142342; font-weight: 700; font-size: 16px; }
.illustration-key dd { margin: 5px 0 0; font-size: 15px; color: var(--muted); line-height: 1.6; }
.label-reading { display: grid; grid-template-columns: minmax(220px,.9fr) minmax(0,1.1fr); gap: 28px; align-items: start; }
.label-original { display: block; background: white; padding: 8px; border-radius: 10px; }
.label-original img { width: 100%; height: auto; }
.label-half { padding: 20px; border-radius: 12px; background: #fff; margin-bottom: 18px; }
.label-half .section-kicker { display: block; font-size: 11px; line-height: 1.6; }
.label-half h4 { margin: 12px 0; font-size: 24px; }
.label-half p { margin: 10px 0 0; font-size: 15px; line-height: 1.65; }
.label-explanation > p { font-size: 15px; line-height: 1.7; }
.timeline-scroll { max-width: 100%; overflow-x: auto; padding: 0 0 12px; }
.laundry-timeline { min-width: 580px; }
.timeline-row,.timeline-scale { display: grid; grid-template-columns: 130px 1fr; gap: 14px; align-items: center; margin-bottom: 12px; }
.timeline-row > strong { font-size: 13px; line-height: 1.4; }
.timeline-scale { font-size: 12px; color: var(--muted); }
.timeline-scale > div { display: flex; justify-content: space-between; }
.timeline-track { display: grid; grid-template-columns: repeat(10,minmax(0,1fr)); min-height: 43px; border-radius: 7px; overflow: hidden; background: #fff; }
.time-block { display: grid; place-items: center; font-size: 12px; font-weight: 650; padding: 8px 2px; }
.time-w { background: #195cff; color: white; }
.time-d { background: #d9f79b; color: #142342; }
.time-q { background: #e3e8f1; color: #142342; }
.time-span-1 { grid-column: span 1; }
.time-span-2 { grid-column: span 2; }
.time-span-3 { grid-column: span 3; }
.time-span-5 { grid-column: span 5; }
.timeline-outcome { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 16px 0 0; }
.timeline-outcome strong { color: #142342; font-size: 18px; }
@media (max-width: 700px) {
  .article-illustration { padding: 20px 16px; margin-block: 24px; }
  .article-illustration > h3 { font-size: 21px; }
  .label-reading { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .label-original { width: min(100%,360px); justify-self: center; }
  .laundry-route { grid-template-columns: 1fr 20px 1.2fr; gap: 8px; border-top: 1px solid var(--line); padding-top: 16px; }
  .laundry-route .laundry-route-start { grid-column: 1 / -1; padding: 14px; }
  .laundry-route-arrow { display: none; }
  .laundry-route > div { padding: 16px 8px; }
  .laundry-route > div strong { font-size: 25px; }
  .laundry-route > div span { font-size: 13px; }
  .illustration-key { grid-template-columns: 1fr; gap: 15px; }
  .laundry-timeline { min-width: 0; }
  .timeline-row,.timeline-scale { grid-template-columns: minmax(0,1fr); gap: 6px; }
  .timeline-scale > span { display: none; }
  .timeline-track { min-height: 34px; }
  .time-block { padding: 8px 0; font-size: 10px; }
  .time-q { font-size: 8px; }
}
@media (max-width: 600px) {
  .editorial-photo { margin-block: 24px; }
  .editorial-photo figcaption { font-size: 13px; }
}

.article-disclosure { padding-block: 20px 40px; font-size: 13px; line-height: 1.8; color: var(--quiet); border-top: 1px solid var(--line); }

.article-disclosure p { max-width: 90ch; }

@media (max-width: 900px) {
  .content-layout, .product-reviews-layout { grid-template-columns: minmax(0,1fr); }
}

/* 3. Navigation, search and footer. */

.header { position: sticky; top: 0; z-index: 100; background: white; border-bottom: 1px solid #edf0f6; }

.header-row { height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 24px; position: relative; }

.brand { display: inline-flex; align-items: center; white-space: nowrap; }

.logo-word { font-size: 24px; font-weight: 800; letter-spacing: -1.4px; line-height: 1.2; }

.logo-word > span { color: var(--blue); }

.header .header-button { display: none; }

#main-nav { display: flex; align-items: center; gap: 20px; margin-left: auto; }

#main-nav > a { padding: 12px 0; font-size: 14px; font-weight: 650; white-space: nowrap; }

#main-nav a:hover { color: var(--blue); }

.nav-group { position: static; }

.nav-group summary { display: flex; align-items: center; gap: 9px; list-style: none; font-size: 14px; font-weight: 650; cursor: pointer; padding: 18px 0; white-space: nowrap; }

.nav-group summary::-webkit-details-marker { display: none; }

.nav-chevron { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; flex: 0 0 20px; color: #7385a1; }
.nav-chevron svg, .mega-menu svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 20px; }
.nav-chevron svg { transition: transform .18s ease; }
.nav-group[open] .nav-chevron svg { transform: rotate(180deg); }

.nav-group[open] summary { color: var(--blue); }

.mega-menu { position: absolute; top: 100%; left: 0; right: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; border: 1px solid var(--line); border-top: 2px solid var(--blue); border-radius: 0 0 22px 22px; background: white; padding: 30px; box-shadow: 0 22px 38px #132b501a; z-index: 50; }
.mega-menu:has(.mega-group:nth-child(3)) { grid-template-columns: repeat(4,minmax(0,1fr)); }
.mega-group h2 { font: 650 13px/1.5 var(--font-body); color: var(--muted); letter-spacing: .02em; margin: 0 0 12px; }
.mega-group a { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 44px; padding: 10px 0; font-size: 14px; line-height: 1.5; color: #263f61; border-bottom: 1px solid #edf1f7; }
.mega-group a svg { width: 16px; height: 16px; flex-basis: 16px; color: var(--blue); }
.mega-group a:hover, .mega-group a[aria-current] { color: var(--blue); background: #f4f7fd; }
#main-nav .menu-feature { display: flex; flex-direction: column; align-items: flex-start; padding: 24px; background: var(--blue); color: white; border-radius: 14px; }
.menu-feature strong { font: 650 22px/1.3 var(--font-heading); letter-spacing: -.035em; }
.menu-feature p { font-size: 14px; line-height: 1.65; margin: 14px 0 24px; color: #e8efff; }
.menu-feature-action { display: inline-flex; align-items: center; gap: 10px; padding: 10px 12px; margin-top: auto; background: var(--lime); color: #243f20; border-radius: 7px; font-size: 13px; font-weight: 650; }
.menu-feature:hover .menu-feature-action { background: white; }

.menu-toggle { display: none; flex-shrink: 0; border: 0; background: none; width: 42px; height: 44px; padding: 9px; }

.menu-toggle > span { display: block; background: var(--dark); width: 24px; height: 1px; margin: 6px 0; }

.menu-toggle[aria-expanded=true] span:first-child { transform: translateY(3.5px) rotate(45deg); }

.menu-toggle[aria-expanded=true] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }

.site-search-open { display: flex; align-items: center; justify-content: center; flex: none; min-width: 44px; min-height: 44px; border: 0; background: transparent; }

.site-search-open > span { display: none; }

.site-search-open svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; }

#site-search { width: min(700px,calc(100vw - 32px)); max-height: calc(100dvh - 48px); margin: 8vh auto auto; padding: 32px; border: 0; border-radius: 22px; background: white; color: var(--dark); box-shadow: 0 25px 90px #10224338; overflow: auto; }

#site-search::backdrop { background: #12213b80; backdrop-filter: blur(3px); }

.search-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }

.search-heading h2 { font-size: 26px; }

.site-search-close { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 9px; background: white; font-size: 14px; }

.site-search-close span { font-size: 24px; line-height: 1; }

#site-search label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 10px; }

#site-search-input { display: block; width: 100%; min-height: 56px; border: 2px solid #bdcbea; border-radius: var(--control-radius); padding: 14px 16px; font-size: 17px; background: #f7f9fe; }

#site-search-status { font-size: 14px; color: var(--muted); margin: 16px 0 10px; line-height: 1.6; }

#site-search-results { list-style: none; padding: 0; margin: 0; }

#site-search-results a { display: block; padding: 15px 12px; border-bottom: 1px solid var(--line); border-radius: 8px; font-size: 16px; font-weight: 600; line-height: 1.4; }

#site-search-results a:hover, #site-search-results a:focus-visible { background: #edf3ff; color: var(--blue); }

.footer { border-top: 1px solid var(--line); padding-block: 32px; }

.footer p { font-size: 13px; margin: 12px 0; }

.footer-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 30px; padding: 18px 0 32px; }

.footer-heading .brand { font-size: 24px; font-weight: 700; letter-spacing: -.04em; }

.footer-heading p { max-width: 48ch; color: var(--quiet); }

.footer-reviews { font-size: 13px; color: var(--blue); white-space: nowrap; }

.footer-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; border-block: 1px solid var(--line); padding-block: 32px; }

.footer-links h2 { font-size: 16px; letter-spacing: 0; margin-bottom: 16px; }

.footer-links a { display: block; font-size: 14px; line-height: 1.6; margin: 10px 0; color: var(--muted); }

.footer-links a:hover { text-decoration: underline; color: var(--blue); }

.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 22px; }

.footer-bottom a { font-size: 13px; }

@media (min-width: 901px) and (max-width: 1100px) { #main-nav { gap: 14px; } }

@media (max-width: 900px) {
  .header-row { height: 70px; gap: 12px; }
  .menu-toggle { display: block; }
  #main-nav { display: none; }
  #main-nav.is-open { display: flex; flex-direction: column; align-items: stretch; position: absolute; top: 100%; left: calc(-1 * var(--page-gutter)); right: calc(-1 * var(--page-gutter)); background: white; padding: 16px 24px 24px; max-height: calc(100dvh - 80px); overflow-y: auto; gap: 0; border-bottom: 1px solid var(--line); box-shadow: 0 12px 25px #1423420c; }
  .nav-group { border-top: 1px solid var(--line); }
  .nav-group summary { justify-content: space-between; padding: 15px 0; }
  .mega-menu, .mega-menu:has(.mega-group:nth-child(3)) { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); border: 0; border-radius: 12px; background: #f7f9fd; box-shadow: none; padding: 20px; margin-bottom: 16px; gap: 24px; }
  .mega-group h2 { margin-bottom: 6px; }
  #main-nav .menu-feature { padding: 20px; }
  .footer-heading { display: block; }
  .footer-reviews { display: inline-block; margin-top: 12px; }
}

@media (max-width: 600px) {
  .mega-menu, .mega-menu:has(.mega-group:nth-child(3)) { grid-template-columns: minmax(0,1fr); gap: 22px; padding: 18px; }
  .menu-feature strong { font-size: 20px; }
  .menu-feature p { margin-bottom: 18px; }
  .logo-word { font-size: 21px; }
  .header-row { gap: 8px; }
  .site-search-open { margin-left: auto; }
  #site-search { padding: 22px 18px; margin-top: 16px; border-radius: 16px; }
  .search-heading h2 { font-size: 22px; }
  #site-search-input { font-size: 16px; }
  .footer-heading .brand { font-size: 21px; }
  .footer-links { grid-template-columns: 1fr 1fr; gap: 26px; }
  .footer-links > div:last-child { grid-column: 1/-1; }
  .footer-links a { font-size: 13px; }
  .footer-bottom { display: block; }
  .footer-bottom a { display: inline-block; margin-top: 10px; }
}

/* 4. Buttons, labels and tables: shared across all page types. */

.hero-context { color: var(--muted); font-size: 15px; line-height: 1.75; margin-top: 18px; }
.pick-summary p { font-size: 14px; line-height: 1.8; color: var(--muted); margin: 12px 0 20px; }
.pick-reason { font-size: 12px; line-height: 1.5; color: var(--blue); margin: 8px 0 12px; }
.pick-label > span:only-child { max-width: 100%; }
.review-copy { margin-block: 24px; }
.review-copy p { margin: 0 0 18px; }
.review-copy p:last-child { margin-bottom: 0; }
.answer-panel { padding: 24px 28px; margin: 24px 0; background: var(--pale); border: 1px solid #d2dff2; border-left: 4px solid var(--blue); border-radius: 14px; }
.answer-panel p { margin-block: 14px; }
.answer-panel > a { font-size: 13px; line-height: 1.7; }
.page-toc > .scroll-recommendation { margin-top: 22px; }
@media (prefers-reduced-motion: reduce) { .nav-chevron svg { transition: none; } }

.button, .shop-button, .site-shop, .choice-submit .button {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  gap: 15px; min-height: var(--button-height); padding: var(--button-padding);
  border: 1px solid transparent; border-radius: var(--control-radius);
  font: 650 var(--button-size)/1.5 var(--font-body); text-decoration: none;
}

.button-blue, .shop-button, .site-shop, .choice-submit .button { color: white; background: var(--blue); }

.button-blue:hover, .shop-button:hover, .site-shop:hover, .choice-submit .button:hover { background: var(--blue-hover); }

.button-outline { border-color: #ced8e9; background: white; color: var(--dark); }

.button-outline:hover { background: #f1f5fc; border-color: #9daece; }

.button-lime { background: var(--lime); color: #233c1b; }

.button-white { background: white; color: var(--blue); }

.button > span[aria-hidden] { font-size: 18px; }
.button [aria-hidden="true"], .site-shop:not(.hero-choice) [aria-hidden="true"] { line-height: 1; }

.site-shop { display: flex; flex-direction: column; align-items: stretch; gap: 3px; }

.site-shop > span { display: flex; align-items: center; justify-content: space-between; gap: 12px; }

.site-shop > span > span { font-size: 18px; }

.site-shop small { font-size: 10px; color: #e8f0ff; font-weight: 400; line-height: 1.5; }

.model-summary-copy .site-shop { max-width: 300px; margin: 24px 0; }

@media (max-width: 600px) { .model-summary-copy .site-shop { max-width: none; } }

.shop-button { flex-direction: row; align-items: center; overflow: hidden; white-space: nowrap; }

.shop-button svg { width: 19px; height: 19px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.75; }

.shop-action { display: flex; flex-direction: column; align-items: stretch; gap: 6px; }

.shop-retailer { display: block; text-align: center; font-size: 12px; line-height: 1.5; color: var(--muted); }

.shop-retailer strong { font-weight: 650; }

/* Mobile actions stay compact, including merchant links with a separate arrow. */
@media (max-width: 600px) {
  .site-shop:not(.hero-choice) { flex-direction: row; align-items: center; gap: 10px; }
}

.label, .review-label, .recommendation-label, .decision-label, .pick-label > span:first-child {
  display: inline-flex; align-items: center; font-size: var(--label-size); font-weight: 650;
  line-height: 1.5; padding: var(--label-padding); border-radius: 6px;
  color: #345b94; background: #edf3ff;
}

.label-choice, .recommendation-label, .pick-card:first-child .pick-label > span:first-child { background: var(--lime); color: #345321; }

.label-budget { background: #fff3da; color: #755013; }

.review-label { margin-bottom: 18px; }

.table-scroll { width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; border: 1px solid var(--line); border-radius: var(--table-radius); margin: 26px 0 24px; }

.table-scroll table { width: 100%; min-width: 640px; table-layout: auto; border-collapse: separate; border-spacing: 0; margin: 0; font-size: var(--table-font-size); }

.table-scroll.columns-2 table { min-width: 480px; }

/* Preserve readable column widths in larger comparisons on phones. */
.table-scroll.columns-5 table { min-width: 760px; }
.table-scroll.columns-6 table { min-width: 900px; }
.table-scroll.columns-7 table { min-width: 1040px; }
.table-scroll.columns-8 table { min-width: 1180px; }

.table-scroll th, .table-scroll td { padding: var(--table-padding); text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid var(--line); font-size: var(--table-font-size); line-height: 1.7; overflow-wrap: break-word; }

.table-scroll thead th { background: #eaf0ff; color: var(--dark); font-weight: 650; min-width: 140px; }

.table-scroll thead th:first-child { min-width: 170px; }

.table-scroll thead th a { color: inherit; text-decoration: none; font-size: 15px; line-height: 1.5; }

.table-scroll thead span { display: block; font-size: 12px; font-weight: 400; margin-top: 4px; }

.table-scroll tbody th { font-weight: 500; background: #f1f5fc; }

.table-scroll tbody tr:nth-child(even) td { background: #fafbfe; }

.table-scroll tbody tr:hover td { background: #f2f6ff; }

.table-scroll tr:last-child > * { border-bottom: 0; }

.table-scroll caption:not(.visually-hidden) { text-align: left; background: #f4f7fc; padding: 16px 20px; font-weight: 650; color: #28476c; border-bottom: 1px solid var(--line); font-size: var(--table-font-size); line-height: 1.6; }

.comparison-section { padding-block: var(--section-padding); border-top: 1px solid var(--line); }

.comparison-section h2 { margin-bottom: 18px; }

.comparison-section > p { max-width: var(--text-measure); font-size: 16px; line-height: 1.8; margin-bottom: 20px; }

.comparison-section .table-scroll thead th:not(:first-child) { min-width: 210px; }

.comparison-section .site-shop { max-width: 250px; }

.table-note { font-size: 13px; color: var(--muted); }

.table-swipe-hint, .scroll-hint { display: none; }

@media (max-width: 900px) { .table-swipe-hint, .scroll-hint { display: block; font-size: 11px; color: var(--quiet); margin: -14px 0 24px; line-height: 1.6; } }

/* 5. Heroes and reading navigation. */

.intro { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); gap: 56px; padding-block: 56px; align-items: center; }

.hero-copy, .hero-visual { min-width: 0; }

.intro h1 { line-height: 1.16; letter-spacing: -.045em; max-width: 15ch; }

.intro .lead { font-size: 18px; line-height: 1.75; color: var(--muted); margin: 24px 0; }

.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; padding-top: 4px; }

.page-hero { padding: 28px 0 48px; }

.breadcrumbs { display: flex; flex-wrap: wrap; gap: 12px; font-size: 12px; line-height: 1.6; color: var(--quiet); margin-bottom: 36px; }

.page-hero-copy { max-width: 900px; }

.page-hero h1 { line-height: 1.16; max-width: 27ch; margin-bottom: 24px; }

.page-hero .lead { font-size: 19px; line-height: 1.8; max-width: var(--text-measure); color: var(--muted); margin-bottom: 28px; }

.page-hero .hero-actions { margin-top: 32px; }

.page-date { font-size: 12px; color: var(--quiet); margin-top: 20px; }

/* Approved article photos also introduce the topic beside the title and lead. */
.article-hero-layout { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); align-items: center; gap: 56px; }
.article-hero-layout > .page-hero-copy { min-width: 0; }
.article-hero-photo { width: 100%; min-width: 0; margin: 0; overflow: hidden; border-radius: var(--card-radius); background: var(--pale); }
.article-hero-photo > img { width: 100%; height: auto; }
.article-hero-photo.has-hero-choice { position: relative; align-self: stretch; min-height: 520px; padding: 0; }
.article-hero-photo.has-hero-choice > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-choice.site-shop { position: absolute; left: 24px; right: 24px; bottom: 24px; width: calc(100% - 48px); max-width: 420px; margin-inline: auto; display: grid; grid-template-columns: 66px minmax(0,1fr) 38px; align-items: center; gap: 15px; padding: 18px; background: #fff; color: var(--dark); border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 8px 26px #153b5514; text-decoration: none; text-align: left; transition: transform .2s, box-shadow .2s; }
.hero-choice > img { width: 66px; height: 82px; object-fit: contain; }
.hero-choice.site-shop .hero-choice-copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; justify-content: center; gap: 6px; }
.hero-choice.site-shop .hero-choice-label { display: inline-flex; align-items: center; gap: 6px; padding: 3px 8px; border-radius: 5px; background: var(--lime); color: #294825; font-size: 11px; font-weight: 750; line-height: 1.5; }
.hero-choice-label::before { content: '✓'; }
.hero-choice-name { font-size: 16px; line-height: 1.3; overflow-wrap: anywhere; }
.hero-choice.site-shop .hero-choice-action { color: var(--blue); font-size: 13px; font-weight: 750; }
.hero-choice.site-shop .hero-choice-arrow { display: grid; place-items: center; justify-content: center; gap: 0; width: 38px; height: 38px; background: var(--blue); color: #fff; border-radius: 50%; line-height: 1; transition: transform .2s; animation: choice-arrival .7s ease-out 1; }
.hero-choice-arrow svg { display: block; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.hero-choice.site-shop:hover { background: #fff; transform: translateY(-3px); box-shadow: 0 12px 30px #153b5526; }
.hero-choice:hover .hero-choice-arrow { transform: rotate(45deg); }
.hero-choice:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.selection-availability { margin-bottom: 36px; padding: 24px; border: 1px solid var(--line); border-radius: 12px; background: var(--pale); }
.selection-availability p { margin: 8px 0 0; }
.picks-grid:has(> :only-child) { grid-template-columns: minmax(0,1fr); max-width: 700px; }
.picks-grid:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2,minmax(0,1fr)); }
@keyframes choice-arrival { from { transform: scale(.75); opacity: .5; } to { transform: scale(1); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .hero-choice.site-shop, .hero-choice.site-shop .hero-choice-arrow { transition: none; animation: none; } }
@media (max-width: 600px) {
  .hero-choice.site-shop { left: 12px; right: 12px; bottom: 12px; width: auto; padding: 14px; gap: 10px; grid-template-columns: 48px minmax(0,1fr) 32px; }
  .hero-choice > img { width: 48px; height: 72px; }
  .hero-choice-name { font-size: 14px; }
  .hero-choice.site-shop .hero-choice-arrow { width: 32px; height: 32px; }
  .picks-grid:has(> :nth-child(2):last-child) { grid-template-columns: minmax(0,1fr); }
}

@media (min-width: 901px) and (max-width: 1100px) {
  .article-hero-layout, .intro.has-article-photo { gap: 32px; }
}

@media (max-width: 900px) {
  .article-hero-layout { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .article-hero-photo.has-hero-choice { min-height: clamp(340px,65vw,520px); }
}

.sidebar { position: sticky; top: var(--anchor-offset); align-self: start; max-height: calc(100dvh - 140px); overflow-y: auto; scrollbar-width: thin; }

.sidebar nav { display: grid; gap: 15px; border-left: 1px solid var(--line); padding: 12px 0 8px 17px; font-size: 13px; line-height: 1.5; }

.sidebar nav strong { font-size: 14px; margin-bottom: 4px; }

.sidebar nav a { color: var(--muted); }

.sidebar nav a:hover { color: var(--blue); }

.page-toc summary { font-size: 14px; font-weight: 650; padding: 12px 0; list-style: none; pointer-events: none; }

.page-toc details:not([open]) > nav { display: grid; }

@media (max-width: 900px) {
  .intro { grid-template-columns: minmax(0,1fr); padding-block: 36px; gap: 32px; }
  .intro h1 { max-width: 20ch; }
  .capacity-hero { max-width: 620px; }
  .sidebar { position: static; max-height: none; overflow: visible; }
  .page-toc { background: #f4f7fc; border: 1px solid var(--line); border-radius: 12px; padding: 0 20px; }
  .page-toc summary { pointer-events: auto; cursor: pointer; padding: 18px 0; list-style: revert; }
  .page-toc nav { border: 0; padding: 5px 0 20px; }
  .page-toc nav a { min-height: 44px; display: flex; align-items: center; }
  .page-toc details:not([open]) > nav { display: none; }
}

@media (max-width: 600px) {
  .intro .lead, .page-hero .lead { font-size: 17px; }
  .page-hero { padding: 22px 0 38px; }
  .breadcrumbs { font-size: 11px; gap: 8px; margin-bottom: 28px; }
  .page-hero h1 { margin-bottom: 20px; }
  .page-date { font-size: 11px; }
}

/* 6. One product selection and detailed product component, on every page. */

.selection-band { background: var(--pale); padding-block: var(--section-padding); margin-top: 12px; }

.selection-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 28px; }

.selection-heading > div { min-width: 0; }

.selection-heading h2 { font-size: 36px; max-width: 26ch; line-height: 1.24; margin-top: 12px; }

.selection-heading h2 > span { color: var(--quiet); font-weight: 450; }

.selection-heading > .button { flex-shrink: 0; }

.selection-band .wrap > p:not(.selection-note,.affiliate-disclosure) { max-width: 84ch; font-size: 16px; line-height: 1.8; margin-bottom: 24px; }

.picks-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }

.pick-card { min-width: 0; display: flex; flex-direction: column; border: 1px solid #e0e6f0; border-radius: 18px; background: white; overflow: hidden; }

.pick-card:first-child { border-color: #a4baef; }

.pick-label { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 17px 16px 0; min-height: 54px; }

.pick-label > span:first-child { max-width: 75%; }

.pick-score { font-size: 15px; font-weight: 700; color: var(--dark); white-space: nowrap; }

.pick-score small { font-size: 12px; font-weight: 400; color: var(--quiet); }

.pick-image { display: flex; align-items: center; justify-content: center; padding: 22px 20px 18px; height: 210px; }

.pick-image img { width: 100%; height: 173px; object-fit: contain; }

.product-photo-placeholder { display: grid; place-items: center; width: 100%; height: 173px; background: #fafbfe; color: var(--quiet); font-size: 12px; text-align: center; border-radius: 6px; }

.pick-copy { display: flex; flex-direction: column; flex: 1; min-width: 0; padding: 0 19px 19px; }

.pick-copy h3 { font-size: 23px; line-height: 1.3; letter-spacing: -.025em; overflow-wrap: anywhere; margin-bottom: 16px; }

.pick-copy h3 a:hover { color: var(--blue); }

.pick-copy p { font-size: 13px; line-height: 1.7; color: var(--quiet); margin: 0 0 18px; }

.pick-copy .pick-purpose { font-weight: 650; color: #173b74; font-size: 15px; line-height: 1.5; margin: 12px 0 8px; }

.pick-copy > .shop-action, .pick-copy > .site-shop { margin-top: auto; }

.pick-copy .shop-button { width: 100%; }

.pick-link { display: flex; align-items: center; justify-content: space-between; gap: 10px; border-top: 1px solid #edf0f6; padding-top: 12px; font-size: 13px; font-weight: 600; color: var(--blue); margin-top: 14px; }

.pick-link:hover { text-decoration: underline; text-underline-offset: 4px; }

.pick-caution { font-size: 12px; line-height: 1.65; color: #725625; margin-bottom: 18px; }

.selection-note, .affiliate-disclosure { text-align: center; color: var(--quiet); font-size: 12px; line-height: 1.7; margin: 18px auto 0; max-width: 80ch; }

.selection-bottom-link { display: table; font-size: 14px; color: var(--quiet); margin: 26px auto 0; text-align: center; }

.selection-bottom-link > span { color: var(--blue); margin-left: 9px; }

.product-reviews-layout { margin-block: var(--section-padding); }

.article-main > h2 { font-size: var(--h2-size); line-height: 1.25; margin-bottom: 28px; max-width: 30ch; }

.article-main > h3 { font-size: var(--h3-size); margin: 38px 0 18px; }

.contents { align-self: stretch; }

.contents-inner { position: sticky; top: var(--anchor-offset); max-height: calc(100vh - 140px); overflow: auto; scrollbar-width: thin; padding-right: 5px; }

.contents a { display: flex; gap: 12px; align-items: baseline; font-size: 14px; line-height: 1.5; }

.contents-main { font-weight: 650; padding: 17px 0; border-bottom: 1px solid var(--line); justify-content: space-between; }

.contents a:hover { color: var(--blue); }

.contents-product { padding: 9px 0; color: #687994; }

.contents-product > span { font-size: 12px; width: 16px; flex-shrink: 0; }

.ui-topselectie { list-style: none; padding: 0; margin: 28px 0; }

.ui-topselectie > li::before { display: none; }

.product-detail { background: white; border: 1px solid var(--line); border-radius: 20px; padding: var(--panel-padding) 32px; margin-bottom: 26px; }

.product-detail:nth-of-type(even) { background: #f9fbff; }

.review-heading { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }

.review-heading > div { min-width: 0; flex: 1; }

.review-heading h3 { position: relative; font-size: 26px; line-height: 1.3; margin-top: 5px; overflow-wrap: anywhere; }

.section-number { display: grid; place-items: center; width: 39px; min-width: 39px; height: 39px; color: var(--blue); background: var(--pale); font-size: 18px; font-weight: 650; border-radius: 11px; }

.review-score { margin-left: auto; padding: 8px 14px; border-radius: 12px; font-size: 22px; font-weight: 650; text-align: center; line-height: 1.1; flex-shrink: 0; background: var(--lime); color: #304c20; }

.review-score small { display: block; max-width: 90px; margin-top: 5px; font-size: 10px; line-height: 1.4; font-weight: 400; }

.review-product { display: flex; align-items: center; gap: 28px; margin-block: 27px; border-radius: 14px; background: var(--pale); padding: 24px 28px; }

.review-product > div { flex: 1; min-width: 0; }

.review-product > img, .review-product > .product-photo-placeholder { width: 150px; height: 165px; flex: none; object-fit: contain; background: #ffffff80; }

.product-detail:nth-of-type(even) .review-product { background: white; border: 1px solid #e7edf6; }

.product-subtitle { font-size: 20px; font-weight: 550; line-height: 1.5; color: #28476c; }

.spec-line { font-size: 14px; color: #7c8ba1; margin-top: 10px; }

.review-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 22px; }

.review-actions .site-shop { min-width: 210px; }

.product-caveat { padding: 18px 22px; margin: 24px 0; border-left: 3px solid #a9bedf; background: #f4f7fc; border-radius: 0 10px 10px 0; font-size: 15px; line-height: 1.8; color: var(--muted); }

.product-caveat p { margin: 0; }

.product-caveat > strong { display: block; font-size: 12px; margin-bottom: 6px; color: #365376; }

.ui-methode { margin-top: 32px; padding: 24px 28px; background: linear-gradient(120deg,#edf3ff,#f3f7ea); border: 1px solid #dfe7ed; border-radius: 14px; }

.ui-methode h3 { font-size: 21px; margin-bottom: 16px; }

.ui-methode p { font-size: 15px; line-height: 1.8; margin-bottom: 16px; color: var(--muted); }

.ui-methode p:last-child { margin-bottom: 0; }

.score-details { border-block: 1px solid var(--line); margin: 24px 0; }

.score-details summary { padding: 16px 0; font-size: 14px; font-weight: 650; cursor: pointer; }

.opbouw { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; padding: 14px 0 24px; margin: 0; }

.opbouw dt { font-size: 12px; line-height: 1.6; }

.opbouw dd { font-size: 16px; line-height: 1.6; margin: 6px 0 10px; font-weight: 650; }

.opbouw > div::after { content: ""; display: block; width: var(--score); max-width: 100%; height: 4px; border-radius: 4px; background: var(--blue); }

.visual-description, .illustration-note { margin: 12px 0 24px; font-size: 12px; line-height: 1.7; color: var(--quiet); }

.visual-description summary, .illustration-note summary { cursor: pointer; }

.notice { padding: 16px 20px; background: #f6f8fb; border: 1px dashed #c9d3e2; border-radius: 10px; color: var(--muted); font-size: 13px; line-height: 1.6; margin: 20px 0; }

.visual-description .notice, .illustration-note .notice { background: transparent; border: 0; padding: 12px 0; margin: 12px 0 0; }

.model-review-link { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 14px; }

.model-review-link a { color: var(--blue); }

@media (max-width: 1100px) {
  .pick-copy h3 { font-size: 21px; }
  .review-product { padding: 22px; gap: 22px; }
  .review-product > img, .review-product > .product-photo-placeholder { width: 115px; height: 140px; }
}

@media (max-width: 900px) {
  .selection-heading { align-items: flex-start; }
  .selection-heading h2 { font-size: 31px; }
  .selection-heading > .button { display: none; }
  .contents { display: none; }
}

@media (max-width: 600px) {
  .selection-band { margin-top: 5px; }
  .selection-heading h2 { font-size: var(--h2-size); overflow-wrap: anywhere; }
  .picks-grid { grid-template-columns: minmax(0,1fr); gap: 15px; }
  .pick-card { display: grid; grid-template-columns: 80px minmax(0,1fr); column-gap: 14px; padding: 17px; border-radius: 15px; }
  .pick-label { grid-column: 1/-1; margin: 0 0 16px; min-height: 0; }
  .pick-label > span:first-child { max-width: 100%; }
  .pick-image { grid-column: 1; grid-row: 2; align-self: start; height: 110px; padding: 0 0 14px; }
  .pick-image img, .pick-image .product-photo-placeholder { height: 96px; font-size: 11px; }
  .pick-copy { display: contents; }
  .pick-copy > * { grid-column: 1/-1; min-width: 0; }
  .pick-copy h3 { grid-column: 2; grid-row: 2; align-self: center; font-size: 18px; line-height: 1.4; margin: 0 0 14px; }
  .pick-copy p { font-size: 14px; line-height: 1.65; margin: 0 0 14px; }
  .pick-copy .pick-reason, .pick-copy .pick-specs { font-size: 12px; }
  .pick-copy .pick-purpose { font-size: 13px; }
  .pick-link { font-size: 12px; }
  .pick-caution { font-size: 11px; }
  .product-detail { padding: 23px 20px; border-radius: 17px; margin-bottom: 22px; }
  .review-heading { display: grid; grid-template-columns: 31px minmax(0,1fr) auto; gap: 11px; }
  .review-heading > div { grid-column: 1/-1; grid-row: 2; }
  .review-heading h3 { font-size: 22px; }
  .section-number { width: 31px; min-width: 31px; height: 31px; font-size: 15px; border-radius: 8px; }
  .review-score { grid-column: 3; grid-row: 1; margin: 0; font-size: 18px; padding: 8px 10px; }
  .review-score small { font-size: 9px; }
  .review-product { flex-direction: column; align-items: stretch; gap: 20px; padding: 24px 20px; }
  .review-product > img, .review-product > .product-photo-placeholder { width: 76px; height: 100px; font-size: 11px; align-self: center; }
  .product-subtitle { font-size: 18px; }
  .review-actions { flex-direction: column; align-items: stretch; gap: 16px; }
  .review-actions .button, .review-actions .shop-button { width: 100%; }
  .review-actions .site-shop { min-width: 0; }
  .opbouw { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
  .opbouw > div { min-width: 0; overflow-wrap: anywhere; }
  .opbouw dd { font-size: 14px; }
  .ui-methode { padding: 22px; }
}

/* 7. Homepage calculators and explanatory figures */

.capacity-hero {
  display: block;
  aspect-ratio: auto;
  height: auto;
  min-height: 0;
  background: linear-gradient(125deg,#eaf0ff,#f4f7ff 65%,#f2f8e9);
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 28px;
}

.capacity-hero h2, .capacity-hero h3 {
  font-size: 22px;
  line-height: 1.3;
  margin: 0 0 12px;
}

.capacity-hero p {
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 20px;
}

.capacity-route {
  border-top: 1px solid #d3dded;
  padding: 16px 0;
}

.route-label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: #456185;
  margin-bottom: 8px;
}

.capacity-route>div {
  display: flex;
  gap: 20px;
  align-items: center;
}

.capacity-route strong {
  font-size: 30px;
  color: var(--blue);
  white-space: nowrap;
}

.capacity-route div>span {
  font-size: 14px;
  line-height: 1.6;
}

.capacity-hero small {
  display: block;
  font-size: 12px;
  line-height: 1.6;
  color: var(--muted);
}

.capacity-explainer { margin-block: 28px; }

.energy-tool {
  margin: 32px 0 0;
  padding: 28px;
  background: var(--dark);
  border-radius: 18px;
  color: white;
}

.energy-tool h3 {
  color: white;
  font-size: 25px;
  line-height: 1.3;
  margin: 0 0 14px;
}

.energy-tool>p {
  color: #d7e2f5;
  font-size: 15px;
  line-height: 1.7;
  margin: 0 0 20px;
}

.example-label {
  display: inline-block;
  background: #293b5e;
  color: #e1eafa;
  padding: 6px 10px;
  border-radius: 6px;
  font-size: 11px;
  line-height: 1.6;
  margin-bottom: 24px;
}

.calculator-layout {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 24px;
}

.calc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.calc-grid label {
  font-size: 13px;
  font-weight: 650;
  line-height: 1.5;
  color: white;
}

.input-unit {
  display: flex;
  align-items: center;
  background: white;
  border: 1px solid #c1cde0;
  border-radius: 8px;
  margin-top: 8px;
  padding-right: 10px;
  gap: 6px;
}

.input-unit input {
  width: 100%;
  min-width: 0;
  border: 0;
  border-radius: 8px;
  padding: 12px 10px;
  background: white;
  color: var(--dark);
  font: 600 17px var(--font-body);
}

.input-unit>span {
  font-size: 10px;
  color: var(--muted);
  white-space: nowrap;
  font-weight: 500;
}

.calc-grid small {
  display: block;
  font-size: 11px;
  line-height: 1.6;
  color: #c7d5ed;
  font-weight: 400;
  margin-top: 8px;
}

.calc-grid .field-help {
  grid-column: 1/-1;
  font-size: 12px;
  line-height: 1.6;
  color: #c7d5ed;
  margin: -8px 0 0;
}

.calc-outcome {
  background: #f1f6e4;
  color: var(--dark);
  border-radius: 12px;
  padding: 24px;
}

.calc-outcome>span {
  font-size: 12px;
  font-weight: 650;
}

.calc-outcome dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 16px 0 20px;
  gap: 16px;
}

.calc-outcome dl>div {
  padding-bottom: 14px;
  border-bottom: 1px solid #d4dec4;
}

.calc-outcome dt {
  font-size: 13px;
}

.calc-outcome dd {
  font-size: 23px;
  font-weight: 650;
  margin: 4px 0 0;
}

.calc-outcome output {
  display: block;
  font-size: 14px;
  line-height: 1.6;
}

.calc-outcome output strong {
  display: block;
  font-size: 34px;
  line-height: 1.2;
  margin-bottom: 6px;
}

.calc-outcome output span {
  display: block;
}

.energy-tool .calc-caveat {
  font-size: 12px;
  line-height: 1.7;
  margin: 20px 0 0;
  color: #c7d5ed;
}

.calc-explanation {
  border-top: 1px solid #394a67;
  margin-top: 20px;
  padding-top: 16px;
}

.calc-explanation summary {
  font-size: 13px;
  cursor: pointer;
}

.calc-explanation p {
  font-size: 12px;
  line-height: 1.7;
  color: #c7d5ed;
  margin: 12px 0 0;
}

@media (max-width:850px) {
  .capacity-hero {
    max-width: 620px;
  }
}

@media (max-width:560px) {
  .capacity-hero {
    padding: 22px;
  }

  .energy-tool {
    padding: 22px 18px;
  }

  .energy-tool h3 {
    font-size: 23px;
  }

  .calc-grid {
    grid-template-columns: 1fr;
  }

  .calc-outcome {
    padding: 20px;
  }
}

@media (max-width: 360px) {
  .calc-outcome dl { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .calc-outcome output strong { font-size: 28px; overflow-wrap: anywhere; }
}

.energy-tool>p strong {
  color: inherit;
}

.editorial-chart {
  margin: 28px 0;
  padding: 26px;
  background: var(--pale);
  border: 1px solid #e4eaf4;
  border-radius: 16px;
}

.editorial-chart figcaption {
  font-size: 19px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--dark);
  margin: 0 0 12px;
}

.editorial-chart>p {
  font-size: 14px;
  line-height: 1.7;
  margin: 0 0 20px;
}

.chart-row {
  display: grid;
  grid-template-columns: 150px minmax(0,1fr) 90px;
  gap: 16px;
  align-items: center;
  margin: 20px 0;
}

.chart-row>span {
  font-size: 14px;
  font-weight: 600;
}

.chart-row small {
  display: block;
  font-size: 10px;
  font-weight: 400;
  color: #687588;
  margin-top: 4px;
}

.chart-row>strong {
  text-align: right;
  font-size: 16px;
  white-space: nowrap;
}

.chart-track {
  height: 14px;
  background: #e0e7f2;
  border-radius: 7px;
  overflow: hidden;
  position: relative;
}

.chart-fill {
  display: block;
  width: var(--value);
  height: 100%;
  background: var(--blue);
  border-radius: 7px;
  transform-origin: left;
  position: relative;
  z-index: 1;
}

.chart-row:nth-of-type(2) .chart-fill {
  background: #6885b8;
}

.capacity-rest {
  position: absolute;
  inset: 0 0 0 62.5%;
  background: repeating-linear-gradient(125deg,#ced9e8 0 3px,#edf2fa 3px 7px);
}

.chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 20px 0;
}

.chart-legend>span {
  font-size: 11px;
  color: var(--muted);
  display: flex;
  gap: 6px;
  align-items: center;
}

.chart-legend i {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  background: #6885b8;
}

.chart-legend .rest-key {
  background: repeating-linear-gradient(125deg,#acbed5 0 2px,#edf2fa 2px 4px);
}

.editorial-chart .chart-note {
  font-size: 12px;
  color: #687588;
  margin: 18px 0 0;
}

.editorial-chart .chart-takeaway {
  padding-top: 16px;
  border-top: 1px solid #dbe3f0;
  font-size: 13px;
  line-height: 1.7;
  margin-bottom: 0;
}

.chart-takeaway strong {
  display: block;
  color: #234e92;
  font-size: 19px;
  margin-bottom: 4px;
}

.program-check {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 24px;
  margin-top: 28px;
}

.program-check h3 {
  font-size: 20px;
  margin: 0 0 20px;
}

.program-check ol {
  list-style: none;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
}

.program-check li {
  margin: 0;
  padding: 0;
}

.program-check li:before {
  display: none;
}

.program-check li>span {
  display: block;
  color: var(--blue);
  font-size: 12px;
  font-weight: 650;
  margin-bottom: 8px;
}

.program-check strong {
  font-size: 15px;
}

.program-check li p, .program-check>p {
  font-size: 13px;
  line-height: 1.65;
  margin: 8px 0 0;
}

.program-check>p {
  border-top: 1px solid var(--line);
  padding-top: 16px;
  color: #687588;
}

@keyframes bar-enter {
from{transform:scaleX(.02)}to{transform:scaleX(1)}
}

@media (prefers-reduced-motion:no-preference) {
  [data-chart].chart-entered .chart-fill {
    animation: bar-enter 850ms cubic-bezier(.2,.65,.3,1) both;
  }
}

@media (max-width:850px) {
  .chart-row {
    grid-template-columns: 115px minmax(0,1fr) 80px;
    gap: 10px;
  }
}

@media (max-width:600px) {
  .editorial-chart {
    padding: 20px;
  }

  .chart-row {
    grid-template-columns: 1fr auto;
    gap: 10px;
    margin: 22px 0;
  }

  .chart-row .chart-track {
    grid-column: 1/-1;
    grid-row: 2;
  }

  .chart-row>strong {
    grid-column: 2;
    grid-row: 1;
  }

  .editorial-chart figcaption {
    font-size: 18px;
  }

  .chart-row small {
    font-size: 11px;
  }

  .program-check {
    padding: 20px;
  }

  .program-check ol {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .program-check li {
    display: grid;
    grid-template-columns: 24px 1fr;
    column-gap: 10px;
  }

  .program-check li p {
    grid-column: 2;
    margin-top: 4px;
  }

  .program-check li>span {
    margin: 0;
  }
}

.decision-pair, .label-explainer, .placement-guide, .function-guide {
  margin: 28px 0 0;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 26px;
  background: #fff;
}

.decision-pair h3, .function-guide h3, .label-explainer figcaption, .placement-guide figcaption {
  font-size: 21px;
  font-weight: 700;
  line-height: 1.35;
  margin: 0 0 20px;
  color: var(--dark);
}

.decision-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.decision-columns>div+div {
  border-left: 1px solid var(--line);
  padding-left: 24px;
}

.decision-label { margin-bottom: 14px; }

.decision-columns>div:first-child .decision-label {
  background: #eaf2d4;
  color: #36531b;
}

.decision-columns h4 {
  font-size: 18px;
  line-height: 1.4;
  margin: 0 0 12px;
}

.decision-columns p {
  font-size: 14px;
  line-height: 1.75;
  margin: 0 0 16px;
}

.decision-limit {
  border-top: 1px solid #e1e7f0;
  padding-top: 14px;
  color: var(--muted);
}

.decision-limit strong {
  display: block;
  color: #365376;
  font-size: 12px;
  margin-bottom: 5px;
}

.label-explainer {
  background: #f4f7fc;
  margin-bottom: 28px;
}

.label-explainer figcaption {
  margin-bottom: 10px;
}

.label-explainer .label-context {
  font-size: 14px;
  margin: 0 0 20px;
}

.label-halves {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid #ccd9ee;
  border-radius: 12px;
  overflow: hidden;
  background: white;
}

.label-halves>div {
  padding: 20px;
}

.label-halves>div+div {
  border-left: 1px solid #ccd9ee;
}

.label-halves>div>span {
  display: block;
  font-size: 11px;
  color: #687588;
  margin-bottom: 8px;
}

.label-halves h4 {
  font-size: 18px;
  margin: 0 0 18px;
}

.cycle-pair {
  min-height: 46px;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 18px;
}

.cycle-pair span {
  background: #eaf0ff;
  padding: 8px 10px;
  border-radius: 6px;
  font-size: 12px;
  color: #315d9b;
}

.cycle-pair b {
  color: #6e85a8;
  font-size: 13px;
}

.label-halves p {
  font-size: 14px;
  line-height: 1.65;
  margin: 0 0 14px;
}

.label-halves>div>strong {
  font-size: 12px;
  line-height: 1.6;
  display: block;
  color: #345b94;
}

.chapter .element-note {
  font-size: 12px;
  line-height: 1.7;
  color: #687588;
  margin: 18px 0 0;
}

.placement-guide {
  background: linear-gradient(120deg,#f4f7fd,#fff);
}

.placement-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: center;
}

.placement-plan {
  width: 100%;
  max-width: 340px;
  height: auto;
}

.placement-plan text {
  font-family: var(--font-body);
  font-size: 12px;
  fill: #345276;
}

.placement-layout ol {
  counter-reset: place;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 20px;
}

.placement-layout li {
  counter-increment: place;
  padding: 0 0 0 34px;
  margin: 0;
  position: relative;
}

.placement-layout li:before {
  content: counter(place);
  position: absolute;
  left: 0;
  top: 1px;
  background: #e5edfa;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  color: #345b94;
  font-size: 11px;
  display: grid;
  place-items: center;
}

.placement-layout strong {
  display: block;
  font-size: 15px;
  margin-bottom: 5px;
}

.placement-layout li span {
  font-size: 13px;
  line-height: 1.7;
  color: var(--muted);
  display: block;
}

.function-guide {
  padding: 0;
  border: 0;
}

.function-guide dl {
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
}

.function-guide dl>div {
  display: grid;
  grid-template-columns: 42% 1fr;
  gap: 20px;
  padding: 20px;
  background: #fff;
}

.function-guide dl>div+div {
  border-top: 1px solid var(--line);
}

.function-guide dl>div:nth-child(2n) {
  background: #f7f9fd;
}

.function-guide dt {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.6;
}

.function-icon {
  display: inline-grid;
  place-items: center;
  width: 26px;
  height: 26px;
  flex-shrink: 0;
  background: #e9effa;
  color: #345e9a;
  border-radius: 7px;
  font-size: 18px;
}

.function-guide dd {
  margin: 0;
  font-size: 13px;
  line-height: 1.7;
  color: var(--muted);
}

.function-guide dd strong {
  display: block;
  font-size: 13px;
  margin-bottom: 5px;
  color: var(--dark);
}

@media (max-width:600px) {
  .decision-pair, .label-explainer, .placement-guide {
    padding: 20px;
  }

  .decision-pair h3, .function-guide h3, .label-explainer figcaption, .placement-guide figcaption {
    font-size: 20px;
  }

  .decision-columns, .label-halves, .placement-layout {
    grid-template-columns: 1fr;
  }

  .decision-columns>div+div {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding: 22px 0 0;
  }

  .label-halves>div+div {
    border-left: 0;
    border-top: 1px solid #ccd9ee;
  }

  .placement-plan {
    max-width: 280px;
    justify-self: center;
  }

  .function-guide dl>div {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 18px;
  }

  .function-guide dd {
    padding-left: 36px;
  }

  .label-halves h4 {
    font-size: 18px;
  }

  .decision-columns p {
    font-size: 14px;
  }
}

/* 8. Editorial calculators, diagrams and checklists */

.reading-checklist, .reading-steps {
  list-style: none;
  padding: 0;
  margin: 28px 0;
  counter-reset: reading;
}

.reading-checklist>li, .reading-steps>li {
  position: relative;
  padding: 20px 20px 20px 58px;
  margin: 0;
  line-height: 1.8;
  font-size: 16px;
  border-bottom: 1px solid var(--line);
  background: #f7f9fc;
}

.reading-checklist>li:first-child, .reading-steps>li:first-child {
  border-radius: 12px 12px 0 0;
}

.reading-checklist>li:last-child, .reading-steps>li:last-child {
  border-radius: 0 0 12px 12px;
  border-bottom: 0;
}

.reading-checklist>li:before, .reading-steps>li:before {
  content: "✓";
  position: absolute;
  top: 23px;
  left: 20px;
  width: 23px;
  height: 23px;
  display: grid;
  place-items: center;
  background: #e2edfa;
  color: var(--blue);
  font-size: 12px;
  border-radius: 50%;
  line-height: 1;
}

.reading-steps>li {
  counter-increment: reading;
}

.reading-steps>li:before {
  content: counter(reading);
}

.article-tool {
  background: var(--dark);
  color: #fff;
  border-radius: 18px;
  padding: 30px;
  margin: 30px 0;
  scroll-margin-top: 110px;
}

.tool-eyebrow {
  display: inline-block;
  background: #2b3f60;
  color: #dbe8ff;
  border-radius: 5px;
  font-size: 10px;
  padding: 5px 9px;
  margin-bottom: 18px;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.article-tool h3 {
  color: #fff;
  font-size: 27px;
  margin: 0 0 16px;
  max-width: 30ch;
}

.article-tool>p {
  color: #d2def0;
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 24px;
}

.tool-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 24px 0;
}

.tool-fields label {
  color: #e4ecfa;
  font-size: 13px;
  line-height: 1.6;
  font-weight: 500;
}

.tool-input {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  background: #fff;
  border-radius: 8px;
  color: var(--dark);
  padding-right: 12px;
  border: 1px solid #c6d3e8;
}

.tool-input input {
  width: 100%;
  min-width: 0;
  font: 600 17px var(--font-body);
  padding: 13px 12px;
  border: 0;
  border-radius: 8px;
  color: var(--dark);
  background: white;
}

.tool-input>span {
  font-size: 10px;
  white-space: nowrap;
  color: var(--muted);
}

.tool-input:focus-within {
  outline: 3px solid #b0ceff;
  outline-offset: 3px;
}

.tool-input input:focus-visible {
  outline: none;
}

.article-tool output {
  display: block;
  padding: 24px;
  border-radius: 12px;
  background: #eaf4d6;
  color: #233d30;
  font-size: 14px;
  line-height: 1.8;
  min-height: 110px;
}

.article-tool output strong {
  display: block;
  color: #19382c;
  font-size: 29px;
  font-weight: 650;
  line-height: 1.3;
  margin-bottom: 10px;
}

.article-tool output span {
  display: block;
}

.article-tool output[data-state=error] {
  background: #f4e9d5;
  color: #6b4a1c;
}

.article-tool .tool-formula {
  font-size: 12px;
  color: #c4d2e8;
  line-height: 1.8;
  margin: 20px 0 0;
  max-width: 90ch;
}

.page-chart, .measure-guide, .cycle-diagram {
  margin: 30px 0;
  padding: 28px;
  background: #f2f6fc;
  border: 1px solid var(--line);
  border-radius: 16px;
}

.page-chart figcaption, .measure-guide figcaption, .cycle-diagram figcaption {
  font: 650 21px/1.4 var(--font-heading);
  color: var(--dark);
  margin-bottom: 24px;
  max-width: 35ch;
}

.metric-row {
  margin: 22px 0;
}

.metric-row>div:first-child {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 24px;
  margin-bottom: 10px;
  font-size: 14px;
  line-height: 1.6;
}

.metric-row strong {
  white-space: nowrap;
  font-size: 15px;
}

.metric-track {
  height: 12px;
  border-radius: 7px;
  background: #dfe7f2;
  overflow: hidden;
}

.metric-track>span {
  display: block;
  background: var(--blue);
  height: 100%;
  width: var(--value);
  border-radius: 7px;
  transform-origin: left;
}

.metric-row:nth-of-type(2n) .metric-track>span {
  background: #7190bc;
}

.page-chart p.chart-note, .cycle-diagram p.chart-note {
  font-size: 13px;
  line-height: 1.8;
  color: var(--quiet);
  margin: 24px 0 0;
}

.capacity-model {
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
}

.capacity-model:first-of-type {
  padding-top: 0;
}

.capacity-model:last-of-type {
  border-bottom: 0;
  padding-bottom: 0;
}

.capacity-model h4 {
  font-size: 15px;
  line-height: 1.5;
  margin: 0 0 15px;
  letter-spacing: 0;
}

.capacity-metric {
  display: grid;
  grid-template-columns: 65px 1fr 65px;
  gap: 15px;
  align-items: center;
  margin: 10px 0;
  font-size: 12px;
}

.capacity-metric strong {
  text-align: right;
  white-space: nowrap;
  font-size: 13px;
}

.metric-track .bar-wash {
  background: #819bbf;
}

.metric-track .bar-dry {
  background: var(--blue);
}

.measure-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 35px;
  align-items: center;
}

.cabinet-diagram {
  position: relative;
  max-width: 250px;
  margin: 30px 25px 35px;
  padding: 16px 25px;
  border: 2px solid #8099bc;
  background: #e3ebf6;
  border-radius: 5px;
}

.cabinet-machine {
  border: 2px solid #5c7aa4;
  border-radius: 5px;
  height: 180px;
  background: #fff;
  padding: 35px 20px 20px;
}

.cabinet-machine span {
  display: block;
  width: 110px;
  height: 110px;
  max-width: 100%;
  border: 9px solid #c8d8ef;
  border-radius: 50%;
  margin: auto;
  background: #eaf1fb;
}

.measure-top, .measure-bottom {
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 11px;
  color: #45638b;
}

.measure-top {
  top: -28px;
}

.measure-bottom {
  bottom: -30px;
  white-space: nowrap;
}

.measure-side {
  position: absolute;
  right: -30px;
  top: 40px;
  writing-mode: vertical-rl;
  font-size: 11px;
  color: #45638b;
}

.measure-layout ul {
  list-style: none;
  padding: 0;
}

.measure-layout li {
  padding: 0;
  margin: 0 0 18px;
}

.measure-layout li:before {
  display: none;
}

.measure-layout strong, .measure-layout span {
  display: block;
}

.measure-layout li strong {
  font-size: 14px;
}

.measure-layout li span {
  font-size: 13px;
  line-height: 1.7;
  color: var(--quiet);
}

.measure-guide>p {
  font-size: 12px;
  color: var(--quiet);
  line-height: 1.8;
  margin: 24px 0 0;
}

.process-map {
  margin: 28px 0;
  background: linear-gradient(125deg,#edf3ff,#f2f7e9);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 24px;
}

.process-map h3 {
  font-size: 22px;
  margin: 0 0 20px;
}

.process-map ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

.process-map li {
  padding: 0;
  margin: 0;
  border-top: 1px solid #dae4ee;
}

.process-map li:before {
  display: none;
}

.process-map a {
  display: flex;
  align-items: baseline;
  gap: 18px;
  font-size: 14px;
  line-height: 1.6;
  padding: 14px 0;
  color: #29496d;
  text-decoration: none;
}

.process-map a span {
  color: #7189a8;
  font-size: 12px;
}

.process-map a:hover {
  color: var(--blue);
}

.cycle-diagram>div {
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
}

.cycle-diagram>div>strong {
  font-size: 15px;
}

.cycle-diagram>div p {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 15px 0;
  font-size: 13px;
  line-height: 1.5;
}

.cycle-diagram>div p span {
  display: block;
  border-radius: 6px;
  background: #dfe9fb;
  padding: 12px 16px;
  flex: 1;
}

.cycle-diagram>div:nth-of-type(2) p span {
  background: #e4edd9;
}

.cycle-diagram small {
  display: block;
  font-size: 12px;
  color: var(--quiet);
}

@media (prefers-reduced-motion:no-preference) {
  .page-chart.chart-entered .metric-track>span {
    animation: bar-enter 850ms cubic-bezier(.2,.65,.3,1) both;
  }
}

@media (max-width:600px) {
  .reading-checklist>li, .reading-steps>li {
    font-size: 15px;
    padding: 18px 18px 18px 52px;
  }

  .reading-checklist>li:before, .reading-steps>li:before {
    left: 17px;
    top: 21px;
  }

  .article-tool {
    padding: 24px 20px;
  }

  .article-tool h3 {
    font-size: 24px;
  }

  .tool-fields {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .article-tool>p {
    font-size: 14px;
  }

  .article-tool output {
    padding: 20px;
  }

  .article-tool output strong {
    font-size: 25px;
  }

  .page-chart, .measure-guide, .cycle-diagram {
    padding: 22px 20px;
  }

  .page-chart figcaption, .measure-guide figcaption, .cycle-diagram figcaption {
    font-size: 20px;
  }

  .metric-row>div:first-child {
    font-size: 13px;
    gap: 16px;
  }

  .metric-row strong {
    font-size: 13px;
  }

  .capacity-metric {
    grid-template-columns: 55px 1fr 52px;
    gap: 10px;
  }

  .measure-layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .cabinet-diagram {
    width: 200px;
    justify-self: center;
    margin-bottom: 30px;
  }

  .process-map {
    padding: 22px 20px;
  }

  .process-map h3 {
    font-size: 21px;
  }

  .process-map a {
    font-size: 13px;
  }
}

.article-tool output[data-state=pending] {
  background: #e5edf9;
  color: #3d5679;
}

/* 9. Single-model review and review directory */

.review-brief {
  margin-bottom: 44px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: linear-gradient(125deg,#f0f5ff,#f8faf5);
}

.model-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 30px;
}

.model-heading h2 {
  font-size: 28px;
  line-height: 1.3;
  margin: 0;
  max-width: 28ch;
}

.model-score {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  text-align: center;
  padding: 12px 16px;
  border-radius: 12px;
  background: #e3edff;
  color: var(--blue);
}

.model-score>strong {
  font: 650 30px/1.2 var(--font-heading);
  color: var(--blue);
  display: block;
}

.model-score>span {
  display: block;
  max-width: 125px;
  font-size: 12px;
  line-height: 1.5;
  margin: 0 0 7px;
  color: #456999;
}

.model-summary-layout {
  display: grid;
  grid-template-columns: 170px minmax(0,1fr);
  gap: 28px;
  align-items: start;
}

.model-photo {
  display: grid;
  place-items: center;
  aspect-ratio: 3/4;
  background: #fff9;
  border: 1px solid #e3eaf5;
  border-radius: 10px;
  color: var(--quiet);
  font-size: 12px;
  text-align: center;
}

.model-summary-copy {
  min-width: 0;
}

.model-summary-copy>h3 {
  font-size: 21px;
  line-height: 1.4;
  margin: 0 0 16px;
}

.model-summary-copy>p:not(.label) {
  font-size: 16px;
  line-height: 1.8;
  margin: 0 0 18px;
}

.model-summary-layout .visual-description {
  font-size: 12px;
  line-height: 1.8;
  margin: 14px 0 0;
  color: var(--quiet);
}

.model-summary-layout .visual-description summary {
  cursor: pointer;
}

.model-summary-layout .visual-description .notice {
  font-size: 12px;
}

.review-brief .score-details {
  margin: 24px 0 0;
  border-color: #d2deef;
}

.review-brief .score-details summary {
  font-size: 13px;
  line-height: 1.6;
  padding: 16px 0;
  color: #315477;
}

.review-brief .opbouw {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 22px;
  margin: 0;
  padding: 12px 0 20px;
}

.review-brief .opbouw dt {
  font-size: 12px;
  line-height: 1.6;
  color: #49617f;
}

.review-brief .opbouw dd {
  font-size: 18px;
  font-weight: 650;
  line-height: 1.4;
  margin: 8px 0 12px;
  color: #193c72;
}

.review-brief .opbouw>div:after {
  content: "";
  display: block;
  width: var(--score);
  max-width: 100%;
  height: 4px;
  background: var(--blue);
  border-radius: 4px;
}

.review-brief .ui-methode {
  padding: 20px 0 0;
  margin-top: 0;
  border: 0;
  border-radius: 0;
  background: none;
}

.review-brief .ui-methode p {
  font-size: 13px;
  line-height: 1.8;
  margin: 0 0 16px;
  color: var(--muted);
}

.review-brief .ui-methode h3 {
  font-size: 19px;
  line-height: 1.4;
  margin: 0 0 14px;
}

.review-brief .ui-methode p:last-child {
  margin-bottom: 0;
}

.review-related>div {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}

.review-related>div>a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  background: #f2f6fc;
  border: 1px solid var(--line);
  border-radius: 9px;
  font-size: 14px;
  line-height: 1.6;
  color: #294e87;
  text-decoration: none;
}

.review-related>div>a:hover {
  border-color: #9ebbf3;
}

.all-reviews-link {
  display: inline-block;
  font-size: 14px;
  margin-top: 24px;
  color: var(--blue);
}

.review-directory-count {
  font-size: 13px;
  line-height: 1.7;
  color: #5f7595;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  margin-top: 28px;
}

.review-directory {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 20px;
  padding-bottom: 64px;
}

.review-directory-card {
  display: flex;
  flex-direction: column;
  padding: 25px;
  border: 1px solid var(--line);
  border-radius: 14px;
  text-decoration: none;
  background: #fff;
  min-width: 0;
}

.review-directory-card>span {
  color: #7c8ba1;
  font-size: 11px;
  line-height: 1.6;
  margin-bottom: 18px;
}

.review-directory-card h2 {
  font-size: 23px;
  line-height: 1.35;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
  margin: 0 0 28px;
}

.review-directory-card p {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  color: var(--blue);
  font-size: 13px;
  font-weight: 600;
  margin-top: auto;
}

.review-directory-card:hover {
  border-color: #9ebbf3;
  background: #f8faff;
}

#beoordeling, .review-brief {
  scroll-margin-top: 110px;
}

@media (prefers-reduced-motion:no-preference) {
  .review-directory-card {
    transition: border-color 160ms,background 160ms;
  }

  .review-directory-card p>span {
    transition: transform 160ms;
  }

  .review-directory-card:hover p>span {
    transform: translateX(4px);
  }
}

.model-heading>div:first-child {
  min-width: 0;
}

.model-heading h2 {
  overflow-wrap: anywhere;
}

.review-offer {
  display: grid;
  grid-template-columns: minmax(0,1fr) 220px;
  align-items: center;
  gap: 28px;
  padding: 26px 28px;
  margin: 4px 0 44px;
  border: 1px solid #d8e4f7;
  border-radius: 14px;
  background: #f1f6ff;
}

.review-offer h2, .review-offer h3 {
  font-size: 23px;
  line-height: 1.35;
  margin: 0 0 12px;
}

.review-offer p {
  font-size: 13px;
  line-height: 1.8;
  margin: 0;
  color: #506886;
}

.review-offer p:first-of-type {
  font-size: 15px;
  font-weight: 600;
  color: #213b64;
  margin-bottom: 8px;
  overflow-wrap: anywhere;
}

.review-offer .site-shop {
  margin: 0;
}

@media (max-width:600px) {
  .review-offer {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 24px 20px;
  }

  .review-offer h2 {
    font-size: 22px;
  }
}

@media (max-width:1100px) {
  .model-summary-layout {
    grid-template-columns: 130px minmax(0,1fr);
    gap: 22px;
  }

  .model-heading h2 {
    font-size: 25px;
  }

  .review-directory {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width:900px) {
  .model-summary-layout {
    grid-template-columns: 170px minmax(0,1fr);
  }
}

@media (max-width:600px) {
  .review-brief {
    padding: 22px 20px;
  }

  .model-heading {
    gap: 15px;
    margin-bottom: 22px;
  }

  .model-heading h2 {
    font-size: 24px;
    line-height: 1.3;
  }

  .model-score {
    padding: 10px;
    max-width: 75px;
  }

  .model-score>strong {
    font-size: 25px;
  }

  .model-score>span {
    font-size: 12px;
  }

  .model-summary-layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .model-photo {
    width: 100%;
    max-width: 200px;
    justify-self: center;
    height: auto;
    min-height: 140px;
    aspect-ratio: auto;
  }

  .model-summary-copy>p:not(.label) {
    font-size: 15px;
    line-height: 1.85;
  }

  .review-related>div {
    grid-template-columns: 1fr;
  }

  .review-related>div>a {
    font-size: 13px;
    padding: 16px 18px;
  }

  .review-directory {
    grid-template-columns: 1fr;
    gap: 14px;
    padding-bottom: 40px;
  }

  .review-directory-card {
    padding: 22px;
  }

  .review-directory-card h2 {
    font-size: 24px;
    margin-bottom: 24px;
  }

  .review-brief .opbouw {
    gap: 18px;
  }

  .review-brief .opbouw dt {
    font-size: 12px;
  }

  .review-brief .opbouw dd {
    font-size: 17px;
  }
}

@media (max-width:480px) {
  .model-heading {
    display: block;
  }

  .model-score {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    max-width: none;
    margin-top: 18px;
    padding: 10px 14px;
  }

  .model-score>span {
    margin: 0;
    max-width: none;
    text-align: left;
    font-size: 12px;
  }
}

/* 10. Choice aid and recommendations */

.choice-guide {
  padding-block: 28px 44px;
}

.choice-disclosure {
  background: linear-gradient(115deg,#edf3ff,#f7f9fd 65%,#f1f6e6);
  border: 1px solid #cbd9f0;
  border-radius: 20px;
  overflow: hidden;
}

.choice-disclosure>summary {
  list-style: none;
  display: flex;
  gap: 22px;
  align-items: center;
  cursor: pointer;
  padding: 28px 32px;
}

.choice-disclosure>summary::-webkit-details-marker {
  display: none;
}

.choice-symbol {
  width: 62px;
  height: 62px;
  border-radius: 18px;
  background: var(--blue);
  color: white;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  box-shadow: 0 5px 14px #195cff1a;
  transform: rotate(-5deg);
}

.choice-symbol svg {
  height: 34px;
  width: 34px;
  stroke-width: 1.8;
  fill: none;
  stroke: currentColor;
}

.choice-summary-copy {
  display: grid;
  gap: 6px;
  flex: 1;
}

.choice-kicker {
  color: #42618b;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.6;
  display: block;
}

.choice-summary-copy>strong {
  font-family: var(--font-heading);
  font-size: 25px;
  line-height: 1.3;
  letter-spacing: -.035em;
  color: var(--dark);
  font-weight: 650;
}

.choice-summary-copy>span:last-child {
  font-size: 14px;
  line-height: 1.6;
  color: var(--muted);
}

.choice-start {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 48px;
  padding: 12px 18px;
  background: white;
  border: 1px solid #cbd9f0;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 650;
  color: var(--blue);
  flex-shrink: 0;
}

.choice-chevron {
  font-size: 20px;
  line-height: 1;
}

.choice-disclosure[open] .choice-chevron {
  transform: rotate(90deg);
}

.choice-body {
  padding: 28px 32px 30px;
  border-top: 1px solid #d6e1f1;
  background: white;
}

.choice-body fieldset {
  border: 0;
  padding: 0;
  margin: 0 0 26px;
  min-width: 0;
}

.choice-body legend {
  font-size: 19px;
  font-weight: 650;
  line-height: 1.5;
  color: var(--dark);
  padding: 0;
  margin-bottom: 12px;
}

.choice-body legend>span {
  display: inline-grid;
  place-items: center;
  vertical-align: middle;
  background: #edf3ff;
  color: var(--blue);
  width: 28px;
  height: 28px;
  border-radius: 8px;
  margin-right: 8px;
  font-size: 13px;
}

.choice-help {
  font-size: 13px;
  line-height: 1.7;
  color: var(--muted);
  max-width: 85ch;
  margin: 0 0 14px;
}

.choice-options {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
}

.choice-options label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  border: 1px solid #d5dfed;
  background: #fff;
  border-radius: 12px;
  padding: 17px 14px;
  cursor: pointer;
  min-height: 84px;
}

.choice-options label:hover {
  border-color: #789de8;
  background: #f8faff;
}

.choice-options label:has(input:checked) {
  border-color: var(--blue);
  background: #edf3ff;
  box-shadow: 0 0 0 1px var(--blue);
}

.choice-options input {
  accent-color: var(--blue);
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  flex-shrink: 0;
}

.choice-options strong {
  display: block;
  font-size: 14px;
  font-weight: 650;
  color: var(--dark);
  line-height: 1.6;
}

.choice-options small {
  display: block;
  font-size: 12px;
  line-height: 1.6;
  color: var(--quiet);
  margin-top: 3px;
}

.choice-submit {
  display: flex;
  gap: 18px;
  align-items: center;
  flex-wrap: wrap;
}

.choice-submit>span {
  font-size: 12px;
  color: var(--quiet);
}

.choice-result {
  border: 1px solid #d8e4c0;
  background: #f5f9ec;
  border-radius: 14px;
  margin-top: 26px;
  padding: 26px;
}

.choice-result h3 {
  font-size: 25px;
  line-height: 1.35;
  margin: 12px 0;
  color: var(--dark);
}

.choice-result p {
  font-size: 15px;
  line-height: 1.8;
  max-width: 80ch;
  margin: 0 0 16px;
  color: #40516c;
}

.choice-result-caveat {
  border-top: 1px solid #d8e4c0;
  padding-top: 14px;
  font-size: 13px;
}

.choice-result-caveat>strong {
  color: #334b21;
}

.choice-result-actions {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.choice-result-actions .shop-action {
  min-width: 190px;
}

.choice-review {
  font-size: 14px;
  font-weight: 650;
  color: var(--blue);
  text-underline-offset: 4px;
}

.choice-review:hover {
  text-decoration: underline;
}

.choice-no-match {
  background: var(--pale);
  border-color: #d5dfed;
}

.choice-body .choice-scope, .choice-fallback {
  font-size: 12px;
  line-height: 1.8;
  color: var(--quiet);
  margin: 20px 0 0;
}

.choice-fallback a {
  text-decoration: underline;
  color: var(--blue);
}

.scroll-recommendation {
  background: var(--pale);
  border: 1px solid #d2dff2;
  border-radius: 14px;
  padding: 18px;
  margin: 0 0 24px;
  min-width: 0;
}

.recommendation-photo {
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  border: 1px solid #e4eaf4;
  border-radius: 10px;
  width: 100%;
  max-width: 100%;
  padding: 8px;
  margin: 10px 0;
}

.recommendation-photo img {
  display: block;
  width: 100%;
  height: 72px;
  object-fit: contain;
}

.recommendation-name {
  display: block;
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.4;
  letter-spacing: -.025em;
  margin: 0 0 8px;
  color: var(--dark);
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.product-reviews-layout .recommendation-specs, .recommendation-specs {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.7;
  margin: 0 0 16px;
}

.scroll-recommendation a.shop-button, .mobile-recommendation a.shop-button {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 11px 14px;
  font-size: 14px;
  color: white;
}

.product-reviews-layout a.choice-jump, .choice-jump {
  display: block;
  font-size: 12px;
  line-height: 1.7;
  color: #42618b;
  margin-top: 14px;
  text-decoration: none;
}

@media (max-width: 600px) {
  .mobile-recommendation a.shop-button {
    min-height: var(--button-height);
    padding: var(--button-padding);
  }
}

.choice-jump:hover {
  text-decoration: underline;
}

.mobile-recommendation {
  display: none;
}

.choice-guide :focus-visible, .scroll-recommendation :focus-visible, .mobile-recommendation :focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 4px;
}

@keyframes conversion-enter {
from{opacity:.5;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}
}

@keyframes shop-sheen {
from{transform:translateX(-190%) skewX(-18deg)}to{transform:translateX(330%) skewX(-18deg)}
}

@keyframes choice-wiggle {
0%,100%{transform:rotate(-5deg)}35%{transform:rotate(5deg)}70%{transform:rotate(-8deg)}
}

@media (prefers-reduced-motion:no-preference) {
  [data-conversion-reveal].conversion-entered {
    animation: conversion-enter .55s cubic-bezier(.2,.65,.3,1) backwards;
  }

  .conversion-entered .shop-button::after, .mobile-recommendation.first-appearance .shop-button::after {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 45%;
    pointer-events: none;
    background: linear-gradient(90deg,transparent,#ffffff38,transparent);
    animation: shop-sheen .85s .4s both;
  }

  .choice-guide.conversion-entered .choice-symbol {
    animation: choice-wiggle .75s .3s both;
  }

  .mobile-recommendation.first-appearance {
    animation: conversion-enter .35s both;
  }

  .choice-disclosure[open] .choice-body,.choice-result:not([hidden]) {
    animation: conversion-enter .3s both;
  }

  .choice-chevron, .choice-options label {
    transition: transform .2s,border-color .2s,background .2s;
  }
}

@media (max-width:1100px) {
  .choice-disclosure>summary {
    gap: 16px;
    padding: 24px;
  }

  .choice-summary-copy>strong {
    font-size: 22px;
  }

  .choice-symbol {
    width: 50px;
    height: 50px;
  }

  .choice-start {
    gap: 10px;
    padding: 12px;
  }

  .choice-body {
    padding: 24px;
  }

  .scroll-recommendation {
    padding: 14px;
  }

  .recommendation-name {
    font-size: 13px;
  }
}

@media (max-width:900px) {
  .scroll-recommendation {
    display: none;
  }

  .mobile-recommendation:not([hidden]) {
    display: block;
    position: fixed;
    inset: auto 0 0;
    z-index: 40;
    background: #fff;
    border-top: 1px solid #d2dff2;
    box-shadow: 0 -6px 24px #14234210;
    padding: 10px 10px calc(10px + env(safe-area-inset-bottom));
  }

  .mobile-recommendation-inner {
    max-width: 640px;
    margin: auto;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto 44px;
    align-items: center;
    gap: 10px;
  }

  .mobile-recommendation-copy {
    min-width: 0;
  }

  .mobile-recommendation-copy>strong {
    display: block;
    color: var(--dark);
    font-size: 13px;
    line-height: 1.45;
    margin-top: 5px;
    max-width: 30ch;
  }

  .mobile-recommendation .recommendation-label { line-height: 1.5; }

  .mobile-recommendation .shop-button {
    gap: 8px;
  }

  .mobile-recommendation .shop-retailer {
    font-size: 10px;
  }

  .mobile-recommendation .shop-action {
    gap: 3px;
  }

  .recommendation-close {
    border: 0;
    background: transparent;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 6px;
    color: var(--quiet);
  }

  .recommendation-close svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
  }

  body.has-mobile-recommendation {
    padding-bottom: var(--recommendation-height,110px);
  }

  html.has-mobile-recommendation {
    scroll-padding-bottom: calc(var(--recommendation-height,110px) + 16px);
  }

  .choice-start {
    font-size: 13px;
  }

  .choice-options {
    grid-template-columns: 1fr;
  }

  .choice-options label {
    min-height: 64px;
  }
}

@media (max-width:600px) {
  .choice-guide {
    padding-block: 20px 32px;
  }

  .choice-disclosure {
    border-radius: 16px;
  }

  .choice-disclosure>summary {
    display: grid;
    grid-template-columns: 40px minmax(0,1fr);
    gap: 14px;
    padding: 20px;
  }

  .choice-symbol {
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }

  .choice-symbol svg {
    width: 28px;
    height: 28px;
  }

  .choice-summary-copy>strong {
    font-size: 21px;
  }

  .choice-summary-copy>span:last-child {
    font-size: 13px;
  }

  .choice-kicker {
    font-size: 10px;
  }

  .choice-start {
    grid-column: 1/-1;
    justify-content: space-between;
    margin-top: 2px;
    min-height: var(--button-height);
    padding: 9px 12px;
  }

  .choice-body {
    padding: 22px 18px;
  }

  .choice-body legend {
    font-size: 17px;
  }

  .choice-body legend>span {
    width: 24px;
    height: 24px;
    margin-right: 5px;
  }

  .choice-submit {
    gap: 10px;
  }

  .choice-result {
    padding: 20px;
  }

  .choice-result h3 {
    font-size: 22px;
  }

  .choice-result-actions {
    display: grid;
    gap: 16px;
  }

  .choice-result-actions .shop-action {
    min-width: 0;
  }
}

@media (max-width:360px) {
  .mobile-recommendation-inner {
    gap: 6px;
  }

  .mobile-recommendation .shop-button svg {
    display: none;
  }

  .mobile-recommendation-copy>strong {
    font-size: 12px;
  }
}

@media (prefers-reduced-motion:reduce) {
  .choice-guide *, .scroll-recommendation *, .mobile-recommendation * {
    animation: none;
    transition: none;
  }
}

@media print {
  .mobile-recommendation, .scroll-recommendation, .choice-guide {
    display: none;
  }
}

/* Reading explanations: the original paragraphs remain inside each pattern. */
.reading-comparison, .reading-features, .reading-callout, .reading-flow {
  margin: 28px 0;
  max-width: 100%;
}
.reading-columns {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,310px),1fr));
  gap: 20px;
  align-items: stretch;
}
.reading-item { min-width: 0; }
.reading-columns > .reading-item {
  padding: var(--panel-padding);
  border: 1px solid var(--line);
  border-radius: var(--card-radius);
  background: var(--pale);
}
.reading-columns > .reading-item:nth-child(even) { background: #fff; }
.reading-item h3, .reading-feature h3, .reading-callout h3 {
  margin: 0 0 16px;
  color: #244d8c;
  font-size: 20px;
  line-height: 1.45;
}
.reading-item-copy, .reading-feature-copy { min-width: 0; }
.reading-item-copy p, .reading-feature-copy p, .reading-callout p {
  max-width: none;
  margin: 0 0 18px;
  font-size: var(--body-size);
}
.reading-item-copy > :last-child, .reading-feature-copy > :last-child, .reading-callout > :last-child { margin-bottom: 0; }
.reading-rows, .reading-features {
  border: 1px solid var(--line);
  border-radius: var(--card-radius);
  overflow: hidden;
}
.reading-rows > .reading-item, .reading-feature {
  display: grid;
  grid-template-columns: minmax(140px,.8fr) minmax(0,2.2fr);
  gap: 28px;
  padding: var(--panel-padding);
  background: #fff;
}
.reading-rows > .reading-item + .reading-item, .reading-feature + .reading-feature { border-top: 1px solid var(--line); }
.reading-rows > .reading-item:nth-child(even), .reading-feature:nth-child(even) { background: #f7f9fd; }
.reading-rows .reading-item h3, .reading-feature h3 { margin-bottom: 0; font-size: 18px; }
.reading-callout {
  padding: var(--panel-padding);
  border: 1px solid var(--line);
  border-left: 4px solid #8baeea;
  border-radius: var(--table-radius);
  background: var(--pale);
}
.reading-flow {
  padding: var(--panel-padding);
  border: 1px solid var(--line);
  border-radius: var(--card-radius);
  background: var(--pale);
}
.reading-flow figcaption { margin-bottom: 24px; color: var(--dark); font: 650 21px/1.4 var(--font-heading); }
.prose .reading-flow-list {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 24px;
  list-style: none;
  counter-reset: air-step;
  max-width: none;
  margin: 0;
  padding: 0;
}
.prose .reading-flow-list > li {
  position: relative;
  counter-increment: air-step;
  margin: 0;
  padding: 0;
}
.reading-flow-list > li::before, .reading-step-number {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid #d4e1fb;
  border-radius: var(--control-radius);
  background: #eaf0ff;
  color: #2458b5;
  font: 650 18px/1 var(--font-heading);
}
.reading-flow-list > li::before { content: counter(air-step); margin-bottom: 16px; }
.reading-flow-list > li:not(:last-child)::after {
  content: '→';
  position: absolute;
  top: 8px;
  right: 0;
  color: #6c8bb8;
}
.chapter .reading-step-title { display: flex; align-items: flex-start; gap: 16px; }
.reading-step-title > span:last-child { min-width: 0; overflow-wrap: anywhere; hyphens: auto; }
.reading-step-number { flex: 0 0 40px; margin-top: 2px; }
@media (max-width:600px) {
  .reading-columns { grid-template-columns: 1fr; gap: 16px; }
  .chapter .reading-step-title { display: block; }
  .reading-step-title > span:last-child { display: block; }
  .reading-step-number { margin: 0 0 12px; }
  .reading-rows > .reading-item, .reading-feature { grid-template-columns: 1fr; gap: 14px; }
  .reading-item h3, .reading-callout h3 { font-size: 19px; }
  .prose .reading-flow-list { grid-template-columns: 1fr; gap: 24px; }
  .prose .reading-flow-list > li { padding-left: 56px; min-height: 40px; }
  .reading-flow-list > li::before { position: absolute; left: 0; top: 0; margin: 0; }
  .reading-flow-list > li:not(:last-child)::after { content: ''; top: 48px; bottom: -16px; right: auto; left: 19px; width: 1px; background: #c7d8f0; }
}

/* 11. Review explanations: reusable figures, using the shared design values. */

.review-facts {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 24px;
  max-width: var(--reading-width);
  margin-top: 32px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}

.review-facts a { display: block; padding-left: 20px; border-left: 3px solid #dce7ff; }
.review-facts a:hover { border-left-color: var(--blue); }
.review-facts strong { display: block; font: 650 25px/1.3 var(--font-heading); color: var(--dark); letter-spacing: -.03em; }
.review-facts span { display: block; margin-top: 8px; font-size: 13px; line-height: 1.6; color: var(--muted); }
.review-use-label { margin-bottom: 16px; }
.model-visual { min-width: 0; }

.review-insight {
  margin: 30px 0;
  padding: var(--panel-padding);
  border: 1px solid var(--line);
  border-radius: var(--card-radius);
  background: var(--pale);
}

.review-insight h3 { margin: 0 0 24px; font-size: 21px; }
.review-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin: 0; }
.review-metrics > div { min-width: 0; display: flex; flex-direction: column; padding-left: 20px; border-left: 1px solid #cbd8eb; }
.review-metrics > div:first-child { border: 0; padding-left: 0; }
.review-metrics dt { font-size: 13px; line-height: 1.6; color: var(--muted); }
.review-metrics dd { order: -1; margin: 0 0 12px; }
.review-metrics strong { display: block; font: 650 31px/1.25 var(--font-heading); color: var(--blue); letter-spacing: -.04em; }
.review-metrics dd span { display: block; margin-top: 7px; font-size: 12px; line-height: 1.5; color: var(--dark); }
.review-insight p.review-visual-note { font-size: 13px; line-height: 1.8; color: var(--muted); margin: 22px 0 0; }
.review-saving { background: #f5faed; border-color: #dae6c6; }
.review-saving .review-metrics strong { color: #365b20; font-size: 26px; }

.review-bars { padding: var(--panel-padding); background: #fff; }
.review-bars figcaption { max-width: none; }
.review-chart-axis { display: flex; justify-content: space-between; gap: 16px; font-size: 12px; line-height: 1.5; color: var(--quiet); margin-bottom: 16px; }
.review-chart-axis span:last-child { text-align: right; }
.review-bar { padding-block: 18px; border-top: 1px solid #eaf0f6; }
.review-bar-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 12px; }
.review-bar-heading > div { min-width: 0; font-size: 14px; font-weight: 650; line-height: 1.5; }
.review-bar-heading > div span { display: block; margin-top: 4px; color: var(--quiet); font-size: 12px; font-weight: 400; }
.review-bar-heading strong { flex-shrink: 0; color: var(--dark); font-size: 16px; }
.review-bars .metric-track { height: 10px; background: #f0f3f9; }
.review-bars .metric-track > span { background: #9fb4d2; }
.review-bar.is-current .metric-track > span { background: var(--blue); }
.review-bar.is-current .review-bar-heading { color: var(--blue); }
.review-bar.is-current .review-bar-heading strong { color: var(--blue); }
.review-schedule { background: linear-gradient(120deg,#f1f5ff,#fff); }
.review-bars p.chart-note { max-width: none; font-size: 13px; line-height: 1.8; margin-bottom: 0; padding-top: 18px; border-top: 1px solid var(--line); }

.table-scroll .review-comparison-table { table-layout: fixed; min-width: 680px; }
.table-scroll .review-comparison-table thead th:first-child { width: 24%; }
.table-scroll .review-comparison-table .table-current-model { background: #edf3ff; }
.table-scroll .review-comparison-table thead .table-current-model { background: #dfeaff; box-shadow: inset 0 3px 0 var(--blue); color: #174ba4; }
.table-scroll .review-alternatives-table .table-current-model { background: #edf3ff; color: #244d8c; font-weight: 600; }
.table-scroll .review-alternatives-table thead .table-current-model { background: #dfeaff; box-shadow: inset 0 3px 0 var(--blue); }

@media (max-width: 600px) {
  .review-facts { gap: 20px; }
  .review-facts a { padding-left: 12px; }
  .review-facts strong { font-size: 20px; }
  .review-facts span { font-size: 12px; }
  .review-metrics { grid-template-columns: 1fr; gap: 20px; }
  .review-metrics > div, .review-metrics > div:first-child { border: 0; border-bottom: 1px solid var(--line); padding: 0 0 18px; }
  .review-metrics > div:last-child { border-bottom: 0; padding-bottom: 0; }
  .review-metrics strong { font-size: 30px; }
  .review-metrics dd { display: flex; align-items: baseline; gap: 12px; margin-bottom: 6px; }
  .review-metrics dd span { margin: 0; }
  .review-saving .review-metrics { gap: 14px; }
  .review-saving .review-metrics > div { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 12px; padding-bottom: 14px; }
  .review-saving .review-metrics dd { margin: 0; }
  .review-saving .review-metrics strong { font-size: 22px; }
  .review-insight h3 { font-size: 20px; }
  .review-bar-heading { align-items: start; gap: 12px; }
  .review-bar-heading strong { font-size: 14px; }
}

@media (max-width: 420px) {
  .review-facts { grid-template-columns: 1fr; gap: 15px; padding-top: 24px; }
  .review-facts a { display: grid; grid-template-columns: 120px minmax(0,1fr); align-items: center; gap: 14px; }
  .review-facts span { margin-top: 0; }
}

/* Review reading patterns. Text remains full size, with the shared prose measure. */
.review-hero .lead { max-width: var(--prose-measure); }
.review-facts a { min-height: 44px; }
.review-use-label { background: #e5edff; color: #244d8c; }
.prose ul.review-limits { list-style: none; padding: 0; margin: 24px 0; border: 1px solid var(--line); border-radius: var(--table-radius); overflow: hidden; max-width: var(--prose-measure); }
.review-limits li { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin: 0; padding: 15px 20px; background: #f7f9fc; border-bottom: 1px solid var(--line); }
.review-limits li:last-child { border: 0; }
.review-limits strong { flex-shrink: 0; font-variant-numeric: tabular-nums; }
.review-reading-panel { margin: 28px 0; padding: var(--panel-padding); border: 1px solid var(--line); border-radius: var(--card-radius); background: var(--pale); }
.review-reading-panel h3 { margin: 0 0 18px; font-size: 21px; color: var(--dark); }
.review-reading-panel > p:not(.label) { max-width: var(--prose-measure); }
.review-reading-panel > p:last-child { margin-bottom: 0; }
.review-service { border: 0; border-left: 3px solid #9fb4d2; border-radius: 0; background: #f7f9fc; }
.review-positive, .review-caution { background: none; border: 0; border-left: 3px solid #8ba5cc; border-radius: 0; padding-block: 4px; }
.review-caution { border-left-color: #be934f; }
.review-positive h3, .review-caution h3 { font-size: 17px; letter-spacing: 0; }
.review-fact-sheet { margin: 28px 0; padding: var(--panel-padding); border: 1px solid var(--line); border-radius: var(--card-radius); background: #fff; }
.review-fact-sheet figcaption { font: 650 21px/1.4 var(--font-heading); color: var(--dark); margin-bottom: 24px; }
.review-fact-sheet dl { margin: 0; }
.review-fact-sheet dl > div { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.4fr); gap: 28px; padding: 18px 0; border-top: 1px solid var(--line); }
.review-fact-sheet dt { color: var(--muted); font-size: 14px; line-height: 1.6; }
.review-fact-sheet dd { margin: 0; }
.review-fact-sheet dd strong { display: block; font: 650 21px/1.4 var(--font-heading); color: var(--dark); }
.review-fact-sheet dd span { display: block; margin-top: 6px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.review-fact-sheet p.review-visual-note { font-size: 13px; line-height: 1.8; color: var(--muted); margin: 8px 0 0; padding-top: 18px; border-top: 1px solid var(--line); max-width: none; }
.review-verdict { padding: var(--panel-padding); background: #f5faed; border: 1px solid #dae6c6; border-radius: var(--card-radius); }
.review-verdict .review-offer { padding: 24px 0 0; margin: 26px 0 0; border: 0; border-top: 1px solid #cddcbd; border-radius: 0; background: none; }
.review-verdict .review-offer h3 { font-size: 20px; margin: 0 0 12px; }
.review-offer p:not(.label) { font-size: 13px; margin-bottom: 0; }
.review-offer p:first-of-type { font-size: 15px; margin-bottom: 8px; }
.review-sources { padding-top: 0; margin-bottom: 0; }
.review-sources ul { columns: 2; column-gap: 40px; }
.review-sources li { break-inside: avoid; padding-block: 3px; }
.review-sources a { display: block; }

/* Native table scrolling, enhanced with controls only when columns overflow. */
.table-controls { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px 16px; margin: 26px 0 10px; font-size: 13px; line-height: 1.6; color: var(--muted); }
.table-control-title { grid-column: 1/-1; font-size: var(--table-font-size); font-weight: 650; color: var(--dark); }
.table-scroll caption.table-caption-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; padding: 0; border: 0; }
.table-controls > div { display: flex; gap: 8px; flex-shrink: 0; }
.table-controls button { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #bacce5; border-radius: var(--control-radius); background: white; color: var(--blue); font-size: 22px; }
.table-controls button:disabled { color: #718098; background: #f3f6fc; border-color: var(--line); cursor: default; }
.table-controls:not([hidden]) + .table-scroll { margin-top: 0; }
.table-scroll.is-enhanced + .table-swipe-hint { display: none; }
.table-scroll table a { display: inline-block; }
.table-scroll.has-overflow thead th:first-child, .table-scroll.has-overflow tbody th:first-child { position: sticky; left: 0; z-index: 1; box-shadow: 2px 0 0 #dce5ef; }
.sidebar nav a[aria-current="location"] { color: var(--blue); border-left: 2px solid var(--blue); background: #f3f6fc; margin-left: -18px; padding-left: 16px; }

@media (max-width:600px) {
  .review-reading-panel h3, .review-fact-sheet figcaption { font-size: 20px; }
  .review-positive h3, .review-caution h3 { font-size: 17px; }
  .review-fact-sheet dl > div { grid-template-columns: 1fr; gap: 8px; }
  .review-sources ul { columns: 1; }
  .table-scroll.has-overflow table { table-layout: fixed; }
  .table-scroll.has-overflow thead th:first-child { min-width: 0; width: 140px; }
  .table-scroll.has-overflow thead th:not(:first-child) { min-width: 0; }
  .table-controls { gap: 8px; font-size: 12px; }
  .review-bar-heading > div { overflow-wrap: anywhere; }
  .review-brief .model-summary-copy > p:not(.label) { font-size: var(--body-size); line-height: var(--body-leading); }
}

/* 12. Interaction and accessibility apply equally to every component. */

@media (prefers-reduced-motion: no-preference) {
  .button, .shop-button, .site-shop { transition: background 160ms, box-shadow 160ms; }
  .pick-card { transition: box-shadow 180ms, transform 180ms; }
  .pick-card:hover { box-shadow: 0 12px 30px #223d6910; transform: translateY(-3px); }
  .page-chart.chart-entered .metric-track > span { animation: bar-enter 850ms cubic-bezier(.2,.65,.3,1) both; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

@media print {
  .table-controls { display: none; }
  .table-scroll caption.table-caption-sr { position: static; width: auto; height: auto; clip-path: none; white-space: normal; }
  .header, .sidebar, .contents, .mobile-recommendation, .scroll-recommendation, .choice-guide { display: none; }
  .content-layout, .product-reviews-layout { display: block; }
  .wrap { width: 100%; }
}

/* 14. Shared review prices: merchant rows and Wasmachine-info price history. */
.review-price-comparison { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding-block: var(--panel-padding); }
.price-section-heading, .price-history-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.price-section-heading h2, .price-history-heading h2, .review-price-history > h2 { margin:0; font-size:var(--h2-size); line-height:1.3; letter-spacing:-.035em; }
.price-section-heading > a, .price-text-link { color:var(--blue); font-size:14px; font-weight:600; text-underline-offset:4px; }
.chapter p.price-model-name, .chapter p.price-history-subtitle { margin:10px 0 14px; color:var(--muted); font-size:15px; }
.merchant-comparison { list-style:none; padding:0; margin:0; container-type:inline-size; }
.merchant-row { display:grid; grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) auto; align-items:center; gap:20px; padding:22px 0; border-bottom:1px solid var(--line); min-width:0; }
.merchant-row:last-child { border-bottom:0; }
.merchant-name { display:flex; align-items:center; min-width:0; font-size:17px; height:48px; }
.merchant-logo { display:block; width:112px; max-width:100%; height:auto; max-height:44px; object-fit:contain; object-position:left center; }
.merchant-logo[alt="Coolblue"] { width:44px; }
.merchant-logo[alt="AEG"] { width:80px; }
.merchant-logo[alt="Bol.com"] { width:110px; }
.merchant-logo[alt="EP.nl"] { width:68px; }
.merchant-logo[alt="Samsung"] { width:132px; }
.merchant-logo[alt="Voordeligwitgoed.nl"] { width:160px; }
.merchant-price { min-width:0; }
.merchant-price > strong { display:block; font-family:var(--font-heading); font-size:15px; line-height:1.5; }
.merchant-price > span { display:block; font-size:12px; color:var(--muted); margin-top:5px; line-height:1.5; }
.merchant-comparison .shop-link { margin:0; min-height:var(--button-height); white-space:nowrap; }
.chapter p.price-source-note { font-size:13px; line-height:1.7; color:var(--muted); margin:16px 0 0; max-width:var(--text-measure); }
.review-price-history { padding:var(--panel-padding); background:#f5f8fd; border:1px solid #dce6f4; border-radius:var(--card-radius); }
.price-history-count { display:inline-block; color:var(--blue); font-size:var(--label-size); font-weight:600; padding:var(--label-padding); border:1px solid #dce6f4; border-radius:100px; white-space:nowrap; }
.price-history-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:24px 0; }
.price-history-stats > div { min-width:0; }
.price-history-stats dt { font-size:13px; color:var(--muted); }
.price-history-stats dd { font:700 30px/1.3 var(--font-heading); margin:5px 0 0; letter-spacing:-.04em; }
.chapter p.price-history-insight { font-size:16px; line-height:1.8; max-width:var(--prose-measure); margin:0; }
.review-price-history figure { margin:24px 0 0; }
.review-price-history figcaption { font-size:13px; line-height:1.6; color:var(--muted); }
.price-chart { position:relative; display:grid; grid-template-columns:58px minmax(0,1fr); margin-top:20px; height:240px; }
.price-chart-axis { display:flex; flex-direction:column; justify-content:space-between; font-size:12px; color:var(--muted); padding:12px 0; }
.price-chart-svg { width:100%; height:240px; overflow:visible; touch-action:pan-y; }
.price-chart-svg line { stroke:#d6e0ef; stroke-width:1; vector-effect:non-scaling-stroke; }
.price-chart-svg .price-chart-line { stroke:var(--blue); stroke-width:2.5; fill:none; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.price-chart-svg .price-chart-cursor { stroke:#839bc6; stroke-dasharray:4 5; }
.price-chart-point { fill:var(--blue); stroke:white; stroke-width:2; vector-effect:non-scaling-stroke; }
.price-chart-dates { display:flex; justify-content:space-between; margin-left:58px; font-size:11px; line-height:1.5; color:var(--muted); gap:8px; }
.price-history-controls { display:none; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; gap:12px; max-width:450px; margin:22px auto 6px; }
.price-history-controls output { font-size:15px; font-weight:600; text-align:center; line-height:1.5; }
.price-history-controls button { font:inherit; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #cfdaec; border-radius:50%; background:white; color:var(--blue); cursor:pointer; }
.price-history-controls button:disabled { opacity:.4; cursor:default; }
.review-price-history input[type=range] { display:none; width:100%; accent-color:var(--blue); cursor:pointer; min-height:44px; margin:0; }
.chapter p.price-range-hint { display:none; text-align:center; font-size:12px; color:var(--muted); line-height:1.6; margin:6px 0 0; }
.price-history-ready .price-history-controls { display:grid; }
.price-history-ready input[type=range], .price-history-ready p.price-range-hint { display:block; }
.price-data { border-top:1px solid var(--line); margin-top:24px; padding-top:12px; }
.price-data summary { display:list-item; font-size:14px; font-weight:600; color:var(--blue); cursor:pointer; padding:10px 0; min-height:44px; }
.price-data-scroll { max-height:330px; overflow:auto; margin-top:12px; border:1px solid var(--line); border-radius:var(--table-radius); background:white; }
.price-data table { border-collapse:collapse; width:100%; font-size:var(--table-font-size); min-width:0; }
.price-data caption { text-align:left; padding:var(--table-padding); color:var(--muted); }
.price-data td, .price-data th { padding:var(--table-padding); text-align:left; border-bottom:1px solid var(--line); font-weight:400; }
.price-data thead th { position:sticky; top:0; background:#eef4ff; font-weight:600; }
.price-data td:last-child, .price-data thead th:last-child { text-align:right; white-space:nowrap; }
.chapter p.price-empty { font-size:16px; color:var(--muted); margin:18px 0; }
@container (max-width:550px) {
  .merchant-row { grid-template-columns:minmax(0,1fr) auto; gap:12px 16px; }
  .merchant-name { grid-row:1; }
  .merchant-price { grid-row:1; text-align:right; max-width:175px; }
  .merchant-price > strong { font-size:14px; }
  .merchant-comparison .shop-link { grid-column:1 / -1; justify-self:stretch; }
}
@media (max-width:600px) {
  .price-section-heading, .price-history-heading { align-items:flex-start; flex-direction:column; gap:12px; }
  .price-history-heading h2 { max-width:14ch; }
  .price-history-stats { gap:10px; margin:22px 0; }
  .price-history-stats dd { font-size:clamp(19px,5.8vw,27px); }
  .price-history-stats dt { font-size:12px; line-height:1.4; min-height:2.8em; }
  .chapter p.price-history-insight { font-size:15px; }
  .price-chart, .price-chart-svg { height:200px; }
  .price-chart { grid-template-columns:49px minmax(0,1fr); }
  .price-chart-axis { font-size:11px; padding:10px 0; }
  .price-chart-dates { margin-left:49px; }
  .price-chart-dates span:nth-child(2), .price-chart-dates span:nth-child(4) { display:none; }
  .price-chart-dates span { max-width:65px; }
  .price-chart-dates span:last-child { text-align:right; }
  .price-history-controls { gap:8px; }
  .price-history-controls output { font-size:13px; }
}
@media (prefers-reduced-motion:no-preference) {
  .price-history-ready .price-chart-line { animation:price-chart-in .7s ease-out both; }
  @keyframes price-chart-in { from { opacity:.35; } to { opacity:1; } }
}
@media (max-width:360px) {
  .price-history-stats { grid-template-columns:1fr; gap:0; }
  .price-history-stats > div { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid var(--line); }
  .price-history-stats dt { min-height:0; }
  .price-history-stats dd { font-size:22px; white-space:nowrap; margin:0; }
}
@media print {
  .price-history-controls, .review-price-history input[type=range], .price-range-hint { display:none!important; }
}

/* 15. Product reviews: verified hero imagery, clear criteria and a buying action. */
.review-hero-layout { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr); align-items:center; gap:56px; }
.review-hero-layout .page-hero-copy { min-width:0; }
.review-hero-photo { width:100%; max-width:360px; justify-self:end; margin:0; padding:24px; border:1px solid var(--line); border-radius:var(--card-radius); background:#fff; }
.review-hero-photo img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.review-hero-photo figcaption { text-align:center; color:var(--muted); font-size:13px; line-height:1.6; margin-top:16px; }
.model-photo img { width:100%; height:auto; max-height:320px; object-fit:contain; }
.model-photo:has(img) { background:white; }
.review-position .review-metrics dt { font:650 17px/1.5 var(--font-heading); color:var(--dark); margin-bottom:16px; min-height:3em; }
.review-position .review-metrics dd { order:0; display:block; margin:0; }
.review-position .review-metrics strong { font-size:28px; }
.review-position .review-metrics dd span { font-size:13px; }
.review-position .review-metrics .review-metric-detail { margin-top:14px; padding-top:12px; border-top:1px solid #d5e0ef; color:var(--muted); }
.review-row-label { display:table; margin-top:10px; padding:4px 8px; font-size:11px; font-weight:600; line-height:1.5; border-radius:6px; }
.tone-positive { color:#29562f; background:#eaf3e8; }
.tone-caution { color:#78521c; background:#fff3dc; }
.tone-neutral { color:#3d526f; background:#eaf0f8; }
.review-position-table { table-layout:fixed; min-width:700px; }
.review-position-table thead th:first-child { width:29%; }
.review-position-table thead th:nth-child(2) { width:25%; }
.review-position-table[data-columns="4"] thead th:first-child { width:25%; }
.review-position-table[data-columns="4"] thead th:nth-child(2) { width:20%; }
.review-position-table td:first-of-type strong { color:#244d8c; font-weight:650; }
.has-review-buybar { --review-buybar-height:100px; padding-bottom:var(--review-buybar-height); }
.has-review-buybar .sidebar { max-height:calc(100dvh - var(--anchor-offset) - 110px); }
.review-buybar { position:fixed; inset:auto 0 0; z-index:95; background:#fff; border-top:1px solid #d9e3f0; box-shadow:0 -6px 30px #17365a10; }
.review-buybar[hidden] { display:none; }
.review-buybar-inner { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-block:14px; }
.review-buybar-product { display:flex; align-items:center; gap:16px; min-width:0; }
.review-buybar-product img { width:50px; height:50px; object-fit:contain; flex-shrink:0; }
.review-buybar-product strong { display:block; font:650 17px/1.4 var(--font-heading); }
.review-buybar-product span { display:block; color:var(--muted); font-size:12px; line-height:1.5; margin-top:4px; }
.review-buybar-actions { display:flex; align-items:center; gap:24px; flex-shrink:0; }
.review-buybar-compare { font-size:13px; color:var(--muted); text-decoration:underline; text-underline-offset:4px; }
.review-buybar .button { margin:0; white-space:nowrap; flex-direction:row; align-items:center; gap:12px; }
@media (max-width:1000px) and (min-width:761px) {
  .review-hero-layout { grid-template-columns:minmax(0,1.7fr) minmax(200px,1fr); gap:28px; }
  .review-hero-layout .review-facts { gap:14px; }
  .review-hero-layout .review-facts strong { font-size:20px; }
  .review-hero-layout .review-facts a { padding-left:10px; }
}
@media (max-width:760px) {
  .review-hero-layout { grid-template-columns:minmax(0,1fr); gap:0; }
  .review-hero-layout .page-hero-copy { display:contents; }
  .review-hero-layout h1 { order:0; min-width:0; overflow-wrap:anywhere; }
  .review-hero-photo { order:1; max-width:260px; justify-self:center; margin:8px 0 28px; padding:18px; }
  .review-hero-layout .lead { order:2; }
  .review-hero-layout .hero-actions { order:3; }
  .review-hero-layout .review-facts { order:4; }
  .review-hero-layout .page-date { order:5; }
}
@media (max-width:600px) {
  .table-scroll .review-position-table { display:block; min-width:0; width:100%; }
  .review-position-table caption { display:block; }
  .review-position-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .review-position-table tbody { display:block; }
  .review-position-table tbody tr { display:block; padding:18px 16px; border-bottom:1px solid var(--line); }
  .table-scroll .review-position-table tbody th, .table-scroll .review-position-table tbody td { display:block; position:static; width:100%; padding:0; border:0; background:none; box-shadow:none; }
  .table-scroll .review-position-table tbody th { font-size:15px; font-weight:650; line-height:1.5; }
  .table-scroll .review-position-table tbody td { padding-top:16px; }
  .review-position-table td::before { content:attr(data-column-label); display:block; margin-bottom:4px; font-size:11px; font-weight:500; color:var(--muted); }
  .review-position-table tbody tr:last-child { border-bottom:0; }
  .review-buybar-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; padding-block:10px; padding-bottom:max(10px,env(safe-area-inset-bottom)); }
  .review-buybar-product img, .review-buybar-product span, .review-buybar-compare { display:none; }
  .review-buybar-product strong { font-size:12px; line-height:1.4; overflow-wrap:anywhere; }
  .review-buybar-actions { display:grid; }
  .review-buybar .button { width:100%; min-height:min(46px,var(--button-height)); font-size:14px; }
  .review-position .review-metrics dt { margin-bottom:10px; min-height:0; }
  .review-position .review-metrics dd span { margin-top:7px; }
}
@media (prefers-reduced-motion:no-preference) {
  .review-buybar:not([hidden]) { animation:review-buybar-in 240ms ease-out both; }
  @keyframes review-buybar-in { from { transform:translateY(12px); opacity:0; } to { transform:translateY(0); opacity:1; } }
}
@media print { .review-buybar { display:none; } .has-review-buybar { padding-bottom:0; } }

/* Standalone photo review: uses the shared typography, spacing and colours. */
.opstelling-checks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-block:24px; }
.opstelling-checks > div { background:white; border:1px solid var(--line); border-radius:12px; padding:22px; }
.opstelling-checks strong { display:block; color:var(--dark); font:650 17px/1.5 var(--font-heading); margin-bottom:10px; }
.opstelling-checks p { margin:0; font-size:15px; line-height:1.7; color:var(--muted); }
@media (max-width:760px) { .opstelling-checks { grid-template-columns:1fr; } }
.photo-test-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding-block:24px; border-bottom:1px solid var(--line); }
.photo-test-main { padding-block:var(--section-padding); }
.photo-test-intro { display:grid; justify-items:start; gap:16px; margin-bottom:var(--section-space); }
.photo-test-intro p { color:var(--muted); max-width:var(--text-measure); }
.photo-test-item + .photo-test-item { margin-top:var(--section-space); }
.photo-test-item h2 { margin-bottom:20px; }
.photo-test-item figure { margin:0 0 12px; }
.photo-test-item figure a { display:block; border-radius:var(--card-radius); overflow:hidden; }
.photo-test-item img { width:100%; height:auto; }
.photo-test-link { color:var(--blue); font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.photo-test-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; padding-block:24px; border-top:1px solid var(--line); color:var(--muted); font-size:14px; }

/* Was-droger: content adapters within the shared v18 design. */
.dryer-site .button > svg { flex:0 0 20px; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; }
.dryer-site .selection-full > h2 { margin:0 0 28px; }
.dryer-site .review-copy { font-size:var(--body-size); line-height:var(--body-leading); }
.dryer-site .reading-check-list { list-style:none; padding:0; margin:28px 0; border:1px solid var(--line); border-radius:var(--card-radius); overflow:hidden; }
.dryer-site .reading-check-list > li { position:relative; margin:0; padding:20px 24px 20px 52px; background:var(--pale); }
.dryer-site .reading-check-list > li + li { border-top:1px solid var(--line); }
.dryer-site .reading-check-list > li::before { content:"✓"; position:absolute; left:22px; color:var(--blue); font-weight:700; }
.dryer-site .reading-features + .energy-tool { margin-top:32px; }
@media(min-width:901px){.dryer-site .menu-feature{align-self:start;min-height:260px}.dryer-site .mega-menu:not(:has(.mega-group:nth-child(2))){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.dryer-site .mega-menu{max-height:none!important;overflow:visible!important}}
@media(max-width:600px){.dryer-site .table-scroll table.position-table,.dryer-site .table-scroll table.position-table tbody,.dryer-site .table-scroll table.position-table tr,.dryer-site .table-scroll table.position-table td,.dryer-site .table-scroll table.position-table th{min-width:0!important;width:100%!important;box-sizing:border-box}.dryer-site .position-table caption.table-caption-sr{width:1px!important;height:1px!important;padding:0!important}}
.dryer-site .opbouw{display:grid;gap:0;margin:20px 0;background:#fff;border:1px solid #dce5ef;border-radius:10px;overflow:hidden}.dryer-site .opbouw>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:12px 16px;border-bottom:1px solid #dce5ef;font-size:14px;line-height:1.5}.dryer-site .opbouw>div:last-child{border-bottom:0}.dryer-site .opbouw dt{font-weight:500}.dryer-site .opbouw dd{margin:0;font-weight:650;color:#195cff}.dryer-site .selection-full details{margin-block:20px}.dryer-site .selection-full summary{cursor:pointer;font-weight:600;color:#315a96}
.dryer-site .position-table tbody tr>:first-child{font-weight:650;color:#142342}.dryer-site .position-table tbody tr>:nth-child(2){font-weight:700;color:#195cff}.dryer-site .position-table tbody tr>:nth-child(3){font-weight:650}@media(max-width:600px){.dryer-site .position-table caption{display:block;width:100%;box-sizing:border-box}.dryer-site .position-table tbody tr>:nth-child(2){font-size:18px}.dryer-site .position-table td:before{font-size:12px;color:#55657e}}
.dryer-site .energy-tool .calc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.dryer-site .energy-tool .calc-grid label{display:grid;gap:10px;align-content:start;font-size:15px;line-height:1.5}.dryer-site .energy-tool input{display:block;width:100%;min-width:0;min-height:46px;padding:11px 14px;background:#fff;color:#142342;border:1px solid #b9c9df;border-radius:8px;font:inherit}.dryer-site .energy-tool input:focus-visible{outline:3px solid #d9f79b;outline-offset:3px}@media(max-width:600px){.dryer-site .energy-tool .calc-grid{grid-template-columns:1fr;gap:16px}}
.dryer-site .selection-full{margin:0 0 56px}.dryer-site .selection-full>.ui-topselectie{list-style:none;padding:0}.dryer-site .full-review{margin-bottom:48px}.dryer-site .pick-summary{font-size:15px;line-height:1.7}.dryer-site .pick-summary p+p{margin-top:14px}.dryer-site .review-hero-photo{background:#fff}.dryer-site .review-hero-photo>img{object-fit:contain;padding:28px}.dryer-site .review-summary-photo img{width:160px;height:160px;object-fit:contain}.dryer-site .review-summary-card{padding:28px;background:var(--pale,#f3f6fc);border:1px solid #dce5ef;border-radius:16px;margin-bottom:40px}.dryer-site .dryer-chart{margin:32px 0;padding:28px;background:#f3f6fc;border-radius:16px}.dryer-bars{display:grid;gap:20px;margin:24px 0}.dryer-bar-row{display:grid;grid-template-columns:140px minmax(0,1fr) 64px;gap:14px;align-items:center;font-size:14px}.dryer-bar-track{height:16px;background:#dce5ef;border-radius:20px;overflow:hidden}.dryer-bar-track i{display:block;height:100%;width:var(--bar);background:#195cff;border-radius:20px}.chart-entered .dryer-bar-track i{animation:dryer-bar .7s ease-out}.dryer-chart figcaption{font-size:21px}.chart-note{font-size:14px;line-height:1.6}.dryer-energy output{display:block;margin-top:24px;font-size:22px;font-weight:650}.dryer-site .guide-content .reading-checklist{padding:28px;background:#f3f6fc;border-radius:16px}.dryer-site .guide-content .reading-steps>ol{counter-reset:step;padding:0;list-style:none}.reading-steps>ol>li{counter-increment:step;padding:20px 20px 20px 58px;position:relative;border-bottom:1px solid #dce5ef}.reading-steps>ol>li:before{content:counter(step);position:absolute;left:12px;color:#195cff;font-weight:700}.dryer-site .pick-card{height:auto}.dryer-site .mega-menu{max-height:calc(100vh - 120px);overflow:auto}.dryer-site caption{text-align:left;font-weight:650;padding:16px}.dryer-site .guide-content{min-width:0}.dryer-site .pending-photo{display:none}
@keyframes dryer-bar{from{transform:scaleX(.15);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}
@media(max-width:600px){.dryer-site .dryer-chart{padding:20px}.dryer-bar-row{grid-template-columns:1fr 56px;gap:8px}.dryer-bar-row>span{grid-column:1/-1}.dryer-site .position-table,.dryer-site .position-table tbody,.dryer-site .position-table tr,.dryer-site .position-table td,.dryer-site .position-table th{display:block;min-width:0;width:auto}.dryer-site .position-table thead{display:none}.dryer-site .position-table td:before{content:attr(data-label);display:block;font-weight:650;color:#142342;margin-bottom:4px}.dryer-site .position-table tr{border-bottom:2px solid #dce5ef;padding:12px 0}.dryer-site .position-table td,.dryer-site .position-table th{position:static;border:0}.dryer-site .review-summary-card{padding:20px}.dryer-site .dryer-energy output{font-size:19px}}
@media(prefers-reduced-motion:reduce){.dryer-bar-track i{animation:none!important}}

.dryer-site .reading-safety{background:#fff7e8;border-left:4px solid #c98215;padding:26px;border-radius:12px}.dryer-site .review-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:40px 0}.dryer-site .review-directory-card{display:block;padding:24px;border:1px solid #dce5ef;border-radius:16px;background:#f3f6fc}.dryer-site .review-directory-card h2{font-size:22px}.dryer-site .model-photo img{width:100%;max-width:200px;height:220px;object-fit:contain}.dryer-site .model-summary-copy>.review-product{display:block}.dryer-site .model-summary-copy>h3{font-size:20px;margin-top:22px}@media(max-width:900px){.dryer-site .review-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.dryer-site .review-directory-grid{grid-template-columns:1fr}.dryer-site .model-photo img{height:160px}.dryer-site .reading-safety{padding:20px}}

.dryer-simple-calc output{display:block;margin-top:24px;font-size:22px;font-weight:650}.dryer-site .comparison-score{display:inline-block;padding:6px 12px;background:#eef3fc;border-radius:8px;font-size:14px}.visueel-verborgen{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:600px){.dryer-simple-calc output{font-size:19px}}
@media(max-width:600px){
  .dryer-site .table-scroll .position-table tbody tr { padding:18px 16px; }
  .dryer-site .table-scroll .position-table tbody td,
  .dryer-site .table-scroll .position-table tbody th { background:none; }
}


/* Shared authorship, matching the site's central design tokens. */
.author-byline { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:22px 0 0; font-size:14px; line-height:1.6; color:var(--muted); }
.author-byline a { color:var(--dark); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.author-byline span { color:var(--muted); }
.author-profile { padding-block:var(--section-padding); }
.author-profile .author-intro { max-width:820px; }
.author-profile .author-role { color:var(--blue); margin:16px 0; font-weight:600; }
.author-profile .author-sections { max-width:900px; margin-top:48px; }
.author-profile .chapter { margin-bottom:36px; }
@media(max-width:600px){ .author-byline { font-size:13px; gap:4px; margin-top:18px; } .author-profile .author-sections { margin-top:32px; } }

.author-portrait { display:block; width:120px; height:120px; object-fit:cover; border-radius:50%; margin-bottom:24px; }
@media(max-width:600px){ .author-portrait { width:96px; height:96px; margin-bottom:20px; } }

.author-byline .author-avatar { display:inline-flex; flex:0 0 40px; width:40px; height:40px; margin-right:6px; border-radius:50%; overflow:hidden; }
.author-byline .author-avatar img { display:block; width:100%; height:100%; object-fit:cover; }
@media(max-width:600px){ .author-byline .author-avatar { flex-basis:34px; width:34px; height:34px; } }

/* Top selections share the v18 model summary and compact action alignment. */
.dryer-site .review-actions > .model-review-link,
.dryer-site .pick-link > .model-review-link { margin:0; padding:0; border:0; color:var(--blue); font-size:14px; line-height:1.6; }
.dryer-site .pick-copy > .spec-line { margin:10px 0 0; font-size:13px; line-height:1.6; }
.dryer-site .selection-availability { margin:0 0 24px; color:var(--muted); max-width:780px; }
.dryer-site .previous-selection { border-style:dashed; }
.dryer-site .previous-selection > .product-caveat { margin:0 0 24px; }
.dryer-site .review-product .spec-line { margin:0; color:var(--muted); }
.dryer-site .review-actions > .model-review-link:hover,
.dryer-site .pick-link > .model-review-link:hover { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:600px) {
  .dryer-site .review-actions > .model-review-link { text-align:center; padding:8px 0; }
  .dryer-site .review-product .spec-line { text-align:center; }
}
/* Reading components: page-level optimisation pilot, 20 October 2026. */
.reading-decision-steps { list-style:none; counter-reset:reading-step; padding:0; margin:28px 0; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#fff; }
.reading-decision-steps > li { counter-increment:reading-step; position:relative; padding:26px 28px 26px 78px; margin:0; }
.reading-decision-steps > li + li { border-top:1px solid var(--line); }
.reading-decision-steps > li::before { content:counter(reading-step); position:absolute; left:24px; top:26px; width:32px; height:32px; display:grid; place-items:center; border-radius:10px; background:#195cff; color:#fff; font-weight:700; }
.reading-decision-steps h3 { margin:0 0 10px; font-size:20px; }
.reading-decision-steps p:last-child { margin-bottom:0; }
.reading-equation { margin:28px 0; padding:28px; border:1px solid var(--line); border-radius:16px; background:#f3f6fc; }
.reading-equation figcaption { font-size:19px; font-weight:700; color:#142342; }
.reading-equation-values { display:grid; grid-template-columns:1fr auto 1.3fr auto 1fr; align-items:center; gap:16px; margin:24px 0; }
.reading-equation-values > div { display:flex; flex-direction:column; gap:8px; }
.reading-equation-values strong { color:#195cff; font-size:30px; line-height:1.2; }
.reading-equation-values span { font-size:14px; line-height:1.5; }
.reading-equation-values .reading-equation-sign { font-size:26px; color:#596981; }
.reading-equation > p { border-top:1px solid var(--line); padding-top:18px; margin-bottom:0; font-size:15px; }
.reading-responsive-table tbody th[scope="row"] { font-weight:650; color:#142342; }
@media(max-width:600px) {
  .reading-decision-steps > li { padding:22px 18px; }
  .reading-decision-steps > li::before { left:16px; top:22px; }
  .reading-decision-steps h3 { font-size:18px; padding-left:44px; min-height:32px; }
  .reading-equation { padding:20px; }
  .reading-equation-values { grid-template-columns:1fr; gap:12px; }
  .reading-equation-values > div { flex-direction:row; align-items:center; gap:20px; }
  .reading-equation-values strong { flex:0 0 108px; font-size:26px; }
  .reading-equation-sign { padding-left:40px; }
  .dryer-site .reading-responsive-frame { overflow:visible; }
  .dryer-site .table-scroll table.reading-responsive-table { display:block; min-width:0; width:100%; }
  .reading-responsive-table caption { display:block; }
  .reading-responsive-table thead { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); }
  .reading-responsive-table tbody, .reading-responsive-table tr { display:block; }
  .dryer-site .reading-responsive-table tbody tr { padding:18px; border-top:1px solid var(--line); }
  .dryer-site .reading-responsive-table tbody td, .dryer-site .reading-responsive-table tbody th { display:block; position:static; width:auto; min-width:0; border:0; padding:8px 0; background:none; }
  .reading-responsive-table td::before { content:attr(data-column-label); display:block; font-size:13px; font-weight:650; color:#596981; margin-bottom:5px; }
  .reading-responsive-table tbody th[scope="row"] { font-size:17px; }
  .reading-responsive-frame + .table-swipe-hint { display:none; }
}
/* Reusable conceptual comparison and authored calculation. */
.reading-maintenance-parts { margin:28px 0; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#fff; }
.reading-maintenance-parts > section { padding:26px 28px; }
.reading-maintenance-parts > section + section { border-top:1px solid var(--line); }
.reading-maintenance-parts h3 { margin:0 0 12px; font-size:21px; color:#142342; }
.reading-maintenance-parts p:last-child { margin-bottom:0; }
.reading-callout-warning { background:#fff8ec; border-color:#ead4ae; border-left-color:#ac6a17; }
.reading-callout-warning h3 { color:#70420b; }
@media(max-width:600px) {
  .reading-maintenance-parts > section { padding:22px 18px; }
  .reading-maintenance-parts h3 { font-size:19px; }
}
.reading-concept-pair { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:24px 0; }
.reading-concept-pair > section { padding:24px; border:1px solid var(--line); border-radius:16px; background:#f3f6fc; }
.reading-concept-pair h3 { margin:0 0 10px; color:#195cff; font-size:21px; }
.reading-concept-pair p:last-child { margin-bottom:0; }
.reading-formula { padding:24px; border-radius:12px; background:#f3f6fc; border-left:4px solid #195cff; font-weight:650; }
.dryer-energy > h3 { font-size:28px; color:inherit; margin:0 0 18px; }
@media(max-width:600px) { .reading-concept-pair { grid-template-columns:1fr; } .reading-concept-pair > section,.reading-formula { padding:20px; } .dryer-energy > h3 { font-size:23px; } }
/* Content-led explanation: dark focal elements, neutral reading surfaces. */
.reading-dark { background:#142342; color:#fff; border:1px solid #142342; border-radius:16px; padding:28px; }
.reading-dark h3,.reading-dark figcaption,.reading-dark label { color:#fff; }
.reading-cost-equation { margin:30px 0; }
.reading-cost-equation figcaption { font-size:23px; font-weight:700; }
.reading-cost-flow { display:grid; grid-template-columns:1.3fr auto 1fr auto 1.1fr; gap:16px; align-items:center; margin:24px 0; }
.reading-cost-flow > div { padding:18px; border-radius:10px; background:#243653; }
.reading-cost-flow strong { display:block; font-size:24px; line-height:1.3; color:inherit; }
.reading-cost-flow span { display:block; font-size:14px; line-height:1.5; margin-top:8px; }
.reading-cost-flow .reading-cost-sign { font-size:25px; color:#d9f99b; margin:0; }
.reading-cost-flow .reading-cost-result { background:#d9f99b; color:#142342; }
.reading-dark p { color:#e0e8f4; }
.reading-dark p:last-child { margin-bottom:0; }
.dryer-site .energy-explainer .reading-dark { background:#142342; }
.energy-explainer .dryer-energy.reading-dark { background:#142342; color:#fff; }
.energy-explainer .dryer-energy.reading-dark input { background:#fff; color:#142342; border:2px solid #c1cede; }
.energy-explainer .dryer-energy.reading-dark input:focus-visible { outline:3px solid #d9f99b; outline-offset:3px; }
.energy-explainer .dryer-energy.reading-dark output { background:#d9f99b; color:#142342; padding:22px; border-radius:12px; line-height:1.6; }
.energy-explainer .dryer-energy.reading-dark .formula { color:#e0e8f4; }
.dryer-site.energy-explainer .dryer-chart { background:#fff; border:1px solid #ccd5e2; }
.energy-explainer .dryer-bar-track { background:#edf0f5; height:20px; }
.energy-explainer .dryer-bar-track i { background:#142342; }
.energy-explainer .dryer-bar-row:first-child .dryer-bar-track i { background:#195cff; }
.energy-explainer .dryer-bar-row { grid-template-columns:190px minmax(0,1fr) 92px; }
.energy-explainer .reading-concept-pair > section { background:#f3f6fc; border-top:4px solid #142342; }
.energy-explainer .reading-concept-pair h3 { color:#142342; }
.energy-explainer .reading-formula { background:#fff; border:1px solid #ccd5e2; border-left:4px solid #142342; }
.energy-explainer .reading-callout { background:#fff; border-left-color:#142342; }
.energy-explainer .reading-decision-steps > li::before { background:#142342; }
@media(max-width:700px) {
 .reading-cost-flow { grid-template-columns:1fr; gap:10px; }
 .reading-cost-flow .reading-cost-sign { text-align:center; }
 .reading-cost-flow > div { padding:16px; }
 .reading-dark { padding:22px 18px; }
 .reading-cost-equation figcaption { font-size:21px; }
 .energy-explainer .dryer-bar-row { grid-template-columns:minmax(0,1fr) 90px; }
 .energy-explainer .dryer-bar-row > span { grid-column:1/-1; }
}
/* Compact calculator results: separate values from explanation. */
.dryer-energy output,.energy-explainer .dryer-energy.reading-dark output { font-size:16px; font-weight:400; padding:18px 20px; }
.calc-results { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.calc-results > span { display:block; }
.calc-result-label { display:block; font-size:13px; font-weight:500; margin-bottom:4px; }
.calc-results strong { display:block; font-size:24px; line-height:1.3; font-weight:650; }
.calc-result-difference { display:block; margin-top:14px; padding-top:12px; border-top:1px solid rgba(20,35,66,.18); font-size:15px; line-height:1.5; }
@media(max-width:600px) { .dryer-site .dryer-energy output { font-size:15px; } .calc-results { gap:12px; } .calc-results strong { font-size:22px; } }
/* Evidence charts and restrained calculator output, shared by article pages. */
.dryer-site .reading-evidence-chart { background:#fff; border:1px solid #ccd5e2; }
.reading-evidence-chart .dryer-bar-track { background:#edf0f5; }
.reading-evidence-chart .dryer-bar-track i { background:#142342; }
.reading-evidence-chart .dryer-bar-row:first-child .dryer-bar-track i { background:#195cff; }
.dryer-site .reading-compact-calculator output { font-size:17px; font-weight:500; line-height:1.5; padding:16px 20px; }
.life-average { margin:24px 0; }
/* Breathing room around content-led emphasis blocks, including following prose. */
.chapter > aside.reading-dark, .prose > aside.reading-dark { margin-block:24px; }
.dryer-site .prose .reading-dark a { color:#d9f99b; text-decoration:underline; text-underline-offset:3px; }
.dryer-site .prose .reading-dark a:hover { color:#fff; }
.reading-dark a:focus-visible { outline:2px solid #d9f99b; outline-offset:4px; }
.reading-concept-pair > section:last-child:nth-child(3) { grid-column:1/-1; }
.dryer-site .dryer-energy output { display:block; background:#d9f99b; color:#142342; border-radius:12px; }
.dryer-site .dryer-energy output strong { color:inherit; }
@media(max-width:600px) {
 .reading-responsive-table tbody th[data-column-label]::before { content:attr(data-column-label); display:block; font-size:13px; font-weight:500; color:#596981; margin-bottom:5px; }
}

.reading-responsive-hint { display:none; }

.technische-productmodule > aside.reading-dark { margin-block:24px; }

.reading-service-checklist { list-style:none; padding:0; border:1px solid #e1e5eb; border-radius:16px; overflow:hidden; }
.reading-service-checklist li { padding:16px 20px 16px 42px; margin:0; position:relative; }
.reading-service-checklist li + li { border-top:1px solid #e1e5eb; }
.reading-service-checklist li::before { content:"✓"; position:absolute; left:18px; color:#205bfa; font-weight:700; }

.dryer-site .reading-dark p strong { color:inherit; }
.dryer-site .reading-compact-calc output {
  display: block;
  margin-top: 20px;
  padding: 16px 18px;
  border-radius: 12px;
  background: #dcfa9b;
  color: #172543;
  font-size: 16px;
  line-height: 1.55;
  font-weight: 600;
}
.dryer-site .reading-compact-calc .formula { font-size: 13px; line-height: 1.65; margin-top: 12px; }
.dryer-site .reading-feature.reading-feature-wide { display: block; }
.dryer-site .reading-feature-wide > h3 { margin-bottom: 20px; }
.reading-feature-copy > aside.reading-callout { margin-block: 24px; }

/* Keep enhanced steps authoritative inside the original reading-steps wrapper. */
.dryer-site .reading-steps > ol.reading-decision-steps {counter-reset:reading-step}
.dryer-site .reading-steps > ol.reading-decision-steps > li {counter-increment:reading-step}
.dryer-site .reading-steps > ol.reading-decision-steps > li::before {content:counter(reading-step);color:#fff}

@media(max-width:700px){.dryer-site .reading-steps > ol.reading-decision-steps > li{padding:22px 18px}}

/* Keep a measured value and its unit together in narrow charts. */
.dryer-bar-row > strong {white-space:nowrap}
@media(max-width:600px){.dryer-bar-row{grid-template-columns:minmax(0,1fr) max-content}}

/* Standalone safety notes keep breathing room before the next paragraph. */
.dryer-site aside.reading-safety { margin-block: 24px; }

/* Individueel gecontroleerde reviews: rustige samenvatting, centrale knopstijl. */
.dryer-site.reading-reviewed .review-brief { background:#f3f6fc; }

/* Homepage: concrete choices and model-specific running costs. */
.dryer-site .home-answer {font-size:16px;line-height:1.65;border-left:3px solid #195cff;padding-left:16px;margin-top:20px;}
.dryer-site .home-selection-note {font-size:14px;line-height:1.6;color:#52617b;margin:12px 0 28px;}
.dryer-site .home-fit {display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0;padding:20px;background:#f3f6fc;border-radius:12px;border-top:3px solid #172542;}
.dryer-site .home-fit strong {font-size:15px;}
.dryer-site .home-fit p {font-size:15px;line-height:1.65;margin:6px 0 0;}
.dryer-site .home-maintenance-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0;}
.dryer-site .home-maintenance-grid>div {padding:20px;border:1px solid #dce3ee;border-radius:12px;}
.dryer-site .home-maintenance-grid h3 {font-size:17px;line-height:1.4;margin:0 0 10px;overflow-wrap:anywhere;}
.dryer-site .home-maintenance-grid p {font-size:15px;line-height:1.65;margin:0;}
.dryer-site .home-cost-results {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:12px;}
.dryer-site .home-cost-results>span {font-size:14px;line-height:1.5;}
.dryer-site .home-cost-results strong {display:block;font-size:24px;line-height:1.4;}
.dryer-site .home-energy output {display:block;margin-top:20px;padding:20px;border-radius:12px;background:#def99a;color:#172542;font-size:14px;line-height:1.6;}
.dryer-site .home-energy output strong,.dryer-site .home-energy output span {color:#172542;}
.dryer-site .home-cost-chart .page-chart {background:#fff;color:#172542;margin-top:24px;}
.dryer-site .home-cost-chart .page-chart p,.dryer-site .home-cost-chart figcaption,.dryer-site .home-cost-chart strong {color:#172542;}
.dryer-site .home-cost-chart .dryer-bar-row>span {color:#172542;}
@media(max-width:700px){
 .dryer-site .home-fit,.dryer-site .home-maintenance-grid,.dryer-site .home-cost-results {grid-template-columns:1fr;gap:14px;}
 .dryer-site .home-cost-results>span {display:flex;justify-content:space-between;align-items:center;gap:12px;}
 .dryer-site .home-cost-results strong {font-size:21px;white-space:nowrap;}
 .dryer-site .home-answer {font-size:15px;}
}

/* Compact product labels and scannable homepage comparison. */
.dryer-site .spec-labels { display:flex; flex-wrap:wrap; gap:6px; }
.dryer-site .spec-label { display:inline-block; padding:4px 9px; border:1px solid #dce3ef; border-radius:6px; background:#f3f6fc; color:#314563; font-size:12px; line-height:1.5; white-space:nowrap; }
.dryer-site .selection-heading { flex-direction:column; align-items:flex-start; gap:12px; }
.dryer-site .selection-heading h2 { max-width:none; width:100%; overflow-wrap:normal; }
.dryer-site .selection-heading .home-selection-note { max-width:65ch; margin:0; }
.home-compare-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.home-compare-card { min-width:0; border:1px solid #dce3ef; border-radius:14px; padding:20px; background:#fff; }
.home-compare-card h3 { font-size:18px; line-height:1.35; margin:0 0 8px; }
.home-compare-card .compare-purpose { font-size:13px; color:#52617b; margin:0 0 16px; }
.home-compare-card dl { margin:0 0 18px; }
.home-compare-card dl > div { padding:9px 0; border-top:1px solid #edf0f6; }
.home-compare-card dt { font-size:12px; color:#52617b; }
.home-compare-card dd { margin:3px 0 0; font-size:15px; font-weight:650; color:#142342; }
.home-compare-card .shop-button { width:100%; padding:10px 12px; font-size:14px; }
@media(max-width:700px) {
 .home-compare-grid { grid-template-columns:1fr; }
 .home-compare-card dl > div { display:flex; justify-content:space-between; gap:14px; align-items:baseline; }
 .home-compare-card dd { text-align:right; }
 .dryer-site .selection-heading h2 { font-size:28px; line-height:1.22; }
}

.dryer-site .home-compare-card .compare-purpose { font-size:13px; line-height:1.5; margin:0 0 14px; min-height:39px; }
.dryer-site .home-compare-card dl > div { display:flex; justify-content:space-between; align-items:baseline; gap:10px; padding:8px 0; }
.dryer-site .home-compare-card dt { font-size:12px; line-height:1.5; max-width:62%; }
.dryer-site .home-compare-card dd { margin:0; font-size:14px; text-align:right; white-space:nowrap; }

/* Buying-guide comparison variants: long model names and source conditions. */
.dryer-site .guide-compare-grid .home-compare-card { display:flex; flex-direction:column; }
.dryer-site .guide-compare-grid .home-compare-card h3 { overflow-wrap:anywhere; }
.dryer-site .guide-compare-grid .home-compare-card .shop-action { margin-top:auto; }
.dryer-site .guide-compare-grid .home-compare-card dd { white-space:normal; max-width:48%; }
.dryer-site .comparison-background { margin-top:20px; }
@media(min-width:701px) { .guide-compare-grid:has(> :only-child) { grid-template-columns:minmax(0,1fr); max-width:560px; } }


/* Choice-guide invitation pilot. Shared stylesheet; homepage enabled by script. */
.choice-invite { position:fixed; right:28px; bottom:24px; z-index:90; width:330px; font-family:inherit; color:var(--navy,#142342); }
.choice-invite [hidden] { display:none!important; }
.choice-invite-card { position:relative; background:#fff; border:1px solid #dce5ef; border-radius:22px; padding:24px; box-shadow:0 18px 60px #14234226; margin-bottom:12px; animation:choice-invite-enter .5s cubic-bezier(.2,.8,.2,1) both; }
.choice-invite-close { position:absolute; top:8px; right:8px; width:44px; height:44px; border:0; border-radius:50%; background:transparent; color:#536581; font-size:25px; cursor:pointer; }
.choice-invite-art { display:flex; align-items:center; gap:12px; margin-bottom:16px; padding-right:16px; }
.choice-invite-art svg { flex:0 0 64px; background:#f3f6fc; border-radius:16px; padding:5px; box-sizing:border-box; }
.choice-invite-art span { font-size:11px; font-weight:700; background:#d9f79b; padding:6px 9px; border-radius:7px; }
.choice-invite-drum { transform-origin:36px 42px; animation:choice-drum 2s ease-in-out 2; }
.choice-invite-card h2 { margin:0 0 12px; font-size:25px; line-height:1.2; letter-spacing:-.7px; color:#142342; }
.choice-invite-card p { margin:0 0 20px; font-size:14px; line-height:1.65; color:#536581; }
.choice-invite-cta { display:flex; justify-content:space-between; align-items:center; min-height:44px; padding:10px 16px; border-radius:10px; box-sizing:border-box; background:#195cff; color:white; font-size:14px; font-weight:700; text-decoration:none; }
.choice-invite-cta:hover { background:#1047d5; color:white; }
.choice-invite-card small { display:block; text-align:center; font-size:10px; color:#63728b; margin-top:12px; }
.choice-invite-launch { margin-left:auto; display:flex; align-items:center; gap:12px; border:0; border-radius:999px; padding:12px 18px; min-height:44px; background:#142342; color:white;  font-family:inherit; font-size:13px; font-weight:700; cursor:pointer; box-shadow:0 6px 24px #14234226; }
.choice-invite-launch>span:first-child { color:#d9f79b; font-size:22px; line-height:1; }
.choice-invite :is(a,button):focus-visible { outline:3px solid #195cff; outline-offset:4px; }
@keyframes choice-invite-enter { from { opacity:0; transform:translateY(16px) scale(.97); } to { opacity:1; transform:none; } }
@keyframes choice-drum { 0%,100% { transform:rotate(-12deg); } 50% { transform:rotate(35deg); } }
@media(max-width:600px) { .choice-invite { right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); width:min(310px,calc(100vw - 24px)); } .choice-invite-card { padding:18px; border-radius:18px; } .choice-invite-art { margin-bottom:10px; } .choice-invite-art svg { width:48px; height:48px; flex-basis:48px; } .choice-invite-card h2 { font-size:23px; } .choice-invite-card p { margin-bottom:14px; font-size:13px; } .choice-invite-launch { padding:10px 16px; } }
@media(prefers-reduced-motion:reduce) { .choice-invite-card,.choice-invite-drum { animation:none; } }


/* Shared four-step choice cards, from Wasmachine-info. */
.wi-choice-embed{container-type:inline-size;margin-block:56px;padding:clamp(22px,4vw,48px);background:#f2f5fd;border:1px solid #dce4f5;border-radius:26px;color:#172f50;scroll-margin-top:30px;min-width:0}
.wi-choice-heading{max-width:690px;margin-bottom:30px}.wi-choice-heading h2{font-size:clamp(27px,3.2vw,42px);line-height:1.16;letter-spacing:-.045em;margin:0 0 13px}.wi-choice-heading p{color:#53657b;font-size:16px;line-height:1.65;margin:0}
.wi-choice-app{scroll-margin-top:24px;min-width:0}.wi-choice-app *{box-sizing:border-box}.wi-choice-app button{font:inherit;cursor:pointer}.wi-choice-app button:disabled{opacity:.4;cursor:not-allowed}.wi-choice-app button:focus-visible,.wi-choice-app a:focus-visible{outline:3px solid #215aff;outline-offset:4px}.wi-choice-progress{display:flex;gap:8px;padding:0 0 28px;margin-bottom:28px;border-bottom:1px solid #d8e2f3}.wi-choice-progress button{display:flex;align-items:center;justify-content:center;gap:9px;background:transparent;border:0;padding:8px 12px;color:#5b6e89;font-size:13px;font-weight:650;flex:1;min-width:0;border-radius:10px}.wi-choice-progress button>span{border:1px solid #b7c6dd;border-radius:50%;width:26px;height:26px;flex-shrink:0;display:grid;place-items:center;font-size:12px}.wi-choice-progress button[aria-current]{background:#e3ebff;color:#174bd0}.wi-choice-progress button[aria-current]>span{color:#fff;background:#215aff;border-color:#215aff}
.wi-choice-app fieldset{border:0;padding:0;margin:0;min-width:0}.wi-choice-app legend{font-family:Manrope,sans-serif;font-size:clamp(26px,3vw,38px);line-height:1.23;font-weight:750;letter-spacing:-.04em;margin:0 0 16px;padding:0;max-width:800px}.wi-choice-help{font-size:15px;line-height:1.8;color:#586980;max-width:730px;margin:0 0 26px}.wi-choice-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.wi-choice-option{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:26px 22px;background:#fff;border:2px solid #dce4f2;border-radius:17px;cursor:pointer;transition:border-color .16s,box-shadow .16s}.wi-choice-option:hover{border-color:#9bb5f8}.wi-choice-option:has(input:checked){border-color:#215aff;box-shadow:0 0 0 1px #215aff}.wi-choice-option:has(input:focus-visible){outline:3px solid #173255;outline-offset:4px}.wi-choice-option input{position:absolute;opacity:0;width:1px;height:1px}.wi-choice-check{position:absolute;right:18px;top:20px;width:19px;height:19px;border:1.5px solid #b8c6dc;border-radius:50%}.wi-choice-option input:checked~.wi-choice-check{border:6px solid #215aff}.wi-choice-art{width:72px;height:72px;color:#215aff;background:#f1f5ff;padding:9px;border-radius:15px;margin-bottom:23px}.wi-choice-option:has(input:checked) .wi-choice-art{background:#e5f2ac;color:#25491e}.wi-choice-option strong{font-size:19px;line-height:1.35;letter-spacing:-.025em;display:block;margin-bottom:11px}.wi-choice-description{font-size:13px;line-height:1.7;color:#64738a}.wi-choice-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px}.wi-choice-back{padding:12px 0;border:0;background:none;font-weight:650!important;color:#2453bb;display:flex;gap:7px;align-items:center}.wi-choice-count{font-size:12px;color:#65748b}.wi-choice-app .button{font-size:14px;text-decoration:none;display:inline-flex;justify-content:center;gap:9px}.wi-choice-bottom{border-top:1px solid #d8e2f3;margin-top:28px;padding-top:17px;display:flex;justify-content:space-between;align-items:center;gap:16px;color:#61718a;font-size:12px;line-height:1.6}.wi-choice-bottom button{border:0;background:none;color:#315891;font-size:12px;display:flex;gap:7px;align-items:center;padding:8px 0;text-align:left}.wi-choice-scope{color:#60718b;font-size:12px;line-height:1.7;margin:14px 0 0}
.wi-choice-result-heading h3{font-size:clamp(27px,3vw,38px);line-height:1.2;letter-spacing:-.04em;margin:0 0 16px}.wi-choice-result-heading p{font-size:15px;line-height:1.75;color:#5c6c81;max-width:780px}.wi-choice-recap{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.wi-choice-recap button{background:white;border:1px solid #d6dfef;border-radius:10px;padding:11px 13px;font-size:12px;line-height:1.5;text-align:left;color:#203f71;display:flex;align-items:center;gap:8px}.wi-choice-recap button>span{color:#67778f;font-size:11px}.wi-choice-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.wi-choice-product{background:#fff;border-radius:18px;border:1px solid #dce4f2;padding:22px;display:flex;flex-direction:column;min-width:0}.wi-choice-product-top{position:relative;padding-top:40px}.wi-choice-product-top img{display:block;width:100%;height:180px;object-fit:contain;margin-bottom:22px}.wi-choice-match{position:absolute;top:0;left:0;background:#edf5d2;color:#365920;padding:7px 10px;border-radius:7px;font-size:11px;font-weight:650}.wi-choice-match.is-partial{background:#fff0d7;color:#7b5118}.wi-choice-product h4{font-size:20px;line-height:1.3;letter-spacing:-.03em;margin:0 0 14px;overflow-wrap:anywhere}.wi-choice-product h4 a{color:#19335a;text-decoration:none}.wi-choice-product p{font-size:13px;line-height:1.75;color:#5b6b82;margin:0 0 16px}.wi-choice-product dl{border-block:1px solid #e4eaf3;padding:12px 0;margin:0 0 16px}.wi-choice-product dl div{display:flex;justify-content:space-between;gap:10px;padding:4px 0;font-size:12px}.wi-choice-product dt{color:#65758c}.wi-choice-product dd{margin:0;font-weight:700;white-space:nowrap}.wi-choice-price strong{display:block;font-size:25px;color:#19335a;letter-spacing:-.04em}.wi-choice-price small{display:block;font-size:11px;line-height:1.6;margin-top:5px}.wi-choice-warning{padding:14px 14px 14px 26px;margin:0 0 16px;border-radius:9px;background:#fff5e6;color:#795522;font-size:12px;line-height:1.7}.wi-choice-warning li+li{margin-top:7px}.wi-choice-caution{border-left:2px solid #d6e888;padding-left:12px}.wi-choice-product-actions{display:flex;flex-direction:column;gap:14px;margin-top:auto;padding-top:10px}.wi-choice-shop{color:#215aff;text-align:center;font-size:12px;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:7px}.wi-choice-method{border-top:1px solid #d8e2f3;padding-top:22px;margin-top:25px;font-size:13px;line-height:1.8;color:#5d6c82}.wi-choice-method summary{cursor:pointer;font-weight:650;color:#234473}.wi-choice-method a{color:#215aff}.wi-choice-affiliate{font-size:12px;line-height:1.75;color:#63748b;margin-top:20px}
@container(max-width:730px){.wi-choice-results{grid-template-columns:1fr}.wi-choice-product{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px 24px}.wi-choice-product-top{grid-row:span 7}.wi-choice-product-top img{height:180px}.wi-choice-product>*:not(.wi-choice-product-top){grid-column:2}.wi-choice-product h4,.wi-choice-product p,.wi-choice-product dl,.wi-choice-warning{margin-bottom:0}.wi-choice-option{padding:22px 16px}.wi-choice-option strong{font-size:17px}}
@container(max-width:520px){.wi-choice-progress{gap:3px;padding-bottom:18px;margin-bottom:24px}.wi-choice-progress button{flex-direction:column;font-size:11px;padding:6px 3px;gap:6px}.wi-choice-options{grid-template-columns:1fr;gap:10px}.wi-choice-option{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:15px;padding:17px 38px 17px 16px;align-items:center}.wi-choice-art{grid-row:span 2;width:56px;height:56px;padding:5px;margin:0}.wi-choice-option strong{font-size:17px;margin:0 0 5px}.wi-choice-description{font-size:12px;line-height:1.55}.wi-choice-check{right:13px;top:22px;width:17px;height:17px}.wi-choice-help{font-size:14px}.wi-choice-count{display:none}.wi-choice-app .button{font-size:12px;padding:14px 17px}.wi-choice-bottom{align-items:flex-start;gap:12px}.wi-choice-bottom>span{max-width:160px}.wi-choice-product{display:flex;gap:0;padding:22px}.wi-choice-product-top img{height:190px}.wi-choice-product h4,.wi-choice-product p,.wi-choice-product dl,.wi-choice-warning{margin-bottom:16px}.wi-choice-product-actions{margin-top:0}.wi-choice-recap button{font-size:11px}.wi-choice-heading{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.wi-choice-option{transition:none}}
.wi-choice-handoff{font-size:12px;line-height:1.65;color:#425e85;background:#e8efff;border-radius:10px;padding:13px 16px;margin:0 0 20px;max-width:760px}.wi-choice-loading{padding:50px 20px;text-align:center;color:#19335a;font-size:20px;min-height:180px;display:grid;place-items:center}

.wi-choice-app[data-choice-version] {scroll-margin-top:110px;min-width:0}
.wi-choice-app[data-choice-version] h3[data-question]{font-size:clamp(25px,3vw,36px);line-height:1.25;letter-spacing:-.035em;margin:0 0 16px;outline:none}
.wi-choice-app .cb-choice-answer{font:inherit;cursor:pointer;text-align:left;display:flex;flex-direction:column;align-items:flex-start;color:#fff;width:100%;background:#195cff;border-color:#195cff;box-shadow:0 5px 16px rgb(25 92 255 / 10%)}
.wi-choice-app .cb-choice-answer:hover{background:#124bd8;border-color:#124bd8}
.wi-choice-app .cb-choice-answer .wi-choice-art{color:#fff;background:rgb(255 255 255 / 14%)}
.wi-choice-app .cb-choice-answer:focus-visible{outline:3px solid #215aff;outline-offset:4px}
.wi-choice-app .cb-choice-answer[aria-pressed=true]{border-color:#172f50;background:#124bd8;box-shadow:inset 0 0 0 2px #d9f79b}
.wi-choice-app .wi-choice-progress button{color:#65748b;background:transparent;font-weight:500}
.wi-choice-app .wi-choice-progress button[aria-current]{background:#edf0f5;color:#344760;font-weight:650}
.wi-choice-app .wi-choice-progress button[aria-current]>span{background:#fff;border-color:#8b99ad;color:#344760}
.cb-choice-pick{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;color:#fff;font-size:13px;margin-top:auto;padding-top:12px}
.cb-choice-pick svg,.cb-choice-cta svg{height:20px;width:20px;flex-shrink:0}
.cb-choice-reset{border:0;background:none;color:#315891;font:inherit;font-size:12px;cursor:pointer;padding:12px}
.cb-choice-products{display:grid;gap:16px;margin-top:25px}
.cb-choice-product{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:20px;padding:22px;border:1px solid #dce4f2;border-radius:18px;background:#fff;text-decoration:none;color:#172f50;overflow:hidden}
.cb-choice-product[data-pos="1"]{background:#edf3ff;border:2px solid #215aff;box-shadow:0 8px 24px rgb(25 92 255 / 8%)}
.cb-choice-product:hover{border-color:#215aff}.cb-choice-product:focus-visible{outline:3px solid #215aff;outline-offset:3px}
.cb-choice-rank{grid-column:1/-1;display:flex;align-items:center;gap:12px;width:fit-content;padding:7px 16px 7px 7px;border-radius:30px;font-size:15px;font-weight:750;line-height:1.3;background:#edf0f5;color:#344760}
.cb-choice-rank-number{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:#fff;font-size:20px}
.cb-choice-product[data-pos="1"] .cb-choice-rank{background:#dcf89e;color:#173717}
.cb-choice-product[data-pos="2"] .cb-choice-rank{background:#e6edff;color:#194bb8}
.cb-choice-product img{width:120px;height:135px;object-fit:contain;background:white;border-radius:12px;padding:8px;box-sizing:border-box}
.cb-choice-info{display:grid;gap:9px;min-width:0}.cb-choice-info strong{font-size:20px;line-height:1.35;overflow-wrap:anywhere}.cb-choice-info span,.cb-choice-info small{font-size:13px;line-height:1.65;color:#51627c}
.cb-choice-cta{display:flex;align-items:center;justify-content:center;gap:10px;background:#215aff;color:white;padding:14px 17px;border-radius:10px;font-size:13px;font-weight:650;white-space:nowrap}
.wi-choice-app[data-phase="result"] .wi-choice-recap button{background:#fff;border-color:#d7e0ef;color:#344760}
@container (max-width:800px){.cb-choice-product{grid-template-columns:100px minmax(0,1fr);gap:14px}.cb-choice-product img{width:100px;height:120px}.cb-choice-cta{grid-column:1/-1}}
@container (max-width:500px){.wi-choice-app .wi-choice-options{grid-template-columns:1fr}.wi-choice-app .cb-choice-answer{display:grid;grid-template-columns:54px minmax(0,1fr);gap:5px 15px;padding:18px}.cb-choice-answer .wi-choice-art{width:54px;height:54px;margin:0;grid-row:1/3}.cb-choice-answer strong{font-size:17px;margin:0}.cb-choice-pick{grid-column:2;font-size:12px;padding:0}.cb-choice-product{grid-template-columns:70px minmax(0,1fr);padding:15px;gap:10px}.cb-choice-product img{width:70px;height:95px}.cb-choice-info strong{font-size:16px}.cb-choice-info span,.cb-choice-info small{font-size:12px}.cb-choice-cta{grid-column:1/-1;width:100%;box-sizing:border-box}.wi-choice-controls{flex-wrap:wrap}.cb-choice-reset{padding-inline:0}}

.cb-choice-answer strong{min-width:0;overflow-wrap:anywhere}
@container (max-width:300px){.wi-choice-app .cb-choice-answer{grid-template-columns:40px minmax(0,1fr);gap:5px 10px;padding:14px}.cb-choice-answer .wi-choice-art{width:40px;height:40px}.cb-choice-answer strong{font-size:16px}}

@container (max-width:300px){.cb-choice-product{grid-template-columns:70px minmax(0,1fr)}.cb-choice-product img{grid-column:1/-1;justify-self:center;width:100px;height:115px}.cb-choice-info{grid-column:1/-1}}

.choice-wizard-section {margin:32px auto;max-width:var(--page-width);background:#f6f8fc;}
 .choice-wizard-section h2[data-question]{font-size:clamp(24px,3vw,36px);line-height:1.25;margin:0 0 16px;outline:none;}
 .choice-wizard-section .cb-choice-info h3{font-size:19px;line-height:1.4;margin:0 0 10px;}
 .choice-match-list{list-style:none!important;padding:0!important;margin:14px 0!important;display:grid;gap:4px;}
 .choice-match-list li{font-size:13px;padding:0!important;}.choice-match-list li:before{content:none!important;}
 .choice-match-list .differs{color:#915000;}.choice-match-list .matches{color:#245540;}
 .choice-wizard-section .cb-choice-info small{display:block;font-size:11px;line-height:1.6;}
 .choice-wizard-section .cb-choice-cta{min-height:44px;text-decoration:none;font-size:14px;}
 .choice-wizard-section .wi-choice-progress button{min-height:44px;}
 .choice-wizard-section .cb-choice-rank{grid-column:1/-1;}
 @media(max-width:600px){.choice-wizard-section{padding:20px;margin:20px auto;}.choice-wizard-section .wi-choice-option{padding:16px;}.choice-wizard-section .cb-choice-pick{font-size:12px;}.choice-wizard-section .cb-choice-product{display:flex;flex-direction:column;align-items:stretch;}.choice-wizard-section .cb-choice-product img{align-self:center;width:140px;height:140px;object-fit:contain;}}
 
.choice-wizard-main{padding-top:32px}.choice-original-advice{margin-block:32px}.choice-original-advice>summary{cursor:pointer;font-weight:700;padding:16px 0}.choice-method{margin-bottom:32px}

.choice-wizard-section .cb-choice-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;white-space:nowrap;padding:12px 16px;min-width:145px;line-height:1.2;}

.choice-wizard-section .choice-redirect-note{font-size:13px;line-height:1.6;color:#52637a;margin:0 0 24px;max-width:76ch;}

/* Target identity and empty design slots; all shared component styles retained. */
.set-site .brand .logo-word{font-size:clamp(17px,1.7vw,25px);letter-spacing:-.7px;white-space:nowrap}
.set-site .basis-photo{display:flex;align-items:center;justify-content:center;min-height:110px;background:var(--light,#f3f6fc);border-radius:10px;color:var(--muted);font-size:12px}
.set-site .shop-button:disabled{opacity:.55;cursor:default}
@media(max-width:600px){.set-site .brand .logo-word{font-size:17px;letter-spacing:-.6px}.set-site .header-row{column-gap:10px}}

.set-site .hero-copy h1{hyphens:none;overflow-wrap:normal}
.set-site .footer-bottom a{margin-inline-end:16px}
@media(max-width:360px){.set-site .brand .logo-word{font-size:14.5px}}

/* Set manuscript presentation, within the inherited central design. */
.set-site .set-reading-list{padding-left:24px}
.set-site .set-reading-list>li{padding:9px 0 9px 6px;line-height:1.8}
.set-site .set-comparison-list{display:grid;gap:14px;list-style:none;padding:0}
.set-site .set-comparison-list>li{border:1px solid var(--line,#dce5ef);padding:20px;border-radius:12px}
.set-site .set-answer-panel{padding:28px;background:var(--light,#f3f6fc);border-radius:16px}
.set-site .selection-source-heading{color:var(--muted);font-size:15px}
.set-site .model-summary-copy .kerncijfers,.set-site .review-copy-paragraph{max-width:none}
.set-site .product-detail .review-heading{display:block}
.set-site .product-detail .review-heading h3{width:auto;min-width:0;font-size:clamp(21px,2.3vw,26px);line-height:1.35}
.set-site .set-keypoint{padding:22px 24px;border-left:4px solid var(--blue);border-radius:0 14px 14px 0;background:#f3f6fc;max-width:none}
.set-site .set-keypoint-dark{background:var(--navy,#172647);color:#fff;border-left-color:var(--lime,#d9f99d)}
.set-site .guide-content .set-keypoint-dark a{color:#d9f99d}
.set-site .guide-content .set-keypoint-dark strong{color:#fff}
.set-site .set-explain-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:26px 0}
.set-site .set-explain-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.set-site .set-explain-card{border:1px solid var(--line);border-top:3px solid var(--navy,#172647);padding:22px;border-radius:14px;background:#f6f8fc;min-width:0}
.set-site .set-explain-card p{margin:0;max-width:none;font-size:16px;line-height:1.8}
.set-site .set-checklist,.set-site .set-steps{list-style:none;padding:0;margin:26px 0;counter-reset:checks}
.set-site .set-checklist>li,.set-site .set-steps>li{position:relative;padding:17px 18px 17px 54px;border-bottom:1px solid var(--line);margin:0;line-height:1.8}
.set-site .set-checklist>li:before{content:'✓';position:absolute;left:18px;top:18px;color:var(--blue);font-weight:700}
.set-site .set-steps>li{counter-increment:checks}
.set-site .set-steps>li:before{content:counter(checks);position:absolute;left:14px;top:18px;background:var(--navy,#172647);color:#fff;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;font-size:14px;font-weight:650}
.set-site .set-flow{background:var(--navy,#172647);color:white;padding:28px;border-radius:18px;margin:30px 0}
.set-site .set-flow figcaption{font-size:21px;line-height:1.4;color:white;margin-bottom:24px}
.set-site .set-flow-row{margin:18px 0}.set-site .set-flow-row>strong{display:block;font-size:14px;margin-bottom:10px;color:#fff}
.set-site .set-flow-parts{display:flex;gap:8px}.set-site .set-flow-parts span{flex:var(--portion);min-width:0;background:#d9f99d;color:#1a2b3c;text-align:center;padding:12px 6px;border-radius:8px;font-size:14px}
.set-site .set-flow-parts b{font-size:20px}.set-site .set-flow>p{font-size:14px;line-height:1.7;color:#dbe4f5;margin:20px 0 0;max-width:none}
.set-site .set-focus-table thead th{background:var(--navy,#172647);color:white}
.set-site .guide-content .set-focus-table thead a{color:#fff;text-decoration-color:#b8ccf1}
.set-site .set-layout-option{border:1px solid var(--line);border-top:3px solid #172647;border-radius:16px;padding:24px;margin:26px 0;background:white}.set-site .set-layout-option>h3{margin-top:0}.set-site .set-layout-option>p:last-child{margin-bottom:0}
@media(max-width:600px){.set-site .set-layout-option{padding:19px}}
.set-site .set-routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0;list-style:none;margin:26px 0}.set-site .set-routes>li{border:1px solid var(--line);border-top:4px solid #172647;border-radius:14px;padding:20px;margin:0;font-size:16px;line-height:1.8;min-width:0;background:#f6f8fc}.set-site .set-routes>li>strong:first-child{display:block;margin-bottom:12px}
@media(max-width:700px){.set-site .set-routes{grid-template-columns:1fr}}
.set-site .set-path{margin:28px 0;padding:26px;border:1px solid var(--line);border-radius:18px;background:#f5f7fc}.set-site .set-path figcaption{font-size:21px;line-height:1.4;margin-bottom:22px}.set-site .set-path ol{display:flex;gap:20px;list-style:none;padding:0;margin:0}.set-site .set-path li{flex:1;min-width:0;position:relative;background:white;border-top:3px solid #172647;padding:18px;border-radius:10px;margin:0}.set-site .set-path li:not(:last-child):after{content:'→';position:absolute;right:-18px;top:35%;color:var(--blue)}.set-site .set-path li strong,.set-site .set-path li span{display:block;font-size:15px;line-height:1.6}.set-site .set-path li span{margin-top:8px;font-size:14px}.set-site .set-path>p{font-size:14px;line-height:1.7;margin:18px 0 0}
@media(max-width:600px){.set-site .set-path{padding:20px}.set-site .set-path ol{flex-direction:column}.set-site .set-path li:not(:last-child):after{content:'↓';right:50%;top:auto;bottom:-22px}}
.set-site .set-example-chart{margin:28px 0;padding:26px;border:1px solid var(--line);border-radius:18px;background:#f5f7fc}
.set-site .set-example-chart figcaption{font-size:21px;line-height:1.4;margin-bottom:12px}.set-site .set-example-chart .set-chart-scale,.set-site .set-example-chart .set-chart-note{font-size:14px;line-height:1.7;margin:12px 0;color:var(--muted)}
.set-site .set-chart-row{display:grid;grid-template-columns:180px minmax(0,1fr) 100px;gap:14px;align-items:center;margin:20px 0;font-size:14px}.set-site .set-chart-track{height:20px;background:#dfe6f1;border-radius:6px;overflow:hidden}.set-site .set-chart-track i{display:block;height:100%;width:var(--bar);background:#172647;border-radius:6px}.set-site .set-chart-row strong{font-size:15px;text-align:right}
@media(max-width:600px){.set-site .set-example-chart{padding:20px}.set-site .set-chart-row{grid-template-columns:minmax(0,1fr) 88px;gap:8px}.set-site .set-chart-row>span{grid-column:1/-1}}
.set-site .set-stack-diagram{padding:26px;border:1px solid var(--line);border-radius:18px;background:#f5f7fc;margin:28px 0}
.set-site .set-stack-diagram figcaption{font-size:21px;margin-bottom:22px}.set-site .set-stack-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center}
.set-site .set-stack-layers{display:grid;gap:7px}.set-site .set-stack-layers>div{display:flex;justify-content:space-between;gap:10px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:9px;font-size:14px}.set-site .set-stack-layers>div:nth-child(2){padding-block:9px;background:#172647;color:white}.set-site .set-stack-layers>div:nth-child(2) strong{color:white}
.set-site .set-stack-result>span{display:block;font-size:13px;color:var(--muted)}.set-site .set-stack-result>strong{display:block;font-size:28px;margin:8px 0}.set-site .set-stack-result>p{font-size:14px;margin:0;line-height:1.7}
@media(max-width:600px){.set-site .set-stack-layout{grid-template-columns:1fr}.set-site .set-stack-diagram{padding:20px}}
@media(max-width:700px){.set-site .set-explain-pair{grid-template-columns:minmax(0,1fr);gap:12px}.set-site .set-keypoint{padding:18px}.set-site .set-flow{padding:22px 18px}.set-site .set-flow figcaption{font-size:20px}.set-site .set-explain-card{padding:18px}}
@media(max-width:600px){.set-site .table-scroll .set-focus-table tbody tr{padding:16px}.set-site .table-scroll .set-focus-table tbody td,.set-site .table-scroll .set-focus-table tbody th{padding:8px 0;font-size:15px;font-weight:400;color:var(--navy,#172647);line-height:1.7}.set-site .table-scroll .set-focus-table tbody th{font-weight:650}.set-site .set-focus-table td:before{font-size:12px;font-weight:600;color:var(--muted)}}
.set-site .review-directory-card img{width:120px;height:120px;object-fit:contain;background:white}
.set-site .set-calculator{margin:28px 0;background:var(--dark,#142342);color:white;border-radius:18px;padding:28px}
.set-site .set-calculator h3{font-size:24px;color:white;margin:0 0 12px}
.set-site .set-calculator p{color:#d5deed;font-size:15px;line-height:1.7}
.set-site .set-calc-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}
.set-site .set-calc-inputs label{font-size:14px;font-weight:600;color:white}
.set-site .set-calc-inputs input{display:block;width:100%;height:46px;margin-top:8px;padding:10px 12px;background:white;border:1px solid #aab8d0;border-radius:9px;color:var(--dark);font:inherit;font-size:16px}
.set-site .set-calc-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px;background:var(--lime,#d9f79b);padding:20px;border-radius:12px;color:var(--dark)}
.set-site .set-calc-results span{display:block;font-size:13px;margin-bottom:5px}
.set-site .set-calc-results strong{font-size:24px;line-height:1.3}
.set-site .set-calc-results[hidden]{display:none}
.set-site .set-calculator .set-calc-error{color:#ffd6bd}
.set-site .set-calculator .set-calc-note{font-size:13px;margin-bottom:0}
@media(max-width:600px){.set-site .set-calculator{padding:20px}.set-site .set-calculator h3{font-size:22px}.set-site .set-calc-inputs{grid-template-columns:1fr}.set-site .set-answer-panel{padding:20px}}

/* Selection audit: independent short copy, individual chips and visible use-case roles. */
.set-site .selection-priorities{max-width:82ch;margin:14px 0 28px;font-size:15px;line-height:1.7;color:var(--ink,#172745)}
.set-site .pick-discussion-link{margin:0 0 12px;font-size:13px;line-height:1.5}
.set-site .pick-discussion-link p{margin:0}
.set-site .pick-discussion-link a{color:#2357ca;text-decoration:underline;text-underline-offset:3px}
.set-site .guide-content .set-choice-role{display:table;max-width:100%;margin:14px 0 20px;padding:7px 11px;border-radius:7px;background:#d9f99d;color:#243d15;font-size:14px;font-weight:650;line-height:1.5}
.set-site .review-product .spec-labels{margin:0 0 14px;justify-content:flex-start}
.set-site .set-flow-parts span{min-width:48px}
.set-site .model-summary-copy>.shop-button{display:inline-flex;max-width:100%;margin-top:16px}

@media(min-width:901px){
 .set-site .guide-compare-grid{row-gap:16px}
 .set-site .guide-compare-grid .home-compare-card{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:12px}
 .set-site .guide-compare-grid .home-compare-card h3,.set-site .guide-compare-grid .compare-purpose,.set-site .guide-compare-grid dl{margin:0}
}

/* The original hero / sidebar / invitation components, with longer paired model names. */
.set-site .hero-choice.site-shop{max-width:460px;grid-template-columns:86px minmax(0,1fr) 38px}
.set-site .hero-choice>img{width:86px;height:86px}
.set-site .hero-choice-label{white-space:normal;text-wrap:pretty}
.set-site .hero-choice-label::before{content:none}
.set-site .hero-choice-name{font-size:15px;line-height:1.4}
.set-site .scroll-recommendation .recommendation-label{white-space:normal;line-height:1.5}
.set-site .scroll-recommendation .choice-jump{display:block;font-size:12px;line-height:1.65;margin-top:12px}
.set-site .choice-wizard-section{box-sizing:border-box;width:calc(100% - 72px);max-width:calc(var(--page-width) - 72px)}
.set-site .choice-wizard-section .cb-choice-info>span{display:block;line-height:1.8}
.set-site .set-choice-review{grid-column:2/-1;color:var(--blue);font-size:13px;text-underline-offset:3px}
.set-site .choice-invite-card{max-height:calc(100dvh - var(--choice-obstruction,0px) - 110px);overflow-y:auto}
@media(max-width:900px){.set-site .choice-wizard-section{width:calc(100% - 40px);max-width:none}}
@media(max-width:600px){
 .set-site .hero-choice.site-shop{grid-template-columns:62px minmax(0,1fr) 32px;gap:10px;padding:12px}
 .set-site .hero-choice>img{width:62px;height:74px}
 .set-site .hero-choice-name{font-size:13px}
 .set-site .hero-choice-label{font-size:10px}
 .set-site .set-choice-review{align-self:center}
}

.set-site .choice-wizard-section .cb-choice-cta.site-shop{flex-direction:row;min-height:44px;align-self:center;padding:12px 16px;line-height:1.2}

/* Homepage, individual second pass: content-first advice, same shared visual system. */
.set-home-refined .home-selection-method{margin:0 0 26px;padding:16px 19px;border:1px solid var(--line);border-radius:12px;background:#f7f9fd;scroll-margin-top:110px}
.set-home-refined .home-selection-method summary{font-size:14px;font-weight:650;cursor:pointer;color:var(--dark)}
.set-home-refined .home-selection-method .selection-priorities{margin:12px 0 0;font-size:15px}
.set-home-refined .home-method-link{white-space:nowrap;color:var(--blue);text-underline-offset:3px}
.set-home-refined .selection-band>.wrap>p{max-width:88ch;font-size:14px;line-height:1.8;margin-bottom:26px;color:var(--muted)}
.set-home-refined .set-explain-card h3{font-size:18px;margin:0 0 12px;line-height:1.4}
.set-home-refined .home-fit{background:#f7f9fc}
.set-home-refined .home-fit strong{color:var(--dark)}
.set-home-refined .home-advice-steps{margin:24px 0 0}
.set-home-refined .home-advice-steps>li:before{background:var(--navy,#142342)}
.set-home-refined .home-advice-steps h3{line-height:1.45}
.set-home-refined .home-advice-steps p{font-size:16px;line-height:1.85}
.set-home-refined .set-focus-table.position-table td:nth-child(2){color:var(--ink,#172745);font-weight:400}
.set-home-refined .home-capacity-chart{margin:28px 0 34px}
.set-home-refined .home-capacity-chart>p{font-size:14px;line-height:1.75}
.set-home-refined .home-capacity-model{border-top:1px solid var(--line);padding:20px 0 0;margin:20px 0}
.set-home-refined .home-capacity-model h4{font-size:16px;line-height:1.6;margin:0 0 14px;font-weight:650;overflow-wrap:anywhere}
.set-home-refined .home-capacity-line{display:grid;grid-template-columns:65px minmax(0,1fr) 44px;gap:12px;align-items:center;margin:10px 0;font-size:13px}
.set-home-refined .home-capacity-line strong{font-size:14px;text-align:right;white-space:nowrap}
.set-home-refined .home-capacity-track{height:18px;background:#edf0f5;border-radius:4px;overflow:hidden}
.set-home-refined .home-capacity-track i{display:block;width:var(--bar);height:100%;background:var(--navy,#142342)}
.set-home-refined .home-capacity-track .dry{background:#195cff}
@media(max-width:600px){
 .set-home-refined .home-advice-steps>li{padding:22px 18px}
 .set-home-refined .home-advice-steps h3{padding-left:44px;min-height:32px;font-size:18px}
 .set-home-refined .home-advice-steps p{font-size:15px;line-height:1.85}
 .set-home-refined .home-capacity-line{grid-template-columns:49px minmax(0,1fr) 37px;gap:8px;font-size:12px}
 .set-home-refined .home-capacity-model h4{font-size:15px}
 .set-home-refined .home-capacity-chart{padding:20px}
}

/* Content-led finishing pass: original paragraphs remain intact. */
.set-reading-steps{margin-block:1.5rem 2rem}
.set-reading-steps>li>h3{font-size:1.08rem;line-height:1.45;margin:0 0 .7rem}
.set-reading-steps>li>p{margin:.55rem 0 0}
.set-reading-fit{margin-top:1.5rem}
.set-explain-card>h3{font-size:1.08rem;line-height:1.4;margin:0 0 .7rem;color:var(--navy,#142443)}
@media(max-width:700px){.set-reading-steps>li>h3{padding-left:44px;min-height:32px;display:flex;align-items:center}.set-reading-steps>li{padding:1rem}.set-reading-fit{gap:.75rem}}

.set-page-refined .home-selection-method{margin:0 0 26px;padding:16px 19px;border:1px solid var(--line);border-radius:12px;background:#f7f9fd;scroll-margin-top:110px}
.set-page-refined .home-selection-method summary{font-size:14px;font-weight:650;cursor:pointer;color:var(--dark)}
.set-page-refined .home-selection-method .selection-priorities{margin:12px 0 0;font-size:15px}
.set-page-refined .home-method-link{white-space:nowrap;color:var(--blue);text-underline-offset:3px}
.set-reading-steps>li:before{background:#172542}

.set-reading-facts{margin:1.6rem 0 2rem;border:1px solid var(--line);border-top:3px solid #172542;border-radius:14px;padding:22px;background:#f7f9fc}
.set-reading-facts figcaption{font-size:18px;font-weight:700;line-height:1.45;color:#172542;margin:0 0 20px}
.set-reading-facts dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0}
.set-reading-facts dl>div{border-left:2px solid #d9e1f0;padding-left:16px}
.set-reading-facts dt{font-size:14px;color:#52627d;line-height:1.5}
.set-reading-facts dd{font-size:23px;color:#172542;font-weight:700;margin:6px 0 0;line-height:1.35}
.set-reading-facts>p{font-size:14px!important;line-height:1.75!important;margin:20px 0 0!important;color:#52627d}
@media(max-width:700px){.set-reading-facts{padding:18px}.set-reading-facts dl{grid-template-columns:1fr;gap:15px}.set-reading-facts dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(80px,auto);gap:16px;align-items:center}.set-reading-facts dd{font-size:20px;margin:0;text-align:right}}

.set-device-pair{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px!important;padding:0!important}.set-device-pair>li{margin:0!important;padding:20px!important;min-width:0}.set-device-pair h3{font-size:18px}.set-device-pair p{font-size:15px!important;line-height:1.65!important}@media(max-width:700px){.set-device-pair{grid-template-columns:1fr}.set-device-pair>li{padding:18px!important}}

.set-device-links{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:20px 0}.set-device-links>a.button{width:auto;min-width:180px}.set-page-refined .ui-methode{background:#f7f9fc;border:1px solid var(--line)}

.set-page-refined .set-focus-table.position-table tbody tr>td{color:var(--text,#24344e);font-weight:400}.set-page-refined .set-focus-table tbody td strong{font-weight:700}

.set-merge{margin:28px 0;padding:26px;background:#172542;color:white;border-radius:16px}.set-merge figcaption{font-size:20px;font-weight:700;margin:0 0 24px;line-height:1.4}.set-merge-inputs{display:grid;grid-template-columns:1fr 1fr;gap:30px}.set-merge-inputs>div{background:white;color:#172542;border-radius:10px;padding:18px;text-align:center;position:relative}.set-merge-inputs span{display:block;font-size:14px;margin-top:6px;line-height:1.5}.set-merge-inputs>div:after{content:'↓';display:block;position:absolute;top:100%;left:calc(50% - 8px);color:#dcfa98;font-size:24px;line-height:34px}.set-merge-junction{margin-top:34px;border-top:2px solid #dcfa98;text-align:center;padding-top:18px}.set-merge-junction strong{display:block;color:#dcfa98;font-size:18px}.set-merge-junction span{display:block;font-size:15px;line-height:1.6;margin-top:8px}.set-merge>p{font-size:14px!important;line-height:1.75!important;color:#d5deed!important;margin:20px 0 0!important}@media(max-width:600px){.set-merge{padding:20px 16px}.set-merge-inputs{gap:12px}.set-merge-inputs>div{padding:14px 10px}.set-merge-inputs strong{font-size:14px;overflow-wrap:anywhere}.set-merge-inputs span{font-size:13px}}

.set-reading-stack{background:#f7f9fc!important}.set-reading-stack figcaption{font-weight:700;color:white;background:#172542;border-radius:9px;padding:14px 18px;line-height:1.45}.set-reading-stack .set-stack-result>strong{font-size:30px}.set-reading-stack .set-stack-result>p{font-size:14px;line-height:1.75}

.set-reading-chart figcaption{font-weight:700;color:#172542;line-height:1.45}.set-reading-chart{background:#f7f9fc!important;border-top:3px solid #172542}

/* Semantic review summary facts: retain each label and value. */
.dryer-site .model-summary-copy dl{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.dryer-site .model-summary-copy dl>div{background:#fff;border:1px solid #dce3ef;border-radius:9px;padding:10px 12px;flex:1 1 140px}
.dryer-site .model-summary-copy dt{font-size:.78rem;line-height:1.5;color:#52627e;margin:0 0 4px}
.dryer-site .model-summary-copy dd{font-size:.94rem;line-height:1.5;font-weight:650;color:#172544;margin:0}

/* Quiet flow variants retain readable text on a light surface. */
.set-page-refined .set-flow.set-reading-chart{color:var(--navy,#172644)}
.set-page-refined .set-flow.set-reading-chart figcaption,.set-page-refined .set-flow.set-reading-chart .set-flow-row>strong{color:var(--navy,#172644)}
.set-page-refined .set-flow.set-reading-chart>p{color:#53647b}


@media(max-width:700px){.set-reading-facts dl>div{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.set-reading-facts dt,.set-reading-facts dd{min-width:0;overflow-wrap:anywhere}}


.choice-method{padding-top:28px;padding-bottom:44px}.choice-method>h2{margin-bottom:22px}.choice-method-panels .set-explain-card h3{font-size:18px;line-height:1.45;margin:0 0 12px}.choice-method-panels .set-explain-card p{font-size:15px;line-height:1.85;margin:0}.choice-method-panels{gap:20px}


/* Reviewed editorial photography uses the central article rhythm. */
.set-editorial-photo{margin:30px 0 14px;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#f7f9fc}.set-editorial-photo>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.set-editorial-photo>figcaption{padding:14px 18px;color:#53647b;font-size:13px;line-height:1.65}.set-editorial-photo+.illustration-note{margin:0 0 30px}@media(max-width:700px){.set-editorial-photo{margin-top:24px;border-radius:12px}.set-editorial-photo>figcaption{padding:12px 14px}}


.selection-band .selection-updated{display:block;margin-bottom:8px;font-size:13px;line-height:1.6;color:#53647b}

