:root{--ink:#172329;--paper:#d9d2c6;--light:#f3f0e9;--rust:#895e49;--line:rgba(23,35,41,.24);--pad:clamp(22px,4.5vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;font-weight:400;line-height:1.45}a{color:inherit;text-decoration:none}img{display:block;width:100%}.skip{position:fixed;top:-60px;left:12px;background:var(--ink);color:white;padding:10px 14px;z-index:100}.skip:focus{top:12px}header{height:94px;padding:0 var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);position:relative;z-index:5}.logo{width:170px}header nav{display:flex;gap:32px;font-size:11px;text-transform:uppercase;letter-spacing:.14em}.contact-link{justify-self:end;font-size:12px;letter-spacing:.08em}.contact-link span{margin-left:12px}.hero{min-height:calc(100svh - 94px);display:grid;grid-template-columns:minmax(0,42fr) minmax(0,58fr);padding:0 var(--pad) var(--pad);gap:clamp(32px,6vw,100px)}.hero-image{margin-top:var(--pad);overflow:hidden}.hero-image img{height:100%;object-fit:cover;filter:saturate(.64) contrast(.94)}.hero-copy{padding-top:clamp(70px,11vh,130px);display:flex;flex-direction:column}.label{font-size:11px;letter-spacing:.18em;text-transform:uppercase}.hero h1{font-size:clamp(64px,8.6vw,138px);line-height:.84;letter-spacing:-.06em;font-weight:450;margin:clamp(45px,8vh,90px) 0 50px}.hero h1 i,.cta h2 i{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--rust)}.intro{max-width:570px;font-size:clamp(18px,1.8vw,25px);margin:0}.down{margin-top:auto;padding-top:40px;border-top:1px solid var(--line);font-size:12px;letter-spacing:.1em;text-transform:uppercase;display:flex;justify-content:space-between}.capabilities,.references,.process{padding:clamp(100px,14vw,190px) var(--pad)}.section-title{display:grid;grid-template-columns:1fr 2.3fr 1fr;gap:32px;align-items:start;margin-bottom:90px}.section-title h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,5.8vw,84px);line-height:1.02;font-weight:400;letter-spacing:-.04em;margin:0}.section-title .note{font-size:14px;margin:8px 0 0}.cap-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.cap{padding:32px 28px 15px 0;border-right:1px solid var(--line);min-height:290px}.cap+.cap{padding-left:28px}.cap:last-child{border-right:0}.cap>span{font-size:11px;letter-spacing:.15em;color:#737876}.cap h3{font-family:Georgia,"Times New Roman",serif;font-size:27px;font-weight:400;margin:58px 0 22px}.cap p{font-size:14px;margin:0;max-width:270px}.materials{background:var(--rust);color:var(--light);min-height:54vh;display:flex;flex-direction:column;justify-content:center;padding:var(--pad)}.materials p{font-family:Georgia,"Times New Roman",serif;font-size:clamp(32px,5vw,75px);line-height:1.15;margin:0}.materials .line{height:1px;background:rgba(255,255,255,.35);margin-top:60px;overflow:hidden}.materials .line span{display:block;height:1px;background:white;width:23%;animation:travel 4s ease-in-out infinite alternate}@keyframes travel{to{transform:translateX(330%)}}.references{background:var(--light)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,48px)}figure{margin:0;overflow:hidden}figure.feature{grid-column:span 2}figure img{aspect-ratio:4/3;object-fit:cover;filter:saturate(.75);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s}.feature img,.panorama img{aspect-ratio:2/1}figure:hover img{transform:scale(1.018);filter:saturate(1)}figcaption{display:flex;justify-content:space-between;padding-top:14px;margin-top:14px;border-top:1px solid var(--line);gap:20px}figcaption b{font-size:13px;font-weight:500;letter-spacing:.05em}figcaption span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;text-align:right;color:#697171}.process{background:var(--ink);color:var(--light)}.process ol{list-style:none;margin:0;padding:0}.process li{display:grid;grid-template-columns:90px 1fr;border-top:1px solid rgba(255,255,255,.22);padding:30px 0}.process li:last-child{border-bottom:1px solid rgba(255,255,255,.22)}.process li>span{font-size:11px;letter-spacing:.16em;color:#89928f}.process li div{display:grid;grid-template-columns:1fr 1fr;align-items:start}.process h3{font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,3vw,43px);font-weight:400;margin:0}.process li p{margin:9px 0 0;max-width:440px;color:#b9bfbd}.cta{padding:clamp(110px,16vw,220px) var(--pad) 100px}.cta h2{font-size:clamp(76px,14vw,210px);line-height:.78;letter-spacing:-.07em;font-weight:450;margin:60px 0 120px}.cta-row{display:grid;grid-template-columns:1fr 1fr;gap:50px;border-top:1px solid var(--line);padding-top:30px}.cta-row p{max-width:500px;margin:0}.cta-row a{justify-self:end;font-family:Georgia,"Times New Roman",serif;font-size:clamp(24px,3vw,42px)}.cta-row a span{margin-left:12px}footer{padding:32px var(--pad);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;font-size:11px;letter-spacing:.11em;text-transform:uppercase}footer img{width:150px}footer a{text-align:center}footer p{text-align:right;margin:0}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.in{opacity:1;transform:none}
@media(max-width:850px){header{height:78px;grid-template-columns:1fr auto}header nav{display:none}.logo{width:145px}.contact-link{font-size:10px}.hero{grid-template-columns:1fr;min-height:auto;padding:0 var(--pad) 60px;gap:0}.hero-image{height:47vh;order:2;margin-top:55px}.hero-copy{padding-top:65px}.hero h1{font-size:clamp(62px,20vw,105px);margin:45px 0}.down{margin-top:55px}.section-title{grid-template-columns:1fr;gap:20px;margin-bottom:55px}.cap-grid{grid-template-columns:1fr 1fr}.cap:nth-child(2){border-right:0}.cap:nth-child(3),.cap:nth-child(4){border-top:1px solid var(--line)}.materials{min-height:44vh}.gallery{grid-template-columns:1fr}.gallery .feature{grid-column:auto}.feature img,.panorama img,figure img{aspect-ratio:4/3}.process li{grid-template-columns:50px 1fr}.process li div{grid-template-columns:1fr}.process li p{margin-top:12px}.cta h2{margin-bottom:80px}.cta-row{grid-template-columns:1fr}.cta-row a{justify-self:start;font-size:25px}footer{grid-template-columns:1fr 1fr;gap:20px}footer a{display:none}}
@media(max-width:520px){.cap-grid{grid-template-columns:1fr}.cap,.cap+.cap{padding:26px 0;border-right:0;border-top:1px solid var(--line);min-height:0}.cap h3{margin:28px 0 12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}.materials .line span{animation:none}}
