/* =========================================================
   News Engine — base stylesheet
   Layout options are body classes set from config.options:
   m-* masthead, mk-* logo mark, br-* brand type, nv-* menu bar,
   ld-* featured story, gr-* story grid, c-* columns, cd-* card,
   cs-* card style, th-* theme, ui-* small-text font.
   Colours and fonts come from CSS variables written by the build.
   ========================================================= */

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent-text)}
img,svg{display:block;max-width:100%}
button,input{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
h1,h2,h3{margin:0;font-family:var(--f-head);font-weight:700;text-wrap:balance}
p{margin:0}
.ne-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ne-skip{position:absolute;inset-inline-start:16px;top:-60px;z-index:10;background:var(--ink);color:var(--paper);padding:10px 16px;font-family:var(--f-ui);font-size:14px}
.ne-skip:focus{top:12px;color:var(--paper)}
.ne-wrap{width:min(1280px,calc(100% - 64px));margin-inline:auto}

/* ---------- top line ---------- */
.ne-topline{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);font:500 12px/1.4 var(--f-ui);color:var(--muted);letter-spacing:.02em}
.ne-topline-end{display:flex;gap:22px;align-items:center}
.ne-topline a{color:var(--ink);font-weight:700}

/* ---------- masthead ---------- */
.ne-masthead{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px 0 26px;position:relative}
.ne-brand{display:flex;align-items:center;gap:16px;min-width:0}
.ne-brand:hover{color:inherit}
.ne-name{display:block;font-family:var(--f-brand);font-size:clamp(28px,3.4vw,48px);font-weight:700;line-height:1.02;letter-spacing:-.022em}
.ne-brand small{display:block;margin-top:8px;font:400 13px/1.4 var(--f-ui);color:var(--muted);letter-spacing:0}
.ne-mark{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:58px;height:58px;background:var(--accent);color:var(--on-accent);font:700 20px/1 var(--f-brand);letter-spacing:-.02em;border-radius:50%}
.ne-mark-sm{width:40px;height:40px;font-size:14px}
.ne-edition{font:400 12px/1.35 var(--f-ui);text-align:end;color:var(--muted)}
.ne-edition b{display:block;color:var(--ink);font-size:14px}

.mk-square .ne-mark{border-radius:0}
.mk-rounded .ne-mark{border-radius:14px}
.mk-rounded .ne-mark-sm{border-radius:10px}
.mk-outline .ne-mark{background:transparent;color:var(--ink);border:2px solid var(--ink);border-radius:0}
.mk-tilt .ne-mark{background:var(--ink);color:var(--paper);border-radius:3px;transform:rotate(-6deg)}
.mk-bars .ne-mark{background:transparent;color:var(--accent-text);border-radius:0;border-block:3px solid var(--accent)}
.mk-leaf .ne-mark{border-radius:50% 0 50% 50%}
.mk-underline .ne-mark{background:transparent;color:var(--ink);border-radius:0;border-bottom:5px solid var(--accent);width:auto;min-width:58px;padding-inline:4px}

.br-sans .ne-name{font-weight:800;letter-spacing:-.03em}
.br-upper .ne-name{font-weight:900;text-transform:uppercase;letter-spacing:-.035em;font-stretch:90%}
.br-display .ne-name{font-weight:600;letter-spacing:-.03em;font-size:clamp(32px,4vw,56px)}
.br-mono .ne-name{font-weight:800;letter-spacing:-.06em}
.br-slab .ne-name{font-weight:700;letter-spacing:-.015em}

.m-center .ne-masthead{justify-content:center;text-align:center;padding-block:36px 30px}
.m-center .ne-brand{flex-direction:column;gap:12px}
.m-center .ne-edition{position:absolute;inset-inline-end:0;top:50%;transform:translateY(-50%)}

