/* Meeple editorial system: full-width stories, considered reading space. */
.news-page { --reading-bg: var(--cream); --reading-ink: var(--cocoa); --reading-muted: var(--walnut); --reading-line: #6B4A3630; background: var(--reading-bg); color: var(--reading-ink); }
.news-page main { overflow: clip; }
.news-page svg:not(.svg-defs) { flex: none; }
.news-page :is(.journal-cta,.journal-jump,.news-save,.journal-results a,.article-back,.article-tools button,.article-tools summary,.article-tool-buttons,.article-tags a,.related-stories a,.share-dialog button) { font-family: var(--font-heading); }
.news-page [hidden] { display: none !important; }
.news-page:not(.news-enhanced) :is(.journal-toolbar,.news-save,.article-tools,.article-zoom > span,.article-zoom > svg) { display:none; }
.news-page:not(.news-enhanced) .article-zoom { pointer-events:none; }
.journal-intro { background: var(--cocoa); color: var(--cream); padding: 155px var(--gutter) 90px; }
.journal-masthead { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 64px; }
.journal-masthead h1 { font-size: clamp(64px,9.1vw,148px); line-height: .91; letter-spacing: -.065em; }
.journal-masthead h1 span { color: var(--orange); }
.journal-masthead > div { padding-bottom: 8px; max-width: 370px; }
.journal-masthead p { font-size: clamp(20px,2.2vw,32px); line-height: 1.25; letter-spacing: -.025em; }
.journal-jump { display: inline-flex; align-items: center; gap: 20px; padding: 22px 0 0; font-size: 15px; }
.journal-jump svg { width: 24px; height: 24px; transform: rotate(90deg); }
.journal-jump:hover { color: var(--orange); }
.journal-feature { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: clamp(32px,4.8vw,80px); align-items: center; }
.feature-image { position: relative; display: block; overflow: hidden; aspect-ratio: 1.35; clip-path: polygon(0 3%,100% 0,97% 100%,0 97%); }
.feature-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.feature-image:hover img { transform: scale(1.035); }
.feature-sticker { position: absolute; left: 24px; bottom: 30px; padding: 14px 22px; font-family: var(--font-heading); font-size: 15px; font-weight: 700; color: var(--cocoa); background: var(--cream); clip-path: var(--button-clip); transform: rotate(-4deg); }
.news-category { font-family: var(--font-heading); font-weight: 600; font-size: 14px; letter-spacing: .015em; }
.feature-copy h2 { font-size: clamp(33px,3.3vw,58px); line-height: 1.08; letter-spacing: -.045em; margin: 22px 0; text-wrap: balance; }
.feature-copy h2 a { text-decoration-thickness: 2px; text-underline-offset: 5px; }
.feature-copy h2 a:hover { text-decoration-line: underline; }
.feature-copy > p { color: var(--latte); font-size: 18px; line-height: 1.6; max-width: 35ch; }
.news-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; font-size: 13px; line-height: 1.5; }
.news-meta > span { display: inline-flex; align-items: center; gap: 6px; }
.news-meta svg { width: 15px; height: 15px; stroke-width: 1.5; }
.feature-copy .news-meta { color: var(--latte); margin-top: 22px; }
.feature-actions { display: flex; align-items: center; gap: 20px; margin-top: 32px; }
.journal-cta { position: relative; isolation: isolate; display: inline-flex; justify-content: center; align-items: center; gap: 24px; padding: 19px 28px; min-height: 56px; color: var(--cocoa); font-weight: 700; font-size: 16px; background: transparent; border: 0; }
.journal-cta::before { content:''; position:absolute; z-index:-1; inset:3px; background:var(--orange); clip-path:var(--button-clip); transition:inset .25s var(--ease),background .25s; }
.journal-cta:hover::before { inset:0; }
.journal-cta svg { width:23px; height:23px; transition:transform .25s var(--ease); }
.journal-cta:hover svg { transform:translateX(3px); }
.news-save { display:inline-flex; align-items:center; justify-content:center; gap:8px; width:48px; height:48px; padding:12px; color:inherit; background:transparent; border:1px solid currentColor; clip-path:polygon(0 4%,100% 0,100% 100%,0 96%); }
.news-save svg { width:21px; height:21px; fill:transparent; transition:fill .2s,color .2s; }
.news-save[aria-pressed="true"] svg { fill:var(--orange); }
.news-save:hover { color:var(--orange); }
.news-save.with-label { width:auto; padding:10px 14px; border:0; clip-path:none; font-weight:600; }
.news-save:focus-visible { clip-path:none; outline:3px solid var(--orange); outline-offset:3px; }
.journal-library { padding:76px var(--gutter) 90px; scroll-margin-top:16px; }
.journal-library-title { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:36px; }
.journal-library-title h2 { font-size:clamp(38px,4vw,64px); line-height:1.05; letter-spacing:-.045em; }
.journal-library-title p { color:var(--reading-muted); font-size:16px; }
.journal-toolbar { position:relative; padding:0 0 24px; border-bottom:1px solid var(--reading-line); }
.news-filters { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.news-filters button { display:inline-flex; align-items:center; gap:8px; min-height:44px; background:transparent; color:var(--reading-ink); font-family:var(--font-heading); font-size:15px; font-weight:600; padding:12px 20px; position:relative; isolation:isolate; }
.news-filters button::before { content:''; position:absolute; inset:2px; z-index:-1; clip-path:var(--button-clip); background:transparent; transition:background .2s; }
.news-filters button[aria-pressed="true"] { color:var(--cream); }
.news-filters button[aria-pressed="true"]::before { background:var(--cocoa); }
.news-filters button:hover:not([aria-pressed="true"])::before { background:var(--latte); }
.news-filters svg { width:17px; height:17px; }
[data-saved-count] { font-size:12px; font-variant-numeric:tabular-nums; opacity:.75; }
.news-search-row { display:flex; justify-content:space-between; gap:32px; }
.news-search { display:flex; align-items:center; gap:14px; width:min(100%,560px); border-bottom:1px solid var(--walnut); padding:5px 0; }
.news-search > svg { width:22px; height:22px; }
.news-search input { width:100%; min-width:0; border:0; outline:0; background:transparent; color:var(--cocoa); font:inherit; font-size:17px; padding:10px 0; border-radius:0; }
.news-search:focus-within { border-color:var(--orange); box-shadow:0 2px var(--orange); }
.news-search input::placeholder { color:var(--walnut); opacity:1; }
.search-clear { display:grid; place-items:center; min-width:40px; height:40px; background:none; color:var(--cocoa); }
.search-clear svg { width:19px; height:19px; }
.news-sort { display:flex; align-items:center; gap:12px; font-size:13px; color:var(--walnut); flex:none; }
.news-sort select { padding:12px 28px 12px 12px; min-height:44px; font:inherit; font-size:15px; color:var(--cocoa); background:transparent; border:1px solid var(--reading-line); border-radius:0; }
.journal-results { display:flex; align-items:center; justify-content:space-between; padding:24px 0; font-size:13px; color:var(--reading-muted); }
.journal-results a { display:inline-flex; gap:10px; align-items:center; min-height:32px; }
.journal-results svg { width:17px; height:17px; }
.journal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 32px; }
.journal-card { position:relative; min-width:0; padding-bottom:14px; border-bottom:1px solid var(--reading-line); }
.journal-card-image { position:relative; display:block; aspect-ratio:1.85; overflow:hidden; clip-path:polygon(0 4%,100% 0,100% 96%,0 100%); background:var(--latte); }
.journal-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .65s var(--ease); }
.journal-card:has(h3 a:is(:hover,:focus-visible)) img,.journal-card-image:hover img { transform:scale(1.035); }
.journal-card-arrow { position:absolute; right:22px; bottom:24px; display:grid; place-items:center; width:48px; height:44px; background:var(--orange); color:var(--cocoa); clip-path:var(--button-clip); transition:transform .3s; }
.journal-card-arrow svg { width:23px; height:23px; }
.journal-card-image:hover .journal-card-arrow { transform:translateX(3px); }
.journal-card-top { display:flex; align-items:center; justify-content:space-between; margin:18px 0 8px; }
.journal-card-top .news-save { border:0; }
.journal-card .news-meta { color:var(--reading-muted); }
.journal-card h3 { font-size:clamp(26px,2.5vw,42px); line-height:1.13; letter-spacing:-.035em; max-width:25ch; margin:14px 0; }
.journal-card h3 a:hover { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
.journal-card > p { color:var(--reading-muted); font-size:17px; line-height:1.55; max-width:45ch; }
.journal-card-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-top:24px; font-size:13px; }
.story-progress-text { font-weight:600; }
.story-progress { position:absolute; left:0; right:0; bottom:-1px; height:3px; pointer-events:none; }
.story-progress span { display:block; width:0; height:100%; background:var(--orange); }
.journal-empty { padding:70px 20px; text-align:center; }
.journal-empty h3 { font-size:36px; margin-bottom:15px; }
.journal-empty p { margin-bottom:24px; }
.archive-note { margin-top:34px; font-size:14px; line-height:1.6; color:var(--reading-muted); }
.journal-signoff { display:flex; justify-content:space-between; align-items:center; gap:40px; padding:70px var(--gutter); background:var(--orange); color:var(--cocoa); }
.journal-signoff p { margin-bottom:18px; font-size:17px; }
.journal-signoff h2 { font-size:clamp(36px,4.6vw,70px); line-height:1.08; letter-spacing:-.045em; }
.journal-signoff .journal-cta::before { background:var(--cream); }
.resume-reading,.article-resume { display:flex; flex-wrap:wrap; align-items:center; gap:16px; padding:18px 24px; background:var(--latte); color:var(--cocoa); margin-bottom:24px; }
.resume-reading > span { font-size:13px; }
.resume-reading a { flex:1; font-family:var(--font-heading); font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.resume-reading button,.article-resume button { background:transparent; color:inherit; min-width:44px; min-height:44px; }
.resume-reading svg,.article-resume svg { width:20px; height:20px; }
.news-toast { position:fixed; z-index:150; bottom:28px; left:50%; transform:translate(-50%,14px); padding:14px 22px; max-width:calc(100vw - 48px); color:var(--cream); background:var(--cocoa); box-shadow:0 6px 30px #14141425; font-size:14px; opacity:0; pointer-events:none; transition:opacity .2s,transform .2s; }
.news-toast.is-visible { opacity:1; transform:translate(-50%,0); }

/* Reading view. Long-form copy keeps a comfortable line length; art can breathe. */
.article-page { --reading-font-size:20px; }
.article-page[data-text-size="comfort"] { --reading-font-size:22px; }
.article-page[data-text-size="large"] { --reading-font-size:25px; }
.article-page[data-reading-theme="cocoa"] { --reading-bg:#2A1A12; --reading-ink:#F5ECDD; --reading-muted:#E7D7BF; --reading-line:#E7D7BF35; }
.article-hero { padding:143px var(--gutter) 44px; background:var(--cocoa); color:var(--cream); }
.article-back { display:inline-flex; align-items:center; gap:10px; font-size:14px; padding:10px 0; margin-bottom:38px; }
.article-back svg { width:20px; height:20px; }
.article-back:hover { color:var(--orange); }
.article-heading-row { display:flex; align-items:flex-start; justify-content:space-between; gap:32px; }
.article-heading-row > div { max-width:1050px; }
.article-hero h1 { font-size:clamp(44px,5.6vw,90px); line-height:1.03; letter-spacing:-.05em; margin:20px 0 24px; text-wrap:balance; }
.article-deck { font-size:clamp(18px,1.7vw,25px); color:var(--latte); line-height:1.5; max-width:55ch; }
.article-game { font-family:var(--font-heading); padding:11px 18px; font-size:14px; border:1px solid #E7D7BF50; white-space:nowrap; }
.article-byline { display:flex; align-items:center; gap:14px; margin-top:32px; font-size:14px; }
.author-initials { display:grid; place-items:center; flex:none; width:48px; height:48px; background:var(--orange); color:var(--cocoa); clip-path:var(--button-clip); font-family:var(--font-heading); font-size:17px; font-weight:700; }
.article-byline .news-meta { margin-top:6px; color:var(--latte); }
.article-cover { margin:0; padding:0 var(--gutter) 40px; background:var(--cocoa); color:var(--latte); }
.article-cover .article-zoom { display:block; width:100%; position:relative; overflow:hidden; aspect-ratio:2.65; clip-path:polygon(0 3%,100% 0,100% 97%,0 100%); }
.article-zoom { padding:0; background:var(--cocoa); cursor:zoom-in; }
.article-zoom img { display:block; width:100%; height:100%; object-fit:cover; }
.article-zoom > span { display:flex; align-items:center; gap:8px; position:absolute; right:24px; bottom:24px; background:var(--cream); color:var(--cocoa); padding:10px 14px; font-size:12px; font-weight:600; clip-path:var(--button-clip); }
.article-zoom > span svg,.article-zoom > svg { width:18px; height:18px; }
.article-cover figcaption { padding-top:15px; font-size:12px; text-align:right; }
.article-tools { position:sticky; top:var(--nav-height,100px); z-index:21; display:flex; justify-content:space-between; align-items:center; padding:10px var(--gutter); gap:20px; color:var(--reading-ink); background:var(--reading-bg); border-bottom:1px solid var(--reading-line); box-shadow:0 7px 18px #14141405; }
.article-tool-buttons { display:flex; align-items:center; gap:10px; }
.article-tools button,.article-tools summary { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; background:transparent; color:inherit; font-size:14px; padding:10px 12px; }
.article-tools svg { width:21px; height:21px; }
.tools-back { display:inline-flex; align-items:center; gap:8px; font-size:14px; white-space:nowrap; }
.reading-status { font-size:12px; color:var(--reading-muted); margin-left:auto; }
.reading-settings { position:relative; }
.reading-settings summary { cursor:pointer; list-style:none; }
.reading-settings summary::-webkit-details-marker { display:none; }
.reading-settings[open] summary { background:var(--reading-line); }
.reading-panel { position:absolute; right:0; top:calc(100% + 12px); width:310px; max-width:calc(100vw - 32px); padding:22px; background:var(--reading-bg); color:var(--reading-ink); border:1px solid var(--reading-line); box-shadow:0 16px 55px #14141430; }
.reading-panel fieldset { border:0; padding:0; margin:0 0 20px; }
.reading-panel legend { margin-bottom:10px; font-weight:600; font-size:14px; }
.reading-panel fieldset > div { display:flex; gap:4px; }
.reading-panel button { flex:1; border:1px solid var(--reading-line); padding:9px; font-size:13px; }
.reading-panel button[aria-pressed="true"] { background:var(--orange); color:var(--cocoa); border-color:var(--orange); }
.reading-panel p { font-size:12px; line-height:1.5; color:var(--reading-muted); }
.reading-progress { position:fixed; top:calc(var(--nav-height,100px) - 3px); left:0; right:0; height:3px; z-index:45; pointer-events:none; }
.reading-progress span { display:block; height:100%; width:100%; transform:scaleX(0); transform-origin:left; background:var(--orange); }
.article-resume { margin:24px var(--gutter) 0; font-size:14px; }
.article-resume button[data-resume-article] { display:flex; gap:12px; align-items:center; font-weight:600; margin-left:auto; text-decoration:underline; text-underline-offset:4px; }
.article-layout { display:grid; grid-template-columns:220px minmax(0,760px); gap:clamp(36px,6vw,100px); justify-content:center; align-items:start; padding:60px var(--gutter) 74px; }
.article-sidebar { position:sticky; top:calc(var(--nav-height,100px) + 100px); }
.article-toc h2 { font-size:14px; font-weight:600; margin-bottom:18px; }
.article-toc ol { list-style:none; padding:0; margin:0; border-left:1px solid var(--reading-line); }
.article-toc a { display:block; font-family:var(--font-heading); font-size:14px; line-height:1.45; padding:10px 16px; color:var(--reading-muted); border-left:3px solid transparent; margin-left:-2px; }
.article-toc a[aria-current="location"] { color:var(--reading-ink); border-color:var(--orange); font-weight:700; }
.article-toc a:hover { text-decoration:underline; text-underline-offset:4px; }
.article-prose { min-width:0; font-size:var(--reading-font-size); line-height:1.75; overflow-wrap:anywhere; }
.article-original > p { margin:0 0 28px; }
.article-original > h2 { font-size:clamp(28px,2.6vw,42px); line-height:1.18; letter-spacing:-.03em; margin:48px 0 20px; scroll-margin-top:64px; }
.article-original > h3 { font-size:27px; line-height:1.25; margin:32px 0 14px; scroll-margin-top:64px; }
.article-original > :is(ul,ol) { padding-left:1.2em; margin:0 0 28px; }
.article-prose li { padding-left:.35em; margin-bottom:.5em; }
.article-prose li::marker { color:var(--orange); }
.article-prose blockquote { margin:40px 0; border-left:4px solid var(--orange); padding:8px 0 8px 28px; font-family:var(--font-heading); font-size:1.35em; line-height:1.4; }
.article-prose blockquote cite { display:block; font-family:inherit; font-size:14px; margin-top:16px; }
.article-prose figure { margin:38px 0; }
.article-prose figure .article-zoom { position:relative; display:block; width:100%; }
.article-prose figure .article-zoom > svg { position:absolute; bottom:15px; right:15px; color:white; }
.article-prose figcaption { margin-top:10px; color:var(--reading-muted); font-size:13px; line-height:1.55; }
.article-callout { margin:36px 0; padding:28px; border-left:4px solid var(--orange); background:var(--reading-line); }
.article-preview-note { margin-bottom:34px; border-left:3px solid var(--orange); padding:4px 0 4px 22px; font-size:15px; line-height:1.6; color:var(--reading-muted); }
.article-preview-note strong { color:var(--reading-ink); }
.article-preview-note p { margin:8px 0; }
.article-preview-note a { display:inline-flex; gap:12px; align-items:center; font-weight:600; color:var(--reading-ink); text-decoration:underline; text-underline-offset:4px; }
.article-preview-note svg { width:18px; height:18px; }
.article-end { margin-top:56px; padding-top:30px; border-top:1px solid var(--reading-line); }
.article-end-mark { display:grid; place-items:center; width:40px; height:38px; background:var(--orange); color:var(--cocoa); clip-path:var(--button-clip); margin-bottom:14px; }
.article-end-mark svg { width:22px; height:22px; }
.article-end > p { font-family:var(--font-heading); font-weight:600; }
.article-tags { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }
.article-tags a { padding:7px 12px; border:1px solid var(--reading-line); font-size:13px; }
.article-tags a:hover { border-color:var(--orange); }
.related-stories { border-top:1px solid var(--reading-line); padding:64px var(--gutter) 84px; }
.related-stories .journal-library-title > a { display:inline-flex; align-items:center; gap:12px; font-size:15px; }
.related-stories .journal-library-title svg { width:21px; height:21px; }
.related-stories .journal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.related-stories .journal-card:only-child { display:grid; grid-template-columns:1fr 1fr; column-gap:32px; grid-column:1 / -1; }
.related-stories .journal-card:only-child > .journal-card-image { grid-row:1 / 7; aspect-ratio:1.8; }
.related-stories .journal-card:only-child > :not(.journal-card-image,.story-progress) { grid-column:2; }
.related-stories .journal-card:only-child .journal-card-top { margin-top:0; }
.image-viewer { position:fixed; inset:0; width:100vw; max-width:none; height:100dvh; max-height:none; border:0; background:#141414f5; color:white; padding:65px 4vw 45px; }
.image-viewer::backdrop { background:#141414e8; }
.image-viewer > img { display:block; width:100%; height:calc(100% - 44px); object-fit:contain; }
.image-viewer > p { margin-top:12px; text-align:center; font-size:14px; line-height:1.5; }
.image-close,.share-close { position:absolute; right:18px; top:12px; display:grid; place-items:center; width:44px; height:44px; color:inherit; background:transparent; }
.image-close svg,.share-close svg { width:26px; height:26px; }
.share-dialog { position:fixed; inset:0; margin:auto; width:min(490px,calc(100vw - 32px)); padding:42px 32px 32px; background:var(--cream); color:var(--cocoa); border:0; }
.share-dialog::backdrop { background:#2A1A12b5; backdrop-filter:blur(6px); }
.share-dialog h2 { font-size:40px; letter-spacing:-.04em; }
.share-dialog p { margin:16px 0 22px; line-height:1.6; }
.share-dialog label { display:block; font-size:13px; }
.share-dialog input { display:block; width:100%; margin:8px 0 18px; padding:13px; border:1px solid var(--walnut); background:var(--latte); color:var(--cocoa); font-size:14px; }
.share-dialog .share-status { font-size:13px; margin-bottom:0; }
.image-open,.sharing-open { overflow:hidden; }

@media(min-width:961px) { .article-page .site-header { background:var(--cocoa); } }
@media(max-width:1100px) {
 .journal-feature { grid-template-columns:1.2fr 1fr; gap:32px; }
 .article-game { display:none; }
 .article-layout { grid-template-columns:180px minmax(0,1fr); gap:35px; }
 .reading-status { display:none; }
}
@media(max-width:800px) {
 .journal-intro { padding-top:125px; padding-bottom:54px; }
 .journal-masthead { align-items:center; margin-bottom:38px; gap:24px; }
 .journal-masthead h1 { font-size:clamp(54px,10vw,80px); }
 .journal-masthead p { font-size:20px; }
 .journal-feature { grid-template-columns:1fr; gap:28px; }
 .feature-image { aspect-ratio:1.7; }
 .feature-copy h2 { font-size:38px; max-width:22ch; }
 .feature-copy > p { max-width:45ch; }
 .journal-library { padding-top:50px; padding-bottom:60px; }
 .journal-library-title { display:block; }
 .journal-library-title p,.related-stories .journal-library-title > a { margin-top:15px; }
 .news-search-row { flex-wrap:wrap; gap:18px; }
 .news-search { width:100%; }
 .journal-grid { gap:40px 24px; }
 .journal-card h3 { font-size:28px; }
 .journal-signoff { align-items:flex-start; flex-direction:column; gap:24px; padding-top:48px; padding-bottom:48px; }
 .article-hero { padding-top:115px; }
 .article-hero h1 { font-size:clamp(38px,6.5vw,60px); }
 .article-back { margin-bottom:22px; }
 .article-cover .article-zoom { aspect-ratio:1.8; }
 .article-layout { display:block; padding-top:32px; }
 .article-sidebar { position:static; margin-bottom:32px; }
 .article-toc ol { display:flex; overflow-x:auto; gap:8px; border:0; padding:0 0 10px; scrollbar-width:thin; }
 .article-toc li { flex:none; }
 .article-toc a { border:1px solid var(--reading-line); margin:0; max-width:190px; padding:10px 12px; }
 .article-toc a[aria-current="location"] { border-color:var(--orange); }
 .article-tool-buttons { gap:0; }
 .article-tools { gap:12px; padding:8px var(--gutter); }
 .article-tools .tools-back { font-size:13px; }
 .article-tools button,.article-tools summary { padding:10px; }
 .article-tool-buttons .save-label { display:none; }
 .article-tools summary > span { display:none; }
 .article-tools summary::after { content:'Aa'; }
 .article-tools summary > svg { display:none; }
 .related-stories .journal-card:only-child { display:block; }
 .related-stories .journal-card:only-child .journal-card-top { margin-top:18px; }
}
@media(max-width:550px) {
 .journal-masthead { display:block; }
 .journal-masthead h1 { font-size:70px; }
 .journal-masthead > div { display:flex; align-items:flex-end; justify-content:space-between; max-width:none; margin-top:28px; gap:16px; }
 .journal-masthead p { font-size:17px; }
 .journal-jump { width:110px; font-size:13px; gap:8px; padding:0; }
 .feature-copy h2 { font-size:32px; }
 .feature-sticker { left:15px; bottom:20px; padding:11px 17px; font-size:12px; }
 .feature-copy > p { font-size:17px; }
 .journal-grid,.related-stories .journal-grid { grid-template-columns:1fr; }
 .news-filters { gap:3px; }
 .news-filters button { padding:12px; font-size:13px; }
 .journal-card h3 { font-size:30px; }
 .journal-library-title h2 { font-size:40px; }
 .journal-cta { padding:16px 20px; font-size:15px; gap:16px; }
 .article-hero h1 { font-size:40px; }
 .article-byline { font-size:13px; gap:10px; }
 .article-byline .news-meta { font-size:12px; gap:8px 14px; }
 .article-tools .tools-back span { display:none; }
 .article-tools .tools-back { min-width:34px; min-height:44px; }
 .article-tool-buttons { margin-left:auto; }
 .article-tool-buttons button[data-share] > span { display:none; }
 .article-cover { padding-bottom:24px; }
 .article-cover .article-zoom > span { right:12px; bottom:18px; padding:8px; font-size:0; gap:0; }
 .article-prose { --reading-font-size:18px; }
 .article-page[data-text-size="comfort"] .article-prose { --reading-font-size:21px; }
 .article-page[data-text-size="large"] .article-prose { --reading-font-size:24px; }
 .article-original > h2 { margin-top:36px; font-size:29px; }
 .article-preview-note { font-size:14px; padding-left:17px; }
 .article-resume { padding:14px; gap:8px; }
 .article-resume > span { width:100%; }
 .article-resume button[data-resume-article] { margin-left:0; }
 .related-stories { padding-top:42px; padding-bottom:54px; }
 .news-toast { bottom:82px; width:max-content; }
}
@media(prefers-reduced-motion:reduce) {
 .news-page *, .news-page *::before { scroll-behavior:auto!important; transition:none!important; }
 .feature-image:hover img,.journal-card-image:hover img,.journal-card:has(h3 a:is(:hover,:focus-visible)) img { transform:none; }
}
.motion-paused .feature-image:hover img,.motion-paused .journal-card-image:hover img,.motion-paused .journal-card:has(h3 a:is(:hover,:focus-visible)) img { transform:none; }
@media(forced-colors:active) {
 .news-page,.journal-intro,.article-hero,.article-cover,.journal-signoff,.article-tools,.reading-panel { background:Canvas; color:CanvasText; }
 .journal-cta,.news-filters button,.news-save { border:1px solid ButtonText; color:ButtonText; clip-path:none; }
 .journal-cta::before,.news-filters button::before { display:none; }
 .news-filters button[aria-pressed="true"],.news-save[aria-pressed="true"] { border:3px solid Highlight; }
}
@media print {
 .site-header,.site-footer,.article-tools,.article-sidebar,.reading-progress,.article-resume,.related-stories,.floating-top,.article-end .news-save,.news-toast { display:none!important; }
 .article-page,.article-hero,.article-cover { background:white!important; color:black!important; }
 .article-hero { padding:0 0 20px; }
 .article-back,.article-game { display:none; }
 .article-hero h1 { font-size:34px; }
 .article-cover { margin:0; padding:0; }
 .article-cover .article-zoom { aspect-ratio:3; }
 .article-cover .article-zoom > span { display:none; }
 .article-layout { display:block; padding:25px 0; }
 .article-prose { font-size:12pt!important; line-height:1.5; }
 .article-original > h2 { break-after:avoid; font-size:20pt; margin-top:24px; }
}

/* Complete imported articles retain the full proportions of original media. */
.news-page .feature-image { aspect-ratio:16 / 9; }
.news-page .journal-card-image { aspect-ratio:16 / 9; }
.article-page .article-cover .article-zoom { aspect-ratio:auto; clip-path:none; }
.article-page .article-cover .article-zoom img { height:auto; }
.article-original figure .article-zoom img { height:auto; }
.article-original > hr { margin:42px 0; border:0; border-top:1px solid var(--reading-line); }
.article-original a { color:var(--reading-ink); text-decoration:underline; text-underline-offset:4px; text-decoration-color:var(--orange); }
.article-original a:hover { text-decoration-thickness:2px; }
.article-image-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.article-image-row figure { margin:0; }
.article-post-link { margin:32px 0; padding:24px; border:1px solid var(--reading-line); }
.article-post-link a { display:grid; gap:12px; }
.author-avatar { width:48px; height:48px; object-fit:cover; flex:none; clip-path:var(--button-clip); }
.article-author { display:flex; gap:24px; align-items:flex-start; margin:54px 0 0; padding:30px 0; border-top:1px solid var(--reading-line); border-bottom:1px solid var(--reading-line); }
.article-author .author-avatar { width:74px; height:74px; }
.article-author h2 { font-size:27px; letter-spacing:-.025em; line-height:1.2; }
.article-author .author-role { margin:7px 0 12px; color:var(--reading-muted); font-size:14px; font-weight:600; }
.article-author p { font-size:16px; line-height:1.65; }
@media(min-width:801px) { .article-toc ol { max-height:calc(100dvh - var(--nav-height,100px) - 160px); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; } }
@media(max-width:550px) { .article-author { gap:16px; } .article-author .author-avatar { width:52px; height:52px; } .article-author h2 { font-size:25px; } .article-image-row { grid-template-columns:1fr; } }
