:root{--bg:#f4f1eb;--ink:#171715;--muted:#6c6962;--line:#d8d3c9;--dark:#1a1917;--accent:#b99a68}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif}a{text-decoration:none;color:inherit}button{font:inherit}.header{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:fixed;top:0;left:0;right:0;background:rgba(244,241,235,.92);backdrop-filter:blur(14px);z-index:20}.brand{display:flex;flex-direction:column;line-height:.9}.brand span{font-weight:700;letter-spacing:.16em;font-size:20px}.brand small{font-size:7px;letter-spacing:.24em;margin-top:5px;color:var(--muted)}nav{display:flex;gap:34px;font-size:12px;text-transform:uppercase;letter-spacing:.13em}.menu{display:none;border:0;background:none;font-size:22px}.hero{height:100vh;min-height:720px;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;filter:brightness(.6);z-index:-2}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,9,.72),rgba(10,10,9,.16));z-index:-1}.hero-content{width:min(1100px,90%);margin:auto;padding-top:50px}.eyebrow,.section-label{font-size:11px;letter-spacing:.2em;text-transform:uppercase}.eyebrow{color:#d9c49e}.hero h1{font:600 clamp(54px,8vw,112px)/.94 'Playfair Display',serif;margin:24px 0}.hero h1 em,h2 em{font-weight:500}.hero-content>p:not(.eyebrow){max-width:560px;font-size:16px;line-height:1.7;color:#eee}.hero-actions{display:flex;gap:12px;margin-top:35px}.btn{padding:15px 23px;text-transform:uppercase;font-size:11px;letter-spacing:.16em;display:inline-block}.btn.primary{background:#f5f1e8;color:#171715}.btn.ghost{border:1px solid rgba(255,255,255,.55);color:#fff}.hero-meta{position:absolute;bottom:28px;left:5vw;right:5vw;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.16em;color:#ddd}.section{padding:120px 7vw}.section-label{color:var(--muted);margin-bottom:60px}.intro-grid,.split-heading,.clients-head,.projects-head,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.section h2,.cta h2{font:600 clamp(42px,5.5vw,76px)/1.02 'Playfair Display',serif;margin:0}.copy{max-width:650px}.copy p,.split-heading>p,.clients-head>p,.projects-head>p,.contact p{color:var(--muted);line-height:1.8;font-size:15px}.copy .lead{font-size:21px;line-height:1.55;color:var(--ink)}.feature-image{height:68vh;min-height:450px;overflow:hidden}.feature-image img{width:100%;height:100%;object-fit:cover;object-position:center}.split-heading{margin-bottom:65px;align-items:end}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:30px}.service-grid article{padding:35px 28px 20px 0;border-right:1px solid var(--line);margin-right:28px}.service-grid article:last-child{border:0}.service-grid span{font-size:11px;color:var(--accent)}.service-grid h3{font:600 28px 'Playfair Display',serif;margin:35px 0 12px}.service-grid p{font-size:13px;color:var(--muted);line-height:1.7}.service-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:55px}.service-list span{padding:12px 15px;border:1px solid var(--line);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.dark-band{padding:100px 7vw;background:var(--dark);color:#fff;display:grid;grid-template-columns:1.2fr .8fr;gap:12vw;align-items:end}.dark-band h2{font:600 clamp(42px,5vw,72px)/1.02 'Playfair Display',serif;margin:25px 0 0}.dark-band p:last-child{color:#bbb6ac;line-height:1.8}.clients{background:#ece8df}.client-wall{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:70px}.client-wall span{padding:25px 12px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.1em}.projects-head{align-items:end;margin-bottom:65px}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.project-card{text-align:left;padding:0;background:none;border:0;cursor:pointer}.project-card img{width:100%;height:420px;object-fit:cover;display:block;filter:saturate(.7);transition:.5s}.project-card:hover img{filter:saturate(1);transform:translateY(-5px)}.project-card div{padding:20px 0 35px}.project-card small{font-size:9px;letter-spacing:.15em;color:var(--muted)}.project-card h3{font:600 28px 'Playfair Display',serif;margin:8px 0 12px}.project-card span{font-size:11px;letter-spacing:.1em;text-transform:uppercase}.cta{padding:110px 7vw;background:#d8c8ae;display:flex;align-items:end;justify-content:space-between;gap:40px}.cta h2{margin-top:25px}.contact{background:#f7f5f0}.download{display:inline-block;margin-top:30px;border-bottom:1px solid var(--ink);padding-bottom:7px;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:40px}.contact-details div{display:flex;flex-direction:column;gap:8px}.contact-details small{font-size:9px;letter-spacing:.17em;color:var(--muted)}.contact-details a,.contact-details span{font-size:14px;line-height:1.6}footer{background:var(--dark);color:#aaa;padding:45px 7vw;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.05em}footer .brand{color:#fff}.modal{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:50;display:none;align-items:center;justify-content:center;padding:40px}.modal.open{display:flex}.modal img{max-width:min(1000px,92vw);max-height:82vh;object-fit:contain}.modal div{position:absolute;bottom:35px;color:#fff;text-align:center;font-size:14px;letter-spacing:.08em}.close{position:absolute;top:25px;right:35px;background:none;color:#fff;border:0;font-size:40px;cursor:pointer}@media(max-width:800px){nav{display:none}.menu{display:block}.hero h1{font-size:58px}.hero-meta{display:none}.section{padding:80px 6vw}.intro-grid,.split-heading,.clients-head,.projects-head,.contact-grid,.dark-band{grid-template-columns:1fr;gap:35px}.service-grid{grid-template-columns:1fr 1fr}.client-wall{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:1fr}.project-card img{height:330px}.cta{padding:80px 6vw;display:block}.cta .btn{margin-top:35px}footer{display:block}footer p{margin-top:20px}.contact-details{margin-top:15px}}