/* ---------- menu bar ---------- */
.ne-navwrap{display:flex;align-items:center;gap:24px;border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}
.ne-nav{display:flex;flex-wrap:wrap;gap:0 24px;flex:1;min-width:0}
.ne-nav::-webkit-scrollbar{display:none}
.ne-nav a{flex-shrink:0;padding:14px 0 12px;font:600 14px/1.2 var(--f-ui);white-space:nowrap;border-bottom:3px solid transparent}
.ne-nav a.is-active{color:var(--accent-text);border-bottom-color:var(--accent)}
.ne-search{display:flex;align-items:center;flex-shrink:0;border-bottom:1px solid var(--line)}
.ne-search input{width:170px;border:0;background:transparent;padding:8px 0;font:400 14px var(--f-ui);outline-offset:2px}
.ne-search input::placeholder{color:var(--muted);opacity:1}
.ne-search button{border:0;background:transparent;cursor:pointer;padding:6px 2px 6px 8px;font-size:16px}

.nv-filled .ne-navwrap{background:var(--accent);color:var(--on-accent);border:0;padding-inline:18px;border-radius:var(--radius)}
.nv-filled .ne-nav a:hover,.nv-filled .ne-nav a.is-active{color:var(--on-accent);border-bottom-color:var(--on-accent)}
.nv-filled .ne-search{border-bottom-color:currentColor}
.nv-filled .ne-search input::placeholder{color:inherit;opacity:.75}

.nv-dark .ne-navwrap{background:var(--ink);color:var(--paper);border:0;padding-inline:18px}
.nv-dark .ne-nav a:hover{color:var(--paper);opacity:.8}
.nv-dark .ne-nav a.is-active{color:var(--hl-on-ink);border-bottom-color:var(--hl-on-ink)}
.nv-dark .ne-search{border-bottom-color:currentColor}
.nv-dark .ne-search input::placeholder{color:inherit;opacity:.7}
.th-dark.nv-dark .ne-navwrap{background:var(--panel);color:var(--ink);border-top:3px solid var(--accent)}
.th-dark.nv-dark .ne-nav a:hover{color:var(--ink)}
.th-dark.nv-dark .ne-nav a.is-active{color:var(--hl-on-panel);border-bottom-color:var(--accent)}

.nv-pill .ne-navwrap{border:0;padding:10px 0}
.nv-pill .ne-nav{gap:8px}
.nv-pill .ne-nav a{padding:9px 16px;border:0;border-radius:999px;background:var(--tint)}
.nv-pill .ne-nav a.is-active{background:var(--accent);color:var(--on-accent)}
.nv-pill .ne-search{border:1px solid var(--line);border-radius:999px;padding-inline:14px 6px}

/* ---------- illustrations ---------- */
.ne-art{position:relative;overflow:hidden;aspect-ratio:16/10;background:var(--art-0);color:var(--art-ink);border-radius:var(--radius)}
.ne-art-1{background:var(--art-1)}.ne-art-2{background:var(--art-2)}.ne-art-3{background:var(--art-3)}
.ne-art svg{position:absolute;inset:0;width:100%;height:100%}
.ne-art-grid{position:absolute;inset:0;opacity:.09;background-image:linear-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px);background-size:28px 28px}
.ne-art-index{position:absolute;top:12px;inset-inline-start:14px;font:600 12px/1 var(--f-ui);letter-spacing:.04em;opacity:.8}
.ne-art-caption{position:absolute;bottom:11px;inset-inline:14px;display:flex;justify-content:space-between;align-items:baseline;gap:10px;font:600 12px/1.2 var(--f-ui)}
.ne-art-caption i{font:italic 700 15px/1 var(--f-head)}
.ne-art.has-photo{background:var(--line)}
.ne-art.has-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ne-art-lead{aspect-ratio:16/11}
.ne-art-wide{aspect-ratio:2.4}

