/* The Signal · v4. A purely editorial layer. Homepage CSS, HTML and JS remain untouched. */
:root{--s4-blue:#B16B52;--s4-ink:#202022;--s4-paper:#f3f0e9;--s4-rule:#d7d3ca}
html{scroll-behavior:smooth;scroll-padding-top:115px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.news-page [id]{scroll-margin-top:116px}
.news-page .news-lead{background:#202022;min-height:468px}
.news-page .news-lead__media{background:#202022}
.news-page .news-lead__media img{object-fit:cover;object-position:center}
.news-page .news-card__image{background:#e8e4dc;border:1px solid #d6d4ce;border-radius:12px;aspect-ratio:1200/630}
.news-page .news-card__image img{object-fit:contain;object-position:center;filter:saturate(.93);transform:none}
.news-page .news-card:hover .news-card__image img{transform:scale(1.025);filter:saturate(1.04)}
.news-page .news-card__image-arrow{box-shadow:0 3px 15px #1112}
.news-page .news-card{transform:none!important}
.news-page .news-card h3{letter-spacing:-.047em;line-height:1.27}
.news-page .news-card__description{max-width:60ch}
.news-page .news-pick img{object-fit:contain;filter:saturate(.90)}
.news-page .news-pick:hover img{filter:saturate(1.05)}
.news-page .news-pick__text strong{letter-spacing:-.045em}
.news-page .news-editorial__head,.news-page .news-picks__heading{scroll-margin-top:130px}
.news-page .news-card__meta{gap:10px}
.news-page .news-filters{scrollbar-width:none}
.news-page .news-filters::-webkit-scrollbar{display:none}
.news-page .news-bookmark:focus-visible{outline-offset:3px}
.news-page .news-card__image img,.news-page .news-lead__media img,.news-page .news-pick img{user-select:none}
.news-page .article-cover img{object-fit:contain;object-position:50% 50%;aspect-ratio:1.9;max-height:650px;border-radius:19px;background:#d8d5cf}
.news-page .article-cover figcaption{font-size:11px;line-height:1.7;letter-spacing:.015em}
/* Distinct article anatomy: each essay is an editorial, not a uniform news-card template. */
.editorial-v4 .article-heading{text-align:left;max-width:1130px}
.editorial-v4 .article-heading__meta{justify-content:flex-start}
.editorial-v4 .article-heading h1{font-size:clamp(39px,6.25vw,89px);max-width:1150px;line-height:1.095;letter-spacing:-.077em;margin:19px 0 19px}
.editorial-v4 .article-heading__intro{margin:0;max-width:810px;font-size:clamp(17px,1.8vw,23px);line-height:1.55}
.editorial-v4 .article-heading__utility{justify-content:flex-start;margin-top:29px}
.editorial-v4 .article-top{padding-bottom:30px}
.editorial-v4 .article-breadcrumb{margin-bottom:38px}
.editorial-v4 .article-cover{margin-top:43px}
.v4-edition-label{display:flex;justify-content:space-between;align-items:center;gap:15px;font:700 10px/1.5 'IBM Plex Mono',monospace;letter-spacing:.1em;color:#65656a;text-transform:uppercase;border-top:1px solid #cbc7bf;padding:18px 0;margin-bottom:28px}
.v4-edition-label span:first-child{color:#B16B52}
.v4-story-hook{font-size:clamp(16px,1.9vw,23px);font-weight:750;letter-spacing:-.03em!important;color:#202022!important;margin:0 0 15px!important;line-height:1.5!important}
.editorial-v4 .article-layout{margin-top:46px;grid-template-columns:minmax(0,210px) minmax(0,790px)}
.editorial-v4 .article-body{font-size:var(--reader-size,17px);line-height:1.87}
.editorial-v4 .article-body h2{letter-spacing:-.051em;font-size:clamp(28px,3vw,39px)}
.v4-opening{margin:36px 0 48px;border-left:3px solid var(--s4-blue);padding:4px 0 5px 28px}
.v4-opening .v4-drop{font-size:clamp(19px,1.8vw,22px);line-height:1.73;font-weight:490;color:#2c2d31;margin:0 0 22px}
.v4-story-type{display:flex;align-items:center;gap:14px;margin-top:8px;font-size:13px;line-height:1.5}
.v4-story-type span{font:700 10px 'IBM Plex Mono',monospace;color:#B16B52;letter-spacing:.1em;white-space:nowrap}
.v4-story-type strong{font-size:13px;color:#222}
.v4-evidence{display:grid;grid-template-columns:115px 1fr 1fr;gap:20px;border:1px solid #E4DBD3;border-radius:13px;background:#F2EEEA;padding:25px 24px;margin:52px 0 65px;color:#202022}
.v4-evidence__mark{font:700 10px/1.8 'IBM Plex Mono',monospace;letter-spacing:.065em;color:#39383A}
.v4-evidence strong{display:block;font-size:14px;font-weight:800;margin-bottom:10px;color:#202022}
.v4-evidence p{font-size:13px!important;line-height:1.75!important;margin:0!important;color:#39383A!important}
.editorial-v4--investigation .v4-evidence{background:#f1e9df;border-color:#d8c6ac}
.editorial-v4--investigation .v4-evidence strong{color:#39383A}
.editorial-v4--investigation .v4-evidence p{color:#5c514c!important}
.editorial-v4--science .v4-opening{border-color:#39383A}
.editorial-v4--science .v4-evidence{background:#F2EEEA;border-color:#E4DBD3}
.editorial-v4--practical .v4-opening{border-color:#b17d36}
.editorial-v4 .article-section{max-width:790px}
.editorial-v4 .article-section p{max-width:72ch}
.editorial-v4 .article-fast-read{padding:25px 28px;border-radius:13px;background:#F2EEEA}
.editorial-v4 .article-fast-read .news-mono{color:#81736A}
.editorial-v4 .article-fast-read p{font-size:clamp(17px,1.7vw,20px)}
.editorial-v4 .article-reader-question{margin-top:58px}
.editorial-v4 .article-sources{margin-top:66px;padding:26px 0 0}
.editorial-v4 .article-sources a{font-weight:700}
.editorial-v4 .article-sources a:hover{color:#202022}
.editorial-v4 .article-explained{margin-top:54px}
.editorial-v4 .article-related .news-card__image{aspect-ratio:1200/630}
.news-page .article-aside__toc a.is-current{color:#B16B52;border-left:2px solid #B16B52;padding-left:9px;margin-left:-11px}
.news-page .article-aside__toc a{display:block;margin-block:11px;text-decoration:none;font-size:12px;line-height:1.6}
/* Photographs replace old template illustrations; preserve natural editorial framing. */
.news-page .editorial-photo{background:#e1dfd9}
.news-page .news-lead__media img.editorial-photo{filter:saturate(.96)}
.news-page .article-reading-progress{height:4px}
.v4-mobile-actions{display:none}
.v4-photo-note{font-size:11px;color:#72757c}
@media(max-width:1100px){
 .v4-evidence{grid-template-columns:1fr 1fr}
 .v4-evidence__mark{grid-column:1/-1}
 .editorial-v4 .article-layout{grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:30px}
}
@media(max-width:760px){
 .news-page .news-shell{width:calc(100% - 36px)}
 .news-page .news-top{padding-top:137px;padding-bottom:34px}
 .news-page .news-top h1{font-size:clamp(65px,14.5vw,100px);line-height:.96}
 .news-page .news-lead{border-radius:19px;min-height:0;display:flex;flex-direction:column-reverse}
 .news-page .news-lead__media{min-height:230px;aspect-ratio:1.67}
 .news-page .news-lead__media img{position:absolute}
 .news-page .news-lead__copy{padding:28px 26px}
 .news-page .news-lead h2{font-size:clamp(28px,7vw,40px);margin:22px 0 16px}
 .news-page .news-lead__copy>p{font-size:14px;line-height:1.68;margin:0 0 27px}
 .news-page .news-editorial{padding:62px 0 70px}
 .news-page .news-editorial__head h2{font-size:clamp(39px,9vw,63px)}
 .news-page .news-tools{flex-wrap:wrap;gap:15px;padding:20px 0}
 .news-page .news-filters{display:flex;flex-wrap:nowrap;overflow:auto;max-width:100%;width:100%;padding:0 0 7px;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
 .news-page .news-filter{flex:0 0 auto;scroll-snap-align:start;padding:11px 14px}
 .news-page .news-search-sort{width:100%;display:flex}
 .news-page .news-search{flex:1;min-width:0}
 .news-page .news-grid{grid-template-columns:1fr;gap:43px}
 .news-page .news-card__image{aspect-ratio:1200/630;border-radius:15px}
 .news-page .news-card h3{font-size:clamp(24px,6.6vw,29px);line-height:1.21}
 .news-page .news-card__description{font-size:14px;line-height:1.7}
 .news-page .news-picks{padding-block:65px}
 .news-page .news-picks__list{grid-template-columns:1fr}
 .news-page .news-pick img{aspect-ratio:1200/630}
 .news-page .news-note{padding-block:30px 56px}
 .editorial-v4 .article-top{padding-top:126px}
 .editorial-v4 .article-breadcrumb{margin-bottom:26px}
 .editorial-v4 .article-heading h1{font-size:clamp(38px,10.3vw,59px);line-height:1.11;letter-spacing:-.067em}
 .editorial-v4 .article-heading__intro{font-size:16px;line-height:1.72}
 .editorial-v4 .article-heading__utility{margin-top:21px;gap:8px}
 .editorial-v4 .article-heading__utility .article-author{width:100%;margin:0 0 7px}
 .editorial-v4 .article-heading .share-button{min-height:40px;font-size:11px;padding-inline:13px}
 .editorial-v4 .article-cover{margin-top:27px}
 .news-page .article-cover img{border-radius:14px;aspect-ratio:1200/630}
 .v4-edition-label{font-size:9px;flex-wrap:wrap;gap:9px;margin-bottom:20px}
 .v4-story-hook{font-size:16px!important}
 .editorial-v4 .article-layout{display:block;margin-top:35px;padding-bottom:75px}
 .editorial-v4 .article-aside{position:static;display:block;border-bottom:1px solid var(--s4-rule);padding-bottom:20px;margin-bottom:27px}
 .editorial-v4 .article-aside__toc{display:none}
 .editorial-v4 .article-aside__rule{display:none}
 .editorial-v4 .article-aside>div:last-child{display:none}
 .editorial-v4 .article-aside .article-size{display:flex;align-items:center;justify-content:space-between}
 .editorial-v4 .article-body{font-size:var(--reader-size,17px);line-height:1.85}
 .editorial-v4 .article-fast-read{padding:22px}
 .editorial-v4 .article-fast-read p{font-size:17px}
 .v4-opening{margin:27px 0 36px;padding-left:19px}
 .v4-opening .v4-drop{font-size:18px;line-height:1.75}
 .v4-evidence{grid-template-columns:1fr;padding:22px;gap:21px;margin:40px 0 55px}
 .v4-evidence__mark{grid-column:auto}
 .editorial-v4 .article-section h2{font-size:29px}
 .v4-mobile-actions{display:flex;position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:70;justify-content:space-between;align-items:center;width:min(400px,calc(100% - 32px));min-height:54px;gap:9px;padding:7px 9px;border-radius:999px;border:1px solid #d7d5cf;box-shadow:0 10px 40px #18201b2c;background:rgba(255,255,251,.97);backdrop-filter:blur(18px)}
 .v4-mobile-actions a,.v4-mobile-actions button{font:750 12px Manrope,sans-serif;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 15px;border-radius:40px;color:#202022;background:transparent;border:0;cursor:pointer}
 .v4-mobile-actions button{background:#202022;color:#fff}
 .news-page .news-footer{padding-bottom:78px}
 .news-page .news-picks__heading h2{font-size:45px}
}
@media(max-width:390px){.news-page .news-shell{width:calc(100% - 30px)}.editorial-v4 .article-heading h1{font-size:clamp(33px,10.1vw,40px)}.news-page .news-sort-label select{font-size:11px}.news-page .news-search{min-width:0}}
