:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;font-synthesis:none;background:#090909;color:#f6f6f2}*{box-sizing:border-box}html,body{margin:0;min-height:100%;scroll-behavior:smooth}body{font-size:14px;letter-spacing:-.035em}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;letter-spacing:inherit;cursor:pointer;background:none;border:0;padding:0}button:focus-visible,a:focus-visible{outline:1px solid white;outline-offset:7px}::selection{background:#e9e9e9;color:#111}.skip{position:fixed;z-index:100;left:20px;top:-80px;background:#000;padding:15px}.skip:focus{top:12px}.header{position:fixed;z-index:50;top:0;left:0;width:100%;display:grid;grid-template-columns:1fr 1fr auto;padding:23px 26px;align-items:start;mix-blend-mode:difference;color:#fff;font-weight:600}.discipline{justify-self:center}.header button{justify-self:end}.home{height:100svh;min-height:570px;position:relative;overflow:hidden;background:#121719}.backdrops,.backdrop{position:absolute;inset:0}.backdrop{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s ease;pointer-events:none}.backdrop.active{opacity:1}.shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.14),rgba(0,0,0,.03) 50%,rgba(0,0,0,.27));pointer-events:none}.project-list{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(88vw,1080px);display:flex;flex-direction:column;align-items:center;z-index:3}.project-link{font-size:clamp(27px,3.15vw,57px);font-weight:500;text-align:center;line-height:1.08;letter-spacing:-.055em;text-transform:uppercase;color:rgba(255,255,255,.38);transition:color .25s,transform .35s;padding:2px 0}.project-link.active,.project-link:focus-visible{color:white}.project-link:hover{transform:translateX(3px)}.crosshair{position:absolute;left:calc(50% - 7px);top:24%;width:14px;height:14px;opacity:.85;z-index:3}.crosshair:before,.crosshair:after{content:"";position:absolute;background:white}.crosshair:before{width:14px;height:1px;top:7px}.crosshair:after{height:14px;width:1px;left:7px}.home-meta{position:absolute;right:7vw;bottom:12vh;line-height:1.45;z-index:3;min-width:130px;font-weight:500}.home-footer{position:absolute;bottom:24px;left:26px;right:26px;display:flex;justify-content:space-between;align-items:end;z-index:3;font-size:12px}.home-footer button{margin-left:16px;font-size:22px}.counter{font-variant-numeric:tabular-nums}.load-note{position:absolute;bottom:60px;left:26px;max-width:290px;font-size:12px;line-height:1.5;color:#c6c6c6;z-index:4}.load-note:empty{display:none}dialog{margin:0;max-width:none;max-height:none;width:100%;height:100svh;border:0;background:#d9d9d4;color:#0d0d0d;padding:130px 26px 26px;z-index:40}dialog::backdrop{background:#090909}.menu-grid{display:grid;grid-template-columns:1.4fr 1fr;align-items:start;gap:6vw}.menu-grid nav{display:flex;flex-direction:column}.menu-grid nav a{font-size:clamp(60px,10vw,175px);line-height:.92;letter-spacing:-.075em;text-transform:uppercase}.menu-grid nav a:hover{opacity:.5}.menu-details{padding-top:10px;font-size:19px;line-height:1.45}.label{font-size:12px;letter-spacing:0;opacity:.5;margin:0 0 22px}.social{display:flex;flex-direction:column;margin-bottom:70px}.email{overflow-wrap:anywhere}.menu-bottom{position:absolute;bottom:26px;left:26px;right:26px;display:flex;justify-content:space-between;font-size:12px}.page{padding:140px 26px 32px;min-height:100svh}.page-heading{font-size:clamp(65px,12vw,200px);font-weight:400;line-height:.9;text-transform:uppercase;letter-spacing:-.075em;margin:0 0 100px}.archive-head,.archive-row{display:grid;grid-template-columns:45px 1fr 170px 65px;gap:20px;align-items:center;border-bottom:1px solid #343434;padding:22px 0}.archive-head{color:#8b8b8b;font-size:12px}.archive-row .project-name{font-size:clamp(24px,3.5vw,58px);line-height:1.03;text-transform:uppercase;letter-spacing:-.05em}.archive-row:hover{color:#999}.archive-year{text-align:right}.project-page{padding-top:0}.project-intro{padding:150px 26px 90px;min-height:75svh;display:flex;flex-direction:column;justify-content:space-between;gap:60px}.project-title{font-size:clamp(60px,10vw,165px);line-height:.9;letter-spacing:-.065em;text-transform:uppercase;margin:0;font-weight:400;max-width:1400px}.project-details{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:30px;line-height:1.45}.project-details dt{font-size:12px;color:#929292;margin-bottom:12px}.project-details dd{margin:0;font-size:16px;max-width:240px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 14px}.gallery figure{margin:0;background:#151515;overflow:hidden}.gallery figure.wide{grid-column:1/-1}.gallery img,.gallery video{width:100%;height:auto;display:block;object-fit:contain}.gallery figure:not(.wide) video{aspect-ratio:16/9}.gallery figcaption{font-size:12px;color:#999;padding:14px}.project-empty{padding:0 26px 80px;line-height:1.5;color:#909090}.next-project{padding:120px 26px 70px;display:block;border-bottom:1px solid #333}.next-project small{display:block;font-size:12px;margin-bottom:25px;color:#999}.next-project span{font-size:clamp(42px,7vw,110px);text-transform:uppercase;letter-spacing:-.065em}.footer{display:flex;justify-content:space-between;gap:25px;padding:32px 26px;font-size:12px}.contact-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:8vw;margin-top:80px}.contact-statement{font-size:clamp(28px,4vw,65px);line-height:1.04;margin:0;max-width:800px;letter-spacing:-.05em}.contact-links{font-size:20px;line-height:1.5}.contact-links .social{margin:40px 0}.motion-control{font-size:12px!important}.no-scroll{overflow:hidden}@media(max-width:700px){.header{padding:20px 18px;font-size:12px;grid-template-columns:1fr auto}.discipline{display:none}.home{min-height:560px}.project-link{font-size:clamp(27px,6.8vw,46px);line-height:1.16}.project-list{width:94vw}.crosshair{top:22%}.home-meta{right:20px;bottom:100px;font-size:12px}.home-footer{left:18px;right:18px;bottom:22px}.page{padding:110px 18px 20px}.page-heading{margin-bottom:70px}.archive-head,.archive-row{grid-template-columns:24px 1fr 40px;gap:12px}.archive-category{display:none}.archive-row .project-name{font-size:26px}.menu-grid{grid-template-columns:1fr;gap:55px}.menu-grid nav a{font-size:20vw}.menu-details{font-size:16px}.menu-details .social{margin-bottom:25px}.menu-details .label{margin-bottom:8px}dialog{padding:110px 18px 70px;overflow:auto}.menu-bottom{position:relative;bottom:auto;left:auto;right:auto;margin-top:60px}.project-intro{padding:130px 18px 65px;min-height:70svh}.project-details{grid-template-columns:1fr 1fr;gap:30px}.project-details dd{font-size:14px}.gallery{grid-template-columns:1fr;padding:0 8px;gap:8px}.gallery figure{grid-column:1/-1}.next-project{padding:90px 18px 50px}.contact-layout{grid-template-columns:1fr;gap:50px}.contact-links{font-size:17px}.footer{padding:26px 18px}.load-note{left:18px;bottom:65px;max-width:180px}.project-title{font-size:16vw}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.dialog-header{position:absolute;top:23px;left:26px;right:26px;display:flex;justify-content:space-between;font-size:14px;font-weight:600}dialog :focus-visible{outline-color:currentColor}.menu-bottom .year{display:inline}

