


main .wrap{max-width:1080px}

main{padding:0 0 96px}


.gridtop{position:relative}
.pgrid{position:absolute;inset:0 0 auto;height:clamp(360px,48vh,560px);
  overflow:hidden;perspective:2000px;z-index:0}

.pg-plane{--pg-n:24;--pg-cell:52px;
  position:absolute;left:50%;top:50%;
  width:calc(var(--pg-n) * var(--pg-cell));height:calc(var(--pg-n) * var(--pg-cell));
  transform:translate(-50%,-50%) rotateX(30deg) rotateY(-5deg) rotateZ(20deg);
  display:grid;
  grid-template-columns:repeat(var(--pg-n),var(--pg-cell));
  grid-template-rows:repeat(var(--pg-n),var(--pg-cell));
  background-image:
    linear-gradient(to right,var(--line2) 1px,transparent 1px),
    linear-gradient(to bottom,var(--line2) 1px,transparent 1px);
  background-size:var(--pg-cell) var(--pg-cell)}


.pg-t{transition:background-color 1.5s linear}
.pg-t.on{background-color:rgba(255,255,255,.12);transition-duration:0s}


.pg-fade{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 46% 60% at 50% 34%,transparent 0,var(--bg) 85%)}

.gridtop .mast{position:relative;z-index:1}
@media(max-width:900px){
  .pgrid{height:clamp(240px,34vh,330px)}
  
  .pg-plane{transform:translate(-50%,-50%) rotateX(32deg) rotateY(-5deg) rotateZ(20deg) scale(1.25)}
}


.mast{padding:76px 0 40px;border-bottom:1px solid var(--line);margin-bottom:48px;
  display:grid;grid-template-columns:1fr;gap:0}

@media(min-width:900px){
  .mast{grid-template-columns:minmax(0,1fr) auto;column-gap:48px}
  .mast .eyebrow{grid-area:1/1}
  .mast h1{grid-area:2/1}
  .mast .lede{grid-area:3/1}
  .mast .stamp{grid-area:3/2;justify-self:end;align-self:end;margin-top:0}
}
.eyebrow{font:500 11px var(--sans);color:var(--faint)}
.mast h1{margin-top:16px;font:600 clamp(38px,6vw,60px)/1.04 var(--sans);letter-spacing:-.034em}
.mast .lede{margin-top:22px;font:400 19px/1.6 var(--sans);color:var(--tx2);max-width:56ch}
.mast .stamp{margin-top:26px;font:500 12px var(--sans);letter-spacing:.06em;color:var(--faint)}


.mast .crumb{justify-self:start;text-decoration:none;
  font:500 12.5px var(--sans);letter-spacing:.04em;color:var(--mut);
  transition:color .18s var(--ease)}
.mast .crumb:hover{color:var(--tx)}
.mast .crumb span{display:inline-block;margin-right:8px;color:var(--dec);
  transition:transform .18s var(--ease),color .18s var(--ease)}
.mast .crumb:hover span{transform:translateX(-3px);color:var(--mut)}
@media(min-width:900px){.mast .crumb{grid-area:1/1}}


.page{display:grid;grid-template-columns:minmax(0,66ch);align-items:start}
@media(min-width:1080px){
  .page{grid-template-columns:minmax(0,66ch) 236px;justify-content:space-between;column-gap:48px}
}

.rail{margin-top:44px;padding-top:26px;border-top:1px solid var(--line)}
.rail .toc{display:none}


