:root{--ink:#1c1c19;--paper:#f3f0e9;--muted:#817e76;--line:#d5d0c5;--accent:#8e4d32}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif}.nav{position:fixed;z-index:20;top:0;width:100%;height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;color:#fff;transition:.35s}.nav.scrolled{height:68px;background:rgba(243,240,233,.96);color:var(--ink);border-bottom:1px solid var(--line)}.brand{color:inherit;text-decoration:none;font:600 25px Georgia}.brand span{font:10px Arial;text-transform:uppercase;letter-spacing:2px;margin-left:9px}.nav nav{display:flex;gap:32px}.nav nav a{color:inherit;text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:2px}.menu{display:none}.hero{height:100svh;min-height:620px;position:relative;color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,12,10,.48),rgba(15,12,10,.05)),url('https://images.unsplash.com/photo-1492691527719-9d1e07e534b4?auto=format&fit=crop&w=2000&q=88') center 42%/cover;animation:scale 12s ease-out forwards}@keyframes scale{to{transform:scale(1.05)}}.hero-copy{position:absolute;left:9vw;top:50%;transform:translateY(-44%)}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:10px}.hero h1{font:normal clamp(68px,11vw,155px)/.73 Georgia;margin:32px 0}.hero h1 em,h2 em{font-weight:normal}.tagline{font:italic 24px Georgia;margin-left:6px}.scroll{position:absolute;bottom:40px;right:4vw;color:#fff;text-decoration:none;text-transform:uppercase;font-size:10px;letter-spacing:2px}.scroll span{font-size:18px;margin-left:12px}.section{padding:130px 6vw}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.section h2{font:normal clamp(48px,7vw,94px)/.95 Georgia;margin:14px 0 0;letter-spacing:-3px}.intro{max-width:330px;color:var(--muted);line-height:1.7}.filters{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:38px}.filters button{border:0;background:none;padding:0 0 14px;text-transform:uppercase;letter-spacing:1.5px;font-size:10px;color:var(--muted);cursor:pointer}.filters button.active{color:var(--ink);border-bottom:1px solid var(--ink)}.gallery{columns:3;column-gap:18px}.gallery-item{break-inside:avoid;margin:0 0 18px;position:relative;overflow:hidden;cursor:pointer;background:#ddd}.gallery-item img{width:100%;display:block;transition:.7s;min-height:220px;object-fit:cover}.gallery-item:hover img{transform:scale(1.025)}.gallery-meta{position:absolute;inset:auto 0 0;padding:50px 22px 20px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.65));opacity:0;transition:.35s}.gallery-item:hover .gallery-meta{opacity:1}.gallery-meta h3{font:22px Georgia;margin:5px 0}.gallery-item.hidden{display:none}.about{background:#22221f;color:#eee;display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.about-photo img{width:100%;height:690px;object-fit:cover;filter:saturate(.75)}.about-copy>p:not(.eyebrow){font:21px/1.75 Georgia;color:#bbb}.specialties{display:grid;grid-template-columns:1fr 1fr;margin:35px 0;border-top:1px solid #494943}.specialties span{padding:16px 0;border-bottom:1px solid #494943;text-transform:uppercase;font-size:10px;letter-spacing:2px}.socials{display:flex;gap:25px}.socials a{color:#eee;font-size:11px;text-transform:uppercase;letter-spacing:1.5px}.quote{min-height:60vh;display:grid;place-items:center;text-align:center;padding:80px}.quote p{font:italic clamp(30px,4vw,60px)/1.3 Georgia}.contact{display:grid;grid-template-columns:1fr 1.15fr;gap:10vw;background:#e8e3d9}.contact-copy>p:not(.eyebrow){color:var(--muted);line-height:1.7;max-width:430px}.contact-copy>a{color:var(--ink);display:inline-block;margin-top:25px}form label{display:block;text-transform:uppercase;letter-spacing:1.5px;font-size:9px;margin-bottom:30px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}input,textarea{display:block;width:100%;border:0;border-bottom:1px solid #aaa;background:transparent;padding:13px 0;font:16px Georgia;outline:none;border-radius:0}input:focus,textarea:focus{border-color:var(--ink)}label small{display:block;color:#a13d2d;min-height:14px;margin-top:5px;text-transform:none;letter-spacing:0}form button{background:var(--ink);color:#fff;border:0;padding:18px 25px;text-transform:uppercase;letter-spacing:2px;font-size:10px;cursor:pointer;min-width:180px}.form-status{font-size:13px;margin-top:18px}.form-status.success{color:#386a48}footer{height:120px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:1.5px}.lightbox{position:fixed;z-index:50;inset:0;background:rgba(15,15,13,.96);display:none;color:#fff;padding:4vw}.lightbox.open{display:flex;align-items:center}.lightbox figure{margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:40px;align-items:end;max-width:1100px;width:85%}.lightbox img{max-height:82vh;max-width:100%;margin:auto;display:block}.lightbox h3{font:38px Georgia;margin:10px 0}.lightbox .caption,.lightbox .details{color:#aaa;line-height:1.5}.lightbox button{position:absolute;background:none;border:0;color:#fff;font-size:28px;cursor:pointer}.close{right:3vw;top:25px}.prev{left:3vw;top:50%}.next{right:3vw;top:50%}.reveal{opacity:0;transform:translateY(24px);transition:.8s}.reveal.visible{opacity:1;transform:none}@media(max-width:800px){.nav{height:68px}.menu{display:block;background:none;border:0;width:32px}.menu i{display:block;height:1px;background:currentColor;margin:7px}.nav nav{position:absolute;top:68px;left:0;right:0;background:var(--paper);color:var(--ink);padding:30px 6vw;display:none;flex-direction:column}.nav.open nav{display:flex}.hero-copy{left:7vw}.section{padding:90px 6vw}.section-head{display:block}.intro{margin-top:28px}.filters{overflow:auto;gap:20px}.gallery{columns:2}.about{grid-template-columns:1fr;gap:55px}.about-photo img{height:520px}.contact{grid-template-columns:1fr;gap:60px}.lightbox figure{display:block;width:90%}.lightbox figcaption{margin-top:18px}.lightbox .caption,.lightbox .details{display:none}}@media(max-width:520px){.gallery{columns:1}.field-row{grid-template-columns:1fr;gap:0}.hero h1{font-size:66px}.section h2{letter-spacing:-2px}.quote{padding:60px 20px}.about-photo img{height:430px}footer p:last-child{display:none}}
