/* Readability pass for Tortoise Time. Loaded last; no score or data changes. */
@media screen {
  :root { --measure: 64ch; --control-line: #68796F; }
  :root[data-theme="dark"] { --control-line: #A9BDAF; }
  body { font-size: 1.25rem; line-height: 1.65; }
  :is(.hero,.page-head,.article-head,.newsletter-page-hero) h1 { line-height: 1.15; letter-spacing: -.02em; }
  .hero h1 { font-size: clamp(2.6rem, 5.5vw, 4.5rem); max-width: 17ch; }
  .newsletter-page-hero h1 { font-size: clamp(2.5rem, 5vw, 4rem); max-width: 20ch; }
  .lede { font-size: clamp(1.25rem, 2vw, 1.45rem); line-height: 1.6; }
  :is(.article,.prose) :is(p,li,dd) { font-family: var(--sans); line-height: 1.7; }
  .article :is(p,li) { font-size: 1.25rem; }
  :is(.hint,.small,.byline,.crumbs,.hero-proof,.provider-note,.home-source,.empty,.comment-guideline,.discussion-note,.newsletter-promise p,.tool-facts li,.tile .meta,.tile .unit,.principles p,.research-note p,.qa-small,.qa-answer-meta,.qa-reading span,.article-number-grid span,.article-hero-photo figcaption,.newsletter-network-grid span) { font-size: 1.0625rem; line-height: 1.6; }
  :is(.eyebrow,.tag,.fm-exp,.channel-label,.channel-pending,.newsletter-card-kicker,.newsletter-card-label,.issue-no,.featured-label,.copyright) { font-size: 1rem; line-height: 1.5; letter-spacing: .03em; }
  :is(.fm-form-note,.fm-form-safety p,.callout p,.refs-body p,.refs-body li,.refs-body a,.disclaimer-strip) { font-size: 1.0625rem; line-height: 1.6; }
  :is(.field > label,fieldset legend,.qa-tools label) { font-size: 1.125rem; }
  :is(.btn,.btn-small,.btn-cta,.nav-toggle,.chips button,.norm-tabs button,.seg label,.qa-subnav a) { min-height: 48px; min-width: 48px; font-size: 1.0625rem; line-height: 1.4; }
  .btn { min-height: 52px; max-width: 100%; text-align: center; white-space: normal; }
  :is(.chips button,.norm-tabs button,.seg label) { white-space: normal; }
  :is(.norm-tabs,.seg,.btn-row) { max-width: 100%; flex-wrap: wrap; }
  :is(input[type="number"],input[type="text"],input[type="email"],input[type="search"],select,textarea) { min-height: 56px; min-width: 0; max-width: 100%; font-size: 1.25rem; border-color: var(--control-line); }
  :is(input,textarea)::placeholder { color: var(--ink-2); opacity: 1; }
  .seg { border-color: var(--control-line); }
  :is(.chips button,.nav-toggle,.norm-tabs) { border-color: var(--control-line); }
  .tool-panel { position: static; } /* A tall form must scroll normally at larger text sizes. */
  :is(.hero-grid,.newsletter-page-grid,.newsletter-home-grid,.tool-layout,.tiles,.tile,.article-item,.split,.foot-grid) > * { min-width: 0; }
  .tile { grid-template-columns: minmax(0, 1fr); }
  .tile .unit { white-space: normal; padding: 0; margin-bottom: .5rem; }
  .tile h3 { line-height: 1.25; }
  .tile .btn { align-self: end; }
  .tile-index { display: none; } /* Decorative numbering is not a test ranking. */
  :is(.prose,.article,.page-references,.result,.article-item,.tile,.panel,.reading-choice,.reading-guide,.newsletter-card,.newsletter-signup) { overflow-wrap: anywhere; }
  :is(main,.site-footer) a:not(.btn):not(.article-thumb):not(.qa-subnav a) { text-decoration-line: underline; text-decoration-thickness: .07em; text-underline-offset: .18em; }
  :is(.foot-links a,.newsletter-provider-actions a,.text-link,.home-source > a) { display: inline-flex; align-items: center; min-height: 44px; }
  .foot-links { grid-template-columns: repeat(auto-fit,minmax(min(100%,10rem),1fr)); }
  .foot-links a { font-size: 1.0625rem; }
  details > summary { cursor: pointer; min-height: 48px; padding-block: .65rem; line-height: 1.5; }
  details.refs > summary { font-size: 1.125rem; color: var(--ink); }
  :focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
  :is(.band-pine,.newsletter-home,.newsletter-signup,.site-footer,.result,.qa-newsletter) :focus-visible { outline-color: #F3CF95; }
  .skip:focus { position: fixed; top: 1rem; left: 1rem; z-index: 1000; }
  main[tabindex="-1"]:focus { outline: none; } /* Skip target only; controls keep focus indicators. */
  :is(.result .value small,.result .sub span,.result h3,.result p,.result .sub span,.fm-domain h4,.fm-domain p,.fm-domain p span) { font-size: 1.0625rem; opacity: 1; }
  :is(.scale-labels,.scale-ticks) { font-size: 1rem; opacity: 1; gap: .35rem; }
  .scale-labels span { min-width: 0; overflow-wrap: anywhere; }
  .result a:not(.btn) { color: var(--on-pine); }
  .newsletter-card .text-link { color: var(--pine-2); }
  .newsletter-card .text-link:hover { color: var(--amber-ink); }
  .newsletter-home-copy > .btn-row > .btn-primary { background: var(--on-pine); color: #193E34; }
  .newsletter-signup .text-link { color: var(--on-pine); }
  .newsletter-signup .eyebrow { color: #F3CF95; }
  .newsletter-status { font-size: 1.0625rem; }
  .history { overflow-x: auto; }
  .norm-table :is(th,td), .history :is(th,td) { font-size: 1rem; }
  .reading-start { padding-block: 2rem; border-block: 1px solid var(--line); background: var(--paper); }
  .reading-start h2 { font-size: clamp(1.75rem,3vw,2.4rem); }
  .reading-choices { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
  .reading-choice { display: flex; flex-direction: column; align-items: flex-start; gap: .8rem; padding: 1.4rem; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--cream); }
  .reading-choice h3 { margin: 0; font-size: 1.5rem; line-height: 1.25; }
  .reading-choice p { font-size: 1.125rem; margin: 0; }
  .reading-choice a { margin-top: auto; display: inline-flex; min-height: 48px; align-items: center; font-size: 1.125rem; font-weight: 700; }
  .reading-note { font-size: 1.0625rem; color: var(--ink-2); margin: 1rem 0 0; }
  .reading-guide { border: 1px solid var(--line); background: var(--sage-soft); border-radius: var(--r-md); padding: 1.4rem; margin-bottom: 1.5rem; }
  .reading-guide h2 { font-size: 1.65rem; }
  .reading-guide p { font-size: 1.125rem; margin-bottom: .6rem; }
  .reading-methods { border: 1px solid var(--line); border-radius: var(--r-md); background: var(--paper); padding: .6rem 1.15rem; margin: 1.5rem 0; }
  .reading-methods > summary { font-weight: 700; font-size: 1.125rem; color: var(--ink); }
  .reading-methods[open] { padding-bottom: 1.3rem; }
  .reading-methods .research-note { padding: 1rem; }
  .reading-topic-links { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; margin-bottom: .5rem; }
  .reading-topic-links a { display: inline-flex; align-items: center; min-height: 48px; font-size: 1.125rem; }
  .nav-links a { font-size: 1.0625rem; }
  .nav { gap: 1rem; flex-wrap: wrap; }
  .nav .brand { min-width: 0; flex: 1 1 10rem; }
  .brand-name { overflow-wrap: anywhere; }
  .nav-toggle { flex-shrink: 0; }
  /* Switch before enlarged labels crowd the header, not after they overflow. */
  @media (max-width: 1120px) {
    .nav-toggle { display: inline-flex; align-items: center; padding: .5rem .9rem; background: var(--paper); color: var(--ink); border: 2px solid var(--control-line); border-radius: 10px; cursor: pointer; }
    .nav .btn-cta { display: none; }
    .nav-links { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; background: var(--paper); border-bottom: 1px solid var(--line); padding: .75rem clamp(1.1rem,4vw,2.5rem) 1.25rem; max-height: calc(100dvh - 90px); overflow-y: auto; }
    .nav-links.open { display: flex; }
    .nav-links a { padding: .75rem .8rem; font-size: 1.125rem; min-height: 48px; }
    .nav-links .mobile-cta { display: block; margin-top: .5rem; }
  }
  @media (max-width: 900px) {
    .reading-choices { grid-template-columns: 1fr; }
    .reading-choice { padding: 1.25rem; }
    .newsletter-card,.newsletter-signup { max-width: none; }
  }
  @media (max-width: 600px) {
    .site-header { position: relative; } /* Do not pin a large menu over magnified phone content. */
    .nav-links { max-height: 70dvh; }
    :is(.hero,.newsletter-page-hero) h1 { font-size: clamp(2.4rem,9vw,3.4rem); }
    .hero-photo { max-height: 22rem; }
    .tile .btn { width: 100%; justify-self: stretch; }
    .norm-tabs { border-radius: var(--r-md); }
    .article-thumb { max-height: 11rem; }
    .newsletter-signup { padding: 1.25rem; }
    .reading-topic-links { flex-direction: column; }
  }
  @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --control-line: #A9BDAF; } }
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    .tile:hover,.btn:hover,.article-thumb:hover img { transform: none; }
  }
  @media (forced-colors: active) {
    .btn,.seg label,.chips button,.nav-toggle { border: 2px solid ButtonText; }
    :is(.seg input:checked + label,.chips button[aria-pressed="true"],.norm-tabs button[aria-pressed="true"]) { outline: 2px solid Highlight; }
    :focus-visible { outline-color: Highlight; }
  }
}