.gallery video{aspect-ratio:16/9}

/* Homepage: normal document scrolling, with the index aligned to the two-thirds grid. */
.project-list{left:auto;right:34%;top:80px;transform:none;width:64%;align-items:flex-end}
.project-link{font-size:32px;font-weight:500;line-height:1.1;letter-spacing:-.045em;text-align:right;padding:0;max-width:100%}
.project-link:hover{transform:none}
.home-meta{right:auto;left:66%;bottom:16vh}
.home-site-footer{min-height:70svh;display:grid;grid-template-columns:1fr 1fr;background:#000;font-size:14px;letter-spacing:-.025em}
.footer-left,.footer-right{padding:24px 26px;display:flex;flex-direction:column;justify-content:space-between;gap:64px}
.footer-right{border-left:1px solid #303030;text-align:right}
.home-site-footer .label{font-size:14px;margin:0 0 14px}
.home-site-footer nav{display:flex;flex-direction:column;font-size:24px;line-height:1.4;text-transform:uppercase}
.home-site-footer .social{flex-direction:row;flex-wrap:wrap;gap:12px;margin:0}
.footer-email{font-size:clamp(20px,2.1vw,36px);text-transform:uppercase;overflow-wrap:anywhere}
.footer-copyright{opacity:.5}
@media(max-width:700px){.project-list{right:18px;top:110px;width:calc(100% - 36px)}.project-link{font-size:clamp(22px,5.6vw,32px);line-height:1.16}.home-meta{left:auto;right:20px;bottom:100px}.home-site-footer{grid-template-columns:1fr;min-height:70svh}.footer-left,.footer-right{padding:26px 18px;gap:50px}.footer-right{border-left:0;border-top:1px solid #303030;text-align:left}.footer-email{font-size:24px}}
/* One shared desktop axis: title right edge, discipline and details left edge. */
@media(min-width:701px){
:root{--project-axis:66.666667%}
.header{display:block}
.header .discipline{position:absolute;left:var(--project-axis);top:23px}
.header button{position:absolute;right:26px;top:23px}
.project-list{right:calc(100% - var(--project-axis));width:calc(var(--project-axis) - 26px)}
.home-meta{left:var(--project-axis)}
}
/* Translucent dropdown menu, aligned with the homepage axis. */
dialog{position:fixed;inset:0 0 auto;margin:0;padding:0;height:74svh;min-height:420px;width:100%;max-width:none;overflow:auto;background:rgba(25,30,34,.26);color:#fff;backdrop-filter:blur(45px);-webkit-backdrop-filter:blur(45px);border:0}
dialog::backdrop{background:transparent}
dialog[open]{animation:menu-reveal .55s cubic-bezier(.22,.68,0,1) both}
dialog.closing{animation:menu-hide .35s ease both;pointer-events:none}
@keyframes menu-reveal{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
@keyframes menu-hide{from{clip-path:inset(0)}to{clip-path:inset(0 0 100% 0)}}
.dialog-header{inset:23px 26px auto;display:block}
.dialog-header .dialog-discipline{position:fixed;left:66.666667%;top:23px}
.dialog-header button{position:absolute;right:0;top:0}
.menu-grid{position:absolute;left:66.666667%;right:26px;top:115px;bottom:26px;display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.menu-grid .label,.menu-contact .label{font-size:14px;margin:0 0 16px;opacity:.5}
.menu-grid nav a{font-size:40px;line-height:1.12;letter-spacing:-.045em}
.menu-details{font-size:14px;line-height:1.4;padding:0}
.menu-details .social{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;margin:0}
.menu-contact{position:absolute;left:26px;bottom:26px;font-size:14px}
@media(max-width:700px){dialog{height:80svh;min-height:470px}.dialog-header{inset:20px 18px auto}.dialog-discipline{display:none}.menu-grid{left:42%;right:18px;top:100px;bottom:100px}.menu-grid nav a{font-size:clamp(28px,7vw,40px)}.menu-contact{left:18px;bottom:24px}.menu-details .label{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){dialog[open],dialog.closing{animation:none}}
/* Contact uses the same two-thirds alignment as the header and homepage. */
.contact-page{padding-top:145px;min-height:calc(100svh - 80px)}
.contact-page .page-heading{font-size:clamp(48px,5vw,80px);line-height:1;letter-spacing:-.045em;margin:0 0 100px}
.contact-page .contact-layout{display:grid;grid-template-columns:2fr 1fr;gap:0;margin:0 -26px;align-items:start}
.contact-page .contact-statement{padding-left:26px;font-size:32px;line-height:1.2;letter-spacing:-.035em}
.contact-page .contact-links{padding-right:26px;font-size:clamp(18px,1.65vw,26px);line-height:1.3}
.contact-page .contact-links .label{font-size:14px;margin-bottom:18px}
.contact-page .contact-links .social{font-size:16px;gap:10px;margin:48px 0 0}
@media(max-width:700px){.contact-page{padding-top:120px}.contact-page .page-heading{margin-bottom:65px}.contact-page .contact-layout{grid-template-columns:1fr;gap:52px;margin:0}.contact-page .contact-statement{padding:0;font-size:28px}.contact-page .contact-links{padding:0;font-size:20px}.contact-page .contact-links .social{margin-top:32px}}
