@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;650;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{color-scheme:light;--paper:#faf4e8;--pine:#19392f;--berry:#782d3b;--gold:#ead5a9;--text:#203930;font-family:"DM Sans",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text)}
a{color:inherit}
a:focus-visible{outline:3px solid #ae7942;outline-offset:5px}
.shell{width:min(1160px,calc(100% - 64px));margin-inline:auto}
.top,.footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-block:22px;border-bottom:1px solid #d9c9ad}
.wordmark{font:italic 600 clamp(1.5rem,3.8vw,2.25rem)/1.15 "Playfair Display",Georgia,serif;letter-spacing:-.025em;text-decoration:none}
.hero{display:grid;grid-template-columns:1fr 1.02fr;align-items:center;gap:clamp(1.5rem,5vw,5rem);padding-block:clamp(2.5rem,7vw,6rem)}
h1,h2{font-family:"Playfair Display",Georgia,serif;font-weight:600;margin:0;line-height:1.08}
h1{font-size:clamp(2.55rem,5.4vw,5.25rem);letter-spacing:-.045em}
h1 em{color:var(--berry)}
h2{font-size:clamp(2rem,4vw,3.3rem)}
p{line-height:1.55}
.intro>p:not(.location){max-width:32ch;font-size:1.15rem;margin:1.4rem 0}
.location{font-size:.87rem;font-weight:700;margin:.9rem 0 0}
.button{display:inline-block;padding:.8rem 1.25rem;background:var(--berry);color:#fff;border-radius:5px;font-weight:700;text-decoration:none}
.button:hover{filter:brightness(1.12)}
.portraits{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.portraits img{display:block;width:100%;height:auto;border:4px solid var(--pine);border-radius:140px 140px 10px 10px}
.portraits span{grid-column:1/-1;text-align:right;font-size:.78rem}
.booking{background:var(--pine);color:var(--paper);display:grid;grid-template-columns:1.25fr 1fr;gap:2rem;border-radius:12px;padding:clamp(1.5rem,5vw,4rem)}
.booking p{max-width:45ch}
.reserve{border-left:1px solid #73887d;padding-left:2rem}
.price{margin:0;color:var(--gold)}
.price strong{font-size:1.9rem}
.reserve .button{background:var(--gold);color:var(--pine)}
.footer{margin-top:2.5rem;border-bottom:0;border-top:1px solid #d9c9ad}
@media(max-width:700px){.shell{width:calc(100% - 36px)}.hero,.booking{grid-template-columns:1fr}.portraits{max-width:440px}.reserve{border-left:0;border-top:1px solid #73887d;padding:1rem 0 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.booking h3{font-size:1.05rem;margin:1.5rem 0 .6rem}
.reserve h3:first-child{margin-top:0}
.rates{margin:0}
.rates div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.6rem 0;border-bottom:1px solid #73887d}
.rates dd{margin:0;color:var(--gold);font-weight:700;white-space:nowrap}
.visit-rules{padding-left:1.2rem;line-height:1.55}
.visit-rules li+li{margin-top:.5rem}


