:root{--paper:#efeee9;--paper-deep:#e5e3dc;--desk:#d6d5d0;--ink-900:#1c1c1a;--ink-700:#3b3b38;--ink-500:#6f6e69;--rule:#c8c6be;--rule-light:#dcdad3;--redline:#e2552b;--redline-tint:#f6ddd3;--sheet-dark:#1e1e1c;--sheet-dark-rule:#4a4a46;--white:#fff;--font-sans:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--font-brand:"Archivo Black", "IBM Plex Sans", sans-serif;--sheet-max:1312px;--content:1152px;--pad:80px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-padding-top:24px}body{background:var(--desk);color:var(--ink-900);font-family:var(--font-sans);margin:0;line-height:1.55}h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}svg{display:block}:focus-visible{outline:2px solid var(--redline);outline-offset:3px}.t-display-xl{letter-spacing:-.034em;font-size:clamp(48px,6.4vw,88px);font-weight:500;line-height:1}.t-display-l{letter-spacing:-.034em;font-size:clamp(40px,4.8vw,64px);font-weight:500;line-height:1.02}.t-h2{letter-spacing:-.031em;font-size:clamp(34px,3.6vw,48px);font-weight:500;line-height:1.05}.t-h3{letter-spacing:-.015em;font-size:26px;font-weight:500;line-height:1.2}.t-h4{letter-spacing:-.01em;font-size:19px;font-weight:500;line-height:1.3}.t-stat{letter-spacing:-.03em;font-size:80px;font-weight:400;line-height:.95}.t-step{letter-spacing:-.027em;font-size:56px;font-weight:500;line-height:1}.t-body-l{font-size:19px;line-height:1.55}.t-body-m{font-size:16px;line-height:1.55}.t-body-s{font-size:14px;line-height:1.5}.t-label{font-size:15px;font-weight:500;line-height:1.2}.t-mono{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;font-size:11px;line-height:1.3}.t-sheet{font-family:var(--font-mono);letter-spacing:-.012em;font-size:40px;font-weight:500;line-height:1}.muted{color:var(--ink-500)}.soft{color:var(--ink-700)}.red{color:var(--redline)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=900px){:root{--pad:20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.diagram{width:100%;height:auto;overflow:visible}.d-stroke{fill:none;stroke:var(--ink-900);stroke-width:1.5px}.d-bold{stroke-width:2.5px}.d-heavy{stroke-width:3px}.d-paper{fill:var(--paper)}.d-line{fill:none;stroke:var(--ink-900);stroke-width:1.2px}.d-thin{stroke-width:1px}.d-line.d-thin:not(.d-red){stroke:var(--rule)}.d-red{stroke:var(--redline)}.d-text{fill:var(--ink-900);font-family:var(--font-sans);font-size:12px}.d-small{font-size:11px}.d-mono{font-family:var(--font-mono);letter-spacing:.1em;font-size:9.5px}.d-text-red{fill:var(--redline)}.logo{align-items:center;gap:10px;display:inline-flex}.logo__word{font-family:var(--font-brand);text-transform:uppercase;font-size:14px;line-height:.95}.logo--lg{gap:18px}.logo--lg .logo__word{font-size:clamp(32px,3.4vw,44px);line-height:.92}.btn{white-space:nowrap;border:1px solid #0000;align-items:center;gap:10px;padding:12px 18px;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.btn__arrow{transition:transform .2s}.btn:hover .btn__arrow{transform:translate(3px)}.btn--dark{background:var(--ink-900);color:var(--white)}.btn--dark:hover{background:var(--ink-700)}.btn--outline{border-color:var(--ink-900);color:var(--ink-900)}.btn--outline:hover{background:var(--ink-900);color:var(--white)}.btn--redline{background:var(--redline);color:var(--white)}.btn--redline:hover{background:#c8461f}.btn--outline-light{color:var(--white);border-color:#fff9}.btn--outline-light:hover{background:var(--white);color:var(--ink-900)}.text-link{border-bottom:1px solid var(--ink-900);gap:8px;padding-bottom:4px;display:inline-flex}.text-link:hover{color:var(--redline);border-color:var(--redline)}.sheet-label{align-items:center;gap:10px;display:inline-flex}.sheet-label__dot{background:var(--ink-500);width:3px;height:3px}.sheet-label__title{color:var(--ink-500)}.sheet-label--light .sheet-label__code{color:var(--white)}.sheet-label--light .sheet-label__title{color:#ffffff80}.tag{border:1px solid var(--redline);color:var(--redline);padding:4px 8px;display:inline-block}.dimension{color:var(--redline);align-items:center;gap:8px;font-size:10px;display:flex}.dimension__line{background:var(--redline);flex:1;height:1px;position:relative}.dimension__line:first-child:before,.dimension__line:last-child:after{content:"";background:var(--redline);width:1px;height:9px;position:absolute;top:-4px}.dimension__line:first-child:before{left:0}.dimension__line:last-child:after{right:0}.note{border:1px solid var(--redline);flex-direction:column;gap:8px;padding:14px;display:flex}.note--dark .note__text{color:var(--white)}.tb-cell{border:1px solid var(--ink-900);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.tb-cell+.tb-cell{border-top:0}.tb-cell__label{color:var(--ink-500)}.tb-cell__value{font-size:15px;font-weight:500;line-height:1.3}.section-head{justify-content:space-between;align-items:flex-end;gap:40px;display:flex}.section-head__main{flex-direction:column;gap:18px;max-width:560px;display:flex}.section-head__desc{max-width:420px}@media (width<=900px){.section-head{flex-direction:column;align-items:flex-start;gap:16px}}.case-modal{border:1px solid var(--ink-900);background:var(--paper);width:min(880px,100vw - 32px);max-height:calc(100dvh - 48px);color:var(--ink-900);padding:0;overflow:auto}.case-modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1c1c1a8c}.case-modal[open]{animation:.25s ease-out modal-in}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)}}.case-modal__sheet{flex-direction:column;gap:28px;padding:32px;display:flex}.case-modal__head{border-bottom:1px solid var(--ink-900);justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px;display:flex}.case-modal__headline{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.case-modal__close{border:1px solid var(--ink-900);padding:8px 10px}.case-modal__close:hover{background:var(--ink-900);color:var(--white)}.case-modal__drawing{border:1px solid var(--ink-900);flex-direction:column;gap:12px;padding:16px;display:flex}.case-modal__grid{border-top:1px solid var(--ink-900);grid-template-columns:1fr 1fr;margin:0;display:grid}.case-modal__grid>div{border-bottom:1px solid var(--rule);flex-direction:column;gap:10px;padding:20px 20px 20px 0;display:flex}.case-modal__grid>div:nth-child(2n){border-left:1px solid var(--rule);padding-left:20px}.case-modal__grid dd{margin:0}.case-modal__list{gap:8px;display:grid}.case-modal__list li{padding-left:20px;position:relative}.case-modal__list li:before{content:"→";color:var(--redline);position:absolute;left:0}.case-modal__outcome{border:1px solid var(--redline);background:var(--redline-tint);flex-direction:column;gap:10px;padding:20px;display:flex}@media (width<=700px){.case-modal__sheet{padding:20px}.case-modal__grid{grid-template-columns:1fr}.case-modal__grid>div:nth-child(2n){border-left:0;padding-left:0}}.block{border-top:1px solid var(--rule);flex-direction:column;gap:40px;padding:80px 0;display:flex}.block--tight{gap:28px;padding:56px 0}.index-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.header{border-bottom:1px solid var(--ink-900)}.navbar{grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:22px 0;display:grid}.navbar__links{justify-content:center;gap:28px;display:flex}.nav-link{align-items:center;gap:8px;display:inline-flex}.nav-link:hover .t-body-s{color:var(--redline)}.navbar__toggle{border:1px solid var(--ink-900);padding:10px 12px;display:none}.hero{grid-template-columns:1fr 240px;gap:32px;padding:56px 0;display:grid}.hero__main{flex-direction:column;gap:40px;min-width:0;display:flex}.hero__title{max-width:860px}.hero__row{grid-template-columns:300px 1fr;align-items:end;gap:20px;display:grid}.hero__intro{flex-direction:column;gap:24px;display:flex}.hero__actions{flex-wrap:wrap;gap:10px;display:flex}.hero__drawing{border:1px solid var(--ink-900);padding:0}.title-block{flex-direction:column;gap:24px;display:flex}.index-grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.index-card{border:1px solid var(--ink-900);flex-direction:column;transition:background-color .2s;display:flex}.index-card:hover{background:var(--paper-deep)}.index-card__head{flex-direction:column;gap:10px;padding:12px 14px;display:flex}.index-card__body{flex-direction:column;flex:1;gap:12px;padding:28px 14px;display:flex}.index-card__foot{border-top:1px solid var(--ink-900);justify-content:space-between;padding:10px 14px;display:flex}.service-list{border-top:1px solid var(--ink-900)}.service-row{border-bottom:1px solid var(--ink-900)}.service-row__link{grid-template-columns:64px 340px 140px 1fr 24px;align-items:center;gap:24px;padding:20px 0;transition:background-color .15s;display:grid}.service-row__link:hover{background:var(--paper-deep)}.service-row__toggle{justify-self:end;transition:transform .2s,color .2s}.service-row__link:hover .service-row__toggle{color:var(--redline);transform:rotate(90deg)}.cases{flex-direction:row;align-items:center;gap:40px}.cases__intro{flex-direction:column;flex:0 0 280px;align-items:flex-start;gap:20px;display:flex}.cases__viewport{flex-direction:column;flex:1;gap:16px;min-width:0;display:flex}.cases__bar{justify-content:space-between;align-items:center;display:flex}.cases__arrows{align-items:center;gap:8px;display:flex}.cases__arrows button{border:1px solid var(--ink-900);width:32px;height:28px}.cases__arrows button:hover{background:var(--ink-900);color:var(--white)}.cases__arrows .muted{margin-left:8px}.cases__track{scroll-snap-type:x mandatory;scrollbar-width:none;gap:24px;padding-bottom:2px;display:flex;overflow-x:auto}.cases__track::-webkit-scrollbar{display:none}.case-card{scroll-snap-align:start;flex:0 0 min(560px,85%)}.case-card__btn{text-align:left;flex-direction:column;width:100%;height:100%;display:flex}.case-card__drawing{border:1px solid var(--ink-900);flex-direction:column;gap:0;padding:12px 0 0;display:flex}.case-card__drawing-head{justify-content:space-between;padding:0 16px 8px;font-size:10px;display:flex}.case-card__caption{border:1px solid var(--ink-900);border-top:0;flex:1;grid-template-columns:1fr 140px;gap:24px;padding:18px;transition:background-color .2s;display:grid}.case-card__btn:hover .case-card__caption{background:var(--paper-deep)}.case-card__main{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.case-card__title{letter-spacing:-.015em;font-size:22px;font-weight:500;line-height:1.2}.case-card__meta{flex-direction:column;gap:4px;display:flex}.case-card__open{margin-top:auto;padding-top:12px}.case-card__btn:hover .case-card__open{color:var(--redline)}.method{flex-direction:row;justify-content:space-between;gap:40px}.method__intro{flex-direction:column;flex:0 0 400px;gap:20px;display:flex}.method__intro .soft{max-width:380px}.method__steps{flex:0 700px;gap:36px;display:flex}.method__rail{flex:0 0 60px;position:relative}.method__rail:before{content:"";background:var(--redline);width:1px;position:absolute;top:0;bottom:0;left:44px}.method__rail i{background:var(--redline);width:13px;height:1px;position:absolute;left:38px}.method__rail span{color:var(--redline);writing-mode:vertical-rl;font-size:9px;position:absolute;left:10px;transform:rotate(180deg)}.method__list{flex-direction:column;flex:1;gap:44px;display:flex}.step{grid-template-columns:110px 1fr;gap:32px;display:grid}.step>div{flex-direction:column;gap:8px;padding-top:6px;display:flex}.skills{grid-template-columns:168px repeat(3,1fr);display:grid}.skills__rows{flex-direction:column;display:flex}.skills__rows-head{height:120px}.skills__rows span:not(.skills__rows-head){align-items:center;height:46px;display:flex}.skills__head{border-top:2px solid var(--ink-900);flex-direction:column;gap:6px;height:120px;margin-right:16px;padding:16px 16px 0 0;display:flex}.skills__col li{border-top:1px solid var(--rule);align-items:center;height:46px;padding:0 12px 0 0;display:flex}.skills__col li:last-child{border-bottom:1px solid var(--rule)}.skills__col+.skills__col li{padding-left:0}.skills__empty{color:var(--rule)}.jobs{border-top:1px solid var(--ink-900)}.job{border-bottom:1px solid var(--rule);grid-template-columns:64px 340px 340px 1fr;align-items:center;gap:24px;padding:22px 0;display:grid}.creds{flex-direction:column;gap:32px;padding-top:24px;display:flex}.creds__grid{grid-template-columns:repeat(3,1fr);display:grid}.cred{border:1px solid var(--ink-900);flex-direction:column;gap:10px;padding:24px;display:flex}.cred+.cred{border-left:0}.contact{background:var(--sheet-dark);color:var(--white);padding:10px;scroll-margin-top:24px}.contact__frame{border:1px solid var(--sheet-dark-rule);grid-template-columns:1fr 260px;display:grid}.contact__main{flex-direction:column;gap:28px;padding:40px;display:flex}.contact__title{margin-top:90px}.contact__lead{opacity:.7;max-width:520px}.contact__block{border-left:1px solid var(--sheet-dark-rule);flex-direction:column;display:flex}.contact__cell{border-bottom:1px solid var(--sheet-dark-rule);flex-direction:column;gap:6px;padding:14px 16px;display:flex}.contact__cell .t-mono{opacity:.55}.contact__cell .t-h4{overflow-wrap:anywhere;font-size:15px}.contact__cell a:hover{color:var(--redline)}.contact__note{margin-top:auto;padding:14px}.footer{padding:56px 0 28px}.footer__row{border-top:1px solid var(--ink-900);border-bottom:1px solid var(--ink-900);grid-template-columns:456px repeat(3,1fr);display:grid}.footer__brand{align-items:center;padding:28px 0;display:flex}.footer__col{border-left:1px solid var(--ink-900);flex-direction:column;gap:10px;padding:28px 24px;display:flex}.footer__col ul{gap:10px;display:grid}.footer__col a:hover,.footer__cv:hover{color:var(--redline)}.footer__bottom{flex-wrap:wrap;justify-content:space-between;gap:8px;padding-top:16px;display:flex}@media (width<=1200px){.hero{grid-template-columns:1fr}.title-block{grid-template-columns:1fr 1fr;align-items:start;display:grid}.service-row__link{grid-template-columns:56px 1fr 120px 24px}.service-row__desc{grid-column:2/4}.service-row__toggle{grid-area:1/4}.job{grid-template-columns:56px 1fr 1fr}.job .t-body-s{grid-column:2/-1}.footer__row{grid-template-columns:1fr 1fr}.footer__brand{grid-column:1/-1}.footer__col:nth-child(2){border-left:0;padding-left:0}.footer__brand+.footer__col,.footer__col{border-top:1px solid var(--ink-900)}}@media (width<=1000px){.index-grid{grid-template-columns:1fr 1fr}.cases,.method{flex-direction:column;align-items:stretch}.cases__intro,.method__intro,.method__steps{flex-basis:auto}.skills{grid-template-columns:1fr;gap:32px}.skills__rows{display:none}.skills__head{height:auto;margin-right:0;padding-bottom:16px}.skills__empty{display:none!important}.creds__grid{grid-template-columns:1fr}.cred+.cred{border-left:1px solid var(--ink-900);border-top:0}.contact__frame{grid-template-columns:1fr}.contact__block{border-left:0;border-top:1px solid var(--sheet-dark-rule)}.contact__title{margin-top:24px}}@media (width<=900px){.navbar{grid-template-columns:1fr auto}.navbar__cta{display:none}.navbar__toggle{display:block}.navbar__links{flex-direction:column;grid-column:1/-1;gap:14px;padding:8px 0 4px;display:none}.navbar__links.is-open{display:flex}.hero__row{grid-template-columns:1fr}.hero__drawing{order:-1}.title-block{grid-template-columns:1fr}}@media (width<=640px){.block{padding:56px 0}.index-grid{grid-template-columns:1fr}.service-row__link{grid-template-columns:1fr 24px;gap:8px 16px}.service-row__link>.t-mono:first-child,.service-row__title,.service-row__desc{grid-column:1}.service-row__toggle{grid-area:1/2}.case-card{flex-basis:88%}.case-card__caption{grid-template-columns:1fr;gap:12px}.method__steps{gap:16px}.method__rail{flex-basis:24px}.method__rail:before{left:12px}.method__rail i{left:6px}.method__rail span{display:none}.step{grid-template-columns:1fr;gap:8px}.t-step{font-size:40px}.job{grid-template-columns:1fr;gap:4px}.job .t-body-s{grid-column:auto}.contact__main{padding:24px}.footer__row{grid-template-columns:1fr}.footer__col{border-left:0;padding:20px 0}}.desk{min-height:100vh;padding:40px 64px}.sheet{max-width:var(--sheet-max);padding:0 var(--pad);background:var(--paper);border-radius:14px;margin:0 auto;box-shadow:0 20px 50px -20px #0000002e}@media (width<=1100px){.desk{padding:24px}.sheet{padding:0 48px}}@media (width<=640px){.desk{padding:8px}.sheet{padding:0 var(--pad);border-radius:10px}}
