:root{--pine:#10261F;--mist:#E9F0ED;--dusk:#33546A;--sun:#F0B35A;--stone:#5B6B66;--white:#fff;--r:14px;--max:1160px}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font:17px/1.65 "Manrope",system-ui,sans-serif;color:var(--pine);background:var(--white)}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;font-weight:600;line-height:1.15}
h2{font-size:clamp(1.9rem,4vw,2.9rem);margin-bottom:1rem}h3{font-size:1.5rem;margin-bottom:.5rem}
.wrap{max-width:var(--max);margin:auto;padding:0 24px}section{padding:96px 0}
.btn{display:inline-block;padding:14px 28px;border-radius:999px;background:var(--sun);color:var(--pine);font-weight:700;border:0;cursor:pointer;font:inherit;font-weight:700;transition:transform .2s,background .2s}
.btn:hover{transform:translateY(-2px);background:#f5c67e}.btn.ghost{background:transparent;border:1.5px solid currentColor;color:inherit}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
header{position:fixed;inset:0 0 auto;z-index:50;transition:background .3s,box-shadow .3s}
header.solid{background:rgba(16,38,31,.96);box-shadow:0 2px 20px rgba(0,0,0,.2)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px;color:var(--white)}
.brand{display:flex;align-items:center;gap:10px;font-family:"Fraunces",serif;font-weight:600;font-size:1.2rem}.brand img{width:34px}
.links{display:flex;gap:28px;align-items:center;list-style:none;font-weight:500}.links a:hover{color:var(--sun)}
.toggle{display:none;background:none;border:0;color:#fff;font-size:1.8rem;cursor:pointer}
.hero{min-height:100vh;display:flex;align-items:flex-end;color:var(--white);background:linear-gradient(180deg,rgba(16,38,31,.25),rgba(16,38,31,.75)),url(../images/hero.svg) center/cover;padding:140px 0 72px}
.hero h1{font-size:clamp(2.6rem,7vw,5.4rem);max-width:12ch;margin-bottom:1.2rem}
.hero p{max-width:50ch;font-size:1.15rem;opacity:.92;margin-bottom:2rem}
.book{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;background:var(--white);color:var(--pine);padding:16px;border-radius:var(--r);margin-top:48px;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.book label{display:block;font-size:.8rem;color:var(--stone);margin-bottom:2px}
.book input,.book select{width:100%;padding:10px;border:1px solid #cfd9d5;border-radius:8px;font:inherit}
.book .btn{align-self:end}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split img{border-radius:var(--r);aspect-ratio:4/5;object-fit:cover;width:100%}
.stats{display:flex;gap:40px;margin-top:2rem}.stats b{display:block;font:600 2.2rem "Fraunces",serif;color:var(--dusk)}.stats span{color:var(--stone);font-size:.9rem}
.mist{background:var(--mist)}.lead{color:var(--stone);max-width:58ch}
.room{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;margin-top:64px}
.room:nth-child(even) img{order:2}.room img{border-radius:var(--r);aspect-ratio:3/2;object-fit:cover;width:100%}
.room p{color:var(--stone);margin-bottom:1rem}.price{font-weight:700;color:var(--dusk);margin-bottom:1.2rem}
.amen{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 32px;margin-top:48px}
.amen div{border-left:3px solid var(--sun);padding-left:18px}.amen p{color:var(--stone);font-size:.95rem}
.dark{background:var(--pine);color:var(--white)}.dark .lead{color:#b8c9c2}
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px}
blockquote{font:italic 1.35rem/1.5 "Fraunces",serif;border-top:1px solid #3a5a4e;padding-top:20px}blockquote cite{display:block;font:500 .9rem "Manrope",sans-serif;color:var(--sun);margin-top:12px;font-style:normal}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:64px}
form.enq{display:grid;gap:14px}form.enq input,form.enq textarea{padding:13px;border:1px solid #bccbc5;border-radius:10px;font:inherit;width:100%}
.info p{margin-bottom:.8rem;color:var(--stone)}.info strong{color:var(--pine)}
footer{background:var(--pine);color:#9fb3ab;text-align:center;padding:28px 0;font-size:.9rem}
.reveal{opacity:0;transform:translateY(20px);transition:.7s}.reveal.in{opacity:1;transform:none}
@media(max-width:860px){.toggle{display:block}.links{position:absolute;top:72px;left:0;right:0;background:var(--pine);flex-direction:column;padding:24px;display:none}.links.open{display:flex}
.book,.split,.room,.contact,.quotes,.amen{grid-template-columns:1fr}.room:nth-child(even) img{order:0}.split{gap:32px}section{padding:64px 0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
