@font-face{font-family:Inter;src:url('/fonts/inter-latin-wght-normal.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:14px;line-height:1.5;font-weight:430;color:#292929;background:#fff;font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}body{margin:0}a{color:inherit;text-decoration:none}a:hover{color:#111}button{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid #597c9d;outline-offset:5px;border-radius:2px}::selection{background:#e8e8e8}h1,h2,h3,p{margin:0;font-size:14px;line-height:21px}h1,h2,h3{font-weight:550}h2{margin-bottom:22px}p{margin-bottom:22px}p:last-child{margin-bottom:0}[hidden]{display:none!important}
.document{width:550px;margin-left:calc(50% - 275px);padding:80px 0 40px}.document>section{margin-bottom:62px;scroll-margin-top:70px}.introduction h1{margin-bottom:5px}.byline{font-size:12px;line-height:20px;color:#858585;margin-bottom:32px}.text-link{display:inline-flex;gap:10px;align-items:center;color:#555;font-size:13px;line-height:22px}.text-link span,.contact-link span{font-size:14px;color:#909090;transition:transform 140ms ease}.text-link:hover span,.contact-link:hover span{transform:translate(2px,-2px)}.text-link:hover,.contact-link:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#ccc}
.contents{position:fixed;top:80px;left:max(30px,calc(50% - 560px));width:210px;z-index:10}.wordmark{font-size:14px;color:#777;font-weight:500}.contents nav{display:flex;flex-direction:column;gap:6px;margin-top:64px}.contents nav a{font-size:12px;line-height:19px;color:#8b8b8b;width:fit-content}.contents nav a:hover,.contents nav a[aria-current]{color:#333}.nav-contact{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:#858585;margin-top:28px}.nav-contact:hover{color:#444}.mobile-header{display:none}.service+.service{margin-top:30px}.service h3{display:flex;align-items:center;gap:16px;margin-bottom:11px;font-weight:500}.service h3::after{content:'';height:1px;background:#eee;flex:1}.service p{color:#555}.process{padding:0;margin:29px 0 32px;list-style:none}.process li{display:grid;grid-template-columns:30px 1fr;column-gap:12px;margin-bottom:25px}.process li:last-child{margin-bottom:0}.step-number{font-size:11px;color:#999;line-height:22px;font-variant-numeric:tabular-nums}.process h3{font-weight:500;margin-bottom:6px}.process p{color:#666;font-size:13px;line-height:20px}
.system{margin-top:32px;padding:21px 22px 19px;border:1px solid #e9e9e9;border-radius:5px}.system-label{color:#888;font-size:11px;margin-bottom:20px}.system-tabs{display:flex;align-items:center;gap:10px}.system-tabs button{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border:0;background:transparent;padding:5px 0;font-size:12px;color:#939393;transition:color 120ms}.system-tabs button[aria-selected=true],.system-tabs button:hover{color:#333}.system-node{display:block;width:7px;height:7px;border:1px solid #bbb;border-radius:50%;background:white}.system-tabs button[aria-selected=true] .system-node{border-color:#555;background:#555}.connector{height:1px;background:#e9e9e9;flex:1}.system-panel{min-height:86px;padding-top:23px}.system-panel h3{font-size:12px;line-height:19px;font-weight:500;margin-bottom:5px}.system-panel p{font-size:12px;line-height:19px;color:#777;margin:0;max-width:450px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:22px}.section-heading h2{margin:0}.project-note{display:flex;align-items:center;gap:7px;color:#888;font-size:11px;white-space:nowrap}.project-details{margin:26px 0;display:grid;gap:12px}.project-details>div{display:grid;grid-template-columns:100px 1fr;gap:16px;font-size:12px;line-height:19px}.project-details dt{color:#444}.project-details dd{margin:0;color:#777}.contact-link{display:inline-flex;align-items:center;gap:13px;line-height:24px}.document-footer{display:flex;justify-content:space-between;gap:18px;padding-top:6px;color:#929292;font-size:11px}.document-footer a:hover{color:#444}.skip-link{position:fixed;top:-70px;left:20px;background:#fff;padding:10px 14px;border:1px solid #ddd;z-index:40}.skip-link:focus{top:12px}.error-page .document{padding-top:110px}.error-page h1{margin-bottom:24px}
@media(max-width:1100px){.contents{left:30px;width:165px}.document{margin-left:245px}}
@media(max-width:850px){html{scroll-padding-top:85px}.mobile-header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30;background:#fffffff7;border-bottom:1px solid #f2f2f2;min-height:57px;padding:8px 20px}.mobile-header .wordmark{font-size:13px}.menu-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:36px;height:36px;border:0;background:none;border-radius:3px}.menu-button:hover{background:#f7f7f7}.menu-button span{width:12px;height:1px;background:#8c8c8c}.contents{display:none}.contents.open{display:block;left:0;top:57px;width:100%;padding:20px 23px 24px;background:#fff;border-bottom:1px solid #eee;z-index:25}.contents.open .desktop-wordmark{display:none}.contents.open nav{margin:0;gap:0}.contents.open nav a{font-size:13px;padding:8px 0;min-height:37px}.contents.open .nav-contact{margin-top:15px;font-size:12px;padding:6px 0}.document{margin:0 auto;width:min(550px,calc(100% - 40px));padding-top:35px}.document>section{scroll-margin-top:85px}.byline{margin-bottom:29px}.error-page .document{padding-top:55px}}
@media(max-width:600px){.document{padding-top:28px;padding-bottom:30px}.document>section{margin-bottom:49px}.byline{font-size:11px;line-height:19px;max-width:290px}.system{padding:17px 15px}.system-tabs{gap:7px}.system-tabs button{font-size:11px;gap:5px;padding:9px 0}.system-panel{min-height:105px;padding-top:18px}.project-details>div{grid-template-columns:79px 1fr;gap:12px}.process{margin-top:26px}.process li{grid-template-columns:23px 1fr;gap:10px}.section-heading{gap:10px}.project-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
