:root{font-family:Arial,Helvetica,sans-serif;color:#111;background:#fff;font-synthesis:none;--rail:70px;--paper-padding:clamp(28px,5vw,88px)}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #111;outline-offset:4px}img{display:block;width:100%;height:auto}figure,p,h1,h2{margin:0}main{margin-right:var(--rail)}.skip{position:fixed;top:-100px;left:20px;background:white;padding:12px;z-index:10}.skip:focus{top:16px}
.sidebar{position:fixed;right:0;top:0;bottom:0;width:var(--rail);background:#fff;z-index:3;border-top:7px solid #999;border-bottom:7px solid #999;display:flex;align-items:stretch;padding:0 16px}.index{display:flex;flex-direction:column;width:30px;height:100%;overflow-y:auto;scrollbar-width:none;flex:none}.index::-webkit-scrollbar{display:none}.index-item{display:flex;flex-direction:column;align-items:center;flex:1 0 auto;min-height:0;position:relative;color:#9b9b9b;transition:color .15s}.marker{display:block;width:7px;flex:1;min-height:12px;background:#d1d1d1;transition:background .15s,width .15s}.index-label{writing-mode:vertical-rl;transform:rotate(180deg);text-transform:uppercase;font-size:12px;line-height:1.1;padding:3px 0;white-space:nowrap;flex:none}.index-item:hover,.index-item:focus-visible,.index-item.selected{color:#111}.index-item:hover .marker,.index-item:focus-visible .marker,.index-item.selected .marker{background:#111;width:10px}.home-link.selected .marker{background:#d1d1d1;width:7px}.vertical-title{display:none}.home{padding:var(--paper-padding);min-height:100svh}.home-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(65px,12vh,145px)}.home-header h1{font-size:clamp(64px,9vw,138px);font-weight:400;line-height:.8;letter-spacing:-.07em}.home-header>p{font-size:14px;line-height:1.3}.team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.5vw,24px)}.team figure{margin:0}.team img{aspect-ratio:2/3;object-fit:cover}.about{margin-top:55px;padding-top:20px;display:grid;grid-template-columns:1fr 3fr;gap:24px}.about h2{font-size:14px;font-weight:400}.about-copy{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:900px}.about-copy p{font-size:16px;line-height:1.55;text-wrap:pretty}
.project-page{--rail:164px}.project-page .sidebar{padding-left:18px}.project-page .vertical-title{display:flex;position:absolute;top:70px;bottom:35px;left:64px;right:10px;flex-direction:row;align-items:flex-start;gap:5px}.vertical-title span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:clamp(17px,2.7vh,27px);font-weight:400;line-height:1.2;text-transform:uppercase;max-height:100%;text-wrap:balance}.project{padding:30px var(--paper-padding) 45px;min-height:100svh}.project-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:45px}.wordmark{font-size:24px;letter-spacing:-.06em}.folio{font-size:12px;color:#888}.project-hero img{width:100%;max-height:76svh;object-fit:contain;object-position:center}.project-description{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);margin-top:42px}.project-description h1{font-size:clamp(24px,2.8vw,40px);font-weight:400;line-height:1.12;max-width:540px}.project-type{font-size:14px;margin-top:14px;color:#666}.project-copy{font-size:16px;line-height:1.55;max-width:650px}.project-navigation{display:flex;justify-content:space-between;gap:24px;margin-top:64px;padding-top:20px;border-top:1px solid #ddd;font-size:14px}.project-navigation a{padding:10px 0}.project-navigation a:hover{text-decoration:underline}
@media(min-height:1000px){.index-item{flex-basis:0}.marker{min-height:20px}}@media(max-width:900px){.home-header{align-items:flex-start;flex-direction:column;gap:24px;margin-bottom:60px}.about{grid-template-columns:1fr;gap:20px}.about-copy{gap:24px}.project-description{grid-template-columns:1fr}.project-page{--rail:132px}.project-page .vertical-title{left:58px}.vertical-title span{font-size:20px}.project{padding-top:24px}.project-header{margin-bottom:28px}}
@media(max-width:600px){:root{--rail:48px;--paper-padding:20px}.sidebar{padding:0 8px;border-top-width:5px;border-bottom-width:5px}.index{width:30px}.index-label{font-size:12px}.marker{min-height:8px}.home{padding-top:36px}.home-header{margin-bottom:44px}.home-header h1{font-size:72px}.home-header>p{font-size:14px}.team{grid-template-columns:1fr 1fr;gap:12px}.about{margin-top:35px}.about-copy{grid-template-columns:1fr;gap:18px}.project-page{--rail:80px}.project-page .sidebar{padding-left:5px}.project-page .vertical-title{left:36px;right:4px;top:24px;bottom:24px;gap:3px}.vertical-title span{font-size:14px;line-height:1.1}.project-hero img{max-height:none}.project-description{margin-top:28px;gap:20px}.project-navigation{flex-direction:column;gap:12px;margin-top:35px}.project-navigation a:last-child{align-self:flex-end}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* A quiet cover with the team gathered in the lower left corner. */
.home-cover{min-height:calc(100svh - 2 * var(--paper-padding));display:flex;flex-direction:column;justify-content:space-between;gap:80px;padding-bottom:12px}
.home-header{margin-bottom:0;align-items:flex-start}
.home-header h1{font-size:inherit;line-height:1;letter-spacing:normal}
.logo-crop{position:relative;display:block;width:clamp(170px,23vw,320px);aspect-ratio:925/256;overflow:hidden}
.logo-crop img{position:absolute;width:123.24325%;max-width:none;height:auto;left:-20%;top:-42.96875%}
.home-header>p{padding-top:5px}
.team{display:flex;align-items:flex-start;gap:clamp(28px,6.7vw,138px);margin-left:clamp(0px,3.8vw,78px);width:max-content;max-width:100%}
.team figure{width:clamp(70px,6vw,120px);flex:none}
.team img{width:100%;aspect-ratio:2/3;object-fit:cover}
.team figcaption{font-size:14px;line-height:1.35;margin-top:12px;max-width:125px}
.about{margin-top:80px;padding-bottom:40px}
.wordmark .logo-crop{width:110px}
.project-header{min-height:40px}
.project-story{margin-top:75px}
.story-section{margin-top:80px}
.story-text{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);margin-bottom:32px}
.story-text h2{font-size:clamp(22px,2.3vw,32px);font-weight:400;line-height:1.2;max-width:530px}
.story-text p{font-size:16px;line-height:1.6;max-width:650px;text-wrap:pretty}
.story-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px;align-items:start}
.story-gallery.single{grid-template-columns:1fr}
.story-gallery img{width:100%;height:auto;object-fit:contain;max-height:85svh;object-position:left center;background:#fff}
.story-gallery.single img{max-height:none}
.story-gallery figcaption{font-size:14px;line-height:1.4;color:#666;margin-top:12px}
.story-gallery.samples{grid-template-columns:repeat(3,minmax(0,1fr));max-width:720px;margin:auto}
.story-gallery.samples img{height:220px;object-fit:contain}
.story-image-link{display:block;cursor:zoom-in}
.navigation-hint{position:fixed;z-index:5;pointer-events:none;color:#111;font-family:Arial,sans-serif;font-size:26px;line-height:1;transform:translateY(-50%);width:28px;text-align:center}
.navigation-hint.blinking{animation:nav-blink 1.2s ease-in-out 3}
@keyframes nav-blink{0%,100%{opacity:1}50%{opacity:.12}}
@media(max-width:900px){.team{gap:clamp(18px,5vw,45px);margin-left:0}.team figure{width:clamp(66px,9vw,94px)}.home-header{flex-direction:row}.story-text{grid-template-columns:1fr;gap:18px}.story-section{margin-top:60px}}
@media(max-width:600px){.home-header{flex-direction:column;gap:20px}.home-header h1{font-size:inherit}.home-cover{min-height:calc(100svh - 72px);gap:70px;padding-bottom:8px}.team{display:grid;width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.team figure{width:100%;min-width:0}.team figcaption{font-size:12px;overflow-wrap:anywhere;line-height:1.4}.about{margin-top:64px}.story-gallery{grid-template-columns:1fr;gap:28px}.story-gallery.samples{gap:12px}.story-gallery.samples img{height:140px}.project-story{margin-top:50px}.story-text h2{font-size:24px}.wordmark .logo-crop{width:85px}.navigation-hint{font-size:22px}}
@media(prefers-reduced-motion:reduce){.navigation-hint{animation:none!important}}
