:root{--ink:#222222;--muted:#4A5350;--rule:#D8DCDA;--accent:#2F6187;--charcoal:#2A2E2D;
--tint:#F1F4F3;--foot:#F6F7F7;--green:#7FA83F}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);
font:16px/1.62 Arial,"Helvetica Neue",Helvetica,sans-serif}
img{max-width:100%;height:auto}
a{color:var(--accent)}
a:hover{text-decoration:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;z-index:20;background:#fff;padding:8px 12px;border:1px solid var(--accent)}
.shell{max-width:1040px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:"Arial Narrow","Helvetica Neue Condensed",Arial,sans-serif;font-weight:700;
letter-spacing:.01em;margin:0 0 12px}
p{margin:0 0 16px}

/* nav strip above header */
.navstrip{background:var(--charcoal)}
.navstrip-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.navstrip-list a{display:block;color:#fff;text-decoration:none;font:600 12px/42px "Arial Narrow",Arial,sans-serif;
text-transform:uppercase;letter-spacing:.09em;padding:0 16px 0 0;margin-right:16px}
.navstrip-list a:hover{color:#BFD7E8}
.navstrip-list li.is-section a{color:#BFD7E8}
.navsub{background:#3A403E}
.navsub .shell{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 18px;padding-top:8px;padding-bottom:8px}
.navsub-label{color:#9AA5A2;font:600 11px/1.6 Arial,sans-serif;text-transform:uppercase;letter-spacing:.09em}
.navsub ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px}
.navsub a{color:#E7ECEA;text-decoration:none;font-size:13px}
.navsub li.is-current a{color:#fff;border-bottom:2px solid var(--green)}

/* wordmark band */
.wordmark{border-bottom:1px solid var(--rule);background:#fff}
.wordmark-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;
min-height:82px;padding-top:12px;padding-bottom:12px}
.wordmark-mark img{display:block;max-width:325px}
.wordmark-utility{text-align:right}
.productmark{display:block;font:600 13px/1.4 "Arial Narrow",Arial,sans-serif;text-transform:uppercase;
letter-spacing:.1em;color:var(--muted)}
.utility-links a{font-size:13px;margin-left:14px}

/* home top */
.hometop{background:var(--tint);border-bottom:1px solid var(--rule);padding:44px 0 40px}
.hometop h1{font-size:40px;line-height:1.16;max-width:22em;margin-bottom:14px}
.hometop-sub{font-size:17px;color:var(--muted);max-width:44em;margin-bottom:10px}
.hometop-link{margin:0;font-size:15px}

/* grid */
.grid{display:grid;grid-template-columns:minmax(0,640px) 300px;gap:40px;padding-top:36px;padding-bottom:48px;
align-items:start}
.content{min-width:0}
.content h2{font-size:23px;margin-top:30px}
.content h3{font-size:19px;margin-top:24px}
.content ul,.content ol{padding-left:20px}
.content li{margin-bottom:8px}
.pagehead{border-bottom:3px solid var(--accent);padding-bottom:10px;margin-bottom:20px}
.pagehead h1{font-size:32px;line-height:1.2;margin:0}
.eyebrow{font:600 12px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;
color:var(--muted);margin:0 0 6px}
.standfirst{font-size:18px;color:var(--muted);margin-bottom:22px}
.figure{margin:20px 0}
.figure img{border:1px solid var(--rule)}

/* numbered capability rows */
.caplist{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid var(--rule)}
.caprow{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid var(--rule);margin:0}
.capnum{font:700 26px/1 "Arial Narrow",Arial,sans-serif;color:var(--accent);min-width:44px}
.capbody{min-width:0}
.capbody h2,.capbody h3{font-size:21px;margin:0 0 6px}
.capsub{font:600 12px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 6px}
.caplink{margin:8px 0 0;font-size:15px}

/* continuum ledger motif */
.ledger{list-style:none;margin:0;padding:0}
.ledger li{display:flex;align-items:center;gap:10px}
.ledger img{width:auto;max-height:26px;flex:none}
.ledger a{font-size:14px;text-decoration:none}
.ledger a:hover{text-decoration:underline}
.ledger-page{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--rule);
border-bottom:1px solid var(--rule);margin:0 0 22px}
.ledger-page li{align-items:flex-start;padding:12px 10px 12px 0}
.ledger-page a{font-size:13px;line-height:1.35}
.ledger-rail li{padding:8px 0;border-bottom:1px solid var(--rule)}
.ledger-rail li:last-child{border-bottom:0}

/* rail */
.rail{min-width:0}
.widget{border-top:3px solid var(--charcoal);padding:14px 0 18px;margin-bottom:22px;border-bottom:1px solid var(--rule)}
.widget-title{font:700 13px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:.09em;margin:0 0 10px}
.widget p{font-size:14px}
.widget .cite{font-style:italic;color:var(--muted);font-size:13px}
.widget-list{list-style:none;margin:0 0 12px;padding:0}
.widget-list li{padding:8px 0;border-bottom:1px solid var(--rule);font-size:14px}
.widget-list li:last-child{border-bottom:0}
.widget-note{font-size:13px;color:var(--muted);margin:0}
.date{display:block;font:600 12px/1.6 Arial,sans-serif;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.contact-fact{font-size:16px}

/* updates band */
.updates{background:var(--tint);border-top:1px solid var(--rule);padding:34px 0 30px}
.updates h2{font-size:23px}
.uplist{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 32px}
.uplist li{padding:14px 0;border-top:1px solid var(--rule)}
.meta{margin:0 0 4px}
.cat{display:inline-block;font:600 11px/1.6 Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;
text-decoration:none}
.uptitle{margin:0;font-size:16px;line-height:1.35}
.uparchives{margin:0;font-size:14px}

/* archive lists */
.alist{list-style:none;margin:0;padding:0}
.arow{padding:20px 0;border-bottom:1px solid var(--rule)}
.arow h2{font-size:21px;margin:4px 0 8px}
.arow h2 a{text-decoration:none}
.excerpt{color:var(--muted);margin:0}

/* posts */
.post h1{font-size:31px;line-height:1.2;margin-bottom:8px}
.postmeta{font-size:13px;color:var(--muted);border-bottom:1px solid var(--rule);padding-bottom:10px;margin-bottom:20px}
.post p:last-of-type{color:var(--muted);font-size:14px}
.postcat{font-size:13px;color:var(--muted);border-top:1px solid var(--rule);padding-top:12px}
.postnav{display:flex;gap:24px;border-top:1px solid var(--rule);padding-top:14px}
.postnav div{flex:1}
.postnav span{display:block;font:600 11px/1.6 Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.postnav .next{text-align:right}
.related{border-top:1px solid var(--rule);margin-top:28px;padding-top:14px}
.related h2{font-size:15px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.related ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px}
.factlist{list-style:none;margin:20px 0;padding:0;border-top:1px solid var(--rule)}
.factlist li{padding:12px 0;border-bottom:1px solid var(--rule)}
.factlabel{display:block;font:600 11px/1.6 Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}

/* footer */
.sitefoot{background:var(--foot);border-top:1px solid var(--rule);padding:34px 0 0}
.footmark img{display:block;margin-bottom:10px}
.footmark p{max-width:52em;font-size:13px;color:var(--muted)}
.footcols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:22px 0 26px}
.footcol-title{font:700 13px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:.09em;margin-bottom:10px}
.footcol ul{list-style:none;margin:0;padding:0}
.footcol li{padding:4px 0;font-size:14px}
.credit{border-top:1px solid var(--rule);padding:14px 0 22px;text-align:center}
.credit p{font-size:13px;color:var(--muted);margin:0}
.credit-note{margin-top:6px}

@media (max-width:900px){
.grid{grid-template-columns:1fr;gap:28px}
.uplist{grid-template-columns:repeat(2,1fr);gap:0 24px}
.footcols{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:782px){
.navstrip-list a{line-height:44px;font-size:12px;padding-right:12px;margin-right:12px}
.wordmark-inner{flex-direction:column;align-items:flex-start;gap:8px}
.wordmark-mark img{max-width:240px}
.wordmark-utility{text-align:left}
.utility-links a{margin:0 16px 0 0}
.hometop{padding:30px 0 28px}
.hometop h1{font-size:29px;line-height:1.2}
.caprow{flex-direction:column;gap:6px}
.capnum{font-size:16px;letter-spacing:.1em}
.postnav{flex-direction:column;gap:14px}
.postnav .next{text-align:left}
}
@media (max-width:600px){
.uplist{grid-template-columns:1fr}
.footcols{grid-template-columns:1fr}
.ledger-page{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:400px){
.ledger-page{grid-template-columns:1fr}
}
