:root{--ink:#12304a;--ink2:#0d2438;--ivory:#f6f1e7;--brass:#b8924a;--brass-d:#8a6a2c;--line:rgba(184,146,74,.35)}
img{max-width:100%;height:auto}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{font-family:'Jost',sans-serif;font-weight:300;color:var(--ink);background:var(--ivory);font-size:1.02rem;line-height:1.75}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',serif;font-weight:400;line-height:1.12}
.eyebrow,.btn,.nav-link,.label{font-family:'Jost',sans-serif;font-size:.7rem;text-transform:uppercase;letter-spacing:.28em;font-weight:400}
.eyebrow{color:var(--brass-d);display:block;margin-bottom:1.1rem}
.on-dark .eyebrow{color:var(--brass)}
h2{font-size:clamp(2.2rem,4.6vw,3.6rem)}
section{padding:96px 0;position:relative}
.on-dark{background:var(--ink);color:var(--ivory)}
.lede{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.35rem;opacity:.85;letter-spacing:.01em}
a{color:inherit}

/* nav (c): centered logo over link row */
.site-nav{background:var(--ivory);border-bottom:1px solid var(--line);padding:14px 0 0}
.brand{display:flex;flex-direction:column;align-items:center;text-decoration:none;text-align:center;gap:2px}
.brand img{width:62px;height:auto;mix-blend-mode:multiply}
.brand span{font-family:'Cormorant Garamond',serif;font-size:1.35rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.navbar-toggler{border:1px solid var(--line);border-radius:0;position:absolute;right:16px;top:22px}
.navbar.navbar-expand-lg .navbar-collapse{justify-content:center}
.site-nav .nav-link{color:var(--ink);opacity:.82;padding:14px 18px}
.site-nav .nav-link:hover{opacity:1;color:var(--brass-d)}
.site-nav .nav-book{border-top:2px solid transparent}
@media(max-width:991px){.site-nav{padding-bottom:6px}.navbar.navbar-expand-lg .navbar-collapse{text-align:center}}

/* buttons */
.btn{border-radius:0;padding:15px 36px;transition:.3s}
.btn-brass{background:var(--brass);color:var(--ink2);border:1px solid var(--brass)}
.btn-brass:hover{background:transparent;color:var(--brass)}
.btn-ghost{border:1px solid rgba(246,241,231,.4);color:var(--ivory)}
.btn-ghost:hover{border-color:var(--brass);color:var(--brass)}
.btn-ghost-d{border:1px solid var(--line);color:var(--ink)}
.btn-ghost-d:hover{border-color:var(--brass-d);color:var(--brass-d)}

/* hero: typographic, small photo inset */
.hero{position:relative;background:var(--ink);color:var(--ivory);padding:72px 0 88px;overflow:hidden}
.hero h1{font-size:clamp(2.6rem,5.6vw,4.7rem);margin-bottom:1.2rem}
.hero h1 em{color:var(--brass)}
.hero .lede{max-width:34rem;margin-bottom:2rem}
.hero-photo{position:relative}
.hero-photo img{display:block;width:100%;max-height:min(66vh,480px);object-fit:cover;object-position:50% 30%;border-radius:2px;border:1px solid var(--line);padding:8px;background:transparent}
.hero-meta{margin-top:2.2rem;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;opacity:.75}
.horizon{position:absolute;left:0;width:100%;bottom:0;height:70px;pointer-events:none;opacity:.55}

/* services index */
.svc{list-style:none;padding:0;margin:0;columns:2;column-gap:64px}
.svc li{break-inside:avoid;padding:15px 0;border-bottom:1px solid var(--line);font-family:'Cormorant Garamond',serif;font-size:1.5rem;display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.svc li small{font-family:'Jost',sans-serif;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-d);text-align:right}
@media(max-width:767px){.svc{columns:1}}
.regen{border:1px solid var(--line);padding:36px 40px}

/* providers */
.provider{border-top:1px solid var(--line);padding-top:28px;height:100%}
.provider h3{font-size:2rem}
.provider ul{padding-left:1.1rem}
.provider li{margin-bottom:.35rem}
.on-dark .provider{border-color:rgba(184,146,74,.4)}

/* privacy list */
.promise{list-style:none;padding:0;margin:0}
.promise li{padding:16px 0;border-bottom:1px solid rgba(184,146,74,.3);font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-style:italic}

/* quote band */
.band{background:linear-gradient(rgba(13,36,56,.62),rgba(13,36,56,.72)),url('img/water.webp') center/cover;color:var(--ivory);text-align:center;padding:120px 0}
.band p{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4.4vw,3.4rem);font-style:italic;max-width:900px;margin:0 auto;line-height:1.2;text-shadow:0 0 4px rgba(0,0,0,.6),0 2px 20px rgba(0,0,0,.6)}
.band .eyebrow{color:var(--brass);text-shadow:0 0 4px rgba(0,0,0,.8)}

/* gallery: scroll-snap strip */
.strip{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px}
.strip figure{flex:0 0 min(300px,78vw);margin:0;scroll-snap-align:start}
.strip img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line);padding:6px;background:transparent}
.strip figcaption{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;margin-top:10px;color:var(--brass-d)}
.strip::-webkit-scrollbar{height:4px}.strip::-webkit-scrollbar-thumb{background:var(--brass)}

/* shop / links */
.tile{display:block;text-decoration:none;border:1px solid var(--line);padding:30px 28px;height:100%;transition:.3s}
.tile:hover{border-color:var(--brass-d)}
.tile h3{font-size:1.7rem;margin-bottom:.4rem}
.tile .label{color:var(--brass-d)}

/* contact */
.contact dt{font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--brass);font-weight:400;margin-top:1.4rem}
.contact dd{margin:0;font-family:'Cormorant Garamond',serif;font-size:1.5rem}
.contact a{text-decoration:none}
.map{border:1px solid var(--line);padding:6px;height:100%;min-height:340px}
.map iframe{width:100%;height:100%;min-height:326px;border:0;display:block;filter:saturate(.7)}

footer{background:var(--ink2);color:var(--ivory);padding:48px 0 28px;text-align:center;font-size:.85rem}
footer .chip{display:inline-block;background:var(--ivory);padding:10px 14px;margin-bottom:16px}
footer .chip img{width:150px;display:block}
footer a{color:var(--brass);text-decoration:none}
footer .small-note{opacity:.7;font-size:.78rem}
.badge-ampma{width:120px}
