@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Manrope:wght@400;500;600;700&display=swap');
:root{font-family:Manrope,Arial,sans-serif;color:#f3efe5;background:#101719;--gold:#c9a66d}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}html{scroll-padding-top:25px}.demo{padding:12px 5vw;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;background:#0b1012;color:#bda882}.demo a{text-decoration:underline}.landing-sequence{height:600svh}.landing-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:#101719}.landing-film,.landing-film img,.landing-film canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.landing-film:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#091014dd,transparent 85%),linear-gradient(0deg,#091014ad,transparent 35%);pointer-events:none}nav{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:30px 5vw;z-index:2}.brand{font-size:30px;letter-spacing:6px}.brand small{display:block;font-size:8px;letter-spacing:1.6px;margin-top:6px}nav>div{display:flex;gap:30px;font-size:12px}.hero-copy{position:absolute;left:7vw;top:30%;max-width:700px;transition:opacity .15s}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:700}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400}h1{font-size:clamp(44px,6vw,94px);line-height:1.02;margin:20px 0}h1 em{color:#d8b780;font-style:normal}.hero-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#e3e0d9}.button{display:inline-block;margin-top:22px;background:var(--gold);color:#101719;padding:17px 25px;font-size:12px;font-weight:700}.landing-transport{position:absolute;bottom:35px;left:5vw;right:5vw;display:flex;gap:30px;align-items:center;font-size:10px;letter-spacing:1.5px}.landing-track{height:2px;background:#ffffff35;flex:1}.landing-track i{display:block;height:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}.landing-status{position:absolute;bottom:0;right:5vw;font-size:11px}.section{padding:85px 7vw}.light{background:#f2eee6;color:#172024}h2{font-size:clamp(38px,4.5vw,68px);line-height:1.05;margin:20px 0 40px}.intro{display:flex;gap:60px;align-items:center;justify-content:space-between}.intro>p{max-width:330px;font-size:14px;line-height:1.9;color:#646866}.projects{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:24px}.projects img{width:100%;aspect-ratio:4/3;object-fit:cover}.projects h3{font-size:29px;margin:17px 0 8px}.projects p{font-size:12px;line-height:1.8;color:#62655f}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.services article{border:1px solid #a58d5545;padding:30px 22px}.services span{color:var(--gold);font-size:12px}.services h3{font-size:29px}.services p,.contact>p{font-size:13px;line-height:1.9;color:#b7b9b5}.process{display:flex;justify-content:space-between;gap:20px}.process b{display:block;color:#9b763d;font-family:Georgia;font-size:30px;font-weight:400;margin-bottom:12px}.process p{font-size:13px}.contact{text-align:center}footer{border-top:1px solid #ffffff20;padding:25px 7vw;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px}@media(max-width:700px){.demo{font-size:8px;gap:15px}nav{padding:22px 5vw}.brand{font-size:23px}nav>div{gap:15px;font-size:10px}nav>div a:first-child{display:none}.hero-copy{top:28%;left:6vw;right:6vw}h1{font-size:47px}.landing-transport{gap:12px;font-size:8px}.intro{display:block}.projects,.services{grid-template-columns:1fr}.projects img{aspect-ratio:16/10}.section{padding:60px 6vw}.process{flex-wrap:wrap}.process p{min-width:25%}footer{gap:20px;font-size:8px}}@media(prefers-reduced-motion:reduce){.landing-sequence{height:100svh}.landing-stage{position:relative}}
/* Photographs make each service immediately recognizable. */
.services article{padding:0 0 25px;overflow:hidden}.services .service-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin-bottom:24px}.services article>span,.services article>h3,.services article>p{margin-left:22px;margin-right:22px}.services article>h3{margin-top:18px;margin-bottom:18px}@media(min-width:701px) and (max-width:1050px){.services{grid-template-columns:repeat(2,minmax(0,1fr))}}
