@import "https://fonts.cdnfonts.com/css/satoshi";:root{color:#0a0a0a;font-synthesis:none;--accent:#0544ab;--line:#00000014;--muted:#0000004d;background:#fff;font-family:Satoshi,Inter,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.5}a{color:inherit;text-decoration:none}button,input{font:inherit;border-radius:0}.panel{border:1px solid var(--line);background:#fff}.panel-header{border-bottom:1px solid var(--line);color:#0005;letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;height:37px;padding:10px 16px;font-size:10px;font-weight:500;display:flex}.panel-body{padding:28px 24px}.panel-footer{border-top:1px solid var(--line);color:#0004;justify-content:flex-end;gap:12px;padding:16px 24px;font-size:13px;display:flex}.clock{font-variant-numeric:tabular-nums}.floating-nav{z-index:100;border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffc;grid-template-columns:repeat(3,auto);display:grid;position:fixed;top:24px;left:50%;transform:translate(-50%)}.floating-nav a{letter-spacing:.1em;text-transform:uppercase;border-right:1px solid var(--line);white-space:nowrap;color:#0005;padding:10px 24px;font-size:10px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.1,1)}.floating-nav a:last-child{border:0}.floating-nav a.active{background:var(--accent);color:#fff}.hero-grid{perspective:1200px;grid-template-rows:1fr .49fr;grid-template-columns:repeat(3,1fr);gap:0;min-height:100svh;padding:80px 24px 24px;display:grid}.hero-grid>.panel{margin:-.5px}.bio{flex-direction:column;grid-area:1/1/3/2;display:flex}.bio .panel-body{flex:1}.mark{object-fit:contain;object-position:center;transform-origin:50%;width:44px;height:44px;display:block;transform:scale(1.45)}.bio-main{letter-spacing:-.02em;margin:32px 0 0;font-size:clamp(22px,2.8vw,34px);line-height:1.4}.bio-sub{color:var(--muted);margin:24px 0 0;font-size:16px;line-height:1.6}.services{grid-area:1/2}.clients{grid-area:1/3}.list-body{padding:28px 24px}.service,.client{border-top:1px solid var(--line);align-items:center;min-height:44px;display:flex}.service:last-child,.client:last-child{border-bottom:1px solid var(--line)}.service{justify-content:space-between;padding:10px 0;font-size:16px}.service>span:first-child{transition:all .3s cubic-bezier(.16,1,.3,1)}.service-cta{opacity:0;text-transform:uppercase;letter-spacing:.04em;align-items:center;font-size:12px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;transform:translate(8px)}.service:hover>span:first-child,.service:focus>span:first-child{color:var(--accent);padding-left:10px}.service:hover .service-cta,.service:focus .service-cta{opacity:1;transform:none}.client{justify-content:flex-end}.client span{color:#0003;font-size:13px}.client b{font-size:15px;font-weight:400}.hero-cta{grid-area:2/2/3/4}.hero-cta>a{justify-content:center;align-items:center;height:calc(100% - 37px);font-size:clamp(18px,2vw,24px);display:flex}.flip{vertical-align:middle;height:1.5em;display:inline-block;overflow:hidden}.flip>span{flex-direction:column;transition:transform .35s cubic-bezier(.25,1,.5,1);display:flex}a:hover .flip>span,a:focus .flip>span{transform:translateY(-50%)}.arrow{place-items:center;width:20px;height:20px;margin-left:6px;transition:all .3s;display:inline-grid}.arrow svg{width:10px;height:10px}.arrow.small{width:18px;height:18px}.arrow.small svg{width:9px}.project:hover .arrow,.hero-cta a:hover .arrow,.references a:hover .arrow{background:var(--accent);color:#fff;transform:translate(1px,-1px)}.work{margin:0 24px}.project{border:1px solid var(--line);margin-top:-1px;transition:all .5s cubic-bezier(.16,1,.3,1)}.project-grid{grid-template-columns:1fr 1fr;display:grid}.project-image{border-left:1px solid var(--line);order:2;min-height:456px;position:relative;overflow:hidden}.project-image img{object-fit:contain;background:#f2f2f0;width:100%;height:100%;transition:all .6s;display:block}.name-tile{background:#eeeae2;place-items:center;display:grid}.name-tile span{letter-spacing:.04em;font-family:Georgia,serif;font-size:clamp(44px,8vw,112px)}.project-info{flex-direction:column;order:1;justify-content:flex-end;display:flex}.project-info>div:first-child{padding:28px 24px}.project-info h2{letter-spacing:-.02em;margin:0;font-size:clamp(18px,2vw,26px);font-weight:400}.project-info p{color:var(--muted)}.category{margin:4px 0;font-size:14px}.description{max-width:40ch;margin:12px 0 0;font-size:14px;line-height:1.6}.project-action{border-top:1px solid var(--line);color:#0004;justify-content:space-between;height:54px;padding:16px 24px;font-size:13px;display:flex}.project:hover{z-index:2;position:relative;transform:translateY(-6px);box-shadow:0 24px 48px #0000001f}.project:hover img{transform:scale(1.03)}.project:hover .project-action{color:var(--accent)}.project.image-left .project-image{border-left:0;border-right:1px solid var(--line);order:1}.project.image-left .project-info{order:2}.references>div:last-child{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:20px;padding:48px 40px;display:flex}.references p{margin:0;font-size:16px;line-height:1.6}.references .many-more{color:#0a0a0a;letter-spacing:-.06em;font-size:clamp(40px,8vw,112px);font-weight:500;line-height:1}.references a{color:#0a0a0a;align-items:center;font-size:14px;display:flex}.contact{margin:0 24px 24px}.contact-main{text-align:center;padding:80px 40px}.contact-main p{color:var(--muted);margin:0;font-size:14px}.contact-main>a{letter-spacing:-.03em;margin:28px auto;font-size:clamp(26px,4.5vw,50px);font-weight:500;display:block}.contact-main>a:hover{color:var(--accent)}.contact-info{border-top:1px solid var(--line);justify-content:space-between;align-items:center;min-height:128px;padding:24px;display:flex}.footer-brand{align-items:center;gap:22px;display:flex}.footer-brand .mark{width:44px;height:44px}.footer-brand p{color:var(--muted);margin:0;font-size:13px}.contact-info nav{gap:24px;display:flex}.contact-info nav a{text-transform:uppercase;color:#0005;font-size:12px}.contact-info nav a:hover{color:var(--accent)}.intro{z-index:1000;background:#fff;place-items:center;animation:.7s 2.8s forwards fadeIntro;display:grid;position:fixed;inset:0}.intro-word{font-size:56px;font-weight:500;position:absolute}.intro-word span{animation:1s 1s forwards letters;display:inline-block}.intro>.mark{opacity:0;width:96px;height:96px;animation:1.8s 1.55s forwards symbol}@keyframes letters{to{filter:blur(6px);opacity:0;transform:translateY(-24px)}}@keyframes symbol{0%{opacity:0;transform:scale(.35)rotateY(0)}30%{opacity:1}75%{transform:scale(1.04)rotateY(-180deg)}to{opacity:1;transform:scale(1.48)rotateY(-180deg)}}@keyframes fadeIntro{to{opacity:0;visibility:hidden}}.legal-page>header{border-bottom:1px solid var(--line);z-index:2;background:#fff;height:74px;position:sticky;top:0}.legal-page>header>div,.legal-page>main{max-width:800px;margin:auto}.legal-page>header>div{align-items:center;height:100%;display:flex}.legal-page>header a{border:1px solid var(--line);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:10px;padding:10px 14px;font-size:11px;display:flex}.legal-page>header svg{width:13px}.legal-page>main{padding:24px 20px 48px}.legal-page article{border:1px solid var(--line)}.legal-body{padding:28px 22px 36px}.legal-body h2{letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--line);margin:32px 0 14px;padding-bottom:10px;font-size:13px;font-weight:600}.legal-body h2:first-child{margin-top:0}.legal-body h3{margin:22px 0 10px;font-size:15px}.legal-body p{color:#0008;max-width:62ch;margin:0 0 16px;font-size:15px;line-height:1.75}.legal-body a{color:var(--accent)}.clause{grid-template-columns:40px 1fr;display:grid}.clause>span{color:#0004;font-size:14px}.clause p{margin-bottom:16px}@media (width<=1180px) and (width>=901px){.hero-grid{grid-template-rows:auto auto 300px;grid-template-columns:1fr 1fr;min-height:0}.bio{grid-area:1/1/2/3}.services{grid-area:2/1}.clients{grid-area:2/2}.hero-cta{grid-area:3/1/4/3}}@media (width<=900px){.floating-nav{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));grid-template-columns:repeat(3,1fr);transform:none}.floating-nav a{text-align:center;padding:10px 8px}.hero-grid{min-height:0;padding:72px max(16px,env(safe-area-inset-right)) 16px max(16px,env(safe-area-inset-left));flex-direction:column;display:flex}.panel-body{padding:24px 20px}.panel-header{padding:10px 14px}.panel-footer{padding:14px 20px}.bio-main{font-size:22px}.service{padding:12px 0;font-size:15px}.client b{font-size:14px}.client span{font-size:12px}.hero-cta{min-height:240px}.work,.contact{margin-left:max(16px,env(safe-area-inset-left));margin-right:max(16px,env(safe-area-inset-right))}.project-grid{flex-direction:column;display:flex}.project-image,.project.image-left .project-image{aspect-ratio:16/9;border:0;border-bottom:1px solid var(--line);order:1;min-height:0}.project-info,.project.image-left .project-info{order:2}.project-info>div:first-child{padding:16px 20px}.description{max-width:none;font-size:13px}.project-action{padding:16px 20px}.references>div:last-child{padding:36px 20px}.contact-main{padding:48px 20px}.contact-main>a{overflow-wrap:anywhere}.contact-info{flex-direction:column;align-items:flex-start;gap:28px}.contact-info nav{flex-wrap:wrap;row-gap:10px}}@media (width<=540px){.legal-page>header>div{padding:0 16px}.legal-page>main{padding:16px 16px 40px}.legal-body{padding:22px 16px 32px}.legal-body p{font-size:14px}.legal-page article .panel-header{padding:10px 14px}}@media (width<=480px){.floating-nav a{letter-spacing:.08em;padding:12px 8px;font-size:8px}.bio-main{margin-top:24px;font-size:clamp(19px,5.8vw,23px);line-height:1.45}.bio-sub{margin-top:20px;font-size:14px}.bio .mark{width:30px;height:30px}.client{flex-direction:column;align-items:flex-start;gap:2px;padding:10px 0}.panel-footer{flex-direction:column;align-items:flex-start;gap:12px}.hero-cta>a{font-size:16px}.contact-main>a{font-size:clamp(22px,5.5vw,32px)}.footer-brand .mark{width:36px;height:36px}.footer-brand p{font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}
