:root{--cream:#f6f3e9;--paper:#fffdf6;--ink:#26382b;--muted:#62705f;--line:#d7dccd;--accent:#38533a;--light:#e9eddf;--warm:#e7be78;--font-display:'Boska',Georgia,serif;--font-body:'Satoshi',sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:clamp(1.75rem,3vw,2.75rem);--text-hero:clamp(3.5rem,6vw,6.4rem);--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s6:1.5rem;--s8:2rem;--s12:3rem;--s16:4rem;--s24:6rem}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--s4)}body{margin:0;background:var(--cream);color:var(--ink);font:400 var(--text-base)/1.65 var(--font-body)}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--font-display);font-weight:500;line-height:1.02}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg);line-height:1.3}a{color:inherit}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}img{max-width:100%;display:block;object-fit:cover}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b77a31;outline-offset:4px}[hidden]{display:none!important}.demo-banner{display:flex;justify-content:space-between;padding:var(--s2) var(--s8);background:var(--ink);color:var(--cream);font-size:var(--text-xs);gap:var(--s4)}header{padding:var(--s6) var(--s8);display:flex;align-items:center;justify-content:space-between;gap:var(--s6)}.brand{text-decoration:none;font-family:var(--font-display);font-weight:500;font-size:2rem;line-height:1}.brand span{display:block;font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.17em;margin-top:var(--s2)}nav{display:flex;align-items:center;gap:var(--s8)}nav>a{font-size:var(--text-sm);text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--s8);padding:var(--s4) var(--s6);background:var(--accent);color:var(--paper);border:1px solid transparent;text-decoration:none;font-weight:500;font-size:var(--text-sm);transition:background .2s,transform .2s}.button:hover{background:var(--ink);transform:translateY(-2px)}.button.cream{background:var(--cream);color:var(--ink)}.button.cream:hover{background:white}.menu-toggle{display:none}.hero{position:relative;min-height:640px;display:flex;align-items:center;color:var(--paper)}.hero>img,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-shade{background:linear-gradient(90deg,rgba(15,31,19,.76),rgba(15,31,19,.24) 62%,rgba(15,31,19,.05)),linear-gradient(0deg,rgba(15,31,19,.5),transparent 25%)}.hero-copy{position:relative;padding:var(--s16) 6vw var(--s24);max-width:850px}.eyebrow{font-size:var(--text-xs);letter-spacing:.15em;font-weight:700;margin-bottom:var(--s6)}h1{font-size:var(--text-hero);letter-spacing:-.035em;margin-bottom:var(--s6)}.hero-copy>p:not(.eyebrow){margin-bottom:var(--s8)}.hero-foot{position:absolute;bottom:var(--s8);left:var(--s8);right:var(--s8);display:flex;justify-content:space-between;font-size:var(--text-xs);letter-spacing:.1em;gap:var(--s4)}.welcome-strip{display:flex;justify-content:space-between;align-items:center;gap:var(--s8);padding:var(--s6) var(--s8);border-bottom:1px solid var(--line)}.welcome-strip>span{font-family:var(--font-display);font-size:var(--text-xl);flex-shrink:0}.welcome-strip p{max-width:43ch;font-size:var(--text-sm);color:var(--muted)}.welcome-strip>a{font-size:var(--text-sm);text-underline-offset:5px;max-width:24ch}.section,.booking-section{padding:var(--s24) max(var(--s6),calc((100% - 1200px)/2))}.section-heading{display:flex;justify-content:space-between;gap:var(--s8);align-items:flex-end;margin-bottom:var(--s12)}.section-heading>p,.section-heading>div:last-child:not(:first-child){max-width:45ch;color:var(--muted)}.section-heading .eyebrow{margin-bottom:var(--s4)}.stays-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s8)}.stay{border-top:1px solid var(--ink);padding-top:var(--s6)}.stay-number{font-size:var(--text-xs);color:var(--muted);letter-spacing:.1em;margin-bottom:var(--s8)}.stay h3{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;margin-bottom:var(--s4)}.stay p{color:var(--muted);margin-bottom:var(--s8)}.stay-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s4);align-items:center;font-size:var(--text-sm)}.text-link{border:0;background:transparent;color:var(--ink);font-size:var(--text-sm);padding:var(--s1) 0;text-decoration:underline;text-underline-offset:5px;font-weight:500}.text-link:hover{color:#8a5b27}.fine{font-size:var(--text-xs);color:var(--muted);margin-top:var(--s6);line-height:1.65}.booking-section{background:var(--light);border-block:1px solid var(--line)}.demo-tag{display:inline-block;font-size:var(--text-xs);letter-spacing:.05em;background:#d8e1ca;color:var(--ink);padding:var(--s1) var(--s3);margin-bottom:var(--s4);font-weight:700}.search-form{display:grid;grid-template-columns:1fr 1fr 1fr .7fr auto;gap:var(--s4);align-items:end;background:var(--paper);padding:var(--s6);border:1px solid var(--line);margin-bottom:var(--s8)}label{display:flex;flex-direction:column;gap:var(--s2);font-size:var(--text-sm);font-weight:500;min-width:0}input:not([type=checkbox]),select{width:100%;min-width:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:var(--s3);border-radius:0;height:48px;font-size:var(--text-sm)}.search-form .button{min-height:48px;padding:var(--s3) var(--s4);white-space:nowrap}.search-error{background:#fff0e6;color:#813f22;padding:var(--s4);margin-bottom:var(--s6);border-left:3px solid #813f22}.booking-grid{display:grid;grid-template-columns:340px 1fr;gap:var(--s8);align-items:start}.calendar-panel{background:var(--paper);padding:var(--s6);border:1px solid var(--line)}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2)}.calendar-head h3{font-size:var(--text-base)}.calendar-head button{width:36px;height:36px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.calendar-head button:disabled{opacity:.35}.calendar-hint{font-size:var(--text-xs);color:var(--muted);margin:var(--s3) 0 var(--s6)}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--s1)}.weekdays{text-align:center;font-size:var(--text-xs);color:var(--muted);margin-bottom:var(--s2)}.calendar button{position:relative;aspect-ratio:1;border:1px solid transparent;background:var(--light);color:var(--ink);font-size:var(--text-sm);padding:0}.calendar button.limited{background:#f4e4c3}.calendar button:disabled{background:#f0f0e9;color:#969b91;text-decoration:line-through}.calendar button.past{background:transparent;color:#a3a99d;text-decoration:none}.calendar button.in-range{background:#c6d5b8}.calendar button.selected{background:var(--accent);color:white}.calendar button:not(:disabled):hover{border-color:var(--ink)}.legend{display:flex;gap:var(--s3);font-size:var(--text-xs);margin-top:var(--s6);flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:var(--s1)}.legend i{width:10px;height:10px;display:inline-block;border:1px solid var(--line)}.available{background:var(--light)}.limited{background:#f4e4c3}.unavailable{background:#f0f0e9}.results-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s4)}.results-head h3{font-size:var(--text-base)}.results-head p{font-size:var(--text-xs);color:var(--muted)}.site-card{background:var(--paper);border:1px solid var(--line);padding:var(--s6);margin-bottom:var(--s4);display:grid;grid-template-columns:1fr auto;gap:var(--s6)}.site-card .eyebrow{margin-bottom:var(--s2);color:var(--muted)}.site-card h4{font-size:var(--text-lg);margin:0 0 var(--s2)}.site-card p{font-size:var(--text-sm);color:var(--muted);max-width:48ch}.site-tags{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s4)}.site-tags span{font-size:var(--text-xs);border:1px solid var(--line);padding:var(--s1) var(--s2)}.site-price{text-align:right;align-self:center;min-width:150px}.site-price strong{font-size:var(--text-lg)}.site-price p{font-size:var(--text-xs);margin:var(--s1) 0 var(--s3)}.site-price .button{padding:var(--s3) var(--s4)}.empty{padding:var(--s8);background:var(--paper);border:1px dashed var(--muted)}.empty h4{margin:0 0 var(--s3);font-size:var(--text-lg)}.empty p{color:var(--muted);margin-bottom:var(--s4)}.booking-disclosure{border-top:1px solid #bac5af;padding-top:var(--s6);margin-top:var(--s8);display:grid;grid-template-columns:1fr 1.5fr;gap:var(--s8)}.booking-disclosure strong{font-size:var(--text-sm);font-weight:500}.booking-disclosure p{font-size:var(--text-xs);color:var(--muted)}.escape{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--s24);align-items:center}.escape img{aspect-ratio:4/3;width:100%}.escape h2{margin-bottom:var(--s6)}.escape p:not(.eyebrow){color:var(--muted);max-width:38ch}.escape ul{padding-left:var(--s4);color:var(--muted);font-size:var(--text-sm);margin-block:var(--s6)}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--s24);border-top:1px solid var(--line)}.faq>div>p:last-child{color:var(--muted);margin-top:var(--s4)}details{border-top:1px solid var(--line);padding:var(--s6) 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:var(--text-base);font-weight:500;padding-right:var(--s6)}details p{font-size:var(--text-sm);color:var(--muted);padding-top:var(--s4)}.owner-cta{background:var(--ink);color:var(--cream);text-align:center;padding:var(--s24) var(--s6)}.owner-cta h2{font-size:clamp(2.5rem,5vw,4.5rem)}.owner-cta>p:not(.eyebrow){margin:var(--s6) auto var(--s8);max-width:55ch;color:#c5cdbd}footer{display:flex;justify-content:space-between;align-items:center;gap:var(--s8);padding:var(--s12) var(--s8)}footer p,footer>a:last-child{font-size:var(--text-xs);color:var(--muted)}dialog{border:1px solid var(--line);padding:var(--s12);background:var(--cream);color:var(--ink);width:min(560px,calc(100% - 32px));max-height:90dvh;overflow-y:auto}dialog::backdrop{background:rgba(16,30,20,.65)}body:has(dialog[open]){overflow:hidden}.dialog-close{position:absolute;right:var(--s4);top:var(--s3);font-size:1.75rem;color:var(--ink);background:transparent;border:0;width:36px;height:36px}dialog h2{margin-bottom:var(--s6)}dialog .eyebrow{margin-bottom:var(--s3)}#booking-summary,#confirmation-summary{padding:var(--s6) 0;border-block:1px solid var(--line);margin-bottom:var(--s6)}.summary-row,.price-row{display:flex;justify-content:space-between;gap:var(--s4);font-size:var(--text-sm);padding:var(--s1) 0}.summary-row span:first-child,.price-row span:first-child{color:var(--muted)}.summary-row span:last-child{text-align:right;overflow-wrap:anywhere}.extra,.acknowledgement{flex-direction:row;align-items:start;font-weight:400;gap:var(--s3);margin-bottom:var(--s6)}.extra span{margin-left:auto;white-space:nowrap}input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px;flex-shrink:0;margin:var(--s1) 0}.price-total{border-top:1px solid var(--line);margin-top:var(--s3);padding-top:var(--s3);font-weight:700}.guest-fields{display:grid;gap:var(--s4);margin:var(--s6) 0}.full{width:100%;justify-content:center}.confirmed-mark{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;background:var(--light);border:1px solid var(--line);margin-bottom:var(--s6);font-size:var(--text-lg)}#confirmation>p:not(.eyebrow){color:var(--muted);margin-bottom:var(--s6)}
@media(max-width:1050px){nav{gap:var(--s4)}.search-form{grid-template-columns:repeat(4,1fr)}.search-form>.button{grid-column:1/-1;justify-content:center}.booking-grid{grid-template-columns:300px 1fr}.site-card{grid-template-columns:1fr}.site-price{text-align:left}.site-price .button{margin-top:var(--s2)}.escape,.faq{gap:var(--s12)}.welcome-strip{flex-wrap:wrap}}
@media(max-width:760px){header{padding:var(--s4) var(--s6);flex-wrap:wrap}.brand{font-size:1.75rem}.menu-toggle{display:flex;gap:var(--s3);border:1px solid var(--line);padding:var(--s2) var(--s3);background:transparent;color:var(--ink);font-size:var(--text-sm)}nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav>a{padding:var(--s3) 0}nav>.button{padding:var(--s3) var(--s4);margin-top:var(--s2)}.demo-banner{padding:var(--s2) var(--s6);flex-direction:column;gap:0}.demo-banner>span:first-child{font-size:var(--text-xs);letter-spacing:0}.hero{min-height:640px}.hero-copy{padding:var(--s12) var(--s6) var(--s24)}.hero-foot{left:var(--s6);right:var(--s6);flex-direction:column;gap:var(--s2)}.hero>img{object-position:65%}.hero-shade{background:linear-gradient(90deg,rgba(15,31,19,.78),rgba(15,31,19,.3)),linear-gradient(0deg,rgba(15,31,19,.5),transparent 40%)}.welcome-strip{padding:var(--s6);gap:var(--s4)}.section,.booking-section{padding:var(--s16) var(--s6)}.section-heading{flex-direction:column;align-items:flex-start;gap:var(--s6);margin-bottom:var(--s8)}.stays-grid{grid-template-columns:1fr;gap:var(--s8)}.stay-number{margin-bottom:var(--s4)}.stay p{margin-bottom:var(--s4)}.search-form{grid-template-columns:1fr 1fr;padding:var(--s4);gap:var(--s4) var(--s3)}.booking-grid{grid-template-columns:1fr;gap:var(--s8)}.calendar-panel{max-width:400px;width:100%}.results-head{flex-direction:column;align-items:flex-start;gap:var(--s1)}.site-card{padding:var(--s6);gap:var(--s4)}.site-price .button{width:100%}.booking-disclosure{grid-template-columns:1fr;gap:var(--s3)}.escape,.faq{grid-template-columns:1fr;gap:var(--s8)}.escape img{order:0}.owner-cta{padding:var(--s16) var(--s6)}footer{padding:var(--s8) var(--s6);flex-direction:column;align-items:flex-start;gap:var(--s6)}dialog{padding:var(--s8) var(--s6)}.summary-row{gap:var(--s3)}}
/* Explicit date-selection controls inside the calendar. */
.date-field { display: flex; flex-direction: column; gap: var(--s2); min-width: 0; font-size: var(--text-sm); font-weight: 500; }
.date-control { display: flex; align-items: center; justify-content: space-between; gap: var(--s2); width: 100%; min-width: 0; min-height: 48px; padding: var(--s3); background: var(--paper); color: var(--ink); border: 1px solid var(--line); text-align: left; font-size: var(--text-sm); }
.date-control:hover { border-color: var(--accent); }
.calendar-actions { display: flex; justify-content: flex-end; margin: calc(-1 * var(--s3)) 0 var(--s4); }
.calendar-actions button { border: 0; background: none; padding: var(--s2) 0; color: var(--accent); text-decoration: underline; text-underline-offset: 3px; font-size: var(--text-xs); }
.calendar-dates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s2); margin-bottom: var(--s6); }
.calendar-dates button { min-width: 0; text-align: left; padding: var(--s3); border: 1px solid var(--line); background: var(--paper); color: var(--ink); }
.calendar-dates button[aria-pressed="true"] { border-color: var(--accent); box-shadow: inset 0 -3px var(--accent); background: var(--light); }
.calendar-dates span, .calendar-dates strong { display: block; }
.calendar-dates span { font-size: var(--text-xs); color: var(--muted); }
.calendar-dates strong { font-size: var(--text-sm); font-weight: 600; }
.calendar button.checkin::after, .calendar button.checkout::after { content: ""; position: absolute; bottom: 3px; left: 35%; right: 35%; height: 2px; background: currentColor; }
.calendar-hint { min-height: 3.3em; }
/* Small stay-type photos in the heading area, with full-width copy below. */
.stay-top {
  --text-stay-title: clamp(1.65rem, 2.1vw, 2rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 104px;
  align-items: center;
  gap: var(--s4);
  margin-bottom: var(--s4);
}
.stay-top .stay-number { margin-bottom: var(--s3); }
.stay-top h3 { margin-bottom: 0; font-size: var(--text-stay-title); }
.stay-thumb {
  width: 104px;
  height: 78px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid var(--line);
}
@media (max-width: 760px) {
  .search-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .search-form input, .search-form select { font-size: var(--text-base); }
}
@media (max-width: 480px) {
  .search-form .date-field { grid-column: 1 / -1; }
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
