@font-face { font-family:Lato; src:url('/fonts/Lato-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:Lato; src:url('/fonts/Lato-Bold.ttf') format('truetype'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:Lato; src:url('/fonts/Lato-Italic.ttf') format('truetype'); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:Lato; src:url('/fonts/Lato-BoldItalic.ttf') format('truetype'); font-weight:700; font-style:italic; font-display:swap; }

:root { --ink:#20292b; --muted:#616667; --paper:#fcfcfa; --line:#ced0c9; --accent:#b4442d; --panel:#edeedc; --background:var(--paper); --foreground:var(--ink); --primary:var(--ink); --primary-foreground:var(--paper); --border:var(--line); --radius:0; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Lato,Arial,sans-serif; font-size:16px; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
a:hover { color:var(--accent); }
a:focus-visible { outline:2px solid var(--accent); outline-offset:6px; }
img { display:block; width:100%; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { font-family:Lato,Arial,sans-serif; font-weight:400; }
p { line-height:1.65; }
em { font-weight:400; }
.journal { max-width:1512px; margin:0 auto; padding:0 clamp(20px,4.2vw,72px); }
.skip-link { position:absolute; top:-100px; left:20px; padding:14px; background:var(--ink); color:white; z-index:20; }
.skip-link:focus { top:10px; }
.edition-line { display:flex; justify-content:space-between; gap:20px; padding:21px 0 17px; font-size:.75rem; letter-spacing:.06em; border-bottom:1px solid var(--ink); }
.edition-line a { letter-spacing:0; }
.wordmark { display:block; padding:15px 0 23px; font-family:Lato,Arial,sans-serif; font-size:clamp(2.65rem,8.6vw,8rem); font-weight:bold; line-height:1.12; letter-spacing:-.07em; text-align:center; white-space:nowrap; }
.wordmark:hover { color:var(--ink); }
.wordmark-dot { color:var(--accent); }
nav { display:flex; gap:36px; align-items:center; border-top:2px solid var(--ink); border-bottom:1px solid var(--ink); padding:14px 0; font-size:.875rem; }
nav a { padding:3px 0; }
.nav-note { margin-left:auto; font-family:Lato,Arial,sans-serif; font-style:italic; color:var(--muted); font-size:1rem; }
.cover { display:grid; grid-template-columns:.85fr 1.35fr; gap:clamp(32px,5vw,80px); margin:43px 0 66px; align-items:center; }
.cover-copy { padding:6px 0 30px; }
.kicker { font-size:.75rem; letter-spacing:.13em; text-transform:uppercase; color:var(--accent); font-weight:600; margin-bottom:22px; }
h1 { font-size:clamp(3rem,4.5vw,4.5rem); line-height:1.035; letter-spacing:-.047em; margin-bottom:25px; }
h1 em { color:var(--accent); }
.standfirst { max-width:360px; font-family:Lato,Arial,sans-serif; font-size:1.3rem; line-height:1.4; margin-bottom:17px; }
.cover-description { font-size:1rem; max-width:350px; color:var(--muted); }
.inline-link { display:inline-flex; align-items:center; gap:25px; border-bottom:1px solid var(--ink); font-size:.875rem; padding:6px 0 10px; margin-top:26px; }
.inline-link span { font-size:1.3rem; line-height:1; transition:transform .2s ease; }
.inline-link:hover span { transform:translate(3px,0); }
.cover-photo { align-self:stretch; display:flex; flex-direction:column; }
.cover-photo img { height:100%; min-height:420px; max-height:620px; aspect-ratio:1.25; object-fit:cover; object-position:center; background:#e3e0da; }
figcaption { display:flex; justify-content:space-between; gap:20px; padding-top:12px; color:var(--muted); font-size:.75rem; line-height:1.4; }
.section-label { display:flex; align-items:baseline; justify-content:space-between; gap:20px; padding:16px 0; border-top:2px solid var(--ink); border-bottom:1px solid var(--line); }
.section-label h2 { font-size:1.6rem; letter-spacing:-.035em; }
.section-label p { font-size:.875rem; color:var(--muted); }
.story-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:28px; }
.story { padding:0 32px; border-left:1px solid var(--line); display:flex; flex-direction:column; }
.story:first-child { border-left:0; padding-left:0; }
.story:last-child { padding-right:0; }
.story-meta { display:flex; align-items:center; justify-content:space-between; font-size:.75rem; color:var(--accent); letter-spacing:.055em; text-transform:uppercase; margin-bottom:28px; }
.story-number { font-family:Lato,Arial,sans-serif; font-style:italic; font-size:1.1rem; color:var(--muted); }
.story h3 { font-size:clamp(1.6rem,2.1vw,2rem); letter-spacing:-.025em; line-height:1.18; margin-bottom:16px; }
.story p { color:var(--muted); font-size:1rem; margin-bottom:26px; }
.publication-note { margin-top:auto; font-size:.75rem; color:var(--muted); font-style:italic; }
.method { margin:80px 0; padding:54px 0 0; border-top:1px solid var(--ink); display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(40px,9vw,160px); }
.method-heading h2 { font-size:clamp(2.6rem,4.5vw,4.25rem); line-height:1.08; letter-spacing:-.045em; margin-bottom:24px; }
.method-heading > p:last-child { max-width:320px; color:var(--muted); font-size:1rem; }
.criteria { list-style:none; padding:0; margin:0; }
.criteria li { display:grid; grid-template-columns:30px 1fr; gap:20px; padding:21px 0; border-bottom:1px solid var(--line); }
.criteria li:first-child { padding-top:0; }
.criterion-number { font-size:.75rem; color:var(--accent); padding-top:6px; }
.criteria h3 { font-size:1.4rem; margin-bottom:6px; }
.criteria p { font-size:1rem; color:var(--muted); }
.editor-note { background:var(--panel); padding:48px 52px 52px; display:grid; grid-template-columns:1fr 1.5fr; gap:60px; }
.editor-note .kicker { color:var(--ink); }
.editor-note h2 { font-size:clamp(2.5rem,3.5vw,3.5rem); line-height:1.07; letter-spacing:-.04em; }
.note-copy p { font-size:1rem; margin-bottom:18px; }
.note-copy p:first-child { font-family:Lato,Arial,sans-serif; font-size:1.4rem; line-height:1.45; }
.note-copy p a { text-decoration:underline; text-underline-offset:3px; }
.note-copy .inline-link { margin-top:3px; }
.site-footer { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:36px 0; margin-top:36px; border-top:1px solid var(--ink); font-size:.75rem; color:var(--muted); }
.footer-wordmark { font-family:Lato,Arial,sans-serif; font-size:1.5rem; font-weight:bold; letter-spacing:-.05em; color:var(--ink); }
@media(min-width:1600px) { .wordmark { font-size:8.1rem; } }
@media(max-width:1000px) { .cover { gap:32px; grid-template-columns:1fr 1.1fr; } .cover-photo img { min-height:450px; } .story { padding:0 22px; } .editor-note { gap:35px; padding:36px; } }
@media(max-width:700px) {
  .edition-line { font-size:.75rem; padding:15px 0; letter-spacing:0; }
  .edition-line > span { max-width:150px; }
  .edition-line a { max-width:125px; text-align:right; }
  .wordmark { font-size:clamp(2.2rem,8.4vw,3.65rem); padding:22px 0; letter-spacing:-.075em; }
  nav { justify-content:space-between; gap:16px; } .nav-note { display:none; }
  .cover { grid-template-columns:1fr; margin:30px 0 42px; gap:30px; }
  .cover-copy { padding:0; } .kicker { margin-bottom:18px; }
  h1 { font-size:clamp(3.3rem,10vw,4.3rem); }
  .standfirst,.cover-description { max-width:100%; }
  .cover-photo img { height:auto; min-height:0; max-height:none; aspect-ratio:1.15; }
  .section-label { display:block; } .section-label p { margin-top:8px; }
  .story-grid { display:block; margin-top:0; }
  .story,.story:first-child,.story:last-child { padding:25px 0; border-left:0; border-bottom:1px solid var(--line); }
  .story-meta { margin-bottom:14px; } .story h3 { font-size:1.85rem; max-width:420px; } .story p { margin-bottom:16px; }
  .method { grid-template-columns:1fr; margin:45px 0; padding-top:32px; gap:35px; }
  .method-heading h2 br { display:none; } .method-heading > p:last-child { max-width:100%; }
  .editor-note { grid-template-columns:1fr; padding:28px 24px; gap:25px; }
  .editor-note h2 br { display:none; }
  .site-footer { flex-wrap:wrap; gap:18px; padding:25px 0; }
  .footer-wordmark { flex-basis:100%; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .inline-link span { transition:none; } }
/* Lato is used throughout, including the masthead and comparison. */
.wordmark { font-size:clamp(2rem,7.3vw,6.8rem); letter-spacing:-.055em; font-weight:700; }
h1,h2,h3 { font-weight:700; }
h1 { letter-spacing:-.04em; }
.market { margin-bottom:64px; }
.market-intro { display:grid; grid-template-columns:1.2fr 1fr; gap:40px; margin:25px 0; }
.disclosure { border-left:2px solid var(--accent); padding-left:20px; font-size:.875rem; color:var(--muted); }
.comparison-scroll { overflow-x:auto; border-top:1px solid var(--line); }
.comparison-scroll:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.comparison-table { border-collapse:collapse; width:100%; min-width:940px; font-size:.9375rem; line-height:1.5; }
.comparison-table caption { caption-side:bottom; text-align:left; font-size:.8125rem; color:var(--muted); padding:18px 0; }
.comparison-table th,.comparison-table td { text-align:left; vertical-align:top; border-bottom:1px solid var(--line); padding:20px 16px; }
.comparison-table thead th { font-size:.8125rem; background:var(--panel); }
.comparison-table tbody th { width:20%; font-weight:400; }
.comparison-table tbody th > span { font-weight:700; }
.comparison-table small { display:block; font-size:.875rem; margin-top:5px; color:var(--muted); }
.comparison-table a { display:inline-block; margin-top:10px; text-decoration:underline; text-underline-offset:3px; font-size:.8125rem; }
.comparison-table td:nth-child(2) { width:20%; }
.comparison-table td:nth-child(3) { width:12%; }
.market-reading { max-width:900px; padding:20px 0 0; }
.market-reading h3 { font-size:1.5rem; margin-bottom:14px; }
.market-reading p { margin-bottom:16px; color:var(--muted); }
@media(max-width:700px) { .wordmark { font-size:clamp(1.7rem,7.3vw,3.2rem); } nav { flex-wrap:wrap; justify-content:flex-start; column-gap:22px; row-gap:8px; } .market-intro { grid-template-columns:1fr; gap:18px; } }
.story-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 0; }
.story:nth-child(odd) { padding-left:0; border-left:0; }
.story:nth-child(even) { padding-right:0; }
.story .inline-link { align-self:flex-start; margin-top:auto; }
.article-journal .masthead { padding-top:28px; }
.article-journal .masthead > a { display:inline-block; margin-bottom:24px; }
.breadcrumbs { border:0; font-size:.875rem; gap:12px; padding:26px 0; color:var(--muted); flex-wrap:wrap; }
.article-heading { max-width:940px; margin:20px 0 48px; }
.article-heading h1 { font-size:clamp(2.2rem,4.7vw,4rem); line-height:1.12; text-wrap:balance; }
.article-byline { font-size:.875rem; color:var(--muted); margin-bottom:28px; }
.article-answer { font-size:1.25rem; line-height:1.6; margin-bottom:24px; }
.article-layout { display:grid; grid-template-columns:260px minmax(0,760px); gap:64px; border-top:1px solid var(--ink); padding-top:36px; }
.article-toc { align-self:start; }
.article-toc h2 { font-size:1rem; }
.article-toc ol { padding-left:22px; }
.article-toc li { line-height:1.55; margin:16px 0; font-size:.9375rem; }
.article-body { min-width:0; }
.article-body section { margin-bottom:44px; }
.article-body h2 { font-size:1.75rem; line-height:1.25; margin-bottom:20px; text-wrap:balance; }
.article-body p { font-size:1.0625rem; margin-bottom:18px; }
.article-body a,.article-byline a,.article-toc a,.breadcrumbs a { text-decoration:underline; text-underline-offset:4px; }
.article-body .article-sources,.source-date { font-size:.875rem; color:var(--muted); }
.related-guides { border-top:1px solid var(--ink); margin-top:52px; padding-top:28px; }
.related-guides h2 { font-size:1.6rem; }
.related-guides ul { padding:0; list-style:none; }
.related-guides li { padding:18px 0; border-bottom:1px solid var(--line); }
.related-guides a { display:flex; justify-content:space-between; gap:20px; line-height:1.5; }
.reading-time { font-size:.875rem; color:var(--muted); margin:-16px 0 24px; }
.guide-table-scroll { overflow-x:auto; margin:24px 0; }
.guide-table-scroll:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.guide-table { border-collapse:collapse; width:100%; min-width:520px; font-size:.9375rem; line-height:1.5; }
.guide-table caption { caption-side:bottom; text-align:left; color:var(--muted); font-size:.875rem; padding:14px 0; }
.guide-table th,.guide-table td { text-align:left; vertical-align:top; padding:14px 12px; border-bottom:1px solid var(--line); }
.guide-table thead { background:var(--panel); }
.guide-table tbody th { font-weight:700; }
.guide-faq h3 { font-size:1.1875rem; line-height:1.4; margin:26px 0 10px; }
.audience-note { margin-top:36px; max-width:900px; }
.audience-note h2 { font-size:1.3rem; margin-bottom:14px; }
.audience-note p { font-size:.9375rem; color:var(--muted); }
.audience-note a { text-decoration:underline; text-underline-offset:3px; }
.article-journal .site-footer { flex-wrap:wrap; }
@media(max-width:850px) { .article-layout { grid-template-columns:1fr; gap:24px; } .article-toc { border-bottom:1px solid var(--line); padding-bottom:18px; } }
@media(max-width:700px) { .story-grid { display:block; } .story .inline-link { margin-top:0; } .wordmark { white-space:normal; } }
