:root{color-scheme:light;--paper:#f1efe8;--paper-alt:#e7e3d8;--ink:#101010;--muted:#626158;--rule:#a49f91;--signal:#ff4d24;--signal-text:#b73113;--green:#70c361;--green-ink:#0b3515;--ad:#e6e3da;--spine:#101010;--spine-ink:#f1efe8;--page:1360px;font-family:'IBM Plex Sans Condensed','Arial Narrow',Arial,sans-serif;font-synthesis:none;font-size:18px}
html[data-theme="dark"]{color-scheme:dark;--paper:#1b1b18;--paper-alt:#262622;--ink:#f1efe8;--muted:#b9b5a7;--rule:#656256;--signal-text:#ff7755;--ad:#242420;--spine:#080808;--spine-ink:#f1efe8}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}button{border-radius:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--signal-text);outline-offset:5px}button:disabled{cursor:default}::selection{background:var(--green);color:#101010}.page-width{width:min(calc(100% - 32px),var(--page));margin-inline:auto}.mono{font-family:'IBM Plex Mono',monospace;text-transform:uppercase;font-size:14px;letter-spacing:.035em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:12px;z-index:100;background:var(--ink);color:var(--paper);padding:12px 20px;transform:translateY(-150%)}.skip-link:focus{transform:none}#main-content:focus{outline:0}
.billboard-zone{background:var(--paper-alt);border-bottom:1px solid var(--rule);padding:12px 0}.ad-slot{position:relative;flex:none;background:var(--ad);outline:1px solid var(--rule);outline-offset:-1px;color:var(--muted);overflow:hidden}.ad-billboard{width:970px;height:250px;margin:auto}.ad-caption{position:absolute;inset:10px 14px auto;display:flex;justify-content:space-between;font:12px/1.4 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em}.ad-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.ad-placeholder>span{font:400 34px/1.1 'IBM Plex Mono',monospace;letter-spacing:-.07em}.ad-placeholder small{font:12px/1.4 'IBM Plex Mono',monospace;text-transform:uppercase}.ad-registration{position:absolute;bottom:8px;font:22px/1 monospace}.ad-registration.left{left:12px}.ad-registration.right{right:12px}.leader-zone{padding-block:24px 30px}.ad-leader{width:978px;height:150px;margin:auto}.ad-leader .ad-placeholder>span{font-size:28px}.ad-square{width:300px;height:250px}.ad-square .ad-placeholder{gap:8px}.ad-square .ad-placeholder>span{font-size:30px}.ad-square .ad-placeholder strong{font-size:21px;font-weight:500}.ad-square .ad-caption{font-size:11px}
.site-header{background:var(--paper)}.masthead{display:flex;align-items:center;min-height:94px;gap:28px}.brand{display:flex;gap:18px;align-items:center;flex-shrink:0}.brand>img{width:52px;height:60px;object-fit:contain}.brand>span{font-size:28px;font-weight:700;line-height:.85;letter-spacing:-.04em;text-transform:uppercase}.brand>span>span{padding-left:22px}.site-search{display:flex;align-items:center;margin-left:auto;flex:0 1 290px;border-bottom:1px solid var(--ink)}.site-search input{min-width:0;width:100%;border:0;color:var(--ink);background:transparent;font-size:17px;padding:10px 0}.site-search input::placeholder{color:var(--muted);opacity:1}.site-search button{border:0;background:transparent;padding:10px 2px 10px 12px;display:grid;place-items:center}.newsletter-link{font:13px/1.4 'IBM Plex Mono',monospace;text-transform:uppercase;max-width:184px;display:flex;gap:18px;align-items:center}.newsletter-link span{color:var(--signal-text);font-size:24px}.theme-toggle{width:54px;height:54px;border:1px solid var(--ink);background:transparent;font-size:27px}.category-nav{border-block:1px solid var(--ink)}.category-nav>.page-width{display:flex;align-items:stretch;justify-content:space-between;gap:20px}.category-nav a{position:relative;min-height:52px;display:flex;align-items:center;gap:8px;font:14px/1.25 'IBM Plex Mono',monospace;text-transform:uppercase;white-space:nowrap}.category-nav a[aria-current="page"]::after,.category-nav a:hover::after{content:'';position:absolute;bottom:0;height:4px;left:0;right:0;background:var(--signal)}.green-dot{width:8px;height:8px;background:var(--green);border-radius:100%;box-shadow:0 0 0 3px #70c36130}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start}.editorial-column{min-width:0}.page-heading{padding:2px 0 26px}.page-heading h1{font-size:clamp(76px,7.6vw,112px);font-weight:700;line-height:.76;letter-spacing:-.065em;text-transform:uppercase;margin-bottom:24px}.page-heading h1 span{display:block}.page-heading h1 span:last-child{padding-left:.38em}.page-heading .dispatch-footer{border-top:1px solid var(--rule);padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font:12px/1.5 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.03em}.dispatch-footer .plus{color:var(--signal-text);font-size:24px;line-height:1}.category-heading .eyebrow,.eyebrow{display:block;font:14px/1.4 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.04em;color:var(--signal-text);margin-bottom:18px}.category-heading h1{font-size:clamp(62px,6.3vw,94px);line-height:.9;overflow-wrap:anywhere;letter-spacing:-.055em;margin-bottom:18px}.category-heading p{max-width:44ch;font-size:23px;line-height:1.3;color:var(--muted)}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--ink);padding:12px 0;font:13px/1.4 'IBM Plex Mono',monospace;text-transform:uppercase}.sort-field{display:flex;align-items:center;gap:10px}.sort-field select{border:0;border-bottom:1px solid var(--rule);padding:4px 22px 4px 4px;max-width:180px;background:var(--paper);color:var(--ink);font:13px 'IBM Plex Mono',monospace}.deadline-index{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}.competition-row{display:grid;grid-template-columns:166px minmax(0,1fr) 88px;position:relative;min-height:242px;border-bottom:1px solid var(--ink)}.entry-image{align-self:stretch;border-right:1px solid var(--ink);overflow:hidden;background:var(--paper-alt)}.entry-image img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1.45;transition:transform .25s ease}.entry-copy{padding:20px 22px 16px;display:flex;flex-direction:column;min-width:0}.entry-meta{min-height:24px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.entry-category{font:12px/1.4 'IBM Plex Mono',monospace;text-transform:uppercase;color:var(--muted)}.entry-flags,.article-flags{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.free-tag{display:inline-block;flex:none;background:var(--green);color:var(--green-ink);padding:5px 9px 5px 16px;clip-path:polygon(8px 0,100% 0,100% 100%,8px 100%,0 50%);font:600 12px/1.25 'IBM Plex Mono',monospace;text-transform:uppercase}.featured-tag{display:inline-block;flex:none;background:var(--signal);color:#101010;padding:5px 9px;font:600 12px/1.25 'IBM Plex Mono',monospace;text-transform:uppercase}.entry-copy h2{font-size:clamp(28px,2.5vw,38px);font-weight:500;line-height:1.02;letter-spacing:-.035em;margin:9px 0}.entry-copy p{font-size:17px;line-height:1.35;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:17px}.row-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--rule);padding-top:9px;margin-top:auto;font:12px/1.3 'IBM Plex Mono',monospace;text-transform:uppercase}.row-bottom .arrow{font-size:22px;line-height:.9;color:var(--signal-text)}.status-soon{color:var(--signal-text);font-weight:600}.date-spine{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--spine);color:var(--spine-ink);font:14px/1.3 'IBM Plex Mono',monospace;text-transform:uppercase;position:relative}.date-spine .date-key{position:absolute;top:13px;font-size:10px;letter-spacing:.02em;color:#d0ccc1}.date-spine strong{font-size:43px;font-weight:500;letter-spacing:-.08em;line-height:1}.date-spine .month{font-size:17px;font-weight:500;color:var(--signal);letter-spacing:.07em;margin-top:7px}.date-spine .year{font-size:13px;color:#b8b4aa;margin-top:17px}.date-spine .news-mark{font-size:28px;letter-spacing:0}.competition-row:hover h2 a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.competition-row:hover .entry-image img{transform:scale(1.03)}.pagination{display:flex;justify-content:space-between;align-items:center;padding:22px 0 42px;font:14px 'IBM Plex Mono',monospace;text-transform:uppercase}.pagination button{border:1px solid var(--ink);background:transparent;padding:12px 18px;min-height:46px}.pagination button:disabled{opacity:.35}.empty-state{padding:50px 24px;border-block:1px solid var(--ink);font-size:23px}.empty-state a{text-decoration:underline}
.ad-rail{padding-top:0}.rail-label{font:12px/1.4 'IBM Plex Mono',monospace;text-transform:uppercase;display:flex;justify-content:space-between;gap:8px;padding:0 0 11px;color:var(--muted);border-bottom:1px solid var(--ink);margin-bottom:14px}.ad-group{margin-bottom:22px}.ad-group .ad-caption{border:0}.rail-bottom{margin-top:28px;border-top:1px solid var(--ink);padding-top:20px}.rail-bottom h2{font-size:35px;font-weight:600;line-height:.95;letter-spacing:-.04em;text-transform:uppercase;margin-bottom:15px}.rail-bottom p{font-size:18px;line-height:1.4;color:var(--muted);margin-bottom:18px}.rail-bottom>a{display:flex;justify-content:space-between;border-top:1px solid var(--rule);padding:12px 0;font:13px/1.4 'IBM Plex Mono',monospace;text-transform:uppercase}.rail-bottom>a:last-child{border-bottom:1px solid var(--rule)}.rail-bottom>a span{color:var(--signal-text)}
.breadcrumbs{display:flex;gap:10px;align-items:center;font:13px/1.5 'IBM Plex Mono',monospace;text-transform:uppercase;margin:0 0 20px}.breadcrumbs span{color:var(--signal-text)}.article-hero{display:grid;grid-template-columns:32% minmax(0,1fr) 80px;border-block:1px solid var(--ink);min-height:375px}.article-poster-link{position:relative;display:block;align-self:stretch;overflow:hidden;background:var(--paper-alt)}.article-poster-link:focus-visible{outline-offset:-6px}.article-poster{width:100%;height:100%;object-fit:cover;background:var(--paper-alt);border-right:1px solid var(--ink)}.article-heading{display:flex;flex-direction:column;align-items:flex-start;padding:25px 24px;min-width:0}.article-heading .entry-category{font-size:13px}.article-heading h1{font-size:clamp(38px,3.9vw,58px);line-height:.92;font-weight:600;letter-spacing:-.05em;text-transform:uppercase;margin:24px 0;overflow-wrap:break-word}.article-flags{margin-top:auto}.article-heading .free-tag,.article-heading .featured-tag{margin:0;font-size:13px}.article-heading .article-status{margin-top:auto;font:13px/1.4 'IBM Plex Mono',monospace;text-transform:uppercase}.article-deadline{justify-content:flex-start;padding:18px 0}.article-deadline .date-key{position:static;display:block;font-size:10px;padding-bottom:10px;border-bottom:1px solid #777267;width:calc(100% - 16px);text-align:center}.article-date{writing-mode:vertical-rl;margin-top:27px;white-space:nowrap;display:flex;gap:15px;align-items:baseline}.article-date strong{font-size:37px}.article-date .month{font-size:31px;margin:0;letter-spacing:-.03em}.days-remaining,.reading-time{margin-top:auto;padding-top:12px;border-top:1px solid #777267;width:calc(100% - 16px);display:flex;align-items:center;flex-direction:column;text-align:center;gap:5px}.days-remaining b,.reading-time b{font-size:24px;color:var(--signal);line-height:1}.days-remaining span,.reading-time span{font-size:10px;line-height:1.4}.closed-note{display:flex;align-items:baseline;gap:20px;border-bottom:1px solid var(--ink);padding:17px 20px;background:var(--paper-alt);font-size:18px}.closed-note strong{font:600 13px 'IBM Plex Mono',monospace;text-transform:uppercase;color:var(--signal-text)}.article-reading{display:grid;grid-template-columns:112px minmax(0,1fr);gap:24px;padding-top:38px}.reading-rail{font:12px/1.5 'IBM Plex Mono',monospace;text-transform:uppercase;color:var(--muted);padding-top:8px}.reading-rail a{display:block;border-bottom:1px solid var(--rule);padding:12px 0;color:var(--ink)}.article-body{max-width:70ch;font-size:20px;line-height:1.6}.article-body p{margin-bottom:1.25em}.article-body p:first-child{font-size:25px;line-height:1.38;letter-spacing:-.015em}.article-body h2,.article-body h3,.article-body h4{border-top:1px solid var(--ink);padding-top:25px;margin:30px 0 13px;font-size:33px;line-height:1.1;font-weight:600;text-transform:uppercase;letter-spacing:-.035em}.article-body a{text-decoration:underline;text-underline-offset:3px;color:var(--signal-text)}.article-body ul,.article-body ol{padding-left:1.2em}.article-actions{display:flex;gap:14px;grid-column:2;padding:8px 0 36px}.official-link,.share-button{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:14px 20px;border:1px solid var(--ink);font:13px/1.4 'IBM Plex Mono',monospace;text-transform:uppercase;background:transparent}.official-link{flex:1;background:var(--ink);color:var(--paper)}.official-link span{font-size:23px;color:var(--signal)}.share-button{min-width:120px}.related{padding-block:25px 42px;border-top:1px solid var(--ink)}.related h2{font-size:36px;font-weight:600;line-height:1.05;text-transform:uppercase;letter-spacing:-.04em;margin-bottom:22px}.related-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.related-item{border-top:1px solid var(--rule);padding-top:14px;display:grid;grid-template-columns:minmax(0,1fr) 60px;gap:16px;align-items:start}.related-item h3{font-size:24px;line-height:1.08;font-weight:500;letter-spacing:-.02em}.related-item time{font:12px/1.4 'IBM Plex Mono',monospace;text-transform:uppercase;text-align:right;color:var(--signal-text)}.related-item:hover h3{text-decoration:underline;text-underline-offset:4px}
.site-footer{margin-top:46px;background:var(--ink);color:var(--paper)}.newsletter-band{background:var(--signal);color:#111;border-block:1px solid #111;padding:34px 0}.newsletter-band>.page-width{display:grid;grid-template-columns:180px minmax(0,1fr) 300px;gap:32px;align-items:start}.newsletter-band .mono{font-size:12px;padding-top:5px}.newsletter-band h2{font-size:52px;line-height:.9;font-weight:600;letter-spacing:-.05em;text-transform:uppercase}.newsletter-band h2 span{padding-left:.35em}.newsletter-band p{font-size:20px;line-height:1.3}.newsletter-band a{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #111;padding-top:14px;margin-top:21px;font:12px/1.4 'IBM Plex Mono',monospace;text-transform:uppercase}.footer-body{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:38px;padding-block:47px}.footer-brand{align-self:start}.footer-brand>span{font-size:24px}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer-links h2{font:12px/1.4 'IBM Plex Mono',monospace;text-transform:uppercase;color:color-mix(in srgb,var(--paper) 70%,transparent);margin-bottom:9px}.footer-links a{font-size:18px;line-height:1.4}.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}.award-note{border-left:1px solid var(--rule);padding-left:25px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}.award-note img{width:70px;height:70px;object-fit:contain}.award-note p{font-size:17px;line-height:1.4;max-width:28ch;color:color-mix(in srgb,var(--paper) 82%,transparent)}.footer-bottom{padding-block:22px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}.footer-bottom>.mono{font-size:12px}.social-links{display:flex;gap:15px;flex-wrap:wrap;font-size:14px}.preview-note{display:flex;flex-wrap:wrap;gap:14px;padding-block:12px 22px;font:11px/1.5 'IBM Plex Mono',monospace;color:color-mix(in srgb,var(--paper) 70%,transparent)}.preview-note>span{margin-right:auto}
@media(min-width:1320px){.competition-row{grid-template-columns:200px minmax(0,1fr) 88px}.entry-copy{padding:22px 26px 17px}.entry-copy h2{font-size:38px}.entry-copy p{font-size:18px}.entry-image img{aspect-ratio:1/1.15}}
@media(max-width:1150px){.masthead{gap:22px}.brand>span{font-size:25px}.brand{gap:13px}.site-search{flex-basis:240px}.newsletter-link{max-width:145px;font-size:12px}.category-nav>.page-width{gap:14px}.category-nav a{font-size:12px}.content-grid{gap:24px}.competition-row{grid-template-columns:128px minmax(0,1fr) 80px;min-height:235px}.entry-copy{padding:17px 17px 15px}.entry-copy p{font-size:16px}.entry-category{font-size:11px}.entry-copy h2{font-size:29px}.article-hero{grid-template-columns:30% minmax(0,1fr) 74px}.article-heading{padding:22px 18px}.article-heading h1{font-size:39px}.article-reading{grid-template-columns:1fr;gap:0}.reading-rail{display:flex;gap:25px;align-items:center;margin-bottom:20px;padding:0}.reading-rail a{padding:3px 0}.article-actions{grid-column:1}.newsletter-band>.page-width{grid-template-columns:130px minmax(0,1fr) 300px;gap:25px}.newsletter-band h2{font-size:45px}.footer-body{gap:25px}.footer-brand{gap:10px}.footer-brand>span{font-size:20px}}
@media(max-width:1000px){.ad-billboard,.ad-leader{max-width:100%}.content-grid{grid-template-columns:minmax(0,1fr) 300px;gap:20px}.site-search{display:none}.newsletter-link{margin-left:auto}.category-nav>.page-width{flex-wrap:wrap;justify-content:flex-start;gap:0 24px}.category-nav a{min-height:44px;font-size:13px}.competition-row{grid-template-columns:92px minmax(0,1fr) 74px}.entry-copy h2{font-size:27px}.entry-copy p{display:none}.page-heading h1{font-size:68px}.dispatch-footer .plus{display:none}.dispatch-footer>span:last-child{display:none}.article-hero{grid-template-columns:minmax(0,1fr) 74px}.article-poster,.article-poster-link{grid-column:1;grid-row:2;aspect-ratio:1;object-fit:contain;max-height:400px;border-top:1px solid var(--ink)}.article-poster-link .article-poster{grid-column:auto;grid-row:auto;max-height:none;border-top:0;aspect-ratio:auto}.article-heading{grid-column:1;grid-row:1}.article-deadline{grid-column:2;grid-row:1/span 2}.footer-body{grid-template-columns:repeat(2,minmax(0,1fr))}.newsletter-band>.page-width{grid-template-columns:1fr 1fr}.newsletter-band .mono{grid-column:1/-1}}
@media(max-width:740px){.content-grid{grid-template-columns:1fr}.ad-rail{display:grid;grid-template-columns:1fr;justify-items:center;gap:5px}.ad-rail>div{width:300px}.masthead{min-height:82px;gap:14px}.brand>img{width:38px;height:48px}.brand>span{font-size:22px}.newsletter-link{display:none}.theme-toggle{margin-left:auto;width:45px;height:45px}.competition-row{grid-template-columns:84px minmax(0,1fr) 76px}.page-heading h1{font-size:74px}.newsletter-band>.page-width{grid-template-columns:1fr}.newsletter-band h2{font-size:49px}.newsletter-band .mono{grid-column:auto}.related-list{grid-template-columns:1fr}.article-body{font-size:19px}.article-body p:first-child{font-size:23px}.article-actions{flex-wrap:wrap}.footer-body{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.award-note{grid-column:1/-1;border-left:0;border-top:1px solid var(--rule);padding:20px 0 0}.ad-placeholder>span{font-size:28px}.entry-copy h2{font-size:26px}.entry-meta{gap:6px}.entry-copy{padding:14px 12px}.entry-category{font-size:11px}.free-tag,.featured-tag{font-size:10px}.list-toolbar{font-size:11px}.sort-field{gap:4px}.sort-field select{font-size:11px;max-width:160px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.article-poster{object-fit:contain}
.reading-rail{flex-wrap:wrap}
.copy-button,.share-button{min-width:124px}.copy-button{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:14px 20px;border:1px solid var(--ink);background:transparent;color:var(--ink);font:13px/1.4 'IBM Plex Mono',monospace;text-transform:uppercase}.copy-button:hover,.share-button:hover{background:var(--paper-alt)}.copy-button span,.share-button span{font-size:18px;color:var(--signal-text)}.share-control{position:relative;display:flex}.share-control>.share-button{height:100%;width:100%}.share-popover[hidden]{display:none}.share-popover{position:absolute;right:0;bottom:calc(100% + 9px);z-index:12;width:210px;border:1px solid var(--ink);background:var(--paper);color:var(--ink)}.share-popover a,.share-popover button{width:100%;min-height:47px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:0;border-bottom:1px solid var(--rule);padding:11px 13px;background:var(--paper);color:var(--ink);font:13px/1.35 'IBM Plex Mono',monospace;text-align:left;text-transform:uppercase}.share-popover>*:last-child{border-bottom:0}.share-popover a:hover,.share-popover button:hover,.share-popover a:focus-visible,.share-popover button:focus-visible{background:var(--paper-alt);text-decoration:none}.share-popover span{color:var(--signal-text);font-size:18px}.share-popover::after{content:'';position:absolute;right:20px;top:100%;width:12px;height:12px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--paper);transform:translateY(-6px) rotate(45deg)}
@media(max-width:740px){.official-link{flex-basis:100%}.copy-button,.share-control{flex:1}.share-control>.share-button{min-width:0}}
.site-header{position:sticky;top:0;z-index:20}
html{scroll-padding-top:165px}
/* Readable desktop metadata; preserve the mobile design's hierarchy, not its small type. */
@media(min-width:1001px){
  .entry-category,.row-bottom,.free-tag,.featured-tag,.list-toolbar,.sort-field select,.breadcrumbs,.reading-rail{font-size:13px}
  .date-spine .date-key{font-size:12px}.date-spine .year{font-size:14px}.days-remaining span,.reading-time span{font-size:12px}
  .page-heading .dispatch-footer{font-size:13px}.category-nav a{font-size:13px}
  .latest-heading h1{white-space:nowrap}
  .article-hero{--hero-size:clamp(240px,22vw,310px);grid-template-columns:var(--hero-size) minmax(0,1fr) 66px;min-height:0;height:calc(var(--hero-size) + 2px)}
  .article-poster-link{width:var(--hero-size);height:var(--hero-size)}
  .article-poster{width:var(--hero-size);height:var(--hero-size);object-fit:contain;border-right:0;aspect-ratio:1}
  .article-poster-link .article-poster{width:100%;height:100%}
  .article-heading{padding:16px 18px;border-left:1px solid var(--ink)}
  .article-heading h1{max-width:none;font-size:clamp(34px,calc(5vw - 17px),52px);line-height:.94;margin:10px 0;overflow-wrap:normal;text-wrap:balance}
  .article-heading .entry-category{font-size:13px}
  .article-deadline{padding:12px 0}.article-deadline .date-key{font-size:10px}
  .article-date{margin-top:14px;gap:10px}.article-date strong{font-size:26px}.article-date .month{font-size:23px}
  .article-deadline .year{font-size:12px;margin-top:7px}
  .days-remaining,.reading-time{padding-top:8px;gap:4px}.days-remaining b,.reading-time b{font-size:22px}.days-remaining span,.reading-time span{line-height:1.25}
}
/* Single, native interaction targets cover each row and the newsletter band. */
.competition-row{isolation:isolate}
.competition-row time.date-spine>strong{font-size:40px}
.competition-link::after{content:'';position:absolute;inset:0;z-index:2}
.competition-link:focus-visible{outline:none}
.competition-link:focus-visible::after{outline:3px solid var(--signal-text);outline-offset:2px}
.competition-row:focus-within h2 a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.breadcrumbs{margin-bottom:8.5px}
.footer-brand>span{font-weight:600}
.newsletter-band{position:relative;isolation:isolate;cursor:pointer}
.newsletter-cta{appearance:none;display:flex;justify-content:space-between;gap:12px;width:100%;background:transparent;color:inherit;border:0;border-top:1px solid #111;padding:14px 0 0;margin:21px 0 0;text-align:left;font:12px/1.4 'IBM Plex Mono',monospace;text-transform:uppercase}
.newsletter-cta::after{content:'';position:absolute;inset:0;z-index:1}
.newsletter-cta:focus-visible{outline:none}
.newsletter-cta:focus-visible::after{outline:3px solid #111;outline-offset:-7px}
.newsletter-band:hover .newsletter-cta{text-decoration:underline;text-underline-offset:4px}
.newsletter-feedback{position:fixed;right:16px;bottom:16px;z-index:10000;max-width:min(430px,calc(100% - 32px));padding:18px 22px;background:var(--ink);color:var(--paper);border:1px solid var(--paper);font-size:18px}
/* In-article galleries: uncropped colour artwork, quiet rules, no autoplay. */
.article-carousel{min-width:0;margin:34px 0 30px;border-block:1px solid var(--ink)}
.carousel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}
.carousel-label,.carousel-counter{font:14px/1.4 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.025em}
.carousel-label{color:var(--signal-text)}
.carousel-controls{display:flex;align-items:center;gap:8px}
.carousel-controls[hidden]{display:none}
.carousel-counter{margin-right:12px;white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}
.carousel-counter b{font-weight:500;color:var(--ink)}
.carousel-controls button{display:grid;place-items:center;width:48px;height:44px;padding:0;border:1px solid var(--ink);background:transparent;color:var(--signal-text);font:26px/1 'IBM Plex Mono',monospace}
.carousel-controls button:hover{background:var(--ink);color:var(--paper)}
.carousel-controls button:active{background:var(--signal);color:#101010}
.carousel-slides{touch-action:pan-y pinch-zoom}
.carousel-slide{margin:0}
.carousel-slide[hidden]{display:none}
.carousel-image-frame{position:relative;display:grid;place-items:center;aspect-ratio:3/2;overflow:hidden;background:var(--paper-alt)}
.carousel-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:none}
.carousel-image[hidden]{display:none}
.carousel-image-status{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:90%;padding:20px;text-align:center;font-size:18px;line-height:1.4;color:var(--muted)}
.carousel-image-status[hidden]{display:none}
.carousel-image-status a{font-size:16px}
.carousel-recovery{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px}
.carousel-recovery[hidden]{display:none}
.carousel-recovery button{min-height:44px;padding:8px 14px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);font-size:16px}
.carousel-recovery button[aria-disabled="true"]{cursor:progress}
.article-carousel:focus-visible{outline:3px solid var(--signal-text);outline-offset:5px}
.carousel-caption{min-height:calc(3 * 0.9em + 32px);padding:16px 0;font-size:19px;line-height:1.4;color:var(--ink);overflow-wrap:anywhere}
@media(max-width:500px){.carousel-toolbar{gap:8px}.carousel-label,.carousel-counter{font-size:12px}.carousel-counter{margin-right:4px}.carousel-controls{gap:6px}.carousel-controls button{width:44px}.carousel-caption{font-size:18px}}
@media print{.carousel-toolbar,.carousel-image-status{display:none}.carousel-image-frame{break-inside:avoid}.carousel-caption{min-height:0}}
@media print{.billboard-zone,.site-header,.leader-zone,.ad-rail,.site-footer,.article-actions,.breadcrumbs,.related,.reading-rail,.newsletter-feedback{display:none}.content-grid,.article-reading{display:block}.page-width{width:100%}.article-hero{min-height:0;grid-template-columns:25% 1fr 65px}.article-heading h1{font-size:30px}.article-body{font-size:12pt}body{background:white;color:black}}

/* Server-rendered production equivalents of the approved preview components. */
.newsletter-link{appearance:none;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.ad-slot>a{display:block;width:100%;height:100%}.ad-slot>a img,.ad-slot>img{width:100%;height:100%;object-fit:contain}
.listing-main,.article-main{min-width:0}
.pagination .pagination-button{display:flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border:1px solid var(--ink);background:transparent;text-decoration:none}
.pagination .pagination-button:last-child{text-align:right}.pagination .is-disabled{opacity:.35}
.entry-copy p:empty{visibility:hidden}
.toast{position:fixed;right:16px;bottom:16px;z-index:10000;max-width:min(430px,calc(100% - 32px));padding:18px 22px;background:var(--ink);color:var(--paper);border:1px solid var(--paper);font-size:18px}
.toast[hidden]{display:none}
.share-popover[hidden],.carousel-image-status[hidden]{display:none}
.article-date+.year{font-variant-numeric:tabular-nums}
@media(max-width:740px){.pagination .pagination-button{padding:10px 12px;font-size:12px}.pagination{font-size:12px}}
