:root{--ink:#243e36;--cream:#faf8f2;--sand:#eae5d9;--orange:#b45d3e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}header{display:flex;align-items:center;gap:30px;justify-content:space-between;padding:22px 5%;background:var(--cream);position:sticky;top:0;z-index:5;border-bottom:1px solid #243e3615}.brand{text-decoration:none;font-family:Georgia,serif;font-size:31px;line-height:1}.brand span{display:block;font:10px/2.4 Arial,sans-serif;letter-spacing:3.8px}nav{display:flex;gap:30px;align-items:center}nav a{text-decoration:none;font-size:14px}.nav-cta{border-bottom:1px solid;padding-bottom:5px}#language{background:none;border:1px solid #243e3640;border-radius:50%;width:40px;height:40px;font-size:12px}.hero{height:76vh;min-height:560px;max-height:900px;position:relative;color:white;margin:0 20px;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#10271bc9,transparent 95%)}.hero-copy{position:absolute;left:7%;top:16%}.eyebrow{font-size:11px;letter-spacing:2.8px;font-weight:600;margin-bottom:22px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.09;margin:0 0 25px}h1{font-size:clamp(54px,6.8vw,105px)}h2{font-size:clamp(35px,4vw,60px)}h3{font-size:32px}.hero-copy>p:not(.eyebrow){font-size:19px;line-height:1.6}.hero-foot{position:absolute;bottom:28px;left:7%;font-size:10px;letter-spacing:2px}.button{display:inline-block;border:0;background:var(--ink);color:white;text-decoration:none;padding:16px 25px;border-radius:2px;font-size:14px}.button.light{background:var(--cream);color:var(--ink);margin-top:12px}.section{padding:90px 7%;scroll-margin-top:0}.section-heading{display:flex;gap:70px;align-items:end;justify-content:space-between;margin-bottom:40px}.section-heading>p{max-width:370px;color:#5c6861}.homes{display:grid;grid-template-columns:1fr 1fr;gap:35px}.home-img{display:block;width:100%;height:360px;object-fit:cover}.home-top{position:relative}.image-button{padding:0;border:0;width:100%;background:var(--sand);display:block}.photo-count{position:absolute;bottom:16px;right:16px;background:var(--cream);padding:6px 12px;font-size:12px;pointer-events:none}.home-body{padding:28px 0}.home-body h3{margin-bottom:12px}.meta{font-size:13px;color:#6a746d}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.tags span{border:1px solid #243e362b;padding:4px 10px;font-size:12px}.home-links{display:flex;gap:22px;align-items:center}.text-link{background:none;border:0;padding:0;text-underline-offset:5px;text-decoration:underline;font-size:14px}.host{background:var(--sand);text-align:center}.host>p:not(.eyebrow){max-width:650px;margin:20px auto 30px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filters button{border:1px solid #243e362b;padding:10px 18px;border-radius:30px;background:none;color:var(--ink);font-size:13px}.filters button.active{background:var(--ink);color:white}.places{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.place{padding:28px;background:#f0ede4;border-top:2px solid #b45d3e;display:flex;flex-direction:column}.place h3{font-size:25px;line-height:1.2;margin:10px 0}.place p{font-size:14px}.place a{margin-top:auto;font-size:13px;text-underline-offset:4px}.place .category{font-size:10px;letter-spacing:2px;color:var(--orange)}.small{font-size:12px;color:#677269}.guide-section{background:var(--sand);display:grid;grid-template-columns:1fr 1fr;gap:70px}.guides details{border-bottom:1px solid #243e3630;padding:20px 0}.guides summary{cursor:pointer;font-family:Georgia,serif;font-size:24px}.guides p{font-size:14px}.booking{display:grid;grid-template-columns:1fr 1fr;gap:80px}.booking>div>p{max-width:450px}.availability{font-size:14px;border-left:2px solid var(--orange);padding-left:18px}.booking a{font-size:14px;overflow-wrap:anywhere}form{background:#eeebe2;padding:32px}label{display:block;font-size:13px;margin-bottom:18px}input,select,textarea{display:block;width:100%;background:var(--cream);color:var(--ink);border:1px solid #243e362c;border-radius:0;padding:12px;margin-top:6px;min-width:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}form .button{width:100%}.email-button{width:100%;background:none;border:0;padding:16px;color:var(--ink);text-decoration:underline}footer{background:var(--ink);color:var(--cream);padding:50px 7%;display:flex;gap:30px;justify-content:space-between;align-items:center;flex-wrap:wrap}footer p{font-size:12px}footer button{border:0;background:none;color:inherit;text-decoration:underline}footer small{width:100%;font-size:11px;opacity:.65}dialog{border:0;background:var(--cream);color:var(--ink);max-width:1000px;width:92%;max-height:90vh;padding:45px;overflow:auto}dialog::backdrop{background:#10271be6}.close{position:sticky;float:right;top:0;border:0;background:var(--cream);color:var(--ink);font-size:30px;width:42px;z-index:2}.detail-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.detail-gallery img{width:100%;height:130px;object-fit:cover}.detail-copy{max-width:750px}.detail-copy h3{margin-top:30px;font-size:25px}.detail-copy li{margin:7px 0}#lightbox{background:#15221d;color:white;width:96%;max-width:1300px;padding:12px;text-align:center}#lightbox>img{max-width:85%;height:70vh;object-fit:contain}#lightbox>.close{position:absolute;right:12px}#prev,#next{background:none;border:0;color:white;font-size:45px;width:5%}#photo-counter{margin:5px}#form-error{color:#a23828;font-size:13px}:focus-visible{outline:3px solid var(--orange);outline-offset:4px}[hidden]{display:none!important}@media(max-width:750px){header{padding:16px 5%;gap:10px}.brand{font-size:25px}.brand span{font-size:8px;letter-spacing:3px}nav{gap:12px}nav a{font-size:11px}nav a:nth-child(2),nav a:nth-child(3){display:none}#language{width:32px;height:32px}.hero{margin:0 8px;min-height:530px;height:70vh}.hero-copy{left:7%;top:18%}.hero-copy>p:not(.eyebrow){font-size:17px}.section{padding:58px 6%}.section-heading{display:block}.section-heading>p{max-width:none}.homes,.places,.guide-section,.booking{grid-template-columns:1fr;gap:28px}.home-img{height:300px}.home-body{padding:20px 0}.guide-section,.booking{gap:25px}form{padding:22px}dialog{padding:25px}.detail-gallery{grid-template-columns:repeat(3,1fr)}.detail-gallery img{height:90px}footer{gap:15px}.hero-foot{font-size:8px;letter-spacing:1px}#lightbox>img{max-width:80%;height:60vh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.guide-search{max-width:560px;margin:25px 0 10px}.place-distances{border-top:1px solid #243e3625;margin-top:22px;padding-top:14px}.distance-label{font-size:9px;letter-spacing:1.8px}.place-distances>div{margin:10px 0}.place-distances strong,.place-distances span:not(.distance-label){display:block;font-size:12px}.place-distances a{font-size:11px;display:inline-block;margin:4px 10px 0 0}.place .place-official{margin-top:10px}.local-tip{border-left:2px solid var(--orange);padding-left:12px;font-size:12px!important}.more-places{display:block;margin:30px auto}.contacts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.contacts article{padding:24px;background:var(--cream)}.contacts h3{font-size:22px;margin-bottom:12px}.contacts p{font-size:13px}.contact-phone{font-size:22px;text-decoration:none}.support-section{background:var(--sand)}.emergency-banner{border-left:3px solid var(--orange);padding:12px 22px;margin:25px 0 35px}.emergency-banner>a{font-size:26px;font-family:Georgia,serif}.emergency-banner p{font-size:13px}.home-body .eyebrow{line-height:1.7}.guides details>p{padding:6px 0}.place-distances a:hover,.contact-phone:hover{text-decoration:underline}@media(max-width:750px){.contacts{grid-template-columns:1fr 1fr}.contacts h3{font-size:19px}.contact-phone{font-size:18px}.contacts article{padding:15px}.place{padding:24px}}@media(max-width:420px){.contacts{grid-template-columns:1fr}}

.home-map{margin:25px 0;padding:20px;background:#eeeade;border:1px solid #243e3620}.home-map .eyebrow{margin:0 0 10px;font-size:10px}.map-address{font-size:13px;margin:8px 0 15px}.map-canvas{height:230px;background:#e0e5d9;margin-bottom:12px}.map-canvas iframe{width:100%;height:100%;border:0}.map-load{width:100%;height:100%;background:linear-gradient(135deg,#e0e5d9,#d2ddcb);border:0;color:var(--ink);font-size:14px;display:flex;align-items:center;justify-content:center;gap:10px;padding:20px}.map-load span{font-size:32px}.home-map>a{font-size:12px;text-underline-offset:4px}.home-map .small{margin-bottom:0}.home-map .map-address{line-height:1.6}
.language-picker{margin:0;flex-shrink:0}.language-picker select{margin:0;padding:9px 28px 9px 10px;font-size:12px;max-width:115px;border:1px solid #243e3633;background:transparent;border-radius:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.about-host{padding:28px 7% 38px;border-top:1px solid #243e3620}.about-host details{max-width:760px}.about-host summary{font-family:Georgia,serif;font-size:19px;cursor:pointer}.about-host details>div{padding:12px 0 0;max-width:680px;color:#59685e;font-size:14px;line-height:1.8}.about-host a{text-underline-offset:3px}header nav{margin-left:auto}header{gap:24px}.home-links{flex-wrap:wrap}@media(max-width:750px){header{gap:12px}.language-picker select{font-size:11px;max-width:90px;padding:7px 18px 7px 6px}nav{gap:8px}.brand{font-size:23px}.about-host{padding:25px 6%}.hero-copy{right:5%}.hero-copy>p:not(.eyebrow){max-width:370px}.hero-foot{right:20px;line-height:1.5}}@media(max-width:420px){header nav a:first-child{display:none}header{gap:8px}nav a{font-size:10px}.language-picker select{max-width:84px}.brand span{letter-spacing:2.4px}}
@media(max-width:420px){.brand{font-size:21px}.brand span{font-size:7px;letter-spacing:2.3px}header nav .nav-cta{max-width:115px;line-height:1.4}.hero h1{font-size:50px}}

.place-picture{margin:-28px -28px 22px;position:relative}.place-picture img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;background:#e4e6dc}.place-picture figcaption{font-size:9px;padding:4px 9px;text-align:right;background:#e7e4da;color:#58675d;line-height:1.5}.place-picture figcaption a{font-size:9px!important;margin:0!important}.place-picture.brand-picture img{object-fit:contain;background:white;padding:25px}.map-canvas{background:#e0e5d9}.map-canvas iframe{display:block}@media(max-width:750px){.place-picture{margin:-24px -24px 20px}}
.availability-calendar{margin:24px 0;padding:18px;border:1px solid #243e3630;background:var(--cream)}.calendar-heading{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px;align-items:center;margin-bottom:15px}.calendar-heading>div{display:flex;align-items:center;gap:10px}.calendar-heading button{background:transparent;border:1px solid #243e3625;color:var(--ink);width:29px;height:29px;line-height:1}.calendar-heading span{min-width:120px;text-align:center;text-transform:capitalize}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-weekday{text-align:center;font-size:10px;padding:3px}.calendar-day{border:0;min-height:32px;padding:5px 0;font-size:12px;color:var(--ink);background:#eee}.calendar-day.free{background:#e5efdf}.calendar-day.blocked{background:#ead7cd;color:#684e43;text-decoration:line-through}.calendar-day.unknown{background:#e8e7e2;color:#696c66}.calendar-day.selected{background:var(--ink);color:#fff;text-decoration:none}.calendar-day.in-range{box-shadow:inset 0 0 0 1px var(--ink)}.calendar-day:disabled{cursor:default;opacity:.5}.calendar-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:9px}.calendar-legend span:before{content:'';display:inline-block;width:8px;height:8px;margin-right:4px}.calendar-legend .free:before{background:#b7d3a4}.calendar-legend .blocked:before{background:#c1937e}.calendar-legend .unknown:before{background:#bcbcb4}.availability-calendar .small{font-size:10px;line-height:1.6}#booking-calendar .availability-calendar{padding:14px;margin-top:0}@media(max-width:750px){.availability-calendar{padding:14px}.calendar-heading{font-size:12px}.calendar-day{min-height:34px}}

.stay-quote{padding:1.3rem;border:1px solid #a9b8ad;border-radius:6px;background:#f4f6f0;color:#243e34}.stay-quote .quote-button{width:100%;margin-bottom:1rem}.stay-quote .quote-total{display:block;font-size:1.4rem;margin:.7rem 0}.stay-quote p{margin:.6rem 0}.stay-quote button:disabled{opacity:.65;cursor:wait}.stay-quote[aria-busy=true]{opacity:.85}
