:root{--sand:#f5f0e8;--paper:#fcf9f4;--ink:#302b26;--muted:#70675e;--gold:#dfc49a;--line:#d9cfc1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--sand);color:var(--ink);font:16px/1.7 Arial,sans-serif}a{color:inherit}button,input{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #816132;outline-offset:5px}.preview-ribbon{text-align:center;background:#352f28;color:#efe2ce;font-size:12px;letter-spacing:.6px;padding:8px 15px}.header{max-width:1440px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:27px 6%}.logo{text-decoration:none;font:32px/1.2 Georgia,serif;letter-spacing:7px;display:inline-block}.logo span{display:block;font:9px/1.6 Arial;letter-spacing:2.3px;margin-top:8px}.header nav{display:flex;align-items:center;gap:32px;font-size:13px}.header nav a{text-decoration:none}.header nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.nav-button{border:1px solid var(--line);padding:11px 20px}.hero{position:relative;min-height:580px;isolation:isolate;background:#41473c;color:#fff7e9;overflow:hidden}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-photo{object-position:center 46%}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(20,25,21,.76),rgba(20,25,21,.2) 80%)}.hero-copy{max-width:1440px;padding:95px 8% 90px;margin:auto}.eyebrow{font-size:11px;letter-spacing:2.3px;font-weight:400}.hero h1{font:400 clamp(45px,5.7vw,82px)/1.08 Georgia,serif;letter-spacing:-1px;margin:25px 0}.hero-copy>p:not(.eyebrow){font-size:17px;line-height:1.9;color:#f6e9d6;margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:17px 24px;min-height:50px;border:0;text-decoration:none;font-size:13px;cursor:pointer}.gold{background:var(--gold);color:#302b26}.gold:hover{background:#ecd5af}.dark{background:var(--ink);color:var(--paper)}.dark:hover{background:#51463a}.hero-caption{position:absolute;right:5%;bottom:22px;font-size:10px;letter-spacing:1.5px}.feature-strip{max-width:1200px;margin:auto;display:flex;justify-content:space-between;gap:20px;padding:28px 6%;border-bottom:1px solid var(--line);font-size:13px}.feature-strip small{color:#9b7948;margin-right:12px}.section{max-width:1200px;margin:auto;padding:85px 6%}h2{font:400 clamp(32px,3.6vw,49px)/1.2 Georgia,serif;letter-spacing:-.4px;margin:18px 0 27px}p{margin:0 0 20px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.intro>div+div{padding-top:22px;font-size:15px}.muted{color:var(--muted)}.retreat{display:grid;grid-template-columns:1.1fr 1fr;background:#e9e1d4}.retreat>img{width:100%;height:100%;min-height:440px;object-fit:cover}.retreat-copy{padding:70px 13%;align-self:center}.retreat-copy p:not(.eyebrow){font-size:15px}.text-link{display:inline-block;text-underline-offset:7px;font-size:13px;margin:12px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px}.section-heading>p{font-size:13px}.gallery{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}.gallery img{display:block;width:100%;height:300px;object-fit:cover}.gallery a{display:block}.booking{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start;border-top:1px solid var(--line)}.booking-intro>p:not(.eyebrow){font-size:15px}.test-note{font-size:12px!important;line-height:1.8;color:var(--muted)}.booking-panel{background:var(--paper);border:1px solid var(--line);padding:30px}.date-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:12px;margin-bottom:7px}input{background:transparent;border:1px solid var(--line);border-radius:0;padding:12px;width:100%;min-width:0;color:var(--ink);font-size:15px}.booking-panel button{width:100%;margin-top:22px;text-align:left}.quote{margin-top:30px;border-top:1px solid var(--line);padding-top:25px}.quote h3{font:400 35px Georgia,serif;margin:15px 0 10px}.available{font-size:13px;color:#30583e}.price-row{display:flex;gap:18px;justify-content:space-between;border-bottom:1px solid #e7e0d6;padding:12px 0;font-size:13px}.price-row span:last-child{white-space:nowrap}.quote details{margin:22px 0}.quote summary{font-size:13px;cursor:pointer}.quote .test-note{margin-top:20px}.error{background:#fae6df;color:#7b2e21;padding:16px;font-size:14px;margin-top:20px}.closing{text-align:center;padding:65px 20px 85px;background:#e9e1d4}.closing h2{font-size:clamp(33px,4vw,52px)}footer{max-width:1440px;margin:auto;padding:45px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer p,footer>a{font-size:12px;color:var(--muted);margin:0}footer .logo{font-size:24px}footer .logo span{font-size:8px}img{max-width:100%}@media(min-width:1500px){.hero{min-height:650px}.hero-copy{padding-top:120px}}@media(max-width:800px){.header nav{gap:15px}.intro{gap:35px}.booking{gap:30px}.booking-panel{padding:22px}.retreat-copy{padding:35px 9%}.section{padding-top:60px;padding-bottom:60px}.gallery img{height:230px}.hero{min-height:540px}}@media(max-width:600px){.header{padding:22px 6%;align-items:center}.logo{font-size:27px}.logo span{font-size:8px;letter-spacing:1.5px}.header nav>a:not(.nav-button){display:none}.nav-button{padding:11px 13px;font-size:12px}.hero{min-height:540px}.hero-copy{padding:80px 7%}.hero h1{font-size:48px}.hero-copy>p:not(.eyebrow){font-size:15px}.hero-caption{left:7%;right:auto;font-size:9px;bottom:20px}.hero-shade{background:linear-gradient(90deg,rgba(20,25,21,.8),rgba(20,25,21,.28))}.feature-strip{flex-wrap:wrap;padding:23px 7%;gap:12px;font-size:12px}.feature-strip span{flex-basis:100%}.intro,.booking,.retreat{grid-template-columns:1fr;gap:20px}.intro>div+div{padding-top:0}.retreat>img{min-height:0;height:280px}.retreat-copy{padding:25px 7% 45px}.section{padding:50px 7%}.section-heading{display:block}.gallery{grid-template-columns:1fr;gap:15px}.gallery img{height:230px}.booking-panel{padding:22px}.date-fields{gap:12px}input{font-size:16px;padding:10px 8px}.button{gap:15px;padding:16px 18px}.closing{padding:50px 7%}footer{flex-wrap:wrap;padding:35px 7%}footer p{flex-basis:100%}h2{font-size:35px}.price-row{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:40px}.content-grid article{border-top:1px solid var(--line);padding-top:25px}.content-grid h3{font:400 27px/1.25 Georgia,serif;margin:20px 0}.content-grid p{font-size:14px;color:var(--muted)}.surroundings{background:#e9e1d4}.small-note{font-size:12px;color:var(--muted);margin-top:30px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;font-size:16px}.faq details p{max-width:750px;margin:18px 0 0;color:var(--muted);font-size:14px}@media(max-width:800px){.header nav{gap:18px}.content-grid{grid-template-columns:1fr;gap:20px}}

/* Approved transparent pencil logo; CSS trims empty canvas, original PNG is preserved. */
.brandmark{position:relative;display:block;width:360px;aspect-ratio:1940/440;overflow:hidden;flex-shrink:0;line-height:0;letter-spacing:0}
.brandmark>img{position:absolute;display:block;width:106.495%;max-width:none;height:auto;left:-3.093%;top:-43.182%}
footer .brandmark{width:300px}
@media(max-width:1100px){.header{flex-wrap:wrap;justify-content:center;gap:20px}.header nav{justify-content:center;flex-wrap:wrap;gap:22px}.header .brandmark{width:320px}}
@media(max-width:600px){.header{flex-direction:column;align-items:center;gap:16px}.header .brandmark{width:min(310px,100%)}.header nav{justify-content:center}footer .brandmark{width:min(300px,100%)}}

/* Render the small descriptor as crisp native text rather than scaled image lettering. */
.brandmark>img{clip-path:polygon(0 0,100% 0,100% 69%,47% 69%,47% 100%,0 100%)}
.logo.brandmark>.brand-tagline{position:absolute;display:block;left:48.45%;top:78%;width:51.55%;margin:0;text-align:center;white-space:nowrap;color:var(--ink);font:500 11px/1.25 Arial,sans-serif;letter-spacing:1px}
@media(max-width:360px){.logo.brandmark>.brand-tagline{font-size:10px;letter-spacing:.7px}}

.brand-story{max-width:1200px;margin:0 auto;padding:0 6% 70px}.brand-story img{display:block;width:100%;height:auto}@media(max-width:600px){.brand-story{padding:0 7% 45px}}

/* Readability pass: stronger contrast and practical reading sizes. */
:root{--ink:#24201c;--muted:#51483f}
body{font-size:17px}
.header nav{font-size:16px;font-weight:600}.header nav a{color:#24201c}.nav-button{font-size:15px}
.intro>div+div{font-size:17px}.retreat-copy p:not(.eyebrow),.booking-intro>p:not(.eyebrow),.content-grid p,.faq details p{font-size:16px;color:#51483f}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:1.5px}.button,.text-link{font-size:15px;font-weight:600}
.test-note,.small-note,.section-heading>p{font-size:14px!important;color:#51483f}
footer p,footer>a,.legal-footer nav{font-size:14px;color:#3d352e}.feature-strip{font-size:15px}
.hero-copy>p:not(.eyebrow){color:#fff6e9;font-size:18px;font-weight:500}.hero-caption{font-size:12px;color:#fff6e9;letter-spacing:.7px}
.logo.brandmark>.brand-tagline{font-weight:600;letter-spacing:.6px;color:#24201c}
.brand-story{max-width:1000px;padding-bottom:40px}.brand-story img{width:auto;max-width:100%;height:auto;max-height:min(420px,58svh);object-fit:contain;margin:0 auto}
@media(max-width:600px){.nav-button{font-size:15px}.hero-copy>p:not(.eyebrow){font-size:17px}.feature-strip{font-size:14px}.brand-story{padding-bottom:30px}.hero-caption{font-size:11px}}

/* Vector header logo: full image, no raster crop or overlapping labels. */
.logo.brandmark{aspect-ratio:720/170;overflow:visible;max-width:100%}
.logo.brandmark>img{position:static;display:block;width:100%;max-width:100%;height:auto;left:auto;top:auto;clip-path:none}

/* Gallery and precise map contact section. */
.header nav{flex-wrap:wrap;justify-content:flex-end;gap:18px 24px}
.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gallery a{overflow:hidden;border:1px solid var(--line)}
.gallery img{height:250px;transition:transform .25s ease}.gallery a:hover img{transform:scale(1.025)}
.gallery-hint{margin:20px 0 0;font-size:15px;color:#51483f}
.contact-section{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;border-top:1px solid var(--line);align-items:center}
.contact-copy p{font-size:17px}.contact-copy .text-link{display:block;margin-top:20px}
.coordinates{font-size:15px!important}.coordinates span{white-space:nowrap}
.map-panel{min-width:0;min-height:420px;background:#e9e1d4;border:1px solid var(--line);display:grid;align-items:stretch}
.map-placeholder{padding:35px;align-self:center;text-align:center}
.map-placeholder h3{font:400 30px/1.2 Georgia,serif;margin:16px 0}.map-placeholder p{font-size:15px}
.map-pin{font:52px/1 Georgia,serif;color:#6a5030}.map-panel iframe{display:block;width:100%;height:440px;border:0}
button[hidden]{display:none}
@media(max-width:1100px){.header nav{justify-content:center}}
@media(max-width:800px){.gallery{grid-template-columns:1fr 1fr}.gallery a:last-child{grid-column:1/-1}.contact-section{grid-template-columns:1fr;gap:25px}}
@media(max-width:600px){.header nav>a:not(.nav-button){display:inline-block}.header nav{gap:10px 18px}.header nav>a{font-size:15px}.header .nav-button{flex-basis:100%;text-align:center;margin-top:5px}.gallery{grid-template-columns:1fr}.gallery a:last-child{grid-column:auto}.gallery img{height:230px}.map-placeholder{padding:25px}.map-panel{min-height:340px}.map-panel iframe{height:360px}}
@media(prefers-reduced-motion:reduce){.gallery img{transition:none}}

.promo-banner{max-width:1200px;margin:35px auto;display:flex;background:#e9e1d4;border:1px solid var(--line);align-items:stretch}.promo-banner>img{width:38%;max-height:370px;object-fit:cover}.promo-copy{padding:35px 40px;flex:1;min-width:0}.promo-copy h2{font-size:35px;overflow-wrap:anywhere}.promo-copy p{font-size:17px;overflow-wrap:anywhere}.promo-copy .button{overflow-wrap:anywhere;max-width:100%}@media(max-width:600px){.promo-banner{margin:20px 7%;flex-direction:column}.promo-banner>img{width:100%;height:210px}.promo-copy{padding:25px}.promo-copy h2{font-size:30px}}

/* The active announcement is immediately above the opening photograph. */
.promo-banner{margin:0 auto 24px;background:#e9dbc4;border-left:5px solid #9b7948}
.promo-banner>img{width:30%;max-height:260px}.promo-copy{padding:24px 32px}.promo-copy h2{font-size:32px;margin:10px 0 15px}.promo-copy p{margin-bottom:15px}
@media(max-width:600px){.promo-banner{margin:0 7% 20px}.promo-banner>img{width:100%;height:150px}.promo-copy{padding:20px}.promo-copy h2{font-size:28px}}
