/* Site layout on top of the design system (design/styles.css), adapted from
   design/ui_kits/website/index.html. No inline styles: the CSP allows 'self' only. */
.site-wrap{width:min(var(--container-max),calc(100% - 2*clamp(20px,4vw,40px)));margin-left:auto;margin-right:auto}
.site-prose{max-width:760px}
.site-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;align-items:center;padding-top:72px;padding-bottom:72px}
.site-stack{display:flex;flex-direction:column;gap:24px}
.site-stack--s{gap:14px}
.site-h1{margin:0;font:400 clamp(48px,6.4vw,var(--text-display-xl))/var(--lh-display-xl) var(--font-display);letter-spacing:var(--ls-display-xl);text-wrap:balance}
.site-h1 em,.site-h2 em{color:var(--fg-accent)}
.site-h1--page{max-width:900px}
.site-h2{margin:0;font:400 var(--text-heading-1)/var(--lh-heading-1) var(--font-display);letter-spacing:-.01em}
.site-h3{margin:0;font:400 30px/1.1 var(--font-display)}
.site-lede{margin:0;font-size:18px;line-height:1.6;color:var(--fg-2);max-width:540px;text-wrap:pretty}
.site-muted{margin:0;color:var(--fg-2);text-wrap:pretty}
.site-accent{color:var(--fg-accent)}
.site-faint{color:var(--fg-3)}
.site-section{padding-top:64px;padding-bottom:64px}
.site-ruled{border-top:var(--border-ledger)}
.site-pagehead{padding-top:72px;padding-bottom:40px;display:flex;flex-direction:column;gap:20px}
.site-sechead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;flex-wrap:wrap}
.site-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.site-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.site-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:56px;align-items:start}
.site-letter{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:64px}
.site-step{border-top:1px solid var(--border-strong);padding-top:16px;display:flex;flex-direction:column;gap:10px}
.site-step__n{font-size:13px;color:var(--fg-accent);font-weight:500}
.site-stats{padding:28px 0 8px}
.site-actions{display:flex;gap:12px;flex-wrap:wrap}
.site-quote{margin:0;align-self:center;display:flex;flex-direction:column;gap:16px}
.site-quote p{margin:0;font:italic 400 40px/1.15 var(--font-display);color:var(--fg-1);text-wrap:balance}
.site-card-title{margin:0 0 14px;font:400 40px/1.06 var(--font-display);letter-spacing:-.01em}
.site-card-h{margin:0 0 10px;font:400 26px/1.15 var(--font-display)}
.site-card-p{margin:0 0 20px;color:var(--fg-2);max-width:520px}
.site-band{background:var(--navy-800);color:var(--paper-50)}
.site-band__in{padding:72px 0;display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.site-band__copy{display:flex;flex-direction:column;gap:14px;max-width:640px}
.site-band .site-h2{color:var(--paper-50)}
.site-band .site-h2 em{color:var(--acorn-300)}
.site-band p{margin:0;color:#B9C3D6}
.site-band .bs-overline{color:var(--acorn-300)}
.site-header{border-bottom:1px solid var(--border-1);background:var(--bg-page);position:sticky;top:0;z-index:10}
.site-header__in{display:flex;align-items:center;height:72px;gap:40px}
.site-logo{display:block;height:30px;width:auto}
.site-nav{display:flex;gap:28px}
.site-navlink{font-size:14px;font-weight:500;color:var(--fg-2);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent;transition:color var(--dur-fast) var(--ease-standard)}
.site-navlink:hover{color:var(--fg-1)}
.site-navlink[aria-current="page"]{color:var(--fg-1);border-bottom-color:var(--acorn-500)}
.site-footer{background:var(--paper-100);border-top:var(--border-ledger)}
.site-footer__top{padding:56px 0 40px;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:32px}
.site-footer__col{display:flex;flex-direction:column;gap:10px}
.site-footer__col .site-logo{align-self:flex-start}
.site-footer__tag{margin:0;font-size:14px;color:var(--fg-2);max-width:340px}
.site-footer__legal{border-top:1px solid var(--border-2);padding:20px 0 32px;font-size:12px;line-height:1.55;color:var(--fg-3);display:flex;flex-direction:column;gap:8px}
.site-footer__legal p{margin:0;max-width:900px}
.site-footer__legal strong{color:var(--fg-2);font-weight:600}
.site-footlink{font-size:14px;color:var(--fg-2);text-decoration:none}
.site-footlink:hover{color:var(--fg-1);text-decoration:underline;text-decoration-color:var(--acorn-500);text-underline-offset:3px}
.site-letters{border-top:var(--border-ledger)}
.site-letterrow{display:grid;grid-template-columns:140px minmax(0,1fr) 120px;gap:32px;padding:28px 0;border-bottom:1px solid var(--border-1);color:var(--fg-1);text-decoration:none;transition:background-color var(--dur-fast) var(--ease-standard)}
.site-letterrow:hover{background:var(--paper-100)}
.site-letterrow__date{font-size:13px;color:var(--fg-3)}
.site-letterrow__body{display:flex;flex-direction:column;gap:6px}
.site-letterrow__title{font:400 30px/1.12 var(--font-display)}
.site-letterrow__ex{color:var(--fg-2);font-size:15px}
.site-letterrow__end{display:flex;align-items:center;gap:10px;justify-content:flex-end}
.site-article{padding:56px 0 96px}
.site-article h1{margin:0;font:400 clamp(40px,7vw,60px)/1.0 var(--font-display);letter-spacing:-.015em;text-wrap:balance}
.site-article h1 em{color:var(--fg-accent)}
.site-article__kicker{margin:32px 0 16px;color:var(--fg-accent)}
.site-article__meta{font-size:13px;color:var(--fg-3);margin:24px 0 32px;padding-bottom:20px;border-bottom:1px solid var(--border-1)}
.site-article p{margin:0 0 20px;font-size:18px;line-height:1.65;text-wrap:pretty}
.site-article sup{color:var(--fg-accent);font-family:var(--font-mono)}
.site-article blockquote{margin:36px 0;padding:20px 0;border-top:var(--border-ledger);border-bottom:1px solid var(--border-1)}
.site-article blockquote p{margin:0;font:italic 400 34px/1.2 var(--font-display);text-wrap:balance}
.site-article__notes{margin-top:40px;padding-top:16px;border-top:1px solid var(--border-1);font-size:13px;color:var(--fg-3);font-family:var(--font-mono)}
.site-back{margin-left:-10px}
.site-icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.site-icon--s{width:16px;height:16px}
.site-icon--l{width:20px;height:20px}
.site-chart{display:block;width:100%;min-height:200px}
.site-chart svg{display:block;width:100%;overflow:visible}
.site-chart .c-mono{font-family:var(--font-mono);font-size:11px;fill:var(--fg-3)}
.site-chart .c-legend{letter-spacing:.1em;text-transform:uppercase}
.site-chart .c-prior{fill:none;stroke:var(--fg-3);stroke-width:1.5;stroke-dasharray:4 3}
.site-chart .c-area{fill:var(--acorn-500);fill-opacity:.22}
.site-chart .c-post{fill:none;stroke:var(--fg-1);stroke-width:1.75}
.site-chart .c-swatch{fill:var(--acorn-500);fill-opacity:.22;stroke:var(--fg-1);stroke-width:1.5}
.site-chart .c-mean{stroke:var(--acorn-600);stroke-width:1}
.site-chart .c-mean-t{fill:var(--fg-accent)}
.site-chart .c-base{stroke:var(--border-strong);stroke-width:1}
.site-404{padding:120px 0;display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.site-404 .site-icon{width:40px;height:40px;color:var(--fg-3)}
@media (max-width:900px){
  .site-hero,.site-split,.site-letter{grid-template-columns:minmax(0,1fr);gap:40px}
  .site-hero{padding-top:48px;padding-bottom:48px}
  .site-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-grid-3{grid-template-columns:minmax(0,1fr)}
  .site-header__in{gap:20px;justify-content:space-between}
  .site-logo{height:24px}
  .site-nav{gap:18px}
  .site-footer__top{grid-template-columns:minmax(0,1fr)}
  .site-letterrow{grid-template-columns:minmax(0,1fr);gap:10px}
  .site-letterrow__end{display:none}
  .site-quote p{font-size:32px}
  .site-card-title{font-size:32px}
}
