:root{--green:#193b2a;--cream:#f5f1e7;--paper:#fbf9f3;--sage:#dce4d5;--gold:#9b7737;--ink:#18271e;--muted:#536158;--line:#cdd1c8}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}
body:has(dialog[open]){overflow:hidden}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
.shell{width:min(1240px,calc(100% - 64px));margin:auto}
.skip{position:fixed;top:-60px;z-index:50}
.skip:focus{top:10px;background:white;padding:10px}
header{height:82px;border-bottom:1px solid var(--line);background:#fbf9f3ed;backdrop-filter:blur(12px);position:relative;z-index:20}
header nav{height:100%;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:11px}
.brand img{width:46px;height:46px;border-radius:50%;object-fit:cover}
.brand span{font:25px/1 Georgia,serif}
.brand small{display:block;font:8px system-ui;letter-spacing:2px;margin-top:7px}
.navlinks{display:flex;gap:30px;font-size:12px}
.ask{font-size:11px;font-weight:700;border-bottom:1px solid;padding:8px 0}
.hero{position:relative;min-height:700px;background:var(--green);color:white}
.hero-bg,.wash{position:absolute;inset:0;width:100%;height:100%}
.hero-bg{object-fit:cover;object-position:center 60%}
.wash{background:linear-gradient(90deg,#0d2618ef,#0d2618bd 43%,#0d26181a 73%),linear-gradient(0deg,#081b11a6,transparent 40%)}
.hero-inner{position:relative;min-height:700px;display:flex;align-items:center;padding-bottom:80px}
.hero-copy{max-width:680px}
.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:800;margin:0 0 20px;color:#eef5ea}
.eyebrow.dark{color:var(--ink)}
h1,h2{font:normal clamp(42px,5.8vw,78px)/1.02 Georgia,serif;letter-spacing:-2.7px;margin:0}
h1 em,h2 em{font-weight:normal;color:#c8d5b5}
.hero-copy>p:not(.eyebrow){max-width:560px;color:#e1e7df;font-size:16px}
.trust{display:flex;gap:8px;flex-wrap:wrap;margin-top:27px}
.trust span{border:1px solid #ffffff73;background:#102b1d59;padding:8px 13px;border-radius:30px;font-size:10px;font-weight:650}
.finder{position:absolute;z-index:4;bottom:-57px;left:50%;transform:translateX(-50%);width:min(1120px,calc(100% - 64px));background:var(--paper);color:var(--ink);padding:18px 20px 12px;box-shadow:0 18px 60px #14261b36;border-radius:9px}
.finder-top,.finder-foot{display:flex;justify-content:space-between;align-items:center}
.finder-top{padding:0 3px 13px;font-size:12px}
.finder-top small,.finder-foot{font-size:10px;color:var(--muted);font-weight:550}
.finder-top i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#45a96a;box-shadow:0 0 0 5px #45a96a1b}
.finder-grid{display:grid;grid-template-columns:1fr 1fr .7fr .8fr;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:white}
.finder-grid label{padding:11px 16px;border-right:1px solid var(--line)}
.finder-grid label span{display:block;font-size:9px;letter-spacing:1.4px;font-weight:850;color:#34443a}
.finder-grid input,.finder-grid select{border:0;background:transparent;width:100%;min-height:30px;outline:0}
.finder-grid>button{border:0;background:var(--green);color:white;font-size:11px;font-weight:750}
.finder-foot{padding:9px 3px 0}
.finder-foot button{border:0;background:none;text-decoration:underline;font-size:9px}
.hero-caption{position:absolute;right:6vw;bottom:80px;text-align:right;text-shadow:0 2px 20px #07170d}
.hero-caption span,.hero-caption small{display:block;font-size:8px;letter-spacing:1.5px}
.hero-caption b{display:block;font:38px Georgia,serif}
.promise{padding:110px 0 48px;border-bottom:1px solid var(--line)}
.promise-grid{display:grid;grid-template-columns:repeat(3,.7fr) 1.5fr;align-items:center}
.promise-grid>div{display:flex;align-items:center;gap:13px;border-right:1px solid var(--line);padding-right:25px;margin-right:25px}
.promise-grid b{font:31px Georgia}
.promise-grid span{font-size:10px;color:var(--muted);line-height:1.45}
.promise-grid p{font:25px/1.25 Georgia;text-align:right}
.promise-grid em{color:var(--gold)}
.moods{padding-top:52px}
.kicker{display:flex;justify-content:space-between;font-size:9px;font-weight:750;letter-spacing:1.7px;margin-bottom:14px}
.kicker small{color:var(--muted)}
.moodrail{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.moodrail button{border:1px solid var(--line);background:var(--cream);min-height:145px;padding:20px;text-align:left;transition:.2s}
.moodrail button:first-child{background:var(--green);color:white}
.moodrail button:hover{transform:translateY(-4px)}
.moodrail button>span{font-size:8px;opacity:.6}
.moodrail b{display:block;font:23px Georgia;margin-top:20px}
.moodrail small{font-size:10px;opacity:.86}
.collection{padding:75px 0 90px}
.collection-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:36px}
.collection-head h2{font-size:52px;letter-spacing:-1.7px}
.collection-head h2 em,.reviews h2 em,.location h2 em,.faq h2 em{color:#859173}
.collection-head>p{max-width:340px;font-size:12px;color:var(--muted)}
.smartbar{position:sticky;top:0;z-index:11;background:#fbf9f3ee;backdrop-filter:blur(13px);border-block:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:11px 0}
.filters{display:flex;gap:3px}
.filters button{border:0;background:transparent;padding:10px 14px;border-radius:30px;font-size:11px;font-weight:650;color:var(--muted)}
.filters .active{background:var(--green);color:white}
.search input{border:0;background:transparent;outline:0;width:145px}
.resultline{display:flex;justify-content:space-between;font-size:10px;font-weight:600;color:var(--muted);padding:17px 0}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px 24px}
.card{min-width:0;display:flex;flex-direction:column}
.cardphoto{position:relative;display:block;aspect-ratio:1.18;overflow:hidden;border-radius:8px;background:#dde0d6}
.cardphoto img{width:100%;height:100%;object-fit:cover;transition:.35s}
.cardphoto:hover img{transform:scale(1.025)}
.badges{position:absolute;inset:12px 12px auto;display:flex;justify-content:space-between}
.badges span{background:#fffefaeb;border-radius:20px;padding:6px 10px;font-size:8px;font-weight:700}
.badges .heart{font-size:15px;padding:3px 9px}
.photoindex{position:absolute;left:14px;bottom:11px;color:white;font-size:8px;letter-spacing:1.4px;text-shadow:0 1px 8px #000}
.cardtitle{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:18px}
.cardtitle h3{font:28px/1.15 Georgia;margin:0}
.cardtitle label{font-size:8px;color:var(--muted);white-space:nowrap}
.cardtitle input{accent-color:var(--green)}
.cardsub{margin:6px 0 12px;color:var(--muted);font-size:11px;font-weight:550;line-height:1.5}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:17px;min-height:27px;align-content:flex-start}
.chips span{border:1px solid #bfc6bc;background:#fffdf7;padding:5px 8px;border-radius:4px;font-size:9px;font-weight:600;color:#3f4e44}
.cardactions{display:grid;grid-template-columns:1fr auto;gap:7px}
.cardactions a{min-height:46px;display:flex;align-items:center;justify-content:center;border:1px solid var(--green);font-size:10px;font-weight:800;padding:9px 13px}
.cardactions a:first-child{background:var(--green);color:white}
.availability{font-size:9px;font-weight:550;line-height:1.5;color:var(--muted);margin:10px 0 0}
.empty{text-align:center;padding:60px}
.hoststory{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--green);color:white;padding:0}
.hostphoto{min-height:570px}
.hostphoto img{width:100%;height:100%;object-fit:cover}
.hoststory>div:last-child{padding:70px;display:flex;flex-direction:column;justify-content:center}
.hoststory blockquote{font:39px/1.25 Georgia;margin:0}
.hoststory p:not(.eyebrow){color:#cdd9d0;font-size:12px}
.cream-btn{display:flex;align-items:center;justify-content:center;width:max-content;background:var(--cream);color:var(--green);border:0;min-height:46px;padding:11px 17px;font-size:10px;font-weight:750}
.cream-btn.full{width:100%}
.reviews{padding:90px 0}
.reviews h2,.location h2{font-size:50px}
.reviewhead{display:flex;justify-content:space-between;align-items:end;gap:30px}
.reviewcontrols{display:flex;gap:8px;padding-bottom:6px}
.reviewcontrols button{width:46px;height:46px;border:1px solid var(--green);background:transparent;color:var(--green);font-size:18px;border-radius:50%}
.reviewcontrols button:hover{background:var(--green);color:white}
.reviewgrid{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 28px)/3);gap:14px;margin-top:35px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:14px 1px 18px}
.reviewgrid::-webkit-scrollbar{display:none}
.reviewgrid article{border:1px solid var(--line);background:var(--cream);padding:28px;min-height:280px;display:flex;flex-direction:column;justify-content:space-between;scroll-snap-align:start}
.reviewgrid .featured{background:var(--green);color:white}
.reviewgrid .featured small{color:#d9e4dc}
.reviewgrid article>span{color:var(--gold);letter-spacing:3px}
.reviewgrid blockquote{font:23px/1.45 Georgia;margin:24px 0}
.reviewgrid small,.fine{font-size:9px;font-weight:650;color:var(--muted)}
.fine{text-align:right;margin-top:8px}
.location{background:var(--sage);padding:80px 0}
.location-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center}
.location p:not(.eyebrow){font-size:12px;color:#59675d}
.places{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #aab7aa;border-left:1px solid #aab7aa}
.places span{padding:14px;border-right:1px solid #aab7aa;border-bottom:1px solid #aab7aa;font-size:10px;font-weight:650}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding:85px 0}
.faq h2{font-size:45px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{padding:19px 0;font-size:12px}
.faq details p{font-size:12px;line-height:1.65;color:var(--muted)}
footer{background:#102b1d;color:#e8ede6;padding:55px 0 110px}
.footergrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}
.footergrid>div:not(:first-child){display:flex;flex-direction:column;gap:10px;font-size:11px}
.footergrid small{font-size:8px;letter-spacing:2px;color:#90a197}
.footbottom{margin-top:40px;padding-top:18px;border-top:1px solid #ffffff20;display:flex;justify-content:space-between;font-size:8px;color:#91a198}
dialog{padding:0;border:0;border-radius:12px;background:var(--paper);color:var(--ink);width:min(880px,calc(100% - 28px));max-height:92dvh;overflow:auto}
dialog::backdrop{background:#0b2116c2;backdrop-filter:blur(4px)}
.close{position:sticky;float:right;top:10px;right:10px;z-index:5;border:0;background:white;border-radius:50%;width:38px;height:38px;font-size:22px}
.detailphoto{width:100%;height:440px;object-fit:cover}
.detailbody{padding:40px}
.detailbody h2,.comparewrap h2,.chooser h2,.insta h2{font:48px/1.05 Georgia;margin:0}
.detailfacts{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid var(--line);border-top:1px solid var(--line);margin:24px 0}
.detailfacts div{padding:14px 15px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px}
.detailfacts b{display:block;font-size:9px;margin-bottom:2px;color:#34443a}
.detailactions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
.detailactions a,.detailactions button{min-height:50px;border:1px solid var(--green);background:var(--green);color:white;font-size:10px;font-weight:750;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.35;padding:11px 14px;white-space:normal}
.detailactions button{background:transparent;color:var(--green)}
.chooser{background:var(--green);color:white;padding:55px;display:grid;grid-template-columns:1fr 1fr;gap:55px}
.chooser>div>p:not(.eyebrow){color:#ccd7cf}
.chooser form label{display:block;font-size:9px;margin-bottom:12px}
.formrow{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.chooser input,.chooser select,.chooser textarea{display:block;width:100%;margin-top:4px;border:0;padding:10px;min-height:43px;color:var(--ink)}
.comparewrap{padding:45px}
.comparescroll{overflow:auto}
.comparescroll table{width:100%;border-collapse:collapse;font-size:10px}
.comparescroll th,.comparescroll td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}
.comparescroll img{width:130px;height:90px;object-fit:cover}
.comparescroll a{background:var(--green);color:white;padding:8px}
.insta{text-align:center;padding:45px 38px 30px}
.insta img{width:68px;height:68px;border-radius:50%}
.insta a{display:block;background:var(--green);color:white;padding:13px;margin:22px 0 5px}
.insta>button{border:0;background:none;padding:12px}
.comparebar{position:fixed;z-index:30;bottom:18px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:10px 12px;display:flex;gap:12px;align-items:center;font-size:10px}
.comparebar button{border:0;padding:8px 13px}
.toast{position:fixed;z-index:40;bottom:90px;left:50%;transform:translateX(-50%);background:#102b1d;color:white;padding:11px 17px;font-size:10px}
.mobiledock{display:none}
[hidden]{display:none!important}

@media(max-width:900px){.shell{width:calc(100% - 36px)}
.navlinks{display:none}
.hero,.hero-inner{min-height:760px}
.hero-inner{align-items:flex-end;padding-bottom:205px}
.wash{background:linear-gradient(0deg,#0a2214f2 5%,#0a22148a 66%,#0a221426)}
.hero-caption{display:none}
.finder{bottom:22px;width:calc(100% - 36px)}
.finder-grid{grid-template-columns:1fr 1fr}
.promise{padding-top:55px}
.promise-grid{grid-template-columns:repeat(3,1fr)}
.promise-grid p{grid-column:1/-1;text-align:left}
.moodrail{display:flex;overflow:auto}
.moodrail button{min-width:42%}
.grid{grid-template-columns:1fr 1fr}
.hoststory{grid-template-columns:1fr}
.location-grid{gap:40px}
}

@media(max-width:640px){html{scroll-padding-top:70px}
.shell{width:calc(100% - 28px)}
header{height:70px;position:sticky;top:0}
.brand img{width:40px;height:40px}
.brand span{font-size:20px}
.ask{font-size:9px}
.hero,.hero-inner{min-height:0}
.hero-inner{display:block;padding:220px 14px 92px}
.hero h1{font-size:52px}
.hero-copy>p:not(.eyebrow){font-size:14px;line-height:1.6;color:#f1f5ef}
.trust{margin-top:24px;gap:7px}
.trust span{font-size:9px;padding:7px 10px}
.finder{position:relative;left:auto;bottom:auto;transform:none;width:100%;margin-top:28px;padding:13px 12px 12px}
.finder-top small{display:none}
.finder-grid label{padding:8px}
.finder-grid input,.finder-grid select{font-size:13px}
.finder-grid>button{min-height:48px}
.promise{padding:28px 0}
.promise-grid{display:flex;overflow:auto;width:100%;padding:0 14px}
.promise-grid>div{min-width:58vw}
.promise-grid p{display:none}
.moods{width:100%;padding-top:34px}
.kicker{padding:0 14px}
.moodrail{padding:0 14px 8px}
.moodrail button{min-width:76vw;min-height:130px}
.collection{padding:47px 0 70px}
.collection-head{display:block}
.collection-head h2{font-size:39px}
.collection-head>p{font-size:12px;line-height:1.65}
.smartbar{top:70px;margin-inline:-14px;padding:7px 14px;display:block}
.filters{overflow:auto;margin-right:-14px}
.filters button{white-space:nowrap}
.search{display:none}
.grid{display:block}
.card{margin-bottom:42px;padding-bottom:38px;border-bottom:1px solid var(--line)}
.cardphoto{aspect-ratio:1.05}
.hoststory{width:100%;display:block}
.hostphoto{height:390px;min-height:0}
.hoststory>div:last-child{padding:43px 25px}
.hoststory blockquote{font-size:30px}
.reviews{padding:60px 0}
.reviews h2,.location h2{font-size:39px}
.reviewhead{align-items:end}.reviewcontrols button{width:42px;height:42px}
.reviewgrid{display:grid;grid-auto-flow:column;grid-auto-columns:86vw;gap:12px;margin-right:-14px;padding:12px 14px 16px 0}
.reviewgrid article{min-width:0;min-height:270px}
.reviewgrid .featured{transform:none}
.location{padding:55px 0}
.location-grid{display:block}
.places{margin-top:30px}
.faq{display:block;padding:55px 0}
.faq h2{font-size:37px;margin-bottom:25px}
.footergrid{grid-template-columns:1fr 1fr}
.footergrid>div:first-child{grid-column:1/-1}
.footbottom{display:block}
.detailphoto{height:42vh}
.detailbody{padding:28px 20px 34px}
.detailbody h2{font-size:40px}
.detailfacts{grid-template-columns:1fr;margin:22px 0 28px}
.detailactions{grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
.detailactions a,.detailactions button{width:100%;min-width:0;min-height:54px;padding:12px 8px}
.chooser{display:block;padding:42px 20px}
.chooser h2{font-size:36px}
.chooser form{margin-top:25px}
.chooser input,.chooser select,.chooser textarea{font-size:16px}
.comparewrap{padding:38px 18px}
.mobiledock{display:grid;grid-template-columns:.85fr 1.35fr 1fr;position:fixed;z-index:25;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));height:61px;background:var(--paper);border:1px solid var(--line);box-shadow:0 9px 32px #102b1d40}
.mobiledock a{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid var(--line);font-size:14px}
.mobiledock a:nth-child(2){background:var(--green);color:white}
.mobiledock small{font-size:8px}
.comparebar{bottom:78px;width:calc(100% - 20px);justify-content:center}
footer{padding-bottom:100px}
}