/* ---------- featured story ---------- */
.ne-lead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:52px;align-items:center;padding:44px 0 38px}
.ld-art-left .ne-lead{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}
.ld-art-left .ne-lead-art{order:-1}
.ne-eyebrow{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:baseline;font:700 13px/1.3 var(--f-ui);color:var(--accent-text);letter-spacing:.01em}
.ne-eyebrow a:hover{text-decoration:underline}
.ne-slash{color:var(--muted);font-weight:400}
.ne-lead h1{margin:14px 0 18px;font-size:clamp(32px,3.7vw,56px);line-height:1.06;letter-spacing:-.018em}
.ne-lead h1 a:hover{color:inherit;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.ne-deck{font-family:var(--f-body);font-size:20px;line-height:1.5;color:var(--muted);max-width:58ch}
.ne-lead-meta{display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center;margin-top:24px;font:500 13px var(--f-ui);color:var(--muted)}
.ne-more{font:700 14px/1.2 var(--f-ui);color:var(--ink);border-bottom:2px solid var(--accent);padding-bottom:3px}
.ne-lead-art{display:block}

.ld-stacked .ne-lead{grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
.ld-stacked .ne-lead-art{order:-1}
.ld-stacked .ne-lead-art .ne-art{aspect-ratio:2.5}
.ld-stacked .ne-lead-copy{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:8px 48px;align-items:end}
.ld-stacked .ne-lead-copy .ne-eyebrow{grid-column:1/-1}
.ld-stacked .ne-lead h1{margin:0}
.ld-stacked .ne-lead-meta{grid-column:2}

.ld-hero .ne-lead{display:block;position:relative;padding:28px 0 36px}
.ld-hero .ne-lead-art .ne-art{aspect-ratio:2.3}
.ld-hero .ne-lead-copy{position:absolute;z-index:2;inset-inline-start:32px;bottom:64px;max-width:min(640px,60%);background:var(--paper);padding:28px 32px 26px;border-radius:var(--radius);box-shadow:0 18px 40px -20px rgba(0,0,0,.35)}
.ld-hero .ne-lead h1{font-size:clamp(28px,3vw,44px)}

/* ---------- brief strip ---------- */
.ne-brief{display:flex;gap:18px;align-items:baseline;padding:16px 0;border-block:1px solid var(--line);font:400 15px/1.5 var(--f-ui);color:var(--muted)}
.ne-brief b{flex-shrink:0;color:var(--accent-text);font-weight:700}

/* ---------- section titles ---------- */
.ne-section-title{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:44px 0 24px;padding-top:12px;border-top:2px solid var(--ink)}
.ne-section-title h1,.ne-section-title h2{font-size:28px;line-height:1.15;letter-spacing:-.012em}
.ne-section-title>span{font:500 13px var(--f-ui);color:var(--muted)}
.ne-section-title>span a{font-weight:700;color:var(--ink)}
.ne-cat-desc{margin:-8px 0 26px;font-size:18px;color:var(--muted);max-width:64ch}
.ne-empty{padding:40px 0;color:var(--muted);font-family:var(--f-ui)}

/* ---------- story grid & cards ---------- */
body{--cols:3}
.c-2{--cols:2}.c-3{--cols:3}.c-4{--cols:4}
.ne-grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:40px 30px}
.ne-card{display:flex;flex-direction:column;min-width:0}
.ne-card-art{display:block;margin-bottom:16px}
.ne-card-num,.ne-card-date{display:none}
.ne-card-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.ne-card h3{margin:8px 0 9px;font-size:21px;line-height:1.24;letter-spacing:-.01em}
.ne-card h3 a:hover{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.ne-card p{font-size:16px;line-height:1.55;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ne-meta{display:flex;flex-wrap:wrap;align-items:center;margin-top:12px;font:500 12.5px/1.4 var(--f-ui);color:var(--muted)}
.ne-meta-sep{width:4px;height:4px;margin-inline:9px;border-radius:50%;background:currentColor;opacity:.6}

.cd-side .ne-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;align-items:start}
.cd-side .ne-card-art{margin:0}
.cd-side .ne-card-art .ne-art{aspect-ratio:1}
.cd-side .ne-card-art .ne-art-caption{display:none}
.cd-side .ne-card h3{margin-top:4px}

.cs-border .ne-card{background:var(--panel);border:1px solid var(--line);padding:16px;border-radius:var(--radius)}
.cs-shadow .ne-card{background:var(--panel);border-radius:var(--radius);box-shadow:0 1px 2px rgba(0,0,0,.05),0 10px 26px -14px rgba(0,0,0,.22);overflow:hidden;padding-bottom:20px}
.cs-shadow .ne-card-art{margin-bottom:16px}
.cs-shadow .ne-card-art .ne-art{border-radius:0}
.cs-shadow .ne-card-copy{padding-inline:18px}
.cs-shadow.cd-side .ne-card{padding:16px}
.cs-shadow.cd-side .ne-card-copy{padding:0}
.cs-soft .ne-card{background:var(--tint);padding:14px 14px 20px;border-radius:var(--radius)}

.rules .ne-grid>.ne-card{border-top:1px solid var(--line);padding-top:20px}

/* feature: first story spans two columns, every fourth story drops its picture */
.gr-feature .ne-grid>.ne-card:first-child{grid-column:span 2;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:center}
.gr-feature .ne-grid>.ne-card:first-child .ne-card-art{margin:0}
.gr-feature .ne-grid>.ne-card:first-child h3{font-size:30px}
.gr-feature .ne-grid>.ne-card:nth-child(4n) .ne-card-art{display:none}
.gr-feature .ne-grid>.ne-card:nth-child(4n){border-top:4px solid var(--accent);padding-top:18px}
.gr-feature .ne-grid>.ne-card:nth-child(4n) h3{font-size:25px}

/* mosaic: one large story beside two small ones */
.gr-mosaic .ne-grid{grid-auto-flow:dense}
.gr-mosaic .ne-grid>.ne-card:nth-child(5n+1){grid-column:span 2;grid-row:span 2}
.gr-mosaic .ne-grid>.ne-card:nth-child(5n+1) .ne-art{aspect-ratio:16/9}
.gr-mosaic .ne-grid>.ne-card:nth-child(5n+1) h3{font-size:clamp(26px,2.4vw,34px);line-height:1.12}
.gr-mosaic .ne-grid>.ne-card:nth-child(5n+1) p{-webkit-line-clamp:5;font-size:17px}
.gr-mosaic.c-2 .ne-grid>.ne-card:nth-child(5n+1){grid-row:span 1}

/* zigzag: picture moves below the text on every other card */
.gr-zigzag .ne-grid>.ne-card:nth-child(even) .ne-card-art{order:2;margin:18px 0 0}

/* text only: big numbers instead of pictures */
.gr-text .ne-card-art{display:none}
.gr-text .ne-card-num{display:block;font:700 54px/1 var(--f-head);color:var(--accent-text);letter-spacing:-.04em;margin-bottom:6px}
.gr-text .ne-grid>.ne-card{border-top:3px solid var(--ink);padding-top:14px}
.gr-text .ne-card h3{font-size:23px}

/* wire: one line per story */
.gr-wire .ne-listing .ne-grid{grid-template-columns:minmax(0,1fr);gap:0}
.gr-wire .ne-listing .ne-card{display:grid;grid-template-columns:120px 170px minmax(0,1fr);gap:4px 20px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line);background:none;border-radius:0}
.gr-wire .ne-listing .ne-card-art,.gr-wire .ne-listing .ne-card p,.gr-wire .ne-listing .ne-meta,.gr-wire .ne-listing .ne-card-num{display:none}
.gr-wire .ne-listing .ne-card-copy{display:contents}
.gr-wire .ne-listing .ne-card-date{display:block;font:500 13px var(--f-ui);color:var(--muted)}
.gr-wire .ne-listing .ne-card h3{margin:0;font-size:18px;line-height:1.35}

/* timeline: stories grouped by day */
.ne-timeline{border-inline-start:2px solid var(--line);margin-inline-start:6px;padding-inline-start:30px}
.ne-day{position:relative;padding-bottom:40px}
.ne-day-label{position:relative;margin-bottom:20px;font:700 15px/1.3 var(--f-ui);color:var(--accent-text)}
.ne-day-label::before{content:"";position:absolute;inset-inline-start:-39px;top:3px;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--paper)}

