*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f3efe9;color:#171614;font-family:'DM Sans',sans-serif}img{display:block;width:100%}a{color:inherit;text-decoration:none}.top{height:92px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#151412;color:#fff;position:relative;z-index:5}.brand img{width:190px;max-height:70px;object-fit:contain}.top nav{display:flex;gap:34px;font-size:13px;text-transform:uppercase;letter-spacing:.12em}.menu{display:none;background:none;border:0;color:white;font-size:24px}.hero{height:calc(100vh - 92px);min-height:600px;position:relative;color:#fff;overflow:hidden}.hero>img{height:100%;object-fit:cover;object-position:center}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.64),rgba(0,0,0,.08) 70%)}.hero-copy{position:absolute;left:7vw;bottom:12%;max-width:850px}.eyebrow{font-size:11px;letter-spacing:.25em;font-weight:600;margin:0 0 22px}.hero h1,.intro h2,.section-head h2,.about h2,.contact h2{font-family:'Playfair Display',serif;font-weight:500;line-height:.98;margin:0}.hero h1{font-size:clamp(48px,7vw,100px)}em{font-weight:500}.btn{display:inline-block;margin-top:36px;padding:15px 22px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;border:1px solid}.btn.light{border-color:#fff}.intro{text-align:center;padding:120px 20px}.eyebrow.dark{color:#786d62}.intro h2,.contact h2{font-size:clamp(38px,5vw,68px)}.intro>p:last-child,.contact>p:last-of-type{max-width:580px;margin:30px auto 0;color:#6e675f;line-height:1.8}.portfolio{padding:30px 5vw 120px}.section-head{display:grid;grid-template-columns:1.4fr .6fr;gap:60px;align-items:end;margin-bottom:55px}.section-head h2{font-size:clamp(38px,5vw,64px)}.section-head>p{color:#6e675f;line-height:1.7;max-width:370px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}.card{height:430px;position:relative;overflow:hidden;background:#ddd}.card.tall{height:560px}.card img{height:100%;object-fit:cover;transition:transform .6s}.card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(0,0,0,.6))}.card:hover img{transform:scale(1.025)}.card h3,.card span{position:absolute;color:#fff;z-index:2}.card h3{left:24px;bottom:20px;font-family:'Playfair Display';font-size:28px;margin:0}.card span{right:20px;top:20px;font-size:10px;letter-spacing:.15em}.about{background:#171614;color:#eee;display:grid;grid-template-columns:1fr 1fr;min-height:720px}.about-photo{overflow:hidden}.about-photo img{height:100%;object-fit:cover}.about-copy{padding:10vw 8vw;display:flex;flex-direction:column;justify-content:center}.about h2{font-size:clamp(40px,5vw,66px);margin-bottom:35px}.about-copy>p:not(.eyebrow){color:#bdb7af;line-height:1.8;max-width:520px}.contact{text-align:center;padding:130px 20px}.actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.btn.dark{background:#171614;color:white;border-color:#171614}.btn.outline{border-color:#171614}footer{background:#0f0e0d;color:#aaa;padding:50px 5vw;display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.05em}footer img{width:170px}@media(max-width:760px){.top{height:78px}.brand img{width:150px}.menu{display:block}.top nav{display:none;position:absolute;top:78px;left:0;right:0;background:#151412;padding:25px 5vw;flex-direction:column}.top nav.open{display:flex}.hero{height:78vh;min-height:520px}.hero-copy{left:7vw;right:7vw}.section-head{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr}.card,.card.tall{height:360px}.about{grid-template-columns:1fr}.about-photo{height:520px}.about-copy{padding:90px 7vw}.intro{padding:90px 20px}.portfolio{padding-bottom:90px}footer{gap:25px;flex-direction:column;text-align:center}}@media(max-width:480px){.grid{grid-template-columns:1fr}.card,.card.tall{height:460px}.hero h1{font-size:48px}.hero>img{object-position:58% center}}