.page>.toc{order:-1;margin:0 0 clamp(34px,4.5vw,46px)}
.toc h2{font:500 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.toc a{display:flex;align-items:center;min-height:44px;
  font:400 15px/1.45 var(--sans);color:var(--tx2);text-decoration:none;
  border-bottom:1px solid var(--line);transition:color .18s var(--ease)}
.toc h2+a{border-top:1px solid var(--line);margin-top:14px}

.toc a:last-child{border-bottom:0}
.toc a.on{color:var(--tx)}
@media(min-width:1080px){
  
  
  .rail,.page>.toc{margin-top:0;padding-top:0;border-top:0;position:sticky;top:92px;
    padding-left:22px;border-left:0;
    background:linear-gradient(var(--line),var(--line)) 0 0/1px 100% no-repeat;
    max-height:calc(100vh - 112px);overflow-y:auto;overscroll-behavior:contain;
    scrollbar-width:thin;scrollbar-color:var(--line3) transparent}
  .rail .toc{display:block}
  .page>.toc{order:0;margin:0}
  .toc h2{font:500 11px var(--sans);letter-spacing:normal;text-transform:none;color:var(--faint)}
  
  .toc a{position:relative;display:block;min-height:0;margin-top:12px;border:0;
    font:400 14px/1.45 var(--sans);color:var(--mut);text-decoration:none;transition:color .2s}
  .toc h2+a{margin-top:12px;border:0}
  .toc a:last-child{border:0}
  
  .toc a::before{content:'';position:absolute;left:-22px;top:.2em;bottom:.2em;width:1px;
    background:transparent;transition:background .25s}
  .toc a:hover{color:var(--tx2)}
  .toc a.on{color:var(--tx)}
  .toc a.on::before{background:var(--acc)}
}


.mast.center{text-align:center;display:block;padding:76px 0 0;border-bottom:0;margin-bottom:0}
.mast.center h1{margin:16px auto 0;max-width:21ch;font-size:clamp(34px,5.2vw,54px)}
.mast.center .lede{margin:20px auto 0;max-width:56ch}
.pmeta{font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.pmeta time{font-variant-numeric:tabular-nums}
.hero{margin:40px 0 58px}
.hero img{display:block;width:100%;height:auto;border:1px solid var(--line);
  border-radius:var(--r2,10px)}


@media(min-width:1080px){
  
  .page.left{grid-template-columns:206px minmax(0,66ch);column-gap:58px;justify-content:center}
  .page.left>.doc{grid-column:2;grid-row:1}
  .page.left>.rail{grid-column:1;grid-row:1;
    padding-left:0;padding-right:22px;background-position:100% 0}
  
  .page.left .toc a::before{left:auto;right:-22px}
  
  .page.left .rail .toc{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
  .page.left .toc h2{letter-spacing:.1em;text-transform:uppercase}
  
  .page.left.wide{justify-content:start}
}
.rail .back{display:inline-flex;align-items:center;gap:8px;font:500 13.5px var(--sans);
  color:var(--mut);text-decoration:none;transition:color .18s}
.rail .back:hover{color:var(--tx)}
.rail .blk{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.rail .blk h2{font:500 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;
  color:var(--faint)}
.rail .who{margin-top:12px;display:flex;align-items:center;gap:9px;font:500 14px var(--sans);
  color:var(--tx2)}
.rail .who svg{width:18px;height:18px;color:var(--tx);flex:none}

.chips{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}
.chips span{padding:5px 11px;border:1px solid var(--line2);border-radius:100px;
  font:500 12px var(--sans);color:var(--mut)}
.rail .cta{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.rail .cta p{margin:0;font:500 15px/1.42 var(--sans);color:var(--tx);letter-spacing:-.015em}
.rail .cta a{margin-top:11px;display:inline-flex;align-items:center;gap:7px;
  font:500 13.5px var(--sans);color:var(--mut);text-decoration:none;transition:color .18s}
.rail .cta a:hover{color:var(--tx)}


.share{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.share h2{flex:none;width:100%;margin-bottom:2px;font:500 11px var(--sans);letter-spacing:.1em;
  text-transform:uppercase;color:var(--faint)}
.share a,.share button{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  flex:none;padding:9px 14px;border:1px solid var(--line2);border-radius:100px;background:none;
  font:500 13px var(--sans);color:var(--tx2);text-decoration:none;cursor:pointer;
  transition:color .18s,border-color .18s}
.share a.ic{padding:9px;width:36px;height:36px}
.share a:hover,.share button:hover{color:var(--tx);border-color:var(--line3)}
.share svg{width:14px;height:14px;flex:none}

.share button.done{color:var(--ok-tx);border-color:var(--ok-tx)}
@media(min-width:1080px){
  .share{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
}
.doc{max-width:66ch}


.doc h1,.doc h2,.doc h3,.mast h1,.pcard h2,.prow h2,.mcards b{text-wrap:balance}
.doc p,.doc li,.doc figcaption,.mast .lede,.pcard p,.prow p,.mcards p,.takeaways li{
  text-wrap:pretty}

.doc h2[id]{scroll-margin-top:84px}
.doc h2{margin-top:52px;font:600 21px/1.3 var(--sans);letter-spacing:-.022em}

.doc>h2:first-child{margin-top:0}
.doc h3{margin-top:30px;font:600 16px/1.4 var(--sans);letter-spacing:-.014em;color:var(--tx)}
.doc p{margin-top:14px;color:var(--tx2)}
.doc ul{margin-top:14px;padding-left:0;list-style:none}
.doc li{position:relative;padding-left:20px;margin-top:9px;color:var(--tx2)}
.doc li::before{content:'';position:absolute;left:3px;top:.68em;width:5px;height:1px;
  background:var(--line2)}

.doc ol{margin-top:14px;padding-left:0;list-style:none;counter-reset:step}
.doc ol>li{counter-increment:step;padding-left:28px}
.doc ol>li::before{content:counter(step) '.';left:0;top:0;width:auto;height:auto;background:none;
  font:500 13px/1.65 var(--mono);color:var(--faint)}


.doc .takeaways{margin-bottom:8px;padding:26px 30px 30px;background:var(--panel);
  border:1px solid var(--line);border-radius:var(--r3,14px)}
.doc .takeaways h2{margin-top:0;font:600 18px var(--sans);letter-spacing:-.02em;color:var(--tx)}
.doc .takeaways ul{margin-top:16px}
.doc .takeaways li{padding-left:20px;margin-top:12px;font-size:15px;line-height:1.62;
  color:var(--tx2)}
.doc .takeaways li::before{content:'';left:2px;top:.62em;width:5px;height:5px;border-radius:50%;
  background:var(--dec)}


.doc ol.refs{margin-top:20px;counter-reset:ref}
.doc ol.refs>li{counter-increment:ref;padding-left:36px;margin-top:15px;
  font-size:14.5px;line-height:1.62;color:var(--mut)}
.doc ol.refs>li::before{content:'[' counter(ref) ']';top:.16em;
  font:400 12.5px/1.62 var(--mono);color:var(--dec)}

.doc a{color:var(--tx);--ul-rest:var(--line2);--ul-live:var(--acc)}

.tscroll{margin-top:20px;overflow-x:auto}
.doc table{border-collapse:collapse;width:100%;min-width:440px;
  font:400 14px/1.5 var(--sans);font-variant-numeric:tabular-nums}
.doc th{text-align:left;padding:0 14px 9px 0;border-bottom:1px solid var(--line2);
  font:500 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);
  white-space:nowrap}
.doc td{padding:9px 14px 9px 0;border-bottom:1px solid var(--line);color:var(--tx2);
  vertical-align:baseline}
.doc td:first-child{color:var(--tx)}

.doc td:last-child{color:var(--mut);white-space:nowrap}
.doc tr.tot td{border-bottom:0;border-top:1px solid var(--line2);color:var(--tx);padding-top:12px}
.doc table code{font-size:12.5px;padding:1px 5px}

.doc code{font:500 13.5px var(--sans);letter-spacing:-.004em;color:var(--tx);background:var(--panel);
  border:1px solid var(--line);border-radius:5px;padding:2px 6px}
.doc hr{border:0;border-top:1px solid var(--line);margin:52px 0 0}
.doc .last{margin-top:52px;padding:20px 22px;border:1px solid var(--line);border-radius:12px;
  background:var(--panel)}
.doc .last p{margin-top:0;color:var(--mut);font-size:15px}
.doc .last p+p{margin-top:10px}


.stmt{margin:0 0 66px;max-width:23ch;
  font:400 clamp(27px,3.3vw,40px)/1.14 var(--sans);letter-spacing:-.03em;color:var(--tx);
  text-wrap:balance}
.stmt .src{display:block;margin-top:26px;max-width:56ch;
  font:400 15.5px/1.62 var(--sans);letter-spacing:0;color:var(--mut);text-wrap:pretty}
.stmt .src a{color:var(--tx2);--ul-rest:var(--line3);--ul-live:var(--tx2)}


.tenets{margin-top:28px}
.tenets>div{display:grid;grid-template-columns:34px minmax(0,1fr);gap:0 16px;
  padding:22px 0;border-top:1px solid var(--line)}
.tenets>div:last-child{border-bottom:1px solid var(--line)}
.tenets .n{font:400 12px var(--mono);font-variant-numeric:tabular-nums;color:var(--dec);
  padding-top:3px}
.tenets b{font:600 17px/1.36 var(--sans);letter-spacing:-.016em;color:var(--tx);text-wrap:balance}
.tenets p{grid-column:2;margin-top:9px;color:var(--tx2)}
@media(max-width:560px){
  .tenets>div{grid-template-columns:1fr;gap:0}
  .tenets p{grid-column:1}
  .tenets .n{padding:0 0 7px}
}


.more{margin-top:84px;padding-top:38px;border-top:1px solid var(--line)}
.more>h2{font:500 11px var(--sans);color:var(--faint)}
.mcards{margin-top:20px;display:grid;gap:14px}
@media(min-width:760px){.mcards{grid-template-columns:repeat(3,minmax(0,1fr))}}
.mcards a{display:block;padding:20px 22px 22px;border:1px solid var(--line);border-radius:12px;
  background:var(--panel);text-decoration:none;
  transition:border-color .2s,background .2s,transform .2s var(--ease)}
.mcards a:hover{border-color:var(--line2);background:var(--elev);transform:translateY(-2px)}
.mcards b{display:flex;align-items:center;gap:8px;font:600 16px var(--sans);
  letter-spacing:-.018em;color:var(--tx)}
.mcards .arw{margin-left:auto;color:var(--faint);transition:transform .3s var(--ease),color .2s}
.mcards a:hover .arw{transform:translate(3px,-3px);color:var(--tx2)}
.mcards p{margin-top:8px;font:400 14px/1.55 var(--sans);color:var(--mut)}


footer{border-top:1px solid var(--line);padding:66px 0 34px;background:var(--bg2)}
.fgrid{display:grid;grid-template-columns:minmax(0,1.9fr) repeat(4,minmax(0,1fr));gap:44px 30px}
.fbrand .brand{display:inline-flex;align-items:center;gap:.268em;font:600 21px var(--sans);
  letter-spacing:-.02em;color:var(--tx);text-decoration:none}
.fbrand .brand svg{display:block;width:.855em;height:.855em;flex:none}
.fbrand p{margin-top:16px;max-width:38ch;font:400 14px/1.65 var(--sans);color:var(--mut)}
.fbeta{display:inline-flex;align-items:center;gap:8px;margin-top:20px;border-radius:100px;
  padding:5px 12px 5px 10px;border:1px solid var(--line);background:rgba(255,255,255,.03);
  font:500 11px var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--faint)}
.fbeta i{width:5px;height:5px;border-radius:50%;background:var(--acc);flex:none}

.fmail{margin-top:20px;max-width:38ch;font:400 13px/1.62 var(--sans);color:var(--faint)}

.fask{display:inline-block;margin-top:7px;font:400 13px/24px var(--sans);color:var(--tx2);
  --ul-rest:var(--line2);--ul-live:var(--acc)}
.fask:hover{color:var(--tx)}
.fgrid nav{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.fgrid h2{font:500 11px var(--sans);color:var(--faint);margin-bottom:9px}

.fgrid nav a{font:400 14px/24px var(--sans);color:var(--tx2);text-decoration:none;
  transition:color .2s}
.fgrid nav a:hover{color:var(--tx)}
.fbase{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:center;
  margin-top:56px;padding-top:24px;border-top:1px solid var(--line);
  font:400 13px/24px var(--sans);color:var(--faint)}
.fbase nav{display:flex;flex-wrap:wrap;gap:6px 20px}
.fbase a{color:var(--faint);text-decoration:none;transition:color .2s}
.fbase a:hover{color:var(--tx2)}
.fbase .fnote{margin-left:auto}

@media(max-width:1040px){
  .fgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px 28px}
  .fbrand{grid-column:1/-1}
}

@media(max-width:720px){
  
  .wrap{padding:0 28px}
  main{padding:0 0 72px}
  .mast{padding:52px 0 30px;margin-bottom:38px}
  .doc h2{margin-top:44px}
  .more{margin-top:60px}
  footer{padding:52px 0 30px}
  .fbase{margin-top:40px}
  .fbase .fnote{margin-left:0;flex-basis:100%}
}



.cityband{padding:9vh 0 5vh}
.cityband .wrap{max-width:820px}

.cityband .city{display:block;width:100%;margin:0;line-height:0;aspect-ratio:2000 / 1120;
  --art-ink:#9a9ba5; --art-lit:#f4f4f6}
.cityband .city canvas{display:block;width:100%}
.cityband .city noscript img{display:block;width:100%;height:auto}
.cityband .cityline{margin:18px 0 0;text-align:center;color:var(--faint);
  font-size:11.5px;letter-spacing:.15em;text-transform:uppercase}



.byline{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;
  font:400 13px var(--sans);color:var(--faint)}
.byline span:first-child{color:var(--tx2)}
.byline time{font-variant-numeric:tabular-nums}
.eyebrow a{color:inherit;text-decoration:none}
.eyebrow a:hover{color:var(--tx2)}


.fig{margin:34px 0 38px}
.fig figcaption{margin-top:14px;font:400 13px/1.6 var(--sans);color:var(--faint)}
.fig figcaption a{color:var(--tx2)}
@media(min-width:1100px){.fig.wide{width:min(112%,940px)}}


.ledger{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;
  background:var(--line);border-block:1px solid var(--line)}
.ledger div{background:var(--bg);padding:18px 16px 16px}
.ledger b{display:block;font:500 27px/1 var(--sans);letter-spacing:-.03em;color:var(--tx);
  font-variant-numeric:tabular-nums}
.ledger span{display:block;margin-top:8px;font:400 12.5px/1.45 var(--sans);color:var(--faint)}
@media(max-width:620px){.ledger{grid-template-columns:repeat(2,minmax(0,1fr))}}

.code{margin:22px 0;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r2,10px);
  background:#050507;overflow-x:auto}
.code code{font:400 13px/1.6 var(--mono);color:var(--tx2);white-space:pre}
.doc p code,.doc li code{font:400 12.5px var(--mono);color:var(--tx2);
  background:rgba(255,255,255,.05);padding:1px 5px;border-radius:4px}



.sect{margin:66px 0 26px;padding-bottom:13px;border-bottom:1px solid var(--line2);
  font:500 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--tx2)}
.sect:first-of-type{margin-top:0}

.plist+.sect-all{margin-top:22px}
.sect-all a{display:inline-flex;align-items:baseline;gap:9px;text-decoration:none;
  font:500 13.5px var(--sans);color:var(--tx2);transition:color .18s var(--ease)}
.sect-all a:hover{color:var(--tx)}
.sect-all span{display:inline-block;color:var(--dec);
  transition:transform .18s var(--ease),color .18s var(--ease)}
.sect-all a:hover span{transform:translateX(3px);color:var(--mut)}



.plist{display:grid}
.prow{position:relative;display:grid;grid-template-columns:112px minmax(0,1fr) 62px;
  align-items:baseline;gap:0 28px;padding:26px 18px 26px 0;
  border-top:1px solid var(--line);transition:background .18s}
.plist .prow:last-child{border-bottom:1px solid var(--line)}
.prow:hover{background:rgba(255,255,255,.022)}
.prow>time,.pr-min{font:400 13px var(--mono);color:var(--faint);font-variant-numeric:tabular-nums;
  white-space:nowrap}
.pr-min{text-align:right}
.prow h2{font:500 23px/1.3 var(--sans);letter-spacing:-.03em}
.prow h2 a{color:var(--tx);text-decoration:none}

.prow h2 a::after{content:'';position:absolute;inset:0}
.prow:hover h2 a{color:#fff}
.prow p{margin-top:9px;font:400 14.5px/1.62 var(--sans);color:var(--mut);max-width:62ch}

.pr-kind{display:block;margin-bottom:7px;font:500 11px var(--sans);letter-spacing:.1em;
  text-transform:uppercase;color:var(--faint)}

@media(max-width:760px){
  .prow{grid-template-columns:minmax(0,1fr) auto;gap:0 16px;padding:22px 0}
  .prow>time{grid-area:1/1}
  .pr-min{grid-area:1/2}
  .pr-say{grid-area:2/1/3/3;margin-top:10px}
  .prow h2{font-size:20px}
}


.plist.cards{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:26px}
.pcard{display:flex;flex-direction:column;gap:16px;min-width:0}
.pc-fig{display:block;border:1px solid var(--line);border-radius:var(--r2,10px);overflow:hidden;
  background:#0b0b0e;line-height:0}
.pc-fig img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}

.pcard h2{font:500 20px/1.28 var(--sans);letter-spacing:-.03em}
.pcard h2 a{color:var(--tx);text-decoration:none}
.pcard h2 a:hover{color:#fff}

.pc-say{position:relative}
.pcard h2 a::after{content:'';position:absolute;inset:0}
.pcard p{margin-top:10px;font:400 14.5px/1.62 var(--sans);color:var(--mut);max-width:56ch}
.pc-meta{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px 16px;
  font:400 12.5px var(--sans);color:var(--faint)}
.pc-meta time{font-variant-numeric:tabular-nums}

@media(min-width:820px){
  .pcard.feat{grid-column:1/-1;flex-direction:row;align-items:center;gap:34px}
  .pcard.feat .pc-fig{flex:0 0 46%}
  .pcard.feat h2{font-size:27px;letter-spacing:-.034em}
  .pcard.feat .pc-say{min-width:0}
}



.fig.art img{display:block;width:100%;height:auto}
.fig.art figcaption{margin-top:12px}

.fig.art.sq img{max-width:400px;margin-inline:auto}




.fig-pal{--f-vol:#6fae94;--f-care:#c2a06a;--f-fail:#cf8089}

.chart .pale{fill-opacity:.34}

.ch-track{fill:var(--elev2)}


figure.fig{margin:34px 0 0}
figure.fig figcaption{margin-top:14px;font:400 13.5px/1.6 var(--sans);color:var(--mut)}
figure.fig figcaption b{font-weight:600;color:var(--tx2)}
@media(min-width:1080px){
  
  .page figure.fig{width:min(calc(100% + 80px),calc(min(100vw,1080px) - 340px))}
  .page.left.wide figure.fig{width:min(calc(100% + 100px),calc(min(100vw,1080px) - 320px))}
}

.fscroll{overflow-x:auto;overscroll-behavior-x:contain}
.fscroll .chart{min-width:640px}
.panhint{display:none}

@media(max-width:679px){
  .panhint{display:block;margin-top:9px;text-align:right;
    font:400 12px var(--sans);color:var(--faint)}
}
.chart .f-vol{fill:var(--f-vol)}
.chart .f-care{fill:var(--f-care)}
.chart .f-fail{fill:var(--f-fail)}
.chart{display:block;width:100%;height:auto;overflow:visible}
.chart text{font-family:var(--sans)}
.ch-title{font:600 20px var(--sans);letter-spacing:-.022em;fill:var(--tx)}
.ch-sub{font:400 14px var(--sans);fill:var(--mut)}
.ch-sub.dim{font-size:12.5px;fill:var(--dec);font-variant-numeric:tabular-nums}
.ch-lab{font:400 14px var(--sans);fill:var(--tx2)}
.ch-n,.ch-tick{font:400 12px var(--mono);fill:var(--dec);font-variant-numeric:tabular-nums}
.ch-val{font:500 13.5px var(--mono);fill:var(--tx);font-variant-numeric:tabular-nums}
.ch-pct{fill:var(--dec);font-weight:400}
.ch-bar{fill:var(--acc2)}

.ch-bar.out{fill:var(--line3)}
.ch-grid{stroke:var(--line);stroke-width:1}
.ch-axis{stroke:var(--line2);stroke-width:1}
.ch-ci{stroke:var(--acc2);stroke-width:1.5}
.ch-cap{stroke:var(--acc2);stroke-width:1.5}
.chart .mono{font-family:var(--mono);font-size:13px}

.chart .yes{fill:var(--ok-tx)}
.chart .no{fill:var(--mut)}

.ch-cell{fill:var(--line3);fill-opacity:.55}
.ch-cell.reached{fill:var(--ok-tx);fill-opacity:.72}
.ch-cell.wall{fill:var(--amber);fill-opacity:.5}

.ch-cell.gone{fill:none;stroke:var(--line3);stroke-width:1.2;stroke-dasharray:4 4}
.ch-key{font:400 12.5px var(--sans);fill:var(--mut)}

.ch-line{fill:none;stroke:var(--acc2);stroke-width:2;
  stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.ch-line.dim{stroke:var(--line3);stroke-width:1.4}
.ch-dot{fill:var(--acc2)}
.ch-ci.dim{stroke:var(--line3)}

.ch-n.bad{fill:var(--crit-tx)}
.ch-rule{stroke:var(--amber);stroke-width:1.5;stroke-dasharray:4 4}
.ch-note{font:500 12.5px var(--sans);fill:var(--amber-tx)}


.ch-line.bad{stroke:var(--crit-tx);stroke-width:1.8}
.ch-ci.bad,.ch-cap.bad{stroke:var(--crit-tx)}
.ch-dot.bad{fill:var(--crit-tx)}
.ch-key.bad{fill:var(--crit-tx)}

.ch-gap{fill:var(--crit-tx);fill-opacity:.09;stroke:none}

.ch-lead{stroke:var(--line2);stroke-width:1}
.ch-hd{font:600 10.5px var(--sans);fill:var(--faint);letter-spacing:.08em;
  text-transform:uppercase}

.doc .cap{margin-top:12px;font:400 13px/1.6 var(--sans);color:var(--faint)}
.doc .cap code{font-size:12px}


.quotebox{margin:26px 0;padding:20px 22px;border:1px solid var(--line);border-left:2px solid var(--acc2);
  border-radius:var(--r2,10px);background:var(--panel)}
.quotebox b{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;
  font:600 15px var(--sans);color:var(--tx);letter-spacing:-.015em}
.quotebox b span{font:400 12px var(--mono);color:var(--faint);letter-spacing:0}
.doc .quotebox p{margin-top:12px;font:400 14.5px/1.65 var(--sans);color:var(--tx2)}


.spec{margin:34px 0 38px}
.sp-win{border:1px solid var(--line2);border-radius:11px;overflow:hidden;background:var(--panel)}


.sp-strip{display:flex;align-items:flex-end;gap:5px;padding:11px 12px 0;background:#0a0a0e;
  overflow-x:auto;scrollbar-width:none}
.sp-strip::-webkit-scrollbar{display:none}
.sp-lt{display:flex;gap:7px;align-self:center;margin:0 12px 0 4px;flex:none}
.sp-lt i{width:9px;height:9px;border-radius:50%;background:var(--line3)}
.sp-tab{display:flex;align-items:center;gap:9px;flex:none;padding:9px 15px 10px;
  border-radius:8px 8px 0 0;background:var(--elev);position:relative;
  font:400 13px var(--sans);color:var(--mut);white-space:nowrap}
.sp-tab.on{background:var(--elev2);color:var(--tx)}
.sp-fav{width:12px;height:12px;border-radius:2px;background:var(--line3);flex:none}
.sp-fav.real{background:var(--acc);border-radius:3px}
.sp-tab.bad::after{content:'';position:absolute;left:15px;right:15px;bottom:4px;height:1.5px;
  background:var(--amber)}
.sp-bar{padding:10px 14px;background:var(--elev2);border-top:1px solid var(--line)}
.sp-url{display:block;background:#0a0a0e;border-radius:100px;padding:7px 15px;
  font:400 12.5px var(--mono);color:var(--faint)}


.sp-app{display:grid;grid-template-columns:170px minmax(0,1fr);min-height:196px}
.sp-side{background:#0a0a0e;border-right:1px solid var(--line);padding:16px 14px}
.sp-side b{display:block;font:600 13px var(--sans);color:var(--tx);margin-bottom:12px}
.sp-side span{display:block;font:400 12.5px var(--sans);color:var(--mut);padding:6px 0}
.sp-side span.on{color:var(--tx)}
.sp-main{display:grid;place-items:center;padding:34px 20px;text-align:center}
.sp-es em{display:block;width:42px;height:42px;border-radius:10px;background:var(--elev2);
  margin:0 auto 14px}
.sp-es h4{font:600 16px var(--sans);color:var(--tx);letter-spacing:-.02em}
.sp-es p{margin-top:7px;font:400 13.5px/1.5 var(--sans);color:var(--mut)}
.sp-es i{display:inline-block;margin-top:16px;font:500 13px var(--sans);font-style:normal;
  color:#08080a;background:var(--acc);border-radius:7px;padding:9px 17px}
.sp-net{border-top:1px solid var(--line2);background:#0a0a0e;padding:11px 15px 12px;
  overflow-x:auto}
.sp-net table{width:100%;min-width:400px;border-collapse:collapse;
  font:400 12.5px var(--mono);color:var(--faint)}
.sp-net td{padding:3px 0;white-space:nowrap}
.sp-net td.m{color:var(--mut);width:48px}
.sp-net td.p{color:var(--tx2)}
.sp-net td.s{color:var(--ok-tx)}
.sp-net td.d{text-align:right;color:var(--dec)}
.sp-net tr.f td.s{color:var(--crit-tx)}
.sp-net tr.f td.p{color:var(--tx)}
@media(max-width:620px){.sp-app{grid-template-columns:minmax(0,1fr)}.sp-side{display:none}}


.sp-shot{background:#fff;padding:16px}
.sp-shot img{display:block;width:100%;height:auto}
.sp-con{border-top:1px solid var(--line2);background:#0a0a0e;padding:11px 15px 13px;
  overflow-x:auto}
.sp-con b,.sp-net b{display:block;font:500 10.5px var(--sans);letter-spacing:.09em;
  text-transform:uppercase;color:var(--dec);margin-bottom:8px}
.sp-con p{margin:0;font:400 12.5px/1.5 var(--mono);color:var(--crit-tx);white-space:nowrap}

.sp-con p.ok{color:var(--ok-tx)}


.sp-phone{max-width:320px;margin-inline:auto;border:1px solid var(--line2);border-radius:20px;
  overflow:hidden;background:var(--panel)}
.sp-ph-top{padding:13px 15px 11px;border-bottom:1px solid var(--line)}
.sp-ph-top b{font:600 15px var(--sans);color:var(--tx);letter-spacing:-.02em}
.sp-ph-cut{overflow:hidden}
.sp-ph-cut table{width:520px;border-collapse:collapse}
.sp-ph-cut th{text-align:left;padding:9px 13px;font:500 10.5px var(--sans);letter-spacing:.07em;
  text-transform:uppercase;color:var(--dec);border-bottom:1px solid var(--line);white-space:nowrap}
.sp-ph-cut td{padding:10px 13px;font:400 12.5px var(--sans);color:var(--tx2);
  border-bottom:1px solid var(--line);white-space:nowrap}
.sp-ph-bar{height:4px;margin:11px 13px 13px;border-radius:100px;background:var(--line);
  position:relative}
.sp-ph-bar i{position:absolute;inset:0 auto 0 0;width:60%;border-radius:100px;background:var(--line3)}


.sp-leg{margin-top:16px;display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:8px 12px;
  align-items:baseline;font:400 13.5px/1.55 var(--sans);color:var(--tx2)}
.sp-leg div{display:contents}
.sp-leg i{width:7px;height:7px;border-radius:2px;background:var(--amber);
  transform:translateY(-1px)}
.sp-leg i.ok{background:var(--line3)}
.sp-leg b{font:500 13px var(--mono);color:var(--tx);white-space:nowrap}

.sp-leg i+span{grid-column:2/-1}
@media(max-width:560px){
  .sp-leg{grid-template-columns:auto minmax(0,1fr);row-gap:4px}
  .sp-leg b{grid-column:2}
  .sp-leg span{grid-column:2}
}


:root[data-lit]{
  --l-bg:#ffffff; --l-bg2:#f6f6f7;
  --l-panel:#f7f7f8; --l-elev:#f0f0f2; --l-elev2:#e8e8ec;
  --l-line:rgba(17,17,22,.09); --l-line2:rgba(17,17,22,.16); --l-line3:rgba(17,17,22,.26);
  --l-tx:#15161a; --l-tx2:#3f4149; --l-mut:#545660; --l-faint:#63656c; --l-dec:#6a6c73;
  --l-acc:#101014; --l-acc2:#5b5e6a;
  --l-ok:#1f7350; --l-amber:#a8781f; --l-amber-tx:#8a6416; --l-crit:#b03a35;
  
  --l-vol:#4e8a72; --l-care:#9a7b45; --l-fail:#b0555f;
  
  color-scheme:dark;
}

:root[data-lit][data-theme="light"]{
  color-scheme:light;
  
  scrollbar-color:#c3c3c8 #f1f1f3;
  --bg:var(--l-bg); --bg2:var(--l-bg2);
  --panel:var(--l-panel); --elev:var(--l-elev); --elev2:var(--l-elev2);
  --line:var(--l-line); --line2:var(--l-line2); --line3:var(--l-line3);
  --tx:var(--l-tx); --tx2:var(--l-tx2); --mut:var(--l-mut); --faint:var(--l-faint);
  --dec:var(--l-dec);
  --acc:var(--l-acc); --acc2:var(--l-acc2);
  --ok-tx:var(--l-ok); --amber:var(--l-amber); --amber-tx:var(--l-amber-tx);
  --crit-tx:var(--l-crit);
}
:root[data-lit][data-theme="light"] .fig-pal{
  --f-vol:var(--l-vol);--f-care:var(--l-care);--f-fail:var(--l-fail)}
:root[data-lit][data-theme="light"] .chart .pale{fill-opacity:.26}


:root[data-lit][data-theme="light"] ::selection{background:rgba(17,17,22,.16);color:var(--tx)}

[data-lit][data-theme="light"] .nav{background:rgba(255,255,255,.84)}
[data-lit][data-theme="light"] .nav .links a:hover,
[data-lit][data-theme="light"] .nav .links a[aria-current="page"],
[data-lit][data-theme="light"] .nav .drop:hover>a,
[data-lit][data-theme="light"] .nav .drop:focus-within>a,
[data-lit][data-theme="light"] .nav .burger[open]>summary,
[data-lit][data-theme="light"] .nav .sheet a:hover{background:rgba(17,17,22,.055)}
[data-lit][data-theme="light"] .nav .mega{box-shadow:0 30px 60px -42px rgba(17,17,22,.42)}

[data-lit][data-theme="light"] .mg-fig.plain{background:
  radial-gradient(circle at center,rgba(17,17,22,.1) 1px,transparent 1.2px) 0 0/9px 9px,
  linear-gradient(155deg,var(--elev2),var(--panel))}
[data-lit][data-theme="light"] .foot .word svg{stroke:rgba(17,17,22,.3)}
[data-lit][data-theme="light"] .nav .sheet{box-shadow:0 24px 60px rgba(17,17,22,.18)}
[data-lit][data-theme="light"] .btn.ghost:hover{background:rgba(17,17,22,.045)}

[data-lit][data-theme="light"] .btn.solid{color:#fdfdfd}
[data-lit][data-theme="light"] .btn.solid:hover{background:#000}
[data-lit][data-theme="light"] .copy{background:rgba(17,17,22,.03)}
[data-lit][data-theme="light"] .doc p code,[data-lit][data-theme="light"] .doc li code{background:rgba(17,17,22,.055)}
[data-lit][data-theme="light"] .code{background:var(--bg2)}
[data-lit][data-theme="light"] .prow:hover{background:rgba(17,17,22,.028)}
[data-lit][data-theme="light"] .prow:hover h2 a,[data-lit][data-theme="light"] .pcard h2 a:hover{color:#000}
[data-lit][data-theme="light"] .pcard{background:var(--panel)}

[data-lit][data-theme="light"] .sp-strip,[data-lit][data-theme="light"] .sp-url,[data-lit][data-theme="light"] .sp-side,
[data-lit][data-theme="light"] .sp-net,[data-lit][data-theme="light"] .sp-con{background:var(--elev)}
[data-lit][data-theme="light"] .sp-es i{color:#fdfdfd}

[data-lit][data-theme="light"] .ctaband .rule{opacity:.9}



.tsw{position:relative;display:inline-flex;align-items:center;justify-content:center;
  flex:none;width:36px;height:36px;padding:0;
  background:none;border:1px solid var(--line2);border-radius:999px;
  color:var(--tx2);cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:color .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease)}
.tsw::after{content:'';position:absolute;inset:-4px}
.tsw:hover{color:var(--tx);border-color:var(--line3);background:rgba(255,255,255,.05)}
[data-theme="light"] .tsw:hover{background:rgba(17,17,22,.045)}
.tsw:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.tsw svg{display:block;width:18px;height:18px}


.tsw{--tsw-e:cubic-bezier(.22,.86,.24,1)}
.tsw .tsw-bite,.tsw .tsw-rays,.tsw .tsw-disc{transform-box:view-box;transform-origin:12px 12px;
  transition:transform .5s var(--tsw-e)}
.tsw .tsw-rays{transition:transform .5s var(--tsw-e),opacity .34s var(--tsw-e)}

.tsw .tsw-rays{transform:scale(.4);opacity:0}

[data-theme="light"] .tsw .tsw-disc{transform:scale(.5)}
[data-theme="light"] .tsw .tsw-bite{transform:translate(20px,-20px)}
[data-theme="light"] .tsw .tsw-rays{transform:none;opacity:1}


.nav .tsw{margin-left:auto}
.nav .tsw+.end{margin-left:0}
.nav .tsw~.burger{margin-left:12px}



.vt-theme,.vt-theme *,.vt-theme *::before,.vt-theme *::after{transition:none!important}
.vt-theme header.nav,.vt-theme header.hbar,.vt-theme body>footer{view-transition-name:none}
:root.vt-theme::view-transition-image-pair(root){isolation:auto}
:root.vt-theme::view-transition-old(root),
:root.vt-theme::view-transition-new(root){animation:none;mix-blend-mode:normal}
:root.vt-theme::view-transition-old(root){z-index:1}
:root.vt-theme::view-transition-new(root){z-index:2}





@media print{
  :root[data-lit]{
    color-scheme:light;
    --bg:var(--l-bg); --bg2:var(--l-bg2);
    --panel:var(--l-panel); --elev:var(--l-elev); --elev2:var(--l-elev2);
    --line:var(--l-line); --line2:var(--l-line2); --line3:var(--l-line3);
    --tx:var(--l-tx); --tx2:var(--l-tx2); --mut:var(--l-mut); --faint:var(--l-faint);
    --dec:var(--l-dec);
    --acc:var(--l-acc); --acc2:var(--l-acc2);
    --ok-tx:var(--l-ok); --amber:var(--l-amber); --amber-tx:var(--l-amber-tx);
    --crit-tx:var(--l-crit);
  }
  :root[data-lit] .fig-pal{--f-vol:var(--l-vol);--f-care:var(--l-care);--f-fail:var(--l-fail)}
  :root[data-lit] .chart .pale{fill-opacity:.26}
  [data-lit] .doc p code,[data-lit] .doc li code{background:rgba(17,17,22,.055)}
  [data-lit] .copy{background:rgba(17,17,22,.03)}
  [data-lit] .pcard{background:var(--panel)}

  .nav,.foot,.ctaband,.rail,.panhint,.burger,.skip,.more{display:none !important}
  html,body{background:#fff}
  main .wrap{max-width:none;padding:0}
  
  .page,.page.left,.page.left.wide{display:block}
  .page>.doc{grid-column:auto}
  .doc{max-width:none}
  .mast{padding-top:0}
  
  figure,.chart,.takeaways,.spec,table{break-inside:avoid;page-break-inside:avoid}
  h1,h2,h3{break-after:avoid;page-break-after:avoid}
  p,li{orphans:3;widows:3}
  .fscroll{overflow:visible}
  .fscroll .chart{min-width:0}
  
  .chart{print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .doc a[href^="http"]:not([href*="nthlabs.dev"])::after{
    content:' <' attr(href) '>';font:400 11px var(--mono);color:var(--mut);word-break:break-all}
  @page{margin:18mm 16mm}
}


@media(max-width:900px){
  .mast{padding:36px 0 22px;margin-bottom:28px}
  .mast.center{padding:36px 0 0}
  .mast .lede{margin-top:16px;font-size:17px}
  .mast .stamp{margin-top:18px}
  .doc h2{margin-top:38px}
  .doc h3{margin-top:24px}
  .more{margin-top:48px;padding-top:28px}
  .cityband{padding:5vh 0 4vh}
  .doc .last{margin-top:36px}
  
  .doc .last p>a:only-child{display:inline-flex;align-items:center;min-height:44px}
  
  .sect-all a{min-height:44px}
  
  .plist.cards{gap:34px}
  .mcards{gap:18px}
  .stmt{margin-bottom:44px}
  .tenets>div{padding:18px 0}
  
  .eyebrow a{display:inline-flex;align-items:center;min-height:44px}
  
  .share a,.share button{min-height:44px}
  .share a.ic{width:44px;height:44px;padding:0}
}

@media(max-width:620px){
  .mast h1{font-size:30px;letter-spacing:-.028em}
  .mast.center h1{font-size:28px}
  
  .pmeta{font-size:13px}
  .mast .stamp{font-size:13px}
  .pr-kind{font-size:11.5px}
  .panhint{font-size:12.5px}
  .doc table th{font-size:12px}
}
