:root{--sage:#2f3d33;--sage-2:#26322b;--cream:#f4efe3;--gold:#b8923f;--ink:#1d261f}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{font-family:'Jost',sans-serif;background:var(--cream);color:var(--ink);font-size:1.02rem;line-height:1.75}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',serif;font-weight:400;line-height:1.12}
.caps{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;font-weight:500}
.eyebrow{color:var(--gold);display:block;margin-bottom:1.1rem}
h2{font-size:clamp(2.2rem,4.6vw,3.6rem)}
.rule{border:0;border-top:1px solid rgba(184,146,63,.35);margin:0}
section{padding:96px 0;position:relative;overflow:hidden}
/* nav: centered logo stacked above links */
.site-nav{background:rgba(38,50,43,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:.7rem 0;border-bottom:1px solid rgba(184,146,63,.25)}
.site-nav .navbar-brand{display:flex;flex-direction:column;align-items:center;color:var(--cream);margin:0;line-height:1.1;padding:0}
.site-nav .navbar-brand img{width:46px;height:46px;border-radius:50%}
.site-nav .brand-name{font-family:'Cormorant Garamond',serif;font-size:1.25rem;letter-spacing:.28em;text-transform:uppercase;margin-top:.25rem}
.site-nav .nav-link{color:rgba(244,239,227,.8);padding:.5rem 1.3rem!important;transition:color .3s}
.site-nav .nav-link:hover{color:var(--gold)}
.site-nav .navbar-toggler{border:1px solid rgba(244,239,227,.35);position:absolute;right:12px;top:18px}
.site-nav .navbar-toggler-icon{filter:invert(1)}
.navbar.navbar-expand-lg .navbar-collapse{justify-content:center}
@media(max-width:991px){.site-nav .navbar-collapse{text-align:center;padding-top:.6rem}}
.btn-gold{background:var(--gold);color:var(--ink);border:1px solid var(--gold);border-radius:0;padding:15px 38px;transition:opacity .3s}
.btn-gold:hover{opacity:.85;color:var(--ink)}
.btn-ghost{background:transparent;color:var(--cream);border:1px solid rgba(244,239,227,.4);border-radius:0;padding:15px 38px;transition:border-color .3s,color .3s}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn-dark-ghost{color:var(--ink);border-color:rgba(29,38,31,.35)}
.btn-dark-ghost:hover{color:var(--gold);border-color:var(--gold)}
/* hero */
.hero{background:var(--sage);color:var(--cream);padding:56px 0 64px}
.rays{position:absolute;pointer-events:none;color:var(--gold);opacity:.22}
.hero .rays{width:760px;left:-220px;bottom:-380px}
.hero h1{font-size:clamp(2.7rem,5.6vw,4.8rem);margin-bottom:1.2rem}
.hero .sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.15rem,2vw,1.45rem);opacity:.85;letter-spacing:.02em;max-width:34rem}
.hero .addr{opacity:.7;margin-top:1.8rem}
.hero-photo{width:100%;max-height:min(66vh,480px);object-fit:cover;object-position:50% 25%;border-radius:2px;border:1px solid rgba(184,146,63,.5);outline:1px solid rgba(184,146,63,.25);outline-offset:8px}
@media(max-width:991px){.hero{padding:36px 0 48px}.hero-photo{max-height:340px;margin-top:2rem;outline:0}}
/* about */
.about-img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid rgba(184,146,63,.4)}
.creds{color:var(--gold)}
/* services index */
.services{background:#ebe4d3}
.svc{display:grid;grid-template-columns:200px 1fr;gap:2rem;padding:2.2rem 0;border-top:1px solid rgba(184,146,63,.35);align-items:start}
.svc:last-child{border-bottom:1px solid rgba(184,146,63,.35)}
.svc img{width:200px;aspect-ratio:4/3;object-fit:cover}
.svc h3{font-size:1.9rem;margin-bottom:.6rem}
.svc p{margin:0;max-width:44rem}
@media(max-width:700px){.svc{grid-template-columns:1fr;gap:1rem}.svc img{width:100%;aspect-ratio:16/9}}
/* results */
.results{background:var(--sage-2);color:var(--cream)}
.results .rays{width:620px;right:-200px;top:-300px}
.res-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.res-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;border:1px solid rgba(184,146,63,.3)}
@media(max-width:991px){.res-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:575px){.res-grid{grid-template-columns:repeat(2,1fr);gap:8px}}
.note{opacity:.7;font-size:.9rem}
/* quote band + reviews */
.band{background:var(--gold);color:var(--ink);padding:72px 0;text-align:center}
.band p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.6rem,3.4vw,2.7rem);line-height:1.25;max-width:880px;margin:0 auto}
.rev{border-top:1px solid rgba(184,146,63,.4);padding:1.6rem 0}
.rev p{font-family:'Cormorant Garamond',serif;font-size:1.3rem;line-height:1.45;margin-bottom:.6rem}
.rev .caps{color:var(--gold)}
/* contact */
.contact{background:var(--sage);color:var(--cream)}
.contact a{color:var(--cream);text-decoration:none;border-bottom:1px solid rgba(184,146,63,.5)}
.contact a:hover{color:var(--gold)}
.hours{width:100%;max-width:420px;border-collapse:collapse}
.hours td{padding:.55rem 0;border-bottom:1px solid rgba(184,146,63,.3);vertical-align:top}
.hours td:last-child{text-align:right}
.map{width:100%;height:380px;border:1px solid rgba(184,146,63,.4);filter:saturate(.7)}
footer{background:var(--ink);color:rgba(244,239,227,.7);padding:48px 0;text-align:center}
footer img{width:64px;height:64px;border-radius:50%;margin-bottom:1rem}
footer a{color:var(--gold);text-decoration:none}
@media(max-width:575px){section{padding:64px 0}}
