
:root{--ink:#1f211e;--paper:#f4f1ea;--white:#fff;--line:#d7d0c4;--accent:#8a5b35}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(244,241,234,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}
.brand{color:var(--ink);text-decoration:none;text-transform:uppercase;font-weight:700;letter-spacing:.09em;line-height:1.05}.brand span{font-weight:400;font-size:.8em}
nav{display:flex;gap:30px}nav a{color:var(--ink);text-decoration:none;font-size:.85rem;text-transform:uppercase;letter-spacing:.12em}#menu{display:none}
.hero{min-height:78vh;display:grid;grid-template-columns:1.2fr .8fr;background:#25261f;color:white}.hero img{width:100%;height:78vh;object-fit:cover}.hero div{display:flex;flex-direction:column;justify-content:center;padding:8vw}
h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.05;margin:.15em 0 .35em}h1{font-size:clamp(3rem,6vw,6rem)}h2{font-size:clamp(2.5rem,5vw,5rem)}h3{font-family:Georgia,serif;font-size:1.6rem;margin-top:2em}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:700}.button{display:inline-block;align-self:flex-start;margin-top:1.4rem;padding:13px 19px;border:1px solid white;color:white;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}
.portfolio{padding:8vw 5vw}.intro{max-width:700px}.intro h2{margin-top:0}#filters{display:flex;flex-wrap:wrap;gap:8px;margin:2rem 0 3rem}#filters button{background:transparent;border:1px solid var(--line);padding:10px 14px;cursor:pointer}#filters button.active{background:var(--ink);color:white}
.gallery{columns:3 280px;column-gap:18px}.tile{break-inside:avoid;margin:0 0 18px;position:relative;cursor:zoom-in;overflow:hidden;background:#ddd}.tile img{width:100%;display:block;transition:transform .4s}.tile:hover img{transform:scale(1.02)}
.about{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:9vw;background:white;align-items:center}.about img{width:100%;max-height:680px;object-fit:cover}.about p{max-width:660px}
.contact{padding:10vw 5vw;background:#24251f;color:white}.contact a{color:white;text-decoration:none;font-family:Georgia,serif;font-size:clamp(1.5rem,3vw,3rem)}
footer{padding:30px 5vw;font-size:.8rem}
#lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:50;align-items:center;justify-content:center;padding:5vw}#lightbox.open{display:flex}#lightbox img{max-width:95vw;max-height:90vh}#lightbox button{position:absolute;top:20px;right:28px;background:none;border:0;color:white;font-size:42px;cursor:pointer}
@media(max-width:800px){header{height:74px}.hero{grid-template-columns:1fr}.hero img{height:55vh}.hero div{padding:12vw 7vw}.about{grid-template-columns:1fr;padding:15vw 7vw}.about img{order:-1}nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:24px 5vw;flex-direction:column}nav.open{display:flex}#menu{display:block;border:0;background:none;text-transform:uppercase;letter-spacing:.12em}.gallery{columns:2 150px}}

.category-description{max-width:780px;margin:-1rem 0 2.5rem;color:#555}