/* sidebar */
.ne-with-side{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:52px;align-items:start}
.ne-side{position:sticky;top:20px;margin-top:44px;font-family:var(--f-ui);font-size:14px}
.ne-side section{margin-bottom:32px}
.ne-side h2{font:800 14px/1.2 var(--f-ui);padding-top:12px;border-top:2px solid var(--ink);margin-bottom:10px}
.ne-side ul,.ne-side ol{list-style:none;margin:0;padding:0}
.ne-side-cats li{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line)}
.ne-side-cats span{color:var(--muted)}
.ne-side-list{counter-reset:s}
.ne-side-list li{counter-increment:s;display:grid;grid-template-columns:26px 1fr;gap:2px 8px;padding:11px 0;border-bottom:1px solid var(--line)}
.ne-side-list li::before{content:counter(s);grid-row:span 2;font:700 15px var(--f-head);color:var(--accent-text)}
.ne-side-list a{font:600 15px/1.35 var(--f-head)}
.ne-side-list time{font-size:12px;color:var(--muted)}
.ne-side-rss{font-weight:700;border-bottom:2px solid var(--accent)}

/* pager */
.ne-pager{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:48px;padding-top:16px;border-top:1px solid var(--line);font:600 14px var(--f-ui)}
.ne-pager-now{color:var(--muted);font-weight:500}

