@font-face{font-family:display;src:url(../media/Lastik_Free-s.p.0z1py80swds3u.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:display Fallback;src:local(Arial);ascent-override:105.6%;descent-override:24.24%;line-gap-override:23.8%;size-adjust:92.43%}.display_4d0683e9-module__Xezn2a__className{font-family:display,display Fallback,Times New Roman,Times,serif;font-style:normal;font-weight:400}.display_4d0683e9-module__Xezn2a__variable{--font-lastik:"display", "display Fallback", Times New Roman, Times, serif}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_3d4d70b2-module__Mgzl3q__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_3d4d70b2-module__Mgzl3q__variable{--font-inter:"Inter", "Inter Fallback"}
@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--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;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia: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);--color-ground:#f7f8fa;--color-ink:#4e4f52;--color-muted:#9a9a9b;--color-body:#848484;--color-rule:#e6e8ec;--color-folder-contact:#1d1d1d;--font-display:var(--font-lastik), "Times New Roman", Times, serif;--font-body:var(--font-inter), ui-sans-serif, system-ui, sans-serif}}@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{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.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}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.rounded{border-radius:.25rem}.fill-rule{fill:var(--color-rule)}.font-display{font-family:var(--font-display)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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{--gallery-gap:40px;--gallery-pad-bottom:clamp(56px, 9vw, 140px)}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--color-ground);color:var(--color-ink);font-family:var(--font-body);font-size:14px;line-height:1.6}.font-display{font-family:var(--font-display);letter-spacing:-.015em;font-weight:400;line-height:1.1}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:.01ms!important}}.hero{--hero-h:calc(100svh - 7svh - var(--gallery-gap));--u:min(1px, 100vw / 1512, var(--hero-h) / 1020);--u-item:var(--u);--ease-pop:cubic-bezier(.34, 1.42, .64, 1);min-height:var(--hero-h);place-items:center;width:100%;max-width:100vw;display:grid;position:relative;overflow:hidden}.hero__copy{z-index:2;text-align:center;pointer-events:none;flex-direction:column;align-items:center;gap:30px;display:flex;position:relative}.hero__intro,.hero__headline{font-family:var(--font-display);color:var(--color-ink);margin:0;font-size:30px;font-weight:400;line-height:125%}.hero__intro{align-items:center;gap:11px;display:flex}.hero__avatar{object-fit:cover;border-radius:50%;width:34px;height:34px}.profile-social{pointer-events:auto;align-items:center;display:inline-flex;position:relative}.profile-social__avatar{appearance:none;cursor:pointer;transition:scale .35s var(--ease-pop);background:0 0;border:0;border-radius:50%;padding:0;line-height:0;display:block;scale:1}.profile-social.is-hovered .profile-social__avatar,.profile-social:focus-within .profile-social__avatar{scale:1.15}.profile-social__avatar:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}.profile-social__links{align-items:center;gap:6px;padding-left:8px;display:flex;position:absolute;top:50%;left:100%;translate:0 -50%}.profile-social__link{background:var(--color-ink);width:28px;height:28px;color:var(--color-ground);opacity:0;pointer-events:none;transition:opacity .25s ease, scale .4s var(--ease-pop), translate .4s var(--ease-pop);border-radius:50%;place-items:center;display:grid;translate:-10px;scale:.4}.profile-social__link svg{width:14px;height:14px}.profile-social__link:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}.profile-social.is-hovered .profile-social__link,.profile-social:focus-within .profile-social__link{opacity:1;pointer-events:auto;translate:0;scale:1}.profile-social.is-hovered .profile-social__link:last-child,.profile-social:focus-within .profile-social__link:last-child{transition-delay:60ms}@media (prefers-reduced-motion:reduce){.profile-social__avatar,.profile-social__link{transition:opacity .15s}}.hero__headline{text-wrap:balance;max-width:22ch}.hero__headline-muted{color:#949494}.site-nav{--nav-shell:#0d0d0d;--nav-shell-pad:8px;--nav-shell-radius:16px;--nav-chip:#ececec;--nav-chip-hover:#e3e3e3;--nav-chip-item-hover:#d9d9d9;--nav-chip-radius:9px;--nav-chip-ink:#3d3d3d;--nav-chip-shaded:#4d4d4d;--nav-chip-shaded-ink:#a8a8a8;--nav-chip-pressed:#262626;--nav-chip-pressed-ink:#d6d6d6;--nav-chip-pressed-border:#ffffff38;--nav-side-pad:35px;inset:28px var(--nav-side-pad) auto var(--nav-side-pad);z-index:20;pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:fixed}@media (min-width:1440px){.site-nav{--nav-side-pad:40px}}.site-nav__group{pointer-events:auto;animation:nav-in .5s var(--ease-pop) backwards;animation-delay:var(--intro-gallery);display:inline-flex;position:relative}.site-nav__group--primary,.nav-dropdown{padding:var(--nav-shell-pad);gap:var(--nav-shell-pad);background:var(--nav-shell);border-radius:var(--nav-shell-radius)}.site-nav__group--primary{box-sizing:border-box;width:calc(var(--chips-w) + 2 * var(--nav-shell-pad));height:calc(var(--chips-h) + 2 * var(--nav-shell-pad))}.site-nav__chips{align-self:flex-start;gap:var(--nav-shell-pad);flex:none;display:inline-flex}@keyframes nav-in{0%{opacity:0;translate:0 -14px;scale:.4}to{opacity:1;translate:0;scale:1}}.site-nav__left{pointer-events:none;align-items:flex-start;gap:10px;display:flex}.nav-home{border-radius:var(--nav-chip-radius);background:var(--nav-chip);width:36px;height:36px;transition:background-color .35s var(--ease-quint);justify-content:center;align-items:center;display:inline-flex}.nav-home:hover{background:var(--nav-chip-hover)}.nav-home:focus-visible{outline:2px solid var(--nav-shell);outline-offset:2px}.nav-home__logo{width:26px;height:26px}.nav-pill{height:36px;font-family:var(--font-body);color:var(--nav-chip-ink);background:var(--nav-chip);border-radius:var(--nav-chip-radius);cursor:pointer;white-space:nowrap;transition:color .35s var(--ease-quint), background-color .35s var(--ease-quint);border:0;justify-content:center;align-items:center;padding:0 20px;font-size:15px;line-height:1;display:inline-flex}.nav-pill:hover{background:var(--nav-chip-hover)}.nav-pill:focus-visible{outline:2px solid var(--nav-shell);outline-offset:2px}.nav-pill--nav-trigger{transition:color .35s var(--ease-quint), background-color .35s var(--ease-quint), border-color .35s var(--ease-quint);border:1px solid #0000}.nav-pill--nav-trigger[aria-expanded=true]{background:var(--nav-chip-pressed);color:var(--nav-chip-pressed-ink);border-color:var(--nav-chip-pressed-border)}.nav-pill--contact{background:var(--nav-chip-shaded);color:var(--nav-chip-shaded-ink)}.nav-pill--contact:hover{background:#575757}.nav-pill--contact.is-open{color:#8a8a8a;background:#333}.site-nav__group--primary{--nav-shell-pad:10px;--nav-drop:16px}.nav-dropdown{margin-top:var(--nav-drop,13px);opacity:0;filter:blur(5px);pointer-events:none;width:max-content;min-width:100%;transition:opacity .4s var(--ease-quint), translate .4s var(--ease-quint), filter .4s var(--ease-quint);flex-direction:column;display:flex;position:absolute;top:100%;left:0;translate:0 -6px}.nav-dropdown.is-open{opacity:1;filter:blur();pointer-events:auto;transition-duration:.5s;translate:0}.nav-dropdown__item{opacity:0;filter:blur(5px);transition:opacity .4s var(--ease-quint), translate .4s var(--ease-quint), scale .4s var(--ease-quint), filter .4s var(--ease-quint), background-color .3s ease-out, color .3s ease-out;text-decoration:none;translate:0 -10px;scale:.92}.nav-dropdown.is-open .nav-dropdown__item{opacity:1;filter:blur();transition:opacity .5s var(--ease-quint), translate .5s var(--ease-pop), scale .5s var(--ease-pop), filter .5s var(--ease-quint), background-color .3s ease-out, color .3s ease-out;transition-delay:calc(var(--i,0) * 70ms), calc(var(--i,0) * 70ms), calc(var(--i,0) * 70ms), calc(var(--i,0) * 70ms), 0s, 0s;translate:0;scale:1}.nav-dropdown__item:hover{background:var(--nav-chip-item-hover)}.nav-dropdown__item:active{background:var(--nav-chip-pressed);color:var(--nav-chip-pressed-ink)}.nav-contact-catcher{z-index:25;pointer-events:auto;position:fixed;inset:0}.nav-contact{--contact-open-h:min(calc(1043 * var(--u)), calc(var(--hero-h) * .88));--contact-open-w:calc(var(--contact-open-h) / 1.098);--fu:calc(var(--contact-open-h) / 1043);z-index:26;left:var(--ox);top:var(--oy);width:var(--ow);height:var(--oh);border-radius:var(--nav-chip-radius,13px);opacity:0;pointer-events:none;box-shadow:inset 0 calc(7 * var(--fu)) calc(5 * var(--fu)) #6a6a6a99, inset 0 calc(-7 * var(--fu)) calc(5 * var(--fu)) #1d1d1d;background:#2a2a2a;transition:left .5s cubic-bezier(.86,0,.07,1),top .5s cubic-bezier(.86,0,.07,1),width .5s cubic-bezier(.86,0,.07,1),height .5s cubic-bezier(.86,0,.07,1),border-radius .5s cubic-bezier(.86,0,.07,1),opacity .2s;position:fixed;overflow:hidden}.nav-contact.is-open{left:calc(50vw - (var(--contact-open-w) / 2));top:calc(50vh - (var(--contact-open-h) / 2));width:var(--contact-open-w);height:var(--contact-open-h);border-radius:calc(39 * var(--fu));opacity:1;pointer-events:auto;transition:left .55s var(--contact-ease,cubic-bezier(.22, 1, .36, 1)), top .55s var(--contact-ease,cubic-bezier(.22, 1, .36, 1)), width .55s var(--contact-ease,cubic-bezier(.22, 1, .36, 1)), height .55s var(--contact-ease,cubic-bezier(.22, 1, .36, 1)), border-radius .55s var(--contact-ease,cubic-bezier(.22, 1, .36, 1)), opacity .2s ease}.nav-contact.is-morphing{animation:.5s cubic-bezier(.86,0,.07,1) contact-morph-blur}.nav-contact.is-open .contact__form{opacity:1;transition-delay:.2s}@media (max-width:640px){.nav-contact{--contact-open-w:90vw;--contact-open-h:min(calc(90vw * 1.098), calc(var(--hero-h) * .92));--fu:calc(var(--contact-open-h) / 1043)}}.site-nav__group--docs{transition:opacity .45s var(--ease-quint), filter .45s var(--ease-quint), translate .55s var(--ease-pop), scale .55s var(--ease-pop)}.site-nav.is-past-hero .site-nav__group--docs{opacity:0;filter:blur(8px);pointer-events:none;transition:opacity .4s var(--ease-quint), filter .4s var(--ease-quint), translate .4s var(--ease-quint), scale .4s var(--ease-quint);translate:0 -8px;scale:.9}.site-nav__group--primary{--nav-burger-size:48px;transition:width .55s var(--ease-pop), height .55s var(--ease-pop), padding .55s var(--ease-pop), border-radius .55s var(--ease-pop), background-color .35s var(--ease-quint)}.site-nav.is-minimal .site-nav__group--primary{width:var(--nav-burger-size);height:var(--nav-burger-size);border-radius:calc(var(--nav-burger-size) / 2);transition:width .5s var(--ease-quint), height .5s var(--ease-quint), padding .5s var(--ease-quint), border-radius .5s var(--ease-quint), background-color .4s var(--ease-quint);background:0 0;padding:0}.site-nav.is-minimal .site-nav__chips{pointer-events:none}.site-nav__condense-veil{border-radius:inherit;opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur();pointer-events:none;position:absolute;inset:0}.site-nav.is-delaying-condense .site-nav__condense-veil{animation:nav-condense-veil .4s var(--ease-quint)}@keyframes nav-condense-veil{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}35%{opacity:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}to{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}}.site-nav__chips>.nav-pill{transition:color .35s var(--ease-quint), background-color .35s var(--ease-quint), border-color .35s var(--ease-quint), opacity .4s var(--ease-quint) .4s, filter .4s var(--ease-quint) .4s}.site-nav.is-minimal .site-nav__chips>.nav-pill{opacity:0;filter:blur(6px);transition:color .3s var(--ease-quint), background-color .3s var(--ease-quint), border-color .3s var(--ease-quint), opacity .2s var(--ease-quint), filter .2s var(--ease-quint)}.nav-burger{width:var(--nav-burger-size);height:var(--nav-burger-size);background:var(--nav-chip);color:var(--nav-chip-ink);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s var(--ease-quint), scale .4s var(--ease-quint), background-color .35s var(--ease-quint);border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:0;right:0;scale:.6}.site-nav.is-minimal .nav-burger{opacity:1;pointer-events:auto;transition:opacity .35s var(--ease-quint) .15s, scale .55s var(--ease-pop) .15s, background-color .35s var(--ease-quint);scale:1}.nav-burger:hover{background:var(--nav-chip-hover)}.nav-burger:focus-visible{outline:2px solid var(--nav-shell);outline-offset:2px}@media (max-width:640px){.site-nav{--nav-side-pad:calc(35px * .65);inset:20px var(--nav-side-pad) auto var(--nav-side-pad)}.site-nav__group--primary{width:var(--nav-burger-size);height:var(--nav-burger-size);border-radius:calc(var(--nav-burger-size) / 2);background:0 0;padding:0;transition:none}.site-nav__chips,.site-nav__condense-veil{display:none}.nav-burger{opacity:1;pointer-events:auto;transition:color .35s var(--ease-quint), background-color .35s var(--ease-quint), border-color .35s var(--ease-quint);border:1px solid #0000;scale:1}.nav-burger[aria-expanded=true]{background:var(--nav-chip-pressed);color:var(--nav-chip-pressed-ink);border-color:var(--nav-chip-pressed-border)}.nav-dropdown--burger{left:auto;right:0}}@media (min-width:641px){.nav-dropdown--burger{display:none}}@media (prefers-reduced-motion:reduce){.nav-dropdown,.nav-dropdown__item,.nav-pill,.site-nav__chips>.nav-pill,.nav-contact,.site-nav__group,.site-nav__chips,.nav-burger{transition-duration:.15s;transition-delay:0s}.site-nav.is-delaying-condense .site-nav__condense-veil{animation:none}}.hero__orbit{z-index:1;place-items:center;display:grid;position:absolute;inset:0}.hero__rings,.hero__items{place-items:center;display:grid;position:absolute;inset:0}.hero__items{pointer-events:none}.hero__fade{background:linear-gradient(to bottom, transparent 0%, var(--color-ground) 100%);pointer-events:none;height:30%;position:absolute;inset:auto 0 0}.orbit-circle{width:calc(var(--d) * var(--u));height:calc(var(--d) * var(--u));position:absolute}.folder,.contact{--x:var(--x-desktop);--y:var(--y-desktop);--u:var(--u-item);pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;cursor:grab;translate:calc(var(--x) * var(--u) + var(--dx,0px)) calc(var(--y) * var(--u) + var(--dy,0px));rotate:var(--tilt);position:absolute}.folder{--tilt:var(--tilt-desktop)}.folder.is-dragging,.contact.is-dragging{cursor:grabbing;z-index:2;transition:none}.folder.is-grabbed,.contact.is-grabbed{cursor:grabbing;animation:orbit-grab-bounce .35s var(--ease-pop,ease-out)}@keyframes orbit-grab-bounce{0%{scale:1}35%{scale:1.06}65%{scale:.97}to{scale:1}}@media (prefers-reduced-motion:reduce){.folder.is-grabbed,.contact.is-grabbed{animation:none}}.folder{--panel-w:calc(330 * var(--u));--panel-h:calc(225 * var(--u));--radius:18px;--photo:calc(147 * var(--u));width:var(--panel-w);height:var(--panel-h);transition:translate .45s var(--ease-pop);border-radius:var(--radius)}.folder:hover,.folder:focus-within{translate:calc(var(--x) * var(--u) + var(--dx,0px)) calc((var(--y) - 6) * var(--u) + var(--dy,0px))}.folder__back{inset:calc(7.5 * var(--u)) calc(5 * var(--u)) 0;background:var(--back);border-radius:var(--radius);translate:0 calc(-17.5 * var(--u));position:absolute}.folder__pocket{z-index:0;position:absolute;inset:0}.folder__photo{--lift:0;--shift:0;--spin:0deg;-webkit-user-drag:none;width:var(--photo);height:var(--photo);left:calc(var(--px) * var(--u));top:calc(var(--py) * var(--u));translate:calc(var(--shift) * var(--u)) calc(var(--lift) * var(--u) * -1);rotate:calc(var(--pr) + var(--spin));cursor:pointer;transition:translate .5s var(--ease-pop), rotate .5s var(--ease-pop), scale .5s var(--ease-pop), opacity .5s var(--popup-ease-out), filter .5s var(--popup-ease-out);background:0 0;border:0;border-radius:15px;padding:0;position:absolute}.folder__photo.is-handed-off{opacity:0;filter:blur(10px);transition:opacity var(--popup-ms) var(--popup-ease), filter var(--popup-ms) var(--popup-ease)}.folder__photo-img{object-fit:cover;border-radius:inherit;-webkit-user-drag:none;width:100%;height:100%;display:block}.folder__photo.is-front{box-shadow:0 calc(7.5 * var(--u)) calc(12.5 * var(--u)) #0000002e}.folder__photo.is-extra{box-shadow:0 calc(4 * var(--u)) calc(8 * var(--u)) #0000001f}.folder:hover .folder__photo,.folder:focus-within .folder__photo{--lift:var(--pop)}.folder:hover .folder__photo.is-back,.folder:focus-within .folder__photo.is-back{--spin:-4deg}.folder:hover .folder__photo.is-front,.folder:focus-within .folder__photo.is-front{--spin:3deg;transition-delay:40ms}.folder.is-pocket-open .folder__photo.is-extra,.folder:where(:has(.folder__photo:focus-visible)) .folder__photo.is-extra{--lift:calc(var(--pop) + var(--ry));--shift:var(--rx);--spin:var(--rr);transition-delay:calc(var(--i,0) * 35ms)}.folder:hover .folder__photo:hover,.folder:focus-within .folder__photo:focus-visible{--lift:calc(var(--pop) + var(--ry) + 34);--shift:var(--rx);z-index:2;transition-delay:0s;scale:1.3}.folder__photo.is-raised{z-index:1}.folder__photo:focus-visible{outline:2px solid var(--color-ink);outline-offset:calc(4 * var(--u))}.folder__front{border-radius:var(--radius);background:var(--master);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.folder__front{background:color-mix(in srgb, var(--master) 77%, transparent)}}.folder__front{-webkit-backdrop-filter:blur(calc(22.875 * var(--u)));backdrop-filter:blur(calc(22.875 * var(--u)));box-shadow:inset 0 calc(-1.25 * var(--u)) calc(8.75 * var(--u)) #64646440, inset 0 calc(8.75 * var(--u)) calc(5 * var(--u)) #ffffff40;align-items:flex-end;display:flex}.folder__front:after{content:"";border-radius:inherit;background:linear-gradient(to bottom, var(--master), var(--master));padding:1px;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.folder__front:after{background:linear-gradient(to bottom, color-mix(in srgb, var(--master) 62%, white), color-mix(in srgb, var(--master) 72%, black))}}.folder__front:after{-webkit-mask-composite:xor;pointer-events:none;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.folder__label{font-family:var(--font-display);font-size:calc(36 * var(--u));color:var(--text);padding:0 0 calc(30 * var(--u)) calc(30 * var(--u));line-height:1}.folder__cta{--cta:calc(42 * var(--u));right:calc(30 * var(--u));bottom:calc(30 * var(--u) + 18 * var(--u) - var(--cta) / 2);z-index:1;width:var(--cta);height:var(--cta);background:var(--master);border-radius:50%;place-items:center;display:grid;position:absolute}@supports (color:color-mix(in lab, red, red)){.folder__cta{background:color-mix(in srgb, var(--master) 82%, var(--text))}}.folder__cta{color:var(--text);cursor:pointer;-webkit-user-drag:none;opacity:0;transition:opacity .3s var(--ease-quint), scale .45s var(--ease-pop), background-color .25s ease;scale:.6}.folder__cta svg{width:calc(var(--cta) * .45);height:calc(var(--cta) * .45)}.folder:hover .folder__cta,.folder:focus-within .folder__cta{opacity:1;scale:1}.folder__cta:hover{background:var(--master)}@supports (color:color-mix(in lab, red, red)){.folder__cta:hover{background:color-mix(in srgb, var(--master) 70%, var(--text))}}.folder__cta:focus-visible{outline:2px solid var(--text);outline-offset:3px}@media (hover:none){.folder__cta{opacity:1;scale:1}}@media (max-width:640px){.hero{--u-item:min(.6px, 100vw / 1000, var(--hero-h) / 1400)}.folder,.contact{--x:var(--x-mobile);--y:var(--y-mobile)}.folder{--tilt:var(--tilt-mobile);--radius:14px}.folder__photo{border-radius:calc(15 * var(--u))}}:root{--popup-ms:.55s;--popup-ease:cubic-bezier(.22, 1, .36, 1);--popup-ease-out:cubic-bezier(.86, 0, .07, 1)}.photo-popup{z-index:50;transition:background-color .5s var(--popup-ease-out);background:0 0;place-items:center;padding:clamp(16px,4vw,48px);display:grid;position:fixed;inset:0}.photo-popup.is-in{transition:background-color var(--popup-ms) var(--popup-ease);background:#00000052}.photo-popup:focus-visible{outline:none}.photo-popup__stage{--popup-h:min(64vh, 760px);--popup-w:min(90vw, 1100px, calc(var(--popup-h) * var(--popup-ratio,1)));flex-direction:column;align-items:center;gap:clamp(16px,2.5vw,28px);max-height:100%;display:flex}.photo-popup__stage.has-caption{--popup-h:min(56vh, 700px)}.photo-popup__stage.has-set{--popup-h:min(calc(64vh - 64px), 700px)}.photo-popup__stage.has-caption.has-set{--popup-h:min(calc(56vh - 64px), 640px)}.photo-popup__frame{position:relative}.photo-popup__stage.has-set .photo-popup__frame{width:min(90vw, 1100px, calc(var(--popup-h) * var(--popup-set-max)));height:min(var(--popup-h), 90vw / var(--popup-set-min), 1100px / var(--popup-set-min));place-items:center;display:grid}.photo-popup.is-square .photo-popup__img{border-radius:0}.photo-popup__img{width:var(--popup-w);border-radius:calc(var(--popup-w) * 15 / 147);opacity:0;filter:blur(10px);height:auto;transition:transform .5s var(--popup-ease-out), opacity .5s var(--popup-ease-out), filter .5s var(--popup-ease-out);display:block;box-shadow:0 30px 80px #00000059}.photo-popup.is-in .photo-popup__img{opacity:1;filter:blur();transition:transform var(--popup-ms) var(--popup-ease), opacity var(--popup-ms) var(--popup-ease), filter var(--popup-ms) var(--popup-ease)}.photo-popup__img.is-stepped,.photo-popup__caption.is-stepped{animation:popup-step-in .45s var(--popup-ease) backwards}@keyframes popup-step-in{0%{opacity:0;filter:blur(6px);translate:calc(var(--step-dir,1) * 28px) 0}to{opacity:1;filter:blur();translate:0}}.photo-popup__arrow{background:var(--color-folder-contact);color:#b6b6b6;cursor:pointer;opacity:0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;transition:opacity .3s,background-color .2s,color .2s;display:grid;position:absolute;top:50%;translate:0 -50%;box-shadow:0 10px 24px #0000004d}.photo-popup__arrow.is-prev{left:-60px}.photo-popup__arrow.is-prev svg{scale:-1 1}.photo-popup__arrow.is-next{right:-60px}.photo-popup.is-in .photo-popup__arrow{opacity:1;transition-delay:.2s,0s,0s}.photo-popup__arrow:hover{color:#fff;background:#2f2f2f}.photo-popup__arrow:focus-visible{outline-offset:3px;outline:2px solid #f2f2f2}@media (max-width:640px){.photo-popup__arrow{width:40px;height:40px}.photo-popup__arrow.is-prev{left:10px}.photo-popup__arrow.is-next{right:10px}}.photo-popup__caption{--caption-lines:2;width:var(--popup-w);max-width:100%;font-family:var(--font-body);text-align:center;color:#fff;text-shadow:0 1px 2px #000c,0 2px 10px #000000b3,0 4px 24px #0009;-webkit-line-clamp:var(--caption-lines);line-clamp:var(--caption-lines);opacity:0;-webkit-box-orient:vertical;margin:0;font-size:15px;line-height:1.5;transition:opacity .3s;display:-webkit-box;overflow:hidden}.photo-popup.is-in .photo-popup__caption{opacity:1;transition-delay:.2s}.photo-popup__stage.has-set .photo-popup__caption{min-height:calc(var(--caption-lines) * 1.5em)}.photo-popup__actions{background:var(--color-folder-contact);opacity:0;transition:opacity .3s ease, translate .3s var(--popup-ease);border-radius:18px;gap:6px;padding:6px;display:flex;translate:0 10px;box-shadow:0 14px 34px #0000004d}.photo-popup.is-in .photo-popup__actions{opacity:1;transition-delay:.2s;translate:0}.photo-popup__cta,.photo-popup__close{font-family:var(--font-body);cursor:pointer;border:0;border-radius:12px;padding:14px 26px;font-size:15px;font-weight:600;line-height:1;text-decoration:none;transition:background-color .2s,color .2s}.photo-popup__cta{color:#1d1d1d;background:#f2f2f2}.photo-popup__cta:hover{background:#fff}.photo-popup__close{color:#b6b6b6;background:#2f2f2f}.photo-popup__close:hover{color:#fff;background:#3a3a3a}.photo-popup__cta:focus-visible,.photo-popup__close:focus-visible{outline-offset:3px;outline:2px solid #f2f2f2}.photo-popup__strip{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);touch-action:none;cursor:pointer;opacity:0;transition:opacity .3s ease, translate .3s var(--popup-ease);background:#1414148c;border-radius:12px;gap:4px;padding:6px;display:flex;translate:0 10px}.photo-popup.is-in .photo-popup__strip{opacity:1;transition-delay:.25s;translate:0}.photo-popup__thumb{width:30px;height:40px;cursor:inherit;opacity:.5;transition:opacity .2s ease, scale .25s var(--popup-ease), box-shadow .2s ease;background:#2f2f2f;border:0;border-radius:5px;padding:0;display:block;overflow:hidden}.photo-popup__thumb img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.photo-popup__thumb:hover{opacity:.8}.photo-popup__thumb.is-active{opacity:1;scale:1.12;box-shadow:0 0 0 1.5px #f2f2f2}.photo-popup__thumb:focus-visible{outline-offset:2px;outline:2px solid #f2f2f2}.contact{--contact-open-h:min(calc(1043 * var(--u)), calc(var(--hero-h) * .88));--contact-open-w:calc(var(--contact-open-h) / 1.098);--fu:calc(var(--contact-open-h) / 1043);--contact-ease:cubic-bezier(.22, 1, .36, 1);--contact-ease-out:cubic-bezier(.86, 0, .07, 1);width:calc(225 * var(--u));height:calc(240 * var(--u));transition:width .5s var(--contact-ease-out), height .5s var(--contact-ease-out), translate .5s var(--contact-ease-out), rotate .5s var(--contact-ease-out), border-radius .5s var(--contact-ease-out);background:#2a2a2a;border-radius:18px;overflow:hidden}@media (max-width:640px){.contact{width:calc(225 * var(--u) * 1.2);height:calc(240 * var(--u) * 1.2);border-radius:14px}}.contact:not(.is-open):hover,.contact:not(.is-open):focus-within{translate:calc(var(--x) * var(--u) + var(--dx,0px)) calc((var(--y) - 6) * var(--u) + var(--dy,0px));rotate:calc(var(--tilt) - 3deg)}.contact.is-open{width:var(--contact-open-w);height:var(--contact-open-h);border-radius:calc(39 * var(--fu));box-shadow:inset 0 calc(7 * var(--fu)) calc(5 * var(--fu)) #6a6a6a99, inset 0 calc(-7 * var(--fu)) calc(5 * var(--fu)) #1d1d1d;transition:width .55s var(--contact-ease), height .55s var(--contact-ease), translate .55s var(--contact-ease), rotate .55s var(--contact-ease), border-radius .55s var(--contact-ease);translate:0;rotate:none}@keyframes contact-morph-blur{0%,to{filter:blur()}45%{filter:blur(calc(10 * var(--u)))}}.contact.is-morphing{animation:contact-morph-blur .5s var(--contact-ease-out)}.hero:has(.contact.is-open) .hero__orbit{z-index:3}.contact-catcher{pointer-events:auto;position:absolute;inset:0}.contact__trigger{gap:calc(10 * var(--u));padding:calc(16 * var(--u));border-radius:inherit;color:#fff;cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:column;transition:opacity .25s;display:flex;position:absolute;inset:0}.contact__trigger:focus-visible{outline:2px solid var(--color-ink);outline-offset:calc(-4 * var(--u))}.contact.is-open .contact__trigger{opacity:0}.contact__label{font-family:var(--font-display);font-size:calc(36 * var(--u));flex-shrink:0;line-height:1}.contact__preview{gap:calc(10 * var(--u));flex-direction:column;flex:1;min-height:0;display:flex}.contact__preview-row{gap:calc(10 * var(--u));height:calc(34 * var(--u));flex-shrink:0;display:flex}.contact__preview-field{border-radius:calc(6 * var(--u));background:#1d1d1d;border:1px solid #4f4f4f;flex:1}.contact__preview-area{border-radius:calc(10 * var(--u));flex:1}.contact__form{padding:calc(30 * var(--fu));opacity:0;flex-direction:column;transition:opacity .3s;display:flex;position:absolute;inset:0}.contact.is-open .contact__form{opacity:1;transition-delay:.2s}.contact__heading{font-size:calc(50 * var(--fu));color:#fff;text-align:center;margin:calc(15 * var(--fu)) 0 calc(42 * var(--fu));line-height:1}.contact__row{gap:calc(32 * var(--fu));margin-bottom:calc(20 * var(--fu));grid-template-columns:1fr 1fr;display:grid}.contact__field{width:100%;height:calc(82 * var(--fu));font-family:var(--font-body);font-size:calc(26 * var(--fu));color:#fff;border-radius:calc(19 * var(--fu));padding:0 calc(28 * var(--fu));background:#1d1d1d;border:1px solid #4f4f4f}.contact__field--area{height:auto;min-height:0;padding:calc(24 * var(--fu)) calc(28 * var(--fu));resize:none;flex:1;line-height:1.5}.contact__field::placeholder{color:var(--color-ink)}.contact__field:focus-visible{border-color:#6f6f6f;outline:0}.contact__submit{width:calc(185 * var(--fu));height:calc(63 * var(--fu));margin-top:calc(43 * var(--fu));font-family:var(--font-body);font-weight:600;font-size:calc(24 * var(--fu));color:#1d1d1d;border-radius:calc(12 * var(--fu));cursor:pointer;background:#f2f2f2;border:0;align-self:center;transition:background-color .2s}.contact__submit:hover{background:#fff}.contact__submit:focus-visible{outline-offset:calc(4 * var(--fu));outline:2px solid #f2f2f2}@media (max-width:640px){.contact{--contact-open-w:90vw;--contact-open-h:min(calc(90vw * 1.098), calc(var(--hero-h) * .92));--fu:calc(var(--contact-open-h) / 1043)}.contact__row{grid-template-columns:1fr}}.gallery{--gallery-item-gap:30px;--gallery-page-pad:35px;--gallery-ease:cubic-bezier(.22, 1, .36, 1);width:100%;max-width:100vw;padding:var(--gallery-gap) var(--gallery-page-pad) var(--gallery-pad-bottom);overflow:hidden}@media (min-width:1440px){.gallery{--gallery-item-gap:35px;--gallery-page-pad:40px}}@media (max-width:640px){.gallery{--gallery-page-pad:calc(35px * .65)}}.gallery__drawer{transition:max-height .7s var(--gallery-ease);position:relative;overflow:hidden}.gallery__fade{height:var(--gallery-peek-h,0px);background:linear-gradient(to bottom, transparent 0%, var(--color-ground) 88%);pointer-events:none;opacity:0;transition:opacity .4s var(--gallery-ease);position:absolute;inset:auto 0 0}.gallery__drawer.is-collapsed .gallery__fade{opacity:1}.gallery__more{font-family:var(--font-display);color:var(--color-ink);background:var(--color-rule);cursor:pointer;border:0;border-radius:18px;margin:40px auto 0;padding:21px 44px;font-size:30px;line-height:1;transition:background-color .2s;display:block}.gallery__more:hover{background:#dcdfe4}.gallery__more:focus-visible{outline:2px solid var(--color-ink);outline-offset:4px}.gallery__grid{column-count:3;column-gap:var(--gallery-item-gap)}@media (max-width:1024px){.gallery__grid{column-count:2}}@media (max-width:640px){.gallery__grid{column-count:1}}.gallery__item{break-inside:avoid;margin:0 0 var(--gallery-item-gap);opacity:0;filter:blur(5px);transition:opacity .35s var(--gallery-ease), filter .35s var(--gallery-ease), transform .35s var(--gallery-ease);transition-delay:var(--reveal-delay,0s);border-radius:18px;overflow:hidden;transform:scale(.97)}.gallery__item.is-revealed{opacity:1;filter:blur();transform:scale(1)}.gallery__img{width:100%;height:auto;display:block}@media (prefers-reduced-motion:reduce){.gallery__item{opacity:1;filter:none;transition:none;transform:none}}.featured-projects{--page-pad:35px;width:100%;max-width:100vw;padding:100px var(--page-pad);overflow:hidden}@media (min-width:1440px){.featured-projects{--page-pad:40px}}@media (max-width:640px){.featured-projects{--page-pad:calc(35px * .65)}}.featured-projects__heading{margin:0 0 32px}.featured-projects__eyebrow{font-family:var(--font-body);letter-spacing:-.01em;color:#a5a5a5;margin:0 0 9px;font-size:16px;line-height:1.2}.featured-projects__title{color:var(--color-ink);margin:0;font-size:30px}.featured-projects__grid{grid-template-columns:repeat(3,1fr);gap:35px;display:grid}@media (max-width:1024px){.featured-projects__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.featured-projects__grid{grid-template-columns:1fr}}.featured-project{color:inherit;text-decoration:none;display:block}.featured-project:focus-visible{outline:2px solid var(--color-ink);outline-offset:4px;border-radius:18px}.featured-project__frame{aspect-ratio:1/1.4;border-radius:18px;width:100%;display:block;position:relative;overflow:hidden}.featured-project__img{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.featured-project__label{font-family:var(--font-display);color:var(--color-ink);margin:25px 0 14px;font-size:35px;font-weight:400}.featured-project__desc{color:var(--color-body);white-space:pre-line;max-width:90%;margin:0;font-size:14px;line-height:1.6}@media (max-width:1024px){.featured-project__desc{white-space:normal}}@media (prefers-reduced-motion:reduce){.featured-project__frame{transition:none}}.about{--page-pad:35px;width:100%;max-width:100vw;padding:100px var(--page-pad);grid-template-columns:1fr 1fr;gap:60px;display:grid;overflow:hidden}@media (min-width:1440px){.about{--page-pad:40px}}@media (max-width:640px){.about{--page-pad:calc(35px * .65)}}@media (min-width:1920px){.face-widget{max-width:70%}}@media (max-width:900px){.about{grid-template-columns:1fr}}.about__left{flex-direction:column;justify-content:space-between;display:flex}.about__top{flex-direction:column;gap:40px;display:flex}.about__heading{color:var(--color-ink);max-width:32ch;margin:0;font-size:56px}.about__bio{font-family:var(--font-body);max-width:46ch;margin:0;font-size:14px;line-height:1.6}.about__bio-lead{color:var(--color-ink);font-weight:600}.about__bio-rest{color:var(--color-body)}.about__more{color:var(--color-ink);text-decoration:underline}.about__bottom{flex-direction:column;gap:16px;margin-top:80px;display:flex}.about__recent-title{color:var(--color-ink);margin:0;font-size:17px}.about__recent-list{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.about__recent-list li{font-family:var(--font-body);color:var(--color-body);font-size:14px}.about__right{justify-content:flex-start;align-items:center;display:flex}.face-widget{background:#eef0f2;border-radius:32px;flex-direction:column;align-items:center;gap:32px;width:100%;padding:32px;display:flex;box-shadow:0 20px 60px #0000000f}.face-widget__frame{aspect-ratio:1;width:100%;max-width:420px;position:relative}.face-widget__img{object-fit:contain;object-position:center bottom}.face-widget__buttons{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.face-widget__button{font-family:var(--font-body);color:var(--color-ink);cursor:pointer;background:#ffffff8c;border:0;border-radius:9999px;padding:10px 22px;font-size:15px;transition:background-color .2s}.face-widget__button:hover{background:#ffffffbf}.face-widget__button[aria-pressed=true]{background:#cfd2d6}.face-widget__button:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}@media (prefers-reduced-motion:reduce){.face-widget__button{transition:none}}@media (max-width:640px){.about__heading{font-size:40px}}.footer{--page-pad:35px;width:100%;max-width:100vw;padding:100px var(--page-pad) 25px;overflow:hidden}@media (min-width:1440px){.footer{--page-pad:40px}}@media (max-width:640px){.footer{--page-pad:calc(35px * .65)}}.footer__top{flex-direction:column;gap:55px;display:flex}.footer__links{flex-direction:column;gap:8px;display:flex}.footer__links-title{color:var(--color-ink);margin:0;font-size:16px}.footer__links-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.footer__links-list a{color:var(--color-body);font-size:14px;text-decoration:none;transition:color .2s}.footer__links-list a:hover{color:var(--color-ink)}.footer__logo-wrap{width:100%;position:relative}.footer__logo-measure{visibility:hidden;white-space:nowrap;pointer-events:none;position:absolute}.footer__logo{white-space:nowrap;color:var(--color-ink);margin:0;font-size:clamp(32px,12vw,260px);font-weight:400;line-height:1}.footer__logo-muted{color:#949494}.footer__bottom{justify-content:space-between;align-items:center;margin-top:30px;display:flex}.footer__signature{color:var(--color-body);margin:0;font-size:14px}.footer__social{gap:24px;display:flex}.footer__social a{color:var(--color-body);font-size:14px;text-decoration:none;transition:color .2s}.footer__social a:hover{color:var(--color-ink)}@media (prefers-reduced-motion:reduce){.footer__links-list a,.footer__social a{transition:none}}:root{--intro-name:.1s;--intro-name-step:30ms;--intro-avatar:.42s;--intro-line:.5s;--intro-line-step:14ms;--intro-rings:1.35s;--intro-rings-step:.1s;--intro-orbit:1.85s;--intro-orbit-last:.33s;--intro-gallery:calc(var(--intro-orbit) + var(--intro-orbit-last));--ease-quint:cubic-bezier(.22, 1, .36, 1)}.intro-word{display:inline-block}.intro-char{white-space:pre;animation:intro-char-in .5s var(--ease-quint) backwards;display:inline-block}.hero__intro .intro-char{animation-delay:calc(var(--intro-name) + var(--i) * var(--intro-name-step))}.hero__headline .intro-char{animation-delay:calc(var(--intro-line) + var(--i) * var(--intro-line-step))}@keyframes intro-char-in{0%{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur()}}.hero__avatar{animation:intro-avatar-in .6s var(--ease-pop) backwards;animation-delay:var(--intro-avatar)}@keyframes intro-avatar-in{0%{opacity:0;scale:.3}to{opacity:1;scale:1}}.orbit-circle{animation:intro-ring-in .95s var(--ease-quint) backwards;animation-delay:calc(var(--intro-rings) + var(--ri,0) * var(--intro-rings-step))}@keyframes intro-ring-in{0%{opacity:0;scale:.2}to{opacity:1;scale:1}}.folder:not(:where(.intro-done)),.contact:not(:where(.intro-done)){animation:intro-item-in .72s var(--ease-pop) backwards;animation-delay:calc(var(--intro-orbit) + var(--intro-delay,0s))}@keyframes intro-item-in{0%{opacity:0;filter:blur(10px);pointer-events:none;scale:1.1}to{opacity:1;filter:blur();pointer-events:auto;scale:1}}.gallery{animation:intro-gallery-in .85s var(--ease-quint) backwards;animation-delay:var(--intro-gallery)}@keyframes intro-gallery-in{0%{opacity:0;filter:blur(10px);translate:0 60px}to{opacity:1;filter:blur();translate:0}}:where(html[data-intro=quick]) :is(.intro-char,.hero__avatar,.orbit-circle,.site-nav__group),:where(html[data-intro=quick]) .folder:not(:where(.intro-done)),:where(html[data-intro=quick]) .contact:not(:where(.intro-done)){animation:none}:where(html[data-intro=quick]) :is(.hero,.gallery){animation:intro-quick-in .4s var(--ease-quint) backwards}@keyframes intro-quick-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.intro-char,.hero__avatar,.orbit-circle,.folder,.contact,.gallery,.site-nav__group,:where(html[data-intro=quick]) :is(.hero,.gallery){animation:none}}:root{--cs-pad:35px;--cs-gap:30px;--cs-space:clamp(72px, 9vw, 150px);--cs-cols:minmax(0, 5fr) minmax(0, 7fr)}@media (min-width:1440px){:root{--cs-pad:40px;--cs-gap:35px}}@media (max-width:640px){:root{--cs-pad:calc(35px * .65)}}.cs{--tint:#e6e9f0;--dark:#161719;--hero-h:100svh;--u:min(1px, 100vw / 1512, 100svh / 1020);--ease-pop:cubic-bezier(.34, 1.42, .64, 1);--intro-gallery:.35s;width:100%;max-width:100vw;overflow-x:clip}.cs__body{padding:0 var(--cs-pad)}.cs-eyebrow{font-family:var(--font-body);letter-spacing:-.01em;color:var(--color-muted);margin:0 0 14px;font-size:16px;line-height:1.2;display:block}.cs-caption{color:var(--color-body);max-width:60ch;margin:12px 0 0;font-size:13px;line-height:1.55}.cs-heading{font-family:var(--font-display);letter-spacing:-.015em;color:var(--color-ink);text-wrap:balance;margin:0;font-size:clamp(30px,3.4vw,46px);font-weight:400;line-height:1.3}.cs-heading__muted{color:var(--color-muted)}.cs-deck{font-family:var(--font-body);letter-spacing:-.01em;color:var(--color-ink);white-space:pre-line;text-wrap:pretty;max-width:60ch;margin:0 0 26px;font-size:clamp(19px,1.6vw,24px);line-height:1.45}.cs-prose{max-width:60ch}.cs-prose p{color:var(--color-ink);text-wrap:pretty;margin:0;font-size:15px;line-height:1.7}.cs-prose p+p{margin-top:1.1em}.cs-split{grid-template-columns:var(--cs-cols);gap:28px var(--cs-gap);align-items:start;display:grid}.cs-split__head{padding-top:40px;position:sticky;top:32px}.cs-text__column,.cs-points__list,.cs-outcomes__list{padding-top:40px}@media (max-width:900px){.cs-split{grid-template-columns:1fr;gap:22px}.cs-split__head{padding-top:0;position:static}.cs-text__column,.cs-points__list,.cs-outcomes__list{padding-top:0}}.section-nav{--strong:#fff;--rest:#8a8a8a;top:50%;right:calc(var(--cs-pad) - 24px);z-index:15;mix-blend-mode:difference;padding:24px;position:fixed;translate:0 -50%}.section-nav__list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.section-nav__item{opacity:0;transition:opacity .25s var(--ease-quint), scale .25s var(--ease-quint), translate .25s var(--ease-quint);translate:16px;scale:.4}.section-nav.is-in .section-nav__item{animation:section-nav-in .6s var(--ease-pop) both;animation-delay:calc(var(--i,0) * 80ms)}@keyframes section-nav-in{0%{opacity:0;translate:16px;scale:.4}to{opacity:1;translate:0;scale:1}}.section-nav__link{width:15px;height:15px;text-decoration:none;display:block;position:relative}.section-nav__link:focus-visible{outline:2px solid var(--strong);outline-offset:4px;border-radius:50%}.section-nav__dot{border:1.5px solid var(--rest);width:15px;height:15px;transition:background-color .3s var(--ease-quint), border-color .3s var(--ease-quint);background:0 0;border-radius:50%;display:block}.section-nav__item.is-active .section-nav__dot{border-color:var(--strong)}.section-nav__link:hover .section-nav__dot,.section-nav__link:focus-visible .section-nav__dot{background:var(--strong);border-color:var(--strong)}.section-nav__label{white-space:nowrap;font-family:var(--font-body);letter-spacing:-.01em;color:var(--rest);opacity:0;filter:blur(6px);pointer-events:none;transition:opacity .35s var(--ease-quint), filter .35s var(--ease-quint), translate .35s var(--ease-quint), color .3s var(--ease-quint);font-size:17px;line-height:1;position:absolute;top:50%;right:calc(100% + 14px);translate:8px -50%}.section-nav.is-near .section-nav__label{opacity:1;filter:blur();pointer-events:auto;transition-delay:calc(var(--i,0) * 30ms), calc(var(--i,0) * 30ms), calc(var(--i,0) * 30ms), 0s;translate:0 -50%}.section-nav__link:hover .section-nav__label,.section-nav__link:focus-visible .section-nav__label{color:var(--strong)}@media (max-width:900px){.section-nav{display:none}}@media (prefers-reduced-motion:reduce){.section-nav.is-in .section-nav__item{animation-duration:.15s;animation-delay:0s}.section-nav__label{transition-duration:.15s;transition-delay:0s}}.cs-hero{padding:clamp(104px, 10vw, 132px) var(--cs-pad) 0}.cs-hero__kicker{font-family:var(--font-body);letter-spacing:-.01em;color:var(--color-muted);flex-wrap:wrap;gap:6px 18px;margin:0 0 22px;font-size:16px;line-height:1.2;display:flex}.cs-hero__year{color:var(--color-body)}.cs-hero__title{font-family:var(--font-display);letter-spacing:-.025em;color:var(--color-ink);margin:0;font-size:clamp(64px,10.5vw,156px);font-weight:400;line-height:.95}.cs-hero__lead{color:var(--color-ink);text-wrap:pretty;max-width:30ch;margin:0;font-size:clamp(18px,1.55vw,23px);line-height:1.42}.cs-hero__meta{gap:22px var(--cs-gap);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.cs-meta__label{font-family:var(--font-body);letter-spacing:-.01em;color:var(--color-muted);margin:0 0 5px;font-size:16px;line-height:1.2}.cs-meta__value{color:var(--color-ink);white-space:pre-line;margin:0;font-size:14px;line-height:1.55}.cs-hero__link{color:var(--color-ink);background:var(--color-rule);border-radius:10px;padding:12px 16px;font-size:14px;line-height:1;text-decoration:none;transition:opacity .2s;display:inline-block}.cs-hero__link:hover{opacity:.75}.cs-hero__lead+.cs-hero__link{margin-top:24px}.cs-hero--stacked .cs-hero__row{grid-template-columns:var(--cs-cols);gap:28px var(--cs-gap);border-top:1px solid var(--color-rule);align-items:start;margin-top:clamp(28px,4vw,56px);padding-top:26px;display:grid}.cs-hero--stacked .cs-hero__intro{grid-area:1/2}.cs-hero--stacked .cs-hero__meta{grid-area:1/1}.cs-hero--stacked .cs-hero__cover{margin-top:clamp(40px,5vw,72px)}.cs-hero--split{gap:32px var(--cs-gap);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:stretch;display:grid}.cs-hero--split .cs-hero__copy{flex-direction:column;display:flex}.cs-hero--split .cs-hero__intro{margin-top:clamp(24px,3vw,40px)}.cs-hero--split .cs-hero__meta{border-top:1px solid var(--color-rule);margin-top:auto;padding-top:26px}.cs-hero--split .cs-hero__intro+.cs-hero__meta{margin-top:max(48px, auto)}@media (max-width:900px){.cs-hero--stacked .cs-hero__row{grid-template-columns:1fr}.cs-hero--stacked .cs-hero__intro,.cs-hero--stacked .cs-hero__meta{grid-column:1}.cs-hero--stacked .cs-hero__intro{grid-row:1}.cs-hero--stacked .cs-hero__meta{grid-row:2}.cs-hero--split{grid-template-columns:1fr}.cs-hero--split .cs-hero__meta{margin-top:40px}}@media (max-width:640px){.cs-hero__title{font-size:clamp(56px,17vw,84px)}}.cs-block{margin-top:var(--cs-space);scroll-margin-top:120px}.cs-block--media+.cs-block--media{margin-top:var(--cs-gap)}.cs-block--text:has(.cs-figure--inline)+.cs-block--media{margin-top:calc(var(--cs-space) + 60px)}.cs-aside{max-width:60ch;margin-top:40px}.cs-aside__title{font-family:var(--font-body);letter-spacing:-.01em;color:var(--color-ink);margin:0 0 14px;font-size:clamp(19px,1.6vw,24px);line-height:1.45}.cs-aside__list{margin:0;padding:0;list-style:none}.cs-aside__list li{color:var(--color-body);border-top:1px solid var(--color-rule);padding:10px 0;font-size:14px;line-height:1.55}.cs-aside__list li:last-child{border-bottom:1px solid var(--color-rule)}.cs-aside__list li.cs-aside__item--rich{grid-template-columns:40px minmax(0,1fr);gap:14px;padding:20px 0;display:grid}.cs-aside__num{color:var(--color-ink);font-size:19px;line-height:1.2}.cs-aside__item-title{font-family:var(--font-body);color:var(--color-ink);margin:0 0 6px;font-size:17px;font-weight:400;line-height:1.4}.cs-aside__item-body{color:var(--color-body);margin:0;font-size:14px;line-height:1.6}.cs-figure--inline{margin:44px 0 0}.cs-statement__inner{grid-column:2}.cs-statement__text{letter-spacing:-.02em;color:var(--color-ink);text-wrap:balance;margin:0;font-size:clamp(32px,4.6vw,66px);line-height:1.02}.cs-statement__body{color:var(--color-ink);text-wrap:pretty;max-width:60ch;margin:28px 0 0;font-size:15px;line-height:1.7}@media (max-width:900px){.cs-statement__inner{grid-column:1}}.cs-points__intro{color:var(--color-ink);text-wrap:pretty;max-width:34ch;margin:22px 0 0;font-size:15px;line-height:1.7}.cs-points__list{margin:0;padding:0;list-style:none}.cs-points__item{border-top:1px solid var(--color-rule);grid-template-columns:52px minmax(0,1fr);gap:16px;padding:26px 0;display:grid}.cs-points__item:last-child{border-bottom:1px solid var(--color-rule)}.cs-points__num{color:var(--color-muted);font-size:18px;line-height:1.4}.cs-points__title{font-family:var(--font-body);letter-spacing:-.01em;color:var(--color-ink);margin:0 0 8px;font-size:clamp(19px,1.6vw,24px);font-weight:400;line-height:1.3}.cs-points__body{color:var(--color-ink);text-wrap:pretty;max-width:52ch;margin:0;font-size:15px;line-height:1.7}.cs-outcomes__list{margin:0;padding:0;list-style:none}.cs-outcomes__list li{color:var(--color-ink);border-top:1px solid var(--color-rule);text-wrap:pretty;padding:18px 0;font-size:clamp(20px,2vw,26px);line-height:1.25}.cs-outcomes__list li:last-child{border-bottom:1px solid var(--color-rule)}.cs-quote__inner{grid-column:2;margin:0}.cs-quote__text{letter-spacing:-.01em;color:var(--color-ink);text-wrap:balance;max-width:24ch;margin:0;font-size:clamp(26px,3vw,40px);line-height:1.15}.cs-quote__by{color:var(--color-body);margin-top:18px;font-size:14px}@media (max-width:900px){.cs-quote__inner{grid-column:1}}.cs-media{border-radius:18px;position:relative;overflow:hidden}.cs-media__img{width:100%;height:auto;display:block}.cs-media--tint,.cs-media--dark{padding:clamp(14px,4vw,56px)}.cs-media--tint{background:var(--tint)}.cs-media--dark{background:var(--dark)}.cs-media--tint .cs-media__img,.cs-media--dark .cs-media__img{border-radius:10px}.cs-media--fixed{aspect-ratio:var(--ratio)}.cs-media--fixed .cs-media__img{object-fit:cover;height:100%}.cs-media--fixed.cs-media--tint .cs-media__img,.cs-media--fixed.cs-media--dark .cs-media__img{object-fit:contain}.cs-figure{margin:0}.cs-figure--bleed{margin-inline:calc(-1 * var(--cs-pad))}.cs-figure--bleed .cs-media{border-radius:0}.cs-figure--bleed .cs-caption{padding:0 var(--cs-pad)}.cs-figure--contained{grid-template-columns:var(--cs-cols);gap:0 var(--cs-gap);display:grid}.cs-figure--contained>*{grid-column:2}@media (max-width:900px){.cs-figure--contained{grid-template-columns:1fr}.cs-figure--contained>*{grid-column:1}}.cs-grid{grid-template-columns:repeat(var(--cols,2), minmax(0, 1fr));gap:var(--cs-gap);align-items:start;display:grid}.cs-grid--bleed{margin-inline:calc(-1 * var(--cs-pad))}.cs-grid__item{margin:0}@media (max-width:900px){.cs-grid--3{grid-template-columns:1fr}}@media (max-width:640px){.cs-grid{grid-template-columns:1fr}}.cs-next{margin-top:var(--cs-space);padding:clamp(48px, 7vw, 96px) var(--cs-pad) 0;border-top:1px solid var(--color-rule)}.cs-next__link{gap:28px var(--cs-gap);color:inherit;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;text-decoration:none;display:grid}.cs-next__link:focus-visible{outline:2px solid var(--color-ink);outline-offset:6px;border-radius:18px}.cs-next__copy{flex-direction:column;align-items:flex-start;display:flex}.cs-next__title{letter-spacing:-.02em;color:var(--color-ink);text-wrap:balance;max-width:12ch;font-size:clamp(40px,5.6vw,84px);line-height:.98}.cs-next__desc{color:var(--color-body);text-wrap:pretty;max-width:44ch;margin-top:16px;font-size:15px;line-height:1.6}.cs-next__cta{color:var(--color-ink);text-underline-offset:4px;margin-top:28px;font-size:14px;text-decoration:underline}.cs-next__frame{aspect-ratio:4/3;background:var(--tint);border-radius:18px;display:block;position:relative;overflow:hidden}.cs-next__img{object-fit:cover;transition:transform .8s var(--ease-quint)}.cs-next__link:hover .cs-next__img{transform:scale(1.03)}@media (max-width:760px){.cs-next__link{grid-template-columns:1fr}.cs-next__frame{order:-1}}.projects{padding:clamp(104px, 10vw, 132px) var(--cs-pad) 0}.projects__head{margin:0 0 clamp(40px,5vw,72px)}.projects__list{gap:clamp(56px,7vw,110px);margin:0;padding:0;list-style:none;display:grid}.project-row{gap:24px var(--cs-gap);color:inherit;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;text-decoration:none;display:grid}.project-row--flipped{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.project-row--flipped .project-row__frame{order:2}.project-row:focus-visible{outline:2px solid var(--color-ink);outline-offset:6px;border-radius:18px}.project-row__frame{aspect-ratio:16/11;background:var(--tint);border-radius:18px;display:block;position:relative;overflow:hidden}.project-row__img{object-fit:cover;transition:transform .8s var(--ease-quint)}.project-row:hover .project-row__img{transform:scale(1.03)}.project-row__copy{flex-direction:column;align-items:flex-start;display:flex}.project-row__kicker{color:var(--color-muted);margin-bottom:12px;font-size:17px}.project-row__title{letter-spacing:-.02em;color:var(--color-ink);margin-bottom:14px;font-size:clamp(40px,5vw,72px);line-height:.98}.project-row__summary{color:var(--color-body);max-width:36ch;font-size:15px;line-height:1.6}.project-row__cta{color:var(--color-ink);text-underline-offset:4px;margin-top:22px;font-size:14px;text-decoration:underline}@media (max-width:900px){.project-row,.project-row--flipped{grid-template-columns:1fr}.project-row--flipped .project-row__frame{order:0}}.cs-hero__title .intro-char{animation-duration:.7s;animation-delay:calc(.112s + var(--i) * 28ms)}@keyframes cs-fade-up{0%{opacity:0;filter:blur(6px);translate:0 14px}to{opacity:1;filter:none;translate:0}}.cs-nav,.cs-hero__kicker{animation:cs-fade-up 1.12s var(--ease-quint) backwards}.cs-nav{animation-delay:.49s}.cs-hero__kicker{animation-delay:70ms}:root{--cs-below-title-delay:.63s;--cs-below-title-duration:1.68s}.cs-hero__lead,.cs-hero__meta,.cs-block{animation:cs-fade-up var(--cs-below-title-duration) var(--ease-quint) backwards;animation-delay:var(--cs-below-title-delay)}.cs-hero__cover{animation:intro-gallery-in calc(var(--cs-below-title-duration) * 1.125) var(--ease-quint) backwards;animation-delay:var(--cs-below-title-delay)}@media (prefers-reduced-motion:reduce){.cs-nav,.cs-hero__kicker,.cs-hero__lead,.cs-hero__meta,.cs-hero__cover,.cs-block,.cs-hero__title .intro-char{animation:none}.cs-next__img,.project-row__img{transition:none}}.playground{--hero-h:100svh;--u:min(1px, 100vw / 1512, 100svh / 1020);--ease-pop:cubic-bezier(.34, 1.42, .64, 1);--intro-gallery:.35s;--pg-veil-hold:.15s;--pg-field:#eff1f1;--pg-dot:#585a5a26;--pg-dot-gap:34px;--pg-dot-size:2px;background:#fff;position:fixed;inset:0;overflow:hidden}html:has(.playground){overscroll-behavior:none;overflow:hidden}.pg-viewport{--pg-cam-x:0px;--pg-cam-y:0px;--pg-zoom:1;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background-color:var(--pg-field);background-image:radial-gradient(circle, var(--pg-dot) calc(var(--pg-dot-size) / 2), transparent calc(var(--pg-dot-size) / 2 + .5px));background-size:calc(var(--pg-dot-gap) * var(--pg-zoom)) calc(var(--pg-dot-gap) * var(--pg-zoom));background-position:var(--pg-cam-x) var(--pg-cam-y);position:absolute;inset:0;overflow:hidden}.pg-viewport.is-panning{cursor:grabbing}.pg-viewport:focus-visible{outline-offset:-2px;outline:2px solid #1d1d1d}.pg-viewport:before{content:"";z-index:0;pointer-events:none;background:linear-gradient(90deg,#fff,#0000 14% 86%,#fff),linear-gradient(#fff,#0000 16% 84%,#fff);position:absolute;inset:0}.pg-world{z-index:1;transform-origin:0 0;will-change:transform;visibility:hidden;width:0;height:0;position:absolute;top:0;left:0}.pg-world[data-ready]{visibility:visible}.pg-card{left:calc(var(--x) * 1px);top:calc(var(--y) * 1px);width:calc(var(--w) * 1px);height:calc(var(--h) * 1px);background:var(--pg-field);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transition:box-shadow .35s var(--ease-quint), opacity .5s var(--popup-ease-out), filter .5s var(--popup-ease-out);border:0;border-radius:0;padding:0;position:absolute;overflow:hidden;translate:-50% -50%;box-shadow:0 0 0 1px #00000012,0 4px 10px #0000000d,0 22px 48px -14px #00000038}.pg-card:hover{box-shadow:0 0 0 1px #00000017,0 6px 14px #0000000f,0 30px 60px -16px #00000047}.pg-card:focus-visible{outline-offset:4px;outline:2px solid #1d1d1d}.pg-card.is-dragging{cursor:grabbing;z-index:2}.pg-card.is-grabbed{cursor:grabbing;animation:orbit-grab-bounce .35s var(--ease-pop)}.pg-card.is-handed-off{opacity:0;filter:blur(10px);transition:opacity var(--popup-ms) var(--popup-ease), filter var(--popup-ms) var(--popup-ease)}.pg-card__img{object-fit:cover;pointer-events:none}:where(.pg-world[data-ready]) .pg-card:not(:where(.intro-done)){animation:pg-card-in .7s var(--ease-pop) backwards;animation-delay:calc(var(--pg-veil-hold) + .1s + var(--i,0) * 60ms)}@keyframes pg-card-in{0%{opacity:0;filter:blur(10px);scale:1.08}to{opacity:1;filter:blur();scale:1}}.pg-controls{z-index:30;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:20px;right:20px}.pg-zoom{background:#0d0d0d;border-radius:14px;flex-direction:column;gap:6px;padding:6px;display:flex;box-shadow:0 10px 30px #0000002e}.pg-zoom__btn{color:#3d3d3d;cursor:pointer;width:38px;height:38px;transition:background-color .35s var(--ease-quint), opacity .35s var(--ease-quint);background:#ececec;border:0;border-radius:9px;place-items:center;padding:0;display:grid}.pg-zoom__btn:hover{background:#e3e3e3}.pg-zoom__btn:focus-visible{outline-offset:2px;outline:2px solid #ececec}.pg-zoom__btn:disabled{opacity:.4;cursor:default}.pg-recentre{height:36px;font-family:var(--font-body);color:#ececec;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s var(--ease-quint), translate .4s var(--ease-pop), scale .4s var(--ease-pop), background-color .35s var(--ease-quint);background:#0d0d0d;border:0;border-radius:12px;padding:0 16px;font-size:14px;font-weight:600;line-height:1;translate:0 10px;scale:.9;box-shadow:0 10px 30px #0000002e}.pg-recentre.is-visible{opacity:1;pointer-events:auto;translate:0;scale:1}.pg-recentre:hover{background:#262626}.pg-recentre:focus-visible{outline-offset:2px;outline:2px solid #0d0d0d}@media (max-width:640px){.pg-controls{bottom:14px;right:14px}}.pg-veil{z-index:40;pointer-events:none;opacity:0;animation:pg-veil-out .7s var(--ease-quint) backwards;animation-delay:var(--pg-veil-hold);background:#fff;position:fixed;inset:0}@keyframes pg-veil-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.pg-veil,.pg-card,.pg-card.is-grabbed{animation:none}}html[data-leaving] body{transition:background-color .5s var(--ease-quint) .35s;background:#fff}html[data-leaving] :is(.site-nav__group,.hero__copy,.hero__rings,.folder,.contact,.gallery__item,.gallery__more,.featured-projects,.about,.footer){opacity:0;filter:blur(8px);pointer-events:none;transition:opacity .45s var(--ease-quint), filter .45s var(--ease-quint), scale .45s var(--ease-quint);transition-delay:var(--leave-delay,0s);animation:none;scale:.985}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@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}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
