.portfolio_site__Java3{--canvas:#393631;--ink:#f6f3ed;--rail:64px;--gutter:clamp(28px,5.5vw,100px);color:var(--ink);background:var(--canvas);min-height:100svh}.portfolio_site__Java3:before{content:"";position:fixed;inset:0;background:url(/noise.svg);opacity:.08;z-index:12;pointer-events:none}.portfolio_site__Java3 a,.portfolio_site__Java3 button{color:inherit}.portfolio_site__Java3 button{cursor:pointer;font:inherit}.portfolio_site__Java3 a{text-decoration:none}.portfolio_site__Java3 a:focus-visible,.portfolio_site__Java3 button:focus-visible{outline:2px solid currentColor;outline-offset:6px}.portfolio_rail__fmluK{position:fixed;top:0;bottom:0;left:0;width:var(--rail);border-right:1px solid #f6f3ed26;background:var(--canvas);color:var(--ink);transition:background-color .45s ease,color .45s ease,border-color .45s ease;z-index:20}.portfolio_menuButton__fy7KO,.portfolio_rail__fmluK{display:flex;align-items:center;flex-direction:column}.portfolio_menuButton__fy7KO{height:64px;width:100%;background:none;border:0;border-bottom:1px solid #f6f3ed26;transition:border-color .45s ease;justify-content:center;gap:7px}.portfolio_menuButton__fy7KO span{width:27px;height:1px;background:var(--ink);transition:background-color .45s ease}.portfolio_copyright__gRehD,.portfolio_edition__hs_Di{position:absolute;writing-mode:vertical-rl;transform:rotate(180deg);font-size:8px;letter-spacing:.08em}.portfolio_edition__hs_Di{top:100px}.portfolio_copyright__gRehD{bottom:26px}.portfolio_railLogo__Rvsb_{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.portfolio_railLogo__Rvsb_ svg{display:block}.portfolio_pageLayer__bcR2D{margin-left:var(--rail)}.portfolio_hero__4j0Rt{min-height:780px;height:100svh;max-height:1200px;padding:0 var(--gutter);position:relative;overflow:hidden;isolation:isolate;background:#fafafa;color:#17171a}.portfolio_heroEffect__3lpYM{position:absolute;inset:0;z-index:-1;opacity:1}.portfolio_heroEffect__3lpYM .hero-effect-host{position:absolute;inset:0;pointer-events:none}.portfolio_heroEffect__3lpYM canvas{display:block;width:100%;height:100%}.portfolio_heroCopy__xBcc2{padding-top:0;top:50%;transform:translateY(-50%);display:grid;grid-template-columns:1fr;gap:32px;align-items:start;position:relative}.portfolio_eyebrow__icItD{font-size:9px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase}.portfolio_hero__4j0Rt h1{font:400 clamp(68px,9.5vw,172px) /.9 var(--font-rubik),sans-serif;letter-spacing:-.055em;margin:0;width:fit-content}.portfolio_lastName__MYTV9{color:var(--canvas)}.portfolio_lineMask___7n9N{display:block;overflow:hidden;padding-bottom:.09em;margin-bottom:-.09em}.portfolio_lineMask___7n9N>span{display:block;transform-origin:left bottom}.portfolio_intro__qLk19{max-width:420px;margin:8px 0 0;font-size:clamp(17px,1.6vw,24px);line-height:1.35;letter-spacing:.015em}.portfolio_heroFooter__VdhC7{position:absolute;left:var(--gutter);right:var(--gutter);bottom:35px;display:flex;justify-content:space-between;align-items:end;gap:24px;font-size:11px}.portfolio_heroFooter__VdhC7 p{margin:0;line-height:1.5}.portfolio_editorial__oaI8l{display:grid;grid-template-columns:42% 58%;border-top:1px solid #f6f3ed26;margin:0 var(--gutter);padding-top:100px}.portfolio_sectionHeading__UVEy4{position:sticky;top:80px;align-self:start;padding-right:32px;padding-bottom:80px}.portfolio_sectionHeading__UVEy4 h2{font:clamp(46px,5.2vw,94px) /.95 var(--font-instrument-serif),serif;letter-spacing:-.035em;margin:38px 0 24px}.portfolio_headingNote__1HgLk{font-size:12px;line-height:1.6;opacity:.5}.portfolio_contentSection__Er4No{padding-bottom:140px;scroll-margin-top:36px}.portfolio_sectionIntro__Q0KAu{margin-bottom:44px}.portfolio_sectionIntro__Q0KAu>p{font-size:clamp(22px,2vw,32px);line-height:1.4;max-width:560px;margin:18px 0 0}.portfolio_workCard__gGdXD{border-top:1px solid #f6f3ed33;padding:30px 0 34px}.portfolio_cardMeta__sxyRP{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:10px}.portfolio_cardMeta__sxyRP>span:first-child{color:#ffdd90}.portfolio_cardMeta__sxyRP>span:last-child{opacity:.5}.portfolio_aboutCopy__DX_rK h3,.portfolio_workCard__gGdXD h3{white-space:pre-line;font:clamp(33px,3.6vw,58px) /1.04 var(--font-instrument-serif),serif;letter-spacing:-.02em;margin:36px 0 20px}.portfolio_workCard__gGdXD>p{font-size:14px;line-height:1.65;opacity:.7;max-width:490px}.portfolio_cardBottom__mYoCh{display:flex;justify-content:space-between;align-items:center;margin-top:28px;gap:20px}.portfolio_cardBottom__mYoCh>span{font-size:8px;letter-spacing:.06em;opacity:.45}.portfolio_cardBottom__mYoCh a{font-size:25px;transition:transform .25s}.portfolio_workCard__gGdXD:hover .portfolio_cardBottom__mYoCh a{transform:translate(4px,-4px)}.portfolio_textLink__Xj1fx{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid #f6f3ed44;font-size:12px}.portfolio_textLink__Xj1fx span{font-size:21px}.portfolio_aboutPortrait__oSBec{position:relative;max-width:390px;margin:0 0 50px}.portfolio_aboutPortrait__oSBec img{width:100%;height:auto;display:block;filter:grayscale(1)}.portfolio_aboutPortrait__oSBec>span{display:block;background:linear-gradient(120deg,#ffdd90,#ff53a3);color:#2e2e2e;padding:12px 15px;font-size:8px;letter-spacing:.06em}.portfolio_aboutCopy__DX_rK>p{font-size:15px;line-height:1.7;opacity:.7;max-width:530px}.portfolio_aboutCopy__DX_rK>.portfolio_textLink__Xj1fx{margin-top:25px;border-bottom:0}.portfolio_disciplines__jO0zX{list-style:none;padding:0;margin:48px 0 0}.portfolio_disciplines__jO0zX li{border-top:1px solid #f6f3ed26;padding:18px 0;font-size:13px}.portfolio_disciplines__jO0zX span{font-size:9px;opacity:.4;margin-right:25px}.portfolio_articleLink__1t2Oz{display:block;border-top:1px solid #f6f3ed33;padding:30px 0}.portfolio_articleLink__1t2Oz>span{font-size:8px;opacity:.5;letter-spacing:.07em}.portfolio_articleLink__1t2Oz h3{font:clamp(42px,4.5vw,74px) /1 var(--font-instrument-serif),serif;margin:30px 0 20px}.portfolio_articleLink__1t2Oz h3>span{display:inline-block;font-size:.55em;margin-left:20px;transition:transform .25s}.portfolio_articleLink__1t2Oz:hover h3>span{transform:translate(5px,-5px)}.portfolio_articleLink__1t2Oz p{font-size:13px;opacity:.65}.portfolio_contact__jvQzV{color:#2e2e2e;background:linear-gradient(135deg,#ffdd90,#ff53a3);padding:50px var(--gutter) 30px}.portfolio_contactTop__LL2kE{display:flex;justify-content:space-between;gap:20px}.portfolio_contactMain__z0ShO{padding:70px 0 90px;display:flex;justify-content:space-between;align-items:end;gap:40px}.portfolio_contact__jvQzV h2{font:clamp(44px,6.3vw,112px) /.98 var(--font-instrument-serif),serif;letter-spacing:-.035em;margin:0}.portfolio_contactButton__0ynpz{flex-shrink:0;border:1px solid #2e2e2e;border-radius:50%;width:130px;height:130px;display:flex;justify-content:center;align-items:center;gap:20px;font-size:14px;transition:background .3s,color .3s}.portfolio_contactButton__0ynpz:hover{background:#2e2e2e;color:#ffdd90}.portfolio_contactButton__0ynpz>span{font-size:23px}.portfolio_contactBottom__0MZUp{border-top:1px solid #2e2e2e44;padding-top:24px;display:flex;justify-content:space-between;gap:24px;font-size:10px}.portfolio_contactBottom__0MZUp nav{display:flex;gap:25px}.portfolio_contactBottom__0MZUp button{border:0;padding:0;background:none;font-size:10px}.portfolio_menu__tntq8{position:fixed;inset:0 0 0 var(--rail);z-index:18;background:var(--canvas);visibility:hidden;opacity:0;display:flex;flex-direction:column;justify-content:center;padding:50px var(--gutter)}.portfolio_menuMeta__HPx5H{display:flex;justify-content:space-between;gap:24px;font-size:9px;letter-spacing:.07em;margin-bottom:30px}.portfolio_menu__tntq8>button{background:none;border:0;border-bottom:1px solid #f6f3ed33;width:100%;padding:10px 0;text-align:left;overflow:hidden;font:clamp(40px,6.5vw,100px) /1.05 var(--font-instrument-serif),serif}.portfolio_menu__tntq8>button>span{display:flex;align-items:center}.portfolio_menu__tntq8 small{font:9px var(--font-dm-sans),sans-serif;width:50px}.portfolio_menuArrow__4xk4X{margin-left:auto;font-size:.5em}@media (max-width:800px){.portfolio_site__Java3{--rail:44px;--gutter:26px}.portfolio_menuButton__fy7KO{height:52px}.portfolio_menuButton__fy7KO span{width:22px}.portfolio_railLogo__Rvsb_ svg{width:34px;height:34px}.portfolio_edition__hs_Di{font-size:7px}.portfolio_hero__4j0Rt{height:100svh;min-height:690px;max-height:none}.portfolio_heroCopy__xBcc2{padding-top:0;grid-template-columns:1fr;gap:24px}.portfolio_hero__4j0Rt h1{font-size:clamp(46px,10.5vw,88px)}.portfolio_intro__qLk19{margin-top:0;max-width:280px;font-size:17px}.portfolio_heroEffect__3lpYM{inset:0;opacity:1}.portfolio_heroFooter__VdhC7{bottom:28px;flex-wrap:wrap;gap:26px}.portfolio_heroFooter__VdhC7 p{font-size:10px}.portfolio_editorial__oaI8l{grid-template-columns:1fr;padding-top:50px}.portfolio_sectionHeading__UVEy4{top:0;padding:18px 0;background:var(--canvas);z-index:3;border-bottom:1px solid #f6f3ed26;margin-bottom:36px}.portfolio_sectionHeading__UVEy4>.portfolio_eyebrow__icItD{margin:0;font-size:8px}.portfolio_sectionHeading__UVEy4 h2{margin:12px 0 0;font-size:36px}.portfolio_headingNote__1HgLk{display:none}.portfolio_contentSection__Er4No{padding-bottom:90px}.portfolio_sectionIntro__Q0KAu>p{font-size:24px}.portfolio_contact__jvQzV{padding-top:30px}.portfolio_contactTop__LL2kE>span:last-child{display:none}.portfolio_contactMain__z0ShO{padding:40px 0 50px;flex-direction:column;align-items:start;gap:30px}.portfolio_contact__jvQzV h2{font-size:clamp(38px,9vw,62px)}.portfolio_contactButton__0ynpz{width:95px;height:95px;font-size:12px}.portfolio_contactBottom__0MZUp{flex-direction:column;gap:20px}.portfolio_contactBottom__0MZUp button{text-align:left}.portfolio_menu__tntq8{padding-top:28px;padding-bottom:28px}.portfolio_menuMeta__HPx5H{font-size:7px}.portfolio_menu__tntq8>button{font-size:50px;padding:16px 0}.portfolio_menu__tntq8 small{width:28px}}@media (max-height:600px) and (min-width:801px){.portfolio_hero__4j0Rt{min-height:620px}.portfolio_menu__tntq8>button{font-size:10svh;padding:6px 0}}@media (prefers-reduced-motion:reduce){.portfolio_site__Java3 *{transition:none!important}}.portfolio_topNavigation__ekocR{position:fixed;top:0;left:var(--rail);right:0;height:64px;padding:0 var(--gutter);align-items:center;z-index:4;display:flex;background:rgba(57,54,49,.6);color:var(--ink);transition:background-color .45s ease,color .45s ease,border-color .45s ease;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(246,243,237,.08);gap:clamp(22px,3vw,48px)}.portfolio_topNavigation__ekocR button{border:0;background:none;padding:6px 0;font-size:12px;color:var(--ink);opacity:.45;transition:opacity .25s,color .45s ease}.portfolio_topNavigation__ekocR button span{font-size:9px;margin-right:12px}.portfolio_topNavigation__ekocR button:hover,.portfolio_topNavigation__ekocR button[aria-current]{opacity:1}@media (max-width:800px){.portfolio_topNavigation__ekocR{top:0;height:52px;padding:0 var(--gutter);gap:16px;flex-wrap:nowrap}.portfolio_topNavigation__ekocR button{font-size:10px}.portfolio_topNavigation__ekocR button span{font-size:7px;margin-right:5px}.portfolio_sectionHeading__UVEy4{top:70px}}.portfolio_site__Java3[data-light-hero=true] .portfolio_rail__fmluK{--ink:#17171a;color:var(--ink);background:#fafafa;border-color:#17171a1a}.portfolio_site__Java3[data-light-hero=true] .portfolio_menuButton__fy7KO{border-color:#17171a1a}.portfolio_site__Java3[data-light-hero=true] .portfolio_topNavigation__ekocR{--ink:#17171a;color:var(--ink);background:rgba(250,250,250,.65);border-color:#17171a14}.portfolio_workCard__gGdXD>.portfolio_jobRole__9Co9o{margin:16px 0 0;font-size:12px}.portfolio_disciplines__jO0zX li{display:flex;align-items:baseline}.portfolio_disciplines__jO0zX strong{font-weight:500}.portfolio_disciplines__jO0zX p{margin:8px 0 0;font-size:12px;line-height:1.6;opacity:.7}.portfolio_projectCard__0zG9v{padding:32px 0 50px;border-top:1px solid #f6f3ed33}.portfolio_projectCard__0zG9v h3{margin:28px 0 12px;font:clamp(48px,5vw,76px) /1 var(--font-instrument-serif),serif;letter-spacing:-.025em}.portfolio_projectSummary__o1Fh6{font-size:20px;line-height:1.4;margin:0 0 18px}.portfolio_projectDescription__dqFxl{max-width:570px;font-size:15px;line-height:1.7;opacity:.75}.portfolio_projectExample__ggP_w{margin:30px 0 26px;padding:clamp(18px,2.5vw,30px);background:#242321;border:1px solid #f6f3ed1a}.portfolio_projectExample__ggP_w figcaption{color:#ffdd90;font-size:8px;letter-spacing:.08em;margin-bottom:22px}.portfolio_projectExample__ggP_w code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.8;overflow-wrap:anywhere;white-space:pre-wrap}.portfolio_projectInput__9XQVO{margin:0 0 24px;white-space:pre-wrap;opacity:.65}.portfolio_projectQuery__6zZGn,.portfolio_projectResult__sf_Ku{border-top:1px solid #f6f3ed1a;padding-top:16px;margin-top:16px}.portfolio_projectQuery__6zZGn>span,.portfolio_projectResult__sf_Ku>span{display:block;font-size:10px;opacity:.5;margin-bottom:8px}.portfolio_projectQuery__6zZGn code{color:#ffdd90}.portfolio_projectResult__sf_Ku code{font-size:24px;color:#ff89b8}.portfolio_projectPipeline__42UNp{list-style:none;margin:0;padding:0}.portfolio_projectPipeline__42UNp li{position:relative;padding:0 0 24px 24px;border-left:1px solid #ffdd904d}.portfolio_projectPipeline__42UNp li:before{content:"";position:absolute;left:-3px;top:3px;width:5px;height:5px;border-radius:50%;background:#ffdd90}.portfolio_projectPipeline__42UNp li:last-child{padding-bottom:0;border-color:transparent}.portfolio_projectPipeline__42UNp span{display:block;font-size:9px;opacity:.5;margin-bottom:8px}.portfolio_projectPipeline__42UNp strong{display:block;font-weight:500;font-size:16px;margin-bottom:4px}.portfolio_projectExampleNote__KagAL,.portfolio_projectPipeline__42UNp p{margin:0;font-size:11px;line-height:1.65;opacity:.6}.portfolio_projectExampleNote__KagAL{margin-top:24px}.portfolio_projectDetails__Nt6uY{padding-left:18px;font-size:13px;line-height:1.7;opacity:.75}.portfolio_projectDetails__Nt6uY li{margin-bottom:10px}.portfolio_projectTechnologies__M7ikF{font-size:8px;letter-spacing:.05em;margin:24px 0;opacity:.5}.portfolio_projectLinks__x2yHn{display:flex;flex-wrap:wrap;gap:24px;font-size:12px}.portfolio_projectLinks__x2yHn a{border-bottom:1px solid #f6f3ed44;padding-bottom:8px}.portfolio_projectLinks__x2yHn a:hover{color:#ffdd90}.portfolio_projectLinks__x2yHn span{margin-left:14px}@media (max-width:540px){.portfolio_topNavigation__ekocR{gap:clamp(10px,2.8vw,16px);overflow-x:auto;scrollbar-width:none}.portfolio_topNavigation__ekocR::-webkit-scrollbar{display:none}.portfolio_topNavigation__ekocR button{flex:0 0 auto}.portfolio_topNavigation__ekocR button span{display:none}}