@font-face{font-family:"Great Vibes";src:url(fonts/greatvibes.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Jost";src:url(fonts/jost.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(fonts/cormorant.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(fonts/cormorant-italic.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
:root{
  --sage:#858269;--sage-d:#6C6A55;--sage-l:#A9A891;--mist:#E7E6D9;
  --cream:#F2EBDD;--paper:#F8F4EC;--brown:#7A5A3A;--raven:#1C1C1A;
  --ink:#34322A;--muted:#6A675A;--line:#DCD3C1;
  --script:"Great Vibes",cursive;--sans:"Jost",system-ui,sans-serif;
  --serif:"Cormorant Garamond",Georgia,serif;--r:14px
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--sans);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--brown);text-underline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15;color:var(--raven);margin:0 0 .5em}
h2{font-size:clamp(2rem,5vw,2.8rem)}h3{font-size:1.45rem}
p{margin:0 0 1em}
.wrap{width:min(1120px,100% - 40px);margin-inline:auto}
.narrow{width:min(760px,100% - 40px);margin-inline:auto}
.kicker{font:400 .78rem/1.4 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--sage-d);margin-bottom:.9em}
.kicker.cream{color:#EDE6D4}
.lead{font-size:1.12rem;color:var(--muted)}
.mb0{margin-bottom:0}

header.site{background:rgba(133,130,105,.97);backdrop-filter:blur(6px);border-bottom:1px solid rgba(242,235,221,.18)}
.hbar{display:flex;align-items:center;min-height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--cream);min-height:44px}
.brand img{width:44px;height:44px;border-radius:50%;box-shadow:0 0 0 1px rgba(242,235,221,.35)}
.brand b{display:block;font:400 1.75rem/1 var(--script);font-weight:400}
.brand small{display:block;font:400 .56rem/1 var(--sans);letter-spacing:.34em;margin-top:4px}

.hero{background:#83806A;color:var(--cream);position:relative;overflow:hidden}
.hero .htext{padding:44px 0 28px;position:relative;z-index:2}
.hero h1{color:var(--cream);font:400 clamp(4rem,15vw,7.4rem)/.95 var(--script);margin:0;text-shadow:0 2px 18px rgba(60,58,44,.25)}
.hero .mt{font:300 clamp(.82rem,2.6vw,1.05rem)/1 var(--sans);letter-spacing:.42em;margin:14px 0 22px 6px}
.hero .tag{font:italic 400 1.35rem/1.35 var(--serif);max-width:30ch;margin:0 0 22px 4px;color:#F7F2E7}
.hero .open{display:inline-block;margin:0 0 0 4px;padding:10px 18px;border:1px solid rgba(242,235,221,.55);border-radius:999px;font:400 .82rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--cream)}
.hero picture img{width:100%;margin-bottom:-70px;-webkit-mask-image:linear-gradient(to top,transparent 2%,#000 30%);mask-image:linear-gradient(to top,transparent 2%,#000 30%)}
@media(min-width:820px){
  .hero{min-height:min(78vh,720px);display:flex;align-items:center}
  .hero picture{position:absolute;inset:0}
  .hero picture img{height:100%;object-fit:cover;object-position:70% center;margin:0;-webkit-mask-image:none;mask-image:none}
  .hero .htext{padding:80px 0}
}

.motto{background:var(--sage-d);color:var(--cream);text-align:center;font:300 .82rem/1 var(--sans);letter-spacing:.42em;padding:18px 10px}
section.pad{padding:72px 0}
.alt{background:var(--mist)}
.center{text-align:center}
.grid{display:grid;gap:20px}
.services{margin-top:30px}
@media(min-width:700px){.g3{grid-template-columns:repeat(3,1fr)}}
@media(min-width:700px) and (max-width:979px){.g3{grid-template-columns:1fr 1fr}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:0 2px 0 rgba(122,90,58,.04)}
.card h3{margin-bottom:.3em}
.card>p:last-child{margin-bottom:0}
.card.addon{background:var(--paper)}
.leaf{display:block;width:56px;height:2px;background:var(--brown);opacity:.5;margin:0 auto 18px}
.visit{background:var(--cream);border:0;text-align:center;padding:40px 32px}
.visit h2{margin-bottom:.35em}
.visit .addr{font-size:1.08rem;color:var(--ink)}
.visit .note{color:var(--muted)}
.visit .booking{font:500 .95rem/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--sage-d);margin:0 0 1.1em}

footer.site{background:var(--raven);color:#CFCabd;padding:56px 0 30px;font-size:.95rem;text-align:center}
.fbrand b{font:400 2.4rem/1 var(--script);color:var(--cream);display:block}
.fbrand small{letter-spacing:.34em;font-size:.62rem;color:var(--cream)}
.fbrand p{margin:16px 0 0}
.legal{border-top:1px solid rgba(242,235,221,.15);margin-top:36px;padding-top:20px;font-size:.82rem;color:#9C9789}

@media(max-width:399px){
  .wrap,.narrow{width:min(1120px,100% - 28px)}
  section.pad{padding:56px 0}
}