/* ---------- breadcrumb ---------- */
.ne-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;padding-top:26px;font:500 13px var(--f-ui);color:var(--muted)}
.ne-breadcrumb a{color:var(--ink)}

/* ---------- article ---------- */
.ne-article{margin:24px 0 20px}
.ne-article-header{max-width:956px;margin-inline:auto}
.ne-article-header h1,.ne-article-header .ne-deck{max-width:880px}
.ne-art-no{font-weight:500;color:var(--muted)}
.ne-article h1{margin:16px 0 20px;font-size:clamp(34px,4.3vw,60px);line-height:1.08;letter-spacing:-.02em}
.ne-article .ne-deck{font-size:22px;max-width:none}
.ne-byline{display:flex;gap:14px;align-items:center;margin-top:26px;font:400 13px/1.5 var(--f-ui)}
.ne-byline b{display:block;font-size:14px}
.ne-byline small{display:block;color:var(--muted);font-size:13px}
.ne-article-figure{margin:36px 0 40px}
.ne-article-figure figcaption{margin-top:10px;font:400 12.5px var(--f-ui);color:var(--muted)}
.ne-article-layout{display:grid;grid-template-columns:200px minmax(0,700px);gap:56px;justify-content:center}
.ne-article-aside{position:sticky;top:24px;align-self:start;display:flex;flex-direction:column;gap:8px;padding-top:6px;font:400 14px/1.4 var(--f-ui)}
.ne-article-aside>b,.ne-share b,.ne-tags b{font-weight:800;padding-top:10px;border-top:2px solid var(--ink)}
.ne-article-aside>a{font-weight:700;color:var(--accent-text)}
.ne-tags,.ne-share{display:flex;flex-direction:column;gap:6px;margin-top:18px}
.ne-tags span{color:var(--muted)}
.ne-share a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}
.ne-article-body{font-size:19.5px;line-height:1.75}
.ne-article-body p{margin:0 0 1.15em}
.ne-article-body a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}
.ne-article-body h2{margin:1.6em 0 .6em;font-size:27px}
.ne-article-body blockquote{margin:1.4em 0;padding-inline-start:22px;border-inline-start:3px solid var(--accent);font-family:var(--f-head);font-size:23px;line-height:1.45}
.dropcap .ne-article-body>p:first-child::first-letter{float:inline-start;font:700 70px/.86 var(--f-head);padding:6px 10px 0 0;color:var(--accent-text)}
.ne-disclaimer{margin-top:32px!important;padding-top:16px;border-top:1px solid var(--line);font:400 13.5px/1.55 var(--f-ui);color:var(--muted)}
.ne-source-box{margin-top:22px;padding:20px 24px;background:var(--tint);border-inline-start:3px solid var(--accent);border-radius:var(--radius);font:400 14px/1.5 var(--f-ui)}
.ne-source-box span{color:var(--muted)}
.ne-source-box a,.ne-source-box b{display:block;margin:6px 0;font-size:17px;font-weight:700;color:var(--accent-text);text-decoration:none}
.ne-source-box p{margin:0;color:var(--muted);font-size:13px}
.ne-related{margin-top:48px}
.c-4 .ne-grid-related{--cols:3}

