/* Accessibility refinements shared by every public page. */
html { scroll-behavior: auto; }
html:not(.motion-ready) *, html:not(.motion-ready) *::before, html:not(.motion-ready) *::after { animation: none !important; }
body { overflow-wrap: anywhere; }
main:focus { outline: none; }
:focus-visible { outline: 3px solid #6f583c; outline-offset: 4px; }
.pinterest-home :focus-visible { outline-color: #f6f0e6; }
.pinterest-profile-card :focus-visible { outline-color: #6f583c; }
.comparison-table thead :focus-visible { outline-color: #f6f0e6; }
.site-header { height: auto; min-height: 7rem; padding-block: 1rem; }
.brand { flex-shrink: 1; min-width: 0; }
.brand-name { overflow-wrap: normal; }
.menu-toggle { flex-shrink: 0; }
.desktop-nav, .footer-links { flex-wrap: wrap; }
.desktop-nav a, .footer-links a, .breadcrumbs a, .article-sidebar a { padding-block: .4rem; }
.footer-main, .footer-fine { flex-wrap: wrap; }
.footer-links { gap: .5rem 1.5rem; }
.footer-fine { font-size: .875rem; }
.motion-toggle { min-height: 2.75rem; padding: .5rem; font-size: .875rem; text-decoration: none; border: 1px solid currentColor; border-radius: 3px; }
.motion-state { display: inline-block; padding-left: .5rem; font-weight: 700; }
.hub-page .motion-toggle { font-size: .875rem; }
.hub-intro, .pinterest-inner, .company-note, .destination-grid { min-width: 0; }
.hub-intro > *, .pinterest-inner > *, .company-note > *, .destination-grid > *, .profile-card-head > div { min-width: 0; }
.destination-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.destination-copy, .pinterest-profile-card { padding: clamp(1rem, 3vw, 2rem); }
.hub-button { white-space: normal; text-align: center; min-height: 2.75rem; }
.profile-card-head { flex-wrap: wrap; }
.destination-number, .destination-label, .destination-domain, .network-caption, .eyebrow, .story-meta, .article-cover figcaption { font-size: .8125rem; }
.story-link, .topic-filters button, .story-count, .breadcrumbs, .article-byline, .article-sidebar nav a, .back-journal, .brand-text-link, .article-brand .ownership-note, .research-note, .table-note, .sources li, .sources p { font-size: .875rem !important; }
.topic-filters button { min-height: 2.75rem; }
.story-meta { flex-wrap: wrap; }
.story-meta > span:last-child, .story-count { white-space: normal; }
.story-title a, .story-link { text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
.story-link { min-height: 1.5rem; }
.article-body, .about-reading p, .verdict-card p, .article-brand p, .story-card > p { font-size: 1rem; }
.breadcrumbs { flex-wrap: wrap; }
.article-byline { line-height: 1.7; }
.article-sidebar { position: static; }
.sources li { margin-block: .75rem; }
.sources a { display: inline-block; min-height: 1.5rem; padding-block: .25rem; }
.site-directory a { display: inline-block; min-height: 1.5rem; padding-block: .35rem; text-decoration: underline; text-underline-offset: .2em; }
.site-directory li { margin-block: .5rem; }
.table-help { font-size: .875rem; }
.comparison-table-wrap { max-width: 100%; border: 1px solid #a4937b; border-radius: 3px; }
.comparison-table { min-width: 32rem; font-size: .9375rem; }
.comparison-table caption { padding: 1rem; }
.comparison-table th, .comparison-table td { padding: .875rem 1rem; }
.source-ref { font-size: .875rem; }
.pinterest-load { margin-bottom: .75rem; }
.pinterest-status { margin: 0 0 1rem; font-size: .9375rem; color: #f6f0e6; }
.pinterest-status:empty { display: none; }
.pinterest-widget[data-ready=true] { margin-bottom: 1.5rem; overflow: auto; }
@media (min-width: 801px) { .mobile-nav { display: none; } }
@media (max-width: 800px) {
  .site-header { min-height: 5.75rem; gap: 1rem; }
  .article-sidebar { display: block; margin-bottom: 2rem; }
  .article-sidebar nav { gap: .25rem; }
  .article-sidebar .eyebrow { margin-bottom: .5rem; }
  .article-sidebar .back-journal { display: none; }
}
@media (max-width: 600px) { .destination-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 430px) {
  .wrap { width: calc(100% - 2rem); }
  .compact-card { display: block; }
  .compact-card .story-image { height: auto; aspect-ratio: 1.45; margin-bottom: 1rem; }
  .brand-name { font-size: 1.1875rem; }
  .profile-card-head .brand-icon { display: none; }
}
@media (forced-colors: active) {
  :focus-visible { outline: 3px solid Highlight; }
  .hub-button, .menu-toggle, .motion-toggle, .topic-filters button { border: 1px solid ButtonText; }
  .topic-filters button[aria-pressed=true], .motion-toggle[aria-pressed=true] { border: 3px solid Highlight; }
}
