:root{--paper:#f6f7f4;--paper-hi:#fbfbf9;--sage:#e8ebe3;--rule:#d4dac9;--rule-strong:#b5c0a4;--ink:#292524;--ink-soft:#57534e;--ink-mute:#78716c;--olive-400:#96a67e;--olive:#5f704c;--olive-deep:#3e4834;--olive-night:#2c3326;--olive-black:#22271d;--on-dark:#eef0e8;--on-dark-soft:#c4ccb6;--on-dark-mute:#96a284;--warm:#f19449;--warm-ink:#a8431a;--serif:"Literata",Georgia,"Times New Roman",serif;--sans:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;--gutter:clamp(16px,4vw,56px);--gap:clamp(16px,2.4vw,40px);--max:1320px;--ease:cubic-bezier(.2,.7,.1,1);--head-h:72px;--buncss-light:initial;--buncss-dark: ;color-scheme:light;interpolate-size:allow-keywords}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--head-h) + 8px)}body{background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden;margin:0}html.menu-open body{overflow:hidden}img{display:block;max-width:100%;height:auto}h1,h2,h3{font-family:var(--serif);letter-spacing:-.012em;text-wrap:balance;margin:0;font-weight:400;line-height:1.15}p{text-wrap:pretty;hanging-punctuation:first allow-end;margin:0 0 1em}p:last-child{margin-bottom:0}a{color:inherit}em{font-family:var(--serif);color:var(--olive);font-style:italic}button{font:inherit;color:inherit}::selection{background:var(--rule);color:var(--ink)}:focus-visible{outline:2px solid var(--olive);outline-offset:3px}.sr-only{position:absolute;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0}.skip{position:absolute;left:var(--gutter);z-index:100;background:var(--olive-deep);color:var(--on-dark);padding:10px 14px;top:-100px}.skip:focus{top:12px}.wrap{max-width:var(--max);padding-inline:var(--gutter);width:100%;margin-inline-start:auto;margin-inline-end:auto}.kicker{display:block;font:400 .78rem/1.4 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--olive);margin:0}.grain{position:relative;isolation:isolate}.grain:before{content:"";position:absolute;z-index:-1;pointer-events:none;opacity:.09;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:220px 220px;inset:0}.band-deep.grain:before,.contact.grain:before{opacity:.22;mix-blend-mode:soft-light;filter:invert(1)}.arrow{transition:transform .4s var(--ease);flex-shrink:0;width:1.1em;height:1.1em}.flip{display:inline-flex;transform:scaleX(-1)}.text-link{display:inline-flex;color:var(--olive);text-decoration:none;cursor:pointer;transition:background-size .5s var(--ease),color .2s;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;border:0;align-items: center;gap:.5em;padding:0 0 3px;font-weight:500}.text-link:hover{color:var(--olive-deep);background-position:100% 100%;background-size:0% 1px}.text-link:hover .arrow{transform:translate(3px)}.btn{display:inline-flex;background:var(--olive-deep);color:var(--on-dark);text-decoration:none;border-radius:2px;align-items: center;gap:14px;padding:15px 22px 15px 24px;transition:background-color .3s;font-size:1rem;font-weight:500}.btn:hover{background:var(--olive)}.btn:hover .arrow{transform:translate(4px)}.btn-light{background:var(--paper);color:var(--olive-deep)}.btn-light:hover{background:#fff}.btn-light:hover .arrow{transform:translateY(3px)}.masthead{position:sticky;z-index:50;background:var(--paper);transition:box-shadow .3s;top:0}.masthead.is-scrolled{box-shadow:0 1px 0 var(--rule)}.masthead-row{display:flex;max-width:var(--max);height:var(--head-h);padding-inline:var(--gutter);align-items: center;gap:32px;margin-inline-start:auto;margin-inline-end:auto}.brand{transition:opacity .35s ease,transform .45s var(--ease),visibility 0s;font:450 1.25rem/1 var(--serif);letter-spacing:-.01em;text-decoration:none;white-space:nowrap;margin-right:auto}.js .brand.is-tucked{opacity:0;visibility:hidden;transition:opacity .25s ease,transform .35s var(--ease),visibility 0s .35s;transform:translateY(6px)}.site-nav{display:flex;align-items: center;gap:36px}.site-nav ul{display:flex;list-style:none;gap:26px;margin:0;padding:0}.site-nav ul a{position:relative;display:block;color:var(--ink-soft);text-decoration:none;padding:6px 0;transition:color .2s;font-size:.94rem}.site-nav ul a:after{content:"";position:absolute;transform-origin:right;transition:transform .45s var(--ease);background:currentColor;height:1px;bottom:0;left:0;right:0;transform:scaleX(0)}.site-nav ul a:hover,.site-nav ul a[aria-current]{color:var(--ink)}.site-nav ul a:hover:after,.site-nav ul a[aria-current]:after{transform-origin:left;transform:scaleX(1)}.nav-cta{border-bottom:1.5px solid var(--olive);color:var(--olive-deep);text-decoration:none;padding:6px 0 4px;transition:color .2s,border-color .2s;font-size:.94rem;font-weight:500}.nav-cta:hover{color:var(--olive);border-color:var(--olive-400)}.menu-toggle{display:none;position:relative;cursor:pointer;background:0 0;border:0;width:44px;height:44px;margin-right:-10px;padding:0}.menu-toggle-lines,.menu-toggle-lines:before{position:absolute;background:var(--ink);transition:transform .4s var(--ease),top .4s var(--ease);width:22px;height:1.5px;left:11px}.menu-toggle-lines{top:18px}.menu-toggle-lines:before{content:"";top:7px;left:0}.is-open .menu-toggle-lines{top:21px;transform:rotate(45deg)}.is-open .menu-toggle-lines:before{top:0;transform:rotate(-90deg)}@media (max-width:1100px){.menu-toggle{display:block}.site-nav{position:fixed;inset:var(--head-h)0 0;padding:24px var(--gutter)40px;background:var(--paper);overflow-y:auto;visibility:hidden;opacity:0;flex-direction:column;justify-content:space-between;align-items: flex-start;gap:40px;transition:opacity .3s,visibility 0s .3s}.is-open .site-nav{visibility:visible;opacity:1;transition:opacity .3s}.site-nav ul{flex-direction:column;gap:0;width:100%}.site-nav ul li{border-bottom:1px solid var(--rule)}.site-nav ul a{font:400 clamp(1.6rem,6vw,2.2rem)/1.2 var(--serif);color:var(--ink);padding:14px 0}.site-nav ul a:after{display:none}.is-open .site-nav li{animation:fade-up .6s var(--ease)both;animation-delay:calc(var(--i,0)*40ms + 60ms)}.nav-cta{font-size:1.1rem}}.contact{background:var(--olive-black);color:var(--on-dark);padding-block-start:clamp(80px,12vw,168px);padding-block-end:40px}.contact-head{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);align-items: end;margin-bottom:clamp(40px,6vw,80px)}.contact-head h2{grid-column:1/span 7;letter-spacing:-.03em;font-size:clamp(2.4rem,5.4vw,4.75rem);font-weight:350;line-height:1.02}.contact-head p{grid-column:8/-1;color:var(--on-dark-soft);max-width:24em}.contact-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--gap);list-style:none;margin:0;padding:0}.contact-list a{display:flex;text-decoration:none;border-top:1px solid #ffffff29;flex-direction:column;gap:6px;padding:18px 0 4px;transition:border-color .3s}.contact-label{color:var(--on-dark-mute);font-size:.85rem}.contact-value{display:inline-flex;color:var(--on-dark);overflow-wrap:anywhere;align-items: center;gap:8px;font-size:1.05rem;font-weight:500}.contact-value .arrow{color:var(--on-dark-mute);width:16px;height:16px}.contact-list a:hover{border-color:var(--on-dark-soft)}.contact-list a:hover .contact-value{color:#fff}.contact-list a:hover .arrow{color:var(--on-dark);transform:translate(2px,-2px)}@media (max-width:900px){.contact-head h2,.contact-head p{grid-column:1/-1}.contact-head p{margin-top:20px}.contact-list{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}}@media (max-width:480px){.contact-list{grid-template-columns:1fr;row-gap:8px}}.colophon{display:flex;color:var(--on-dark-mute);flex-wrap:wrap;justify-content:space-between;align-items: flex-end;gap:24px;margin-top:clamp(64px,9vw,128px);font-size:.875rem}.colophon>div{display:flex;flex-direction:column;gap:4px}.colophon-name{font:400 1.15rem/1.3 var(--serif);color:var(--on-dark)}.colophon .colophon-right{flex-flow:wrap;align-items: center;gap:8px 22px}.footer-rh1{display:inline-flex;color:var(--on-dark-soft);text-decoration:none;align-items: center;transition:color .2s}.footer-rh1:hover{color:#fff}.rh1-lockup{display:inline-flex;align-items: center;gap:.4rem;line-height:0}.rh1-mark{display:inline-flex;flex-shrink:0;justify-content:center;align-items: center;width:1rem;height:1rem;line-height:0}.rh1-mark svg{display:block;overflow:visible;width:100%;height:100%}.rh1-wordmark{display:block;overflow:visible;fill:currentColor;flex-shrink:0;width:auto;height:.66rem}.viewer{color:var(--on-dark);overflow:visible;background:0 0;border:0;width:min(94vw,1120px);max-width:none;max-height:none;padding:0}.viewer::backdrop{background:#1a2016db}.viewer[open]{animation:fade-up .45s var(--ease)}.viewer[open]::backdrop{animation:fade .35s ease}.viewer-stage{position:relative;height:min(78vh,820px)}.viewer-stage img{position:absolute;object-fit:contain;opacity:0;transition:opacity .4s ease,transform .6s var(--ease);width:100%;height:100%;inset:0;transform:scale(.985)}.viewer-stage img.is-active{opacity:1;transform:none}.viewer-bar{display:flex;justify-content:center;align-items: center;gap:18px;margin-top:18px}.viewer-btn{display:inline-flex;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items: center;width:46px;height:46px;transition:border-color .2s,background-color .2s}.viewer-btn:hover{border-color:var(--on-dark);background:#ffffff0f}.viewer-count{text-align:center;font:400 .85rem/1 var(--mono);letter-spacing:.06em;min-width:4.5em}.viewer-close{position:absolute;font:400 .78rem/1.4 var(--mono);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #fff6;padding:6px 0;top:-44px;right:0}@keyframes fade{0%{opacity:0}}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}}.js [data-reveal]{opacity:0;transition:opacity .9s ease,transform 1s var(--ease);transition-delay:calc(var(--d,0)*90ms);transform:translateY(18px)}.js [data-reveal].is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js [data-reveal]{opacity:1;transform:none}}.diagram{border-top:1px solid var(--rule-strong);margin:32px 0 8px;padding:24px 0 0}.diagram ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;gap:28px;margin:0;padding:0}.diagram li{display:flex;flex-direction:column;gap:8px}.diagram svg{display:block;overflow:visible;width:100%;height:auto;margin-bottom:10px}.d-surface{stroke:var(--rule-strong);stroke-width:1;stroke-dasharray:2 4}.d-dot{fill:var(--olive-deep)}.d-ghost{fill:none;stroke:var(--rule-strong);stroke-width:1.2;stroke-dasharray:3 3}.d-line{fill:none;stroke:var(--olive);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.d-thin{stroke-width:1}.d-faint{opacity:.35}.d-soft{stroke:var(--olive-400)}.d-accent{stroke:var(--warm)}.diagram-n{font:400 .74rem/1 var(--mono);letter-spacing:.06em;color:var(--olive)}.diagram-label{font:400 .95rem/1.35 var(--serif);color:var(--ink)}.js .diagram [data-draw]{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--ease);transition-delay:calc(var(--p,0)*.45s + .2s)}.js .diagram.is-in [data-draw]{stroke-dashoffset:0}@media (max-width:560px){.diagram ol{grid-template-columns:1fr;gap:22px}.diagram li{display:grid;grid-template-columns:120px 1fr;grid-template-rows:auto 1fr;align-items: start;column-gap:16px}.diagram svg{grid-row:1/span 2;overflow:hidden;margin:0}.diagram-n{padding-top:6px}}.mat{display:block;background:var(--sage);padding:clamp(14px,2.4vw,28px)}.mat img{filter:saturate(.8)contrast(.97);width:100%;transition:filter .6s}
