:root{--surface-primary:#ffffff;--surface-secondary:#f3f1f1;--surface-invert:#0f1418;--surface-overlay:rgb(15 20 24/30%);--text-primary:#0f1418;--text-secondary:rgb(15 20 24/57%);--text-invert:rgb(255 255 255/92%);--border-primary:rgb(15 20 24/8%);--highlight-hover:rgb(255 255 255/6%);--radius-none:0px;--radius-m:16px;--radius-l:24px;--radius-xl:48px;--spacing-none:0px;--spacing-2:2px;--spacing-4:4px;--spacing-8:8px;--spacing-12:12px;--spacing-16:16px;--spacing-24:24px;--spacing-32:32px;--spacing-48:48px;--spacing-64:64px;--spacing-96:96px;--spacing-180:180px;--spacing-s:var(--spacing-12);--spacing-m:var(--spacing-24);--spacing-xl:var(--spacing-64);--font-display:"Technikum","Arial Black",sans-serif;--font-caption:"Dentegra Caption",Georgia,serif;--font-body:"Inter",Arial,sans-serif}@font-face{font-family:Inter;src:url(/fonts/Inter-CyrillicExt-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;src:url(/fonts/Inter-Cyrillic-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;src:url(/fonts/Inter-Latin-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Technikum;src:url(/fonts/CopyrightBolditalicStudio-TechnikumBlackTrial.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Dentegra Caption;src:url(/fonts/CopyrightBolditalicStudio-DentCaptSemibldTrial.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}.text-h1,.text-h2{margin:0;font-family:var(--font-display);font-weight:900;font-style:normal;letter-spacing:0;text-transform:uppercase;font-synthesis:none}.text-h1{font-size:36px;line-height:40px}.text-h2{font-size:24px;line-height:28px}.text-paragraph-m{margin:0;font-family:var(--font-body);font-size:16px;font-weight:500;font-style:normal;line-height:24px;letter-spacing:0;font-feature-settings:"lnum" 1,"pnum" 1;font-synthesis:none}.text-description-m,.text-description-s{margin:0;font-family:var(--font-caption);font-weight:600;font-style:normal;text-transform:uppercase;font-feature-settings:"lnum" 1,"pnum" 1;font-synthesis:none}.text-description-m{font-size:16px;line-height:20px;letter-spacing:.32em}.text-description-s{font-size:14px;line-height:16px;letter-spacing:.28em}.text-link{position:relative;color:inherit;text-decoration:none;transition:.12s ease}.text-link:before{position:absolute;right:0;bottom:-2px;left:0;height:1px;border-radius:2px;background:var(--border-primary);content:"";pointer-events:none;transition:inherit}@media (hover:hover) and (min-width:960px){.text-link:hover:before{background:var(--text-secondary)}}.text-link:focus-visible{margin:0 -2px;padding:0 2px;border-radius:2px;outline:2px solid var(--surface-invert)}.button{position:relative;display:inline-flex;width:100%;min-height:48px;align-items:center;justify-content:center;padding:var(--spacing-12) var(--spacing-24);border:0;border-radius:var(--radius-m);background:var(--surface-invert);box-shadow:inset 0 6px 12px rgb(0 0 0/40%),inset 0 3px 6px rgb(255 255 255/30%);color:var(--text-invert);cursor:pointer;font-family:var(--font-body);font-size:16px;font-weight:500;font-style:normal;line-height:24px;letter-spacing:0;font-feature-settings:"lnum" 1,"pnum" 1;font-synthesis:none;text-align:center;transform:scale(1);transform-origin:center;transition:background-color .12s ease,box-shadow .12s ease,transform .12s ease;-webkit-tap-highlight-color:transparent}.button[data-state=hover]{background:linear-gradient(var(--highlight-hover),var(--highlight-hover)),var(--surface-invert);box-shadow:inset 0 4px 12px rgb(0 0 0/30%),inset 0 4px 8px rgb(255 255 255/30%)}@media (hover:hover) and (min-width:960px){.button:hover{background:linear-gradient(var(--highlight-hover),var(--highlight-hover)),var(--surface-invert);box-shadow:inset 0 4px 12px rgb(0 0 0/30%),inset 0 4px 8px rgb(255 255 255/30%)}}.button:active,.button[data-state=pressed]{background:var(--surface-invert);box-shadow:inset 0 6px 12px rgb(0 0 0/40%),inset 0 2px 4px rgb(255 255 255/30%);transform:scale(.98)}.button:focus-visible{outline:2px solid var(--surface-invert);outline-offset:3px}@media (prefers-reduced-motion:reduce){.button{transition:none}}.list-item{display:flex;width:100%;align-items:center;justify-content:center;gap:var(--spacing-16);padding:var(--spacing-16) 0;border:0;background:transparent;color:var(--text-primary);cursor:pointer;position:relative;text-align:left}.list-item:after{position:absolute;right:0;bottom:0;left:0;height:1px;background:linear-gradient(90deg,rgb(0 0 0/0),rgb(0 0 0/8%));content:"";pointer-events:none}.list-item:focus-visible{outline:2px solid var(--surface-invert);outline-offset:3px}.list-item__graphic{position:relative;isolation:isolate;display:grid;width:48px;height:48px;flex:0 0 48px;overflow:hidden;place-items:center;background:rgb(252 39 214/10%);transform:scale(1);transform-origin:center;transition:transform .12s ease}.list-item__graphic:after{position:absolute;inset:0;z-index:2;border-radius:inherit;background:#fff;content:"";mix-blend-mode:overlay;opacity:0;pointer-events:none;transition:opacity .12s ease}@media (hover:hover) and (min-width:960px){.list-item:hover .list-item__graphic:after{opacity:.14}}.list-item:active .list-item__graphic{transform:scale(.96)}.list-item:active .list-item__graphic:after{opacity:0}.list-item__graphic>canvas,.list-item__graphic>img,.list-item__graphic>picture,.list-item__graphic>svg,.list-item__graphic>video{width:100%;height:100%}.list-item__graphic[data-fit=cover]>canvas,.list-item__graphic[data-fit=cover]>img,.list-item__graphic[data-fit=cover]>picture,.list-item__graphic[data-fit=cover]>svg,.list-item__graphic[data-fit=cover]>video{object-fit:cover}.list-item__graphic[data-fit=contain]>canvas,.list-item__graphic[data-fit=contain]>img,.list-item__graphic[data-fit=contain]>picture,.list-item__graphic[data-fit=contain]>svg,.list-item__graphic[data-fit=contain]>video{object-fit:contain}.list-item__text{display:flex;min-width:0;flex:1 0 0;flex-direction:column;justify-content:center;padding:var(--spacing-4)}.list-item__subtitle,.list-item__title{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item__subtitle{color:var(--text-secondary)}.list-item__arrow{display:block;width:12px;height:12px;flex:0 0 12px;background-color:var(--text-secondary);mask:url(/icons/arrow-right-12.svg) center/contain no-repeat}@media (prefers-reduced-motion:reduce){.list-item__graphic,.list-item__graphic:after{transition:none}}.sidebar{display:grid;width:300px;height:884px;grid-template-rows:auto minmax(0,1fr) auto;row-gap:var(--spacing-32);padding:var(--spacing-24);background:var(--surface-primary);color:var(--text-primary)}.sidebar__bottom,.sidebar__center,.sidebar__top{display:flex;min-height:0;flex-direction:column;gap:var(--spacing-16)}.sidebar__top{align-items:center}.sidebar__logo{width:72px;height:90px;flex:0 0 auto}.sidebar__name{text-align:center;white-space:nowrap}.sidebar__center{justify-content:center;overflow:hidden;translate:0 -48px}.sidebar__center p{margin:0}.sidebar__center p+p{margin-top:var(--spacing-8)}.sidebar__bottom{align-items:center;justify-content:flex-end}@media (max-height:599px){.sidebar__center{display:none}}@media (max-height:419px){.sidebar__logo{display:none}}@media (max-width:959px){.sidebar{display:grid;width:100%;height:var(--mobile-hero-height,max(434px,70svh));grid-template-rows:146px minmax(0,1fr);row-gap:0;padding:var(--spacing-24) var(--spacing-32) var(--spacing-16)}.sidebar__top{gap:var(--spacing-16)}.sidebar__center{display:flex;gap:0;justify-content:center;overflow:visible;padding-top:var(--spacing-8);translate:0 0}.sidebar__center p+p{margin-top:var(--spacing-24)}.sidebar__bottom{display:none}}.case-snippet{position:relative;isolation:isolate;display:flex;width:min(100%,520px);flex-direction:column;overflow:hidden;border-radius:var(--radius-xl);background:transparent;cursor:pointer;--case-hover-rotate:-0.8deg;transform:scale(1);transform-origin:center;transition:transform .35s cubic-bezier(.34,1.4,.64,1)}.case-snippet:after{position:absolute;inset:0;z-index:10;width:100%;height:100%;border-radius:inherit;background:#fff;content:"";mix-blend-mode:overlay;opacity:0;pointer-events:none;transition:opacity .12s ease}.case-snippet__trigger{position:absolute;inset:0;z-index:20;padding:0;border:0;border-radius:inherit;background:transparent;cursor:pointer}.case-snippet:has(.case-snippet__trigger:focus-visible){outline:2px solid var(--surface-invert);outline-offset:3px}.case-snippet:nth-child(2n){--case-hover-rotate:0.8deg}.case-snippet__header{display:flex;width:100%;flex-direction:column;align-items:center;gap:var(--spacing-12);padding:var(--spacing-32);background:var(--surface-primary);color:var(--text-primary);text-align:center;text-transform:uppercase}.case-snippet__eyebrow{width:100%}.case-snippet__title{display:flex;width:100%;flex-direction:column}.case-snippet__title--mobile{display:none}.case-snippet__graphic{position:relative;display:grid;width:100%;aspect-ratio:1;overflow:hidden;place-items:center}.case-snippet-artwork,.case-snippet-artwork__layer{position:absolute;display:block;width:100%}.case-snippet-artwork{inset:0;height:100%}.case-snippet-artwork__layer{max-width:none;object-fit:fill;pointer-events:none;user-select:none}.case-snippet-artwork__background{inset:0;z-index:1;height:100%}.case-snippet-artwork__gradient{inset:auto 0 0;z-index:2;height:130.7692308%}.case-snippet-artwork__phone{inset:0;z-index:3;height:100%}.case-snippet-artwork__foreground{inset:0;z-index:4;height:100%}.case-snippet-artwork__mobile{display:none}@media (hover:hover) and (min-width:960px){.case-snippet:hover{transform:rotate(var(--case-hover-rotate)) scale(1.02)}.case-snippet:hover:after{opacity:.14}}@media (max-width:959px){.case-snippet{width:min(100%,520px)}.case-snippet__header{gap:var(--spacing-12);padding:var(--spacing-24);background:var(--surface-secondary)}.case-snippet__title--desktop{display:none}.case-snippet__title--mobile{display:flex}.case-snippet-artwork__desktop{display:none}.case-snippet-artwork__mobile{display:block}}.case-snippet:active{transform:rotate(0deg) scale(.98)}.case-snippet:active:after{opacity:0}@media (prefers-reduced-motion:reduce){.case-snippet,.case-snippet:after{transition:none}}.case-content-template,.case-content-text{display:flex;width:100%;flex-direction:column}.case-content-text{gap:var(--spacing-8);padding:0 var(--spacing-48) var(--spacing-64)}.case-content-text__label{margin-bottom:var(--spacing-8);color:var(--text-secondary)}.case-content-text__body{color:var(--text-primary)}.case-content-text__body>p{margin:0}.case-content-text__body>p+p{margin-top:var(--spacing-24)}.case-content-list{display:flex;margin:var(--spacing-24) 0 0;padding:0;flex-direction:column;gap:var(--spacing-12);list-style:none}.case-content-list>li{position:relative;padding-left:var(--spacing-24)}.case-content-list>li:before{position:absolute;top:0;left:0;content:"—";color:var(--text-secondary)}.case-content-note{color:var(--text-secondary)}.case-content-metrics__placeholder,.case-content-text__label-placeholder,.case-content-text__line{display:block;border-radius:6px;background:var(--surface-secondary)}.case-content-text__line{width:82%;height:12px}.case-content-text__line--wide{width:100%}.case-content-text__line--short{width:58%}.case-content-text__label-placeholder{width:26%;height:8px;margin-bottom:var(--spacing-8)}.case-content-media-wrap{width:100%;padding:0 var(--spacing-16) var(--spacing-64)}.case-content-media-wrap--compact,.case-content-template>.case-content-media-wrap:last-child{padding-bottom:var(--spacing-16)}.case-content-template>.case-content-media-wrap:last-child .case-content-media{border-radius:var(--radius-l) var(--radius-l) 32px 32px}.case-content-media{display:grid;width:100%;aspect-ratio:var(--case-media-ratio);overflow:hidden;border-radius:var(--radius-l);background:var(--surface-secondary);place-items:center}.case-content-media__label{color:var(--text-primary)}.case-content-media .case-video,.case-content-media>img,.case-content-media>video{width:100%;height:100%;object-fit:cover}.case-content-media .case-video{max-width:100%;max-height:100%;border-radius:var(--radius-l)}.case-content-media:has(>.case-video),.case-media-layer:has(>.case-video){box-sizing:border-box;padding:0}.case-content-media:has(>.case-video--portrait){position:relative}.case-content-media .case-video--portrait{position:absolute;top:50%;left:50%;width:auto;height:min(420px,calc(100% - 48px));max-width:calc(100% - 64px);max-height:calc(100% - 48px);object-fit:contain;transform:translate(-50%,-50%)}.case-content-media .case-video--fill{width:100%;height:100%;object-fit:contain;transform:scale(1.1)}.case-content-media:has(>.case-video--landscape),.case-media-layer:has(>.case-video--landscape){padding-right:var(--spacing-32);padding-left:var(--spacing-32)}.case-content-media .case-video--landscape{width:100%;height:100%;object-fit:contain;transform:none}.case-content-media:has(.case-gallery),.case-content-media:has(.case-sbs){display:block}.case-media-layer{position:relative;display:grid;width:100%;height:100%;overflow:hidden;place-items:center}.case-media-layer>img,.case-media-layer>picture,.case-media-layer>picture>img,.case-media-layer>video{width:100%;height:100%;object-fit:contain}.case-media-layer__placeholder{color:var(--text-secondary)}.case-snippet-featured-art{position:relative;width:100%;height:100%;overflow:hidden}.case-snippet-featured-art .case-snippet-artwork__gradient{height:130.7692308%}.case-gallery,.case-sbs{position:relative;width:100%;height:100%;overflow:hidden;background:var(--surface-secondary)}.case-gallery{touch-action:pan-y}.case-sbs__layer{position:absolute;inset:0}.case-sbs__layer--before{background:color-mix(in srgb,var(--surface-secondary) 94%,var(--text-primary) 6%)}.case-gallery__label{position:absolute;z-index:3;bottom:var(--spacing-16);padding:var(--spacing-8) var(--spacing-12);border-radius:var(--radius-m);background:color-mix(in srgb,var(--surface-primary) 88%,transparent);color:var(--text-primary);backdrop-filter:blur(8px)}.case-sbs__divider{z-index:4;width:3px;background:rgb(255 255 255/80%);pointer-events:none}.case-sbs__divider,.case-sbs__touch-area{position:absolute;top:0;bottom:0;transform:translateX(-50%)}.case-sbs__touch-area{z-index:6;width:32px;cursor:col-resize;touch-action:none}.case-sbs__range{z-index:5;width:100%;height:100%;margin:0;cursor:col-resize;opacity:0;pointer-events:none;touch-action:none}.case-gallery__slide,.case-gallery__track,.case-sbs__range{position:absolute;inset:0}.case-gallery__slide{display:none}.case-gallery__slide--active{display:block;animation:case-gallery-enter .2s ease-out both}.case-gallery--snippet-comparison .case-media-layer>img{transform:scale(.92)}.case-gallery__label{left:var(--spacing-16)}.case-gallery__direction{position:absolute;z-index:2;top:0;display:flex;width:50%;height:100%;align-items:center;padding:var(--spacing-20,20px);border:0;outline:none;background:transparent;opacity:0;cursor:pointer;transition:opacity .2s ease-out}.case-gallery__direction--previous{left:0}.case-gallery__direction--next{right:0;justify-content:flex-end}.case-gallery__direction:disabled{cursor:default;pointer-events:none}.case-gallery__arrow{position:relative;display:block;width:32px;height:32px;border-radius:50%;background:color-mix(in srgb,var(--surface-primary) 88%,transparent);backdrop-filter:blur(8px);transition:transform .12s ease}.case-gallery__arrow:after{position:absolute;top:50%;left:50%;width:8px;height:8px;border-top:2px solid var(--text-primary);border-right:2px solid var(--text-primary);content:""}.case-gallery__arrow--previous:after{transform:translate(-35%,-50%) rotate(-135deg)}.case-gallery__arrow--next:after{transform:translate(-65%,-50%) rotate(45deg)}.case-gallery__direction:active .case-gallery__arrow{transform:scale(.96)}.case-gallery__pagination{position:absolute;z-index:4;bottom:0;left:50%;display:flex;align-items:center;gap:var(--spacing-8);padding:var(--spacing-24);transform:translateX(-50%)}.case-gallery__dot{width:6px;height:6px;padding:0;border:0;border-radius:50%;background:rgb(15 20 24/20%);cursor:pointer;transition:background-color .2s ease-out,opacity .2s ease-out}.case-gallery__dot--active{background:var(--text-secondary)}@keyframes case-gallery-enter{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}.case-content-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-24);margin:var(--spacing-24) 0 0;padding-top:var(--spacing-24);border-top:1px solid var(--border-primary)}.case-content-text__body>.case-content-metrics:first-child{margin-top:0;padding-top:0;border-top:0}.case-content-metrics:has(>.case-content-metric:only-child){grid-template-columns:minmax(0,1fr)}.case-content-metrics__placeholder{height:48px}.case-content-metric{display:flex;min-width:0;flex-direction:column;gap:var(--spacing-4)}.case-content-metric__label{order:2;color:var(--text-primary);font-family:var(--font-body);font-size:16px;font-weight:500;line-height:24px;letter-spacing:0;text-transform:none}.case-content-metric__value{order:1;margin:0;color:var(--text-primary)}@media (max-width:959px){.case-content-text{padding-right:var(--spacing-24);padding-left:var(--spacing-24)}.case-content-metrics{gap:var(--spacing-16)}.case-content-media-wrap{padding-right:var(--spacing-8);padding-left:var(--spacing-8)}.case-gallery__direction{display:none}.case-gallery__track{display:flex;transform:translateX(calc(var(--case-gallery-index) * -100%));transition:transform .32s cubic-bezier(.22,1,.36,1);will-change:transform}.case-gallery__slide,.case-gallery__slide--active{position:relative;inset:auto;display:block;min-width:100%;flex:0 0 100%;animation:none}}@media (hover:hover) and (pointer:fine){.case-sbs{cursor:col-resize}.case-gallery:hover .case-gallery__direction:not(:disabled),.case-gallery__direction:focus-visible{opacity:1}.case-gallery__direction:focus-visible .case-gallery__arrow{outline:2px solid var(--text-primary);outline-offset:2px}.case-gallery__dot:not(.case-gallery__dot--active):hover{background:var(--text-secondary);opacity:.7}}@media (prefers-reduced-motion:reduce){.case-gallery__slide{animation:none}.case-gallery__track{transition:none}}.case-modal{position:fixed;inset:0;z-index:100;overflow-x:hidden;overflow-y:auto;padding:var(--spacing-48) var(--spacing-24);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;pointer-events:none;visibility:hidden;transition:visibility 0s linear .32s}.case-modal[data-state=open]{pointer-events:auto;visibility:visible;transition-delay:0s}.case-modal__backdrop{position:fixed;inset:0;z-index:0;background:var(--surface-overlay);opacity:0;transition:opacity .18s ease}.case-modal[data-state=open] .case-modal__backdrop{opacity:1}.case-modal__stage{position:relative;z-index:1;display:flex;width:min(520px,100%);flex-direction:column;gap:var(--spacing-96);margin:0 auto}.case-modal__body{width:100%;overflow:hidden;border-radius:var(--radius-xl);background:var(--surface-primary);opacity:0;transform:scale(.88);transform-origin:center;transition:opacity .18s ease,transform .32s cubic-bezier(.22,1,.36,1);will-change:transform,opacity}.case-modal__grabber,.case-modal__grabber-area{display:none}.case-modal[data-state=open] .case-modal__body{opacity:1;transform:scale(1)}.case-modal__header{display:flex;width:100%;align-items:center;justify-content:center;padding:var(--spacing-32) var(--spacing-48) var(--spacing-48);background:linear-gradient(to bottom,var(--surface-primary) 60%,transparent)}.case-modal__title{width:100%;color:var(--text-secondary);text-align:center}.case-modal__content{width:100%}.case-modal__close{position:fixed;top:46px;left:calc(50% + 268px);display:grid;width:32px;height:32px;padding:var(--spacing-4);border:0;border-radius:50%;background:transparent;cursor:pointer;opacity:0;place-items:center;transform:scale(.8);transition:opacity .16s ease 80ms,transform .24s cubic-bezier(.22,1,.36,1) 80ms}.case-modal[data-state=open] .case-modal__close{opacity:1;transform:scale(1)}.case-modal__close img{width:24px;height:24px}.case-modal__close:focus-visible{outline:2px solid var(--text-invert);outline-offset:2px}.case-modal-placeholder{display:flex;width:100%;flex-direction:column}.case-modal-open,.case-modal-open .home__content,.case-modal-open body{overflow:hidden}@media (max-width:959px){.case-modal{overflow:hidden;padding:max(var(--spacing-48),env(safe-area-inset-top)) 0 0}.case-modal__stage{width:100%;height:calc(100dvh - max(var(--spacing-48), env(safe-area-inset-top)));gap:0;transform:translateY(32px);transition:transform .5s cubic-bezier(.32,.72,0,1);will-change:transform}.case-modal[data-state=open] .case-modal__stage{transform:translateY(0)}.case-modal__body{display:flex;height:100%;flex-direction:column;border-radius:var(--radius-l) var(--radius-l) 0 0;transform:none;transition:opacity .18s ease}.case-modal__body:not([data-case-modal-initial=true]){display:none}.case-modal[data-state=open] .case-modal__body{transform:none}.case-modal__grabber-area{display:grid;width:100%;height:40px;flex:0 0 40px;background:linear-gradient(to bottom,var(--surface-primary) 60%,transparent);cursor:grab;place-items:center;touch-action:none}.case-modal__grabber-area:active{cursor:grabbing}.case-modal__grabber{display:block;width:40px;height:4px;border-radius:999px;background:var(--border-primary)}.case-modal__header{display:none}.case-modal__content{min-height:0;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.case-modal__backdrop{transition:opacity .5s cubic-bezier(.32,.72,0,1)}.case-modal__close{display:none}}@media (prefers-reduced-motion:reduce){.case-modal,.case-modal__backdrop,.case-modal__body,.case-modal__close,.case-modal__stage{transition:none}}.contact-modal{position:fixed;z-index:100;display:grid;overflow:hidden;place-items:center;pointer-events:none;inset:0;visibility:hidden}.contact-modal[data-state=open]{pointer-events:auto;visibility:visible}.contact-modal__backdrop{position:absolute;padding:0;border:0;background:var(--surface-overlay);cursor:default;opacity:0;inset:0;transition:opacity .18s ease}.contact-modal__stage{position:relative;width:min(520px,calc(100vw - var(--spacing-48)));opacity:0;transform:scale(.9);transition:opacity .18s ease,transform .28s cubic-bezier(.32,.72,0,1)}.contact-modal__dialog{display:flex;width:100%;overflow:hidden;flex-direction:column;border-radius:var(--radius-xl);background:var(--surface-primary);color:var(--text-primary)}.contact-modal[data-state=open] .contact-modal__backdrop,.contact-modal[data-state=open] .contact-modal__stage{opacity:1}.contact-modal[data-state=open] .contact-modal__stage{transform:scale(1)}.contact-modal__header{display:flex;width:100%;align-items:center;justify-content:center;padding:var(--spacing-32) var(--spacing-48);background:linear-gradient(to bottom,var(--surface-primary) 60%,transparent)}.contact-modal__header h2{width:100%;margin:0;color:var(--text-secondary);text-align:center}.contact-modal__close{position:absolute;top:0;left:calc(100% + var(--spacing-8));display:grid;width:32px;height:32px;padding:var(--spacing-4);border:0;border-radius:50%;background:transparent;cursor:pointer;opacity:0;place-items:center;transform:scale(.8);transition:opacity .16s ease 80ms,transform .24s cubic-bezier(.22,1,.36,1) 80ms}.contact-modal[data-state=open] .contact-modal__close{opacity:1;transform:scale(1)}.contact-modal__close img{width:24px;height:24px}.contact-modal__list{display:flex;flex-direction:column;gap:calc(var(--spacing-32) + var(--spacing-8));padding:0 var(--spacing-32) var(--spacing-32);margin:0;list-style:none}.contact-modal__link{display:grid;width:100%;align-items:center;padding:0;border:0;background:transparent;color:inherit;column-gap:var(--spacing-24);cursor:pointer;font:inherit;grid-template-columns:40px minmax(0,1fr);text-decoration:none;text-align:left}.contact-modal__icon{display:grid;width:40px;height:40px;color:var(--text-primary);opacity:.45;place-items:center;transform:scale(1);transition:opacity .12s ease,transform .12s ease}.contact-modal__icon img,.contact-modal__icon svg{width:24px;height:24px;fill:currentcolor}.contact-modal__copy{display:flex;min-width:0;flex-direction:column;gap:var(--spacing-2)}.contact-modal__label{color:var(--text-secondary)}.contact-modal__label--status{display:grid}.contact-modal__label--status>span{grid-area:1/1;opacity:0;filter:blur(4px);pointer-events:none;transition:opacity .2s ease,filter .24s ease}.contact-modal__label--status>span[data-visible=true]{opacity:1;filter:blur(0)}.contact-modal__value{overflow:hidden;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap}@media (hover:hover) and (min-width:960px){.contact-modal__link:hover .contact-modal__icon{opacity:.3}}.contact-modal__link:active .contact-modal__icon{transform:scale(.9)}.contact-modal__close:active{transform:scale(.96)}.contact-modal__backdrop:focus-visible,.contact-modal__close:focus-visible,.contact-modal__link:focus-visible{outline:2px solid var(--surface-invert);outline-offset:3px}html.contact-modal-open{overflow:hidden}@media (max-width:959px){.contact-modal{align-items:end}.contact-modal__stage{width:100%;transform:translateY(100%)}.contact-modal__dialog{border-radius:var(--radius-l) var(--radius-l) 0 0}.contact-modal[data-state=open] .contact-modal__stage{transform:translateY(0)}.contact-modal__header{padding:var(--spacing-24) var(--spacing-48) var(--spacing-32)}.contact-modal__list{padding:0 var(--spacing-24) max(var(--spacing-32),env(safe-area-inset-bottom))}.contact-modal__close{top:var(--spacing-16);right:var(--spacing-16);left:auto}.contact-modal__link{column-gap:var(--spacing-16)}}@media (prefers-reduced-motion:reduce){.contact-modal__backdrop,.contact-modal__close,.contact-modal__icon,.contact-modal__label--status>span,.contact-modal__stage{transition:none}}.home{--home-content-height:calc(100dvh - var(--spacing-16));--home-case-height:692px;--home-inspiration-height:612px;display:flex;width:100%;height:100dvh;min-width:960px;min-height:100dvh;align-items:stretch;overflow:hidden;padding:var(--spacing-8);background:var(--surface-primary)}.home__sidebar{position:sticky;top:var(--spacing-8);width:300px;height:calc(100dvh - var(--spacing-16));min-height:0;flex:0 0 300px;align-self:flex-start}.home__content{display:flex;min-width:0;min-height:calc(100dvh - var(--spacing-16));flex:1 1 auto;justify-content:center;overflow-x:hidden;overflow-y:auto;border-radius:var(--radius-l);background:var(--surface-secondary)}.home__additional{display:flex;width:520px;flex:0 0 520px;flex-direction:column;align-self:flex-start;align-items:flex-start;gap:0;padding-bottom:0}.home__inspiration{gap:var(--spacing-24);padding-bottom:max(var(--spacing-32),calc((var(--home-content-height) - var(--home-inspiration-height)) / 2))}.home__heading,.home__inspiration{display:flex;width:100%;flex-direction:column}.home__heading{align-items:center;gap:var(--spacing-12);color:var(--text-primary);text-align:center}.scroll-reveal-text{--reveal-line-height:40px;position:relative;display:block}.scroll-reveal-text__source{display:block;color:transparent;-webkit-text-fill-color:transparent}.scroll-reveal-text__line{position:absolute;inset:0;display:block;background-image:linear-gradient(90deg,currentcolor,currentcolor 36.5%,color-mix(in srgb,currentcolor 75%,white 25%) 48%,currentcolor 59.5%,transparent 69.47%,transparent);background-position:100% 0;background-size:300% 100%;background-clip:text;clip-path:inset(var(--line-clip-top) 0 var(--line-clip-bottom) 0);color:var(--text-primary);filter:blur(1.5px);pointer-events:none;user-select:none;-webkit-text-fill-color:transparent;will-change:background-position,filter}.scroll-reveal-text.is-visible .scroll-reveal-text__line{animation:home-text-sweep .9s ease-in-out var(--line-delay) forwards}@keyframes home-text-sweep{0%{background-position:100% 0;filter:blur(1.5px)}to{background-position:0 0;filter:blur(0)}}.home__project-list{display:flex;width:100%;flex-direction:column}.home__additional-links{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);width:100%;align-items:center;gap:var(--spacing-16);padding-bottom:var(--spacing-24);color:var(--text-secondary);font-family:var(--font-body);font-size:16px;font-weight:500;line-height:24px;white-space:nowrap}.home__additional-link:first-child{justify-self:stretch;text-align:right}.home__additional-link:last-child{justify-self:stretch;text-align:left}.home__additional-link{color:inherit;text-decoration:none}.home__additional-link .text-link{display:inline-block}.home__additional-link:focus-visible .text-link{color:var(--text-primary)}@media (hover:hover) and (min-width:960px){.home__additional-link:hover .text-link{color:var(--text-primary)}}.home__additional-link:focus-visible{outline:2px solid currentcolor;outline-offset:4px}.home__cases{display:flex;width:100%;flex-direction:column;gap:var(--spacing-48);margin-bottom:0;padding-top:max(var(--spacing-32),calc((var(--home-content-height) - var(--home-case-height)) / 2));padding-bottom:var(--spacing-180)}.home__project-item{flex:0 0 auto}.home .sidebar__bottom,.home .sidebar__center,.home .sidebar__top{animation:home-sidebar-fade-in .16s ease both}.home .sidebar__center{animation-delay:40ms}.home .sidebar__bottom{animation-delay:80ms}.home__content{animation:home-surface-fade-in .18s ease .12s both}.home .case-snippet{animation:home-content-fade-in-up .32s cubic-bezier(.22,1,.36,1) both;animation-delay:.12s}.home__additional-links,.home__heading>.text-description-s,.home__project-item{opacity:0;translate:0 16px}.home__additional.inspiration-is-visible .home__heading>.text-description-s{animation:home-content-fade-in-up .26s cubic-bezier(.22,1,.36,1) both}.home__additional.inspiration-is-visible .home__project-item{animation:home-content-fade-in-up .32s cubic-bezier(.22,1,.36,1) both}.home__additional.inspiration-is-visible .home__additional-links{animation:home-content-fade-in-up .32s cubic-bezier(.22,1,.36,1) 1.08s both}.home__additional.inspiration-is-visible .home__project-item:first-child{animation-delay:.72s}.home__additional.inspiration-is-visible .home__project-item:nth-child(2){animation-delay:.78s}.home__additional.inspiration-is-visible .home__project-item:nth-child(3){animation-delay:.84s}.home__additional.inspiration-is-visible .home__project-item:nth-child(4){animation-delay:.9s}.home__additional.inspiration-is-visible .home__project-item:nth-child(5){animation-delay:.96s}@keyframes home-sidebar-fade-in{0%{opacity:0}to{opacity:1}}@keyframes home-surface-fade-in{0%{opacity:0}to{opacity:1}}@keyframes home-content-fade-in-up{0%{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}.home__project-item .list-item__graphic{background:transparent;overflow:visible}.home__project-item:last-child:after{display:none}.project-icon-stack{position:relative;display:block;width:44px;height:44px}.project-icon-stack--single{width:48px;height:48px}.project-icon-stack__card{position:absolute;inset:0;display:block;width:44px;height:44px;border-radius:var(--radius-m);box-shadow:-2px 2px 8px 0 rgb(53 48 48/12%);transform:translate3d(var(--icon-rest-x),var(--icon-rest-y),0) rotate(var(--icon-rest-rotate));transform-origin:center;transition:transform .35s cubic-bezier(.34,1.4,.64,1);will-change:transform}.project-icon-stack--single .project-icon-stack__card{width:48px;height:48px}.project-icon-stack__card img{width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}@media (hover:hover) and (min-width:960px){.home__project-item:focus-visible .project-icon-stack__card,.home__project-item:hover .project-icon-stack__card{transform:translate3d(var(--icon-hover-x),var(--icon-hover-y),0) rotate(var(--icon-hover-rotate)) scale(var(--icon-hover-scale))}}@media (max-width:959px){.home{--home-content-height:auto;--mobile-hero-height:max(434px,70svh);display:flex;width:100%;height:auto;min-width:0;min-height:100dvh;flex-direction:column;overflow:visible;padding:0}.home__sidebar{position:relative;top:auto;width:100%;height:var(--mobile-hero-height);min-height:var(--mobile-hero-height);flex:0 0 var(--mobile-hero-height);align-self:stretch}.home__content{display:flex;min-height:0;flex:0 0 auto;overflow:visible;border-radius:0;background:var(--surface-primary)}.home__additional{width:100%;flex:0 0 auto}.home__cases{align-items:center;gap:var(--spacing-32);padding:0 var(--spacing-8) var(--spacing-96)}.home__inspiration{gap:var(--spacing-16);padding:0 var(--spacing-16) var(--spacing-96)}.home__heading{gap:var(--spacing-12)}.home__heading .text-h1{font-size:24px;line-height:28px}.scroll-reveal-text{--reveal-line-height:28px}.home__additional-links{grid-template-columns:auto auto auto;justify-content:start;padding:0 var(--spacing-24) calc(var(--spacing-24) + env(safe-area-inset-bottom))}.home__additional-link:first-child,.home__additional-link:last-child{justify-self:start;text-align:left}}@media (prefers-reduced-motion:reduce){.home .case-snippet,.home .sidebar__bottom,.home .sidebar__center,.home .sidebar__top,.home__additional-links,.home__content,.home__heading,.home__project-item{animation:none}.project-icon-stack__card{transition:none}.scroll-reveal-text__source{color:var(--text-primary);-webkit-text-fill-color:currentcolor}.scroll-reveal-text.is-visible .scroll-reveal-text__line,.scroll-reveal-text__line{display:none;animation:none}.home__additional-links,.home__heading>.text-description-s,.home__project-item{opacity:1;translate:0 0}}

/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.grid{display:grid}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}*,:after,:before{box-sizing:border-box}body,html{min-height:100%;margin:0}body{text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}canvas,img,picture,svg,video{max-width:100%;display:block}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}