@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-medium.ttf) format("truetype");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-semibold.ttf) format("truetype");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-bold.ttf) format("truetype");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/plex-regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/plex-medium.ttf) format("truetype");font-style:normal;font-weight:500;font-display:swap}:root{--ink:#101713;--bone:#eae9e1;--white:#f4f3ed;--concrete:#b8b8ad;--steel:#747d79;--lime:#c7d87d;--line:rgba(16,23,19,.22);--ease:cubic-bezier(.16,1,.3,1);--margin:4.2vw;font-family:Instrument Sans,Arial,sans-serif;color:var(--ink);background:var(--bone);font-synthesis:none;scrollbar-width:thin}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;border:0;background:none;cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--steel);outline-offset:5px}button:disabled{opacity:.4;cursor:not-allowed}::selection{background:var(--lime);color:var(--ink)}.mono{font-family:IBM Plex Mono,monospace;font-size:10px;line-height:1.5;font-weight:400;letter-spacing:.05em;text-transform:uppercase}.mark{width:48px;height:48px;flex-shrink:0}.brand{display:flex;align-items:center;gap:10px}.brand>span{font-size:23px;letter-spacing:.2em;font-weight:600}.header{position:absolute;z-index:20;top:0;width:100%;height:104px;padding:0 var(--margin);display:flex;align-items:center;justify-content:space-between}.header nav{display:flex;gap:42px;margin-left:20%;text-transform:uppercase;font-size:11px;font-weight:500}.header nav a{position:relative}.header nav a:after,.text-link:after{content:"";position:absolute;bottom:-5px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}.header nav a:hover:after,.text-link:hover:after{transform:scaleX(1);transform-origin:left}.header sup{font-family:IBM Plex Mono;font-size:8px;margin-left:4px}.header-light{color:var(--white)}.menu-button{font-size:11px;display:flex;gap:15px;align-items:center;padding:10px 0}.menu-glyph{font-size:24px;line-height:1;transform:rotate(90deg)}.section{padding:100px var(--margin)}.section-label{display:flex;justify-content:space-between;gap:15px;padding-top:16px;border-top:1px solid var(--line);margin-bottom:54px}.section-label a:hover{color:var(--steel)}.hero{min-height:100svh;padding:140px var(--margin) 18px;display:flex;flex-direction:column;position:relative}.hero-title{display:grid;grid-template-columns:9fr 3fr;gap:24px;padding-bottom:25px}.hero h1{font-size:clamp(70px,8.55vw,160px);letter-spacing:-.072em;line-height:.89;font-weight:500}.hero h1>span{display:block}.build-word{padding-left:12.6vw}.hero-star{font-weight:400;font-size:.66em;margin-left:22px;vertical-align:top;display:inline-block;color:var(--ink)}.hero-side{align-self:end;margin-bottom:7px;padding-left:16px;font-size:12px;line-height:1.5}.hero-side>span{display:block;margin-top:25px;font-size:9px;color:var(--steel)}.hero-photo{display:block;position:relative;height:clamp(280px,48svh,800px);min-height:280px;overflow:hidden;background:var(--ink)}.hero-photo>img{height:110%;margin-top:-2.5%;object-position:center 55%;transition:filter .5s}.hero-photo:hover>img{filter:brightness(.95)}.photo-caption{position:absolute;bottom:22px;left:23px;right:23px;display:flex;justify-content:space-between;color:var(--white);z-index:2;text-shadow:0 1px 7px #000}.photo-caption span:last-child span{margin-left:25px}.image-watermark{position:absolute;right:22px;top:20px;color:#f4f3ed88}.image-watermark .mark{width:38px}.hero-bottom{display:flex;justify-content:space-between;padding:16px 0 0;font-size:9px}.intro{padding-top:140px;padding-bottom:130px}.intro-words{font-size:clamp(48px,8.8vw,155px);line-height:.94;letter-spacing:-.065em}.intro-words .offset{margin-left:16.7%}.intro-line{display:flex;align-items:center;gap:32px}.intro-line img{width:16%;height:8vw;min-height:70px;object-position:center}.intro-line .mark{width:12vw;height:10vw;margin-left:auto}.intro-copy{display:grid;grid-template-columns:1fr 1fr;margin-top:70px;gap:50px}.intro-copy>div{max-width:520px}.intro-copy p{font-size:23px;line-height:1.45;letter-spacing:-.025em}.text-link{display:inline-flex;justify-content:space-between;gap:35px;position:relative;font-family:IBM Plex Mono;font-size:11px;margin-top:25px;text-transform:uppercase}.selected{background:var(--ink);color:var(--bone)}.selected .section-label{border-color:#eae9e133}.section-heading{font-size:clamp(60px,8.8vw,150px);letter-spacing:-.06em;line-height:.94;font-weight:500}.indent{display:inline-block;margin-left:16.7%}.selected-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:90px 28px;margin-top:80px}.project-image{display:block;min-width:0}.project-image .image-frame{overflow:hidden;position:relative;background:#747d7933}.image-frame img{height:110%;margin-top:-2%;transition:scale 1s var(--ease)}.project-image:hover img{scale:1.025}.project-0{grid-column:1 / 8}.project-1{grid-column:9 / 13;margin-top:170px}.project-2{grid-column:2 / 6}.project-3{grid-column:7 / 13;margin-top:90px}.project-0 .image-frame{aspect-ratio:1.4}.project-1 .image-frame,.project-2 .image-frame{aspect-ratio:.8}.project-3 .image-frame{aspect-ratio:1.3}.image-index{position:absolute;top:20px;left:20px;color:var(--white);background:#10171344;padding:3px 6px}.project-caption{display:grid;grid-template-columns:1fr auto;padding-top:18px;gap:9px}.project-caption h3{font-size:23px;letter-spacing:-.025em}.project-caption>span:nth-child(2){font-size:22px}.project-caption .mono{font-size:9px;color:var(--steel)}.selected .project-caption .mono{color:#b8b8ad}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:130px;padding-bottom:130px}.metrics-heading{font-size:5.2vw;line-height:1;letter-spacing:-.05em}.metrics-heading>span{display:block;color:var(--steel);margin-top:20px}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.metrics-grid>div{border-top:1px solid var(--line);padding-top:20px;display:flex;flex-direction:column;gap:20px}.metrics-grid strong{font-size:7vw;font-weight:400;line-height:1;letter-spacing:-.06em}.metrics>small{grid-column:2;color:var(--steel);font-size:8px}.services{position:relative;overflow:hidden;background:var(--white)}.service-list button{display:flex;align-items:center;width:100%;text-align:left;gap:32px;border-bottom:1px solid var(--line);padding:23px 0;position:relative;transition:opacity .4s,color .4s}.service-list button>span:nth-child(2){font-size:clamp(36px,5.2vw,90px);letter-spacing:-.05em;text-transform:uppercase;line-height:1.1}.service-list button>span:last-child{font-size:40px;margin-left:auto;font-weight:400}.service-list button.muted{opacity:.22}.service-list button.active{z-index:2}.service-preview{position:absolute;z-index:3;right:13%;top:31%;width:29%;pointer-events:none;opacity:0;clip-path:inset(100% 0 0 0);transition:opacity .3s,clip-path .7s var(--ease)}.service-preview.visible{opacity:1;clip-path:inset(0 0 0 0)}.service-preview img{aspect-ratio:1.25}.service-preview span{display:block;padding:10px;background:var(--ink);color:var(--bone)}.service-note{margin-left:50%;margin-top:35px;font-size:17px;line-height:1.5}.journal-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.journal-grid>img{aspect-ratio:.8}.journal-grid h2{font-size:6.5vw;line-height:.95;letter-spacing:-.055em;margin:35px 0}.journal-grid p{font-size:19px;line-height:1.5;max-width:380px}footer{background:var(--ink);color:var(--bone);padding:75px var(--margin) 20px}.footer-top{display:grid;grid-template-columns:1fr 2fr;border-bottom:1px solid #eae9e133;padding-bottom:75px;gap:30px}.footer-top>a{font-size:6.6vw;line-height:1;letter-spacing:-.06em}.footer-top>a>span{color:var(--lime)}.footer-info{padding:55px 0;display:grid;grid-template-columns:1.4fr 1fr 1.2fr .5fr;gap:25px;align-items:start;font-size:13px;line-height:1.65}.footer-info .brand{align-self:start}.footer-info>div{display:flex;flex-direction:column;gap:10px}.footer-info>a{display:flex;justify-content:space-between}.footer-bottom{border-top:1px solid #eae9e133;padding-top:20px;display:flex;justify-content:space-between;font-size:8px;color:var(--concrete)}.menu-overlay{position:fixed;inset:0;z-index:100;background:var(--ink);color:var(--bone);padding:28px var(--margin);clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .65s var(--ease),visibility .65s}.menu-overlay.open{clip-path:inset(0 0 0 0);visibility:visible}.menu-top{display:flex;justify-content:space-between;align-items:center}.menu-top>button{font-family:IBM Plex Mono;font-size:12px}.menu-body{display:grid;grid-template-columns:2fr 1fr;gap:10vw;align-items:center;height:calc(100% - 70px)}.menu-body>div{display:flex;flex-direction:column}.menu-body>div>a{font-size:6.4vw;line-height:1.2;letter-spacing:-.05em;text-transform:uppercase;border-bottom:1px solid #eae9e133;display:flex;align-items:center;gap:22px;transform:translateY(40px);opacity:0;transition:transform .7s var(--ease),opacity .7s}.menu-overlay.open .menu-body>div>a{transform:translateY(0);opacity:1}.menu-body>div>a:nth-child(2){transition-delay:.07s}.menu-body>div>a:nth-child(3){transition-delay:.14s}.menu-body>div>a:nth-child(4){transition-delay:.21s}.menu-body>div>a:hover{color:var(--lime)}.menu-body small{font:10px IBM Plex Mono;letter-spacing:0;margin-right:15px}.menu-body a>span{margin-left:auto;font-size:.55em}.menu-body aside>img{aspect-ratio:1.45;margin-bottom:25px}.menu-body aside p{font-size:13px;line-height:1.6;margin-bottom:22px}.loader{position:fixed;inset:0;z-index:200;background:var(--ink);color:var(--bone);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;transition:clip-path .5s var(--ease);clip-path:inset(0 0 0 0)}.loader .mark{height:100px;width:100px}.loader path{stroke-dasharray:400;stroke-dashoffset:400;animation:draw 1.2s var(--ease) forwards}.loader>span{font-size:15px}.loader>small{font:11px IBM Plex Mono;margin-top:20px}.loader-out{clip-path:inset(0 0 100% 0)}@keyframes draw{to{stroke-dashoffset:0}}.cursor{position:fixed;left:-31px;top:-31px;width:62px;height:62px;border-radius:50%;background:var(--lime);color:var(--ink);display:flex;align-items:center;justify-content:center;font:9px IBM Plex Mono;opacity:0;pointer-events:none;z-index:90;transition:opacity .2s;mix-blend-mode:normal}.skip-link{position:fixed;left:15px;top:-100px;z-index:300;padding:15px;background:var(--lime)}.skip-link:focus{top:15px}.projects-page{padding-top:160px}.page-title{font-size:clamp(64px,10.1vw,170px);line-height:.9;letter-spacing:-.065em;margin-bottom:65px}.page-title sup{font:11px IBM Plex Mono;vertical-align:top;margin-left:12px;letter-spacing:0}.project-controls{display:flex;justify-content:space-between;align-items:end;gap:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.project-controls>div:first-child{display:flex;gap:40px;width:70%}.field{display:flex;flex-direction:column;gap:13px;min-width:0}.field>span{font:10px IBM Plex Mono;text-transform:uppercase;letter-spacing:.04em}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid var(--line);padding:12px 0;color:inherit;background:transparent;border-radius:0;min-width:0;outline-offset:4px}.field select{cursor:pointer}.field select option{color:var(--ink);background:var(--white)}.field textarea{resize:vertical;line-height:1.5}.project-controls .field{width:31%}.project-controls .field select{border:0;padding:0;font-size:14px}.view-toggle{display:flex;gap:20px;font:10px IBM Plex Mono}.view-toggle button{opacity:.4;border-bottom:1px solid transparent;padding:8px 0}.view-toggle button.active{opacity:1;border-color:var(--ink)}.result-count{display:block;margin:20px 0 50px;color:var(--steel)}.all-projects-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:95px 28px}.project-list>a{display:grid;grid-template-columns:.35fr 2fr 1fr 1fr auto;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:25px 0;transition:opacity .3s}.project-list h2{font-size:3vw;letter-spacing:-.05em}.project-list:hover>a{opacity:.35}.project-list>a:hover{opacity:1}.project-list>a>span:last-child{font-size:25px}.list-hover{position:fixed;z-index:15;width:340px;height:240px;pointer-events:none;box-shadow:0 0 0 1px #10171322}.detail-hero{height:100svh;min-height:620px;position:relative;color:var(--white);background:var(--ink);padding:160px var(--margin) 30px;display:flex;flex-direction:column;justify-content:space-between}.detail-hero>img{position:absolute;inset:0;height:100%;opacity:.78}.detail-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#10171366,transparent 65%);pointer-events:none}.detail-top,.detail-bottom{position:relative;z-index:2;display:flex;justify-content:space-between;gap:25px}.detail-hero h1{position:relative;z-index:2;font-size:clamp(75px,12vw,210px);letter-spacing:-.065em;line-height:.9;margin-top:auto;margin-bottom:40px;max-width:85%}.detail-intro h2{font-size:7.8vw;line-height:.95;letter-spacing:-.06em}.detail-copy{margin:55px 0 70px 50%;max-width:530px}.detail-copy p{font-size:22px;line-height:1.5;margin-bottom:25px}.detail-copy>span{color:var(--steel)}.detail-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.detail-meta>div{border-top:1px solid var(--line);padding-top:15px}.detail-meta p{font-size:16px;margin-top:15px}.detail-gallery{padding-top:0;display:grid;grid-template-columns:repeat(12,1fr);gap:80px 30px}.gallery-image{padding:0;text-align:left;overflow:hidden}.gallery-image>img{transition:scale .8s var(--ease)}.gallery-image:hover>img{scale:1.025}.gallery-image>span{display:block;padding-top:14px}.gallery-0{grid-column:1/13}.gallery-0>img{aspect-ratio:1.8}.gallery-1{grid-column:2/7}.gallery-1>img{aspect-ratio:.8}.gallery-2{grid-column:8/13;margin-top:140px}.gallery-2>img{aspect-ratio:1.3}.drawing{grid-column:3/11;border:1px solid var(--line);padding:25px}.drawing svg{width:100%;display:block}.drawing>span{font-size:8px}.next-project>a{position:relative;display:block;height:65vh;min-height:350px;overflow:hidden;color:var(--white)}.next-project img{height:100%;filter:brightness(.6);transition:scale 1s var(--ease)}.next-project>a:hover img{scale:1.025}.next-project>a>div{position:absolute;inset:0;padding:60px var(--margin);display:flex;flex-direction:column;justify-content:space-between}.next-project h2{font-size:8vw;letter-spacing:-.055em}.lightbox{position:fixed;inset:0;background:#101713f7;color:var(--bone);z-index:150;padding:25px 4vw;display:flex;flex-direction:column;justify-content:space-between}.lightbox>button{align-self:end;margin-bottom:15px;font:11px IBM Plex Mono}.lightbox>img{height:calc(100% - 100px);object-fit:contain}.lightbox>div{display:flex;justify-content:space-between;margin-top:20px;align-items:center}.lightbox button{font:10px IBM Plex Mono}.studio-hero{padding-top:160px}.studio-hero .page-title{font-size:8.8vw}.studio-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:12vw;align-items:end}.studio-intro img{aspect-ratio:1.4}.studio-intro p{font-size:22px;line-height:1.45;letter-spacing:-.02em}.philosophy{background:var(--ink);color:var(--bone)}.philosophy h2{margin:50px 0 85px}.philosophy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.philosophy-grid>div{border-top:1px solid #eae9e133;padding-top:20px}.philosophy-grid h3{font-size:38px;letter-spacing:-.04em;margin:25px 0}.philosophy-grid p{font-size:16px;line-height:1.6;color:var(--concrete)}.process-row{display:grid;grid-template-columns:.3fr 1.3fr 1fr;align-items:center;gap:30px;padding:28px 0;border-bottom:1px solid var(--line)}.process-row h3{font-size:5vw;letter-spacing:-.055em}.process-row p{font-size:16px;line-height:1.5}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 25px;margin:65px 0 40px}.team-grid>div:nth-child(2){padding-top:90px}.team-grid>div:nth-child(4){grid-column:2;padding-top:50px}.team-grid img{aspect-ratio:.8;filter:grayscale(1)}.team-grid h3{font-size:23px;margin:16px 0 7px;letter-spacing:-.025em}.team-grid .mono{font-size:9px}.team>p{font-size:8px;color:var(--steel)}.contact-page{background:var(--ink);color:var(--bone);padding-top:160px;min-height:100svh}.contact-page .section-label{border-color:#eae9e133}.contact-page .page-title{font-size:8.6vw}.contact-grid{display:grid;grid-template-columns:1fr 2fr;gap:8vw;margin-top:90px}.contact-grid aside>.mark{width:75px;height:75px;margin-bottom:30px}.contact-grid aside p{font-size:15px;line-height:1.6;margin-bottom:28px}.contact-grid aside .text-link{margin:0 0 35px;font-size:14px;text-transform:none;letter-spacing:-.04em;gap:20px}.contact-grid aside>span{color:var(--concrete)}.contact-grid aside details{font:10px IBM Plex Mono;margin-top:35px}.contact-grid aside details p{font:11px IBM Plex Mono;margin-top:15px;color:var(--concrete)}.contact-page .field input,.contact-page .field select,.contact-page .field textarea{border-color:#eae9e155;font-size:16px}.contact-page input::placeholder,.contact-page textarea::placeholder{color:#b8b8ad99}.contact-page .field{gap:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 30px}.field-wide{grid-column:1/-1}.form-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:35px}.form-footer small{font-size:8px;color:var(--concrete);max-width:180px}.submit-button{background:var(--lime);color:var(--ink);padding:24px 26px;display:flex;gap:50px;justify-content:space-between;font:11px IBM Plex Mono;transition:background .3s}.submit-button:hover{background:var(--bone)}.contact-success{padding:20px 0}.contact-success h2{font-size:5.2vw;line-height:1;letter-spacing:-.055em;margin:35px 0}.contact-success>p{font:12px IBM Plex Mono}.contact-success>small{display:block;color:var(--concrete);margin-top:25px}.contact-success .text-link{display:flex;width:fit-content}.services-page{padding-top:110px}.empty{padding:80px 20px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px}.missing{padding-top:180px;min-height:80svh}.missing h1{font-size:8vw;margin-bottom:40px;letter-spacing:-.05em}.route-loading{height:100svh;display:grid;place-items:center;background:var(--ink);color:var(--bone);font:12px IBM Plex Mono}@media(min-width:1600px){.mono{font-size:12px}.header{height:120px}.hero{padding-top:170px}.hero-photo{height:51svh}.hero h1{font-size:9vw}.hero-side{font-size:14px}.hero-bottom{font-size:10px}}@media(max-width:900px){:root{--margin:5vw}.header{height:85px}.header nav{gap:20px;margin-left:0}.brand>span{font-size:19px}.mark{width:40px;height:40px}.hero{padding-top:115px}.hero-title{grid-template-columns:1fr}.hero h1{font-size:12vw}.build-word{padding-left:17vw}.hero-star{margin-left:3vw}.hero-side{padding:0;display:flex;justify-content:space-between;align-items:end;font-size:10px;margin:15px 0 0}.hero-side>span{margin:0}.hero-photo{flex:1;height:auto;min-height:40svh}.section{padding-top:80px;padding-bottom:80px}.section-label{margin-bottom:40px}.intro-words{font-size:10vw}.intro-copy{gap:30px}.intro-copy p{font-size:20px}.selected-grid,.all-projects-grid{gap:60px 20px}.project-1{margin-top:80px}.project-3{margin-top:40px}.project-caption h3{font-size:20px}.metrics-heading{font-size:6vw}.service-preview{right:10%;width:35%}.footer-info{grid-template-columns:1fr 1fr;gap:40px}.menu-body{gap:7vw}.menu-body>div>a{font-size:7vw}.page-title{font-size:12vw}.projects-page,.studio-hero,.contact-page{padding-top:130px}.studio-hero .page-title{font-size:10vw}.studio-intro{gap:50px}.studio-intro p{font-size:18px}.philosophy-grid{gap:25px}.contact-grid{gap:6vw;grid-template-columns:1fr 1.7fr}.contact-page .page-title{font-size:10vw}.form-grid{gap:28px 20px}.form-footer{flex-direction:column;align-items:stretch}.form-footer small{max-width:none}.detail-meta{grid-template-columns:1fr 1fr}.detail-intro h2{font-size:9vw}.journal-grid h2{font-size:8vw}}@media(max-width:600px){:root{--margin:5vw}.header{height:80px}.header nav{display:none}.brand>span{font-size:19px}.header .mark{width:38px;height:38px}.hero{height:100svh;min-height:650px;padding-top:105px;padding-bottom:15px}.hero-title{gap:0;padding-bottom:20px}.hero h1{font-size:15.2vw;line-height:.93;letter-spacing:-.068em}.build-word{padding-left:7vw}.hero-star{margin-left:3vw;font-size:.62em}.hero-side{font-size:9px;line-height:1.5;margin-top:25px}.hero-side>span{font-size:8px;max-width:110px;text-align:right}.hero-photo{min-height:0;height:auto;flex:1}.hero-photo>img{object-position:55% center}.photo-caption{left:13px;right:13px;bottom:14px;font-size:8px;gap:12px;align-items:end}.photo-caption>span:last-child{max-width:135px;text-align:right}.image-watermark{right:10px;top:12px}.hero-bottom{font-size:7px}.hero-bottom>span:last-child{display:none}.section{padding-top:65px;padding-bottom:65px}.section-label{font-size:8px;margin-bottom:35px}.section-label>span:last-child{text-align:right}.intro-words{font-size:10.5vw;line-height:1.05;letter-spacing:-.06em}.intro-line{gap:12px}.intro-line img{width:20%;height:10vw;min-height:0}.intro-words .offset{margin-left:7%}.intro-line .mark{width:10vw;height:10vw}.intro-copy{grid-template-columns:1fr;gap:25px;margin-top:40px}.intro-copy>span{font-size:8px}.intro-copy p{font-size:20px;line-height:1.5}.section-heading{font-size:13vw;line-height:.95}.indent{margin-left:12%}.selected-grid,.all-projects-grid{display:flex;flex-direction:column;gap:45px;margin-top:45px}.project-image{width:100%;margin:0}.project-1,.project-3{width:82%;align-self:end}.project-2{width:90%}.project-0 .image-frame{aspect-ratio:1.15}.project-1 .image-frame{aspect-ratio:.85}.project-2 .image-frame{aspect-ratio:1.1}.project-caption h3{font-size:21px}.project-caption .mono{font-size:8px}.metrics{grid-template-columns:1fr;gap:40px}.metrics-heading{font-size:11vw}.metrics-heading>span{margin-top:10px}.metrics-grid{gap:30px 20px}.metrics-grid strong{font-size:19vw}.metrics-grid .mono{font-size:8px}.metrics>small{grid-column:auto;font-size:7px}.service-list button{gap:15px;padding:22px 0}.service-list .mono{font-size:8px}.service-list button>span:nth-child(2){font-size:7.4vw;max-width:80%}.service-list button>span:last-child{font-size:23px}.service-preview{position:relative;right:auto;top:auto;width:80%;margin:25px 0 0 auto;display:none;transform:none!important}.service-preview.visible{display:block}.service-preview span{font-size:8px}.service-note{margin-left:0;font-size:15px}.journal-grid{grid-template-columns:1fr;gap:35px}.journal-grid>img{width:80%;aspect-ratio:.9}.journal-grid h2{font-size:17vw;margin:25px 0}.journal-grid p{font-size:17px}footer{padding-top:60px}.footer-top{grid-template-columns:1fr;padding-bottom:45px;gap:28px}.footer-top>a{font-size:12vw}.footer-top .mono{font-size:8px}.footer-info{grid-template-columns:1fr 1fr;font-size:11px;gap:30px 20px;padding:40px 0}.footer-info .brand>span{font-size:15px}.footer-info .mark{width:30px;height:30px}.footer-info>div{gap:8px}.footer-info>a{font-size:11px;gap:10px}.footer-bottom{flex-wrap:wrap;gap:15px;font-size:7px}.footer-bottom>span:last-child{width:100%}.menu-overlay{padding-top:22px}.menu-body{grid-template-columns:1fr;align-content:center;gap:35px}.menu-body>div>a{font-size:13vw;line-height:1.4}.menu-body small{font-size:8px;margin-right:0}.menu-body aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.menu-body aside>img{width:100%;margin:0;grid-row:span 2}.menu-body aside p{font-size:10px;margin:0}.menu-body aside>.mono{display:none}.cursor{display:none}.projects-page,.studio-hero,.contact-page{padding-top:115px}.page-title{font-size:15vw;margin-bottom:40px}.page-title sup{font-size:8px}.project-controls{align-items:start;flex-direction:column;gap:25px}.project-controls>div:first-child{width:100%;gap:15px}.project-controls .field{width:33%;gap:12px}.project-controls .field select{font-size:11px}.project-controls .field>span{font-size:8px}.view-toggle{align-self:end;font-size:9px}.result-count{font-size:8px;margin-bottom:30px}.project-list>a{grid-template-columns:25px 1fr auto;gap:8px;padding:24px 0}.project-list h2{font-size:7vw}.project-list>a>span:nth-child(3){grid-column:2;font-size:11px}.project-list>a>span:nth-child(4){grid-column:2;font-size:8px}.project-list>a>span:last-child{grid-column:3;grid-row:1/4}.list-hover{display:none}.detail-hero{min-height:600px;padding-top:115px}.detail-hero>img{object-position:55% center}.detail-top{font-size:8px;gap:15px}.detail-top>span:nth-child(2){display:none}.detail-hero h1{font-size:20vw;max-width:100%;margin-bottom:30px}.detail-bottom{font-size:7px}.detail-bottom>span:first-child{max-width:155px}.detail-intro h2{font-size:10vw;line-height:1.03}.detail-copy{margin:35px 0 45px}.detail-copy p{font-size:19px}.detail-copy .mono{font-size:8px}.detail-meta{gap:30px 20px}.detail-meta .mono{font-size:8px}.detail-meta p{font-size:13px;margin-top:10px}.detail-gallery{display:flex;flex-direction:column;gap:35px;padding-top:0}.gallery-0>img{aspect-ratio:1.2}.gallery-1{width:85%}.gallery-2{margin-top:0;width:85%;align-self:end}.drawing{padding:10px}.drawing>span{font-size:6px}.next-project>a{height:55svh}.next-project>a>div{padding-top:30px;padding-bottom:30px}.next-project h2{font-size:15vw}.next-project .mono{font-size:8px}.studio-hero .page-title{font-size:11.9vw}.studio-intro{grid-template-columns:1fr;gap:35px}.studio-intro p{font-size:20px}.philosophy h2{margin:40px 0}.philosophy-grid{grid-template-columns:1fr;gap:35px}.philosophy-grid h3{font-size:33px;margin:18px 0}.process-row{grid-template-columns:22px 1fr;gap:15px}.process-row h3{font-size:10vw}.process-row p{grid-column:2;font-size:14px}.team-grid{grid-template-columns:1fr 1fr;gap:30px 20px;margin:40px 0}.team-grid>div:nth-child(2){padding-top:65px}.team-grid>div:nth-child(4){grid-column:auto;padding-top:65px}.team-grid h3{font-size:18px;line-height:1.1}.team-grid .mono{font-size:7px}.contact-page .page-title{font-size:12vw;line-height:1.04}.contact-grid{grid-template-columns:1fr;gap:50px;margin-top:45px}.contact-grid aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-grid aside>.mark{width:45px;height:45px;margin:0}.contact-grid aside>p{font-size:13px;margin:0}.contact-grid aside>.text-link{grid-column:1/-1;margin:0}.contact-grid aside .mono{font-size:8px}.contact-grid aside details{grid-column:1/-1;font-size:8px;margin-top:0}.form-grid{grid-template-columns:1fr;gap:25px}.form-grid>div:empty{display:none}.field-wide{grid-column:auto}.contact-page .field input,.contact-page .field select,.contact-page .field textarea{font-size:16px}.submit-button{width:100%;margin-top:10px}.contact-success h2{font-size:11vw}.services-page{padding-top:80px}.lightbox>img{height:calc(100% - 100px)}.lightbox>div{gap:12px}.lightbox button{font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.cursor{display:none}}.menu-button .menu-mark{width:24px;height:24px}:root{--ink:#555555;--bone:#ffffff;--white:#f7f7f7;--concrete:#dedede;--steel:#858585;--lime:#10105e;--line:rgba(85,85,85,.22)}.brand .mark{width:54px;height:35px;color:#10105e}.header-light .brand .mark,.home-header .brand .mark{color:inherit}.header{position:fixed;pointer-events:none;height:110px}.header>*{pointer-events:auto}.home-header{color:#fff;mix-blend-mode:difference}.menu-button{border:1px solid currentColor;border-radius:5px;padding:8px 16px}.menu-button .menu-mark{display:none}.header nav{gap:30px}.hero{height:100svh;min-height:600px;padding:0;display:block;background:#fff;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;min-height:0;transform-origin:center;will-change:transform,border-radius}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0001,#0003)}.hero-photo>img{height:100%;margin:0;object-position:center;transition:none}.hero-title{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 var(--margin);color:#fff;pointer-events:none;gap:0}.hero h1{font-size:clamp(60px,11.5vw,220px);line-height:1.1;font-weight:400;letter-spacing:-.065em}.hero h1>.hero-line{display:block;overflow:visible}.hero .build-word{padding:0;text-align:right;margin-top:16px;border-top:1px solid #fff6}.hero-side{align-self:start;padding:0;margin:32px 0 0;line-height:1.8;font-size:10px;letter-spacing:.08em}.hero-bottom{position:absolute;bottom:30px;left:var(--margin);right:var(--margin);color:#fff;padding:0;pointer-events:none}.photo-caption{display:none}.motion-char{display:inline-block;will-change:transform,opacity}.split-text{display:inline-block;white-space:nowrap}.intro{padding-top:130px;background:#fff}.intro-words{font-weight:400;font-size:clamp(50px,10vw,185px);line-height:1.06;letter-spacing:-.065em}.manifest-line{display:block}.intro-words .offset{margin-left:22%}.intro-line img{width:20%;height:10vw;min-height:0;border-radius:10px}.intro-copy p{font-size:clamp(20px,2vw,32px);line-height:1.5}.discipline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5vw;margin-top:100px}.discipline-grid>div{border-top:1px solid var(--line);padding-top:20px}.discipline-grid h3{font-size:2.2vw;letter-spacing:-.04em;margin:28px 0 16px}.discipline-grid p{font-size:16px;line-height:1.6;max-width:310px}.selected{background:#ededed;color:#555}.selected .section-label{border-color:var(--line)}.selected .project-caption .mono{color:#858585}.section-heading{font-weight:400;font-size:clamp(55px,7.7vw,145px)}.selected-grid{gap:110px 30px}.metrics{background:#fff}.services{background:#f0f0f0}.service-note{max-width:520px}.journal-grid h2{font-size:5.2vw;font-weight:400;line-height:1.03}.footer-top>a>span{color:#fff}footer{background:#555;color:#fff}.image-watermark .mark{height:24px}.intro .mark{color:#10105e}.menu-overlay{background:#ededed;color:#555}.menu-body>div>a{font-weight:400}.contact-page{background:#555}.loader{background:#fff;color:#10105e}.cursor{background:#10105e;color:#fff}@media(max-width:700px){.header{height:86px}.brand .mark{width:42px;height:26px}.brand>span{font-size:17px}.hero{height:100svh;min-height:550px}.hero-title{padding-top:30px;padding-bottom:0}.hero h1{font-size:12.4vw;line-height:1.18;letter-spacing:-.06em}.hero .build-word{padding:0;margin-top:20px}.hero-side{align-self:start;font-size:8px;margin-top:25px;max-width:none;text-align:left}.hero-photo{height:100%;flex:none}.hero-photo>img{object-position:60% center}.hero-bottom{font-size:7px;bottom:25px}.hero-bottom>span:last-child{display:none}.intro{padding-top:75px}.intro-words{font-size:12vw;line-height:1.15}.intro-line{gap:12px}.intro-line img{width:18%;height:12vw}.intro-words .offset{margin-left:13%}.intro-copy{gap:24px}.discipline-grid{grid-template-columns:1fr;margin-top:50px;gap:30px}.discipline-grid h3{font-size:26px;margin:15px 0 12px}.discipline-grid p{font-size:16px;max-width:100%}.section-heading{font-size:10.5vw}.journal-grid h2{font-size:11vw}.service-list button>span:nth-child(2){font-size:6.7vw}.service-note{font-size:16px}.footer-info .mark{width:38px;height:24px}}.manifest-line.intro-line{display:flex}.studio-hero .page-title{font-size:7.5vw}.home-header{mix-blend-mode:normal;color:#fff;text-shadow:0 1px 12px #0003}.header-dark{color:#555;text-shadow:none}.header-dark .brand .mark{color:#10105e}.header-dark{background:#ffffffed;backdrop-filter:blur(10px)}@media(max-width:700px){.studio-hero .page-title{font-size:9vw}}.hero-scroll{height:260svh}.hero{position:sticky;top:0;min-height:0;height:100svh}.hero-scroll .hero-photo{bottom:auto}.hero-scroll .hero-photo{height:100%}.hero h1{font-size:min(11.5vw,20svh)}.hero-title{padding-top:70px}@media(max-width:700px){.hero-scroll{height:205svh}}@media(max-width:700px){.hero h1{font-size:12.4vw}.hero-title{padding-top:30px}}@media(prefers-reduced-motion:reduce){.hero-scroll,.hero{height:100svh}.motion-char{will-change:auto}}.development{background:#f2f2f2}.audience-switch{display:flex;gap:12px;margin-bottom:60px}.audience-switch button{display:flex;align-items:center;gap:40px;padding:15px 22px;border:1px solid #b8b8b8;border-radius:3px;font-size:14px}.audience-switch button[aria-pressed=true]{background:#10105e;color:#fff;border-color:#10105e}.development-heading{display:grid;grid-template-columns:1.35fr 1fr;gap:7vw}.development-heading h2{font-size:4.8vw;line-height:1.06;letter-spacing:-.05em;font-weight:400}.development-heading h2>span{display:block}.development-heading>div>p{font-size:21px;line-height:1.5;max-width:490px}.business-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:75px}.business-grid article{border-top:1px solid var(--line);padding-top:20px}.business-grid h3{font-size:26px;line-height:1.15;letter-spacing:-.035em;margin:24px 0 15px}.business-grid p{font-size:15px;line-height:1.65}.project-sectors{border-top:1px solid var(--line);margin-top:65px;padding-top:25px;display:grid;grid-template-columns:1fr 2fr;gap:40px}.project-sectors p{font-size:20px;line-height:1.6}.project-sectors p>span{color:#a5a5a5;margin:0 10px}.technical{background:#10105e;color:#fff}.technical .section-label{border-color:#ffffff40}.technical .section-heading{font-size:6.6vw}.technical-intro{max-width:650px;font-size:22px;line-height:1.5;margin:40px 0 65px auto;color:#dddded}.technical-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff40;border-bottom:1px solid #ffffff40;margin-bottom:50px}.technical-tabs button{text-align:left;padding:22px 18px;font-size:18px;display:flex;flex-direction:column;gap:10px;border-bottom:3px solid transparent}.technical-tabs button[aria-selected=true]{background:#ffffff0e;border-bottom-color:#fff}.technical-tabs small{color:#b3b3cf}.technical-panel{display:grid;grid-template-columns:1fr 1.1fr;gap:8vw}.technical-overview h3{font-size:3.3vw;line-height:1.08;font-weight:400;letter-spacing:-.04em;margin:25px 0}.technical-overview>p{font-size:18px;line-height:1.65;color:#dddded}.decision{margin-top:35px;padding:25px;border:1px solid #ffffff40}.decision>p{font-size:18px;line-height:1.45;margin-top:15px}.technical-spec h4{margin:0 0 12px;font-weight:400;color:#b3b3cf}.technical-spec ul{list-style:none;margin:0 0 36px;padding:0}.technical-spec li{padding:15px 0;border-bottom:1px solid #ffffff25;display:grid;grid-template-columns:30px 1fr;gap:15px;font-size:16px;line-height:1.5}.technical-spec li>span{color:#b3b3cf}.technical-footnote{border-top:1px solid #ffffff40;padding-top:25px;margin-top:40px;color:#b3b3cf;font-size:8px}.execution-heading{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}.execution-heading h2{font-size:5.5vw;line-height:1.04;letter-spacing:-.05em;font-weight:400}.execution-heading p{font-size:21px;line-height:1.55;max-width:470px}.delivery-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:65px}.delivery-steps article{border-top:1px solid var(--line);padding-top:25px}.step-number{font-size:65px;font-weight:400;letter-spacing:-.06em;color:#b6b6b6}.delivery-steps h3{font-size:25px;margin:25px 0 15px;letter-spacing:-.03em}.delivery-steps p{font-size:15px;line-height:1.6}.delivery-steps article>div{border-top:1px solid var(--line);margin-top:25px;padding-top:20px}.delivery-steps article>div p{margin-top:12px}.procurement{margin-top:80px;background:#f2f2f2;padding:45px;display:grid;grid-template-columns:1fr 1fr;gap:5vw}.procurement h3{font-size:36px;line-height:1.1;font-weight:400;letter-spacing:-.04em;margin-top:22px}.procurement p{font-size:16px;line-height:1.6;margin-bottom:20px}.procurement p:last-child{margin-bottom:0}.project-brief{background:#e9e9e9;display:grid;grid-template-columns:1.6fr 1fr;gap:8vw}.project-brief h2{font-size:4.5vw;line-height:1.08;font-weight:400;letter-spacing:-.05em;margin:30px 0}.project-brief>div>p{font-size:20px;line-height:1.55;max-width:610px}.brief-button{display:flex;align-items:center;justify-content:space-between;background:#10105e;color:#fff;padding:22px 25px;margin-top:35px;max-width:420px;font-family:IBM Plex Mono;font-size:11px}.brief-button>span{font-size:24px}.project-brief aside{border-top:1px solid var(--line);padding-top:22px}.project-brief ol{padding-left:22px;font-size:18px;line-height:1.6;margin:28px 0}.project-brief li{padding-bottom:12px}.project-brief aside>p{font-size:16px;line-height:1.6}.intro-words .intro-line{justify-content:flex-end}.service-detail{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:40px;min-height:110px}.service-detail h3{font-size:24px;font-weight:400}.service-detail p{font-size:19px;line-height:1.55;max-width:580px}.contact-brief-note{font-size:18px;line-height:1.6;margin-bottom:30px}.contact-page .page-title{font-size:7.5vw}.contact-page .contact-grid aside>p{line-height:1.6}@media(max-width:900px){.business-grid,.delivery-steps{grid-template-columns:repeat(2,1fr)}.development-heading{grid-template-columns:1fr;gap:30px}.development-heading h2{font-size:7vw}.technical-panel{gap:4vw}.technical-overview h3{font-size:4vw}}@media(max-width:700px){.audience-switch{gap:10px;margin-bottom:35px}.audience-switch button{font-size:12px;padding:13px;gap:16px;flex:1;justify-content:space-between}.development-heading h2{font-size:9vw;line-height:1.12}.development-heading>div>p{font-size:18px}.business-grid{grid-template-columns:1fr;gap:30px;margin-top:45px}.business-grid h3{font-size:27px;margin:18px 0 13px}.business-grid p{font-size:16px}.project-sectors{grid-template-columns:1fr;gap:20px;margin-top:40px}.project-sectors p{font-size:19px}.technical .section-heading{font-size:9.4vw}.technical .indent{margin-left:0}.technical-intro{font-size:18px;margin:30px 0 35px}.technical-tabs{grid-template-columns:1fr 1fr;margin-bottom:30px}.technical-tabs button{font-size:14px;padding:16px 12px;gap:6px}.technical-panel{grid-template-columns:1fr;gap:35px}.technical-overview h3{font-size:9vw;margin-top:18px}.technical-overview>p{font-size:17px}.decision{padding:20px;margin-top:25px}.decision>p{font-size:17px}.technical-spec li{font-size:16px;gap:10px}.technical-footnote{font-size:7px;line-height:1.8}.execution-heading{grid-template-columns:1fr;gap:25px}.execution-heading h2{font-size:10vw}.execution-heading p{font-size:18px}.delivery-steps{grid-template-columns:1fr;gap:35px;margin-top:40px}.delivery-steps article{display:grid;grid-template-columns:45px 1fr;gap:14px 20px;align-items:start}.step-number{font-size:40px;grid-row:1/4}.delivery-steps h3{margin:0;font-size:26px}.delivery-steps article>p,.delivery-steps article>div{grid-column:2}.delivery-steps article>div{margin-top:5px}.procurement{grid-template-columns:1fr;padding:25px;gap:28px;margin-top:45px}.procurement h3{font-size:30px}.project-brief{grid-template-columns:1fr;gap:45px}.project-brief h2{font-size:8vw}.project-brief>div>p{font-size:18px}.project-brief ol{font-size:17px}.brief-button{font-size:9px;padding:18px 20px}.service-detail{grid-template-columns:1fr;gap:18px;min-height:0}.service-detail p{font-size:17px}.contact-page .page-title{font-size:11vw}.contact-brief-note{font-size:16px}.intro-words .intro-line{justify-content:flex-end}}.selected .technical-intro{color:var(--ink);margin-left:0}.service-list button>span:nth-child(2){font-size:4.1vw}.development .section-label span:last-child{white-space:nowrap}@media(max-width:700px){.service-list button>span:nth-child(2){font-size:5.5vw}.development .section-label span:last-child{white-space:normal}}.header:not(.home-header){background:#fffe;color:#555;backdrop-filter:blur(10px)}.header:not(.home-header) .brand .mark{color:#10105e}.hero-cta{pointer-events:auto;align-self:flex-start;margin-top:20px;padding:12px 17px;border:1px solid #ffffff99;display:flex;gap:35px;border-radius:3px}.hero-cta:hover{background:#fff;color:#10105e}@media(max-width:700px){.hero-cta{font-size:8px;padding:12px;gap:25px;margin-top:20px}}.engineering-opening{padding:65px var(--margin) 85px}.engineering-opening h1{font-size:6.6vw;line-height:1.04;letter-spacing:-.06em;font-weight:400;margin:30px 0}.engineering-opening>p{font-size:22px;line-height:1.5;max-width:660px;margin-left:auto}@media(max-width:700px){.engineering-opening{padding:40px var(--margin) 55px}.engineering-opening h1{font-size:8vw;line-height:1.12;margin:25px 0}.engineering-opening>p{font-size:18px}}
