:root{--ink:#171717;--field:#fff;--surface:#edede6;--hover:#373730;--muted:#000;--paper:#faf9f6;--line:#d8d8d2;--accent:#c43f1b;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{font-size:calc(16px * var(--font-scale,1))}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button,input,textarea,select{font:inherit}.wrap{width:min(1400px,calc(100% - 96px));margin:auto}.topline{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0 12px;font-size:.75rem;letter-spacing:.08em}.topline a{font-size:.875rem;letter-spacing:0}.masthead{display:block;text-align:center;font-family:var(--serif);font-weight:700;font-size:clamp(2.7rem,calc(9.3vw * var(--font-scale,1)),9rem);line-height:1.05;letter-spacing:-.075em;padding:14px 0 24px;white-space:nowrap}.masthead:hover{color:var(--ink)}.dot{color:var(--accent)}nav{display:flex;justify-content:center;border-top:3px solid var(--ink);border-bottom:1px solid var(--ink);gap:42px;padding:15px 0;font-size:calc(.9rem + 0.125rem);font-weight:800}nav .active{color:var(--accent)}.section-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin:42px 0 24px;padding-bottom:12px}.section-heading h1,.section-heading h2{font-size:1.15rem;margin:0;letter-spacing:-.02em}.section-heading>span{font-size:calc(.7rem + 0.0625rem);letter-spacing:.15em;color:var(--ink);font-weight:700}.lead{display:grid;grid-template-columns:1.45fr 1fr;gap:48px;padding:0 0 48px;border-bottom:1px solid var(--ink);align-items:center}.lead-image{display:block;height:100%;min-height:450px}.lead-image img{width:100%;height:100%;object-fit:cover;display:block}.eyebrow{display:inline-block;color:var(--accent);font-size:calc(.75rem + 0.125rem);font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px}.lead h2{font:700 clamp(2.2rem,calc(3.7vw * var(--font-scale,1)),4rem)/1.07 var(--serif);letter-spacing:-.045em;margin:0 0 20px}.lead p{font-size:calc(1.1rem + 0.0625rem);line-height:1.65;color:var(--ink);font-weight:700}.byline{font-size:calc(.8rem + 0.0625rem);font-weight:700;color:var(--ink);display:flex;flex-wrap:wrap;gap:10px}.read-story{display:inline-flex;gap:30px;align-items:center;font-size:.9rem;font-weight:600;padding:12px 0 5px;border-bottom:1px solid var(--ink);margin-top:22px}.read-story span{font-size:1.6rem}.text-lead{display:block;padding:46px 8% 70px;background:var(--surface);border:0}.text-lead .lead-copy{max-width:850px}.text-lead h2{font-size:clamp(3rem,calc(6vw * var(--font-scale,1)),5.8rem)}.text-lead p{max-width:660px;font-size:calc(1.2rem + 0.0625rem)}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:32px 0}.story-card{border-bottom:1px solid var(--line);padding-bottom:28px}.story-card img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;margin-bottom:24px}.story-card h3{font:700 1.8rem/1.15 var(--serif);letter-spacing:-.03em;margin:0 0 16px}.story-card p{color:var(--ink);font-weight:700;font-size:calc(.95rem + 0.0625rem)}.story-card .eyebrow{margin-bottom:10px}footer{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:3px solid var(--ink);padding:26px 0 40px;margin-top:80px!important;font-size:calc(.8rem + 0.0625rem);font-weight:700;color:var(--ink)}.footer-brand{font:700 2rem var(--serif);letter-spacing:-.06em;color:var(--ink)}.empty{padding:70px 0 100px;max-width:750px;min-height:350px}.empty h1,.empty h2{font:700 clamp(2.3rem,calc(5vw * var(--font-scale,1)),4.5rem)/1.12 var(--serif);letter-spacing:-.04em}.empty p{color:var(--ink);font-weight:700;font-size:calc(1.1rem + 0.0625rem)}.pagination{display:flex;justify-content:space-between;margin:30px 0}.article-header{max-width:990px;margin:65px auto 45px;text-align:center}.article-header h1{font:700 clamp(2.7rem,calc(5.5vw * var(--font-scale,1)),5.5rem)/1.05 var(--serif);letter-spacing:-.045em;margin:0 0 25px}.standfirst{font-size:calc(1.3rem + 0.0625rem);font-weight:700;color:var(--ink);max-width:780px;margin:0 auto 25px;line-height:1.65}.article-header .byline{justify-content:center}.cover{margin:0 auto 45px}.cover img{width:100%;height:auto;max-height:820px;object-fit:cover;display:block}figcaption{font-size:calc(.8rem + 0.0625rem);font-weight:700;color:var(--ink);padding-top:10px}.article-body{max-width:750px;margin:55px auto;font:1.25rem/1.85 var(--serif)}.article-body p{margin:0 0 1.4em}.article-body h2{font:700 2rem/1.25 var(--serif);letter-spacing:-.03em;margin:1.6em 0 .7em}.article-body figure{margin:40px 0}.article-body img{width:100%;height:auto}.video{aspect-ratio:16/9;background:#111;margin:35px 0}.video iframe{width:100%;height:100%;border:0}.sources{border-top:1px solid var(--line);margin-top:45px;font: .9rem/1.7 var(--sans)}.sources h2{font:600 1rem var(--sans)}.sources a{text-decoration:underline}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:35px 0}.tags a{font:.8rem var(--sans);padding:9px 13px;border:1px solid var(--line)}.draft-banner{background:#fff2cf;color:#714d00;padding:12px;font:700 .875rem var(--sans)}.skip{position:absolute;left:20px;top:-100px;background:var(--field);padding:12px;z-index:10}.skip:focus{top:10px}.login{max-width:480px;margin:70px auto}.login h1{font:700 3rem var(--serif);margin:5px 0}.login p{color:var(--ink);font-weight:700;font-size:1.0625rem}label{display:block;font-weight:600;font-size:.875rem;margin:22px 0 7px}input,textarea,select{display:block;width:100%;padding:12px;border:1px solid #b8b8b2;background:var(--field);color:var(--ink);border-radius:0}textarea{resize:vertical}button{background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:12px 22px;cursor:pointer;font-weight:600}button:hover{background:var(--hover)}button:disabled{opacity:.5;cursor:wait}.login button{margin-top:22px;width:100%}.error,#message.error{color:#a51d11}.success{color:#22663a}.search{max-width:650px;margin-bottom:32px}.inline{display:flex;gap:10px}.editor-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:50px}.editor-sidebar{border-right:1px solid var(--line);padding-right:25px}.editor-sidebar>button{width:100%}.editor-sidebar>p{font-size:.875rem;text-decoration:underline}.editor-list{display:grid;gap:12px;margin-top:30px}.story-choice{background:transparent;color:var(--ink);text-align:left;border:0;border-bottom:1px solid var(--line);padding:14px 0}.story-choice:hover{background:var(--surface)}.story-choice strong{display:block;font:700 1.2rem/1.3 var(--serif);margin-top:5px}.story-choice small{color:var(--ink);font-weight:700;font-size:calc(.7rem + 0.0625rem)}#story-form{max-width:850px}#story-form h2{font:700 2.2rem var(--serif);margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.hint{font-size:calc(.8rem + 0.0625rem);font-weight:700;color:var(--ink);margin:0 0 7px}.form-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:30px 0}.quiet,.secondary{background:transparent;color:var(--ink)}.quiet:hover,.secondary:hover{background:var(--surface)}.quiet{padding:8px 14px}.editor-preview{max-width:300px;width:100%;height:auto;margin-top:20px}fieldset{border:1px solid var(--line);padding:20px;margin:30px 0}legend{font-weight:600;padding:0 8px}.gallery-item{border-top:1px solid var(--line);margin-top:25px;padding-top:10px}.gallery-item img{width:160px;height:100px;object-fit:cover}.gallery-item button{margin-top:10px}[hidden]{display:none!important}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}nav{gap:25px}.lead{gap:25px;grid-template-columns:1fr}.lead-image{min-height:0;aspect-ratio:1.6}.lead h2{font-size:3.1rem}.lead-copy{max-width:700px}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-layout{grid-template-columns:1fr}.editor-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:0 0 25px}.editor-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.wrap{width:calc(100% - 32px)}.topline{font-size:.6rem;padding:15px 0 8px;gap:8px}.topline>span:first-child{display:none}.masthead{padding:16px 0 20px;font-size:calc(11vw * var(--font-scale,1))}nav{gap:0;justify-content:space-between;flex-wrap:wrap;font-size:calc(.78rem + 0.125rem);padding:11px 0;row-gap:12px}nav a{padding:0 5px}.section-heading{margin-top:28px}.section-heading>span{font-size:calc(.6rem + 0.0625rem)}.text-lead{padding:32px 24px 42px}.lead h2{font-size:2.8rem}.text-lead p{font-size:calc(1.05rem + 0.0625rem)}.story-grid{grid-template-columns:1fr}.article-header{margin:40px auto 30px}.article-header h1{font-size:2.7rem}.standfirst{font-size:calc(1.1rem + 0.0625rem)}.article-body{font-size:1.13rem;line-height:1.8;margin-top:30px}.article-body h2{font-size:1.65rem}footer{flex-wrap:wrap;gap:15px}.footer-brand{flex-basis:100%}.form-grid{grid-template-columns:1fr;gap:0}.editor-list{grid-template-columns:1fr}.form-actions button{width:100%}}
.masthead,.footer-brand{word-spacing:.18em}@media(max-width:560px){.masthead{font-size:calc(10vw * var(--font-scale,1))}}

input::placeholder,textarea::placeholder{color:var(--ink);opacity:1;font-weight:700;font-size:calc(1em + 0.0625rem)}
.topline{color:var(--ink);font-weight:700;font-size:calc(.75rem + 0.0625rem)}@media(max-width:560px){.topline{font-size:calc(.6rem + 0.0625rem)}}
/* Larger publication navigation, labels, story details, and footer. */
.site-header nav{font-size:1.25rem;font-weight:800;flex-wrap:wrap}
.section-heading{gap:16px;flex-wrap:wrap}
.section-heading h1,.section-heading h2{font-size:1.375rem;font-weight:800}
.section-heading>span{font-size:1rem;font-weight:800;color:var(--ink)}
.eyebrow{font-size:1.125rem;font-weight:800}
.byline{font-size:1.0625rem;font-weight:800;color:var(--ink);line-height:1.65}
.read-story{font-size:1.125rem;font-weight:800}
.story-card h3{font-size:2rem;font-weight:800}
.story-card p{font-size:1.1875rem;font-weight:800;color:var(--ink)}
footer{font-size:1.0625rem;font-weight:800;color:var(--ink)}
@media(max-width:560px){.site-header nav{font-size:1.125rem}.section-heading>span{font-size:0.9375rem}.byline{font-size:1rem}.story-card h3{font-size:1.875rem}}
/* Readable top bar, captions, source list, and topic links. */
.topline{font-size:1.0625rem;font-weight:800;flex-wrap:wrap;row-gap:10px}
.topline a{font-size:1.125rem;font-weight:800}
figcaption{font-size:0.9875rem;font-weight:800;color:var(--ink)}
figcaption a,.byline a{text-decoration:underline;text-underline-offset:3px}
.sources{font-size:1.125rem;font-weight:800;color:var(--ink);overflow-wrap:anywhere}
.article-body .sources h2{font-size:1.375rem;font-weight:800}
.tags a{font-size:1.0625rem;font-weight:800;color:var(--ink);line-height:1.4}
@media(max-width:560px){.topline{font-size:0.9375rem}.topline a{font-size:1.0625rem}}
.article-share{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:14px;margin:28px 0;font:700 1rem/1.5 var(--sans);color:var(--ink)}
.share-button{display:inline-flex;align-items:center;gap:12px;font-size:1.125rem;font-weight:800;min-height:48px}
.share-status{font-size:1rem}.share-fallback{flex-basis:100%;max-width:650px;margin:0}.share-fallback input{font-weight:400}

:root[data-theme="dark"]{color-scheme:dark;--ink:#f5f5f2;--muted:#f5f5f2;--paper:#151719;--field:#202326;--surface:#25292d;--line:#737a80;--accent:#ff9877;--hover:#d8dce0}
:root[data-theme="light"]{color-scheme:light}
:root[data-size="1"]{--font-scale:.8}:root[data-size="2"]{--font-scale:.85}:root[data-size="3"]{--font-scale:.9}:root[data-size="4"]{--font-scale:.95}:root[data-size="5"]{--font-scale:1}:root[data-size="6"]{--font-scale:1.05}:root[data-size="7"]{--font-scale:1.1}:root[data-size="8"]{--font-scale:1.15}:root[data-size="9"]{--font-scale:1.2}
.reader-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;letter-spacing:0}
.reader-controls button,.reader-controls a{min-height:48px;min-width:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;font-size:1rem;font-weight:800;border:1px solid var(--ink);border-radius:6px;background:var(--paper);color:var(--ink);cursor:pointer}
.reader-controls button:hover,.reader-controls a:hover{background:var(--surface)}
.reader-controls button:disabled{cursor:default;opacity:.4}
.size-control{display:flex;align-items:center;gap:4px}.size-control output{min-width:28px;text-align:center;font-size:1.125rem;font-weight:800}
.masthead{white-space:normal;overflow-wrap:normal}.lead-copy{min-width:0}.article-header h1,.lead h2,.story-card h3{overflow-wrap:anywhere}
.topline{letter-spacing:.03em}.topline time{white-space:normal}.topline #search-toggle{min-height:48px;display:inline-flex;align-items:center}
@media(max-width:560px){.reader-controls{flex-basis:100%;gap:8px}.reader-controls button,.reader-controls a{min-height:48px;padding:8px 10px}.topline{gap:8px}}
/* Free browser read-aloud controls on every article. */
.article-listen{max-width:750px;margin:0 auto 42px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--sans)}
.article-listen h2{font:800 1.35rem/1.3 var(--sans);margin:0 0 14px;letter-spacing:-.01em}
.listen-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.listen-controls button{min-height:50px;font-size:1.05rem;padding:12px 18px}
.listen-secondary{background:transparent;color:var(--ink)}
.listen-secondary:hover{background:var(--surface)}
.listen-speed{margin:0;font-size:.9rem;font-weight:800}
.listen-speed select{min-width:105px;min-height:50px;margin-top:4px;padding:10px 12px;font-size:1rem}
.listen-status{margin:12px 0 0;font-size:1rem;font-weight:700;color:var(--ink)}
@media(max-width:560px){.article-listen{margin-bottom:30px}.listen-controls button,.listen-speed{flex:1 1 calc(50% - 10px)}.listen-speed select{width:100%}}
.article-toolbar{align-items:center;justify-content:space-between}
.listen-controls-top{margin-right:auto;align-items:center}
.listen-controls-top .listen-speed{display:flex;align-items:center;gap:8px}
.listen-controls-top .listen-speed select{margin-top:0}
@media(max-width:560px){.listen-controls-top{flex:1 1 100%;width:100%}.listen-controls-top .listen-speed{flex-wrap:wrap}.article-toolbar>.share-button{margin-left:auto}}
.listen-controls-top{gap:8px}.listen-controls-top button{padding:10px 12px;font-size:1rem}.listen-controls-top .listen-speed select{min-width:85px}

