@font-face{font-family:Retreat Sans;src:url(/fonts/dm-sans.woff2)format("woff2");font-weight:300 700;font-display:swap}@font-face{font-family:Retreat Serif;src:url(/fonts/baskervville.woff2)format("woff2");font-display:swap}@font-face{font-family:Retreat Thai;src:url(/vendor/fonts.gstatic.com/s/prompt/v12/-W__XJnvUD7dzB2KbtodREEje60k.woff2)format("woff2");font-display:swap;unicode-range:U+E00-E7F}.koy-redesign{--cream:#fbf8f1;--sand:#f5eedf;--ink:#1b1b1b;--muted:#59544c;--accent:#a9764b;--line:#dacbb1;--sans:"Retreat Sans", "Retreat Thai", system-ui, sans-serif;--serif:"Retreat Serif", "Retreat Thai", Georgia, serif;--gutter:clamp(20px, 3.35vw, 76px);--header:clamp(62px, 5.6vw, 100px);--section:clamp(65px, 9vw, 158px);color:var(--ink);background:var(--cream);font:400 clamp(16px, 1.37vw, 23px)/1.5 var(--sans);min-width:0}body:has(.koy-redesign){margin:0}html:has(.koy-redesign){scroll-behavior:smooth;scroll-padding-top:105px}html:has(.koy-redesign dialog[open]){overflow:hidden}.koy-redesign *,.koy-redesign :before,.koy-redesign :after{box-sizing:border-box}.koy-redesign :is(.retreat-main,.retreat-header,.retreat-footer,dialog) :is(h1,h2,h3,h4){font-family:var(--serif);color:inherit;letter-spacing:-.035em;margin:0;font-weight:400}.koy-redesign .retreat-main h1{font-size:clamp(44px,5.45vw,108px);line-height:.99}.koy-redesign .retreat-main h2{font-size:clamp(36px,4.45vw,85px);line-height:1.01}.koy-redesign .retreat-main h3{font-size:clamp(24px,2.35vw,46px);line-height:1.1}.koy-redesign :is(.retreat-main,.retreat-footer,dialog) p{margin:0}.koy-redesign :is(.retreat-main,.retreat-header,.retreat-footer,dialog) a{color:inherit;text-decoration:none}.koy-redesign :is(.retreat-main,.retreat-header,.retreat-footer,dialog) img{max-width:100%;height:auto;display:block}.koy-redesign :is(button,input,select,textarea){font:inherit}.koy-redesign :focus-visible{outline-offset:4px;outline:2px solid #99703f}.koy-redesign button{cursor:pointer}.koy-redesign button:disabled{cursor:default;opacity:.52}.retreat-wrap{width:min(100%,1920px);padding-inline:var(--gutter);margin-inline:auto}.retreat-section{padding-block:var(--section)}.retreat-main{display:block}.retreat-skip,.retreat-sr{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.retreat-skip:focus{z-index:50;clip-path:none;background:var(--cream);width:auto;height:auto;padding:12px 20px;position:fixed;inset:12px auto auto 12px}.retreat-reveal.will-reveal{opacity:0;transition:opacity .7s,transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(27px)}.retreat-reveal.will-reveal.is-visible{opacity:1;transform:translateY(0)}.koy-redesign .retreat-button{appearance:none;width:fit-content;max-width:100%;min-height:56px;font:500 clamp(15px, 1.35vw, 22px)/1.2 var(--sans);text-align:center;white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:100vw;justify-content:center;align-items:center;gap:18px;padding:clamp(14px,1.75vw,27px) clamp(24px,3.32vw,60px);text-decoration:none;transition:box-shadow .22s,background-color .22s;display:inline-flex}.koy-redesign .retreat-button.compact{min-height:46px;padding:12px 22px;font-size:14px}.koy-redesign .retreat-button.copper{color:#fff;background:linear-gradient(23deg,#935e38,#b1845f);box-shadow:inset 0 1px 1px #f5d4ae66}.koy-redesign .retreat-button.glass{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff18;border-color:#ffffff62;box-shadow:inset 0 0 8px #ffffff16}.koy-redesign .retreat-button.line{color:#764e31;background:#fbf8f149;border-color:#cfb99b;box-shadow:inset 0 0 5px #a2815138}.koy-redesign .retreat-button:hover{box-shadow:inset 0 0 0 100px #fff2}.button-arrow{font-size:1.25em;line-height:.85}.retreat-header{z-index:20;width:100%;height:var(--header);padding-inline:var(--gutter);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbf8f1e8;justify-content:space-between;align-items:center;transition:background .3s;display:flex;position:fixed;top:0}.retreat-header.over-photo{background:linear-gradient(#17171538,#0000)}.retreat-header-controls{gap:7px;display:flex}.retreat-logo{flex:0 clamp(132px,14vw,218px);margin-right:12px;display:block}.retreat-header:not(.over-photo) .retreat-logo img{filter:brightness(0)}.retreat-menu{background:var(--sand);width:min(100%,510px);max-width:none;height:100dvh;max-height:100dvh;color:var(--ink);border:0;border-radius:22px 0 0 22px;margin:0;padding:0;position:fixed;inset:0 0 0 auto}.retreat-menu[open]{animation:.42s cubic-bezier(.2,.8,.2,1) both retreat-drawer}.retreat-menu::backdrop,.retreat-booking-dialog::backdrop{background:#15131099}@keyframes retreat-drawer{0%{transform:translate(100%)}to{transform:translate(0)}}.retreat-menu-inner{flex-direction:column;min-height:100%;padding:12px clamp(25px,3.1vw,48px) 38px;display:flex}.menu-close{justify-content:end;display:flex}.retreat-menu nav{padding-block:clamp(30px,7vh,74px)}.retreat-menu ul{margin:0;padding:0;list-style:none}.retreat-menu nav a{font:400 clamp(35px, 4.2vw, 62px)/1.09 var(--serif);letter-spacing:-.04em;padding:9px 0;display:block}.retreat-menu nav a:hover,.retreat-menu a[aria-current=page]{color:#815634}.menu-bottom{margin-top:auto}.menu-extra{flex-wrap:wrap;gap:18px;margin-top:22px;font-size:.9em;display:flex}.menu-extra a{text-underline-offset:4px;text-decoration:underline!important}.retreat-hero{isolation:isolate;color:#fff;background:var(--ink);align-items:end;min-height:min(100svh,1150px);display:grid;position:relative}.retreat-hero-photos,.retreat-hero-photos img,.retreat-hero:after{width:100%;height:100%;position:absolute;inset:0}.retreat-hero-photos{z-index:-2;overflow:hidden}.koy-redesign .retreat-hero-photos img{object-fit:cover;object-position:center 56%;height:100%}.retreat-hero:after{content:"";z-index:-1;background:linear-gradient(90deg,#15151166,#0000 82%),linear-gradient(#0000 26%,#111109a6)}.retreat-hero-photos img:nth-child(2),.retreat-hero-photos img:nth-child(3){opacity:0;animation:24s infinite retreat-hero-fade}.retreat-hero-photos img:nth-child(2){animation-delay:6s}.retreat-hero-photos img:nth-child(3){animation-delay:14s}@keyframes retreat-hero-fade{0%,41%,to{opacity:0}8%,33%{opacity:1}}.retreat-hero-copy{padding-top:calc(var(--header) + 42px);padding-bottom:clamp(38px,5vw,92px)}.retreat-hero-copy h1{text-wrap:balance;max-width:min(900px,77%)}.koy-redesign .retreat-hero-copy p{color:#fffef1e8;max-width:520px;margin:clamp(20px,2vw,33px) 0}.retreat-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.retreat-hero-copy>*{animation:.75s cubic-bezier(.16,1,.3,1) both retreat-entry}.retreat-hero-copy>p{animation-delay:80ms}.retreat-hero-copy>.retreat-actions{animation-delay:.16s}@keyframes retreat-entry{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}.retreat-section-heading{justify-content:space-between;align-items:end;gap:25px;margin-bottom:32px;display:flex}.retreat-section-heading h2{max-width:18ch}.retreat-intro{grid-template-columns:minmax(230px,.8fr) 1.35fr;gap:clamp(28px,6vw,110px);margin-bottom:clamp(35px,6vw,90px);display:grid}.retreat-intro>p{max-width:42ch;color:var(--muted)}.retreat-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 22px;margin:0;display:grid}.retreat-facts>div{border-top:1px solid var(--line);padding:12px 0 15px}.retreat-facts dt{color:#765940;margin-bottom:5px;font-size:.78em}.retreat-facts dd{margin:0;font-weight:500}.retreat-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(6px,1vw,16px);display:grid}.retreat-photo-grid button{aspect-ratio:4/3;background:#ece3d1;border:0;width:100%;padding:0;overflow:hidden}.koy-redesign .retreat-photo-grid img{object-fit:cover;width:100%;height:100%}.retreat-photo-grid.mosaic{grid-template-columns:repeat(4,minmax(0,1fr))}.retreat-photo-grid.mosaic button:first-child{aspect-ratio:auto;grid-area:span 2/span 2;min-height:100%}.retreat-lightbox{color:#fff;background:#1b1b1b;border:0;width:min(1100px,94vw);max-width:none;max-height:94dvh;padding:0}.retreat-lightbox::backdrop{background:#151310e8}.lightbox-inner{justify-items:center;display:grid;position:relative}.koy-redesign .lightbox-inner img{object-fit:contain;width:100%;height:min(75vh,850px)}.lightbox-close,.lightbox-controls button{color:#fff;background:#37312c;border:0;border-radius:50%;width:40px;height:40px}.lightbox-close{position:absolute;top:10px;right:10px;font-size:27px!important}.lightbox-controls{align-items:center;gap:22px;padding:10px;display:flex}.retreat-marquee{color:#845f40;background:var(--sand);border-block:1px solid var(--line);font:400 clamp(45px, 7vw, 130px)/1.05 var(--serif);letter-spacing:-.05em;padding:12px 0 20px;overflow:hidden}.retreat-marquee>div{overflow:hidden}.retreat-marquee>div>div{white-space:pre;width:max-content;animation:38s linear infinite retreat-marquee;display:flex}.retreat-marquee .reverse>div{opacity:.56;animation-direction:reverse}@keyframes retreat-marquee{to{transform:translate(-50%)}}.retreat-villas,.retreat-attractions{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,32px);display:grid}.retreat-villas article,.retreat-attractions article{border:1px solid var(--line);border-radius:12px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.villa-card-photo{aspect-ratio:4/3;display:block;overflow:hidden}.koy-redesign .villa-card-photo img{object-fit:cover;width:100%;height:100%}.villa-card-copy{flex-direction:column;flex:1;align-items:start;gap:14px;padding:clamp(16px,2vw,29px);display:flex}.koy-redesign .villa-card-copy p{color:var(--muted);font-size:.89em}.koy-redesign .villa-card-copy .villa-rate{color:#794c2d;margin-top:auto;font-weight:600}.koy-redesign .villa-card-copy .retreat-button{min-height:45px;padding:12px 18px;font-size:.85em}.retreat-experience{text-align:center;padding-bottom:var(--section)}.koy-redesign .retreat-experience h2{margin-bottom:25px}.retreat-photo-stack{justify-content:center;margin:clamp(35px,6vw,110px) 2% 0;display:flex}.koy-redesign .retreat-photo-stack img{aspect-ratio:2/3;object-fit:cover;flex:0 24%;width:24%;min-width:0}.retreat-photo-stack img+img{margin-left:-4.4%}.retreat-photo-stack img:first-child{transform:rotate(-3deg)}.retreat-photo-stack img:nth-child(2){transform:translateY(6%)rotate(-8deg)}.retreat-photo-stack img:nth-child(3){transform:rotate(2deg)}.retreat-photo-stack img:nth-child(4){transform:translateY(4%)rotate(1deg)}.retreat-photo-stack img:nth-child(5){transform:translateY(11%)rotate(-6deg)}.retreat-attraction-banner{isolation:isolate;color:#fff;background:var(--ink);align-items:end;min-height:clamp(420px,72vh,900px);padding:50px 0;display:grid;position:relative}.koy-redesign .retreat-attraction-banner img{z-index:-2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.retreat-attraction-banner:after{content:"";z-index:-1;background:linear-gradient(#0000 5%,#161512cf);position:absolute;inset:0}.koy-redesign .retreat-attraction-banner h2{max-width:15ch;margin-bottom:22px}.retreat-faq{padding-block:var(--section);grid-template-columns:.85fr 1fr;gap:clamp(30px,6vw,90px);display:grid}.retreat-faq details{border-top:1px solid var(--line)}.retreat-faq details:last-child{border-bottom:1px solid var(--line)}.retreat-faq summary{cursor:pointer;padding:18px 34px 18px 0;font-weight:600;list-style:none;position:relative}.retreat-faq summary::-webkit-details-marker{display:none}.retreat-faq summary:after{content:"+";font-size:1.4em;font-weight:400;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.retreat-faq details[open] summary:after{content:"−"}.koy-redesign .retreat-faq details p{color:var(--muted);overflow-wrap:anywhere;padding:0 18px 20px 0}.koy-redesign .retreat-faq details a{text-decoration:underline}.retreat-page-title{padding-top:calc(var(--header) + clamp(30px, 4vw, 80px));grid-template-columns:1.3fr .9fr;align-items:end;gap:6vw;padding-bottom:clamp(34px,4vw,75px);display:grid}.retreat-page-title p{max-width:45ch;padding-bottom:.2em}.retreat-listing{padding-bottom:var(--section)}.retreat-villa-hero{isolation:isolate;align-items:end;min-height:clamp(390px,68vh,880px);padding-block:38px;display:grid;position:relative}.koy-redesign .retreat-villa-hero>img,.koy-redesign .retreat-contact-photo>img{z-index:-1;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.villa-hero-panel{color:#fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#27282388;border-radius:16px;justify-items:start;gap:19px;width:min(100%,470px);padding:clamp(20px,3.25vw,50px);display:grid}.koy-redesign .retreat-main .villa-hero-panel h2{font-size:clamp(30px,3vw,47px)}.villa-hero-panel>a:last-child{font-size:.8em;text-decoration:underline}.villa-section-nav{z-index:10;top:calc(var(--header) + 8px);background:var(--sand);border:1px solid var(--line);scrollbar-width:none;border-radius:100px;justify-content:center;gap:2px;width:fit-content;max-width:calc(100% - 16px);margin:-27px auto 0;padding:5px;display:flex;position:sticky;overflow-x:auto}.koy-redesign .villa-section-nav a{white-space:nowrap;border-radius:100px;padding:8px clamp(8px,1.5vw,24px);font-size:.85em}.koy-redesign .villa-section-nav a:hover,.koy-redesign .villa-section-nav a:focus-visible{background:#ead8bc}.koy-redesign #reviews h2,.koy-redesign .booking-inline h2,.koy-redesign #reviews+section h2{margin-bottom:26px}.koy-redesign #reviews>p{margin-bottom:24px}.retreat-reviews{gap:12px;margin:0 0 22px;padding:0;list-style:none;display:grid}.retreat-reviews li{border:1px solid var(--line);border-radius:8px;padding:20px}.retreat-reviews li span{color:#8a5a32;padding-inline:12px}.retreat-contact{margin-bottom:var(--section);grid-template-columns:.85fr 1fr;gap:clamp(24px,6vw,100px);display:grid}.retreat-contact-info{background:var(--sand);overflow-wrap:anywhere;border-radius:14px;flex-direction:column;align-items:start;gap:14px;min-width:0;padding:clamp(18px,3vw,50px);display:flex}.koy-redesign .retreat-contact-info h2{margin-bottom:12px;font-size:clamp(31px,3.4vw,57px)}.retreat-contact-info a:not(.retreat-button){text-underline-offset:4px;text-decoration:underline}.retreat-contact-photo{isolation:isolate;height:clamp(310px,52vw,700px);position:relative}.retreat-attractions article h3{padding:16px 20px 22px}.koy-redesign .retreat-attractions article img{aspect-ratio:4/3;object-fit:cover;width:100%}.retreat-location{background:var(--sand);margin-bottom:var(--section);padding-block:35px}.koy-redesign .retreat-location p{margin:14px 0 20px}.retreat-form{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:14px 18px;max-width:900px;display:grid}.retreat-form label:not(.form-trap){color:var(--muted);gap:4px;font-size:.9em;display:grid}.retreat-form :is(input,select,textarea){border:1px solid var(--line);color:var(--ink);background:#fffdf8;border-radius:8px;width:100%;padding:10px 12px}.retreat-form .form-wide{grid-column:1/-1}.retreat-form .form-trap{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.retreat-footer{background:var(--ink);color:var(--cream)}.retreat-footer-main{grid-template-columns:.9fr 1.15fr 1.15fr auto;align-items:start;gap:clamp(18px,3vw,48px);padding-block:clamp(45px,8vw,116px);display:grid}.retreat-footer-logo{width:min(100%,220px);display:block}.retreat-footer address,.retreat-contact-info address{overflow-wrap:anywhere;font-style:normal}.koy-redesign .retreat-footer .footer-label{color:#d8c1a1;margin-bottom:12px;font-size:.78em}.koy-redesign .retreat-footer .footer-link{text-underline-offset:4px;margin-top:10px;text-decoration:underline;display:inline-block}.footer-contact{overflow-wrap:anywhere;gap:4px;display:grid}.koy-redesign .footer-contact a:hover,.koy-redesign .retreat-footer-end a:hover{text-decoration:underline}.retreat-footer-end{border-top:1px solid #ffffff30;justify-content:space-between;gap:20px;padding-block:24px;font-size:.76em;display:flex}.retreat-footer-end nav{flex-wrap:wrap;gap:10px 19px;display:flex}.retreat-booking-dialog{width:min(100vw,1480px);max-width:none;max-height:92dvh;color:var(--ink);background:#f5f3ef;border:0;margin:auto;padding:0;position:fixed;overflow:auto}.retreat-booking-dialog[open]{animation:.28s both retreat-entry}.booking-dialog-inner{min-height:min(72vh,790px);position:relative}.booking-dialog-close{z-index:5;color:#fff;background:#26231f;border:0;border-radius:50%;width:38px;height:38px;line-height:1;position:absolute;top:11px;right:10px;font-size:25px!important}.retreat-booking-page{min-height:65vh;padding-bottom:var(--section);background:#f5f3ef}.booking-inline{background:var(--sand)}.retreat-booking{font:400 clamp(14px, 1.26vw, 18px)/1.45 var(--sans);color:#22201d}.booking-toolbar{background:#a9764b;grid-template-columns:minmax(220px,2fr) repeat(2,minmax(110px,.8fr));gap:8px;padding:10px max(24px,5.8vw);display:grid}.booking-inline .booking-toolbar{padding-inline:16px}.booking-toolbar label,.booking-date{color:#fff;width:100%;min-width:0;min-height:51px;font:600 1em/1.25 var(--sans);background:0 0;border:1px solid #ffffff63;border-radius:7px;justify-content:space-between;align-items:center;padding:8px 12px 8px 18px;display:flex}.booking-toolbar label{gap:5px}.booking-toolbar select{color:#fff;background:#a9764b;border:0;padding:3px}.booking-toolbar select option{color:#211b18;background:#fff}.booking-date-control{position:relative}.booking-date[aria-expanded=true]{color:#211d19;background:#fff;border-color:#fff;border-radius:7px 7px 0 0}.range-calendar{z-index:4;color:#211b18;background:#fff;border-radius:0 7px 8px 8px;width:min(700px,100vw - 54px);padding:16px 16px 0;position:absolute;top:100%;left:0;box-shadow:0 5px 18px #231b1830}.range-navigation,.range-actions{justify-content:space-between;align-items:center;gap:8px;font-size:.88em;display:flex}.range-navigation button,.range-actions>button:first-child{color:#211b18;background:#f2f0ed;border:1px solid #e1ded9;border-radius:8px;min-width:40px;padding:8px 12px}.range-navigation button{padding-block:3px;font-size:1.25em}.range-months{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding-top:9px;display:grid}.koy-redesign .range-month h3{text-align:center;letter-spacing:normal;margin:2px 0 7px;font-size:1em;font-weight:600}.range-days{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;gap:1px;display:grid}.range-weekday{color:#736d62;padding-block:5px;font-size:.72em}.range-days button{color:#201d18;background:#fff;border:0;border-radius:5px;min-width:0;min-height:32px;padding:0;font-weight:650}.range-days button:hover:enabled{background:#f4eadc}.range-days button:disabled{color:#94908b;text-decoration:line-through}.range-days button.in-range{background:#f0e2d1}.range-days button.selected,.range-days button.selected:hover:enabled{color:#fff;background:#955e38}.range-actions{background:#f2f0ed;border-radius:0 0 8px 8px;margin:14px -16px 0;padding:8px 12px}.range-actions .retreat-button.compact{border-radius:7px;min-height:40px}.booking-columns{grid-template-columns:minmax(0,2fr) minmax(205px,.95fr);align-items:start;gap:28px;padding:20px max(24px,5.8vw) 40px;display:grid}.booking-inline .booking-columns{padding-inline:0}.booking-offers{gap:12px;display:grid}.booking-offer{background:#fff;border:1px solid #e5ded3;border-radius:8px;grid-template-columns:minmax(110px,28%) minmax(0,1fr);display:grid;overflow:hidden}.booking-offer>a{min-height:140px}.koy-redesign .booking-offer img{object-fit:cover;width:100%;height:100%}.booking-offer-body{align-items:start;gap:7px;padding:14px;display:grid}.koy-redesign .retreat-booking h3{font-size:clamp(21px,2vw,30px);line-height:1.1}.koy-redesign .booking-offer p,.koy-redesign .booking-summary p{color:#5c564e;font-size:.87em}.booking-offer-body .retreat-button{margin-top:4px}.booking-rate{border-top:1px solid #e9e1d6;justify-content:space-between;align-items:center;gap:8px;padding-top:8px;display:flex}.booking-rate small{color:#695d52;display:block}.booking-summary{background:#fffdfa;border:1px solid #e5ded3;border-radius:8px;gap:10px;min-width:0;padding:clamp(16px,2.4vw,33px);display:grid}.koy-redesign .booking-summary a{text-underline-offset:3px;width:fit-content;text-decoration:underline}.koy-redesign .booking-error{color:#7f3025;background:#f8e9e4;border-radius:6px;padding:12px}.retreat-legacy #masthead,.retreat-legacy .site-footer,.retreat-legacy .mystickyelements-fixed,.retreat-legacy #ast-scroll-top,.retreat-legacy .skip-link,.retreat-legacy #custom_html-2{display:none!important}.retreat-legacy{padding-top:var(--header);background:var(--cream);display:block}.koy-redesign .retreat-legacy :is(#page,#content,#primary,article,.entry-content){background-color:#0000}.koy-redesign .retreat-legacy :is(#primary,#secondary){padding-block:clamp(25px,5vw,90px)}.koy-redesign .retreat-legacy :is(h1,h2,h3,h4){font-family:var(--serif);color:var(--ink);letter-spacing:-.03em;font-weight:400}.koy-redesign .retreat-legacy h1{font-size:clamp(38px,5vw,75px);line-height:1.04}.koy-redesign .retreat-legacy :is(p,label,select,input,textarea,button,td,th,li,summary){font-family:var(--sans)}.koy-redesign .retreat-legacy :is(a.button,button.button,input.submit,.koy-catalog-edit button,.checkout-button,#place_order){color:#fff!important;background:#94623f!important;border-color:#94623f!important;border-radius:100vw!important}.koy-redesign .retreat-legacy :is(input,select,textarea):not([type=checkbox],[type=radio],[type=submit]){border-color:var(--line);border-radius:8px}.koy-redesign .retreat-legacy :is(.cart_totals,#order_review){border-color:var(--line);background-color:#fffdf8}@media (max-width:950px){.retreat-footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}.retreat-footer-end{flex-direction:column}.retreat-villas{gap:12px}.retreat-intro{grid-template-columns:1fr;gap:20px}}@media (max-width:650px){.koy-redesign{--header:64px;--gutter:20px}.koy-redesign .retreat-main h1{font-size:clamp(38px,11vw,58px)}.koy-redesign .retreat-main h2{font-size:clamp(32px,9vw,52px)}.koy-redesign .retreat-button{gap:8px;min-height:49px;padding-inline:17px}.koy-redesign .retreat-header .retreat-button.compact{min-height:41px;padding-inline:14px;font-size:13px}.retreat-header-controls{gap:5px}.retreat-hero-copy h1{text-wrap:initial;max-width:none}.retreat-hero-copy{padding-bottom:44px}.retreat-hero:after{background:linear-gradient(#0000 7%,#12120dc4)}.retreat-section-heading{flex-direction:column;align-items:start;margin-bottom:23px}.retreat-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.retreat-photo-grid,.retreat-photo-grid.mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}.retreat-photo-grid.mosaic button:first-child{aspect-ratio:4/3;grid-row:auto}.retreat-villas,.retreat-attractions{grid-template-columns:1fr;gap:17px}.retreat-faq,.retreat-page-title,.retreat-contact{grid-template-columns:1fr;gap:20px}.retreat-attraction-banner{min-height:370px}.retreat-menu{border-radius:0}.retreat-footer-main{grid-template-columns:1fr;gap:26px}.retreat-footer-logo{width:min(52vw,230px)}.villa-section-nav{justify-content:start}.koy-redesign .villa-section-nav a{font-size:.76em}.retreat-villa-hero{padding-bottom:50px}.booking-dialog-close{width:32px;height:32px;top:6px;right:8px}.retreat-booking-dialog{max-height:96dvh}.retreat-booking-dialog .booking-toolbar{padding-top:41px}.booking-toolbar,.booking-inline .booking-toolbar{grid-template-columns:1fr 1fr;padding-inline:12px}.booking-date-control{grid-column:1/-1}.range-calendar{width:100%;max-height:60dvh;overflow:auto}.range-months{grid-template-columns:1fr}.range-month+.range-month{display:none}.booking-columns{grid-template-columns:1fr;gap:12px;padding:12px}.booking-summary{grid-row:1}.booking-offer{grid-template-columns:1fr}.booking-offer>a{aspect-ratio:16/9;min-height:0;overflow:hidden}}@media (prefers-reduced-motion:reduce){html:has(.koy-redesign){scroll-behavior:auto}.koy-redesign *,.koy-redesign :before,.koy-redesign :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.retreat-hero-photos img:not(:first-child){animation:none!important}.retreat-reveal.will-reveal{opacity:1;transform:none}}.booking-toolbar{z-index:2;position:relative}.booking-columns{position:relative}.date-open .booking-columns:after{content:"";pointer-events:none;background:#211c1740;position:absolute;inset:0}.retreat-hero-copy h1{text-wrap:initial}.retreat-transaction{padding-bottom:var(--section);gap:20px;min-height:50vh;font-size:.88em;display:grid}.retreat-transaction :is(.woocommerce-info,.woocommerce-error){background:var(--sand);border-radius:8px;padding:13px 16px}.retreat-transaction .woocommerce-error{color:#7f3025;background:#faeae5}.retreat-transaction .koy-checkout{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:clamp(18px,4vw,62px);display:grid}.retreat-transaction :is(.woocommerce-billing-fields,.koy-review,.cart_totals,.woocommerce-order,.koy-booking-lookup){border:1px solid var(--line);background:#fffdf8;border-radius:12px;min-width:0;padding:clamp(14px,2.3vw,38px)}.koy-redesign .retreat-transaction :is(h2,h3){margin-bottom:18px;font-size:clamp(28px,2.5vw,43px)}.retreat-transaction .woocommerce-billing-fields__field-wrapper{grid-template-columns:1fr 1fr;gap:12px;display:grid}.retreat-transaction .form-row{min-width:0;margin-bottom:0}.retreat-transaction .form-row-wide{grid-column:1/-1}.retreat-transaction .form-row label{margin-bottom:4px;font-weight:500;display:block}.retreat-transaction .woocommerce-billing-fields>.form-row{margin-top:12px}.retreat-transaction :is(input,textarea){border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:7px;padding:10px 12px}.retreat-transaction .required{color:#913f2c;text-decoration:none}.retreat-transaction table{border-collapse:collapse;width:100%;font-size:.92em}.retreat-transaction :is(td,th){text-align:left;vertical-align:top;border-bottom:1px solid #e7ddcd;padding:10px}.retreat-transaction :is(tfoot td,.product-total,.product-price,.product-subtotal){white-space:nowrap}.retreat-transaction .koy-stay-details,.retreat-transaction .koy-price-breakdown-totals{grid-template-columns:max-content minmax(0,1fr);gap:2px 10px;margin:8px 0;display:grid}.retreat-transaction dl dd{margin:0}.retreat-transaction .koy-stay-details dd{white-space:nowrap}.retreat-transaction .koy-nightly-breakdown{margin:6px 0 9px}.retreat-transaction .koy-nightly-breakdown table{font-size:.85em}.retreat-transaction .koy-nightly-breakdown :is(td,th){padding:4px}.retreat-transaction .payment_methods,.retreat-transaction .order_details{margin:16px 0;padding:0;list-style:none}.retreat-transaction .payment_methods li{background:var(--sand);border-radius:7px;padding:11px}.retreat-transaction .place-order{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.koy-redesign .retreat-transaction :is(.koy-edit-stay,.koy-back-to-cart){color:#704622;text-underline-offset:3px;text-decoration:underline}.koy-redesign .retreat-transaction .button{font:600 14px/1.2 var(--sans);color:#fff;text-align:center;background:#95633f;border:0;border-radius:100vw;padding:14px 23px;display:inline-block}.retreat-transaction .woocommerce-cart-form{border:1px solid var(--line);background:#fffdf8;border-radius:12px;padding:10px 15px;overflow-x:auto}.retreat-transaction .product-thumbnail{width:120px;min-width:90px}.koy-redesign .retreat-transaction .product-thumbnail img{object-fit:cover;border-radius:6px;width:108px;height:86px}.retreat-transaction .product-quantity input{width:60px;padding-inline:6px}.retreat-transaction .koy-remove-item{color:#682e22;background:#f6ebde;border:0;border-radius:50%;width:29px;height:29px;padding:0}.retreat-transaction .cart_totals{max-width:560px;margin-left:auto}.retreat-transaction .wc-proceed-to-checkout,.retreat-transaction .return-to-shop,.retreat-transaction .koy-booking-lookup .button{margin-top:15px}.retreat-transaction .actions{text-align:end;border:0}.retreat-transaction .screen-reader-text{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.retreat-transaction :is(.koy-booking-lookup,.woocommerce-order){max-width:780px}.retreat-transaction .woocommerce-order strong{display:block}.retreat-transaction .woocommerce-order code{overflow-wrap:anywhere}.retreat-transaction .woocommerce-order .button{margin-top:10px}.retreat-transaction .koy-lookup-result{margin-top:15px}@media (max-width:760px){.retreat-transaction .koy-checkout{grid-template-columns:minmax(0,1fr)}.retreat-transaction .woocommerce-cart-form .cart,.retreat-transaction .cart tbody{display:block}.retreat-transaction .woocommerce-cart-form thead{display:none}.retreat-transaction .cart tr{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:7px;padding:10px 0;display:grid}.retreat-transaction .cart td{border:0;padding:4px}.retreat-transaction .cart :is(.product-name,.actions){grid-column:1/-1}.retreat-transaction .cart :is(.product-price,.product-quantity,.product-subtotal):before{content:attr(data-title);color:#635849;margin-bottom:3px;font-size:.88em;display:block}}.koy-redesign .retreat-booking .range-month h3{font-size:1em}.retreat-map{border:0;border-radius:10px;width:100%;height:clamp(300px,43vw,550px);margin-top:24px;display:block}.attraction-banner-content{grid-template-columns:1.2fr .9fr;align-items:end;gap:28px;display:grid}.retreat-attraction-banner>img{animation:.45s both attraction-fade}@keyframes attraction-fade{0%{opacity:.3}to{opacity:1}}.attraction-preview>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.koy-redesign .attraction-preview p{margin-bottom:10px}.attraction-preview button{aspect-ratio:4/3;background:0 0;border:2px solid #0000;border-radius:8px;padding:0;overflow:hidden}.attraction-preview button[aria-pressed=true]{border-color:#fff}.koy-redesign .attraction-preview button img{object-fit:cover;width:100%;height:100%;position:static}@media (max-width:650px){.attraction-banner-content{grid-template-columns:1fr}}.villa-section-nav{top:auto;bottom:max(14px, env(safe-area-inset-bottom));margin:0;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 5px 22px #3326172c}.villa-section-nav[hidden]{display:none}.koy-redesign .villa-section-nav a[aria-current=location]{color:#fff;background:linear-gradient(23deg,#935e38,#b1845f)}@media (min-width:651px){.retreat-booking-dialog .booking-summary{align-content:start;min-height:min(53dvh,480px)}}@media (max-width:650px){.retreat-hero .retreat-actions{flex-direction:column;gap:10px}.retreat-hero .retreat-actions .retreat-button{width:100%;min-height:55px}}
