:root{
  --paper:#FAFCFB; --card:#FFFFFF; --ink:#10262D; --ink-2:#4F636A; --line:#D3DEDC;
  --teal:#0F6B78; --teal-t:#E1F2F0; --teal-m:#A6D8D4; --on-teal:#FFFFFF;
  --sky:#2C7DC0; --sky-x:#2A6FAC; --sky-t:#E4EFFA;
  --saf:#EB9A2E; --saf-x:#9A5E0C; --saf-t:#FCEFD9;
  --rose:#D04A41; --rose-x:#B93A32; --rose-t:#FBE5E2;
  --leaf:#2E9A60; --leaf-x:#21784A; --leaf-t:#E1F3E7;
  --hero:#0A4550; --hero-ink:#F1F8F7; --hero-ink2:#B9D6D5;
  --on-saf:#1E1A12; --on-more:#FFFFFF;
  --sans:"Archivo","Arial Narrow","Helvetica Neue",Arial,sans-serif;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --nav-h:54px;
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#0B171B; --card:#10222A; --ink:#E3ECEC; --ink-2:#9BB0B5; --line:#243B43;
    --teal:#3AAFBB; --teal-t:#0E2B30; --teal-m:#1D5961; --on-teal:#06252A;
    --sky:#5E9FDD; --sky-x:#8DBDEE; --sky-t:#0F2338;
    --saf:#F0AE55; --saf-x:#F3C27E; --saf-t:#2D230F;
    --rose:#E8685F; --rose-x:#F28D85; --rose-t:#33191A;
    --leaf:#4DBE80; --leaf-x:#7AD6A3; --leaf-t:#0F2A1B;
    --hero:#062C33; --on-more:#06252A; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#0B171B; --card:#10222A; --ink:#E3ECEC; --ink-2:#9BB0B5; --line:#243B43;
  --teal:#3AAFBB; --teal-t:#0E2B30; --teal-m:#1D5961; --on-teal:#06252A;
  --sky:#5E9FDD; --sky-x:#8DBDEE; --sky-t:#0F2338;
  --saf:#F0AE55; --saf-x:#F3C27E; --saf-t:#2D230F;
  --rose:#E8685F; --rose-x:#F28D85; --rose-t:#33191A;
  --leaf:#4DBE80; --leaf-x:#7AD6A3; --leaf-t:#0F2A1B;
  --hero:#062C33; --on-more:#06252A; color-scheme:dark;
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + var(--nav-h) + 10px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.02rem;line-height:1.5}
h1,h2,h3,h4{font-family:var(--sans);margin:0}
h1{font-size:clamp(2.2rem,5.8vw,4.2rem);font-stretch:72%;font-weight:770;line-height:1.02;letter-spacing:-.01em;max-width:15ch}
h2{font-size:clamp(1.65rem,3.3vw,2.4rem);font-stretch:76%;font-weight:730;line-height:1.08;margin-bottom:.4em;max-width:20ch}
h4{font-size:1.05rem;font-stretch:90%;font-weight:690;line-height:1.3;margin-bottom:.3em}
p{margin:0 0 .9em;max-width:62ch}
a{color:inherit;text-underline-offset:.18em}
:focus-visible{outline:2.5px solid var(--sky);outline-offset:3px}
strong{font-weight:680}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:var(--paper);padding:8px 12px;z-index:20}
.skip:focus{top:calc(env(safe-area-inset-top,0px) + 8px)}

/* nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--paper);border-bottom:1px solid var(--line)}
.nav-in{max-width:1120px;margin:0 auto;padding:0 20px;height:var(--nav-h);display:flex;align-items:center;gap:20px}
.mark{font-weight:820;font-stretch:76%;font-size:1.35rem;letter-spacing:.03em;text-decoration:none;color:var(--teal);display:flex;align-items:baseline;gap:.55em;white-space:nowrap}
.mark small{font-weight:520;font-size:.8rem;letter-spacing:0;color:var(--ink-2);font-stretch:92%}
.links{display:flex;align-items:center;gap:18px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0;font-size:.92rem;font-stretch:90%}
.links::-webkit-scrollbar{display:none}
.links a{text-decoration:none;white-space:nowrap;padding:8px 0;color:var(--ink-2)}
.links a:hover{color:var(--teal)}
.links a.em{background:var(--saf);color:var(--on-saf);font-weight:680;padding:6px 12px;border-radius:999px}
.home{font-size:.86rem;font-stretch:90%;white-space:nowrap;color:var(--ink-2);border-left:1px solid var(--line);padding-left:14px}
@media (max-width:900px){.mark small{display:none}}
@media (max-width:640px){.nav-in{gap:12px;padding:0 14px}.links{gap:14px}}

/* layout */
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
@media (min-width:900px){.wrap{padding:0 40px}}
.s{padding:60px 0}
@media (max-width:640px){.s{padding:44px 0}}
.t-teal{background:var(--teal-t)} .t-sky{background:var(--sky-t)} .t-saf{background:var(--saf-t)} .t-rose{background:var(--rose-t)} .t-leaf{background:var(--leaf-t)}
.lead{font-size:1.14rem;line-height:1.45;color:var(--ink)}
.split{display:grid;gap:26px}
@media (min-width:900px){.split{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:start}}

/* hero */
.hero{background:var(--hero);color:var(--hero-ink);padding:52px 0 60px}
.hero h1{color:var(--hero-ink)}
.hero-grid{display:grid;gap:36px}
@media (min-width:980px){.hero-grid{grid-template-columns:1fr 1fr;gap:56px;align-items:center}}
.lede{font-size:1.2rem;line-height:1.45;max-width:30em;color:var(--hero-ink);margin-top:.8em}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 16px}
.btn{font-stretch:90%;font-weight:680;font-size:1rem;line-height:1.2;padding:.8em 1.25em;border-radius:999px;text-decoration:none;display:inline-block;border:2px solid transparent}
.btn.saf{background:var(--saf);color:var(--on-saf)}
.btn.saf:hover{filter:brightness(1.07)}
.btn.line{border-color:currentColor}
.btn.line:hover{background:rgba(255,255,255,.1)}
.fine{font-size:.88rem;font-stretch:94%;color:var(--hero-ink2);margin:0}

/* chart card */
.card{background:var(--card);color:var(--ink);border-radius:10px;padding:18px 18px 16px}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px 14px;flex-wrap:wrap}
.card-title{font-weight:680;font-stretch:90%;font-size:.98rem}
.seg{display:inline-flex;background:var(--teal-t);border-radius:999px;padding:3px}
.seg button{font-family:var(--sans);font-size:.88rem;font-weight:650;font-stretch:90%;background:transparent;color:var(--ink);border:0;padding:.42em .95em;border-radius:999px;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--teal);color:var(--on-teal)}
.chart{position:relative;height:240px;margin:40px 0 0 2rem;border-left:1.5px solid var(--ink-2);border-bottom:1.5px solid var(--ink-2)}
@media (min-width:640px){.chart{height:270px}}
.thr{position:absolute;left:0;right:0;border-top:1px dotted var(--ink-2)}
.thr.fr{border-top:2px solid var(--leaf)}
.thr.top{border:0}
.thr i{position:absolute;left:-2rem;width:1.6rem;text-align:right;top:-.62em;font-style:normal;font-size:.72rem;font-stretch:90%;color:var(--ink-2);font-variant-numeric:tabular-nums}
.thr.fr i{color:var(--leaf-x);font-weight:760}
.ceil{position:absolute;left:0;right:0;border-top:2.5px dashed var(--saf);z-index:2}
.ceil span{position:absolute;left:6px;bottom:3px;font-size:.76rem;font-weight:720;font-stretch:90%;background:var(--card);color:var(--saf-x);padding:0 4px;white-space:nowrap}
.bars{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-around}
.bar{--c:var(--teal);width:20%;position:relative;border-radius:4px 4px 0 0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.3) 0 1px,transparent 1px 6px),var(--c);transition:height .85s cubic-bezier(.2,.7,.2,1),background-color .4s;z-index:1}
.bar b{position:absolute;bottom:100%;left:50%;transform:translate(-50%,-4px);font-weight:780;font-stretch:84%;font-size:1.12rem;background:var(--card);padding:0 4px;font-variant-numeric:tabular-nums;z-index:3}
.glabels{display:flex;justify-content:space-around;margin:10px 0 0 2rem}
.glabels>div{width:32%;text-align:center;font-size:.84rem;font-stretch:90%;line-height:1.28}
.glabels strong{display:block;font-weight:700}
.glabels .band{display:block;font-weight:650}
.glabels .held{display:block;color:var(--rose-x);font-size:.75rem;margin-top:2px}
.cap-line{margin:14px 0 0;font-size:.95rem;line-height:1.45;max-width:none}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:12px;font-size:.8rem;font-stretch:92%;color:var(--ink-2)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.lg{display:inline-block;width:12px;height:12px;border-radius:3px;background:var(--c)}
.lg.dash{width:22px;height:0;border-radius:0;border-top:2.5px dashed var(--saf);background:none}
.lg.solid{width:22px;height:0;border-radius:0;border-top:2px solid var(--leaf);background:none}
.lg.tick{width:2.5px;height:14px;border-radius:0;background:var(--ink)}
.lg.hatch{border:1px solid var(--ink-2);background:repeating-linear-gradient(135deg,var(--ink-2) 0 1px,transparent 1px 4px)}

