@font-face {
  font-family: Plex;
  src: url(/fonts/plex-sans.woff2) format("woff2");
  font-weight: 400 700;
  font-display: swap;
}
@font-face {
  font-family: Source;
  src: url(/fonts/source-sans.woff2) format("woff2");
  font-weight: 400 700;
  font-display: swap;
}
:root {
  --ink: #193958;
  --text: #243a4e;
  --muted: #586978;
  --blue: #2155b7;
  --pale: #edf3fc;
  --line: #dce3ea;
  --paper: #fff;
  --soft: #f7f9fb;
  --green: #326d5d;
  --radius: 7px;
  font-family: Source, Arial, sans-serif;
  color: var(--text);
  font-synthesis: none;
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
  font-size: 17px;
  line-height: 1.5;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: var(--paper);
}
button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}
button,
a,
input,
select,
textarea {
  -webkit-tap-highlight-color: transparent;
}
button,
a {
  touch-action: manipulation;
}
button {
  cursor: pointer;
}
a {
  color: var(--blue);
  text-underline-offset: 4px;
}
a:hover {
  text-decoration-thickness: 2px;
}
button:disabled {
  opacity: 0.6;
  cursor: wait;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid #b57716;
  outline-offset: 4px;
}
h1,
h2,
h3,
h4 {
  font-family: Plex, Arial, sans-serif;
  font-weight: 500;
  color: var(--ink);
  line-height: 1.2;
  letter-spacing: -0.035em;
  margin: 0 0 20px;
  overflow-wrap: anywhere;
}
h1 {
  font-size: clamp(36px, 3.8vw, 58px);
  letter-spacing: -0.05em;
  line-height: 1.12;
}
h1 em {
  font-style: normal;
  color: var(--blue);
  font-weight: 400;
}
h2 {
  font-size: clamp(25px, 2.1vw, 34px);
}
h3 {
  font-size: 21px;
}
p {
  margin: 0 0 20px;
}
small,
.fine {
  font-size: 15px;
  line-height: 1.5;
  color: var(--muted);
}
code {
  font:
    13px ui-monospace,
    Consolas,
    monospace;
  overflow-wrap: anywhere;
}
.eyebrow {
  font-size: 13px;
  letter-spacing: 0.13em;
  font-weight: 700;
  color: var(--blue);
  margin: 0 0 14px;
}
.lead {
  font-size: 21px;
  max-width: 760px;
  color: var(--muted);
  line-height: 1.55;
}
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  clip: rect(0, 0, 0, 0) !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}
.skip-link {
  position: fixed;
  top: -100px;
  left: 20px;
  z-index: 100;
  background: #fff;
  padding: 12px;
}
.skip-link:focus {
  top: 10px;
}
[hidden] {
  display: none !important;
}
.data-disclosure {
  text-align: center;
  font-size: 14px;
  letter-spacing: 0.015em;
  padding: 6px 15px;
  color: #4e6072;
  background: #f1f5f9;
  border-bottom: 1px solid var(--line);
}
.site-header {
  height: 91px;
  display: flex;
  align-items: center;
  gap: 32px;
  padding: 0 max(32px, calc((100vw - 1320px) / 2));
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  background: #fffffffa;
  z-index: 20;
}
.brand {
  display: inline-flex;
  flex-shrink: 0;
}
.brand img {
  width: 216px;
  height: auto;
  display: block;
}
.site-header nav {
  display: flex;
  gap: 26px;
  margin-left: auto;
  align-items: center;
}
.site-header nav a {
  color: var(--text);
  font-size: 16px;
  text-decoration: none;
  white-space: nowrap;
}
.site-header nav a[aria-current] {
  color: var(--blue);
}
.site-header nav a[aria-current]:after {
  content: "";
  display: block;
  background: var(--blue);
  height: 2px;
  position: relative;
  bottom: -33px;
}
.header-actions {
  display: flex;
  align-items: center;
  gap: 20px;
}
.language {
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}
.menu-button {
  display: none;
}
.button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  border: 1px solid transparent;
  padding: 13px 20px;
  border-radius: var(--radius);
  font-weight: 600;
  text-decoration: none;
  line-height: 1.2;
  font-size: 16px;
  background: #fff;
  min-height: 46px;
}
.button.primary {
  color: #fff;
  background: var(--blue);
  border-color: var(--blue);
}
.button.primary:hover {
  background: #19418d;
}
.button.secondary {
  border-color: #b8c9de;
  color: var(--ink);
  background: #fff;
}
.button.secondary:hover {
  background: var(--pale);
}
.button.small {
  padding: 10px 13px;
  font-size: 15px;
  min-height: 40px;
}
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  font-size: 16px;
  margin-right: 20px;
  margin-top: 10px;
}
.text-button {
  background: none;
  border: none;
  color: var(--blue);
  font-size: 15px;
  padding: 8px 0;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.back-link {
  display: inline-block;
  margin-top: 30px;
  font-size: 15px;
  text-decoration: none;
}
main {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 0 72px;
  min-height: 65vh;
}
.home-intro {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 100px;
  padding: 52px 0 36px;
  align-items: center;
  border-bottom: 1px solid var(--line);
}
.home-intro h1 {
  font-size: clamp(38px, 3.4vw, 52px);
  margin-bottom: 18px;
}
.home-intro p:not(.eyebrow) {
  max-width: 630px;
  font-size: 17px;
  color: var(--muted);
  line-height: 1.6;
  margin-bottom: 0;
}
.hero-evidence {
  border-left: 1px solid var(--line);
  padding: 5px 0 5px 38px;
}
.hero-evidence > a {
  display: block;
  font-size: 15px;
  margin-top: 18px;
  max-width: 340px;
  text-decoration: none;
}
.source-flow {
  list-style: none;
  display: flex;
  gap: 18px;
  padding: 0;
  margin: 0;
  counter-reset: step;
}
.source-flow li {
  flex: 1;
  position: relative;
  padding-top: 17px;
  border-top: 1px solid #a7bbd8;
  min-width: 0;
}
.source-flow li > span {
  display: block;
  font-size: 13px;
  color: var(--blue);
  margin-bottom: 10px;
  font-weight: 600;
}
.source-flow li strong {
  display: block;
  font-size: 16px;
  font-weight: 600;
}
.source-flow li small {
  display: block;
  font-size: 14px;
  margin-top: 3px;
}
.hero-evidence .source-flow li:not(:last-child):after {
  content: "→";
  position: absolute;
  right: 0;
  top: 10px;
  font-size: 15px;
  color: var(--blue);
}
.page-intro {
  padding: 55px 0 35px;
  max-width: 1030px;
}
.page-intro .lead {
  margin-bottom: 0;
}
.directory-section {
  padding-top: 31px;
}
.section-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 22px;
}
.section-heading h2 {
  font-size: 27px;
  margin: 0;
}
.section-heading .eyebrow {
  margin-bottom: 7px;
}
.count-label {
  font-size: 15px;
  color: var(--muted);
}
.directory-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 32px;
}
.filter-bar {
  display: flex;
  gap: 12px;
  align-items: end;
  padding: 18px;
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.filter-bar > label:not(.search-field) {
  width: 185px;
}
.filter-bar label > span:not(.sr-only),
.advanced-filters label > span,
.field > span,
.compare-picker label > span {
  display: block;
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 6px;
}
.filter-bar > button {
  flex-shrink: 0;
  height: 45px;
}
.search-field {
  position: relative;
  display: flex;
  flex: 1;
  min-width: 100px;
  align-items: center;
}
.search-field input {
  padding-left: 15px;
  padding-right: 35px;
}
.search-field > span:not(.sr-only) {
  position: absolute;
  right: 13px;
  font-size: 25px;
  pointer-events: none;
  color: var(--muted);
}
input:not([type="checkbox"]),
select,
textarea {
  border: 1px solid #b8c6d2;
  border-radius: 5px;
  background: #fff;
  max-width: 100%;
  padding: 10px 12px;
  min-height: 45px;
  width: 100%;
  font-size: 16px;
}
input[type="search"]::-webkit-search-cancel-button {
  cursor: pointer;
}
select {
  padding-right: 25px;
}
textarea {
  resize: vertical;
}
.filter-bar .search-field {
  padding-top: 25px;
}
.advanced-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  padding: 20px;
  border: 1px solid var(--line);
  border-top: 0;
  background: var(--soft);
}
.result-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 19px 0 14px;
  gap: 15px;
}
.result-toolbar > div {
  display: flex;
  gap: 17px;
  align-items: center;
  font-size: 15px;
}
.result-toolbar select {
  font-size: 15px;
  min-height: 36px;
  padding: 6px 25px 6px 9px;
}
.active-filters {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.active-filters:empty {
  display: none;
}
.filter-chip {
  border: 1px solid #b8c9de;
  background: var(--pale);
  border-radius: 4px;
  font-size: 14px;
  padding: 5px 9px;
  margin-bottom: 12px;
}
.vendor-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}
.vendor-table th {
  font-size: 13px;
  color: var(--muted);
  font-weight: 600;
  text-align: left;
  padding: 12px 8px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #f8fafc;
  white-space: nowrap;
}
.vendor-table th:first-child {
  padding-left: 12px;
}
.vendor-table th button {
  font: inherit;
  border: none;
  background: none;
  padding: 3px 0;
  color: inherit;
}
.vendor-table th[aria-sort] {
  color: var(--blue);
}
.vendor-table td {
  padding: 19px 8px;
  border-bottom: 1px solid var(--line);
  vertical-align: middle;
}
.vendor-table td:first-child {
  padding-left: 12px;
  width: 29%;
}
.vendor-table tbody tr:hover {
  background: #f8fafd;
}
.vendor-identity {
  display: flex;
  gap: 11px;
  align-items: center;
}
.vendor-avatar {
  display: inline-flex;
  width: 35px;
  height: 35px;
  border: 1px solid #c4d3e6;
  background: #edf3fc;
  border-radius: 7px;
  align-items: center;
  justify-content: center;
  color: var(--ink);
  font-family: Plex, sans-serif;
  font-size: 15px;
  flex-shrink: 0;
  font-weight: 500;
  letter-spacing: -0.07em;
}
.vendor-identity > div {
  min-width: 0;
}
.vendor-name {
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
  color: var(--ink);
  display: block;
  white-space: nowrap;
}
.vendor-table small {
  display: block;
  font-size: 13px;
  color: var(--muted);
  margin-top: 3px;
}
.vendor-note {
  font-size: 13px;
  color: var(--muted);
  margin: 6px 0 0 46px;
}
.vendor-table td > strong {
  font-size: 16px;
  font-weight: 600;
}
.mini-track {
  display: block;
  height: 3px;
  width: 50px;
  background: #e8edf4;
  margin-top: 6px;
}
.mini-track i {
  display: block;
  background: #7896bf;
  height: 100%;
}
.score-value {
  font-family: Plex, sans-serif;
  color: var(--ink);
  font-size: 26px;
  letter-spacing: -0.06em;
  font-weight: 500;
  white-space: nowrap;
}
.score-value small {
  font-family: Source, sans-serif;
  display: inline;
  font-size: 13px;
  font-weight: 400;
  color: var(--muted);
  letter-spacing: 0;
}
.score-button {
  border: 0;
  background: transparent;
  text-align: left;
  padding: 6px 0;
  text-decoration: underline;
  text-decoration-color: #c0cfe4;
  text-underline-offset: 5px;
}
.not-rated {
  display: inline-block;
  max-width: 90px;
  line-height: 1.3;
  font-size: 14px;
  color: #7b5b26;
  font-weight: 600;
}
.selection-cell {
  text-align: center;
}
.selection-cell label {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  cursor: pointer;
}
.selection-cell label span {
  display: none;
}
input[type="checkbox"] {
  width: 17px;
  height: 17px;
  accent-color: var(--blue);
  flex-shrink: 0;
}
.table-footnote {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
  color: var(--muted);
  margin: 15px 0;
}
.table-footnote a {
  white-space: nowrap;
}
.weights {
  border-top: 3px solid var(--blue);
  background: var(--soft);
  padding: 21px 18px;
}
.weights-title > span {
  font-size: 12px;
  letter-spacing: 0.12em;
  color: var(--blue);
  font-weight: 700;
}
.weights-title > strong {
  font-family: Plex, sans-serif;
  font-weight: 400;
  font-size: 41px;
  letter-spacing: -0.07em;
  display: block;
  margin: 4px 0 25px;
}
.weights-title > strong > span {
  font-family: Source, sans-serif;
  letter-spacing: 0;
  font-size: 15px;
  color: var(--muted);
}
.weight-row {
  display: grid;
  grid-template-columns: 17px 1fr 20px;
  gap: 8px;
  margin: 0 0 17px;
  align-items: center;
  font-size: 14px;
}
.weight-row > span {
  font-size: 12px;
  color: var(--muted);
}
.weight-row b {
  font-weight: 600;
  text-align: right;
}
.weight-row i {
  display: block;
  height: 3px;
  margin-top: 5px;
  background: #dce5f3;
  position: relative;
}
.weight-row i:after {
  content: "";
  display: block;
  width: calc(var(--value) * 2.85);
  max-width: 100%;
  height: 100%;
  background: var(--blue);
}
.weights .fine {
  font-size: 13px;
  margin: 24px 0 0;
}
.aside-note {
  padding: 26px 0;
  border-bottom: 1px solid var(--line);
}
.aside-note h2,
.aside-note h3 {
  font-size: 21px;
  letter-spacing: -0.025em;
}
.aside-note p {
  font-size: 16px;
  color: var(--muted);
}
.aside-note .eyebrow {
  font-size: 12px;
}
.aside-note .text-link {
  font-size: 15px;
  margin: 0;
}
.empty-state {
  padding: 50px 20px;
  text-align: center;
  background: var(--soft);
  border: 1px solid var(--line);
}
.empty-state > span {
  display: block;
  color: var(--blue);
  font-size: 38px;
}
.empty-state h3 {
  margin-bottom: 10px;
}
.empty-state p {
  color: var(--muted);
  font-size: 16px;
}
.editorial-feature {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 65px;
  align-items: center;
  margin: 70px 0;
}
.research-photo {
  margin: 0;
}
.research-photo img {
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  object-fit: cover;
  display: block;
  border-radius: 3px;
}
.research-photo figcaption {
  font-size: 12px;
  color: var(--muted);
  margin-top: 8px;
}
.editorial-feature > div > h2 {
  font-size: 35px;
  margin-top: 10px;
}
.editorial-feature > div > p:not(.eyebrow) {
  font-size: 18px;
  color: var(--muted);
  line-height: 1.65;
}
.editorial-feature.reverse .research-photo {
  grid-column: 2;
  grid-row: 1;
}
.editorial-feature.reverse > div {
  grid-column: 1;
  grid-row: 1;
}
.editorial-feature.compact {
  margin-top: 20px;
}
.knowledge-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 42px;
  border-top: 1px solid var(--line);
  padding: 40px 0;
}
.index-number {
  font-size: 14px;
  color: var(--blue);
  letter-spacing: 0.08em;
  display: block;
  margin-bottom: 22px;
}
.knowledge-grid h2 {
  font-size: 26px;
  max-width: 300px;
}
.knowledge-grid p {
  color: var(--muted);
  font-size: 17px;
}
.knowledge-grid .text-link {
  font-size: 15px;
}
.listing-cta {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  align-items: center;
  background: var(--pale);
  border-top: 1px solid #c3d4ee;
  padding: 36px 40px;
  margin-top: 45px;
}
.listing-cta h2 {
  font-size: 32px;
  margin: 0 0 10px;
}
.listing-cta p:not(.eyebrow) {
  font-size: 16px;
  color: var(--muted);
  margin: 0;
  max-width: 620px;
}
.listing-cta .button {
  flex-shrink: 0;
}
.site-footer {
  border-top: 1px solid var(--line);
  background: var(--soft);
  padding: 50px max(32px, calc((100vw - 1320px) / 2)) 20px;
}
.footer-top {
  display: grid;
  grid-template-columns: 1.6fr repeat(3, 1fr);
  gap: 35px;
}
.footer-top .brand {
  margin-bottom: 20px;
}
.footer-top .brand img {
  width: 216px;
}
.footer-top p {
  font-size: 16px;
  line-height: 1.65;
  max-width: 280px;
  color: var(--muted);
}
.footer-top p.fine {
  font-size: 14px;
  max-width: 250px;
}
.footer-top h2 {
  font-family: Source, sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  margin: 11px 0 22px;
}
.footer-link {
  display: block;
  color: var(--muted);
  font-size: 15px;
  text-decoration: none;
  margin-bottom: 12px;
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: var(--muted);
  padding-top: 23px;
  margin-top: 35px;
  border-top: 1px solid var(--line);
}
.footer-bottom a {
  color: var(--muted);
}
.panel {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 30px;
  margin-bottom: 25px;
  min-width: 0;
}
.panel h2 {
  font-size: 27px;
}
.panel > h2:not(:first-child) {
  margin-top: 34px;
}
.readable {
  max-width: 920px;
}
.panel.readable {
  margin-top: 0;
}
.panel p,
.panel li {
  line-height: 1.65;
}
.content-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 40px;
  align-items: start;
}
.content-columns > *,
.directory-layout > *,
.editorial-feature > *,
.product-intro > * {
  min-width: 0;
}
.content-columns > aside {
  position: sticky;
  top: 115px;
}
.profile-intro {
  display: flex;
  align-items: center;
  gap: 22px;
  margin: 35px 0;
}
.vendor-avatar.large {
  width: 75px;
  height: 75px;
  font-size: 29px;
}
.profile-intro h1 {
  font-size: 43px;
  margin: 0 0 8px;
}
.profile-intro .eyebrow {
  margin-bottom: 10px;
}
.profile-intro p:not(.eyebrow) {
  color: var(--muted);
  margin: 0;
}
.profile-intro .button {
  margin-left: auto;
}
.profile-summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--line);
  border-left: 3px solid var(--blue);
  padding: 20px 10px;
}
.profile-summary > div {
  padding: 0 25px;
  border-right: 1px solid var(--line);
}
.profile-summary > div:last-child {
  border: 0;
}
.profile-summary > div > span:first-child {
  display: block;
  color: var(--muted);
  font-size: 14px;
  margin-bottom: 8px;
}
.profile-summary strong {
  font-family: Plex, sans-serif;
  font-size: 25px;
  font-weight: 400;
  color: var(--ink);
  letter-spacing: -0.03em;
}
.section-nav {
  display: flex;
  gap: 30px;
  margin: 20px 0 30px;
  border-bottom: 1px solid var(--line);
  padding: 15px 0;
}
.section-nav a {
  font-size: 15px;
  text-decoration: none;
}
.facts {
  margin: 0;
}
.facts > div {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 25px;
  padding: 14px 0;
  border-bottom: 1px solid #e8edf3;
}
.facts > div:last-child {
  border: 0;
}
.facts dt {
  font-size: 15px;
  color: var(--muted);
}
.facts dd {
  margin: 0;
  font-size: 16px;
  overflow-wrap: anywhere;
}
.facts dd small {
  display: block;
  font-size: 14px;
}
.panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  margin-bottom: 10px;
}
.panel-heading .score-value {
  font-size: 48px;
}
.panel-heading h2 {
  margin-bottom: 10px;
}
.breakdown {
  margin: 25px 0;
}
.breakdown-row {
  margin: 20px 0;
}
.breakdown-row > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font-size: 15px;
}
.breakdown-row strong {
  font-weight: 400;
}
.breakdown-row > small {
  font-size: 13px;
}
.score-track {
  height: 6px;
  background: #edf1f6;
  margin: 7px 0 2px;
  overflow: hidden;
}
.score-track i {
  display: block;
  height: 100%;
  background: var(--blue);
}
.score-track.incomplete {
  background: repeating-linear-gradient(
    135deg,
    #f8fafc,
    #f8fafc 4px,
    #dce4ef 4px 6px
  );
}
.notice {
  border-left: 3px solid #9bb5db;
  background: #f1f5fb;
  color: #3b526b;
  padding: 15px 18px;
  font-size: 15px;
  line-height: 1.6;
}
.notice.draft {
  border-color: #a37b30;
  background: #faf6ed;
  color: #70511e;
}
.notice strong {
  font-weight: 600;
}
.notice li {
  margin-bottom: 8px;
}
.notice li:last-child {
  margin-bottom: 0;
}
.source-link {
  display: flex;
  justify-content: space-between;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
  text-decoration: none;
  gap: 12px;
}
.source-link span {
  font-size: 13px;
  color: var(--muted);
}
.table-scroll {
  overflow: auto;
}
.data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
  text-align: left;
}
.data-table caption {
  text-align: left;
  font-size: 15px;
  color: var(--muted);
  padding-bottom: 14px;
}
.data-table th {
  font-weight: 600;
  background: var(--soft);
  padding: 13px 12px;
  border-block: 1px solid var(--line);
  font-size: 15px;
}
.data-table td {
  border-bottom: 1px solid var(--line);
  padding: 17px 12px;
  vertical-align: top;
}
.data-table small {
  display: block;
  font-size: 13px;
}
.data-table a {
  font-weight: 600;
  text-decoration: none;
}
.timeline {
  list-style: none;
  margin: 25px 0;
  padding: 0;
}
.timeline li {
  display: flex;
  gap: 18px;
  position: relative;
  padding-bottom: 28px;
}
.timeline li:last-child {
  padding-bottom: 0;
}
.timeline li > span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 29px;
  height: 29px;
  border: 1px solid #b6c9e3;
  border-radius: 50%;
  flex-shrink: 0;
  color: var(--blue);
  font-size: 14px;
  background: #fff;
  position: relative;
  z-index: 1;
}
.timeline li:not(:last-child):before {
  content: "";
  height: 100%;
  width: 1px;
  position: absolute;
  top: 15px;
  left: 14px;
  background: var(--line);
}
.timeline li strong {
  font-size: 16px;
  font-weight: 600;
}
.timeline li p {
  font-size: 15px;
  color: var(--muted);
  margin: 6px 0 0;
}
.timeline code {
  font-size: 13px;
}
.formula {
  padding: 25px 15px;
  background: var(--pale);
  color: var(--blue);
  font-family: Plex, sans-serif;
  font-size: 30px;
  text-align: center;
  margin-bottom: 25px;
}
.formula sub {
  font-size: 15px;
}
.method-rules > div {
  margin-top: 26px;
  padding-bottom: 23px;
  border-bottom: 1px solid var(--line);
}
.method-rules dt {
  color: var(--ink);
  font-family: Plex, sans-serif;
  font-weight: 500;
  font-size: 18px;
  margin-bottom: 10px;
}
.method-rules dd {
  margin: 0;
  font-size: 16px;
  line-height: 1.65;
  color: var(--muted);
}
.check-list {
  padding-left: 20px;
}
.check-list li {
  margin-bottom: 17px;
}
.process-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 45px;
  border-block: 1px solid var(--line);
  padding: 40px 0;
}
.process-grid h2 {
  font-size: 22px;
}
.process-grid p {
  font-size: 16px;
  color: var(--muted);
  margin: 0;
}
.process-grid .index-number {
  margin-bottom: 15px;
}
.source-register {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 30px;
}
.source-register > a {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--line);
  padding: 17px 0;
  text-decoration: none;
  align-items: center;
  font-size: 15px;
}
.source-register > a > span:last-child {
  font-size: 13px;
  color: var(--muted);
}
.source-register code {
  font-size: 13px;
}
.product-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  margin: 20px 0 55px;
}
.product-intro h2 {
  font-size: 33px;
}
.product-intro p {
  font-size: 19px;
  color: var(--muted);
}
.product-intro .research-photo img {
  aspect-ratio: 16/9;
}
.product-register .search-field {
  max-width: 310px;
  flex: none;
}
.product-row {
  display: grid;
  grid-template-columns: 70px 1fr 150px;
  gap: 25px;
  padding: 30px 0;
  border-top: 1px solid var(--line);
  align-items: center;
}
.product-number {
  font-family: Plex, sans-serif;
  font-size: 40px;
  color: #617b9b;
  font-weight: 400;
  letter-spacing: -0.06em;
}
.product-row h3 {
  margin: 0 0 10px;
  font-size: 27px;
}
.product-row h3 a {
  text-decoration: none;
  color: var(--ink);
}
.product-row p {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
}
.product-row .eyebrow {
  font-size: 12px;
  margin-bottom: 10px;
}
.product-row > div:last-child {
  text-align: right;
}
.product-row > div:last-child > strong {
  display: block;
  font-family: Plex;
  font-size: 34px;
  font-weight: 400;
  color: var(--blue);
}
.product-row > div:last-child > small {
  font-size: 14px;
}
.comparison-section {
  max-width: 100%;
}
.compare-picker {
  display: flex;
  align-items: end;
  gap: 12px;
  max-width: 520px;
}
.compare-picker label {
  flex: 1;
}
.compare-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 30px 0 20px;
  gap: 20px;
}
.checkbox {
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: 16px;
  cursor: pointer;
}
.comparison-scroll {
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  scroll-behavior: smooth;
}
.comparison-table {
  min-width: 740px;
  table-layout: fixed;
}
.comparison-table th:first-child,
.comparison-table td:first-child {
  width: 190px;
  position: sticky;
  left: 0;
  z-index: 2;
  background: #f6f8fb;
}
.comparison-table th {
  width: 240px;
  vertical-align: top;
  padding: 22px 20px;
  background: #edf3fc;
}
.comparison-table th h2 {
  font-size: 21px;
  margin-top: 14px;
}
.comparison-table td {
  padding: 19px 20px;
}
.comparison-table .remove-vendor {
  font-size: 14px;
  background: none;
  border: 0;
  color: var(--blue);
  padding: 5px 0;
  text-decoration: underline;
}
.comparison-table .score-value {
  font-size: 32px;
}
.compare-mobile-nav {
  display: flex;
  gap: 8px;
  margin-bottom: 15px;
  flex-wrap: wrap;
}
.compare-mobile-nav button {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 4px;
  font-size: 14px;
  padding: 8px;
  color: var(--blue);
}
.compare-empty {
  padding: 45px;
  background: var(--soft);
  margin-top: 25px;
}
.compare-empty p {
  color: var(--muted);
}
.application-layout {
  display: grid;
  grid-template-columns: 270px minmax(0, 760px);
  gap: 50px;
  align-items: start;
}
.application-layout > aside {
  min-width: 0;
}
.application-steps {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
}
.application-steps li {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 16px;
  padding: 15px 10px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
}
.application-steps li > span {
  font-size: 14px;
  width: 25px;
  height: 25px;
  border: 1px solid var(--line);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.application-steps li[aria-current] {
  color: var(--blue);
  background: var(--pale);
  font-weight: 600;
}
.application-steps li[aria-current] > span {
  background: var(--blue);
  color: #fff;
  border-color: var(--blue);
}
.draft-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 15px 0 25px;
  gap: 20px;
}
.draft-controls .fine,
.draft-controls .text-button {
  font-size: 14px;
}
.field {
  display: block;
  margin: 20px 0;
}
.field > span {
  font-size: 15px;
}
.agreement {
  align-items: flex-start;
  margin: 25px 0;
  line-height: 1.65;
}
.agreement input {
  margin-top: 4px;
}
.form-actions {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-top: 24px;
  margin-top: 25px;
  border-top: 1px solid var(--line);
}
.form-errors:not(:empty) {
  border-left: 3px solid #a3453a;
  background: #fff2ef;
  padding: 12px 15px;
  margin-top: 20px;
  color: #88382f;
  font-size: 15px;
}
.honeypot {
  position: absolute;
  left: -10000px;
  visibility: hidden;
}
.submission-success {
  padding: 20px 0;
}
.submission-success h2 {
  font-size: 34px;
}
.submission-success code {
  display: block;
  padding: 15px;
  background: var(--pale);
  margin-bottom: 20px;
}
.case-facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px 35px;
}
.case-facts > div:first-child {
  grid-column: 1/-1;
}
.case-facts dt {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 7px;
}
.case-facts dd {
  font-size: 16px;
  margin: 0;
  line-height: 1.65;
}
.incident .panel-heading {
  align-items: start;
}
.incident .panel-heading > span {
  font-size: 14px;
  color: var(--blue);
  flex-shrink: 0;
}
.incident details {
  font-size: 15px;
  margin-top: 20px;
}
.incident details p {
  margin-top: 15px;
}
.correction-diff {
  display: flex;
  align-items: center;
  gap: 40px;
  background: var(--soft);
  padding: 20px;
  margin-bottom: 20px;
}
.correction-diff > div > span {
  display: block;
  font-size: 12px;
  color: var(--muted);
  letter-spacing: 0.08em;
  margin-bottom: 7px;
}
.correction-diff strong {
  font-family: Plex, sans-serif;
  font-size: 27px;
  font-weight: 400;
}
.workflow-record {
  border-top: 1px solid var(--line);
  padding: 20px 0;
}
.workflow-record h3 {
  font-size: 22px;
}
.workflow-record form {
  max-width: 650px;
}
.workflow-record details {
  margin: 20px 0;
}
.audit-list {
  list-style: none;
  padding: 0;
}
.audit-list li {
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
}
.audit-list span {
  font-size: 14px;
  color: var(--muted);
  margin-left: 20px;
}
.audit-list p {
  font-size: 15px;
  margin: 10px 0;
}
.local-editor-link {
  position: fixed;
  bottom: 15px;
  left: 15px;
  z-index: 21;
  font-size: 13px;
  padding: 7px 10px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 4px;
  box-shadow: 0 2px 10px #1939580a;
}
#comparison-tray {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translate(-50%);
  width: min(740px, calc(100% - 40px));
  background: #fff;
  border: 1px solid #a4bad7;
  box-shadow: 0 12px 55px #19395828;
  z-index: 30;
  border-radius: 9px;
  padding: 15px 20px;
  display: flex;
  align-items: center;
  gap: 20px;
}
#comparison-tray > div {
  flex: 1;
}
#comparison-tray strong {
  font-size: 16px;
  font-weight: 600;
}
#comparison-tray p {
  font-size: 14px;
  color: var(--muted);
  margin: 3px 0 0;
}
.tray-clear {
  border: 0;
  background: #fff;
  padding: 8px;
  color: var(--muted);
  font-size: 22px;
}
.tray-compare {
  white-space: nowrap;
}
#detail-dialog {
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 30px;
  max-width: 720px;
  width: calc(100% - 36px);
  max-height: 85vh;
  color: var(--text);
  overscroll-behavior: contain;
}
#detail-dialog::backdrop {
  background: #10284070;
  backdrop-filter: blur(2px);
}
.dialog-close {
  display: flex;
  margin-left: auto;
  border: 0;
  background: var(--soft);
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 15px;
}
.dialog-body .panel {
  border: 0;
  padding: 10px 0 0;
  margin: 0;
}
#toast {
  position: fixed;
  bottom: 105px;
  left: 50%;
  transform: translate(-50%);
  max-width: calc(100% - 35px);
  background: var(--ink);
  color: #fff;
  padding: 13px 20px;
  border-radius: 6px;
  font-size: 15px;
  z-index: 60;
  box-shadow: 0 6px 25px #10284030;
}
#toast:empty {
  display: none;
}
.language-choice {
  max-width: 900px;
  margin: 0 auto;
  padding: 85px 30px;
}
.language-choice .brand img {
  width: 282px;
}
.language-choice h1 {
  margin-top: 60px;
  font-size: 46px;
}
.language-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 35px 0;
}
.language-options a {
  border: 1px solid var(--line);
  padding: 30px;
  border-top: 3px solid var(--blue);
  color: var(--ink);
  text-decoration: none;
  font-family: Plex;
  font-size: 26px;
}
.language-options a:hover {
  background: var(--pale);
}
.language-options small {
  display: block;
  font-family: Source;
  font-size: 16px;
  margin-top: 14px;
}
.language-choice .fine {
  max-width: 650px;
}
@media (min-width: 1600px) {
  .home-intro {
    padding-top: 65px;
    padding-bottom: 45px;
  }
  .directory-section {
    padding-top: 40px;
  }
  .home-intro h1 {
    font-size: 55px;
  }
}
@media (max-width: 1384px) {
  main {
    padding-inline: 32px;
  }
  .site-header {
    gap: 22px;
  }
  .site-header nav {
    gap: 20px;
  }
  .header-actions {
    gap: 14px;
  }
  .brand img {
    width: 195px;
  }
  .directory-layout {
    grid-template-columns: minmax(0, 1fr) 220px;
    gap: 26px;
  }
  .vendor-table td,
  .vendor-table th {
    padding-inline: 6px;
  }
  .vendor-name {
    font-size: 15px;
  }
  .vendor-table td:first-child {
    width: 28%;
  }
  .home-intro {
    gap: 60px;
  }
}
@media (max-width: 1160px) {
  .site-header nav {
    gap: 17px;
  }
  .site-header {
    gap: 17px;
    padding-inline: 25px;
  }
  .site-header nav a {
    font-size: 15px;
  }
  .header-actions .button {
    font-size: 14px;
    max-width: 140px;
  }
  .brand img {
    width: 185px;
  }
  .header-actions {
    gap: 14px;
  }
  .directory-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .directory-aside {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
  .directory-aside .weights {
    padding: 22px;
  }
  .weights-title > strong {
    margin: 4px 0 20px;
  }
  .directory-aside .weight-row {
    margin-bottom: 11px;
  }
  .directory-aside .weights .fine {
    margin-top: 15px;
  }
  .directory-aside .aside-note {
    padding: 25px 10px;
  }
  .home-intro {
    gap: 45px;
    grid-template-columns: 1.15fr 1fr;
  }
  .hero-evidence {
    padding-left: 25px;
  }
  .source-flow {
    gap: 12px;
  }
  .source-flow li strong {
    font-size: 15px;
  }
  .source-flow li small {
    font-size: 13px;
  }
  .content-columns {
    grid-template-columns: minmax(0, 1fr) 240px;
    gap: 25px;
  }
  .editorial-feature {
    gap: 35px;
  }
  .editorial-feature > div > h2 {
    font-size: 30px;
  }
  .footer-top {
    gap: 25px;
  }
  .footer-top .brand img {
    width: 190px;
  }
  .profile-summary > div {
    padding-inline: 15px;
  }
  .source-register {
    grid-template-columns: 1fr;
  }
  .application-layout {
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 30px;
  }
}
@media (max-width: 900px) {
  .site-header {
    height: 78px;
    padding-inline: 24px;
    gap: 20px;
  }
  .site-header nav {
    display: none;
    position: absolute;
    top: 78px;
    left: 0;
    right: 0;
    background: #fff;
    border-bottom: 1px solid var(--line);
    padding: 20px 25px;
    gap: 0;
    box-shadow: 0 15px 25px #1939580c;
  }
  .site-header nav.open {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  .site-header nav a {
    padding: 14px 0;
    font-size: 16px;
    border-bottom: 1px solid var(--line);
  }
  .site-header nav a[aria-current]:after {
    display: none;
  }
  .menu-button {
    display: flex;
    align-items: center;
    gap: 10px;
    order: 3;
    border: 0;
    background: #fff;
    font-size: 15px;
    margin-left: 0;
    padding: 10px 0;
  }
  .header-actions {
    margin-left: auto;
  }
  .header-actions .button {
    max-width: none;
    font-size: 15px;
  }
  .home-intro {
    gap: 25px;
    padding-top: 38px;
    grid-template-columns: 1.1fr 1fr;
  }
  .home-intro h1 {
    font-size: 39px;
  }
  .home-intro p:not(.eyebrow) {
    font-size: 16px;
  }
  .hero-evidence {
    padding-left: 22px;
  }
  .hero-evidence .source-flow {
    flex-direction: column;
    gap: 9px;
  }
  .hero-evidence .source-flow li {
    display: flex;
    gap: 12px;
    align-items: start;
    padding-top: 9px;
  }
  .hero-evidence .source-flow li > span {
    margin-top: 2px;
  }
  .hero-evidence .source-flow li div {
    display: flex;
    flex-direction: column;
  }
  .hero-evidence .source-flow li small {
    margin: 1px 0 0;
  }
  .hero-evidence .source-flow li:not(:last-child):after {
    display: none;
  }
  .hero-evidence > a {
    font-size: 13px;
    margin-top: 12px;
  }
  .hero-evidence .eyebrow {
    font-size: 12px;
  }
  .home-intro .eyebrow {
    font-size: 12px;
  }
  .page-intro {
    padding-top: 40px;
  }
  .page-intro h1 {
    font-size: 43px;
  }
  .lead {
    font-size: 19px;
  }
  .content-columns {
    grid-template-columns: 1fr;
  }
  .content-columns > aside {
    position: static;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
  }
  .content-columns > aside > .weights {
    max-width: 400px;
  }
  .content-columns > aside > .source-flow {
    margin-top: 30px;
  }
  .editorial-feature {
    gap: 30px;
    margin-block: 50px;
  }
  .editorial-feature > div > h2 {
    font-size: 28px;
  }
  .editorial-feature > div > p:not(.eyebrow) {
    font-size: 16px;
  }
  .knowledge-grid {
    gap: 25px;
  }
  .knowledge-grid h2 {
    font-size: 22px;
  }
  .knowledge-grid p {
    font-size: 16px;
  }
  .knowledge-grid .text-link {
    font-size: 14px;
  }
  .listing-cta {
    padding: 30px;
    gap: 25px;
  }
  .listing-cta h2 {
    font-size: 27px;
  }
  .footer-top {
    grid-template-columns: 1.5fr 1fr 1fr;
    gap: 28px;
  }
  .footer-top > div:first-child {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 40px;
  }
  .footer-top > div:first-child .brand {
    grid-column: 1;
    grid-row: 1;
  }
  .footer-top > div:first-child p {
    grid-column: 1;
    grid-row: 2;
  }
  .footer-top > div:first-child p.fine {
    grid-column: 2;
    grid-row: 1/3;
    align-self: center;
  }
  .profile-intro h1 {
    font-size: 34px;
  }
  .profile-intro .button {
    font-size: 14px;
    max-width: 150px;
  }
  .profile-summary strong {
    font-size: 20px;
  }
  .profile-summary .score-value {
    font-size: 25px;
  }
  .application-layout {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .application-layout > aside {
    display: block;
  }
  .application-steps {
    display: flex;
    gap: 7px;
    overflow: auto;
    padding: 0 0 12px;
    margin-bottom: 0;
  }
  .application-steps li {
    white-space: nowrap;
    gap: 6px;
    font-size: 14px;
    padding: 9px;
  }
  .application-steps li > span {
    width: 20px;
    height: 20px;
    font-size: 12px;
  }
  .application-layout > aside > p {
    display: none;
  }
  .product-intro {
    gap: 30px;
  }
  .product-intro h2 {
    font-size: 27px;
  }
  .product-intro p {
    font-size: 16px;
  }
  .source-register {
    grid-template-columns: 1fr 1fr;
  }
  .process-grid {
    gap: 28px;
  }
  .process-grid h2 {
    font-size: 20px;
  }
  .process-grid p {
    font-size: 16px;
  }
}
@media (max-width: 600px) {
  :root {
    font-size: 16px;
    scroll-padding-top: 90px;
  }
  main {
    padding: 0 20px 45px;
  }
  .data-disclosure {
    font-size: 12px;
    padding: 6px 10px;
    line-height: 1.4;
  }
  .site-header {
    height: 72px;
    padding-inline: 20px;
    gap: 14px;
  }
  .brand img {
    width: 178px;
  }
  .header-actions .button {
    display: none;
  }
  .header-actions {
    margin-left: auto;
    gap: 0;
  }
  .header-actions .language {
    font-size: 14px;
  }
  .menu-button {
    font-size: 0;
    padding: 10px 0;
  }
  .menu-button > span {
    font-size: 20px;
  }
  .site-header nav {
    top: 72px;
  }
  .home-intro {
    display: block;
    padding: 31px 0 25px;
  }
  .home-intro h1 {
    font-size: 39px;
    margin-bottom: 16px;
    line-height: 1.14;
  }
  .home-intro .eyebrow {
    font-size: 12px;
    letter-spacing: 0.1em;
  }
  .home-intro p:not(.eyebrow) {
    font-size: 16px;
    line-height: 1.6;
  }
  .hero-evidence {
    display: none;
  }
  .directory-section {
    padding-top: 26px;
  }
  .section-heading {
    gap: 10px;
    margin-bottom: 18px;
    align-items: start;
  }
  .section-heading h2 {
    font-size: 23px;
    max-width: 240px;
    line-height: 1.25;
  }
  .section-heading .eyebrow {
    font-size: 12px;
    margin-bottom: 9px;
  }
  .count-label {
    font-size: 12px;
    max-width: 60px;
    line-height: 1.5;
    text-align: right;
    padding-top: 2px;
  }
  .directory-layout {
    gap: 30px;
  }
  .filter-bar {
    padding: 12px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 82px;
    gap: 10px;
  }
  .filter-bar .search-field {
    grid-column: 1/-1;
    padding-top: 0;
  }
  .filter-bar > label:not(.search-field) {
    width: auto;
  }
  .filter-bar > label:not(.search-field) > span {
    font-size: 12px;
    margin-bottom: 4px;
  }
  .filter-bar > button {
    height: 41px;
    min-height: 41px;
    padding: 10px;
    font-size: 15px;
    align-self: end;
  }
  .filter-bar input,
  .filter-bar select {
    font-size: 15px;
    min-height: 41px;
  }
  .advanced-filters {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    padding: 15px;
  }
  .advanced-filters label > span {
    font-size: 13px;
  }
  .advanced-filters select {
    font-size: 14px;
    padding: 9px 18px 9px 8px;
  }
  .result-toolbar {
    margin: 14px 0 10px;
    gap: 8px;
  }
  .result-toolbar > div {
    gap: 10px;
    font-size: 13px;
  }
  .result-toolbar .text-button {
    font-size: 13px;
  }
  .result-toolbar select {
    font-size: 13px;
    min-height: 32px;
    max-width: 145px;
    padding-inline: 7px;
  }
  .active-filters {
    gap: 5px;
  }
  .filter-chip {
    font-size: 12px;
    padding: 4px 7px;
    margin-bottom: 7px;
  }
  .vendor-table {
    display: block;
    border-top: 1px solid var(--line);
  }
  .vendor-table caption,
  .vendor-table thead {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    clip: rect(0, 0, 0, 0) !important;
    overflow: hidden !important;
  }
  .vendor-table tbody {
    display: block;
  }
  .vendor-table tbody tr {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    position: relative;
    min-height: 155px;
    padding: 15px 8px 13px;
    gap: 8px;
    border-bottom: 1px solid var(--line);
  }
  .vendor-table td {
    display: block;
    padding: 0 !important;
    border: 0;
    font-size: 14px;
    height: auto !important;
  }
  .vendor-table td:first-child {
    grid-column: 1/3;
    width: auto;
  }
  .vendor-identity {
    gap: 9px;
  }
  .vendor-avatar {
    width: 32px;
    height: 32px;
    font-size: 14px;
  }
  .vendor-name {
    font-size: 16px;
  }
  .vendor-table small {
    font-size: 12px;
    margin-top: 2px;
  }
  .vendor-note {
    margin: 5px 0 0 41px;
    font-size: 12px;
    line-height: 1.4;
  }
  .vendor-table td:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
  }
  .vendor-table td:nth-child(3) {
    grid-column: 2;
    grid-row: 2;
  }
  .vendor-table td:nth-child(4) {
    grid-column: 3;
    grid-row: 2;
  }
  .vendor-table td:nth-child(5) {
    grid-column: 1/3;
    grid-row: 3;
    font-size: 12px;
    color: var(--muted);
  }
  .vendor-table td:nth-child(5):before {
    content: attr(data-label) ": ";
    display: inline;
    font-size: 12px;
  }
  .vendor-table td:nth-child(6) {
    grid-column: 3;
    grid-row: 1;
    text-align: right;
    align-self: start;
  }
  .vendor-table td:nth-child(6):before {
    content: attr(data-label);
    font-size: 11px;
    display: block;
    color: var(--muted);
    margin-top: 1px;
  }
  .vendor-table td:nth-child(7) {
    grid-column: 3;
    grid-row: 3;
    text-align: right;
  }
  .vendor-table td:nth-child(2):before,
  .vendor-table td:nth-child(3):before,
  .vendor-table td:nth-child(4):before {
    content: attr(data-label);
    display: block;
    font-size: 12px;
    color: var(--muted);
    margin-bottom: 2px;
  }
  .vendor-table td:nth-child(2) small,
  .vendor-table td:nth-child(3) small {
    display: none;
  }
  .vendor-table td > strong {
    font-size: 15px;
    font-weight: 500;
  }
  .mini-track {
    display: none;
  }
  .vendor-table .score-value {
    font-size: 25px;
  }
  .vendor-table .score-value small {
    display: inline;
    font-size: 12px;
  }
  .score-button {
    padding: 3px 0;
  }
  .not-rated {
    font-size: 13px;
    max-width: 80px;
  }
  .selection-cell label {
    min-height: 24px;
    gap: 5px;
  }
  .selection-cell label span {
    display: inline;
    font-size: 12px;
    color: var(--blue);
  }
  .selection-cell input {
    width: 14px;
    height: 14px;
    margin: 0;
  }
  .table-footnote {
    flex-direction: column;
    gap: 7px;
    font-size: 12px;
    line-height: 1.5;
  }
  .directory-aside {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .directory-aside .weights {
    padding: 22px;
  }
  .directory-aside .aside-note {
    padding: 23px 0;
  }
  .directory-aside .aside-note .eyebrow {
    font-size: 12px;
  }
  .directory-aside .aside-note h3 {
    font-size: 22px;
  }
  .weight-row {
    grid-template-columns: 20px 1fr 25px;
    font-size: 15px;
  }
  .weight-row i {
    height: 4px;
  }
  .weights .fine {
    font-size: 14px;
  }
  .weights-title > strong {
    font-size: 43px;
  }
  .editorial-feature {
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin-block: 40px;
    align-items: stretch;
  }
  .editorial-feature.reverse {
    flex-direction: column;
  }
  .editorial-feature > div > h2 {
    font-size: 29px;
  }
  .editorial-feature > div > p:not(.eyebrow) {
    font-size: 16px;
  }
  .research-photo figcaption {
    font-size: 12px;
  }
  .knowledge-grid {
    grid-template-columns: 1fr;
    gap: 28px;
    padding-block: 30px;
  }
  .knowledge-grid article {
    padding-bottom: 25px;
    border-bottom: 1px solid var(--line);
  }
  .knowledge-grid article:last-child {
    border: 0;
    padding: 0;
  }
  .knowledge-grid h2 {
    font-size: 26px;
    max-width: 290px;
  }
  .knowledge-grid p {
    font-size: 16px;
    margin-bottom: 13px;
  }
  .index-number {
    margin-bottom: 14px;
  }
  .knowledge-grid .text-link {
    font-size: 15px;
  }
  .listing-cta {
    padding: 25px;
    flex-direction: column;
    align-items: start;
    gap: 25px;
    margin-top: 30px;
  }
  .listing-cta h2 {
    font-size: 29px;
  }
  .listing-cta .eyebrow {
    font-size: 12px;
  }
  .listing-cta p:not(.eyebrow) {
    font-size: 16px;
  }
  .listing-cta .button {
    width: 100%;
  }
  .site-footer {
    padding: 35px 20px 20px;
  }
  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 25px 20px;
  }
  .footer-top > div:first-child {
    display: block;
    grid-column: 1/-1;
  }
  .footer-top > div:first-child .brand img {
    width: 205px;
  }
  .footer-top > div:first-child p {
    margin-bottom: 15px;
  }
  .footer-top > div:first-child p.fine {
    max-width: 280px;
    font-size: 14px;
  }
  .footer-top > div:nth-child(4) {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 20px;
  }
  .footer-top > div:nth-child(4) h2 {
    grid-column: 1/-1;
  }
  .footer-top h2 {
    font-size: 15px;
    margin: 8px 0 17px;
  }
  .footer-link {
    font-size: 15px;
    margin-bottom: 13px;
  }
  .footer-bottom {
    font-size: 12px;
    gap: 13px;
    flex-wrap: wrap;
    margin-top: 20px;
    padding-top: 18px;
  }
  .footer-bottom > span:nth-child(2) {
    order: 3;
    width: 100%;
  }
  .page-intro {
    padding: 31px 0 28px;
  }
  .page-intro h1 {
    font-size: 37px;
    line-height: 1.15;
  }
  .page-intro .eyebrow {
    font-size: 12px;
  }
  .lead {
    font-size: 17px;
  }
  .panel {
    padding: 22px 18px;
    margin-bottom: 20px;
  }
  .panel h2 {
    font-size: 24px;
  }
  .panel p,
  .panel li {
    font-size: 16px;
  }
  .content-columns {
    gap: 20px;
  }
  .content-columns > aside {
    display: block;
  }
  .panel-heading {
    align-items: start;
    gap: 15px;
  }
  .panel-heading h2 {
    font-size: 22px;
  }
  .panel-heading .score-value {
    font-size: 36px;
  }
  .panel-heading .eyebrow {
    font-size: 12px;
  }
  .panel-heading .not-rated {
    font-size: 14px;
    margin-top: 10px;
  }
  .facts > div {
    grid-template-columns: 1fr;
    gap: 4px;
    padding-block: 12px;
  }
  .facts dt {
    font-size: 14px;
  }
  .facts dd {
    font-size: 16px;
  }
  .profile-intro {
    flex-wrap: wrap;
    gap: 15px;
    margin: 25px 0;
  }
  .vendor-avatar.large {
    width: 53px;
    height: 53px;
    font-size: 22px;
  }
  .profile-intro > div:nth-child(2) {
    flex: 1;
    min-width: 0;
  }
  .profile-intro h1 {
    font-size: 29px;
    overflow-wrap: anywhere;
  }
  .profile-intro .eyebrow {
    font-size: 11px;
  }
  .profile-intro p:not(.eyebrow) {
    font-size: 15px;
  }
  .profile-intro .button {
    margin-left: 0;
    max-width: none;
    width: 100%;
    font-size: 15px;
  }
  .profile-summary {
    grid-template-columns: 1fr 1fr;
    padding: 15px 0;
    gap: 20px 0;
  }
  .profile-summary > div {
    padding-inline: 15px;
  }
  .profile-summary > div:nth-child(2) {
    border: 0;
  }
  .profile-summary > div > span:first-child {
    font-size: 13px;
    margin-bottom: 5px;
  }
  .profile-summary strong {
    font-size: 19px;
  }
  .section-nav {
    gap: 20px;
    overflow: auto;
    white-space: nowrap;
    padding: 12px 0;
    margin-block: 10px 25px;
  }
  .section-nav a {
    font-size: 14px;
  }
  .back-link {
    font-size: 14px;
    margin-top: 20px;
  }
  .breakdown-row > div:first-child {
    font-size: 15px;
  }
  .notice {
    font-size: 15px;
    padding: 13px 15px;
  }
  .data-table {
    font-size: 14px;
    min-width: 430px;
  }
  .data-table td,
  .data-table th {
    padding: 12px 10px;
  }
  .data-table th {
    font-size: 13px;
  }
  .data-table small {
    font-size: 12px;
  }
  .formula {
    font-size: 24px;
    padding: 20px 8px;
  }
  .formula sub {
    font-size: 13px;
  }
  .method-rules dt {
    font-size: 17px;
  }
  .method-rules dd {
    font-size: 16px;
  }
  .timeline li p {
    font-size: 15px;
  }
  .timeline li strong {
    font-size: 16px;
  }
  .source-flow li strong {
    font-size: 15px;
  }
  .process-grid {
    grid-template-columns: 1fr 1fr;
    gap: 28px 22px;
    padding-block: 28px;
  }
  .process-grid h2 {
    font-size: 19px;
  }
  .process-grid p {
    font-size: 15px;
  }
  .source-register {
    grid-template-columns: 1fr;
  }
  .source-register > a {
    font-size: 14px;
    gap: 7px;
  }
  .source-register > a > span:last-child {
    font-size: 12px;
  }
  .source-register code {
    font-size: 12px;
  }
  .product-intro {
    display: block;
    margin: 0 0 35px;
  }
  .product-intro > div + div {
    margin-top: 25px;
  }
  .product-intro h2 {
    font-size: 28px;
  }
  .product-register .section-heading {
    flex-direction: column;
    align-items: stretch;
    gap: 15px;
  }
  .product-register .search-field {
    max-width: none;
  }
  .product-row {
    grid-template-columns: 32px 1fr;
    gap: 15px;
    padding: 25px 0;
    align-items: start;
  }
  .product-number {
    font-size: 28px;
  }
  .product-row > div:last-child {
    grid-column: 2;
    display: flex;
    gap: 8px;
    align-items: center;
    text-align: left;
  }
  .product-row > div:last-child > strong {
    font-size: 19px;
  }
  .product-row > div:last-child > small {
    font-size: 13px;
  }
  .product-row h3 {
    font-size: 24px;
  }
  .product-row p {
    font-size: 16px;
  }
  .product-row .eyebrow {
    font-size: 11px;
  }
  .compare-picker {
    gap: 8px;
  }
  .compare-picker .button {
    padding: 12px;
    font-size: 15px;
  }
  .compare-toolbar {
    flex-direction: column;
    align-items: start;
    gap: 15px;
    margin-block: 25px 20px;
  }
  .compare-toolbar .checkbox {
    font-size: 15px;
  }
  .comparison-table {
    min-width: 650px;
  }
  .comparison-table th:first-child,
  .comparison-table td:first-child {
    width: 130px;
    font-size: 13px;
    white-space: normal;
  }
  .comparison-table th {
    width: 210px;
    padding: 17px 12px;
  }
  .comparison-table td {
    padding: 15px 12px;
    white-space: normal;
  }
  .comparison-table th h2 {
    font-size: 20px;
  }
  .comparison-table .score-value {
    font-size: 28px;
  }
  .compare-empty {
    padding: 25px;
  }
  .compare-empty h2 {
    font-size: 25px;
  }
  .application-layout {
    gap: 15px;
  }
  .application-steps {
    margin: 0;
  }
  .application-layout .panel {
    padding: 20px 17px;
  }
  .draft-controls {
    gap: 10px;
    margin-bottom: 20px;
  }
  .draft-controls .fine {
    font-size: 12px;
  }
  .draft-controls .text-button {
    font-size: 12px;
    white-space: nowrap;
  }
  .application-layout h2 {
    font-size: 26px;
  }
  .form-actions {
    gap: 10px;
  }
  .form-actions .button {
    font-size: 15px;
    padding: 12px 14px;
  }
  .field > span {
    font-size: 15px;
  }
  .agreement {
    font-size: 15px;
  }
  .case-facts {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .case-facts > div:first-child {
    grid-column: auto;
  }
  .case-facts dd {
    font-size: 16px;
  }
  .incident .panel-heading {
    display: block;
  }
  .incident .panel-heading > span {
    display: block;
    margin-bottom: 15px;
  }
  .correction-diff {
    gap: 20px;
    padding: 18px 12px;
  }
  .correction-diff strong {
    font-size: 23px;
  }
  .correction-diff > div > span {
    font-size: 12px;
  }
  .audit-list code {
    font-size: 13px;
  }
  .audit-list span {
    display: block;
    margin: 5px 0 0;
  }
  .workflow-record h3 {
    font-size: 20px;
  }
  .local-editor-link {
    font-size: 12px;
    bottom: 8px;
    left: 8px;
    padding: 5px 7px;
  }
  #comparison-tray {
    bottom: 12px;
    padding: 12px;
    width: calc(100% - 24px);
    gap: 10px;
  }
  #comparison-tray strong {
    font-size: 14px;
  }
  #comparison-tray p {
    font-size: 12px;
    max-width: 150px;
  }
  #comparison-tray .button {
    font-size: 13px;
    padding: 11px 12px;
    min-height: 38px;
    gap: 5px;
  }
  .tray-clear {
    padding: 5px;
    font-size: 18px;
  }
  #detail-dialog {
    padding: 17px;
    max-height: 90vh;
    width: calc(100% - 24px);
  }
  .dialog-close {
    font-size: 14px;
  }
  #toast {
    font-size: 14px;
    bottom: 100px;
    padding: 12px 15px;
    width: max-content;
    max-width: calc(100% - 30px);
  }
  .language-choice {
    padding: 55px 25px;
  }
  .language-choice .brand img {
    width: 230px;
  }
  .language-choice h1 {
    font-size: 34px;
    margin-top: 45px;
  }
  .language-options {
    grid-template-columns: 1fr;
  }
  .language-options a {
    font-size: 24px;
    padding: 23px;
  }
  .language-options small {
    font-size: 16px;
  }
}
.load-more {
  display: flex;
  margin: 20px auto;
  font-size: 15px;
}
.compare-saved {
  display: flex;
  gap: 25px;
  margin-top: 20px;
}
@media (prefers-reduced-motion: reduce) {
  :root,
  .comparison-scroll {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    animation: none !important;
    transition: none !important;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .button,
  .vendor-table tbody tr {
    transition: background-color 0.15s ease;
  }
  .research-photo img {
    animation: photo-appear 0.4s ease both;
  }
  @keyframes photo-appear {
    0% {
      transform: translateY(5px);
    }
    to {
      transform: translateY(0);
    }
  }
}

.dossier-disclosure {
  margin: 18px 0 28px;
}
#appeal-form fieldset {
  border: 0;
  margin: 0;
  padding: 0;
  min-width: 0;
}
#appeal-form legend {
  font-size: 15px;
  color: var(--muted);
  margin-bottom: 15px;
}
.profile-summary small {
  display: block;
  margin-top: 6px;
}
.rating-overview {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 42px;
  align-items: center;
}
.rating-overview .score-value {
  font-size: 64px;
  line-height: 1.05;
  display: block;
  margin: 12px 0 20px;
}
.rating-overview .not-rated {
  display: block;
  font-family: Plex, Arial, sans-serif;
  font-size: 26px;
  line-height: 1.25;
  margin: 16px 0;
}
.rating-overview > div > p:last-child {
  margin-bottom: 0;
}
.dossier-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(330px, 1fr);
  gap: 24px;
  align-items: start;
}
.dossier-columns > *,
.dossier-history,
.profile-category-section,
.content-columns > * {
  min-width: 0;
}
.profile-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 24px;
  padding-bottom: 14px;
}
.profile-tabs button {
  border: 1px solid var(--line);
  border-radius: 5px;
  padding: 12px 16px;
  background: var(--paper);
  color: var(--text);
  font-size: 15px;
  min-height: 45px;
}
.profile-tabs button[aria-selected="true"] {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
}
.profile-tabs button span {
  margin-left: 8px;
  font-size: 14px;
  opacity: 0.85;
}
.profile-category-section {
  margin-bottom: 30px;
}
.dossier-table-scroll {
  max-width: 100%;
  overflow: auto;
  overscroll-behavior-x: contain;
  border: 1px solid var(--line);
  border-radius: 5px;
  margin: 20px 0;
}
.dossier-table-scroll:focus-visible {
  outline: 3px solid #b57716;
  outline-offset: 3px;
}
.dossier-table-scroll .data-table {
  margin: 0;
}
.dossier-table-scroll th,
.dossier-table-scroll td {
  overflow-wrap: anywhere;
}
.dossier-table-scroll caption {
  text-align: left;
  padding: 14px 16px;
  font-size: 14px;
  color: var(--muted);
  background: var(--soft);
}
.dossier-tests {
  min-width: 1200px;
  font-size: 15px;
}
.dossier-tests th {
  min-width: 150px;
}
.dossier-tests td {
  min-width: 140px;
  vertical-align: top;
}
.dossier-tests td:nth-child(4) {
  min-width: 200px;
}
.dossier-tests code {
  font-size: 13px;
}
.dossier-tests small,
.category-evidence small,
.history-table small {
  display: block;
  margin-top: 7px;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 400;
  color: var(--muted);
}
.category-evidence {
  min-width: 570px;
  font-size: 15px;
}
.category-evidence .not-rated {
  font-size: 15px;
}
.dossier-status {
  font-size: 13px;
  font-weight: 600;
  display: inline-block;
  padding: 4px 7px;
  background: #f1f3f6;
  border: 1px solid var(--line);
  border-radius: 3px;
}
.dossier-status.eligible {
  background: #edf6f2;
  color: #285d4b;
  border-color: #b7d6c8;
}
.category-rating {
  display: flex;
  gap: 24px;
  align-items: center;
  margin: 20px 0;
  flex-wrap: wrap;
}
.category-rating .score-value {
  font-size: 42px;
}
.category-rating > span {
  color: var(--muted);
  font-size: 15px;
}
.category-rating + .breakdown {
  max-width: 600px;
}
.rating-history-chart {
  margin: 18px 0;
}
.rating-history-chart svg {
  display: block;
  width: 100%;
  height: auto;
  background: var(--soft);
  border-radius: 4px;
  font-family: Source, Arial, sans-serif;
}
.rating-history-chart figcaption {
  font-size: 14px;
  color: var(--muted);
  margin-top: 10px;
}
.history-table {
  min-width: 420px;
  font-size: 14px;
}
.history-table .score-value {
  font-size: 20px;
}
.history-table .not-rated {
  font-size: 14px;
}
.history-empty {
  padding: 28px;
  background: var(--soft);
  border: 1px dashed #b8c9de;
  margin: 20px 0;
}
.history-empty > span {
  display: block;
  font-size: 35px;
  color: var(--blue);
}
.history-empty h3 {
  font-size: 20px;
}
.history-empty p {
  margin-bottom: 0;
}
.compact-empty {
  margin: 20px 0;
  padding: 25px;
}
.integrity-record,
.correction-record {
  border-top: 1px solid var(--line);
  padding-top: 24px;
  margin-top: 24px;
}
.integrity-record blockquote {
  border-left: 3px solid #b8c9de;
  background: var(--soft);
  margin: 20px 0 0;
  padding: 20px;
}
.integrity-record blockquote p {
  margin: 12px 0;
}
.integrity-record blockquote footer {
  font-size: 15px;
  color: var(--muted);
}
.directory-views {
  display: flex;
  gap: 6px;
  margin: 0 0 14px;
  justify-content: flex-end;
}
.directory-views button {
  font-size: 14px;
  padding: 7px 12px;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 4px;
}
.directory-views button[aria-pressed="true"] {
  color: var(--blue);
  background: var(--pale);
  border-color: #b8c9de;
}
.directory-comparison {
  margin-bottom: 20px;
}
.directory-comparison ul {
  padding: 0;
  list-style: none;
}
.directory-comparison li {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  border-bottom: 1px solid var(--line);
  padding: 8px 0;
  font-size: 15px;
}
.directory-comparison li button {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 3px;
}
.directory-comparison .button {
  font-size: 14px;
  padding: 10px;
}
.filter-bar > label:has(select[name="dataset"]) {
  width: 180px;
}
.filter-bar {
  flex-wrap: wrap;
}
.filter-bar .search-field {
  min-width: 200px;
}
[data-view="cards"] .vendor-table {
  display: block;
}
[data-view="cards"] .vendor-table thead {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
[data-view="cards"] .vendor-table tbody {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
[data-view="cards"] .vendor-table tr {
  display: block;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 15px;
}
[data-view="cards"] .vendor-table td {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}
[data-view="cards"] .vendor-table td:first-child {
  display: block;
}
[data-view="cards"] .vendor-table td:not(:first-child):before {
  content: attr(data-label);
  font-size: 14px;
  color: var(--muted);
}
[data-view="cards"] .vendor-table td:last-child {
  border: 0;
}
[data-view="cards"] .vendor-table td .mini-track {
  display: none;
}
[data-view="cards"] .vendor-table .not-rated {
  max-width: 150px;
  text-align: right;
}
@media (max-width: 1160px) {
  .dossier-columns {
    grid-template-columns: 1fr;
  }
  .rating-history-chart {
    max-width: 600px;
  }
}
@media (max-width: 900px) {
  .rating-overview {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .profile-intro {
    flex-wrap: wrap;
  }
  .dossier-tests {
    font-size: 15px;
  }
}
@media (max-width: 600px) {
  .profile-tabs button {
    font-size: 14px;
    padding: 10px;
  }
  .rating-overview .score-value {
    font-size: 52px;
  }
  [data-view="cards"] .vendor-table tbody {
    grid-template-columns: 1fr;
  }
  .dossier-history .notice {
    font-size: 15px;
  }
  .profile-summary > div strong {
    overflow-wrap: anywhere;
  }
  .filter-bar .search-field {
    min-width: 100%;
  }
  .filter-bar > label:has(select[name="dataset"]) {
    width: 100%;
  }
}

/* Ergaenzungen zum uebernommenen Design (scout.css). */

/* Logo: Symbol plus Wortmarke in der Seitenschrift */
.brand { align-items: center; gap: 10px; text-decoration: none; }
.brand-icon { width: 44px; height: 44px; display: block; flex-shrink: 0; }
.brand-word { font-family: Plex, sans-serif; font-weight: 700; font-size: 27px; letter-spacing: -0.02em; line-height: 1; color: #0f1b33; white-space: nowrap; }
.brand-word b { font-weight: 700; color: #1463f5; }
.footer-top .brand { margin-bottom: 20px; }
@media (max-width: 1384px) { .brand-icon { width: 40px; height: 40px; } .brand-word { font-size: 25px; } }
@media (max-width: 600px) { .brand-icon { width: 34px; height: 34px; } .brand-word { font-size: 22px; } }

.section-note { color: var(--muted); font-size: 16px; margin: 8px 0 0; max-width: 760px; }
.cell-text { display: block; font-size: 14px; line-height: 1.45; }
.vendor-table td { vertical-align: top; }
@media (max-width: 600px) { .cell-text { font-size: 13px; } }

/* Preistabellen */
.product-jump { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }
.product-jump a { border: 1px solid #b8c9de; background: var(--pale); border-radius: 999px; padding: 7px 14px; font-size: 15px; font-weight: 600; text-decoration: none; }
.product-jump a:hover { border-color: var(--blue); }
.price-section { scroll-margin-top: 110px; }
.price-section .panel-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 14px; }
.price-section .panel-heading h2 { margin: 0; }
.price-table-wrap { overflow-x: auto; }
.price-table { width: 100%; border-collapse: collapse; font-size: 15px; font-variant-numeric: tabular-nums; }
.price-table th { font-size: 13px; color: var(--muted); font-weight: 600; text-align: left; padding: 11px 10px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #f8fafc; white-space: nowrap; }
.price-table td { padding: 13px 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
.price-table td small { display: block; color: var(--muted); font-size: 13px; margin-top: 2px; }
.price-table tr.best td { background: #f2f7ff; }
.price-table .best-tag { color: var(--green); font-weight: 600; }
@media (max-width: 700px) {
  .price-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
  .price-table, .price-table tbody, .price-table tr, .price-table td { display: block; }
  .price-table tr { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; padding: 13px 4px; border-bottom: 1px solid var(--line); }
  .price-table td { padding: 0; border: 0; }
  .price-table td:first-child { grid-column: 1 / 3; font-weight: 600; }
  .price-table td:not(:first-child):before { content: attr(data-label); display: block; font-size: 12px; color: var(--muted); }
}

/* Vergleich */
.comparison-tray { position: fixed; left: 50%; transform: translateX(-50%); bottom: 18px; z-index: 30; display: flex; align-items: center; gap: 16px; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 10px 30px rgba(25, 57, 88, 0.16); padding: 12px 14px 12px 20px; font-size: 15px; max-width: calc(100vw - 32px); }
.comparison-tray .text-button { font-size: 14px; }
.compare-table-wrap { overflow-x: auto; margin-top: 20px; }
.compare-table { width: 100%; border-collapse: collapse; font-size: 15px; min-width: 560px; }
.compare-table th, .compare-table td { text-align: left; padding: 12px 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
.compare-table thead th { background: #f8fafc; border-top: 1px solid var(--line); font-size: 16px; }
.compare-table tbody th { font-weight: 600; color: var(--muted); font-size: 14px; width: 180px; }
.compare-table .remove { display: block; margin-top: 6px; font-size: 13px; font-weight: 400; }
.compare-table small { display: block; color: var(--muted); font-size: 13px; }

/* Quellenliste auf Shop-Seiten */
.sources { margin-top: 10px; font-size: 15px; }
.sources summary { cursor: pointer; color: var(--blue); font-weight: 600; }
.sources ul { margin: 10px 0 0; padding-left: 20px; }
.sources li { overflow-wrap: anywhere; margin-bottom: 4px; font-size: 14px; }

/* Ratgeber */
.guide-article h2 { margin-top: 30px; font-size: 24px; }
.guide-article h2:first-child { margin-top: 0; }
.guide-article p { max-width: 720px; font-size: 18px; }

.timeline li p { margin: 4px 0 0; color: var(--muted); font-size: 15px; }
.facts dd a { overflow-wrap: anywhere; }

.size-filter { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
.size-filter button { border: 1px solid var(--line); background: #fff; border-radius: 6px; padding: 6px 11px; font-size: 14px; color: var(--text); }
.size-filter button span { color: var(--muted); font-size: 12px; margin-left: 3px; }
.size-filter button[aria-pressed="true"] { border-color: var(--blue); background: var(--pale); color: var(--blue); font-weight: 600; }

.method-rules dd ul { margin: 8px 0 8px; padding-left: 20px; }
.method-rules dd li { margin-bottom: 4px; }
.method-rules dd p { margin: 8px 0 0; }
.contact-mail { font-size: 22px; font-weight: 600; margin-bottom: 16px; }

.fake-badge { display: inline-block; background: #b42318; color: #fff; font-weight: 700; font-size: 13px; padding: 4px 9px; border-radius: 5px; line-height: 1.3; }
.fake-notice { border-left-color: #b42318 !important; background: #fdf0ef !important; color: #5a1610; }
.lab-table td small { white-space: nowrap; }

.hint-tag { color: #9a3412 !important; font-weight: 600; }
.imprint-hint { border-left-color: #c2410c; background: #fff7ed; }

/* Plus- und Minuspunkte auf der Shop-Seite */
.points-detail { margin-top: 1.5rem; border-top: 1px solid var(--line, #e3e8ef); padding-top: 1.25rem; }
.points-detail h3 { margin: 0 0 .25rem; font-size: 1.05rem; }
.points-detail dl { margin: .75rem 0 0; }
.points-detail dt { display: flex; justify-content: space-between; font-weight: 600; margin-top: .9rem; }
.points-detail dt span { font-variant-numeric: tabular-nums; }
.points-detail dd { margin: .3rem 0 0; }
.points-detail ul { list-style: none; margin: 0; padding: 0; }
.points-detail li { display: flex; gap: .5rem; padding: .2rem 0; font-size: .95rem; line-height: 1.45; }
.points-detail li > span { flex: 0 0 1rem; font-weight: 700; text-align: center; }
.points-detail li.plus > span { color: #137333; }
.points-detail li.minus { color: #5a1610; }
.points-detail li.minus > span { color: #b42318; }
.lab-table tr.not-counted td { color: #6b7280; }
.lab-table td small { display: block; }
.lab-table .muted { color: #6b7280; }
.points-detail + * { margin-top: 1.25rem; }
.score-panel > .facts { margin-top: 1.5rem; }

/* Shop-Logos statt Initialen */
.vendor-avatar.has-logo { background: #fff; padding: 0; overflow: hidden; }
.vendor-avatar.has-logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.vendor-avatar.has-logo:not(.large) { width: 44px; height: 44px; border-radius: 9px; }

/* Shopseite in zwei Spalten (Owner 20.10.): links Fakten und Preise, rechts die Bewertung */
.vendor-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 28px; align-items: start; }
.vendor-grid > .panel { max-width: none; margin-top: 0; }
@media (min-width: 1080px) {
  .vendor-grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    grid-template-areas: "facts rating" "contact rating" "trust rating" "prices rating" "lab lab" "history history";
    grid-template-rows: auto auto auto 1fr auto auto;
  }
  .vendor-grid > #facts { grid-area: facts; }
  .vendor-grid > #calculation { grid-area: rating; }
  .vendor-grid > #prices { grid-area: prices; }
  .vendor-grid > #trustpilot { grid-area: trust; }
  .vendor-grid > #contact { grid-area: contact; }
  .vendor-grid > #lab-history { grid-area: lab; }
  .vendor-grid > #history { grid-area: history; }
  .vendor-grid .facts > div { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
}

/* Knopf nach ganz unten / ganz oben */
.scroll-jump {
  position: fixed; right: 20px; bottom: 20px; z-index: 40;
  width: 46px; height: 46px; border-radius: 50%;
  border: 1px solid var(--line, #d5dde8); background: #fff; color: var(--ink, #10233f);
  font-size: 22px; line-height: 1; cursor: pointer;
  box-shadow: 0 4px 14px rgba(16, 35, 63, 0.12);
  display: flex; align-items: center; justify-content: center;
}
.scroll-jump[hidden] { display: none; }
.scroll-jump:hover { border-color: var(--blue, #1463f5); color: var(--blue, #1463f5); }
.scroll-jump:focus-visible { outline: 3px solid var(--blue, #1463f5); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .scroll-jump { transition: none; } }

/* Trustpilot-Zusammenfassung */
.tp-bars { display: grid; gap: 6px; margin: 4px 0 16px; }
.tp-bar { display: grid; grid-template-columns: 70px 1fr 36px; align-items: center; gap: 10px; font-size: 14px; }
.tp-bar i { display: block; height: 8px; background: #edf1f6; border-radius: 4px; overflow: hidden; }
.tp-bar b { display: block; height: 100%; background: #1463f5; }
.tp-bar span:last-child { text-align: right; font-variant-numeric: tabular-nums; }

/* Kontaktwege */
#contact h2 { margin-bottom: 2px; }
#contact .eyebrow { margin: 0 0 14px; }
.contact-list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line, #e3e8ef); border-radius: 10px; overflow: hidden; }
.contact-list li + li { border-top: 1px solid var(--line, #e3e8ef); }
.contact-list a { display: grid; grid-template-columns: 28px minmax(0, 1fr) 16px; align-items: center; gap: 12px; padding: 12px 14px; color: inherit; text-decoration: none; }
.contact-list a:hover { background: #f6f9fd; }
.contact-list a:focus-visible { outline: 3px solid var(--blue, #1463f5); outline-offset: -3px; }
.contact-icon { color: #4b5b70; display: flex; }
.contact-text { min-width: 0; }
.contact-text strong { display: block; font-size: 15px; }
.contact-text small { display: block; color: #4b5b70; font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 13px; overflow-wrap: anywhere; }
.contact-arrow { color: #8a97a8; }

/* Mail-Knoepfe mit Vorlage */
.mail-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 8px; }

/* Laborberichte je Shop, Korrekturen, Unstimmigkeiten */
.evidence-shop { border-top: 1px solid var(--line, #e3e8ef); padding: 14px 0; }
.evidence-shop summary { display: flex; justify-content: space-between; gap: 12px; cursor: pointer; font-size: 16px; }
.evidence-shop summary span { color: #4b5b70; font-size: 14px; }
.evidence-shop[open] summary { margin-bottom: 12px; }
.correction-list, .case-list { list-style: none; margin: 0; padding: 0; }
.correction-list li, .case-list li { padding: 14px 0; border-bottom: 1px solid var(--line, #e3e8ef); }
.correction-list li:last-child, .case-list li:last-child { border-bottom: 0; }
.correction-list p, .case-list p { margin: 4px 0; }
.case-tag { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 11px; letter-spacing: .04em; background: #eef2f7; color: #334155; margin-right: 6px; }
.case-fake .case-tag { background: #b42318; color: #fff; }
.case-minus .case-tag { background: #fdf0ef; color: #8a1c12; }
.hero-stats { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 14px 0 0; padding: 0; list-style: none; font-size: 14px; color: #4b5b70; }
.hero-stats strong { color: var(--ink, #10233f); font-size: 18px; margin-right: 4px; }

/* Preisniveau unter der Bewertung */
.price-level { display: block; margin-top: 4px; font-size: 13px; font-variant-numeric: tabular-nums; }
.price-level.cheaper { color: #137333; }
.price-level.pricier { color: #8a1c12; }
.fact-sub { display: block; color: #4b5b70; font-size: 13px; margin-top: 2px; }
.price-level.product-price { color: var(--ink, #10233f); }

/* Documented verification restrictions: readable independently of profile tabs. */
body[data-page] .notice.verification-notice { margin-bottom: 16px; border-left: 3px solid #a43d28; background: #fff7f3; color: #57271c; }
.verification-notice p { margin: .55rem 0; max-width: 85ch; }
.verification-notice summary { cursor: pointer; font-weight: 600; padding-block: .5rem; }
.verification-notice li { margin-block: .65rem; }
.verification-hash { display: block; overflow-wrap: anywhere; font-family: monospace; font-size: .7rem; color: #65544e; }
.transparency-badge { display: inline-flex; flex-direction: column; align-items: flex-start; gap: .2rem; color: #8a321f; }
.transparency-badge > small { font-size: 12px; line-height: 1.4; max-width: 23ch; color: #8a321f; }

/* Cookie-Hinweis fuer Google Ads */
.consent-banner { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 60; max-width: 720px; margin: 0 auto; background: #fff; border: 1px solid var(--line, #d5dde8); border-radius: 12px; box-shadow: 0 8px 28px rgba(16, 35, 63, .16); padding: 16px 18px; display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; }
.consent-banner[hidden] { display: none; }
.consent-banner p { margin: 0; flex: 1 1 360px; font-size: 14px; line-height: 1.5; }
.consent-actions { display: flex; gap: 10px; }
.footer-consent { font-size: inherit; }
/* Unreviewed directory entries: source context without empty score panels. */
.discovery-directory-note { margin: 15px 0 8px; color: #606067; font-size: 12px; line-height: 1.6; max-width: 80ch; }
.discovery-profile { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 28px 0 24px; }
.discovery-profile .panel { margin: 0; padding: clamp(24px, 3vw, 40px); }
.discovery-overview { background: #f5f5f7; }
.discovery-profile h2 { font-size: clamp(24px, 2.2vw, 32px); letter-spacing: -.035em; line-height: 1.2; margin: 16px 0 22px; }
.discovery-profile p { max-width: 62ch; }
.discovery-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; border-top: 1px solid #dedee3; margin: 24px 0; padding-top: 20px; }
.discovery-facts dt { color: #606067; font-size: 12px; margin-bottom: 8px; }
.discovery-facts dd { margin: 0; font-size: 14px; line-height: 1.6; }
.discovery-links { display: flex; flex-wrap: wrap; gap: 12px 24px; font-size: 13px; }
.discovery-next p { max-width: 85ch; }
.basic-overview { padding: clamp(24px, 3vw, 40px); margin-top: 28px; }
.basic-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.basic-heading h2 { margin: 10px 0 0; }
.basic-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 32px; }
.basic-grid dd { overflow-wrap: anywhere; }
.basic-grid dd small { display: block; color: #606067; font-size: 11px; margin-top: 6px; }
.basic-source { display: inline-block; font-size: 11px; white-space: nowrap; margin-left: 5px; }
.basic-contact { display: block; }
.basic-notice { padding: 8px 22px; background: #fff8eb; border: 1px solid #ecd5ad; border-radius: 16px; margin-top: 24px; font-size: 13px; }
@media (max-width: 900px) { .basic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .basic-heading { display: block; } .basic-grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
  .discovery-profile { grid-template-columns: 1fr; gap: 16px; }
  .discovery-facts { grid-template-columns: 1fr; }
}

/* Pure: the approved PeptidScout system. */
@font-face {
  font-family:Manrope;
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url('/fonts/manrope-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF
}
@font-face {
  font-family:Manrope;
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url('/fonts/manrope-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}
:root {
  --ink:#1d1d1f;
  --text:#303035;
  --muted:#6e6e73;
  --blue:#0066cc;
  --pale:#edf5ff;
  --line:#e5e5e9;
  --paper:#fff;
  --soft:#f5f5f7;
  --green:#24704d;
  --radius:18px;
  --pure-header-height:74px;
  --pure-width:1248px;
  --pure-ease:cubic-bezier(.2,.7,.2,1);
  font-family:Manrope,Arial,sans-serif;
  font-size:16px;
  line-height:1.6;
  scroll-padding-top:100px
}
body {
  -webkit-font-smoothing:antialiased;
  color:var(--text);
  background:#fff
}
h1,h2,h3,h4,.brand-word,.score-value,.score-value small,.vendor-avatar,.weights-title>strong,.weights-title>strong>span,.footer-top h2,.rating-overview .not-rated,.rating-history-chart svg {
  font-family:Manrope,Arial,sans-serif
}
h1,h2,h3,h4 {
  color:var(--ink);
  font-weight:650;
  letter-spacing:-.045em
}
h1 {
  font-size:clamp(38px,4.8vw,64px);
  line-height:1.08;
  overflow-wrap:normal;
  text-wrap:balance
}
h2 {
  font-size:clamp(26px,3vw,38px);
  line-height:1.18;
  text-wrap:balance
}
h3 {
  font-size:22px;
  line-height:1.25
}
a {
  color:var(--blue)
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible,[tabindex]:focus-visible {
  outline:3px solid #0071e3;
  outline-offset:4px
}
a,button,input,select,summary {
  transition:color .18s,background-color .18s,border-color .18s,box-shadow .18s,transform .18s var(--pure-ease)
}
::selection {
  background:#d8eaff;
  color:#1d1d1f
}
.eyebrow,.section-kicker {
  font-size:13px;
  line-height:1.5;
  font-weight:600;
  letter-spacing:.01em;
  color:var(--muted)
}
.section-kicker {
  margin:0 0 20px
}
.fine,small {
  font-size:13px;
  line-height:1.65
}
.lead {
  font-size:19px;
  line-height:1.7;
  max-width:760px
}
.text-link {
  font-size:14px;
  font-weight:500;
  text-decoration:none;
  gap:8px;
  margin:10px 0 0;
  min-height:32px
}
.text-link span {
  transition:transform .2s
}
.text-link:hover span {
  transform:translateX(3px)
}
.text-link:hover {
  text-decoration:underline
}
.text-button {
  font-size:13px;
  text-decoration:none
}
.text-button:hover {
  text-decoration:underline
}
.button {
  border-radius:999px;
  font-weight:550;
  font-size:14px;
  padding:13px 23px;
  min-height:46px;
  gap:10px
}
.button.primary {
  background:#0071e3;
  border-color:#0071e3
}
.button.primary:hover {
  background:#0066cc;
  border-color:#0066cc;
  box-shadow:0 4px 14px #0071e325
}
.button:active {
  transform:scale(.98)
}
.button.secondary {
  border-color:#d7d7dd;
  color:var(--ink);
  background:#fff
}
.button.secondary:hover {
  background:#f5f5f7;
  border-color:#b9b9c1
}
.button.small {
  font-size:12px;
  padding:9px 16px;
  min-height:38px
}
.button:not(.primary):not(.secondary) {
  border-color:#d7d7dd;
  color:var(--blue)
}
main {
  max-width:var(--pure-width);
  padding:0 24px 88px;
  min-height:65vh;
  margin-inline:auto
}
.site-header {
  height:var(--pure-header-height);
  padding:0 max(24px,calc((100% - 1200px)/2));
  gap:28px;
  border-bottom:1px solid #e8e8ed;
  background:#ffffffed;
  backdrop-filter:saturate(160%) blur(16px);
  -webkit-backdrop-filter:saturate(160%) blur(16px);
  z-index:60
}
.brand {
  gap:8px
}
.brand-icon {
  width:31px;
  height:31px
}
.brand-word {
  font-size:23px;
  font-weight:700;
  letter-spacing:-1px;
  color:var(--ink)
}
.brand-word b {
  font-weight:500;
  color:var(--ink)
}
.site-header nav {
  gap:25px
}
.site-header nav a {
  font-size:12px;
  font-weight:500;
  line-height:1.5;
  padding:26px 0;
  color:#424248;
  position:relative
}
.site-header nav a:hover {
  color:var(--blue)
}
.site-header nav a[aria-current] {
  color:var(--ink);
  font-weight:700
}
.site-header nav a[aria-current]:after {
  height:2px;
  background:var(--ink);
  position:absolute;
  bottom:15px;
  left:0;
  right:0;
  border-radius:2px
}
.header-actions {
  gap:18px
}
.language {
  font-size:11px;
  color:#68686e;
  min-width:24px;
  text-align:center
}
.header-actions .button {
  font-size:11px;
  min-height:36px;
  padding:8px 13px
}
.menu-button {
  border:0;
  background:none;
  color:var(--ink)
}
.menu-lines {
  display:inline-grid;
  gap:4px;
  width:17px;
  margin-left:7px;
  vertical-align:middle
}
.menu-lines:before,.menu-lines:after {
  content:'';
  height:1.5px;
  width:17px;
  background:currentColor;
  display:block;
  transition:transform .25s
}
.menu-button[aria-expanded=true] .menu-lines:before {
  transform:translateY(2.75px) rotate(45deg)
}
.menu-button[aria-expanded=true] .menu-lines:after {
  transform:translateY(-2.75px) rotate(-45deg)
}
.skip-link {
  border-radius:8px;
  z-index:100
}
.back-link {
  font-size:13px;
  margin-top:30px;
  color:var(--muted)
}
.back-link:hover {
  color:var(--blue)
}
/* The comparison is the product visual. */
.pure-hero {
  text-align:center;
  padding:51px 16px 43px
}
.hero-kicker {
  font-size:15px;
  color:#56565d;
  font-weight:550;
  margin:0 0 19px
}
.pure-hero h1 {
  font-size:clamp(44px,5.45vw,78px);
  line-height:1.045;
  letter-spacing:-.061em;
  font-weight:700;
  margin:0;
  animation:hero-enter .8s var(--pure-ease) both
}
.pure-hero h1 span {
  display:block;
  color:#6e6e73
}
.hero-description {
  font-size:17px;
  line-height:1.7;
  color:var(--muted);
  margin:24px auto 25px;
  max-width:650px;
  animation:hero-enter .8s .08s var(--pure-ease) both
}
.hero-actions {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  animation:hero-enter .8s .14s var(--pure-ease) both
}
.hero-actions .text-link {
  margin:0
}
.hero-caption {
  font-size:11px;
  color:#6e6e73;
  margin:21px 0 0
}
.page-intro {
  padding:53px 0 37px;
  max-width:1000px
}
.page-intro h1 {
  margin-bottom:22px
}
.page-intro .eyebrow {
  font-weight:500;
  margin-bottom:19px
}
.page-intro .lead {
  margin-bottom:0
}
.page-intro h1 em {
  color:#6e6e73;
  font-weight:600
}
.directory-section {
  padding:36px 0 30px;
  background:var(--soft);
  box-shadow:0 0 0 100vmax var(--soft);
  clip-path:inset(0 -100vmax);
  scroll-margin-top:74px
}
.section-heading {
  margin-bottom:26px;
  gap:24px;
  align-items:center
}
.section-heading h2 {
  font-size:30px;
  font-weight:650;
  letter-spacing:-1.2px;
  margin:0
}
.section-heading h1 {
  font-size:48px;
  margin:0
}
.section-heading .eyebrow {
  margin:0 0 10px
}
.directory-date {
  font-size:12px;
  color:var(--muted);
  white-space:nowrap;
  margin:0
}
.directory-layout {
  display:block
}
.directory-layout>div {
  min-width:0
}
.filter-bar {
  display:grid;
  grid-template-columns:minmax(260px,1fr) 185px 168px 160px;
  gap:12px;
  padding:0;
  border:0;
  background:none;
  align-items:end
}
.filter-bar>label:not(.search-field) {
  width:auto;
  min-width:0
}
.filter-bar label>span:not(.sr-only) {
  font-size:11px;
  font-weight:500;
  color:#64646b;
  margin:0 0 6px 2px
}
.filter-bar .search-field {
  padding:0;
  min-width:0
}
.filter-bar .search-field input {
  padding-left:44px;
  padding-right:16px
}
.search-field svg {
  position:absolute;
  left:16px;
  top:16px;
  width:18px;
  height:18px;
  stroke:#77777f;
  stroke-width:1.6;
  fill:none;
  pointer-events:none
}
.search-field>span:not(.sr-only) {
  display:none
}
input:not([type=checkbox]),select,textarea {
  border-color:#d9d9df;
  border-radius:10px;
  font-size:13px;
  padding:12px 14px;
  min-height:48px;
  background:#fff;
  color:var(--ink)
}
select {
  padding-right:30px
}
input:hover,select:hover {
  border-color:#aaaab3
}
.result-toolbar {
  margin:19px 0 14px;
  gap:12px
}
.result-toolbar>div {
  font-size:12px;
  gap:15px
}
.result-toolbar select {
  font-size:12px;
  border:0;
  background:transparent;
  min-height:36px;
  padding:6px 28px 6px 12px;
  width:auto
}
.result-toolbar .text-button {
  font-size:11px;
  min-height:36px
}
.vendor-table-wrap {
  border:1px solid #e8e8ed;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 3px 12px #1d1d1f03
}
.vendor-table {
  --selection-column-width:8rem;
  font-size:13px;
  table-layout:fixed;
  background:#fff
}
.vendor-table th {
  font-size:11px;
  font-weight:500;
  color:#707078;
  border-top:0;
  border-bottom:1px solid var(--line);
  background:#fff;
  padding:16px 12px;
  white-space:normal
}
.vendor-table th:nth-child(1) {
  width:25%;
  padding-left:22px
}
.vendor-table th:nth-child(7) {
  width:var(--selection-column-width);
  font-size:10px;
  padding-inline:0;
  text-align:center
}
.vendor-table td {
  padding:21px 12px;
  vertical-align:middle;
  border-bottom:1px solid #ececf0;
  transition:background .18s
}
.vendor-table td:first-child {
  padding-left:22px;
  width:auto
}
.vendor-table tr:last-child td {
  border-bottom:0
}
.vendor-table tbody tr:hover {
  background:#fafafd
}
.vendor-table tr:has(input:checked) {
  background:#f2f7ff
}
.vendor-table tr:has(input:checked):hover {
  background:#eaf3ff
}
.vendor-identity {
  gap:13px
}
.vendor-avatar,.vendor-avatar.has-logo:not(.large) {
  width:42px;
  height:42px;
  border:1px solid #e8e8ed;
  border-radius:10px;
  background:#f5f5f7;
  letter-spacing:-.04em;
  font-size:13px;
  font-weight:600
}
.vendor-avatar.has-logo {
  background:white
}
.vendor-avatar.has-logo img {
  padding:3px
}
.vendor-name {
  font-size:13px;
  font-weight:650;
  letter-spacing:-.015em;
  white-space:normal;
  line-height:1.45
}
.vendor-name:hover {
  color:var(--blue)
}
.vendor-table small {
  font-size:10px;
  line-height:1.5;
  margin-top:4px;
  color:#6e6e73;
  overflow-wrap:anywhere
}
.vendor-identity small:last-child {
  font-size:9px
}
.vendor-table td>strong {
  font-size:12px;
  font-weight:550;
  line-height:1.5
}
.vendor-table .cell-text {
  font-size:11px;
  line-height:1.65;
  color:#57575f
}
.vendor-table .hint-tag {
  font-size:10px;
  color:#9a411d!important;
  font-weight:550
}
.rating-link {
  display:inline-block;
  text-decoration:none;
  max-width:100%;
  border-radius:5px
}
.rating-link:hover .score-value {
  color:var(--blue)
}
.score-value {
  font-size:28px;
  font-weight:650;
  letter-spacing:-.055em;
  line-height:1.2;
  font-variant-numeric:tabular-nums
}
.score-value small,.vendor-table .score-value small {
  display:inline;
  font-size:9px;
  color:#6e6e73;
  margin-left:3px;
  letter-spacing:0
}
.vendor-table .price-level {
  font-size:10px;
  margin-top:6px
}
.price-level.cheaper {
  color:#24704d
}
.price-level.pricier {
  color:#8f472a
}
.not-rated {
  font-size:11px;
  line-height:1.55;
  color:#746850;
  max-width:110px;
  font-weight:500
}
.fake-badge {
  background:#fff0ed;
  border:1px solid #e9c0b9;
  color:#9d281c;
  font-size:10px;
  font-weight:650;
  padding:5px 7px;
  border-radius:5px;
  max-width:100%;
  white-space:normal
}
.selection-cell {
  padding-inline:7px!important;
  text-align:center
}
.selection-cell label {
  position:relative;
  min-height:44px;
  min-width:44px;
  justify-content:center
}
.selection-cell input {
  appearance:none;
  -webkit-appearance:none;
  width:30px;
  height:30px;
  margin:0;
  background:#fff;
  border:1px solid #d3d3dc;
  border-radius:50%;
  cursor:pointer;
  transition:background .18s,border-color .18s
}
.selection-cell label:after {
  content:'+';
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#6e6e73;
  font-size:21px;
  line-height:1;
  pointer-events:none;
  font-weight:400
}
.selection-cell label:has(:checked):after {
  content:'✓';
  font-size:15px;
  color:#fff
}
.selection-cell input:checked {
  background:#0071e3;
  border-color:#0071e3
}
.selection-cell label:hover input {
  border-color:#0071e3
}
.table-footnote {
  font-size:11px;
  line-height:1.7;
  margin:17px 4px 0;
  gap:35px
}
.table-footnote>span {
  max-width:880px
}
.table-footnote a {
  font-size:11px;
  text-decoration:none;
  min-width:125px
}
.directory-aside {
  display:block;
  margin-top:34px;
  border-top:1px solid #dddde3;
  padding-top:28px;
  position:static
}
.directory-aside .weights {
  display:none
}
.directory-aside .aside-note {
  padding:0;
  display:grid;
  grid-template-columns:270px 1fr 190px;
  gap:20px;
  align-items:center
}
.directory-aside .aside-note>.eyebrow {
  display:none
}
.directory-aside h3 {
  font-size:16px;
  line-height:1.5;
  letter-spacing:-.025em;
  margin:0
}
.directory-aside p {
  font-size:12px;
  line-height:1.8;
  margin:0;
  color:var(--muted)
}
.directory-aside .text-link {
  font-size:12px;
  justify-self:end;
  margin:0
}
.empty-state {
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:58px 25px;
  text-align:center;
  margin:15px 0
}
.empty-state>span {
  display:block;
  font-size:32px;
  line-height:1;
  color:#6e6e73;
  margin-bottom:20px
}
.empty-state h3 {
  font-size:24px;
  margin:0 0 13px
}
.empty-state p {
  font-size:14px;
  color:var(--muted);
  margin:0 auto 20px;
  max-width:420px
}
.empty-state .button {
  font-size:12px
}
/* Information design, derived from current evidence and methodology. */
.pure-proof {
  margin:65px 0 0;
  padding:0 0 60px;
  border-bottom:1px solid var(--line)
}
.proof-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  font-size:16px;
  font-weight:600
}
.proof-heading a {
  font-size:13px;
  font-weight:500;
  text-decoration:none
}
.pure-proof dl {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:32px 0 24px;
  gap:50px
}
.pure-proof dl>div {
  display:flex;
  flex-direction:column-reverse;
  gap:8px;
  border-right:1px solid var(--line)
}
.pure-proof dl>div:last-child {
  border:0
}
.pure-proof dd {
  font-size:62px;
  line-height:1.1;
  font-weight:600;
  letter-spacing:-.055em;
  color:var(--ink);
  margin:0
}
.pure-proof dt {
  font-size:13px;
  color:var(--muted)
}
.pure-proof>p {
  font-size:11px;
  color:var(--muted);
  margin:0
}
.pure-proof>p a {
  color:var(--muted);
  text-decoration:none
}
.pure-proof>p a:hover {
  color:var(--blue);
  text-decoration:underline
}
.pure-method {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
  align-items:center;
  padding:89px 0
}
.pure-section-copy h2 {
  font-size:48px;
  letter-spacing:-.05em;
  line-height:1.15;
  margin-bottom:25px
}
.pure-section-copy h2 span {
  color:#6e6e73
}
.pure-section-copy>p:not(.section-kicker) {
  font-size:15px;
  line-height:1.9;
  max-width:460px;
  color:var(--muted)
}
.method-composition {
  padding:30px 34px;
  background:var(--soft);
  border-radius:22px
}
.composition-top {
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:11px;
  color:var(--muted)
}
.composition-top>span:first-child {
  font-weight:600;
  color:#4e4e56
}
.composition-total {
  display:flex;
  align-items:baseline;
  gap:14px;
  margin:24px 0 22px
}
.composition-total strong {
  font-size:71px;
  line-height:1;
  font-weight:600;
  color:var(--ink);
  letter-spacing:-.06em
}
.composition-total>span {
  font-size:12px;
  color:var(--muted)
}
.composition-bar {
  display:flex;
  height:10px;
  gap:3px;
  border-radius:6px;
  overflow:hidden
}
.composition-bar i {
  flex:var(--part);
  background:var(--part-color);
  transform-origin:left
}
.part-0 {
  --part-color:#0071e3
}
.part-1 {
  --part-color:#6aa7e5
}
.part-2 {
  --part-color:#9cbad8
}
.part-3 {
  --part-color:#c2cdd8
}
.method-composition dl {
  margin:26px 0
}
.method-composition dl>div {
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid #dddde4;
  padding:11px 0;
  font-size:12px
}
.method-composition dt {
  display:flex;
  align-items:center;
  gap:10px;
  color:#51515a
}
.method-composition dt i {
  display:block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--part-color)
}
.method-composition dd {
  font-weight:600;
  font-size:14px;
  margin:0;
  font-variant-numeric:tabular-nums
}
.method-composition dd span {
  font-weight:400;
  font-size:10px;
  color:#6e6e73
}
.method-composition>p {
  font-size:11px;
  line-height:1.7;
  color:var(--muted);
  margin:0
}
.pure-evidence {
  padding:65px 0 68px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.evidence-title h2 {
  font-size:40px;
  letter-spacing:-.045em;
  line-height:1.2;
  margin:0
}
.evidence-title h2>span {
  display:block;
  color:#6e6e73
}
.evidence-steps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  list-style:none;
  margin:42px 0 0;
  padding:0;
  gap:50px
}
.evidence-steps li {
  border-top:1px solid #ceced6;
  padding:19px 0 0;
  position:relative
}
.step-number {
  font-size:12px;
  font-weight:600;
  color:#6e6e73;
  display:block;
  margin-bottom:29px
}
.evidence-steps li:not(:last-child):after {
  content:'→';
  position:absolute;
  top:12px;
  right:0;
  color:#6e6e73;
  font-size:18px
}
.evidence-steps h3 {
  font-size:20px;
  line-height:1.4;
  letter-spacing:-.03em;
  margin:0 0 13px
}
.evidence-steps p {
  font-size:13px;
  line-height:1.85;
  color:var(--muted);
  margin:0 0 20px
}
.evidence-steps a {
  font-size:12px;
  text-decoration:none
}
.pure-explore {
  padding:73px 0;
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:70px;
  align-items:start
}
.explore-heading h2 {
  font-size:37px;
  letter-spacing:-.045em;
  margin-bottom:17px
}
.explore-heading p {
  font-size:14px;
  color:var(--muted);
  max-width:270px;
  line-height:1.8
}
.explore-links a {
  display:grid;
  grid-template-columns:22px 1fr 32px;
  gap:20px;
  text-decoration:none;
  padding:21px 0;
  border-bottom:1px solid var(--line);
  color:var(--ink);
  align-items:center
}
.explore-links a:first-child {
  padding-top:0
}
.explore-index {
  font-size:11px;
  color:#6e6e73;
  align-self:start;
  padding-top:5px
}
.explore-links strong {
  display:block;
  font-size:18px;
  letter-spacing:-.025em;
  font-weight:600
}
.explore-links small {
  display:block;
  font-size:12px;
  line-height:1.8;
  margin-top:6px;
  color:var(--muted)
}
.explore-arrow {
  border:1px solid #e1e1e8;
  border-radius:50%;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  font-size:16px;
  transition:transform .2s,color .2s
}
.explore-links a:hover .explore-arrow {
  color:var(--blue);
  transform:translate(2px,-2px);
  border-color:#bed8f4
}
.pure-cta {
  padding:54px 24px;
  text-align:center;
  background:var(--soft);
  border-radius:24px
}
.pure-cta h2 {
  font-size:43px;
  letter-spacing:-.045em;
  margin:0 0 18px
}
.pure-cta .section-kicker {
  font-size:12px;
  margin-bottom:14px
}
.pure-cta p:not(.section-kicker) {
  max-width:530px;
  margin:0 auto 25px;
  font-size:14px;
  line-height:1.8;
  color:var(--muted)
}
.panel {
  border:1px solid var(--line);
  border-radius:20px;
  padding:30px;
  background:#fff;
  margin-bottom:24px
}
.panel h2 {
  font-size:26px;
  font-weight:600;
  line-height:1.3
}
.panel p,.panel li {
  font-size:15px;
  line-height:1.85
}
.panel .fine {
  font-size:12px
}
.notice {
  border-radius:0 10px 10px 0;
  font-size:13px!important;
  line-height:1.8;
  background:#f4f6f9;
  border-left-color:#c6cdd5;
  padding:18px 20px
}
.notice a {
  overflow-wrap:anywhere
}
.notice li {
  font-size:13px
}
.readable {
  max-width:900px
}
.content-columns {
  gap:28px;
  grid-template-columns:minmax(0,1fr) 300px
}
.content-columns>aside {
  top:98px
}
.content-columns>aside h2 {
  font-size:22px
}
.content-columns>aside p {
  font-size:13px
}
.facts>div {
  padding:12px 0;
  border-bottom-color:var(--line)
}
.facts dt {
  font-size:13px;
  font-weight:500
}
.facts dd {
  font-size:14px;
  line-height:1.7
}
.source-flow {
  gap:24px
}
.source-flow li {
  border-color:#d6d6df
}
.source-flow li strong {
  font-size:15px
}
.source-flow li small {
  font-size:12px;
  line-height:1.6
}
.source-flow li>span {
  color:#6e6e73
}
.editorial-feature {
  gap:55px;
  padding-block:45px
}
.editorial-feature h2 {
  font-size:38px;
  line-height:1.2
}
.editorial-feature p:not(.eyebrow) {
  font-size:15px;
  line-height:1.85
}
.research-photo {
  border-radius:18px;
  overflow:hidden;
  margin:0
}
.research-photo img {
  display:block;
  aspect-ratio:3/2;
  object-fit:cover
}
.research-photo figcaption {
  background:#f5f5f7;
  color:var(--muted);
  font-size:10px;
  padding:7px 13px
}
.process-grid {
  gap:22px
}
.process-grid article {
  border-radius:16px;
  background:#f5f5f7;
  border:0;
  padding:28px
}
.process-grid h2 {
  font-size:22px
}
.process-grid p {
  font-size:13px;
  line-height:1.8;
  color:var(--muted)
}
.index-number {
  color:#6e6e73;
  font-size:12px;
  font-weight:500
}
.guide-article h2 {
  font-size:29px;
  margin-top:40px
}
.guide-article p {
  font-size:16px;
  line-height:1.9
}
.guide-card,.knowledge-grid article {
  border-radius:16px;
  border-color:var(--line);
  background:#f8f8fa
}
.guide-card h2,.knowledge-grid h2 {
  font-size:24px
}
.guide-card p,.knowledge-grid p {
  font-size:14px;
  line-height:1.8
}
.contact-mail {
  font-size:23px;
  letter-spacing:-.03em
}
.case-tag {
  font-size:10px;
  letter-spacing:0
}
.correction-list li,.case-list li {
  padding:24px 0
}
.evidence-shop {
  padding:22px 0
}
.evidence-shop summary {
  font-size:15px
}
.evidence-shop summary span {
  font-size:12px;
  color:var(--muted)
}
.evidence-shop[open] summary {
  margin-bottom:25px
}
.site-footer {
  padding:57px max(24px,calc((100% - 1200px)/2)) 24px;
  background:var(--soft);
  border-top:1px solid var(--line)
}
.footer-top {
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:50px
}
.footer-top .brand {
  margin-bottom:17px
}
.footer-top .brand-icon {
  width:29px;
  height:29px
}
.footer-top .brand-word {
  font-size:21px
}
.footer-top h2 {
  font-size:12px;
  font-weight:650;
  letter-spacing:0;
  margin:7px 0 19px
}
.footer-top p {
  font-size:12px;
  line-height:1.9;
  max-width:245px
}
.footer-top p.fine {
  font-size:11px;
  max-width:235px
}
.footer-link {
  font-size:11px;
  margin-bottom:11px;
  line-height:1.7;
  color:#62626a
}
.footer-link:hover {
  color:var(--blue)
}
.footer-bottom {
  font-size:10px;
  margin-top:35px;
  padding-top:22px;
  gap:16px
}
.comparison-tray {
  border:1px solid #dce2eb;
  background:#fffffff7;
  backdrop-filter:blur(14px);
  border-radius:18px;
  box-shadow:0 12px 48px #1d1d1f24;
  bottom:20px;
  padding:14px 17px;
  gap:20px;
  max-width:calc(100vw - 48px);
  z-index:80;
  font-size:13px;
  animation:tray-enter .3s var(--pure-ease) both
}
.tray-info {
  min-width:110px
}
.tray-info strong {
  font-size:13px;
  display:block;
  font-weight:650
}
.tray-info small {
  display:block;
  font-size:10px;
  color:var(--muted)
}
.tray-shops {
  display:flex;
  gap:6px
}
.tray-chip {
  border:1px solid #e4e4eb;
  border-radius:7px;
  padding:7px 9px;
  font-size:10px;
  max-width:140px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#5a5a63;
  background:#f7f7fa
}
.tray-clear {
  color:var(--muted)!important;
  font-size:11px!important
}
.tray-go {
  white-space:nowrap
}
.status-toast {
  position:fixed;
  left:50%;
  bottom:110px;
  transform:translateX(-50%);
  z-index:95;
  border-radius:12px;
  padding:0;
  color:#fff;
  background:#28282e;
  box-shadow:0 5px 22px #0002;
  font-size:13px;
  line-height:1.6;
  max-width:calc(100vw - 40px);
  pointer-events:none;
  opacity:0;
  transition:opacity .2s
}
.status-toast.show {
  padding:13px 19px;
  opacity:1
}
.scroll-jump {
  width:40px;
  height:40px;
  font-size:18px;
  right:18px;
  bottom:20px;
  border-color:#dddde4;
  background:#ffffffef;
  box-shadow:0 3px 15px #1d1d1f0b;
  z-index:70
}
.scroll-jump:hover {
  transform:translateY(-2px)
}
@keyframes hero-enter {
  from {
    opacity:0;
    transform:translateY(13px)
  }
  to {
    opacity:1;
    transform:translateY(0)
  }
}
@keyframes tray-enter {
  from {
    opacity:0;
    translate:0 15px
  }
  to {
    opacity:1;
    translate:0 0
  }
}
@keyframes reveal-enter {
  from {
    opacity:.05;
    transform:translateY(20px)
  }
  to {
    opacity:1;
    transform:translateY(0)
  }
}
@keyframes bar-enter {
  from {
    scale:0 1
  }
  to {
    scale:1 1
  }
}
.reveal-visible {
  animation:reveal-enter .65s var(--pure-ease) both
}
.reveal-visible .composition-bar i {
  animation:bar-enter .7s var(--pure-ease) both
}
.score-track i {
  transform-origin:left;
  animation:bar-enter .6s var(--pure-ease) both
}
@media(min-width:1800px) {
  :root {
    --pure-width:1368px
  }
  .site-header,.site-footer {
    padding-inline:max(32px,calc((100% - 1320px)/2))
  }
  .vendor-name {
    font-size:14px
  }
  .vendor-table .cell-text {
    font-size:12px
  }
}
@media(max-width:1130px) {
  .site-header {
    gap:20px
  }
  .site-header nav {
    gap:18px
  }
  .header-actions .button {
    display:none
  }
  .pure-method {
    gap:50px
  }
  .filter-bar {
    grid-template-columns:minmax(220px,1fr) 170px 150px 140px
  }
  .vendor-name {
    font-size:12px
  }
  .vendor-table th,.vendor-table td {
    padding-inline:9px
  }
  .vendor-table th:first-child,.vendor-table td:first-child {
    padding-left:16px
  }
  .vendor-avatar,.vendor-avatar.has-logo:not(.large) {
    width:35px;
    height:35px
  }
  .vendor-identity {
    gap:10px
  }
  .vendor-table .cell-text {
    font-size:11px
  }
  .directory-aside .aside-note {
    grid-template-columns:220px 1fr
  }
  .directory-aside .text-link {
    grid-column:2;
    justify-self:start
  }
  .pure-section-copy h2 {
    font-size:42px
  }
  .footer-top {
    gap:28px
  }
  .table-footnote {
    gap:20px
  }
}
@media(max-width:900px) {
  .site-header nav {
    gap:15px
  }
  .site-header nav a {
    font-size:11px
  }
  .brand-word {
    font-size:21px
  }
  .brand-icon {
    width:28px;
    height:28px
  }
  .header-actions {
    gap:10px
  }
  .filter-bar {
    grid-template-columns:1fr 1fr 1fr
  }
  .filter-bar .search-field {
    grid-column:1/-1
  }
  .search-field svg {
    top:16px
  }
  .pure-hero {
    padding-top:43px
  }
  .pure-hero h1 {
    font-size:62px
  }
  .hero-description {
    font-size:16px
  }
  .directory-date span {
    display:none
  }
  .directory-layout>div {
    width:100%
  }
  .vendor-table-wrap {
    border:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
    border-radius:0
  }
  .vendor-table {
    display:block;
    background:transparent;
    table-layout:auto
  }
  .vendor-table thead {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0,0,0,0)
  }
  .vendor-table tbody {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px
  }
  .vendor-table tr {
    display:grid;
    grid-template-columns:1fr 1fr;
    background:#fff;
    border:1px solid #e4e4eb;
    border-radius:16px;
    padding:19px 18px;
    gap:15px 14px;
    position:relative;
    align-content:start
  }
  .vendor-table tr:hover {
    background:#fff
  }
  .vendor-table tr:has(input:checked) {
    border-color:#85b8ed;
    background:#f7faff
  }
  .vendor-table td {
    display:block;
    height:auto;
    border:0;
    padding:0;
    font-size:12px;
    min-width:0
  }
  .vendor-table td:first-child {
    padding:0;
    grid-column:1/-1;
    padding-right:38px;
    width:auto;
    margin-bottom:4px
  }
  .vendor-identity {
    gap:12px
  }
  .vendor-name {
    font-size:14px
  }
  .vendor-avatar,.vendor-avatar.has-logo:not(.large) {
    width:40px;
    height:40px
  }
  .vendor-table td:not(:first-child):not(:last-child):before {
    content:attr(data-label);
    display:block;
    font-size:10px;
    color:#6e6e73;
    margin-bottom:4px
  }
  .vendor-table td:last-child {
    position:absolute;
    right:9px;
    top:14px;
    padding:0!important
  }
  .vendor-table td>strong {
    font-size:12px
  }
  .vendor-table .cell-text {
    font-size:12px
  }
  .vendor-table small {
    font-size:10px
  }
  .vendor-table .score-value {
    font-size:28px
  }
  .vendor-table td:nth-child(6) {
    grid-column:2;
    grid-row:3
  }
  .vendor-table td:nth-child(5) {
    grid-column:1;
    grid-row:4
  }
  .vendor-table td:nth-child(4) {
    grid-column:1;
    grid-row:3
  }
  .vendor-table td:nth-child(3) {
    grid-column:2;
    grid-row:2
  }
  .vendor-table td:nth-child(2) {
    grid-column:1;
    grid-row:2
  }
  .table-footnote {
    display:block;
    font-size:10px
  }
  .table-footnote a {
    display:inline-block;
    margin-top:10px;
    font-size:11px
  }
  .directory-aside .aside-note {
    grid-template-columns:1fr;
    gap:12px
  }
  .directory-aside .text-link {
    grid-column:1
  }
  .directory-aside h3 {
    font-size:17px
  }
  .directory-aside p {
    max-width:650px
  }
  .pure-method {
    gap:36px;
    padding:64px 0
  }
  .pure-section-copy h2 {
    font-size:35px
  }
  .method-composition {
    padding:25px
  }
  .composition-top {
    font-size:10px
  }
  .pure-section-copy>p:not(.section-kicker) {
    font-size:14px
  }
  .evidence-steps {
    gap:25px
  }
  .evidence-steps h3 {
    font-size:18px
  }
  .evidence-steps p {
    font-size:12px
  }
  .pure-explore {
    gap:35px;
    grid-template-columns:1fr 1.2fr
  }
  .explore-heading h2 {
    font-size:31px
  }
  .explore-links strong {
    font-size:16px
  }
  .explore-links a {
    gap:14px
  }
  .content-columns {
    grid-template-columns:1fr
  }
  .content-columns>aside {
    position:static
  }
  .footer-top {
    grid-template-columns:repeat(3,1fr);
    gap:32px
  }
  .footer-top>div:first-child {
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 50px
  }
  .footer-top>div:first-child .brand {
    grid-row:1/3
  }
  .footer-top p {
    max-width:100%;
    margin-bottom:10px
  }
  .footer-top p.fine {
    max-width:100%
  }
  .tray-shops {
    display:none
  }
  .editorial-feature {
    gap:30px
  }
  .editorial-feature h2 {
    font-size:31px
  }
}
@media(max-width:700px) {
  :root {
    --pure-header-height:65px;
    scroll-padding-top:85px
  }
  .site-header {
    padding-inline:20px;
    gap:12px;
    justify-content:space-between
  }
  .brand-word {
    font-size:21px
  }
  .brand-icon {
    width:27px;
    height:27px
  }
  .site-header .menu-button {
    display:block;
    font-size:11px;
    padding:12px 0;
    min-height:44px;
    margin-left:auto
  }
  .header-actions {
    order:2;
    margin:0
  }
  .header-actions .language {
    font-size:10px;
    padding:10px;
    min-height:40px;
    display:grid;
    place-items:center
  }
  .site-header nav {
    position:absolute;
    top:65px;
    left:0;
    right:0;
    padding:12px 20px 22px;
    border-bottom:1px solid var(--line);
    background:#fffffff7;
    box-shadow:0 20px 25px #00000008;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    margin:0
  }
  .site-header nav.open {
    display:flex;
    animation:hero-enter .25s var(--pure-ease) both
  }
  .site-header nav a {
    font-size:17px;
    padding:12px 6px
  }
  .site-header nav a[aria-current]:after {
    display:none
  }
  .site-header nav a[aria-current] {
    color:var(--blue)
  }
  main {
    padding:0 20px 55px
  }
  .pure-hero {
    padding:38px 0 31px
  }
  .hero-kicker {
    font-size:12px;
    margin-bottom:18px
  }
  .pure-hero h1 {
    font-size:clamp(38px,10.6vw,58px);
    line-height:1.07;
    letter-spacing:-.058em
  }
  .pure-hero h1 span {
    max-width:370px;
    margin-inline:auto
  }
  .hero-description {
    font-size:13px;
    line-height:1.8;
    margin:23px auto;
    max-width:345px
  }
  .hero-actions {
    gap:19px
  }
  .hero-actions .button {
    font-size:12px;
    padding:12px 18px;
    min-height:43px
  }
  .hero-actions .text-link {
    font-size:12px
  }
  .hero-caption {
    font-size:9px;
    margin-top:19px
  }
  .page-intro {
    padding:37px 0 29px
  }
  .page-intro h1 {
    font-size:38px;
    line-height:1.13;
    margin-bottom:18px
  }
  .page-intro .eyebrow {
    font-size:11px;
    margin-bottom:16px
  }
  .page-intro .lead {
    font-size:15px;
    line-height:1.8
  }
  .directory-section {
    padding:27px 0 28px;
    scroll-margin-top:65px
  }
  .section-heading {
    gap:10px;
    margin-bottom:20px
  }
  .section-heading h2 {
    font-size:24px;
    line-height:1.3;
    letter-spacing:-.9px
  }
  .section-heading h1 {
    font-size:36px;
    line-height:1.2
  }
  .directory-date {
    font-size:10px;
    padding-top:5px
  }
  .filter-bar {
    gap:10px;
    grid-template-columns:1fr 1fr
  }
  .filter-bar .search-field {
    grid-column:1/-1
  }
  .filter-bar>label:nth-child(2) {
    grid-column:1/-1
  }
  .filter-bar label>span:not(.sr-only) {
    font-size:10px;
    margin-bottom:5px
  }
  .filter-bar .search-field input {
    font-size:12px;
    min-height:46px
  }
  .filter-bar select {
    min-height:42px;
    padding:9px 12px;
    font-size:12px
  }
  .search-field svg {
    top:15px;
    width:17px;
    height:17px
  }
  .result-toolbar {
    margin:12px 0 13px
  }
  .result-toolbar>div {
    font-size:11px;
    gap:10px
  }
  .result-toolbar select {
    font-size:11px;
    max-width:175px
  }
  .result-toolbar .text-button {
    font-size:10px
  }
  .vendor-table tbody {
    display:grid;
    grid-template-columns:1fr;
    gap:13px
  }
  .vendor-table tr {
    padding:19px 18px;
    gap:15px 20px
  }
  .vendor-table .vendor-name {
    font-size:15px
  }
  .vendor-table td:nth-child(5) {
    grid-row:3;
    grid-column:2
  }
  .vendor-table td:nth-child(6) {
    grid-row:4;
    grid-column:1/-1;
    padding-top:13px;
    border-top:1px solid var(--line);
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap
  }
  .vendor-table td:nth-child(6):before {
    display:inline;
    margin:0 auto 0 0;
    font-size:11px
  }
  .vendor-table .score-value {
    font-size:27px
  }
  .vendor-table .price-level {
    font-size:10px;
    margin:0;
    max-width:130px
  }
  .vendor-table .not-rated {
    max-width:160px
  }
  .vendor-table .fake-badge {
    font-size:10px
  }
  .directory-aside {
    margin-top:26px;
    padding-top:23px
  }
  .directory-aside .aside-note {
    display:block
  }
  .directory-aside h3 {
    font-size:16px;
    margin-bottom:10px
  }
  .directory-aside p {
    font-size:11px;
    line-height:1.8
  }
  .directory-aside .text-link {
    margin-top:10px;
    font-size:11px
  }
  .pure-proof {
    margin-top:35px;
    padding-bottom:36px
  }
  .proof-heading {
    font-size:14px
  }
  .proof-heading a {
    font-size:11px
  }
  .pure-proof dl {
    gap:20px;
    margin:27px 0 21px
  }
  .pure-proof dd {
    font-size:42px
  }
  .pure-proof dt {
    font-size:10px;
    max-width:100px;
    line-height:1.65
  }
  .pure-proof>p {
    font-size:10px
  }
  .pure-method {
    grid-template-columns:1fr;
    gap:30px;
    padding:44px 0
  }
  .pure-section-copy h2 {
    font-size:36px;
    margin-bottom:19px
  }
  .pure-section-copy>p:not(.section-kicker) {
    font-size:13px;
    line-height:1.9
  }
  .section-kicker {
    font-size:11px;
    margin-bottom:15px
  }
  .pure-section-copy .text-link {
    font-size:12px
  }
  .method-composition {
    padding:25px;
    border-radius:20px
  }
  .composition-top {
    font-size:10px
  }
  .composition-total strong {
    font-size:64px
  }
  .composition-total>span {
    font-size:11px
  }
  .method-composition dl {
    margin:23px 0
  }
  .method-composition dl>div {
    font-size:11px;
    padding:10px 0
  }
  .method-composition>p {
    font-size:10px
  }
  .pure-evidence {
    padding:42px 0
  }
  .evidence-title h2 {
    font-size:29px
  }
  .evidence-title h2>span {
    margin-top:4px
  }
  .evidence-steps {
    grid-template-columns:1fr;
    gap:30px;
    margin-top:30px
  }
  .evidence-steps li {
    padding-top:15px;
    display:grid;
    grid-template-columns:28px 1fr;
    gap:0 14px
  }
  .step-number {
    font-size:11px;
    grid-column:1;
    grid-row:1/4;
    margin:4px 0 0
  }
  .evidence-steps h3 {
    grid-column:2;
    font-size:20px;
    margin:0 0 10px
  }
  .evidence-steps p {
    grid-column:2;
    font-size:12px;
    margin:0 0 14px
  }
  .evidence-steps a {
    grid-column:2;
    font-size:11px
  }
  .evidence-steps li:not(:last-child):after {
    display:none
  }
  .pure-explore {
    padding:42px 0;
    grid-template-columns:1fr;
    gap:25px
  }
  .explore-heading h2 {
    font-size:30px;
    margin-bottom:12px
  }
  .explore-heading p {
    font-size:13px;
    max-width:none;
    margin:0
  }
  .explore-links a {
    padding:21px 0;
    grid-template-columns:16px 1fr 30px;
    gap:13px
  }
  .explore-links strong {
    font-size:16px;
    line-height:1.5
  }
  .explore-links small {
    font-size:11px
  }
  .explore-index {
    font-size:10px
  }
  .pure-cta {
    padding:35px 20px;
    border-radius:20px
  }
  .pure-cta h2 {
    font-size:34px
  }
  .pure-cta .section-kicker {
    font-size:10px
  }
  .pure-cta p:not(.section-kicker) {
    font-size:12px;
    line-height:1.9
  }
  .pure-cta .button {
    font-size:12px
  }
  .panel {
    padding:23px 20px;
    border-radius:16px;
    margin-bottom:20px
  }
  .panel h2 {
    font-size:24px
  }
  .panel p,.panel li {
    font-size:13px;
    line-height:1.85
  }
  .panel .fine {
    font-size:11px
  }
  .notice {
    padding:15px;
    font-size:12px!important;
    overflow-wrap:anywhere
  }
  .notice li {
    font-size:12px
  }
  .facts dt {
    font-size:12px
  }
  .facts dd {
    font-size:13px
  }
  .back-link {
    font-size:11px;
    margin-top:24px
  }
  .editorial-feature,.editorial-feature.reverse {
    display:flex;
    flex-direction:column;
    gap:26px;
    padding:24px 0
  }
  .editorial-feature h2 {
    font-size:30px
  }
  .editorial-feature p:not(.eyebrow) {
    font-size:13px
  }
  .process-grid {
    grid-template-columns:1fr;
    gap:15px
  }
  .process-grid article {
    padding:23px
  }
  .process-grid h2 {
    font-size:22px
  }
  .source-flow {
    flex-direction:column;
    gap:18px
  }
  .source-flow li {
    display:flex;
    gap:15px;
    padding-top:13px
  }
  .source-flow li>span {
    margin:2px 0 0
  }
  .guide-article h2 {
    font-size:25px
  }
  .guide-article p {
    font-size:14px;
    line-height:1.9
  }
  .knowledge-grid {
    grid-template-columns:1fr
  }
  .evidence-shop summary {
    font-size:13px;
    flex-wrap:wrap;
    gap:5px
  }
  .evidence-shop summary span {
    font-size:11px
  }
  .contact-mail {
    font-size:19px;
    overflow-wrap:anywhere
  }
  .site-footer {
    padding:38px 20px 22px
  }
  .footer-top {
    grid-template-columns:1fr 1fr;
    gap:28px 24px
  }
  .footer-top>div:first-child {
    display:block;
    grid-column:1/-1
  }
  .footer-top>div:last-child {
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:24px
  }
  .footer-top>div:last-child h2 {
    grid-column:1/-1;
    margin-top:0
  }
  .footer-top .brand-word {
    font-size:22px
  }
  .footer-top p {
    font-size:11px;
    max-width:310px
  }
  .footer-top p.fine {
    font-size:10px;
    max-width:310px
  }
  .footer-top h2 {
    font-size:11px;
    margin-top:0
  }
  .footer-link {
    font-size:11px;
    min-height:24px;
    margin-bottom:9px
  }
  .footer-bottom {
    font-size:9px;
    flex-wrap:wrap;
    gap:10px 20px;
    margin-top:25px
  }
  .comparison-tray {
    left:12px;
    right:12px;
    bottom:12px;
    transform:none;
    max-width:none;
    padding:12px 14px;
    gap:13px;
    border-radius:15px;
    justify-content:space-between
  }
  .tray-info {
    min-width:0
  }
  .tray-info strong {
    font-size:12px
  }
  .tray-info small {
    font-size:9px
  }
  .tray-clear {
    font-size:10px!important
  }
  .tray-go {
    font-size:11px!important;
    padding:10px 14px!important
  }
  .status-toast {
    font-size:12px;
    bottom:100px
  }
  .scroll-jump {
    width:36px;
    height:36px;
    right:12px;
    bottom:14px;
    font-size:17px
  }
  .empty-state {
    padding:35px 20px
  }
  .empty-state h3 {
    font-size:22px
  }
  .empty-state p {
    font-size:12px
  }
}
@media(max-width:380px) {
  main {
    padding-inline:16px
  }
  .site-header {
    padding-inline:16px
  }
  .brand-word {
    font-size:19px
  }
  .pure-hero h1 {
    font-size:39px
  }
  .hero-description {
    font-size:12px
  }
  .hero-actions {
    gap:14px
  }
  .hero-actions .button {
    padding-inline:16px;
    font-size:11px
  }
  .hero-actions .text-link {
    font-size:11px
  }
  .section-heading h2 {
    font-size:22px
  }
  .directory-date {
    font-size:9px
  }
  .vendor-table .vendor-name {
    font-size:14px
  }
  .result-toolbar select {
    max-width:155px
  }
  .pure-proof dl {
    gap:12px
  }
  .pure-proof dd {
    font-size:36px
  }
  .method-composition {
    padding:22px
  }
  .composition-top {
    gap:12px;
    font-size:9px
  }
  .tray-info small {
    display:none
  }
  .tray-go {
    padding-inline:12px!important
  }
  .tray-clear {
    font-size:9px!important
  }
}
@media(prefers-reduced-motion:reduce) {
  :root {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }
  [data-reveal] {
    opacity:1!important;
    transform:none!important
  }
}
@media print {
  .site-header,.site-footer,.filter-bar,.result-toolbar,.comparison-tray,.scroll-jump,.status-toast,.selection-cell {
    display:none!important
  }
  main {
    max-width:none;
    padding:0
  }
  .directory-section {
    box-shadow:none;
    clip-path:none;
    background:white
  }
  .vendor-table tbody {
    display:table-row-group
  }
  .vendor-table {
    display:table
  }
  .vendor-table tr {
    display:table-row;
    break-inside:avoid
  }
  .vendor-table td {
    display:table-cell
  }
  .pure-hero {
    padding:20px 0
  }
  .pure-hero h1 {
    font-size:40px
  }
  .pure-hero .hero-actions {
    display:none
  }
  .panel {
    break-inside:avoid
  }
  * {
    animation:none!important;
    box-shadow:none!important
  }
}
/* Keep comparison rows within the first desktop view. */
@media(min-width:701px) {
  .pure-hero {
    padding:33px 16px 30px
  }
  .pure-hero h1 {
    font-size:clamp(56px,5.1vw,74px)
  }
  .hero-kicker {
    margin-bottom:14px
  }
  .hero-description {
    margin:18px auto 21px;
    font-size:16px
  }
  .hero-caption {
    margin-top:15px
  }
  .directory-section {
    padding-top:28px
  }
  .section-heading {
    margin-bottom:20px
  }
  .result-toolbar {
    margin:10px 0 10px
  }
  .filter-bar label>span:not(.sr-only) {
    position:absolute;
    width:1px;
    height:1px;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0)
  }
  .vendor-table td {
    padding-top:18px;
    padding-bottom:18px
  }
  .vendor-name {
    font-size:14px
  }
  .vendor-table .cell-text {
    font-size:12px
  }
  .vendor-table th {
    font-size:12px
  }
}
@media(max-width:900px) {
  .vendor-table tbody tr {
    grid-template-columns:1fr 1fr;
    padding:19px 18px;
    gap:15px 20px
  }
  .vendor-table td:nth-child(2) small,.vendor-table td:nth-child(3) small {
    display:block
  }
  .vendor-table td:first-child {
    grid-column:1/-1
  }
  .selection-cell label span {
    display:none
  }
  .selection-cell label {
    min-width:44px;
    min-height:44px
  }
  .selection-cell input {
    width:30px;
    height:30px
  }
  .vendor-table td:nth-child(6) {
    text-align:left;
    align-self:auto
  }
  .vendor-table td:nth-child(7) {
    grid-column:auto;
    grid-row:auto
  }
  .vendor-table {
    border-top:0
  }
}
@media(max-width:700px) {
  .vendor-table tbody td:nth-child(6) {
    padding-top:13px!important;
    border-top:1px solid var(--line)
  }
  .vendor-table tbody td:first-child {
    padding-right:38px!important
  }
  .vendor-table td:nth-child(6):before {
    display:inline;
    margin:0 auto 0 0
  }
  .section-heading h2 {
    max-width:none
  }
  .share-fallback {
    margin-top:18px
  }
}
.filter-extra {
  display:contents
}
.filter-extra label {
  min-width:0
}
.extra-filter-toggle {
  display:none
}
@media(max-width:700px) {
  .pure-hero {
    padding-top:26px;
    padding-bottom:26px
  }
  .hero-kicker {
    margin-bottom:15px
  }
  .hero-description {
    margin:17px auto;
    line-height:1.75
  }
  .hero-caption {
    display:none
  }
  .filter-bar {
    grid-template-columns:minmax(0,1fr) 94px;
    gap:10px
  }
  .filter-bar>label:nth-child(2) {
    grid-column:1
  }
  .filter-bar label>span:not(.sr-only) {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0,0,0,0)
  }
  .extra-filter-toggle {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    background:#fff;
    border:1px solid #d9d9df;
    border-radius:10px;
    min-height:44px!important;
    height:44px!important;
    padding:9px 13px!important;
    font-size:12px!important;
    font-weight:500
  }
  .extra-filter-toggle[aria-expanded=true] {
    background:#edf5ff;
    border-color:#bad5f0;
    color:#0066cc
  }
  .filter-extra {
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-column:1/-1;
    gap:10px
  }
  .filter-bar select {
    min-height:44px
  }
  .filter-extra[hidden] {
    display:none!important
  }
  .filter-bar:not(:has(.extra-filter-toggle:not([hidden])))>label:nth-child(2) {
    grid-column:1/-1
  }
}

/* Pure: price comparison and the side-by-side comparison workspace. */
body[data-page="prices"] .page-intro {
  max-width: 900px;
  margin-inline: auto;
  padding: 58px 0 30px;
  text-align: center;
}
body[data-page="prices"] .page-intro h1 {
  font-size: clamp(40px, 4.5vw, 64px);
  letter-spacing: -.055em;
  line-height: 1.08;
  text-wrap: balance;
}
body[data-page="prices"] .page-intro .lead {
  max-width: 745px;
  margin: 21px auto 0;
  color: #6e6e73;
  font-size: 16px;
  line-height: 1.75;
}
body[data-page="prices"] .price-page-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 9px 0 22px;
  color: #6e6e73;
  font-size: 12px;
}
body[data-page="prices"] .price-page-meta p {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
}
body[data-page="prices"] .price-page-meta strong {
  color: #1d1d1f;
  font-weight: 600;
}
body[data-page="prices"] .price-page-meta p > span {
  padding-left: 14px;
  border-left: 1px solid #e5e5e9;
}
body[data-page="prices"] .price-page-meta > a,
body[data-page="prices"] .price-correction-note > a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #0071e3;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}
body[data-page="prices"] .price-page-meta > a:hover,
body[data-page="prices"] .price-correction-note > a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
body[data-page="prices"] .price-product-nav {
  position: sticky;
  top: var(--pure-header-height, 74px);
  z-index: 12;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 4px;
  overflow-x: auto;
  max-width: 100%;
  margin: 0;
  padding: 12px 8px;
  border-block: 1px solid #e5e5e9;
  background: #fff;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  scrollbar-color: #d2d2d7 transparent;
  -webkit-overflow-scrolling: touch;
}
body[data-page="prices"] .price-product-nav a {
  flex: 0 0 auto;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 41px;
  padding: 10px 17px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #6e6e73;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  text-decoration: none;
  transition: color 150ms ease, background-color 150ms ease;
}
body[data-page="prices"] .price-product-nav a:hover,
body[data-page="prices"] .price-product-nav a[aria-current="location"],
body[data-page="prices"] .price-product-nav a[aria-current="true"] {
  background: #f5f5f7;
  color: #1d1d1f;
}
body[data-page="prices"] .price-product-nav a[aria-current="location"]::after,
body[data-page="prices"] .price-product-nav a[aria-current="true"]::after {
  content: "";
  position: absolute;
  inset: auto 17px 5px;
  height: 2px;
  border-radius: 2px;
  background: #0071e3;
}
body[data-page="prices"] .price-context {
  padding: 18px 0 35px;
}
body[data-page="prices"] .price-context p {
  max-width: 880px;
  margin: 0 auto;
  color: #6e6e73;
  font-size: 11px;
  line-height: 1.75;
  text-align: center;
}
body[data-page="prices"] .price-section {
  padding: 28px;
  margin: 0 0 34px;
  border: 0;
  border-radius: 24px;
  background: #f5f5f7;
  box-shadow: none;
  scroll-margin-top: calc(var(--pure-header-height, 74px) + 91px);
}
body[data-page="prices"] .price-section .panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 0 2px;
  margin: 0 0 23px;
}
body[data-page="prices"] .price-section h2 {
  margin: 0;
  color: #1d1d1f;
  font-size: 29px;
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.25;
}
body[data-page="prices"] .price-section .price-section-subtitle {
  margin: 7px 0 0;
  color: #6e6e73;
  font-size: 12px;
  line-height: 1.6;
}
body[data-page="prices"] .price-section .count-label {
  color: #6e6e73;
  font-size: 11px;
  white-space: nowrap;
}
body[data-page="prices"] .price-section .count-label strong {
  color: #6e6e73;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
body[data-page="prices"] .price-size-toolbar {
  display: flex;
  align-items: flex-start;
  gap: 17px;
  padding-bottom: 21px;
}
body[data-page="prices"] .price-size-label {
  flex-shrink: 0;
  padding-top: 12px;
  color: #6e6e73;
  font-size: 11px;
  font-weight: 500;
}
body[data-page="prices"] .size-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  min-width: 0;
  margin: 0;
}
body[data-page="prices"] .size-filter button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid #dedee3;
  border-radius: 9px;
  background: #fff;
  color: #515158;
  font-family: inherit;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color 150ms ease, background-color 150ms ease, color 150ms ease;
}
body[data-page="prices"] .size-filter button span {
  margin: 0;
  color: #6e6e73;
  font-size: 9px;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
}
body[data-page="prices"] .size-filter button:hover {
  border-color: #9e9ea6;
  color: #1d1d1f;
}
body[data-page="prices"] .size-filter button[aria-pressed="true"] {
  border-color: #0071e3;
  background: #0071e3;
  color: #fff;
  font-weight: 600;
}
body[data-page="prices"] .size-filter button[aria-pressed="true"] span {
  color: #fff;
}
body[data-page="prices"] .price-table-wrap {
  overflow-x: auto;
  border: 1px solid #e5e5e9;
  border-radius: 18px;
  background: #fff;
}
body[data-page="prices"] .price-caption {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
body[data-page="prices"] .price-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  color: #1d1d1f;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}
body[data-page="prices"] .price-table th {
  height: 46px;
  padding: 12px 17px;
  border-top: 0;
  border-bottom: 1px solid #e5e5e9;
  background: #fff;
  color: #6e6e73;
  font-size: 10px;
  font-weight: 500;
  text-align: left;
}
body[data-page="prices"] .price-table th:first-child { width: 26%; }
body[data-page="prices"] .price-table th:nth-child(2) { width: 23%; }
body[data-page="prices"] .price-table th:nth-child(3) { width: 15%; }
body[data-page="prices"] .price-table th:nth-child(4) { width: 15%; }
body[data-page="prices"] .price-table th:last-child { width: 21%; }
body[data-page="prices"] .price-table th:first-child,
body[data-page="prices"] .price-table td:first-child { padding-left: 24px; }
body[data-page="prices"] .price-table td {
  padding: 19px 17px;
  border-bottom: 1px solid #ededf0;
  background: #fff;
  color: #515158;
  font-size: 12px;
  line-height: 1.65;
  vertical-align: middle;
  overflow-wrap: anywhere;
  transition: background-color 140ms ease;
}
body[data-page="prices"] .price-table tbody tr:last-child td { border-bottom: 0; }
body[data-page="prices"] .price-table tr.best td { background: #f7faff; }
body[data-page="prices"] .price-table tbody tr:hover td { background: #f5f5f7; }
body[data-page="prices"] .price-table tbody tr.best:hover td { background: #eff5fd; }
body[data-page="prices"] .price-table td a {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 4px;
}
body[data-page="prices"] .price-table td a:hover {
  color: #0066cc;
  text-decoration: underline;
}
body[data-page="prices"] .price-table .price-shop-cell > a {
  color: #1d1d1f;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -.015em;
}
body[data-page="prices"] .price-table td small {
  display: block;
  margin-top: 4px;
  color: #6e6e73;
  font-size: 10px;
  line-height: 1.6;
  font-weight: 400;
}
body[data-page="prices"] .price-table .best-tag {
  color: #0066cc;
  font-weight: 500;
}
body[data-page="prices"] .price-table .price-external {
  padding-left: 2px;
  color: #6e6e73;
  font-size: 11px;
}
body[data-page="prices"] .price-table .price-total-cell { white-space: nowrap; }
body[data-page="prices"] .price-table .price-unit-cell strong {
  color: #1d1d1f;
  font-size: 20px;
  font-weight: 650;
  letter-spacing: -.055em;
  white-space: nowrap;
}
body[data-page="prices"] .price-table .price-shipping-cell {
  color: #6e6e73;
  font-size: 11px;
}
body[data-page="prices"] .price-table tr[hidden] { display: none !important; }
body[data-page="prices"] .price-correction-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 5px 4px 20px;
}
body[data-page="prices"] .price-correction-note p {
  max-width: 740px;
  margin: 0;
  color: #6e6e73;
  font-size: 12px;
  line-height: 1.7;
}
body[data-page="prices"] .price-correction-note > a { flex-shrink: 0; }

/* Existing comparison markup, plus optional client-rendered empty-state hooks. */
body[data-page="compare"] .comparison-section {
  padding: 28px;
  border: 0;
  border-radius: 24px;
  background: #f5f5f7;
}
body[data-page="compare"] .compare-picker {
  max-width: 570px;
  gap: 12px;
}
body[data-page="compare"] .compare-picker label { min-width: 0; }
body[data-page="compare"] .compare-picker label > span {
  display: block;
  margin-bottom: 9px;
  color: #6e6e73;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}
body[data-page="compare"] .compare-picker select {
  width: 100%;
  min-height: 46px;
  border: 1px solid #dddde2;
  border-radius: 10px;
  background-color: #fff;
  color: #1d1d1f;
  font: inherit;
  font-size: 13px;
  padding: 11px 35px 11px 15px;
}
body[data-page="compare"] .compare-picker > .button {
  min-height: 46px;
  border-color: #0071e3;
  background: #0071e3;
  color: #fff;
  font-size: 12px;
  white-space: nowrap;
}
body[data-page="compare"] .compare-toolbar {
  gap: 18px;
  margin: 20px 0;
}
body[data-page="compare"] .compare-toolbar .button {
  min-height: 40px;
  padding: 9px 16px;
  border-color: #dddde2;
  background: #fff;
  color: #515158;
  font-size: 11px;
}
body[data-page="compare"] #comparison-content > .notice,
body[data-page="compare"] .compare-empty {
  padding: 48px 30px;
  margin: 0;
  border: 1px solid #e5e5e9;
  border-radius: 18px;
  background: #fff;
  color: #6e6e73;
  font-size: 14px;
  line-height: 1.7;
  text-align: center;
}
body[data-page="compare"] .compare-empty h2 {
  margin: 0 0 12px;
  color: #1d1d1f;
  font-size: 25px;
  letter-spacing: -.04em;
}
body[data-page="compare"] .compare-empty p {
  max-width: 490px;
  margin: 0 auto 20px;
}
body[data-page="compare"] .compare-table-wrap {
  overflow-x: auto;
  margin-top: 0;
  border: 1px solid #e5e5e9;
  border-radius: 18px;
  background: #fff;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  scrollbar-color: #c8c8cf #f5f5f7;
}
body[data-page="compare"] .compare-table {
  width: 100%;
  min-width: 640px;
  border-collapse: separate;
  border-spacing: 0;
  color: #1d1d1f;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}
body[data-page="compare"] .compare-table th,
body[data-page="compare"] .compare-table td {
  min-width: 175px;
  padding: 19px 22px;
  border: 0;
  border-bottom: 1px solid #ededf0;
  color: #515158;
  font-size: 12px;
  line-height: 1.7;
  vertical-align: top;
}
body[data-page="compare"] .compare-table thead th {
  padding-block: 25px 22px;
  background: #fff;
  color: #1d1d1f;
  font-size: 15px;
  font-weight: 650;
  letter-spacing: -.025em;
}
body[data-page="compare"] .compare-table thead a {
  color: #1d1d1f;
  text-decoration: none;
}
body[data-page="compare"] .compare-table thead a:hover { color: #0071e3; }
body[data-page="compare"] .compare-table .remove {
  display: block;
  min-height: 32px;
  padding: 3px 0;
  margin-top: 7px;
  color: #6e6e73;
  font-size: 10px;
  font-weight: 400;
  text-decoration: none;
  letter-spacing: 0;
}
body[data-page="compare"] .compare-table .remove:hover { color: #0071e3; }
body[data-page="compare"] .compare-table tbody th {
  width: 185px;
  color: #6e6e73;
  font-size: 11px;
  font-weight: 500;
}
.compare-shop-heading { display: flex; align-items: center; gap: 12px; }
.compare-shop-logo { flex: 0 0 44px; width: 44px; height: 44px; object-fit: contain; border: 1px solid #ededf0; border-radius: 12px; background: #fff; padding: 5px; }
.share-fallback { margin: 18px 0; }
body[data-page="compare"] .compare-table th:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  border-right: 1px solid #ededf0;
  background: #fbfbfc;
}
body[data-page="compare"] .compare-table tbody tr:hover td { background: #fafafa; }
body[data-page="compare"] .compare-table tbody tr:last-child > * { border-bottom: 0; }
body[data-page="compare"] .compare-table small {
  margin-top: 5px;
  color: #6e6e73;
  font-size: 10px;
  line-height: 1.6;
  font-weight: 400;
}
@media (max-width: 1100px) {
  body[data-page="prices"] .price-product-nav { justify-content: flex-start; }
  body[data-page="prices"] .price-section { padding: 23px; }
  body[data-page="prices"] .price-table th,
  body[data-page="prices"] .price-table td { padding-inline: 13px; }
  body[data-page="prices"] .price-table th:first-child,
  body[data-page="prices"] .price-table td:first-child { padding-left: 19px; }
}
@media (max-width: 760px) {
  body[data-page="prices"] .page-intro { padding: 36px 0 25px; }
  body[data-page="prices"] .page-intro h1 { font-size: 43px; }
  body[data-page="prices"] .page-intro .lead { font-size: 14px; line-height: 1.75; }
  body[data-page="prices"] .price-page-meta { justify-content: center; margin: 4px 0 23px; font-size: 11px; }
  body[data-page="prices"] .price-page-meta > a { display: none; }
  body[data-page="prices"] .price-product-nav { top: var(--pure-header-height, 65px); padding: 9px 0; gap: 1px; }
  body[data-page="prices"] .price-product-nav a { min-height: 44px; padding: 11px 14px; font-size: 11px; }
  body[data-page="prices"] .price-context { padding: 16px 0 27px; }
  body[data-page="prices"] .price-context p { font-size: 10px; line-height: 1.8; text-align: left; }
  body[data-page="prices"] .price-section { padding: 20px 15px 15px; margin-bottom: 25px; border-radius: 21px; scroll-margin-top: calc(var(--pure-header-height, 65px) + 80px); }
  body[data-page="prices"] .price-section .panel-heading { align-items: flex-start; gap: 12px; margin-bottom: 19px; }
  body[data-page="prices"] .price-section h2 { font-size: 25px; }
  body[data-page="prices"] .price-section .price-section-subtitle { max-width: 200px; font-size: 10px; line-height: 1.65; }
  body[data-page="prices"] .price-section .count-label { max-width: 74px; margin-top: 5px; font-size: 10px; line-height: 1.6; text-align: right; white-space: normal; }
  body[data-page="prices"] .price-size-toolbar { display: block; padding-bottom: 17px; }
  body[data-page="prices"] .price-size-label { display: block; padding: 0; margin: 0 0 10px 2px; font-size: 10px; }
  body[data-page="prices"] .size-filter { flex-wrap: nowrap; overflow-x: auto; gap: 7px; padding: 1px 1px 6px; scrollbar-width: thin; scrollbar-color: #c8c8cf transparent; }
  body[data-page="prices"] .size-filter button { flex-shrink: 0; min-height: 43px; padding: 9px 12px; font-size: 11px; }
  body[data-page="prices"] .price-correction-note { display: block; padding: 2px 3px 16px; }
  body[data-page="prices"] .price-correction-note p { margin-bottom: 15px; font-size: 11px; }
  body[data-page="compare"] .comparison-section { padding: 20px 15px; border-radius: 21px; }
  body[data-page="compare"] .compare-picker { gap: 9px; }
  body[data-page="compare"] .compare-picker select { min-height: 44px; font-size: 12px; }
  body[data-page="compare"] .compare-picker > .button { min-height: 44px; padding: 11px 13px; font-size: 11px; }
  body[data-page="compare"] .compare-toolbar { margin: 16px 0; }
  body[data-page="compare"] .compare-table { min-width: 610px; }
  body[data-page="compare"] .compare-table th,
  body[data-page="compare"] .compare-table td { min-width: 180px; padding: 16px; font-size: 11px; }
  body[data-page="compare"] .compare-table thead th { font-size: 14px; }
  body[data-page="compare"] .compare-table th:first-child { min-width: 130px; width: 130px; }
  body[data-page="compare"] .compare-table tbody th { font-size: 10px; }
  body[data-page="compare"] #comparison-content > .notice,
  body[data-page="compare"] .compare-empty { padding: 34px 21px; font-size: 12px; }
}
@media (max-width: 700px) {
  body[data-page="prices"] .price-table-wrap { overflow: hidden; border-radius: 15px; }
  body[data-page="prices"] .price-table,
  body[data-page="prices"] .price-table tbody { display: block; }
  body[data-page="prices"] .price-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  body[data-page="prices"] .price-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: 13px 10px; padding: 19px 16px 15px; border-bottom: 1px solid #e5e5e9; background: #fff; }
  body[data-page="prices"] .price-table tbody tr.best { background: #f7faff; }
  body[data-page="prices"] .price-table tbody tr:last-child { border-bottom: 0; }
  body[data-page="prices"] .price-table td,
  body[data-page="prices"] .price-table td:first-child { display: block; padding: 0; border: 0; background: transparent; font-size: 12px; }
  body[data-page="prices"] .price-table tr.best td,
  body[data-page="prices"] .price-table tbody tr:hover td,
  body[data-page="prices"] .price-table tbody tr.best:hover td { background: transparent; }
  body[data-page="prices"] .price-table .price-shop-cell { grid-column: 1; grid-row: 1; }
  body[data-page="prices"] .price-table .price-shop-cell > a { font-size: 13px; }
  body[data-page="prices"] .price-table .best-tag { margin-top: 5px; font-size: 9px; }
  body[data-page="prices"] .price-table .price-pack-cell { grid-column: 1; grid-row: 2; }
  body[data-page="prices"] .price-table .price-total-cell { grid-column: 2; grid-row: 2; text-align: right; }
  body[data-page="prices"] .price-table .price-unit-cell { grid-column: 2; grid-row: 1; text-align: right; }
  body[data-page="prices"] .price-table .price-unit-cell strong { font-size: 23px; line-height: 1.4; }
  body[data-page="prices"] .price-table .price-shipping-cell { grid-column: 1 / -1; grid-row: 3; padding-top: 11px; border-top: 1px solid #e5e5e9; color: #6e6e73; font-size: 10px; }
  body[data-page="prices"] .price-table td:not(:first-child)::before { content: attr(data-label); display: block; margin-bottom: 3px; color: #6e6e73; font-size: 9px; line-height: 1.5; font-weight: 400; }
  body[data-page="prices"] .price-table td.price-shipping-cell::before { display: inline; margin: 0 9px 0 0; }
  body[data-page="prices"] .price-table .price-pack-cell small { font-size: 9px; line-height: 1.7; }
}
@media (prefers-reduced-motion: reduce) {
  body[data-page="prices"] .price-product-nav a,
  body[data-page="prices"] .size-filter button,
  body[data-page="prices"] .price-table td { transition: none; }
}
/* The document already reserves 100px through scroll-padding-top. */
body[data-page="prices"] .price-section { scroll-margin-top: calc(var(--pure-header-height, 74px) - 20px); }

/* Pure: evidence, vendor profiles and methodology. Data and rating rules stay in their source modules. */
:is(body[data-page="vendor"], body[data-page="methodology"]) main {
  color: #1d1d1f;
}
:is(body[data-page="vendor"], body[data-page="methodology"]) main :is(h1, h2, h3, h4, .score-value, .not-rated, .formula, .method-rules dt) {
  font-family: inherit;
}
:is(body[data-page="vendor"], body[data-page="methodology"]) .panel {
  padding: 32px;
  border: 1px solid #e5e5e9;
  border-radius: 22px;
  background: #fff;
  box-shadow: none;
  margin-bottom: 24px;
}
:is(body[data-page="vendor"], body[data-page="methodology"]) .panel h2 {
  color: #1d1d1f;
  font-weight: 600;
  font-size: 25px;
  letter-spacing: -.035em;
  line-height: 1.25;
  margin-bottom: 24px;
}
:is(body[data-page="vendor"], body[data-page="methodology"]) .panel :is(p, li) {
  font-size: 14px;
  line-height: 1.8;
}
:is(body[data-page="vendor"], body[data-page="methodology"]) .panel .fine {
  font-size: 11px;
  line-height: 1.75;
  color: #6e6e73;
}
:is(body[data-page="vendor"], body[data-page="methodology"]) .detail-caption {
  font-size: 12px;
  color: #6e6e73;
  margin: 0 0 13px;
  font-weight: 500;
  line-height: 1.5;
}
:is(body[data-page="vendor"], body[data-page="methodology"]) main .text-link {
  color: #0066cc;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  gap: 9px;
}
:is(body[data-page="vendor"], body[data-page="methodology"]) main .text-link:hover {
  text-decoration: underline;
}
:is(body[data-page="vendor"], body[data-page="methodology"]) main section[id] {
  scroll-margin-top: 155px;
}
:is(body[data-page="vendor"], body[data-page="methodology"]) .section-nav {
  display: flex;
  gap: 28px;
  flex-wrap: nowrap;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  padding: 0 0 17px;
  margin: 34px 0 32px;
  border-bottom: 1px solid #e5e5e9;
}
:is(body[data-page="vendor"], body[data-page="methodology"]) .section-nav a {
  font-size: 12px;
  color: #6e6e73;
  font-weight: 600;
  text-decoration: none;
  flex-shrink: 0;
  padding: 9px 0;
  transition: color .15s ease;
}
:is(body[data-page="vendor"], body[data-page="methodology"]) .section-nav a:hover,
:is(body[data-page="vendor"], body[data-page="methodology"]) .section-nav a:focus-visible {
  color: #0066cc;
}

/* Profile identity and concise evidence summary. */
body[data-page="vendor"] .back-link {
  margin-top: 31px;
  font-size: 12px;
  color: #0066cc;
}
body[data-page="vendor"] .profile-intro {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) auto;
  gap: 25px;
  align-items: center;
  margin: 37px 0 38px;
}
body[data-page="vendor"] .profile-intro .vendor-avatar.large {
  width: 88px;
  height: 88px;
  border-radius: 21px;
  border: 1px solid #e5e5e9;
  background: #f5f5f7;
  color: #6e6e73;
  font-size: 30px;
  padding: 9px;
}
body[data-page="vendor"] .profile-intro .vendor-avatar.has-logo {
  background: #fff;
}
body[data-page="vendor"] .profile-intro h1 {
  font-size: clamp(34px, 3.8vw, 53px);
  font-weight: 600;
  letter-spacing: -.055em;
  line-height: 1.1;
  margin: 0 0 13px;
}
body[data-page="vendor"] .profile-intro p.profile-status {
  font-size: 11px;
  font-weight: 600;
  color: #6e6e73;
  margin: 0 0 10px;
}
body[data-page="vendor"] .profile-intro p.profile-status.has-warning {
  color: #b42318;
}
body[data-page="vendor"] .profile-intro p:not(.profile-status) {
  max-width: 650px;
  font-size: 14px;
  line-height: 1.7;
  color: #6e6e73;
}
body[data-page="vendor"] .profile-intro .button {
  font-size: 12px;
  white-space: nowrap;
  border-radius: 999px;
  border-color: #e5e5e9;
  padding: 13px 18px;
  min-height: 44px;
  margin: 0;
}
body[data-page="vendor"] .rating-overview {
  display: grid;
  grid-template-columns: minmax(150px, .7fr) minmax(0, 1.7fr) minmax(150px, .65fr);
  align-items: center;
  gap: 34px;
  padding: 32px 36px;
  background: #f5f5f7;
  border-color: #f5f5f7;
}
body[data-page="vendor"] .profile-score {
  align-self: stretch;
  border-right: 1px solid #dedee3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: 24px;
  min-width: 0;
}
body[data-page="vendor"] .rating-overview .profile-score .score-value {
  font-size: clamp(48px, 5vw, 66px);
  font-weight: 600;
  letter-spacing: -.065em;
  line-height: 1;
  color: #1d1d1f;
  margin: 3px 0 0;
  white-space: nowrap;
}
body[data-page="vendor"] .rating-overview .profile-score .score-value small {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: -.025em;
  color: #6e6e73;
  margin-left: 5px;
}
body[data-page="vendor"] .rating-overview .not-rated {
  font-size: 23px;
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.2;
  margin: 5px 0 0;
}
body[data-page="vendor"] .rating-overview .fake-badge {
  align-self: flex-start;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 7px;
  padding: 6px 9px;
}
body[data-page="vendor"] .profile-rating-copy h2 {
  font-size: 20px;
  margin-bottom: 11px;
}
body[data-page="vendor"] .profile-rating-copy p {
  color: #6e6e73;
  font-size: 13px;
  line-height: 1.75;
  margin-bottom: 8px;
}
body[data-page="vendor"] .profile-evidence {
  margin: 0;
  display: grid;
  gap: 21px;
  min-width: 0;
  padding-left: 12px;
}
body[data-page="vendor"] .profile-evidence dt {
  font-size: 11px;
  color: #6e6e73;
  margin: 0 0 4px;
}
body[data-page="vendor"] .profile-evidence dd {
  margin: 0;
  font-size: 27px;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -.04em;
  font-variant-numeric: tabular-nums;
}
body[data-page="vendor"] .profile-evidence small {
  font-size: 14px;
  font-weight: 400;
}

/* Independent columns avoid the empty tracks caused by long report details. */
body[data-page="vendor"] .vendor-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
  grid-template-areas: none;
  grid-template-rows: none;
  gap: 0 24px;
  align-items: start;
}
body[data-page="vendor"] .vendor-grid > :is(.vendor-facts-column, .vendor-evidence-column) {
  min-width: 0;
}
body[data-page="vendor"] .vendor-grid > :is(#lab-history, #history) {
  grid-area: auto;
  grid-column: 1 / -1;
}
body[data-page="vendor"] .detail-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 13px;
}
body[data-page="vendor"] .detail-heading h2 {
  margin-bottom: 0;
}
body[data-page="vendor"] .detail-meta {
  font-size: 11px;
  color: #6e6e73;
  white-space: nowrap;
}
body[data-page="vendor"] .detail-count {
  font-size: 12px;
  font-weight: 600;
  color: #6e6e73;
  border-radius: 7px;
  background: #f5f5f7;
  padding: 5px 9px;
  font-variant-numeric: tabular-nums;
}
body[data-page="vendor"] .facts > div {
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: 23px;
  padding: 16px 0;
  border-color: #ededf0;
}
body[data-page="vendor"] .facts dt {
  font-size: 12px;
  color: #6e6e73;
  line-height: 1.65;
}
body[data-page="vendor"] .facts dd {
  font-size: 13px;
  line-height: 1.65;
  color: #1d1d1f;
  font-variant-numeric: tabular-nums;
}
body[data-page="vendor"] .facts dd small {
  font-size: 11px;
  color: #6e6e73;
  line-height: 1.6;
  margin-top: 5px;
}
body[data-page="vendor"] .facts + .fine {
  margin-top: 22px;
}
body[data-page="vendor"] .sources {
  padding: 15px 17px;
  background: #f5f5f7;
  border-radius: 12px;
  margin-top: 19px;
}
body[data-page="vendor"] .sources summary {
  font-size: 12px;
  font-weight: 500;
  color: #0066cc;
}
body[data-page="vendor"] .sources li {
  font-size: 11px;
  line-height: 1.65;
  margin-bottom: 8px;
}
body[data-page="vendor"] .panel-heading {
  gap: 18px;
  align-items: flex-start;
}
body[data-page="vendor"] .panel-heading h2 {
  font-size: 25px;
  max-width: 240px;
  margin-bottom: 0;
}
body[data-page="vendor"] .panel-heading .eyebrow {
  color: #6e6e73;
  letter-spacing: 0;
  font-size: 11px;
  font-weight: 500;
  margin-bottom: 12px;
}
body[data-page="vendor"] .panel-heading .score-value {
  font-size: 36px;
  font-weight: 600;
  letter-spacing: -.05em;
  white-space: nowrap;
}
body[data-page="vendor"] .panel-heading .score-value small {
  font-size: 11px;
  letter-spacing: 0;
  font-weight: 400;
}
body[data-page="vendor"] .panel-heading .not-rated {
  max-width: 100px;
  font-size: 13px;
  line-height: 1.5;
}
body[data-page="vendor"] .breakdown {
  margin: 28px 0;
}
body[data-page="vendor"] .breakdown-row {
  margin: 21px 0;
}
body[data-page="vendor"] .breakdown-row > div:first-child {
  font-size: 12px;
  color: #1d1d1f;
  gap: 16px;
  align-items: baseline;
}
body[data-page="vendor"] .breakdown-row strong {
  font-weight: 500;
}
body[data-page="vendor"] .breakdown-row > div > span {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  color: #6e6e73;
}
body[data-page="vendor"] .score-track {
  height: 5px;
  border-radius: 4px;
  margin-top: 10px;
  background: #ededf0;
}
body[data-page="vendor"] .score-track i {
  background: #0071e3;
  border-radius: 4px;
}
body[data-page="vendor"] .score-track.incomplete {
  background: #ededf0;
}
body[data-page="vendor"] .deductions {
  padding: 3px 16px;
  background: #fff5f3;
  border-radius: 12px;
}
body[data-page="vendor"] .deduction-row > div:first-child {
  color: #9f2920;
}
body[data-page="vendor"] .deduction-row > div > span {
  color: inherit;
}
body[data-page="vendor"] .rating-details,
body[data-page="methodology"] .method-criteria {
  border: 1px solid #e5e5e9;
  border-radius: 13px;
  padding: 0 17px;
  margin: 20px 0;
}
body[data-page="vendor"] .rating-details > summary,
body[data-page="methodology"] .method-criteria > summary {
  cursor: pointer;
  padding: 15px 0;
  font-size: 12px;
  font-weight: 600;
  color: #0066cc;
  line-height: 1.5;
}
body[data-page="vendor"] .rating-details[open] > summary,
body[data-page="methodology"] .method-criteria[open] > summary {
  border-bottom: 1px solid #e5e5e9;
}
body[data-page="vendor"] .rating-details .points-detail {
  margin-top: 0;
  border-top: 0;
  padding-top: 18px;
  padding-bottom: 15px;
}
body[data-page="vendor"] .points-detail h3 {
  font-size: 15px;
  font-weight: 600;
}
body[data-page="vendor"] .points-detail dt {
  font-size: 12px;
  gap: 15px;
  margin-top: 19px;
}
body[data-page="vendor"] .points-detail dt span {
  white-space: nowrap;
}
body[data-page="vendor"] .points-detail li {
  font-size: 11px;
  line-height: 1.7;
  padding: 5px 0;
}
body[data-page="vendor"] .notice,
body[data-page="methodology"] .notice {
  border: 1px solid #e5e5e9;
  border-radius: 13px;
  background: #f5f5f7;
  color: #515156;
  padding: 16px 18px;
  font-size: 12px;
  line-height: 1.8;
}
body[data-page="vendor"] ul.notice {
  padding-left: 31px;
}
body[data-page="vendor"] .notice li {
  font-size: 12px;
  line-height: 1.8;
}
body[data-page="vendor"] .imprint-hint {
  background: #fff9ee;
  border-color: #efdfbd;
  color: #75521e;
}
body[data-page="vendor"] .fake-notice {
  border-color: #e7c2bd;
  border-left-color: #e7c2bd !important;
  background: #fdf0ef !important;
  color: #7d241b;
}
body[data-page="vendor"] #contact h2 {
  margin-bottom: 9px;
}
body[data-page="vendor"] #contact .detail-caption {
  margin-bottom: 22px;
  font-size: 11px;
}
body[data-page="vendor"] .contact-list {
  border-color: #e5e5e9;
  border-radius: 14px;
}
body[data-page="vendor"] .contact-list li + li {
  border-color: #ededf0;
}
body[data-page="vendor"] .contact-list a {
  padding: 15px;
  gap: 13px;
}
body[data-page="vendor"] .contact-list a:hover {
  background: #f5f5f7;
}
body[data-page="vendor"] .contact-icon {
  color: #6e6e73;
}
body[data-page="vendor"] .contact-text strong {
  font-size: 12px;
  font-weight: 600;
}
body[data-page="vendor"] .contact-text small {
  font-family: inherit;
  font-size: 11px;
  line-height: 1.65;
  color: #6e6e73;
  margin-top: 3px;
}
body[data-page="vendor"] #contact > .fine {
  margin: 18px 0 0;
}
body[data-page="vendor"] #trustpilot h2 {
  max-width: 320px;
}
body[data-page="vendor"] .tp-bars {
  gap: 12px;
  margin: 27px 0;
}
body[data-page="vendor"] .tp-bar {
  grid-template-columns: 57px 1fr 32px;
  gap: 15px;
  font-size: 11px;
  color: #6e6e73;
}
body[data-page="vendor"] .tp-bar i {
  height: 5px;
  background: #ededf0;
}
body[data-page="vendor"] .tp-bar b {
  background: #0071e3;
  border-radius: 5px;
}
body[data-page="vendor"] .price-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  border: 1px solid #e5e5e9;
  border-radius: 14px;
  margin: 22px 0;
}
body[data-page="vendor"] .price-table-wrap:focus-visible {
  outline: 2px solid #0071e3;
  outline-offset: 4px;
}
body[data-page="vendor"] .price-table {
  font-size: 12px;
}
body[data-page="vendor"] .price-table th {
  border-top: 0;
  border-color: #e5e5e9;
  background: #f5f5f7;
  color: #6e6e73;
  font-size: 11px;
  font-weight: 500;
  padding: 13px 14px;
}
body[data-page="vendor"] .price-table td {
  padding: 16px 14px;
  border-color: #ededf0;
  line-height: 1.65;
}
body[data-page="vendor"] .price-table tbody tr:last-child td {
  border-bottom: 0;
}
body[data-page="vendor"] .price-table td small {
  font-size: 11px;
  line-height: 1.65;
  color: #6e6e73;
  white-space: normal;
  margin-top: 5px;
}
body[data-page="vendor"] .lab-table {
  min-width: 930px;
}
body[data-page="vendor"] .lab-table th:first-child {
  width: 20%;
}
body[data-page="vendor"] .lab-table tr.not-counted td {
  color: #6e6e73;
  background: #fafafa;
}
body[data-page="vendor"] .table-scroll-hint {
  display: none;
  font-size: 11px;
  color: #6e6e73;
}
body[data-page="vendor"] #history p {
  max-width: 850px;
}
body[data-page="vendor"] #history .mail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 25px;
}
body[data-page="vendor"] #history .button {
  font-size: 12px;
  border-color: #e5e5e9;
  border-radius: 999px;
  margin: 0;
}

/* Methodology keeps the formula readable, with the actual weighting as its main visual. */
body[data-page="methodology"] .page-intro {
  max-width: 880px;
  margin: 0 auto;
  text-align: center;
  padding: 74px 0 55px;
}
body[data-page="methodology"] .page-intro .eyebrow {
  color: #6e6e73;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  margin-bottom: 20px;
}
body[data-page="methodology"] .page-intro h1 {
  font-size: clamp(42px, 5.1vw, 67px);
  font-weight: 600;
  letter-spacing: -.055em;
  margin-bottom: 24px;
}
body[data-page="methodology"] .page-intro .lead {
  font-size: 17px;
  line-height: 1.8;
  max-width: 750px;
  margin-inline: auto;
  color: #6e6e73;
}
body[data-page="methodology"] .method-overview {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 75px;
  align-items: center;
  padding: 43px 48px;
  background: #f5f5f7;
  border-color: #f5f5f7;
}
body[data-page="methodology"] .method-overview h2 {
  font-size: 34px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.045em;
  margin: 0 0 18px;
}
body[data-page="methodology"] .method-overview p:not(.detail-caption) {
  color: #6e6e73;
  max-width: 470px;
}
body[data-page="methodology"] .formula {
  padding: 17px 0 0;
  background: none;
  color: #1d1d1f;
  font-size: 27px;
  font-weight: 500;
  line-height: 1.6;
  text-align: left;
  letter-spacing: -.035em;
  margin: 0;
}
body[data-page="methodology"] .formula sub {
  color: #6e6e73;
  font-size: 12px;
  margin-right: 3px;
}
body[data-page="methodology"] .method-overview .weights {
  border: 0;
  border-left: 1px solid #dedee3;
  background: none;
  padding: 0 0 0 40px;
}
body[data-page="methodology"] .weights-title > span {
  color: #6e6e73;
  font-size: 11px;
  letter-spacing: .06em;
  font-weight: 500;
}
body[data-page="methodology"] .weights-title > strong {
  font-family: inherit;
  font-size: 43px;
  font-weight: 600;
  letter-spacing: -.06em;
  margin: 4px 0 22px;
}
body[data-page="methodology"] .weights-title > strong > span {
  font-family: inherit;
  font-size: 12px;
  font-weight: 400;
}
body[data-page="methodology"] .weight-row {
  grid-template-columns: 15px 1fr 24px;
  font-size: 11px;
  gap: 12px;
  margin: 0 0 15px;
}
body[data-page="methodology"] .weight-row > span {
  color: #6e6e73;
  font-size: 11px;
}
body[data-page="methodology"] .weight-row i {
  height: 5px;
  background: #e5e5e9;
  border-radius: 5px;
}
body[data-page="methodology"] .weight-row i:after {
  background: #0071e3;
  border-radius: 5px;
}
body[data-page="methodology"] .method-overview .weights .fine {
  font-size: 11px;
  margin: 20px 0 0;
}
body[data-page="methodology"] .method-layout {
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 30px;
}
body[data-page="methodology"] .method-layout > div > .panel {
  padding: 36px;
}
body[data-page="methodology"] .method-layout > aside {
  top: 110px;
}
body[data-page="methodology"] .method-aside .panel {
  padding: 25px;
  background: #f5f5f7;
  border-color: #f5f5f7;
}
body[data-page="methodology"] .method-aside .panel h2 {
  font-size: 20px;
  max-width: 200px;
  line-height: 1.3;
}
body[data-page="methodology"] .method-aside .source-flow {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0 0 14px;
}
body[data-page="methodology"] .method-aside .source-flow li {
  display: grid;
  grid-template-columns: 21px 1fr;
  gap: 9px;
  border-color: #dedee3;
  padding: 20px 0;
}
body[data-page="methodology"] .method-aside .source-flow li > span {
  color: #6e6e73;
  font-size: 11px;
  margin: 1px 0 0;
}
body[data-page="methodology"] .method-aside .source-flow strong {
  font-size: 12px;
  font-weight: 600;
}
body[data-page="methodology"] .method-aside .source-flow small {
  font-size: 11px;
  line-height: 1.65;
  color: #6e6e73;
  margin-top: 5px;
}
body[data-page="methodology"] .method-aside .text-link {
  font-size: 11px;
  margin-right: 0;
}
body[data-page="methodology"] .method-rules {
  margin: 0;
}
body[data-page="methodology"] .method-rules > div {
  padding: 27px 0;
  margin: 0;
  border-bottom: 1px solid #e5e5e9;
}
body[data-page="methodology"] .method-rules > div:first-child {
  padding-top: 8px;
}
body[data-page="methodology"] .method-rules > div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
body[data-page="methodology"] .method-rules dt {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -.025em;
}
body[data-page="methodology"] .method-rules .method-points {
  display: flex;
  align-items: baseline;
  gap: 6px;
  font-size: 27px;
  font-weight: 600;
  letter-spacing: -.04em;
  font-variant-numeric: tabular-nums;
}
body[data-page="methodology"] .method-points small {
  font-size: 11px;
  color: #6e6e73;
  letter-spacing: 0;
  font-weight: 400;
}
body[data-page="methodology"] .method-rules dd {
  font-size: 14px;
  line-height: 1.8;
  color: #6e6e73;
}
body[data-page="methodology"] .method-rules dd p {
  margin: 0;
}
body[data-page="methodology"] .method-criteria {
  background: #fafafa;
  margin-block: 18px;
}
body[data-page="methodology"] .method-criteria ul {
  padding-left: 18px;
  margin: 18px 0;
}
body[data-page="methodology"] .method-criteria li {
  font-size: 13px;
  padding: 0 0 15px 3px;
  margin: 0;
}
body[data-page="methodology"] .method-criteria li:last-child {
  padding-bottom: 0;
}
body[data-page="methodology"] .check-list {
  padding-left: 20px;
  margin: 0 0 25px;
}
body[data-page="methodology"] .check-list li {
  padding-left: 5px;
  margin-bottom: 17px;
}
body[data-page="methodology"] .check-list li::marker {
  color: #6e6e73;
}

@media (max-width: 1100px) {
  body[data-page="vendor"] .profile-intro {
    grid-template-columns: 78px minmax(0, 1fr);
  }
  body[data-page="vendor"] .profile-intro .button {
    grid-column: 2;
    justify-self: start;
  }
  body[data-page="vendor"] .profile-intro .vendor-avatar.large {
    width: 78px;
    height: 78px;
  }
  body[data-page="vendor"] .rating-overview {
    grid-template-columns: 160px 1fr;
    gap: 28px;
  }
  body[data-page="vendor"] .profile-evidence {
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
    padding: 22px 0 0;
    border-top: 1px solid #dedee3;
  }
  body[data-page="vendor"] .profile-evidence > div {
    display: flex;
    gap: 15px;
    align-items: baseline;
    justify-content: space-between;
  }
  body[data-page="vendor"] .profile-evidence dd {
    font-size: 22px;
    white-space: nowrap;
  }
  body[data-page="vendor"] .vendor-grid {
    grid-template-columns: 1fr;
  }
  body[data-page="vendor"] .vendor-grid .facts > div {
    grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr);
  }
  body[data-page="vendor"] .panel-heading h2 {
    max-width: none;
  }
  body[data-page="vendor"] .table-scroll-hint {
    display: block;
    margin: 0;
  }
  body[data-page="methodology"] .method-overview {
    gap: 30px;
    padding: 35px;
  }
  body[data-page="methodology"] .method-overview .weights {
    padding-left: 27px;
  }
  body[data-page="methodology"] .method-layout {
    grid-template-columns: minmax(0, 1fr) 235px;
    gap: 22px;
  }
  body[data-page="methodology"] .method-layout > div > .panel {
    padding: 28px;
  }
}
@media (max-width: 760px) {
  :is(body[data-page="vendor"], body[data-page="methodology"]) .panel {
    padding: 25px;
    border-radius: 19px;
    margin-bottom: 19px;
  }
  :is(body[data-page="vendor"], body[data-page="methodology"]) .section-nav {
    gap: 23px;
    padding-bottom: 8px;
    margin: 25px 0;
  }
  :is(body[data-page="vendor"], body[data-page="methodology"]) .section-nav a {
    font-size: 11px;
  }
  body[data-page="vendor"] .profile-intro {
    margin: 28px 0;
    gap: 20px;
  }
  body[data-page="methodology"] .page-intro {
    padding: 45px 0 34px;
  }
  body[data-page="methodology"] .page-intro h1 {
    font-size: 46px;
  }
  body[data-page="methodology"] .page-intro .lead {
    font-size: 15px;
  }
  body[data-page="methodology"] .method-overview {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 29px;
  }
  body[data-page="methodology"] .method-overview .weights {
    border-left: 0;
    border-top: 1px solid #dedee3;
    padding: 25px 0 0;
  }
  body[data-page="methodology"] .weights-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
  }
  body[data-page="methodology"] .weights-title > strong {
    font-size: 31px;
    margin: 0;
  }
  body[data-page="methodology"] .method-layout {
    grid-template-columns: 1fr;
  }
  body[data-page="methodology"] .method-layout > aside {
    position: static;
  }
  body[data-page="methodology"] .method-aside .panel h2 {
    max-width: none;
  }
}
@media (max-width: 700px) {
  body[data-page="vendor"] .lab-table {
    display: table;
  }
  body[data-page="vendor"] .lab-table thead {
    display: table-header-group;
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
  }
  body[data-page="vendor"] .lab-table tbody {
    display: table-row-group;
  }
  body[data-page="vendor"] .lab-table tr {
    display: table-row;
    padding: 0;
    border: 0;
  }
  body[data-page="vendor"] .lab-table td {
    display: table-cell;
    padding: 14px;
    border-bottom: 1px solid #ededf0;
  }
  body[data-page="vendor"] .lab-table td:first-child {
    font-weight: 400;
  }
  body[data-page="vendor"] .lab-table td:before {
    display: none;
    content: none;
  }
  body[data-page="vendor"] .vendor-price-table {
    border: 0;
    border-radius: 0;
  }
  body[data-page="vendor"] .vendor-price-table tbody {
    display: grid;
    gap: 12px;
  }
  body[data-page="vendor"] .vendor-price-table tr {
    padding: 17px;
    border: 1px solid #e5e5e9;
    border-radius: 13px;
    gap: 13px;
    background: #fff;
  }
  body[data-page="vendor"] .vendor-price-table td {
    padding: 0;
    border: 0;
  }
  body[data-page="vendor"] .vendor-price-table td:first-child {
    padding-bottom: 10px;
    border-bottom: 1px solid #ededf0;
    font-size: 13px;
  }
  body[data-page="vendor"] .vendor-price-table td:not(:first-child):before {
    font-size: 11px;
    margin-bottom: 4px;
    color: #6e6e73;
  }
}
@media (max-width: 480px) {
  :is(body[data-page="vendor"], body[data-page="methodology"]) .panel {
    padding: 22px 19px;
    border-radius: 18px;
  }
  :is(body[data-page="vendor"], body[data-page="methodology"]) .panel h2 {
    font-size: 23px;
    margin-bottom: 20px;
  }
  :is(body[data-page="vendor"], body[data-page="methodology"]) .panel :is(p, li) {
    font-size: 13px;
  }
  :is(body[data-page="vendor"], body[data-page="methodology"]) .panel .fine {
    font-size: 11px;
  }
  body[data-page="vendor"] .profile-intro {
    grid-template-columns: 58px minmax(0, 1fr);
    align-items: start;
    gap: 16px;
  }
  body[data-page="vendor"] .profile-intro .vendor-avatar.large {
    width: 58px;
    height: 58px;
    border-radius: 15px;
    padding: 5px;
    font-size: 22px;
  }
  body[data-page="vendor"] .profile-intro p.profile-status {
    font-size: 11px;
    margin-bottom: 8px;
  }
  body[data-page="vendor"] .profile-intro h1 {
    font-size: 32px;
    margin-bottom: 13px;
  }
  body[data-page="vendor"] .profile-intro p:not(.profile-status) {
    font-size: 12px;
    line-height: 1.8;
  }
  body[data-page="vendor"] .profile-intro .button {
    grid-column: 1 / -1;
    width: 100%;
    margin-top: 5px;
  }
  body[data-page="vendor"] .rating-overview {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 25px;
  }
  body[data-page="vendor"] .profile-score {
    border-right: 0;
    padding-right: 0;
  }
  body[data-page="vendor"] .rating-overview .profile-score .score-value {
    font-size: 60px;
  }
  body[data-page="vendor"] .profile-rating-copy h2 {
    font-size: 20px;
    margin-bottom: 10px;
  }
  body[data-page="vendor"] .profile-evidence {
    gap: 20px;
    padding-top: 19px;
  }
  body[data-page="vendor"] .profile-evidence > div {
    display: block;
  }
  body[data-page="vendor"] .profile-evidence dt {
    font-size: 11px;
    margin-bottom: 7px;
  }
  body[data-page="vendor"] .profile-evidence dd {
    font-size: 25px;
  }
  body[data-page="vendor"] .vendor-grid .facts > div {
    grid-template-columns: 1fr;
    gap: 5px;
    padding: 14px 0;
  }
  body[data-page="vendor"] .facts dt {
    font-size: 11px;
  }
  body[data-page="vendor"] .facts dd {
    font-size: 13px;
  }
  body[data-page="vendor"] .detail-heading {
    gap: 10px;
  }
  body[data-page="vendor"] .detail-heading h2 {
    margin-bottom: 0;
  }
  body[data-page="vendor"] .detail-meta {
    font-size: 11px;
  }
  body[data-page="vendor"] .panel-heading h2 {
    font-size: 22px;
    max-width: 185px;
  }
  body[data-page="vendor"] .panel-heading .score-value {
    font-size: 30px;
  }
  body[data-page="vendor"] .panel-heading .score-value small {
    font-size: 11px;
  }
  body[data-page="vendor"] .breakdown-row > div:first-child {
    font-size: 11px;
  }
  body[data-page="vendor"] .notice,
  body[data-page="vendor"] .notice li {
    font-size: 11px;
  }
  body[data-page="vendor"] #history .mail-actions,
  body[data-page="vendor"] #history .button {
    width: 100%;
  }
  body[data-page="methodology"] .page-intro h1 {
    font-size: 42px;
  }
  body[data-page="methodology"] .page-intro .eyebrow {
    font-size: 11px;
    margin-bottom: 16px;
  }
  body[data-page="methodology"] .page-intro .lead {
    font-size: 14px;
  }
  body[data-page="methodology"] .method-overview {
    padding: 25px;
  }
  body[data-page="methodology"] .method-overview h2 {
    font-size: 28px;
  }
  body[data-page="methodology"] .formula {
    font-size: 22px;
    white-space: nowrap;
  }
  body[data-page="methodology"] .formula sub {
    font-size: 11px;
    margin-right: 0;
  }
  body[data-page="methodology"] .method-layout > div > .panel {
    padding: 24px 19px;
  }
  body[data-page="methodology"] .method-rules dt {
    font-size: 18px;
    gap: 15px;
  }
  body[data-page="methodology"] .method-rules .method-points {
    font-size: 24px;
  }
  body[data-page="methodology"] .method-points small {
    font-size: 11px;
  }
  body[data-page="methodology"] .method-criteria {
    padding: 0 13px;
  }
  body[data-page="methodology"] .method-criteria li {
    font-size: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  :is(body[data-page="vendor"], body[data-page="methodology"]) .section-nav a {
    transition: none;
  }
}

.compare-toolbar { align-items:center; justify-content:space-between; gap:18px; }
.difference-switch { display:flex; align-items:center; gap:11px; font-size:14px; min-height:44px; color:#1d1d1f; cursor:pointer; }
.difference-switch input { appearance:none; width:40px; height:24px; border:1px solid #aaaab1; border-radius:20px; background:#e6e6eb; position:relative; flex:none; transition:background .18s; }
.difference-switch input:after { content:""; position:absolute; width:18px; height:18px; left:2px; top:2px; border-radius:50%; background:#fff; box-shadow:0 1px 3px #0003; transition:transform .18s; }
.difference-switch input:checked { background:#0066cc; border-color:#0066cc; }
.difference-switch input:checked:after { transform:translateX(16px); }
.difference-switch input:disabled { opacity:.45; cursor:not-allowed; }
.difference-switch:has(input:disabled) { color:#6e6e73; }
.comparison-difference-status { font-size:13px; color:#515156; margin:0 0 5px; }
.difference-note { font-size:12px; color:#6e6e73; margin:0 0 23px; max-width:760px; }
.compare-table [data-comparison-row][hidden] { display:none!important; }
.compare-table .compare-protected td { color:#303035; }
.compare-table-wrap { animation:comparison-appear .2s ease-out; }
@keyframes comparison-appear { from{opacity:.75} to{opacity:1} }
@media(max-width:700px){.compare-toolbar{align-items:flex-start;flex-wrap:wrap}.difference-switch{font-size:13px}.difference-note{font-size:11px}.comparison-difference-status{font-size:12px}}
@media(prefers-reduced-motion:reduce){.compare-table-wrap{animation:none}.difference-switch input,.difference-switch input:after{transition:none}}

/* Order-cost tools extend the existing Pure price page, including its no-JS tables. */
body[data-page="prices"] .offer-controls {
  background: #f5f5f7;
  border: 1px solid #e5e5e9;
  border-radius: 22px;
  padding: 26px 28px;
  margin: 12px 0 28px;
}
body[data-page="prices"] .offer-controls-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}
body[data-page="prices"] .offer-controls h2 {
  font-size: 23px;
  line-height: 1.3;
  letter-spacing: -.035em;
  margin: 0 0 9px;
}
body[data-page="prices"] .offer-controls-heading p {
  font-size: 12px;
  color: #6e6e73;
  margin: 0;
  line-height: 1.7;
}
body[data-page="prices"] .offer-controls-heading button {
  flex-shrink: 0;
  font-size: 12px;
}
body[data-page="prices"] .offer-control-fields {
  display: grid;
  grid-template-columns: 1fr .8fr 1.2fr 1.1fr;
  align-items: start;
  gap: 18px;
}
body[data-page="prices"] .offer-control-fields > label > span:first-child {
  display: block;
  font-size: 12px;
  margin: 0 0 8px;
  font-weight: 500;
}
body[data-page="prices"] .offer-control-fields small {
  display: block;
  font-size: 11px;
  color: #6e6e73;
  margin-top: 6px;
}
body[data-page="prices"] .offer-control-fields :is(input[type="number"], select) {
  min-height: 46px;
  font-size: 12px;
  border-radius: 10px;
  background: #fff;
}
body[data-page="prices"] .offer-control-fields .offer-shipping-toggle {
  display: flex;
  align-items: center;
  gap: 11px;
  cursor: pointer;
  min-height: 46px;
  margin-top: 25px;
  font-size: 12px;
}
body[data-page="prices"] .offer-shipping-toggle input {
  width: 19px;
  height: 19px;
  margin: 0;
  accent-color: #0071e3;
  flex-shrink: 0;
}
body[data-page="prices"] .offer-shipping-toggle small {
  margin-top: 3px;
}
body[data-page="prices"] .offer-summary {
  font-size: 11px;
  line-height: 1.75;
  color: #6e6e73;
  margin: 19px 0 0;
  padding-top: 16px;
  border-top: 1px solid #dedee3;
}
body[data-page="prices"] .offer-feedback {
  font-size: 12px;
  line-height: 1.7;
  margin: 17px 0 0;
  color: #9a3426;
}
body[data-page="prices"] .offer-controls input[aria-invalid="true"] {
  border-color: #b94d3f;
}
body[data-page="prices"] .offer-enhanced .price-table th:nth-child(1) { width: 21%; }
body[data-page="prices"] .offer-enhanced .price-table th:nth-child(2) { width: 23%; }
body[data-page="prices"] .offer-enhanced .price-table th:nth-child(3) { width: 20%; }
body[data-page="prices"] .offer-enhanced .price-table th:nth-child(4) { width: 17%; }
body[data-page="prices"] .offer-enhanced .price-table th:nth-child(5) { width: 19%; }
body[data-page="prices"] .offer-enhanced .price-total-cell {
  display: table-cell;
}
body[data-page="prices"] .offer-enhanced .offer-source-price {
  display: block;
  font-size: 11px;
  color: #6e6e73;
  white-space: nowrap;
  margin-bottom: 5px;
}
body[data-page="prices"] .offer-order-price strong,
body[data-page="prices"] .offer-calculated-unit {
  font-size: 17px;
  font-weight: 650;
  letter-spacing: -.025em;
  white-space: nowrap;
  color: #1d1d1f;
}
body[data-page="prices"] .price-table :is(.offer-order-price small, .offer-volume, .offer-shipping-result, [data-offer-unit-note]) {
  font-size: 11px;
  line-height: 1.6;
  white-space: normal;
  color: #6e6e73;
  margin-top: 7px;
}
body[data-page="prices"] .price-table .offer-volume {
  padding-top: 6px;
  color: #515158;
}
body[data-page="prices"] .price-table .offer-best {
  color: #276b4c;
  font-size: 11px;
  line-height: 1.6;
  margin-top: 8px;
}
body[data-page="prices"] .price-table .offer-sold-out {
  color: #7a6340;
  font-weight: 500;
  font-size: 11px;
  margin-top: 8px;
}
body[data-page="prices"] .price-table .offer-warning {
  display: block;
  color: #9f3025;
  font-size: 11px;
  line-height: 1.6;
  font-weight: 500;
  margin-top: 7px;
}
body[data-page="prices"] .offer-total-unknown .offer-order-price strong,
body[data-page="prices"] .offer-total-unknown .offer-calculated-unit {
  color: #696159;
}
body[data-page="prices"] .offer-result-count {
  color: #6e6e73;
  font-size: 11px;
  margin: 17px 3px 0;
}
body[data-page="prices"] .offer-empty {
  padding: 34px 25px;
  text-align: center;
  border: 1px solid #e5e5e9;
  border-radius: 15px;
  background: #fff;
}
body[data-page="prices"] .offer-empty h3 {
  font-size: 22px;
  margin: 0 0 12px;
}
body[data-page="prices"] .offer-empty p {
  font-size: 13px;
  line-height: 1.75;
  color: #6e6e73;
  max-width: 420px;
  margin: 0 auto 18px;
}
body[data-page="prices"] .offer-empty button {
  font-size: 12px;
}
@media (max-width: 950px) {
  body[data-page="prices"] .offer-control-fields {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  body[data-page="prices"] .offer-enhanced .price-table {
    font-size: 12px;
  }
  body[data-page="prices"] .offer-order-price strong,
  body[data-page="prices"] .offer-calculated-unit { font-size: 15px; }
}
@media (max-width: 700px) {
  body[data-page="prices"] .offer-controls { padding: 23px 20px; margin-bottom: 23px; border-radius: 20px; }
  body[data-page="prices"] .offer-controls-heading { flex-wrap: wrap; gap: 8px; }
  body[data-page="prices"] .offer-controls h2 { font-size: 22px; }
  body[data-page="prices"] .offer-control-fields { gap: 19px 13px; }
  body[data-page="prices"] .offer-control-fields > label > span:first-child { font-size: 11px; }
  body[data-page="prices"] .offer-control-fields :is(input[type="number"], select) { font-size: 11px; padding-inline: 10px; }
  body[data-page="prices"] .offer-control-fields .offer-shipping-toggle { font-size: 11px; margin-top: 23px; }
  body[data-page="prices"] .offer-shipping-toggle small { font-size: 10px; }
  body[data-page="prices"] .offer-enhanced .price-table tbody tr { grid-template-columns: minmax(0, 1fr) minmax(115px, .8fr); }
  body[data-page="prices"] .offer-enhanced .price-total-cell { display: block; grid-column: 1; grid-row: 3; padding-top: 12px; border-top: 1px solid #ededf0; text-align: left; }
  body[data-page="prices"] .offer-enhanced .price-unit-cell { grid-column: 2; grid-row: 3; align-self: stretch; padding-top: 12px; border-top: 1px solid #ededf0; text-align: right; }
  body[data-page="prices"] .offer-enhanced .price-shipping-cell { grid-column: 1 / -1; grid-row: 4; }
  body[data-page="prices"] .offer-enhanced .price-pack-cell { grid-column: 1 / -1; grid-row: 2; padding-right: 0; }
  body[data-page="prices"] .offer-enhanced .price-shop-cell { grid-column: 1 / -1; grid-row: 1; }
  body[data-page="prices"] .offer-enhanced .price-total-cell:before,
  body[data-page="prices"] .offer-enhanced .price-unit-cell:before { content: attr(data-label); display: block; margin: 0 0 7px; color: #6e6e73; font-size: 10px; font-weight: 400; }
  body[data-page="prices"] .offer-enhanced .offer-source-price { font-size: 10px; }
  body[data-page="prices"] .offer-enhanced .offer-calculated-unit { font-size: 20px; }
  body[data-page="prices"] .offer-enhanced .offer-order-price strong { font-size: 19px; }
  body[data-page="prices"] .offer-summary { font-size: 11px; }
}
@media (max-width: 380px) {
  body[data-page="prices"] .offer-control-fields { grid-template-columns: 1fr; gap: 16px; }
  body[data-page="prices"] .offer-control-fields .offer-shipping-toggle { margin-top: 0; }
}
@media print {
  body[data-page="prices"] .offer-controls,
  body[data-page="prices"] .offer-empty button { display: none !important; }
}

/* Evidence tools: source-first, with the Pure type and colour system. */
.report-explorer [hidden],.rating-journey [hidden] {display:none!important}
.report-explorer,.rating-journey {--evidence-line:#e5e5e9;--evidence-muted:#6e6e73;color:#1d1d1f;min-width:0}
.report-filters {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 20px;background:#f5f5f7;border:1px solid var(--evidence-line);border-radius:22px;padding:28px;margin:0 0 30px}
.report-filters label,.report-results-heading label {display:flex;flex-direction:column;gap:7px;min-width:0;font-size:13px;font-weight:600;color:#1d1d1f}
.report-filters .report-search {grid-column:span 2}
.report-filters input:not([type=checkbox]),.report-filters select {width:100%;max-width:100%;height:47px;min-width:0;background-color:#fff;border:1px solid #d2d2d7;border-radius:10px;font:inherit;font-size:14px;font-weight:400;color:#1d1d1f;padding:10px 12px}
.report-filters select {padding-right:34px}
.report-filters input::placeholder {color:#6e6e73;opacity:1}
.report-filter-bottom {grid-column:1/-1;display:flex;align-items:center;gap:16px;justify-content:space-between;border-top:1px solid #e0e0e5;padding-top:16px}
.report-filter-bottom p {font-size:12px;color:var(--evidence-muted);margin:0}
.report-reset {appearance:none;padding:6px 0;border:0;border-radius:0;background:none;color:#0066cc;font:inherit;font-size:13px;font-weight:600;text-align:left;cursor:pointer;min-height:36px}
.report-reset:hover {text-decoration:underline;background:none}
.report-results-heading {display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 0 20px}
.report-results-heading>p {font-size:15px;font-weight:600;margin:0;font-variant-numeric:tabular-nums}
.report-results-heading label {flex-direction:row;align-items:center;font-weight:400;color:#6e6e73;gap:10px}
.report-results-heading select {border:1px solid #d2d2d7;border-radius:10px;background-color:#fff;color:#1d1d1f;min-height:42px;font-size:13px;padding:8px 34px 8px 12px;width:auto}
.report-column-head,.report-record>summary {display:grid;grid-template-columns:minmax(0,2.4fr) minmax(0,1.5fr) minmax(0,1fr) minmax(105px,.9fr) 24px;gap:24px;align-items:center}
.report-column-head {padding:13px 22px;border-top:1px solid var(--evidence-line);border-bottom:1px solid var(--evidence-line);font-size:12px;color:#6e6e73;background:#f5f5f7}
.report-record {border:0;border-bottom:1px solid var(--evidence-line);border-radius:0;background:#fff;margin:0;padding:0;scroll-margin-top:100px}
.report-record>summary {position:relative;padding:23px 22px;list-style:none;cursor:pointer;font-size:13px;min-height:90px}
.report-record>summary::-webkit-details-marker,.report-raw>summary::-webkit-details-marker {display:none}
.report-record>summary:after,.report-record>summary:before {content:none}
.report-record>summary:hover {background:#fafafa}
.report-product,.report-lab {display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}
.report-product strong {font-size:15px;font-weight:650;letter-spacing:-.02em;line-height:1.4}
.report-product>span,.report-lab time {font-size:12px;color:#6e6e73}
.report-code {font-variant-numeric:tabular-nums;overflow-wrap:anywhere;color:#6e6e73;font-size:12px}
.report-status {font-size:12px;color:#6e6e73;font-weight:500}
.report-status.is-counted {color:#0066cc}
.report-chevron,.report-raw-chevron {position:relative;display:inline-block;width:20px;height:20px;flex-shrink:0;vertical-align:middle;transition:transform .2s}
.report-chevron:before,.report-chevron:after,.report-raw-chevron:before,.report-raw-chevron:after {content:'';position:absolute;left:4px;top:9px;width:12px;height:1px;background:#6e6e73}
.report-chevron:after,.report-raw-chevron:after {transform:rotate(90deg)}
.report-record[open]>summary {background:#f5f5f7}
.report-record[open]>summary .report-chevron {transform:rotate(45deg)}
.report-detail {padding:30px 32px 25px;border-top:1px solid var(--evidence-line)}
.report-detail-heading {display:flex;justify-content:space-between;align-items:start;gap:24px;margin-bottom:28px}
.report-caption {font-size:13px;font-weight:500;line-height:1.5;letter-spacing:0;color:#6e6e73;margin:0 0 8px}
.report-detail-heading h3 {font-size:26px;line-height:1.25;letter-spacing:-.04em;margin:0}
.report-permalink {font-size:12px;flex-shrink:0;padding-top:6px}
.report-detail-columns {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px}
.report-detail h4 {font-size:15px;line-height:1.5;letter-spacing:-.015em;margin:0 0 14px}
.report-measurements,.report-provenance {margin:0}
.report-measurements>div,.report-provenance>div {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:14px;padding:11px 0;border-bottom:1px solid var(--evidence-line);font-size:13px;line-height:1.6;align-items:start}
.report-measurements dt,.report-provenance dt {font-weight:400;color:#6e6e73}
.report-measurements dd,.report-provenance dd {margin:0;color:#1d1d1f;font-weight:500;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.report-measurements dd>span {display:block}
.report-measurements small {font-size:11px;color:#6e6e73;font-weight:400;margin-left:3px}
.report-provenance dd {font-weight:400}
.report-fineprint {font-size:12px;line-height:1.7;color:#6e6e73;margin:14px 0 0}
.report-note {font-size:13px;line-height:1.7;color:#1d1d1f;border-left:2px solid #d2d2d7;padding-left:14px;margin:18px 0 0}
.report-links {display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:20px;font-size:13px}
.report-links>a,.report-permalink,.journey-copy>a,.journey-footer>a {color:#0066cc;text-decoration:none}
.report-links>a:hover,.report-permalink:hover,.journey-copy>a:hover,.journey-footer>a:hover {text-decoration:underline}
.report-links>span {color:#6e6e73}
.report-relevance {background:#f5f5f7;border-radius:14px;padding:24px;margin-top:30px}
.report-relevance h4 {margin:0 0 8px}
.report-relevance>p {font-size:13px;line-height:1.8;margin:0;max-width:900px}
.report-relevance>p.report-note {margin-top:18px}
.report-point-parts {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;border-top:1px solid var(--evidence-line);padding-top:18px;margin:18px 0 0}
.report-point-parts dt {color:#6e6e73;font-size:12px;font-weight:400;margin-bottom:5px}
.report-point-parts dd {margin:0;font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}
.report-point-parts dd span {font-size:13px;color:#6e6e73;font-weight:400}
.report-raw {border:0;background:none;margin-top:20px;padding:0}
.report-raw>summary {font-size:12px;color:#6e6e73;cursor:pointer;list-style:none;padding:8px 0}
.report-raw>summary:before,.report-raw>summary:after {content:none}
.report-raw-chevron {margin-right:3px}
.report-raw[open]>summary>.report-raw-chevron {transform:rotate(45deg)}
.report-raw pre {font-family:ui-monospace,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.7;max-height:440px;overflow:auto;background:#f5f5f7;border:1px solid var(--evidence-line);border-radius:10px;padding:20px;color:#303035}
.report-empty {text-align:center;padding:70px 24px;border-top:1px solid var(--evidence-line);border-bottom:1px solid var(--evidence-line)}
.report-empty h2 {font-size:26px;margin-bottom:10px}
.report-empty p {color:#6e6e73;font-size:15px;margin-bottom:24px}
.report-disclosure {margin:60px 0 30px;max-width:870px}
.report-disclosure h2 {font-size:26px;margin:0 0 18px}
.report-disclosure p {font-size:14px;line-height:1.85;color:#6e6e73}
.rating-journey {margin:60px 0;border:1px solid var(--evidence-line);border-radius:22px;background:#fff;overflow:hidden}
.journey-heading {display:flex;justify-content:space-between;align-items:center;gap:28px;padding:35px 38px 30px}
.journey-heading h2 {font-size:clamp(26px,3vw,37px);margin:0 0 10px;line-height:1.2;letter-spacing:-.045em}
.journey-heading p:not(.report-caption) {font-size:14px;margin:0;color:#6e6e73}
.journey-playback {display:flex;flex-direction:column;align-items:flex-end;gap:9px;flex-shrink:0}
.journey-playback .button {min-height:44px;padding:11px 18px;font-size:13px;white-space:nowrap}
.journey-playback>span {font-size:11px;color:#6e6e73;text-align:right}
.journey-tabs {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--evidence-line);border-bottom:1px solid var(--evidence-line);padding:0 26px;background:#f5f5f7}
.journey-tabs>button {position:relative;display:flex;justify-content:center;align-items:center;gap:10px;padding:18px 10px;min-height:66px;background:none;border:0;border-radius:0;color:#6e6e73;font:inherit;font-size:13px;font-weight:500;cursor:pointer}
.journey-tabs>button:hover {background:#ededf0;color:#1d1d1f}
.journey-tabs>button[aria-selected=true] {color:#0066cc}
.journey-tabs>button[aria-selected=true]:after {content:'';position:absolute;bottom:-1px;left:20px;right:20px;height:2px;background:#0066cc}
.journey-step-number {display:inline-flex;align-items:center;justify-content:center;border:1px solid #b7b7be;border-radius:50%;width:25px;height:25px;font-size:11px;font-weight:600;flex-shrink:0}
.journey-tabs>button[aria-selected=true] .journey-step-number {background:#0066cc;border-color:#0066cc;color:#fff}
.journey-stage>section {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:50px;padding:38px;align-items:start}
.rating-journey:not(.is-enhanced) .journey-stage>section+section {border-top:1px solid var(--evidence-line)}
.rating-journey.is-enhanced .journey-stage {min-height:410px}
.rating-journey.is-enhanced .journey-stage>section:not([hidden]) {animation:journey-enter .24s ease-out}
.journey-copy h3 {font-size:clamp(24px,2.7vw,32px);line-height:1.2;margin:0 0 18px;letter-spacing:-.04em;text-wrap:balance}
.journey-copy>p:not(.report-caption) {font-size:14px;line-height:1.85;color:#6e6e73;margin:0 0 16px}
.journey-copy>p.report-fineprint {font-size:12px}
.journey-copy>a {display:inline-block;font-size:13px;margin-top:8px}
.journey-data {background:#f5f5f7;border-radius:16px;padding:22px 25px;min-width:0}
.journey-data .report-measurements>div:first-child {padding-top:0}
.journey-data .report-measurements>div:last-child {border-bottom:0;padding-bottom:0}
.journey-checks {margin:0}
.journey-checks>div {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px;padding:15px 0;border-bottom:1px solid var(--evidence-line)}
.journey-checks>div:first-child {padding-top:0}
.journey-checks>div:last-child {border:0;padding-bottom:0}
.journey-checks dt {font-size:12px;font-weight:400;color:#6e6e73}
.journey-checks dd {margin:0;overflow-wrap:anywhere}
.journey-checks dd strong {display:block;font-size:13px;font-weight:600}
.journey-checks dd span {display:block;font-size:11px;line-height:1.7;color:#6e6e73;margin-top:3px}
.journey-criterion+.journey-criterion {margin-top:25px}
.journey-criterion>div:first-child {display:flex;justify-content:space-between;gap:20px;font-size:13px;margin-bottom:10px}
.journey-criterion strong {font-weight:600;font-variant-numeric:tabular-nums}
.journey-criterion strong>span {font-weight:400;color:#6e6e73}
.journey-meter {height:6px;border-radius:3px;background:#dedee4;overflow:hidden}
.journey-meter>span {display:block;height:100%;width:var(--journey-share);border-radius:inherit;background:#0066cc;transform-origin:left}
.rating-journey.is-enhanced [data-journey-panel="2"]:not([hidden]) .journey-meter>span {animation:journey-meter .65s cubic-bezier(.2,.7,.2,1) both}
.journey-total {display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #d2d2d7;padding-bottom:18px}
.journey-total>span {font-size:14px;font-weight:500}
.journey-total>strong {font-size:38px;letter-spacing:-.06em;line-height:1;font-weight:650;white-space:nowrap}
.journey-total small {font-size:13px;letter-spacing:0;margin-left:5px;font-weight:400;color:#6e6e73}
.journey-result>dl {margin:14px 0 0}
.journey-result>dl>div {display:flex;justify-content:space-between;gap:20px;padding:7px 0;font-size:12px}
.journey-result dt {font-weight:400;color:#6e6e73}
.journey-result dd {margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.journey-result dd span {color:#6e6e73}
.journey-footer {display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--evidence-line);padding:18px 38px;font-size:12px;color:#6e6e73}
@keyframes journey-enter {from {opacity:0;transform:translateY(5px)} to {opacity:1;transform:translateY(0)}}
@keyframes journey-meter {from {transform:scaleX(0)} to {transform:scaleX(1)}}
@media(max-width:1000px) {
  .report-column-head,.report-record>summary {grid-template-columns:minmax(0,2fr) minmax(0,1.5fr) minmax(95px,.8fr) 22px;gap:18px}
  .report-column-head>span:nth-child(3),.report-record>summary>.report-code {display:none}
  .report-detail-columns {gap:30px}
  .journey-heading,.journey-stage>section {padding:28px}
  .journey-stage>section {gap:28px}
  .journey-footer {padding:18px 28px}
}
@media(max-width:700px) {
  .report-filters {grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 14px;padding:20px;border-radius:18px;margin-bottom:23px}
  .report-filters input:not([type=checkbox]),.report-filters select {font-size:16px}
  .report-filter-bottom {align-items:flex-start;flex-direction:column;gap:3px;padding-top:9px}
  .report-results-heading {align-items:flex-start;gap:10px;flex-direction:column;padding-bottom:18px}
  .report-results-heading label {width:100%;justify-content:space-between}
  .report-results-heading select {font-size:14px}
  .report-column-head {display:none}
  .report-record:first-child {border-top:1px solid var(--evidence-line)}
  .report-record>summary {grid-template-columns:minmax(0,1fr) 22px;gap:8px 14px;padding:20px 10px}
  .report-product {grid-column:1;grid-row:1}
  .report-product strong {font-size:15px}
  .report-lab {grid-column:1;grid-row:2;display:flex;flex-direction:row;flex-wrap:wrap;gap:4px 12px;font-size:11px;color:#6e6e73}
  .report-lab time {font-size:11px}
  .report-status {grid-column:1;grid-row:3;font-size:11px}
  .report-chevron {grid-column:2;grid-row:1/4}
  .report-detail {padding:24px 12px}
  .report-detail-heading {flex-direction:column;gap:8px;margin-bottom:25px}
  .report-detail-heading h3 {font-size:24px}
  .report-detail-columns {grid-template-columns:1fr;gap:30px}
  .report-measurements>div,.report-provenance>div {grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);font-size:12px}
  .report-relevance {padding:20px 17px;margin-top:25px}
  .report-point-parts {grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .report-point-parts dd {font-size:16px}
  .report-raw pre {padding:14px;font-size:10px}
  .report-disclosure {margin-top:42px}
  .rating-journey {margin:40px 0;border-radius:18px}
  .journey-heading {display:block;padding:25px 22px}
  .journey-heading h2 {font-size:28px}
  .journey-playback {align-items:flex-start;margin-top:22px;gap:7px}
  .journey-tabs {padding:0 6px}
  .journey-tabs>button {flex-direction:column;gap:6px;padding:14px 3px;font-size:11px;min-height:79px}
  .journey-tabs>button[aria-selected=true]:after {left:7px;right:7px}
  .journey-step-number {width:23px;height:23px;font-size:10px}
  .journey-stage>section {grid-template-columns:1fr;gap:24px;padding:26px 22px}
  .rating-journey.is-enhanced .journey-stage {min-height:660px}
  .journey-copy h3 {font-size:27px;max-width:340px}
  .journey-data {padding:22px 18px}
  .journey-total>strong {font-size:33px}
  .journey-footer {flex-direction:column;align-items:flex-start;gap:8px;padding:17px 22px;font-size:11px}
}
@media(prefers-reduced-motion:reduce) {
  .rating-journey.is-enhanced .journey-stage>section:not([hidden]),.rating-journey.is-enhanced [data-journey-panel="2"]:not([hidden]) .journey-meter>span {animation:none}
  .report-chevron,.journey-tabs>button {transition:none}
}

/* History extends the same quiet, white Pure panels as the provider evidence. */
.history-tools { border:1px solid var(--line,#e5e5e9); border-radius:22px; padding:32px; background:#fff; margin:24px 0; scroll-margin-top:150px }
.history-tools [hidden] { display:none!important }
.history-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:24px }
.history-tools .history-eyebrow { font-size:11px; text-transform:uppercase; letter-spacing:.1em; font-weight:700; color:#6e6e73; margin:0 0 8px }
.history-tools .history-heading h2 { font-size:25px; line-height:1.25; letter-spacing:-.035em; margin:0 0 18px; font-weight:600 }
.history-since { color:#6e6e73; font-size:11px; flex-shrink:0; text-align:right; line-height:1.6 }
.history-since strong { display:block; color:#1d1d1f; font-size:13px; font-weight:600 }
.history-tools .history-intro { max-width:78ch; color:#6e6e73; font-size:13px; line-height:1.85; margin:0 0 20px }
.history-baseline { display:flex; align-items:flex-start; gap:12px; padding:16px 18px; border-radius:13px; background:#f5f5f7; margin:0 0 24px }
.history-baseline>span { color:#0066cc; font-size:21px; line-height:1.3 }
.history-tools .history-baseline p { font-size:12px; line-height:1.8; margin:0; color:#48484d }
.history-filters { display:flex; flex-wrap:wrap; gap:14px; align-items:flex-end }
.history-filters label { display:flex; flex:1 1 160px; flex-direction:column; gap:7px; font-size:11px; color:#6e6e73; font-weight:600 }
.history-filters select { width:100%; min-height:44px; padding:10px 34px 10px 13px; color:#1d1d1f; border:1px solid #dedee3; border-radius:10px; background:#fff; font:inherit; font-size:13px }
.history-filters button { min-height:44px; border:1px solid #dedee3; background:#fff; border-radius:10px; padding:10px 15px; font:inherit; font-size:12px; cursor:pointer; color:#0066cc }
.history-filters :is(select,button):focus-visible,.history-tools a:focus-visible,.history-provenance summary:focus-visible { outline:3px solid #8bbdf1; outline-offset:3px }
.history-tools .history-count { font-size:11px; color:#6e6e73; margin:16px 0 3px; font-variant-numeric:tabular-nums }
.history-tools .history-filter-note { font-size:10px; color:#6e6e73; margin:0 0 12px }
.history-timeline { list-style:none; padding:0; margin:10px 0 0 }
.history-tools .history-event { display:grid; grid-template-columns:142px minmax(0,1fr); gap:26px; padding:25px 0; border-top:1px solid #e5e5e9; font-size:13px }
.history-date time { display:block; color:#1d1d1f; font-weight:600; font-size:12px; font-variant-numeric:tabular-nums }
.history-date>span { display:block; font-size:10px; color:#6e6e73; line-height:1.65; margin-top:4px }
.history-event-meta { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; font-size:11px; color:#6e6e73; margin-bottom:10px }
.history-kind { border-radius:6px; background:#f1f6fc; color:#0066cc; font-size:10px; font-weight:600; padding:4px 7px; line-height:1.5 }
.history-tools .history-body p { margin:0 0 10px; line-height:1.8; font-size:13px; overflow-wrap:anywhere }
.history-tools .history-body .history-value { font-variant-numeric:tabular-nums; font-size:16px; color:#6e6e73; letter-spacing:-.02em }
.history-value strong { color:#1d1d1f; font-weight:600 }
.history-tools .history-body :is(.history-note,.history-method) { font-size:11px; color:#6e6e73; line-height:1.8 }
.history-sources { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:12px }
.history-tools .history-sources a,.history-provenance a { font-size:11px; color:#0066cc; text-decoration:none; overflow-wrap:anywhere }
.history-tools a:hover { text-decoration:underline }
.history-changes { background:#f8f8fa; border-radius:10px; padding:12px 14px; margin:14px 0; font-size:11px }
.history-changes>div+div { margin-top:10px }
.history-changes dt { color:#6e6e73; margin-bottom:3px }
.history-changes dd { margin:0; overflow-wrap:anywhere; color:#48484d }
.history-changes strong { color:#1d1d1f; font-weight:600 }
.history-tools .history-empty { padding:24px; border-radius:12px; text-align:center; background:#f5f5f7; font-size:13px; color:#6e6e73 }
.history-provenance { border-top:1px solid #e5e5e9; padding-top:20px; margin-top:6px }
.history-provenance summary { cursor:pointer; font-size:12px; font-weight:600; color:#48484d }
.history-tools .history-provenance p { font-size:11px; color:#6e6e73; line-height:1.8; margin:14px 0 }
.history-provenance ul { list-style:none; padding:0; margin:0 }
.history-tools .history-provenance li { margin:12px 0; font-size:11px }
.history-provenance code { display:block; overflow-wrap:anywhere; font-size:10px; color:#6e6e73; margin-top:4px }
@media(max-width:700px) {
  .history-tools { padding:22px!important; border-radius:18px }
  .history-heading { flex-direction:column; gap:0 }
  .history-since { text-align:left; margin:0 0 15px }
  .history-since strong { display:inline; margin-left:6px }
  .history-tools .history-event { grid-template-columns:1fr; gap:10px; padding:22px 0 }
  .history-date { display:flex; flex-wrap:wrap; gap:8px; align-items:center }
  .history-date>span { margin:0 }
  .history-filters { gap:12px }
  .history-filters label { flex-basis:100% }
  .history-filters button { width:100% }
}

.tour-section{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;column-gap:64px;row-gap:32px;padding:100px 0}
.tour-copy h2{font-size:clamp(34px,4vw,54px);line-height:1.08;letter-spacing:-.055em;margin:20px 0}
.tour-copy h2 span{color:var(--muted,#6e6e73)}
.tour-copy>p:not(.section-kicker){color:#6e6e73;line-height:1.7;max-width:390px}
.tour-copy .tour-meta{font-size:12px;margin-top:18px}
.tour-poster{position:relative;display:block;overflow:hidden;width:100%;border:1px solid #e5e5e8;border-radius:24px;padding:0;background:#f5f5f7;color:#1d1d1f;box-shadow:0 20px 50px #1d1d1f0b;cursor:pointer;text-align:left;text-decoration:none}
.tour-poster img{display:block;width:100%;height:auto}
.tour-play{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#fff;color:#0066cc;font-size:32px;box-shadow:0 6px 30px #0002;transform:translate(-50%,-50%);transition:scale .2s}
.tour-poster:hover .tour-play{scale:1.08}
.tour-poster-label{display:flex;justify-content:space-between;gap:12px;padding:20px 24px;background:#fff;font-size:13px;font-weight:650}
.tour-poster-label>span{color:#6e6e73;white-space:nowrap}
.tour-dialog{width:min(1040px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;padding:0;border:0;border-radius:20px;color:#1d1d1f;background:white;box-shadow:0 30px 120px #0004}
.tour-dialog::backdrop{background:#15151b99;backdrop-filter:blur(8px)}
.tour-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px}
.tour-dialog-head h2{font-size:18px;margin:0}
.tour-dialog-head button{flex-shrink:0;width:44px;height:44px;border:0;border-radius:50%;background:#f5f5f7;font-size:28px;cursor:pointer}
.tour-dialog video{display:block;width:100%;height:auto;max-height:70dvh;object-fit:contain;background:#111}
.tour-dialog video::cue{font-size:clamp(14px,2vw,24px)}
.tour-dialog-footer{padding:12px 24px 16px;font-size:13px;line-height:1.6}
.tour-playback-status{margin:0 0 8px;padding:12px 16px;border-radius:8px;background:#f5f5f7}
.tour-media-links,.tour-transcript-links{display:flex;flex-wrap:wrap;gap:4px 24px}
.tour-media-links a,.tour-transcript-links a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:3px}
.tour-transcript{grid-column:1/-1;border-top:1px solid #e5e5e8;line-height:1.7;font-size:14px}
.tour-transcript summary{padding:16px 0;cursor:pointer;font-weight:650}
.tour-transcript-body{max-width:760px;padding-bottom:8px}
.tour-transcript-body p{margin:0 0 16px}
.tour-poster:focus-visible,.tour-dialog-head button:focus-visible,.tour-transcript summary:focus-visible{outline:3px solid #0066cc;outline-offset:4px}
.vendor-response,.vendor-grid>[data-history-tools]{grid-column:1/-1}
@media(max-width:760px){.tour-section{grid-template-columns:1fr;gap:28px;padding:60px 0}.tour-copy>p:not(.section-kicker){max-width:none}.tour-dialog-head{padding:12px 16px}.tour-dialog-head h2{font-size:15px}.tour-dialog-footer{padding:8px 16px 12px}.tour-poster-label{padding:16px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.tour-play{transition:none}.tour-poster:hover .tour-play{scale:1}}

.evidence-matrix {--matrix-line:#e5e5e9;--matrix-soft:#f5f5f7;margin:10px 0 65px;min-width:0}
body[data-page="matrix"] .page-intro {padding:30px 0 20px;max-width:1100px}
body[data-page="matrix"] .page-intro h1 {font-size:48px;line-height:1.12;margin-bottom:14px;max-width:1040px}
body[data-page="matrix"] .page-intro .eyebrow {font-size:12px;margin-bottom:12px}
body[data-page="matrix"] .page-intro .lead {font-size:16px;line-height:1.7;max-width:880px}
body[data-page="matrix"] .matrix-overview {padding:16px 0 24px}
body[data-page="matrix"] .matrix-overview>div>span {margin-bottom:8px}
body[data-page="matrix"] .matrix-overview strong {font-size:40px}
body[data-page="matrix"] .matrix-controls {margin:22px 0 16px;gap:16px}
.evidence-matrix [hidden] {display:none!important}
.matrix-sr {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.matrix-overview {display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:34px;padding:30px 0 36px;border-bottom:1px solid var(--matrix-line)}
.matrix-overview>div>span {display:block;font-size:12px;color:#6e6e73;margin-bottom:12px}
.matrix-overview strong {display:flex;gap:14px;align-items:baseline;font-size:48px;line-height:1.1;letter-spacing:-.055em;font-weight:600;color:#1d1d1f;font-variant-numeric:tabular-nums}
.matrix-overview small {font-size:13px;font-weight:400;letter-spacing:0;color:#6e6e73}
.matrix-overview .matrix-overview-note {border-left:1px solid var(--matrix-line);padding-left:34px}
.matrix-overview-note p {margin:0;max-width:350px;font-size:13px;line-height:1.75;color:#6e6e73}
.matrix-controls {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:22px;margin:30px 0 24px}
.matrix-controls>label {display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:500;color:#6e6e73;min-width:0}
.matrix-controls input[type=search],.matrix-controls select {width:100%;min-width:0;font:inherit;font-size:14px;color:#1d1d1f;background:#fff;border:1px solid #d2d2d7;border-radius:10px;min-height:48px;padding:11px 14px}
.matrix-controls select {padding-right:32px}
.matrix-reset {font:inherit;font-size:13px;color:#0066cc;border:0;background:none;min-height:48px;padding:8px 0 8px 12px;cursor:pointer}
.matrix-focus {grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px;border:0;margin:0;padding:0;min-width:0;align-items:center}
.matrix-focus legend {float:left;font-size:12px;color:#6e6e73;padding:9px 16px 9px 0;line-height:22px}
.matrix-focus label {position:relative;cursor:pointer;display:block;font-size:12px;font-weight:500}
.matrix-focus label>input {position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.matrix-focus label>span {display:block;padding:10px 15px;min-height:42px;background:#f5f5f7;color:#57575e;border-radius:22px;transition:background .18s,color .18s,box-shadow .18s}
.matrix-focus label>input:checked+span {background:#1d1d1f;color:#fff}
.matrix-focus label>input:focus-visible+span {outline:3px solid #0071e3;outline-offset:3px}
.matrix-results {display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 14px;min-height:26px;font-size:12px;color:#6e6e73}
.matrix-results p {margin:0}
.matrix-scroll-hint {flex-shrink:0;font-size:11px}
.matrix-scroll-hint>span {font-size:17px;margin-left:7px;color:#0066cc}
.matrix-scroll {position:relative;max-height:720px;overflow:auto;border:1px solid var(--matrix-line);border-radius:17px;background:#fff;isolation:isolate;scrollbar-color:#c3c3cc #f5f5f7;scrollbar-width:thin;overscroll-behavior-x:contain;scroll-padding:80px 15px 20px 215px}
.matrix-table {width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:12px}
.matrix-table th,.matrix-table td {border:0;border-bottom:1px solid var(--matrix-line);border-right:1px solid var(--matrix-line);vertical-align:top;text-align:left}
.matrix-table tr:last-child>th,.matrix-table tr:last-child>td {border-bottom:0}
.matrix-table th:last-child,.matrix-table td:last-child {border-right:0}
.matrix-table thead th {position:sticky;top:0;z-index:3;background:#f5f5f7;font-weight:600;padding:21px 17px;width:143px;min-width:143px;max-width:143px;color:#1d1d1f;box-shadow:0 1px 0 var(--matrix-line);overflow-wrap:anywhere;line-height:1.5}
.matrix-table thead th>span {display:block;font-size:13px}
.matrix-table thead small {display:block;font-size:10px;color:#6e6e73;margin-top:6px;font-weight:400}
.matrix-table thead .matrix-corner {position:sticky;left:0;z-index:4;width:205px;min-width:205px;max-width:205px;padding-left:23px;border-right-color:#d2d2d7}
.matrix-table .matrix-shop {position:sticky;left:0;z-index:2;width:205px;min-width:205px;max-width:205px;padding:23px;background:#fff;border-right:1px solid #d2d2d7;font-weight:400}
.matrix-shop>a {display:block;font-size:13px;font-weight:600;line-height:1.5;color:#1d1d1f;text-decoration:none}
.matrix-shop>a:hover {color:#0066cc;text-decoration:underline}
.matrix-pending {display:block;font-size:10px;font-weight:400;line-height:1.7;color:#6e6e73;margin-top:7px}
.matrix-critical {display:block;font-size:10px;font-weight:600;line-height:1.6;color:#a13b31;margin-top:8px}
.matrix-table td {padding:8px;width:143px;min-width:143px;max-width:143px;background:#fff;transition:background .18s}
.matrix-table tbody tr:hover>.matrix-shop {background:#fafafa}
.matrix-cell {display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-height:108px;height:100%;padding:13px 12px;border-radius:9px;color:#4b4b52;background:#f5f5f7;text-decoration:none;border:1px solid transparent;transition:background .2s,box-shadow .2s,transform .2s}
.matrix-cell-top {display:flex;align-items:center;justify-content:space-between;gap:8px}
.matrix-cell-top strong {font-size:25px;font-weight:600;line-height:1;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.matrix-cell-arrow {font-size:14px;opacity:.65}
.matrix-cell-counts {font-size:10px;margin-top:9px;line-height:1.5}
.matrix-cell time {font-size:9px;margin-top:5px;color:#6e6e73;line-height:1.5}
.matrix-cell-counted {background:#edf5ff;color:#075bab}
.matrix-cell-old {background:#fbf5eb;color:#805718}
.matrix-cell-missing {background:#fff;color:#6e6e73;font-size:10px;border:1px dashed #e5e5e9;line-height:1.5}
.matrix-missing-mark {font-size:23px;color:#aaaab1;margin-bottom:8px;line-height:1}
a.matrix-cell:hover {box-shadow:0 0 0 1px #9bbfe9;background:#e1efff;color:#075bab;transform:translateY(-2px);text-decoration:none}
a.matrix-cell:focus-visible {outline-offset:0}
.matrix-table .is-muted .matrix-cell {background:#fafafa;color:#6e6e73;border-color:transparent;box-shadow:none}
.matrix-table .is-muted .matrix-cell-counts,.matrix-table .is-muted .matrix-cell time {color:#6e6e73}
.matrix-table .is-focused .matrix-cell {border-color:#80aedc;box-shadow:inset 0 0 0 1px #80aedc}
.matrix-table .is-focused .matrix-cell-missing {background:#f5f5f7;color:#4b4b52;border-style:dashed;box-shadow:none}
.matrix-notices {border:0;padding:0;margin:7px 0 0;background:none;font-weight:400}
.matrix-notices>summary {color:#805718;list-style:none;font-size:10px;padding:5px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.matrix-notices>summary:before,.matrix-notices>summary:after {content:none}
.matrix-notices>summary::-webkit-details-marker {display:none}
.matrix-notices>div {font-size:10px;line-height:1.65;color:#57575e;overflow-wrap:anywhere;padding:3px 0 0}
.matrix-notices p {margin:8px 0 0}
.matrix-notices p+p {border-top:1px solid var(--matrix-line);padding-top:8px}
.matrix-focus-note {font-size:12px;color:#6e6e73;line-height:1.8;margin:16px 0 0}
.matrix-empty {text-align:center;padding:50px 20px;border:1px solid var(--matrix-line);border-radius:17px;background:#f5f5f7}
.matrix-empty h2 {font-size:25px;margin:0 0 12px}
.matrix-empty p {font-size:14px;color:#6e6e73;margin:0 0 23px}
.matrix-legend {margin-top:48px}
.matrix-legend h2 {font-size:27px;margin:0 0 24px}
.matrix-legend dl {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:0;padding:0 0 27px;border-bottom:1px solid var(--matrix-line)}
.matrix-legend dt {font-size:12px;display:flex;align-items:center;gap:8px;font-weight:600;color:#1d1d1f;margin:0 0 10px;line-height:1.5}
.matrix-legend dd {margin:0;font-size:12px;color:#6e6e73;line-height:1.85}
.matrix-key {display:inline-flex;width:13px;height:13px;border-radius:4px;flex-shrink:0}
.matrix-key-counted {background:#e1efff;border:1px solid #87b8e8}
.matrix-key-old {background:#fbf5eb;border:1px solid #c1a16e}
.matrix-key-other {background:#ebebee;border:1px solid #b0b0ba}
.matrix-key-missing {border:1px dashed #a4a4ae;background:#fff;align-items:center;justify-content:center;font-size:11px;color:#6e6e73}
.matrix-legend>p {max-width:880px;font-size:12px;line-height:1.85;color:#6e6e73;margin:23px 0}
.matrix-links {display:flex;gap:22px;flex-wrap:wrap;font-size:13px}
.matrix-links a {text-decoration:none}
.matrix-links a:hover {text-decoration:underline}
.matrix-single-product .matrix-table {width:100%}
.matrix-single-product .matrix-table td,.matrix-single-product .matrix-table thead th:not(.matrix-corner) {width:auto;max-width:none}
.matrix-single-product .matrix-cell {min-height:95px;max-width:none}
@media(max-width:900px) {
  .matrix-overview {grid-template-columns:1fr 1fr;gap:25px}
  .matrix-overview .matrix-overview-note {grid-column:1/-1;border-left:0;padding-left:0;display:flex;gap:26px;align-items:start}
  .matrix-overview-note p {max-width:none;flex:1}
  .matrix-overview-note>span {flex-shrink:0;margin:0}
  .matrix-legend dl {grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
}
@media(max-width:600px) {
  body[data-page="matrix"] .page-intro {padding:30px 0 20px}
  body[data-page="matrix"] .page-intro h1 {font-size:35px;line-height:1.13}
  body[data-page="matrix"] .page-intro .lead {font-size:14px;line-height:1.75}
  body[data-page="matrix"] .matrix-overview {padding:10px 0 22px}
  body[data-page="matrix"] .matrix-overview strong {font-size:37px}
  .evidence-matrix {margin-top:0}
  .matrix-overview {padding:10px 0 25px;gap:22px 18px}
  .matrix-overview strong {font-size:39px;gap:9px}
  .matrix-overview small {font-size:11px}
  .matrix-overview>div>span {font-size:10px;line-height:1.5;margin-bottom:10px}
  .matrix-overview .matrix-overview-note {display:block}
  .matrix-overview-note p {font-size:12px}
  .matrix-controls {grid-template-columns:1fr;gap:15px;margin-top:24px}
  .matrix-controls input[type=search],.matrix-controls select {font-size:16px;min-height:49px}
  .matrix-reset {justify-self:start;min-height:36px;padding:0;font-size:12px;grid-row:4}
  .matrix-focus {gap:6px}
  .matrix-focus legend {float:none;padding:0 0 10px}
  .matrix-focus label>span {padding:10px 13px;font-size:11px}
  .matrix-results {align-items:start;flex-direction:column;gap:8px;font-size:11px}
  .matrix-scroll {border-radius:12px;max-height:680px;scroll-padding-left:155px}
  .matrix-table thead .matrix-corner,.matrix-table .matrix-shop {width:150px;min-width:150px;max-width:150px;padding:18px 14px}
  .matrix-table .matrix-shop>a {font-size:12px}
  .matrix-table thead th,.matrix-table td {width:135px;min-width:135px;max-width:135px}
  .matrix-table thead th {padding:18px 12px}
  .matrix-table thead th>span {font-size:12px}
  .matrix-table thead small {font-size:9px}
  .matrix-table td {padding:7px}
  .matrix-cell {padding:12px 10px;min-height:112px}
  .matrix-cell-top strong {font-size:24px}
  .matrix-cell-counts {font-size:10px}
  .matrix-cell time {font-size:9px}
  .matrix-legend {margin-top:35px}
  .matrix-legend h2 {font-size:25px}
  .matrix-legend dl {gap:25px 20px}
  .matrix-legend dt {font-size:11px;gap:6px}
  .matrix-legend dd {font-size:11px}
  .matrix-links {flex-direction:column;gap:13px;font-size:12px}
}
@media(prefers-reduced-motion:reduce) {
  .matrix-focus label>span,.matrix-cell,.matrix-table td {transition:none}
  a.matrix-cell:hover {transform:none}
}

/* Personal workspace, visually quieter than the evidence itself. */
.save-shop{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 14px;border:1px solid #dedee3;border-radius:10px;background:#fff;color:#515156;font:600 13px/1.3 Manrope,Arial,sans-serif;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s}
.save-shop svg{flex:none;transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.save-shop:hover{border-color:#a8c7ea;background:#f4f8fe;color:#0066cc}
.save-shop[aria-pressed=true]{background:#edf5ff;border-color:#c9dff5;color:#005bb6}
.save-shop[aria-pressed=true] svg path{fill:#0066cc12}
.save-shop:active{transform:scale(.96)}
.save-shop-compact{padding:7px 10px;min-height:40px;font-size:12px}
.save-shop-icon{width:42px;padding:9px;flex:none}
.save-shop.is-just-saved svg{animation:bookmark-settle .4s cubic-bezier(.2,.7,.2,1)}
@keyframes bookmark-settle{0%{transform:translateY(0)}40%{transform:translateY(-3px) scale(1.14)}100%{transform:translateY(0)}}
.compare-shop-actions{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin-top:13px}
.compare-shop-actions .remove{margin:0!important}
.saved-capture{margin:16px 0 28px}
.saved-capture-top{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.saved-capture-top .button{gap:8px}
.saved-capture-top .text-link{font-size:13px}
.saved-name-form{margin-top:15px;padding:22px 24px;background:#f5f5f7;border:1px solid #e5e5e9;border-radius:14px;max-width:850px}
.saved-name-form label,.saved-rename-form label{display:block;font-size:12px;font-weight:650;margin-bottom:8px;color:#515156}
.saved-name-row{display:flex;gap:10px;align-items:center}
.saved-name-row input{flex:1;min-width:0;width:100%;min-height:44px;padding:10px 12px;border:1px solid #d2d2d8;background:#fff;border-radius:8px;font:inherit;font-size:14px;color:#1d1d1f}
.saved-name-row .button,.saved-name-row .text-button{flex:none;min-height:44px}
.saved-selection-summary{margin:12px 0 0!important;font-size:12px!important;color:#6e6e73!important}
.saved-form-status{font-size:13px;color:#24704d;margin:10px 0 0;min-height:0}
.saved-form-status:empty{display:none}
.saved-workspace{margin:0 auto 90px;max-width:1248px}
.saved-privacy{display:flex;align-items:flex-start;gap:12px;max-width:820px;padding:0 0 40px;color:#6e6e73;font-size:13px}
.saved-privacy p{margin:0;line-height:1.65}
.saved-local-dot{width:7px;height:7px;background:#24704d;border-radius:50%;margin-top:7px;flex:none}
.saved-section{padding:38px 0 46px;border-top:1px solid #e5e5e9}
.saved-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:25px}
.saved-section-heading .eyebrow{font-size:11px;letter-spacing:.11em;color:#6e6e73;margin:0 0 9px}
.saved-section-heading h2{font-size:30px;line-height:1.2;letter-spacing:-.04em;margin:0}
.saved-section-heading h2 span{font-size:16px;display:inline-flex;min-width:28px;height:28px;align-items:center;justify-content:center;margin-left:8px;border-radius:50%;background:#f0f0f3;color:#6e6e73;vertical-align:middle;letter-spacing:0;font-weight:500}
.saved-section-heading>.text-link{font-size:13px;flex:none}
.saved-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.saved-shop-card{border:1px solid #e5e5e9;border-radius:18px;padding:24px 22px;background:#fff;min-width:0;display:flex;flex-direction:column;animation:saved-card-enter .25s ease-out}
.saved-shop-heading{display:flex;gap:12px;align-items:center;margin-bottom:26px}
.saved-shop-heading>img{object-fit:contain;border-radius:9px;border:1px solid #ededf0;flex:none;background:#fff}
.saved-shop-heading>div{flex:1;min-width:0}
.saved-shop-heading h3{font-size:17px;line-height:1.35;letter-spacing:-.025em;margin:0;overflow-wrap:anywhere}
.saved-shop-heading h3 a{color:#1d1d1f;text-decoration:none}
.saved-shop-heading h3 a:hover{color:#0066cc}
.saved-shop-heading p{font-size:12px;color:#6e6e73;margin:5px 0 0}
.saved-shop-initial{width:42px;height:42px;border:1px solid #dedee3;border-radius:9px;display:grid;place-items:center;background:#f5f5f7;font-size:22px;font-weight:650;flex:none}
.saved-shop-facts{margin:0;display:grid;gap:12px}
.saved-shop-facts>div{display:grid;grid-template-columns:1fr 1.3fr;gap:14px;font-size:12px;line-height:1.6;align-items:baseline}
.saved-shop-facts dt{color:#6e6e73}
.saved-shop-facts dd{margin:0;text-align:right;font-weight:600;color:#303035;overflow-wrap:anywhere}
.saved-shop-facts dd.saved-warning{color:#a2342b}
.saved-shop-notices{margin:20px 0 0;padding:12px 0 0;border-top:1px solid #eeeef1;font-size:12px;line-height:1.7;color:#6f4932}
.saved-shop-notices summary{cursor:pointer;font-weight:600;min-height:32px}
.saved-shop-notices p{margin:8px 0 12px;overflow-wrap:anywhere}
.saved-card-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:22px;font-size:12px}
.saved-card-actions .text-link,.saved-card-actions .text-button{font-size:12px;min-height:40px;display:inline-flex;align-items:center}
.saved-card-actions .text-button[aria-pressed=true]{color:#515156}
.saved-empty{padding:54px 28px;text-align:center;border:1px solid #e5e5e9;background:#fafafb;border-radius:20px;max-width:none}
.saved-empty h3,.saved-empty h2{font-size:24px;line-height:1.25;letter-spacing:-.035em;margin:15px 0 12px}
.saved-empty p{font-size:14px;line-height:1.7;color:#6e6e73;max-width:480px;margin:0 auto 22px}
.saved-empty-mark{width:48px;height:48px;border-radius:14px;border:1px solid #e0e0e5;background:#fff;display:inline-grid;place-items:center;color:#0066cc;font-size:25px}
.saved-empty-compact{padding:35px 25px;background:#fff;text-align:left}
.saved-empty-compact h3{margin-top:0}
.saved-empty-compact p{max-width:600px;margin-left:0}
.saved-comparison-list{display:grid;gap:12px}
.saved-comparison-card{display:flex;gap:22px;align-items:flex-start;border:1px solid #e5e5e9;border-radius:16px;padding:26px;animation:saved-card-enter .25s ease-out;min-width:0}
.saved-comparison-index{font-size:12px;color:#919198;line-height:28px;font-variant-numeric:tabular-nums;flex:none}
.saved-comparison-main{flex:1;min-width:0}
.saved-comparison-main h3{font-size:20px;line-height:1.3;letter-spacing:-.03em;margin:0 0 9px;overflow-wrap:anywhere}
.saved-comparison-main h3 a{color:#1d1d1f;text-decoration:none}
.saved-comparison-main h3 a:hover{color:#0066cc}
.saved-comparison-main>p{font-size:13px;line-height:1.7;color:#515156;margin:0 0 10px;overflow-wrap:anywhere}
.saved-comparison-main>p>span[aria-hidden]{padding:0 8px;color:#b2b2b9}
.saved-view-label{font-size:11px;color:#6e6e73;background:#f5f5f7;padding:5px 9px;border-radius:6px}
.saved-comparison-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap;justify-content:flex-end}
.saved-comparison-actions .text-button{font-size:12px;min-height:40px}
.saved-rename-form{margin-top:20px;max-width:650px}
.saved-data-note{font-size:12px;color:#6e6e73;max-width:820px;line-height:1.7;margin:0}
.saved-storage-notice{padding:15px 18px;background:#fff7e9;border:1px solid #edd8b1;border-radius:12px;color:#755016;font-size:13px;line-height:1.6;margin:0 0 22px}
.saved-announcement{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);max-width:calc(100vw - 30px);background:#1d1d1f;color:#fff;border-radius:12px;padding:12px 18px;margin:0;z-index:130;font-size:13px;pointer-events:none}
.saved-announcement:empty{display:none}
.saved-undo{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);display:flex;align-items:center;gap:15px;background:#1d1d1f;color:#fff;padding:12px 14px 12px 20px;border-radius:13px;box-shadow:0 6px 25px #0002;z-index:131;max-width:calc(100vw - 24px);font-size:13px}
.saved-undo>span{min-width:0;overflow-wrap:anywhere}
.saved-undo .text-button{color:#a3d2ff;white-space:nowrap;min-height:36px;font-size:13px}
.saved-undo-close{background:none;border:0;color:#d2d2d7;font-size:22px;width:34px;height:36px;padding:0;cursor:pointer;flex:none}
@keyframes saved-card-enter{from{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.saved-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.saved-comparison-card{flex-wrap:wrap}.saved-comparison-actions{width:100%;justify-content:flex-start;padding-left:38px}}
@media(max-width:700px){.saved-workspace{margin-bottom:55px}.saved-privacy{font-size:12px;padding-bottom:28px}.saved-section{padding:28px 0 32px}.saved-section-heading{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:20px}.saved-section-heading h2{font-size:26px}.saved-shop-grid{grid-template-columns:1fr;gap:12px}.saved-shop-card{padding:22px 20px}.saved-empty{padding:35px 22px}.saved-empty h3,.saved-empty h2{font-size:21px}.saved-empty p{font-size:13px}.saved-comparison-card{padding:21px 18px;gap:12px}.saved-comparison-index{display:none}.saved-comparison-main{flex-basis:100%}.saved-comparison-main h3{font-size:19px}.saved-comparison-actions{padding-left:0;gap:16px}.saved-name-form{padding:18px 16px}.saved-name-row{flex-wrap:wrap}.saved-name-row input{flex-basis:100%}.saved-name-row .button{flex:none}.saved-capture-top{gap:14px}.saved-comparison-actions .button{margin-right:auto}.saved-undo{gap:10px;padding:10px 10px 10px 15px;font-size:12px;bottom:15px}.saved-announcement{font-size:12px;bottom:16px}.saved-data-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){.save-shop,.save-shop svg{transition:none}.save-shop.is-just-saved svg,.saved-shop-card,.saved-comparison-card{animation:none}}
@media(max-width:700px){.saved-name-row input{font-size:16px}}

[data-dossier-download] { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; transition: background-color .2s ease, opacity .2s ease; }
[data-dossier-download][hidden] { display: none; }
[data-dossier-download][aria-busy="true"]::before { content: ""; width: 13px; height: 13px; border: 1.5px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: dossier-progress .8s linear infinite; }
[data-dossier-download]:disabled { cursor: default; opacity: .55; }
[data-dossier-status] { margin: 8px 0 0; color: #595b61; font-size: 13px; line-height: 1.55; }
[data-dossier-status]:empty { display: none; }
@keyframes dossier-progress { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { [data-dossier-download] { transition: none; } [data-dossier-download][aria-busy="true"]::before { animation: none; } }

/* Shared research navigation, entry points and editorial report preview. */
.saved-header-link{position:relative;display:grid;place-items:center;min-width:38px;min-height:42px;color:var(--ink);border-radius:10px}
.saved-header-link:hover,.saved-header-link[aria-current]{background:var(--soft);color:var(--blue)}
.saved-header-link svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.saved-header-link [data-saved-count]{position:absolute;top:0;right:-3px;background:var(--blue);color:#fff;border:2px solid #fff;border-radius:12px;min-width:19px;height:19px;padding:0 4px;display:grid;place-items:center;font-size:10px;line-height:1;font-weight:700}
.saved-header-link [hidden]{display:none}
.research-navigation{display:flex;flex-wrap:wrap;gap:6px;margin:28px 0 -18px;border-bottom:1px solid var(--line);padding-bottom:12px}
.research-navigation a{padding:9px 15px;min-height:40px;border-radius:99px;text-decoration:none;color:#606066;font-size:13px}
.research-navigation a:hover{background:var(--soft);color:var(--ink)}
.research-navigation a[aria-current]{background:#eef5fe;color:#005bb7;font-weight:650}
.compare-export-actions{display:flex;gap:8px;flex-wrap:wrap}
.profile-save-actions{display:flex;flex-direction:column;align-items:stretch;gap:9px}
/* Reserve room for both actions, including the longer saved label. */
.directory-row-actions{display:flex;flex-direction:column;align-items:center;gap:4px}
.selection-cell .save-shop{margin:0;min-height:44px;white-space:nowrap}
@media(max-width:900px){
  .vendor-table tbody td.selection-cell{position:static;grid-column:1/-1;grid-row:5;padding-top:12px!important;border-top:1px solid var(--line)}
  .vendor-table tbody td:first-child{padding-right:0!important}
  .directory-row-actions{flex-direction:row;justify-content:space-between;gap:8px;flex-wrap:wrap}
  .directory-row-actions label{gap:8px;font-size:12px;text-align:left}
  .directory-row-actions label span{display:inline;font-size:12px}
  .directory-row-actions label:after{right:auto;width:30px}
}
.research-overview{padding:100px 0 80px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.15fr;gap:42px 64px}
.research-overview h2{font-size:clamp(29px,3.2vw,44px);letter-spacing:-.05em;margin:0 0 24px;line-height:1.13}
.research-overview h2 span{color:#6e6e73}
.research-overview-copy>p:not(.section-kicker){max-width:420px;color:#626269;font-size:15px;line-height:1.8}
.research-overview-visual{align-self:center;border:1px solid #e5e5e9;border-radius:20px;background:linear-gradient(155deg,#f6f9fd,#fff 75%);padding:25px 24px 19px;min-width:0}
.research-mini-title{display:flex;justify-content:space-between;gap:14px;font-size:11px;color:#6e6e73;margin-bottom:25px}
.research-mini-title span:first-child{color:#303035;font-weight:650}
.research-mini-scroll{overflow:auto;overscroll-behavior-x:contain}
.research-mini{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.research-mini th{font-weight:500;font-size:10px;color:#66666d;text-align:center;padding:10px 4px}
.research-mini th:first-child{text-align:left;min-width:110px}
.research-mini tbody th{font-size:11px;color:#303035;font-weight:600;max-width:120px}
.research-mini td{text-align:center;padding:6px 4px}
.research-mini a{display:grid;place-items:center;width:42px;height:40px;margin:auto;border-radius:8px;font-size:15px;font-weight:650;text-decoration:none;background:#e9f2ff;color:#005bb7}
.research-mini a:hover{background:#d7e9ff;transform:translateY(-2px)}
.research-mini .no-reports{color:#777;background:#f0f0f3}
.research-mini-note{font-size:10px;color:#6e6e73;margin:22px 0 0}
.research-overview-links{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding-top:24px;gap:48px}
.research-overview-links>a{display:flex;align-items:center;gap:20px;text-decoration:none;color:var(--ink);padding:10px 0}
.research-overview-links>a>span:first-child{font-size:12px;color:#73737a}
.research-overview-links>a>span:last-child{margin-left:auto;font-size:20px;transition:transform .2s var(--pure-ease)}
.research-overview-links>a:hover>span:last-child{transform:translate(3px,-3px)}
.research-overview-links strong{font-size:16px;font-weight:600}
.research-overview-links small{display:block;margin-top:4px;font-size:12px;color:#6e6e73}
@media(min-width:701px) and (max-width:1050px){.site-header{gap:15px}.site-header nav{gap:13px}.site-header nav a{font-size:11px}.header-actions{gap:6px}.site-header .brand-word{font-size:20px}.site-header .brand-icon{width:26px;height:26px}}
@media(max-width:800px){.research-overview{gap:30px;grid-template-columns:1fr;padding:60px 0}.research-overview-copy>p:not(.section-kicker){max-width:560px}.research-overview-visual{width:100%}.research-overview-links{gap:25px}.research-mini th{font-size:11px}.research-mini tbody th{font-size:12px}}
@media(max-width:700px){.header-actions{gap:3px}.saved-header-link{min-width:30px}.site-header .language{padding-inline:5px}.profile-save-actions{flex-direction:row;flex-wrap:wrap;grid-column:1/-1}.profile-save-actions .button{flex:1}.research-navigation{margin-top:20px;margin-bottom:-18px;gap:2px}.research-navigation a{padding:8px 6px;font-size:11px;white-space:nowrap}.compare-export-actions{width:100%}.compare-export-actions .button{flex:1}.research-overview-links{grid-template-columns:1fr;gap:10px}.research-overview-visual{padding:20px 14px}.research-mini-title{font-size:10px}.research-mini th{font-size:9px}.research-mini tbody th{font-size:10px}.research-mini th:first-child{min-width:95px}.research-mini a{width:35px;height:38px}.research-mini-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){.research-mini a,.research-overview-links>a>span:last-child{transition:none;transform:none!important}}
@media print{.research-navigation,.saved-header-link,.profile-save-actions,.compare-export-actions{display:none}}

/* Real history receives quiet emphasis; no fabricated activity counters. */
.visit-changes{padding:34px 0 42px;border-top:1px solid #e5e5e9}
.visit-heading{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-bottom:24px}
.visit-heading>.button{flex:none;min-height:44px}
.visit-heading .eyebrow{margin:0 0 9px;color:#6e6e73;font-size:11px;letter-spacing:.11em}
.visit-heading h2{margin:0;font-size:30px;line-height:1.2;letter-spacing:-.04em}
.visit-count{display:inline-grid;place-items:center;min-width:28px;height:28px;margin-left:8px;padding:0 7px;vertical-align:middle;border-radius:50%;background:#edf5ff;color:#005bb6;font-size:14px;letter-spacing:0}
.visit-intro{max-width:680px;margin:12px 0 0;color:#6e6e73;font-size:13px;line-height:1.7}
.visit-quiet{display:flex;align-items:flex-start;gap:18px;border:1px solid #e5e5e9;border-radius:18px;background:#fafafb;padding:25px 28px}
.visit-quiet-mark{display:grid;place-items:center;flex:none;width:34px;height:34px;background:#fff;border:1px solid #e0e0e5;border-radius:50%;font-size:17px;color:#515156}
.visit-quiet h3{margin:2px 0 7px;font-size:17px;line-height:1.45;letter-spacing:-.02em}
.visit-quiet p{max-width:790px;margin:0;color:#6e6e73;font-size:13px;line-height:1.75}
.visit-quiet .visit-checkpoint{margin-top:12px;font-size:11px;font-variant-numeric:tabular-nums;color:#737379}
.visit-error{border-color:#eadbc7;background:#fffcf7}.visit-error .text-button{margin-top:12px;min-height:44px}
.visit-loading{display:flex;align-items:center;gap:12px;min-height:105px;color:#6e6e73;font-size:13px;border:1px solid #e5e5e9;border-radius:18px;padding:25px 28px}
.visit-loading>span{width:8px;height:8px;border-radius:50%;background:#0071e3;animation:visit-loading-pulse 1.5s ease-in-out infinite}
.visit-groups{display:grid;gap:16px}
.visit-group{min-width:0;border:1px solid #dce6f1;border-radius:18px;overflow:hidden;animation:visit-group-reveal .32s cubic-bezier(.2,.7,.2,1)}
.visit-group-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 26px;background:#f7faff;border-bottom:1px solid #e3ebf4}
.visit-group-kicker{display:block;margin-bottom:7px;color:#6e6e73;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.visit-group-head h3{margin:0;font-size:19px;line-height:1.35;letter-spacing:-.025em;overflow-wrap:anywhere}
.visit-group-head h3>a{color:#1d1d1f;text-decoration:none}.visit-group-head h3>a:hover{color:#0066cc}
.visit-group-head h3>span{font-size:12px;color:#0066cc;letter-spacing:0;margin-left:9px;white-space:nowrap}
.visit-group-head>.text-button{flex:none;font-size:12px;min-height:44px}
.visit-events{list-style:none;margin:0;padding:0 26px}
.visit-event{padding:24px 0;position:relative}.visit-event+.visit-event{border-top:1px solid #eeeef1}
.visit-event-meta{display:flex;flex-wrap:wrap;gap:5px 12px;font-size:11px;color:#6e6e73;line-height:1.6}.visit-event-meta time{font-variant-numeric:tabular-nums;color:#515156}
.visit-event h4{margin:8px 0;font-size:16px;font-weight:650;line-height:1.5;letter-spacing:-.015em;overflow-wrap:anywhere}
.visit-event h4>a{color:#1d1d1f;text-decoration:none}.visit-event h4>a:hover{color:#0066cc}
.visit-event>p{max-width:900px;margin:0;font-size:13px;color:#515156;line-height:1.75;overflow-wrap:anywhere}
.visit-event>.visit-date-note{margin-top:8px;color:#6e6e73;font-size:11px;line-height:1.65}
.visit-event-links{display:flex;align-items:center;flex-wrap:wrap;gap:2px 24px;margin-top:10px}
.visit-event-links .text-link{display:inline-flex;align-items:center;gap:7px;min-height:36px;font-size:12px}
.visit-storage{padding:13px 16px;margin:0 0 18px;background:#fff7e9;border:1px solid #edd8b1;border-radius:12px;color:#755016;font-size:12px;line-height:1.7}
.visit-changes.is-quiet{padding:24px 0 28px}.visit-changes.is-quiet .visit-heading{margin-bottom:16px}.visit-changes.is-quiet .visit-heading h2{font-size:24px}.visit-changes.is-quiet .visit-heading .eyebrow,.visit-changes.is-quiet .visit-intro{display:none}.visit-changes.is-quiet .visit-quiet{padding:18px 22px}.visit-changes.is-quiet .visit-quiet h3{font-size:15px;margin:1px 0 5px}.visit-changes.is-quiet .visit-quiet p{font-size:12px}.visit-changes.is-quiet .visit-quiet .visit-checkpoint{font-size:10px;margin-top:8px}
@keyframes visit-loading-pulse{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes visit-group-reveal{from{opacity:.7;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:850px){.visit-heading{align-items:flex-start;flex-direction:column;gap:17px}.visit-group-head{align-items:flex-start}.visit-group-head>.text-button{max-width:155px;text-align:right}}
@media(max-width:700px){.visit-changes{padding:28px 0 32px}.visit-heading h2{font-size:26px}.visit-quiet{padding:22px 18px;gap:13px}.visit-quiet h3{font-size:16px}.visit-quiet p,.visit-intro{font-size:12px}.visit-quiet-mark{width:28px;height:28px;font-size:14px}.visit-group-head{padding:19px 19px 15px;gap:12px;flex-wrap:wrap}.visit-group-head>div{flex-basis:100%}.visit-group-head h3{font-size:18px}.visit-group-head>.text-button{max-width:none;min-height:36px;text-align:left}.visit-events{padding:0 19px}.visit-event{padding:20px 0}.visit-event h4{font-size:15px}.visit-event>p{font-size:12px}.visit-event-links{gap:2px 18px}.visit-heading>.button{font-size:12px}}
@media(prefers-reduced-motion:reduce){.visit-group,.visit-loading>span{animation:none}}

/* Contextual corrections stay quiet beside the recorded information. */
a.correction-link,
body[data-page] .price-table td a.correction-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: fit-content;
  min-height: 30px;
  max-width: 100%;
  margin-top: 4px;
  color: #64646c;
  font-size: 11px;
  line-height: 1.45;
  font-weight: 500;
  text-decoration: none;
  white-space: normal;
  border-radius: 4px;
  transition: color 140ms ease;
}
a.correction-link svg { flex: 0 0 auto; }
a.correction-link:hover,
body[data-page] .price-table td a.correction-link:hover { color: #0065c9; text-decoration: underline; text-underline-offset: 3px; }
a.correction-link:focus-visible { outline: 2px solid #0065c9; outline-offset: 3px; }
.report-correction { margin: 4px 0 0; }
.facts dd > .correction-link { display: flex; }
body[data-page] .price-table td .correction-link { display: flex; }
@media (max-width: 700px), (pointer: coarse) {
  a.correction-link,
  body[data-page] .price-table td a.correction-link { min-height: 44px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) { a.correction-link { transition: none; } }

/* Source-derived provider context and progressively enhanced explanations. */
.editorial-context{margin:28px 0 34px;padding:30px 32px;border-color:#dfe4eb;background:linear-gradient(120deg,#f8fafc,#fff 70%)}
.editorial-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.editorial-context .detail-caption{margin:0 0 8px;color:#5b6572;font-size:10px;letter-spacing:.1em}
.editorial-context h2{font-size:24px;line-height:1.25;letter-spacing:-.035em;margin:0}
.editorial-method{flex-shrink:0;font-size:12px;text-decoration:none}
.editorial-context .editorial-provenance{font-size:11px;line-height:1.7;color:#626873;margin:15px 0 22px;max-width:940px}
.editorial-context .editorial-state{font-size:16px;line-height:1.65;letter-spacing:-.015em;max-width:900px;margin:0 0 25px;color:#262b33}
.editorial-context .editorial-state.is-caution{padding-left:15px;border-left:3px solid #9b571c;color:#743e13}
.editorial-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid #e0e5eb;padding-top:22px}
.editorial-columns h3{font-size:14px;letter-spacing:-.01em;margin:0 0 12px}
.editorial-columns p{font-size:12px;line-height:1.85;color:#535d69;margin:0 0 12px}
.editorial-source-link{font-size:12px;display:inline-flex;align-items:center;gap:8px;padding:8px 0;min-height:38px;text-underline-offset:3px}
.editorial-source-link span{transition:transform .2s ease}.editorial-source-link:hover span{transform:translateX(3px)}
.editorial-gaps{list-style:none!important;padding:0!important;margin:0 0 8px!important;font-size:11px}
.editorial-gaps li{display:flex;justify-content:space-between;gap:12px;margin:0!important;padding:6px 0;border-bottom:1px solid #e6eaf0;line-height:1.6}
.editorial-gaps li span:last-child{color:#646c77;white-space:nowrap;font-variant-numeric:tabular-nums}
.editorial-context .editorial-batch-caution{color:#743e13}
.editorial-notices{border-top:1px solid #e0e5eb;margin-top:22px;padding-top:2px}
.editorial-notices summary{cursor:pointer;min-height:48px;padding:14px 0;font-size:12px;font-weight:650;color:#3a424c}
.editorial-notices summary span{display:inline-block;padding:0 6px;margin-left:5px;border-radius:4px;background:#edf0f4;font-size:11px}
.editorial-notices ul{padding-left:18px;font-size:12px;line-height:1.85;color:#535d69}
.editorial-notices li+li{margin-top:12px}
.editorial-notices p{font-size:11px;line-height:1.8}
.editorial-context .editorial-boundary{border-top:1px solid #e0e5eb;margin:22px 0 0;padding-top:17px;font-size:11px;line-height:1.8;color:#666d77;max-width:none}
.editorial-boundary a{white-space:normal}
.context-help{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,1.5fr);gap:45px;padding:40px 0;margin:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.context-help .detail-caption{font-size:10px;letter-spacing:.1em;color:#68717b;margin:0 0 10px}
.context-help h2{font-size:25px;line-height:1.2;letter-spacing:-.035em;margin:0;max-width:240px}
.context-help-items details{border-bottom:1px solid #e6e8eb}
.context-help-items details:first-child{border-top:1px solid #e6e8eb}
.context-help-items summary{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:59px;padding:17px 0;font-size:13px;font-weight:600;line-height:1.6;list-style:none;cursor:pointer}
.context-help-items summary::-webkit-details-marker{display:none}
.context-help-items summary:hover{color:var(--blue)}
.context-help-toggle{position:relative;width:14px;height:14px;flex:0 0 14px}
.context-help-toggle::before,.context-help-toggle::after{content:"";position:absolute;left:1px;top:6px;width:12px;height:1px;background:currentColor;transition:transform .2s ease}
.context-help-toggle::after{transform:rotate(90deg)}
.context-help-items details[open] .context-help-toggle::after{transform:rotate(0)}
.context-help-answer{padding:0 28px 20px 0;animation:context-answer-in .22s ease both}
.context-help-answer p{font-size:12px;line-height:1.9;margin:0 0 12px;color:#5b646f;max-width:710px}
.context-help-answer a{font-size:12px;display:inline-flex;align-items:center;gap:8px;min-height:36px;text-underline-offset:3px}
@keyframes context-answer-in{from{opacity:.5;transform:translateY(-3px)}to{opacity:1;transform:none}}
@media(max-width:800px){.editorial-context{padding:25px}.editorial-columns{gap:25px}.context-help{gap:25px;grid-template-columns:minmax(175px,.65fr) minmax(0,1.5fr)}}
@media(max-width:600px){.editorial-context{padding:22px 19px;margin:22px 0 28px}.editorial-heading{align-items:flex-start;gap:12px;flex-direction:column}.editorial-context h2{font-size:23px}.editorial-context .editorial-provenance{font-size:11px}.editorial-context .editorial-state{font-size:15px}.editorial-columns{grid-template-columns:1fr;gap:22px}.editorial-columns>div+div{border-top:1px solid #e0e5eb;padding-top:22px}.editorial-columns p,.editorial-notices ul{font-size:13px}.editorial-gaps{font-size:12px}.context-help{grid-template-columns:1fr;gap:22px;padding:30px 0}.context-help h2{max-width:none;font-size:24px}.context-help-items summary{font-size:13px;min-height:60px}.context-help-answer{padding-right:8px}.context-help-answer p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.context-help-answer{animation:none}.context-help-toggle::before,.context-help-toggle::after,.editorial-source-link span{transition:none}.editorial-source-link:hover span{transform:none}}
@media print{.editorial-context{background:#fff;break-inside:avoid}.context-help{display:none}.editorial-method{display:none}}

/* Profiles show one meaningful category at a time after progressive enhancement. */
body[data-page="vendor"] .profile-intro { margin-bottom: 25px; }
body[data-page="vendor"] .profile-summary {
  display: grid;
  grid-template-columns: minmax(175px, .8fr) minmax(0, 2.5fr);
  align-items: center;
  gap: 32px;
  background: #f5f5f7;
  border: 1px solid #e9e9ed;
  border-radius: 22px;
  padding: 26px 32px;
  margin: 24px 0 28px;
}
.profile-summary-score { display: grid; gap: 9px; border-right: 1px solid #dedee3; padding-right: 25px; }
.profile-summary-score > span:first-child { color: #606067; font-size: 11px; }
body[data-page="vendor"] .profile-summary-score .score-value { font-size: 42px; letter-spacing: -.055em; line-height: 1; font-weight: 600; }
.profile-summary-score .score-value small { font-size: 13px; color: #606067; font-weight: 400; letter-spacing: 0; }
body[data-page="vendor"] .profile-summary-score .not-rated { font-size: 19px; letter-spacing: -.025em; max-width: 190px; line-height: 1.3; }
.profile-summary-score .fake-badge { width: fit-content; }
.profile-summary-score > a { font-size: 11px; color: #0066cc; width: fit-content; text-decoration: none; }
.profile-summary-score > a:hover { text-decoration: underline; }
.profile-summary-facts { display: grid; grid-template-columns: .75fr 1fr 1.2fr; gap: 28px; margin: 0; }
.profile-summary-facts dt { color: #606067; font-size: 11px; margin-bottom: 9px; line-height: 1.5; }
.profile-summary-facts dd { margin: 0; color: #1d1d1f; font-size: 25px; font-weight: 600; letter-spacing: -.03em; font-variant-numeric: tabular-nums; line-height: 1.2; }
.profile-summary-facts dd.profile-summary-date { font-size: 18px; font-weight: 500; letter-spacing: -.02em; }
.profile-summary-denominator { font-size: 17px; font-weight: 400; color: #606067; }
.profile-summary-facts dd small { display: block; font-size: 11px; font-weight: 400; color: #606067; margin-top: 5px; letter-spacing: 0; }
.profile-summary-unknown { display: block; font-size: 13px; font-weight: 400; letter-spacing: 0; }
.profile-tabs { display: flex; flex-wrap: nowrap; gap: 30px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; border-bottom: 1px solid #dedee3; padding: 0 2px; margin: 0 0 28px; }
.profile-tabs a { flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 52px; padding: 12px 1px 14px; color: #606067; font-weight: 500; font-size: 13px; text-decoration: none; position: relative; white-space: nowrap; }
.profile-tabs a::after { content: ""; position: absolute; inset: auto 0 0; height: 2px; background: #1d1d1f; transform: scaleX(0); transition: transform .18s ease; }
.profile-tabs a[aria-selected="true"] { color: #1d1d1f; }
.profile-tabs a[aria-selected="true"]::after { transform: scaleX(1); }
.profile-tabs a:hover { color: #0066cc; }
.profile-tabs a:focus-visible { outline: 2px solid #0066cc; outline-offset: -3px; border-radius: 5px; }
.profile-category { min-width: 0; scroll-margin-top: 115px; }
.profile-category:focus { outline: none; }
.profile-category:focus-visible { outline: 2px solid #0066cc; outline-offset: 5px; border-radius: 19px; }
.profile-tabs-ready .profile-category[hidden] { display: none !important; }
.profile-tabs-ready .profile-category:not([hidden]) { animation: profile-category-enter .22s ease-out both; }
.profile-tabs-ready [data-profile-panel] .reveal-visible { animation: none; }
body[data-page="vendor"] .profile-brief { padding: 34px 36px 26px; }
body[data-page="vendor"] .profile-brief h2 { margin-bottom: 16px; font-size: 27px; }
body[data-page="vendor"] .profile-brief .profile-brief-copy { max-width: 790px; font-size: 15px; line-height: 1.8; color: #53535b; }
.profile-brief-facts { display: grid; grid-template-columns: .9fr .9fr 1.3fr; gap: 30px; margin: 27px 0; padding: 23px 0; border-block: 1px solid #ededf0; }
.profile-brief-facts dt { font-size: 11px; line-height: 1.5; color: #606067; margin-bottom: 9px; }
.profile-brief-facts dd { margin: 0; font-size: 13px; font-weight: 500; line-height: 1.7; }
.profile-brief-facts dd small { display: block; font-size: 11px; font-weight: 400; color: #606067; margin-top: 5px; }
.profile-brief-links { display: flex; gap: 10px 28px; flex-wrap: wrap; margin-bottom: 20px; }
.profile-brief-links a { color: #0066cc; font-size: 13px; text-decoration: none; display: inline-flex; align-items: center; gap: 10px; min-height: 35px; }
.profile-brief-links a:hover { text-decoration: underline; }
.profile-shop-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.profile-shop-grid > * { min-width: 0; }
@keyframes profile-category-enter { from { opacity: .2; transform: translateY(5px); } to { opacity: 1; transform: none; } }
@media (max-width: 900px) {
  body[data-page="vendor"] .profile-summary { grid-template-columns: minmax(150px, .8fr) minmax(0, 2fr); gap: 24px; padding: 24px; }
  .profile-summary-facts { gap: 16px; grid-template-columns: 1fr 1fr; }
  .profile-summary-facts > div:last-child { grid-column: 1 / -1; display: flex; align-items: baseline; gap: 12px; }
  .profile-summary-facts > div:last-child dt { margin: 0; }
  .profile-summary-facts dd.profile-summary-date { font-size: 14px; }
  .profile-shop-grid { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 600px) {
  body[data-page="vendor"] .profile-summary { grid-template-columns: 1fr; gap: 19px; border-radius: 18px; padding: 22px; margin-block: 20px; }
  .profile-summary-score { grid-template-columns: 1fr auto; border: 0; padding: 0 0 18px; border-bottom: 1px solid #dedee3; column-gap: 18px; align-items: center; }
  .profile-summary-score > span:first-child { grid-column: 1; }
  .profile-summary-score > :is(.score-value, .not-rated, .fake-badge) { grid-column: 2; grid-row: 1 / 3; text-align: right; }
  body[data-page="vendor"] .profile-summary-score .score-value { font-size: 39px; }
  body[data-page="vendor"] .profile-summary-score .not-rated { font-size: 17px; max-width: 130px; }
  .profile-summary-score > a { grid-column: 1; }
  .profile-summary-facts { grid-template-columns: .8fr 1fr; gap: 18px; }
  .profile-summary-facts dt { font-size: 10px; margin-bottom: 5px; }
  .profile-summary-facts dd { font-size: 22px; }
  .profile-summary-facts > div:last-child { border-top: 1px solid #e1e1e6; padding-top: 13px; justify-content: space-between; gap: 10px; }
  .profile-tabs { gap: 25px; margin-bottom: 22px; }
  .profile-tabs a { font-size: 12px; min-height: 48px; }
  body[data-page="vendor"] .profile-brief { padding: 25px 21px 19px; }
  body[data-page="vendor"] .profile-brief h2 { font-size: 23px; }
  body[data-page="vendor"] .profile-brief .profile-brief-copy { font-size: 13px; }
  .profile-brief-facts { grid-template-columns: 1fr 1fr; gap: 20px; margin: 22px 0 17px; padding: 19px 0; }
  .profile-brief-facts > div:last-child { grid-column: 1 / -1; }
  .profile-brief-links { gap: 5px; flex-direction: column; margin-bottom: 13px; }
  .profile-brief-links a { font-size: 12px; min-height: 39px; }
  body[data-page="vendor"] .profile-shop-grid .facts > div { grid-template-columns: 1fr; gap: 5px; }
}
@media (prefers-reduced-motion: reduce) {
  .profile-tabs-ready .profile-category:not([hidden]) { animation: none; }
  .profile-tabs a::after { transition: none; }
}
@media print {
  .profile-tabs { display: none !important; }
  .profile-tabs-ready .profile-category[hidden], .profile-category { display: block !important; animation: none !important; opacity: 1 !important; transform: none !important; }
  .profile-shop-grid { display: block; }
  .profile-summary { break-inside: avoid; }
}

.lab-methods {max-width:1248px;margin:110px auto;padding:0;color:var(--ink);scroll-margin-top:110px}
.lab-methods-heading {display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:38px}
.lab-methods h2 {font-size:clamp(32px,3.3vw,48px);line-height:1.13;letter-spacing:-.045em;margin:12px 0 0;font-weight:650}
.lab-methods h2 span {color:#77777e}
.lab-methods-intro {max-width:350px;font-size:15px;line-height:1.7;color:#606069}
.lab-methods-intro p {margin:0 0 18px}
.lab-motion-toggle {display:inline-flex;align-items:center;gap:9px;background:none;border:1px solid #dcdce3;border-radius:24px;padding:9px 14px;font:inherit;font-size:12px;color:#34343b;cursor:pointer;min-height:40px}
.lab-motion-toggle[hidden] {display:none}
.lab-motion-toggle::before {content:'Ⅱ';font-size:14px;color:#0066cc}
.lab-motion-toggle[aria-pressed=true]::before {content:'▷'}
.lab-motion-toggle:disabled {cursor:default;color:#6e6e73}
.lab-motion-toggle:focus-visible,.lab-methods summary:focus-visible {outline:3px solid #0066cc;outline-offset:4px}
.lab-method-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.lab-method-card {--lab-accent:#0066cc;--lab-tint:#e6f1ff;display:flex;flex-direction:column;background:#f6f7f9;border:1px solid #e9ebf0;border-radius:22px;overflow:hidden;min-width:0}
.lab-identity {--lab-accent:#6550b4;--lab-tint:#ece8fb}
.lab-content {--lab-accent:#26736a;--lab-tint:#e1f0ed}
.lab-endotoxin {--lab-accent:#8a6236;--lab-tint:#f2eadd}
.lab-card-top {display:flex;align-items:center;justify-content:space-between;padding:23px 23px 4px}
.lab-card-top h3 {font-size:18px;letter-spacing:-.025em;font-weight:650;margin:0}
.lab-card-top>span {font-size:10px;letter-spacing:.1em;color:#767681}
.lab-diagram {padding:12px 12px 0;overflow:hidden}
.lab-diagram svg {display:block;width:100%;height:auto}
.lab-diagram text {fill:#666671;font:10px Manrope,Arial,sans-serif}
.lab-grid {stroke:#e3e6ec;stroke-width:.7}
.lab-axis {stroke:#bdc4ce;stroke-width:1}
.lab-area {fill:var(--lab-tint)}
.lab-trace {stroke:var(--lab-accent);stroke-width:2;stroke-linecap:round;stroke-dasharray:1;animation:lab-draw 7s cubic-bezier(.35,.1,.25,1) infinite}
.lab-scan {stroke:var(--lab-accent);opacity:.25;stroke-width:1;animation:lab-scan 7s linear infinite}
.lab-reference {stroke:#a4aabb;stroke-width:2;stroke-dasharray:3 3}
.lab-ion {stroke:var(--lab-accent);stroke-width:3;transform-origin:50% 162px;animation:lab-ion 7s cubic-bezier(.2,.7,.3,1) infinite;animation-delay:calc(var(--i)*120ms)}
.lab-ion-key {stroke:var(--lab-accent);stroke-width:3}
.lab-reference-fill {fill:#dce1e7}
.lab-content-bar {fill:var(--lab-accent);transform-origin:24px 50%;animation:lab-quantity 7s cubic-bezier(.2,.7,.3,1) infinite}
.lab-target {stroke:#4d5f60;stroke-width:1;stroke-dasharray:3 3}
.lab-difference {stroke:var(--lab-accent);stroke-width:1.5}
.lab-standard {fill:#fff;stroke:#9d8b76;stroke-width:1.5}
.lab-assay-guide {stroke:var(--lab-accent);stroke-width:1;stroke-dasharray:.03 .02;animation:lab-guide 7s linear infinite}
.lab-assay-point {fill:var(--lab-accent);stroke:#fff;stroke-width:2;animation:lab-point 7s ease-in-out infinite}
.lab-diagram * {animation-play-state:paused}
.lab-methods:not([data-motion]) .lab-diagram * {animation:none}
.lab-methods[data-motion=running] .lab-diagram * {animation-play-state:running}
.lab-card-copy {display:flex;flex-direction:column;flex:1;padding:20px 23px 8px}
.lab-card-copy h4 {font-size:15px;letter-spacing:-.02em;line-height:1.45;margin:0 0 9px;font-weight:650}
.lab-card-copy>p {font-size:13px;line-height:1.7;color:#65656e;min-height:67px;margin:0 0 19px}
.lab-card-copy details {border-top:1px solid #e0e3e9;margin:auto 0 0}
.lab-card-copy summary {display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;font-weight:600;list-style:none;padding:16px 0;cursor:pointer}
.lab-card-copy summary::-webkit-details-marker {display:none}
.lab-card-copy summary>span {font-size:20px;font-weight:400;color:var(--lab-accent);transition:transform .2s ease}
.lab-card-copy details[open] summary>span {transform:rotate(45deg)}
.lab-card-copy details p {margin:0 0 17px;font-size:12px;line-height:1.8;color:#53535b}
.lab-methods-foot {display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-top:24px;font-size:12px}
.lab-methods-foot p {color:#6e6e73;margin:0}
.lab-methods-foot a {color:var(--blue);text-decoration:none}
.lab-method-sources {font-size:11px;color:#6e6e73;margin-top:14px}
.lab-method-sources summary {cursor:pointer;width:fit-content}
.lab-method-sources p {line-height:1.9}
.lab-method-sources a {color:inherit}
@keyframes lab-draw {0%,10% {stroke-dashoffset:1}65%,100% {stroke-dashoffset:0}}
@keyframes lab-scan {0%,10% {transform:translateX(0);opacity:0}15% {opacity:.25}65% {transform:translateX(252px);opacity:.25}75%,100% {transform:translateX(252px);opacity:0}}
@keyframes lab-ion {0%,12% {transform:scaleY(.12);opacity:.3}48%,100% {transform:scaleY(1);opacity:1}}
@keyframes lab-quantity {0%,12% {transform:scaleX(.05);opacity:.35}55%,100% {transform:scaleX(1);opacity:1}}
@keyframes lab-guide {to {stroke-dashoffset:-.5}}
@keyframes lab-point {0%,25%,80%,100% {opacity:.6}45%,65% {opacity:1}}
@media (max-width:1100px) {.lab-method-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.lab-diagram {padding:8px 26px 0;max-width:380px;margin:auto}.lab-method-card>.lab-diagram {width:100%;margin:0 auto}.lab-card-copy>p {min-height:0}.lab-methods-heading {gap:25px}}
@media (max-width:640px) {.lab-methods {margin:68px auto}.lab-methods-heading {display:block;margin-bottom:25px}.lab-methods-intro {max-width:none;margin-top:22px}.lab-method-grid {grid-template-columns:1fr;gap:18px}.lab-method-card {border-radius:20px}.lab-card-top {padding:22px 24px 2px}.lab-card-copy {padding:16px 24px 8px}.lab-card-copy h4 {font-size:18px}.lab-card-copy>p {font-size:14px}.lab-card-copy summary {font-size:13px}.lab-card-copy details p {font-size:13px}.lab-methods-foot {display:block;line-height:1.8}.lab-methods-foot a {display:inline-block;margin-top:10px}}
@media (prefers-reduced-motion:reduce) {.lab-diagram * {animation:none!important}.lab-card-copy summary>span {transition:none}}
@media print {.lab-diagram * {animation:none!important}.lab-motion-toggle {display:none!important}.lab-method-card {break-inside:avoid}.lab-method-grid {grid-template-columns:repeat(2,1fr)}}

/* Shared contextual graphics; the report values always remain plain text. */
[data-lab-methods],.method-dialog {--lab-accent:#0066cc;--lab-tint:#e6f1ff}
[data-lab-methods].lab-identity,.method-dialog .lab-identity {--lab-accent:#6550b4;--lab-tint:#ece8fb}
[data-lab-methods].lab-content,.method-dialog .lab-content {--lab-accent:#26736a;--lab-tint:#e1f0ed}
[data-lab-methods].lab-endotoxin,.method-dialog .lab-endotoxin {--lab-accent:#8a6236;--lab-tint:#f2eadd}
.lab-standard-liquid {fill:var(--lab-accent)}
[data-lab-methods]:not([data-motion]) .lab-diagram * {animation:none}
[data-lab-methods][data-motion=running] .lab-diagram * {animation-play-state:running}
.lab-method-card {scroll-margin-top:110px}
.lab-scoring-note a {font-size:12px;text-decoration:none;color:#0066cc}.lab-scoring-note small {display:block;font-size:11px;line-height:1.7;color:#606069;margin-top:7px}
.method-help-link {display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;border:1px solid #c5cfdb;border-radius:50%;margin-left:7px;font-size:12px!important;font-weight:600;color:#35628e!important;text-decoration:none!important;vertical-align:middle}
.method-help-link:hover {background:#e7f1ff}
.method-help-link:focus-visible,.method-dialog button:focus-visible,.method-inline-help summary:focus-visible,.score-composition a:focus-visible {outline:3px solid #0066cc;outline-offset:4px}
.method-inline-help {border-top:1px solid #e5e7ed;margin:0}
.method-inline-help>summary {list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;cursor:pointer;font-size:14px;font-weight:600}
.method-inline-help>summary::-webkit-details-marker {display:none}
.method-inline-help>summary>span {font-size:22px;font-weight:400;color:#0066cc}
.method-inline-help[open]>summary>span {transform:rotate(45deg)}
.method-inline-content {display:grid;grid-template-columns:minmax(190px,270px) 1fr;gap:24px;padding:8px 0 24px;align-items:center;--lab-accent:#0066cc;--lab-tint:#e6f1ff}
.method-inline-content.lab-identity {--lab-accent:#6550b4;--lab-tint:#ece8fb}
.method-inline-content.lab-content {--lab-accent:#26736a;--lab-tint:#e1f0ed}
.method-inline-content.lab-endotoxin {--lab-accent:#8a6236;--lab-tint:#f2eadd}
.method-inline-content .lab-diagram {border-radius:18px;background:#f5f6f9;margin:0;padding:12px}
.method-inline-content p {font-size:14px;line-height:1.75;margin:0 0 12px}
.method-inline-content .fine {font-size:12px;color:#606069}
.profile-method-help {margin:22px 0}
.profile-method-help>p {font-size:12px;color:#6e6e73;margin-bottom:8px}
.method-dialog {width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 40px);box-sizing:border-box;overflow:auto;border:1px solid #dfe4ec;border-radius:24px;padding:26px 30px;background:#fff;color:#1d1d1f;box-shadow:0 24px 100px #14243b30}
.method-dialog::backdrop {background:#15243e65;backdrop-filter:blur(4px)}
.method-dialog-bar {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.method-dialog-bar h2 {font-size:15px;margin:0;color:#626572}
.method-dialog-bar button {width:40px;height:40px;flex:none;border:1px solid #dfe4ec;background:#f6f7f9;border-radius:50%;font:26px/1 inherit;cursor:pointer;color:inherit}
.method-dialog h3 {font-size:27px;line-height:1.2;letter-spacing:-.035em;margin:10px 0 18px}
.method-dialog .lab-diagram {max-width:330px;margin:0 auto 20px;background:#f5f6f9;border-radius:18px;padding:10px}
.method-dialog p {font-size:14px;line-height:1.7}
.method-dialog p.fine {font-size:12px;color:#606069}
.method-dialog [hidden] {display:none!important}
.score-composition {margin:25px 0 28px;padding:22px;border:1px solid #e3e7ed;background:#f7f8fa;border-radius:18px}
.score-composition figcaption {display:flex;justify-content:space-between;align-items:baseline;gap:14px;font-size:14px;font-weight:600}
.score-composition figcaption small {font-size:11px;font-weight:400;color:#606069}
.score-segments {display:flex;gap:0;height:30px;background:#e5e8ee;border-radius:7px;overflow:hidden;margin:20px 0}
.score-segment {display:block;width:var(--share);position:relative;min-width:0}
.score-segment span {display:block;height:100%;background:var(--segment-color);transform-origin:left;border-right:2px solid #f7f8fa}
.score-color-0 {--segment-color:#1473d2}.score-color-1 {--segment-color:#26736a}.score-color-2 {--segment-color:#6550b4}.score-color-3 {--segment-color:#8a6236}.score-color-4 {--segment-color:#294d77}.score-color-5 {--segment-color:#337b86}.score-color-6 {--segment-color:#597188}.score-color-7 {--segment-color:#697456}.score-color-8 {--segment-color:#77614b}
.score-equation {display:flex;gap:12px;flex-wrap:wrap;font-size:13px;align-items:baseline}
.score-equation-total {margin-left:auto}.score-equation-total b {font-size:24px;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.score-composition .fine {font-size:11px;line-height:1.7;margin:14px 0 0;color:#606069}
.breakdown-row a.score-category-source {color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:9px}
.score-category-source:before {content:'';width:8px;height:8px;background:var(--segment-color);border-radius:3px;flex:none}
.score-category-source:hover {text-decoration:underline!important}
.breakdown-row[class*=score-color] .score-track i {background:var(--segment-color)}
.batch-chain {margin:22px 0;padding:22px;border:1px solid #dfe5ed;background:#f7f9fc;border-radius:18px}
.batch-chain figcaption {font-size:13px;font-weight:600;margin-bottom:18px}
.batch-chain ol {list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0}
.batch-chain li {position:relative;min-width:0;padding-top:7px}
.batch-chain li+li:before {content:'→';position:absolute;left:-22px;top:10px;color:#8a9db8}
.batch-chain li small,.batch-chain li strong,.batch-chain li a {display:block;overflow-wrap:anywhere}
.batch-chain li small {font-size:11px;color:#5f6877;margin:12px 0 6px}
.batch-chain li strong,.batch-chain li a {font-size:13px;line-height:1.6;font-weight:600}
.batch-chain .batch-step {display:inline-flex;align-items:center;justify-content:center;background:#e5eefc;color:#2967a5;border:1px solid #d3e2f5;border-radius:50%;width:31px;height:31px;font-size:10px;letter-spacing:.04em}
.batch-chain .batch-gap .batch-step {background:#fff4df;color:#866322;border-style:dashed;border-color:#c9ae77}
.batch-chain p {font-size:12px;color:#5f6877;line-height:1.75;margin:18px 0 0}
.report-record[open] .batch-chain li,.method-batch-example[open] .batch-chain li {animation:batch-step-reveal .65s both}
.batch-chain li:nth-child(2) {animation-delay:.14s!important}.batch-chain li:nth-child(3) {animation-delay:.28s!important}
@keyframes batch-step-reveal {from {opacity:.4;transform:translateX(-5px)}to {opacity:1;transform:none}}
.method-batch-example {margin:24px 0}.method-batch-example>summary {cursor:pointer;font-weight:600;font-size:14px;padding:12px 0}
.freshness-explorer {margin:48px 0;padding:36px;border:1px solid #e0e5ed;border-radius:24px;background:linear-gradient(135deg,#f6f8fc,#fff);scroll-margin-top:110px}
.freshness-heading {display:flex;justify-content:space-between;gap:28px;align-items:flex-start}
.freshness-heading h2 {font-size:clamp(26px,3vw,36px);line-height:1.2;letter-spacing:-.04em;max-width:600px;margin:10px 0 16px}
.freshness-heading p:not(.eyebrow) {font-size:14px;line-height:1.8;color:#606069;max-width:620px}
.freshness-version {font-size:11px;white-space:nowrap;color:#606069;padding-top:12px}
.freshness-controls {display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:24px 0}
.freshness-controls label {font-size:12px;display:grid;gap:8px;min-width:220px;max-width:100%}
.freshness-controls select {font:inherit;font-size:14px;padding:12px;background:#fff;border:1px solid #cbd5e2;border-radius:10px;max-width:100%}
.freshness-controls button {font-size:12px}
.freshness-explorer [hidden] {display:none!important}
.freshness-date {display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;margin:32px 0 20px}
.freshness-date>span {font-size:12px;color:#606069}.freshness-date output {font-size:25px;letter-spacing:-.035em;font-weight:600;font-variant-numeric:tabular-nums}.freshness-date small {font-size:12px;color:#0066cc;margin-left:auto}
.freshness-explorer input[type=range] {width:100%;accent-color:#0066cc;height:32px;cursor:ew-resize}
.freshness-ticks {display:flex;justify-content:space-between;font-size:10px;color:#606069;margin-top:6px}
.freshness-stats {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:32px 0 22px;border-top:1px solid #dfe5ee;border-bottom:1px solid #dfe5ee;padding:24px 0;gap:25px}
.freshness-stats>div>span {display:block;font-size:12px;color:#606069;margin-bottom:10px}.freshness-stats strong {font-size:32px;letter-spacing:-.05em;font-weight:600;font-variant-numeric:tabular-nums}.freshness-stats small {font-size:12px;color:#606069;margin-left:5px}
.freshness-explorer p.fine {font-size:12px;line-height:1.8;color:#606069}
.freshness-notice {border-left:3px solid #b17d20;padding:12px 16px;background:#fff6e5;font-size:13px;line-height:1.7}
.freshness-reports>summary {padding:15px 0;cursor:pointer;font-size:13px;font-weight:600}
.freshness-report-scroll {max-height:320px;overflow:auto;border:1px solid #dfe5ee;border-radius:12px}
.freshness-report-scroll table {width:100%;border-collapse:collapse;font-size:12px;background:#fff}
.freshness-report-scroll th,.freshness-report-scroll td {text-align:left;padding:12px;border-bottom:1px solid #e9edf3}.freshness-report-scroll th {position:sticky;top:0;background:#f1f5fa}.freshness-report-scroll td:last-child {white-space:nowrap}.freshness-counted {color:#286b61}
.freshness-disclosure {font-size:11px;line-height:1.8;color:#606069;margin:20px 0 0}
.matrix-product-summary {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px 22px;margin:18px 0;border:1px solid #dce5f0;border-radius:16px;background:#f4f8fd;font-size:12px}
.matrix-product-summary strong {display:block;font-size:25px;line-height:1.5;font-variant-numeric:tabular-nums;color:#1d1d1f}
.matrix-product-summary[hidden] {display:none!important}
@media(max-width:700px){.method-inline-content {grid-template-columns:1fr;gap:14px}.method-inline-content .lab-diagram {max-width:270px;justify-self:center}.method-dialog {padding:20px}.score-composition {padding:18px}.score-composition figcaption {display:block}.score-composition figcaption small {display:block;margin-top:5px}.score-equation-total {width:100%;margin:0}.freshness-explorer {padding:22px}.freshness-heading {display:block}.freshness-version {display:block}.freshness-controls {display:block}.freshness-controls button {margin-top:12px}.freshness-controls label {min-width:0}.freshness-stats {gap:15px}.freshness-stats>div>span {font-size:10px;min-height:28px}.freshness-stats strong {font-size:25px}.freshness-stats small {display:block;margin:4px 0 0}.batch-chain {padding:18px}.batch-chain ol {grid-template-columns:1fr;gap:22px}.batch-chain li {padding:0 0 0 46px}.batch-chain .batch-step {position:absolute;left:0;top:0}.batch-chain li small {margin:0 0 4px}.batch-chain li+li:before {content:'↓';left:10px;top:-19px}.matrix-product-summary {padding:14px;gap:12px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.batch-chain li {animation:none!important}.score-segment span {animation:none!important}.method-inline-help>summary>span {transition:none}}
@media print{.method-dialog {display:none!important}.method-help-link {display:none}.batch-chain li {animation:none!important}.freshness-controls,[data-freshness-slider] {display:none!important}.score-segment span {animation:none!important}.freshness-explorer,.batch-chain {break-inside:avoid}}

/* Editorial reading system. No vendor data or global layout overrides. */
.journal,.reading-page {--journal-navy:#132d4b;--journal-blue:#0066cc;--journal-line:#dce2e9;--journal-muted:#5e6a78}
.journal a,.reading-page a {text-decoration:none}
.journal-header {padding:58px 0 46px}
.journal-edition {display:flex;justify-content:space-between;border-bottom:1px solid var(--journal-line);padding-bottom:18px;color:var(--journal-muted);font-size:12px;letter-spacing:.11em;font-weight:650}
.journal-intro {display:grid;grid-template-columns:1.35fr 1fr;gap:64px;align-items:end;padding-top:36px}
.journal-intro h1 {font-size:clamp(42px,4.7vw,68px);line-height:1.09;margin:0;letter-spacing:-.06em;text-wrap:initial}
.journal-intro h1 span {color:var(--journal-blue)}
.journal-intro>div {max-width:420px;padding-bottom:4px}
.journal-intro p {font-size:16px;line-height:1.85;margin:0 0 22px;color:var(--journal-muted)}
.journal-text-link {font-size:14px;font-weight:650;display:inline-flex;align-items:center;gap:22px;padding-block:8px}
.journal-text-link span {transition:transform .2s}.journal-text-link:hover span {transform:translateY(3px)}
.journal-kicker {font-size:11px!important;letter-spacing:.13em;font-weight:700;line-height:1.5!important;margin:0 0 18px!important;color:var(--journal-muted)}
.journal-feature {border:1px solid var(--journal-line);border-radius:24px;overflow:hidden;background:#f6f8fb}
.journal-feature>a {display:grid;grid-template-columns:1fr 1fr;color:inherit;min-height:490px}
.journal-feature-copy {display:flex;flex-direction:column;align-items:flex-start;padding:44px 42px}
.journal-feature h2 {font-size:clamp(28px,3vw,42px);line-height:1.15;letter-spacing:-.045em;max-width:13em;margin:0 0 22px;color:var(--journal-navy);text-wrap:initial}
.journal-feature-copy>p:not(.journal-kicker) {color:var(--journal-muted);font-size:16px;line-height:1.75;margin:0 0 24px;max-width:34em}
.journal-meta {display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12px;line-height:1.6;color:var(--journal-muted)}
.journal-meta>span+span::before {content:'·';margin-right:16px}
.journal-feature-cta {margin-top:auto;display:flex;align-items:center;gap:42px;padding:16px 0 0;color:var(--journal-blue);font-size:14px;font-weight:650}
.journal-feature-cta b {display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid #bdcde2;font-size:22px;font-weight:400;transition:background .2s,color .2s,transform .2s}
.journal-feature>a:hover .journal-feature-cta b {background:#0066cc;color:white;transform:translate(2px,-2px)}
.journal-library {padding-top:80px;scroll-margin-top:10px}
.journal-section-heading {display:flex;gap:35px;justify-content:space-between;align-items:flex-end;margin-bottom:28px}
.journal-section-heading h2 {font-size:32px;line-height:1.2;margin:0;text-wrap:initial}
.journal-section-heading>p {color:var(--journal-muted);font-size:14px;max-width:245px;margin:0}
.journal-topic-nav {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:38px;border-block:1px solid var(--journal-line)}
.journal-topic-nav a {display:flex;align-items:center;gap:12px;padding:16px 16px 16px 0;color:var(--journal-navy);font-size:12px;line-height:1.5;min-height:64px}
.journal-topic-nav a span {color:#69798b;font-size:10px}.journal-topic-nav a b {font-weight:400;margin-left:auto;color:var(--journal-blue)}
.journal-topic-nav a:hover {color:var(--journal-blue)}
.journal-grid {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}
.journal-card {grid-column:span 2;min-width:0;background:#fff;border:1px solid var(--journal-line);border-radius:18px;overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .25s}
.journal-card:nth-last-child(-n+2) {grid-column:span 3}
.journal-card>a {display:flex;flex-direction:column;height:100%;color:inherit}
.journal-card:focus-within,.journal-feature:focus-within {outline:3px solid #0066cc;outline-offset:4px}
.journal-card-copy {padding:26px 24px 22px;display:flex;flex-direction:column;flex:1}
.journal-card h2 {font-size:24px;line-height:1.25;text-wrap:initial;margin:16px 0 13px;letter-spacing:-.035em}
.journal-card-copy>p {font-size:14px;line-height:1.8;margin:0 0 28px;color:var(--journal-muted)}
.journal-card-foot {display:flex;align-items:center;justify-content:space-between;margin-top:auto;border-top:1px solid var(--journal-line);padding-top:18px;font-size:12px;color:var(--journal-blue)}
.journal-card-foot>span:last-child {font-size:11px;color:#718094}.journal-card-foot b {margin-left:8px;font-weight:400}
@media(hover:hover) {.journal-card:hover {border-color:#afc3dd;box-shadow:0 14px 28px -22px #173b6470;transform:translateY(-4px)}}
.journal-principle {margin-top:84px;padding:46px 0 0;border-top:1px solid var(--journal-line);max-width:780px}
.journal-principle h2 {font-size:34px;line-height:1.25;margin:0 0 20px;text-wrap:initial;max-width:24em}
.journal-principle>p:not(.journal-kicker) {font-size:16px;line-height:1.9;color:var(--journal-muted)}
/* Meaningful cover artwork */
.guide-art {min-width:0;position:relative;padding:30px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;height:252px;isolation:isolate;color:#20425e}
.guide-art-coa {background:var(--journal-navy);color:#142d4b;height:100%;min-height:430px;padding:38px}
.guide-report {width:100%;max-width:370px;margin:auto;padding:26px 25px 20px;background:#fff;border-radius:5px;box-shadow:10px 12px 0 #ffffff14;transform:rotate(-3deg);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.journal-feature:hover .guide-report {transform:rotate(0)}
.guide-report-top {display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.1em;color:#58738c}
.guide-report-top>span:first-child {font-size:14px;color:#164a80;letter-spacing:0;font-weight:750}
.guide-report-title {font-size:31px;line-height:1.12;letter-spacing:-.04em;font-weight:650;margin:23px 0 25px}
.guide-report-row {display:grid;grid-template-columns:1fr auto 25px;align-items:center;gap:12px;border-top:1px solid #e1e6ee;padding:15px 0;font-size:10px}
.guide-report-row b {font-size:11px;font-weight:550}.guide-report-row i {font-size:9px;font-style:normal;border:1px solid #83afd9;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;color:#0066cc}
.guide-report-bottom {border-top:1px solid #e1e6ee;margin-top:7px;padding-top:16px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#58738c}
.guide-art-purity {background:#eaf2fc;color:#205ea5}.guide-art-batch {background:#edf3f0;color:#255b4f}.guide-art-shop {background:#f3eee7;color:#5d4c35}.guide-art-price {background:#edf2f7;color:#294c6e}.guide-art-score {background:#e8eef9;color:#224b84}
.guide-art-note {position:absolute;left:26px;bottom:17px;right:20px;font-size:9px;color:#516477;line-height:1.5}
.guide-two-values {display:grid;grid-template-columns:1fr 1fr;gap:23px;align-items:start;width:100%}
.guide-two-values>div+div {border-left:1px solid #b4cbe5;padding-left:23px}
.guide-two-values span,.guide-price-art>span,.guide-score-art>span {font-size:9px;letter-spacing:.06em;font-weight:650}
.guide-two-values strong {font-size:52px;font-weight:550;letter-spacing:-.06em;line-height:1.3;display:block;white-space:nowrap}.guide-two-values small {font-size:21px;letter-spacing:-.03em;margin-left:4px;font-weight:450}
.guide-two-values svg {display:block;width:100%;height:55px;margin-top:10px}
.guide-trace {stroke-dasharray:1;stroke-dashoffset:0}.journal-card:hover .guide-trace {animation:guide-draw .9s ease both}
.guide-amount {position:relative;height:55px;margin-top:10px;padding-top:15px}.guide-amount>span {position:absolute;right:0;top:-2px;font-size:9px;letter-spacing:0}
.guide-amount i,.guide-amount b {display:block;height:9px;background:#b6cde8;width:100%;border-radius:2px;margin:6px 0}.guide-amount b {background:#205ea5;width:80%}
.guide-chain {display:flex;align-items:stretch;justify-content:space-between;gap:10px}.guide-chain>div {flex:1;min-width:0;padding:14px 12px;border:1px solid #a9c4b8;background:#ffffff70;border-radius:6px}
.guide-chain span {display:block;font-size:9px}.guide-chain strong {display:block;font-size:20px;margin-top:14px;letter-spacing:-.03em;font-weight:550}
.guide-chain>b {align-self:center;display:grid;place-items:center;flex:0 0 30px;height:30px;border:1px dashed #76978a;border-radius:50%;font-weight:500;font-size:16px}.guide-chain-rule {font-size:11px;line-height:1.6;padding-top:20px}
.guide-fact-sheet {width:100%}.guide-fact-sheet>div {font-size:9px;letter-spacing:.05em;margin-bottom:20px;display:flex;justify-content:space-between}.guide-fact-sheet>div>span {font-size:20px;line-height:1}
.guide-fact-sheet p {display:flex;align-items:center;gap:12px;border-top:1px solid #d8cdbd;padding:12px 0;margin:0;font-size:12px;line-height:1.4}.guide-fact-sheet p span {font-size:9px;color:#6d604f}.guide-fact-sheet b {font-weight:600}.guide-fact-sheet em {font-size:10px;font-style:normal;margin-left:auto}
.guide-price-art {width:100%;max-width:400px;margin:auto}.guide-price-art>div {display:grid;grid-template-columns:16px 1fr 65px;gap:14px;align-items:center;margin-top:16px}.guide-price-art b {font-weight:600;font-size:12px}.guide-price-art i {display:block;background:#9db1c6;height:22px;width:var(--bar);border-radius:3px}.guide-price-art>div+div i {background:#2e617f}.guide-price-art strong {font-size:20px;font-weight:550;letter-spacing:-.04em;white-space:nowrap}.guide-price-art p {font-size:12px;margin:18px 0 0}
.guide-score-art {max-width:420px;width:100%;margin:auto}.guide-score-art>strong {display:flex;align-items:baseline;gap:20px;font-size:70px;line-height:1.3;letter-spacing:-.06em;font-weight:550}.guide-score-art small {font-size:12px;font-weight:450;letter-spacing:0}.guide-score-art>div {display:flex;gap:4px;height:21px;margin:7px 0 14px}.guide-score-art i {flex:var(--weight);background:#245496;opacity:var(--shade);border-radius:2px}.guide-score-art p {font-size:12px;margin:0}
/* Article layout */
.reading-back {display:inline-flex;align-items:center;padding:10px 0;margin-top:36px;font-size:13px;color:#5e6a78}
.reading-header {max-width:940px;margin:28px 0 50px}
.reading-header h1 {font-size:clamp(36px,4.4vw,62px);line-height:1.1;margin:20px 0 25px;letter-spacing:-.055em;text-wrap:balance}
.reading-deck {max-width:770px;font-size:20px;line-height:1.7;color:#596575;margin:0 0 28px}
.reading-byline {display:flex;flex-wrap:wrap;gap:8px 23px;font-size:12px;color:#667283;padding-block:18px;border-block:1px solid var(--journal-line)}
.reading-byline>span:first-child {font-weight:650;color:#334559}
.reading-layout {display:grid;grid-template-columns:250px minmax(0,760px);gap:70px;align-items:start}
.reading-aside {position:sticky;top:110px}.reading-aside ol {list-style:none;margin:0;padding:0;border-top:1px solid var(--journal-line)}
.reading-aside li {border-bottom:1px solid var(--journal-line)}
.reading-aside li a {display:flex;gap:13px;padding:14px 0;font-size:12px;line-height:1.7;color:#596575;transition:color .2s}
.reading-aside a span {font-size:10px;padding-top:2px;color:#7a8999}.reading-aside li a:hover,.reading-aside li a[aria-current=location] {color:#0066cc}.reading-aside li a[aria-current=location] {font-weight:700}
.reading-check-jump {display:block;font-size:12px;margin-top:22px;padding:8px 0}
.reading-body {min-width:0;max-width:760px}.reading-body p {font-size:17px;line-height:1.95;margin:0 0 22px;color:#354353}.reading-body h2 {font-size:30px;line-height:1.25;letter-spacing:-.035em;text-wrap:initial;margin:0 0 24px}.reading-body h3 {font-size:24px;line-height:1.3;text-wrap:initial;margin:0 0 16px}
.reading-cover {margin:0 0 36px}.reading-cover .guide-art {height:320px;border-radius:18px;padding-inline:56px}.reading-cover .guide-art-coa {min-height:440px;height:440px;padding:25px}.reading-cover .guide-report {max-width:365px}.reading-cover figcaption {font-size:11px;color:#667283;margin-top:12px}
.reading-cover .guide-two-values {max-width:470px;margin:auto}.reading-cover .guide-chain {max-width:550px;width:100%;margin:0 auto}.reading-cover .guide-chain strong {font-size:28px}.reading-cover .guide-chain span {font-size:12px}.reading-cover .guide-chain-rule {text-align:center}.reading-cover .guide-fact-sheet {max-width:500px;margin:auto}.reading-cover .guide-fact-sheet p {font-size:15px;line-height:1.5;margin:0;padding-block:16px}.reading-cover .guide-fact-sheet p em {font-size:13px}.reading-cover .guide-fact-sheet>div {font-size:11px}
.reading-takeaways {padding:28px 30px;background:#f5f7fa;border-radius:16px;margin-bottom:60px}.reading-takeaways h2 {font-size:17px;margin:0 0 16px}.reading-takeaways ul {list-style:none;padding:0;margin:0}.reading-takeaways li {font-size:15px;line-height:1.7;margin:12px 0;padding-left:24px;position:relative}.reading-takeaways li::before {content:'↗';color:#0066cc;position:absolute;left:0}
.reading-section {margin:0 0 56px;scroll-margin-top:10px}.reading-section-number {display:block;font-size:12px;letter-spacing:.06em;color:#0066cc;margin-bottom:14px}.reading-section>ul {padding-left:22px;font-size:16px;line-height:1.9}.reading-section li {margin-bottom:9px}
.reading-note {background:#eef4fb;border-radius:12px;padding:24px 28px;margin:28px 0}.reading-note>strong {font-size:14px;color:#254a72}.reading-note p {font-size:16px;margin:10px 0 0;line-height:1.8}
.reading-body .reading-inline-sources {font-size:11px;line-height:1.8;color:#64748a;margin-top:18px}.reading-inline-sources a {display:inline;margin-right:12px;text-decoration:underline;text-decoration-color:#b4c4d8;text-underline-offset:3px}
.reading-checklist {padding:32px;background:#f1f5f3;border:1px solid #dbe7df;border-radius:18px;margin:64px 0}.reading-checklist h2 {margin-bottom:12px}.reading-checklist p:not(.journal-kicker) {font-size:14px;line-height:1.8}.reading-checklist fieldset {border:0;margin:0;padding:0}.reading-checklist label {display:flex;align-items:flex-start;gap:15px;font-size:15px;line-height:1.7;padding:15px 0;border-top:1px solid #d1ded5;cursor:pointer}.reading-checklist input {width:19px;height:19px;flex:0 0 19px;margin:4px 0 0;accent-color:#26735b}.reading-checklist input:checked+span {color:#26735b}.reading-checklist-foot {display:flex;justify-content:space-between;align-items:center;padding-top:18px;border-top:1px solid #d1ded5;font-size:13px}.reading-checklist-foot[hidden] {display:none}.reading-checklist-foot button {border:0;background:none;color:#285e4c;padding:8px;cursor:pointer;font-size:12px}
.reading-faq {margin:60px 0}.reading-faq details {border-bottom:1px solid var(--journal-line)}.reading-faq summary {display:flex;align-items:center;gap:20px;justify-content:space-between;cursor:pointer;padding:20px 0;font-size:16px;font-weight:600;list-style:none}.reading-faq summary::-webkit-details-marker {display:none}.reading-faq summary span {font-size:23px;color:#0066cc;font-weight:400;transition:transform .2s}.reading-faq details[open] summary span {transform:rotate(45deg)}.reading-faq details p {font-size:15px;line-height:1.85}
.reading-sources {border-top:1px solid var(--journal-line);padding-top:32px;scroll-margin-top:10px}.reading-sources h2 {font-size:22px}.reading-sources p {font-size:13px;line-height:1.9;color:#647084}.reading-sources ul {list-style:none;margin:24px 0;padding:0}.reading-sources li {margin:15px 0;scroll-margin-top:10px}.reading-sources li a {font-size:13px;overflow-wrap:anywhere}.reading-sources li span {display:block;font-size:11px;color:#647084;margin-top:4px}
.reading-next-action {margin-top:38px;padding:27px 30px;background:#132d4b;border-radius:14px;color:#c6d8ee}.reading-next-action>span {display:block;font-size:12px;margin-bottom:10px}.reading-next-action a {display:flex;align-items:center;justify-content:space-between;gap:20px;color:white;font-size:19px;line-height:1.5;font-weight:600}.reading-next-action b {font-size:25px;font-weight:400}
.reading-related {margin-top:80px;border-top:1px solid var(--journal-line);padding-top:44px}.reading-related>h2 {margin:0 0 30px;font-size:32px}.reading-related>div {display:grid;grid-template-columns:1fr 1fr;gap:24px}.reading-related .journal-card {grid-column:auto}
.reading-progress {position:fixed;top:74px;left:0;width:100%;height:2px;z-index:35;pointer-events:none}.reading-progress span {display:block;height:100%;background:#0066cc;transform:scaleX(0);transform-origin:left}.reading-progress[hidden] {display:none}
.guide-sr-only {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.guide-calculator {border:1px solid #cbd9e9;border-radius:16px;background:#f5f8fc;padding:28px;margin:32px 0}.guide-calculator>p:not(.journal-kicker) {font-size:14px;line-height:1.8}.guide-calc-grid {display:grid;grid-template-columns:1fr 1fr;gap:20px}.guide-calc-grid fieldset {border:0;min-width:0;padding:0;margin:0}.guide-calc-grid legend {font-size:15px;font-weight:700;margin-bottom:16px}.guide-calc-grid label {display:block;font-size:12px;line-height:1.6;margin-bottom:14px}.guide-calc-grid input {display:block;width:100%;min-width:0;margin-top:6px;border:1px solid #b7c9dd;background:white;border-radius:7px;padding:10px 12px;font-size:16px;color:#193b61}.guide-calc-grid input[aria-invalid=true] {border-color:#a13728}.guide-calc-grid output {display:flex;flex-direction:column;gap:6px;min-height:88px;padding:18px 0;border-top:1px solid #cbd9e9}.guide-calc-grid output strong {font-size:23px;letter-spacing:-.04em;line-height:1.3}.guide-calc-grid output span {font-size:12px;line-height:1.5}.reading-body .guide-calc-notice {font-size:13px;line-height:1.8;margin:16px 0}.journal-text-button {border:0;background:none;color:#0066cc;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:10px 0}
.guide-weights {background:#f5f7fa;padding:27px;border-radius:14px;margin:28px 0}.guide-weights figcaption {font-size:14px;font-weight:650;margin-bottom:24px}.guide-weights figcaption>span {display:block;font-size:11px;font-weight:400;color:#66758a;margin-top:7px}.guide-weights>div {display:grid;grid-template-columns:minmax(0,1.8fr) 1fr 35px;gap:14px;align-items:center;margin:14px 0;font-size:12px;line-height:1.6}.guide-weights i {display:block;background:#547db1;width:var(--points);height:8px;border-radius:2px}.guide-weights b {text-align:right;font-weight:550}
@keyframes guide-draw {from {stroke-dashoffset:1}to {stroke-dashoffset:0}}
@media(max-width:1100px) {
 .journal-intro {gap:30px}.journal-feature-copy {padding:34px 30px}.journal-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.journal-card,.journal-card:nth-last-child(-n+2) {grid-column:auto}.journal-grid>.journal-card:last-child {grid-column:1/-1}.journal-grid>.journal-card:last-child>a {display:grid;grid-template-columns:1fr 1fr}.journal-grid>.journal-card:last-child .guide-art {height:100%;min-height:260px}.journal-topic-nav {grid-template-columns:1fr 1fr}
 .reading-layout {grid-template-columns:200px minmax(0,1fr);gap:36px}.reading-cover .guide-art {padding-inline:28px}
}
@media(max-width:760px) {
 .journal-header {padding-top:34px}.journal-intro {grid-template-columns:1fr;gap:24px}.journal-intro h1 {font-size:48px}.journal-intro>div {max-width:550px}.journal-intro p {font-size:15px;margin-bottom:12px}.journal-feature>a {grid-template-columns:1fr}.journal-feature-copy {padding:30px}.journal-feature h2 {font-size:34px;max-width:17em}.journal-feature-cta {margin-top:20px}.journal-feature .guide-art {min-height:400px}.journal-section-heading {display:block}.journal-section-heading>p {margin-top:16px;max-width:none}.journal-section-heading h2 {font-size:29px}.journal-library {padding-top:58px}.journal-grid {gap:18px}.journal-card-copy {padding:22px 20px}.journal-card h2 {font-size:22px}.journal-grid .guide-art {padding-inline:20px}.journal-principle {margin-top:60px}.journal-principle h2 {font-size:29px}
 .reading-header {margin:22px 0 28px}.reading-header h1 {font-size:43px}.reading-deck {font-size:18px;line-height:1.75}.reading-layout {display:block}.reading-aside {position:static;margin:0 0 32px;padding:22px;background:#f5f7fa;border-radius:12px}.reading-aside ol {display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.reading-aside li a {font-size:12px;padding:11px 0}.reading-aside .journal-kicker {margin-bottom:12px!important}.reading-check-jump {margin-top:10px}.reading-body {max-width:none}.reading-progress {top:62px}.reading-cover .guide-art {height:280px}.reading-cover .guide-art-coa {height:430px}.reading-section {margin-bottom:46px}.reading-body h2 {font-size:27px}.reading-related>h2 {font-size:28px}
}
@media(max-width:540px) {
 .journal-intro h1 {font-size:clamp(35px,10vw,48px)}.journal-edition {font-size:10px}.journal-header {padding-bottom:28px}.journal-feature {border-radius:18px}.journal-feature-copy {padding:26px 24px}.journal-feature h2 {font-size:31px}.journal-feature-copy>p:not(.journal-kicker) {font-size:15px}.journal-feature .guide-art-coa {padding:28px 30px;min-height:365px}.guide-report {padding:22px 20px 16px}.guide-report-title {font-size:29px;margin:20px 0}.guide-report-row {grid-template-columns:1fr auto 23px;gap:7px;font-size:9px}.guide-report-row b {font-size:10px}.guide-report-top {font-size:8px}.guide-report-bottom {font-size:8px}
 .journal-topic-nav {grid-template-columns:1fr}.journal-topic-nav a {min-height:54px;border-bottom:1px solid #e8edf2;font-size:13px}.journal-topic-nav a:last-child {border:0}.journal-grid {grid-template-columns:1fr;gap:24px}.journal-grid>.journal-card:last-child {grid-column:auto}.journal-grid>.journal-card:last-child>a {display:flex}.journal-grid>.journal-card:last-child .guide-art {height:252px;min-height:0}.journal-grid .guide-art {padding-inline:28px}.journal-card h2 {font-size:25px}.journal-card-copy {padding:25px}.journal-card-copy>p {font-size:15px}.journal-principle {padding-top:32px}.journal-principle>p:not(.journal-kicker) {font-size:15px}
 .reading-back {margin-top:23px}.reading-header h1 {font-size:36px;line-height:1.13;text-wrap:initial}.reading-header .journal-meta {font-size:11px}.reading-deck {font-size:17px}.reading-byline {display:flex;gap:8px 16px;font-size:11px}.reading-aside {padding:20px}.reading-aside ol {display:block}.reading-aside li a {font-size:13px}.reading-cover .guide-art {height:255px;padding-inline:24px}.reading-cover .guide-art-coa {height:395px;min-height:395px;padding:26px}.reading-cover .guide-chain strong {font-size:21px}.reading-cover .guide-chain span {font-size:10px}.reading-cover .guide-fact-sheet p {font-size:13px}.reading-cover .guide-fact-sheet p em {font-size:10px}.reading-body p {font-size:16px;line-height:1.9}.reading-body h2 {font-size:26px}.reading-takeaways {padding:24px;margin-bottom:45px}.reading-takeaways h2 {font-size:17px}.reading-takeaways li {font-size:14px}.reading-note {padding:22px}.reading-note p {font-size:15px}.reading-checklist {padding:24px;margin:48px 0}.reading-checklist label {font-size:14px}.reading-faq {margin:46px 0}.reading-faq summary {font-size:15px}.reading-sources h2 {font-size:22px}.reading-next-action {padding:24px}.reading-next-action a {font-size:18px}.reading-related>div {grid-template-columns:1fr}.reading-related {margin-top:58px}.guide-calculator {padding:23px 20px}.guide-calc-grid {grid-template-columns:1fr;gap:24px}.guide-calc-grid fieldset+fieldset {border-top:1px solid #cbd9e9;padding-top:16px}.guide-calculator h3 {font-size:23px}.guide-weights {padding:22px}.guide-weights>div {grid-template-columns:1.6fr .6fr 28px;gap:10px;font-size:11px}
}
@media(prefers-reduced-motion:reduce) {.journal-card,.guide-report,.journal-feature-cta b,.journal-text-link span {transition:none;transform:none!important}.journal-card:hover .guide-trace {animation:none}.reading-faq summary span {transition:none}}
@media print {.reading-progress,.reading-aside,.reading-related,.reading-back,.reading-next-action,.reading-checklist-foot {display:none!important}.reading-layout {display:block}.reading-header {margin-top:0}.reading-body {max-width:none}.reading-body p {font-size:11pt}.reading-cover {max-width:440px;break-inside:avoid}.reading-section {break-inside:auto}.reading-body h2 {break-after:avoid;font-size:17pt}.reading-sources a {overflow-wrap:anywhere}.guide-calculator,.reading-checklist,.reading-note {break-inside:avoid}.journal-grid {display:block}.journal-card {break-inside:avoid;margin:20px 0}}