/* ---------- static pages ---------- */
.ne-page{max-width:760px;margin:30px auto 20px}
.ne-page h1{font-size:clamp(34px,4vw,50px);margin-bottom:24px;letter-spacing:-.02em}
.ne-page-body{font-size:19px;line-height:1.75}
.ne-page-body p{margin-bottom:1.1em}
.ne-page-body a{color:var(--accent-text);text-decoration:underline}
.ne-archive h2{margin:34px 0 8px;font-size:22px}
.ne-archive ul{list-style:none;margin:0;padding:0}
.ne-archive li{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:16px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--line)}
.ne-archive time,.ne-archive span{font:500 13px var(--f-ui);color:var(--muted)}
.ne-archive a{font:600 17px/1.35 var(--f-head)}

/* ---------- search & 404 ---------- */
.ne-search-page h1{margin:30px 0 20px;font-size:clamp(32px,4vw,48px)}
.ne-search-big{display:flex;gap:12px;max-width:720px;border-bottom:2px solid var(--ink)}
.ne-search-big input{flex:1;border:0;background:transparent;padding:12px 0;font-size:22px;font-family:var(--f-head)}
.ne-search-big button{border:0;background:var(--accent);color:var(--on-accent);padding:10px 20px;margin-bottom:8px;font:700 14px var(--f-ui);cursor:pointer;border-radius:var(--radius)}
.ne-search-status{margin:18px 0 30px;font:500 14px var(--f-ui);color:var(--muted)}
.ne-404{max-width:640px;margin:60px auto;text-align:center}
.ne-404-code{display:block;font:800 clamp(90px,16vw,170px)/1 var(--f-head);color:var(--accent-text);letter-spacing:-.05em}
.ne-404 h1{margin:12px 0;font-size:32px}
.ne-404 p{color:var(--muted);margin-bottom:26px}

/* ---------- footer ---------- */
.ne-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px 40px;align-items:center;margin-top:72px;padding:30px 0 46px;border-top:2px solid var(--ink)}
.ne-footer-brand{display:flex;gap:14px;align-items:center}
.ne-footer-brand .ne-mark{width:44px;height:44px;font-size:15px}
.ne-footer-brand b{display:block;font:700 20px var(--f-brand)}
.ne-footer-brand div span{display:block;font:400 13px var(--f-ui);color:var(--muted)}
.ne-footer-links{display:flex;flex-wrap:wrap;gap:8px 22px;font:600 14px var(--f-ui)}
.ne-footer-note{grid-column:1/-1;font:400 12.5px/1.6 var(--f-ui);color:var(--muted);max-width:90ch}

/* ---------- small-text font in mono ---------- */
.ui-mono .ne-eyebrow,.ui-mono .ne-meta,.ui-mono .ne-topline,.ui-mono .ne-art-index{letter-spacing:-.01em}

/* ---------- complex scripts: no tight tracking ---------- */
.script-complex h1,.script-complex h2,.script-complex h3,.script-complex .ne-name,.script-complex .ne-card-num{letter-spacing:0!important}
/* Devanagari, Bengali, Arabic, Thai... need room above and below the line for vowel signs */
.script-complex .ne-name{line-height:1.3!important}
.script-complex .ne-mark{line-height:1.25!important}
.script-complex .ne-lead h1,.script-complex .ne-article h1{line-height:1.45!important}
.script-complex .ne-section-title h1,.script-complex .ne-section-title h2,.script-complex .ne-page h1,.script-complex .ne-404 h1,.script-complex .ne-day-label{line-height:1.4!important}
.script-complex .ne-card h3{line-height:1.5!important}
.script-complex .ne-footer-brand b,.script-complex .ne-eyebrow{line-height:1.5!important}
.script-complex .ne-deck{line-height:1.65}
[data-script="arabic"] .ne-art-caption i{font-style:normal}

/* =========================================================
   Responsive. Selectors start with body[class] so they beat
   the option classes above at every breakpoint.
   ========================================================= */
