@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--paper:#f7f5f0;--ink:#252521;--muted:#77756e;--line:#dedbd3;--accent:#9a654b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.top{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font:500 25px 'DM Sans',sans-serif;letter-spacing:.02em}.brand small{display:block;font:10px 'DM Sans',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-top:1px}.nav{display:flex;gap:28px;font-size:12px;letter-spacing:.13em;text-transform:uppercase}.nav a.active{color:var(--accent)}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:600}.serif{font-family:'DM Sans',sans-serif;font-weight:500;line-height:1.12}.hero{display:grid;grid-template-columns:1.02fr .98fr;gap:7%;align-items:center;padding:68px 0 76px}.hero h1{font-size:clamp(42px,5.5vw,72px);white-space:nowrap;margin:16px 0 18px;letter-spacing:-.035em}.hero p{max-width:480px;color:#66645e;font-size:16px}.heroimg{height:570px;overflow:hidden;background:#e8e4dc}.heroimg img{width:100%;height:100%;object-fit:cover;object-position:center 30%}.actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.btn{display:inline-block;padding:13px 20px;border:1px solid var(--ink);font-size:11px;text-transform:uppercase;letter-spacing:.14em}.btn.fill{background:var(--ink);color:white}.intro{padding:64px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:8%}.intro h2,.sectionhead h1{font-size:clamp(36px,4vw,54px);margin:0}.intro p{margin:0;color:#66645e;max-width:720px}.section{padding:76px 0}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.sectionhead p{color:var(--muted);max-width:450px;margin:0}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tile{position:relative;min-height:310px;overflow:hidden;background:#e6e2da}.tile img{width:100%;height:100%;min-height:310px;object-fit:cover;transition:transform .6s}.tile:hover img{transform:scale(1.035)}.tile span{position:absolute;left:20px;bottom:18px;color:white;text-shadow:0 1px 12px #000;font:500 28px 'DM Sans',sans-serif}.portraitrow{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:center}.portraitrow img{width:100%;height:310px;object-fit:cover;object-position:top}.portraitrow p{color:#66645e;max-width:680px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.art{border:0;padding:0;background:#e9e6df;cursor:zoom-in;aspect-ratio:1/1;overflow:hidden}.art img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.art:hover img{transform:scale(1.04)}.pageintro{padding:70px 0 42px}.pageintro h1{font-size:clamp(44px,6vw,72px);margin:12px 0}.pageintro p{color:var(--muted);max-width:650px}.bio{display:grid;grid-template-columns:1fr 1.2fr;gap:7%;align-items:start;padding:30px 0 80px}.bio img{width:100%;max-height:560px;object-fit:cover;object-position:top}.bio h2{font-size:40px;margin:0 0 18px}.bio p{color:#66645e}.linkcards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.linkcard{padding:28px;border:1px solid var(--line)}.linkcard h3{font:500 28px 'DM Sans',sans-serif;margin:0 0 8px}.footer{border-top:1px solid var(--line);padding:30px 0 42px;color:var(--muted);font-size:12px;display:flex;justify-content:space-between;gap:20px}.lightbox{position:fixed;inset:0;background:rgba(20,20,18,.94);display:none;align-items:center;justify-content:center;z-index:20;padding:40px}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:88vh;object-fit:contain}.close{position:absolute;right:25px;top:15px;color:white;background:none;border:0;font-size:36px;cursor:pointer}.mobilemenu{display:none}@media(max-width:760px){.wrap{width:min(100% - 32px,600px)}.top{height:auto;min-height:76px;align-items:flex-start;padding:17px 0;gap:18px;flex-direction:column}.nav{gap:15px;flex-wrap:wrap;font-size:10px}.hero{grid-template-columns:1fr;padding:48px 0;gap:30px}.heroimg{height:430px;order:-1}.intro,.bio,.portraitrow{grid-template-columns:1fr;gap:22px}.tiles{grid-template-columns:1fr 1fr}.tile,.tile img{min-height:220px}.gallery{grid-template-columns:repeat(2,1fr);gap:8px}.section{padding:52px 0}.sectionhead{display:block}.sectionhead p{margin-top:12px}.linkcards{grid-template-columns:1fr}.footer{flex-direction:column}}

/* Current design refinements */
.hero{grid-template-columns:1.15fr .85fr;gap:8%;}
.heroimg{height:430px;max-width:430px;justify-self:end;width:100%;}
.heroimg img{object-fit:contain;object-position:center;background:var(--paper);}
.main-title{letter-spacing:-.045em;font-size:clamp(38px,5vw,68px)!important;}
.art img{object-fit:cover;transform:scale(1.10);}
.art:hover img{transform:scale(1.15);}
.dates{font-size:15px;letter-spacing:.08em;color:var(--muted);margin:-12px 0 22px;}
.bio h3{font-size:19px;font-weight:600;margin:26px 0 6px;}
.lightbox{gap:18px;}
.lightbox .lb-prev,.lightbox .lb-next{position:absolute;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#fff;font-size:56px;line-height:1;cursor:pointer;padding:14px 22px;}
.lightbox .lb-prev{left:16px}.lightbox .lb-next{right:16px}.lightbox .lb-count{position:absolute;bottom:16px;color:#ddd;font-size:12px;letter-spacing:.12em;}
.placeholder{display:flex;align-items:center;justify-content:center;background:#e6e2da}.placeholder-art{font-size:22px;letter-spacing:.15em;text-transform:uppercase;color:#9a978e}.empty-arch{color:var(--muted);}
@media(max-width:760px){.hero{grid-template-columns:1fr;gap:24px}.heroimg{order:-1;height:320px;max-width:100%;justify-self:center}.main-title{font-size:clamp(34px,9vw,52px)!important}.lightbox .lb-prev{left:0}.lightbox .lb-next{right:0}}

/* Residential project gallery */
.project-section{padding:10px 0 86px}.project-heading{border-top:1px solid var(--line);padding:28px 0 22px;margin-bottom:8px}.project-heading h2{font-size:32px;font-weight:500;margin:6px 0 0}.res-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.res-photo{display:block;width:100%;height:auto;aspect-ratio:auto;background:transparent;border:0;padding:0;cursor:zoom-in;overflow:hidden}.res-photo img{display:block;width:100%;height:auto;object-fit:contain;transition:transform .35s}.res-photo:hover img{transform:scale(1.015)}@media(max-width:760px){.res-gallery{grid-template-columns:1fr;gap:12px}.project-heading h2{font-size:28px}}


/* Requested typography and image refinements */
body{font-size:17px}
.brand{font-size:27px}
.nav{font-size:18px}
.hero-copy>.eyebrow{font-size:22px;letter-spacing:.18em}
.linkcard{padding:28px;display:block}
.linkcard img{display:block;width:100%;height:250px;object-fit:cover;margin-top:18px}
.commercial-feature{padding:0 0 100px}
.commercial-feature img{display:block;width:100%;height:auto;object-fit:contain}
.commercial-feature p{color:var(--muted);margin-top:20px}
@media(max-width:760px){.nav{font-size:15px}.hero-copy>.eyebrow{font-size:20px}.linkcard img{height:220px}}
\n/* Taller family architecture cards */\n.linkcard img{height:360px;object-fit:cover;}\n@media(max-width:760px){.linkcard img{height:300px}}\n