:root{--ink:#171714;--cream:#f3efe7;--paper:#fbfaf6;--gold:#a68757;--line:#d8d1c5}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}
a{color:inherit;text-decoration:none}
.site-header{height:92px;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:absolute;z-index:10;width:100%;color:#fff}
.header-logo{width:70px;height:70px;display:block;border-radius:50%;overflow:hidden;background:#fff;box-shadow:0 5px 18px rgba(0,0,0,.2)}.header-logo img{width:100%;height:100%;display:block;object-fit:cover}
.brand{display:flex;align-items:center;gap:12px;font-family:Italiana,serif;font-size:27px;line-height:.82}
.brand small{display:block;font-family:"DM Sans";text-transform:uppercase;letter-spacing:.21em;font-size:7px;margin-top:8px}
.brand-mark{width:39px;height:39px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:22px}
nav{display:flex;align-items:center;gap:32px;font-size:13px}nav a{opacity:.82}nav a:hover{opacity:1}
.nav-cta{border:1px solid rgba(255,255,255,.6);padding:12px 20px;border-radius:100px}
.hero{min-height:760px;display:grid;grid-template-columns:51% 49%;background:var(--ink);color:white}
.hero-copy{padding:180px 6vw 80px;display:flex;flex-direction:column;justify-content:center}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:600;color:var(--gold)}
h1,h2{font-family:Italiana,serif;font-weight:400;margin:20px 0;font-size:clamp(58px,6.4vw,102px);line-height:.91;letter-spacing:-.025em}
h1 em,h2 em{color:#c6a777;font-weight:400}
.lead{font-size:16px;line-height:1.75;max-width:520px;color:#c7c5bd}
.hero-actions{display:flex;gap:12px;margin:38px 0}
.button{min-height:58px;border-radius:2px;padding:12px 20px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px}
.button-dark{background:#c4a16b;color:#151512;flex-direction:column;align-items:flex-start;min-width:190px}.button-dark strong{font-size:14px}
.button-light{border:1px solid #54544e;min-width:140px}.button:hover{transform:translateY(-2px);transition:.2s}
.hours{display:flex;align-items:center;gap:9px;font-size:12px;color:#a5a49e;margin-top:12px}.hours i{width:7px;height:7px;background:#7fa369;border-radius:50%;box-shadow:0 0 0 4px rgba(127,163,105,.12)}.hours b{color:#fff;margin-left:8px}
.hero-visual{position:relative;overflow:hidden;background:#d8d0c1}
.fabric{position:absolute;inset:0;background:linear-gradient(105deg,rgba(15,15,13,.25),transparent 45%),repeating-linear-gradient(90deg,#ded8cc 0,#f5f1e9 9%,#c9c2b5 18%);filter:contrast(.9)}
.fabric-one{clip-path:polygon(0 0,54% 0,32% 100%,0 100%)}
.fabric-two{left:30%;background:linear-gradient(90deg,#272624,#58534a 30%,#bcb4a8 48%,#efebe4 62%,#aaa397);clip-path:polygon(50% 0,100% 0,100% 100%,15% 100%);opacity:.78}
.vertical-copy{position:absolute;right:2%;top:18%;writing-mode:vertical-rl;font-size:9px;letter-spacing:.35em;color:#222}
.intro{padding:110px 7vw;position:relative}.section-number{position:absolute;right:7vw;top:58px;font-family:Italiana;font-size:70px;color:#e7e1d7}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.intro h2{font-size:clamp(45px,5vw,74px)}.intro-text{padding-top:30px;max-width:540px;font-size:17px;line-height:1.8}.muted{color:#77746e}.text-link{display:inline-block;margin-top:22px;border-bottom:1px solid var(--gold);padding-bottom:6px;font-size:13px}
.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 7vw 120px}
.services article{padding:45px 35px;min-height:250px;border-right:1px solid var(--line)}.services article:last-child{border:0}.services span{color:var(--gold);font-size:11px}.services h3{font-family:Italiana;font-size:30px;font-weight:400}.services p{color:#77746e;line-height:1.65;font-size:14px}
.gallery{padding:0 7vw 130px}.gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:55px}.gallery-heading h2{font-size:clamp(48px,5vw,76px);margin-bottom:0}.gallery-intro{max-width:320px;color:#77746e;line-height:1.7;font-size:14px;padding-bottom:8px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:360px;gap:12px}.gallery-grid figure{position:relative;overflow:hidden;background:#ddd;margin:0}.gallery-grid figure:nth-child(1),.gallery-grid figure:nth-child(5){grid-row:span 2}.gallery-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}.gallery-grid figure:hover img{transform:scale(1.025)}
.contact{display:grid;grid-template-columns:1fr 1.1fr;background:#e9e3d9}
.contact-card{padding:90px 7vw}.contact h2{font-size:clamp(48px,5vw,76px)}
.contact-list{border-top:1px solid #cfc7ba;margin-top:45px}.contact-list a{display:grid;grid-template-columns:80px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid #cfc7ba;padding:19px 0}.contact-list small{text-transform:uppercase;letter-spacing:.13em;font-size:9px;color:#777}.contact-list strong{font-weight:500;font-size:14px;line-height:1.5}.contact-list span{font-size:18px}
.map-wrap{min-height:650px;position:relative;filter:grayscale(1) sepia(.15)}.map-wrap iframe{width:100%;height:100%;border:0;position:absolute;inset:0}.map-note{position:absolute;left:30px;bottom:30px;background:#171714;color:#fff;padding:18px 22px;display:flex;flex-direction:column;gap:5px;font-size:13px}.map-note span{font-size:10px;color:#bdbbb5}
footer{background:#171714;color:#fff;min-height:180px;padding:50px 7vw;display:flex;align-items:center;justify-content:space-between}footer p{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#97958f}.brand-light{font-size:23px}
@media(max-width:850px){.site-header{height:76px;padding:0 22px}.header-logo{width:58px;height:58px}.site-header nav a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:130px 24px 65px}.hero-visual{height:520px}.intro{padding:80px 24px}.intro-grid{grid-template-columns:1fr;gap:0}.services{grid-template-columns:1fr;margin:0 24px 80px}.services article{border-right:0;border-bottom:1px solid var(--line);min-height:auto;padding:35px 5px}.gallery{padding:0 24px 80px}.gallery-heading{align-items:flex-start;flex-direction:column;gap:16px}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:300px}.gallery-grid figure:nth-child(1),.gallery-grid figure:nth-child(5){grid-row:span 1}.contact{grid-template-columns:1fr}.contact-card{padding:70px 24px}.map-wrap{min-height:480px}footer{padding:45px 24px;flex-direction:column;gap:25px;text-align:center}}
@media(max-width:480px){h1{font-size:54px}.hero-actions{flex-direction:column}.button{width:100%}.intro h2{font-size:47px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:390px}.contact-list a{grid-template-columns:62px 1fr auto}}