@media (max-width:1100px){
  body[class].c-4 .ne-grid{--cols:3}
  body[class] .ne-with-side{grid-template-columns:minmax(0,1fr) 260px;gap:36px}
}
@media (max-width:960px){
  body[class] .ne-lead{grid-template-columns:minmax(0,1fr);gap:26px;padding-top:30px}
  body[class] .ne-lead-art{order:-1}
  body[class] .ne-lead-art .ne-art{aspect-ratio:16/9}
  body[class] .ne-lead-copy{display:block;position:static;max-width:none;padding:0;box-shadow:none;background:none}
  body[class] .ne-lead-meta{grid-column:auto}
  body[class] .ne-with-side{grid-template-columns:minmax(0,1fr)}
  body[class] .ne-side{position:static;margin-top:20px}
  body[class] .ne-article-layout{grid-template-columns:minmax(0,1fr);gap:28px}
  body[class] .ne-article-aside{position:static;order:2}
  body[class] .ne-search input{width:120px}
}
@media (max-width:760px){
  body[class] .ne-wrap{width:calc(100% - 32px)}
  body[class] .ne-grid{--cols:2;gap:32px 18px}
  body[class].gr-feature .ne-grid>.ne-card:first-child{display:flex;grid-column:span 2}
  body[class].gr-feature .ne-grid>.ne-card:first-child .ne-card-art{margin-bottom:16px}
  body[class].gr-mosaic .ne-grid>.ne-card:nth-child(5n+1){grid-row:span 1}
  body[class].cd-side .ne-grid{--cols:1}
  body[class].gr-wire .ne-listing .ne-card{grid-template-columns:auto minmax(0,1fr)}
  body[class].gr-wire .ne-listing .ne-card h3{grid-column:1/-1}
  body[class] .ne-masthead{padding:22px 0 18px}
  body[class].m-center .ne-edition{display:none}
  body[class] .ne-search{display:none}
  body[class] .ne-nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
  [dir=rtl] body[class] .ne-nav{-webkit-mask-image:linear-gradient(270deg,#000 85%,transparent);mask-image:linear-gradient(270deg,#000 85%,transparent)}
  body[class] .ne-card h3{font-size:19px}
  body[class] .ne-article-body{font-size:18px}
  body[class] .ne-deck{font-size:18px}
  body[class] .ne-archive li{grid-template-columns:minmax(0,1fr)}
  body[class] .ne-footer{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:520px){
  body[class] .ne-grid{--cols:1}
  body[class].gr-feature .ne-grid>.ne-card:first-child,body[class].gr-mosaic .ne-grid>.ne-card:nth-child(5n+1){grid-column:span 1}
  body[class].cd-side .ne-card{grid-template-columns:96px minmax(0,1fr);gap:14px}
  body[class].cd-side .ne-card p{display:none}
  body[class] .ne-topline{font-size:11px}
  body[class] .ne-topline>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body[class] .ne-topline time{display:none}
  body[class] .ne-mark{width:44px;height:44px;font-size:16px}
  body[class] .ne-name{font-size:27px}
  body[class] .ne-edition{display:none}
  body[class] .ne-brand small{font-size:12px}
  body[class] .ne-brief{flex-direction:column;gap:4px}
  body[class] .ne-timeline{padding-inline-start:20px}
  body[class] .ne-day-label::before{inset-inline-start:-29px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.ne-navwrap,.ne-topline,.ne-search,.ne-share,.ne-related,.ne-footer-links{display:none}body{background:#fff;color:#000}}

/* Classic: calm serif newspaper */
.preset-classic .ne-lead h1{font-weight:600}
.preset-classic .ne-section-title h2{font-style:italic;font-weight:600}

:root{--paper:#faf8f3;--panel:#ffffff;--ink:#15212a;--muted:#6c7376;--line:#d5d6d3;--accent-text:#285d83;--tint:#e3e7e7;--art-0:#dfe4e4;--art-1:#d0d9dd;--art-2:#e7eae9;--art-3:#c1ced5;--art-ink:#245171;--accent:#285d83;--on-accent:#ffffff;--hl:#285d83;--on-hl:#ffffff;--hl-on-ink:#658ba6;--hl-on-panel:#285d83;--f-head:Georgia, 'Times New Roman', serif;--f-body:Georgia, 'Times New Roman', serif;--f-ui:Verdana, Geneva, 'Segoe UI', sans-serif;--f-brand:Georgia, 'Times New Roman', serif;--f-mono:'Courier New', Courier, monospace;--radius:0px;}
