
:root{--bg:#10110f;--panel:#191a17;--line:#38382f;--text:#f6f1e8;--muted:#c4bfb4;--gold:#c9ae7b}*{box-sizing:border-box}
html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
header{height:80px;padding:0 5%;border-bottom:1px solid var(--line);background:#10110ff5;position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between}
.brand{font-size:15px;letter-spacing:.18em;font-weight:700}nav{display:flex;gap:28px;align-items:center}nav a{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:#d3cec3}nav a:hover,nav a.active{color:var(--gold)}
main{min-height:65vh}.eyebrow{color:var(--gold);letter-spacing:.23em;font-size:11px;text-transform:uppercase}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.13}h1{font-size:clamp(48px,6.7vw,106px);margin:22px 0}h2{font-size:clamp(37px,4.6vw,66px);margin:16px 0 25px}h3{font-size:23px;margin:14px 0 4px}p{color:var(--muted);max-width:650px}.container{max-width:1350px;margin:auto;padding:90px 5%}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 80px);background:#191a17}.hero-copy{padding:12% 10%;align-self:center}.hero-photo{min-height:650px;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.lead{font-size:20px}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{border:1px solid var(--gold);display:inline-block;padding:13px 22px;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);transition:.2s}.btn:hover{background:var(--gold);color:#111}.btn.solid{background:var(--gold);color:#111}.btn.solid:hover{background:#e4c999}.split{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.split img{width:100%;height:530px;object-fit:cover}.feature{background:var(--panel)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:35px}.card{background:#1c1d19;overflow:hidden}.card img{display:block;width:100%;height:330px;object-fit:cover;transition:transform .4s}.card:hover img{transform:scale(1.025)}.card-body{padding:18px 20px}.card-body p{font-size:13px;margin:4px 0}.pagehead{padding:110px 5% 65px;background:#1b1c18;border-bottom:1px solid var(--line)}.pagehead .wrap{max-width:1300px;margin:auto}.pagehead p{font-size:18px}.services{display:grid;grid-template-columns:repeat(2,1fr);gap:0 60px;list-style:none;padding:0}.services li{padding:19px 0;border-bottom:1px solid var(--line)}.note{font-size:13px;color:#b9b3a7}.contact-panel{padding:55px;background:#1b1c18;border:1px solid var(--line);max-width:840px}.contact-panel a.email{color:var(--gold);font-size:clamp(18px,3vw,30px);overflow-wrap:anywhere}footer{padding:35px 5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:#a9a49a;font-size:13px}footer a{color:var(--gold)}.gallery-btn{border:0;padding:0;background:none;display:block;width:100%;cursor:zoom-in}.gallery-btn img{display:block;width:100%;height:280px;object-fit:cover}.lightbox{position:fixed;inset:0;background:#050505ed;display:none;align-items:center;justify-content:center;z-index:30;padding:55px 20px}.lightbox.open{display:flex}.lightbox img{max-width:95vw;max-height:85vh;object-fit:contain}.lightbox button{position:absolute;top:18px;right:24px;background:none;border:0;color:white;font-size:34px;cursor:pointer}.mobile-toggle{display:none;background:none;color:white;border:1px solid #777;padding:8px 12px}
@media(max-width:900px){.hero,.split{grid-template-columns:1fr}.hero-photo{min-height:400px;height:480px;grid-row:1}.hero-copy{padding:70px 7%}.cards{grid-template-columns:repeat(2,1fr)}.split img{height:390px}header{height:auto;min-height:74px;flex-wrap:wrap;padding:18px 5%}.mobile-toggle{display:block}nav{display:none;width:100%;padding:20px 0 4px;flex-direction:column;align-items:flex-start}nav.open{display:flex}}
@media(max-width:580px){.cards,.services{grid-template-columns:1fr}.container{padding:65px 6%}.pagehead{padding:70px 6%}.hero-photo{height:390px}.brand{font-size:12px;letter-spacing:.12em}footer{flex-direction:column}.contact-panel{padding:28px}.card img{height:320px}}
