:root{--ink:#151513;--cream:#f3f0e9;--gold:#bd9461;--line:#d8d3c9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}header{height:76px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(243,240,233,.94);position:fixed;top:0;width:100%;z-index:10;border-bottom:1px solid rgba(0,0,0,.08);backdrop-filter:blur(12px)}a{color:inherit;text-decoration:none}.logo{font-weight:800;letter-spacing:.12em}.logo span{font-weight:300}nav{display:flex;align-items:center;gap:32px;font-size:14px}.nav-cta{background:var(--ink);color:white;padding:12px 18px}.menu{display:none;background:none;border:0;font-size:24px}.hero{height:min(850px,100vh);min-height:650px;position:relative;color:#fff;display:flex;align-items:flex-end}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.05)),linear-gradient(0deg,rgba(0,0,0,.55),transparent 55%)}.hero-copy{position:relative;padding:0 7vw 9vh}.hero-copy p,.kicker{font-size:12px;letter-spacing:.2em;font-weight:700}.hero h1{font-family:Georgia,serif;font-size:clamp(60px,10vw,136px);line-height:.84;font-weight:400;margin:24px 0 40px}.hero-actions{display:flex;gap:12px}.button{display:inline-block;padding:16px 24px;border:1px solid rgba(255,255,255,.55);font-size:13px;font-weight:700;letter-spacing:.06em}.button.gold{background:var(--gold);border-color:var(--gold);color:#111}.button.glass{color:#fff}.intro{padding:120px 8vw;display:grid;grid-template-columns:1fr 1.2fr;gap:28px}.intro .kicker{grid-column:1/-1;color:#8b6a45}.intro h2,.work h2,.contact h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(48px,7vw,92px);line-height:.95;margin:0}.lead{font-size:20px;line-height:1.7;max-width:680px;margin:8px 0}.categories{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 5vw}.categories article{padding:54px 36px;border-right:1px solid var(--line)}.categories article:last-child{border:0}.categories span{color:var(--gold);font-weight:700}.categories h3{font-family:Georgia,serif;font-size:30px;font-weight:400}.categories p{line-height:1.6;color:#5e5b55}.work{padding:120px 5vw}.work-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px}.work .kicker{color:#8b6a45}.filters{display:flex;flex-wrap:wrap;gap:8px}.filters button{border:1px solid var(--line);background:transparent;padding:10px 16px;cursor:pointer}.filters button.active{background:var(--ink);color:#fff}.gallery{columns:3;column-gap:18px}.gallery figure{margin:0 0 18px;break-inside:avoid;position:relative;overflow:hidden;background:#ddd}.gallery img{width:100%;display:block;transition:transform .45s}.gallery figure:hover img{transform:scale(1.025)}figcaption{position:absolute;left:0;right:0;bottom:0;padding:36px 20px 18px;color:#fff;font-weight:700;background:linear-gradient(transparent,rgba(0,0,0,.72))}.gallery figure.hide{display:none}.contact{background:var(--ink);color:#fff;padding:120px 8vw;text-align:center}.contact h2{margin:25px 0}.contact>p:not(.kicker){color:#c6c1b8;margin:0 auto 34px;max-width:560px;line-height:1.7}footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;padding:45px 5vw;background:#0b0b0a;color:#aaa;font-size:13px}footer .logo{color:#fff}footer p{margin:8px 0}footer>p{text-align:right}@media(max-width:760px){header{height:64px}nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--cream);padding:25px;flex-direction:column;align-items:flex-start}nav.open{display:flex}.menu{display:block}.hero{min-height:620px}.hero-copy{padding:0 6vw 8vh}.hero h1{font-size:64px}.hero-actions{flex-direction:column;align-items:flex-start}.intro{grid-template-columns:1fr;padding:90px 6vw}.intro .kicker{grid-column:auto}.categories{grid-template-columns:1fr}.categories article{border-right:0;border-bottom:1px solid var(--line)}.work{padding:90px 4vw}.work-head{display:block}.filters{margin-top:28px}.gallery{columns:2;column-gap:10px}.gallery figure{margin-bottom:10px}.contact{padding:90px 6vw}footer{grid-template-columns:1fr}footer>p{text-align:left}}
