:root{--ink:#1b2422;--ink2:#141b1a;--cream:#f4eee3;--brass:#b3935c;--brass-d:#8a6d3b;--text:#2a2f2d}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{font-family:'Jost',sans-serif;font-weight:300;color:var(--text);background:var(--cream);line-height:1.75;font-size:1.02rem}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',serif;font-weight:400;line-height:1.12}
.eyebrow,.btn-wf,.navbar .nav-link,.cap{font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;font-weight:400}
.eyebrow{color:var(--brass-d);display:block;margin-bottom:1rem}
.on-dark .eyebrow{color:var(--brass)}
.navbar{background:rgba(20,27,26,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(179,147,92,.2);padding:.7rem 0}
.navbar-brand{font-family:'Cormorant Garamond',serif;font-size:1.05rem;letter-spacing:.24em;text-transform:uppercase;color:var(--cream)!important;font-weight:400}
.navbar .nav-link{color:rgba(244,238,227,.82)!important;padding:.5rem .85rem!important;transition:color .3s}
.navbar .nav-link:hover{color:var(--brass)!important}
.navbar-toggler{border-color:rgba(244,238,227,.35)}
.navbar-toggler-icon{filter:invert(1)}
.btn-wf{display:inline-block;padding:15px 36px;border:1px solid var(--brass);background:var(--brass);color:var(--ink2);text-decoration:none;transition:.3s;border-radius:0}
.btn-wf:hover{background:transparent;color:var(--brass)}
.btn-ghost{background:transparent;color:var(--cream);border-color:rgba(244,238,227,.4)}
.btn-ghost:hover{border-color:var(--brass);color:var(--brass)}
.btn-ink{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ink:hover{background:var(--ink);color:var(--cream)}
.hero{position:relative;min-height:calc(100vh - 56px);display:flex;align-items:center;background:linear-gradient(rgba(14,20,19,.72),rgba(14,20,19,.82)),url('img/hero.webp') center 35%/cover no-repeat;color:var(--cream);padding:72px 0}
.hero h1{font-size:clamp(2.6rem,5.6vw,4.6rem);text-shadow:0 2px 18px rgba(0,0,0,.6);margin:.2rem 0 1rem}
.hero .sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.15rem,2vw,1.5rem);opacity:.92;text-shadow:0 1px 10px rgba(0,0,0,.6);max-width:640px}
.hero .eyebrow{color:var(--brass);text-shadow:0 1px 8px rgba(0,0,0,.7)}
.hero .btns{margin-top:2rem;display:flex;gap:14px;flex-wrap:wrap}
.num{font-family:'Cormorant Garamond',serif;font-weight:300;color:var(--brass);line-height:.8}
.hero .num{font-size:clamp(7rem,16vw,13rem);opacity:.9;text-align:right;text-shadow:0 2px 20px rgba(0,0,0,.5)}
.hero .plaque{text-align:right;font-style:italic;font-family:'Cormorant Garamond',serif;font-size:1.25rem;border-top:1px solid rgba(179,147,92,.5);display:inline-block;padding-top:.8rem;margin-top:1rem;max-width:280px}
section{padding:96px 0}
h2{font-size:clamp(2rem,4vw,3.1rem);margin-bottom:1.2rem}
.lead-s{max-width:760px}
.dark{background:var(--ink);color:var(--cream)}
.dark p{color:rgba(244,238,227,.86)}
.frame{border:1px solid rgba(179,147,92,.45);padding:8px}
.frame img{display:block;width:100%;height:100%;object-fit:cover}
.ph{aspect-ratio:3/2}
.room{border-top:1px solid rgba(179,147,92,.35);padding-top:1.6rem}
.room h3{font-size:1.9rem}
.ul-clean{list-style:none;padding:0;margin:1rem 0 1.4rem;columns:2;column-gap:2rem}
.ul-clean li{padding:.3rem 0;border-bottom:1px solid rgba(138,109,59,.18);break-inside:avoid;font-size:.95rem}
.num-sm{font-size:6rem;position:absolute;right:.5rem;top:-1.2rem;opacity:.16;color:var(--brass-d)}
.quote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.35}
.hair{border:0;border-top:1px solid rgba(179,147,92,.4);margin:2rem 0}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gal .frame{padding:5px}
.gal img{aspect-ratio:3/2;object-fit:cover}
.facts dt{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--brass);font-weight:400;margin-top:1.1rem}
.facts dd{margin:0;color:rgba(244,238,227,.9)}
.facts a{color:var(--cream);border-bottom:1px solid rgba(179,147,92,.5);text-decoration:none}
.facts a:hover{color:var(--brass)}
.map{border:1px solid rgba(179,147,92,.45);width:100%;height:100%;min-height:380px;filter:grayscale(.3)}
footer{background:var(--ink2);color:rgba(244,238,227,.7);padding:34px 0;font-size:.85rem}
footer a{color:var(--brass);text-decoration:none}
.policy p{margin-bottom:.9rem}
@media(max-width:767px){
 section{padding:64px 0}
 .hero{padding:48px 0;min-height:auto}
 .hero .num{text-align:left;font-size:5.5rem;margin-top:1.5rem}
 .hero .plaque{text-align:left}
 .ul-clean{columns:1}
 .gal{grid-template-columns:1fr 1fr}
 .btn-wf{padding:14px 24px}
}
