/* Shared reading layouts for the preserved news and website policy pages. */
.reading-shell { max-width: 1080px; padding-block: 24px clamp(64px, 9vw, 112px); }
.reading-header { padding-bottom: clamp(32px, 5vw, 56px); }
.reading-header .eyebrow { margin-bottom: 20px; }
.reading-header h1 { max-width: 24ch; font-size: clamp(2.3rem, 4.8vw, 4.8rem); line-height: 1.08; letter-spacing: -.035em; overflow-wrap: break-word; text-wrap: pretty; }
.reading-meta { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 28px; font-size: .9375rem; color: var(--muted); }
.reading-content { max-width: 72ch; font-size: 1.0625rem; line-height: 1.75; color: var(--ink-90, rgb(8 51 51 / 90%)); overflow-wrap: break-word; }
.reading-content > * + * { margin-top: 24px; }
.reading-content h2 { font-size: clamp(1.65rem, 3vw, 2.3rem); line-height: 1.2; letter-spacing: -.025em; margin-top: 48px; }
.reading-content h3 { font-size: 1.3rem; line-height: 1.35; font-weight: 500; margin-top: 32px; }
.reading-content h4 { font-size: 1.1rem; line-height: 1.4; font-weight: 500; margin-top: 28px; }
.reading-content h2 + *, .reading-content h3 + *, .reading-content h4 + * { margin-top: 16px; }
.reading-content strong, .reading-content b { font-weight: 500; }
.reading-content ul, .reading-content ol { padding-left: 1.35em; }
.reading-content li { padding-left: .25em; }
.reading-content li + li { margin-top: 10px; }
.reading-content li > p + p { margin-top: 12px; }
.reading-content a { text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.reading-content a:hover { text-decoration-thickness: 2px; }
.reading-content blockquote { padding: 24px; background: var(--section); border-left: 3px solid var(--sand); }
.reading-content img, .reading-content video { display: block; max-width: 100%; height: auto; }
.reading-content figure { margin-inline: 0; }
.reading-content figcaption { font-size: .875rem; color: var(--muted); margin-top: 12px; }
.reading-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.reading-content td, .reading-content th { padding: 12px; border: 1px solid var(--line); text-align: left; }
.reading-next { display: flex; flex-wrap: wrap; gap: 12px 32px; max-width: 72ch; margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--line); }
.reading-next a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 5px; }
.legal-page .reading-header h1 { max-width: 18ch; }
.news-hero { display: grid; grid-template-columns: 1.25fr 1fr; align-items: end; gap: clamp(32px, 6vw, 80px); padding-block: 24px 64px; }
.news-hero h1 { max-width: 13ch; font-size: clamp(3rem, 6.4vw, 6rem); line-height: 1.05; letter-spacing: -.04em; }
.news-hero .eyebrow { margin-bottom: 20px; }
.news-intro { max-width: 42ch; padding-bottom: 6px; }
.news-intro p { color: var(--muted); font-size: 1.125rem; line-height: 1.65; }
.news-intro a { display: inline-flex; align-items: center; min-height: 44px; margin-top: 20px; text-decoration: underline; text-underline-offset: 5px; }
.news-list { padding-bottom: clamp(64px, 9vw, 112px); }
.news-item { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: clamp(24px, 5vw, 72px); padding-block: 40px; border-top: 1px solid var(--line); }
.news-item-meta { font-size: .875rem; }
.news-item-meta p { font-weight: 500; }
.news-item-meta time { display: block; color: var(--muted); margin-top: 8px; }
.news-item h2 { max-width: 38ch; font-size: clamp(1.6rem, 2.5vw, 2.4rem); line-height: 1.2; letter-spacing: -.025em; text-wrap: pretty; }
.news-item h2 a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.news-item-copy > p { max-width: 72ch; color: var(--muted); margin-top: 20px; line-height: 1.65; }
.news-read { display: inline-flex; align-items: center; min-height: 44px; gap: 16px; margin-top: 16px; text-decoration: underline; text-underline-offset: 5px; }
@media (max-width: 700px) {
  .reading-shell { padding-top: 16px; }
  .reading-header h1 { font-size: clamp(2rem, 7.6vw, 3.2rem); }
  .reading-content { font-size: 1rem; line-height: 1.7; }
  .reading-content h2 { margin-top: 36px; }
  .news-hero { grid-template-columns: 1fr; gap: 28px; padding-block: 16px 40px; }
  .news-hero h1 { font-size: clamp(2.8rem, 11vw, 4.5rem); }
  .news-intro { max-width: none; }
  .news-item { grid-template-columns: 1fr; gap: 20px; padding-block: 32px; }
  .news-item-meta { display: flex; flex-wrap: wrap; gap: 8px 24px; }
  .news-item-meta time { margin: 0; }
}
