@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-outline-style:solid;--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{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;--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{*,:after,:before,::backdrop{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}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{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:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-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{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.grid{display:grid}.hidden{display:none}.table{display:table}.grow{flex-grow:1}.resize{resize:both}.italic{font-style:italic}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.grayscale{--tw-grayscale:grayscale(100%);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))}}:root{--black:#090909;--ink:#f7f7f4;--paper:#090909;--lime:#92e842;--muted:#9a9a96;--line:#ffffff2e;--card-surface:#181818;--fabrica-section-gutter:clamp(30px, 2.82vw, 36px);--fabrica-section-max:1520px}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{color:var(--ink);background:var(--paper);font-family:var(--font-sans), sans-serif;margin:0}.page-transition-curtain{z-index:90;pointer-events:none;visibility:hidden;will-change:transform;position:fixed;inset:-1vh 0;transform:translateY(100%)}.page-transition-curtain.is-covering{visibility:visible;background:linear-gradient(#0000 0,#090909 1vh);animation:.55s cubic-bezier(.65,0,.35,1) both fabrica-curtain-cover}.page-transition-curtain.is-revealing{visibility:visible;background:linear-gradient(#090909 calc(100% - 1vh),#0000 100%);animation:.7s cubic-bezier(.22,1,.36,1) both fabrica-curtain-reveal}[data-page-transition=covering],[data-page-transition=revealing]{overflow:hidden;scroll-behavior:auto!important}[data-page-transition=covering] body>main{will-change:transform, opacity;animation:.55s cubic-bezier(.65,0,.35,1) both fabrica-page-exit}[data-page-transition=revealing] body>main{will-change:transform, opacity;animation:.7s cubic-bezier(.22,1,.36,1) both fabrica-page-enter}@keyframes fabrica-page-exit{0%{opacity:1;transform:translate(0)}to{opacity:.1;transform:translateY(-30vh)}}@keyframes fabrica-page-enter{0%{opacity:.12;transform:translateY(24vh)}to{opacity:1;transform:translate(0)}}@keyframes fabrica-curtain-cover{0%{transform:translateY(100%)}to{transform:translate(0)}}@keyframes fabrica-curtain-reveal{0%{transform:translate(0)}to{transform:translateY(-100%)}}@media (prefers-reduced-motion:reduce){.page-transition-curtain,[data-page-transition=covering] body>main,[data-page-transition=revealing] body>main{animation:none}}a{color:inherit;text-decoration:none}::selection{background:var(--lime);color:var(--black)}:focus-visible{outline:3px solid var(--lime);outline-offset:4px}.fabrica-section-shell{width:100%;max-width:var(--fabrica-section-max);margin-inline:auto}.fabrica-preloader{z-index:1000;color:#f7f7f4;cursor:wait;clip-path:inset(0);will-change:clip-path;background:#090909;animation:.92s linear 1.63s forwards fabrica-preloader-curtain,10ms linear 2.87s forwards fabrica-preloader-finish;position:fixed;inset:0;overflow:hidden}.fabrica-preloader-wordmark{opacity:.001;font-family:var(--font-fabrica), Inter, Arial, Helvetica, sans-serif;letter-spacing:-.04em;white-space:nowrap;will-change:transform, opacity;justify-content:center;align-items:baseline;font-size:clamp(30px,3vw,38px);font-weight:600;line-height:1.1;animation:1.55s linear both fabrica-preloader-word-in,.92s linear 1.63s forwards fabrica-preloader-word-out;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,calc(86vh - 50%))}.fabrica-preloader-wordmark>span{opacity:.001;filter:blur(5px);animation:fabrica-preloader-letter .32s calc(.48s + var(--loader-delay)) cubic-bezier(.65, 0, .35, 1) forwards;will-change:transform, filter, opacity;display:inline-block;transform:translateY(270px)}.fabrica-preloader-wordmark>.fabrica-preloader-space{width:.34em}.fabrica-preloader-wordmark>.fabrica-preloader-dot{background:var(--lime);color:#0000;flex:0 0 .18em;width:.18em;height:.18em;margin-left:.05em;overflow:hidden}@keyframes fabrica-preloader-letter{0%{opacity:.001;filter:blur(5px);transform:translateY(270px)}to{opacity:1;filter:blur();transform:translate(0)}}@keyframes fabrica-preloader-word-in{0%{opacity:.001;transform:translate(-50%,calc(86vh - 50%))}6.5%{opacity:.02;transform:translate(-50%,calc(84.3vh - 50%))}13%{opacity:.047;transform:translate(-50%,calc(81.9vh - 50%))}26%{opacity:.139;transform:translate(-50%,calc(73.7vh - 50%))}32%{opacity:.197;transform:translate(-50%,calc(68.5vh - 50%))}37%{opacity:.283;transform:translate(-50%,calc(60.9vh - 50%))}42%{opacity:.414;transform:translate(-50%,calc(49.3vh - 50%))}47%{opacity:.544;transform:translate(-50%,calc(37.7vh - 50%))}52%{opacity:.672;transform:translate(-50%,calc(26.25vh - 50%))}58%{opacity:.755;transform:translate(-50%,calc(18.9vh - 50%))}64%{opacity:.812;transform:translate(-50%,calc(13.8vh - 50%))}71%{opacity:.869;transform:translate(-50%,calc(8.8vh - 50%))}78%{opacity:.907;transform:translate(-50%,calc(5.3vh - 50%))}90%{opacity:.951;transform:translate(-50%,calc(1.4vh - 50%))}96%{opacity:.962;transform:translate(-50%,calc(.5vh - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes fabrica-preloader-word-out{0%{transform:translate(-50%,-50%)}11.5%{transform:translate(-50%,calc(-50% - 1vh))}21%{transform:translate(-50%,calc(-50% - 2.5vh))}30.8%{transform:translate(-50%,calc(-50% - 4.8vh))}41.1%{transform:translate(-50%,calc(-50% - 9.8vh))}50.1%{transform:translate(-50%,calc(-50% - 17.1vh))}60.2%{transform:translate(-50%,calc(-50% - 33.7vh))}70.3%{transform:translate(-50%,calc(-50% - 69.3vh))}80.1%{transform:translate(-50%,calc(-50% - 79vh))}89.7%{transform:translate(-50%,calc(-50% - 81.3vh))}to{transform:translate(-50%,calc(-50% - 82vh))}}@keyframes fabrica-preloader-curtain{0%{clip-path:inset(0)}11.5%{clip-path:inset(0 0 .4%)}21%{clip-path:inset(0 0 1.7%)}30.8%{clip-path:inset(0 0 4.3%)}41.1%{clip-path:inset(0 0 10.2%)}50.1%{clip-path:inset(0 0 19.3%)}60.2%{clip-path:inset(0 0 39.8%)}70.3%{clip-path:inset(0 0 84%)}80.1%{clip-path:inset(0 0 96.1%)}89.7%{clip-path:inset(0 0 98.8%)}to{clip-path:inset(0 0 100%)}}@keyframes fabrica-preloader-finish{0%{opacity:1}to{opacity:1}}.fabrica-intro{will-change:transform, opacity;animation:.82s linear 2.045s backwards fabrica-intro-enter;position:relative}@keyframes fabrica-intro-enter{0%{opacity:0;transform:translateY(300px)}6%{opacity:.169;transform:translateY(249px)}17%{opacity:.45;transform:translateY(165px)}28%{opacity:.702;transform:translateY(89.5px)}39%{opacity:.849;transform:translateY(45.4px)}50%{opacity:.907;transform:translateY(27.9px)}61%{opacity:.956;transform:translateY(13.1px)}73%{opacity:.98;transform:translateY(6px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.fabrica-preloader{animation:10ms linear 50ms forwards fabrica-preloader-curtain,10ms linear 60ms forwards fabrica-preloader-finish}.fabrica-preloader-wordmark{opacity:1;animation:none;transform:translate(-50%,-50%)}.fabrica-preloader-wordmark>span{opacity:1;filter:none;animation:none;transform:none}.fabrica-intro{will-change:auto;animation:none}}.fabrica-hero{--fabrica-black:var(--black);background:var(--black);color:#fff;height:100svh;min-height:0;font-family:var(--font-sans), Arial, Helvetica, sans-serif;position:relative;overflow:hidden}.fabrica-header{z-index:100;color:#fff;-webkit-backdrop-filter:blur(4px)saturate(1.25);backdrop-filter:blur(4px)saturate(1.25);background:#05050552;border:0;height:64px;transition:height .7s cubic-bezier(.76,0,.24,1),background-color .35s,color .35s,border-color .35s,-webkit-backdrop-filter .35s,backdrop-filter .35s;position:fixed;inset:0 0 auto;overflow:hidden}.fabrica-header.is-open{height:100dvh;color:var(--black);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-color:#0909091f}.fabrica-header-bar{z-index:2;justify-content:space-between;align-items:center;height:64px;padding:0 36px;display:flex;position:relative}.fabrica-wordmark{letter-spacing:-.05em;flex:none;font-size:20px;font-weight:600;line-height:1}.fabrica-wordmark-dot{color:var(--lime)}.fabrica-nav{letter-spacing:-.04em;font-size:16px;font-weight:600;line-height:1;display:contents}.fabrica-nav a{transition:opacity .22s,visibility .22s}.fabrica-nav a:hover{opacity:.45}.fabrica-header.is-open .fabrica-nav a{opacity:0;visibility:hidden}.fabrica-projects-link{position:relative}.fabrica-projects-link sup{color:#ffffff94;letter-spacing:-.04em;font-size:9px;line-height:1;position:absolute;top:-1px;right:-14px}.fabrica-menu{z-index:3;width:60px;height:32px;color:inherit;cursor:pointer;background:0 0;border:0;flex:none;margin-left:0;padding:0;position:relative}.fabrica-menu span{transform-origin:50%;background:currentColor;width:100%;height:2px;transition:transform .55s cubic-bezier(.76,0,.24,1);display:block;position:absolute;top:calc(50% - 1px);left:0}.fabrica-menu span:first-child{transform:translateY(-5px)}.fabrica-menu span:last-child{transform:translateY(5px)}.fabrica-header.is-open .fabrica-menu span:first-child{transform:rotate(10deg)}.fabrica-header.is-open .fabrica-menu span:last-child{transform:rotate(-10deg)}.fabrica-menu-panel{z-index:1;overscroll-behavior:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;opacity:0;visibility:hidden;pointer-events:none;grid-template-rows:minmax(max-content,1fr) auto;gap:clamp(32px,6vh,90px);height:calc(100dvh - 64px);min-height:0;padding:clamp(48px,6.7vh,92px) 0 18px;transition:opacity .2s,visibility 0s linear .7s;display:grid;position:absolute;top:64px;left:36px;right:36px;overflow:hidden auto}.fabrica-menu-panel::-webkit-scrollbar{display:none}.fabrica-header.is-open .fabrica-menu-panel{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 10ms linear,visibility linear}.fabrica-menu-navigation{flex-direction:column;align-self:center;align-items:center;gap:clamp(10px,1.6vh,16px);display:flex}.fabrica-menu-item{opacity:0;transition:transform .58s cubic-bezier(.22,1,.36,1),opacity .45s;overflow:visible;transform:translateY(28px)}.fabrica-header.is-open .fabrica-menu-item{opacity:1;transition-delay:calc(.42s + var(--menu-index) * 65ms);transform:translateY(0)}.fabrica-menu-item a{color:var(--black);letter-spacing:-.06em;font-size:clamp(48px,4.7vw,76px);font-weight:600;line-height:1.12;display:block;position:relative;overflow:visible}.fabrica-menu-label{margin:-.14em -.06em -.18em;padding:.14em .06em .18em;display:block;position:relative;overflow:hidden}.fabrica-menu-label>span{transition:transform .5s cubic-bezier(.76,0,.24,1);display:block}.fabrica-menu-label>span:last-child{position:absolute;top:.14em;left:.06em;right:.06em;transform:translateY(130%)}.fabrica-menu-item a:hover .fabrica-menu-label>span:first-child,.fabrica-menu-item a:focus-visible .fabrica-menu-label>span:first-child{transform:translateY(-130%)}.fabrica-menu-item a:hover .fabrica-menu-label>span:last-child,.fabrica-menu-item a:focus-visible .fabrica-menu-label>span:last-child{transform:translateY(0)}.fabrica-menu-bottom{min-width:0;color:var(--black);opacity:0;grid-template-columns:1fr auto 1fr;align-items:end;gap:36px;transition:transform .58s cubic-bezier(.22,1,.36,1),opacity .45s;display:grid;transform:translateY(28px)}.fabrica-header.is-open .fabrica-menu-bottom{opacity:1;transition-delay:.81s;transform:translateY(0)}.fabrica-menu-contact{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.fabrica-menu-contact a{letter-spacing:-.055em;border-bottom:2px solid;align-items:center;max-width:100%;font-size:clamp(16px,1.35vw,22px);font-weight:600;line-height:1.2;transition:opacity .2s;display:inline-flex}.fabrica-menu-contact a:hover{opacity:.48}.fabrica-menu-socials{letter-spacing:-.035em;gap:clamp(18px,3.5vw,64px);font-size:14px;font-weight:550;line-height:1.2;display:flex}.fabrica-menu-socials a{transition:opacity .2s}.fabrica-menu-socials a:hover{opacity:.45}.fabrica-menu-bottom>p{color:#09090994;letter-spacing:-.035em;justify-self:end;margin:0;font-size:13px;font-weight:500;line-height:1.2}.fabrica-stage{background:#070707;border-radius:34px;position:absolute;inset:68px 5px 5px;overflow:hidden}.fabrica-stage:before,.fabrica-stage:after{content:"";z-index:1;pointer-events:none;opacity:.05;will-change:transform;background-image:url(https://framerusercontent.com/images/rR6HYXBrMmX4cRpXfXUOvpvpB0.png);background-repeat:repeat;background-size:256px 256px;width:400%;height:400%;animation:8s steps(10,start) infinite fabrica-grain;position:absolute;inset:-200%}@keyframes fabrica-grain{0%{transform:translate(0)}11.111%{transform:translate(-5%,-10%)}22.222%{transform:translate(-15%,5%)}33.333%{transform:translate(7%,-25%)}44.444%{transform:translate(-5%,25%)}55.556%{transform:translate(-15%,10%)}66.667%{transform:translate(15%)}77.778%{transform:translateY(15%)}88.889%{transform:translate(3%,35%)}to{transform:translate(-10%,10%)}}.fabrica-video,.fabrica-shade{width:100%;height:100%;position:absolute;inset:0}.fabrica-video{object-fit:cover;filter:grayscale()contrast(1.12)brightness(.72)}.fabrica-shade{pointer-events:none;background:linear-gradient(90deg,#00000047,#0000000f 48%,#00000038),radial-gradient(circle at 55% 45%,#0000 0 20%,#0000002e 67%,#00000057 100%)}.fabrica-name-lockup{z-index:2;flex-direction:column;align-items:flex-end;width:max-content;display:flex;position:absolute;top:calc(clamp(128px,8.35vw,160px) - 68px);left:3.4%}.fabrica-display{color:#fff;letter-spacing:-.06em;white-space:nowrap;margin:0;font-size:19vw;font-weight:600;line-height:.83}.fabrica-studio{letter-spacing:-.07em;margin:clamp(12px,.95vw,18px) 0 0;font-size:clamp(56px,5vw,96px);font-weight:700;line-height:.9}.fabrica-milestones{z-index:2;grid-template-columns:.65fr .75fr 2fr;align-items:start;gap:18px;width:24%;display:grid;position:absolute;top:calc(clamp(128px,8.35vw,160px) + 15.77vw - 68px);left:72.4%;transform:translateY(-100%)}.fabrica-milestones>div{flex-direction:column;gap:8px;min-width:0;display:flex}.fabrica-milestones span{color:#ffffff80;letter-spacing:.18em;text-transform:uppercase;font-size:9px;font-weight:700;line-height:1}.fabrica-milestones strong{letter-spacing:-.055em;font-size:24px;font-weight:650;line-height:1}.fabrica-milestones i{color:var(--lime);font-style:normal}.fabrica-milestone-stack strong{letter-spacing:-.025em;white-space:nowrap;font-size:clamp(11px,.82vw,13px);line-height:1.35}.fabrica-statement{z-index:2;letter-spacing:-.04em;max-width:min(1040px,70vw);margin:0;font-size:clamp(24px,1.55vw,30px);font-weight:500;line-height:1.2;position:absolute;bottom:30px;left:2.05%}.fabrica-statement span{display:block}.fabrica-statement .fabrica-statement-muted{color:#ffffff8c;display:inline}.fabrica-statement-indent{margin-left:clamp(48px,5.2vw,100px)}.fabrica-plus{z-index:2;color:#ffffffa6;font-size:25px;font-weight:300;line-height:1;position:absolute;bottom:195px}.fabrica-plus-one{left:2%}.fabrica-plus-two{left:25.7%}.fabrica-plus-three{left:49.3%}.fabrica-plus-four{left:72.4%}.fabrica-copyright{z-index:2;color:#fffc;letter-spacing:-.04em;margin:0;font-size:14px;font-weight:500;line-height:1.3;position:absolute;bottom:30px;left:59.5%}.fabrica-contact-card{z-index:3;width:auto;height:160px;color:var(--fabrica-black);background:0 0;grid-template-columns:124px 1fr;gap:4px;display:grid;position:absolute;bottom:30px;left:72.4%;right:2%}.fabrica-contact-avatar{background:#111;border:6px solid #fff;border-radius:14px;width:124px;height:160px;position:relative;overflow:hidden}.fabrica-contact-avatar img{object-fit:cover}.fabrica-contact-copy{min-width:0;color:var(--black);background:#fff;border-radius:14px;flex-direction:column;padding:22px 24px 18px;display:flex}.fabrica-contact-role{letter-spacing:-.045em;font-size:20px;font-weight:700;line-height:1.05}.fabrica-contact-company{color:#6b6b6b;margin-top:7px;font-size:14px;font-weight:600;line-height:1.15}.fabrica-contact-actions{gap:6px;margin-top:auto;display:flex}.fabrica-pill-link{letter-spacing:-.04em;border-radius:999px;justify-content:space-between;align-items:center;min-width:0;min-height:30px;padding:0 12px;font-size:11px;font-weight:600;line-height:1;display:flex;overflow:hidden}.fabrica-pill-link-label{white-space:nowrap;height:1em;display:block;position:relative}.fabrica-pill-link-label-current,.fabrica-pill-link-label-next{transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .3s;display:block}.fabrica-pill-link-label-next{opacity:0;position:absolute;inset:0 auto auto 0;transform:translateY(-175%)}.fabrica-pill-link-dot{background:currentColor;border-radius:50%;flex:0 0 8px;width:8px;height:8px;transition:transform .42s cubic-bezier(.22,1,.36,1);display:block}.fabrica-pill-link-end-icon{font-size:14px;line-height:1}.fabrica-pill-link-dark{background:var(--fabrica-black);color:#fff}.fabrica-pill-link-light{background:var(--ink);color:var(--black)}.fabrica-pill-link-outline{color:var(--fabrica-black);background:#fff;border:1px solid #09090933}.fabrica-pill-link:is(:hover,:focus-visible) .fabrica-pill-link-label-current{opacity:0;transform:translateY(175%)}.fabrica-pill-link:is(:hover,:focus-visible) .fabrica-pill-link-label-next{opacity:1;transform:translateY(0)}.fabrica-pill-link:is(:hover,:focus-visible) .fabrica-pill-link-dot{transform:scale(1.25)}.fabrica-pill-link-light:focus-visible{outline-color:var(--lime)}.fabrica-contact-button{letter-spacing:normal;flex:1}@media (prefers-reduced-motion:reduce){.fabrica-pill-link-label-current,.fabrica-pill-link-label-next,.fabrica-pill-link-dot{transition:none}}.fabrica-why-us{color:#fff;font-family:var(--font-fabrica), Inter, Arial, Helvetica, sans-serif;background:#0a0a0a;padding:clamp(120px,10vw,160px) 36px clamp(88px,8vw,120px);overflow:hidden}.fabrica-why-us-inner{flex-direction:column;gap:120px;width:100%;max-width:1522px;margin-inline:auto;display:flex}.fabrica-why-us-heading,.fabrica-why-us-body{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.fabrica-why-us-heading{min-height:198px}.fabrica-why-us-label{align-items:flex-start;gap:9px;display:flex}.fabrica-why-us-label i{background:#fff;border-radius:50%;flex:0 0 18px;width:18px;height:18px;display:block;position:relative}.fabrica-why-us-label i:before,.fabrica-why-us-label i:after{content:"";background:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fabrica-why-us-label i:before{width:8px;height:2px}.fabrica-why-us-label i:after{width:2px;height:8px}.fabrica-why-us-label i:before,.fabrica-why-us-label i:after{background:#0a0a0a}.fabrica-why-us-label p{letter-spacing:-.04em;margin:0;font-size:16px;font-weight:500;line-height:1.4}.fabrica-why-us-title-wrap{grid-column:2/span 3;align-items:center;display:flex}.fabrica-why-us-title-wrap h2{letter-spacing:-.06em;max-width:830px;margin:0;font-size:60px;font-weight:500;line-height:1.1}.fabrica-why-us-title-wrap h2 span{color:#ffffff8c}.fabrica-why-us-photo{color:#fff;background:#0a0a0a;border-radius:18px;grid-column:1;height:621px;position:relative;overflow:hidden}.fabrica-why-us-photo>img{object-fit:cover;object-position:center bottom;transform-origin:bottom;transform:scale(1.14)}.fabrica-why-us-status{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;letter-spacing:-.02em;background:#0a0a0ad1;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:8px;height:30px;padding:0 12px 0 10px;font-size:11px;font-weight:600;line-height:1;display:flex;position:absolute;top:18px;right:18px}.fabrica-why-us-status i{background:#9dff57;border-radius:50%;flex:0 0 7px;width:7px;height:7px;position:relative;box-shadow:0 0 0 3px #9dff5724}.fabrica-why-us-status i:after{content:"";border-radius:inherit;border:1px solid #9dff57bf;animation:1.8s ease-out infinite fabrica-status-pulse;position:absolute;inset:-3px}@keyframes fabrica-status-pulse{0%{opacity:.85;transform:scale(.65)}70%,to{opacity:0;transform:scale(1.65)}}@media (prefers-reduced-motion:reduce){.fabrica-why-us-status i:after{opacity:0;animation:none}}.fabrica-why-us-content{flex-direction:column;grid-column:2/span 3;align-items:flex-start;gap:80px;min-width:0;height:621px;display:flex;overflow:hidden}.fabrica-why-us-lead{color:#ffffff8c;letter-spacing:-.04em;text-indent:clamp(80px,5.85vw,180px);max-width:830px;min-height:79px;margin:0;font-size:22px;font-weight:400;line-height:1.2}.fabrica-why-us-lead strong{color:#fff;font-weight:500}.fabrica-why-us-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%;height:462px;display:grid}.fabrica-why-us-card{flex-direction:column;gap:4px;min-width:0;display:flex}.fabrica-why-us-card-top,.fabrica-why-us-card-bottom{background:var(--card-surface);color:#fff;border-radius:18px;padding:30px;overflow:hidden}.fabrica-why-us-card-top{flex:0 0 92px;justify-content:space-between;align-items:center;height:92px;padding-block:24px;display:flex}.fabrica-why-us-card-top strong{letter-spacing:-.07em;align-items:center;font-size:32px;font-weight:400;line-height:1.21;display:flex}.fabrica-why-us-card-top strong span{font:inherit}.fabrica-why-us-card-top small{letter-spacing:-.06em;align-self:flex-start;font-size:10px;font-weight:600;line-height:1.1}.fabrica-why-us-card-bottom{flex-direction:column;flex:1;justify-content:space-between;align-items:stretch;min-height:0;display:flex}.fabrica-why-us-card-bottom p{color:#fff;text-align:right;letter-spacing:-.045em;width:min(100%,16ch);margin:0 0 0 auto;font-size:16px;font-weight:400;line-height:1.18}.fabrica-why-us-card-art{isolation:isolate;flex:0 0 190px;width:calc(100% + 24px);height:190px;margin:auto -12px -18px;position:relative;overflow:hidden}.fabrica-why-us-card-art img{object-fit:contain;object-position:center}@media (min-width:1280px){.fabrica-why-us-content{grid-column:3/span 2}.fabrica-why-us-card-top,.fabrica-why-us-card-bottom{padding:clamp(22px,1.95vw,30px)}.fabrica-why-us-card-top{padding-block:24px}.fabrica-why-us-card-top strong{font-size:clamp(25px,2vw,32px)}}@media (max-width:1180px){.fabrica-why-us{padding:72px 20px}.fabrica-why-us-inner{gap:36px}.fabrica-why-us-heading{flex-direction:column;gap:16px;min-height:0;display:flex}.fabrica-why-us-label{gap:6px}.fabrica-why-us-label p{font-size:13px}.fabrica-why-us-title-wrap{display:block}.fabrica-why-us-title-wrap h2{max-width:none;font-size:32px;line-height:1.1}.fabrica-why-us-body{flex-direction:column;gap:40px;display:flex}.fabrica-why-us-photo{width:100%;height:530px}.fabrica-why-us-photo>img{object-position:center 42%;transform:none}.fabrica-why-us-content{gap:30px;width:100%;height:auto;overflow:visible}.fabrica-why-us-lead{text-indent:0;max-width:none;min-height:0;font-size:18px;line-height:1.2}.fabrica-why-us-cards{flex-direction:column;gap:4px;height:908px;display:flex}.fabrica-why-us-card{flex:0 0 300px;height:300px}.fabrica-why-us-card-top,.fabrica-why-us-card-bottom{padding:24px}.fabrica-why-us-card-top{flex-basis:82px;height:82px}.fabrica-why-us-card-top strong{font-size:32px}.fabrica-why-us-card-bottom p{width:min(100%,20ch);line-height:1.15}.fabrica-why-us-card-art{flex-basis:150px;height:150px;margin-bottom:-24px}}@media (max-width:479px){.fabrica-why-us-card-bottom{position:relative}.fabrica-why-us-card-bottom p{z-index:1;position:relative}.fabrica-why-us-card-art{width:100%;margin:0;position:absolute;bottom:-38px;left:8px}.fabrica-why-us-card-art img{object-position:left bottom}}@media (min-width:480px) and (max-width:1180px){.fabrica-why-us-card-bottom{position:relative}.fabrica-why-us-card-bottom p{z-index:1;position:relative}.fabrica-why-us-card-art{width:48%;height:auto;margin:0;position:absolute;top:0;bottom:0;left:24px}.fabrica-why-us-card-art img{object-position:left center}}.fabrica-tech-stack{isolation:isolate;padding:160px var(--fabrica-section-gutter);background:var(--black);color:var(--black);font-family:var(--font-fabrica), Inter, Arial, Helvetica, sans-serif;position:relative;overflow:hidden}.fabrica-tech-stack:before{content:"";z-index:0;background:var(--lime);border-radius:clamp(24px,1.55vw,50px);position:absolute;inset:clamp(6px,.32vw,12px)}.fabrica-tech-stack-grain{z-index:0;pointer-events:none;border-radius:clamp(24px,1.55vw,50px);position:absolute;inset:clamp(6px,.32vw,12px);overflow:hidden}.fabrica-tech-stack-grain:before{content:"";opacity:.05;will-change:transform;background-image:url(https://framerusercontent.com/images/rR6HYXBrMmX4cRpXfXUOvpvpB0.png);background-repeat:repeat;background-size:256px 256px;width:400%;height:400%;animation:8s steps(10,start) infinite fabrica-grain;position:absolute;inset:-200%}.fabrica-tech-stack>.fabrica-section-shell{z-index:1;position:relative}.fabrica-tech-stack-heading{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:4px;min-height:132.48px;display:grid}.fabrica-tech-stack-label{letter-spacing:-.04em;align-items:center;gap:10px;margin:0;font-size:16px;font-weight:500;line-height:1.4;display:flex}.fabrica-tech-stack-label i{background:var(--black);border-radius:50%;flex:0 0 18px;width:18px;height:18px;position:relative}.fabrica-tech-stack-label i:before,.fabrica-tech-stack-label i:after{content:"";background:var(--lime);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fabrica-tech-stack-label i:before{width:8px;height:2px}.fabrica-tech-stack-label i:after{width:2px;height:8px}.fabrica-tech-stack-title-wrap{grid-column:2/span 3;align-items:flex-start;gap:14px;display:flex;position:relative}.fabrica-tech-stack-title-wrap h2{letter-spacing:-.06em;white-space:nowrap;width:auto;margin:0;font-size:clamp(88px,12vw,144px);font-weight:600;line-height:.92}.fabrica-tech-stack-title-stop{vertical-align:baseline;background:currentColor;width:.14em;height:.14em;margin-left:.1em;display:inline-block}.fabrica-tech-stack-title-wrap>.fabrica-tech-stack-count{color:#09090961;letter-spacing:-.05em;flex:none;margin:0;font-size:37px;font-weight:600;line-height:1.2;position:static}.fabrica-tech-stack-list{flex-direction:column;gap:0;margin-top:80px;display:flex}.fabrica-tech-stack-service{cursor:pointer;-webkit-tap-highlight-color:transparent;grid-template-columns:25% 156px 44px clamp(292px,24.375vw - 20px,432.4px) 40px clamp(288px,16.25vw + 80px,381.6px) minmax(46px,1fr);align-items:start;gap:0;min-height:66px;display:grid;position:relative;overflow:hidden}.fabrica-tech-stack-service.is-active{overflow:visible}.fabrica-tech-stack-service:focus-visible{outline:2px solid var(--black);outline-offset:4px}.fabrica-tech-stack-service:not(.is-active){min-height:88px}.fabrica-tech-stack-service:not(.is-active) .fabrica-tech-stack-number,.fabrica-tech-stack-service:not(.is-active) .fabrica-tech-stack-toggle{align-self:center;margin-top:0}.fabrica-tech-stack-service:before{content:"";background:#09090947;height:1px;transition:left .3s cubic-bezier(.82,.11,.37,.82);position:absolute;bottom:0;left:25%;right:0}.fabrica-tech-stack-service.is-active:before{left:0}.fabrica-tech-stack-number{letter-spacing:-.04em;color:#09090994;grid-area:1/1;align-self:start;margin:22px 0 0;font-size:16px;font-weight:500;line-height:1.4}.fabrica-tech-stack-service.is-active .fabrica-tech-stack-number{margin-top:30px}.fabrica-tech-stack-panel{grid-area:1/2/auto/span 5;min-width:0;position:relative;overflow:hidden}.fabrica-tech-stack-service.is-active .fabrica-tech-stack-panel{overflow:visible}.fabrica-tech-stack-service:not(.is-active) .fabrica-tech-stack-panel{pointer-events:none;position:absolute;top:-171px;left:25%;right:46px}.fabrica-tech-stack-panel-grid{grid-template-columns:156px 44px clamp(292px,24.375vw - 20px,432.4px) 40px minmax(288px,381.6px);align-items:start;padding:30px 0 70px;display:grid}.fabrica-tech-stack-thumbnails{isolation:isolate;grid-area:1/1;align-items:flex-start;width:max-content;height:92px;margin-left:0;display:flex}.fabrica-tech-stack-mark-slot{width:80px;height:80px;z-index:var(--card-index);flex:0 0 80px;margin-left:-32px;position:relative}.fabrica-tech-stack-mark-slot:first-child{margin-left:0}.fabrica-tech-stack-mark-reveal{opacity:0;transform-origin:50% 100%;will-change:transform, opacity;width:100%;height:100%;display:block;transform:translateY(44px)scale(.1)}.fabrica-tech-stack-service.is-active .fabrica-tech-stack-mark-reveal{animation:.64s cubic-bezier(.16,1,.3,1) both fabrica-tech-stack-card-pop;animation-delay:calc(.32s + var(--card-index) * 82ms)}@keyframes fabrica-tech-stack-card-pop{0%{opacity:0;transform:translateY(44px)scale(.1)}to{opacity:1;transform:translateY(0)scale(1)}}.fabrica-tech-stack-mark{letter-spacing:-.06em;width:100%;height:100%;transform:translateX(calc(var(--card-index) * -48px)) translateY(5px) rotate(0deg) scale(.94);transform-origin:50% 112%;transition:transform .52s cubic-bezier(.22,.78,.22,1),box-shadow .3s;transition-delay:calc(var(--card-index) * 45ms);will-change:transform;border:0;border-radius:12px;place-items:center;font-size:19px;font-weight:750;line-height:1;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 18px #09090929}.fabrica-tech-stack-service.is-active .fabrica-tech-stack-mark{transform:translateY(0)rotate(0)scale(1)}.fabrica-tech-stack-mark-image{object-fit:cover}.fabrica-tech-stack-copy{grid-area:1/3;min-width:0;padding:0}.fabrica-tech-stack-copy h3{letter-spacing:-.04em;max-width:300px;margin:0;font-size:30px;font-weight:500;line-height:1.2}.fabrica-tech-stack-copy p{color:#0909099e;letter-spacing:-.035em;max-width:none;margin:20px 0 0;font-size:16px;font-weight:400;line-height:1.4}.fabrica-tech-stack-categories{grid-area:1/5;min-width:0;max-width:381.6px}.fabrica-tech-stack-categories>p{color:#0909098c;letter-spacing:-.03em;margin:0 0 28px;font-size:12px;font-weight:500;line-height:1.3}.fabrica-tech-stack-categories>div{flex-wrap:wrap;gap:8px;display:flex}.fabrica-tech-stack-categories span{background:var(--black);color:#fff;letter-spacing:-.035em;border-radius:999px;align-items:center;min-height:30px;padding:0 12px;font-size:12px;font-weight:400;line-height:1;display:inline-flex}.fabrica-tech-stack-collapsed-title{letter-spacing:-.04em;grid-area:1/2/auto/span 5;align-self:center;margin:0;font-size:22px;font-weight:500;line-height:1.2}.fabrica-tech-stack-toggle{color:#090909b8;background:0 0;border:1px solid #09090947;border-radius:50%;grid-area:1/7;place-self:start end;width:46px;height:46px;margin-top:10px;padding:0;transition:border-color .2s,color .2s;position:relative}.fabrica-tech-stack-service.is-active .fabrica-tech-stack-toggle{margin-top:47px}.fabrica-tech-stack-service:hover .fabrica-tech-stack-toggle,.fabrica-tech-stack-service:focus-visible .fabrica-tech-stack-toggle{border-color:var(--black);background:var(--black);color:var(--lime)}.fabrica-tech-stack-toggle-line{background:currentColor;position:absolute;top:50%;left:50%}.fabrica-tech-stack-toggle-line.is-horizontal{width:14px;height:2px;margin:-1px 0 0 -7px}.fabrica-tech-stack-toggle-line.is-vertical{transform-origin:50%;width:2px;height:14px;margin:-7px 0 0 -1px}@media (max-width:1279px){.fabrica-tech-stack{padding:96px 20px}.fabrica-tech-stack-service{grid-template-columns:76px minmax(176px,.8fr) minmax(0,2fr) 46px;row-gap:34px}.fabrica-tech-stack-service:before{left:76px}.fabrica-tech-stack-panel{grid-column:2/4}.fabrica-tech-stack-service:not(.is-active) .fabrica-tech-stack-panel{left:76px;right:46px}.fabrica-tech-stack-panel-grid{grid-template-columns:minmax(176px,.8fr) minmax(0,2fr);row-gap:34px}.fabrica-tech-stack-thumbnails{grid-area:1/1;margin-left:0}.fabrica-tech-stack-copy{grid-area:1/2}.fabrica-tech-stack-categories{grid-area:2/2}.fabrica-tech-stack-collapsed-title{grid-area:1/2/auto/span 2}.fabrica-tech-stack-toggle{grid-area:1/4}}@media (max-width:720px){.fabrica-tech-stack{padding:72px 20px 88px}.fabrica-tech-stack-heading{min-height:0;display:block}.fabrica-tech-stack-label{font-size:13px}.fabrica-tech-stack-title-wrap{gap:4px;margin-top:56px}.fabrica-tech-stack-title-wrap h2{font-size:clamp(48px,15vw,72px)}.fabrica-tech-stack-title-wrap>.fabrica-tech-stack-count{font-size:22px;position:static}.fabrica-tech-stack-list{margin-top:72px}.fabrica-tech-stack-service{grid-template-columns:58px 1fr;gap:28px 14px;min-height:66px;padding:0}.fabrica-tech-stack-service:not(.is-active){min-height:78px}.fabrica-tech-stack-service:before{left:72px}.fabrica-tech-stack-number{grid-area:1/1}.fabrica-tech-stack-panel{grid-column:2}.fabrica-tech-stack-service:not(.is-active) .fabrica-tech-stack-panel{top:-140px;left:72px;right:0}.fabrica-tech-stack-panel-grid{grid-template-columns:minmax(0,1fr);gap:28px;padding:28px 0 42px}.fabrica-tech-stack-thumbnails{grid-area:1/1;height:82px;margin-left:0}.fabrica-tech-stack-mark-slot{flex-basis:70px;width:70px;height:70px;margin-left:-28px}.fabrica-tech-stack-mark{border-radius:10px;font-size:17px}.fabrica-tech-stack-copy{grid-area:2/1;padding:0}.fabrica-tech-stack-copy h3{max-width:none;font-size:30px}.fabrica-tech-stack-copy p{margin-top:24px;font-size:15px}.fabrica-tech-stack-categories{grid-area:3/1}.fabrica-tech-stack-categories>p{margin-bottom:18px}.fabrica-tech-stack-categories span{min-height:32px;padding:0 12px;font-size:11px}.fabrica-tech-stack-collapsed-title{grid-area:1/2;margin:0;padding-right:48px;font-size:20px}.fabrica-tech-stack-toggle{grid-area:1/2;justify-self:end;width:40px;height:40px}}.wordmark{letter-spacing:-.06em;font-size:20px;font-weight:800}.wordmark-dot{color:var(--lime)}.nav-cta{border:1px solid var(--ink);border-radius:999px;padding:11px 17px}h1{z-index:2;letter-spacing:-.075em;max-width:1100px;margin:clamp(42px,8vh,82px) 0 52px;font-size:clamp(58px,8.9vw,140px);font-weight:600;line-height:.82;position:relative}h1 em{font-family:var(--font-display), serif;letter-spacing:-.035em;font-weight:400}.projects-page{background:var(--black);color:var(--ink)}.projects-page-main{min-height:100svh;padding:340px var(--fabrica-section-gutter) clamp(100px, 9vw, 160px);font-family:var(--font-sans), sans-serif}.projects-page-hero{grid-template-rows:132.48px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:4px;height:132.48px;display:grid}.projects-page-hero h1{max-width:none;color:var(--ink);letter-spacing:-.06em;white-space:nowrap;grid-column:1/span 2;margin:0;font-size:144px;font-weight:600;line-height:.92}.projects-page-copy{flex-direction:column;grid-column:3;align-self:start;gap:14px;width:377px;margin-top:33.28px;padding-bottom:18px;display:flex}.projects-page-period{color:var(--ink);letter-spacing:-.04em;margin:0;font-size:16px;font-weight:500;line-height:1.4}.projects-page-intro{color:var(--muted);letter-spacing:-.04em;margin:0;font-size:16px;font-weight:500;line-height:1.4}.projects-page-grid{color:var(--ink);margin-top:168px}@media (max-width:900px){.projects-page-main{padding-top:60px}.projects-page-hero{grid-template-rows:auto 1fr;grid-template-columns:1fr 2fr;height:auto;min-height:580px;padding:80px 0 70px}.projects-page-hero h1{grid-area:1/1/auto/-1;font-size:clamp(92px,17vw,150px)}.projects-page-copy{grid-column:1/-1;grid-template-columns:1fr 2fr;align-self:end;gap:4px;width:auto;margin-top:0;padding-bottom:0;display:grid}.projects-page-period{grid-column:1}.projects-page-intro{grid-column:2}.projects-page-grid{margin-top:80px}}@media (max-width:720px){.projects-page-main{padding-top:58px}.projects-page-hero{min-height:0;padding:92px 0 70px;display:block}.projects-page-hero h1{font-size:clamp(76px,23vw,112px);line-height:.82}.projects-page-copy{display:block}.projects-page-period{margin-top:32px}.projects-page-intro{max-width:350px;margin-top:38px;font-size:17px}.projects-page-grid{margin-top:32px}}.fabrica-projects{background:var(--black);color:var(--ink);font-family:var(--font-sans), Arial, Helvetica, sans-serif;padding:clamp(88px,9vw,170px) 36px clamp(90px,8vw,150px)}.fabrica-projects-heading{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:4px;margin-bottom:90px;display:grid}.fabrica-projects-count{letter-spacing:-.04em;margin:0;font-size:16px;font-weight:500;line-height:1.4}.fabrica-projects-title-wrap{grid-column:2/span 2;overflow:visible}.fabrica-projects-title-wrap h2{letter-spacing:-.06em;white-space:nowrap;margin:0;font-size:144px;font-weight:600;line-height:.92}.fabrica-projects-year{letter-spacing:-.06em;margin:22px 0 0;font-size:36px;font-weight:600;line-height:1}.fabrica-projects-heading-cta{grid-column:4;align-self:start;width:128px;margin:102px 0 0}.fabrica-projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.fabrica-project-card{min-width:0;color:var(--ink);border-radius:18px;flex-direction:column;gap:4px;display:flex}.fabrica-project-card-head{border-radius:inherit;background:var(--card-surface);border:0;justify-content:space-between;align-items:center;gap:20px;min-height:58px;padding:18px 24px;display:flex}.fabrica-project-card-name{align-items:baseline;gap:18px;min-width:0;display:flex}.fabrica-project-card-name h3{letter-spacing:-.04em;margin:0;font-size:18px;font-weight:600;line-height:1.2}.fabrica-project-card-name span{color:var(--muted);letter-spacing:-.04em;flex:none;font-size:12px;font-weight:500;line-height:1.3}.fabrica-project-menu{flex:none;gap:4px;display:flex}.fabrica-project-menu i{aspect-ratio:1;background:#ffffff2e;border-radius:50%;width:9px;transition:transform .3s,background .3s;display:block}.fabrica-project-image-wrap{aspect-ratio:1.366;border-radius:inherit;background:var(--card-surface);border:0;place-items:center;padding:4px;display:grid;position:relative;overflow:hidden}.fabrica-project-image-media{border-radius:14px;position:absolute;inset:4px;overflow:hidden}.fabrica-project-image-media img{object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.fabrica-project-card:hover .fabrica-project-image-media img{transform:scale(1.035)}.fabrica-project-card:hover .fabrica-project-menu i:first-child{transform:translate(4px)}.fabrica-project-card:hover .fabrica-project-menu i:last-child{transform:translate(-4px)}.fabrica-project-card:focus-visible{outline-color:var(--lime)}@media (min-width:810px) and (max-width:1199.98px){.fabrica-projects{padding-inline:30px}.fabrica-projects-heading{margin-bottom:60px}.fabrica-projects-count,.fabrica-projects-heading-cta{font-size:11px}.fabrica-projects-title-wrap h2{font-size:99px}.fabrica-projects-year{margin-top:21px;font-size:30px}.fabrica-projects-heading-cta{margin-top:61px}}.github-section{border-top:1px solid var(--line);background:var(--black);color:var(--ink);padding:clamp(90px,11vw,180px) clamp(24px,5vw,76px);position:relative;overflow:hidden}.github-section:before{content:"GITHUB";color:#ffffff06;letter-spacing:-.09em;pointer-events:none;font-size:clamp(100px,20vw,360px);font-weight:800;line-height:.75;position:absolute;top:4%;right:-1.5%}.github-heading{z-index:1;grid-template-columns:.75fr 2fr 1fr;align-items:end;gap:28px;margin-bottom:clamp(58px,7vw,110px);display:grid;position:relative}.github-heading h2{letter-spacing:-.07em;margin:0;font-size:clamp(55px,7vw,112px);font-weight:600;line-height:.87}.github-heading h2 em{font-family:var(--font-display), serif;letter-spacing:-.025em;font-weight:400}.github-heading>p:last-child{max-width:360px;color:var(--muted);margin:0;font-size:14px;line-height:1.65}.github-card{z-index:1;color:#0b0b0b;background:#f2f3ed;border-radius:clamp(22px,2.4vw,44px);flex-direction:column;min-height:590px;padding:clamp(24px,3vw,48px);transition:transform .45s cubic-bezier(.2,.8,.2,1),background .35s;display:flex;position:relative;overflow:hidden;box-shadow:0 40px 100px #0000003d}.github-card:after{content:"";aspect-ratio:1;background:var(--lime);filter:blur(2px);opacity:.75;pointer-events:none;border-radius:50%;width:340px;position:absolute;bottom:-180px;right:-130px}.github-card:hover{background:#fff;transform:translateY(-7px)}.github-card:focus-visible{outline-offset:8px}.github-card-top{justify-content:space-between;align-items:center;gap:24px;display:flex}.github-identity{align-items:center;gap:16px;display:flex}.github-mark{aspect-ratio:1;color:#fff;letter-spacing:-.08em;background:#0b0b0b;border-radius:50%;place-items:center;width:58px;font-size:15px;font-weight:800;display:grid}.github-identity div{flex-direction:column;gap:4px;display:flex}.github-identity div span,.github-card-footer span{color:#76766f;letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:800;line-height:1}.github-identity strong{letter-spacing:-.04em;font-size:16px}.github-card-cta{border:1px solid #0003;border-radius:999px;align-items:center;gap:32px;padding:14px 18px;font-size:11px;font-weight:800;transition:background .25s,color .25s;display:inline-flex}.github-card-cta i{font-size:16px;font-style:normal}.github-card:hover .github-card-cta{color:#fff;background:#0b0b0b}.github-visual{background:#ffffffad;border:1px solid #00000021;border-radius:18px;margin:clamp(55px,7vw,100px) 0 56px;padding:clamp(22px,2.4vw,38px)}.github-visual-head{justify-content:space-between;gap:20px;margin-bottom:30px;display:flex}.github-visual-head span:first-child{letter-spacing:-.05em;font-size:clamp(20px,2vw,30px);font-weight:700}.github-visual-head span:last-child{color:#77776f;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:800}.github-graph-scroll{scrollbar-width:thin;scrollbar-color:#0003 transparent;overflow-x:auto}.github-graph{min-width:780px}.github-months{grid-template-columns:repeat(12,1fr);margin:0 0 10px 42px;display:grid}.github-months span{color:#77776f;font-size:9px;font-weight:700}.github-graph-body{align-items:start;gap:12px;display:flex}.github-days{color:#77776f;flex-direction:column;flex:0 0 30px;justify-content:space-around;width:30px;height:94px;font-size:8px;font-weight:700;display:flex}.github-graph-grid{grid-template-rows:repeat(7,10px);grid-auto-columns:10px;grid-auto-flow:column;gap:4px;width:max-content;display:grid}.github-cell{background:#dedfd8;border-radius:2px;width:10px;height:10px;display:block}.github-cell.level-1{background:#c6ee78}.github-cell.level-2{background:#91d348}.github-cell.level-3{background:#5da92b}.github-cell.level-4{background:#2f741a}.github-graph-grid .github-cell{animation:.5s both github-cell-in;animation-delay:var(--delay)}@keyframes github-cell-in{0%{opacity:0;transform:scale(.25)}to{opacity:1;transform:scale(1)}}.github-legend{justify-content:flex-end;align-items:center;gap:5px;margin-top:16px;display:flex}.github-legend span{color:#77776f;margin:0 4px;font-size:8px;font-weight:700}.github-card-footer{z-index:1;border-top:1px solid #0000002e;grid-template-columns:repeat(3,1fr);margin-top:auto;display:grid;position:relative}.github-card-footer>div{flex-direction:column;gap:10px;padding:25px 20px 0 0;display:flex}.github-card-footer strong{letter-spacing:-.04em;font-size:clamp(14px,1.4vw,19px)}.fabrica-proof{color:#090909;background:#f3f3f1;border-top:1px solid #dededb;padding:clamp(110px,10vw,190px) clamp(24px,8.8vw,168px) clamp(130px,13vw,250px)}.fabrica-proof-stats{border-bottom:1px solid #d0d0cc;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(30px,6vw,120px);padding-bottom:clamp(110px,12vw,220px);display:grid}.fabrica-proof-stat strong{letter-spacing:-.085em;white-space:nowrap;font-size:clamp(86px,8.8vw,168px);font-weight:600;line-height:.85;display:block}.fabrica-proof-stat p{color:#70706d;letter-spacing:-.04em;margin:clamp(34px,3vw,58px) 0 0;font-size:clamp(15px,1.15vw,22px);font-weight:550;line-height:1.3}.fabrica-approach{grid-template-columns:1fr 3fr;gap:clamp(50px,9vw,170px);padding-top:clamp(100px,10vw,190px);display:grid}.fabrica-approach-aside strong{letter-spacing:-.055em;font-size:clamp(21px,1.5vw,30px);font-weight:750;line-height:1;display:block}.fabrica-approach-aside p{color:#70706d;letter-spacing:-.04em;max-width:290px;margin:35px 0 0;font-size:clamp(15px,1.15vw,21px);font-weight:550;line-height:1.35}.fabrica-approach-copy h2{letter-spacing:-.065em;max-width:1240px;margin:0;font-size:clamp(39px,4vw,72px);font-weight:550;line-height:1.04}.fabrica-approach-copy h2 span{color:#737370}.fabrica-approach-copy>p{color:#70706d;letter-spacing:-.045em;max-width:900px;margin:clamp(54px,6vw,105px) 0 0;font-size:clamp(17px,1.55vw,29px);font-weight:520;line-height:1.3}.github-dashboard-section{color:#090909;background:#f3f3f1;border-top:1px solid #dededb;padding:clamp(80px,8vw,150px) clamp(24px,8.8vw,168px) clamp(100px,10vw,190px)}.github-dashboard-heading{grid-template-columns:1fr 2fr 1fr;align-items:end;gap:30px;margin-bottom:clamp(56px,6vw,110px);display:grid}.github-dashboard-heading>p{color:#70706d;letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:clamp(11px,.9vw,15px);font-weight:700;line-height:1.45}.github-dashboard-heading>p:last-child{text-transform:none;letter-spacing:-.02em;max-width:330px}.github-dashboard-heading h2{letter-spacing:-.075em;margin:0;font-size:clamp(54px,6vw,104px);font-weight:600;line-height:.9}.github-dashboard{grid-template-columns:2fr 1fr 1fr;gap:4px;min-height:clamp(620px,46vw,820px);display:grid}.github-profile-panel,.github-summary-panel,.github-rate-panel,.github-bars-panel{border:1px solid #0909090f;border-radius:clamp(20px,1.6vw,32px);position:relative;overflow:hidden}.github-profile-panel{color:#fff;background:#080808;flex-direction:column;min-width:0;padding:clamp(28px,2.2vw,44px);display:flex}.github-profile-panel:focus-visible{outline-offset:7px}.github-profile-image{z-index:0;object-fit:cover;object-position:center 28%;filter:grayscale()contrast(1.08);opacity:.82;width:60%;height:68%;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .4s;position:absolute;top:-3%;right:-2%;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 28%);mask-image:linear-gradient(90deg,#0000 0,#000 28%)}.github-profile-panel:hover .github-profile-image{opacity:.95;transform:scale(1.035)}.github-profile-shade{z-index:1;pointer-events:none;background:linear-gradient(#0000 35%,#00000061 57%,#080808 78%);position:absolute;inset:0}.github-profile-top{z-index:2;justify-content:space-between;align-items:start;gap:20px;display:flex;position:relative}.github-profile-top div{flex-direction:column;gap:7px;display:flex}.github-profile-top strong{letter-spacing:-.04em;font-size:clamp(17px,1.25vw,25px)}.github-profile-top span{color:#ffffff80;font-size:11px;font-weight:600}.github-profile-top>i{font-size:28px;font-style:normal;line-height:1;transition:transform .25s}.github-profile-panel:hover .github-profile-top>i{transform:translate(4px,-4px)}.github-profile-name{z-index:2;letter-spacing:-.09em;margin:auto 0 0;font-size:clamp(80px,8vw,155px);font-weight:600;line-height:.75;position:relative}.github-profile-name span{color:var(--lime)}.github-profile-graph{z-index:2;scrollbar-width:none;max-width:100%;margin-top:clamp(54px,5vw,88px);position:relative;overflow-x:auto}.github-profile-months{grid-template-columns:repeat(12,1fr);width:580px;margin-bottom:10px;display:grid}.github-profile-months span{color:#fff6;font-size:7px;font-weight:700}.github-profile-grid{grid-template-rows:repeat(7,8px);grid-auto-columns:8px;grid-auto-flow:column;gap:3px;width:max-content;display:grid}.github-profile-grid .github-cell{width:8px;height:8px;animation:.5s both github-cell-in;animation-delay:var(--delay);background:#272727;border-radius:2px}.github-profile-grid .github-cell.level-1{background:#bce96d}.github-profile-grid .github-cell.level-2{background:#8dce45}.github-profile-grid .github-cell.level-3{background:#58a329}.github-profile-grid .github-cell.level-4{background:#2f741a}.github-summary-panel{background:#fff;flex-direction:column;padding:clamp(28px,2.2vw,44px);display:flex}.github-rings{aspect-ratio:1;opacity:.6;width:150%;position:absolute;top:-20%;left:-40%}.github-rings i{border:1px solid #deded9;border-radius:50%;position:absolute;inset:0}.github-rings i:nth-child(2){inset:13%}.github-rings i:nth-child(3){inset:26%}.github-rings i:nth-child(4){inset:39%}.github-summary-panel>p,.github-summary-bottom span{color:#6f6f6b;margin:0;font-size:12px;font-weight:650;position:relative}.github-summary-panel h3{letter-spacing:-.065em;margin:24px 0 0;font-size:clamp(34px,3vw,58px);font-weight:580;line-height:1.08;position:relative}.github-summary-bottom{flex-direction:column;align-items:start;margin-top:auto;display:flex;position:relative}.github-summary-bottom strong{letter-spacing:-.08em;margin-top:9px;font-size:clamp(70px,6vw,118px);line-height:.8}.github-summary-bottom small{color:#6f6f6b;max-width:330px;margin-top:36px;font-size:12px;line-height:1.55}.github-side-panels{grid-template-rows:1fr 1fr;gap:4px;min-width:0;display:grid}.github-rate-panel{text-align:center;background:#fff;flex-direction:column;align-items:center;padding:clamp(25px,2vw,40px);display:flex}.github-rate-ring{aspect-ratio:1;background:conic-gradient(#111 0 var(--rate), #eeeeeb var(--rate) 360deg);border-radius:50%;place-items:center;width:clamp(130px,10vw,195px);display:grid;position:relative}.github-rate-ring:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:18px}.github-rate-ring strong{z-index:1;letter-spacing:-.07em;font-size:clamp(30px,2.5vw,48px);position:relative}.github-rate-panel h3{letter-spacing:-.04em;margin:auto 0 0;font-size:20px}.github-rate-panel p{color:#70706d;max-width:300px;margin:18px 0 0;font-size:11px;line-height:1.5}.github-bars-panel{background:#fff;flex-direction:column;padding:clamp(25px,2vw,40px);display:flex}.github-bars-head{justify-content:space-between;align-items:start;gap:18px;display:flex}.github-bars-head div{flex-direction:column;display:flex}.github-bars-head strong{letter-spacing:-.075em;font-size:clamp(42px,3.7vw,72px);line-height:.85}.github-bars-head span{color:#70706d;margin-top:12px;font-size:11px;font-weight:650}.github-bars-head small{color:#70706d;text-transform:uppercase;letter-spacing:.08em;font-size:9px}.github-bars{grid-template-columns:repeat(6,1fr);align-items:end;gap:10px;height:58%;margin-top:auto;display:grid}.github-bars>div{flex-direction:column;justify-content:end;align-items:center;gap:11px;height:100%;display:flex}.github-bars i{width:100%;height:var(--height);background:#eeeeeb;border-radius:9px;display:block}.github-bars .is-current i{background:#111}.github-bars span{color:#70706d;font-size:9px;font-weight:650}.fabrica-proof-exact,.fabrica-case-exact{color:#fff;background:#090909;padding:0 36px}.fabrica-proof-exact{padding-top:clamp(40px,3.75vw,60px)}.fabrica-proof-exact-inner{width:100%;max-width:var(--fabrica-section-max);flex-direction:column;gap:100px;margin-inline:auto;display:flex}.fabrica-stats-exact{border-bottom:1px solid #ffffff1f;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;height:266px;padding-bottom:100px;display:grid}.fabrica-stat-exact{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:18px;height:166px;display:flex}.fabrica-stat-exact strong{letter-spacing:-.065em;white-space:nowrap;align-items:center;height:103px;font-size:85px;font-weight:600;line-height:1;display:flex}.fabrica-stat-exact strong span{letter-spacing:-.08em}.fabrica-stat-exact p{color:#ffffff8f;letter-spacing:-.04em;margin:0;font-size:16px;font-weight:500;line-height:1.4}.fabrica-approach-exact{color:#fff;background:#090909;width:100%;height:415px;margin-left:0}.fabrica-approach-exact-inner{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:100%;max-width:none;height:100%;margin-inline:0;padding:0;display:grid}.fabrica-approach-exact-aside{grid-column:1;align-items:flex-start;gap:9px;display:flex}.fabrica-approach-exact-aside i{background:#fff;border-radius:50%;flex:0 0 18px;width:18px;height:18px;position:relative}.fabrica-approach-exact-aside i:before,.fabrica-approach-exact-aside i:after{content:"";background:#090909;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fabrica-approach-exact-aside i:before{width:8px;height:2px}.fabrica-approach-exact-aside i:after{width:2px;height:8px}.fabrica-approach-exact-aside p{letter-spacing:-.04em;margin:0;font-size:16px;font-weight:600;line-height:1.4}.fabrica-approach-exact-copy{grid-column:2/span 3;min-width:0}.fabrica-approach-exact-brand{letter-spacing:-.055em;font-size:20px;font-weight:700;line-height:1.1;display:block}.fabrica-approach-exact-lead{letter-spacing:-.06em;width:100%;max-width:830px;margin:20px 0 0;font-size:60px;font-weight:600;line-height:1.1}.fabrica-approach-exact-lead span{color:#ffffff8f}.fabrica-approach-exact-note{color:#ffffff8f;letter-spacing:-.04em;max-width:375px;margin:30px 0 0;font-size:16px;font-weight:500;line-height:1.4}.fabrica-case-exact{padding-top:0;padding-bottom:145px}.fabrica-case-exact-grid{width:100%;max-width:var(--fabrica-section-max);grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;height:600px;margin-inline:auto;display:grid}.fabrica-case-exact-hero{--github-avatar-size:132px;--github-avatar-top:38px;--github-avatar-right:42px;--github-ripple-size:720px;background:var(--card-surface);color:#fff;border:0;border-radius:16px;grid-column:span 2;position:relative;overflow:hidden}.fabrica-github-profile-glow{background:radial-gradient(circle at calc(100% - var(--github-avatar-right) - var(--github-avatar-size) / 2) calc(var(--github-avatar-top) + var(--github-avatar-size) / 2), #ffffff21, transparent 27%);position:absolute;inset:0}.fabrica-github-profile-rings{z-index:0;top:calc(var(--github-avatar-top) + var(--github-avatar-size) / 2 - var(--github-ripple-size) / 2);right:calc(var(--github-avatar-right) + var(--github-avatar-size) / 2 - var(--github-ripple-size) / 2);width:var(--github-ripple-size);aspect-ratio:1;opacity:.72;pointer-events:none;position:absolute}.fabrica-github-profile-rings i{border:1px solid #ffffff1a;border-radius:50%;position:absolute;inset:0}.fabrica-github-profile-rings i:nth-child(2){inset:10%}.fabrica-github-profile-rings i:nth-child(3){inset:20%}.fabrica-github-profile-rings i:nth-child(4){inset:30%}.fabrica-github-profile-avatar{z-index:1;top:var(--github-avatar-top);right:var(--github-avatar-right);width:var(--github-avatar-size);height:var(--github-avatar-size);object-fit:cover;filter:contrast(1.05);border:1px solid #ffffff24;border-radius:50%;position:absolute}.fabrica-case-exact-top{z-index:3;justify-content:space-between;align-items:start;gap:20px;display:flex;position:absolute;top:40px;left:40px;right:40px}.fabrica-case-exact-top div{flex-direction:column;gap:8px;display:flex}.fabrica-case-exact-top strong{letter-spacing:-.04em;font-size:17px;font-weight:500}.fabrica-case-exact-top span{color:#ffffff8c;letter-spacing:-.04em;font-size:12px;font-weight:500}.fabrica-github-profile-identity{z-index:3;flex-direction:column;align-items:flex-start;gap:22px;display:flex;position:absolute;top:34%;left:40px}.fabrica-case-exact-wordmark{letter-spacing:-.075em;font-size:clamp(58px,5.4vw,84px);font-weight:600;line-height:.8}.fabrica-github-profile-link{align-items:center;gap:10px;font-size:12px;font-weight:500;display:inline-flex}.fabrica-github-profile-link>svg{color:#ffffff73;fill:currentColor;flex:none;width:10px;height:11px;transition:transform .2s}.fabrica-github-profile-link:hover>svg{transform:translate(3px,-3px)}.fabrica-github-contributions{z-index:3;position:absolute;bottom:34px;left:40px;right:40px}.fabrica-github-contributions-head{color:#ffffff7a;letter-spacing:-.025em;justify-content:space-between;align-items:center;gap:20px;margin-bottom:13px;font-size:10px;line-height:1;display:flex}.fabrica-github-contributions-head strong{color:#ffffffc7;font-weight:500}.fabrica-github-contributions-mobile{display:none}.fabrica-github-contributions-grid{grid-template-rows:repeat(7,minmax(0,1fr));grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:3px;width:100%;display:grid}.fabrica-github-contributions-grid i{aspect-ratio:1;background:#ffffff12;border-radius:2px;min-width:0}.fabrica-github-contributions-grid .level-1{background:#193b2b}.fabrica-github-contributions-grid .level-2{background:#266b3c}.fabrica-github-contributions-grid .level-3{background:#39a04f}.fabrica-github-contributions-grid .level-4{background:#56d364}.fabrica-case-exact-data{grid-column:span 2;grid-template-columns:repeat(2,1fr);gap:4px;display:grid}.fabrica-performance-exact,.fabrica-score-exact,.fabrica-visits-exact{background:var(--card-surface);color:#fff;border:0;border-radius:16px;position:relative;overflow:hidden}.fabrica-performance-exact{isolation:isolate;flex-direction:column;padding:40px;display:flex}.fabrica-performance-future-scene{z-index:0;background:var(--card-surface);position:absolute;inset:0;overflow:hidden}.fabrica-performance-future-scene canvas{inset:0;width:100%!important;height:100%!important;position:absolute!important}.fabrica-performance-dream-copy{z-index:4;max-width:360px;margin-top:auto;position:relative}.fabrica-performance-dream-copy h2{letter-spacing:-.065em;max-width:330px;margin:0;font-size:clamp(36px,3.2vw,52px);font-weight:500;line-height:.92}.fabrica-performance-dream-copy p{color:#ffffffad;letter-spacing:-.04em;max-width:300px;margin:22px 0 0;font-size:17px;font-weight:400;line-height:1.25}.fabrica-case-exact-side{flex-direction:column;gap:4px;display:flex}.fabrica-score-exact{isolation:isolate;height:308px;padding:28px}.fabrica-score-video{z-index:-2;object-fit:cover;object-position:center;filter:saturate(.7)contrast(1.06)brightness(.72);width:100%;height:100%;position:absolute;inset:0}.fabrica-score-shade{z-index:-1;background:linear-gradient(#00000024,#00000042 38%,#000000e6),linear-gradient(90deg,#0000006b,#0000 76%);position:absolute;inset:0}.fabrica-score-content{text-align:left;flex-direction:column;align-items:flex-start;height:100%;display:flex;position:relative}.fabrica-score-content h2{letter-spacing:-.055em;max-width:260px;margin:0;font-size:34px;font-weight:500;line-height:.96}.fabrica-score-content p{color:#ffffffad;letter-spacing:-.035em;max-width:285px;margin:auto 0 0;font-size:11px;font-weight:500;line-height:1.35}.fabrica-visits-exact{flex-direction:column;height:288px;padding:28px;display:flex}.fabrica-visits-head>div{grid-template-columns:auto auto;justify-content:start;align-items:start;column-gap:12px;display:grid}.fabrica-visits-head strong{letter-spacing:-.06em;font-size:35px;font-weight:600;line-height:1}.fabrica-visits-head small{color:#ffffff8f;grid-column:1/-1;margin-top:9px;font-size:11px;font-weight:500}.fabrica-bars-exact{grid-template-columns:repeat(6,1fr);align-items:end;gap:8px;height:145px;margin-top:auto;display:grid}.fabrica-bars-exact>div{flex-direction:column;justify-content:end;align-items:center;gap:9px;height:100%;display:flex}.fabrica-bars-exact i{background:#2b2b2b;border-radius:8px;justify-content:center;align-items:end;width:100%;min-height:20px;padding-bottom:8px;font-style:normal;transition:height .45s cubic-bezier(.22,1,.36,1);display:flex}.fabrica-bars-exact i.is-dark{background:var(--lime);color:#090909}.fabrica-bars-exact b{font-variant-numeric:tabular-nums;writing-mode:vertical-rl;font-size:10px;font-weight:600;line-height:1;overflow:hidden;transform:rotate(180deg)}.fabrica-bars-exact span{color:#ffffff8f;font-size:10px;font-weight:500}.section{padding:clamp(90px, 12vw, 170px) var(--fabrica-section-gutter)}.eyebrow{text-transform:uppercase;letter-spacing:.15em;margin:0;font-size:10px;font-weight:800;line-height:1.5}.section-heading{grid-template-columns:1fr 2.4fr;align-items:start;gap:24px;margin-bottom:clamp(56px,8vw,110px);display:grid}.section-heading h2{letter-spacing:-.065em;margin:0;font-size:clamp(48px,6.2vw,98px);font-weight:600;line-height:.91}.section-heading h2 em{font-family:var(--font-display), serif;letter-spacing:-.025em;font-weight:400}.section-intro{max-width:570px;color:var(--muted);grid-column:2;margin:24px 0 0;font-size:14px;line-height:1.7}.work-section{background:var(--black);border-top:1px solid var(--line)}.featured-grid{grid-template-columns:repeat(12,1fr);gap:clamp(18px,2.5vw,34px);display:grid}.project-card{grid-column:span 7;min-width:0;margin-bottom:46px;display:block}.project-card:nth-child(2n){grid-column:7/span 6}.project-card:nth-child(3){grid-column:2/span 7}.project-card-head{border-top:1px solid var(--ink);letter-spacing:.1em;text-transform:uppercase;grid-template-columns:40px 1fr auto;align-items:center;gap:16px;min-height:44px;font-size:9px;font-weight:800;display:grid}.project-card-head span:last-child{opacity:0;transition:opacity .2s,transform .2s;transform:translate(-8px)}.project-card:hover .project-card-head span:last-child{opacity:1;transform:translate(0)}.project-art{border:1px solid var(--line);background:#111;place-items:center;height:clamp(330px,42vw,590px);transition:transform .35s;display:grid;position:relative;overflow:hidden}.project-card:hover .project-art{transform:scale(.988)}.visual-commerce .project-art{background:#15110f}.visual-finance .project-art{background:#0f1513}.art-window{background:#0e0e0ef0;border:1px solid #ffffff1f;border-radius:8px;width:70%;height:61%;padding:14px;transition:transform .35s;transform:rotate(-2deg);box-shadow:0 32px 70px #00000057}.project-card:hover .art-window{transform:rotate(0)translateY(-5px)}.art-bar{border-bottom:1px solid #ffffff1c;align-items:center;gap:5px;height:12%;display:flex}.art-bar i{background:#ffffff47;border-radius:50%;width:5px;height:5px}.art-content{grid-template-rows:.5fr 1fr;grid-template-columns:.55fr 1.45fr;gap:7%;height:80%;padding-top:8%;display:grid}.art-content b{background:#ffffff14;border-radius:3px;display:block}.art-content b:first-child{grid-row:span 2}.art-content b:nth-child(2){background:#2a2a2a}.visual-signal .art-content b:nth-child(3){background:repeating-linear-gradient(90deg,#0000 0 10%,#324f9838 11% 13%),linear-gradient(150deg,#5a7ee133,#5a7ee180)}.visual-commerce .art-content b:nth-child(2){background:#613c2c}.visual-commerce .art-content b:nth-child(3){background:repeating-linear-gradient(0deg,#f5e0d4 0 10%,#db7c50 11% 18%)}.visual-finance .art-content b:nth-child(2){background:#184d40}.visual-finance .art-content b:nth-child(3){background:radial-gradient(circle at 60% 45%, var(--lime) 0 18%, transparent 19%), #dceee9}.art-float{background:var(--lime);width:72px;height:72px;color:var(--black);border-radius:50%;place-items:center;font-size:10px;font-weight:900;display:grid;position:absolute;bottom:9%;right:8%;box-shadow:0 15px 30px #00000047}.project-copy{grid-template-columns:1fr 2.3fr;column-gap:24px;padding-top:22px;display:grid}.project-copy p{text-transform:uppercase;letter-spacing:.12em;margin:6px 0 0;font-size:9px;font-weight:800}.project-copy h3{letter-spacing:-.05em;margin:0;font-size:clamp(27px,3vw,43px);font-weight:650;line-height:1}.project-copy span{max-width:480px;color:var(--muted);grid-column:2;margin-top:14px;font-size:13px;line-height:1.65}.all-work{background:var(--black);padding-top:20px}.section-heading.compact{margin-bottom:50px}.work-list{border-top:1px solid var(--ink)}.work-row{border-bottom:1px solid var(--line);grid-template-columns:.4fr 2fr 1fr .4fr;align-items:center;gap:20px;min-height:116px;transition:padding .25s,background .25s;display:grid}.work-row:hover{background:#121212;padding:0 16px}.work-index,.work-row>span{text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:800}.work-row h3{letter-spacing:-.04em;margin:0 0 7px;font-size:clamp(20px,2vw,28px)}.work-row p{color:var(--muted);margin:0;font-size:12px}.fabrica-career{--career-progress:0;--career-dial-shift:-52px;--career-active-color:#fff;--career-section-spacing:clamp(72px, 7vw, 112px);height:calc((var(--career-timeline-steps) + 1) * 65svh + var(--career-section-spacing) * 2);padding-block:var(--career-section-spacing);background:var(--black);color:#fff;font-family:var(--font-sans), Arial, Helvetica, sans-serif;position:relative}.fabrica-career[data-career-step="1"]{--career-active-color:#ff6a1a}.fabrica-career[data-career-step="2"]{--career-active-color:#e01818}.fabrica-career-stage{isolation:isolate;background:#090909;width:100%;height:100svh;min-height:660px;position:sticky;top:0;overflow:hidden}.fabrica-career-dial{--career-dial-number-center-x:-13.875cqw;--career-dial-number-center-y:50cqh;--career-dial-number-radius-x:41.5313cqw;--career-dial-number-radius-y:73.8333cqh;z-index:0;pointer-events:none;width:100%;height:100%;transform:translateX(var(--career-dial-shift));position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0%,#00000038 8%,#000 24% 76%,#00000038 92%,#0000 100%);mask-image:linear-gradient(#0000 0%,#00000038 8%,#000 24% 76%,#00000038 92%,#0000 100%);container-type:size}.fabrica-career-dial svg{width:100%;height:100%;display:block;overflow:hidden}.fabrica-career-dial-rotor{transform:rotate(calc(var(--career-progress) * var(--career-timeline-angle) * -1));transform-box:view-box;transform-origin:-177.6px 360px;will-change:transform}.fabrica-career-dial-ring,.fabrica-career-dial-ticks{fill:none;stroke:#ffffff4d;stroke-width:1px;vector-effect:non-scaling-stroke}.fabrica-career-dial-ticks{stroke:#ffffff4d}.fabrica-career-dial-progress{fill:none;stroke:currentColor;stroke-linecap:butt;vector-effect:non-scaling-stroke;stroke-width:1.25px}.fabrica-career-dial-ticks-progress{fill:none;stroke:currentColor;stroke-width:1.15px;vector-effect:non-scaling-stroke}.fabrica-career-dial-progress-segment.is-clay{color:#fff}.fabrica-career-dial-progress-segment.is-arcadia{color:#ff6a1a}.fabrica-career-dial-progress-segment.is-leningrad{color:#e01818}.fabrica-career-dial-numbers{position:absolute;inset:0}.fabrica-career-dial-number{--career-number-angle:calc(var(--career-number-index) * 10deg - var(--career-progress) * var(--career-timeline-angle));--career-number-x:calc(var(--career-dial-number-center-x) + cos(var(--career-number-angle)) * var(--career-dial-number-radius-x));--career-number-y:calc(var(--career-dial-number-center-y) + sin(var(--career-number-angle)) * var(--career-dial-number-radius-y));--career-number-screen-angle:atan2(calc(sin(var(--career-number-angle)) * var(--career-dial-number-radius-y)), calc(cos(var(--career-number-angle)) * var(--career-dial-number-radius-x)));color:#fff;font-family:var(--font-sans), Arial, Helvetica, sans-serif;letter-spacing:-.06em;font-variant-numeric:tabular-nums;white-space:nowrap;opacity:.38;transform-origin:50%;transform:translate3d(var(--career-number-x), var(--career-number-y), 0) translate(-50%, -50%) rotate(var(--career-number-screen-angle));will-change:transform;font-size:16px;font-weight:520;line-height:1;display:block;position:absolute;top:0;left:0}.fabrica-career-dial-brackets{fill:none;stroke:#fffffff5;stroke-width:1.25px;vector-effect:non-scaling-stroke}.fabrica-career-marker{z-index:2;top:50%;left:calc(30% + var(--career-dial-shift));width:9px;height:9px;position:absolute;transform:translate(-50%,-50%)}.fabrica-career-marker span{background:var(--career-active-color);border-radius:50%;transition:background-color .3s;position:absolute;inset:0}.fabrica-career-number-rail{--career-rail-step:clamp(118px, 12vw, 164px);z-index:1;pointer-events:none;width:clamp(240px,22vw,300px);height:clamp(230px,29vw,340px);position:absolute;top:50%;left:calc(30% - 14px);right:auto;overflow:hidden;transform:translateY(-50%);-webkit-mask-image:linear-gradient(#0000,#000 24% 76%,#0000);mask-image:linear-gradient(#0000,#000 24% 76%,#0000)}.fabrica-career-number-track{width:max-content;transform:translate3d(-50%, calc(var(--career-rail-step) * -.5 - var(--career-progress) * var(--career-timeline-steps) * var(--career-rail-step)), 0);will-change:transform;flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;left:58%}.fabrica-career-rail-number{width:clamp(92px,9vw,124px);height:var(--career-rail-step);flex:0 0 var(--career-rail-step);color:#fff;letter-spacing:-.075em;text-align:center;opacity:.12;opacity:clamp(.12, calc(1 - abs(var(--career-progress) * var(--career-timeline-steps) - var(--career-number-index)) * .72), 1);place-items:center;font-size:clamp(72px,7vw,104px);font-weight:520;line-height:1;display:grid}.fabrica-career-number-prefix{z-index:1;color:#fff;letter-spacing:-.075em;font-size:clamp(72px,7vw,104px);font-weight:520;line-height:1;position:absolute;top:50%;left:0;transform:translateY(-50%)}.fabrica-career-heading{z-index:2;text-align:left;align-items:baseline;gap:clamp(18px,2vw,36px);width:max-content;display:flex;position:absolute;top:88px;left:calc(50% + 24px);transform:none}.fabrica-career-heading h2{letter-spacing:-.085em;white-space:nowrap;margin:0;font-size:clamp(68px,8.5vw,154px);font-weight:600;line-height:.76}.fabrica-career-heading h2 span{color:var(--lime)}.fabrica-career-counter{color:#ffffff7a;letter-spacing:-.035em;white-space:nowrap;font-size:clamp(24px,2.5vw,42px);font-weight:600;line-height:1}.fabrica-career-list{z-index:3;width:auto;height:144px;margin:0;padding:0;list-style:none;position:absolute;inset:50% clamp(96px,9vw,220px) auto calc(50% + 24px);transform:translateY(-50%)}.fabrica-career-role{opacity:0;pointer-events:none;min-width:0;transition:opacity .35s,transform .55s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:translateY(28px)}.fabrica-career-role.is-active{opacity:1;pointer-events:auto;transform:translateY(0)}@media (min-width:1181px){.fabrica-career-role{--career-role-orbit-radius:clamp(420px, 62svh, 620px);transform-origin:calc(50% - var(--career-role-orbit-radius)) 50%;will-change:transform, opacity, filter;transition:opacity .38s,filter .55s,transform .82s cubic-bezier(.22,1,.36,1)}.fabrica-career-role.is-before{opacity:0;filter:blur(6px);transition-duration:.18s,.35s,.82s;transition-delay:0s;transform:rotate(-42deg)}.fabrica-career-role.is-after{opacity:0;filter:blur(6px);transition-duration:.18s,.35s,.82s;transition-delay:0s;transform:rotate(42deg)}.fabrica-career-role.is-active{opacity:1;filter:blur();transition-duration:.48s,.5s,.82s;transition-delay:.1s,60ms,0s;transform:rotate(0)}.fabrica-career-role .fabrica-career-role-card{transform-origin:50%;transition:transform .82s cubic-bezier(.22,1,.36,1),background-color .3s,box-shadow .3s}.fabrica-career-role.is-before .fabrica-career-role-card{transform:rotate(42deg)}.fabrica-career-role.is-after .fabrica-career-role-card{transform:rotate(-42deg)}.fabrica-career-role.is-active .fabrica-career-role-card{transform:rotate(0)}.fabrica-career-role.is-active .fabrica-career-role-card:hover{transform:translateY(-5px)}.fabrica-career-heading{z-index:4}}.fabrica-career-role-card{background:var(--card-surface);width:100%;height:100%;color:inherit;border:0;border-radius:16px;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:24px;padding:clamp(26px,2.2vw,34px);transition:transform .3s cubic-bezier(.22,.61,.36,1),background-color .3s,box-shadow .3s;display:grid}.fabrica-career-role-card:hover{background:var(--card-surface);transform:translateY(-5px);box-shadow:0 20px 42px #00000047}.fabrica-career-logo{background:#222;border-radius:12px;width:70px;height:70px;transition:transform .3s cubic-bezier(.22,.61,.36,1);display:block;position:relative;overflow:hidden}.fabrica-career-role-card:hover .fabrica-career-logo{transform:scale(1.05)}.fabrica-career-logo img{object-fit:contain;position:absolute}.fabrica-career-logo.is-clay img{object-fit:cover;width:100%;height:100%;inset:0}.fabrica-career-logo.is-arcadia img,.fabrica-career-logo.is-leningrad img{width:70%;height:70%;inset:15%}.fabrica-career-role-copy{min-width:0}.fabrica-career-role-copy h3{letter-spacing:-.045em;margin:0;font-size:clamp(18px,1.45vw,24px);font-weight:500;line-height:1.08}.fabrica-career-company{color:#ffffff8f;letter-spacing:-.03em;margin:8px 0 0;font-size:clamp(14px,1.05vw,17px);line-height:1.35}.fabrica-career-tenure{text-align:right;justify-self:end}.fabrica-career-period{color:#ffffff85;letter-spacing:-.025em;white-space:nowrap;margin:0;font-size:clamp(14px,1.05vw,17px);line-height:1.35}.fabrica-career-duration{color:#ffffff57;letter-spacing:-.02em;margin:6px 0 0;font-size:clamp(13px,.95vw,15px);line-height:1.35}.fabrica-career-scroll-cue{z-index:3;color:#fff6;letter-spacing:.12em;text-transform:uppercase;writing-mode:horizontal-tb;margin:0;font-size:10px;font-weight:650;position:absolute;bottom:clamp(34px,3.3vw,54px);left:auto;right:clamp(28px,3vw,48px)}.fabrica-cta{min-height:0;padding:200px var(--fabrica-section-gutter);color:#fff;font-family:var(--font-fabrica), Arial, Helvetica, sans-serif;isolation:isolate;background:#0a0a0a;position:relative;overflow:hidden}.fabrica-cta-media{z-index:-1;background:#0a0a0a;border-radius:26px;position:absolute;inset:0 6px;overflow:hidden}.fabrica-cta-media video{object-fit:cover;filter:grayscale()contrast(1.08)brightness(.5);width:100%;height:100%;transform:scale(1.02)}.fabrica-cta-media span{background:linear-gradient(90deg,#0000000d,#0000002e 47%,#00000061),linear-gradient(#0000001a,#0000003d);position:absolute;inset:0}.fabrica-cta-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:4px;display:grid}.fabrica-cta-form{color:#090909;background:#fff;border-radius:18px;flex-direction:column;gap:30px;width:69%;min-height:0;margin:0;padding:40px;display:flex;box-shadow:0 24px 60px #0003}.fabrica-cta-form-heading{flex-direction:column;gap:12px;display:flex}.fabrica-cta-wordmark{letter-spacing:-.04em;margin:0;font-size:20px;font-weight:600;line-height:1.1}.fabrica-cta-square-period{background:currentColor;width:.18em;height:.18em;display:inline-block}.fabrica-cta-form h2{letter-spacing:-.05em;max-width:none;margin:0;font-size:38px;font-weight:600;line-height:1.1}.fabrica-cta-form h2 span{color:#707070}.fabrica-cta-fields{flex-direction:column;gap:16px;display:flex}.fabrica-cta-fields label{letter-spacing:-.04em;flex-direction:column;gap:12px;font-size:12px;font-weight:500;line-height:1.3;display:flex}.fabrica-cta-fields input,.fabrica-cta-fields textarea{color:#090909;width:100%;height:58px;min-height:58px;font:inherit;letter-spacing:-.04em;background:#f2f2f2;border:0;border-radius:10px;outline:0;padding:12px 16px;font-size:18px;font-weight:400;line-height:1.2;transition:box-shadow .2s,background .2s}.fabrica-cta-fields textarea{resize:none}.fabrica-cta-fields input::placeholder,.fabrica-cta-fields textarea::placeholder{color:#a3a3a3;opacity:1}.fabrica-cta-fields input:focus,.fabrica-cta-fields textarea:focus{background:#ededed;box-shadow:0 0 0 2px #090909}.fabrica-cta-submit{color:#fff;cursor:pointer;width:100%;min-height:58px;font:inherit;letter-spacing:-.04em;background:#090909;border:0;border-radius:50px;justify-content:center;align-items:center;gap:0;padding:18px;font-size:18px;font-weight:600;line-height:1.2;transition:transform .2s,background .2s;display:flex}.fabrica-cta-submit i{opacity:0;font-style:normal;transition:opacity .2s,transform .2s;transform:translate(-8px)}.fabrica-cta-submit:hover{background:#222;transform:translateY(-2px)}.fabrica-cta-submit:hover i{opacity:1;transform:translate(0)}.fabrica-cta-note{color:#727272;letter-spacing:-.04em;margin:0;font-size:12px;font-weight:500;line-height:1.3}.fabrica-cta-content{flex-direction:column;justify-content:center;align-self:stretch;min-width:0;display:flex}.fabrica-cta-content>h2{letter-spacing:-.06em;white-space:nowrap;margin:0 0 60px;font-size:144px;font-weight:600;line-height:.92}.fabrica-cta-details{flex-direction:column;display:flex}.fabrica-cta-lead{color:#fff;letter-spacing:-.04em;text-wrap:balance;max-width:none;margin:0;font-size:30px;font-weight:500;line-height:1.2}.fabrica-cta-lead span{color:#ffffff94}.fabrica-cta-benefits{border-top:1px solid #ffffff4d;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:60px;padding-top:60px;display:grid}.fabrica-cta-benefits article{min-width:0;padding-right:30px}.fabrica-cta-benefit-title{align-items:center;gap:16px;display:flex}.fabrica-cta-benefit-title svg{fill:currentColor;flex:none;width:25px;height:25px}.fabrica-cta-benefit-title h3{letter-spacing:-.04em;margin:0;font-size:18px;font-weight:600;line-height:1.2}.fabrica-cta-benefits article>p{color:#ffffff8f;letter-spacing:-.04em;max-width:280px;margin:20px 0 0;font-size:15px;font-weight:400;line-height:1.4}@media (min-width:810px) and (max-width:1199px){.fabrica-cta{padding:100px 30px}.fabrica-cta-media{inset:0 4px}.fabrica-cta-form{gap:20px;width:87%;padding:32px}.fabrica-cta-form h2{font-size:30px}.fabrica-cta-fields{gap:12px}.fabrica-cta-fields label{gap:9px}.fabrica-cta-fields input,.fabrica-cta-fields textarea{font-size:17px}.fabrica-cta-note{font-size:11px}.fabrica-cta-content>h2{margin-bottom:40px;font-size:99px}.fabrica-cta-lead{font-size:28px}.fabrica-cta-benefits{margin-top:44px;padding-top:44px}.fabrica-cta-benefits article{padding-right:0}.fabrica-cta-benefit-title{gap:12px}.fabrica-cta-benefit-title h3{font-size:15px}.fabrica-cta-benefits article>p{margin-top:14px;font-size:14px}}@media (max-width:809.98px){.fabrica-cta{padding:20px}.fabrica-cta-media{border-radius:18px;inset:0}.fabrica-cta-grid{grid-template-columns:1fr;gap:60px}.fabrica-cta-form{border-radius:18px;gap:22px;width:100%;max-width:none;padding:30px}.fabrica-cta-form-heading{gap:8px}.fabrica-cta-wordmark{font-size:17px}.fabrica-cta-form h2{max-width:none;font-size:24px}.fabrica-cta-fields{gap:14px}.fabrica-cta-fields label{gap:10px}.fabrica-cta-fields input,.fabrica-cta-fields textarea,.fabrica-cta-submit{font-size:17px}.fabrica-cta-note{font-size:11px}.fabrica-cta-content>h2{white-space:normal;margin-bottom:30px;font-size:62px}.fabrica-cta-lead{font-size:24px}.fabrica-cta-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:34px;padding-top:34px}.fabrica-cta-benefits article{padding-right:0}.fabrica-cta-benefit-title{gap:12px}.fabrica-cta-benefit-title h3{font-size:15px}.fabrica-cta-benefits article>p{margin-top:14px;font-size:13px}}.fabrica-footer{isolation:isolate;background:var(--black);color:var(--ink);font-family:var(--font-sans), Arial, Helvetica, sans-serif;position:relative;overflow:hidden}.fabrica-footer-dot-grid{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.fabrica-footer-dot-grid canvas{width:100%;height:100%;display:block}.fabrica-footer-main{z-index:1;padding:clamp(56px, 5vw, 80px) var(--fabrica-section-gutter) 0;position:relative;overflow:hidden}.fabrica-footer-grid{width:100%;max-width:var(--fabrica-section-max);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-inline:auto;display:grid}.fabrica-footer-contact,.fabrica-footer-links{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.fabrica-footer-cross{color:#70706d;width:18px;height:18px;display:block;position:relative}.fabrica-footer-cross:before,.fabrica-footer-cross:after{content:"";background:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fabrica-footer-cross:before{width:18px;height:2px}.fabrica-footer-cross:after{width:2px;height:18px}.fabrica-footer-contact-copy{margin-top:clamp(72px,7.5vw,100px)}.fabrica-footer-email{letter-spacing:-.065em;border-bottom:2px solid;align-items:center;padding-bottom:6px;font-size:clamp(20px,2vw,32px);font-weight:600;line-height:1;transition:color .2s;display:inline-flex}.fabrica-footer-email:hover{color:var(--lime)}.fabrica-footer-right{min-width:0}.fabrica-footer-links-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.fabrica-footer-links>div{margin-top:clamp(72px,7.5vw,100px)}.fabrica-footer-label{color:var(--muted);letter-spacing:-.04em;margin:0 0 24px;font-size:clamp(12px,.95vw,15px);font-weight:550;line-height:1.3}.fabrica-footer-links nav,.fabrica-footer-socials{flex-direction:column;align-items:flex-start;gap:11px;display:flex}.fabrica-footer-links nav a,.fabrica-footer-socials a{letter-spacing:-.055em;font-size:clamp(20px,1.72vw,28px);font-weight:560;line-height:1.15;transition:color .2s}.fabrica-footer-socials a{align-items:center;gap:10px;display:inline-flex}.fabrica-footer-socials a>svg{color:#747470;fill:currentColor;flex:none;width:10px;height:11px;transition:transform .2s}.fabrica-footer-links a:hover{color:var(--lime)}.fabrica-footer-socials a:hover>svg{transform:translate(3px,-3px)}.fabrica-footer-wordmark{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:4px;margin-top:clamp(110px,10.5vw,140px);display:grid}.fabrica-footer-wordmark strong{color:#fff;letter-spacing:-.06em;white-space:nowrap;grid-column:2;font-size:clamp(131px,16vw,205px);font-weight:600;line-height:.83}.fabrica-footer-wordmark>span{color:#fff;letter-spacing:-.06em;white-space:nowrap;grid-column:2;justify-self:start;font-size:clamp(38px,4.55vw,58px);font-weight:500;line-height:1}.fabrica-footer-bottom{isolation:isolate;color:#fff9;letter-spacing:-.04em;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:clamp(24px,3vw,56px);min-height:72px;margin-top:clamp(112px,9vw,144px);padding:10px 0;font-size:13px;font-weight:500;line-height:1.4;display:grid;position:relative}.fabrica-footer-bottom:before{content:"";z-index:-1;background:var(--black);width:100vw;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.fabrica-footer-bottom p{margin:0}.fabrica-footer-credit{color:#fff9;justify-self:start;align-items:center;gap:10px;transition:color .2s;display:inline-flex}.fabrica-footer-credit:hover{color:var(--lime)}.fabrica-footer-credit-avatar{flex:0 0 34px;width:34px;height:34px;display:block;position:relative}.fabrica-footer-credit-avatar>img{object-fit:cover;border-radius:50%;width:100%;height:100%}.fabrica-footer-credit strong{color:#fff;font-weight:500}.project-case-page{--project-case-gutter:max(36px, calc((100vw - 1520px) / 2));--project-case-section-spacing:180px;background:var(--paper);min-height:100vh;color:var(--ink);font-family:var(--font-fabrica), Inter, Arial, Helvetica, sans-serif;overflow:clip}.project-case-page>article{row-gap:var(--project-case-section-spacing);background:var(--paper);display:grid}body:has(.project-case-page) .fabrica-header:not(.is-open){color:#fff;-webkit-backdrop-filter:blur(6px)saturate(1.1);backdrop-filter:blur(6px)saturate(1.1);background:#090909e0;border-bottom-color:#0000}body:has(.project-case-page) .fabrica-header:not(.is-open) .fabrica-projects-link sup{color:#ffffff7a}.project-case-header{letter-spacing:-.04em;grid-template-columns:1fr 2fr 1fr;align-items:center;height:66px;padding:0 36px;font-size:13px;font-weight:600;line-height:1;display:grid}.project-case-wordmark{justify-self:start;font-size:16px;font-weight:650}.project-case-header nav{justify-content:space-around;gap:24px;display:flex}.project-case-header nav a{transition:opacity .2s;position:relative}.project-case-header nav a:hover{opacity:.45}.project-case-header nav sup{color:#777;font-size:7px;position:absolute;top:-8px;right:-12px}.project-case-menu{align-content:center;justify-self:end;gap:5px;width:58px;height:24px;display:grid}.project-case-menu span{background:currentColor;width:100%;height:1px;display:block}.project-case-hero-section{background:var(--paper)}.project-case-hero{padding:340px var(--project-case-gutter) 120px;background:var(--paper);color:var(--ink);position:relative}.project-case-back-button{top:100px;left:var(--project-case-gutter);width:104px;font-size:12px;position:absolute}.project-case-hero h1{letter-spacing:-.06em;white-space:nowrap;max-width:none;margin:0;font-size:148px;font-weight:600;line-height:.96}.project-case-hero h1.is-long{font-size:clamp(72px,8.75vw,134px)}.project-case-hero h1 span{background:#fff;width:.14em;height:.14em;margin-left:.075em;display:inline-block}.project-case-intro{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;min-height:158px;margin-top:120px;display:grid}.project-case-kicker,.project-case-lead{margin:0}.project-case-kicker{letter-spacing:-.04em;align-self:start;align-items:center;gap:9px;font-size:16px;font-weight:500;line-height:1.4;display:flex}.project-case-kicker i{background:#0a0a0a;border-radius:50%;flex:0 0 18px;width:18px;height:18px;display:block;position:relative}.project-case-kicker i:before,.project-case-kicker i:after{content:"";background:#fff;width:8px;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-case-kicker i:after{transform:translate(-50%,-50%)rotate(90deg)}.project-case-hero .project-case-kicker i{background:#fff}.project-case-hero .project-case-kicker i:before,.project-case-hero .project-case-kicker i:after{background:var(--black)}.project-case-lead{letter-spacing:-.04em;text-indent:clamp(48px,5.85vw,90px);grid-column:2;max-width:630px;font-size:22px;font-weight:400;line-height:1.2}.project-case-meta{gap:4px;width:calc(50% - 2px);margin:100px 0 0 calc(50% + 2px);display:grid}.project-case-meta div{grid-template-columns:1fr 2fr;align-items:center;min-height:59px;font-size:12px;display:grid;position:relative}.project-case-meta div:before{content:"";border-top:1px solid #ffffff29;position:absolute;top:0;left:calc(-100% - 4px);right:0}.project-case-meta dt{color:#ffffff8f;font-weight:500}.project-case-meta dd{text-align:right;justify-self:end;max-width:78%;margin:0;font-size:15px;font-weight:500;line-height:1.4}.project-case-services{flex-wrap:wrap;justify-content:flex-end;gap:0 12px;display:flex}.project-case-services span:before{content:"/";color:#ffffff57;margin-right:7px}.project-case-first-media{padding:20px var(--project-case-gutter) 0;background:var(--paper);grid-template-columns:1fr 1fr;gap:4px;display:grid}.project-case-first-media figure{aspect-ratio:758/608.281;background:#111;border-radius:25px;height:auto;margin:0;position:relative;overflow:hidden}.project-case-first-media img{object-fit:cover}.project-case-first-media video{object-fit:cover;width:100%;height:100%;display:block}.project-text-section{padding:0 var(--project-case-gutter);background:var(--paper);color:var(--ink)}.project-text-section-media{margin-top:var(--project-case-section-spacing);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.project-text-section-media figure{aspect-ratio:758/608.281;background:#111;border-radius:25px;height:auto;margin:0;position:relative;overflow:hidden}.project-text-section-media figure:only-child{grid-column:1/-1}.project-text-section .project-case-kicker i{background:var(--ink)}.project-text-section .project-case-kicker i:before,.project-text-section .project-case-kicker i:after{background:var(--paper)}.project-text-section-layout{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:4px;display:grid}.project-text-section-layout>.project-case-kicker{grid-column:span 2}.project-text-section-content{flex-direction:column;grid-column:span 2;align-items:flex-start;gap:60px;display:flex}.project-text-section-copy{flex-direction:column;gap:40px;width:100%;display:flex}.project-text-section-copy h2{letter-spacing:-.04em;margin:0;font-size:30px;font-weight:500;line-height:1.2}.project-text-section-copy p{color:#fff;letter-spacing:-.04em;margin:0;font-size:18px;font-weight:400;line-height:1.3}.project-text-section-link{background:var(--ink);width:128px;height:30px;color:var(--paper);letter-spacing:-.035em;border-radius:999px;justify-content:space-between;align-items:center;padding:0 8px 0 12px;font-size:13px;font-weight:500;line-height:1;transition:opacity .2s;display:flex}.project-text-section-link:hover{opacity:.72}.project-text-section-link i{background:var(--paper);border-radius:50%;flex:0 0 8px;width:8px;height:8px;display:block}.project-gallery{padding:4px var(--project-case-gutter);background:#0a0a0a}.project-gallery figure{aspect-ratio:1520/930;background:#151515;border-radius:25px;height:auto;margin:0 0 4px;position:relative;overflow:hidden}.project-gallery figure:last-child{margin-bottom:0}.project-gallery img{object-fit:cover}.project-gallery video{object-fit:cover;width:100%;height:100%;display:block}.project-gallery-video{background:#000}.project-gallery-video iframe,.project-gallery-video-trigger{border:0;width:100%;height:100%}.project-gallery-video iframe{display:block}.project-gallery-video-trigger{cursor:pointer;background:#000;padding:0;display:block;position:relative;overflow:hidden}.project-gallery-play{background:red;border-radius:14px;width:68px;height:48px;transition:transform .2s,background .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 18px #0000003d}.project-gallery-play:after{content:"";border-top:10px solid #0000;border-bottom:10px solid #0000;border-left:17px solid #fff;position:absolute;top:50%;left:52%;transform:translate(-50%,-50%)}.project-gallery-video-trigger:hover .project-gallery-play{background:#d90000;transform:translate(-50%,-50%)scale(1.06)}.project-gallery-video-trigger:focus-visible{outline-offset:-6px;outline:3px solid #fff}.project-case-echo-street .project-gallery figure{background:#eef2f4}.project-case-portfolio-2026 .project-case-hero{background:radial-gradient(circle at 76% 18%,#ffffff14,#0000 26%),linear-gradient(135deg,#111 0%,#050505 58%,#161616 100%)}.project-case-portfolio-2026 .project-case-hero h1 span{background:#b7ff35}.project-case-portfolio-2026 .project-case-first-media figure,.project-case-portfolio-2026 .project-text-section-media figure,.project-case-portfolio-2026 .project-gallery figure{background:#0f0f0f}.project-case-portfolio-2026 .project-text-section-media figure:only-child,.project-case-portfolio-2026 .project-gallery figure{aspect-ratio:2048/942}.project-case-next{margin-top:var(--project-case-section-spacing);padding:0 var(--project-case-gutter);background:var(--paper);color:var(--ink);overflow:hidden}.project-case-next-heading{display:block;position:relative}.project-case-next-heading>div{width:100%}.project-case-next-heading p{letter-spacing:-.04em;margin:0 0 22px;font-size:20px;font-weight:600;line-height:1.1}.project-case-next-heading h2{letter-spacing:-.06em;margin:0;font-size:144px;font-weight:600;line-height:.92}.project-case-next-heading div>span{letter-spacing:-.04em;margin-top:22px;font-size:30px;font-weight:600;line-height:1.25;display:block}.project-case-next-button{width:128px;font-size:12px;position:absolute;top:146px;right:0}.project-case-next-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:100px;display:grid}.project-case-page>.fabrica-cta{min-height:1156px;margin-top:180px;padding:200px 36px 218px}.fabrica-cta-inline-card{color:#090909;grid-template-columns:113px 1fr;gap:4px;width:410px;height:149px;margin-top:117px;display:grid}.fabrica-cta-inline-avatar{background:#222;border:5px solid #fff;border-radius:13px;position:relative;overflow:hidden}.fabrica-cta-inline-avatar img{object-fit:cover}.fabrica-cta-inline-copy{background:#fff;border-radius:13px;flex-direction:column;padding:22px;display:flex}.fabrica-cta-inline-copy small{color:#6d6d6d;font-size:12px;font-weight:550}.fabrica-cta-inline-copy strong{letter-spacing:-.04em;margin-top:5px;font-size:20px}.fabrica-cta-inline-copy i{color:#fff;background:#090909;border-radius:999px;justify-content:space-between;margin-top:auto;padding:8px 12px;font-size:11px;font-style:normal;display:flex}.fabrica-cta-inline-copy b{font-weight:500}.project-case-footer{color:#0a0a0a;background:#f5f5f5;height:1476px}.project-case-footer-main{height:1330px;padding:200px 36px 0}.project-case-footer-intro{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.project-case-footer-intro>div:first-child>p{letter-spacing:-.045em;width:522px;margin:0;font-size:30px;font-weight:500;line-height:1.2}.project-case-footer-person{align-items:center;gap:14px;margin-top:40px;display:flex}.project-case-footer-person img{object-fit:cover;border-radius:50%}.project-case-footer-person span{flex-direction:column;gap:4px;font-size:14px;line-height:1.2;display:flex}.project-case-footer-person strong{font-size:16px;font-weight:600}.project-case-newsletter{flex-direction:column;grid-column:2;align-items:flex-start;display:flex}.project-case-newsletter h2{letter-spacing:-.045em;margin:0 0 38px;font-size:38px;font-weight:600;line-height:1.1}.project-case-newsletter label{color:#0a0a0a85;border-bottom:1px solid #0a0a0a24;flex-direction:column;justify-content:space-between;width:100%;height:75px;padding:0 0 15px;font-size:12px;display:flex}.project-case-newsletter input{color:#0a0a0a;width:100%;height:24px;font:inherit;background:0 0;border:0;outline:0;padding:0;font-size:18px}.project-case-newsletter button{color:#fff;height:30px;font:inherit;cursor:pointer;background:#0a0a0a;border:0;border-radius:999px;align-items:center;gap:34px;margin-top:25px;padding:0 13px;font-size:12px;display:flex}.project-case-newsletter>p{letter-spacing:-.03em;width:290px;margin:40px 0 0;font-size:16px;line-height:1.4}.project-case-footer-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:136px;display:grid}.project-case-footer-links>div:first-child{grid-column:1/span 2}.project-case-footer-links>div{flex-direction:column;align-items:flex-start;display:flex}.project-case-footer-links p{color:#0a0a0a8a;margin:0 0 17px;font-size:14px}.project-case-footer-links nav{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.project-case-footer-links nav a{letter-spacing:-.04em;font-size:22px;font-weight:500;line-height:1.2}.project-case-footer-contact>a{letter-spacing:-.055em;border-bottom:2px solid;padding-bottom:5px;font-size:34px;font-weight:600;line-height:1.05}.project-case-footer-contact{position:relative}.project-case-footer-contact>p{margin-bottom:10px}.project-case-footer-cross{width:18px;height:18px;display:block;position:absolute;top:-46px;left:0}.project-case-footer-cross:before,.project-case-footer-cross:after{content:"";background:#0a0a0a;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-case-footer-cross:before{width:18px;height:2px}.project-case-footer-cross:after{width:2px;height:18px}.project-case-footer-wordmark{flex-direction:column;align-items:flex-start;width:50%;margin:102px 0 0 50%;display:flex}.project-case-footer-wordmark strong{letter-spacing:-.07em;font-size:210px;font-weight:600;line-height:.79}.project-case-footer-wordmark span{letter-spacing:-.06em;margin-top:4px;font-size:58px;font-weight:500;line-height:1}.project-case-footer-bottom{color:#fff;background:#0a0a0a;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;height:146px;padding:0 36px;display:grid}.project-case-footer-bottom p{color:#ffffff94;margin:0;font-size:14px}.project-case-footer-bottom>div{align-items:center;gap:44px;font-size:15px;display:flex}.project-case-footer-bottom span{color:#ffffff94}@media (min-width:810px) and (max-width:1199px){.project-case-page{--project-case-gutter:30px;--project-case-section-spacing:120px}.project-case-header{grid-template-columns:1fr auto;padding:0 20px}.project-case-hero{padding:260px 30px 80px}.project-case-back-button{top:90px;left:30px}.project-case-hero h1{font-size:118px;line-height:.96}.project-case-hero h1.is-long{font-size:clamp(72px,8.7vw,104px)}.project-case-intro{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0;margin-top:80px}.project-case-kicker{font-size:14px}.project-case-lead{grid-column:2;max-width:none;font-size:19px}.project-case-meta{width:calc(50% - 2px);margin:90px 0 0 calc(50% + 2px)}.project-case-meta div{min-height:57.6px}.project-case-first-media{padding:0 30px}.project-gallery{padding-left:30px;padding-right:30px}.project-text-section{padding:0 30px}.project-text-section-copy{gap:50px}.project-text-section-copy h2{font-size:28px}.project-text-section-copy p{font-size:16px}.project-case-next{padding:0 30px}.project-case-next-heading p{margin-bottom:26px;font-size:20px}.project-case-next-heading h2{font-size:99px}.project-case-next-heading div>span{margin-top:26px;font-size:28px}.project-case-next-grid{grid-template-columns:1fr;margin-top:80px}.project-case-page>.fabrica-cta{min-height:0;margin-top:120px;padding:100px 30px}.fabrica-cta-inline-card{width:min(100%,410px)}.project-case-footer{height:auto}.project-case-footer-main{height:auto;min-height:1200px;padding-left:20px;padding-right:20px}.project-case-footer-intro>div:first-child>p{width:90%}.project-case-footer-contact>a{font-size:26px}.project-case-footer-wordmark strong{font-size:16vw}}@media (max-width:809px){.project-case-page{--project-case-gutter:20px;--project-case-section-spacing:50px}.project-case-header{height:58px}.project-case-wordmark{font-size:15px}.project-case-hero{padding:140px 20px 30px}.project-case-back-button{width:96px;top:72px;left:20px}.project-case-hero h1,.project-case-hero h1.is-long{overflow-wrap:anywhere;white-space:normal;letter-spacing:-.06em;max-width:100%;font-size:64px;line-height:.96}.project-case-intro{flex-direction:column;gap:28px;min-height:0;margin-top:30px;display:flex}.project-case-kicker{font-size:13px}.project-case-lead{grid-column:1;max-width:630px;font-size:18px}.project-case-meta{width:100%;margin:40px 0 0}.project-case-meta div{grid-template-columns:1fr 1fr;min-height:56.2px}.project-case-meta div:before{left:0}.project-case-first-media{grid-template-columns:1fr;padding:0 20px}.project-case-first-media figure{aspect-ratio:758/608.281;width:100%;height:auto}.project-gallery{padding-left:20px;padding-right:20px}.project-text-section{padding:0 20px}.project-text-section-media{grid-template-columns:1fr}.project-text-section-media figure{border-radius:15px}.project-text-section-layout{grid-template-columns:1fr;gap:30px}.project-text-section-layout>.project-case-kicker,.project-text-section-content{grid-column:1}.project-text-section-content,.project-text-section-copy{gap:30px}.project-text-section-copy h2{font-size:24px;line-height:1.2}.project-text-section-copy p{font-size:15px}.project-gallery figure{aspect-ratio:1520/930;border-radius:15px;width:100%;height:auto}.project-gallery-play{border-radius:12px;width:58px;height:41px}.project-gallery-play:after{border-top-width:8px;border-bottom-width:8px;border-left-width:14px}.project-case-next{padding:0 20px}.project-case-next-heading p{margin-bottom:17px;font-size:18px}.project-case-next-heading h2{font-size:62px;line-height:.92}.project-case-next-heading div>span{margin-top:17px;font-size:24px;line-height:1.25}.project-case-next-button{display:none}.project-case-next-grid{grid-template-columns:1fr;gap:4px;margin-top:40px}.project-case-page>.fabrica-cta{margin-top:50px;padding:20px}.fabrica-cta-inline-card{grid-template-columns:96px 1fr;height:132px}.fabrica-cta-inline-copy{padding:18px}.project-case-footer-main{min-height:0;padding:110px 20px 120px}.project-case-footer-intro{grid-template-columns:1fr;gap:90px}.project-case-footer-intro>div:first-child>p{width:100%;font-size:28px}.project-case-newsletter{grid-column:1}.project-case-footer-links{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:80px;margin-top:120px}.project-case-footer-links>div:first-child{grid-column:1/-1}.project-case-footer-contact>a{overflow-wrap:anywhere;max-width:100%;font-size:24px}.project-case-footer-wordmark{width:100%;margin:120px 0 0}.project-case-footer-wordmark strong{font-size:30vw}.project-case-footer-wordmark span{font-size:13vw}.project-case-footer-bottom{grid-template-columns:1fr;gap:22px;height:auto;min-height:150px;padding:30px 20px}.project-case-footer-bottom>div{gap:22px}}.case-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:26px clamp(24px,5vw,76px);display:flex;position:relative}.case-header nav{align-items:center;gap:28px;font-size:11px;font-weight:800;display:flex}.case-hero{padding:clamp(75px,10vw,140px) clamp(24px,5vw,76px) 60px}.case-hero-top{grid-template-columns:1fr 2.4fr;gap:24px;display:grid}.case-hero h1{max-width:1100px;margin:0;font-size:clamp(58px,9vw,135px);line-height:.84}.case-summary{grid-template-columns:1fr 1fr;gap:40px;margin-top:70px;display:grid}.case-summary>p{max-width:720px;margin:0;font-size:clamp(18px,2vw,26px);line-height:1.5}.case-meta{grid-template-columns:1fr 1fr;gap:28px;display:grid}.case-meta div{border-top:1px solid var(--ink);padding-top:12px}.case-meta span{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:9px;font-size:9px;font-weight:800;display:block}.case-meta strong{font-size:12px}.case-visual{border:1px solid var(--line);background:#111;place-items:center;height:min(68vw,820px);margin:0 clamp(24px,5vw,76px);display:grid;overflow:hidden}.case-visual.visual-commerce{background:#15110f}.case-visual.visual-finance{background:#0f1513}.case-visual .art-window{width:min(760px,72%);height:62%;padding:22px}.case-body{padding:clamp(90px,12vw,170px) clamp(24px,5vw,76px)}.case-block{border-top:1px solid var(--line);grid-template-columns:1fr 2.4fr;gap:28px;padding:70px 0;display:grid}.case-block:first-child{border-top:0;padding-top:0}.case-block h2{text-transform:uppercase;letter-spacing:.13em;margin:0;font-size:11px}.case-block>div>p{letter-spacing:-.035em;max-width:780px;margin:0;font-size:clamp(23px,3vw,39px);line-height:1.3}.approach-list{counter-reset:approach;margin:12px 0 0;padding:0;list-style:none}.approach-list li{counter-increment:approach;border-bottom:1px solid var(--line);grid-template-columns:50px 1fr;gap:20px;max-width:780px;padding:25px 0;font-size:15px;line-height:1.6;display:grid}.approach-list li:before{content:"0" counter(approach);font-size:10px;font-weight:800}.impact-list{flex-wrap:wrap;gap:10px;margin-top:36px;display:flex}.impact-list span{background:var(--lime);color:var(--black);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:12px 15px;font-size:10px;font-weight:800}.case-next{background:var(--black);color:#fff;border-top:1px solid var(--line);padding:80px clamp(24px,5vw,76px)}.case-next a{justify-content:space-between;align-items:end;gap:20px;display:flex}.case-next span{color:var(--lime);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.case-next strong{letter-spacing:-.06em;font-size:clamp(40px,6vw,88px)}@media (max-width:900px){:root{--fabrica-section-gutter:20px}.fabrica-hero{height:760px;min-height:760px}.fabrica-nav{width:auto}.fabrica-nav>a{display:none}.fabrica-menu{width:48px;margin-left:0}.fabrica-menu-item a{font-size:clamp(46px,8vw,64px)}.fabrica-menu-bottom{grid-template-columns:1fr auto}.fabrica-menu-socials{justify-self:end}.fabrica-menu-bottom>p{display:none}.fabrica-name-lockup{top:calc(15% - 58px);left:4%}.fabrica-display{font-size:19vw}.fabrica-milestones{grid-template-columns:1fr 1fr;width:42%;top:calc(15% + 15.77vw - 58px);left:55%}.fabrica-milestone-stack{grid-column:1/-1}.fabrica-studio{margin-top:clamp(95px,17vw,140px)}.fabrica-statement{max-width:520px;bottom:30px;left:4%}.fabrica-plus,.fabrica-copyright{display:none}.fabrica-contact-card{width:clamp(370px,26vw,470px);bottom:30px;left:auto;right:3%}.github-heading{grid-template-columns:1fr 2.4fr}.github-heading>p:last-child{grid-column:2}.fabrica-proof-stats{grid-template-columns:repeat(2,1fr);row-gap:90px}.fabrica-approach{grid-template-columns:.8fr 2fr;gap:45px}.github-dashboard-heading{grid-template-columns:1fr 2fr}.github-dashboard-heading>p:last-child{grid-column:2}.github-dashboard{grid-template-columns:1fr 1fr}.github-profile-panel{grid-column:1/-1;min-height:700px}.github-summary-panel,.github-side-panels{min-height:560px}.fabrica-proof-exact,.fabrica-case-exact{padding-left:20px;padding-right:20px}.fabrica-career-heading h2{font-size:clamp(68px,11vw,104px)}.fabrica-career-list{right:24px}.fabrica-stats-exact{grid-template-columns:repeat(2,1fr);row-gap:60px;height:auto;padding-bottom:80px}.fabrica-stat-exact{height:auto}.fabrica-approach-exact{height:400px}.fabrica-approach-exact-inner{grid-template-columns:1fr 2fr}.fabrica-approach-exact-copy{grid-column:2;width:auto}.fabrica-approach-exact-lead{font-size:clamp(42px,6vw,56px)}.fabrica-case-exact{padding-top:0}.fabrica-case-exact-grid{grid-template-columns:repeat(2,1fr);height:auto}.fabrica-case-exact-hero{grid-column:1/-1;min-height:620px}.fabrica-case-exact-data{grid-column:1/-1;min-height:600px}.section-heading,.case-hero-top,.case-block{grid-template-columns:1fr}.section-intro{grid-column:1}.project-card,.project-card:nth-child(2n),.project-card:nth-child(3){grid-column:span 12}.project-art{height:min(72vw,580px)}.case-summary{grid-template-columns:1fr}}@media (min-width:721px) and (max-width:1180px){.fabrica-career{--career-dial-shift:0px}.fabrica-career-dial{--career-dial-tablet-anchor-x:25cqw;--career-dial-number-center-x:calc(var(--career-dial-tablet-anchor-x) - 78cqh);--career-dial-number-radius-x:73.8333cqh}.fabrica-career-dial svg{top:0;left:calc(var(--career-dial-tablet-anchor-x) - 53.3333cqh);width:177.778cqh;max-width:none;height:100cqh;position:absolute}.fabrica-career-marker{left:25%}.fabrica-career-number-rail{width:clamp(210px,24vw,240px);left:calc(25% + 40px)}.fabrica-career-heading,.fabrica-career-list{left:55%}.fabrica-career-list{height:200px;right:24px}.fabrica-career-role-card{grid-template-rows:auto auto;grid-template-columns:64px minmax(0,1fr);gap:10px 18px;padding:22px}.fabrica-career-logo{width:64px;height:64px}.fabrica-career-role-copy h3{font-size:clamp(18px,2.2vw,22px)}.fabrica-career-company{font-size:14px}.fabrica-career-tenure{text-align:left;grid-column:2;justify-self:start}.fabrica-career-period{font-size:14px}.fabrica-career-duration{font-size:13px}}@media (min-width:721px) and (max-width:1180px) and (orientation:portrait){.fabrica-career-list{width:auto;inset:auto 24px 24px;transform:none}.fabrica-career-scroll-cue{display:none}}@media (min-width:1600px){.fabrica-display{font-size:19.5vw}.fabrica-milestones{top:calc(clamp(128px,8.35vw,160px) + 16.185vw - 68px)}}@media (min-width:901px) and (max-height:719px){.fabrica-name-lockup{top:calc(clamp(128px,8.35vw,160px) - 100px)}}@media (max-width:1199px){.fabrica-nav{width:auto}.fabrica-nav>a{display:none}.fabrica-menu{width:60px;margin-left:0}}@media (min-width:810px) and (max-width:1199px){.fabrica-hero{height:100svh;min-height:720px}.fabrica-header,.fabrica-header-bar{height:60px}.fabrica-header.is-open{height:100dvh}.fabrica-header-bar{padding-inline:32px}.fabrica-menu-panel{height:calc(100dvh - 60px);top:60px;left:32px;right:32px}.fabrica-stage{border-radius:26px;inset:61px 4px 4px}.fabrica-name-lockup{top:clamp(76px,9.2vh,84px);left:2.5%}.fabrica-display{font-size:19vw;line-height:.83}.fabrica-studio{margin-top:10px;font-size:clamp(44px,4.35vw,52px);line-height:.9}.fabrica-milestones{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;width:28.3%;top:calc(clamp(145px,16.8vh,154px) + 32px);left:68.8%;transform:none}.fabrica-milestone-stack{grid-column:1/-1}.fabrica-milestones>div{gap:7px}.fabrica-milestones span{font-size:8px}.fabrica-milestones strong{font-size:22px}.fabrica-milestone-stack strong{font-size:clamp(10px,1.05vw,12px);line-height:1.3}.fabrica-plus{font-size:24px;display:block;top:55%;bottom:auto}.fabrica-plus-one{left:2.5%}.fabrica-plus-two{left:26.5%}.fabrica-plus-three{left:50.3%}.fabrica-plus-four{left:74.2%}.fabrica-statement{text-indent:clamp(36px,5.2vw,62px);width:50%;max-width:590px;font-size:clamp(17px,1.6vw,19px);line-height:1.18;bottom:68px;left:2.5%}.fabrica-statement span{display:inline}.fabrica-statement-indent{margin-left:0}.fabrica-copyright{font-size:13px;display:block;bottom:30px;left:2.5%}.fabrica-contact-card{grid-template-columns:124px minmax(0,1fr);width:clamp(300px,27vw,320px);height:186px;bottom:30px;left:auto;right:2.5%}.fabrica-contact-avatar{height:186px}.fabrica-contact-copy{padding:22px 20px 18px}.fabrica-contact-role{font-size:16px}.fabrica-contact-company{margin-top:5px;font-size:12px}.fabrica-contact-actions{flex-direction:column;gap:6px;width:100%}.fabrica-contact-button{white-space:nowrap;flex:0 0 32px;width:100%;min-height:32px;padding-inline:14px;font-size:11px}}@media (min-width:1200px) and (max-width:1490px){.fabrica-plus{top:65%;bottom:auto}.fabrica-contact-actions{flex-direction:column;gap:6px;width:100%}.fabrica-contact-button{white-space:nowrap;flex:0 0 30px;width:100%;min-height:30px}}@media (min-width:1491px){.fabrica-plus{top:70%;bottom:auto}}@media (max-width:809px){:root{--fabrica-section-gutter:20px}.fabrica-hero{height:820px;min-height:820px}.fabrica-header{height:58px}.fabrica-header.is-open{height:100dvh}.fabrica-header-bar{height:58px;padding:0 20px}.fabrica-wordmark{font-size:17px}.fabrica-menu{width:60px}.fabrica-menu-panel{gap:28px;height:calc(100dvh - 58px);padding:clamp(34px,5vh,52px) 0 22px;top:58px;left:20px;right:20px}.fabrica-menu-navigation{align-self:start;align-items:flex-start;gap:10px}.fabrica-menu-item a{font-size:clamp(43px,13vw,58px);line-height:1.12}.fabrica-menu-bottom{grid-template-columns:1fr;gap:22px}.fabrica-menu-contact a{font-size:clamp(15px,4.2vw,18px)}.fabrica-menu-socials{justify-self:start;gap:22px;font-size:13px}.fabrica-stage{border-radius:25px;flex-direction:column;padding:35px 18px 36px;display:flex;inset:61px 2px 5px}.fabrica-name-lockup{order:1;align-items:flex-start;position:static}.fabrica-display{font-size:35vw}.fabrica-studio{margin-top:8px;font-size:51px}.fabrica-milestones{text-align:right;order:2;grid-template-columns:auto auto;justify-content:end;align-self:flex-end;gap:13px 12px;width:190px;margin-top:clamp(21px,125px - 26.6667vw,25px);position:static;transform:none}.fabrica-milestones strong{font-size:20px}.fabrica-milestone-stack{grid-column:1/-1;align-items:flex-end}.fabrica-milestone-stack strong{font-size:11px}.fabrica-contact-card{flex:0 0 186px;order:3;grid-template-columns:124px minmax(0,1fr);align-self:flex-start;width:min(100%,410px);height:186px;margin-top:43px;display:grid;position:static}.fabrica-contact-avatar{height:186px}.fabrica-contact-copy{padding:24px 24px 18px}.fabrica-contact-role{font-size:14px;line-height:1}.fabrica-contact-company{margin-top:4px;font-size:12px}.fabrica-contact-actions{flex-direction:column;gap:6px;width:100%}.fabrica-contact-button{white-space:nowrap;flex:0 0 32px;width:100%;min-height:32px;padding-inline:14px;font-size:11px}.fabrica-contact-button-secondary{flex-basis:32px}.fabrica-statement{text-indent:72px;order:4;width:100%;max-width:none;margin-top:47px;font-size:18px;line-height:1.2;position:static}.fabrica-statement span{display:inline}.fabrica-statement-indent{margin-left:0}.fabrica-copyright{order:5;margin-top:auto;font-size:12px;line-height:1.3;display:block;position:static}.fabrica-projects{padding:74px 20px 90px}.fabrica-projects-heading{flex-direction:column;gap:0;margin-bottom:30px;display:flex}.fabrica-projects-count{margin-bottom:16px;font-size:13px}.fabrica-projects-title-wrap{width:100%}.fabrica-projects-title-wrap h2{font-size:62px}.fabrica-projects-year{margin-top:14px;font-size:23px}.fabrica-projects-heading-cta{width:128px;min-height:30px;margin:24px 0 0;padding:0 12px;font-size:11px}.fabrica-projects-grid{grid-template-columns:1fr;gap:4px}.fabrica-project-card{border-radius:14px;margin:0}.fabrica-project-card-head{height:50px;min-height:50px;padding:16px 20px}.fabrica-project-card-name{gap:12px}.fabrica-project-card-name h3{font-size:16px}.fabrica-project-menu{display:flex}.fabrica-project-menu i{width:8px}.fabrica-project-image-media{border-radius:10px}.fabrica-why-us-card-bottom p{font-size:18px}.github-section{padding-top:82px}.github-heading{display:block}.github-heading h2{margin-top:30px;font-size:clamp(54px,15vw,78px)}.github-heading>p:last-child{margin-top:30px}.github-card{min-height:550px;padding:22px}.github-card-cta{justify-content:center;width:46px;height:46px;padding:0;font-size:0}.github-card-cta i{font-size:17px}.github-visual{margin:52px 0 42px;padding:20px 16px}.github-visual-head span:last-child{display:none}.github-card-footer{grid-template-columns:1fr}.github-card-footer>div{padding-top:15px}.github-card-footer>div:nth-child(n+2){display:none}.fabrica-proof{padding:86px 24px 120px}.fabrica-proof-stats{gap:64px 24px;padding-bottom:100px}.fabrica-proof-stat strong{font-size:clamp(62px,21vw,88px)}.fabrica-proof-stat p{margin-top:24px;font-size:13px}.fabrica-approach{grid-template-columns:1fr;padding-top:90px}.fabrica-approach-aside p{margin-top:22px}.fabrica-approach-copy h2{font-size:clamp(38px,11.5vw,52px)}.fabrica-approach-copy>p{margin-top:45px;font-size:18px}.github-dashboard-section{padding:76px 20px 100px}.github-dashboard-heading{display:block}.github-dashboard-heading h2{margin-top:24px;font-size:clamp(56px,17vw,78px)}.github-dashboard-heading>p:last-child{margin-top:28px}.github-dashboard{grid-template-columns:1fr}.github-profile-panel{grid-column:auto;min-height:620px;padding:24px}.github-profile-image{width:82%;height:60%;top:4%}.github-profile-name{font-size:clamp(78px,26vw,110px)}.github-profile-graph{margin-top:58px}.github-summary-panel{min-height:520px;padding:28px}.github-summary-panel h3{font-size:43px}.github-side-panels{min-height:760px}.github-rate-panel,.github-bars-panel{padding:28px}.fabrica-proof-exact,.fabrica-case-exact{padding-left:20px;padding-right:20px}.fabrica-proof-exact-inner{--fabrica-proof-divider-space:70px;gap:var(--fabrica-proof-divider-space)}.fabrica-stats-exact{padding-bottom:var(--fabrica-proof-divider-space);gap:52px 12px}.fabrica-stat-exact{gap:13px}.fabrica-stat-exact strong{height:70px;font-size:56px}.fabrica-stat-exact p{font-size:12px}.fabrica-approach-exact{height:auto;min-height:500px}.fabrica-approach-exact-inner{grid-template-columns:1fr;align-content:start;gap:54px;padding:0 0 72px}.fabrica-approach-exact-copy{grid-column:1}.fabrica-approach-exact-lead{margin-top:28px;font-size:clamp(38px,11vw,52px)}.fabrica-approach-exact-note{margin-top:36px;font-size:16px}.fabrica-case-exact{padding-top:0;padding-bottom:100px}.fabrica-case-exact-grid{grid-template-columns:1fr}.fabrica-case-exact-hero{--github-avatar-size:96px;--github-avatar-top:86px;--github-avatar-right:26px;--github-ripple-size:520px;grid-column:1;min-height:600px}.fabrica-case-exact-top{top:26px;left:26px;right:26px}.fabrica-github-profile-identity{gap:18px;top:43%;left:26px}.fabrica-case-exact-wordmark{font-size:58px}.fabrica-github-contributions{bottom:26px;left:26px;right:26px}.fabrica-github-contributions-desktop{display:none}.fabrica-github-contributions-mobile{display:block}.fabrica-github-contributions-grid{grid-auto-columns:minmax(0,1fr);gap:1.5px}.fabrica-case-exact-data{grid-column:1;grid-template-columns:1fr}.fabrica-performance-exact{min-height:clamp(480px,132vw,520px);padding:24px}.fabrica-performance-dream-copy h2{font-size:clamp(34px,10.5vw,40px)}.fabrica-performance-dream-copy p{max-width:280px;margin-top:16px;font-size:15px}.fabrica-case-exact-side{min-height:600px}h1{margin-top:64px;font-size:clamp(56px,18vw,82px);line-height:.9}.section-heading{margin-bottom:54px}.section-heading h2{font-size:50px}.project-card{margin-bottom:30px}.project-card-head{grid-template-columns:28px 1fr}.project-card-head span:last-child{display:none}.project-art{height:88vw}.art-window{width:80%;height:58%}.project-copy{grid-template-columns:1fr}.project-copy span{grid-column:1}.work-row{grid-template-columns:28px 1fr auto;min-height:100px}.work-row>span:nth-child(3){display:none}.fabrica-career{--career-dial-shift:0px;height:calc((var(--career-timeline-steps) + 1) * 60svh + var(--career-section-spacing) * 2)}.fabrica-career-stage{min-height:620px}.fabrica-career-dial{--career-dial-mobile-anchor-x:16cqw;--career-dial-number-center-x:calc(var(--career-dial-mobile-anchor-x) - 78cqh);--career-dial-number-radius-x:73.8333cqh}.fabrica-career-dial svg{top:0;left:calc(var(--career-dial-mobile-anchor-x) - 53.3333cqh);width:177.778cqh;max-width:none;height:100cqh;position:absolute}.fabrica-career-marker{left:16%}.fabrica-career-dial-number{font-size:16px}.fabrica-career-heading{top:78px;left:50%;transform:translate(-50%)}.fabrica-career-heading h2{white-space:nowrap;font-size:clamp(54px,16.5vw,82px)}.fabrica-career-counter{font-size:clamp(20px,6vw,28px)}.fabrica-career-number-rail{width:clamp(190px,48vw,240px);left:calc(16% + 40px)}.fabrica-career-rail-number,.fabrica-career-number-prefix{font-size:clamp(58px,14vw,76px)}.fabrica-career-list{width:auto;height:166px;inset:auto 20px 22px;transform:none}.fabrica-career-role-card{border-radius:16px;grid-template-columns:54px minmax(0,1fr);gap:10px 16px;padding:20px}.fabrica-career-logo{border-radius:10px;width:54px;height:54px}.fabrica-career-role-copy h3{font-size:18px}.fabrica-career-company{font-size:14px}.fabrica-career-tenure{text-align:left;grid-column:2;justify-self:start}.fabrica-career-period{font-size:14px}.fabrica-career-duration{font-size:13px}.fabrica-career-scroll-cue{display:none}.fabrica-footer-grid{grid-template-columns:1fr;gap:64px}.fabrica-footer-contact-copy,.fabrica-footer-links>div{margin-top:56px}.fabrica-footer-email{font-size:clamp(20px,5vw,28px)}.fabrica-footer-wordmark{grid-template-columns:1fr;row-gap:4px;margin-top:16px}.fabrica-footer-wordmark strong,.fabrica-footer-wordmark>span{grid-column:1}.fabrica-footer-wordmark strong{font-size:clamp(85px,23vw,145px)}.fabrica-footer-wordmark>span{font-size:clamp(32px,8vw,52px)}.fabrica-footer-bottom{grid-template-columns:1fr;gap:6px;min-height:0;margin-top:88px;padding:16px 0}.fabrica-footer-credit{justify-self:start;gap:8px}.fabrica-footer-credit-avatar{flex-basis:30px;width:30px;height:30px}.case-header nav a:first-child{display:none}.case-summary,.case-meta{grid-template-columns:1fr}.case-visual{height:100vw}.case-visual .art-window{width:82%}.case-block{padding:52px 0}}@media (min-width:480px) and (max-width:809px){.fabrica-hero{height:clamp(820px,761.7px + 12.15vw,837px);min-height:clamp(820px,761.7px + 12.15vw,837px)}.fabrica-milestones{margin-top:clamp(21px,15vw - 51px,42px)}.fabrica-contact-card{flex-basis:clamp(160px,275.1px - 18.56vw,186px);height:clamp(160px,275.1px - 18.56vw,186px)}.fabrica-contact-avatar{height:clamp(160px,275.1px - 18.56vw,186px)}.fabrica-statement{margin-top:43px;font-size:clamp(16px,24.86px - 1.43vw,18px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}.fabrica-tech-stack-mark-reveal{opacity:1;transform:none;animation:none!important}.fabrica-stage:before,.fabrica-stage:after{animation:none}.fabrica-career{height:auto}.fabrica-career-stage{height:auto;min-height:100svh;padding:150px 20px 36px;position:relative;top:auto}.fabrica-career-dial-rotor{transform:none}.fabrica-career-number-rail{display:none}.fabrica-career-heading{position:relative;top:auto;left:auto;transform:none}.fabrica-career-list{width:min(760px,100%);height:auto;margin:110px 0 0 auto;position:relative;inset:auto;transform:none}.fabrica-career-role{opacity:1;pointer-events:auto;filter:none;height:auto;margin-top:8px;position:relative;inset:auto;transform:none;animation:none!important}.fabrica-career-role-card{min-height:142px;transform:none!important}.fabrica-career-scroll-cue{display:none}}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}
