@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap");*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.static{position:static}.mb-10{margin-bottom:2.5rem}.mb-4{margin-bottom:1rem}.flex{display:flex}.min-h-screen{min-height:100vh}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.text-lg{font-size:1.125rem;line-height:1.75rem}.font-semibold{font-weight:600}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--bg:#11161a;--bg-elev:#161c21;--bg-deep:#0b0f12;--fg:#f1ece3;--fg-mute:#8a958f;--fg-soft:#5d6661;--rule:#232b31;--accent:oklch(84% 0.155 92);--accent-deep:oklch(64% 0.13 90);--row-pad:24px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:400;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}::selection{background:var(--accent);color:var(--bg-deep)}a{text-decoration:none}a,button{color:inherit;-webkit-tap-highlight-color:transparent}button{font:inherit;background:none;border:0;cursor:pointer}img{display:block;max-width:100%;height:auto}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.05 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");opacity:.4;mix-blend-mode:overlay}.topbar{position:fixed;top:0;left:0;right:0;height:2px;z-index:50;background:transparent}.topbar__fill{display:block;height:100%;width:0;background:var(--accent);transition:width .1s linear}.sidenav{position:fixed;right:30px;top:50%;transform:translateY(-50%);z-index:45;display:flex;flex-direction:column;align-items:flex-end;gap:16px;mix-blend-mode:difference}.sidenav__brand{font-size:12px;letter-spacing:.06em;font-weight:600;color:var(--fg);margin-bottom:10px;text-decoration:none}.sidenav__brand b{color:var(--accent);font-weight:300}.sidenav ul{list-style:none;display:flex;flex-direction:column;align-items:flex-end;gap:13px}.sidenav a{display:inline-flex;align-items:center;gap:10px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-soft);transition:color .25s;text-decoration:none}.sidenav a .n{font-size:9px;opacity:.55;font-variant-numeric:tabular-nums}.sidenav a:after{content:"";width:0;height:1px;background:var(--accent);transition:width .28s cubic-bezier(.4,0,.2,1)}.sidenav a:hover{color:var(--fg)}.sidenav a:hover:after{width:20px}.sidenav a.is-active{color:var(--fg)}.sidenav a.is-active .n{color:var(--accent);opacity:1}.sidenav a.is-active:after{width:28px}.shell{max-width:1320px;margin:0 auto;padding:0 32px}.section{border-top:1px solid var(--rule);padding:84px 0 96px;position:relative}.section__hd{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:baseline;margin-bottom:56px;padding-bottom:20px;border-bottom:1px dashed var(--rule)}.section__num{color:var(--accent);font-size:11px;letter-spacing:.2em;font-weight:600}.section__title{font-size:13px;letter-spacing:.28em;text-transform:uppercase;font-weight:600}.section__count{color:var(--fg-soft);font-size:11px;letter-spacing:.2em;text-transform:uppercase}.reel{position:relative;height:680vh}.reel__stage{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;text-align:center;padding:0 24px}.reel__kicker{font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--fg-soft);margin-bottom:8px}.reel__words{position:relative;width:100%;height:clamp(64px,13vw,188px);display:flex;align-items:center;justify-content:center}.reel__word{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(34px,9.2vw,156px);line-height:1;letter-spacing:-.045em;font-weight:700;text-transform:uppercase;white-space:nowrap;opacity:0;will-change:transform,opacity;color:var(--fg)}.reel__word .pin{color:var(--accent);font-weight:300}.reel__desc{margin-top:28px;height:1.7em;font-size:clamp(13px,1.3vw,15px);letter-spacing:.04em;color:var(--fg-mute);max-width:520px;transition:opacity .35s ease}.reel__index{margin-top:40px;font-size:12px;letter-spacing:.28em;color:var(--fg-soft);font-variant-numeric:tabular-nums}.reel__index b{color:var(--accent);font-weight:600}.reel__bar{right:0;height:2px;background:var(--rule)}.reel__bar,.reel__bar:after{position:absolute;left:0;bottom:0}.reel__bar:after{content:"";top:0;width:var(--p,0);background:var(--accent)}.ledger{width:100%}.row{border-bottom:1px solid var(--rule);position:relative;transition:background .25s}.row:first-child{border-top:1px solid var(--rule)}.row__head{display:grid;grid-template-columns:56px 2.4fr 1.2fr 1fr 40px;gap:24px;align-items:center;padding:var(--row-pad) 0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}.row__num{color:var(--fg-soft);font-size:11px;letter-spacing:.15em;font-variant-numeric:tabular-nums;transition:color .2s}.row__title{font-size:clamp(18px,1.8vw,25px);font-weight:500;letter-spacing:-.015em;transition:transform .25s}.row__title small{display:block;color:var(--fg-soft);font-weight:400;margin-top:6px}.row__meta,.row__title small{font-size:11px;letter-spacing:.18em;text-transform:uppercase}.row__meta,.row__tech{color:var(--fg-mute)}.row__tech{font-size:11px;letter-spacing:.1em;line-height:1.6}.row__chev{color:var(--fg-soft);font-size:18px;text-align:right;transition:transform .3s,color .2s;font-weight:300}.row__hover-strip{position:absolute;right:0;top:0;bottom:0;width:0;background-size:cover;background-position:50%;opacity:0;pointer-events:none;transition:width .35s cubic-bezier(.4,0,.2,1),opacity .25s;mix-blend-mode:luminosity;filter:contrast(1.05) brightness(.65) saturate(.6);z-index:0}.row__head>*{position:relative;z-index:1}.row:hover .row__hover-strip{width:280px;opacity:.5}.row:hover .row__num{color:var(--accent)}.row:hover .row__title{transform:translateX(8px)}.row:hover .row__chev{color:var(--accent)}.row.is-open .row__chev{color:var(--accent);transform:rotate(45deg)}.row.is-open{background:var(--bg-elev)}.row__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.4,0,.2,1)}.row.is-open .row__body{grid-template-rows:1fr}.row__body-inner{overflow:hidden;min-height:0}.row__body-pad{padding:12px 0 56px;display:grid;grid-template-columns:56px 1fr 1fr;gap:32px}.row__body-pad>.spacer{grid-column:1}.row__body-text{padding-right:16px}.row__body-text h3{font-size:clamp(20px,2vw,28px);font-weight:500;letter-spacing:-.015em;margin-bottom:14px}.row__body-text h4{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-soft);font-weight:600;margin-bottom:12px}.row__body-text p{color:var(--fg-mute);font-size:14px;line-height:1.7;margin-bottom:16px}.row__body-text ul{list-style:none}.row__body-text li{position:relative;padding-left:22px;color:var(--fg-mute);font-size:14px;line-height:1.7;margin-bottom:10px}.row__body-text li:before{content:"→";position:absolute;left:0;color:var(--accent)}.row__body-text .link{display:inline-flex;align-items:center;gap:8px;color:var(--accent);border-bottom:1px solid var(--accent-deep);padding-bottom:2px;transition:gap .2s;margin-top:8px}.row__body-text .link:hover{gap:14px}.row__body-img{position:relative;border:1px solid var(--rule);background:var(--bg-deep);overflow:hidden;aspect-ratio:16/10}.row__body-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.03);transition:transform .8s}.row.is-open .row__body-img img{transform:scale(1)}body[data-density=compact]{--row-pad:15px}body[data-density=spacious]{--row-pad:32px}body[data-work=expanded] .row__body{grid-template-rows:1fr}body[data-work=expanded] .row__chev{display:none}body[data-work=expanded] .row__head{cursor:default}body[data-work=stacked] #work .row__head{display:none}body[data-work=stacked] #work .row__body{grid-template-rows:1fr}body[data-work=stacked] #work .row{background:transparent}body[data-work=stacked] #work .row__body-pad{grid-template-columns:1fr 1fr;padding:56px 0;gap:56px}body[data-work=stacked] #work .row__body-pad>.spacer{display:none}body[data-work=stacked] #work .row:nth-child(2n) .row__body-pad{direction:rtl}body[data-work=stacked] #work .row:nth-child(2n) .row__body-pad>*{direction:ltr}body[data-work=stacked] #work .row__body-img{aspect-ratio:4/3}.filter{display:flex;margin-bottom:28px;border:1px solid var(--rule);width:fit-content}.filter button{padding:10px 18px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-mute);border-right:1px solid var(--rule);transition:background .2s,color .2s}.filter button:last-child{border-right:0}.filter button:hover{color:var(--fg);background:var(--bg-elev)}.filter button.is-active{background:var(--accent);color:var(--bg-deep);font-weight:600}.filter__count{margin-left:8px;font-size:9.5px;color:var(--accent)}.filter button.is-active .filter__count{color:var(--bg-deep);opacity:.7}.footer{padding:88px 0 56px}.footer__top{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:28px;margin-bottom:72px}.footer__mail{font-size:clamp(26px,4.2vw,62px);font-weight:600;letter-spacing:-.025em;color:var(--fg);transition:color .2s;text-decoration:none}.footer__mail:hover{color:var(--accent)}.footer__contacts{display:flex;flex-wrap:wrap;gap:28px;font-size:13px;letter-spacing:.04em;color:var(--fg-mute)}.footer__contacts a{transition:color .2s;text-decoration:none}.footer__contacts a:hover{color:var(--accent)}.footer__base{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:22px;border-top:1px dashed var(--rule);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-soft)}.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1)}.reveal.is-in{opacity:1;transform:none}.reveal[data-delay="1"]{transition-delay:.08s}.reveal[data-delay="2"]{transition-delay:.16s}.reveal[data-delay="3"]{transition-delay:.24s}@media (hover:none){.row:hover .row__hover-strip{width:0;opacity:0}.row:hover .row__num{color:var(--fg-soft)}.row:hover .row__title{transform:none}.row:hover .row__chev{color:var(--fg-soft)}}@media (max-width:860px){.shell{padding:0 16px}.sidenav{display:none}.section{padding:48px 0 56px}.section__hd{gap:12px;margin-bottom:32px}.section__count{display:none}.row__head{grid-template-columns:36px 1fr 36px;gap:10px;padding:18px 0}.row__meta,.row__tech{display:none}.row__title{font-size:clamp(16px,4.5vw,22px)}.row__chev{font-size:20px}.row__body-pad{grid-template-columns:1fr;gap:20px;padding:16px 0 40px}.row__body-pad>.spacer{display:none}.row__body-img{aspect-ratio:16/10;min-height:180px}.reel__stage{padding:0 16px}.reel__words{overflow:hidden}.reel__word{font-size:clamp(26px,8vw,156px);letter-spacing:-.03em;white-space:normal;text-align:center}.reel__desc{font-size:13px;max-width:100%;height:auto;min-height:1.7em}.reel__index{margin-top:24px}.filter{width:100%}.filter button{flex:1;padding:12px 10px;text-align:center}.footer{padding:48px 0 40px}.footer__top{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:40px}.footer__mail{font-size:clamp(18px,5.5vw,62px);word-break:break-all}.footer__base{flex-direction:column;gap:6px}body[data-work=stacked] #work .row__body-pad{grid-template-columns:1fr;padding:36px 0}}