/* Reader3: article-only reading aids. Keeps surrounding ad inventory and consent UI untouched. */
.article .reader3-toc {
  margin: 1.4rem 0 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid #c8c6bd;
  border-left: 4px solid #e4482c;
  background: #fbfaf5;
}
.article .reader3-toc h2 {
  margin: 0 0 .55rem;
  font: 700 .72rem/1.4 Arial, Helvetica, sans-serif;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.article .reader3-toc ol {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem 1.25rem;
  margin: 0;
  padding-left: 1.25rem;
}
.article .reader3-toc li { padding: .12rem 0; }
.article .reader3-toc a,
.article .reader3-dossier a {
  color: #191b1a;
  text-decoration: underline;
  text-decoration-color: #e4482c;
  text-decoration-thickness: 2px;
  text-underline-offset: .18em;
}
.article .reader3-toc a:hover,
.article .reader3-dossier a:hover { color: #a72d1b; }
.article .reader3-estimate {
  display: inline-block;
  margin-left: .4rem;
  color: #494b47;
  font-size: .88em;
  white-space: nowrap;
}
.article .reader3-tools {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .7rem 1rem;
  margin: .8rem 0 1.1rem;
}
.article .reader3-tools [hidden] { display: none !important; }
.article .reader3-comfort {
  min-height: 44px;
  padding: .55rem .9rem;
  border: 1px solid #191b1a;
  border-radius: 2px;
  background: #191b1a;
  color: #fff;
  font: 700 .88rem/1.25 Arial, Helvetica, sans-serif;
  cursor: pointer;
  touch-action: manipulation;
}
.article .reader3-comfort:hover { background: #e4482c; border-color: #e4482c; }
.article .reader3-comfort:focus-visible,
.article .reader3-toc a:focus-visible,
.article .reader3-dossier a:focus-visible {
  outline: 3px solid #e4482c;
  outline-offset: 3px;
}
.article .reader3-progress {
  display: grid;
  grid-template-columns: auto minmax(85px, 180px) auto;
  align-items: center;
  gap: .45rem .6rem;
  color: #494b47;
  font:  .75rem/1.35 Arial, Helvetica, sans-serif;
}
.article .reader3-progress-track {
  height: 7px;
  overflow: hidden;
  border: 1px solid #b9b7ae;
  border-radius: 99px;
  background: #e7e4da;
}
.article .reader3-progress-fill {
  display: block;
  width: 0;
  height: 100%;
  background: #e4482c;
  transition: width .12s linear;
}
.article .reader3-progress-value { min-width: 2.5em; text-align: right; }
.article .reader3-dossier {
  margin: 1.4rem 0;
  padding: .85rem 1rem;
  border: 1px solid #c8c6bd;
  border-top: 3px solid #e4482c;
  background: #fbfaf5;
}
.article .reader3-dossier p { margin: .25rem 0; }
.article .reader3-dossier p:first-child { font-size: 1.05em; }
.article.reader3-comfort-mode .bodycopy {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.12rem, 1rem + .32vw, 1.28rem);
  line-height: 1.85;
  letter-spacing: .008em;
}
.article.reader3-comfort-mode .bodycopy p { margin-block: 0 1.45em; }
.article.reader3-comfort-mode .bodycopy h2,
.article.reader3-comfort-mode .bodycopy h3,
.article.reader3-comfort-mode .bodycopy h4,
.article.reader3-comfort-mode .bodycopy h5,
.article.reader3-comfort-mode .bodycopy h6 {
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.35;
  margin-block: 1.6em .65em;
}
.article .bodycopy h2[id],
.article .bodycopy h3[id],
.article .bodycopy h4[id],
.article .bodycopy h5[id],
.article .bodycopy h6[id],
.article .reader3-toc,
.article .sourcebox[id] { scroll-margin-top: 1.25rem; }

@media (max-width: 600px) {
  .article .reader3-toc { padding: .85rem .9rem; }
  .article .reader3-toc ol { display: block; }
  .article .reader3-toc li { padding: .25rem 0; }
  .article .reader3-estimate { margin-left: 0; }
  .article .reader3-tools { align-items: stretch; }
  .article .reader3-comfort { width: 100%; }
  .article .reader3-progress { width: 100%; grid-template-columns: auto minmax(65px, 1fr) auto; }
  .article.reader3-comfort-mode .bodycopy { font-size: 1.12rem; line-height: 1.8; }
}

@media (prefers-reduced-motion: reduce) {
  .article .reader3-progress-fill { transition: none; }
}
@media print {
  .article .reader3-tools,
  .article .reader3-dossier { break-inside: avoid; }
  .article .reader3-tools { display: none !important; }
  .article .reader3-toc { border-color: #888; background: #fff; }
  .article .reader3-dossier { border-color: #888; background: #fff; }
}
