:root{--ink:#233931;--paper:#faf7ee;--green:#28473c;--accent:#a8563e;--sand:#ede5d6}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 system-ui,sans-serif}img{display:block;width:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #b45b44;outline-offset:4px}.wrap{width:min(1280px,calc(100% - 80px));margin-inline:auto}.top{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:90px}.brand{font:bold 32px Georgia,serif;letter-spacing:-1.8px}.brand span{color:var(--accent)}nav{display:flex;gap:30px;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:white;border-radius:100px;padding:12px 21px;font-weight:650}.button:hover{filter:brightness(1.13)}.small{font-size:14px}.cream{color:var(--ink);background:var(--paper)}.hero{min-height:clamp(500px,53vw,670px);isolation:isolate;position:relative;overflow:hidden;border-radius:6px;display:grid;align-items:end}.hero>img,.hero:after{position:absolute;inset:0;height:100%;z-index:-2}.hero:after{content:"";z-index:-1;background:linear-gradient(82deg,#11251edb 0%,#13251c60 52%,transparent 95%),linear-gradient(0deg,#101e1560,transparent 54%)}.hero-text{color:white;padding:clamp(25px,6vw,83px)}.eyebrow{font-size:12px;font-weight:750;letter-spacing:.2em;margin:0 0 15px}.hero-text>p:not(.eyebrow){font-size:clamp(17px,2vw,21px);max-width:390px;margin:22px 0 28px}h1,h2{font:normal clamp(48px,8vw,110px)/.96 Georgia,serif;letter-spacing:-.055em;margin:0}h2{font-size:clamp(38px,5vw,66px);line-height:1.04}.facts{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #d7d5c7;padding:25px 0;gap:18px}.facts div{padding:3px 14px}.facts strong{display:block;font:25px Georgia,serif}.facts span{font-size:13px}.split{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:clamp(25px,7vw,105px);padding-block:clamp(60px,8vw,120px)}.split p:not(.eyebrow){max-width:46ch}.split img{aspect-ratio:4/3;border-radius:5px}.gallery{background:var(--sand);padding:clamp(60px,8vw,110px) 0}.grid{margin-top:32px;display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.grid button{padding:0;text-align:left;border:0;background:var(--paper);overflow:hidden;border-radius:5px}.grid img{aspect-ratio:4/3;transition:filter .2s}.grid button:hover img{filter:brightness(1.12)}.grid span{display:flex;justify-content:space-between;padding:11px 15px}.booking{text-align:center;background:var(--green);color:var(--paper);padding:75px 0}.booking p:not(.eyebrow){margin:19px 0 25px}footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 0}footer p{font-size:14px}dialog{position:fixed;max-width:min(900px,94vw);max-height:94vh;border:0;background:var(--paper);color:var(--ink);padding:12px;border-radius:6px}dialog::backdrop{background:#0a1614e5}dialog figure{margin:0}dialog img{max-height:72vh;min-width:min(600px,82vw);object-fit:contain;background:#202d26}dialog figcaption{padding:8px}dialog button{border:0;border-radius:100px;background:var(--paper);min-width:44px;min-height:44px}.close{position:absolute;top:18px;right:18px;font-size:25px}.controls{display:flex;justify-content:center;gap:16px}.controls button{background:var(--green);color:white}
@media(max-width:760px){.wrap{width:calc(100% - 32px)}.top{min-height:73px}.top nav{display:none}.hero{min-height:500px}.hero>img{object-position:55% center}.facts{grid-template-columns:repeat(2,1fr)}.facts div{padding-inline:2px}.split{grid-template-columns:1fr}.split img{aspect-ratio:3/2}.grid{grid-template-columns:repeat(2,1fr);gap:12px}.grid span{padding:8px;font-size:13px}footer{align-items:flex-start;flex-direction:column;gap:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.reviews{padding-block:clamp(55px,8vw,100px);border-top:1px solid #d7d5c7}.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.quotes figure{margin:0;padding:25px;background:var(--sand);border-radius:5px}.quotes blockquote{margin:0 0 15px;font:23px/1.35 Georgia,serif}.quotes figcaption,.review-source{font-size:14px}.review-source a{text-decoration:underline;text-underline-offset:3px}@media(max-width:760px){.quotes{grid-template-columns:1fr;gap:12px}}
.guest-favorite{display:grid;justify-items:center;gap:4px;margin:28px 0;padding:22px 16px;text-align:center;background:#fffdf7;border:1px solid #ddd0b4;border-radius:6px;color:#463b2a}
.guest-rating{display:flex;align-items:center;gap:8px}
.guest-rating img{width:58px;height:88px;object-fit:contain}
.guest-rating strong{font:normal 54px/1 Georgia,serif;letter-spacing:-.055em}
.guest-title{font-size:19px}
.guest-detail{font-size:14px}
.guest-favorite:hover .guest-title{text-decoration:underline;text-underline-offset:4px}
.controls[hidden]{display:none}
.area{padding-bottom:clamp(60px,8vw,110px)}
.area-intro{padding-bottom:clamp(30px,4vw,56px)}
.area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.area-card{background:var(--sand);border-radius:6px;overflow:hidden}
.area-card img{aspect-ratio:16/9}
.area-card figure{position:relative;margin:0}
.area-card figcaption{position:absolute;right:0;bottom:0;padding:4px 8px;background:var(--paper);font-size:11px}
.area-copy{padding:clamp(22px,3vw,40px)}
.area-copy h3{font:normal clamp(27px,3vw,39px)/1.08 Georgia,serif;margin:0;letter-spacing:-.03em}
.area-copy p:not(.eyebrow){max-width:54ch;margin:13px 0 19px}
.area-link,.area-card figcaption a{text-decoration:underline;text-underline-offset:3px}
.area-link{font-weight:650}
.area-town{display:flex;align-items:center;background:var(--green);color:var(--paper)}
.area-links{display:grid;gap:8px;justify-items:start}
@media(max-width:650px){.area-grid{grid-template-columns:1fr;gap:16px}}
.button-row{display:flex;flex-wrap:wrap;gap:10px}.booking .button-row{justify-content:center}
.map-section{padding-bottom:clamp(55px,8vw,100px)}
.area-map{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);overflow:hidden;border:1px solid #d5d2bf;border-radius:6px;background:var(--sand)}
.map-drawing{position:relative;align-self:center}
.map-drawing svg{display:block;width:100%;height:auto}
.map-pin{--pin:#28473c;position:absolute;left:var(--x);top:var(--y);display:grid;place-items:center;width:clamp(26px,5vw,43px);aspect-ratio:1;transform:translate(-50%,-100%);background:var(--pin);color:white;border:2px solid white;border-radius:50%;font-weight:750;line-height:1;box-shadow:0 2px 5px #23393166}
.map-pin::after{content:"";position:absolute;bottom:-6px;border-top:7px solid var(--pin);border-inline:5px solid transparent}
.map-pin:hover{filter:brightness(1.25)}
.map-home{--pin:#a0442d;font-size:clamp(22px,4vw,34px)}
.map-list{display:grid;align-content:center;padding:clamp(18px,3vw,34px)}
.map-address{padding-bottom:12px;border-bottom:1px solid #cfc7b3}
.map-address strong,.map-address span{display:block}
.map-list ol{padding-left:24px}
.map-list li{margin:7px 0}
.map-list a:hover{text-decoration:underline}
.map-list small{font-size:12px}
@media(max-width:740px){.area-map{grid-template-columns:1fr}}
.map-pin{isolation:isolate;width:clamp(42px,6vw,76px);background:linear-gradient(155deg,#ffffff,#b9d5cd 46%,var(--pin));border:1px solid #ffffffdb;padding:4px;box-shadow:0 7px 13px #183b3b54,0 2px 4px #183b3b62,inset 0 0 0 1px #ffffff80}
.map-pin img{width:100%;height:100%;min-height:0;aspect-ratio:1;border-radius:50%;border:1px solid #ffffffa8;object-fit:cover}
.map-pin::before{content:"";position:absolute;z-index:1;inset:4px;border-radius:50%;pointer-events:none;background:radial-gradient(ellipse at 28% 12%,#ffffffb0,transparent 46%),linear-gradient(155deg,#ffffff65 0%,#ffffff0f 46%,#16322c38 86%);box-shadow:inset 0 1px 3px #ffffffba,inset 0 -1px 4px #102d2d40}
.map-pin::after{z-index:-1;bottom:-8px;border-top-width:10px;border-inline-width:7px}
.map-pin span{position:absolute;z-index:2;right:-4px;bottom:0;min-width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--pin);border:1px solid #fff;color:#fff;font-size:12px}
.map-home{width:clamp(49px,7vw,87px);background:linear-gradient(145deg,#fff5e4,#e8a48e 52%,#8a3927)}
.map-home span{font-size:17px}
.map-pin:hover,.map-pin:focus-visible{z-index:3}
.map-credit{margin-top:6px}
.map-credit a{text-decoration:underline}
@media(max-width:760px){.top{flex-wrap:wrap;column-gap:12px;row-gap:0;padding-block:10px}.top nav{display:flex;order:1;flex-basis:100%;justify-content:space-between;gap:8px;padding-top:8px}.top nav a{padding-block:5px}}
.review-stars{display:block;margin-bottom:10px;color:#815516;font-size:19px;letter-spacing:.14em;line-height:1.2}
.hero-title .hero-sign{width:0;min-width:118%;height:auto;object-fit:contain;transform:translate(calc(-.12em - 5%), -5%) rotate(-8deg);filter:drop-shadow(0 6px 6px #10241c70);margin:0 0 6px -3%}
.hero-title span{display:block}.hero-title .hero-title-start{display:inline-grid;vertical-align:top}
.hero-text{padding-top:38px}
.hero-title-start>span{position:relative;z-index:1;margin-top:-.5em;text-shadow:0 2px 3px #142b24cc,0 0 1px #142b24; -webkit-text-stroke:.35px #304536;paint-order:stroke fill}
.hero-title .hero-title-place{position:relative;z-index:2;margin-top:-.18em;text-shadow:0 2px 3px #142b24cc,0 0 1px #142b24;-webkit-text-stroke:.35px #304536;paint-order:stroke fill}
.top .brand{max-width:230px;font-size:clamp(17px,1.7vw,22px);line-height:1.15;letter-spacing:-.03em}
@media(max-width:760px){.top .brand{max-width:160px;font-size:16px}}
