@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');
:root{--green:#284d3c;--ink:#263c32;--muted:#747970;--cream:#f8f7f2;--line:#dedfd6;--gold:#d9b978}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);background:#fff;font:15px 'DM Sans',Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c6a15f;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,.serif{font-family:'Playfair Display',Georgia,serif;font-weight:400}h2{font-size:38px;line-height:1.2}p{line-height:1.7}.header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:#fff;gap:20px;border-bottom:1px solid #eeeee8}.brand{display:flex;align-items:center;gap:11px;font-size:25px;font-weight:700;letter-spacing:-1px;white-space:nowrap}.brand-light{font-weight:400}.brand small{display:block;font:8px 'DM Sans',sans-serif;letter-spacing:2px;margin-top:5px}.header nav{display:flex;gap:30px;align-items:center;font-size:13px}.header nav a:hover,.text-button:hover{text-decoration:underline}.text-button{background:none;border:0;padding:0;font-size:inherit}.saved-button{border:1px solid var(--line);border-radius:30px;padding:11px 16px;background:white;display:flex;gap:8px;align-items:center;font-size:13px}.saved-button b{font-size:11px;background:var(--cream);padding:3px 6px;border-radius:50%}.hero{margin:22px 3% 0;min-height:520px;border-radius:14px;position:relative;overflow:hidden;background:var(--green)}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,34,25,.8),rgba(16,34,25,.27) 65%,rgba(16,34,25,.08))}.hero-content{position:relative;z-index:1;padding:80px 6%;color:white;max-width:740px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:2.7px;font-weight:600;display:block;margin-bottom:18px}.hero h1{font-size:62px;line-height:1.09;letter-spacing:-1.6px;margin-bottom:22px}.hero h1 em{font-weight:400;color:#e3d6ad}.hero p{max-width:375px;color:#f0f0e9;font-size:15px}.hero-location{position:absolute;bottom:28px;right:30px;z-index:2;color:white;font-size:11px;background:#263c3277;backdrop-filter:blur(8px);border:1px solid #ffffff40;padding:10px 15px;border-radius:20px}.search-wrap{position:relative;z-index:3;margin:-36px auto 0;max-width:1050px;padding:0 20px}.search-bar{box-shadow:0 8px 30px #24342614;background:white;border:1px solid #e6e7df;border-radius:12px;padding:16px;display:grid;grid-template-columns:1.3fr 1fr 1fr .8fr auto;gap:0;align-items:center}.search-bar label{padding:0 20px;border-right:1px solid var(--line);min-width:0}.field-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}input,select,textarea{min-width:0;color:var(--ink);background:white;border:1px solid var(--line);padding:12px;border-radius:6px;max-width:100%}.search-bar input,.search-bar select{padding:0;border:0;width:100%;font-size:13px;background:transparent;min-height:22px}.primary{background:var(--green);color:white;border:0;border-radius:7px;padding:15px 22px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:10px}.primary:hover{background:#1b3c2c}.primary:disabled{background:#9aa79e}.search-bar .primary{padding:18px 23px}.promise{display:flex;justify-content:center;gap:32px;padding:25px 20px 35px;font-size:11px;color:var(--muted)}.promise span:before{content:'✓';color:var(--green);margin-right:7px}.container{max-width:1320px;margin:auto;padding:0 5%}.collection{padding-top:34px;padding-bottom:68px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}.section-heading h2{margin-bottom:10px}.section-heading p{margin:0;color:var(--muted);font-size:13px}.small-link{font-size:12px;text-decoration:underline;text-underline-offset:4px}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:26px}.chip{background:white;border:1px solid var(--line);border-radius:24px;padding:10px 17px;font-size:12px}.chip.active{background:var(--green);color:white;border-color:var(--green)}.filters select{margin-left:auto;font-size:12px;border:0;padding-right:0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}.card{min-width:0}.card-image{position:relative;aspect-ratio:1.33;overflow:hidden;border-radius:11px;background:var(--cream)}.card-image>a{display:block;width:100%;height:100%}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.card:hover .card-image img{transform:scale(1.04)}.badge{position:absolute;top:14px;left:14px;background:#ffffffed;border-radius:20px;font-size:10px;font-weight:600;padding:7px 12px;pointer-events:none}.heart{position:absolute;top:12px;right:12px;width:33px;height:33px;border-radius:50%;border:1px solid #ffffff88;background:#ffffffdc;font-size:23px;line-height:1}.heart.saved{color:#9d483a;background:#fff1ed}.card-topline{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin:17px 0 8px;text-transform:uppercase;letter-spacing:1.1px}.card h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:24px;margin-bottom:8px}.card .facts{font-size:12px;color:var(--muted);margin-bottom:14px}.card-price{font-size:13px;border-top:1px solid #eeeeea;padding-top:13px;display:flex;justify-content:space-between;align-items:center}.card-price b{font-size:17px}.card-price small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.arrow{width:31px;height:31px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.collection-end{text-align:center;color:var(--muted);font-size:11px;margin:35px 0 0}.area-section{background:var(--cream);padding:64px 0}.area-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:center}.area-grid h2{font-size:43px;margin-bottom:20px}.area-grid p{font-size:14px;color:var(--muted)}.area-points{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.area-points strong{display:block;font-size:13px;margin-bottom:5px}.area-points span{font-size:11px;color:var(--muted)}.map{height:370px;border-radius:12px;isolation:isolate;background:#e4e8db;overflow:hidden}.map-note{color:var(--muted);font-size:11px;margin:12px 0 0}.price-marker{background:white;border:1px solid #cbd3c6;box-shadow:0 2px 9px #20392b30;border-radius:20px;padding:8px 12px;font:600 12px 'DM Sans',sans-serif;white-space:nowrap;width:max-content}.leaflet-popup-content{font:13px 'DM Sans',sans-serif}.leaflet-popup-content a{text-decoration:underline}.why{padding:65px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.why .symbol{font-size:24px;display:block;margin-bottom:18px}.why h3{font-size:15px;margin-bottom:9px}.why p{font-size:12px;color:var(--muted);margin:0;max-width:300px}.closing{margin:0 3% 45px;padding:40px 6%;border-radius:12px;background:var(--green);color:white;display:flex;align-items:center;justify-content:space-between;gap:25px}.closing h2{font-size:31px;margin-bottom:8px}.closing p{font-size:12px;color:#d4ddcf;margin:0}.closing .primary{background:#f5f2e8;color:var(--green);font-size:12px}footer{border-top:1px solid var(--line);padding:35px 5% 25px}footer>.brand{font-size:21px}footer>p{font-size:12px;color:var(--muted);margin:15px 0 25px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:10px;padding:20px 0;border-top:1px solid var(--line)}.back{display:inline-block;margin:25px 0;font-size:12px}.detail-title h1{font-size:42px;margin-bottom:12px;letter-spacing:-.7px}.detail-title p{font-size:13px;color:var(--muted)}.detail-title{display:flex;justify-content:space-between;align-items:center}.outline{border:1px solid var(--line);border-radius:7px;background:white;padding:11px 16px;font-size:12px}.gallery{height:450px;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;position:relative;border-radius:12px;overflow:hidden;margin:20px 0 35px}.gallery button{border:0;padding:0;background:var(--cream);overflow:hidden}.gallery>button:first-child{grid-row:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:.4s}.gallery button:hover img{filter:brightness(.9)}.gallery .all-photos{position:absolute;bottom:18px;right:18px;padding:11px 17px;background:white;border-radius:6px;font-size:12px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 365px;gap:65px;align-items:start}.detail-main section{padding:30px 0;border-bottom:1px solid var(--line)}.detail-main section:first-child{padding-top:0}.detail-main h2{font-family:'DM Sans',sans-serif;font-size:22px;font-weight:500;margin-bottom:18px}.detail-main p{color:#687267;font-size:14px}.detail-facts{display:flex;gap:22px;margin:20px 0 0;flex-wrap:wrap}.detail-facts span{font-size:12px;color:var(--muted)}.detail-facts b{display:block;font-size:23px;font-weight:500;color:var(--ink);margin-bottom:5px}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:21px;font-size:13px}.amenities span:before{content:'✓';margin-right:12px;color:var(--green)}.sleeping{display:flex;flex-wrap:wrap;gap:10px}.sleeping span{padding:15px;border:1px solid var(--line);border-radius:7px;font-size:12px}.detail-main .small-note{font-size:11px;color:var(--muted)}.booking-panel{border:1px solid var(--line);border-radius:12px;box-shadow:0 6px 24px #23372a0d;padding:25px;position:sticky;top:25px;margin-bottom:35px}.nightly{font-size:14px;margin-bottom:7px}.nightly strong{font-size:29px;font-weight:600}.muted{color:var(--muted)}.booking-panel>p{font-size:11px}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #a9b2a6;border-radius:7px;overflow:hidden;margin-top:20px}.booking-fields label{padding:12px 10px;min-width:0}.booking-fields label:first-child{border-right:1px solid #a9b2a6}.booking-fields label:last-child{grid-column:span 2;border-top:1px solid #a9b2a6}.booking-fields input,.booking-fields select{border:0;padding:0;font-size:12px;width:100%;background:white}.booking-fields .field-label{font-size:9px}.pet-field{margin-top:15px;display:flex;align-items:center;justify-content:space-between;font-size:12px}.pet-field select{padding:5px}.booking-panel .primary{width:100%;margin-top:18px}.costs{margin-top:20px;font-size:12px}.cost-row{display:flex;justify-content:space-between;gap:15px;margin:13px 0}.cost-total{border-top:1px solid var(--line);padding-top:17px;font-weight:700;font-size:15px}.cost-caption{font-size:10px;line-height:1.6;color:var(--muted)}.center{text-align:center}.inline-error{color:#a14432;font-size:12px;line-height:1.5;margin-top:12px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-nav{display:flex;gap:10px}.calendar-nav button{border:1px solid var(--line);width:32px;height:32px;border-radius:50%;background:white}.months{display:grid;grid-template-columns:1fr 1fr;gap:25px}.month-title{text-align:center;font-size:13px;font-weight:600;margin-bottom:16px}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}.weekday{font-size:10px;color:var(--muted);padding-bottom:12px}.day{aspect-ratio:1;border:0;border-radius:50%;background:white;font-size:12px;padding:0}.day:hover:not(:disabled){background:#e4eadf}.day:disabled{color:#bac0b8;text-decoration:line-through;background:#f8f8f5}.day.range{background:#e5eddf;border-radius:4px}.day.selected{background:var(--green);color:white}.calendar-legend{display:flex;gap:20px;font-size:10px;color:var(--muted);margin-top:17px}.calendar-legend span:first-child:before{content:'◯';margin-right:6px}.calendar-legend span:nth-child(2):before{content:'⊘';margin-right:6px}.rules{display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:12px}.rules b{display:block;margin-bottom:8px}.detail-end{margin-bottom:60px}dialog{border:0;border-radius:14px;padding:38px;max-width:620px;width:calc(100% - 32px);max-height:90dvh;color:var(--ink);box-shadow:0 20px 90px #0004}dialog::backdrop{background:#172c25a8;backdrop-filter:blur(3px)}.modal-close{position:absolute;top:12px;right:15px;border:0;background:#f3f3ef;border-radius:50%;width:30px;height:30px;font-size:22px;z-index:5}dialog h2{font-size:29px;padding-right:25px}dialog p{font-size:13px;color:var(--muted)}.request-form{display:grid;gap:17px}.request-form label{display:block;font-size:12px}.request-form input,.request-form textarea{display:block;width:100%;margin-top:7px}.request-form .checkbox{display:flex;gap:9px;align-items:start;font-size:11px;line-height:1.6}.checkbox input{width:16px;flex-shrink:0;margin-top:3px}.request-summary{background:var(--cream);padding:18px;border-radius:8px;margin-bottom:22px}.honeypot{position:absolute;left:-9999px}.success-icon{display:grid;place-items:center;width:64px;height:64px;background:#e6edde;border-radius:50%;font-size:30px;margin:5px auto 25px}.reference{font-size:20px;font-weight:600;letter-spacing:2px;margin:24px 0}.photo-dialog{max-width:1100px;background:#f9f8f3}.photo-view img{width:100%;max-height:67vh;object-fit:contain}.photo-nav{display:flex;justify-content:space-between;align-items:center;margin-top:15px;font-size:12px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:white;border-radius:8px;padding:14px 22px;font-size:12px;z-index:9999;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90%}#toast.show{opacity:1}.empty{padding:50px 25px;text-align:center;background:var(--cream);border-radius:10px;grid-column:1/-1}.empty h3{font-family:Georgia,serif;font-size:25px}.loading{padding:100px;text-align:center}.saved-heading{padding:55px 0 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1500px){.hero{max-width:1450px;margin-left:auto;margin-right:auto}.hero-content{padding-left:90px}.header,footer{padding-left:max(5%,calc((100% - 1320px)/2));padding-right:max(5%,calc((100% - 1320px)/2))}}
@media(max-width:1000px){.header nav{gap:18px}.header{padding:0 4%}.hero h1{font-size:52px}.hero-content{padding:75px 6%}.hero{min-height:490px}.search-bar label{padding:0 12px}.cards{gap:28px 18px}.card h3{font-size:21px}.detail-layout{gap:30px;grid-template-columns:minmax(0,1fr) 330px}.booking-panel{padding:20px}.months{grid-template-columns:1fr}.months .month:last-child{display:none}.gallery{height:360px}.area-grid{gap:35px}.container{padding:0 5%}.collection{padding-top:30px;padding-bottom:55px}}
@media(max-width:700px){.header{height:78px;padding:0 5%}.brand{font-size:21px;gap:8px}.brand img{width:35px;height:35px}.brand small{font-size:6px;letter-spacing:1.5px}.header nav{display:none}.saved-button{padding:9px 11px;font-size:17px}.saved-button span{display:none}.hero{margin:12px 3% 0;min-height:470px}.hero-content{padding:53px 7%;max-width:440px}.hero h1{font-size:45px;line-height:1.13}.hero p{font-size:13px;max-width:270px}.hero-location{bottom:40px;right:20px;font-size:9px}.hero:after{background:linear-gradient(90deg,#182e23ba,#182e2344)}.search-wrap{margin-top:-24px;padding:0 6%}.search-bar{grid-template-columns:1fr 1fr;padding:6px 12px;gap:0}.search-bar label{padding:13px 9px;border-bottom:1px solid var(--line);border-right:0}.search-bar label:first-child{grid-column:span 2}.search-bar label:nth-child(2){border-right:1px solid var(--line)}.search-bar label:nth-child(4){border-bottom:0}.search-bar .primary{padding:14px 12px;font-size:12px;margin:10px 0}.promise{gap:12px;font-size:9px;padding:22px 12px 15px;flex-wrap:wrap}.section-heading{align-items:start}.section-heading h2{font-size:30px}.section-heading p{font-size:11px}.section-heading .small-link{font-size:10px;white-space:nowrap;margin-top:8px}.filters{gap:7px}.chip{padding:9px 12px;font-size:10px}.filters select{width:100%;text-align:right;margin-top:4px}.cards{grid-template-columns:1fr 1fr;gap:28px 14px}.card-image{aspect-ratio:.98}.card h3{font-size:20px;line-height:1.2;min-height:48px}.card .facts{font-size:10px;line-height:1.7}.card-topline{font-size:8px;letter-spacing:.6px;line-height:1.6;margin-top:12px}.card-topline span:last-child{display:none}.badge{font-size:8px;top:auto;bottom:9px;left:8px;padding:6px 8px;max-width:calc(100% - 16px)}.heart{top:9px;right:9px;width:28px;height:28px;font-size:20px}.card-price{font-size:10px}.card-price b{font-size:15px}.card-price small{font-size:8px}.arrow{width:24px;height:24px}.area-grid{grid-template-columns:1fr;gap:25px}.area-grid h2{font-size:34px}.area-section{padding:42px 0}.map{height:320px}.why{grid-template-columns:1fr;gap:28px;padding-top:40px;padding-bottom:40px}.why>div{display:grid;grid-template-columns:40px 1fr;gap:0 15px}.why .symbol{grid-row:span 2}.why p{max-width:none}.closing{padding:30px 7%;display:block}.closing h2{font-size:28px}.closing .primary{margin-top:20px}.footer-bottom{flex-wrap:wrap;line-height:1.8}.gallery{height:310px;grid-template-columns:2fr 1fr}.gallery>button:nth-child(4),.gallery>button:nth-child(5){display:none}.detail-title h1{font-size:33px}.detail-title{align-items:start;gap:10px}.detail-title .outline{font-size:10px;padding:9px}.detail-title p{font-size:11px}.detail-layout{display:flex;flex-direction:column;gap:25px}.detail-main{width:100%}.booking-panel{position:static;width:100%;order:-1;margin:0}.detail-main section{padding:25px 0}.months{grid-template-columns:1fr 1fr;gap:12px}.months .month:last-child{display:block}.day{font-size:10px}.month-title{font-size:11px}.weekday{font-size:8px}.detail-facts{gap:25px}.amenities{font-size:12px;gap:18px}.detail-main h2{font-size:21px}dialog{padding:32px 23px}.gallery .all-photos{font-size:10px;bottom:12px;right:12px}.photo-dialog{padding:40px 12px 18px}.loading{padding:90px 25px}.calendar-legend{flex-wrap:wrap;gap:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.information-page{max-width:900px;margin:auto;padding:0 5% 70px}.information-page h1{font-size:46px;margin-bottom:20px}.information-page section{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}.information-page h2{font-family:'DM Sans',sans-serif;font-size:21px;font-weight:600}.information-page p{font-size:14px;color:#58645a;line-height:1.85}.information-page a:not(.brand):not(.primary):not(.outline){text-decoration:underline;text-underline-offset:3px}.information-page .back{margin-top:32px;margin-bottom:35px}.policy-date{font-size:12px!important;color:var(--muted)!important}.footer-bottom nav{display:flex;gap:20px;flex-wrap:wrap}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:35px}.contact-grid .primary,.contact-grid .outline{display:inline-flex;margin-top:10px}.checkbox a,.detail-main p a,#modal-content p a{text-decoration:underline;text-underline-offset:3px}.header nav{gap:22px}@media(max-width:700px){.information-page h1{font-size:35px}.information-page{padding-bottom:40px}.contact-grid{grid-template-columns:1fr;gap:5px}.footer-bottom nav{gap:15px}}
@media(max-width:950px){.header nav{display:none}}
