/* Brownian Business Daily: a fictional business and markets paper on Molecupedia. */
@font-face{font-family:"BBD Charter";src:url(fonts/charter-regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"BBD Charter";src:url(fonts/charter-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"BBD Charter";src:url(fonts/charter-bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"BBD Charter";src:url(fonts/charter-bolditalic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}
:root{
  --paper:#f6e3d3;--paper-2:#efd3be;--card:#fbefe6;--ink:#1f1712;--text:#2a201a;--muted:#6b574b;
  --rule:#d4b29b;--copper:#9c3d13;--green:#19703a;--red:#a8261c;
  --serif:"BBD Charter",Charter,"Bitstream Charter","Sitka Text",Cambria,Georgia,serif;
  --sans:"Helvetica Neue",Helvetica,Arial,"Liberation Sans",sans-serif;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);font:400 18px/1.5 var(--serif);overflow-x:hidden;font-variant-numeric:lining-nums tabular-nums}
a{color:inherit}
img{max-width:100%;height:auto}
.wrap{max-width:1260px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:8px 12px;z-index:10;font-family:var(--sans)}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--copper);outline-offset:2px}

/* ---------- Top bar and masthead ---------- */
.topbar{background:var(--ink);color:#e8cdb8;font:500 12px/1 var(--sans);letter-spacing:.03em}
.topbar-row{display:flex;justify-content:space-between;align-items:center;height:32px}
.topbar nav{display:flex;gap:18px}
.topbar a{text-decoration:none;color:#f4e2d4}
.topbar .sub-link{color:#ffb98f;font-weight:700}
.masthead{text-align:center}
.mast-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:20px 24px 4px}
.ear{font:700 10.5px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border:1px solid var(--rule);padding:7px 10px;justify-self:start}
.ear-r{justify-self:end}
.nameplate{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--ink)}
.np-word{font:italic 700 clamp(44px,6vw,70px)/.95 var(--serif);letter-spacing:-.012em}
.np-walk{width:100%;height:16px;margin:2px 0 6px;overflow:visible}
.np-walk path{fill:none;stroke:var(--copper);stroke-width:1.6;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.np-sub{font:700 12.5px/1 var(--sans);letter-spacing:.52em;text-transform:uppercase;margin-right:-.52em}
.motto{font:italic 400 15px/1.3 var(--serif);color:var(--muted);margin:10px 0 14px}
.navbar{border-top:2px solid var(--ink);border-bottom:1px solid var(--ink)}
.nav-row{display:flex;justify-content:center;gap:2px 22px;flex-wrap:wrap;padding-top:9px;padding-bottom:9px}
.nav-row a{font:700 13.5px/1.3 var(--sans);text-decoration:none;color:var(--ink);padding:2px 0;border-bottom:2px solid transparent}
.nav-row a:hover,.nav-row a.on{border-bottom-color:var(--copper)}

/* ---------- Markets in motion ---------- */
.mkt-strip{background:var(--paper-2);border-bottom:1px solid var(--rule)}
.mkt-row{display:flex;align-items:stretch;gap:0;overflow:hidden}
.mkt-label{flex:none;display:flex;align-items:center;gap:8px;font:700 11px/1.15 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--copper);padding:10px 16px 10px 0;margin-right:4px;border-right:1px solid var(--rule);max-width:118px}
.particle{flex:none;width:8px;height:8px;border-radius:50%;background:var(--copper);animation:brown 2.6s steps(1) infinite}
.mkt-items{display:flex;list-style:none;margin:0;padding:0;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
.mkt-items::-webkit-scrollbar{display:none}
.mkt{flex:none;display:grid;grid-template-columns:auto auto;grid-template-areas:"name name" "val spark" "chg spark";column-gap:10px;align-items:center;padding:8px 18px;border-right:1px solid var(--rule);min-width:190px}
.mk-name{grid-area:name;font:400 11.5px/1.3 var(--sans);color:var(--muted);white-space:nowrap}
.mk-val{grid-area:val;font:700 15px/1.25 var(--serif);color:var(--ink);white-space:nowrap}
.mk-chg{grid-area:chg;font:700 11.5px/1.25 var(--sans);white-space:nowrap}
.spark{grid-area:spark;width:64px;height:18px;overflow:visible}
.spark path{fill:none;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.mkt-flat .mk-chg,.spark-flat path{color:var(--muted);stroke:var(--muted)}
.mkt-up .mk-chg{color:var(--green)}
.mkt-up .mk-chg::before{content:"\25B2 ";font-size:.8em}
.spark-up path{stroke:var(--green)}
.mkt-walk .mk-chg{color:var(--copper)}
.spark-walk path{stroke:var(--copper)}
.mk-name sup,.mk-val sup,.data sup{font-size:.68em;line-height:0}
@keyframes brown{0%{transform:translate(0,0)}12%{transform:translate(2px,-1px)}25%{transform:translate(1px,2px)}37%{transform:translate(-2px,1px)}50%{transform:translate(-1px,-2px)}62%{transform:translate(2px,1px)}75%{transform:translate(0,-1px)}87%{transform:translate(-2px,2px)}}

/* ---------- Article ---------- */
.page{display:grid;grid-template-columns:minmax(0,1fr) 312px;gap:48px;padding-top:30px;padding-bottom:40px}
.story{min-width:0;max-width:720px}
.kicker{display:inline-block;font:700 12px/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--copper);text-decoration:none}
.story-head h1{font:700 clamp(31px,3.6vw,46px)/1.07 var(--serif);letter-spacing:-.01em;color:var(--ink);margin:10px 0 12px;text-wrap:balance}
.dek{font:400 21px/1.4 var(--serif);color:#4b3a2f;margin:0 0 18px}
.byline{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;font:400 13px/1.4 var(--sans);color:var(--muted);border-top:1px solid var(--ink);padding:9px 0 0;margin-bottom:22px}
.byline .by{font-weight:700;color:var(--ink)}
.tools{margin-left:auto;display:flex;gap:6px}
.tools a{font:700 11px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--ink);border:1px solid var(--ink);padding:6px 8px}
.tools a:hover{background:var(--ink);color:var(--paper)}
.hero{margin:0 0 22px}
.hero img{display:block;width:100%;max-height:70vh;object-fit:cover;background:var(--paper-2)}
.hero figcaption,.body figcaption{font:400 13px/1.45 var(--sans);color:var(--muted);margin-top:7px}
.credit{font-weight:700;font-size:11px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.credit a{text-decoration:none}
.body{font:400 19px/1.56 var(--serif);color:var(--text)}
.body>*{margin:0 0 .85em}
.body a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--copper);text-underline-offset:3px}
.body a:hover{color:var(--copper)}
.body h2{font:700 24px/1.2 var(--serif);color:var(--ink);margin:1.4em 0 .5em;padding-top:12px;border-top:1px solid var(--rule)}
.body h3{font:700 20px/1.25 var(--serif);color:var(--ink);margin:1.2em 0 .4em}
.body h4{font:700 12px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--copper)}
.body ul,.body ol{padding-left:1.3em}
.body li{margin:.3em 0}
.body li::marker{color:var(--copper)}
.body blockquote{margin:1.3em 0;padding:0 0 0 18px;border-left:3px solid var(--copper);color:#3d2f26}
.body blockquote p{margin:0 0 .5em}
.body blockquote cite,.body blockquote footer{display:block;font:400 12.5px/1.4 var(--sans);font-style:normal;color:var(--muted)}
.body .pull,.body .pullquote,.body .pull-quote,.body blockquote.pull,.body aside.pull{border:0;border-top:4px solid var(--ink);border-bottom:1px solid var(--ink);padding:14px 0 12px;margin:1.6em 0;font:italic 700 26px/1.25 var(--serif);color:var(--ink);background:none}
.body .pull p,.body .pullquote p{margin:0}
.body .pull cite,.body .pullquote cite{display:block;margin-top:8px;font:700 11.5px/1.3 var(--sans);font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--copper)}
.body figure{margin:1.5em 0}
.body figure img{display:block;margin:0 auto;width:auto;max-width:100%;max-height:560px}
.body aside,.body .sidebar,.body .box,.body .factbox{background:var(--card);border-top:4px solid var(--ink);padding:14px 18px 16px;font:400 15.5px/1.5 var(--sans);color:var(--text)}
.body aside>:last-child,.body .sidebar>:last-child{margin-bottom:0}
.body aside h3,.body aside h4,.body .sidebar h3{margin:0 0 .5em;font:700 12px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.body table{width:100%;border-collapse:collapse;font:400 14px/1.35 var(--sans);font-variant-numeric:tabular-nums;background:var(--card)}
.body th{font:700 11.5px/1.25 var(--sans);letter-spacing:.06em;text-transform:uppercase;text-align:left;border-bottom:2px solid var(--ink);padding:8px 10px;color:var(--ink)}
.body td{border-bottom:1px solid var(--rule);padding:7px 10px;vertical-align:top}
.body td:not(:first-child),.body th:not(:first-child){text-align:right}
.body table.databox{border-top:4px solid var(--ink);font:400 14px/1.4 var(--sans)}
.body table.databox thead th{font:700 12px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding:9px 10px 7px}
.body table.databox thead th:empty{display:none}
.body table.databox td{padding:7px 10px}
.body table.databox td:first-child{color:var(--muted);width:40%}
.body table.databox td:not(:first-child),.body table.databox th:not(:first-child){text-align:left;font-weight:700;color:var(--ink)}
.body aside.update{border-top-color:var(--copper)}
.body caption{caption-side:bottom;text-align:left;font:400 12.5px/1.4 var(--sans);color:var(--muted);padding-top:6px}
.body code,.body kbd{font:.84em ui-monospace,Menlo,Consolas,monospace;background:var(--paper-2);padding:.1em .3em}
.body pre{font:13.5px/1.5 ui-monospace,Menlo,Consolas,monospace;background:var(--card);padding:12px;overflow-x:auto}
.body sup{font-size:.66em;line-height:0}
.body small{font-size:.85em;color:var(--muted)}
.body mark{background:#f3c9a6;padding:0 .1em}
.body .footnotes,.body ol.notes{font:400 14px/1.5 var(--sans);border-top:1px solid var(--rule);padding-top:.8em}
.body video,.body audio{width:100%}
.topics{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid var(--ink);padding-top:12px;margin-top:26px}
.topics-label{font:700 11.5px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;margin-right:6px}
.topics a{font:700 12.5px/1 var(--sans);text-decoration:none;border:1px solid var(--rule);background:var(--card);padding:7px 10px}
.topics a:hover{border-color:var(--copper)}

/* ---------- Boxes ---------- */
.rail{min-width:0;display:flex;flex-direction:column;gap:26px}
.box{margin:0}
.box-title{font:700 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);border-top:4px solid var(--ink);padding-top:9px;margin:0 0 8px}
.data table{width:100%;border-collapse:collapse;font:400 12.5px/1.3 var(--sans)}
.data th,.data td{padding:6px 0;border-bottom:1px solid var(--rule);vertical-align:top;text-align:left}
.data thead th{font-weight:700;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--ink)}
.data tbody th{font-weight:400;padding-right:8px}
.data .num{text-align:right;white-space:nowrap;padding-left:8px}
.data td.num{font-weight:700;color:var(--ink)}
.data .chg{font-size:11.5px}
.mk-list{list-style:none;margin:0;padding:0}
.mk-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"nm nm" "vl chg";column-gap:10px;padding:7px 0;border-bottom:1px solid var(--rule)}
.mk-list .nm{grid-area:nm;font:400 12px/1.3 var(--sans);color:var(--muted)}
.mk-list .vl{grid-area:vl;font:700 15px/1.3 var(--serif);color:var(--ink)}
.mk-list .chg{grid-area:chg;align-self:end;text-align:right;font:700 11.5px/1.3 var(--sans)}
.data .mkt-flat .chg{color:var(--muted)}
.data .mkt-up .chg{color:var(--green)}
.data .mkt-up .chg::before{content:"\25B2 ";font-size:.8em}
.data .mkt-walk .chg{color:var(--copper)}
.box-note{font:italic 400 13px/1.4 var(--serif);color:var(--muted);margin:8px 0 0}
.related ul,.most-read ol{margin:0;padding:0;list-style:none}
.related li{padding:9px 0;border-bottom:1px solid var(--rule)}
.related .k{display:block;font:700 10.5px/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--copper);margin-bottom:3px}
.related a,.most-read a{font:700 16px/1.25 var(--serif);text-decoration:none;color:var(--ink)}
.related a:hover,.most-read a:hover{color:var(--copper)}
.related .d{display:block;font:400 12px/1.2 var(--sans);color:var(--muted);margin-top:4px}
.most-read ol{counter-reset:n}
.most-read li{counter-increment:n;display:grid;grid-template-columns:26px 1fr;padding:9px 0;border-bottom:1px solid var(--rule)}
.most-read li::before{content:counter(n);font:700 20px/1 var(--serif);color:var(--copper)}
.chart-box figcaption{font:400 12.5px/1.45 var(--sans);color:var(--muted);margin-top:6px}
.chart-box .src{display:block;margin-top:4px;font-style:italic;color:var(--ink)}
.chart{display:block;width:100%;height:auto;background:var(--card)}
.chart .grid{stroke:var(--rule);stroke-width:1}
.chart .zero{stroke:var(--ink);stroke-width:1}
.chart .tick{font:400 10px var(--sans);fill:var(--muted)}
.chart .walk{fill:none;stroke:var(--copper);stroke-width:1.6;stroke-linejoin:round}
.chart .end{fill:var(--copper)}

