:root{--ink:#26302a;--marsh:#3f5b45;--marsh2:#2f4636;--sand:#f5efe3;--paper:#fbf8f1;--dusk:#7a4b6a;--sun:#d9783f;--mute:#667068;--line:rgba(63,91,69,.22)}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:'Figtree',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:1.05rem;line-height:1.7}
img{max-width:100%;height:auto}
h1,h2,h3,.serif{font-family:'Newsreader',Georgia,serif;font-weight:400;line-height:1.1}
h1 em,h2 em{font-style:italic;color:var(--sun)}
.caps{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;font-weight:600}
.kicker{color:var(--dusk);display:block;margin-bottom:.8rem}
.navbar{background:rgba(251,248,241,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:.6rem 0}
.navbar-brand{font-family:'Newsreader',serif;font-size:1.45rem;color:var(--marsh2)!important;line-height:1.05}
.navbar-brand small{display:block;font-family:'Figtree',sans-serif;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--dusk);font-weight:600}
.navbar .nav-link{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--ink)}
.navbar .nav-link:hover{color:var(--sun)}
.btn-book{background:var(--sun);color:#fff;border:0;border-radius:2px;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:.75rem 1.5rem}
.btn-book:hover{background:#bf6530;color:#fff}
.btn-out{border:1px solid currentColor;color:inherit;border-radius:2px;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:.75rem 1.5rem}
.btn-out:hover{background:rgba(255,255,255,.14);color:inherit}
/* hero */
.hero{position:relative;min-height:min(86vh,720px);display:flex;align-items:center;color:#fff;background:var(--marsh2);overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,34,27,.86) 0%,rgba(24,34,27,.62) 45%,rgba(24,34,27,.12) 100%)}
.hero .container{position:relative;z-index:2;padding-top:3rem;padding-bottom:3rem}
.hero h1{font-size:clamp(2.6rem,6.4vw,5rem);max-width:11ch;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero h1 em{color:#ffb98a}
.hero p.lead{max-width:34rem;font-size:1.15rem;color:rgba(255,255,255,.94)}
.hero .award{display:inline-block;border-top:1px solid rgba(255,255,255,.5);border-bottom:1px solid rgba(255,255,255,.5);padding:.4rem 0;margin-bottom:1.3rem;color:#fff}
.facts{background:var(--marsh);color:#fff}
.facts .container{display:flex;flex-wrap:wrap;gap:.4rem 2.5rem;justify-content:space-between;padding:1rem 12px}
.facts span{font-size:.86rem}
.facts b{font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;color:#ffcfae;margin-right:.5rem}
section{padding:5rem 0}
.sec-h{font-size:clamp(2rem,4vw,3rem);color:var(--marsh2);margin-bottom:1rem}
.rule{width:56px;height:2px;background:var(--sun);border:0;margin:1.2rem 0;opacity:1}
/* rooms */
.rooms{background:var(--sand)}
.rg{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}
.rg figure{margin:0;overflow:hidden;background:#ddd}
.rg img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;transition:transform .6s}
.rg figure:hover img{transform:scale(1.03)}
.amen{list-style:none;padding:0;margin:0;columns:2;column-gap:2rem}
.amen li{padding:.45rem 0;border-bottom:1px solid var(--line);break-inside:avoid}
.amen li:before{content:"~";color:var(--sun);margin-right:.6rem;font-family:'Newsreader',serif}
.pics-two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.pics-two img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
/* about */
.about img.main{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.about blockquote{border-left:2px solid var(--sun);padding-left:1.2rem;font-family:'Newsreader',serif;font-style:italic;font-size:1.3rem;color:var(--marsh2);margin:1.5rem 0}
.sig{font-family:'Newsreader',serif;font-style:italic;color:var(--dusk)}
/* chart */
.chart{background:var(--marsh2);color:#fff}
.chart .sec-h{color:#fff}.chart .kicker{color:#ffcfae}
.walks{list-style:none;padding:0;margin:1.5rem 0 0}
.walks li{display:flex;align-items:baseline;gap:.8rem;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.18)}
.walks .t{font-family:'Newsreader',serif;font-size:1.9rem;color:#ffb98a;min-width:4.6rem;line-height:1}
.walks .t small{font-family:'Figtree',sans-serif;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:#fff;opacity:.8;margin-left:.2rem}
.chart img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;border:6px solid rgba(255,255,255,.1)}
/* gallery */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-top:2rem}
.gal img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.gal .w{grid-column:span 2;grid-row:span 2}
.gal .w img{height:100%;aspect-ratio:auto}
/* rates */
.rates{background:var(--sand)}
.price{font-family:'Newsreader',serif;font-size:clamp(3rem,7vw,5rem);color:var(--sun);line-height:1}
.price small{font-family:'Figtree',sans-serif;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.pol{list-style:none;padding:0;margin:0}
.pol li{padding:.6rem 0;border-bottom:1px solid var(--line)}
.pol b{color:var(--marsh2)}
/* contact */
.contact iframe{width:100%;height:380px;border:0;display:block}
.contact a{color:var(--marsh2)}
.contact .big{font-family:'Newsreader',serif;font-size:2rem;text-decoration:none}
.ta a{color:var(--dusk)}
footer{background:var(--ink);color:rgba(255,255,255,.75);padding:2.2rem 0;font-size:.9rem}
footer a{color:#ffcfae}
@media(max-width:991px){section{padding:3.6rem 0}.rg{grid-template-columns:repeat(2,1fr)}.hero{min-height:620px}.hero:after{background:linear-gradient(180deg,rgba(24,34,27,.6),rgba(24,34,27,.82))}}
@media(max-width:575px){.rg{grid-template-columns:1fr 1fr;gap:.5rem}.amen{columns:1}.gal{grid-template-columns:1fr 1fr;gap:.5rem}.gal .w{grid-column:span 2;grid-row:span 1}.gal .w img{aspect-ratio:3/2}.facts .container{flex-direction:column}.hero h1{max-width:none}.contact iframe{height:300px}.navbar-brand{font-size:1.2rem}}
