:root{--ink:#18302a;--cream:#f7f3eb;--sand:#e7decf;--pine:#234b3f;--pine2:#16352d;--white:#fff;--muted:#66736f;--shadow:0 20px 60px rgba(20,42,35,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream);line-height:1.6}a{color:inherit}.site-header{position:fixed;z-index:30;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:18px 5vw;background:rgba(247,243,235,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(24,48,42,.08)}.brand{font-family:'Playfair Display',serif;font-weight:700;text-decoration:none;font-size:1.3rem}.site-header nav{display:flex;gap:22px;align-items:center}.site-header nav a{text-decoration:none;font-size:.92rem}.nav-cta{background:var(--pine);color:#fff!important;padding:9px 15px;border-radius:999px}.hero{min-height:93vh;position:relative;display:flex;align-items:center;padding:110px 7vw 150px;color:white;background-image:url('assets/property-01.jpg');background-size:cover;background-position:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,27,21,.78),rgba(7,27,21,.25) 60%,rgba(7,27,21,.12))}.hero-content{position:relative;max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:700}.eyebrow.dark{color:var(--pine)}h1,h2{font-family:'Playfair Display',serif;line-height:1.05;margin:.2em 0}h1{font-size:clamp(3.2rem,7vw,6.4rem)}h2{font-size:clamp(2.3rem,4.5vw,4rem)}.hero-copy{max-width:650px;font-size:1.15rem}.hero-actions{display:flex;gap:12px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;padding:14px 22px;text-decoration:none;font-weight:700;cursor:pointer;font:inherit}.button.primary{background:var(--pine);color:#fff}.hero .button.primary{background:#fff;color:var(--ink)}.button.secondary{border:1px solid rgba(255,255,255,.75);color:#fff}.hero-stats{position:absolute;left:7vw;right:7vw;bottom:28px;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.93);color:var(--ink);border-radius:22px;padding:20px 28px;box-shadow:var(--shadow)}.hero-stats div{display:flex;flex-direction:column;border-right:1px solid #ddd;padding-left:24px}.hero-stats div:first-child{padding-left:0}.hero-stats div:last-child{border-right:0}.hero-stats strong{font-size:1.45rem}.hero-stats span{font-size:.82rem;color:var(--muted)}.section{padding:100px 7vw}.intro{display:grid;grid-template-columns:1.4fr .7fr;gap:70px;align-items:center}.intro-copy p{max-width:780px}.review-card{background:white;border-radius:28px;padding:35px;box-shadow:var(--shadow)}.stars{letter-spacing:.18em}.review-card blockquote{margin:15px 0;font-family:'Playfair Display',serif;font-size:1.35rem;line-height:1.35}.review-card a{font-weight:700}.section-heading{max-width:760px;margin-bottom:38px}.gallery{background:#fff}.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px;grid-auto-rows:260px;gap:12px}.gallery-grid img{width:100%;height:100%;object-fit:cover;border-radius:18px}.gallery-grid img:first-child{grid-row:1/3}.gallery-grid img:nth-child(4),.gallery-grid img:nth-child(5){grid-column:auto}.photo-note{font-size:.82rem;color:var(--muted)}.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.amenity-grid article{background:#fff;padding:28px;border-radius:22px;box-shadow:0 10px 30px rgba(20,42,35,.06)}.amenity-grid article span{font-size:1.8rem}.amenity-grid h3{margin-bottom:6px}.amenity-grid p{margin-top:0;color:var(--muted)}.location-band{margin:0 4vw;background:var(--pine2);color:#fff;padding:70px 6vw;border-radius:34px;display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}.location-points{display:grid;grid-template-columns:1fr 1fr;gap:14px}.location-points span{background:rgba(255,255,255,.09);padding:16px;border-radius:14px}.rule-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.rule-grid div{padding:24px;background:#fff;border-radius:18px}.rule-grid strong,.rule-grid span{display:block}.rule-grid span{color:var(--muted);margin-top:8px}.permit{margin-top:24px;font-size:.9rem}.booking-section{background:var(--sand);padding:95px 7vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:65px}.booking-copy ul{padding-left:20px}.booking-form{background:#fff;border-radius:28px;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:16px;box-shadow:var(--shadow)}.booking-form label{font-size:.82rem;font-weight:700}.booking-form input,.booking-form select,.booking-form textarea{width:100%;margin-top:7px;border:1px solid #ccd4d1;border-radius:12px;padding:13px;background:#fff;font:inherit}.booking-form .full{grid-column:1/-1}.form-status{margin:0;font-size:.9rem;color:var(--pine)}.airbnb-fallback{text-align:center;font-size:.9rem;font-weight:700}footer{padding:38px 7vw;background:#10251f;color:#fff;display:flex;justify-content:space-between;gap:20px}footer div{display:flex;flex-direction:column}footer p{margin:0;color:#c8d2cf}
@media(max-width:900px){.site-header nav a:not(.nav-cta){display:none}.hero{padding-left:5vw;padding-right:5vw}.hero-stats{grid-template-columns:1fr 1fr;gap:14px;left:5vw;right:5vw}.hero-stats div{border:0;padding-left:0}.intro,.location-band,.booking-section{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:320px 180px 180px;grid-auto-rows:180px}.gallery-grid img:first-child{grid-column:1/3;grid-row:auto}.amenity-grid{grid-template-columns:1fr 1fr}.rule-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.site-header{padding:14px 20px}.brand{font-size:1.08rem}.nav-cta{padding:8px 12px}.hero{min-height:90vh;padding-bottom:180px}.hero-stats{bottom:20px}.section{padding:75px 20px}.gallery-grid{display:grid;grid-template-columns:1fr;grid-template-rows:auto}.gallery-grid img,.gallery-grid img:first-child{grid-column:auto;grid-row:auto;height:230px}.amenity-grid,.rule-grid,.location-points,.booking-form{grid-template-columns:1fr}.booking-form .full{grid-column:auto}.location-band{margin:0;border-radius:0;padding:65px 20px}.booking-section{padding:75px 20px}footer{padding:30px 20px;flex-direction:column}}

.availability-section{background:#f4f6f0;scroll-margin-top:90px}.availability-calendar{max-width:660px;padding:30px;background:white;border-radius:26px;box-shadow:var(--shadow)}.calendar-controls{display:flex;justify-content:space-between;align-items:center;gap:16px}.calendar-controls h3{font-size:1.35rem;margin:10px 0}.calendar-controls button,#refreshAvailability{border:1px solid #cad4ce;background:white;color:var(--pine);border-radius:10px;padding:10px 16px;cursor:pointer;font:inherit}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-weekdays{text-align:center;font-size:.78rem;color:var(--muted);margin:16px 0 9px}.calendar-day{border:1px solid #c7d9c9;border-radius:10px;min-height:46px;font:inherit;background:#ecf5ec;color:#17382c;cursor:pointer}.calendar-day.unavailable{background:#f2e4e0;color:#8a3328;text-decoration:line-through;border-color:#dabcb3}.calendar-day:disabled{background:#f1f1ef;border-color:#e1e1dc;color:#888;cursor:default}.calendar-day.selected{outline:3px solid var(--pine);outline-offset:-3px}.calendar-day.in-stay{box-shadow:inset 0 0 0 2px #648c72}.calendar-day:focus-visible,.calendar-controls button:focus-visible,#refreshAvailability:focus-visible{outline:3px solid #d59d39;outline-offset:2px}.calendar-legend{display:flex;flex-wrap:wrap;gap:18px;font-size:.82rem;margin-top:22px}.calendar-legend span{display:flex;align-items:center;gap:7px}.calendar-legend i{width:14px;height:14px;border-radius:4px}.legend-open{background:#ecf5ec;border:1px solid #c7d9c9}.legend-blocked{background:#f2e4e0;border:1px solid #dabcb3}#availabilityStatus,.calendar-note{font-size:.82rem;color:var(--muted)}.date-availability{font-size:.85rem;margin:0}.date-availability[data-state="error"]{color:#9e3326}.date-availability[data-state="open"]{color:#225b38}@media(max-width:600px){.availability-calendar{padding:18px}.calendar-days{gap:4px}.calendar-day{min-height:42px}.calendar-controls h3{font-size:1.1rem}}