/* ---------- Subscribe ---------- */
.subscribe{margin:36px 0 0;padding:20px 22px;background:var(--ink);color:#f3dfcf;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 26px;align-items:center}
.subscribe h2{font:italic 700 26px/1.15 var(--serif);margin:0 0 6px;color:#fff}
.subscribe p{margin:0;font-size:16px;line-height:1.45}
.sub-form{display:flex;gap:8px;flex-wrap:wrap}
.sub-form input{flex:1;min-width:160px;font:400 15px/1 var(--sans);padding:11px 12px;border:1px solid #6b574b;background:#2c221c;color:#fff;border-radius:0}
.sub-form button{font:700 13px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:12px 16px;border:0;background:#ffb98f;color:var(--ink);cursor:pointer}
.subscribe .fine{grid-column:1/-1;font:400 12px/1.4 var(--sans);color:#bfa592}

/* ---------- Front page ---------- */
.front-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,.95fr);gap:30px;padding-top:24px;padding-bottom:10px}
.col-news,.col-data,.col-rail{min-width:0}
.col-data,.col-rail{display:flex;flex-direction:column;gap:26px;border-left:1px solid var(--rule);padding-left:24px}
.lead{border-top:4px solid var(--ink);padding-top:10px}
.lead h1{font:700 clamp(28px,2.9vw,38px)/1.08 var(--serif);margin:6px 0 12px;color:var(--ink)}
.lead h1 a,.briefs h2 a{text-decoration:none}
.lead h1 a:hover,.briefs h2 a:hover{color:var(--copper)}
.lead-img img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--paper-2);margin-bottom:12px}
.lead .dek{font-size:18.5px;margin-bottom:8px}
.meta{font:700 12.5px/1.3 var(--sans);color:var(--ink);margin:0}
.meta .when{font-weight:400;color:var(--muted);margin-left:8px}
.briefs{list-style:none;margin:20px 0 0;padding:0}
.briefs li{padding:14px 0;border-top:1px solid var(--rule)}
.briefs h2{font:700 21px/1.18 var(--serif);margin:4px 0 6px;color:var(--ink)}
.briefs .dek{font-size:16px;margin:0 0 6px}

/* ---------- Footer ---------- */
.foot{background:var(--ink);color:#e6cbb6;padding:30px 0 26px;margin-top:40px}
.foot-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-bottom:1px solid #4a3a30;padding-bottom:18px;margin-bottom:16px}
.nameplate-sm{color:#fff;align-items:flex-start}
.nameplate-sm .np-word{font-size:32px}
.nameplate-sm .np-sub{font-size:10px;margin-top:6px;letter-spacing:.42em}
.foot-top nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.foot-top a{font:400 13.5px/1.4 var(--sans);text-decoration:none;color:#f4e2d4}
.foot-top a:hover{color:#ffb98f}
.honest{font:400 14px/1.5 var(--sans);color:#fff;margin:0 0 8px;max-width:900px}
.honest a{color:#ffb98f}
.copy{font:400 12.5px/1.4 var(--sans);color:#bfa592;margin:0}

/* ---------- Responsive ---------- */
@media (min-width:1100px){.body table.databox{float:right;clear:right;width:330px;margin:.3em -20px 1em 26px}}
@media (max-width:1060px){
  .front-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .col-news{grid-column:1/-1}
  .col-data{border-left:0;padding-left:0}
}
@media (max-width:900px){
  .page{grid-template-columns:1fr;gap:34px}
  .story{max-width:none}
  .ear{display:none}
  .mast-row{grid-template-columns:1fr;padding-top:16px}
}
@media (max-width:620px){
  .wrap{padding:0 16px}
  .front-grid{grid-template-columns:1fr}
  .col-rail{border-left:0;padding-left:0}
  .nav-row{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;gap:18px;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
  .nav-row::-webkit-scrollbar{display:none}
  .nav-row a{white-space:nowrap}
  .mkt-label{max-width:84px;font-size:10px;padding-right:10px}
  .mkt{min-width:170px;padding:7px 12px}
  .story-head h1{font-size:31px}
  .dek{font-size:19px}
  .tools{display:none}
  .hero{margin-left:-16px;margin-right:-16px}
  .hero figcaption{padding:0 16px}
  .body{font-size:18px}
  .body .pull,.body .pullquote,.body blockquote.pull{font-size:22px}
  .subscribe{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.particle{animation:none}}
@media print{.topbar,.navbar,.mkt-strip,.rail,.subscribe,.foot-top nav{display:none}.page{display:block}}
