@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.3q9gh2jvntrwt.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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.2v2sz4qlut9s1.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.09bkcrcuv-0po.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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.p.23qr8woi9ij9e.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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.1_0gbi-gsbqmd.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.0p-wng2nn8o-p.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:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_434e4604-module__X4R-0q__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_434e4604-module__X4R-0q__variable{--font-sans:"Manrope", "Manrope 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-border-style:solid;--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}}}@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)}}@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{.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}.relative{position:relative}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.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,)}.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))}}.about-page h1,.contact-page h1{letter-spacing:-.025em;font-size:calc(clamp(3.25em,7vw,8em)/1.14286);font-weight:450;line-height:1.065}.about-page h2{letter-spacing:-.025em;font-size:calc(clamp(3.25em,5vw,4.5em)/1.33333);font-weight:450;line-height:1.065}.about-page h3{font-size:clamp(1.55em,2.3vw,2.5em);font-weight:450;line-height:1.45}.about-page p,.case-page p,.case-page li{line-height:1.6}.about-rule{z-index:2;background:#1c1d2033;height:1px;position:relative}.about-globe-ball{aspect-ratio:1;background:var(--blue);border-radius:50%;place-items:center;width:clamp(9em,12vw,11em);display:grid;position:absolute;top:0;right:0;transform:translate(-50%,-50%)}.about-rule .globe{width:3em;height:3em;color:var(--paper);background:0 0;font-size:1em}.about-rule .globe svg{width:100%;height:100%}.about-image-section{padding-top:calc(var(--section) * .75);background:var(--paper);position:relative}.about-image-row{display:flex;position:relative}.about-image-copy{width:35%;padding-left:var(--gutter);padding-right:calc(var(--gutter) / 2);position:relative}.about-image-copy>.arrow{width:1.5em;height:1.5em;position:absolute;top:0;left:0;transform:rotate(45deg)}.about-image-copy p{margin-top:-.33em}.about-image-copy .pill-button{margin-top:2em}.about-image-column{width:65%}.about-portrait-frame{aspect-ratio:1/1.35;background:var(--soft);position:relative;overflow:hidden}.about-portrait-parallax{height:105%;position:absolute;inset:-20vh 0 auto}.about-portrait-parallax img{object-fit:cover}.about-image-band{display:none}.about-services-section{background:var(--soft);padding-top:calc(var(--section) * .75);margin-top:-1px}.about-services-section h2{padding-bottom:calc(var(--section) / 2)}.about-services-grid{gap:calc(var(--gutter) / 1.5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.about-service-number{padding-bottom:2em;font-size:.8em;display:block}.about-service-stripe{background:#1c1d2033;height:1px;margin-bottom:2em}.about-services-grid p{padding-top:2em}.about-content-split{grid-template-columns:40% 50%;justify-content:space-between;display:grid}.about-content-split>h2{padding-right:calc(var(--gutter) / 2)}.about-experience-list article{border-top:1px solid #1c1d2033;padding-block:1.75em}.about-experience-list article:first-child{border-top:0;padding-top:0}.about-experience-list h3{margin-block:.4em .25em}.about-small-label{color:var(--gray);font-size:.75em}.about-learning-section{padding-top:0}.about-skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5em 2em;display:grid}.about-skills-grid h3{margin-bottom:.65em;font-size:1em}.about-technologies{flex-wrap:wrap;gap:.5em 1em;margin:0;padding:0;list-style:none;display:flex}.about-technologies li{max-width:100%}.technology{align-items:baseline;gap:8px;max-width:100%;display:inline-flex}.technology>svg{flex:0 0 20px;align-self:flex-start;width:20px;height:20px;margin-top:.175em}.technology>span{overflow-wrap:anywhere;min-width:0}.technology:focus-visible{outline-offset:4px;border-radius:2px;outline:2px solid}.technology-preview-position{z-index:100;transform-origin:var(--radix-hover-card-content-transform-origin)}.technology-preview{background:var(--paper);color:var(--ink);border:2px solid #0000;border-radius:12px;padding:4px;display:block;box-shadow:0 20px 25px -5px #00000026,0 8px 10px -6px #00000026}.technology-preview:hover,.technology-preview:focus-visible{border-color:var(--soft)}.technology-preview img{object-fit:cover;border-radius:8px;width:200px;height:125px;display:block}.technology-preview-fallback{overflow-wrap:anywhere;flex-direction:column;justify-content:center;width:200px;height:125px;padding:12px;font-size:14px;display:flex}.technology-preview-fallback>span{font-size:12px}.about-certifications{padding-top:calc(var(--section) / 2)}.about-certifications>h3{margin-bottom:1em}.about-certifications article{border-top:1px solid #1c1d2033;padding-block:1em}.about-certifications article span{margin-top:.5em;display:block}.contact-page{background:var(--ink);color:var(--paper);padding-top:calc(var(--section) * 1.33);padding-bottom:calc(var(--section) / 3)}.contact-heading-row,.contact-content-row{display:flex}.contact-heading-row>h1,.contact-primary{width:73%;padding-right:calc(var(--gutter) / 2)}.contact-heading-aside,.contact-details{width:27%;padding-left:calc(var(--gutter) / 2)}.contact-heading-aside{padding-top:.5em;position:relative}.contact-portrait{border-radius:50%;width:clamp(4.5em,6.5vw,8em);height:clamp(4.5em,6.5vw,8em);position:relative;overflow:hidden}.contact-portrait img,.contact-inline-portrait img{object-fit:cover}.contact-heading-aside>.arrow{bottom:calc(var(--section) * -.5);width:1.5em;height:1.5em;position:absolute;transform:translateY(-50%)rotate(90deg)}.contact-inline-portrait{display:none}.contact-content-row{padding-top:var(--section)}.contact-action-list>a{border-top:1px solid #fff3;align-items:center;min-height:9.6rem;padding:2em 1em 2em 2.75em;font-size:1.33em;display:flex;position:relative}.contact-action-list>a:last-child{border-bottom:1px solid #fff3}.contact-action-number{color:var(--gray);font-size:.5em;position:absolute;top:3.1em;left:0}.contact-action-content{flex-direction:column;gap:.65em;min-width:0;display:flex}.contact-action-label{font-size:.8em}.contact-action-value{overflow-wrap:anywhere;line-height:1.4}.contact-action-list>a>.arrow{flex-shrink:0;width:.9em;height:.9em;margin-left:auto;margin-right:0}.contact-action-list>a:hover .contact-action-value{color:var(--gray)}.contact-details h2{color:var(--gray);text-transform:uppercase;letter-spacing:.04em;margin-bottom:1.25em;font-size:.65em;font-weight:450}.contact-details>div{padding-bottom:2.5em}.contact-details a,.contact-details p{overflow-wrap:anywhere;line-height:2;display:block}.contact-details .socials{flex-direction:column;align-items:flex-start;gap:0;display:flex}.case-heading{padding-top:calc(var(--section) * 1.33)}.case-heading h1{letter-spacing:-.025em;overflow-wrap:break-word;font-size:clamp(3.25em,7vw,8em);font-weight:450;line-height:1.065}.case-back-link{margin-bottom:2em;font-size:.8em;display:inline-flex}.case-metadata{padding-top:calc(var(--section) / 1.75);padding-bottom:calc(var(--section) / 1.25)}.case-metadata-grid{gap:calc(var(--gutter) / 2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.case-metadata h2{text-transform:uppercase;color:var(--gray);letter-spacing:.04em;border-bottom:1px solid #1c1d2033;margin-bottom:1.5em;padding-bottom:1.5em;font-size:.65em;font-weight:450}.case-metadata p{font-size:.95em}.case-cover-section{padding-bottom:var(--section)}.case-cover-frame{aspect-ratio:1/.6;background:var(--soft);position:relative;overflow:hidden}.case-cover-parallax{height:120%;position:absolute;inset:-10% 0 auto}.case-cover-parallax img{object-fit:cover}.case-story{background:var(--soft)}.case-story h2{max-width:26em;font-size:clamp(1.75em,3vw,3em);font-weight:450;line-height:1.3}.case-story-columns{padding-top:calc(var(--section) / 2);grid-template-columns:65% 27%;justify-content:space-between;display:grid}.case-story-columns h3{color:var(--gray);text-transform:uppercase;margin-bottom:1.5em;font-size:.75em;font-weight:450}.case-story-columns h3:not(:first-child){margin-top:3em}.case-story-columns ul{padding-left:1em}.case-story-columns li+li{margin-top:.75em}.case-story-columns .case-stack{padding-left:0;list-style:none}.case-stack li{border-top:1px solid #1c1d2033;padding-top:.75em}.case-gallery-section h2{color:var(--gray);margin-bottom:2.5em;font-size:.8em;font-weight:450}.case-gallery-section .team-photo-grid{gap:var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.case-gallery-section .team-photo-grid figure{margin:0}.case-gallery-section .team-photo-grid button{background:var(--soft);cursor:zoom-in;border:0;width:100%;padding:0;display:block}.case-gallery-section .team-photo-grid img{width:100%;height:auto;display:block}.case-gallery-section .team-photo-grid-3 figure:first-child{grid-column:1/-1}.case-gallery-section .team-photo-grid-1{margin-inline:var(--gutter);grid-template-columns:1fr}@media (max-width:1000px){.case-cover-frame{aspect-ratio:1/.8}.about-globe-ball{transform:translate(-20%,-50%)}}@media (max-width:840px){.about-image-section{padding-top:calc(var(--section) * .85)}.about-image-row{flex-wrap:wrap}.about-image-copy{width:100%;margin-left:var(--gutter);padding:calc(var(--section) / 4) var(--gutter) 0 0}.about-image-copy>.arrow{top:calc(var(--section) / -4);transform:translateY(-50%)rotate(90deg)}.about-image-column{width:100%;padding-top:calc(var(--section) / 1.15)}.about-portrait-frame{aspect-ratio:1/1.25}.about-image-band{background:var(--soft);width:100%;height:60vw;display:block;position:absolute;bottom:0;left:0}}@media (max-width:720px){.about-services-section{padding-top:var(--section)}.about-services-grid{gap:calc(var(--section) / 2);grid-template-columns:1fr}.about-service-number{display:none}.about-content-split{gap:calc(var(--section) / 2);grid-template-columns:1fr}.about-content-split>h2{padding-right:0}.about-experience-section{padding-top:calc(var(--section) / 1.5)}.contact-page{padding-top:210.6px}.contact-heading-row,.contact-content-row{flex-direction:column}.contact-heading-row>h1,.contact-primary,.contact-heading-aside,.contact-details{width:100%;padding-inline:0}.contact-heading-aside{height:calc(var(--section) * .75);padding:0}.contact-portrait{display:none}.contact-inline-portrait{border-radius:50%;width:.95em;height:.95em;margin-right:.125em;display:inline-flex;position:relative;overflow:hidden;transform:translateY(.1em)}.contact-heading-aside>.arrow{top:-4em;bottom:auto;right:.5em;transform:translateY(-50%)scaleX(-1)rotate(90deg)}.contact-content-row{padding-top:0}.contact-details{order:-1}.contact-details .contact-aside-socials{display:none}.contact-primary{padding-top:calc(var(--section) / 4)}.contact-action-list>a{min-height:132px;padding:1.5em 0 1.5em 1.5em;font-size:1.15em}.contact-action-number{top:3em}.case-heading{padding-top:210.6px}.case-metadata{padding-top:calc(var(--section) * .4);padding-bottom:calc(var(--section) * .8)}.case-metadata-grid{grid-template-columns:1fr;gap:8vw}.case-metadata h2{margin-bottom:3vw;padding-bottom:4.5vw}.case-cover-section{padding-bottom:0}.case-cover-section>.wide-container{margin-inline:0}.case-cover-frame{aspect-ratio:1}.case-story-columns{gap:calc(var(--section) / 2);grid-template-columns:1fr}.case-gallery-section .team-photo-grid{grid-template-columns:1fr}.case-gallery-section .team-photo-grid-1{margin-inline:0}}@media (max-width:540px){.about-image-copy{margin-left:0;padding-right:0}.about-image-column{padding-top:calc(var(--section) * .5)}.about-portrait-frame{aspect-ratio:1/1.4}.about-portrait-parallax{height:120%;top:-18%}.about-skills-grid{grid-template-columns:1fr}}:root{--ink:#1c1d20;--dark:#141517;--paper:#fff;--blue:#455ce9;--blue-dark:#334bd3;--gray:#999d9e;--soft:#e9eaeb;--muted:#727377;--line:#1c1d202d;--line-light:#fff3;--body-size:clamp(16px,1.2vw,19px);--gutter:clamp(calc(var(--body-size) * 2.5),8vw,calc(var(--body-size) * 8));--section:clamp(calc(var(--body-size) * 5),21vh,calc(var(--body-size) * 12));--gap:clamp(calc(var(--body-size) * 1.5),4vw,calc(var(--body-size) * 2.5));--ease:cubic-bezier(.7,0,.3,1);--fast:.3s;--primary:.5s}*{box-sizing:border-box}html{background:var(--paper);scrollbar-width:none}html::-webkit-scrollbar{display:none}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto}.lenis.lenis-stopped{overflow:clip}html[data-route-busy]{overflow:hidden}html:has(dialog[open]){overflow:hidden}body{color:var(--ink);background:var(--paper);font-family:var(--font-sans),Arial,sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:clamp(16px,1.2vw,19px);font-weight:450;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:6px}img{max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.025em;font-weight:450}h1{font-size:calc(clamp(3.25em,7vw,8em)/1.14286);line-height:1.065}h2{font-size:calc(clamp(3.25em,5vw,4.5em)/1.33333);line-height:1.065}h3{font-size:clamp(1.55em,2.3vw,2.5em);line-height:1.3}.label{letter-spacing:.02em;text-transform:uppercase;color:var(--gray);font-size:.65em;line-height:1.2}.wide-container{margin-inline:var(--gutter)}.medium-container{margin-inline:calc(var(--gutter) * 2)}.section-space{padding-block:var(--section)}.portfolio-shell{position:relative;overflow:clip}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;color:var(--ink);background:#fff;padding:.6rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.reveal-word{vertical-align:top;margin-bottom:-.12em;padding-bottom:.12em;display:inline-flex;overflow:hidden}.reveal-word>span{display:inline-block}.site-header{z-index:10;padding:calc(var(--gap) / 2);align-items:center;gap:1.5em;display:flex;position:absolute;top:0;left:0;right:0}.header-light{color:#fff}.brand{white-space:nowrap;padding-inline:calc(var(--gap) / 2);align-items:center;gap:.35em;display:flex}.brand-copyright{transition:transform var(--primary) var(--ease);display:inline-block}.brand:hover .brand-copyright{transform:rotate(360deg)}.brand-label{display:inline-block}.site-nav{margin-left:auto;display:flex}.nav-link{padding:.8em 1.25em;position:relative}.nav-link:after{content:"";width:.3em;height:.3em;transition:transform var(--fast) var(--ease);background:currentColor;border-radius:50%;position:absolute;bottom:0;left:calc(50% - .15em);transform:scale(0)}.nav-link:hover:after,.nav-link[aria-current]:after{transform:scale(1)}.nav-link .button-fill{display:none}.language-switch{gap:.25em;font-size:.7em;display:flex}.language-switch button{opacity:.6;background:0 0;padding:.7em .3em}.language-switch button[aria-pressed=true]{opacity:1;text-underline-offset:.35em;text-decoration:underline}.mobile-menu{background:0 0;align-items:center;gap:.6em;padding:.7em 0;display:none}.mobile-menu>span{background:currentColor;border-radius:50%;width:.3em;height:.3em}.menu-toggle-position,.menu-close-position{z-index:20;right:calc(var(--gap) / 1.5);top:calc(var(--gap) / 1.5);aspect-ratio:1;width:clamp(4em,5.5vw,5em);position:fixed}.menu-toggle-position{visibility:hidden;pointer-events:none;transition:transform .4s cubic-bezier(.36,0,.66,0),visibility .4s;transform:scale(0)}.menu-toggle-position.is-visible{visibility:visible;pointer-events:auto;transition:transform .4s cubic-bezier(.34,1.5,.64,1),visibility .4s;transform:scale(1)}.menu-close-position{z-index:2;transform:scale(0)}.menu-toggle.magnetic-button,.menu-close.magnetic-button{width:100%;height:100%;box-shadow:inset 0 0 0 1px var(--line-light);position:relative}.menu-bars>span{background:currentColor;width:25px;height:1px;display:block}.menu-bars{flex-direction:column;justify-content:center;width:25px;height:12px;display:flex;position:relative}.menu-bars>span{position:absolute;top:50%}.menu-bars>span:first-child{transform:translateY(-4px)}.menu-bars>span:last-child{transform:translateY(4px)}.round-button{aspect-ratio:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:clamp(9em,12vw,11em);font-size:1em;display:inline-flex;position:relative}.dark-button{background:var(--ink);color:#fff}.blue-button{background:var(--blue);color:#fff}.blue-button .button-fill{background:var(--blue-dark)}.pill-button{border:1px solid var(--line);background:0 0;border-radius:2.125em;justify-content:center;align-items:center;min-height:4.25em;padding:0 2.5em;display:inline-flex}.magnetic-button{isolation:isolate;position:relative}.magnetic-button:not(.nav-link){overflow:hidden}.button-fill{z-index:-1;background:var(--blue);visibility:hidden;pointer-events:none;border-radius:50%;width:150%;height:200%;position:absolute;top:-50%;left:-25%}.magnetic-text{pointer-events:none;justify-content:center;align-items:center;gap:.6em;display:inline-flex;position:relative}.pill-button sup{font-size:.6em;transform:translateY(-.4em)}.arrow{vertical-align:middle;width:1.5em;height:1.5em;display:inline-block}.arrow-down{transform:rotate(90deg)}.globe svg{width:65%;height:65%;transform:rotate(-20deg)}.globe{color:#fff;background:var(--gray);border-radius:50%;place-items:center;width:4.2em;height:4.2em;display:inline-grid}.hero{background:var(--gray);color:#fff;height:115svh;min-height:115svh;position:relative;overflow:hidden}.hero-image-entry,.hero-name-entry,.hero-name-parallax{position:absolute;inset:0}.hero-image-parallax{position:absolute;inset:-10% 0 0}.hero-name-entry{pointer-events:none}.hero-portrait{object-fit:cover;object-position:center 47%}.hero-shade{background:linear-gradient(#1c1d2047,#0000 35%,#1c1d2033);position:absolute;inset:0}.location-pill{height:6em;padding:.9em .9em .9em var(--gap);background:var(--ink);border-radius:0 6em 6em 0;align-items:center;gap:2em;line-height:1.2;display:flex;position:absolute;top:50svh;left:0;translate:0 -50%}.location-pill .globe{background:#444549}.hero-role{top:calc(50% - 3.1em);right:var(--gutter);font-size:clamp(1.55em,2.3vw,2.5em);line-height:1.4;position:absolute}.hero-role>.arrow{width:clamp(1.1rem,1.3vw,1.25rem);height:auto;position:absolute;top:-12.5svh}.name-ticker{width:100%;padding-bottom:calc(var(--gap) * 1.25);position:absolute;bottom:15svh}.name-track{white-space:nowrap;letter-spacing:-.035em;width:max-content;font-size:max(9rem,15vw);line-height:1;display:flex}.name-track>span{padding-right:6vw;display:block}.home-intro{padding-bottom:calc(var(--section) * .66);grid-template-columns:70% 30%;display:grid}.home-intro h2{padding-right:var(--gap);font-size:clamp(1.55em,2.3vw,2.5em);line-height:1.45}.home-intro>div{padding-left:var(--gap);position:relative}.home-intro p{max-width:14em;margin-bottom:6em;padding-top:.5em}.intro-button-position{position:absolute;top:80%}.work-label{margin:0 var(--gutter) 3em}.project-rows{position:relative}.project-row{border-top:1px solid var(--line);padding:calc(var(--section) / 3.5) 0 calc(var(--section) / 3);transition:opacity var(--fast) var(--ease);grid-template-columns:70% 30%;align-items:center;display:grid;position:relative}.project-row:last-child{border-bottom:1px solid var(--line)}.home-rows .project-row h2{padding-left:var(--gutter);padding-right:.3em;font-size:calc(clamp(3.25em,7vw,8em)/1.33333);line-height:1.1}.project-row h2,.project-row>span{transition:transform var(--fast) var(--ease)}.project-row:hover{opacity:.33}.project-row:hover h2{transform:translateX(calc(var(--gutter) * -.1))}.project-row:hover .project-category{transform:translateX(calc(var(--gutter) * .1))}.home-rows .project-category{padding:1em calc(var(--gutter) * .5) 0 var(--gap);align-self:start}.home-rows .project-year,.project-mobile-image,.project-row-arrow{display:none}.more-work{padding-block:calc(var(--section) * .5) calc(var(--section) * .8);justify-content:center;display:flex}.page-heading{padding-top:calc(var(--section) * 1.33);padding-bottom:calc(var(--section) * .66)}.index-section{padding-bottom:calc(var(--section) * .75)}.work-filters{justify-content:space-between;gap:var(--gap);padding-inline:var(--gutter);padding-bottom:calc(var(--section) / 2);margin-top:calc(var(--section) * -.25);display:flex}.work-filter-options{flex-wrap:wrap;gap:.5em;display:flex}.filter-button{padding-inline:1.75em}.filter-button[aria-pressed=true],.view-button[aria-pressed=true]{background:var(--ink);color:#fff}.work-view-options{align-items:start;gap:.5em;display:flex}.view-button{border:1px solid var(--line);background:0 0;border-radius:50%;place-items:center;width:4.25em;height:4.25em;display:grid}.project-table-heading,.index-rows .project-row{grid-template-columns:44% 20% 22% 14%;display:grid}.project-table-heading{padding-block:0 2em}.project-table-heading>:first-child,.index-rows .project-row>h2{padding-left:var(--gutter)}.project-table-heading>:last-child,.index-rows .project-year{text-align:right;padding-right:var(--gutter)}.index-rows .project-row{padding-block:2em}.index-rows .project-row>h2{padding-right:.5em;font-size:clamp(1.75em,2.3vw,2.5em);line-height:1.15}.index-rows .project-category,.project-organization{padding-right:1em}.project-preview-layer{pointer-events:none}.preview-image,.preview-button,.preview-label{z-index:25;pointer-events:none;width:0;position:fixed;top:0;left:0;overflow:hidden}.preview-image{aspect-ratio:1;background:var(--soft);transform:translate(-50%,-52%)}.preview-strip{width:100%;position:absolute;top:0;left:0}.preview-strip>div{aspect-ratio:1;width:100%;position:relative}.preview-strip img{object-fit:cover}.preview-button,.preview-label{z-index:26;height:0;transform:translate(-50%,-60%)}.preview-button{background:var(--blue);border-radius:50%}.preview-label{color:#fff;place-items:center;display:grid}.preview-label>span{white-space:nowrap;font-size:0}.project-collection[data-view=grid]{gap:0 calc(var(--gutter) * .5);padding-inline:calc(var(--gutter) * .25);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-collection[data-view=grid] .project-table-heading{display:none}.project-collection[data-view=grid] .project-row{padding:0 0 var(--section);border:0;grid-template-columns:1fr auto;align-items:start;display:grid}.project-collection[data-view=grid] .project-mobile-image{aspect-ratio:1;grid-column:1/-1;margin-bottom:2em;display:block;position:relative;overflow:hidden}.project-mobile-image img{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease);display:block}.project-collection[data-view=grid] .project-row h2{border-bottom:1px solid var(--line);grid-column:1/-1;margin-bottom:1em;padding:0 0 1em;font-size:calc(1.15*clamp(1.75em,2.3vw,2.5em));line-height:1.2}.project-collection[data-view=grid] .project-row>span{padding:0;font-size:.85em}.project-collection[data-view=grid] .project-organization,.project-collection[data-view=grid] .project-row-arrow{display:none}.project-collection[data-view=grid] .project-row:hover h2,.project-collection[data-view=grid] .project-row:hover .project-category{transform:none}.project-collection[data-view=grid] .project-row:hover{opacity:1}.project-collection[data-view=grid] .project-row:hover img{transform:scale(1.025)}.footer-wrap{background:var(--ink);color:#fff;position:relative;overflow:hidden}.site-footer{padding-top:var(--section);position:relative}.footer-round{z-index:1;pointer-events:none;width:100%;height:10vh;position:absolute;top:-1px;left:0;overflow:hidden}.footer-round>div{background:var(--paper);border-radius:50%;width:150%;height:750%;position:absolute;top:0;left:50%;transform:translate(-50%,-86.666%)}.footer-title{padding-bottom:calc(var(--section) / 2);justify-content:space-between;align-items:end;gap:2em;display:flex}.footer-title h2{max-width:18ch;font-size:calc(clamp(3.25em,7vw,8em)/1.14286);line-height:1.065}.footer-title img{object-fit:cover;border-radius:50%;width:.85em;height:.85em;margin-right:.125em;display:inline-block}.footer-title>.arrow{flex-shrink:0;width:1.5em;height:1.5em;margin-bottom:.25em}.footer-rule{border-top:1px solid var(--line-light);position:relative}.footer-button-position{z-index:2;position:absolute;top:0;right:0;translate:-50% -50%}.footer-actions{padding-top:calc(var(--section) * .475);flex-wrap:wrap;gap:.5em;display:flex}.footer-actions .pill-button,.case-footer .pill-button{border-color:var(--line-light)}.footer-bottom{align-items:end;gap:var(--gap);padding:calc(var(--section) / 1.3) calc(var(--gap) / 1.33) calc(var(--gap) / 1.75) var(--gap);font-size:.85em;display:flex}.footer-bottom .label{margin-bottom:1.5em}.footer-social{margin-left:auto}.socials{flex-wrap:wrap;gap:1.5em;display:flex}.socials a{position:relative}.socials a:after{content:"";transform-origin:100%;height:1px;transition:transform var(--primary) var(--ease);background:currentColor;position:absolute;bottom:-.2em;left:0;right:0;transform:scaleX(0)}.socials a:hover:after{transform-origin:0;transform:scaleX(1)}.compact-footer .site-footer{padding-top:0}.contact-theme{background:var(--ink);color:#fff}.next-case{text-align:center}.next-case>.label{margin-bottom:3em}.next-case-link{padding-bottom:calc(var(--section) * .75);border-bottom:1px solid var(--line-light);display:block;position:relative}.next-case-link h2{z-index:1;transition:opacity .5s var(--ease);font-size:calc(clamp(3.25em,7vw,8em)/1.14286);line-height:1.065;position:relative}.next-case-preview{aspect-ratio:1/.5;width:calc(clamp(10em,27.5vw,25em)/1.11111);position:absolute;bottom:0;left:50%;overflow:hidden;translate:-50%}.next-case-preview>div{aspect-ratio:1/.85;width:100%;transition:transform .7s var(--ease);background:var(--soft);position:absolute;top:0;transform:translateY(30%)}.next-case-preview img{object-fit:cover}.next-case-link:hover h2{opacity:.25}.next-case-link:hover .next-case-preview>div{transform:translateY(0)}.next-case-actions{padding-top:calc(var(--section) / 2);justify-content:center;display:flex}.site-dialog{color:#fff;background:0 0;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.drawer-dialog::backdrop{background:0 0}.menu-scrim{background:var(--dark);opacity:0;position:absolute;inset:0}.drawer-dialog{--menu-curve-width:6vw;overflow:clip}.menu-panel{background:var(--ink);width:max(38vw,440px);height:100%;transform:translateX(calc(100% + var(--menu-curve-width)));margin-left:auto;position:relative}.menu-inner{flex-direction:column;height:100%;padding:15vh 7.5vw 10vh;display:flex;position:relative;overflow-y:auto}.menu-inner>.label{border-bottom:1px solid var(--line-light);padding-bottom:3em}.menu-curve{width:var(--menu-curve-width);height:100%;position:absolute;top:0;left:1px;overflow:hidden;transform:translate(-100%)}.menu-curve>div{background:var(--ink);border-radius:50%;width:775%;height:150%;position:absolute;top:50%;transform:translate(-6.5%,-50%)}.drawer-nav{flex-direction:column;align-items:start;padding-block:5vh;display:flex}.drawer-nav>a{letter-spacing:-.025em;font-size:calc(clamp(3.25em,5vw,4em)/1.14286);line-height:1.4;position:relative}.drawer-nav>a[aria-current]:before{content:"";background:currentColor;border-radius:50%;width:.15em;height:.15em;position:absolute;top:50%;left:-.5em}.drawer-nav>a:hover{color:var(--gray)}.menu-bottom{margin-top:auto}.menu-bottom .socials{margin-block:1em;font-size:.85em}.gallery-dialog::backdrop{background:#141517e6}.lightbox-content{place-items:center;height:100%;padding:2em;display:grid}.lightbox-content>div{flex-direction:column;align-items:center;width:min(100%,1100px);max-height:100%;display:flex}.lightbox-content img{object-fit:contain;width:auto;max-width:100%;max-height:75vh}.lightbox-close{color:#fff;background:0 0;align-self:end;padding:.75em}.lightbox-controls{justify-content:space-between;align-items:center;gap:1em;width:100%;padding-top:1em;display:flex}.lightbox-controls button{color:#fff;background:0 0;padding:.75em}.route-curtain{z-index:50;pointer-events:none;color:#fff;font-size:clamp(2.75rem,5vw,4.5rem);line-height:1.065;position:fixed;inset:0;overflow:hidden}.curtain-screen{background:var(--dark);position:absolute;inset:0}.curtain-words{text-align:center;width:90%;position:absolute;top:50%;left:50%;translate:-50%}.curtain-words>span{letter-spacing:-.04em;width:max-content;max-width:100%;padding-left:.6em;padding-right:.4em;position:absolute;left:50%;translate:-50%}.curtain-words>span:before{content:"";background:currentColor;border-radius:50%;width:.15em;height:.15em;position:absolute;top:.47em;left:0}.loader-greeting{opacity:0;white-space:nowrap;display:none}.curtain-curve{width:100%;height:0;position:absolute;left:0;overflow:hidden}.curtain-curve>div{background:var(--dark);border-radius:50%;width:150%;height:745%;position:absolute;top:0;left:50%;transform:translate(-50%,-86.666%)}.curtain-curve-top{top:1px;transform:translateY(-99%)scaleY(-1)}.curtain-curve-bottom{bottom:1px;transform:translateY(99%)}@media (min-width:1025px){.index-rows[data-view=grid] .preview-image{display:none}}@media (max-width:1200px){:root{--gutter:6vw}}@media (max-width:1024px){.work-view-options,.project-preview-layer{display:none}.work-filters{padding-inline:0}.project-collection,.project-collection[data-view=grid]{gap:0 calc(var(--gutter) * .5);padding-inline:calc(var(--gutter) * .25);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-table-heading{display:none!important}.project-rows .project-row{padding:0 0 var(--section);border:0;grid-template-columns:1fr auto;align-items:start;display:grid}.project-mobile-image{aspect-ratio:1;grid-column:1/-1;margin-bottom:2em;display:block;overflow:hidden}.project-rows .project-row h2{border-bottom:1px solid var(--line);grid-column:1/-1;margin-bottom:1em;padding:0 0 1em;font-size:calc(1.15*clamp(1.75em,2.3vw,2.5em));line-height:1.2}.project-rows .project-row>span{padding:0;font-size:.85em}.project-rows .project-year{text-align:right;display:block}.project-rows .project-organization,.project-rows .project-row-arrow{display:none}.project-row:hover{opacity:1}.project-row:hover h2,.project-row:hover .project-category{transform:none}.more-work{padding-top:0}}@media (max-width:1000px){.next-case-preview{width:40vw}.next-case-preview>div{transform:translateY(20%)}}@media (max-width:900px){.footer-actions{padding-top:calc(var(--section) * .75)}}@media (max-width:720px){:root{--section:12svh}.hero{height:110svh;min-height:110svh}.hero-image-parallax{inset:-5% 0 0}.hero-portrait{object-position:50% 45%}.hero-role{top:auto;right:auto;left:var(--gutter);bottom:calc(9svh + var(--gap) * 2);font-size:1.75em}.hero-role>.arrow{top:-8svh}.name-ticker{bottom:33svh}.location-pill{background:0 0;border-radius:50% 0 0 50%;padding:.9em;top:100svh;left:auto;right:0;translate:0 -110%}.location-pill>span:first-child{display:none}.location-pill .globe{background:0 0}.home-intro{padding-bottom:var(--section);grid-template-columns:1fr}.home-intro h2{padding:0}.home-intro>div{min-height:11em;margin-top:2em;padding:0}.home-intro p{max-width:60%;margin:0}.intro-button-position{top:0;right:0}.intro-button-position .round-button{width:8em;font-size:.9em}.work-label{display:none}.page-heading{padding-top:210.6px}.footer-title{padding-bottom:calc(var(--section) * .75)}.footer-title h2{font-size:8vw}.footer-title>.arrow{display:none}.footer-round{height:7.5svh}.footer-button-position{translate:-20% -50%}.footer-actions{padding-top:calc(var(--section) * 1.25);flex-direction:column;align-items:start}.footer-actions .pill-button{max-width:100%;padding-inline:1.5em}.footer-actions .magnetic-text{overflow-wrap:anywhere}.footer-bottom{padding:calc(var(--section) / 2) var(--gutter) calc(var(--gap) / 1.75);flex-wrap:wrap;justify-content:space-between;gap:0}.footer-social{border-bottom:1px solid var(--line-light);order:-1;width:100%;margin-bottom:2em;margin-left:0;padding-bottom:2em}.footer-social>.label{display:none}.next-case-preview{width:50vw}.next-case-preview>div{transform:none}.next-case-link{padding-bottom:13em}.next-case-link:hover h2{opacity:1}.next-case-link h2{font-size:8vw}.lightbox-content{padding:1em}.lightbox-controls{font-size:.85em}}@media (max-width:620px){.project-collection,.project-collection[data-view=grid]{grid-template-columns:1fr;padding-inline:0}}@media (max-width:540px){:root{--gutter:clamp(calc(var(--body-size) * 1.25),4vw,calc(var(--body-size) * 2.5));--section:max(calc(var(--body-size) * 2.5),12svh)}.medium-container{margin-inline:var(--gutter)}.site-header{gap:.6em;padding:1.5em .75em}.brand{padding-inline:.5em;font-size:1em}.site-nav{display:none}.site-header .language-switch{margin-left:auto}.mobile-menu{font-size:1em;display:inline-flex}.name-track{letter-spacing:-.04em}.menu-panel{width:100%}.drawer-dialog{--menu-curve-width:20vw}.menu-inner{padding:15svh var(--gutter) calc(var(--gap) * 1.25);transform:translate(20vw)}.drawer-nav{align-items:stretch;padding-block:3svh}.drawer-nav>a{font-size:3em}.drawer-nav>a[aria-current]:before{left:auto;right:.4em}.menu-bottom{border-top:1px solid var(--line-light);padding-top:calc(var(--section) / 3)}.filter-button{padding-inline:1.25em;font-size:.85em}.footer-title h2{font-size:11.6667vw}.next-case-preview{aspect-ratio:1/.6;width:70vw}}@media (max-height:680px){.menu-inner{padding-top:12vh;padding-bottom:5vh}.drawer-nav>a{font-size:3em;line-height:1.25}}@media (hover:none),(pointer:coarse){.project-preview-layer{display:none}.project-row:hover{opacity:1}.project-row:hover h2,.project-row:hover .project-category{transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation:none!important}.route-curtain,.project-preview-layer{display:none}.name-track{font-size:clamp(2.5rem,10vw,9rem);transform:none!important}.name-track>span:last-child{display:none}.magnetic-button:not(.nav-link):is(:hover,:focus-visible){background:var(--blue);color:#fff}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@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}