/* More: expandable text box */
details.more{margin-top:18px}
details.more>summary{list-style:none;display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-weight:690;font-stretch:92%;font-size:.95rem;padding:.5em 1.05em .5em .6em;border-radius:999px;background:var(--acc,var(--teal));color:var(--on-more);user-select:none}
details.more>summary::-webkit-details-marker{display:none}
.pm{position:relative;width:20px;height:20px;border-radius:50%;background:rgba(128,128,128,.28);flex:none}
.pm::before,.pm::after{content:"";position:absolute;left:5px;right:5px;top:9px;height:2px;background:currentColor;border-radius:1px;transition:transform .2s}
.pm::after{transform:rotate(90deg)}
details.more[open] .pm::after{transform:rotate(0)}
details.more:not([open]) .le,details.more[open] .mo{display:none}
.box{margin-top:14px;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--acc,var(--teal));border-radius:10px;padding:18px 20px 8px;font-family:var(--serif);font-size:1rem;line-height:1.6;max-width:760px}
.box h4{font-family:var(--sans);margin-top:.4em}
.box p{max-width:none}
.box ul{margin:0 0 1em;padding-left:1.1em}
.box li{margin-bottom:.45em}
details.more[open] .box{animation:boxin .28s ease-out}
@keyframes boxin{from{opacity:0;transform:translateY(-6px)}}
.hero details.more>summary,.dark details.more>summary{background:var(--saf);color:var(--on-saf)}
.hero .pm,.dark .pm{background:rgba(0,0,0,.14)}

/* who tiles */
.who{display:grid;gap:12px}
.who>div{background:var(--card);border-radius:10px;padding:14px 16px;border-top:5px solid var(--c)}
.who p{margin:0;font-size:.97rem;color:var(--ink-2)}

/* stages */
.stages{display:grid;gap:10px;margin-top:22px;align-items:stretch}
@media (min-width:760px){.stages{grid-template-columns:1fr auto 1fr auto 1fr}}
.stage{border-radius:10px;padding:16px 18px}
.stage h4{font-size:1.12rem}
.stage p{margin:0;font-size:.95rem}
.st1{background:var(--card);border:2px solid var(--teal-m)}
.st2{background:var(--teal-m)}
.st3{background:var(--teal);color:var(--on-teal)}
.st3 h4{color:var(--on-teal)}
.plus{align-self:center;justify-self:center;width:30px;height:30px;border-radius:50%;background:var(--teal);color:var(--on-teal);display:grid;place-items:center;font-weight:800;font-size:1.2rem}
.ceilstrip{margin-top:10px;border:2.5px dashed var(--saf);border-radius:10px;padding:9px 16px;font-weight:650;font-size:.93rem;background:var(--card)}

/* band bar */
.bandwrap{margin-top:28px;max-width:760px}
.bandbar{display:flex;height:26px;border-radius:6px;overflow:hidden}
.bandbar>span{background:var(--c)}
.bticks{position:relative;height:1.4em;font-size:.78rem;color:var(--ink-2);font-variant-numeric:tabular-nums}
.bticks i{position:absolute;top:3px;font-style:normal;transform:translateX(-50%)}
.bticks i:first-child{transform:none}
.bticks i:last-child{transform:translateX(-100%)}
.blegend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin-top:10px;font-size:.93rem}
@media (min-width:760px){.blegend{grid-template-columns:repeat(4,minmax(0,1fr))}}
.blegend span{display:flex;gap:8px;align-items:flex-start;line-height:1.3}
.blegend .lg{margin-top:.2em;flex:none}
.floor{display:flex;gap:12px;align-items:flex-start;margin-top:22px;background:var(--card);border-radius:10px;padding:14px 16px;border-left:5px solid var(--rose);max-width:760px}
.floor p{margin:0}

