:root{--font:Raleway,system-ui,sans-serif;--hand:"Shadows Into Light Two",cursive;--beige:#f8f3ed;--sand:#d7c6b3;--brown:#6a5a4e;--title:#956c4a;--orange:#dc752c;--grey:#5e6d82;--hdr:72px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 10px)}
body{margin:0;font-family:var(--font);font-size:16px;line-height:1.8;color:var(--brown);background:var(--beige);-webkit-font-smoothing:antialiased;padding-top:var(--hdr)}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-weight:600;color:var(--ti,var(--title));line-height:1.3}
.ttl{font-family:var(--hand);font-weight:400;font-size:44px;line-height:1.3;color:var(--ti,var(--title));margin:0 0 .5em}
h2.ttl{font-size:36.8px}
h3{font-size:22.4px}
.sub{font-size:27.2px;line-height:1.8;margin:0 0 1em;color:var(--tx,var(--brown))}
p{margin:0 0 1em}
.rich p{margin:0}
.rich ul,.rich ol{margin:0 0 .5em;padding-left:1.3em}
.rich li{margin:0}
.rich a{color:var(--ti,var(--title))}
.rich strong{font-weight:600}
.small{font-size:13.6px;line-height:1.6}
.center{text-align:center}
.wrap{margin:0 auto;padding:0 24px;width:100%}
.w-narrow{max-width:760px}.w-wide{max-width:1200px}.w-full{max-width:1400px}
.mod{background:var(--bg,#fff);color:var(--tx,var(--brown));padding:64px 0}
.mod.nopad{padding:0}
.mod+.mod.nopad{padding-top:0}
.sep{background:var(--bg)}
.btn{display:inline-block;background:var(--s,var(--orange));color:var(--st,#fff);font:600 14.4px/1.2 var(--font);padding:14px 22px;border-radius:2px;text-decoration:none;border:1px solid var(--s,var(--orange));cursor:pointer;transition:filter .2s;margin:4px}
.btn:hover{filter:brightness(.92)}
.btn.hollow{background:transparent;color:var(--s,var(--orange))}
.btn.sec{background:var(--p,var(--title));border-color:var(--p,var(--title));color:var(--pt,#fff)}
.btn.big{padding:16px 28px;font-size:15px}
.btns{margin-top:1.2em}
.btns.left{text-align:left}
/* header */
.hdr{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--beige);box-shadow:0 1px 0 rgba(106,90,78,.12)}
.bar{height:var(--hdr);display:flex;align-items:center;justify-content:space-between;padding:0 28px;max-width:1440px;margin:0 auto;position:relative}
.burger{background:none;border:0;width:32px;height:28px;display:flex;flex-direction:column;justify-content:space-between;padding:4px 0;cursor:pointer}
.burger span{display:block;height:3px;background:var(--brown);border-radius:2px;transition:.25s}
body.menu-open .burger span:nth-child(1){transform:translateY(8.5px) rotate(45deg)}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}
.logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.logo img{height:46px;width:auto}
.actions{display:flex;align-items:center;gap:26px}
.actions a{text-decoration:none;font-weight:600;font-size:14.4px;letter-spacing:.08em;text-transform:uppercase;color:var(--brown)}
.actions a:hover{color:var(--title)}
.actions .tel{font-size:22px;letter-spacing:0;margin-left:30px}
.menu{position:fixed;inset:var(--hdr) 0 0 0;background:var(--beige);overflow:auto;display:none;z-index:49}
body.menu-open .menu{display:block}
.menu-in{max-width:760px;margin:0 auto;padding:30px 24px 60px;text-align:center}
.quick{display:flex;justify-content:center;gap:34px;font-size:22px;margin-bottom:26px}
.quick a{text-decoration:none;color:var(--brown)}
.nav{list-style:none;margin:0;padding:0}
.nav>li{margin:0 0 6px}
.nav a,.nav span{font-size:20px;color:var(--brown);text-decoration:none}
.nav-row{display:inline-flex;align-items:center;gap:8px}
.sub-toggle{background:none;border:0;color:var(--title);cursor:pointer;font-size:18px;line-height:1;padding:0 4px}
.nav .sub{list-style:none;margin:4px 0 10px;padding:0;display:none}
.nav li.open>.sub{display:block}
.nav .sub a{font-size:14.4px}
.langs{margin-top:28px;display:flex;justify-content:center;gap:22px;font-size:12px;letter-spacing:.1em}
.langs a{text-decoration:none;color:var(--brown)}
.langs a.on{color:var(--title);font-weight:600}
/* hero */
.slider{position:relative;overflow:hidden;background:#ddd}
.slider.hero{height:calc(100vh - var(--hdr));overflow:visible}
.slider.hero .slide{height:100%}
.hero .book{position:absolute;left:0;right:0;bottom:36px;z-index:3;padding:0 24px}
.hero .book-in{max-width:1200px;margin:0 auto}
#slope-bl,#slope-widget{width:100%}
#slope-bl *{font-family:var(--font)!important;box-sizing:border-box}
#slope-bl form{margin:0!important;padding:0!important}
#slope-bl #slope-search-wrapper{display:flex!important;flex-wrap:wrap;align-items:flex-end;gap:16px!important;margin:0!important;padding:22px 26px!important;width:100%!important;max-width:none!important;background:rgba(106,90,78,.75)!important;border:1px solid rgba(255,255,255,.35)!important;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
#slope-bl .slp-block{margin:0!important;padding:0!important;float:none!important;width:auto!important;max-width:none!important}
#slope-bl #slope-search-wrapper>.date-range-container.slp-block{display:flex!important;gap:16px!important;flex:2 1 400px!important;min-width:0}
#slope-bl .date-range-container>.slp-block{flex:1 1 0!important;min-width:0}
#slope-bl #slope-search-wrapper>.slp-block{flex:0 1 140px}
#slope-bl #slope-search-wrapper>.slp-block:last-child{flex:1 1 230px}
#slope-bl .select-container,#slope-bl .text-center,#slope-bl .medium-spacing{margin:0!important;padding:0!important;text-align:left!important}
#slope-bl label{display:block!important;margin:0 0 10px!important;color:#fff!important;font-size:11px!important;font-weight:600!important;letter-spacing:.24em!important;text-transform:uppercase!important;line-height:1.4!important}
#slope-bl input,#slope-bl select{display:block!important;width:100%!important;height:58px!important;padding:0 18px!important;margin:0!important;background:rgba(255,255,255,.1)!important;border:1px solid rgba(255,255,255,.8)!important;border-radius:2px!important;box-shadow:none!important;color:#fff!important;font-size:17px!important;font-weight:400!important;letter-spacing:.04em!important;outline:none!important;cursor:pointer;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background-image:none}
#slope-bl input:focus,#slope-bl select:focus{border-color:var(--orange)!important;background:rgba(255,255,255,.18)!important}
#slope-bl select{text-align:center!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23fff' stroke-width='1.5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 16px center!important;padding-right:38px!important}
#slope-bl select option{color:#6a5a4e!important;background:#fff!important}
#slope-bl button{display:block!important;width:100%!important;height:58px!important;padding:0 26px!important;margin:0!important;background:var(--orange)!important;border:1px solid var(--orange)!important;border-radius:2px!important;box-shadow:none!important;color:#fff!important;font-size:13px!important;font-weight:600!important;letter-spacing:.2em!important;text-transform:uppercase!important;cursor:pointer;transition:filter .2s;white-space:nowrap}
#slope-bl button:hover{filter:brightness(.92)}
@media(max-width:900px){.hero .book{position:static;padding:0}.hero .book-in{max-width:none}#slope-bl #slope-search-wrapper{padding:20px 18px!important;gap:14px!important;border:0!important;backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--brown)!important}#slope-bl #slope-search-wrapper>.date-range-container.slp-block{flex:1 1 100%!important;flex-direction:column}#slope-bl #slope-search-wrapper>.slp-block{flex:1 1 calc(50% - 7px)!important}#slope-bl #slope-search-wrapper>.slp-block:last-child{flex:1 1 100%!important}}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .9s}
.slide.on{opacity:1;position:relative}
.slide img{width:100%;height:100%;object-fit:cover}
.sl-prev,.sl-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.0);border:0;color:#fff;font-size:64px;line-height:1;width:60px;height:90px;cursor:pointer;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.sl-prev{left:10px}.sl-next{right:10px}
.crumb{font-size:14.4px;padding:14px 0;color:var(--brown);background:var(--beige)}
.crumb .wrap{display:flex;gap:6px;flex-wrap:wrap}
.crumb ol{list-style:none;margin:0;padding:0;display:flex;gap:6px;flex-wrap:wrap}
.crumb li+li:before{content:"/";margin-right:6px;opacity:.6}
.crumb a{text-decoration:underline}
/* text module with media */
.tm{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.tm-right .tm-media{order:2}
.tm-media img,.tm-media .map{width:100%;height:auto}
.tm .ttl{font-size:36.8px}
.tm .sub{font-size:27.2px}
/* grids */
.grid{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);gap:var(--gap,0)}
.grid img{width:100%;height:100%;object-fit:cover;aspect-ratio:var(--ar,auto)}
.cell{display:block;overflow:hidden}
.cell img{transition:transform .5s}
.cell:hover img{transform:scale(1.04)}
.gal.gal-layout-7 .cell:first-child{grid-column:span 2;grid-row:span 2}
/* highlights layout 4 (home) */
.hl-wrap{position:relative}
.hl-track{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);gap:32px}
.hl4{text-align:center}
.hl4-img{position:relative;overflow:hidden;aspect-ratio:3/4}
.hl4-img img{width:100%;height:100%;object-fit:cover}
.hl4-btn{position:absolute;left:0;right:0;bottom:22px;text-align:center}
.hl4-btn .btn{background:rgba(106,90,78,.85);border-color:transparent;color:#fff;font-weight:400;font-size:14px;padding:9px 16px}
.hl4 h3.ttl{font-size:27px;margin:16px 0 8px;font-family:var(--font);font-weight:400;color:var(--ti)}
.hl4 .rich{text-align:center;color:var(--tx)}
/* highlights layout 1 (cards) */
.hl1{background:var(--sand);color:var(--brown);display:flex;flex-direction:column}
.mod.hl-layout-1{background:#fff}
.hl-layout-1 .hl1{background:var(--bg,var(--sand))}
.hl1-img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.hl1-body{padding:26px 24px 20px;flex:1;display:flex;flex-direction:column}
.hl1 h3{font-size:18px;font-weight:400;color:var(--ti);margin:0 0 14px;text-transform:none}
.hl-text{font-size:14.4px;line-height:1.65}
.hl-text.collapsible{display:-webkit-box;-webkit-line-clamp:var(--lines,7);-webkit-box-orient:vertical;overflow:hidden}
.hl-text.collapsible.open{display:block;-webkit-line-clamp:unset}
.hl-more{background:none;border:1px solid var(--title);color:var(--title);width:30px;height:30px;border-radius:50%;margin:14px auto 0;cursor:pointer;font-size:18px;line-height:1}
.hl-more.open{transform:rotate(180deg)}
.hl-slider .hl-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:24px}
.hl-slider .hl-track::-webkit-scrollbar{display:none}
.hl-slider .hl1{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start}
.hs-prev,.hs-next{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;background:var(--title);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.hs-prev{left:-14px}.hs-next{right:-14px}
/* faq */
.faqs{border-top:1px solid var(--sand)}
.faq{border-bottom:1px solid var(--sand)}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 18px;color:var(--title);position:relative;font-size:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"\2335";position:absolute;right:18px;top:18px;color:var(--title);transition:.25s}
.faq[open] summary:after{transform:rotate(180deg)}
.faq .rich{padding:0 18px 22px}
/* rooms */
.rooms{display:flex;flex-direction:column;gap:40px}
.room{display:grid;grid-template-columns:1fr 1fr;align-items:center}
.room-img{position:relative;z-index:2;margin-right:-60px;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.room-img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.room.alt .room-img{order:2;margin-right:0;margin-left:-60px}
.room-body{background:var(--sand);padding:48px 40px 48px 110px;min-height:380px}
.room.alt .room-body{padding:48px 110px 48px 40px}
.room h3{margin:0 0 10px}
.occ{font-size:13px;margin:0 0 18px}
.occ strong{font-weight:600}
.tabs{display:flex;gap:4px;border-bottom:1px solid rgba(106,90,78,.3);margin-bottom:16px}
.tab{background:none;border:0;border-bottom:2px solid transparent;padding:6px 12px;font:14px var(--font);color:var(--brown);cursor:pointer;margin-bottom:-1px}
.tab.on{border-bottom-color:var(--title);background:rgba(255,255,255,.3)}
.pane{display:none}.pane.on{display:block}
.pane p{font-size:15px;line-height:1.75}
.feats{columns:2;font-size:14px;margin:0;padding-left:1.2em}
.more-pics{position:absolute;right:10px;bottom:10px;background:rgba(106,90,78,.85);color:#fff;font-size:12px;padding:4px 8px;text-decoration:none;border-radius:2px}
/* enquiry */
.enq-top{text-align:center;margin-bottom:28px}
.or{margin:16px 0 0;font-size:14.4px}
.enq{background:rgba(215,198,179,.35);padding:34px 36px;max-width:900px;margin:0 auto}
.enq h3{font-size:18px;margin:18px 0 12px}
.enq .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px 20px;margin-bottom:14px}
.enq label{display:block;font-size:13.6px}
.enq input,.enq select,.enq textarea{display:block;width:100%;margin-top:4px;padding:10px 12px;border:1px solid rgba(106,90,78,.35);background:#fff;font:15px var(--font);color:var(--brown);border-radius:2px}
.enq textarea{resize:vertical}
.enq .chk{display:flex;gap:10px;align-items:flex-start;margin:14px 0}
.enq .chk input{width:auto;margin:5px 0 0}
.enq .btns{text-align:right}
.enq.nl{max-width:900px}
.enq .ok{background:#fff;padding:16px;text-align:center;font-weight:600}
/* weather */
.weather{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;text-align:center;margin:10px 0 18px}
.weather .d{font-size:13.6px}
.weather img{width:80px;height:80px;margin:6px auto}
.weather .t{font-size:15px}
.weather .t b{font-weight:600}
.weather .desc{font-size:12.5px;line-height:1.4;opacity:.85}
/* map, video */
.map{aspect-ratio:16/10;background:var(--sand);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}
.map iframe{width:100%;height:100%;border:0}
.map.loaded{padding:0;display:block}
.video{aspect-ratio:16/9;background:#000 center/cover no-repeat;display:flex;align-items:center;justify-content:center}
.video iframe{width:100%;height:100%;border:0}
/* footer */
.ftr{background:var(--bg,var(--beige));color:var(--tx,var(--brown));padding:60px 0 0}
.partners{display:flex;flex-wrap:wrap;gap:28px 40px;align-items:center;margin-bottom:56px}
.partners img{height:52px;width:auto;max-width:160px}
.ftr-main .ttl{font-size:24px;margin-bottom:12px}
.ftr-main .rich{line-height:1.8}
.ftr-main a{text-decoration:none}
.ftr-sub{border-top:1px solid rgba(106,90,78,.15);margin-top:40px;padding:18px 0 34px;font-size:12.8px;text-align:right}
.ftr-sub a{text-decoration:none}
/* popup */
.popup{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:60;display:flex;align-items:center;justify-content:center;padding:20px}
.popup[hidden]{display:none}
.popup-box{background:var(--beige);max-width:560px;padding:44px 40px 32px;text-align:center;position:relative;color:var(--brown)}
.popup-box .ttl{font-size:30px}
.popup-x{position:absolute;right:10px;top:6px;background:none;border:0;font-size:30px;cursor:pointer;color:var(--brown)}
/* lightbox */
.lb{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:70;display:flex;align-items:center;justify-content:center}
.lb[hidden]{display:none}
.lb img{max-width:92vw;max-height:90vh;object-fit:contain}
.lb button{position:absolute;background:none;border:0;color:#fff;font-size:48px;cursor:pointer;line-height:1}
.lb-x{right:18px;top:8px}.lb-prev{left:14px;top:50%;transform:translateY(-50%)}.lb-next{right:14px;top:50%;transform:translateY(-50%)}
.legal h2{font-size:22px;margin:1.4em 0 .5em}
.legal h3{font-size:17px;margin:1.2em 0 .4em}
.legal p{margin:0 0 1em}
.legal ul{margin:0 0 1em}
@media (max-width:960px){
 .actions a:not(.tel){display:none}
 .hl1,.hl-slider .hl1{flex-basis:calc((100% - 24px)/2)}
 .hl-track{grid-template-columns:repeat(2,1fr)}
 .room-body,.room.alt .room-body{padding:30px}
 .room-img,.room.alt .room-img{margin:0}
}
@media (max-width:760px){
 :root{--hdr:62px}
 .logo img{height:40px}
 .bar{padding:0 16px}
 .wrap{padding:0 16px}
 .ttl{font-size:34px}
 h2.ttl,.tm .ttl{font-size:29px}
 .sub,.tm .sub{font-size:21px}
 .mod{padding:44px 0}
 .tm{grid-template-columns:1fr;gap:24px}
 .tm-right .tm-media{order:0}
 .grid{grid-template-columns:repeat(2,1fr)}
 .gal.gal-layout-7 .cell:first-child{grid-column:span 2;grid-row:auto}
 .hl-track{grid-template-columns:1fr}
 .hl1,.hl-slider .hl1{flex-basis:88%}
 .hs-prev{left:0}.hs-next{right:0}
 .room{grid-template-columns:1fr}
 .room.alt .room-img{order:0}
 .room-body{min-height:0}
 .feats{columns:1}
 .enq{padding:22px 16px}
 .ftr-sub{text-align:left}
 .sl-prev,.sl-next{font-size:44px;width:40px}
}