@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/source-serif-4-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/source-serif-4-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/source-serif-4-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}
:root{--paper:#F6F3EC;--ink:#16150F;--ink-soft:#55524A;--rule:#D9D3C5;--alert:#B3261E;--link:#16150F;
  --serif:"Source Serif 4",Georgia,serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#14130F;--ink:#ECE7DC;--ink-soft:#A9A397;--rule:#34322B;--alert:#FF7A6E;--link:#ECE7DC;color-scheme:dark}}
:root[data-theme="dark"]{--paper:#14130F;--ink:#ECE7DC;--ink-soft:#A9A397;--rule:#34322B;--alert:#FF7A6E;--link:#ECE7DC;color-scheme:dark}
:root{--band:#0F0F0C;--band-ink:#F6F3EC;--card:#FFFDF8}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--band:#000;--band-ink:#ECE7DC;--card:#1C1B16}}
:root[data-theme="dark"]{--band:#000;--band-ink:#ECE7DC;--card:#1C1B16}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.6 var(--serif);overflow-wrap:break-word}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
a{color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:text-decoration-thickness .12s}
a:hover{text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--alert);outline-offset:2px}
@media (prefers-reduced-motion:reduce){a{transition:none}}
.mono,.meta,.pager,.kicker,.plan-tag{font-family:var(--mono)}
.mono,.meta{overflow-wrap:anywhere}
.col-main{min-width:0}
.small{font-size:.8rem}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:8px 12px;z-index:2}
.skip:focus{left:8px;top:8px}
/* ticker band */
.ticker{background:var(--band);color:var(--band-ink);font:500 .72rem/1 var(--mono);letter-spacing:.08em}
.ticker-row{display:flex;align-items:center;gap:22px;min-height:34px;white-space:nowrap;overflow:hidden}
.tk-live{display:inline-flex;align-items:center;gap:8px;font-weight:500}
.dot{width:8px;height:8px;border-radius:50%;background:#E5483D;display:inline-block}
.tk-src{margin-left:auto}
.theme{font:500 .68rem var(--mono);background:transparent;color:var(--band-ink);border:1px solid #5E5A50;padding:5px 9px;cursor:pointer;text-transform:uppercase;letter-spacing:.08em}
.ticker .theme{margin-left:auto}.ticker .tk-src+.theme{margin-left:0}
/* masthead */
.mast{border-bottom:1px solid var(--ink)}
.mast-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding-top:26px;padding-bottom:18px}
.wordmark{display:block;font:700 2.9rem/1 var(--serif);letter-spacing:-.02em;text-decoration:none}
.wm-the{display:block;font:500 .74rem/1 var(--mono);letter-spacing:.3em;text-transform:uppercase;margin-bottom:8px;color:var(--alert)}
.tagline{margin:10px 0 0;color:var(--ink-soft);font-size:1rem;max-width:52ch}
.offer{display:grid;gap:2px;min-width:230px;padding:12px 16px;border:1px solid var(--ink);border-top:4px solid var(--alert);text-decoration:none;background:var(--card)}
.offer-k{font:500 .7rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.offer-p{font:700 1.5rem/1.2 var(--serif)}
.offer-or{font:400 .8rem var(--mono);color:var(--ink-soft)}
.offer-f{font:500 .76rem var(--mono);letter-spacing:.04em}
.offer:hover .offer-f{text-decoration:underline}
.nav{border-top:1px solid var(--rule);border-bottom:3px solid var(--ink)}
.nav ul{list-style:none;margin:0 auto;padding-top:0;padding-bottom:0;display:flex;flex-wrap:wrap;gap:0}
.nav li{flex:none}
.nav a{display:block;padding:12px 14px;font:500 .78rem var(--mono);text-transform:uppercase;letter-spacing:.1em;text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-3px}
.nav li:first-child a{padding-left:0}
.nav a[aria-current="page"]{border-bottom-color:var(--alert)}
.nav a:hover{text-decoration:underline;text-underline-offset:5px}
main.wrap{padding-top:28px;padding-bottom:56px}
.kicker{margin:0 0 14px;font-size:.72rem;letter-spacing:.06em;color:var(--ink-soft);text-transform:uppercase}
.hero{padding:6px 0 30px;margin-bottom:28px;border-bottom:1px solid var(--rule);display:grid;gap:28px;align-items:end}
.hero-text{display:grid;gap:10px}
@media (min-width:1000px){.hero{grid-template-columns:minmax(0,1fr) 330px;gap:56px}}
.tape{margin:0;padding:14px 18px 12px 26px;background:var(--card);border:1px solid var(--rule);font:400 .74rem/1.55 var(--mono);letter-spacing:.03em;position:relative;
  background-image:radial-gradient(circle at 9px 10px,var(--paper) 3.5px,transparent 4px);background-size:100% 20px;background-repeat:repeat-y}
.tape-head{margin:0;color:var(--alert);font-weight:500;letter-spacing:.1em}
.tape-line{margin:8px 0;display:grid;gap:1px}
.tape-no{color:var(--ink-soft)}
.tape-line a{text-decoration:none;font-weight:500}
.tape-line a:hover{text-decoration:underline}
.hero-h{font:700 clamp(2rem,4.4vw,3.4rem)/1.08 var(--serif);letter-spacing:-.02em;margin:0;max-width:20ch}
.hero-sub{margin:0;font-size:1.15rem;max-width:62ch;color:var(--ink-soft)}
h1{font:700 2rem/1.2 var(--serif);margin:0 0 10px}
.sec-h{font:700 1.9rem/1.15 var(--serif);letter-spacing:-.01em;margin:0 0 10px;padding-bottom:8px;border-bottom:2px solid var(--ink)}
h2{font:700 1.3rem/1.3 var(--serif);margin:28px 0 8px}
.sub{max-width:68ch;margin:0 0 14px}
.cols{display:grid;gap:40px}
@media (min-width:1000px){.cols{grid-template-columns:minmax(0,1fr) 330px;gap:56px}}
.col-rail{display:grid;gap:28px;align-content:start}
/* wire items: dateline column + story column */
.items{list-style:none;margin:8px 0;padding:0}
.item{padding:16px 0;border-bottom:1px solid var(--rule)}
@media (min-width:700px){.item{display:grid;grid-template-columns:150px minmax(0,1fr);column-gap:24px}.item>*{grid-column:2}.item>.meta{grid-column:1;grid-row:1 / span 4;margin-top:4px}}
.item.adv{box-shadow:inset 3px 0 0 var(--alert);padding-left:14px}
.item.new{background:linear-gradient(90deg,rgba(179,38,30,.06),transparent 60%)}
.meta{margin:0 0 4px;font-size:.7rem;line-height:1.6;letter-spacing:.06em;color:var(--ink-soft)}
.meta .cat{color:var(--ink-soft)}
.advisory,.tag-new{color:var(--alert);font-weight:500}
.watch{color:var(--ink);font-weight:500}
.title{font:600 1.22rem/1.28 var(--serif);margin:0 0 4px}
.title a{text-decoration:none}
.title a:hover{text-decoration:underline}
.ex{margin:0;color:var(--ink-soft);font-size:1rem;line-height:1.5}
.ex.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.todo{margin:6px 0 0}
.pager{display:flex;gap:16px;justify-content:space-between;align-items:center;font-size:.8rem;margin:20px 0}
/* rail */
.rail-h{font:500 .74rem var(--mono);text-transform:uppercase;letter-spacing:.14em;margin:0 0 10px;padding:6px 0;border-top:3px solid var(--ink);border-bottom:1px solid var(--rule)}
.rail-adv .rail-h{border-top-color:var(--alert);color:var(--alert)}
.mini{list-style:none;margin:0 0 8px;padding:0}
.mini li{display:grid;gap:2px;padding:8px 0;border-bottom:1px solid var(--rule);font:600 1rem/1.3 var(--serif)}
.mini a{text-decoration:none}.mini a:hover{text-decoration:underline}
.mini .mono{font-weight:400;color:var(--ink-soft);letter-spacing:.06em}
.desk-rail{list-style:none;margin:0;padding:0}
.desk-rail li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--rule);font-size:1rem}
.desk-rail a{text-decoration:none}.desk-rail a:hover{text-decoration:underline}
.desk-rail .mono{color:var(--ink-soft)}
.buy{background:var(--band);color:var(--band-ink);padding:22px 22px 20px;border-top:4px solid var(--alert)}
.buy a{color:var(--band-ink)}
.buy-k{margin:0;font:500 .7rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#E5A49E}
.buy-h{margin:6px 0 10px;font:700 1.3rem/1.25 var(--serif)}
.buy-p{margin:0 0 8px;font:400 .8rem/1.5 var(--mono)}
.buy-p .amt{font:700 2.2rem/1 var(--serif)}
.buy-or{display:block;margin-top:4px;color:#BDB6A8}
.buy-f{margin:0 0 14px;font-size:.92rem;line-height:1.45;color:#D9D3C5}
.buy .btn{background:var(--band-ink);color:var(--band)}
.buy-more{display:block;margin-top:10px;font:400 .76rem var(--mono)}
.rail-box{border-top:3px solid var(--ink)}
.rail-box .rail-h{border-top:0}
.steps{margin:0;padding-left:20px;font-size:1rem}
.steps li{margin:0 0 6px}
/* desks grid */
.desk-grid{list-style:none;padding:0;margin:8px 0 32px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0 32px}
.desk-grid li{display:grid;gap:2px;padding:14px 0;border-bottom:1px solid var(--rule)}
.dg-name{font:600 1.25rem/1.3 var(--serif);text-decoration:none}
.desk-grid .mono{color:var(--ink-soft)}
/* editions, search */
.weeks{list-style:none;padding:0;border-top:1px solid var(--rule);max-width:760px}
.weeks li{padding:10px 0;border-bottom:1px solid var(--rule)}
.summary{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:8px 0;margin:12px 0;max-width:820px}
.summary p{margin:4px 0}
.group{max-width:900px}
.group h2{font:500 .8rem var(--mono);letter-spacing:.1em;margin:28px 0 0;padding:6px 0;border-bottom:2px solid var(--ink)}
.search{max-width:760px}
.search label,.field label,legend{display:block;font:500 .76rem var(--mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.search .row{display:flex;gap:8px}
input[type=search],input[type=text],textarea{width:100%;min-width:0;font:1rem var(--serif);padding:10px;background:var(--card);color:var(--ink);border:1px solid var(--ink-soft);border-radius:0}
.search input{flex:1}
.search button,.btn{display:inline-block;font:500 .78rem var(--mono);text-transform:uppercase;letter-spacing:.1em;background:var(--ink);color:var(--paper);border:0;padding:12px 18px;cursor:pointer;text-decoration:none}
.btn:hover{text-decoration:underline}
.btn-line{display:inline-block;font:500 .78rem var(--mono);text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--ink);padding:11px 17px;text-decoration:none}
.btn-quiet{background:none;border:0;padding:0;color:var(--alert);font:400 .8rem var(--mono);text-decoration:underline;cursor:pointer}
/* forms */
.mw-form{display:grid;gap:18px;max-width:760px}
fieldset{border:0;margin:0;padding:0}
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 16px}
.checks label,.kind{display:flex;gap:8px;align-items:flex-start;font-size:1rem;line-height:1.4;padding:4px 0;text-transform:none;letter-spacing:0;font-family:var(--serif)}
.kind{padding:10px 12px;border:1px solid var(--rule);margin-bottom:6px;background:var(--card)}
.hint{font:400 .82rem/1.45 var(--serif);color:var(--ink-soft);margin:0 0 6px;text-transform:none;letter-spacing:0}
.col-rail .checks{grid-template-columns:1fr}
.mw-del{margin-top:16px}
.made{border:2px solid var(--ink);padding:14px 18px;margin:0 0 22px;background:var(--card)}
.made-new{border-color:var(--alert)}
.made p{margin:4px 0}
.made-h{font:700 1.15rem/1.3 var(--serif)}
.link-box{word-break:break-all;font-size:.85rem}
.err{border-left:4px solid var(--alert);padding:8px 12px;background:var(--card)}
.ok{font-family:var(--mono);font-size:.85rem}
.preview-note,.preview-band{margin:6px 0 0;font-size:.95rem;border-left:4px solid var(--alert);padding:8px 12px;background:var(--card)}
.preview-band{margin:0 0 20px;max-width:900px}
.plan-tag{color:var(--alert);letter-spacing:.1em;margin:0 0 6px}
.office-list{padding-left:0;list-style:none;border-top:1px solid var(--rule)}
.office-list li{padding:10px 0;border-bottom:1px solid var(--rule)}
/* plans */
.plans{display:grid;grid-template-columns:1fr;gap:20px;margin:16px 0 28px}
.plan{border:1px solid var(--rule);border-top:3px solid var(--ink);padding:16px 20px 20px;background:var(--card);display:flex;flex-direction:column}
.plan-main{border-top-color:var(--alert)}
.plan h2{margin:0 0 6px;font-size:1.35rem}
.plan ul{padding-left:20px;margin:0 0 16px;font-size:1rem;flex:1}
.price{margin:0 0 12px;font:400 .82rem/1.4 var(--mono);color:var(--ink-soft)}
.price .amt{font:700 2.2rem/1 var(--serif);color:var(--ink)}
.plan form{margin:8px 0 0}
@media (min-width:860px){.plans{grid-template-columns:repeat(3,1fr)}}
.notice{font-family:var(--mono);font-size:.85rem;border:1px solid var(--ink);padding:10px 12px}
.prose{max-width:68ch}
.empty{color:var(--ink-soft)}
/* footer */
.foot{background:var(--band);color:#BDB6A8;padding:30px 0 40px;font-size:.92rem}
.foot a{color:var(--band-ink)}
.foot-grid{display:grid;gap:22px}
@media (min-width:800px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr}}
.foot p{margin:4px 0}
.foot-wm{font:700 1.4rem var(--serif);color:var(--band-ink)}
.foot-h{font:500 .7rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#E5A49E;margin-top:10px!important}
.powered a{font-family:var(--mono);font-size:.8rem;letter-spacing:.06em}
@media (max-width:699px){.nav a{padding:10px 10px 10px 0;margin-right:6px}.nav li:first-child a{padding-left:0}.wrap{padding:0 16px}.mast-row{flex-direction:column;align-items:stretch;gap:16px;padding-top:18px}.wordmark{font-size:2.2rem}.tk-hide{display:none}.offer{min-width:0}.hero-sub{font-size:1.05rem}}
/* ---------- v1.2.0: AdEngine banner (adengine.us) ----------
   One labelled slot between the main content and the footer band, on the public list pages only (the controllers opt in).
   The label and the reserved height are on the <ins>, so when tag.js (or ae-size.js) hides a slot it cannot fill, the label,
   the reserved space and the space below go with it. 110px = 16px label + 4px gap + 90px banner; 270px on phones (300x250).
   main already ends with 56px of bottom padding on the paper, so the slot needs space only below it, before the dark
   footer band, kept on the <ins>. display stays in this file and is never !important: tag.js hides with style.display. */
.ae-slot{padding:0 20px}
.ae-slot ins.adengine{display:block;max-width:728px;min-height:110px;margin:0 auto 48px;text-align:center;text-decoration:none}
.ae-slot ins.adengine::before{content:"Advertisement";display:block;margin-bottom:4px;font:500 11px/16px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.ae-slot ins.adengine a{display:inline-block;vertical-align:top}
.ae-slot:has(> ins.adengine[style*="none"]){display:none}
@media (max-width:767px){.ae-slot{padding:0 16px}.ae-slot ins.adengine{max-width:300px;min-height:270px;margin-bottom:40px}}
@media print{.ae-slot{display:none}}
