@font-face{font-family:Jost;src:url('fonts/jost.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{--bone:#EFE7E4;--oil:#3C2415;--ink:#1A1A1A;--bronze:#B8A385;--slate:#80858B;--pad:28px;--rule:color-mix(in srgb,var(--oil) 25%,transparent);--ease:cubic-bezier(.22,.7,.18,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bone);color:var(--oil);font-family:Jost,sans-serif;font-weight:400;font-size:20px;line-height:1.28;letter-spacing:-.035em}button,input,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:none;border:0;padding:0}a{color:inherit;text-decoration:none}p,h1,h2,h3,figure,dl,dd{margin:0}h1,h2,h3{font-weight:400}img,video{display:block;width:100%;height:100%;object-fit:cover}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--bronze);outline-offset:5px}::selection{background:var(--bronze);color:var(--ink)}[hidden]{display:none!important}.skip-link{position:fixed;z-index:300;top:0;left:20px;padding:12px;background:var(--bone);color:var(--oil);transform:translateY(-150%)}.skip-link:focus{transform:none}
.masthead{position:fixed;z-index:60;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:19px var(--pad);height:76px;background:var(--bone);transition:color .25s,background .25s}.masthead:after{content:'';height:1px;position:absolute;left:var(--pad);right:var(--pad);bottom:0;background:var(--rule)}.brand{font-size:29px;font-weight:650;letter-spacing:-.085em;line-height:1}.brand span{font-weight:400;margin-left:5px}.masthead nav{display:flex;gap:35px;font-size:24px;letter-spacing:-.045em}.masthead nav a{position:relative}.masthead nav a:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.masthead nav a:hover:after,.masthead nav a[aria-current=page]:after{transform:scaleX(1)}.home .masthead,.project-page:not(.past-hero) .masthead{background:transparent;color:var(--bone)}.home .masthead:after,.project-page:not(.past-hero) .masthead:after{opacity:0}.menu-toggle{display:none;width:36px;height:36px}.menu-toggle span{display:block;background:currentColor;height:1px;width:28px;margin:7px 0}.page main{padding-top:76px}
#menu{position:fixed;inset:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;border:0;background:var(--oil);color:var(--bone);padding:22px var(--pad);overflow:auto;z-index:200}#menu::backdrop{background:var(--oil)}#menu[open]{animation:menu-enter .55s var(--ease) both}.menu-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px}.menu-close{font-size:23px}.menu-top .brand{font-size:29px}#menu nav{display:flex;flex-direction:column;margin-top:20px}#menu nav a{font-size:clamp(52px,11vw,105px);font-weight:400;line-height:1.15;letter-spacing:-.055em;border-top:1px solid color-mix(in srgb,var(--bone) 40%,transparent);padding:10px 0}#menu nav a:last-child{border-bottom:1px solid color-mix(in srgb,var(--bone) 40%,transparent)}.menu-bottom{display:flex;justify-content:space-between;margin-top:25vh;gap:30px;font-size:17px}.menu-bottom p{max-width:190px}body:has(dialog[open]){overflow:hidden}@keyframes menu-enter{from{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}
.home{background:var(--ink);color:var(--bone)}.home-sequence{position:relative}.frame{position:sticky;top:0;height:100svh;min-height:540px;overflow:hidden;isolation:isolate;background:var(--ink)}.frame-media{position:absolute;inset:0;overflow:hidden;will-change:transform}.frame-media img,.frame-media video{height:115%;position:absolute;top:-7.5%;will-change:transform}.frame-falloff{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,var(--ink) 22%,transparent),transparent 25%,transparent 65%,color-mix(in srgb,var(--ink) 38%,transparent))}.frame-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 40px;will-change:transform}.frame-copy h1,.frame-copy h2{font-size:clamp(55px,8.1vw,140px);font-weight:400;letter-spacing:-.055em;line-height:1.01;max-width:1250px;text-wrap:balance}.frame-copy h1 span{display:block}.opening .frame-copy{padding-top:80px}.opening-description{position:absolute;left:50%;bottom:15vh;transform:translateX(-50%);max-width:510px;width:70%;font-size:19px;text-align:center;line-height:1.25}.frame-invitation{font-size:17px;position:absolute;top:calc(50% + 95px);opacity:0;transform:translateY(10px);transition:opacity .35s,transform .35s}.frame-copy:hover .frame-invitation,.frame-copy:focus-visible .frame-invitation{opacity:1;transform:none}.frame-caption{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);font-size:16px;opacity:.85}.home-rail{position:fixed;bottom:25px;left:var(--pad);right:var(--pad);display:flex;gap:32px;font-size:15px;line-height:1.4;z-index:40;pointer-events:none}.home-rail a{pointer-events:auto}.rail-scroll{margin-left:auto;align-self:flex-end;font-size:15px}.rail-scroll b{display:inline-block;font-weight:400;margin-left:14px;animation:breathe 2.5s ease-in-out infinite}.end-frame{background:var(--oil);display:flex;align-items:center;justify-content:center;text-align:center}.end-copy p{font-size:clamp(52px,7.8vw,130px);line-height:1;letter-spacing:-.065em}.end-copy a{display:inline-block;font-size:26px;margin-top:45px;border-bottom:1px solid var(--bronze);padding-bottom:6px}@keyframes breathe{50%{transform:translateY(5px)}}
.index-top{display:flex;align-items:center;justify-content:space-between;padding:28px var(--pad) 24px;font-size:19px}.index-top h1{font-size:22px}.filters{display:flex;gap:22px}.filters button{font-size:18px;color:var(--oil);opacity:.55;padding-bottom:3px;border-bottom:1px solid transparent}.filters button[aria-pressed=true]{opacity:1;border-color:var(--oil)}.project-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 18px;padding:0 var(--pad) 90px}.project-card:nth-child(5){grid-column:1/-1}.card-media{position:relative;aspect-ratio:1.16;overflow:hidden;background:var(--bronze)}.project-card:nth-child(5) .card-media{aspect-ratio:2.05}.card-media img{transition:transform 1s var(--ease)}.project-card a:hover img{transform:scale(1.035)}.card-open{position:absolute;right:18px;bottom:15px;font-size:35px;color:var(--bone);opacity:0;transition:opacity .3s}.project-card a:hover .card-open{opacity:1}.card-label{display:flex;align-items:baseline;justify-content:space-between;padding-top:9px;gap:10px}.card-label h2{font-size:23px}.card-label>span{font-size:16px}
.project-hero{height:92svh;min-height:560px;position:relative;overflow:hidden;background:var(--ink);color:var(--bone)}.hero-media{position:absolute;inset:0}.hero-media img{height:112%;position:absolute;top:-6%;will-change:transform}.project-hero h1{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:clamp(55px,8.5vw,150px);letter-spacing:-.06em;line-height:1.02;text-align:center;padding:70px 30px;pointer-events:none}.project-record{display:grid;grid-template-columns:25% 1fr;gap:8.5%;padding:32px var(--pad) 40px}.project-record dl{font-size:17px}.project-record dl>div{display:grid;grid-template-columns:80px 1fr;gap:12px;padding:7px 0;border-top:1px solid var(--rule)}.project-record dl>div:last-child{border-bottom:1px solid var(--rule)}.project-record>div>p{font-size:clamp(24px,2.3vw,37px);line-height:1.16;letter-spacing:-.04em}.project-record details{margin-top:16px}.project-record details p{font-size:21px;line-height:1.45;max-width:900px;padding-top:22px}.project-record summary{font-size:17px;display:inline-flex;gap:30px;border-bottom:1px solid var(--rule);cursor:pointer;list-style:none}.when-open,details[open] .when-closed{display:none}details[open] .when-open{display:inline}summary::-webkit-details-marker{display:none}summary i{font-style:normal}details[open] summary i{transform:rotate(45deg)}.project-mosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:0 var(--pad)}.photo-tile{position:relative;overflow:hidden;height:36vw;background:var(--bronze)}.photo-tile.tile-0{grid-column:span 2}.photo-tile.tile-5{grid-column:1/-1;height:62vw;max-height:1000px}.photo-tile img{transition:transform 1s var(--ease)}.photo-tile:hover img{transform:scale(1.025)}.photo-tile span{position:absolute;right:18px;bottom:10px;color:var(--bone);font-size:32px;opacity:0;transition:opacity .3s}.photo-tile:hover span{opacity:1}.gallery-end{display:flex;justify-content:space-between;padding:25px var(--pad) 55px;font-size:18px}.gallery-end button{border-bottom:1px solid var(--rule)}
.detail-intro{padding:38px var(--pad) 65px;display:grid;grid-template-columns:2fr 1fr;align-items:end;gap:20px}.detail-intro h1{font-size:clamp(60px,6.9vw,115px);letter-spacing:-.055em;line-height:1}.detail-intro p{font-size:23px;max-width:360px}.detail-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:55px 18px;padding:0 var(--pad) 90px}.detail-card>a>div{height:48vw;max-height:800px;overflow:hidden}.detail-card img{transition:transform 1.1s var(--ease)}.detail-card:hover img{transform:scale(1.025)}.detail-card h2{font-size:32px;margin:13px 0 5px;letter-spacing:-.04em}.detail-card p{font-size:19px;max-width:470px;line-height:1.35}.detail-source{display:inline-block;margin-top:20px;font-size:16px;border-bottom:1px solid var(--rule)}
.studio-layout{padding:24px var(--pad) 80px;display:grid;grid-template-columns:25% 1fr;gap:8.5%;align-items:start}.chapter-nav{position:sticky;top:100px;display:flex;flex-direction:column;font-size:22px}.chapter-nav a{padding:12px 0;border-top:1px solid var(--rule);transition:padding .25s}.chapter-nav a:hover,.chapter-nav a.active{padding-left:16px}.chapter-nav a.active:before{content:'•';position:absolute;left:0}.chapter-nav a:last-child{border-bottom:1px solid var(--rule)}.studio-body section{padding-bottom:80px;scroll-margin-top:100px}.studio-body h1{font-size:clamp(40px,4.65vw,80px);line-height:1.02;letter-spacing:-.05em;margin:0 0 30px}.studio-body #practice>img{height:auto;aspect-ratio:1.6;object-fit:cover}.studio-columns{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:25px;font-size:21px;line-height:1.4}.section-line{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--rule);padding-top:10px;margin-bottom:35px;gap:20px}.section-line h2{font-size:22px}.section-line>span,.section-line>a{font-size:16px}.studio-lead{font-size:clamp(34px,3.4vw,58px);line-height:1.1;letter-spacing:-.04em}.service-words{display:flex;flex-direction:column;font-size:clamp(35px,3.6vw,65px);line-height:1.2;letter-spacing:-.045em;margin-bottom:40px}.process-rows details{border-top:1px solid var(--rule)}.process-rows details:last-child{border-bottom:1px solid var(--rule)}.process-rows summary{display:flex;list-style:none;cursor:pointer;gap:24px;padding:20px 0;font-size:24px}.process-rows summary span{font-size:15px;padding-top:5px}.process-rows summary i{margin-left:auto;transition:transform .25s}.process-rows details p{padding:0 45px 25px;font-size:20px;line-height:1.4;max-width:700px}.news-row{position:relative;display:block;border-top:1px solid var(--rule);padding:20px 0 25px}.news-row>span{font-size:16px}.news-row h3{font-size:clamp(36px,3.7vw,66px);line-height:1.03;letter-spacing:-.05em;margin-top:22px}.news-row i{position:absolute;right:0;top:50%;font-style:normal;font-size:36px;transition:transform .3s}.news-row:hover i{transform:translate(4px,-4px)}.contact-heading{font-size:clamp(50px,5.5vw,90px);line-height:1.02;letter-spacing:-.05em;margin-bottom:30px}.studio-body address{margin-bottom:40px;font-style:normal;font-size:21px;line-height:1.4}
.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding:60px var(--pad) 100px;min-height:85vh}.contact-page h1{font-size:clamp(50px,5.2vw,90px);line-height:1;letter-spacing:-.055em;margin-bottom:50px}.contact-page address{font-style:normal;margin:0 0 24px;font-size:22px}.contact-page>div>p{font-size:18px}.enquiry{font-size:18px;letter-spacing:-.02em}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.enquiry>label,.form-row>label{display:block;margin-bottom:27px}.enquiry input:not([type=radio]),.enquiry textarea{display:block;border:0;border-bottom:1px solid var(--rule);border-radius:0;background:transparent;width:100%;padding:12px 0 8px;margin-top:7px;outline:0;box-shadow:none;font-size:23px;height:49px;transition:border-color .2s}.enquiry textarea{height:120px;resize:vertical}.enquiry input:focus,.enquiry textarea:focus{border-bottom:2px solid var(--oil);outline:none;background:transparent}.enquiry input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--bone) inset;-webkit-text-fill-color:var(--oil);caret-color:var(--oil)}.enquiry fieldset{padding:0;margin:0 0 30px;border:0;display:flex;flex-wrap:wrap;gap:17px}.enquiry legend{margin-bottom:14px}.enquiry fieldset label{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:17px}.enquiry input[type=radio]{appearance:none;width:14px;height:14px;margin:0;border:1px solid var(--oil);border-radius:50%;display:inline-grid;place-content:center}.enquiry input[type=radio]:checked:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--oil)}.send{display:flex;justify-content:space-between;border-top:1px solid var(--oil);border-bottom:1px solid var(--oil);width:100%;padding:14px 0;font-size:24px}.send span{transition:transform .3s}.send:hover span{transform:translate(4px,-4px)}.form-status{margin-top:15px;font-size:16px}
.site-footer{padding:30px var(--pad) 20px;background:var(--oil);color:var(--bone)}.footer-line{display:flex;justify-content:space-between;gap:25px;font-size:18px;line-height:1.4}.footer-line>a{font-size:25px;border-bottom:1px solid var(--bronze);align-self:flex-start}.footer-brand{display:block;font-size:26vw;line-height:.95;letter-spacing:-.085em;font-weight:500;white-space:nowrap;margin:60px 0 35px}.footer-brand span{font-weight:350;margin-left:1vw}.footer-brand i{font-size:8vw;font-style:normal;display:inline-block;vertical-align:top;line-height:1.4;margin-left:2vw}.footer-base{display:flex;justify-content:space-between;border-top:1px solid color-mix(in srgb,var(--bone) 30%,transparent);padding-top:15px;font-size:15px;letter-spacing:-.02em}
.journal-intro{padding:40px var(--pad) 55px}.journal-intro h1{font-size:clamp(55px,6.8vw,115px);letter-spacing:-.06em;line-height:1}.journal-index{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0 var(--pad) 80px}.press-cover{aspect-ratio:1.12;background:var(--oil);color:var(--bone);padding:25px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.press-cover strong{font-size:clamp(65px,9vw,150px);font-weight:400;letter-spacing:-.075em;line-height:.85}.press-cover>span{font-size:16px;letter-spacing:0}.press-cover.tatler{background:var(--bronze);color:var(--oil)}.press-cover:after{content:'';position:absolute;right:18%;top:-20%;height:150%;width:1px;background:currentColor;opacity:.25;transform:rotate(-20deg)}.journal-index h2{font-size:25px;margin-top:12px}.journal-article{display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding:35px var(--pad) 80px}.journal-article .press-cover{aspect-ratio:.75;position:sticky;top:110px}.journal-article h1{font-size:clamp(43px,4.6vw,80px);line-height:1;letter-spacing:-.05em;margin:30px 0}.journal-article p{font-size:22px;line-height:1.4;margin-bottom:24px}.journal-article h2{font-size:29px;margin-top:40px;margin-bottom:10px}.journal-article a{font-size:18px;border-bottom:1px solid var(--rule)}.journal-article .source{margin-top:50px}
.lightbox{border:0;inset:0;width:100%;height:100%;max-width:none;max-height:none;background:var(--ink);color:var(--bone);padding:25px;margin:0}.lightbox::backdrop{background:var(--ink)}.lightbox[open]{display:grid;grid-template-rows:auto 1fr auto;gap:20px}.lightbox-head,.lightbox-controls{display:flex;justify-content:space-between;align-items:center;font-size:19px;gap:20px}.lightbox>img{min-height:0;object-fit:contain;width:100%;height:100%;touch-action:pan-y}.lightbox-controls button{font-size:30px;min-width:48px;min-height:44px}.lightbox-head button{min-height:44px}.handover{position:fixed;inset:0;background:var(--oil);background-size:cover;background-position:center;pointer-events:none;z-index:150;opacity:0;visibility:hidden}.handover.leaving{opacity:1;visibility:visible;transition:opacity .45s var(--ease)}.handover.arriving{opacity:1;visibility:visible}.handover.arriving.ready{opacity:0;transition:opacity .85s var(--ease),visibility 0s .85s;visibility:hidden}
@media(min-width:1800px){:root{--pad:40px}.masthead{height:90px}.page main{padding-top:90px}.frame-copy h1,.frame-copy h2{max-width:1600px}.project-record{padding-top:45px}}
@media(max-width:1000px){:root{--pad:22px}.masthead{height:68px}.page main{padding-top:68px}.masthead nav{font-size:21px;gap:25px}.frame-copy h1,.frame-copy h2{font-size:8.5vw}.project-record{grid-template-columns:30% 1fr;gap:5%}.project-record>div>p{font-size:27px}.project-record dl>div{grid-template-columns:68px 1fr;font-size:15px}.studio-layout{grid-template-columns:25% 1fr;gap:5%}.studio-columns{grid-template-columns:1fr;font-size:20px}.chapter-nav{font-size:19px}.detail-intro p{font-size:20px}.contact-page{gap:5vw}.footer-line{font-size:16px}.footer-line>a{font-size:22px}.home-rail{font-size:13px;gap:20px}.frame-caption{font-size:14px}.project-hero{height:85svh;min-height:460px}}
@media(max-width:700px){:root{--pad:18px}body{font-size:18px}.masthead{height:65px;padding:15px var(--pad)}.masthead .brand{font-size:27px}.masthead nav{display:none}.menu-toggle{display:block}.page main{padding-top:65px}.frame{height:100svh;min-height:550px}.frame-copy{padding:80px 18px}.frame-copy h1,.frame-copy h2{font-size:clamp(43px,11.8vw,79px);line-height:1.02;letter-spacing:-.055em}.frame-copy h1 span{display:inline}.frame-copy h1 span:first-child:after{content:' ';display:block;margin-bottom:.2em}.frame-copy h1{max-width:580px}.opening .frame-copy{padding-bottom:130px}.opening-description{font-size:16px;max-width:290px;width:80%;bottom:20vh}.frame-caption{bottom:110px;width:100%;text-align:center;font-size:14px}.frame-invitation{font-size:16px;opacity:1;transform:none;top:auto;bottom:160px}.home-rail{font-size:13px;gap:20px;bottom:20px;right:18px;left:18px}.rail-scroll{font-size:0}.rail-scroll b{font-size:22px;margin-left:0}.home-rail>a:nth-child(2){margin-left:auto}.frame-media img,.frame-media video{height:110%;top:-5%}.end-copy{padding:0 20px}.end-copy p{font-size:12vw}.end-copy a{font-size:22px}.index-top{padding-top:22px;align-items:baseline}.index-top h1{font-size:20px}.filters{gap:13px}.filters button{font-size:15px}.project-index{grid-template-columns:1fr;gap:28px;padding-bottom:45px}.project-card:nth-child(5){grid-column:auto}.card-media,.project-card:nth-child(5) .card-media{aspect-ratio:.9}.card-label h2{font-size:21px}.card-label>span{font-size:14px}.card-open{opacity:1;font-size:28px}.project-hero{height:85svh;min-height:500px}.project-hero h1{font-size:12.3vw;padding:80px 18px}.project-record{display:flex;flex-direction:column-reverse;padding:25px var(--pad);gap:25px}.project-record>div>p{font-size:25px}.project-record details p{font-size:18px}.project-record dl{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.project-record dl>div{grid-template-columns:1fr;gap:2px;padding:7px 0;font-size:15px}.project-record dl>div:last-child{border-bottom:0}.project-record dt{font-size:13px;opacity:.7}.project-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 8px}.photo-tile{height:65vw}.photo-tile.tile-0,.photo-tile.tile-5{grid-column:1/-1;height:100vw;max-height:none}.photo-tile.tile-3{grid-column:1/-1;height:115vw}.photo-tile span{opacity:1;font-size:24px;bottom:7px;right:10px}.gallery-end{font-size:14px;padding:22px var(--pad) 40px;gap:15px}.detail-intro{display:block;padding-top:25px;padding-bottom:35px}.detail-intro h1{font-size:14vw}.detail-intro p{font-size:19px;margin-top:25px}.detail-index{grid-template-columns:1fr;gap:40px;padding-bottom:50px}.detail-card>a>div{height:115vw;max-height:none}.detail-card h2{font-size:29px}.detail-card p{font-size:18px}.detail-source{margin-top:12px}.studio-layout{display:block;padding-top:0}.chapter-nav{position:sticky;top:65px;display:flex;flex-direction:row;overflow-x:auto;gap:20px;font-size:15px;background:var(--bone);z-index:20;padding:12px 0;margin-bottom:25px;scrollbar-width:none;border-bottom:1px solid var(--rule)}.chapter-nav a,.chapter-nav a:last-child{flex:none;border:0;padding:0}.chapter-nav a:hover,.chapter-nav a.active{padding:0}.chapter-nav a.active{text-decoration:underline;text-underline-offset:5px}.chapter-nav a.active:before{display:none}.studio-body h1{font-size:11.3vw;margin-bottom:25px}.studio-body #practice>img{aspect-ratio:.9}.studio-body section{padding-bottom:55px;scroll-margin-top:135px}.studio-columns{font-size:18px;gap:20px;margin-top:20px}.section-line{margin-bottom:25px}.section-line h2{font-size:19px}.section-line>span,.section-line>a{font-size:13px}.studio-lead{font-size:33px}.service-words{font-size:36px}.process-rows summary{font-size:21px;gap:18px;padding:17px 0}.process-rows details p{font-size:18px;padding-left:33px;padding-right:5px}.news-row h3{font-size:40px}.contact-heading{font-size:13vw}.contact-page{display:block;padding-top:35px;padding-bottom:60px}.contact-page h1{font-size:13.5vw;margin-bottom:28px}.contact-page address{font-size:20px}.contact-page>div>p{display:none}.contact-page .enquiry{margin-top:45px}.form-row{grid-template-columns:1fr;gap:0}.enquiry fieldset{gap:15px}.enquiry fieldset label{font-size:16px}.footer-line{display:grid;grid-template-columns:1fr 1fr;gap:24px 15px;font-size:14px}.footer-line>a{grid-column:1/-1;grid-row:1;font-size:27px;justify-self:start}.footer-brand{font-size:26vw;margin:40px 0 25px}.footer-brand i{font-size:8vw;margin-left:2vw}.footer-base{font-size:12px;gap:15px;flex-wrap:wrap}.footer-base>span:last-child{display:none}.journal-intro{padding-top:28px;padding-bottom:35px}.journal-intro h1{font-size:12.8vw}.journal-index{grid-template-columns:1fr;gap:35px;padding-bottom:50px}.press-cover strong{font-size:25vw}.press-cover{padding:20px}.press-cover>span{font-size:14px}.journal-index h2{font-size:22px}.journal-article{display:block;padding-top:25px;padding-bottom:45px}.journal-article .press-cover{position:relative;top:auto;aspect-ratio:1.15;margin-bottom:30px}.journal-article h1{font-size:12vw;margin:25px 0}.journal-article p{font-size:20px}.journal-article h2{font-size:26px}.lightbox{padding:15px}.lightbox-head{font-size:16px}.lightbox[open]{gap:12px}.lightbox-title{max-width:70%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.frame{position:relative}.frame-media,.frame-copy,.hero-media img{transform:none!important}.handover{display:none!important}}
/* Bright rooms retain their photographic exposure; ink carries the title. */
.light-hero .project-hero{color:var(--oil)}
.project-page.light-hero:not(.past-hero) .masthead{color:var(--oil)}
.light-hero .project-hero .frame-falloff{opacity:.25}
.frame-copy h2,.project-page:not(.light-hero) .project-hero h1{text-shadow:0 2px 24px color-mix(in srgb,var(--ink) 45%,transparent)}
.home .masthead{background:linear-gradient(180deg,color-mix(in srgb,var(--ink) 25%,transparent),transparent)}
@media(max-height:600px) and (min-width:701px){.frame{min-height:100svh}.frame-copy h1,.frame-copy h2{font-size:10vh}.opening-description{font-size:15px;bottom:17vh}.frame-invitation{top:calc(50% + 60px)}.frame-caption{bottom:20px}.home-rail{bottom:15px}.project-hero{min-height:100svh}}
/* Revision: retained identity, clipped type and an uninterrupted project cover. */
.brand{position:relative;display:block;width:48px;height:43px;flex:none}
.brand img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.logo-light{opacity:0}.home .logo-dark,.project-page:not(.past-hero) .logo-dark,#menu .logo-dark{opacity:0}
.home .logo-light,.project-page:not(.past-hero) .logo-light,#menu .logo-light{opacity:1}
.masthead{view-transition-name:masthead}
.frame-copy h1,.frame-copy h2,.project-hero h1{font-size:clamp(55px,8.1vw,140px);font-weight:400;letter-spacing:-.055em;line-height:1.01;max-width:1250px;text-wrap:balance;color:var(--bone)}
.frame-media img,.frame-media video,.hero-media img{height:100%;top:0}
.project-hero{height:84svh;min-height:500px;color:var(--bone)}
.hero-copy{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:100px 40px}
.project-hero h1{position:static;display:block;inset:auto;padding:0;pointer-events:none}
.frame-copy h2,.project-hero h1{text-shadow:0 2px 24px color-mix(in srgb,var(--ink) 45%,transparent)}
.frame-falloff{background:linear-gradient(180deg,color-mix(in srgb,var(--ink) 28%,transparent),transparent 30%,transparent 65%,color-mix(in srgb,var(--ink) 35%,transparent))}
.site-footer{padding-top:40px}.footer-base{margin-top:45px}.footer-brand{display:none}
.is-transitioning .frame-media,.project-hero .hero-media{view-transition-name:project-photo}
.is-transitioning h2,.project-hero h1{view-transition-name:project-title}
.is-transitioning .frame-falloff,.project-hero .frame-falloff{view-transition-name:project-falloff}
@view-transition{navigation:auto}
::view-transition-group(*){animation-duration:800ms;animation-timing-function:cubic-bezier(.22,.7,.18,1)}
::view-transition-old(project-photo),::view-transition-new(project-photo){height:100%;object-fit:cover;mix-blend-mode:normal}
::view-transition-old(project-title),::view-transition-new(project-title){height:100%;mix-blend-mode:normal}
::view-transition-old(root){animation-duration:350ms}
::view-transition-new(root){animation-duration:600ms}
@media(max-width:1000px){.masthead nav{gap:24px}}
@media(max-width:700px){.brand{width:40px;height:36px}.frame-copy h1,.frame-copy h2,.project-hero h1{font-size:clamp(43px,11.8vw,79px)}.hero-copy{padding:80px 18px}.project-hero{height:85svh;min-height:500px}.site-footer{padding-top:30px}.footer-base{margin-top:28px}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}.masthead,.is-transitioning .frame-media,.project-hero .hero-media,.is-transitioning h2,.project-hero h1,.is-transitioning .frame-falloff,.project-hero .frame-falloff{view-transition-name:none}}
/* A light bone wash recedes to the untouched photograph on pointer/focus. */
@media(hover:hover) and (pointer:fine){
 .card-media,.detail-card>a>div{position:relative}
 .card-media:after,.photo-tile:after,.detail-card>a>div:after{content:'';position:absolute;inset:0;background:var(--bone);opacity:.2;pointer-events:none;transition:opacity 700ms var(--ease)}
 .project-card a:hover .card-media:after,.project-card a:focus-visible .card-media:after,.photo-tile:hover:after,.photo-tile:focus-visible:after,.detail-card a:hover>div:after,.detail-card a:focus-visible>div:after{opacity:0}
 .card-open,.photo-tile>span{z-index:1}
}
@media(prefers-reduced-motion:reduce){.card-media:after,.photo-tile:after,.detail-card>a>div:after{transition:none}}
@media(max-width:700px){.card-media:after,.photo-tile:after,.detail-card>a>div:after{display:none}}
@media(max-width:700px){.frame[data-project="manor"] img,.project-hero[data-project="manor"] img{object-position:22% center}}
