@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif&display=swap');
:root{--ink:#233329;--green:#244538;--paper:#faf7f0;--sand:#ede7d9;--line:#ddd5c5;--serif:"Instrument Serif",Georgia,serif}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 "DM Sans",system-ui,sans-serif}
a{color:inherit;text-underline-offset:.23em}
a:focus-visible{outline:3px solid #a56a24;outline-offset:4px}
.skip{position:absolute;left:1rem;top:-5rem;background:white;padding:.5rem;z-index:2}.skip:focus{top:1rem}
.bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem clamp(1rem,5vw,5rem)}
.brand{font:clamp(1.35rem,3vw,2rem)/1 var(--serif);text-decoration:none}.brand span{white-space:nowrap}
nav,.actions{display:flex;gap:clamp(.8rem,2vw,1.75rem);align-items:center;flex-wrap:wrap}
nav a{text-decoration:none;font-weight:600}nav a:hover{text-decoration:underline}
.button{display:inline-block;background:var(--green);color:white;padding:.72rem 1.25rem;border-radius:4px;text-decoration:none;font-weight:700;white-space:nowrap}.button:hover{background:#173226}.button.light{background:var(--paper);color:var(--green)}.button.light:hover{background:var(--sand)}
.hero{position:relative;isolation:isolate;min-height:clamp(440px,65vw,640px);display:flex;align-items:center;color:white;background:#293c30}
.hero img,.hero:after{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.hero img{object-fit:cover;object-position:center 48%}.hero:after{content:"";background:linear-gradient(90deg,rgba(15,29,22,.87),rgba(15,29,22,.50) 58%,rgba(15,29,22,.12))}
.hero-content{width:min(1160px,calc(100% - 2.5rem));margin:auto;padding:3rem 0}.hero-content p:not(.eyebrow){max-width:27rem;font-size:1.14rem;margin:1rem 0 1.55rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:700}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;line-height:1.05}h1{font-size:clamp(3.75rem,9vw,8rem)}h2{font-size:clamp(2.4rem,5vw,4rem)}h3{font-size:2rem}
.booking{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--sand);padding:1.5rem max(1.25rem,calc((100% - 1160px)/2))}.booking h2{font-size:2.25rem}.booking p{margin:.25rem 0 0}
.wrap{width:min(1160px,calc(100% - 2.5rem));margin:auto;padding:clamp(3rem,8vw,6rem) 0}.intro{margin:.6rem 0 1.6rem}
.rooms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
article{background:#fffdf8;border:1px solid var(--line);overflow:hidden;border-radius:6px}
article img,.split img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}
article h3{margin:1rem 1.1rem .2rem}article p{margin:0 1.1rem 1.1rem}
.amenities{background:var(--sand)}.split{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.split img{border-radius:6px}.split ul{padding-left:1.25rem;line-height:1.9}
address{font-style:normal;margin:1rem 0 1.4rem}
footer{background:var(--green);color:white;padding:1.5rem max(1.25rem,calc((100% - 1160px)/2));display:flex;justify-content:space-between;gap:1rem}
@media(max-width:610px){.bar{flex-wrap:wrap}.bar nav{order:3;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:.65rem}.rooms,.split{grid-template-columns:1fr}.hero img{object-position:58% center}.booking{align-items:flex-start;flex-direction:column}}
.split img{object-position:center 40%}
