@charset "UTF-8";
:root{--ink:#173c36;--pine:#123f38;--muted:#5c706b;--line:#dce4df;--paper:#fff;--mist:#f1f5f2;--sun:#d68b45;--terra:#b86b48;--error:#a0322c;--radius:14px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.6;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.07}h2{font-size:clamp(2.3rem,4.5vw,4.1rem)}h1 em,h2 em{font-weight:400}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,dialog:focus-visible{outline:3px solid #bd733c;outline-offset:4px}button{color:inherit}button[hidden],[hidden]{display:none!important}.skip-link{position:fixed;left:16px;top:-100px;padding:12px;background:white;z-index:100}.skip-link:focus{top:12px}
.site-header{height:94px;padding:0 clamp(22px,4vw,72px);display:flex;align-items:center;justify-content:space-between;background:white;position:relative;z-index:10;border-bottom:1px solid var(--line)}.wordmark{font:1.75rem/1 Georgia,serif;text-decoration:none;letter-spacing:.07em;display:grid;gap:6px;text-align:center}.wordmark span{font:9px/1 Arial,sans-serif;letter-spacing:.36em}.wordmark i{font:9px/1 Arial,sans-serif;font-style:normal;letter-spacing:.26em}.site-header nav{display:flex;gap:30px;font-size:.88rem}.site-header nav a{text-decoration:none;position:relative}.site-header nav a:after{content:"";position:absolute;inset:auto 0 -5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .18s}.site-header nav a:hover:after{transform:scaleX(1)}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--pine);color:white;border:1px solid transparent;padding:15px 24px;text-decoration:none;font-weight:600;font-size:.9rem;min-height:50px;transition:transform .16s,background .16s;border-radius:3px}.button:hover{background:#205b50;transform:translateY(-2px)}.button:active{transform:translateY(0)}.button.sun{color:var(--pine);background:var(--sun)}.button.sun:hover{background:#e4a56a}.button.small{padding:11px 17px;min-height:44px;font-size:.8rem}.button:disabled{opacity:.6;transform:none}.menu-toggle{display:none}.hero{position:relative;min-height:620px;height:min(760px,calc(100svh - 94px));display:flex;align-items:flex-end;isolation:isolate;color:white;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%;z-index:-2}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,35,25,.6),rgba(8,35,25,.08) 75%),linear-gradient(0deg,rgba(8,35,25,.4),transparent 55%);z-index:-1}.hero-content{padding:76px clamp(24px,6.8vw,112px) 94px;max-width:950px}.eyebrow{font-size:.68rem;letter-spacing:.19em;font-weight:700;color:var(--muted);margin-bottom:23px}.eyebrow.light{color:#e1e9df}.hero h1{font-size:clamp(3.8rem,7.1vw,7.2rem);margin-bottom:24px}.hero-content>p:not(.eyebrow){font-size:1rem;line-height:1.7;margin-bottom:28px;color:#f5f5ef}.hero-explore{position:absolute;bottom:28px;left:clamp(24px,6.8vw,112px);font-size:.72rem;text-decoration:none;display:flex;gap:45px;align-items:center}.hero-explore>span:last-child{font-size:1.2rem}.hero-caption{position:absolute;bottom:32px;right:5vw;font-size:.72rem;color:#f4f6ef}.property-strip{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;background:var(--mist);padding:24px 6vw;font-size:.8rem}.property-strip span+span{border-left:1px solid #cbd6ce}.section{padding:100px max(24px,calc((100vw - 1200px)/2))}.place-section{display:grid;grid-template-columns:1fr 1.06fr;gap:9%;align-items:center}.section-copy h2{margin-bottom:30px}.section-copy>p:not(.eyebrow){font-size:.94rem;color:var(--muted);margin-top:16px;max-width:470px}.text-link{display:inline-flex;align-items:center;gap:32px;margin-top:28px;font-weight:600;font-size:.85rem;text-underline-offset:7px}.small-text{font-size:.78rem!important;color:var(--muted)}.place-image img{aspect-ratio:4/4.4;object-fit:cover;border-radius:160px 160px 4px 4px;width:100%}.place-image figcaption{font:italic .92rem Georgia,serif;text-align:right;margin-top:15px}.booking-section{background:var(--mist)}.booking-heading{text-align:center;max-width:680px;margin:0 auto 48px}.booking-heading h2{margin-bottom:20px}.booking-heading>p:last-child{max-width:510px;margin:auto;color:var(--muted);font-size:.95rem}.booking-card{background:white;border:1px solid #dce4de;border-radius:var(--radius);overflow:hidden;box-shadow:0 15px 40px #103c3507}.booking-options{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.choice{background:white;border:0;padding:26px 32px;text-align:left;display:grid;grid-template-columns:26px 1fr;align-content:center;column-gap:8px;position:relative}.choice+.choice{border-left:1px solid var(--line)}.choice-number{font-size:.66rem;color:var(--muted);grid-row:span 2;padding-top:3px}.choice strong{font-size:1rem;font-weight:500}.choice>span:last-child{font-size:.75rem;color:var(--muted)}.choice:after{content:"";position:absolute;bottom:0;left:32px;right:32px;height:3px;background:var(--pine);transform:scaleX(0);transition:transform .2s}.choice.active{background:#f6f8f3}.choice.active:after{transform:scaleX(1)}.booking-body{display:grid;grid-template-columns:1fr 1fr}.calendar-side{padding:36px 44px;border-right:1px solid var(--line)}.field-label{display:block;font-size:.78rem;font-weight:600;margin-bottom:8px}select,input{width:100%;min-width:0;padding:12px;border:1px solid #cfd8d2;border-radius:4px;background:white;color:var(--ink);min-height:47px;font-size:.94rem}select{padding-right:26px}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin:24px 0 18px}.calendar-nav h3{font:500 1.15rem Georgia,serif;text-transform:capitalize}.icon-button{background:none;border:1px solid var(--line);border-radius:50%;width:40px;height:40px;min-width:40px;display:inline-grid;place-items:center;font-size:1.2rem}.icon-button:hover{background:var(--mist)}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-week{text-align:center;font-size:.7rem;color:var(--muted);margin-bottom:10px}.calendar-day{aspect-ratio:1;border:0;border-radius:5px;background:#f5f7f5;position:relative;font-size:.83rem;transition:background .15s,transform .15s;min-width:0;padding:0}.calendar-day:enabled:hover{background:#e0e8df}.calendar-day.unknown:after{content:"";width:3px;height:3px;border-radius:50%;background:#7b8880;position:absolute;bottom:5px;left:calc(50% - 1px)}.calendar-day.available{background:#edf3e2}.calendar-day.busy{background:repeating-linear-gradient(135deg,#f4f1ef,#f4f1ef 3px,#e8e1dc 3px,#e8e1dc 4px);color:#776d63}.calendar-day:disabled{color:#a5ada7;background:#fbfcfa}.calendar-day.in-range{background:#e1eac6}.calendar-day.selected{background:var(--pine);color:white;animation:select-date .2s ease-out}.calendar-day.selected:after{background:#fff}.calendar-day.today{box-shadow:inset 0 0 0 1px var(--pine)}.calendar-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.64rem;margin-top:19px;color:var(--muted)}.calendar-legend span{display:flex;align-items:center;gap:5px}.calendar-legend i{width:9px;height:9px;border-radius:2px}.legend-free{background:#d6e6b6}.legend-busy{background:#d6c6bb}.legend-unknown{border:1px solid #7b8880}.status-message{font-size:.74rem;line-height:1.5;color:var(--muted);padding-top:20px;min-height:58px}.status-message.loading:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--muted);margin-right:8px;animation:status-pulse 1.4s ease-in-out infinite}.text-button{background:none;border:0;text-decoration:underline;text-underline-offset:3px;padding:8px 0;font-size:.8rem}.request-form{padding:35px 44px;display:grid;gap:16px;align-content:start}.form-eyebrow{font-size:.67rem;font-weight:bold;letter-spacing:.13em}.request-form label,.date-fields label{display:grid;gap:6px;font-size:.78rem;font-weight:600}.date-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.date-summary{font-size:.75rem;min-height:24px;color:var(--muted)}.optional,.field-hint{font-size:.7rem;color:var(--muted);font-weight:400}.privacy-note,.confirmation-note{font-size:.68rem;color:var(--muted);line-height:1.5}.confirmation-note{text-align:center}.submit-button{width:100%;justify-content:space-between}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-error{padding:12px 14px;background:#fff1ed;color:var(--error);border-left:3px solid var(--error);font-size:.83rem}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:40px}.gallery-filters{display:flex;gap:8px;flex-wrap:wrap}.filter{border:0;background:transparent;font-size:.8rem;padding:9px 13px;border-radius:25px}.filter.active{background:var(--pine);color:white}.contact-section{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;background:var(--pine);color:#fff}.contact-section h2{font-size:clamp(2.6rem,4.3vw,4.1rem)}.contact-section p{font-size:.9rem;color:#d7e3db;margin-top:25px;max-width:450px}.contact-section .button{margin-top:28px}.contact-details{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}.contact-label{font-size:.65rem;letter-spacing:.2em;margin:30px 0 12px;color:#bdcfc1}.contact-details>a{font-size:.9rem;overflow-wrap:anywhere;text-underline-offset:5px}.contact-details>p{margin:0}.contact-details .text-link{font-size:.76rem}.light{color:#e0e8df}footer{padding:32px 4vw;display:flex;gap:25px;align-items:center;justify-content:space-between;font-size:.69rem;color:var(--muted)}footer>div{display:flex;gap:20px}.footer-brand{font:1.1rem Georgia,serif;color:var(--pine);text-decoration:none}.mobile-cta{display:none}.noscript{padding:20px}.legal-main{max-width:850px;margin:auto;padding:75px 24px 100px}.legal-main h1{font-size:3.4rem;margin-bottom:32px}.legal-main h2{font-size:1.6rem;margin:35px 0 12px}.legal-main p,.legal-main li{margin-bottom:16px;color:var(--muted)}.receipt{max-width:650px;margin:80px auto;text-align:center;padding:40px 24px}.receipt h1{font-size:3.5rem;margin:24px 0}.receipt p{margin:20px 0}.receipt-icon{width:66px;height:66px;border-radius:50%;background:var(--sun);font-size:1.8rem;display:grid;place-items:center;margin:auto;animation:saved .24s ease-out}.reveal{opacity:1}.motion-enabled .reveal.pending{opacity:0;transform:translateY(14px)}.motion-enabled .reveal{transition:opacity .55s,transform .55s}
@keyframes select-date{from{transform:scale(.92);opacity:.6}to{transform:scale(1);opacity:1}}@keyframes saved{from{opacity:0;transform:scale(.88)}70%{transform:scale(1.03)}to{opacity:1;transform:scale(1)}}@keyframes status-pulse{0%,100%{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}
@media(max-width:1100px){.site-header nav{gap:18px}.header-cta{display:none}.section{padding:75px 5vw}.calendar-side,.request-form{padding:28px}.choice{padding:23px 19px}.choice strong{font-size:.9rem}.choice:after{left:19px;right:19px}.section-heading{display:block}.gallery-filters{margin-top:25px}}
@media(max-width:760px){html{scroll-padding-top:20px}.site-header{height:78px;padding:0 22px}.wordmark{font-size:1.55rem}.site-header>nav:not(.mobile-nav){display:none}.menu-toggle{display:grid;gap:6px;background:none;border:0;padding:12px;width:44px;height:44px;align-content:center}.menu-toggle span{display:block;width:22px;height:1px;background:var(--pine)}.site-header .mobile-nav{position:absolute;top:78px;left:0;right:0;display:flex;flex-direction:column;background:white;padding:24px;gap:20px;box-shadow:0 18px 24px #143c3512}.hero{height:calc(85svh - 78px);min-height:520px;max-height:720px}.hero-image{object-position:52% center}.hero-content{padding:35px 24px 87px}.hero h1{font-size:clamp(3.2rem,11vw,5rem)}.hero .eyebrow{font-size:.55rem;letter-spacing:.14em}.hero-content>p:not(.eyebrow){font-size:.88rem}.hero-explore{left:24px}.hero-caption{display:none}.property-strip{grid-template-columns:1fr 1fr;row-gap:14px;padding:22px 15px;font-size:.7rem}.property-strip span:nth-child(3){border:0}.section{padding:60px 22px}.place-section{grid-template-columns:1fr;gap:35px}.place-image img{max-height:470px;aspect-ratio:5/4;border-radius:100px 100px 4px 4px}.section-copy h2{font-size:2.8rem}.booking-heading h2{font-size:2.7rem}.booking-heading>p:last-child{font-size:.87rem}.booking-heading{margin-bottom:30px}.booking-options{grid-template-columns:1fr}.choice{grid-template-columns:25px 1fr auto;padding:16px 20px}.choice+.choice{border-left:0;border-top:1px solid var(--line)}.choice-number{grid-row:1}.choice strong{font-size:.88rem}.choice>span:last-child{display:none}.choice:after{height:auto;width:3px;left:0;top:0;bottom:0;right:auto;transform:scaleY(0)}.choice.active:after{transform:scaleY(1)}.booking-body{grid-template-columns:1fr}.calendar-side{border-right:0;border-bottom:1px solid var(--line);padding:23px 20px}.request-form{padding:25px 20px}.calendar-grid{gap:5px}.calendar-day{max-height:48px;min-height:32px}.calendar-legend{font-size:.62rem;gap:10px}.date-fields{gap:8px}.request-form input{font-size:16px;padding:10px}.gallery-filters{gap:3px}.filter{font-size:.74rem;padding:8px 10px}.contact-section{grid-template-columns:1fr;gap:25px}.contact-details{padding-top:15px;border-top:1px solid #ffffff2b}footer{display:flex;flex-wrap:wrap;padding:30px 22px 100px;gap:15px}footer>div{width:100%;gap:18px;flex-wrap:wrap}.mobile-cta{position:fixed;bottom:14px;left:20px;right:20px;z-index:20;display:flex;justify-content:space-between;box-shadow:0 6px 22px #0f38292b;transition:opacity .2s,transform .2s}.mobile-cta.obscured{opacity:0;transform:translateY(90px);pointer-events:none}.legal-main h1{font-size:2.6rem}.receipt h1{font-size:2.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-enabled .reveal.pending{opacity:1;transform:none}}

/* Keep operational calendar labels readable on small, older phones. */
.calendar-legend{font-size:12px}.status-message{font-size:12px}.legal-note{background:#f3f1db;border-left:3px solid #a79c53;padding:16px 20px;font-size:14px}.legal-main{overflow-wrap:anywhere}

/* Curated photo story: a lead frame with two complementary views. */
.gallery-viewer{min-width:0}.gallery-stage{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:14px;height:clamp(360px,43vw,540px)}.gallery-enlarge,.gallery-peek{display:block;width:100%;height:100%;padding:0;border:0;background:#e8ece5;position:relative;overflow:hidden;border-radius:6px;text-align:left;color:white}.gallery-enlarge{touch-action:pan-y}.gallery-enlarge:focus-visible,.gallery-peek:focus-visible{outline-offset:-5px}.gallery-enlarge img,.gallery-peek img{width:100%;height:100%;object-fit:cover}.gallery-enlarge>span:first-child{display:block;height:100%}.gallery-enlarge:after,.gallery-peek:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#09271fcc);pointer-events:none}.gallery-zoom{position:absolute;right:20px;top:20px;color:white;background:#102d289c;padding:5px 11px;border:1px solid #ffffff60;border-radius:30px;font-size:.68rem;z-index:1}.gallery-feature-label{position:absolute;left:28px;right:28px;bottom:28px;display:grid;gap:10px;z-index:1}.gallery-feature-label>span{font-size:.58rem;letter-spacing:.2em}.gallery-feature-label strong{font:400 clamp(1.7rem,2.7vw,2.7rem)/1.1 Georgia,serif;max-width:530px;letter-spacing:-.025em}.gallery-peeks{display:grid;grid-template-rows:1fr 1fr;gap:14px;min-height:0}.gallery-peek{min-height:0}.gallery-peek span{position:absolute;left:20px;right:20px;bottom:19px;font:1.15rem/1.25 Georgia,serif;z-index:1}.gallery-peek img{transition:transform .45s cubic-bezier(.22,1,.36,1)}.few-photos .gallery-peeks{grid-template-rows:1fr}.gallery-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0 12px;font-size:.75rem;color:var(--muted)}.gallery-controls{display:flex;align-items:center;gap:14px;flex-shrink:0;font-size:.74rem;font-variant-numeric:tabular-nums}.gallery-arrow{width:40px;height:40px;border:1px solid #bccdc4;border-radius:50%;background:white;color:var(--pine);font-size:1.2rem;display:grid;place-items:center}.gallery-arrow:hover{background:var(--sun);border-color:var(--sun)}.gallery-arrow:disabled{visibility:hidden}.gallery-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:5px 3px 13px;scroll-snap-type:x proximity;scrollbar-width:thin;position:relative}.gallery-thumbnail{flex:0 0 110px;border:2px solid transparent;border-radius:5px;overflow:hidden;padding:3px;background:transparent;scroll-snap-align:center;opacity:.6;transition:opacity .18s,border-color .18s}.gallery-thumbnail img{width:100%;height:70px;object-fit:cover;border-radius:2px}.gallery-thumbnail:hover,.gallery-thumbnail[aria-pressed=true]{opacity:1}.gallery-thumbnail[aria-pressed=true]{border-color:var(--pine)}#gallery-state{min-height:24px;margin-top:7px}
.phone-field{border:0;margin:0;padding:0;min-width:0}.phone-field legend{font-size:.78rem;font-weight:600;padding:0}.phone-fields{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr);gap:10px;margin:8px 0}.phone-fields label{font-size:.7rem;font-weight:400}.phone-fields select{font-size:.82rem}.phone-field .field-hint{line-height:1.5}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.gallery-peek:hover img{transform:scale(1.035)}}
@media(max-width:760px){.gallery-stage{grid-template-columns:1fr;height:clamp(300px,100vw,490px)}.gallery-peeks{display:none}.gallery-feature-label{left:22px;right:22px;bottom:24px}.gallery-feature-label strong{font-size:1.9rem}.gallery-caption{font-size:.7rem;align-items:flex-start;gap:14px}.gallery-caption>p{max-width:65%}.gallery-controls{gap:8px}.gallery-arrow{width:34px;height:34px}.gallery-thumbnail{flex-basis:86px}.gallery-thumbnail img{height:58px}.gallery-thumbnails{gap:6px}.gallery-zoom{right:16px;top:16px;font-size:.65rem}.phone-fields{grid-template-columns:1fr}.phone-fields select{font-size:16px}}

/* Fullscreen photo viewer: the backdrop is the frame. */
html.photo-open{overflow:hidden}.lightbox{position:fixed;inset:0;margin:0;padding:82px 90px 30px;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;border:0;border-radius:0;background:transparent;color:#f5f4ed;overflow:hidden}.lightbox[open]{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:22px}.lightbox::backdrop{background:rgba(5,14,12,.96)}.lightbox>img{width:100%;height:100%;max-height:none;min-height:0;object-fit:contain;align-self:center;user-select:none;touch-action:pan-y}.lightbox-top{position:absolute;top:20px;left:32px;right:24px;display:flex;align-items:center;justify-content:space-between}.lightbox-top>span{font-size:.72rem;font-variant-numeric:tabular-nums;letter-spacing:.13em;color:#ffffff8f}.lightbox-close{display:flex;align-items:center;gap:12px;min-height:44px;min-width:44px;padding:8px;background:none;color:#f5f4ed;border:0;font-size:.72rem;letter-spacing:.04em}.lightbox svg{fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.lightbox-arrow{position:absolute;top:calc(50% - 30px);width:60px;height:60px;display:grid;place-items:center;background:none;border:0;color:#f5f4ed;padding:10px;opacity:.8;transition:opacity .2s,transform .2s}.lightbox-arrow:hover{opacity:1;transform:scale(1.1)}.lightbox-arrow.previous{left:14px}.lightbox-arrow.next{right:14px}.lightbox-arrow:disabled{visibility:hidden}.lightbox-caption{text-align:center;max-width:780px;margin:auto;line-height:1.5}.lightbox-caption p{font:400 1.05rem/1.4 Georgia,serif;letter-spacing:.01em}.lightbox-caption>span{display:block;margin-top:8px;font-size:.57rem;text-transform:uppercase;letter-spacing:.22em;color:#ffffff75}.lightbox button:focus-visible{outline:1px solid #ffffffb8;outline-offset:3px}
@media(max-width:760px){.lightbox{padding:74px 14px 90px}.lightbox[open]{gap:20px}.lightbox-top{left:22px;right:14px;top:14px}.lightbox-caption p{font-size:1rem}.lightbox-caption>span{font-size:.5rem}.lightbox-arrow{top:auto;bottom:16px;width:52px;height:52px}.lightbox-arrow.previous{left:calc(50% - 70px)}.lightbox-arrow.next{right:calc(50% - 70px)}.lightbox-arrow svg{width:18px;height:28px}}

/* Heritage palette: original sage and warm orange, with deep green for contrast. */
:root{--sage:#6f8368;--orange:#d68b45}.property-strip{background:var(--pine);color:#fff;border-top:3px solid var(--orange)}.property-strip span+span{border-color:#ffffff50}.wordmark i{color:#8b4b17}.header-cta,.sticky-cta,.request-form button[type=submit]{background:var(--orange);color:var(--pine)}.header-cta:hover,.sticky-cta:hover,.request-form button[type=submit]:hover{background:#e4a56a}.text-link{text-decoration-color:var(--orange)}

.button.sun,.header-cta,.sticky-cta,.request-form button[type=submit],.gallery-arrow:hover,.receipt-icon{color:#102f28}
