/* Editorial reading page only: no changes to the site's base typography. */
.memo-page { padding-block: 28px 80px; }
.memo-page [hidden] { display: none !important; }
.memo-breadcrumb { margin-bottom: 44px; }
.memo-layout { display: block; font-size: clamp(18px,1.35vw,20px); }
.memo-main { width: 100%; max-width: 72ch; min-width: 0; margin-inline: auto; }
.memo-heading { margin-bottom: 36px; }
.memo-heading>.eyebrow { color: #59636e; }
.memo-heading h1 { margin: 18px 0 20px; font-size: clamp(40px,4.4vw,68px); font-weight: 500; line-height: 1.04; letter-spacing: -.055em; }
.memo-subtitle { margin: 0 0 20px; color: #46515c; font-size: clamp(19px,1.7vw,24px); line-height: 1.5; }
.memo-meta { display: flex; flex-wrap: wrap; gap: 10px; font-size: 12px; line-height: 1.6; color: #59636e; }
.memo-article { font: inherit; line-height: 1.78; color: #303841; overflow-wrap: anywhere; }
/* Adds breathing room to the existing document scroll-padding for the header. */
.memo-section { scroll-margin-top: 16px; }
.memo-section+ .memo-section { margin-top: 2.8em; }
.memo-article h2 { font-size: clamp(25px,2.3vw,32px); font-weight: 500; line-height: 1.25; letter-spacing: -.035em; color: #111316; margin: 0 0 22px; text-wrap: balance; }
.memo-article p { margin: 0 0 1.35em; }
.memo-article strong { color: #111316; font-weight: 600; }
.memo-article a,.memo-references a { color: #002fa7; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; overflow-wrap: anywhere; }
.memo-page a:focus-visible,.memo-page button:focus-visible,.memo-page summary:focus-visible,.memo-page input:focus-visible { outline: 2px solid #002fa7; outline-offset: 4px; border-radius: 3px; }
.memo-conclusion { padding-top: .7em; }
.memo-sidebar { display: none; }
.memo-toc-mobile { margin: 24px 0 32px; padding-block: 10px; border-block: 1px solid #cdd3d8; }
.memo-toc-mobile summary { min-height: 44px; padding-block: 10px; cursor: pointer; font-size: 14px; line-height: 1.6; color: #303841; }
.memo-toc-mobile ol,.memo-sidebar ol { list-style: none; padding: 0; margin: 0; }
.memo-toc-mobile a,.memo-sidebar a { display: block; min-height: 44px; padding-block: 10px; color: #46515c; font-size: 13px; line-height: 1.6; text-decoration: none; }
.memo-toc-mobile a:hover,.memo-sidebar a:hover { color: #002fa7; text-decoration: underline; text-underline-offset: 4px; }
.memo-tools { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 24px; border-top: 1px solid #cdd3d8; margin-top: 32px; }
.memo-tools button { appearance: none; min-height: 44px; padding: 10px 14px; border: 1px solid #aab4be; border-radius: 6px; background: transparent; color: #303841; font: 14px/1.5 var(--sans); cursor: pointer; }
.memo-tools button:hover { color: #002fa7; border-color: #002fa7; }
.memo-status { font-size: 13px; line-height: 1.6; margin: 10px 0 0; color: #46515c; }
.memo-status:empty { display: none; }
.memo-link-fallback { margin-top: 16px; }
.memo-link-fallback label { display: block; font-size: 13px; margin-bottom: 8px; }
.memo-link-fallback input { width: 100%; min-width: 0; min-height: 44px; padding: 10px; border: 1px solid #aab4be; border-radius: 6px; color: #303841; background: transparent; font: 14px/1.5 var(--sans); }
.memo-link-fallback p { margin: 8px 0 0; font-size: 13px; color: #59636e; }
.memo-references { margin-top: 38px; padding-top: 24px; border-top: 1px solid #cdd3d8; }
.memo-references h2 { margin: 0 0 12px; font-size: 17px; font-weight: 500; letter-spacing: -.02em; }
.memo-references ul { padding-left: 18px; margin: 0; }
.memo-references li { font-size: 14px; line-height: 1.65; padding-block: 5px; }
.memo-cta { margin-top: 36px; padding-top: 20px; border-top: 1px solid #cdd3d8; }
.memo-cta a { display: inline-flex; min-height: 44px; align-items: center; color: #111316; font-size: 14px; text-decoration: underline; text-underline-offset: 6px; }
@media(min-width:1200px) {
  .memo-layout { display: grid; grid-template-columns: 180px minmax(0,72ch); column-gap: 64px; justify-content: center; align-items: start; }
  .memo-main { grid-column: 2; grid-row: 1; }
  .memo-sidebar { display: block; grid-column: 1; grid-row: 1; position: sticky; top: 116px; max-height: calc(100svh - 140px); overflow-y: auto; padding-right: 8px; }
  .memo-sidebar p { margin: 0 0 14px; font: 11px/1.5 var(--mono); color: #59636e; }
  .memo-sidebar a { font-size: 12px; }
  .memo-toc-mobile { display: none; }
}
@media(max-width:760px) {
  .memo-page { padding-block: 22px 50px; }
  .memo-breadcrumb { margin-bottom: 32px; }
  .memo-layout { font-size: 18px; }
  .memo-heading h1 { font-size: clamp(38px,8.8vw,56px); }
  .memo-heading { margin-bottom: 28px; }
  .memo-section { scroll-margin-top: 12px; }
  .memo-section+ .memo-section { margin-top: 2.3em; }
}
@media print {
  @page { margin: 18mm; }
  .header,.footer,.skip,.memo-breadcrumb,.memo-sidebar,.memo-toc-mobile,.memo-tools,.memo-link-fallback,.memo-status,.memo-cta { display: none !important; }
  body { background: #fff !important; color: #000 !important; }
  .memo-page.wrap { width: auto; max-width: none; margin: 0; padding: 0; }
  .memo-layout { display: block; font-size: 12pt; }
  .memo-main { max-width: none; }
  .memo-heading { margin-bottom: 24pt; }
  .memo-heading h1 { font-size: 28pt; }
  .memo-subtitle { font-size: 14pt; }
  .memo-article { color: #000; line-height: 1.5; }
  .memo-article p { orphans: 3; widows: 3; }
  .memo-article h2 { font-size: 17pt; break-after: avoid-page; }
  .memo-section+ .memo-section { margin-top: 24pt; }
  .memo-article a,.memo-references a { color: #000; }
  .memo-references li { break-inside: avoid; }
  .memo-references a::after { content: ' (' attr(href) ')'; font-size: 9pt; overflow-wrap: anywhere; }
}
