@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600&display=swap";
:root{--ink:#1c1d20;--paper:#f8f8f6;--blue:#455ce9;--line:#d5d5d5;--muted:#777;--gutter:clamp(24px,8vw,150px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:DM Sans,Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}::selection{background:var(--blue);color:#fff}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:7px}h1,h2,h3,p{margin:0;font-weight:400}img{object-fit:cover;width:100%;display:block}.container{width:100%;padding-left:var(--gutter);padding-right:var(--gutter)}.eyebrow{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-size:10px;line-height:1.6}.muted{color:var(--muted)}.small{font-size:13px!important}.magnetic{display:inline-flex}.skip-link{z-index:200;background:#fff;padding:16px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:20px}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.header{z-index:10;justify-content:space-between;align-items:center;width:100%;padding:37px 3.5vw;font-size:15px;display:flex;position:absolute;top:0;left:0}.header.light{color:#fff}.brand{align-items:center;gap:8px;display:flex}.copyright{font-size:23px;transition:transform .6s}.brand:hover .copyright{transform:rotate(360deg)}.header nav{gap:30px;display:flex}.header nav a{padding:10px 0;position:relative}.header nav a:after{content:"";background:currentColor;border-radius:50%;width:5px;height:5px;transition:transform .3s;position:absolute;bottom:-4px;left:50%;transform:scale(0)}.header nav a:hover:after,.header nav a.active:after{transform:scale(1)}.loader{z-index:100;color:#fff;pointer-events:none;background:#141517;place-items:center;font-size:clamp(30px,4vw,56px);display:grid;position:fixed;inset:0}.menu-toggle{z-index:60;background:var(--ink);border:0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:78px;height:78px;transition:transform .45s,background .3s;display:flex;position:fixed;top:25px;right:3vw;transform:scale(0)}.menu-toggle.visible{transform:scale(1)}.menu-toggle:hover,.menu-toggle.is-open{background:var(--blue)}.menu-toggle span{background:#fff;width:25px;height:1px;transition:transform .3s;display:block}.menu-toggle.is-open span:first-child{transform:translateY(4px)rotate(45deg)}.menu-toggle.is-open span:last-child{transform:translateY(-4px)rotate(-45deg)}.menu-shade{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0006;position:fixed;inset:0}.menu-panel{z-index:50;background:var(--ink);color:#fff;flex-direction:column;width:min(620px,100%);height:100dvh;padding:15vh 7vw 5vh;display:flex;position:fixed;top:0;right:0}.menu-rule{background:#ffffff30;height:1px;margin:25px 0}.menu-panel nav a{letter-spacing:-.045em;justify-content:space-between;align-items:center;font-size:clamp(40px,5.5vw,76px);line-height:1.4;transition:transform .3s;display:flex}.menu-panel nav a:hover{transform:translate(12px)}.menu-panel nav small{letter-spacing:0;color:#777;font-size:12px}.menu-bottom{flex-direction:column;gap:20px;margin-top:auto;display:flex}.menu-bottom a{font-size:18px}.hero{color:#fff;background:#999b9d;height:100svh;min-height:700px;max-height:1200px;position:relative;overflow:hidden}.hero-portrait{mix-blend-mode:luminosity;height:105%;position:absolute;inset:0 20%}.hero-portrait:after{content:"";background:linear-gradient(90deg,#999b9d,#0000 15% 85%,#999b9d);position:absolute;inset:0}.hero-portrait img{object-position:50% 40%;filter:grayscale();opacity:.96;height:100%}.hero-location{background:var(--ink);border-radius:0 80px 80px 0;align-items:center;gap:32px;padding:20px 18px 20px 38px;font-size:15px;line-height:1.4;display:flex;position:absolute;top:38%;left:0}.globe{background:#ffffff12;border-radius:50%;place-items:center;width:60px;height:60px;font-family:Arial;font-size:60px;font-weight:400;line-height:1;animation:18s linear infinite spin;display:grid;position:relative}.globe i{background:#fff;width:34px;height:1px;position:absolute}.hero-role{font-size:clamp(20px,2.2vw,33px);line-height:1.25;position:absolute;top:34%;left:72%}.direction-arrow{margin-bottom:65px;font-family:Arial;font-size:54px;line-height:1;display:block}.name-track{width:max-content;position:absolute;bottom:11%;left:0}.name-marquee{letter-spacing:-.055em;width:max-content;font-size:clamp(130px,19.4vw,310px);line-height:1.1;animation:30s linear infinite marquee;display:flex}.name-marquee span{white-space:nowrap;padding-right:.2em}.hero-bottom{justify-content:space-between;font-size:12px;display:flex;position:absolute;bottom:28px;left:3.5vw;right:3.5vw}.hero-bottom a{gap:30px;display:flex}.hero-bottom a span{font-size:20px}@keyframes marquee{to{transform:translate(-33.333%)}}@keyframes spin{to{transform:rotate(360deg)}}.intro{grid-template-columns:1.8fr 1fr;gap:8vw;padding-top:150px;padding-bottom:155px;display:grid}.intro h2{letter-spacing:-.035em;font-size:clamp(29px,3.15vw,50px);line-height:1.35}.intro-aside p{max-width:295px;font-size:16px;line-height:1.7}.intro-aside .magnetic{margin-top:45px}.round-button{isolation:isolate;background:var(--ink);color:#fff;border:0;border-radius:50%;place-items:center;width:170px;height:170px;font-size:15px;display:grid;position:relative;overflow:hidden}.round-button:before{content:"";background:var(--blue);z-index:-1;border-radius:50%;transition:transform .55s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:translateY(101%)}.round-button:hover:before{transform:translateY(0)}.round-button.blue{background:var(--blue)}.round-button.blue:before{background:#3045c8}.section-label{justify-content:space-between;padding:0 3vw 35px;display:flex}.project-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:25px;padding:42px 3vw;transition:color .35s,padding .4s;display:flex;position:relative}.project-row:last-of-type{border-bottom:1px solid var(--line)}.project-row h3{letter-spacing:-.045em;font-size:clamp(35px,5.3vw,83px);line-height:1.15}.project-row>span{font-size:14px}.project-row:hover{color:#999;padding-left:5vw;padding-right:4vw}.row-arrow{display:none}.center-action{justify-content:center;margin-top:65px;display:flex}.pill{background:0 0;border:1px solid #bcbcbc;border-radius:60px;align-items:center;gap:25px;padding:25px 42px;font-size:15px;transition:background .3s,color .3s,border-color .3s;display:inline-flex}.pill:hover,.pill.selected{background:var(--ink);border-color:var(--ink);color:#fff}.pill sup{align-self:flex-start;font-size:10px}.project-preview{z-index:25;pointer-events:none;width:390px;height:290px;transition:transform .3s;position:fixed;transform:translate(-50%,-50%)scale(0)}.project-preview.show{transform:translate(-50%,-50%)scale(1)}.project-preview .project-visual{height:100%}.view-bubble{background:var(--blue);color:#fff;border-radius:50%;place-items:center;width:85px;height:85px;font-size:14px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mobile-project{display:none}.project-visual{aspect-ratio:1.4;justify-content:center;align-items:center;padding:10%;display:flex;overflow:hidden}.project-screen{aspect-ratio:1.6;color:#fff;background:#e9e6de;width:100%;height:100%;min-height:180px;position:relative;overflow:hidden;box-shadow:0 10px 35px #0000000d}.project-screen img{height:100%;transition:transform 1s;position:absolute;inset:0}.project-screen:after{content:"";background:linear-gradient(#0002,#0000 40%,#0005);position:absolute;inset:0}.screen-nav{z-index:1;justify-content:space-between;font-size:12px;display:flex;position:absolute;top:7%;left:6%;right:6%}.screen-nav>span:first-child{letter-spacing:-.06em;font-size:19px}.screen-nav>span:last-child{font-size:8px}.screen-headline{z-index:1;letter-spacing:-.055em;max-width:75%;font-size:clamp(22px,3.8vw,65px);line-height:1.05;position:absolute;bottom:16%;left:6%}.screen-foot{z-index:1;letter-spacing:.03em;font-size:7px;position:absolute;bottom:6%;left:6%}.compact .screen-headline{font-size:clamp(20px,2.3vw,36px)}.compact .screen-nav>span:first-child{font-size:14px}.compact .project-screen{min-height:100px}.aether .screen-headline{letter-spacing:-.05em;font-family:Georgia,serif;font-style:italic}.mono .project-screen img{filter:brightness(.75)}.offgrid .screen-headline{text-transform:uppercase;max-width:90%;font-weight:600}.image-rail{padding:140px 0 170px;overflow:hidden}.rail-row{gap:25px;width:120%;margin-bottom:25px;margin-left:-10%;display:flex}.rail-row>a{flex-shrink:0;width:25%}.rail-row .project-visual{aspect-ratio:1.4;padding:11%}.rail-row a:hover img,.project-grid a:hover img{transform:scale(1.045)}.footer{background:var(--ink);color:#fff;padding:130px 0 35px;position:relative}.footer-curve{background:var(--paper);border-radius:0 0 50% 50%;width:100%;height:80px;position:absolute;top:-45px;left:0}.footer>.container{padding-left:16vw;padding-right:16vw}.footer-heading{justify-content:space-between;align-items:center;display:flex}.footer h2{letter-spacing:-.05em;font-size:clamp(50px,6.8vw,110px);line-height:1.08}.footer h2 span{align-items:center;gap:25px;display:inline-flex}.footer h2 img{filter:grayscale();border-radius:50%;width:85px;height:85px}.footer-arrow{padding-top:40px;font-size:55px}.contact-rule{background:#ffffff35;height:1px;margin:95px 0 75px;position:relative}.contact-rule>.magnetic{position:absolute;top:50%;right:6%;translate:0 -50%}.footer-email{border-color:#ffffff40}.footer-email:hover{color:var(--ink);background:#fff;border-color:#fff}.footer-meta{align-items:flex-end;gap:45px;padding:110px 3.5vw 0;font-size:12px;display:flex}.footer-meta>div:not(.sample-note){flex-direction:column;gap:15px;display:flex}.sample-note{color:#888;margin-left:auto;font-size:11px}.back-top{white-space:nowrap}.page-heading{padding-top:210px;padding-bottom:100px}.page-heading .eyebrow{margin-bottom:35px;display:block}.page-heading h1{letter-spacing:-.055em;font-size:clamp(50px,7.5vw,120px);line-height:1.08}.work-page{padding-bottom:180px}.work-controls{justify-content:space-between;align-items:center;margin-bottom:65px;display:flex}.filters{gap:12px;display:flex}.filters .pill{padding:22px 32px}.view-controls{gap:12px;display:flex}.view-controls button{background:0 0;border:1px solid #ccc;border-radius:50%;width:60px;height:60px;font-size:23px}.view-controls button[aria-pressed=true]{color:#fff;background:var(--ink);border-color:var(--ink)}.project-grid{grid-template-columns:1fr 1fr;gap:65px 35px;display:grid}.grid-caption{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:22px 0;display:flex}.grid-caption h2{letter-spacing:-.04em;font-size:35px}.grid-caption span{font-size:11px}.project-disclaimer{color:var(--muted);margin-top:50px;font-size:12px}.about-layout{grid-template-columns:1fr 1.6fr;gap:10vw;padding-bottom:140px;display:grid}.about-copy{padding-top:25px}.about-copy p{margin-bottom:30px;font-size:22px;line-height:1.55}.about-copy p.muted{font-size:16px;line-height:1.7}.about-copy .eyebrow{margin-top:60px;display:block}.about-photo{background:#a8a8a8;height:650px;overflow:hidden}.about-photo img{filter:grayscale();height:100%}.services{padding-bottom:180px}.services h2{letter-spacing:-.04em;justify-content:space-between;font-size:clamp(34px,4vw,58px);display:flex}.service-grid{grid-template-columns:repeat(3,1fr);gap:45px;margin-top:75px;display:grid}.service-grid h3{border-top:1px solid var(--line);letter-spacing:-.03em;margin-top:25px;margin-bottom:25px;padding-top:35px;font-size:30px}.service-grid p{font-size:15px;line-height:1.8}.case-meta{grid-template-columns:2fr 1.5fr 1fr;gap:40px;padding-bottom:90px;display:grid}.case-meta .eyebrow{border-bottom:1px solid var(--line);margin-bottom:22px;padding-bottom:20px;display:block}.case-study>.project-visual,.case-study>div>.project-visual{aspect-ratio:1.7;padding:7% 15%}.case-study .screen-headline{font-size:clamp(32px,6vw,96px)}.case-study .screen-nav>span:first-child{font-size:30px}.case-description{grid-template-columns:1fr 2fr;gap:40px;padding-top:130px;padding-bottom:130px;display:grid}.case-description h2{letter-spacing:-.04em;margin-bottom:35px;font-size:clamp(32px,4vw,60px)}.case-description p{max-width:600px;margin-bottom:25px;font-size:19px;line-height:1.7}.case-detail{grid-template-columns:1fr 1fr;align-items:center;gap:6vw;margin:0 5vw;padding:6vw;display:grid}.case-detail img{aspect-ratio:.85}.detail-type{letter-spacing:-.07em;font-size:clamp(38px,7vw,100px)}.detail-type small{letter-spacing:-.02em;margin-top:25px;font-size:20px;display:block}.next-project{padding-top:140px;padding-bottom:160px}.next-project>a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:35px 0;display:flex}.next-project h2{letter-spacing:-.05em;font-size:clamp(50px,8vw,115px)}.next-project>a>span{font-size:60px}.contact-page{background:var(--ink);color:#fff;min-height:100vh}.contact-page .page-heading{padding-bottom:80px}.contact-layout{grid-template-columns:2fr 1fr;gap:9vw;display:grid}.form-field{border-top:1px solid #ffffff30;gap:35px;padding:35px 0;display:flex}.field-number{color:#999;padding-top:7px;font-size:11px}.field-content{flex-direction:column;flex:1;gap:18px;min-width:0;display:flex}.field-content>span{letter-spacing:-.02em;font-size:23px}.field-content input,.field-content textarea{color:#fff;resize:vertical;background:0 0;border:0;width:100%;padding:7px 0;font-size:19px;line-height:1.6}.field-content input::placeholder,.field-content textarea::placeholder{color:#939396}.form-submit{border-top:1px solid #ffffff30;align-items:center;gap:35px;padding-top:45px;display:flex}.form-submit p{color:#aaa;font-size:12px;line-height:1.7}.contact-aside>img{filter:grayscale();border-radius:50%;width:110px;height:110px;margin-bottom:50px}.contact-aside .direction-arrow{margin-bottom:40px;font-size:35px}.contact-aside>div{flex-direction:column;gap:20px;margin-bottom:40px;font-size:15px;line-height:1.6;display:flex}.contact-aside .eyebrow{color:#999}.contact-bottom{color:#bbb;border-top:1px solid #ffffff30;justify-content:space-between;margin-top:100px;padding:35px 0;font-size:12px;display:flex}.form-status{padding-top:30px;font-size:14px;line-height:1.7}.form-status a{text-decoration:underline}.not-found{min-height:80vh}.not-found .pill{margin-top:45px}@media (min-width:1600px){.hero-portrait{inset:0 25%}.intro,.work-section,.work-page,.services{max-width:1800px;margin:auto}}@media (hover:none){.project-preview{display:none}}@media (max-width:900px){:root{--gutter:6vw}.hero-role{font-size:23px;left:69%}.hero-portrait{inset:0 10%}.hero-location{gap:18px;padding-left:25px;font-size:13px}.hero-location .globe{width:50px;height:50px}.intro{gap:6vw;padding-top:100px;padding-bottom:110px}.round-button{width:140px;height:140px}.footer>.container{padding-left:10vw;padding-right:10vw}.footer h2 img{width:60px;height:60px}.footer-meta{flex-wrap:wrap}.sample-note{display:none}.about-layout{gap:6vw}.about-photo{height:520px}.page-heading{padding-top:170px}.grid-caption{flex-direction:column;align-items:flex-start;gap:12px}.service-grid{gap:25px}.contact-layout{gap:6vw}.field-content>span{font-size:20px}.field-content input,.field-content textarea{font-size:16px}.screen-headline{font-size:32px}}@media (max-width:600px){.header{padding:25px 6vw;font-size:14px}.header nav{display:none}.menu-toggle{width:52px;height:52px;top:15px;right:5vw;transform:scale(1)}.menu-toggle span{width:20px}.menu-panel{padding:110px 10vw 45px}.menu-panel nav a{font-size:55px}.hero{min-height:670px;max-height:950px}.hero-portrait{height:88%;inset:0 -15%}.hero-portrait img{object-position:50% 20%}.hero-portrait:after{background:linear-gradient(#0000 70%,#999b9d)}.hero-location{gap:15px;padding:12px 12px 12px 22px;font-size:11px;top:27%}.hero-location .globe{width:40px;height:40px;font-size:42px}.hero-location .globe i{width:25px}.hero-role{font-size:23px;top:auto;bottom:23%;left:6%}.hero-role .direction-arrow{margin:0;font-size:38px;position:absolute;bottom:0;left:73vw}.name-track{bottom:6.8%}.name-marquee{font-size:29vw}.hero-bottom{font-size:9px;bottom:20px;left:6%;right:6%}.hero-bottom>a{gap:12px}.hero-bottom>span{max-width:150px}.intro{padding-top:80px;padding-bottom:75px;display:block}.intro h2{font-size:31px}.intro-aside{justify-content:space-between;align-items:center;gap:20px;margin-top:35px;display:flex}.intro-aside p{max-width:58%;font-size:13px}.intro-aside .magnetic{margin:0}.round-button{width:110px;height:110px;font-size:12px}.section-label{padding:0 0 25px}.project-row{padding:25px 0 30px;display:block}.project-row:hover{padding:25px 0 30px}.mobile-project{margin-bottom:22px;display:block}.mobile-project .project-visual{aspect-ratio:1.3;padding:10%}.mobile-project .screen-headline{font-size:35px}.project-row h3{margin-bottom:10px;font-size:35px}.project-row>span{font-size:11px}.project-row .row-arrow{font-size:25px;display:block;position:absolute;bottom:36px;right:0}.center-action{margin-top:35px}.pill{padding:21px 28px;font-size:13px}.image-rail{padding:80px 0 110px}.rail-row{gap:12px;width:190%;margin-bottom:12px;margin-left:-45%}.rail-row>a{width:33.33%}.rail-row .screen-nav>span:last-child,.rail-row .screen-foot{display:none}.rail-row .screen-headline{font-size:22px}.footer{padding-top:70px}.footer-curve{height:45px;top:-25px}.footer>.container{padding-left:6vw;padding-right:6vw}.footer h2{font-size:14vw}.footer h2 span{gap:14px}.footer h2 img{width:48px;height:48px}.footer-arrow{font-size:30px}.contact-rule{margin:70px 0}.footer-email{font-size:13px}.footer-meta{gap:30px;padding:70px 6vw 0;font-size:10px}.footer-meta .eyebrow{font-size:9px}.back-top{margin-left:auto}.page-heading{padding-top:150px;padding-bottom:60px}.page-heading h1{font-size:13vw}.page-heading .eyebrow{margin-bottom:25px;font-size:9px}.work-controls{align-items:flex-start;gap:15px;margin-bottom:25px}.filters{flex-wrap:wrap;gap:6px}.filters .pill{gap:10px;padding:15px 18px;font-size:11px}.view-controls{display:none}.work-page{padding-bottom:100px}.project-grid{grid-template-columns:1fr;gap:40px}.about-layout{flex-direction:column-reverse;gap:40px;padding-bottom:90px;display:flex}.about-photo{height:480px}.about-copy .direction-arrow{margin-bottom:30px}.about-copy p{font-size:23px}.about-copy .eyebrow{margin-top:30px}.services{padding-bottom:110px}.services h2{font-size:32px}.service-grid{grid-template-columns:1fr;gap:45px;margin-top:50px}.service-grid h3{margin-top:15px;padding-top:25px}.case-meta{grid-template-columns:1fr 1fr;gap:30px;padding-bottom:55px}.case-meta p{font-size:13px}.case-study>div>.project-visual{aspect-ratio:1.15;padding:8%}.case-study .screen-nav>span:first-child{font-size:20px}.case-study .screen-headline{font-size:34px}.case-description{grid-template-columns:1fr;gap:30px;padding-top:70px;padding-bottom:60px}.case-description p{font-size:16px}.case-detail{grid-template-columns:1fr;padding:8vw}.detail-type{padding:20px 0;font-size:18vw}.detail-type small{font-size:18px}.next-project{padding-top:75px;padding-bottom:100px}.next-project>a>span{font-size:40px}.contact-layout{flex-direction:column-reverse;gap:45px;display:flex}.contact-aside{grid-template-columns:1fr 1fr;gap:25px;display:grid}.contact-aside>img,.contact-aside .direction-arrow,.contact-aside>div:nth-of-type(2),.contact-aside>.small{display:none}.contact-aside>div{gap:10px;margin:0;font-size:12px}.contact-page .page-heading{padding-bottom:40px}.form-field{gap:20px;padding:26px 0}.field-content>span{font-size:20px}.field-content input,.field-content textarea{font-size:15px}.form-submit{gap:25px}.contact-bottom{gap:20px;margin-top:70px;font-size:10px}.contact-bottom span:last-child{text-align:right;max-width:140px}}.footer-contact-links{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.footer-contact-link{border:1px solid #ffffff42;border-radius:999px;justify-content:center;align-items:center;min-height:82px;padding:0 46px;font-size:17px;transition:background .3s,color .3s,border-color .3s;display:inline-flex}.footer-contact-link:hover{color:var(--ink);background:#fff;border-color:#fff}.footer-meta{grid-template-columns:max-content max-content 1fr;align-items:end;gap:65px;display:grid}.footer-meta-block{flex-direction:column;gap:14px;display:flex}.footer-socials{justify-self:end}.footer-social-links{gap:30px;font-size:15px;display:flex}.footer-social-links a{position:relative}.footer-social-links a:after{content:"";background:currentColor;height:1px;transition:right .3s;position:absolute;bottom:-4px;left:0;right:100%}.footer-social-links a:hover:after{right:0}.social-placeholder{cursor:default}.contact-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:34px;display:flex}.contact-actions .pill{margin:0}@media (max-width:600px){.footer-contact-links{flex-direction:column;align-items:stretch}.footer-contact-link{width:100%;min-height:66px;padding:0 24px;font-size:13px}.footer-meta{grid-template-columns:1fr 1fr;gap:38px 24px}.footer-socials{grid-column:1/-1;justify-self:start}.footer-social-links{flex-wrap:wrap;gap:20px;font-size:13px}.contact-actions{flex-direction:column;align-items:stretch}.contact-actions .pill{text-align:center;justify-content:center;width:100%}}.round-button:before{content:none}.round-button,.pill,.footer-contact-link{isolation:isolate;position:relative;overflow:hidden}.button-fill{z-index:0;background:var(--blue);will-change:transform;pointer-events:none;border-radius:50%;width:150%;height:200%;position:absolute;top:-50%;left:-25%;transform:translateY(76%)}.button-label{z-index:1;will-change:transform,color;justify-content:center;align-items:center;gap:25px;display:inline-flex;position:relative}.round-button .button-label{text-align:center;color:#fff;width:100%;height:100%;padding:0 1em}.round-button.blue .button-fill{background:#3045c8}.magnetic[data-motion=entered] .button-fill{animation:.6s cubic-bezier(.45,0,.55,1) forwards button-fill-in}.magnetic[data-motion=left] .button-fill{animation:.6s cubic-bezier(.45,0,.55,1) forwards button-fill-out}.pill:hover,.footer-contact-link:hover,.footer-email:hover{color:inherit;background:0 0}.pill:hover{border-color:var(--ink)}.footer-contact-link:hover,.footer-email:hover{color:#fff;border-color:#ffffff68}.magnetic[data-motion=entered] .pill .button-label{color:#fff;transition:color .3s cubic-bezier(.215,.61,.355,1)}.magnetic[data-motion=left] .pill .button-label{transition:color .3s cubic-bezier(.215,.61,.355,1) .25s}.pill.selected{background:var(--ink);border-color:var(--ink);color:#fff}.pill.selected .button-fill{background:var(--ink);transform:translate(0,0);animation:none!important}.footer-contact-links>.magnetic,.contact-actions>.magnetic{display:inline-flex}.footer-contact-link{color:#fff;background:0 0}.contact-page .pill{color:#fff}.contact-page .pill:hover{border-color:#ffffff68}.center-action>.magnetic{display:inline-flex}.not-found>.magnetic{margin-top:45px}@keyframes button-fill-in{0%{transform:translateY(76%)}to{transform:translate(0,0%)}}@keyframes button-fill-out{0%{transform:translate(0,0%)}to{transform:translateY(-76%)}}@media (max-width:600px){.footer-contact-links>.magnetic,.contact-actions>.magnetic{width:100%}}@media (hover:none),(pointer:coarse){.magnetic{transform:none!important}.button-fill{display:none}.pill:hover,.footer-contact-link:hover,.footer-email:hover{color:inherit;background:0 0}.pill.selected{background:var(--ink)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.name-marquee{animation:none}.loader{display:none}}
.hero{background:#62686b}.hero-portrait{mix-blend-mode:normal;height:106%;inset:0 22%}.hero-portrait:after{background:linear-gradient(90deg,#62686b 0%,#0000 16% 84%,#62686b 100%)}.hero-portrait img{filter:grayscale();object-position:center top}.hero-image-note{z-index:2;color:#fff;letter-spacing:.09em;text-transform:uppercase;background:#151618b8;padding:8px 10px;font-size:8px;position:absolute;bottom:14%;right:12px}.hero-role{font-size:clamp(18px,1.7vw,28px);left:73%;right:3%}.hero-role p>span{margin-top:12px;font-size:.8em;display:block}.hero .name-marquee{font-size:clamp(100px,16vw,270px)}.photo-visual{aspect-ratio:1.34;padding:7%}.project-photo-frame{color:#fff;background:#222;width:100%;height:100%;min-height:220px;position:relative;overflow:hidden;box-shadow:0 18px 50px #00000016}.project-photo-frame:after{content:"";background:linear-gradient(#0007 0%,#0000 42%,#0009 100%);position:absolute;inset:0}.project-photo-frame img{object-fit:cover;width:100%;height:100%;transition:transform .9s cubic-bezier(.22,1,.36,1),filter .5s}.project-visual:hover .project-photo-frame img,.project-grid a:hover .project-photo-frame img{transform:scale(1.045)}.project-photo-top,.project-photo-bottom{z-index:1;justify-content:space-between;align-items:flex-start;gap:20px;display:flex;position:absolute;left:5%;right:5%}.project-photo-top{letter-spacing:.06em;text-transform:uppercase;font-size:10px;top:6%}.project-photo-top>span:first-child{letter-spacing:-.02em;text-transform:none;font-size:15px}.project-photo-bottom{align-items:flex-end;bottom:6%}.project-photo-bottom strong{letter-spacing:-.05em;max-width:75%;font-size:clamp(22px,3.2vw,48px);font-weight:450;line-height:1.04}.project-photo-bottom>span{text-transform:uppercase;letter-spacing:.08em;font-size:10px}.compact.photo-visual{aspect-ratio:1.35;padding:0}.compact .project-photo-frame{min-height:100%}.compact .project-photo-bottom strong{font-size:clamp(18px,2.2vw,30px)}.compact .project-photo-top>span:first-child{font-size:12px}.compact .project-photo-top>span:last-child,.compact .project-photo-bottom>span{display:none}.project-row h2,.project-row h3{max-width:70%;font-size:clamp(28px,3.7vw,60px)}.project-row>span{max-width:24%;line-height:1.6}.featured-project{grid-template-columns:1.15fr 1fr;align-items:center;gap:5vw;margin-bottom:90px;display:grid}.featured-project h2{letter-spacing:-.04em;font-size:clamp(32px,3.5vw,52px)}.featured-project p{color:#555;margin:25px 0 30px;line-height:1.8}.featured-project .pill{padding:20px 28px}.background-sections{padding-top:140px;padding-bottom:140px}.background-sections>section+section{margin-top:100px}.background-sections h2{letter-spacing:-.04em;margin:20px 0 30px;font-size:clamp(30px,4vw,58px)}.section-intro{color:#626262;max-width:650px;line-height:1.7}.skills-grid{grid-template-columns:1fr 1fr;gap:40px 65px;margin-top:50px;display:grid}.skills-grid>div{border-top:1px solid var(--line);padding-top:25px}.skills-grid h3{margin-bottom:20px;font-size:22px}.skills-grid p,.background-row p,.background-row li{font-size:16px;line-height:1.8}.skills-grid p{color:#555}.background-row{border-top:1px solid var(--line);grid-template-columns:1fr 1.8fr;gap:45px;padding:35px 0;display:grid}.background-row h3,.background-row h2{letter-spacing:-.02em;margin:0;font-size:23px;line-height:1.4}.background-row p+p{margin-top:15px}.background-row a{text-underline-offset:5px;margin-top:18px;font-size:14px;text-decoration:underline;display:inline-block}.engineering-about{grid-template-columns:1fr 1fr;gap:8vw;display:grid}.engineering-about p{margin-bottom:25px;font-size:18px;line-height:1.8}.engineering-about>div:first-child p:first-child{letter-spacing:-.02em;font-size:26px;line-height:1.5}.case-summary{max-width:850px;margin-bottom:30px;font-size:24px;line-height:1.6}.case-meta{grid-template-columns:1fr 1fr;padding-bottom:50px}.stack-list{color:#555;flex-wrap:wrap;gap:12px 25px;margin:0 0 60px;padding:0;font-size:13px;list-style:none;display:flex}.technical-case{padding-top:80px}.technical-case ul{margin:0;padding-left:20px}.technical-case li+li{margin-top:18px}.case-study>div>.photo-visual{aspect-ratio:1.7;padding:6vw 10vw}.case-study .project-photo-frame{min-height:420px}.next-project h2{font-size:clamp(32px,5.7vw,85px)}.page-heading h1{overflow-wrap:break-word;font-size:clamp(42px,6.2vw,100px)}.connect-layout{grid-template-columns:2fr 1fr;gap:8vw;padding-bottom:40px;display:grid}.connect-layout>div>p{max-width:700px;margin-bottom:40px;font-size:clamp(20px,2.3vw,34px);line-height:1.5}.connect-layout aside{flex-direction:column;gap:20px;display:flex}.connect-layout aside>.eyebrow{color:#aaa}.connect-layout aside>p{margin-bottom:25px}.connect-layout .pill{margin:0 15px 15px 0}.breadcrumbs{margin-bottom:28px;font-size:13px;line-height:1.6}.breadcrumbs ol{flex-wrap:wrap;gap:8px 12px;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";opacity:.5;margin-right:12px}.breadcrumbs a{text-underline-offset:4px;text-decoration:underline}.breadcrumbs [aria-current]{opacity:.7}.work-intro{margin-bottom:36px}.case-author{margin:-25px 0 35px;font-size:14px}.case-author a{text-underline-offset:4px;text-decoration:underline}@media (max-width:900px){.hero-portrait{inset:0 10%}.hero-role{font-size:18px;left:71%}.featured-project{gap:30px}.featured-project p{font-size:14px}}@media (max-width:600px){.project-row h2{max-width:90%;margin-bottom:10px;font-size:29px}.hero-portrait{height:91%;inset:0 -12%}.hero-portrait:after{background:linear-gradient(#0000 68%,#62686b 100%)}.hero-image-note{font-size:7px;bottom:11%;right:15%}.hero-role{font-size:19px;bottom:26%;left:6%;right:auto}.hero-role p>span{font-size:15px}.hero-role .direction-arrow{bottom:12px}.hero .name-marquee{font-size:27vw}.featured-project{grid-template-columns:1fr;gap:30px;margin-bottom:65px}.featured-project p{font-size:16px}.photo-visual{aspect-ratio:1.15;padding:6%}.project-photo-frame{min-height:220px}.compact.photo-visual{aspect-ratio:1.3}.compact .project-photo-bottom strong{font-size:25px}.project-row h3{max-width:90%;font-size:29px}.project-row>span{max-width:85%;font-size:11px}.background-sections{padding-top:85px;padding-bottom:100px}.background-sections>section+section{margin-top:70px}.skills-grid{grid-template-columns:1fr;gap:35px;margin-top:35px}.skills-grid p,.background-row p,.background-row li{font-size:15px}.background-row{grid-template-columns:1fr;gap:20px;padding:28px 0}.engineering-about{grid-template-columns:1fr;gap:10px}.case-summary{font-size:20px}.case-meta{grid-template-columns:1fr;gap:25px}.technical-case{padding-top:50px}.case-study>div>.photo-visual{aspect-ratio:1.2;padding:8vw}.case-study .project-photo-frame{min-height:320px}.page-heading h1{font-size:11.5vw}.connect-layout{grid-template-columns:1fr;gap:35px}}