html{scroll-behavior:smooth}
.article-section{scroll-margin-top:2rem}
.article-section:focus-visible{outline:3px solid var(--accent);outline-offset:6px}
.article-body .article-toc{display:block;max-width:100%;padding:1.25rem 1.5rem;margin:0 0 2rem;border:1px solid var(--line);background:var(--surface);font:700 1.25rem/1.6 var(--sans);text-transform:none;letter-spacing:normal}
.article-body .article-toc h2{font:700 1.75rem/1.4 var(--sans);margin:0 0 .75rem}
.article-toc ol{margin:0;padding-left:1.5rem}
.article-toc li{margin:.35rem 0}
.article-body .article-toc a{display:inline-block;padding:.35rem .15rem;text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere}
@media(max-width:560px){.article-body .article-toc{padding:1rem}.article-body .article-toc a{padding:.5rem .15rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.image-popup{border:0;padding:0;background:transparent;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;overflow:auto;overscroll-behavior:contain}
.image-popup::backdrop{background:rgba(0,0,0,.9)}
.image-popup-picture{display:block;width:auto;max-width:100%;height:auto;min-height:0;margin:auto;object-fit:contain}
.image-popup-close{position:fixed;right:max(16px,env(safe-area-inset-right));top:50%;transform:translateY(-50%);z-index:1;min-height:56px;padding:12px 22px;border:3px solid #111;border-radius:999px;background:#fff;color:#111;font:800 1.25rem/1.4 var(--sans);box-shadow:0 0 0 5px #ffd84d,0 0 0 10px rgba(255,255,255,.8);cursor:pointer}
.image-popup-close span{font-size:1.5em;vertical-align:middle;margin-left:8px}
.image-popup-open{overflow:hidden}
@media(min-width:800px){.image-popup-picture{max-width:90vw}}

.image-popup-close{touch-action:none;user-select:none;cursor:grab}
.image-popup-close:active{cursor:grabbing}

/* Dated stock snapshots and editorial CSV uploads. */
.stock-note{font-size:.95rem;line-height:1.6}
body:has(.stock-page){background:var(--field,#fff)}
.stock-page{max-width:1000px;margin:40px auto}
.stock-header{margin:28px 0 24px;padding:0}
.stock-page .stock-identity{font:700 clamp(1rem,2.3vw,1.6rem)/1.5 Georgia,serif;margin:0 0 14px;letter-spacing:normal}
.stock-sections{display:flex;justify-content:center;flex-wrap:wrap;gap:42px;margin:0;padding:15px 0;border-top:3px solid var(--ink);border-bottom:1px solid var(--ink);font:800 1.025rem/1.55 var(--sans)}
.stock-sections a{display:block;border:1px solid #aaa;margin:4px;padding:10px 14px;text-decoration:none}
.stock-group{margin:0}.stock-group h2{font:700 1.5rem/1.55 var(--sans);margin:.83em 0;scroll-margin-top:2rem}
.stock-group .stock-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:1em 0}
.stock-group .stock-stats>div{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid #8885;min-width:0}
.stock-group dt{flex:1;font:400 .92rem/1.55 var(--sans);overflow-wrap:anywhere}.stock-group dd{margin:0;text-align:right;font:400 1rem/1.55 var(--sans);overflow-wrap:anywhere;min-width:0}
@media(max-width:1000px){.stock-sections{gap:25px}}
@media(max-width:700px){.stock-group .stock-stats{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.stock-sections{gap:12px 0}}
.stock-admin{max-width:850px;margin:2rem auto}.stock-admin form{padding:1.5rem 0}.stock-admin li{margin:.7rem 0}.stock-admin input,.stock-admin select{max-width:100%}

.summary-stock-link{color:#c1121f;text-decoration:underline;font-weight:800;text-underline-offset:.08em}.summary-stock-link strong{font-weight:800}.summary-stock-link:hover{color:var(--ink)}
html[data-theme="dark"] .summary-stock-link{color:#ff8f98}

figcaption .stockrank-credit{text-decoration:underline;text-underline-offset:.15em}