/* dimension tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:10px;margin-top:22px;align-items:start}
details.tile{--c:var(--teal);background:var(--card);border-radius:10px;border-top:5px solid var(--c)}
details.tile>summary{list-style:none;cursor:pointer;padding:12px 14px 14px;display:block}
details.tile>summary::-webkit-details-marker{display:none}
.tt{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.tid{font-weight:820;font-stretch:78%;font-size:1.3rem;color:var(--c)}
.tw{font-weight:760;font-stretch:86%;font-variant-numeric:tabular-nums;font-size:1rem}
.tn{display:block;font-weight:640;font-stretch:92%;font-size:.95rem;line-height:1.25;margin:.25em 0 .6em;min-height:2.5em}
.tbar{display:block;height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.tbar i{display:block;height:100%;background:var(--c)}
.tdesc{padding:0 14px 14px;font-family:var(--serif);font-size:.93rem;line-height:1.5}
.tdesc strong{display:block;font-family:var(--sans);font-size:.88rem;margin-bottom:.2em}
details.tile[open]{box-shadow:0 0 0 2px var(--c) inset}
details.tile[open] .tdesc{animation:boxin .25s ease-out}
.key{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:12px;font-size:.84rem;color:var(--ink-2)}
.key span{display:inline-flex;align-items:center;gap:6px}

/* gauges */
.gauges{display:grid;gap:18px;background:var(--card);border-radius:10px;padding:20px 18px}
.gname{display:flex;justify-content:space-between;font-weight:700;font-size:.98rem;margin-bottom:6px}
.gname b{font-variant-numeric:tabular-nums;color:var(--c)}
.gtrack{position:relative;height:18px;background:var(--line);border-radius:5px}
.gtrack .gf{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:repeating-linear-gradient(135deg,rgba(255,255,255,.28) 0 1px,transparent 1px 6px),var(--c)}
.gtrack .g80{position:absolute;left:80%;top:-6px;bottom:-6px;width:2.5px;background:var(--leaf)}
.gnote{font-size:.84rem;color:var(--ink-2);margin:0}
.gnote b{color:var(--leaf-x)}

/* chips */
.chips{display:grid;gap:10px}
@media (min-width:560px){.chips.three{grid-template-columns:repeat(3,1fr)}}
.chip{border-radius:10px;padding:13px 15px;background:var(--card);border-left:5px solid var(--c)}
.chip h4{color:var(--cx,var(--ink));margin:0}
.chip p{margin:.15em 0 0;font-size:.92rem;color:var(--ink-2)}
.sub{font-weight:700;font-size:.9rem;color:var(--ink-2);margin:18px 0 8px}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{background:var(--teal-t);color:var(--ink);border-radius:999px;padding:.4em .9em;font-weight:650;font-size:.92rem}
.pill small{font-weight:500;color:var(--ink-2)}

