*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:#111;background:#f4f2ee}.site-header{position:fixed;z-index:20;top:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:28px 4%;background:linear-gradient(#f4f2ee,rgba(244,242,238,.88),transparent)}a{color:inherit;text-decoration:none}.brand{font-weight:600}.nav{display:flex;gap:32px}.menu-toggle{display:none}.hero{min-height:100svh;background-image:var(--hero);background-size:cover;background-position:var(--hero-pos);position:relative;color:white;display:flex;align-items:flex-end}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.12) 45%,rgba(0,0,0,.7))}.hero-content{position:relative;padding:0 6% 8%;max-width:850px}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:600}.hero h1{margin:20px 0;font-size:clamp(76px,11vw,160px);line-height:.72;font-weight:400}.hero h1 span{display:block}.hero h1 em{font-family:"Playfair Display",serif;font-weight:500;margin-left:14%}.hero-copy{max-width:560px;font-size:19px;line-height:1.6}.hero-actions{display:flex;gap:12px;margin-top:28px}.btn{padding:15px 24px;border:1px solid white;text-transform:uppercase;font-size:12px;letter-spacing:.12em}.btn.light{background:white;color:#111}.section{padding:110px 6%}.section h2{font-family:"Playfair Display",serif;font-size:clamp(44px,6vw,82px);font-weight:500;line-height:1.05}.two{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.portrait{min-height:680px;background-size:cover;background-position:center}.dark{background:#111;color:white}dl div{display:flex;justify-content:space-between;border-bottom:1px solid #444;padding:17px 0}dt{opacity:.6}dd{margin:0}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0}.filters button{border:1px solid #aaa;background:transparent;padding:10px 16px;cursor:pointer}.filters .active{background:#111;color:#fff}.gallery{columns:3;column-gap:20px}.gallery-item{border:0;background:none;padding:0;margin:0 0 20px;width:100%;cursor:pointer;break-inside:avoid;text-align:left}.gallery-item img{width:100%;display:block;transition:transform .5s}.gallery-item:hover img{transform:scale(1.015)}.gallery-item span{display:block;padding:9px 0}.gallery-item.hidden{display:none}.contact{text-align:center}.contact>a{font-size:clamp(20px,3vw,38px);border-bottom:1px solid}dialog{width:100vw;height:100vh;max-width:none;max-height:none;border:0;background:rgba(0,0,0,.94);color:white;padding:30px}dialog::backdrop{background:#000}dialog img{display:block;max-width:82vw;max-height:82vh;margin:auto}dialog button{position:fixed;background:none;border:0;color:white;font-size:48px;cursor:pointer}#close{right:25px;top:15px}#prev{left:25px;top:48%}#next{right:25px;top:48%}#lbtitle{text-align:center}@media(max-width:780px){.site-header{padding:20px}.nav{display:none;position:absolute;right:15px;top:60px;background:#f4f2ee;padding:20px;flex-direction:column}.nav.open{display:flex}.menu-toggle{display:block;border:0;background:none}.hero-content{padding:0 24px 8%}.hero h1{font-size:20vw}.hero-copy{font-size:15px}.section{padding:75px 24px}.two{grid-template-columns:1fr}.portrait{min-height:520px}.gallery{columns:2}.section h2{font-size:12vw}}