*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8f7f4;color:#141414;font-family:Arial,Helvetica,sans-serif;font-size:13px;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #ae1233;outline-offset:5px}button:hover,a:hover{color:#ac163b}a{color:inherit;text-decoration:none}.skip{position:fixed;left:12px;top:-100px;z-index:100;background:white;padding:14px}.skip:focus{top:12px}.intro-open{overflow:hidden}#intro{position:fixed;inset:0;background:#111;z-index:50;transition:opacity .8s,visibility .8s;overflow:hidden}#intro.out{opacity:0;visibility:hidden;pointer-events:none}#glass,#fallback{position:absolute;inset:0;width:100%;height:100%}#glass{touch-action:none}#fallback{background:url('assets/mosaic.webp') center/cover}#intro .intro-top,#intro .intro-bottom{position:absolute;left:24px;right:24px;color:white;mix-blend-mode:difference;pointer-events:none}.intro-top{top:24px;display:flex;justify-content:space-between;align-items:flex-start}.intro-top>span:first-child{font-size:clamp(25px,3.3vw,56px);font-weight:600;letter-spacing:-.065em;line-height:.85}.intro-top>span:last-child{font-size:12px;line-height:1.1}.intro-bottom{bottom:26px;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:20px;font-size:11px;line-height:1.25}.intro-index{text-align:right}#enter{pointer-events:auto;border-bottom:1px solid white;display:flex;justify-content:space-between;gap:55px;padding-bottom:9px;font-size:clamp(23px,3vw,42px);letter-spacing:-.045em;color:white}#enter:hover{color:white;opacity:.65}#loading{position:absolute;inset:0;background:#f8f7f4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;font-size:32px;letter-spacing:-2px;transition:opacity .5s}#loading span{font-size:11px;letter-spacing:0}#loading.done{opacity:0;pointer-events:none}#header{padding:20px 24px 0}.header-line{border-bottom:3px solid #141414;display:flex;align-items:end;justify-content:space-between;gap:30px;padding-bottom:12px}.wordmark{font-size:clamp(37px,8.7vw,142px);line-height:.77;letter-spacing:-.085em;font-weight:500;white-space:nowrap}.wordmark:hover{color:inherit}nav{display:flex;gap:17px;flex-shrink:0;padding-bottom:2px}nav .active{color:#ac163b}#language{margin-left:14px}.header-sub{display:flex;justify-content:space-between;padding-top:10px;font-size:11px}main{padding:0 24px}.archive-heading{margin:65px 0 12px;border-bottom:1px solid #141414;padding-bottom:9px;display:grid;grid-template-columns:1fr 1fr auto;font-size:11px}#projects{display:grid;grid-template-columns:1fr 1fr;gap:58px 20px}.project{min-width:0}.project:nth-child(even){margin-top:115px}.project-meta{border-top:2px solid #141414;display:grid;grid-template-columns:44px 1fr auto;text-align:left;gap:12px;padding:8px 0 20px;width:100%;font-size:11px;line-height:1.2}.project-meta strong{font-weight:400}.project-meta small{display:block;font-size:10px;color:#666;margin-top:3px}.project-cover{display:block;width:100%;overflow:hidden;position:relative;background:#e5e3df}.project-cover img{width:100%;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.project-cover:hover img{transform:scale(1.025)}.project-cover .view{position:absolute;right:14px;bottom:14px;background:#f8f7f4;padding:10px 13px;font-size:11px;opacity:0;transform:translateY(8px);transition:.25s}.project-cover:hover .view{opacity:1;transform:none}.project-secondary{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:5px}.project-secondary img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/4;display:block}.project-secondary button{overflow:hidden}footer{border-top:2px solid #141414;margin:95px 24px 0;padding:13px 0 22px;display:flex;justify-content:space-between;gap:20px;font-size:10px}#information{padding:80px 24px 40px;min-height:65vh}#information h1{font-size:clamp(48px,8vw,118px);letter-spacing:-.065em;font-weight:400;line-height:.95;margin:0 0 50px;max-width:1100px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:6vw}.info-grid p{font-size:clamp(20px,2.4vw,34px);letter-spacing:-.03em;line-height:1.2;margin:0 0 28px}.info-small{font-size:12px!important;letter-spacing:0!important;line-height:1.5!important}.info-image{width:100%;max-height:700px;object-fit:cover}.contact-link{font-size:clamp(25px,4.5vw,64px);border-bottom:1px solid;display:inline-block;padding-bottom:10px;letter-spacing:-.045em}dialog{border:0;background:#f8f7f4;color:#141414;width:100%;max-width:none;max-height:none;height:100%;padding:20px 24px 50px;margin:0;overscroll-behavior:contain}dialog::backdrop{background:#f8f7f4}.dialog-nav{position:sticky;top:-20px;background:#f8f7f4;z-index:2;display:flex;justify-content:space-between;padding:12px 0;border-bottom:2px solid}.dialog-nav button{font-size:13px}dialog h1{font-size:clamp(52px,9vw,140px);font-weight:400;line-height:.9;letter-spacing:-.07em;margin:55px 0}#project-images{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start;max-width:1350px;margin:auto}#project-images img{display:block;width:100%}#project-images img:first-child{grid-column:1/-1;max-height:90vh;object-fit:contain;background:#eeede9}#next-project{font-size:clamp(30px,5vw,72px);letter-spacing:-.05em;border-bottom:2px solid;padding:25px 0 10px;margin-top:40px}body.modal-open{overflow:hidden}[hidden]{display:none!important}@media(min-width:1700px){main,#header{max-width:1900px;margin:auto}}@media(max-width:800px){#header{padding:16px 14px 0}.header-line{display:block;padding-bottom:9px;border-width:2px}.wordmark{font-size:12.5vw;letter-spacing:-.08em}nav{justify-content:flex-end;margin-top:15px;gap:18px;font-size:12px}.header-sub{font-size:9px;gap:16px}.header-sub span:last-child{text-align:right}main{padding:0 14px}.archive-heading{margin-top:40px;grid-template-columns:1fr auto}.archive-heading>span:nth-child(2){display:none}#projects{grid-template-columns:1fr;gap:36px}.project:nth-child(even){margin-top:0}.project-meta{padding-bottom:13px}.project-cover .view{opacity:1;transform:none}.intro-top{top:20px!important}.intro-top>span:last-child{font-size:9px}#intro .intro-top,#intro .intro-bottom{left:16px;right:16px}.intro-bottom{grid-template-columns:1fr;bottom:24px!important}.intro-index{display:none}.explore{font-size:10px}#enter{font-size:34px;width:100%;padding-top:12px}.info-grid{grid-template-columns:1fr}.info-image{max-height:500px}#information{padding:55px 14px 25px}#information h1{margin-bottom:35px}footer{margin:65px 14px 0;flex-wrap:wrap;font-size:9px}footer span:nth-child(2){display:none}dialog{padding:14px}.dialog-nav{top:-14px}#project-images{gap:5px}dialog h1{margin:35px 0}#project-images img:first-child{max-height:none}.contact-link{margin-bottom:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

#loading.done{visibility:hidden}

.project-cover img.portrait-cover{aspect-ratio:3/4;object-fit:cover;object-position:50% 50%}.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:14px;margin-top:25px}.contact-details a{border-bottom:1px solid;padding-bottom:5px}

.arrow-icon{display:inline-block;width:.85em;height:.85em;vertical-align:-.08em;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;flex-shrink:0}#enter>.arrow-icon,#enter>span>.arrow-icon{width:1em;height:1em}.project-meta .arrow-icon{width:1em;height:1em}@media(max-width:800px){#fallback{background-size:250% auto}}

/* Main is focused after entry for navigation, without a browser-drawn outline. */
#portfolio:focus{outline:none}#project-images img{height:auto}#project-images img.wide-photo{grid-column:1/-1;max-height:none;height:auto;object-fit:contain}
