@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/plus-jakarta-sans-vietnamese-wght-normal.qRpaaN48.woff2)format("woff2-variations");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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/plus-jakarta-sans-latin-ext-wght-normal.DmpS2jIq.woff2)format("woff2-variations");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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/plus-jakarta-sans-latin-wght-normal.eXO_dkmS.woff2)format("woff2-variations");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}:root{--ink:#11110f;--paper:#ebe9e2;--panel:#d9ddd2;--project-paper:#efede6;--line:#11110f3d;--muted:#11110f99;--theme-toggle-glow:#11110f47;--noise-blend:multiply;--noise-texture:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='linear' slope='2' intercept='-.5'/%3E%3CfeFuncG type='linear' slope='2' intercept='-.5'/%3E%3CfeFuncB type='linear' slope='2' intercept='-.5'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.18'/%3E%3C/svg%3E");--page-x:30px;--page-y:25px;--page-x-mobile:18px;--space-xs:8px;--space-compact:12px;--space-sm:16px;--space-md:24px;--space-lg:32px;--space-xl:48px;--space-2xl:64px;--type-label:12px;--type-meta:12px;--type-ui:13px;--type-action:var(--type-ui);--type-body:14px;--leading-compact:1.2;--leading-body:1.5;--info-content-y:clamp(360px, 53.7vh, 560px);--ease-ui:cubic-bezier(.22, 1, .36, 1);--ease-reveal:cubic-bezier(.76, 0, .24, 1)}:root[data-theme=dark]{--ink:#f1efe8;--paper:#11110f;--panel:#171816;--project-paper:#151512;--line:#f1efe83d;--muted:#f1efe899;--theme-toggle-glow:#f1efe857;--noise-blend:screen;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--paper);width:100%;min-height:100%;color:var(--ink);margin:0;font-family:Plus Jakarta Sans Variable,Plus Jakarta Sans,Arial,sans-serif}html{overflow:hidden}body{font-synthesis:none;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:geometricprecision;overflow:hidden}body,.siteShell,.infoPage,.infoScene,.projectDetail,.projectDetailBar{transition:background-color .5s var(--ease-ui), color .5s var(--ease-ui)}button,a{color:inherit;font:inherit}button{border:0}button:focus-visible{outline-offset:4px;outline:1px solid}a:focus-visible{outline-offset:4px;outline:1px solid}[tabindex]:focus-visible{outline-offset:4px;outline:1px solid}::selection{background:var(--ink);color:var(--paper)}.siteShell{background:var(--noise-texture) 0 0 / var(--noise-size,135px) var(--noise-size,135px) repeat, linear-gradient(90deg, color-mix(in srgb, var(--ink) 2.5%, transparent) 1px, transparent 1px) 0 0 / 25vw 100%, var(--paper);background-blend-mode:var(--noise-blend), normal, normal;width:100%;height:100svh;animation:ambientNoise var(--noise-speed,65ms) steps(2, end) infinite;animation-play-state:var(--noise-play-state,running);will-change:background-position;position:relative;overflow:hidden}.siteHeader{z-index:70;width:100%;padding:var(--page-y) var(--page-x) 0;font-size:var(--type-ui);letter-spacing:-.02em;grid-template-columns:1fr auto 1fr;align-items:center;font-weight:400;line-height:1.08;display:grid;position:fixed;top:0;left:0}.brand{text-align:left;text-transform:uppercase;font-size:var(--type-action);background:0 0;justify-self:start;padding:0}.brand span{display:block}.role{text-align:center;white-space:pre-line;justify-self:center;margin:0}.siteHeader nav{align-items:center;gap:var(--space-md);justify-content:flex-end;place-self:center end;display:flex}.themeToggle{background:var(--ink);width:16px;height:16px;box-shadow:0 0 9px 1px var(--theme-toggle-glow);transition:background-color .5s var(--ease-ui), box-shadow .5s var(--ease-ui), transform .3s var(--ease-ui);border-radius:50%;flex:none;align-self:center;margin:0 0 5px;padding:0}:is(.themeToggle:hover,.themeToggle:focus-visible){transform:scale(1.12)}.textAction,.navAction{color:var(--muted);font-size:var(--type-action);background:0 0;border:0;padding:0 0 5px;text-decoration:none;transition:color .24s;display:inline-block;position:relative}.textAction:after,.navAction:after{content:"";transform-origin:100%;height:1px;transition:transform .36s var(--ease-ui);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.textAction:hover:after,.navAction:hover:after{transform-origin:0;transform:scaleX(1)}.textAction:focus-visible:after{transform-origin:0;transform:scaleX(1)}.navAction:focus-visible:after{transform-origin:0;transform:scaleX(1)}.textAction:hover,.siteHeader .navAction:hover{color:var(--ink)}.textAction:focus-visible{color:var(--ink)}.siteHeader .navAction:focus-visible{color:var(--ink)}.navAction{text-transform:uppercase}.siteHeader .navAction{box-shadow:none;text-decoration:none!important}.siteHeader .navAction:not(:hover):not(:focus-visible):after{transform:scaleX(0)}.navAction.is-active{color:var(--ink)}.portfolio{width:100%;height:100%;transition:filter .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}.portfolio.is-obscured{filter:grayscale()contrast(.8);transform:scale(.985)}.workView{width:100%;height:100%;position:relative}.carousel{overscroll-behavior:none;scrollbar-width:none;-webkit-user-select:none;user-select:none;touch-action:pan-x;align-items:center;width:100%;height:100%;display:flex;overflow:auto hidden}.carousel::-webkit-scrollbar{display:none}.carousel:focus-visible{outline:1px solid var(--line);outline-offset:-1px}.projectSet{align-items:center;gap:var(--space-md);flex:none;padding:77px 12px 62px;display:flex}.projectCard{--card-width:clamp(390px, 41vw, 690px);width:var(--card-width);text-align:left;background:0 0;outline:0;flex:none;margin:0;padding:0;position:relative}.waterImage{background:#c9c7c0;width:100%;height:clamp(410px,64vh,710px);position:relative;overflow:hidden;transform:translateZ(0)}.waterImage:after{z-index:3;content:"";pointer-events:none;border:1px solid #ffffff1f;position:absolute;inset:0}.waterImage img{width:100%;height:100%;display:block;position:absolute;inset:0}.anatoleEffectCanvas{z-index:11;pointer-events:none;display:none;position:fixed}.waterImage img{object-fit:cover;pointer-events:none}.projectMeta{font-size:var(--type-meta);font-weight:400;line-height:var(--leading-compact);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:0;padding-top:12px;display:grid}.projectMeta h2,.projectMeta p{font:inherit;margin:0}.projectMeta h2{font-size:var(--type-ui)}.projectMeta p{color:var(--muted);text-align:center;justify-self:center}.projectMeta span{justify-self:end}.projectCard:focus-visible .waterImage{outline:2px solid var(--ink);outline-offset:4px}.carousel.is-dragging .projectCard{pointer-events:none}.carouselHint,.projectCounter{z-index:12;font-size:var(--type-label);letter-spacing:.02em;text-transform:uppercase;align-items:center;width:96px;height:12px;margin:0;font-weight:500;line-height:1;display:flex;position:fixed;bottom:25px}.carouselHint{left:var(--page-x);white-space:nowrap;align-items:flex-start}.projectCounter{right:var(--page-x);gap:var(--space-xs);font-variant-numeric:tabular-nums;justify-content:space-between}.projectCounter i{background:var(--line);flex:1;min-width:0;height:1px;position:relative;overflow:hidden}.projectCounter i b{background:var(--ink);transform-origin:0;transition:transform .5s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.infoPage{z-index:60;background-color:var(--panel);background-image:var(--noise-texture);background-position:0 0;background-repeat:repeat;background-size:var(--noise-size,135px) var(--noise-size,135px);background-blend-mode:var(--noise-blend);animation:pageReveal .9s var(--ease-reveal) both, ambientNoise var(--noise-speed,65ms) steps(2, end) infinite;animation-play-state:running, var(--noise-play-state,running);position:fixed;inset:0;overflow:hidden}.infoPage-contact{--panel:#d7d4ce}:root[data-theme=dark] .infoPage-contact{--panel:#181715}.infoScene{z-index:1;width:100%;height:100%;padding:112px var(--page-x) 34px;background:0 0;position:absolute;inset:0;overflow:hidden auto}.infoScene.is-active{z-index:2;animation:pageSceneReveal .9s var(--ease-reveal) both}.infoScene.is-previous{pointer-events:none}.pageIndex{top:calc(112px + clamp(12px,.9vw,18px));right:var(--page-x);font-size:var(--type-label);letter-spacing:.02em;text-transform:uppercase;opacity:0;margin:0;font-weight:500;line-height:1;animation:.75s cubic-bezier(.22,1,.36,1) .43s forwards contentRise;position:absolute}.infoScene h1{font-kerning:normal;letter-spacing:-.06em;text-transform:uppercase;max-width:95vw;margin:0;font-size:clamp(84px,11.714vw,224.9px);font-weight:400;line-height:.79}.infoScene-contact h1{font-size:clamp(68px,9.453vw,181.5px)}.titleLine{margin-bottom:-.15em;padding-bottom:.15em;display:block;overflow:hidden}.titleLine>span{animation:1.05s cubic-bezier(.22,1,.36,1) .15s forwards titleRise;display:block;transform:translateY(115%)}.infoScene-contact .titleLine:nth-child(2)>span{animation-delay:.23s}.aboutGrid,.contactGrid{position:absolute;inset:0}.lead{letter-spacing:-.045em;max-width:580px;margin:0;font-size:clamp(20px,2vw,34px);font-weight:400;line-height:1.05}.aboutCopy{top:var(--info-content-y);width:22%;min-width:0;position:absolute;left:36%}.aboutCopy p,.contactDetails p{font-size:var(--type-ui);line-height:var(--leading-body);overflow-wrap:anywhere;margin:0}.services{top:calc(var(--info-content-y) - 12px);width:23.273%;font-size:var(--type-meta);gap:0;margin:0;display:grid;position:absolute;left:67.873%}.services div{gap:var(--space-sm);border:0;border-bottom:1px solid var(--line);grid-template-columns:.65fr 1fr;align-items:center;min-height:40px;padding:0;display:grid}.services div:last-child{border-bottom:0}.services dt,.services dd{margin:0}.resumeDownload{color:var(--muted);font-size:var(--type-action);text-transform:uppercase;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;margin-top:29px;padding-bottom:5px;text-decoration:none;transition:color .24s;display:inline-block;position:relative}.resumeDownload:after{content:"";transform-origin:100%;height:1px;transition:transform .36s var(--ease-ui);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}:is(.resumeDownload:hover,.resumeDownload:focus-visible){color:var(--ink)}.resumeDownload:hover:after{transform-origin:0;transform:scaleX(1)}.resumeDownload:focus-visible:after{transform-origin:0;transform:scaleX(1)}.aboutLeadColumn{top:var(--info-content-y);left:var(--page-x);width:min(30vw,498px);min-width:0;position:absolute}.contactGrid{position:absolute}.contactGrid>.lead{top:var(--info-content-y);left:var(--page-x);width:min(31vw,590px);min-height:109px;position:absolute}.contactDetails{top:var(--info-content-y);width:32.653%;height:109px;position:absolute;left:39.01%}.socials{gap:var(--space-compact);margin-top:var(--space-md);display:flex}.socials a{opacity:.6;width:32px;height:32px;text-decoration:none;transition:opacity .22s;display:block}:is(.socials a:hover,.socials a:focus-visible){opacity:1}.socialIcon{background:url(/figma/social-icons.svg) 0 0/116px 32px no-repeat;width:32px;height:32px;display:block}.socialIcon-linkedin{background-position:0 0}.socialIcon-github{background-position:-42px 0}.socialIcon-whatsapp{background-position:-84px 0}:root[data-theme=dark] .socialIcon{filter:invert()}:root[data-theme=dark] .waterImage:after{border-color:#0000}.emailCopy{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);text-align:left;background:0 0;justify-content:space-between;align-items:center;width:100%;height:54px;padding:0;display:flex}.emailCopy:disabled{opacity:1}.emailCopyMessage{letter-spacing:-.025em;font-size:clamp(15px,1.25vw,21px);display:grid}.emailCopy small{font-size:var(--type-action);text-transform:uppercase;font-weight:400}.emailCopyAction{height:100%;color:var(--muted);text-align:center;white-space:nowrap;flex:0 0 88px;justify-content:center;align-items:center;transition:color .24s;display:flex;position:relative}.emailCopyState{opacity:1;transition:opacity .42s ease, transform .52s var(--ease-ui);grid-area:1/1;transform:translateY(0)}.emailCopyState-success{opacity:0;transform:translateY(.5em)}.emailCopy.is-copied .emailCopyState-default{opacity:0;transform:translateY(-.35em)}.emailCopy.is-copied .emailCopyState-success{opacity:1;transform:translateY(0)}.emailCopyActionLabel{justify-self:center;width:max-content;line-height:1;position:absolute}.emailCopy:disabled{color:inherit}.emailCopy.is-copied .emailCopyAction{color:var(--ink)}.emailCopyActionLabel:after{content:"";transform-origin:100%;height:1px;transition:transform .36s var(--ease-ui);background:currentColor;position:absolute;bottom:-5px;left:0;right:0;transform:scaleX(0)}:is(.emailCopy:not(.is-copied):hover .emailCopyAction,.emailCopy:not(.is-copied):focus-visible .emailCopyAction){color:var(--ink)}.emailCopy:not(.is-copied):hover .emailCopyActionLabel.emailCopyState-default:after{transform-origin:0;transform:scaleX(1)}.emailCopy:not(.is-copied):focus-visible .emailCopyActionLabel.emailCopyState-default:after{transform-origin:0;transform:scaleX(1)}.revealLine{opacity:0;animation:.85s cubic-bezier(.22,1,.36,1) .39s forwards contentRise;transform:translateY(34px)}.aboutGrid .revealLine:nth-child(2),.contactGrid .revealLine:nth-child(2){animation-delay:.47s}.aboutGrid .revealLine:nth-child(3),.contactGrid .revealLine:nth-child(3){animation-delay:.55s}.projectDetail{z-index:90;background-color:var(--project-paper);background-image:var(--noise-texture);background-position:0 0;background-repeat:repeat;background-size:var(--noise-size,135px) var(--noise-size,135px);background-blend-mode:var(--noise-blend);animation:projectOpen .9s var(--ease-reveal) both, ambientNoise var(--noise-speed,65ms) steps(2, end) infinite;animation-play-state:running, var(--noise-play-state,running);position:fixed;inset:0;overflow:hidden auto}.projectDetailBar{z-index:4;padding:22px var(--page-x);background:#efede6e0;background:color-mix(in srgb, var(--project-paper) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:var(--type-label);text-transform:uppercase;justify-content:space-between;align-items:baseline;font-weight:400;display:flex;position:sticky;top:0}.projectDetailBar p,.projectDetailBar button{background:0 0;margin:0}.projectDetailBar .textAction,.projectFooter .textAction,.projectLaunch.textAction{font-size:var(--type-action);border:0;padding:0 0 5px;text-decoration:none!important}.projectDetailHeader{padding:var(--space-xl) var(--page-x) 0}.projectDetailHeader h1{font-kerning:normal;letter-spacing:-.06em;text-wrap:balance;max-width:1250px;margin:0 0 0 -.055em;font-size:clamp(72px,10.5vw,180px);font-weight:400;line-height:.9}.projectDetailHeader h1[data-first-letter=R],.projectDetailHeader h1[data-first-letter=F]{margin-left:-.075em}.projectDetailHeader>div{font-size:var(--type-meta);gap:5vw;margin-top:40px;display:flex}.projectDetailHeader p{margin:0}.projectHero{height:min(56vh,620px);margin:clamp(42px, 6vh, 70px) var(--page-x) 0;overflow:hidden}.projectHero .waterImage,.projectGallery img{object-fit:cover;width:100%;height:100%;display:block}.projectHero .waterImage{height:100%}.particleHero{background:var(--project-paper);width:100%;height:100%;position:relative}.particleHero .waterImage{background:var(--project-paper)}.particleHero .waterImage img{opacity:1;transition:opacity .22s}.particleHero.is-particle-ready .waterImage img{opacity:0}.particleHeroCanvas{z-index:2;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.projectIntro{padding:clamp(80px, 14vh, 170px) var(--page-x);grid-template-columns:.48fr 1.35fr .72fr;align-items:start;gap:5vw;display:grid}.projectCopy{align-items:flex-start;gap:var(--space-md);flex-direction:column;display:flex}.projectLaunch{font-size:var(--type-action);text-transform:uppercase;white-space:nowrap;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;align-items:center;gap:2px;margin:0;font-weight:400;display:inline-flex;box-shadow:none!important;border-bottom:0!important;padding:0!important;text-decoration:none!important}.projectLaunch.textAction:after{content:none}.projectLaunchLabel{align-items:center;gap:2px;padding-bottom:5px;display:inline-flex;position:relative}.projectLaunchLabel:after{content:"";transform-origin:100%;height:1px;transition:transform .36s var(--ease-ui);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.projectLaunch:hover .projectLaunchLabel:after{transform-origin:0;transform:scaleX(1)}.projectLaunch:focus-visible .projectLaunchLabel:after{transform-origin:0;transform:scaleX(1)}.projectIntro p,.projectIntro h2{margin:0}.projectIntro>p:first-child{font-size:var(--type-label);font-weight:400;line-height:var(--leading-compact);text-transform:uppercase}.projectIntro h2{letter-spacing:-.05em;font-size:clamp(26px,2.8vw,48px);font-weight:400;line-height:1.05}.projectCopy>p{font-size:var(--type-body);line-height:var(--leading-body);overflow-wrap:anywhere}.projectGallery{gap:var(--space-sm);padding:0 var(--page-x);grid-template-columns:1fr;display:grid}.projectGallery img{aspect-ratio:16/9;width:100%;height:auto}.projectFooter{padding:26px var(--page-x) 34px;border-top:1px solid var(--line);font-size:var(--type-label);text-transform:uppercase;grid-template-columns:1fr 1fr 1fr;align-items:baseline;margin-top:16px;font-weight:400;display:grid;position:relative}.projectFooter .nextProject{justify-self:center}.projectFooter button:last-child{justify-self:end}.projectFooter p,.projectFooter button{background:0 0;margin:0}.preloader{z-index:200;color:#f1efe8;clip-path:inset(0);transition:clip-path .8s var(--ease-reveal);background:#11110f;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.preloader.is-leaving{clip-path:inset(0 0 100%)}.preloaderCenter{flex-direction:column;align-items:center;gap:7px;display:flex}.preloaderWord{font-size:var(--type-ui);letter-spacing:-.035em;text-transform:uppercase;gap:.32em;font-weight:600;line-height:1;display:flex;overflow:hidden}.preloaderWord span{animation:preloaderWordIn .8s var(--ease-ui) both;animation-delay:calc(var(--word) * .1s + 80ms);display:block}.preloader.is-leaving .preloaderWord span{animation:preloaderWordOut .48s var(--ease-reveal) both;animation-delay:calc(var(--word) * 70ms)}.preloaderProgress{width:12em;height:2px;position:relative;overflow:hidden}.preloaderProgress i,.preloaderProgress span{transform-origin:0;background:currentColor;width:100%;height:100%;display:block;position:absolute;inset:0;transform:scaleX(0)}.preloaderProgress i{opacity:.42;animation:preloaderTrackIn .85s .28s var(--ease-ui) forwards}.preloaderProgress span{transform:scaleX(var(--progress));transition:transform .32s var(--ease-ui)}.preloader.is-leaving .preloaderProgress i,.preloader.is-leaving .preloaderProgress span{transform-origin:100%;transition:transform .48s var(--ease-reveal);transform:scaleX(0)!important}.customCursor{z-index:300;opacity:0;color:#111;mix-blend-mode:difference;pointer-events:none;will-change:transform, width, height;background:0 0;border-radius:999px;justify-content:center;align-items:center;width:14px;height:14px;transition:width .18s cubic-bezier(.22,1,.36,1),height .18s cubic-bezier(.22,1,.36,1),opacity .16s;display:flex;position:fixed;top:0;left:0}.customCursor[data-visible=true]{opacity:1}.customCursor:before{content:"";width:14px;height:14px;transition:width .18s var(--ease-ui), height .18s var(--ease-ui);background:#fff;border-radius:50%;flex:none;position:absolute}.customCursor .cursorShape{opacity:0;width:96px;height:96px;transition:opacity .18s ease, transform .42s var(--ease-ui);background:#fff;flex:none;display:block;position:absolute;transform:scale(.55);-webkit-mask:url(/figma/wider-circle.svg?v=2) 50%/contain no-repeat;mask:url(/figma/wider-circle.svg?v=2) 50%/contain no-repeat}.customCursor.cursor-card{mix-blend-mode:difference;background:0 0;width:96px;height:96px}.customCursor.cursor-card .cursorShape{opacity:1;transform:scale(1)}.mobileLabel{display:none}.desktopLabel{align-items:center;gap:5px;display:inline-flex}.navArrow{background:currentColor;flex:none;width:12px;height:9px;display:inline-block;-webkit-mask:url(/figma/nav-arrow-left.svg) 50%/contain no-repeat;mask:url(/figma/nav-arrow-left.svg) 50%/contain no-repeat}.navArrow-up{width:9px;height:12px;-webkit-mask-image:url(/figma/nav-arrow-up.svg);mask-image:url(/figma/nav-arrow-up.svg)}.navArrow-upRight{width:11px;height:11px;-webkit-mask-image:url(/figma/launch-arrow.svg);mask-image:url(/figma/launch-arrow.svg)}.projectLaunch .navArrow{margin-bottom:0}.projectBack .desktopLabel .navArrow-left{transform:translateY(1px)}.customCursor.cursor-card:before{width:0;height:0}.customCursor.cursor-action,.customCursor.cursor-action:before{width:8px;height:8px}@keyframes pageReveal{0%{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}@keyframes pageSceneReveal{0%{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}@keyframes titleRise{0%{transform:translateY(115%)}to{transform:translateY(0)}}@keyframes contentRise{0%{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}@keyframes projectOpen{0%{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}@keyframes letterIn{0%{opacity:0;transform:translateY(110%)}to{opacity:1;transform:translateY(0)}}@keyframes preloaderWordIn{0%{transform:translateY(110%)}to{transform:translateY(0)}}@keyframes preloaderWordOut{0%{transform:translateY(0)}to{transform:translateY(-110%)}}@keyframes preloaderTrackIn{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes ambientNoise{0%{background-position:-7px -11px,0 0}20%{background-position:13px 5px,0 0}40%{background-position:-5px 17px,0 0}60%{background-position:19px -9px,0 0}80%{background-position:-15px 8px,0 0}to{background-position:9px -18px,0 0}}@media (pointer:fine){html,body,button,a,[tabindex]{cursor:none!important}}@media (pointer:coarse){.customCursor,.carouselHint{display:none}}@media (hover:none),(pointer:coarse){.themeToggle:hover{transform:none}.textAction:hover:after,.navAction:hover:after,.resumeDownload:hover:after,.emailCopy:not(.is-copied):hover .emailCopyActionLabel.emailCopyState-default:after,.projectLaunch:hover .projectLaunchLabel:after{transform:scaleX(0)}.textAction:hover,.resumeDownload:hover,.siteHeader .navAction:hover,.emailCopy:not(.is-copied):hover .emailCopyAction{color:var(--muted)}.siteHeader .navAction.is-active:hover{color:var(--ink)}.socials a:hover{opacity:.6}}@media (max-width:900px){.siteShell{background:var(--noise-texture) 0 0 / var(--noise-size,135px) var(--noise-size,135px) repeat, var(--paper);background-blend-mode:var(--noise-blend), normal}.siteHeader{padding:20px var(--page-x-mobile) 0;font-size:var(--type-action);grid-template-columns:1fr auto}.role{display:none}.siteHeader nav{gap:18px}.projectSet{gap:var(--space-compact);padding:65px 6px 70px}.projectCard{--card-width:76vw}.waterImage{height:57vh;min-height:380px}.projectMeta{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;min-height:38px;padding-top:9px;position:relative}.projectMeta h2{overflow-wrap:anywhere;white-space:normal;max-width:100%}.projectMeta p{white-space:normal;width:33.333%;position:absolute;top:9px;left:33.333%}.projectMeta span{grid-area:1/3}.carouselHint{left:var(--page-x-mobile);bottom:20px}.projectCounter{bottom:20px;left:50%;right:auto;transform:translate(-50%)}.infoScene{padding:94px var(--page-x-mobile) 78px}.pageIndex{top:104px;right:var(--page-x-mobile)}.infoScene h1{font-size:clamp(62px,19vw,100px)}.infoScene-contact h1{font-size:clamp(52px,15.5vw,82px);line-height:.84}.aboutGrid,.contactGrid{gap:var(--space-lg);margin-top:var(--space-2xl);grid-template-columns:1fr;padding-right:0;display:grid;position:static;inset:auto}.aboutLeadColumn,.aboutCopy,.services,.contactGrid>.lead,.contactDetails{width:auto;position:static}.aboutLeadColumn{display:grid}.lead{font-size:22px}.services,.socials{padding-bottom:40px}.emailCopyMessage{text-overflow:ellipsis;white-space:nowrap;max-width:72vw;overflow:hidden}.projectDetailBar{padding:var(--page-x-mobile)}.projectDetailHeader{padding:var(--space-xl) var(--page-x-mobile) 0}.projectDetailHeader h1{margin-left:-.04em;font-size:clamp(58px,18vw,100px)}.projectDetailHeader h1[data-first-letter=R],.projectDetailHeader h1[data-first-letter=F]{margin-left:-.06em}.projectHero{height:65vh;margin:70px var(--page-x-mobile) 0}.projectIntro{gap:var(--space-lg);padding:80px var(--page-x-mobile);grid-template-columns:1fr}.projectLaunch{justify-self:start}.projectGallery{gap:var(--space-compact);padding:0 var(--page-x-mobile);grid-template-columns:1fr}.projectFooter{align-items:center;gap:var(--space-sm);min-height:56px;padding:0 var(--page-x-mobile);grid-template-columns:1fr auto 1fr}.projectFooter p,.projectFooter button{align-self:center;line-height:1}.projectFooter .nextProject{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.projectFooter button:last-child{grid-area:1/3;place-items:center;display:grid}.desktopLabel{display:none}.mobileLabel{place-items:center;min-width:36px;min-height:36px;line-height:1;display:inline-grid}.projectDetailBar .textAction,.projectFooter .textAction{padding:0}}@media (max-width:520px){.siteHeader nav{gap:14px}.projectCard{--card-width:82vw}.projectMeta{column-gap:10px}.contactDetails{min-width:0}.emailCopy{gap:var(--space-sm)}}@media (max-height:720px) and (min-width:901px){.waterImage{height:58vh}.projectSet{padding-top:70px;padding-bottom:54px}.aboutGrid,.contactGrid{margin-top:60px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
