.site-header{z-index:var(--z-header);height:var(--header-h);--header-transform-t:.4s var(--ease-out-soft);transition:background-color .3s linear, border-color .3s linear, backdrop-filter .3s linear, transform var(--header-transform-t);background:0 0;border-bottom:1px solid #0000;position:sticky;top:0}.site-header.is-scrolled{backdrop-filter:blur(12px)saturate(1.1);background:#f7f5f0db;border-bottom-color:#1b1a1712}.site-header.is-hidden{--header-transform-t:.5s var(--ease-in-out);transform:translateY(-100%)}.site-header.is-visible{transform:translateY(0)}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--s-4);height:100%;display:flex}.site-header__inner>.wordmark{position:relative}.site-header__inner>.wordmark:after{content:"";position:absolute;inset:-13px 0}.site-header__actions .btn--sm{position:relative}.site-header__actions .btn--sm:after{content:"";position:absolute;inset:-4px 0}.site-header__actions{flex-shrink:0;align-items:center;gap:20px;display:flex}@media (width>=900px){.site-header__actions{gap:28px}}.site-header__sign-in{min-width:44px;min-height:44px;color:var(--ink);align-items:center;text-decoration:none;display:inline-flex}@media (prefers-reduced-motion:reduce){.site-header.is-hidden{transform:none}}:root{color-scheme:light;--font-display:"Newsreader Variable", "Newsreader Variable fallback", Georgia, serif;--font-ui:"Instrument Sans Variable", "Instrument Sans Variable fallback", Arial, sans-serif;--t-display-xl-size:clamp(2.5rem, 1.6rem + 3.6vw, 5rem);--t-display-xl-weight:300;--t-display-xl-lh:1.04;--t-display-xl-tracking:-.022em;--t-display-l-size:clamp(2rem, 1.45rem + 2.2vw, 3.5rem);--t-display-l-weight:320;--t-display-l-lh:1.08;--t-display-l-tracking:-.016em;--t-display-m-size:clamp(1.75rem, 1.35rem + 1.6vw, 2.75rem);--t-display-m-weight:360;--t-display-m-lh:1.1;--t-display-m-tracking:-.012em;--t-title-size:clamp(1.25rem, 1.12rem + .5vw, 1.5rem);--t-title-weight:450;--t-title-lh:1.25;--t-title-tracking:-.005em;--t-lead-size:clamp(1.125rem, 1.04rem + .35vw, 1.3125rem);--t-lead-weight:380;--t-lead-lh:1.5;--t-lead-tracking:0;--t-body-size:clamp(1.0625rem, 1.02rem + .18vw, 1.1875rem);--t-body-weight:400;--t-body-lh:1.6;--t-body-tracking:0;--t-node-size:1.0625rem;--t-node-weight:420;--t-node-lh:1.35;--t-node-tracking:0;--t-ui-size:.9375rem;--t-ui-weight:500;--t-ui-lh:1.2;--t-ui-tracking:.01em;--t-small-size:.875rem;--t-small-weight:400;--t-small-lh:1.45;--t-small-tracking:.005em;--t-label-size:.75rem;--t-label-weight:600;--t-label-lh:1.2;--t-label-tracking:.14em;--t-wordmark-size:clamp(1.1875rem, 1.1rem + .3vw, 1.375rem);--t-wordmark-weight:460;--t-wordmark-lh:1;--t-wordmark-tracking:-.01em;--paper:#f7f5f0;--ink:#1b1a17;--ink-2:#45423c;--ink-3:#6b675f;--ink-line:#1b1a176b;--hairline:#d9d5cc;--accent:#ddaa64;--focus:#8a5d22;--button-hover:#0f0e0c;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--s-11:160px;--s-12:224px;--section-y:clamp(6rem, 3.6rem + 7.7vw, 12rem);--gutter:clamp(24px, 4vw, 64px);--container:1200px;--container-width:min(100% - 2 * var(--gutter), var(--container));--r-pill:999px;--r-focus:4px;--z-header:50;--z-skip:100;--ease-soak:cubic-bezier(.33, 0, .2, 1);--ease-out-soft:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-hover:cubic-bezier(.2, .8, .2, 1);--header-h:60px}@media (width>=900px){:root{--header-h:72px}}@property --underline{syntax:"<color>";inherits:false;initial-value:#d9d5cc}@font-face{font-family:Newsreader Variable fallback;src:local(Georgia);size-adjust:91.745%;ascent-override:80.1133%;descent-override:28.8844%;line-gap-override:0%;font-style:normal;font-weight:200 800}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-normal.s-izfB6B.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Variable fallback;src:local(Arial);size-adjust:102.736%;ascent-override:94.4163%;descent-override:24.3341%;line-gap-override:0%;font-style:normal;font-weight:400 700}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/instrument-sans-latin-wght-normal.BbzFLZTg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:100%}body{background:var(--paper);min-height:100svh;color:var(--ink-2);font-family:var(--font-display);font-size:var(--t-body-size);font-weight:var(--t-body-weight);line-height:var(--t-body-lh);letter-spacing:var(--t-body-tracking);font-optical-sizing:auto;font-kerning:normal;font-variant-ligatures:common-ligatures;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0}img,svg,video{max-width:100%;height:auto;display:block}a{color:var(--ink);text-decoration:none}::selection{color:var(--ink);background:#e9e3d6}:focus{outline:none}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:var(--r-focus)}.container{width:var(--container-width);margin-inline:auto}.t-display-xl{font-family:var(--font-display);font-size:var(--t-display-xl-size);font-weight:var(--t-display-xl-weight);line-height:var(--t-display-xl-lh);letter-spacing:var(--t-display-xl-tracking);color:var(--ink);text-wrap:balance}.t-display-l{font-family:var(--font-display);font-size:var(--t-display-l-size);font-weight:var(--t-display-l-weight);line-height:var(--t-display-l-lh);letter-spacing:var(--t-display-l-tracking);color:var(--ink);text-wrap:balance}.t-display-m{font-family:var(--font-display);font-size:var(--t-display-m-size);font-weight:var(--t-display-m-weight);line-height:var(--t-display-m-lh);letter-spacing:var(--t-display-m-tracking);color:var(--ink);text-wrap:balance}.t-title{font-family:var(--font-display);font-size:var(--t-title-size);font-weight:var(--t-title-weight);line-height:var(--t-title-lh);letter-spacing:var(--t-title-tracking);color:var(--ink);text-wrap:balance}.t-lead{font-family:var(--font-display);font-size:var(--t-lead-size);font-weight:var(--t-lead-weight);line-height:var(--t-lead-lh);letter-spacing:var(--t-lead-tracking);color:var(--ink-2);text-wrap:pretty}.t-body{font-family:var(--font-display);font-size:var(--t-body-size);font-weight:var(--t-body-weight);line-height:var(--t-body-lh);letter-spacing:var(--t-body-tracking);color:var(--ink-2);text-wrap:pretty}.t-node{font-family:var(--font-display);font-size:var(--t-node-size);font-weight:var(--t-node-weight);line-height:var(--t-node-lh);letter-spacing:var(--t-node-tracking);color:var(--ink)}.t-ui{font-family:var(--font-ui);font-size:var(--t-ui-size);font-weight:var(--t-ui-weight);line-height:var(--t-ui-lh);letter-spacing:var(--t-ui-tracking)}.t-small{font-family:var(--font-ui);font-size:var(--t-small-size);font-weight:var(--t-small-weight);line-height:var(--t-small-lh);letter-spacing:var(--t-small-tracking)}.t-label{font-family:var(--font-ui);font-size:var(--t-label-size);font-weight:var(--t-label-weight);line-height:var(--t-label-lh);letter-spacing:var(--t-label-tracking);text-transform:uppercase;color:var(--ink-3)}.t-wordmark{font-family:var(--font-display);font-size:var(--t-wordmark-size);font-weight:var(--t-wordmark-weight);line-height:var(--t-wordmark-lh);letter-spacing:var(--t-wordmark-tracking);color:var(--ink)}.max-w-hero-h1{max-width:11em}.max-w-section-h2{max-width:16em}.max-w-lead{max-width:32em}.max-w-body{max-width:34em}.max-w-topic-part{max-width:26ch}.btn{border-radius:var(--r-pill);background:var(--ink);height:48px;color:var(--paper);font-family:var(--font-ui);font-size:var(--t-ui-size);font-weight:var(--t-ui-weight);line-height:var(--t-ui-lh);letter-spacing:var(--t-ui-tracking);cursor:pointer;transition:transform .45s var(--ease-hover), box-shadow .45s var(--ease-hover), background-color .3s linear;border:none;justify-content:center;align-items:center;padding:0 26px;text-decoration:none;display:inline-flex}.btn--sm{height:36px;padding:0 14px;font-size:.875rem}@media (width>=900px){.btn--sm{height:40px;font-size:var(--t-ui-size);padding:0 18px}}.btn--lg{height:56px;padding:0 32px;font-size:1rem}@media (hover:hover){.btn:hover{background:var(--button-hover);transform:translateY(-2px);box-shadow:0 12px 24px -14px #1b1a178c}.btn:active{transition-duration:.12s;transform:translateY(0)scale(.98)}}.link{color:var(--ink);transition:background-size .35s var(--ease-hover), color .3s linear;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;padding-bottom:2px}.link--header{background-position:0 100%;background-size:0% 1px}@media (hover:hover){.site-header__sign-in:hover .link--header{background-position:0 100%;background-size:100% 1px}.site-header__sign-in:not(:hover) .link--header{background-position:100% 100%}.link--footer:hover,.link--inline:hover{--underline:var(--ink)}}.link--footer,.link--inline{--underline:var(--hairline);background-image:linear-gradient(var(--underline), var(--underline));background-size:100% 1px;transition:--underline .3s linear,color .3s linear}.t-muted{color:var(--ink-3)}.wordmark{color:var(--ink);text-decoration:none;transition:opacity .3s linear}@media (hover:hover){.wordmark:hover{opacity:.72}}@media (prefers-reduced-motion:reduce){@media (hover:hover){.btn:hover{box-shadow:none;transform:none}.btn:active{transform:none}}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.thread--reveal{opacity:.6;transform-origin:top}.skip-link{top:var(--s-2);left:var(--s-2);z-index:var(--z-skip);padding:var(--s-2) var(--s-4);background:var(--paper);color:var(--ink);border:1px solid var(--hairline);transition:transform .2s var(--ease-out-soft);position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}main:focus{outline:none}@media (prefers-reduced-motion:no-preference){html.js.motion-ok:not(.reveal-all) .reveal-pending{opacity:0}html.js.motion-ok:not(.reveal-all) [data-hero-layer]{opacity:.001}html.js.motion-ok:not(.reveal-all):has([data-hero]) [data-header]{opacity:0}html.js.motion-ok:not(.reveal-all):has([data-hero]) [data-hero-h1]{visibility:hidden}html.js.motion-ok:not(.reveal-all):has([data-hero]) [data-hero-lead],html.js.motion-ok:not(.reveal-all):has([data-hero]) [data-hero-cta]{opacity:0;transform:translateY(14px)}html.js.motion-ok:not(.reveal-all):has([data-hero]) [data-hero-cue] .thread{opacity:0;transform-origin:top;transform:scaleY(0)}html.js.motion-ok:not(.reveal-all):has([data-hero]) .hero__mist{opacity:0}html.js.motion-ok:not(.reveal-all) [data-reveal-lead]{opacity:0;transform:translateY(18px)}html.js.motion-ok:not(.reveal-all) .thread--reveal{transform:scaleY(0)}html.js.motion-ok:not(.reveal-all) [data-reveal-after]{opacity:0;transform:translateY(12px)}html.js.motion-ok:not(.reveal-all) .closing__horizon img:not(.is-loaded){opacity:0}html.js.motion-ok:not(.reveal-all) .principle__rule{transform:scaleX(0)}html.js.motion-ok:not(.reveal-all) .principle__content{opacity:0;transform:translateY(12px)}html.js.motion-ok:not(.reveal-all):is(.webgl2,.ink-fallback) .pillar:not(.is-inked) .pillar__media img,html.js.motion-ok:not(.reveal-all):is(.webgl2,.ink-fallback) .pillar:not(.is-inked) .pillar__label,html.js.motion-ok:not(.reveal-all):is(.webgl2,.ink-fallback) .pillar:not(.is-inked) .pillar__name{opacity:0}html.js.motion-ok:not(.reveal-all):is(.webgl2,.ink-fallback) .pillar:not(.is-inked) .pillar__blurb{opacity:0;transform:translateY(16px)}@media (width>=1200px){html.js.motion-ok .topic-web[data-tw-drawn]:not([data-tw-static]):not(.tw--static-tree) .tw__tree [data-tw-row] :is(.tw__label,.tw__desc,.tw__topic-label,.tw__topic-name),html.js.motion-ok .topic-web[data-tw-drawn]:not([data-tw-static]):not(.tw--static-tree) .tw__dot,html.js.motion-ok .topic-web[data-tw-drawn]:not([data-tw-static]):not(.tw--static-tree) .tw__caption,html.js.motion-ok .topic-web[data-tw-drawn]:not([data-tw-static]):not(.tw--static-tree) .tw__connector,html.js.motion-ok .topic-web[data-tw-drawn]:not([data-tw-static]):not(.tw--static-tree) .tw__continuation{opacity:1;stroke-dashoffset:0;clip-path:inset(0);transform:none!important}html.js.motion-ok:not(.reveal-all) .topic-web:not([data-tw-static]):not(.tw--static-tree):not([data-tw-drawn]) .tw__tree [data-tw-row] :is(.tw__label,.tw__desc,.tw__topic-label,.tw__topic-name){opacity:0;transform:translateY(10px)}html.js.motion-ok:not(.reveal-all) .topic-web:not([data-tw-static]):not(.tw--static-tree):not([data-tw-drawn]) [data-node=running]>.tw__row{transform-origin:0;transform:scale(.97)}html.js.motion-ok .topic-web[data-tw-drawn]:not([data-tw-static]):not(.tw--static-tree) [data-node=running]>.tw__row{transform:none!important}html.js.motion-ok:not(.reveal-all) .topic-web:not([data-tw-static]):not(.tw--static-tree) [data-node=running]>.tw__row :is(.tw__topic-label,.tw__topic-name){opacity:0}html.js.motion-ok:not(.reveal-all) .topic-web:not([data-tw-static]):not(.tw--static-tree):not([data-tw-drawn]) .tw__dot{transform:scale(0)}html.js.motion-ok:not(.reveal-all) .topic-web:not([data-tw-static]):not(.tw--static-tree) .tw__connector{stroke-dasharray:var(--len) var(--len);stroke-dashoffset:var(--len)}html.js.motion-ok:not(.reveal-all) .topic-web:not([data-tw-static]):not(.tw--static-tree) .tw__continuation{clip-path:inset(0 100% 0 0)}html.js.motion-ok:not(.reveal-all) .topic-web:not([data-tw-static]):not(.tw--static-tree) .tw__caption{opacity:0;transform:translateY(10px)}}@media (width<=1199.98px){html.js.motion-ok:not(.reveal-all) .topic-web:not([data-tw-static]):not(.tw--static-tree) :is([data-tw-row],.tw__caption){opacity:0;transform:translateY(10px)}html.js.motion-ok:not(.reveal-all) .topic-web:not([data-tw-static]):not(.tw--static-tree):not([data-tw-drawn]) .tw__dot{transform:scale(0)}html.js.motion-ok:not(.reveal-all) .topic-web:not([data-tw-static]):not(.tw--static-tree) .tw__spine{transform-origin:top;transform:scaleY(0)}html.js.motion-ok:not(.reveal-all) .topic-web:not([data-tw-static]):not(.tw--static-tree) .tw__tick{transform-origin:0;transform:scaleX(0)}}}html.reveal-all .topic-web :is([data-tw-row],.tw__caption),html.reveal-all:not(.main-ready) .topic-web :is([data-tw-row],.tw__caption),html:not(.js) .topic-web :is([data-tw-row],.tw__caption),.topic-web.tw--static-tree :is([data-tw-row],.tw__caption),.topic-web[data-tw-static] :is([data-tw-row],.tw__caption){opacity:1!important;transform:none!important}html.reveal-all .topic-web .tw__dot,html:not(.js) .topic-web .tw__dot,.topic-web.tw--static-tree .tw__dot,html.reveal-all .topic-web .tw__spine,html.reveal-all .topic-web .tw__tick,html:not(.js) .topic-web .tw__spine,html:not(.js) .topic-web .tw__tick,.topic-web.tw--static-tree .tw__spine,.topic-web.tw--static-tree .tw__tick{transform:none!important}html.reveal-all .topic-web .tw__dot[data-accent],html:not(.js) .topic-web .tw__dot[data-accent],.topic-web.tw--static-tree .tw__dot[data-accent],.topic-web[data-tw-static] .tw__dot[data-accent]{background-color:var(--accent)}html.js .topic-web.tw--measure :is([data-tw-row],.tw__caption,.tw__label,.tw__desc,.tw__dot,.tw__topic-label,.tw__topic-name){opacity:1!important;transform:none!important}
