
:root{--ink:#203c38;--paper:#faf7f0;--white:#fff;--muted:#5c6763;--line:#d9ded5;--accent:#b84d35;--sand:#eee8db;--lilac:#e8e2f1;--radius:14px}*{box-sizing:border-box}body{margin:0;background:#e6e7e1;color:var(--ink);font:16px/1.6 Arial,sans-serif}button,input,select{font:inherit}a{color:inherit}button,a,input,select,summary{touch-action:manipulation}button,a{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b84d35;outline-offset:4px}button{border:0}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin:0 0 20px}h1,h2,h3,.brand{font-family:Georgia,serif;font-weight:400;line-height:1.08}h1{font-size:clamp(42px,5.4vw,76px);letter-spacing:-2px}h2{font-size:clamp(32px,3.6vw,48px);letter-spacing:-1px}h3{font-size:28px}p{color:var(--muted)}small,.small{font-size:13px;line-height:1.5}img{display:block;width:100%;object-fit:cover}hr{border:0;border-top:1px solid var(--line);margin:28px 0}.reviewbar{display:flex;align-items:center;gap:16px;padding:10px 24px;background:#20312f;color:#fff;font-size:12px;position:sticky;top:0;z-index:90}.reviewbar strong{letter-spacing:1px}.reviewbar select,.reviewbar button{background:#354d48;color:#fff;border:1px solid #6f817c;border-radius:5px;padding:5px 10px}.reviewbar span{margin-right:auto}.reviewbar a{color:#fff}.frame{container-type:inline-size;background:var(--paper);max-width:1600px;margin:auto;min-height:100vh;transition:max-width .2s}.frame.mobile{max-width:390px;box-shadow:0 0 0 1px #999}.frame.mobile h1{font-size:43px}.frame.mobile h2{font-size:34px}.sitehead{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);background:var(--paper)}.brand{text-decoration:none;font-size:28px;letter-spacing:-.5px}.brand small{display:block;font:9px Arial;letter-spacing:3px;text-transform:uppercase;margin-top:5px}.nav{display:flex;gap:28px;align-items:center}.nav a{text-decoration:none;font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 23px;border-radius:7px;background:var(--ink);color:white;text-decoration:none;font-size:14px;font-weight:600;gap:15px}.btn.light{background:var(--paper);color:var(--ink)}.btn.outline{color:var(--ink);background:transparent;border:1px solid var(--ink)}.btn:hover{filter:brightness(1.13)}.textlink{background:transparent;color:var(--ink);padding:10px 0;border-bottom:1px solid var(--ink);text-decoration:none;font-size:14px}.kicker{text-transform:uppercase;font-size:11px;font-weight:600;letter-spacing:2px;margin:0 0 22px;color:var(--accent)}.wrap{max-width:1270px;padding:72px 5%;margin:auto}.hero{display:grid;grid-template-columns:46% 54%;min-height:600px}.herotext{padding:76px 10% 55px 11%;display:flex;flex-direction:column;justify-content:center}.herotext h1{font-size:clamp(42px,4.8vw,70px);margin-bottom:27px}.herotext p{max-width:450px;font-size:17px}.heroimg{position:relative}.heroimg img{height:100%;min-height:600px}.caption{position:absolute;bottom:22px;left:24px;color:#fff;background:#203c38df;padding:8px 14px;border-radius:4px;font-size:11px}.actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:10px 0 24px}.truststrip{display:flex;justify-content:center;gap:7%;padding:24px 5%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}.truststrip span:before{content:'✦';margin-right:10px;color:var(--accent)}.sectiontop{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}.sectiontop p{max-width:480px;margin:0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.cardpic{height:245px;position:relative}.cardpic img{height:100%}.badge{position:absolute;left:16px;top:16px;background:var(--paper);padding:6px 10px;border-radius:4px;font-size:11px;letter-spacing:.5px}.cardbody{padding:24px}.cardbody h3{font-size:27px;margin:9px 0 13px}.cardbody .small{color:var(--muted)}.cardbody p{font-size:14px}.cardbody .actions{justify-content:space-between;margin-bottom:0}.specs{display:flex;flex-wrap:wrap;gap:16px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;margin-bottom:16px}.pill{display:inline-block;padding:5px 10px;background:var(--sand);border-radius:4px;font-size:11px;margin:0 5px 6px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center}.split img{border-radius:var(--radius);height:490px}.reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.reason{border-top:1px solid var(--ink);padding-top:22px}.reason .num{color:var(--accent);font-size:12px;letter-spacing:2px}.reason h3{margin-top:20px}.reason p{font-size:15px}.tint{background:var(--sand)}.quote{padding:35px;border:1px solid var(--line);background:#fff;border-radius:var(--radius)}.quote blockquote{font:26px/1.4 Georgia;margin:15px 0 24px}.stars{color:var(--accent);letter-spacing:3px;font-size:14px}.footer{padding:50px 5% 28px;background:var(--ink);color:var(--paper)}.footer p{color:#d5dfd9}.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer a{display:block;margin:8px 0;font-size:14px}.footer .brand{font-size:32px}.footer .legal{border-top:1px solid #597069;margin-top:38px;padding-top:20px;color:#c6d2cb}.menu{display:none;background:transparent;padding:10px}.breadcrumbs{font-size:12px;margin-bottom:25px;color:var(--muted)}.pageintro{padding:56px 5% 35px;max-width:1270px;margin:auto}.pageintro h1{font-size:52px}.searchpanel{display:flex;gap:14px;align-items:end;border:1px solid var(--line);background:#fff;border-radius:12px;padding:20px;margin:28px 0}.field{flex:1;min-width:0}.field label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.field input,.field select{width:100%;min-height:48px;padding:10px 12px;background:#fff;border:1px solid #9ba9a2;border-radius:6px;color:var(--ink)}.filterrow{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:32px}.filterrow button{border:1px solid #a9b6ad;background:transparent;color:var(--ink);padding:9px 16px;border-radius:30px;font-size:13px;min-height:44px}.filterrow button.active{background:var(--ink);color:white}.notice{padding:14px 18px;border:1px solid #caa990;border-radius:8px;background:#fff4e8;font-size:13px;color:#64442c;margin:22px 0}.notice.design{background:#efeaf6;border-color:#a79cbe;color:#514364}.propertytitle{display:flex;align-items:end;justify-content:space-between;gap:24px}.propertytitle h1{font-size:54px}.propertytitle p{margin:0}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;height:410px;position:relative;margin-top:30px}.gallery button{padding:0;background:none;overflow:hidden;border-radius:8px}.gallery img{height:100%}.gallery .gallerymore{position:absolute;bottom:18px;right:18px;padding:12px 18px;background:var(--paper);font-size:12px;min-height:44px}.subnav{display:flex;gap:27px;border-bottom:1px solid var(--line);padding:20px 0;font-size:13px;overflow:auto;white-space:nowrap}.subnav a{text-decoration:none}.propertylayout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:7%;align-items:start}.propertycontent section{padding:40px 0;border-bottom:1px solid var(--line)}.propertycontent h2{font-size:36px}.bookingbox{position:sticky;top:65px;background:white;border:1px solid #b8c4ba;border-radius:12px;padding:24px;margin-top:40px;box-shadow:0 8px 25px #203c380a}.bookingbox h3{font-size:28px}.bookingbox .field{margin-bottom:15px}.bookingbox .btn{width:100%;margin-bottom:12px}.sleepgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sleepcard{padding:20px;border:1px solid var(--line);border-radius:8px;background:#fff}.sleepcard b{display:block;font-weight:600;font-size:14px}.sleepcard span{font-size:13px;color:var(--muted)}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:14px}.amenities span{padding-bottom:12px;border-bottom:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-weight:500;min-height:28px}details p{margin:15px 0 0;font-size:14px}.comparetable{overflow:auto;border:1px solid var(--line);border-radius:10px;background:white}.comparetable table{border-collapse:collapse;min-width:750px;width:100%;font-size:14px}.comparetable td,.comparetable th{text-align:left;padding:20px;border-bottom:1px solid var(--line);vertical-align:top}.comparetable th{font-size:18px;font-family:Georgia;font-weight:400}.comparetable td:first-child{font-weight:600;width:190px}.stickycta{display:none}.bookingpage{max-width:1050px;margin:auto;padding:50px 5%}.bookingsteps{display:flex;gap:20px;font-size:12px;padding-bottom:30px}.bookingsteps .active{font-weight:bold;color:var(--accent)}.bookingcols{display:grid;grid-template-columns:1fr 340px;gap:40px}.price{background:white;border:1px solid var(--line);padding:25px;border-radius:12px}.price img{height:170px;border-radius:8px;margin-bottom:18px}.pricerow{display:flex;justify-content:space-between;gap:15px;margin:12px 0;font-size:14px}.pricerow.total{font-weight:bold;font-size:20px;border-top:1px solid var(--line);padding-top:16px}.statebuttons{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.statebuttons button{font-size:11px;padding:6px 9px;border-radius:4px;border:1px solid var(--line);background:#fff;color:var(--ink)}.report{max-width:1000px;margin:auto;padding:55px 5%;background:#fff}.report h1{font-size:46px}.report h2{font-size:32px;margin-top:50px}.report h3{font-size:24px;margin-top:30px}.report table{font-size:13px;border-collapse:collapse;display:block;overflow:auto}.report td,.report th{padding:13px;border:1px solid var(--line);text-align:left;vertical-align:top;min-width:120px}.report p,.report li{font-size:15px}.report pre{white-space:pre-wrap}.empty{padding:55px;text-align:center;border:1px dashed #8d9e93;border-radius:12px}.modal{position:fixed;inset:0;background:#132621e8;z-index:100;padding:30px;display:grid;place-items:center}.modalinner{max-width:1000px;width:100%;background:var(--paper);padding:20px;border-radius:12px;max-height:92vh;overflow:auto}.modalinner img{max-height:65vh;object-fit:contain}.modalinner button{margin:10px;padding:10px 20px;min-height:44px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.anchor{scroll-margin-top:75px}
@container (max-width:700px){.sitehead{height:77px;padding:0 20px}.brand{font-size:23px}.nav{display:none;position:absolute;top:117px;left:0;right:0;background:var(--paper);padding:25px;z-index:80;box-shadow:0 12px 20px #0002;flex-direction:column}.nav.open{display:flex}.menu{display:block}.hero{grid-template-columns:1fr}.herotext{padding:40px 24px 28px}.herotext h1{font-size:44px;letter-spacing:-1px}.herotext p{font-size:15px}.heroimg img{height:300px;min-height:0}.heroimg .caption{left:16px;bottom:15px}.truststrip{gap:16px;padding:18px 20px;flex-wrap:wrap;justify-content:flex-start;font-size:11px}.wrap{padding:45px 22px}.sectiontop{display:block}.sectiontop p{margin:20px 0}.grid,.reasons,.split{grid-template-columns:1fr}.grid{gap:22px}.cardpic{height:235px}.split{gap:30px}.split img{height:300px}.reasons{gap:20px}.footgrid{grid-template-columns:1fr 1fr}.footgrid>div:first-child{grid-column:1/-1}.pageintro{padding:30px 22px}.pageintro h1,.propertytitle h1{font-size:40px;letter-spacing:-1px}.searchpanel{flex-wrap:wrap;padding:15px;gap:12px}.searchpanel .field{flex-basis:44%}.searchpanel .btn{width:100%}.propertytitle{display:block}.propertytitle .textlink{display:inline-block;margin-top:15px}.gallery{grid-template-columns:1fr;height:300px}.gallery button:not(:first-child):not(.gallerymore){display:none}.propertylayout{grid-template-columns:1fr}.bookingbox{position:static;margin-top:20px}.propertycontent section{padding:30px 0}.propertycontent h2{font-size:31px}.sleepgrid{grid-template-columns:1fr}.stickycta{display:flex;position:sticky;bottom:0;z-index:70;background:var(--paper);border-top:1px solid var(--line);padding:12px 16px;gap:10px;align-items:center;justify-content:space-between;box-shadow:0 -5px 20px #203c380c}.stickycta small{font-size:11px}.stickycta .btn{padding:12px 17px;font-size:12px}.bookingcols{grid-template-columns:1fr}.bookingpage{padding:30px 22px}.bookingpage h1{font-size:40px}.bookingsteps{gap:10px;flex-wrap:wrap}.bookingcols .price{order:-1}.quote{padding:25px}.quote blockquote{font-size:23px}.propertycontent .split{gap:20px}.propertycontent .split img{height:250px}.amenities{gap:12px}.empty{padding:25px}.subnav{gap:20px}.report{padding:30px 20px}.report h1{font-size:36px}}
@media(max-width:700px){.reviewbar{padding:8px 10px;gap:8px}.reviewbar span,.reviewbar strong{display:none}.reviewbar select{max-width:180px}.reviewbar button{font-size:11px;padding:6px}.frame{width:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.reviewtrack{display:flex;overflow-x:auto;gap:20px;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:2px 2px 14px;overscroll-behavior-x:contain}.reviewslide{flex:0 0 100%;scroll-snap-align:start;min-width:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px}.reviewslide blockquote{font:25px/1.45 Georgia;margin:18px 0 24px}.reviewcontrols{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.reviewcontrols button{border:1px solid var(--ink);border-radius:50%;width:44px;height:44px;background:transparent;color:var(--ink);margin-left:8px}.reviewauthor{font-weight:600;font-size:14px}.reviewmeta{font-size:12px;color:var(--muted)}@container(max-width:700px){.reviewslide{padding:23px}.reviewslide blockquote{font-size:23px}}

/* Contain grid/flex min-content widths so review tracks cannot widen the page. */
.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.split>*{min-width:0}.reviewcarousel,.reviewtrack{min-width:0;max-width:100%;width:100%}.reviewtrack{align-items:stretch}.reviewslide{flex:0 0 calc(100% - 4px);width:calc(100% - 4px);overflow-wrap:anywhere;display:flex;flex-direction:column}.reviewslide blockquote{flex:1;margin-top:16px}.reviewmeta{line-height:1.5}.reviewcontrols{padding:0 3px}.propertylayout>*{min-width:0}.grid>*{min-width:0}
.heroimg{min-width:0;background:#e9e5dd;display:flex;align-items:center}.heroimg img{height:auto;min-height:0;max-height:650px;object-fit:contain;aspect-ratio:auto}.heroimg .caption{bottom:12px}.gallery{grid-template-columns:2fr 1fr 1fr;grid-template-rows:minmax(0,1fr);height:360px}.gallery button{min-width:0;min-height:0;background:#eee8db}.gallery img{object-fit:contain;width:100%;height:100%}.propertycontent section>img{height:auto;max-height:560px;object-fit:contain;border-radius:10px}.cardpic{height:auto;aspect-ratio:3/2}.cardpic img{object-fit:contain;background:#eee8db}.split>img{height:auto;max-height:490px;object-fit:contain}.sleepcard{padding:0;overflow:hidden}.sleepcard .roomcopy{padding:18px}.sleepcard img{height:auto;aspect-ratio:3/2;object-fit:contain;background:#eee8db}.roomphotos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.roomphoto{margin:0;background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.roomphoto button{padding:0;width:100%;background:#eee8db}.roomphoto img{aspect-ratio:3/2;object-fit:contain}.roomphoto figcaption{padding:16px;font-size:14px}.roomphoto figcaption small{display:block;color:var(--muted)}
.phototour .modalinner{max-width:1220px}.tourhead{display:flex;justify-content:space-between;gap:20px;align-items:center}.tourhead h2{font-size:32px;margin:0}.tourfilters{display:flex;gap:8px;overflow:auto;padding:18px 0}.tourfilters button{margin:0;white-space:nowrap;border:1px solid var(--ink);background:transparent;border-radius:30px;font-size:13px;padding:8px 16px}.tourfilters button.active{background:var(--ink);color:white}.tourgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.tourgrid figure{margin:0;min-width:0}.tourgrid button{padding:0;margin:0;width:100%;background:#eee8db;border-radius:8px;overflow:hidden}.tourgrid img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.tourgrid figcaption{padding:10px 0}.tourgrid figcaption b{display:block}.tourgrid figcaption small{color:var(--muted)}.viewer .modalinner{max-width:1200px}.viewer img{width:100%;height:min(62vh,650px);max-height:none;object-fit:contain;background:#eee8db}.viewer .photolabel{padding:18px 12px}.viewer .photolabel h3{font-size:27px;margin:0 0 10px}.viewer .photolabel p{margin:0}.viewercontrols{display:flex;justify-content:space-between;align-items:center}.viewercontrols button{white-space:nowrap}
@container(max-width:700px){.split{grid-template-columns:minmax(0,1fr)}.heroimg img{height:auto;max-height:none}.gallery{height:auto;grid-template-columns:minmax(0,1fr);grid-template-rows:auto}.gallery button:first-child img{height:auto;aspect-ratio:3/2}.gallery .gallerymore{bottom:12px;right:12px}.roomphotos{grid-template-columns:1fr}.reviewslide{padding:24px}.reviewslide blockquote{font-size:23px}}
@media(max-width:700px){.modal{padding:12px}.modalinner{padding:16px}.tourgrid{grid-template-columns:1fr}.tourhead h2{font-size:25px}.viewer img{height:auto;max-height:52vh;aspect-ratio:auto}.viewercontrols button{padding:10px;font-size:12px}.viewer .photolabel{padding:15px 0}}
.phototour{padding:24px;background:#162823ed}.phototour .modalinner{width:min(1240px,100%);padding:0 34px 34px;background:#faf7f0;max-height:94vh;border-radius:16px}.tourhead{position:sticky;top:0;background:#faf7f0;z-index:5;padding:25px 0 18px;border-bottom:1px solid var(--line)}.tourhead .kicker{display:block;font-size:10px;margin:0 0 8px}.tourhead h2{font-size:32px}.tourfilters{position:sticky;top:110px;background:#faf7f0;z-index:4;padding:15px 0;gap:8px;scrollbar-width:thin}.tourintro{font-size:15px;margin:8px 0 28px}.tourrooms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}.tourroom{padding:0!important;margin:0!important;text-align:left;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white;min-width:0;color:var(--ink)}.tourcover{position:relative;aspect-ratio:3/2;overflow:hidden;background:#e9e5dc}.tourcover img{height:100%;width:100%;object-fit:cover;max-height:none}.tourcover span{position:absolute;bottom:10px;right:10px;background:#fffefa;border-radius:5px;padding:4px 8px;font-size:11px}.tourroomlabel{padding:17px}.tourroomlabel b{display:block;font:21px/1.2 Georgia;margin-bottom:8px}.tourroomlabel small{display:block;font-size:12px;color:var(--muted)}.toursection{padding:16px 0 35px;border-bottom:1px solid var(--line);margin-bottom:18px}.toursectionhead{display:flex;justify-content:space-between;align-items:start;gap:20px;margin:10px 0 20px}.toursectionhead small{color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:2px}.toursectionhead h3{font-size:30px;margin:8px 0}.toursectionhead p{font-size:13px;margin:0}.toursectionhead>span{font-size:12px;white-space:nowrap}.tourimages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.tourimage{width:100%;padding:0!important;margin:0!important;background:transparent;border-radius:10px;overflow:hidden}.tourimage img{height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;border-radius:10px}.viewer .modalinner{padding:16px 25px}.fullphoto{background:#e8e4dc;border-radius:9px}.viewer .fullphoto img{width:100%;height:60vh;max-height:none;object-fit:contain;aspect-ratio:auto}.viewer .photolabel{display:flex;justify-content:space-between;gap:20px}.photolabel a{font-size:12px;white-space:nowrap}.modal button{min-height:44px}.reviewtrack{width:100%;overflow-x:auto;overflow-y:hidden}.reviewslide{box-sizing:border-box}.reviewcarousel{overflow:hidden}.reviewslide blockquote{font-size:24px;line-height:1.5}.gallery{gap:8px;border-radius:12px;overflow:hidden}.gallery img{object-fit:cover}.gallery button{border-radius:0}.gallery .gallerymore{border-radius:6px}.heroimg img{width:100%;height:100%;object-fit:cover}.heroimg{overflow:hidden}.sleepgrid{margin-top:24px}
@media(max-width:850px){.tourrooms{grid-template-columns:repeat(2,minmax(0,1fr))}.phototour{padding:12px}.phototour .modalinner{padding:0 20px 25px}.tourfilters{top:107px}.tourhead h2{font-size:27px}}
@media(max-width:560px){.phototour{padding:0}.phototour .modalinner{max-height:100dvh;min-height:100dvh;border-radius:0;padding:0 16px 30px}.tourhead{padding-top:18px}.tourhead h2{font-size:24px}.tourhead .kicker{font-size:8px;letter-spacing:1px}.tourhead button{padding:7px;margin:0}.tourfilters{top:98px}.tourrooms{gap:14px 10px}.tourroomlabel{padding:12px}.tourroomlabel b{font-size:18px}.tourroomlabel small{font-size:11px}.tourimages{grid-template-columns:1fr;gap:14px}.toursectionhead h3{font-size:27px}.viewer{padding:0}.viewer .modalinner{padding:12px;max-height:100dvh;border-radius:0}.viewer .fullphoto img{height:58vh}.viewer .photolabel{display:block}.photolabel a{display:inline-block;margin-top:8px}}
.mobile-modal{max-width:390px;margin:0 auto;padding:0}.mobile-modal .modalinner{max-height:100dvh;min-height:100dvh;width:100%;padding:0 16px 24px;border-radius:0}.mobile-modal .tourrooms{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.mobile-modal .tourhead{padding:18px 0}.mobile-modal .tourhead h2{font-size:24px}.mobile-modal .tourhead .kicker{font-size:8px}.mobile-modal .tourhead button{margin:0;padding:7px}.mobile-modal .tourfilters{top:98px}.mobile-modal .tourroomlabel{padding:12px}.mobile-modal .tourroomlabel b{font-size:18px}.mobile-modal .tourimages{grid-template-columns:1fr}.mobile-modal .viewercontrols button{padding:10px;font-size:12px}.mobile-modal .photolabel{display:block}.mobile-modal .photolabel a{display:inline-block;margin-top:10px}.mobile-modal .fullphoto img{height:56vh}.lead{font-size:19px;line-height:1.65}.hostportrait{margin:0;min-width:0}.hostportrait img{width:100%;height:auto;max-height:540px;object-fit:contain;border-radius:14px}.hostportrait figcaption{font-size:12px;color:var(--muted);padding-top:12px}.homehost img{max-height:400px}.hostnote{padding:34px;background:white;border:1px solid var(--line);border-radius:14px}.hostnote h3{font-size:31px}.factgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.fact{padding:18px 0;border-bottom:1px solid var(--line)}.fact b{font-size:14px}.fact p{font-size:14px;margin:8px 0 0}.storyscene{display:grid;grid-template-columns:30px minmax(0,1fr);gap:16px;padding:24px 0;border-bottom:1px solid var(--line)}.storyscene>span{font-size:12px;color:var(--accent);padding-top:7px}.storyscene h3{font-size:27px}.storyscene p{margin:0}.dateprompt,.comparehelp{padding:26px;background:var(--sand);border-radius:12px;margin-top:28px}.dateprompt h3{font-size:29px}.expandedcompare th{position:sticky;top:0;background:var(--paper)}.expandedcompare td:first-child{min-width:190px}.expandedcompare td{min-width:240px}.expandedcompare tr:nth-child(even) td{background:#faf7f0}.expandedcompare{max-height:75vh}.storyscene .actions{margin-top:18px}@container(max-width:700px){.factgrid{grid-template-columns:1fr}.hostportrait img{max-height:none}.hostnote{padding:24px}.storyscene{grid-template-columns:22px minmax(0,1fr);gap:10px}.lead{font-size:17px}}

.worldgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:28px 0}.worldcard{border:1px solid #deddd5;border-radius:14px;overflow:hidden;background:#fff;min-width:0}.worldcard>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin:0}.worldcard>div{padding:22px}.worldcard h3{font-size:23px;margin:0 0 12px}.worldcard p{font-size:16px;line-height:1.65}.allamenities{margin:55px 0}.amenitygroups details{border-bottom:1px solid #d8d8cf;padding:18px 0}.amenitygroups summary{display:flex;justify-content:space-between;gap:15px;font-weight:600;cursor:pointer}.amenitygroups ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 25px;padding-left:20px;margin:20px 0;font-size:15px;line-height:1.6}.worldcard button:focus-visible{outline:3px solid #15746c;outline-offset:4px}#canvas.mobile .worldgrid,#canvas.mobile .amenitygroups ul{grid-template-columns:1fr}@media(max-width:700px){.worldgrid,.amenitygroups ul{grid-template-columns:1fr}.worldcard>div{padding:18px}}
.cardmedia{position:relative;isolation:isolate}.cardswiper{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;overscroll-behavior-x:contain}.cardslide{flex:0 0 100%;min-width:0;scroll-snap-align:start;position:relative;display:block;color:white}.cardslide img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}.slidecaption{position:absolute;bottom:0;left:0;right:0;padding:36px 17px 17px;background:linear-gradient(transparent,rgba(0,0,0,.88));font-size:15px;line-height:1.4;font-weight:600;display:flex;gap:15px;align-items:end;justify-content:space-between}.slidecaption small{white-space:nowrap;font-size:12px}.cardmedia .badge{position:absolute;left:14px;top:14px;z-index:2;pointer-events:none}.swipearrow{position:absolute;top:43%;z-index:2;border:0;border-radius:50%;background:#fff;color:#183a35;width:36px;height:36px;font-size:28px;line-height:1;box-shadow:0 2px 9px #0003;cursor:pointer}.swipearrow.prev{left:10px}.swipearrow.next{right:10px}.cardhook{font-weight:500;line-height:1.6}.experience{margin:64px 0}.featurechips{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0}.featurechips span{border:1px solid #d4dcd4;border-radius:6px;background:#f5f6ef;padding:9px 12px;font-size:14px;line-height:1.4}.subnav{overflow-x:auto;white-space:nowrap}.cardswiper:focus-visible,.swipearrow:focus-visible{outline:3px solid #16756d;outline-offset:-3px}@media(prefers-reduced-motion:reduce){.cardswiper{scroll-behavior:auto}}
.cardhook{font-family:inherit;font-size:19px;line-height:1.4;font-weight:650;margin:20px 0 12px}.cardstory{font-size:15px;line-height:1.7;margin:0 0 18px}.cardbody .actions{margin-top:22px}.propertytitle>div>p{max-width:740px}
.ratingproof{display:inline-block;text-decoration:none;border-bottom:1px solid #a6b4aa;padding:8px 0;color:#203c38;font-size:15px}.ratingproof span{display:inline-block;margin-left:12px;font-size:13px}.proofdate{max-width:600px;font-size:11px;margin:8px 0 0}.cardrating{margin-top:15px}.cardrating span{font-size:11px}.roomallocation{margin:25px 0}.roomallocation table{min-width:600px;font-size:14px}.floorgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.floorgrid button{background:#fff;border:1px solid #d9ded5;padding:12px;text-align:left;border-radius:10px}.floorgrid img{height:260px;object-fit:contain;background:white}.floorgrid span{display:block;font-size:13px;margin-top:12px}.floorplanpreview{margin:32px 0}.stayvalue{padding:30px;background:#eee8db;border-radius:12px;margin:48px 0}.valuegrid{display:grid;gap:22px}.valuegrid h3{font-size:25px}.costnote{border-top:1px solid #bbc1b7;padding-top:20px}.costnote p{font-size:14px;margin:10px 0 22px}.experiencecta{padding:28px;border:1px solid #a9b8a8;border-radius:12px;margin:35px 0}.experiencecta h3{font-size:30px}#canvas.mobile .floorgrid{grid-template-columns:1fr}@media(max-width:700px){.floorgrid{grid-template-columns:1fr}.ratingproof span{display:block;margin-left:0}.stayvalue{padding:22px}}

/* Final responsive layer: shared breakpoints for live viewport and preview frame. */
.frame{position:relative;overflow-x:clip}.sitehead{position:relative;z-index:75}.hero,.grid,.reasons,.propertylayout,.bookingcols,.footgrid,.worldgrid,.floorgrid{min-width:0}.hero>*{min-width:0}.nav{gap:20px}.propertycontent{min-width:0}.propertycontent .worldcard>img{object-fit:contain;background:#eee8db}.propertycontent .experience{margin:24px 0}.propertycontent section{padding:36px 0}.worldcard>div{padding:20px}.worldcard p{font-size:15px}.reviewbar{flex-wrap:wrap;min-height:48px;gap:8px 14px}.reviewbar select{min-width:0}.reviewbar button{min-height:36px}.cardslide img{object-fit:contain;background:#eee8db}.cardbody{display:flex;flex-direction:column}.cardbody .actions{margin-top:auto;padding-top:18px}.card{display:flex;flex-direction:column}.cardmedia{flex:none}.cardbody{flex:1}.roomallocation table{table-layout:fixed}.roomallocation th,.roomallocation td{overflow-wrap:anywhere}.comparetable{max-width:100%;overscroll-behavior-x:contain}.expandedcompare th:first-child,.expandedcompare td:first-child{position:sticky;left:0;background:#f3efe5;z-index:1}.expandedcompare thead th{z-index:2}.expandedcompare thead th:first-child{z-index:3}.subnav a{min-height:44px;display:inline-flex;align-items:center}.subnav{gap:24px;padding:4px 0}.worldgrid{gap:18px}.hostportrait img{height:auto!important;object-fit:contain}.reviewslide{min-width:0}.reviewslide blockquote{font-size:22px}.slidecaption{font-size:14px}.swipearrow{width:44px;height:44px}.pageintro>p,.herotext>p{line-height:1.65}.gallery img{object-fit:contain;background:#eee8db}.floorgrid img{height:auto;aspect-ratio:4/3}.tourhead{align-items:flex-start}.tourhead button{flex-shrink:0}.tourfilters{position:static}.toursectionhead{flex-wrap:wrap}.photolabel{min-width:0}.photolabel>div{min-width:0}.photolabel a{white-space:normal}.viewercontrols{flex-wrap:wrap;gap:8px}.modalinner{overscroll-behavior:contain}.btn{white-space:normal;text-align:center}.amenitygroups summary span{flex-shrink:0}
@container (max-width:1100px){
.sitehead{height:82px;padding:0 28px}.brand{font-size:25px}.menu{display:block;min-width:48px;min-height:48px}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:24px 28px;z-index:80;box-shadow:0 12px 20px #0002;flex-direction:column;align-items:stretch;gap:8px}.nav.open{display:flex}.nav a{padding:12px;min-height:44px}.nav .btn{margin-top:8px}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0}.herotext{padding:44px 28px}.herotext h1{font-size:46px;letter-spacing:-1.2px}.herotext p{font-size:16px}.heroimg img{height:100%;min-height:0;object-fit:contain}.heroimg{align-items:center}.heroimg .caption{position:static;display:block;border-radius:0;padding:12px}.heroimg{display:flex;flex-direction:column;justify-content:center}.wrap{padding:48px 28px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid .card:last-child:nth-child(odd){grid-column:1/-1;max-width:650px;width:100%;justify-self:center}.reasons{gap:22px}.reason h3{font-size:26px}.sectiontop{align-items:start}.sectiontop h2{font-size:38px}.propertylayout{grid-template-columns:minmax(0,1fr);gap:0}.bookingbox{display:none}.propertytitle h1{font-size:46px}.propertytitle{align-items:start}.propertytitle>div{min-width:0}.propertytitle>.textlink{flex-shrink:0}.propertycontent h2{font-size:36px}.gallery{height:330px}.worldgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.bookingcols{grid-template-columns:minmax(0,1fr);gap:28px}.bookingcols .price{order:0}.bookingpage{padding:35px 28px}.searchpanel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.searchpanel>.btn{grid-column:1/-1;width:100%}.searchpanel .field{min-width:0}.stickycta{display:flex;position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,1100px);z-index:85;min-height:78px;background:var(--paper);padding:12px 24px calc(12px + env(safe-area-inset-bottom));gap:14px;border-top:1px solid var(--line);align-items:center;justify-content:space-between;box-shadow:0 -4px 18px #203c3810}.stickycta>div{min-width:0}.stickycta b{font-size:13px;line-height:1.3;display:block}.stickycta br{display:none}.stickycta .btn{flex-shrink:0;min-height:48px;padding:12px 18px}.frame:has(.stickycta) .footer{padding-bottom:110px}.pageintro{padding:36px 28px}.pageintro h1{font-size:46px}.footgrid{gap:28px}.split{gap:28px}.split img{height:auto;max-height:420px}.plan-resorts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@container (max-width:700px){
.sitehead{height:74px;padding:0 20px}.brand{font-size:23px}.brand small{font-size:8px;letter-spacing:2px}.hero{display:flex;flex-direction:column}.herotext{padding:32px 20px 24px}.herotext h1{font-size:38px;line-height:1.08;letter-spacing:-1px}.herotext h1 br{display:none}.herotext p{font-size:16px;max-width:none}.herotext .actions{display:grid;gap:10px;margin:0 0 14px}.herotext .actions .btn{width:100%}.herotext .actions .textlink{justify-self:start}.heroimg{display:block}.heroimg img{height:auto;width:100%;aspect-ratio:3/2;object-fit:contain}.heroimg .caption{font-size:11px}.truststrip{padding:18px 20px;gap:12px;display:grid;grid-template-columns:1fr;font-size:12px}.wrap,.pageintro{padding:36px 20px}.grid,.reasons,.split,.worldgrid,.floorgrid,.roomphotos,.factgrid,.footgrid,.plan-resorts{grid-template-columns:minmax(0,1fr)!important}.grid .card:last-child:nth-child(odd){max-width:none}.sectiontop{display:block}.sectiontop h2,.propertycontent h2{font-size:31px;line-height:1.14;letter-spacing:-.6px}.sectiontop p{margin:18px 0 24px}.cardbody{padding:20px}.cardbody h3{font-size:28px}.cardhook{font-size:18px;margin-top:12px}.cardstory{font-size:15px!important}.specs{gap:8px 14px;font-size:12px}.card .actions{gap:12px;flex-wrap:wrap}.cardslide img{aspect-ratio:3/2}.slidecaption{font-size:13px;padding:40px 14px 12px}.slidecaption small{font-size:11px}.swipearrow{top:37%;width:44px;height:44px}.badge{max-width:calc(100% - 28px);font-size:10px}.pageintro h1,.propertytitle h1,.bookingpage h1{font-size:36px;line-height:1.1;letter-spacing:-.8px;overflow-wrap:break-word}.propertytitle{display:block}.propertytitle>.textlink{margin-top:14px}.propertytitle p{font-size:16px}.ratingproof{font-size:14px}.ratingproof span{display:block;margin:4px 0}.proofdate{font-size:11px;line-height:1.5}.gallery{display:flex;height:auto;overflow-x:auto;scroll-snap-type:x mandatory;position:relative;gap:8px;border-radius:8px;padding-bottom:60px;background:#eee8db}.gallery button:not(.gallerymore){display:block!important;flex:0 0 100%;height:auto;scroll-snap-align:start;border-radius:0}.gallery button:not(.gallerymore) img{height:auto!important;aspect-ratio:3/2;object-fit:contain}.gallery .gallerymore{position:absolute;left:12px;right:auto;bottom:10px;max-width:calc(100% - 24px);padding:10px 14px}.subnav{gap:20px;scrollbar-width:thin}.propertycontent section{padding:28px 0}.worldgrid{margin:22px 0;gap:20px}.worldcard>img{aspect-ratio:3/2;object-fit:contain}.worldcard>div{padding:18px}.worldcard h3{font-size:24px}.worldcard p{font-size:15px}.propertycontent .experience{margin:12px 0}.amenities{grid-template-columns:1fr;gap:10px}.amenitygroups ul{grid-template-columns:1fr;gap:10px}.amenitygroups summary{font-size:15px;gap:10px}.amenitygroups summary .small{font-size:11px}.featurechips{gap:7px}.featurechips span{font-size:13px;padding:8px 10px}.stayvalue,.experiencecta,.comparehelp{padding:22px;margin:28px 0}.stayvalue h2{font-size:30px}.actions{gap:12px}.experiencecta .actions,.stayvalue .actions{display:grid}.experiencecta .btn,.stayvalue .btn{width:100%}.bookingpage{padding:30px 20px}.bookingsteps{gap:8px 16px;flex-wrap:wrap;font-size:11px}.searchpanel{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:14px 10px}.searchpanel>.field:last-of-type{grid-column:1/-1}.field input,.field select{font-size:16px;padding:10px 8px}.filterrow{gap:8px}.filterrow a{margin-left:0!important;width:100%}.footgrid>div:first-child{grid-column:auto}.footer{padding:36px 20px}.footer .brand{font-size:28px}.footer .legal{font-size:11px}.hostnote{padding:22px}.reviewslide{padding:20px}.reviewslide blockquote{font-size:21px;line-height:1.5}.roomallocation .comparetable{overflow:visible;border:0;background:transparent}.roomallocation table{display:block;min-width:0;width:100%}.roomallocation thead{display:none}.roomallocation tbody{display:grid;gap:12px}.roomallocation tr{display:block;border:1px solid var(--line);background:white;border-radius:9px;padding:14px}.roomallocation td{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px;padding:6px 0;border:0;width:auto!important;min-width:0;font-weight:400!important;font-size:13px}.roomallocation td:before{content:attr(data-label);font-weight:600;color:#203c38}.expandedcompare{max-height:70dvh}.expandedcompare td:first-child,.expandedcompare th:first-child{min-width:120px;width:120px;padding:14px 10px;font-size:12px}.expandedcompare td,.expandedcompare th{min-width:210px;padding:14px;font-size:13px}.expandedcompare th{font-size:18px}.floorgrid img{height:auto;aspect-ratio:auto;max-height:450px}.empty{padding:26px 18px}.plan-resorts .card:last-child{grid-column:auto}.stickycta{width:100%;padding-left:16px;padding-right:16px}.stickycta>div{max-width:50%}.stickycta .btn{font-size:12px;padding:10px 14px}.stickycta small{font-size:11px}.report{padding:28px 20px}.report h1{font-size:33px}.report h2{font-size:28px}.worlds h2 br,.experience h2 br{display:none}
}
/* Keep the simulated phone on desktop identical to the real phone geometry. */
.frame.mobile .stickycta{max-width:390px}.frame.mobile h1{font-size:36px}.frame.mobile h2{font-size:31px}
@media(max-width:700px){.reviewbar{position:relative;padding:8px 12px;justify-content:space-between;gap:8px}.reviewbar select{flex:1;width:auto;max-width:none;font-size:12px;min-height:40px}.reviewbar button{font-size:11px;min-height:40px}.reviewbar span,.reviewbar strong{display:none}.phototour .modalinner{padding:0 16px 25px}.tourhead{position:sticky;top:0;padding:16px 0;gap:10px}.tourhead h2{font-size:23px;line-height:1.15}.tourhead .kicker{font-size:9px;letter-spacing:1px}.tourhead button{padding:8px;margin:0}.tourrooms{grid-template-columns:repeat(2,minmax(0,1fr))}.tourimages{grid-template-columns:1fr}.tourfilters{position:static}.viewer .fullphoto img{height:auto;max-height:58dvh;min-height:200px;object-fit:contain}.viewer .photolabel{display:block}.viewer .photolabel h3{font-size:24px}.viewercontrols{justify-content:center}.modalinner{max-height:100dvh}.price{padding:20px}}

@container (min-width:701px) and (max-width:1100px){.gallery{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;height:360px}.gallery>button:first-child{grid-row:1/3}.gallery>button:not(.gallerymore){min-height:0}.gallery img{object-fit:contain}}@container(max-width:700px){.heroimg{order:-1}.heroimg img{height:210px;aspect-ratio:auto;object-fit:contain}.heroimg .caption{font-size:10px;padding:7px 20px}.herotext{padding:24px 20px}.herotext .kicker{font-size:10px;letter-spacing:1.3px;margin-bottom:14px}.herotext h1{font-size:34px;margin-bottom:18px}.herotext p{font-size:15px;line-height:1.6;margin-bottom:20px}.herotext small{font-size:11px}.herotext .actions{gap:7px}.heroimg{background:#dfe6e7}}
.propertytitle{display:block}.propertymeta{display:flex;align-items:center;gap:12px 30px;flex-wrap:wrap;margin-top:14px}.propertymeta .ratingproof{border:0;padding:0;line-height:1.5}.propertymeta .compareproperty{padding:0;border:0;font-size:13px;text-decoration:underline;text-underline-offset:4px;margin:0}.propertymeta .ratingproof span{font-size:13px}.gallery{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));height:auto;aspect-ratio:9/4;gap:8px;background:transparent;padding:0;border-radius:14px;overflow:hidden;margin-top:26px}.gallery>button:not(.gallerymore){display:block!important;min-height:0;min-width:0;border-radius:0;background:#e8e4dc;overflow:hidden;position:relative}.gallery>button:first-child{grid-row:1/3}.gallery>button:not(.gallerymore) img{display:block;width:100%;height:100%!important;aspect-ratio:auto!important;object-fit:cover}.gallery .gallerymore{position:absolute;bottom:14px;right:14px;left:auto;border:1px solid #fff8;border-radius:8px;background:#fffdf5;color:#203c38;padding:11px 16px;font-size:12px;box-shadow:0 2px 12px #0002}.gallery button:focus-visible{outline:3px solid #b84d35;outline-offset:-4px}.gallery button:not(.gallerymore):hover img{filter:brightness(.96)}@container(max-width:1100px) and (min-width:701px){.gallery{height:auto;aspect-ratio:9/4;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr))}.propertymeta .ratingproof span{display:inline-block;margin-left:10px}}@container(max-width:700px){.propertymeta{gap:14px;margin-top:16px}.propertymeta .ratingproof span{display:block;margin:5px 0 0}.propertymeta .compareproperty{min-height:36px;display:inline-flex;align-items:center}.gallery{display:flex;aspect-ratio:auto;height:auto;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 58px;gap:8px;background:#eee8db;border-radius:10px}.gallery>button:not(.gallerymore){flex:0 0 100%;height:auto;scroll-snap-align:start}.gallery>button:not(.gallerymore) img{height:auto!important;aspect-ratio:3/2!important;object-fit:contain}.gallery .gallerymore{left:12px;right:auto;bottom:9px;box-shadow:none;padding:9px 13px}.propertytitle h1{margin-bottom:18px}}
.propertysearchline{font-size:14px;line-height:1.5;margin:-4px 0 18px;color:#5c6763}.resortpair{grid-template-columns:repeat(2,minmax(0,1fr))}.resortpair .card:last-child{grid-column:auto!important;max-width:none!important}.guidecontent{padding-top:0}.guidecontent>h2{margin-top:38px}.guideactions{margin-top:25px}.guidecontent .reasons{align-items:start}.guidecontent .reason h3{font-size:27px}.dogstay{border-top:1px solid var(--line)}@container(max-width:700px){.resortpair{grid-template-columns:1fr}.propertysearchline{font-size:13px;margin-top:0}.guidecontent>h2{font-size:31px}} 
.inlineavailability{scroll-margin-top:25px}.widgetframe{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white}.widgetframe iframe{width:100%;height:760px;border:0;display:block}.homepicker{padding:24px;border:1px solid var(--line);border-radius:12px;background:white;margin:25px 0}.homepicker label{display:block;font-weight:600;margin-bottom:12px}.pickerrow{display:flex;gap:14px}.pickerrow select{flex:1;min-width:0;min-height:48px;padding:10px;font-size:16px;border:1px solid #9ba9a2;border-radius:6px;background:white;color:var(--ink)}.homepicker small{display:block;margin-top:14px}.homepicker #pickererror{color:#a12c26;margin:12px 0}.expandedcompare:not(.show-all) .comparison-extra{display:none}.comparison-toggle{margin:15px 0}.routelinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin:25px 0 40px}.routelinks a{display:block;min-height:44px;padding:8px 0;font-size:14px}.directpromise{padding:22px;background:var(--sand);border-radius:10px;margin:25px 0}.directpromise h2{font-size:28px}.directpromise p{font-size:15px;margin:0}@container(max-width:700px){.pickerrow{display:grid}.pickerrow .btn{width:100%}.homepicker{padding:18px}.routelinks{grid-template-columns:1fr}.widgetframe iframe{height:840px}}
.reviewsource{font-size:12px;display:inline-block;margin-top:12px;text-underline-offset:4px;min-height:30px}
.financialsummary{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;margin:25px 0}.financialsummary h3{font-size:27px}.financialsummary dl{margin:0}.financialsummary dl>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:18px;border-top:1px solid var(--line);padding:14px 0;font-size:14px}.financialsummary dt{font-weight:600}.financialsummary dd{margin:0;color:var(--muted)}.cancellationsummary{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}.cancellationsummary ul{padding-left:20px;font-size:14px;line-height:1.7}.cancellationsummary li{margin-bottom:12px}@container(max-width:700px){.financialsummary{padding:18px}.financialsummary dl>div{grid-template-columns:1fr;gap:6px}.financialsummary h3{font-size:25px}}
.compactfees{font-size:14px;line-height:1.65;margin:16px 0 8px}.policyjump{display:inline-block;margin:0 0 20px}.financialdetails{scroll-margin-top:24px}.financialdetails .financialsummary{margin-top:18px;border:0;padding:0;background:transparent}.financialdetails>summary{padding:5px 0;font-weight:600}
body{background:var(--paper)}.searchwrap{padding-top:36px;padding-bottom:36px}.portfoliosearch{min-width:0;margin:24px 0}.portfoliosearch h2{font-size:clamp(28px,3vw,40px)}hospitable-direct-mps{display:block;min-height:160px;max-width:100%}@container(max-width:700px){.nav{top:77px}}/* Whimsy Getaways — one hospitality design system. */
:root{--ink:#243047;--paper:#f9f8f5;--white:#fff;--muted:#646b74;--line:#dedfdc;--accent:#7a6852;--sand:#eeede7;--lilac:#eeede7;--radius:8px}
body,.frame{background:var(--paper);color:var(--ink)}body{font-family:Arial,Helvetica,sans-serif;line-height:1.65}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12}
h1{letter-spacing:-1.8px}h2{font-size:42px;letter-spacing:-1px}h3{letter-spacing:-.4px}p{color:var(--muted)}
.wrap,.pageintro{max-width:1280px;margin-inline:auto;padding-inline:48px}.wrap{padding-block:72px}.pageintro{padding-top:40px;padding-bottom:64px}
.kicker{font-size:10px;letter-spacing:1.8px;font-weight:600;color:var(--accent);margin-bottom:16px}
.btn{min-height:48px;padding:13px 23px;border:1px solid #243047;border-radius:5px;background:#243047;color:#fff;font-size:13px;letter-spacing:.15px;box-shadow:none;transition:background .15s}
.btn:hover{background:#35455f;filter:none}.btn.outline{background:transparent;color:#243047;border-color:#9299a1}.btn.light{background:#fff;color:#243047}
.textlink{font-size:13px;text-underline-offset:5px;border-color:#a2a6aa}.actions{gap:16px;margin:24px 0 0}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a8865e;outline-offset:4px}
.sitehead,body:has(.photo-home) .sitehead{height:96px;padding:0 max(32px,5%);background:var(--paper);border-bottom:1px solid var(--line);color:var(--ink)}
.brand,body:has(.photo-home) .brand{display:flex;align-items:center;gap:12px;font-size:27px;letter-spacing:-.8px;color:var(--ink);flex-shrink:0}
.brand-emblem{display:block;position:relative;width:45px;height:33px;overflow:hidden;flex-shrink:0}
.brand-emblem img{position:absolute;width:80px;height:49px;max-width:none;left:-17px;top:0;filter:none}
.brand-wordmark small{display:block;font:8px/1.5 Arial,sans-serif;letter-spacing:2px;margin-top:7px;text-transform:uppercase;color:#69707a}
.nav{gap:28px}.nav a{font-size:13px}.sitehead .nav .btn,body:has(.photo-home) .nav .btn{background:#243047;color:#fff;border-color:#243047}
.menu,body:has(.photo-home) .menu{color:var(--ink)}
.photo-hero{max-width:1440px;margin:auto;padding:56px 5% 64px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:center;background:transparent}
.photo-hero-copy{order:-1;display:block;padding:0;margin:0;max-width:480px;color:var(--ink);border:0}
.photo-hero-copy .kicker,.photo-home .photo-hero-copy .kicker{color:var(--accent);font-size:9px;letter-spacing:1.6px;line-height:1.7;margin-bottom:23px}
.photo-hero-copy h1{font:400 clamp(40px,3.5vw,52px)/1.08 Georgia,serif;letter-spacing:-1.9px;margin-bottom:25px}
.photo-hero-copy h1 br{display:block}.photo-hero-copy p{max-width:365px;font-size:15px;line-height:1.75;color:var(--muted);margin:0}
.photo-hero-copy .actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}
.photo-hero-copy .btn{background:#243047;color:#fff;border-color:#243047;font-size:12px;padding:13px 19px}
.photo-hero-copy .btn.outline{background:transparent;color:#243047;border-color:#a2a7ad}
.hero-photo-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:340px 150px;gap:10px;width:100%;margin:0;min-width:0}
.hero-photo{position:relative;display:block;overflow:hidden;border-radius:7px;color:#fff}
.hero-photo-main{grid-column:1/3;grid-row:1}.hero-photo img{height:100%;width:100%;object-fit:cover;transition:transform .3s}
.hero-photo:hover img{transform:scale(1.025)}.hero-photo:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#101a27b8);pointer-events:none}
.hero-photo>span{position:absolute;bottom:15px;left:17px;right:12px;z-index:1;font:400 18px/1.2 Georgia,serif;color:#fff}
.hero-photo-main>span{font-size:24px;bottom:21px;left:23px}.hero-photo small{display:block;font:11px/1.4 Arial,sans-serif;color:#fff;margin-top:6px;letter-spacing:.1px;text-transform:none}
.photo-home .wrap{padding-block:64px}.photo-home h2{font-size:40px;line-height:1.15;letter-spacing:-1px}
.visual-homes{border-top:1px solid var(--line)}.sectiontop{gap:32px;align-items:end;margin-bottom:30px}.visual-homes .sectiontop h2{font-size:38px;margin:0;max-width:610px}
.visual-homes .sectiontop>.textlink{font-size:12px;white-space:nowrap}.visual-homes .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch}
.visual-home-card{border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible}
.visual-home-card .cardmedia{overflow:hidden;border-radius:7px;position:relative}
.visual-home-card .cardmedia,.visual-home-card .cardswiper,.visual-home-card .cardslide{height:300px;aspect-ratio:auto}
.visual-home-card .cardswiper{display:flex;width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none}
.visual-home-card .cardswiper::-webkit-scrollbar{display:none}.visual-home-card .cardslide{flex:0 0 100%;scroll-snap-align:start;position:relative}
.visual-home-card .cardslide img{width:100%;height:100%;object-fit:cover}.visual-home-card .slidecaption{font-size:12px;line-height:1.4}
.visual-home-card .swipearrow{background:#ffffffeb;color:#243047;border:0;width:36px;height:36px;min-height:36px;box-shadow:none;top:46%}
.visual-home-card .cardbody{padding:23px 0 0;display:flex;flex-direction:column}
.visual-resort{font-size:9px;letter-spacing:1.4px;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.visual-home-card h3{font:400 29px/1.17 Georgia,serif;letter-spacing:-.6px;margin:0 0 12px}.visual-home-card h3 a{text-decoration:none}
.visual-specs{font-size:12px;color:var(--muted);margin-bottom:14px;line-height:1.7}.visual-specs span{margin-inline:3px}
.visual-fit{font-size:14px!important;line-height:1.65;margin:0 0 14px;min-height:69px;color:var(--muted)}
.visual-home-card .cardrating{font-size:11px;line-height:1.6;color:#616970;margin-top:auto;margin-bottom:19px}
.visual-home-card .actions{border-top:1px solid var(--line);padding-top:12px;justify-content:space-between;align-items:center;gap:8px;margin:0}
.visual-home-card .btn{padding:5px 0;background:transparent;color:#243047;border:0;font-size:12px;min-height:44px}
.visual-home-card label{font-size:11px;white-space:nowrap}
.visual-dates{background:#eeede8;border-block:1px solid #dfdfd7}.photo-home .visual-dates .wrap{padding-block:36px}
.portfoliosearch{margin:0;min-width:0}.portfoliosearch h2{font-size:30px}.portfoliosearch>p{font-size:14px}
.visual-restday{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center}
.restday-photo{display:block;position:relative;overflow:hidden;border-radius:7px}.restday-photo img{width:100%;height:390px;object-fit:cover}
.restday-photo span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#101a27c2);padding:32px 20px 17px;font-size:11px;color:#fff}
.visual-restday p{max-width:420px;font-size:15px;line-height:1.8}
.visual-reviews{background:#eaece7;color:var(--ink)}.visual-reviews .kicker{color:var(--accent)}.visual-reviews .reviewslide{background:#f9faf6;color:var(--ink);border-color:#d7dcd5;padding:32px;border-radius:8px}
.visual-reviews .reviewslide blockquote{font:400 25px/1.5 Georgia,serif;color:var(--ink)}
.visual-reviews .reviewslide .reviewauthor{color:var(--ink)}.visual-reviews .reviewslide .reviewmeta{color:var(--muted)}
.visual-reviews .reviewslide a,.visual-reviews .reviewsource{color:#53616b}.visual-reviews .stars{color:#826c4f}
.visual-reviews .reviewcontrols,.visual-reviews .reviewcontrols .small{color:#53616b}.visual-reviews .reviewcontrols button{border-color:#9ea7a5;color:#243047;background:transparent}
.visual-host{display:grid;grid-template-columns:1fr 200px;gap:70px;align-items:center;background:transparent}
.visual-host p{max-width:570px;font-size:15px}.visual-host .hostportrait{margin:0}.visual-host .hostportrait img{width:200px;height:220px;object-fit:cover;border-radius:7px}
.footer{padding:56px 5% 28px;background:#243047;color:#f6f5f1}.footer a,.footer p,.footer .small{color:#e1e3e6}.footer .legal{border-color:#657082;color:#d5d9df}
.footer .brand{color:#fff}.availability-footer-link{border-top:1px solid #657082;padding-top:18px;margin-top:24px;font-size:12px}
.propertytitle{margin:0}.propertytitle h1{font-size:clamp(36px,4vw,51px);letter-spacing:-1.5px;line-height:1.12;margin-bottom:13px}
.propertytitle .kicker{margin-bottom:13px}.propertysearchline{font-size:13px;color:var(--muted);margin-bottom:10px}
.propertytitle p{font-size:17px;line-height:1.6;max-width:820px}.propertymeta{margin-top:17px;gap:12px 24px}
.gallery{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));aspect-ratio:2.4;height:auto;gap:8px;border-radius:8px;overflow:hidden;margin-top:28px}
.gallery>button:first-child{grid-row:1/3}.gallery>button:not(.gallerymore){display:block!important;min-width:0;min-height:0;border-radius:0}
.gallery>button img{width:100%;height:100%!important;object-fit:cover;aspect-ratio:auto!important}.gallery .gallerymore{border-radius:5px;font-size:12px;bottom:14px;right:14px}
.property-video{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 24px;margin:24px 0;background:#eeede8;border:1px solid var(--line);border-radius:7px}
.property-video .kicker{margin-bottom:7px}.property-video h2{font-size:25px;margin:0 0 8px}.property-video p{font-size:13px;margin:0;max-width:510px}
.video-cta{font-size:12px;flex-shrink:0}.video-cta span{font-size:17px}
.subnav{gap:25px;font-size:12px;padding:20px 0;margin-bottom:10px;scrollbar-width:none}
.propertylayout{grid-template-columns:minmax(0,1fr) 300px;gap:56px}.propertycontent section{padding:35px 0;border-color:var(--line)}
.propertycontent h2{font-size:34px;line-height:1.16;letter-spacing:-.8px}.propertycontent>section>p{font-size:15px;line-height:1.75;max-width:680px}
.propertycontent .kicker{font-size:9px}.bookingbox{top:24px;padding:25px;border-radius:8px;border:1px solid #d7dcd9;box-shadow:0 8px 26px #24304708;background:#fff;margin-top:35px}
.bookingbox h3{font-size:29px}.bookingbox .kicker{font-size:9px;margin-bottom:15px}.bookingbox .small{font-size:12px}.bookingbox .btn{font-size:12px}
.worldgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 22px}
.worldcard{background:transparent;border:0;border-radius:0;overflow:visible}.worldcard>img{height:auto!important;aspect-ratio:3/2;object-fit:cover;border-radius:7px}
.worldcard>div{padding:17px 0 0!important}.worldcard h3{font-size:25px;margin-bottom:8px;line-height:1.2}
.worldcard .textlink{font-size:12px;padding:5px 0;min-height:38px}
.story-details,.room-layout-details,.photo-caption-details,.feature-details,.stay-practical{border:0;padding:8px 0}
.story-details summary,.room-layout-details summary,.photo-caption-details summary,.feature-details summary,.stay-practical>summary{color:#53616b;font-size:13px;text-decoration:underline;text-underline-offset:4px;min-height:44px;align-content:center}
.photo-caption-details{padding:0}.photo-caption-details p{font-size:14px;line-height:1.65;margin:8px 0 14px}
.stay-practical{border-bottom:1px solid var(--line);padding:20px 0}.stay-practical>section{border:0}
.roomphotos{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.roomphotos figure{border-radius:7px;overflow:hidden}
.room-layout-details .sleepgrid{margin-bottom:18px}.experiencecta{padding:24px;background:#eeede8;border-radius:7px;margin-block:28px}.experiencecta h3{font-size:28px}
.financialsummary{border-color:var(--line);border-radius:7px}.compactfees{font-size:13px;line-height:1.7}.widgetframe{border-color:var(--line);border-radius:8px}
.video-tour-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.video-tour-card{display:block;text-decoration:none;background:transparent;border:0}.video-preview{position:relative;overflow:hidden;border-radius:7px}
.video-preview img{width:100%;height:280px;object-fit:cover}.video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#fff;color:#243047;font-size:21px;padding-left:3px;box-shadow:0 4px 20px #0003}
.video-label{display:flex;justify-content:space-between;align-items:start;gap:20px;padding-top:20px}.video-label strong{font:400 27px/1.2 Georgia,serif}.video-label>span{font-size:12px;color:#53616b;text-decoration:underline;text-underline-offset:5px}
.stay-header{max-width:1270px;margin:auto;padding:22px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:18px}
.stay-brand{display:flex;align-items:center;gap:10px;font:25px/1.2 Georgia,serif;text-decoration:none}
.stay-brand img{width:48px;height:30px;object-fit:contain}.stay-header nav{display:flex;gap:24px;font-size:14px}
.stay-page{max-width:960px;padding-top:32px}.stay-page h1{font-size:42px;margin:25px 0}.stay-back{font-size:13px;color:#536578;text-decoration:none}
.stay-request{padding:0 0 16px;border-bottom:1px solid var(--line)}.stay-request p:first-child{font-size:17px;color:var(--ink)}
.stay-request p:last-child{font-size:12px;margin-bottom:0}.stay-result{padding:28px;border-radius:12px;margin:24px 0;background:#fff}
.stay-result h2{font-size:29px;margin-bottom:14px}.stay-result h2 a{text-decoration:none}.stay-result>p:first-of-type{font-weight:600;color:#294e3a}
.stay-result .btn{margin-top:10px}.change-stay{margin-top:26px}.change-stay>summary{font-weight:600;min-height:48px}
.stay-footer{border-top:1px solid var(--line);margin-top:32px;padding-top:22px;font-size:12px}.stay-footer p{max-width:650px}
.availability-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.availability-month{padding:16px!important;border:1px solid var(--line)!important;border-radius:10px;background:#fff}
.availability-month h3{font:600 16px/1.4 Arial,sans-serif;margin-bottom:14px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.month-grid>span{min-height:36px;display:grid;place-content:center;font-size:13px;border-radius:5px}.month-grid .weekday{color:#626a73;font-size:11px}
.night-open{background:#e5efe4;color:#254d32}.night-blocked{background:#f0f0ed;color:#92958e;text-decoration:line-through}.calendar-legend{display:flex;gap:20px;font-size:12px;margin:18px 0}

@media(max-width:1100px){
 .photo-hero{gap:32px;padding-block:40px 48px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
 .photo-hero-copy h1{font-size:45px;letter-spacing:-1.4px}.hero-photo-grid{grid-template-rows:290px 125px}
 .hero-photo>span{font-size:15px}.hero-photo-main>span{font-size:22px}
 .wrap,.pageintro{padding-inline:32px}.photo-home .wrap{padding-block:48px}
 .visual-homes .grid{gap:20px}.visual-home-card h3{font-size:25px}.visual-home-card .cardmedia,.visual-home-card .cardswiper,.visual-home-card .cardslide{height:250px}
 .visual-home-card .actions{flex-wrap:wrap}.visual-restday{gap:36px}.propertylayout{grid-template-columns:minmax(0,1fr);gap:0}.bookingbox{display:none}
 .property-video{gap:18px}.property-video h2{font-size:23px}.video-label{display:block}.video-label>span{display:block;margin-top:10px}
}
@media(min-width:701px) and (max-width:900px){.photo-hero{grid-template-columns:1fr}.photo-hero-copy{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:0 32px;align-items:end}.photo-hero-copy .kicker,.photo-hero-copy h1{grid-column:1}.photo-hero-copy p,.photo-hero-copy .actions{grid-column:2}.photo-hero-copy h1{grid-row:2/4}.hero-photo-grid{grid-template-columns:1.5fr 1fr;grid-template-rows:180px 180px}.hero-photo-main{grid-column:1;grid-row:1/3}.visual-homes .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-homes .grid .card:last-child:nth-child(odd){grid-column:auto;max-width:none;justify-self:stretch}}
@media(max-width:700px){
 .sitehead,body:has(.photo-home) .sitehead{height:78px;padding:0 22px}.brand,body:has(.photo-home) .brand{font-size:23px;gap:8px}
 .brand-emblem{width:35px;height:28px}.brand-emblem img{width:66px;height:41px;left:-15px}.brand-wordmark small{font-size:7px;letter-spacing:1.5px}
 .nav{top:78px!important;padding:20px 22px;gap:2px}.nav.open,body:has(.photo-home) .nav.open{background:var(--paper);color:var(--ink)}.nav a{font-size:14px}
 .wrap,.pageintro{padding-inline:22px}.wrap{padding-block:42px}.pageintro{padding-top:25px;padding-bottom:40px}
 .photo-hero{display:flex;flex-direction:column;align-items:stretch;gap:26px;padding:30px 22px 36px}
 .photo-hero-copy{display:block;max-width:none}.photo-hero-copy .kicker{font-size:8px;letter-spacing:1.3px;margin-bottom:18px}
 .photo-hero-copy h1{font-size:clamp(34px,9.5vw,42px);line-height:1.08;letter-spacing:-1.4px;margin-bottom:19px}
 .photo-hero-copy p{font-size:14px;line-height:1.7;max-width:340px}.photo-hero-copy .actions{margin-top:22px;gap:12px;display:flex}
 .photo-hero-copy .btn{font-size:12px;padding:12px 16px}.hero-photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:240px 130px;gap:8px}
 .hero-photo-main{grid-column:1/3;grid-row:1}.hero-photo>span{font-size:14px;left:12px;bottom:12px}.hero-photo small{font-size:10px;letter-spacing:0}
 .hero-photo-main>span{font-size:23px;left:17px;bottom:18px}.hero-photo-main small{font-size:11px}
 .photo-home .wrap{padding-block:40px}.photo-home h2,.visual-homes .sectiontop h2{font-size:32px;letter-spacing:-.7px}
 .sectiontop{display:block;margin-bottom:25px}.visual-homes .sectiontop>.textlink{display:inline-block;margin-top:16px}
 .visual-homes .grid{grid-template-columns:1fr;gap:36px}.visual-homes .grid .card:last-child:nth-child(odd){grid-column:auto;max-width:none}
 .visual-home-card .cardmedia,.visual-home-card .cardswiper,.visual-home-card .cardslide{height:300px}
 .visual-home-card .cardbody{padding-top:19px}.visual-home-card h3{font-size:29px}.visual-fit{min-height:0;font-size:14px!important}
 .visual-home-card .actions{flex-wrap:nowrap}.visual-home-card .cardrating{font-size:11px}
 .visual-restday,.visual-host{grid-template-columns:1fr;gap:28px}.restday-photo img{height:285px}.visual-host .hostportrait{display:none}
 .visual-reviews .reviewslide{padding:25px}.visual-reviews .reviewslide blockquote{font-size:23px}
 .footer{padding:40px 22px 24px}.footgrid{gap:24px}.footer .brand{font-size:28px}
 .propertytitle h1{font-size:35px;letter-spacing:-1px}.propertytitle p{font-size:16px}.propertymeta{gap:10px;margin-top:16px}
 .gallery{grid-template-columns:1fr 1fr;grid-template-rows:240px 118px;aspect-ratio:auto;gap:6px;margin-top:22px}
 .gallery>button:first-child{grid-column:1/3;grid-row:1}.gallery>button:nth-child(n+4):not(.gallerymore){display:none!important}
 .gallery .gallerymore{bottom:9px;right:9px;font-size:11px;padding:10px 12px}
 .property-video{display:block;padding:21px;margin:20px 0}.property-video h2{font-size:25px}.video-cta{display:flex;margin-top:17px;font-size:12px}
 .subnav{gap:22px;padding-block:18px}.propertycontent section{padding-block:28px}.propertycontent h2{font-size:30px}
 .worldgrid{grid-template-columns:1fr;gap:26px}.worldcard h3{font-size:26px}.worldcard>img{aspect-ratio:3/2}
 .roomphotos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.roomphotos figure b{font-size:13px}
 .video-tour-grid{grid-template-columns:1fr;gap:28px}.video-preview img{height:240px}.video-label strong{font-size:26px}
 .stay-header{padding:18px 22px}.stay-brand{font-size:21px}.stay-brand img{width:34px}.stay-header nav{gap:12px;font-size:12px}.stay-header nav a:last-child{display:none}
 .stay-page h1{font-size:34px}.stay-result{padding:22px}.stay-result h2{font-size:26px}.availability-months{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.hero-photo img,.btn{transition:none}}


/* Booking: a single, compact form with progressive disclosure. */
.stay-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 16px;padding:26px;background:#fff;border:1px solid var(--line);border-radius:8px;margin:24px 0 16px;min-width:0}
.stay-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600;color:var(--ink);min-width:0}
.stay-form label:first-child{grid-column:span 2}.stay-form label:nth-child(2),.stay-form label:nth-child(3){grid-column:span 1}
.stay-form input,.stay-form select{box-sizing:border-box;width:100%;min-width:0;min-height:48px;border:1px solid #bfc5c7;border-radius:4px;padding:10px 12px;background:#fff;color:var(--ink);font:15px Arial,sans-serif}
.stay-form .btn{grid-column:1/-1;margin:4px 0 0;cursor:pointer}.stay-form .guest-help{grid-column:1/-1;border:0;padding:0;margin:0}.guest-help summary{font-size:12px;color:var(--muted);min-height:32px}.guest-help p{margin:10px 0 0}
.availability-support{font-size:13px;margin:16px 0}.availability-support a{text-underline-offset:4px}.provider-calendar{margin-top:20px;border-top:1px solid var(--line);padding-top:10px}.provider-calendar summary{font-size:13px;min-height:44px;align-content:center}.provider-calendar .widgetframe{margin-top:16px}
.inlineavailability .stay-form{grid-template-columns:repeat(4,minmax(0,1fr));padding:22px}.change-stay{scroll-margin-top:30px}.stay-result>.btn{margin-top:16px}
@media(max-width:700px){.stay-form,.inlineavailability .stay-form{grid-template-columns:repeat(2,minmax(0,1fr));padding:20px;gap:16px 12px}.stay-form label:first-child{grid-column:1/-1}.stay-form label:nth-child(2),.stay-form label:nth-child(3){grid-column:span 1}.stay-form .btn{width:100%}}
.readable-availability{margin:32px 0;padding:24px;border:1px solid var(--line);border-radius:12px}.stay-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.stay-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600}.stay-form input,.stay-form select{box-sizing:border-box;min-width:0;width:100%;min-height:48px;border:1px solid #72847c;border-radius:6px;background:white;color:var(--ink);padding:10px;font:inherit;font-size:16px}.stay-form .btn{align-self:end;min-height:48px}.stay-form p{grid-column:1/-1}.calendar-scroll{overflow-x:auto}.calendar-scroll table{width:100%;border-collapse:collapse;font-size:14px}.calendar-scroll th,.calendar-scroll td{padding:10px;text-align:left;border-bottom:1px solid var(--line)}.calendar-scroll caption{text-align:left;font-weight:600;margin:16px 0}@media(max-width:700px){.stay-form{grid-template-columns:repeat(2,minmax(0,1fr))}.stay-form label:first-child,.stay-form .btn{grid-column:1/-1}.readable-availability{padding:16px}.calendar-scroll table{min-width:550px}}
/* Cinematic Retreat: approved hospitality design, shared across static and server pages. */
:root{--ink:#242424;--paper:#fff;--white:#fff;--muted:#535353;--line:#dededb;--accent:#94642d;--sand:#f5f5f2;--lilac:#f5f5f2;--radius:0}
html{scroll-behavior:smooth}body,.frame{background:#fff;color:var(--ink)}body{font:16px/1.65 Inter,Arial,Helvetica,sans-serif}.frame{max-width:none;container-type:normal}*{box-sizing:border-box}img{max-width:100%}a{text-underline-offset:5px}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif;font-weight:400;line-height:1.15;letter-spacing:-.9px;color:var(--ink)}h1{font-size:clamp(36px,4.2vw,60px)}h2{font-size:clamp(30px,3.1vw,43px)}h3{font-size:27px}p,.small{color:var(--muted)}.small{font-size:14px;line-height:1.65}.wrap,.pageintro{width:100%;max-width:1360px;padding-inline:48px;margin-inline:auto}.wrap{padding-block:64px}.pageintro{padding-top:38px;padding-bottom:64px}.kicker{font:600 11px/1.6 Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;color:#4c4c46}.kicker:after{content:'';display:block;width:32px;height:2px;background:var(--accent);margin-top:15px}.btn,.btn.outline,.btn.light{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid #242424;border-radius:0;padding:12px 22px;font:400 15px/1.5 Arial,sans-serif;letter-spacing:0;box-shadow:none;text-decoration:none;cursor:pointer}.btn{background:#242424;color:#fff}.btn.outline{background:#fff;color:#242424}.btn.light{background:#fff;color:#242424}.btn:hover{background:#454545;color:#fff;filter:none}.btn:disabled{background:#eee;color:#6a6a6a;border-color:#ddd;cursor:wait}.textlink{color:#333;font-size:15px}.actions{gap:20px}.skip-link{position:absolute;top:-100px;left:16px;z-index:200}.skip-link:focus{top:12px;background:white;padding:12px;border:2px solid #242424}.sitehead,body:has(.photo-home) .sitehead{height:88px;max-width:1440px;margin:auto;padding:0 48px;background:#fff;border-bottom:1px solid #e6e6e3;position:relative;color:#242424;z-index:20}.brand,body:has(.photo-home) .brand{font:400 22px/1.3 'Cormorant Garamond',Georgia,serif;letter-spacing:1.2px;text-transform:uppercase;color:#242424;gap:16px}.brand-emblem{width:58px;height:43px;position:relative;overflow:hidden}.brand-emblem img{width:103px;height:63px;left:-22px;top:0;position:absolute;max-width:none}.brand-wordmark{border-left:1px solid #b6b6b0;padding-left:18px}.nav{display:flex;gap:30px;align-items:center}.nav a{font-size:14px}.sitehead .nav .btn{background:#242424;color:white;border-color:#242424;padding-inline:20px}.mobile-nav{display:none}.menu{display:none!important}
.cinema-hero{position:relative;max-width:1440px;height:560px;margin:auto;isolation:isolate}.cinema-hero>img{width:100%;height:100%;object-fit:cover;object-position:center 58%}.cinema-hero:after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(0,0,0,.40),rgba(0,0,0,.14) 43%,transparent 68%)}.cinema-hero-copy{position:absolute;left:max(48px,6%);top:50%;transform:translateY(-40%);z-index:1;max-width:680px;color:white}.cinema-hero-copy .kicker,.cinema-hero-copy h1,.cinema-hero-copy p{color:#fff}.cinema-hero-copy h1{font-size:clamp(42px,4.25vw,62px);margin:24px 0 18px;letter-spacing:-1.6px;font-weight:400}.cinema-hero-copy>p:last-child{font-size:17px;line-height:1.7}.cinema-search.wrap{padding-block:26px 22px;border-bottom:1px solid var(--line);text-align:center}.booking-assurance{font-size:12px;text-align:center;line-height:1.5;margin:10px 0;color:#555}.availability-support{display:inline-block;font-size:13px;text-underline-offset:4px;margin:8px 0}.cinema-collection.wrap{padding-top:40px}.cinema-collection .sectiontop{align-items:end;gap:30px;margin-bottom:30px}.cinema-collection h2{margin:0 0 14px;font-size:42px}.cinema-collection p{margin:0}.grid{gap:28px}.cinema-collection .grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cinema-card{background:none;border:0;border-radius:0;box-shadow:none;overflow:visible;min-width:0}.cinema-card-photo{display:block;overflow:hidden;aspect-ratio:3/2}.cinema-card-photo img{width:100%;height:100%;object-fit:cover;border-radius:0}.cinema-card .cardbody{padding:16px 0 0}.cinema-card h3{font-size:27px;margin:0 0 8px;line-height:1.25}.cinema-card h3 a{text-decoration:none}.cinema-resort{font-size:10px;letter-spacing:1.7px;text-transform:uppercase;color:#333;margin:0 0 8px!important}.cinema-specs{font-size:14px;color:#454545;margin:8px 0!important}.cinema-fit{font-size:14px;line-height:1.6;margin:10px 0!important}.cinema-card-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:10px;font-size:14px}.cinema-card-links>a{min-height:40px;align-content:center}.compare-choice{display:inline-flex;align-items:center;gap:6px;min-height:40px;font-size:13px;color:#555}.compare-choice input{width:16px;height:16px;accent-color:#333}.cinema-home .visual-restday{border-top:1px solid var(--line)}.cinema-home .visual-reviews{background:#f6f6f3}.cinema-home .hostportrait img,.cinema-home .restday-photo,.video-preview,.worldcard img,.property-video{border-radius:0}.video-label strong{font-size:25px}.footer{background:#222;color:#fff;border-radius:0;padding:56px max(32px,5%);margin-top:24px}.footer p,.footer .small,.footer a{color:#eee}.footer .brand{font-size:28px;letter-spacing:0;text-transform:none;display:block;color:#fff;border:0}.availability-footer-link{border-color:#666}.tint{background:#f6f6f3}.notice{background:#f6f6f3;border-left-color:#94642d;border-radius:0}.card,.financialsummary,.bookingbox,.property-video,.experiencecta,.stayvalue,.amenitygroup{border-radius:0;box-shadow:none}
/* Forms: native GET + native details, with no-JS access to every occupancy category. */
.stay-form.cinema-form{position:relative;display:grid;grid-template-columns:minmax(150px,1.05fr) minmax(260px,1.7fr) minmax(150px,1fr) auto;gap:20px;padding:0;border:0;border-radius:0;background:#fff;margin:0;text-align:left;align-items:end;min-width:0}.cinema-form label{display:flex;flex-direction:column;gap:5px;min-width:0;color:#333;font:400 12px/1.4 Arial,sans-serif}.cinema-form .home-field{grid-column:auto}.cinema-form select,.cinema-form input{font:400 16px/1.4 Arial,sans-serif;background:#fff;color:#252525;border:1px solid #b7b7b2;border-radius:0;width:100%;min-width:0;height:47px;padding:10px}.cinema-form .date-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:0;padding:0;margin:0;min-width:0}.date-fields legend{font:400 12px/1.4 Arial,sans-serif;color:#333;padding:0;margin-bottom:6px}.cinema-form .date-fields label{font-size:11px;gap:5px}.cinema-form .date-fields input{font-size:15px;padding:9px 6px}.guest-picker{position:relative;margin:0;padding:0;border:0;align-self:end;min-width:0}.guest-picker summary{font-size:16px;line-height:1.5;min-height:71px;padding:0;cursor:pointer;display:flex;flex-direction:column;gap:6px;list-style:none}.guest-picker summary::-webkit-details-marker{display:none}.guest-picker .field-label{font-size:12px;color:#333}.guest-picker [data-guest-summary]{border:1px solid #b7b7b2;min-height:47px;padding:10px 26px 10px 10px;position:relative;display:flex;align-items:center;font-size:15px;line-height:1.45}.guest-picker [data-guest-summary]:after{content:'⌄';position:absolute;right:10px;top:9px}.guest-fields{position:absolute;z-index:15;top:calc(100% + 8px);right:0;background:#fff;border:1px solid #aaa;box-shadow:0 10px 30px #0002;width:300px;padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.guest-fields p{grid-column:1/-1;margin:0;font-size:12px}.cinema-form .btn{grid-column:auto;margin:0;height:47px;min-height:47px;white-space:nowrap}.cinema-form .guest-help{grid-column:1/-1;border:0;padding:0;margin:0}.guest-help summary{font-size:12px;min-height:30px;color:#555}.guest-help p{font-size:13px}.cinema-form .form-status{grid-column:1/-1;margin:0;min-height:0}.form-status:empty{display:none}.cinema-form.fixed-home{grid-template-columns:minmax(260px,1.5fr) minmax(150px,1fr) auto}.portfoliosearch{padding:25px 0}.portfoliosearch h2{margin-bottom:25px}.guest-picker[open]{z-index:16}.guest-picker:focus-within summary{outline-offset:3px}
/* Property gallery and a single booking panel. */
.propertytitle{padding:0;margin:0 0 22px}.propertytitle h1{margin:20px 0 10px;font-size:clamp(36px,4vw,54px)}.propertytitle .propertysearchline{font-size:16px;color:#444}.cinema-property-feature{font-size:16px!important;margin:8px 0}.propertytitle>.textlink{font-size:13px}.gallery.cinema-gallery{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);grid-template-rows:1fr 1fr;aspect-ratio:2.55;height:auto;gap:8px;margin:0;border-radius:0}.cinema-gallery>button:first-child{grid-row:1/3}.cinema-gallery>button:not(.gallerymore){border-radius:0;padding:0;min-height:0;min-width:0}.cinema-gallery>button>img{width:100%;height:100%;object-fit:cover}.cinema-gallery .gallerymore{background:#242424;color:white;border:0;border-radius:0;padding:12px 18px;bottom:16px;right:16px;min-height:44px}.property-tour-link{font-size:14px;margin:20px 0}.subnav{padding:20px 0;margin:0;border-bottom:1px solid var(--line);gap:26px;position:static;overflow-x:auto;white-space:nowrap}.subnav a{font-size:14px;padding:8px 0;min-height:44px}.propertylayout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:44px;align-items:start}.propertylayout>.propertycontent{grid-column:1;grid-row:1;min-width:0}.propertylayout>.cinema-booking{grid-column:2;grid-row:1}.bookingbox.cinema-booking{position:sticky;top:24px;padding:24px;border:1px solid var(--line);margin-top:28px;box-shadow:none;border-radius:0;background:#fff;z-index:5}.cinema-booking h2{font-size:31px;margin:0 0 20px}.cinema-booking h2:after{content:'';display:block;width:30px;height:2px;background:var(--accent);margin-top:12px}.cinema-booking .cinema-form.fixed-home{display:flex;flex-direction:column;align-items:stretch;gap:16px}.cinema-booking .date-fields input{font-size:14px}.cinema-booking .guest-picker{align-self:stretch}.cinema-booking .guest-fields{width:100%;min-width:250px;right:0}.cinema-booking .btn{width:100%}.cinema-booking .booking-assurance{font-size:12px}.cinema-booking .small{font-size:12px}.cinema-booking .availability-support{display:block;text-align:center;font-size:13px}.cinema-booking details.financialdetails,.cinema-booking details.provider-calendar{border:0;border-top:1px solid var(--line);padding:12px 0 0;margin-top:14px}.cinema-booking details>summary{font-size:13px;min-height:36px}.cinema-booking .financialsummary{padding:14px 0;border:0}.cinema-booking .financialsummary h3{font-size:23px}.cinema-booking dl div{display:block}.cinema-booking dd{margin:5px 0 12px}.provider-calendar .widgetframe{height:600px}.propertycontent section{padding-block:32px}.propertycontent h2{font-size:34px}.propertycontent>section>p{font-size:16px}.propertycontent .specs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.propertycontent .specs span{font-size:13px;border:1px solid var(--line);padding:7px 10px;border-radius:0;background:white}.story-details summary,.room-layout-details summary,.photo-caption-details summary,.feature-details summary,.stay-practical>summary{font-size:15px;min-height:44px;color:#333}.roomphotos{gap:16px}.roomphotos img,.roomphotos figure{border-radius:0}.worldgrid{gap:30px 24px}.worldcard h3{font-size:26px}.worldcard .textlink{min-height:44px;display:inline-flex;align-items:center}.stay-practical,.financialdetails{border-radius:0}.experiencecta{background:#f6f6f3}.stickycta{display:none!important}.widgetframe iframe{width:100%;height:100%;border:0}
/* Stay search uses the same typography and controls. */
.stay-header{max-width:1360px;padding:24px 48px}.stay-brand{font-size:24px;letter-spacing:.5px;text-transform:uppercase}.stay-header nav a{font-size:14px}.stay-page{max-width:1040px;padding-top:30px}.stay-page h1{font-size:44px}.stay-request p:first-child{font-size:20px}.stay-request .stay-party{font-size:16px}.stay-request p:last-child{font-size:13px}.stay-result{background:#fff;border:1px solid var(--line);padding:30px;margin:24px 0}.stay-result h2{font-size:32px;margin:0 0 18px}.stay-result>p:first-of-type{font-weight:500;font-size:18px;color:#2a4938}.stay-result h2 a{text-decoration:none}.stay-result .btn{margin-top:20px}.change-stay{border-top:1px solid var(--line);padding-top:22px;margin:26px 0}.change-stay>summary{min-height:44px;cursor:pointer}.change-stay .stay-form{margin-top:22px}.stay-footer{font-size:13px;border-top:1px solid var(--line);margin-top:36px;padding-top:22px}.availability-months{gap:28px}.calendar-day{border-radius:0}.night-open{background:#e8f0eb;color:#183b27}.calendar-scroll{overflow:auto}.stay-page details:not(.guest-picker){border-radius:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #87602e;outline-offset:4px}summary{cursor:pointer}a,button,input,summary,select{-webkit-tap-highlight-color:#eee} @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(max-width:1100px){.sitehead{padding-inline:28px}.nav{gap:18px}.brand{font-size:19px}.wrap,.pageintro{padding-inline:28px}.cinema-hero{height:500px}.cinema-hero-copy{left:40px}.cinema-hero-copy h1{font-size:49px}.cinema-form.stay-form{gap:14px;grid-template-columns:1fr 1.7fr 1fr}.cinema-form .btn{grid-column:1/-1}.cinema-form.fixed-home{grid-template-columns:1.6fr 1fr auto}.cinema-form.fixed-home .btn{grid-column:auto}.propertylayout{grid-template-columns:minmax(0,1fr) 290px;gap:28px}.bookingbox.cinema-booking{padding:20px}.cinema-gallery{aspect-ratio:2.3!important}.cinema-card h3{font-size:24px}}
@media(max-width:800px){.sitehead{height:76px;padding-inline:22px}.brand{font-size:18px;gap:10px;letter-spacing:.5px}.brand-emblem{width:42px;height:34px}.brand-emblem img{width:80px;height:49px;left:-17px}.brand-wordmark{padding-left:12px}.sitehead>.nav{display:none!important}.mobile-nav{display:block;position:static;border:0;padding:0;margin:0}.mobile-nav>summary{font:14px Arial,sans-serif;min-height:44px;display:flex;align-items:center;gap:10px;list-style:none}.mobile-nav>summary::-webkit-details-marker{display:none}.mobile-nav nav{position:absolute;z-index:30;left:0;right:0;top:76px;padding:18px 24px;background:white;border-bottom:1px solid var(--line);box-shadow:0 12px 18px #0001;display:flex;flex-direction:column;gap:5px}.mobile-nav nav a{min-height:44px;padding:10px;text-decoration:none}.wrap,.pageintro{padding-inline:22px}.propertylayout{display:flex;flex-direction:column;gap:0}.propertylayout>.cinema-booking{position:static;order:0;width:100%;margin:24px 0 0;padding:22px}.propertylayout>.propertycontent{order:1;width:100%}.cinema-booking .cinema-form.fixed-home{display:grid;grid-template-columns:1.5fr 1fr}.cinema-booking .cinema-form .btn{grid-column:1/-1}.cinema-booking .guest-fields{width:290px}.gallery.cinema-gallery{aspect-ratio:2.15!important}.propertytitle h1{font-size:40px}.propertytitle .kicker{font-size:10px}.cinema-hero{height:450px}.cinema-hero-copy h1{font-size:43px}.cinema-hero-copy{left:28px;right:25px}.cinema-collection .grid{grid-template-columns:1fr;gap:38px}.cinema-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px;align-items:start}.cinema-card .cardbody{padding-top:0}.cinema-collection .sectiontop{display:block}.cinema-collection .sectiontop>.textlink{display:inline-block;margin-top:18px}.cinema-collection h2{font-size:36px}.cinema-fit{font-size:14px}.cinema-home .visual-restday{gap:30px}.stay-header{padding:20px 22px}.stay-brand{font-size:20px}.stay-header nav{gap:15px}.stay-page{padding-top:26px}.stay-page h1{font-size:36px}.stay-form.cinema-form{grid-template-columns:1fr 1.6fr}.cinema-form .guest-picker{grid-column:1}.cinema-form .btn{grid-column:2}.cinema-form.fixed-home{grid-template-columns:1.6fr 1fr}.cinema-form.fixed-home .guest-picker{grid-column:2}.cinema-form.fixed-home .btn{grid-column:1/-1}.cinema-form .guest-fields{right:auto;left:0}.cinema-booking .guest-fields{left:auto;right:0}.footer{padding:44px 24px}}
@media(max-width:520px){.sitehead{height:74px;padding:0 18px}.brand{font-size:15px;letter-spacing:1px;gap:8px}.brand-wordmark{max-width:175px;font-size:16px;border:0;padding:0}.mobile-nav>summary{font-size:0;gap:0}.mobile-nav>summary span{font-size:22px}.mobile-nav nav{top:74px}.cinema-hero{height:auto;display:flex;flex-direction:column}.cinema-hero>img{height:235px;object-position:center}.cinema-hero:after{display:none}.cinema-hero-copy{position:static;transform:none;background:#252525;max-width:none;padding:24px 22px;left:auto;top:auto}.cinema-hero-copy .kicker{font-size:9px;margin:0 0 14px}.cinema-hero-copy .kicker:after{margin-top:10px;width:26px}.cinema-hero-copy h1{font-size:35px;line-height:1.12;letter-spacing:-.8px;margin:0 0 14px}.cinema-hero-copy>p:last-child{font-size:14px;margin:0;line-height:1.6}.cinema-hero-copy br{display:none}.cinema-search.wrap{padding:22px}.stay-form.cinema-form,.cinema-form.fixed-home{display:flex;flex-direction:column;align-items:stretch;gap:16px}.cinema-form .home-field{display:flex;flex-direction:column}.cinema-form .date-fields{grid-template-columns:1fr 1fr}.cinema-form .date-fields input{font-size:15px;padding:10px 5px}.guest-picker{align-self:stretch}.guest-picker summary{min-height:69px}.guest-fields{position:static;width:100%!important;min-width:0!important;box-shadow:none;margin-top:10px;padding:16px;background:#f7f7f4}.cinema-form .btn{width:100%}.cinema-form .guest-help{margin-top:-4px}.booking-assurance{font-size:11px}.cinema-collection.wrap{padding-block:34px 40px}.cinema-collection h2{font-size:31px}.cinema-collection .sectiontop{margin-bottom:24px}.cinema-collection .sectiontop p{font-size:14px}.cinema-card{display:block}.cinema-card .cardbody{padding-top:14px}.cinema-card h3{font-size:28px}.cinema-card .cinema-card-photo{aspect-ratio:1.7}.cinema-card .cinema-resort{font-size:10px}.cinema-specs{font-size:14px}.cinema-card-links{font-size:14px}.cinema-home .wrap{padding-inline:22px}.cinema-home .visual-restday,.cinema-home .visual-host{display:block}.cinema-home .visual-restday>div{padding-top:24px}.cinema-home .visual-host figure{margin-top:28px}.cinema-home .home-video-tours{padding-block:40px}.cinema-home .video-tour-grid{grid-template-columns:1fr}.cinema-home .video-preview img{height:auto;aspect-ratio:1.7}.cinema-home h2{font-size:31px}.pageintro{padding-top:24px;padding-bottom:36px}.propertytitle h1{font-size:34px;margin:16px 0 10px}.propertytitle .propertysearchline{font-size:14px}.cinema-property-feature{font-size:14px!important}.gallery.cinema-gallery{grid-template-columns:1fr 1fr;grid-template-rows:230px 105px auto;aspect-ratio:auto!important;gap:6px;overflow:visible}.cinema-gallery>button:first-child{grid-column:1/-1;grid-row:1}.cinema-gallery>button:nth-child(2){grid-row:2;grid-column:1}.cinema-gallery>button:nth-child(3){grid-row:2;grid-column:2}.cinema-gallery .gallerymore{position:static;grid-column:1/-1;grid-row:3;width:100%;margin-top:2px;min-height:44px}.subnav{gap:22px;font-size:13px;margin-top:12px}.subnav a{font-size:13px}.propertylayout>.cinema-booking{padding:22px 18px;margin-top:20px}.cinema-booking h2{font-size:29px;margin-bottom:20px}.cinema-booking .cinema-form.fixed-home{display:flex;flex-direction:column}.cinema-booking .date-fields input{font-size:15px}.propertycontent h2{font-size:29px}.propertycontent>section>p{font-size:15px}.propertycontent .specs{display:none}.roomphotos{grid-template-columns:repeat(2,minmax(0,1fr))}.worldgrid{grid-template-columns:1fr}.roomphoto figcaption small{font-size:12px}.worldcard h3{font-size:26px}.propertycontent section{padding-block:28px}.property-tour-link{font-size:13px}.stay-header{display:flex;align-items:center;padding:18px}.stay-brand{font-size:17px;gap:6px}.stay-brand img{width:33px;height:26px}.stay-header nav{gap:10px}.stay-header nav a{font-size:12px}.stay-page{padding-inline:22px;padding-top:20px}.stay-page h1{font-size:33px;margin:22px 0}.stay-request p:first-child{font-size:17px}.stay-result{padding:22px 18px}.stay-result h2{font-size:28px}.stay-result>p:first-of-type{font-size:17px}.stay-result .btn{width:100%;font-size:14px}.stay-page h3{font-size:25px}.stay-footer p{font-size:12px}.availability-months{display:block}.availability-month{margin-bottom:28px}.calendar-day{min-height:40px}.calendar-scroll table{min-width:540px}.footgrid{gap:30px}.footer .brand{font-size:26px}.comparetable{overflow:auto}.comparetable table{min-width:650px}.modal{width:100%;max-width:100%;border-radius:0}.modalbody{padding:18px}.photo-content{max-width:100%}.cinema-home .visual-host .hostportrait{max-width:240px}.propertycontent .experiencecta{padding:22px}.stay-result ul{padding-left:20px}}

.stay-result[data-state="blocked"]>p:first-of-type{color:#763c2c}.stay-result[data-state="unknown"]>p:first-of-type{color:#535353}
/* Override legacy positional form selectors without changing native form behavior. */
.stay-form.cinema-form>.home-field{grid-column:auto}.stay-form.cinema-form>.btn{grid-column:auto}.stay-form.cinema-form .date-fields>label{grid-column:auto}
@media(max-width:1100px) and (min-width:801px){.stay-form.cinema-form:not(.fixed-home)>.btn{grid-column:1/-1}}
@media(max-width:800px) and (min-width:521px){.stay-form.cinema-form:not(.fixed-home)>.btn{grid-column:2}.stay-form.cinema-form.fixed-home>.btn{grid-column:1/-1}}
.bookingbox.cinema-booking{display:block}
/* Original-photo galleries: native scrolling works without JavaScript. */
.cinema-carousel{position:relative;min-width:0;overflow:hidden}.cinema-track{display:flex;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#888 #eee}.cinema-slide{flex:0 0 100%;min-width:0;display:block;scroll-snap-align:start;scroll-snap-stop:always;aspect-ratio:3/2}.cinema-slide img{width:100%;height:100%;object-fit:cover;display:block}.cinema-carousel-controls{position:absolute;bottom:14px;right:14px;display:flex;gap:5px;align-items:center;background:#242424ed;color:white;border-radius:0;z-index:4}.cinema-carousel-controls[hidden]{display:none}.cinema-carousel-controls button{width:44px;height:44px;border:0;background:transparent;color:#fff;font-size:22px;cursor:pointer}.cinema-carousel-controls button:hover{background:#555}.cinema-carousel-controls span{font:12px/1.5 Arial,sans-serif;min-width:40px;text-align:center}.cinema-carousel[data-enhanced] .cinema-track{scrollbar-width:none}.cinema-carousel[data-enhanced] .cinema-track::-webkit-scrollbar{display:none}.cinema-hero>.hero-carousel{width:100%;height:100%}.hero-carousel .cinema-track,.hero-carousel .cinema-slide{height:100%}.hero-carousel .cinema-slide{aspect-ratio:auto}.hero-carousel .cinema-slide img{object-position:center 58%}.cinema-hero:after{pointer-events:none}.hero-carousel .cinema-carousel-controls{z-index:5;bottom:22px;right:28px}.cinema-hero-copy{pointer-events:none}.cinema-card>.cinema-carousel{aspect-ratio:3/2}
@media(max-width:800px){.cinema-card>.cinema-carousel{width:100%}}
@media(max-width:520px){.cinema-hero>.hero-carousel{height:235px;flex:none}.hero-carousel .cinema-carousel-controls{bottom:10px;right:10px}.cinema-card>.cinema-carousel{aspect-ratio:1.7}.cinema-card .cinema-slide{aspect-ratio:1.7}}
/* Light edge controls: generous targets without an opaque control block. */
.cinema-carousel .cinema-carousel-controls{inset:0;background:transparent;display:block;pointer-events:none}.cinema-carousel .cinema-carousel-controls[hidden]{display:none}.cinema-carousel-controls button{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:56px;font-size:36px;font-weight:300;line-height:1;color:#fff;background:transparent;text-shadow:0 1px 6px #000,0 0 2px #000;pointer-events:auto}.cinema-carousel-controls button[data-carousel-step="-1"]{left:4px}.cinema-carousel-controls button[data-carousel-step="1"]{right:4px}.cinema-carousel-controls button:hover{background:#ffffff18}.cinema-carousel-controls span{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);min-width:42px;color:#fff;text-shadow:0 1px 5px #000,0 0 2px #000;font-size:12px}.cinema-carousel-controls button:focus-visible{outline:3px solid white;outline-offset:-5px;background:#0005}

.cinema-carousel-controls button{display:grid;place-items:center}.cinema-carousel-controls button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px #0009)}
.booking-policy{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.booking-policy h3{font:500 15px/1.5 Inter,Arial,sans-serif;margin:0 0 12px}.booking-policy dl{margin:0;font-size:13px;line-height:1.6}.booking-policy dl>div{padding:8px 0;border-bottom:1px solid #eee}.booking-policy dt{font-weight:600}.booking-policy dd{margin:3px 0 0!important;color:#555}.privacy-link{display:inline-block;margin:22px 0 0;font-size:14px}.privacy-page{max-width:960px}.privacy-page h2{font-size:30px}.review-full summary{font-size:14px;min-height:44px;cursor:pointer}.review-full p{font-size:16px;line-height:1.65}.mobile-booking-cta{display:none}.inline-stay-status{padding:10px 12px;background:#f5f5f2;border-left:2px solid #777;min-height:0}.inline-stay-status:empty{display:none}.inline-stay-status[data-state="available"]{border-color:#41634e}.inline-stay-status[data-state="blocked"]{border-color:#94533d}.stay-header .brand{font-size:21px}.stay-header .brand-emblem{flex-shrink:0}.reviewslide{align-self:flex-start}.reviewslide blockquote{font-size:clamp(19px,2vw,24px);line-height:1.5}
@media(max-width:800px){body:has(.mobile-booking-cta){padding-bottom:88px}.mobile-booking-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;z-index:25;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:12px 18px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -4px 18px #0001}.mobile-booking-cta>span{font-size:13px;line-height:1.4;max-width:45%}.mobile-booking-cta .btn{font-size:14px;padding-inline:16px;white-space:nowrap}.mobile-booking-cta[hidden]{display:none}body:has(#modalroot:not(:empty)) .mobile-booking-cta,body:has(.cinema-form input:focus) .mobile-booking-cta{display:none}.stay-header .brand{font-size:15px;letter-spacing:.4px}.stay-header .brand-emblem{width:36px;height:30px}.stay-header .brand-emblem img{width:70px;height:43px;left:-15px}.stay-header .brand-wordmark{max-width:180px;padding:0;border:0}.stay-header{gap:12px}}
.stay-estimate{padding-top:18px;border-top:1px solid var(--line);margin-top:20px}.stay-estimate h3{font:500 14px/1.5 Inter,Arial,sans-serif;letter-spacing:0;margin:0}.stay-estimate .estimate-amount{font:400 36px/1.2 'Cormorant Garamond',Georgia,serif;color:#242424;margin:10px 0}.stay-estimate p:last-child{font-size:14px;line-height:1.6;max-width:70ch}
@media(min-width:801px){.bookingbox.cinema-booking{max-height:calc(100dvh - 48px);overflow-y:auto;scrollbar-width:thin}}


/* Targeted gallery/review polish: preserve collection widths and hero composition. */
.card-photo-preview{min-width:0;aspect-ratio:3/2}.card-photo-grid{position:relative;display:grid;grid-template-columns:2.2fr 1fr;grid-template-rows:repeat(3,minmax(0,1fr));gap:4px;width:100%;height:100%;overflow:hidden}.card-photo-grid>img{width:100%;height:100%;min-height:0;object-fit:cover}.card-photo-grid>img:first-child{grid-row:1/4}.card-photo-label{position:absolute;right:8px;bottom:8px;padding:8px 10px;background:#fff;color:#222;font-size:12px;box-shadow:0 1px 5px #0002}.card-photo-grid:focus-visible{outline:3px solid #41634e;outline-offset:4px}.review-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.review-excerpt{min-width:0;padding:18px 0;border-top:1px solid var(--line)}.review-excerpt blockquote{font:400 23px/1.5 'Cormorant Garamond',Georgia,serif;margin:12px 0 18px}.review-excerpt .reviewauthor{font-size:14px;margin:10px 0 4px}.review-excerpt .reviewmeta{font-size:12px;margin:0 0 8px}.reviewsource{font-size:13px;display:inline-flex;align-items:center;min-height:44px}.all-guest-reviews{margin-top:22px;border-top:1px solid var(--line);padding-top:10px}.all-guest-reviews>summary{min-height:48px;cursor:pointer;font-size:15px}.review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px}.booking-policy a{text-underline-offset:3px}.visual-reviews{padding-block:40px!important}
@media(max-width:800px){.review-preview-grid{gap:20px}.review-excerpt blockquote{font-size:21px}.booking-policy dl>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px}.booking-policy dd{margin:0!important}.booking-policy{margin-top:16px;padding-top:14px}}
@media(max-width:520px){.card-photo-preview{aspect-ratio:1.7}.review-preview-grid,.review-list{grid-template-columns:1fr;gap:6px}.review-excerpt{padding:16px 0}.review-excerpt blockquote{font-size:22px;margin-bottom:12px}.visual-reviews{padding-block:30px!important}.booking-policy dl{font-size:13px}.booking-policy dl>div{padding:7px 0}.all-guest-reviews{margin-top:14px}}

.inline-estimate{font-size:14px;line-height:1.6;margin:12px 0}.cinema-form .inline-book{display:flex;width:100%;justify-content:center;margin-top:12px}.cinema-form .inline-secondary{background:white;color:#333;border:1px solid #777}.inline-stay-status{grid-column:1/-1}

.inline-estimate p{margin:8px 0}.inline-estimate .inline-amount{font:400 32px/1.2 Georgia,serif;color:#222;margin:10px 0}

/* Readable stay results with real property photography. */
.stay-result:has(.stay-result-photo){display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.6fr);column-gap:28px;align-items:start}.stay-result:has(.stay-result-photo)>:not(.stay-result-photo){grid-column:2}.stay-result .stay-result-photo{display:block;grid-column:1;grid-row:1/span 12;min-width:0;overflow:hidden}.stay-result-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.stay-result:has(.stay-result-photo) h2{margin-top:0}.stay-result-facts{font-size:14px!important;line-height:1.6;color:#555}.date-fields{min-width:0}.date-fields>label{min-width:0}.date-fields input[type="date"]{min-width:0;width:100%;font-size:16px;font-variant-numeric:tabular-nums}
@media(max-width:700px){.stay-result:has(.stay-result-photo){display:block}.stay-result-photo{margin-bottom:18px}.stay-result-photo img{aspect-ratio:16/10}.stay-result:has(.stay-result-photo) h2{margin-top:0}.cinema-form .date-fields input[type="date"],.cinema-booking .date-fields input[type="date"]{font-size:16px;padding:12px 7px;min-height:48px}}

/* A compact editorial result card: image, fit, stay status and price. */
.stay-page{max-width:1180px}.stay-request{padding-bottom:18px!important;margin-bottom:24px!important}.stay-request>p:first-child{font-size:23px;margin-bottom:6px}.stay-request .stay-party{font-size:15px}.stay-request>p:has(time){font-size:12px;color:#666;margin-block:8px}.stay-price-note{font-size:13px!important;max-width:80ch;color:#666;line-height:1.6;margin-bottom:0}.stay-page>h1{font-size:42px;margin-block:24px 18px}
.stay-result:has(.stay-result-photo){grid-template-columns:minmax(240px,38%) minmax(0,1fr);column-gap:26px;padding:0;overflow:hidden;margin-block:20px;border:1px solid #deded8;row-gap:0}.stay-result .stay-result-photo{height:100%;margin:0;grid-row:1/span 12}.stay-result-photo img{height:100%;min-height:300px;max-height:420px;aspect-ratio:auto;object-fit:cover}.stay-result:has(.stay-result-photo)>:not(.stay-result-photo){margin-right:24px}.stay-result:has(.stay-result-photo)>h2{font-size:31px;line-height:1.15;margin:24px 24px 8px 0}.stay-result h2 a{text-decoration:none}.stay-result-status{font-size:14px!important;font-weight:500!important;line-height:1.5;margin-block:8px!important}.stay-result[data-state="available"] .stay-result-status{color:#365844}.stay-result[data-state="blocked"] .stay-result-status{color:#7c4c3c}.stay-result-facts{font-size:13px!important;line-height:1.6;margin:4px 24px 12px 0!important}.stay-result .stay-estimate{border:0;padding:0;margin:12px 24px 14px 0}.stay-result .stay-estimate h3{font-size:12px;color:#555;font-weight:400}.stay-result .stay-estimate .estimate-amount{font-size:34px;margin:5px 0 8px}.stay-result .stay-estimate p:last-child{font-size:12px;line-height:1.5;margin-bottom:0;max-width:52ch}.stay-result>a.btn{justify-self:start;width:auto;min-width:170px;padding:13px 24px;font-size:14px;margin-bottom:20px}.stay-result>.booking-assurance{display:none}.stay-result>ul{font-size:14px;margin-top:0}.stay-result>.small{font-size:12px;line-height:1.5;margin-top:0;margin-bottom:14px}
@media(max-width:700px){.stay-page>h1{font-size:34px;margin-top:20px}.stay-request>p:first-child{font-size:19px}.stay-result:has(.stay-result-photo){padding:0;margin-block:20px}.stay-result .stay-result-photo{height:auto;margin:0}.stay-result-photo img{height:auto;min-height:0;max-height:none;aspect-ratio:16/10}.stay-result:has(.stay-result-photo)>:not(.stay-result-photo){margin-left:20px;margin-right:20px}.stay-result:has(.stay-result-photo)>h2{font-size:29px;margin:20px 20px 8px}.stay-result-facts{margin:6px 20px 12px!important}.stay-result .stay-estimate{margin:12px 20px 18px}.stay-result>a.btn{display:block;width:calc(100% - 40px);margin:0 20px 20px;text-align:center}.stay-result-status{font-size:14px!important}.stay-price-note{font-size:12px!important}}

.quote-breakdown{font-size:13px;margin-bottom:16px}.quote-breakdown summary{cursor:pointer;min-height:40px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:3px}.quote-breakdown ul{padding-left:18px;line-height:1.6}.stay-result .quote-breakdown{grid-column:2}
@media(max-width:700px){.stay-result .quote-breakdown{margin-inline:20px}}