/* profile */
.profile{margin-top:22px}
.prows{margin-top:12px}
.prow{display:grid;grid-template-columns:minmax(0,12.5rem) minmax(0,1fr) 3.4rem;gap:4px 14px;align-items:center;padding:6px 0;border-top:1px solid var(--line)}
.pn{font-size:.9rem;font-stretch:90%;line-height:1.25}
.pn b{font-weight:780;margin-right:.4em;font-variant-numeric:tabular-nums}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--rose);margin-left:.4em;vertical-align:.1em}
.track{position:relative;height:14px;background:var(--line);border-radius:4px;overflow:visible}
.fill{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:var(--c,var(--teal));transition:width .6s cubic-bezier(.2,.7,.2,1),background-color .4s}
.beyond{position:absolute;top:0;bottom:0;right:0;border-radius:0 4px 4px 0;background:repeating-linear-gradient(135deg,var(--ink-2) 0 1px,transparent 1px 5px);opacity:.55;transition:left .6s cubic-bezier(.2,.7,.2,1)}
.capm{position:absolute;top:-4px;bottom:-4px;width:2.5px;background:var(--ink);transition:left .6s cubic-bezier(.2,.7,.2,1)}
.pv{font-weight:760;font-stretch:88%;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.pv .of{font-weight:500;color:var(--ink-2);font-size:.86em}
@media (max-width:640px){.prow{grid-template-columns:minmax(0,1fr) 3.2rem}.pn{grid-column:1/-1}}
.takes{display:grid;gap:12px;margin-top:16px}
@media (min-width:760px){.takes{grid-template-columns:1fr 1fr}}
.take{background:var(--card);border-radius:10px;padding:14px 16px;border-left:5px solid var(--c)}
.take h4{color:var(--cx)}
.take p{margin:0;font-size:.97rem}

/* evidence caps */
.caps{display:grid;gap:8px;margin-top:20px;max-width:760px}
.caprow{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--card);border-radius:8px;padding:10px 14px}
.caprow span{font-size:.97rem;line-height:1.3}
.badge{flex:none;background:var(--sky);color:#fff;border-radius:999px;padding:.25em .75em;font-weight:720;font-size:.85rem;font-variant-numeric:tabular-nums;white-space:nowrap}

/* production flow */
.flow{display:grid;gap:8px}
@media (min-width:640px){.flow{grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch}}
.node{border-radius:10px;padding:14px 14px;font-weight:680;font-size:.97rem;line-height:1.3;background:var(--c)}
.node small{display:block;font-weight:500;font-size:.84rem;color:var(--ink-2);margin-top:4px}
.arrow{align-self:center;justify-self:center;width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:12px solid var(--teal)}
@media (min-width:640px){.arrow{border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:12px solid var(--teal);border-right:0}}

/* limits */
.nots{display:grid;gap:8px;margin-top:20px;padding:0;list-style:none}
@media (min-width:640px){.nots{grid-template-columns:1fr 1fr}}
.nots li{background:var(--card);border-radius:8px;padding:11px 14px 11px 44px;position:relative;font-weight:660;font-size:.98rem}
.nots li::before{content:"";position:absolute;left:14px;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;background:var(--rose)}
.nots li::after{content:"\00d7";position:absolute;left:14px;top:50%;width:18px;line-height:18px;margin-top:-9px;text-align:center;color:#fff;font-weight:800;font-size:.95rem}
blockquote.prov{margin:12px 0 10px;padding:14px 16px;border-radius:8px;background:var(--rose-t);font-style:italic}
blockquote.prov p{margin:0}

/* tables inside boxes */
.tbl{overflow-x:auto;margin:6px 0 16px}
table{border-collapse:collapse;width:100%;min-width:380px;font-family:var(--sans);font-stretch:94%;font-size:.92rem;line-height:1.4}
th,td{text-align:left;padding:8px 12px 8px 0;border-bottom:1px solid var(--line);vertical-align:top}
thead th{border-bottom:2px solid var(--teal);font-weight:700}
.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}

/* dark band sections */
.dark{background:var(--hero);color:var(--hero-ink)}
.dark h2{color:var(--hero-ink)}
.dark .lead{color:var(--hero-ink)}
.dark .box{color:var(--ink)}

/* footer */
footer{padding:34px 0 44px;background:var(--paper)}
.tb{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;background:var(--teal);border:2px solid var(--teal);border-radius:10px;overflow:hidden}
@media (min-width:860px){.tb{grid-template-columns:1.4fr 1.1fr 1.3fr 1fr}}
.tb>div{background:var(--card);padding:10px 14px 12px}
.tb .wide{grid-column:1/-1;background:var(--teal);color:var(--on-teal)}
.tb .l{display:block;font-size:.74rem;font-stretch:92%;color:var(--ink-2);margin-bottom:2px}
.tb .wide .l{color:inherit;opacity:.8}
.tb .v{display:block;font-weight:680;font-stretch:90%;font-size:.97rem;line-height:1.3}
.tb .big{font-weight:820;font-stretch:76%;font-size:1.5rem;line-height:1.05}
.legal{font-family:var(--serif);font-size:.88rem;line-height:1.55;color:var(--ink-2);margin:16px 0 0;max-width:80ch}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .bar,.fill,.beyond,.capm,.pm::before,.pm::after{transition:none}
  details.more[open] .box,details.tile[open] .tdesc{animation:none}
}
