.wp-gr,.wp-gr *,.wp-gr ::after,.wp-gr ::before{box-sizing:border-box}.wp-gr{display:block;direction:ltr;font-size:var(--font-size, 16px);font-family:var(--font-family, inherit);font-style:normal;font-weight:400;text-align:start;line-height:normal;overflow:visible;text-decoration:none;list-style-type:disc;box-sizing:border-box;visibility:visible!important}.wp-gr div,.wp-gr span{margin:0;padding:0;color:inherit;font:inherit;line-height:normal;letter-spacing:normal;text-transform:none;text-decoration:none;border:0;background:0 0}.wp-gr a{color:inherit;border:0;text-decoration:none;background:0 0;cursor:pointer}.wp-gr a:focus{outline:0}.wp-gr a:focus-visible{outline:2px solid currentColor;outline-offset:2px}.wp-gr img{display:block;max-width:100%;height:auto;margin:0;padding:0;border:0;line-height:0;vertical-align:middle}.wp-gr i{font-style:normal;font-weight:inherit;margin:0;padding:0;border:0;vertical-align:middle;background:0 0}.wp-gr svg{display:inline-block;width:auto;height:auto;vertical-align:middle;overflow:visible}.wp-gr svg use{opacity:1;visibility:visible}.wp-gr{--card-gap:4px;--rev-gap:4px;--img-size:46px;--media-gap:8px;--media-size:40px;--media-lines:2;--color:#fb8e28;--rev-color:#f4f4f4;--rpi-star-color:var(--star-color, var(--color));--slider-dot-size:8px;--slider-dot-gap:8px;--slider-dots-visible:5;--slider-act-dot-color:var(--color);position:relative!important;display:block!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:0!important;line-height:normal!important;text-align:start!important;direction:ltr!important;overflow-wrap:break-word!important;box-sizing:border-box!important}.wp-gr .wp-google-based,.wp-gr .wp-google-powered{margin:0!important;padding:0!important;color:var(--head-based-color,#555)!important}.wp-gr .wp-google-powered{color:var(--powered-color,#777)!important;font-size:16px;font-weight:600}.wp-gr .wp-google-powered>span{font-weight:600!important}.wp-gr .grw-img{position:relative!important;min-width:var(--img-size)!important;max-width:var(--img-size)!important;height:var(--img-size)!important;border:none!important;z-index:3!important}.wp-gr .grw-img-wrap{position:relative;min-width:var(--img-size)!important;max-width:var(--img-size)!important;overflow:visible}.wp-gr .grw-img-wrap::before{content:'';position:absolute;top:0;left:0;width:var(--img-size);height:var(--img-size);border-radius:50%;box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 4px rgba(0,0,0,.24)!important;pointer-events:none}.wp-gr .grw-header .grw-img{border-radius:50%}.wp-gr .grw-header.wp-place-center{width:100%!important}.wp-gr .wp-google-name{color:var(--name-color,#333)!important;font-size:100%!important;font-weight:700!important;text-decoration:none!important;white-space:nowrap!important;text-overflow:ellipsis!important;overflow:hidden!important;width:100%!important;text-align:var(--align,start)!important}.wp-gr .grw-header .wp-google-name{width:100%!important;margin:0!important;padding:0!important;font-size:128%!important;white-space:normal!important}.wp-gr .grw-header-inner>.rpi-flx{overflow:hidden!important}.wp-gr a.wp-google-name{color:#427fed!important;text-decoration:none!important}.wp-gr .wp-google-time{color:#555!important;font-size:13px!important;white-space:nowrap!important}.wp-gr .wp-google-text{color:var(--text-color,#222)!important;font-size:15px!important;line-height:24px!important;max-width:100%!important;overflow:hidden!important;white-space:pre-wrap!important;word-break:break-word!important;vertical-align:middle!important}.wp-gr .rpi-stars+.wp-google-text{padding-left:4px!important}.wp-gr .wp-more{display:none}.wp-gr .wp-more-toggle{color:#136aaf!important;cursor:pointer!important;text-decoration:none!important}.wp-gr .wp-google-url{display:block;margin:4px auto!important;color:#136aaf!important;text-align:center!important}.wp-gr .wp-google-list.grw-rating .grw-header-inner{padding:16px!important;cursor:pointer!important;border-radius:8px!important;transition:box-shadow .2s ease-out!important}.wp-gr .wp-google-list.grw-rating .grw-header-inner>.rpi-flx{overflow:visible!important}.wp-gr .wp-google-list.grw-rating .grw-header-inner:focus-visible,.wp-gr .wp-google-list.grw-rating .grw-header-inner:hover{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.18)!important}.wp-gr.grw-popup{display:none!important}.wp-gr.grw-popup.grw-popup-on{display:flex!important;flex-direction:column!important;align-self:stretch!important;width:100%!important;max-width:720px!important;height:100%!important;padding:16px!important;overflow-y:auto!important;background-color:#fff!important}.wp-gr.grw-popup.grw-popup-on>*{flex-shrink:0!important}.rpi-lightbox-inner:has(.grw-popup){height:100%!important;max-height:100%!important}.wp-gr.wp-dark.grw-popup{background-color:#1e1e1e!important}.wp-gr.wp-dark .wp-google-name{color:#eee!important}.wp-gr.rpi.wp-dark .wp-google-name a,.wp-gr.rpi.wp-dark .wp-google-name span{color:var(--head-based-color,#eee)!important}.wp-gr.wp-dark .wp-google-time{color:#bbb!important}.wp-gr.wp-dark .wp-google-text{color:#ececec!important}.wp-gr.wp-dark .wp-google-powered{color:var(--powered-color,#fff)!important}.wp-gr.wp-dark .wp-google-based{color:var(--head-based-color,#999)!important}.wp-gr:not(.wp-dark) .grw-review-inner.grw-backgnd{background:var(--rev-color)!important}.wp-gr.rpi .wp-google-name{font-size:100%!important}.wp-gr.rpi .grw-hide,.wp-gr.rpi .wp-google-hide{display:none}.wp-gr.rpi .wp-google-name a,.wp-gr.rpi .wp-google-name span{color:var(--head-name-color,#333)!important;font-size:18px!important;text-decoration:none!important}.wp-gr.rpi a.wp-google-name{margin:0!important;color:var(--name-color,#154fc1)!important;text-decoration:none!important;white-space:nowrap!important;text-overflow:ellipsis!important}.wp-gr .grw-row{display:-ms-flexbox!important;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;-ms-flex-wrap:nowrap!important;-ms-flex-align:center!important}.grw-row.grw-row-xs{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.grw-row-x .grw-header+.grw-content .grw-review,.grw-row-xs .grw-content,.grw-row-xs .grw-header,.grw-row-xs .grw-review{--col:1}.grw-row-xl .grw-header+.grw-content{--col:1.2}.grw-row-l .grw-header+.grw-content{--col:1.25}.grw-row-m .grw-header+.grw-content{--col:1.333333}.grw-row-s .grw-header+.grw-content{--col:1.5}.grw-row-s .grw-header+.grw-content .grw-review,.grw-row-x .grw-header,.grw-row-x .grw-header+.grw-content,.grw-row-x .grw-review{--col:2}.grw-row-m .grw-header+.grw-content .grw-review,.grw-row-s .grw-header,.grw-row-s .grw-review{--col:3}.grw-row-l .grw-review,.grw-row-m .grw-header,.grw-row-m .grw-review{--col:4}.grw-row-l .grw-header,.grw-row-xl .grw-review{--col:5}.grw-row-xl .grw-header{--col:6}.grw-row .grw-content,.grw-row .grw-header{-ms-flex:1 0 calc(100% / var(--col,3))!important;flex:1 0 calc(100% / var(--col,3))!important;width:calc(100% / var(--col,3))!important}.grw-row .grw-review{-ms-flex:1 0 calc((100% - var(--card-gap,16px)*(var(--col,3) - 1))/ var(--col,3))!important;flex:1 0 calc((100% - var(--card-gap,16px)*(var(--col,3) - 1))/ var(--col,3))!important;width:calc((100% - var(--card-gap,16px)*(var(--col,3) - 1))/ var(--col,3))!important}.wp-gr .grw-content{position:relative!important;min-width:0!important}.wp-gr .grw-content-inner{position:relative!important;display:flex!important;align-items:center!important}.wp-gr .grw-review-inner{height:100%!important}.wp-gr .grw-header-inner,.wp-gr .grw-review-inner{position:relative!important;margin:4px!important;padding:16px!important;width:100%!important}.wp-gr .wp-google-list .grw-header-inner{padding:0 0 16px 0!important}.wp-gr .grw-review-inner.grw-round{border-radius:8px!important}.wp-gr .grw-review-inner.grw-shadow{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 4px rgba(0,0,0,.24)!important}.wp-gr .grw-review-inner>svg{position:absolute!important;top:10px!important;right:10px!important;width:16px!important;height:16px!important}.wp-gr .grw-review{display:flex;position:relative!important;justify-content:center!important;align-items:center!important;flex-shrink:0!important}.wp-gr .grw-review .wp-google-left{display:block!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;line-height:24px!important;padding-bottom:2px!important}.wp-gr .grw-review .wp-google-feedback{height:100px!important;overflow-y:auto!important}.wp-gr .grw-scroll::-webkit-scrollbar{width:4px!important}.wp-gr .grw-scroll::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3)!important;-webkit-border-radius:4px!important;border-radius:4px!important}.wp-gr .grw-scroll::-webkit-scrollbar-thumb{-webkit-border-radius:10px!important;border-radius:10px!important;background:#ccc!important;-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.5)!important}.wp-gr .wp-google-wr{display:flex;margin:0!important}.wp-gr .wp-google-wr a{color:#fff!important;padding:4px 12px 8px!important;outline:0!important;border-radius:27px!important;background:var(--btn-color,#1f67e7)!important;white-space:nowrap!important;vertical-align:middle!important;opacity:.9!important;text-shadow:1px 1px 0 #888!important;box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 4px rgba(0,0,0,.24)!important;user-select:none!important;transition:all .2s ease-in-out!important}.wp-gr .wp-google-wr a:hover{opacity:.95!important;background:var(--btn-color,#1f67e7)!important;box-shadow:0 0 2px rgba(0,0,0,.12),0 3px 5px rgba(0,0,0,.24)!important}.wp-gr .wp-google-wr a:active{opacity:1!important;background:var(--btn-color,#1f67e7)!important;box-shadow:none!important}.wp-gr .wp-google-wr a svg{display:inline-block;width:16px;height:16px;padding:1px;margin:0 0 0 4px;background:#fff;border-radius:50%}.wp-gr[data-layout=grid] .grw-reviews{display:flex;gap:var(--card-gap,12px);flex-wrap:wrap!important;-ms-flex-wrap:wrap!important}.wp-gr .grw-b{font-weight:700!important;white-space:nowrap!important}.wp-gr .wp-google-reply{font-size:14px!important;margin-top:auto!important;margin-left:6px!important;padding-left:6px!important;border-left:1px solid #999!important;overflow:hidden!important;overflow-y:auto!important;line-height:20px!important;max-height:44px!important}.wp-gr .wp-google-reply>div{display:flex;gap:4px;align-items:center}.wp-gr .wp-google-reply .wp-google-time{font-size:11px!important;white-space:nowrap!important}.wp-gr .wp-google-img{display:flex;flex-wrap:wrap;gap:var(--media-gap);max-height:calc((var(--media-size) + var(--media-gap)) * var(--media-lines) - 2px)!important;overflow-y:auto!important}.wp-gr .wp-google-img img{display:flex;width:var(--media-size)!important;height:var(--media-size)!important;cursor:pointer!important;border-radius:3px!important;box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 4px rgba(0,0,0,.24)!important}.rpi-flx{display:var(--flx,flex)!important;flex-direction:var(--dir,column)!important;gap:var(--gap,2px)!important;align-items:var(--align,flex-start)!important;flex-wrap:var(--wrap,nowrap)!important;overflow:var(--overflow,visible)!important;width:100%!important}.rpi-col16{--dir:column;--gap:16px;--align:flex-start;--overflow:hidden}.rpi-col12{--dir:column;--gap:12px;--align:flex-start;--overflow:hidden}.rpi-col6{--dir:column;--gap:6px;--align:flex-start;--overflow:hidden}.rpi-col8{--dir:column;--gap:8px;--align:flex-start}.rpi-col4{--dir:column;--gap:4px;--align:flex-start}.rpi-row12-center{--dir:row;--gap:12px;--align:center;--overflow:visible}.rpi-row12{--dir:row;--gap:12px;--align:flex-start}:root{--star-gap:2px;--stars-max:5;--rpi-star-size:20px;--rpi-star-color:#fb8e28;--rpi-star-empty-color:#cccccc;--rpi-icon-scale-google:1.00;--rpi-icon-scale-yelp:0.92;--rpi-icon-scale-fb:1.125;--rpi-yelp-empty-color:#cccccc;--rpi-yelp-five-color:#fb433c;--rpi-yelp-four-color:#ff643d;--rpi-yelp-three-color:#ff8742;--rpi-yelp-two-color:#ffad48;--rpi-yelp-one-color:#ffcc4b;--rpi-yelp-radius:3px;--rpi-fb-color:#fa3e3e;--rpi-fb-radius:3px;--rpi-star-empty:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.48 3.499a.562.562 0 0 1 1.04 0l2.125 5.111a.563.563 0 0 0 .475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.563.563 0 0 0-.182.557l1.285 5.385a.562.562 0 0 1-.84.61l-4.725-2.885a.562.562 0 0 0-.586 0L6.982 20.54a.562.562 0 0 1-.84-.61l1.285-5.386a.562.562 0 0 0-.182-.557l-4.204-3.602a.562.562 0 0 1 .321-.988l5.518-.442a.563.563 0 0 0 .475-.345L11.48 3.5Z' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E");--rpi-star-mask:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10.7881 3.21068C11.2364 2.13274 12.7635 2.13273 13.2118 3.21068L15.2938 8.2164L20.6979 8.64964C21.8616 8.74293 22.3335 10.1952 21.4469 10.9547L17.3295 14.4817L18.5874 19.7551C18.8583 20.8908 17.6229 21.7883 16.6266 21.1798L11.9999 18.3538L7.37329 21.1798C6.37697 21.7883 5.14158 20.8908 5.41246 19.7551L6.67038 14.4817L2.55303 10.9547C1.66639 10.1952 2.13826 8.74293 3.302 8.64964L8.70609 8.2164L10.7881 3.21068Z'/%3E%3C/svg%3E")}.rpi-stars .rpi-star{display:none!important}.rpi-star,.rpi-stars-tripadvisor,.rpi-stars-yelp{--gap:4px;display:var(--flx,flex);align-items:center;align-self:var(--star-align-self,start);gap:var(--gap,4px);text-align:start;z-index:1}.rpi-star[data-rating]:empty::before{content:attr(data-rating);color:var(--rpi-rating-color,var(--rpi-star-color));font-size:var(--head-grade-fs, 18px);font-weight:var(--head-grade-weight,900)}.rpi-star i{padding:0 2px;cursor:pointer!important;background-color:var(--rpi-star-empty-color)}.rpi-star[data-rating="1"] i:nth-child(-n+1),.rpi-star[data-rating="2"] i:nth-child(-n+2),.rpi-star[data-rating="3"] i:nth-child(-n+3),.rpi-star[data-rating="4"] i:nth-child(-n+4),.rpi-star[data-rating="5"] i:nth-child(-n+5){background-color:var(--rpi-star-color)}.rpi-star:hover i{background-color:var(--rpi-star-color)!important}.rpi-star i:hover~i{background-color:var(--rpi-star-empty-color)!important}.rpi-star i,.rpi-star[data-rating]:empty::after{content:'';width:var(--rpi-star-size)!important;height:var(--rpi-star-size)!important;-webkit-mask-image:var(--rpi-star-mask)!important;-webkit-mask-repeat:no-repeat!important;-webkit-mask-position:center!important;-webkit-mask-size:contain!important;mask-image:var(--rpi-star-mask)!important;mask-repeat:no-repeat!important;mask-position:center!important;mask-size:contain!important}.rpi-star[data-rating]:empty::after{background-color:var(--rpi-star-color)}.rpi-star+.rpi-stars{--stars-offset:1;--stars:calc(var(--stars-max) - var(--stars-offset))}.rpi-stars{--star-size:var(--rpi-star-size, 18px);--star-color:var(--rpi-star-color);--empty:var(--rpi-star-empty);--mask:var(--rpi-star-mask);--stars:5;--icon-scale:1;--rating-scale:var(--rpi-rating-scale, 0.8);--gap:var(--star-gap, 2px);--stars-w:calc(var(--stars) * (var(--star-size) + var(--star-gap)));--fill:calc((var(--rating) / var(--stars)) * 100%);--bg-size:calc(var(--star-size) * var(--icon-scale));--bg-size-x:calc(var(--bg-size) + var(--star-gap));position:relative!important;display:inline-flex!important;align-items:center!important;align-self:var(--star-align-self,start)!important;width:max-content!important;height:var(--star-size)!important;font-size:calc(var(--star-size) * var(--rating-scale))!important;font-weight:var(--head-grade-weight,900)!important;color:var(--rpi-rating-color,var(--star-color))!important;white-space:nowrap!important;vertical-align:middle!important;padding-right:calc(var(--stars-w) + var(--gap))!important}.rpi-stars:empty{--gap:calc(-1 * (var(--star-gap) / 2 + 1px))}.rpi-stars::before{content:''!important;position:absolute!important;top:50%!important;right:0!important;width:var(--stars-w)!important;height:var(--star-size)!important;transform:translateY(-50%)!important;background-color:var(--star-color)!important;-webkit-mask-image:var(--empty)!important;-webkit-mask-repeat:repeat-x!important;-webkit-mask-position:left center!important;-webkit-mask-size:var(--bg-size-x) var(--bg-size)!important;mask-image:var(--empty)!important;mask-repeat:repeat-x!important;mask-position:left center!important;mask-size:var(--bg-size-x) var(--bg-size)!important}.rpi-stars::after{content:''!important;position:absolute!important;top:50%!important;right:0!important;width:var(--stars-w)!important;height:var(--star-size)!important;transform:translateY(-50%)!important;background-color:var(--star-color)!important;-webkit-mask-image:var(--mask)!important;-webkit-mask-repeat:repeat-x!important;-webkit-mask-position:left center!important;-webkit-mask-size:var(--bg-size-x) var(--bg-size)!important;mask-image:var(--mask)!important;mask-repeat:repeat-x!important;mask-position:left center!important;mask-size:var(--bg-size-x) var(--bg-size)!important;clip-path:inset(0 calc(100% - var(--fill)) 0 0)!important}.rpi-stars-tile,.rpi-stars-tripadvisor,.rpi-stars-yelp{--icon-scale:0.9;--star-scale:70%;--rating:0;--gap:3px;display:inline-flex!important;gap:var(--gap)!important;line-height:0!important;vertical-align:top!important}.rpi-stars-yelp{--empty-color:var(--rpi-yelp-empty-color);--five-color:var(--rpi-yelp-five-color);--four-color:var(--rpi-yelp-four-color);--three-color:var(--rpi-yelp-three-color);--two-color:var(--rpi-yelp-two-color);--one-color:var(--rpi-yelp-one-color);--star-size:var(--rpi-star-size);--radius:var(--rpi-yelp-radius)}.rpi-stars-tile i,.rpi-stars-yelp i{position:relative!important;display:inline-block!important;font-style:normal!important;flex:0 0 auto!important;width:var(--star-size)!important;height:var(--star-size)!important;border-radius:var(--radius)!important;background-color:var(--empty-color)!important;background-image:linear-gradient(90deg,var(--star-color) 0 calc(var(--fill,0) * 1%),transparent calc(var(--fill,0) * 1%))!important;background-repeat:no-repeat!important;background-size:100% 100%!important;box-sizing:border-box!important;transform:scale(var(--icon-scale))!important;transform-origin:left center!important}.rpi-stars-tile i::after,.rpi-stars-yelp i::after{content:''!important;position:absolute!important;inset:0!important;background-color:#fff!important;-webkit-mask-image:var(--rpi-star-mask)!important;-webkit-mask-repeat:no-repeat!important;-webkit-mask-size:var(--star-scale) var(--star-scale)!important;-webkit-mask-position:center!important;mask-image:var(--rpi-star-mask)!important;mask-repeat:no-repeat!important;mask-size:var(--star-scale) var(--star-scale)!important;mask-position:center!important}.rpi-stars-yelp,.rpi-stars-yelp[data-rating]::before{content:attr(data-rating);color:var(--rpi-rating-color,var(--star-color));font-size:var(--head-grade-fs, 18px);font-weight:var(--head-grade-weight,900)}.rpi-stars-tile i:first-child,.rpi-stars-yelp i:first-child{--fill:clamp(0, (var(--rating) - 0) * 100, 100)}.rpi-stars-tile i:nth-child(2),.rpi-stars-yelp i:nth-child(2){--fill:clamp(0, (var(--rating) - 1) * 100, 100)}.rpi-stars-tile i:nth-child(3),.rpi-stars-yelp i:nth-child(3){--fill:clamp(0, (var(--rating) - 2) * 100, 100)}.rpi-stars-tile i:nth-child(4),.rpi-stars-yelp i:nth-child(4){--fill:clamp(0, (var(--rating) - 3) * 100, 100)}.rpi-stars-tile i:nth-child(5),.rpi-stars-yelp i:nth-child(5){--fill:clamp(0, (var(--rating) - 4) * 100, 100)}.rpi-stars-yelp[data-stars^="1"]{--rating:1.5;--star-color:var(--one-color)}.rpi-stars-yelp[data-stars="1"]{--rating:1}.rpi-stars-yelp[data-stars^="2"]{--rating:2.5;--star-color:var(--two-color)}.rpi-stars-yelp[data-stars="2"]{--rating:2}.rpi-stars-yelp[data-stars^="3"]{--rating:3.5;--star-color:var(--three-color)}.rpi-stars-yelp[data-stars="3"]{--rating:3}.rpi-stars-yelp[data-stars^="4"]{--rating:4.5;--star-color:var(--four-color)}.rpi-stars-yelp[data-stars="4"]{--rating:4}.rpi-stars-yelp[data-stars^="5"]{--rating:5;--star-color:var(--five-color)}.rpi-stars-tripadvisor{--empty-color:#ffffff;--border-color:#5ba672;--fill-color:#5ba672;--rpi-dot-size:var(--rpi-star-size);--border:3px}.rpi-stars-tripadvisor i{width:var(--rpi-dot-size)!important;height:var(--rpi-dot-size)!important;display:inline-block!important;position:relative!important;flex:0 0 auto!important;box-sizing:border-box!important;border-radius:999px!important;border:var(--border) solid var(--border-color)!important;background-color:var(--empty-color)!important;background-image:linear-gradient(90deg,var(--fill-color) 0 calc(var(--fill,0) * 1%),transparent calc(var(--fill,0) * 1%))!important;background-repeat:no-repeat!important;background-size:100% 100%!important;transform:scale(var(--icon-scale))!important;transform-origin:left center!important}.rpi-stars-tripadvisor,.rpi-stars-tripadvisor[data-rating]::before{content:attr(data-rating);color:var(--rpi-rating-color,var(--fill-color));font-size:var(--head-grade-fs, 18px);font-weight:var(--head-grade-weight,900)}.rpi-stars-tripadvisor i:first-child{--fill:clamp(0, (var(--rating) - 0) * 100, 100)}.rpi-stars-tripadvisor i:nth-child(2){--fill:clamp(0, (var(--rating) - 1) * 100, 100)}.rpi-stars-tripadvisor i:nth-child(3){--fill:clamp(0, (var(--rating) - 2) * 100, 100)}.rpi-stars-tripadvisor i:nth-child(4){--fill:clamp(0, (var(--rating) - 3) * 100, 100)}.rpi-stars-tripadvisor i:nth-child(5){--fill:clamp(0, (var(--rating) - 4) * 100, 100)}.rpi-stars-tripadvisor[data-stars^="1"]{--rating:1.5}.rpi-stars-tripadvisor[data-stars="1"]{--rating:1}.rpi-stars-tripadvisor[data-stars^="2"]{--rating:2.5}.rpi-stars-tripadvisor[data-stars="2"]{--rating:2}.rpi-stars-tripadvisor[data-stars^="3"]{--rating:3.5}.rpi-stars-tripadvisor[data-stars="3"]{--rating:3}.rpi-stars-tripadvisor[data-stars^="4"]{--rating:4.5}.rpi-stars-tripadvisor[data-stars="4"]{--rating:4}.rpi-stars-tripadvisor[data-stars^="5"]{--rating:5}.rpi-star-fb{--icon-scale:0.9;--star-scale:70%;--fb-size:var(--rpi-star-size, 18px);--size:calc(var(--fb-size) * var(--icon-scale));--color:var(--rpi-fb-color, #fa3e3e);--radius:var(--rpi-fb-radius, 3px);--tail-w:calc(var(--size) / 3);--tail-h:calc(var(--size) / 3.6);--tail-offset:calc(var(--size) / 4.5);--tail-overlap:1px;--gap:0.25em;--label-scale:0.9;--fb-star:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10.7881 3.21068C11.2364 2.13274 12.7635 2.13273 13.2118 3.21068L15.2938 8.2164L20.6979 8.64964C21.8616 8.74293 22.3335 10.1952 21.4469 10.9547L17.3295 14.4817L18.5874 19.7551C18.8583 20.8908 17.6229 21.7883 16.6266 21.1798L11.9999 18.3538L7.37329 21.1798C6.37697 21.7883 5.14158 20.8908 5.41246 19.7551L6.67038 14.4817L2.55303 10.9547C1.66639 10.1952 2.13826 8.74293 3.302 8.64964L8.70609 8.2164L10.7881 3.21068Z' fill='%23fff'/%3E%3C/svg%3E");position:relative!important;display:inline-flex!important;align-items:center;align-self:var(--star-align-self,start);height:var(--star-size)!important;width:max-content!important;white-space:nowrap!important;font-size:calc(var(--size) * var(--label-scale))!important;line-height:1!important;padding-left:calc(var(--size) + var(--gap))!important;text-shadow:.015em 0 0 currentColor}.rpi-star-fb::before{content:''!important;position:absolute!important;left:0!important;top:50%!important;transform:translateY(-50%)!important;width:var(--size)!important;height:var(--size)!important;background-color:var(--color)!important;border-radius:var(--radius)!important;background-image:var(--fb-star)!important;background-repeat:no-repeat!important;background-position:center!important;background-size:var(--star-scale) var(--star-scale)!important}.rpi-star-fb::after{content:''!important;position:absolute!important;left:var(--tail-offset)!important;top:50%!important;width:0!important;height:0!important;transform:translateY(calc(var(--size)/ 2 - var(--tail-overlap)))!important;border-top:var(--tail-h) solid var(--color)!important;border-right:var(--tail-w) solid transparent!important}.rpi-star-fb[data-rating="1"]{--color:#cccccc}.rpi-stars-tile{--empty-color:var(--star-empty-color, #dcdce6);--star-size:var(--rpi-star-size, 18px);--star-color:var(--rpi-star-color, #fb8e28);--rating-scale:var(--rpi-rating-scale, 0.8);--radius:var(--rpi-yelp-radius, 3px);align-items:center!important;font-size:calc(var(--star-size, 18px) * var(--rating-scale))!important;font-weight:var(--head-grade-weight,900)!important;color:var(--rpi-rating-color,var(--star-color))!important;vertical-align:middle!important}:root{--rpi-lt:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'%3E%3C/path%3E%3C/svg%3E") no-repeat center/contain;--rpi-gt:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'%3E%3C/path%3E%3C/svg%3E") no-repeat center/contain}.rpi{--slider-btn-size:16px;--slider-btn-bg:var(--card-bg, #f5f5f5);--slider-btn-color:#777777;--slider-btn-padding:calc(var(--slider-btn-size) / 2);--slider-btn-bw:1px;--slider-btn-bc:#cccccc;--slider-btn-fs:calc(var(--slider-btn-size) + var(--slider-btn-bw));--slider-btn-shadow:0 2px 6px rgb(0 0 0 / 0.15);--slider-btn-full:calc(var(--slider-btn-size) + (var(--slider-btn-padding) * 2) + (var(--slider-btn-bw) * 2));--slider-btn-offset:0px;--slider-btn-out:calc(var(--slider-btn-full) / 2);--slider-btn-pos:calc(var(--slider-btn-out) + var(--slider-btn-offset));--slider-offset:calc(var(--slider-btn-out))}.rpi .rpi-slides{display:flex!important;flex:1!important;gap:var(--slider-gap,var(--card-gap,8px))!important;flex-wrap:nowrap!important;overflow:hidden!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scroll-behavior:var(--rpi-slider-behavior,smooth)!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important}.rpi .rpi-slides::-webkit-scrollbar{display:none!important}.rpi .rpi-slide{overflow:hidden!important;padding:4px 3px!important;scroll-snap-align:start!important;transition:transform .5s!important}.rpi .rpi-slides-bite{--offset:var(--slides-bite-offset, 6px);--alpha:0.2px;--shift:var(--slider-btn-offset);--radius:calc(var(--slider-btn-out) + var(--offset));-webkit-mask:var(--slider-bite,radial-gradient(circle var(--radius) at calc(0% - var(--shift)) 50%,transparent 0,transparent calc(var(--radius) - var(--alpha)),#000 calc(var(--radius) + var(--alpha))),radial-gradient(circle var(--radius) at calc(100% + var(--shift)) 50%,transparent 0,transparent calc(var(--radius) - var(--alpha)),#000 calc(var(--radius) + var(--alpha))),linear-gradient(#000 0 0));-webkit-mask-repeat:no-repeat;-webkit-mask-size:100% 100%;-webkit-mask-composite:source-in,source-in;margin:0 var(--slider-offset,0)}.rpi .rpi-ltgt{--margin:calc(-1 * var(--slider-btn-pos) + var(--slider-offset, 0px));position:var(--slider-btn-position,absolute)!important;padding:var(--slider-btn-padding)!important;border-radius:50%!important;border:var(--slider-btn-bw) solid var(--slider-btn-bc)!important;background-color:var(--slider-btn-bg)!important;box-shadow:var(--slider-btn-shadow)!important;transition:background-color .2s ease-in-out!important;z-index:1!important}.rpi .rpi-ltgt:active{box-shadow:none!important}.rpi .rpi-ltgt.rpi-lt{left:0!important;margin-left:var(--margin)!important}.rpi .rpi-ltgt.rpi-gt{right:0!important;margin-right:var(--margin)!important}.rpi-ltgt.rpi-gt::after,.rpi-ltgt.rpi-lt::before{position:relative!important;content:''!important;display:block!important;width:var(--slider-btn-size)!important;height:var(--slider-btn-size)!important;background-color:var(--slider-btn-color)!important}.rpi-ltgt.rpi-lt::before{-webkit-mask:var(--rpi-lt)!important;mask:var(--rpi-lt)!important}.rpi-ltgt.rpi-gt::after{-webkit-mask:var(--rpi-gt)!important;mask:var(--rpi-gt)!important}[dir=rtl] .rpi-gt::after,[dir=rtl] .rpi-lt::before{transform:rotate(180deg)}.rpi .rpi-dots-wrap{position:absolute!important;top:calc(100% - 1px)!important;left:0!important;right:0!important;display:flex!important;justify-content:center!important;margin:0 auto!important;padding-top:var(--slider-dot-padding-top,.5em)!important;max-width:100%!important;width:calc(var(--slider-dots-visible) * var(--slider-dot-size) + (var(--slider-dots-visible) - 1) * var(--slider-dot-gap))!important}.rpi .rpi-dots{display:flex;flex-wrap:nowrap;overflow-x:scroll!important;gap:var(--slider-dot-gap);scrollbar-width:none;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.rpi-dots .rpi-dot{display:inline-block!important;width:var(--slider-dot-size)!important;height:var(--slider-dot-size)!important;margin:0!important;padding:0!important;opacity:.4!important;vertical-align:middle!important;flex:1 0 auto!important;transform:scale(.55)!important;scroll-snap-align:center!important;border-radius:20px!important;background-color:var(--slider-dot-color,#999)!important}.rpi-dots .rpi-dot:hover{opacity:1!important}.rpi-dots .rpi-dot.active{opacity:1!important;transform:scale(.95)!important;background-color:var(--slider-act-dot-color,#fb8e28)!important}.rpi-dots .rpi-dot.s2{transform:scale(.85)!important}.rpi-dots .rpi-dot.s3{transform:scale(.65)!important}.rpi button{all:revert!important;margin:0!important;padding:0!important;box-shadow:none!important;border-radius:0!important;line-height:1!important;font:inherit!important;color:inherit!important;text-align:center!important;cursor:pointer!important;border:0!important;background:0 0!important;appearance:none!important;-webkit-appearance:none!important;user-select:none!important}.rpi button:focus{outline:0!important}.rpi button:focus-visible{outline:2px solid currentColor!important;outline-offset:2px!important}.rpi .rpi-x,.rpi-x{position:absolute!important;top:var(--x-top,6px)!important;right:var(--x-right,8px)!important;display:flex!important;align-items:center!important;justify-content:center!important;width:var(--x-width,20px)!important;height:var(--x-height,20px)!important;cursor:pointer!important;opacity:var(--x-opacity, .65)!important;border-radius:50%!important;background-color:var(--x-bg,#fafafa)!important;z-index:2147483003!important;outline:0!important}.rpi .rpi-x:focus-visible,.rpi-x:focus-visible{outline:0!important}.rpi .rpi-x:hover,.rpi-x:hover{opacity:1!important}.rpi .rpi-x::after,.rpi .rpi-x::before,.rpi-x::after,.rpi-x::before{content:""!important;position:absolute!important;display:block!important;width:var(--x-line-width,12px)!important;height:var(--x-line-height,1px)!important;border-radius:2px!important;background-color:var(--x-color,#373737)!important}.rpi .rpi-x::before,.rpi-x::before{transform:rotate(45deg)!important}.rpi .rpi-x::after,.rpi-x::after{transform:rotate(-45deg)!important}.rpi .rpi-x.rpi-xa::before,.rpi-x.rpi-xa::before{--x-line-width:7px!important;--x-line-height:7px!important;top:4px!important;border-radius:0!important;border-right:1px solid #373737!important;border-bottom:1px solid #373737!important;background-color:transparent!important}.rpi .rpi-x.rpi-xa::after,.rpi-x.rpi-xa::after{content:none!important}.rpi-bubble:after{content:"";position:absolute;top:-8px;left:16px;bottom:auto;border-style:solid;border-width:0 8px 8px;border-color:#fff transparent}.rpi-fade{-webkit-transition:opacity 150ms ease,-webkit-transform 150ms ease;transition:opacity 150ms ease,-webkit-transform 150ms ease;transition:transform 150ms ease,opacity 150ms ease;transition:transform 150ms ease,opacity 150ms ease,-webkit-transform 150ms ease}.rpi-sb{--visible:hidden;--x-bg:transparent;--x-line-width:16px;--slider-card-margin:0;--sb-top-offset:0px;--sb-x:100%;position:fixed;inset:var(--sb-top-offset,60px) 0 0 auto;width:min(368px,100%);display:flex;flex-direction:column;background:rgba(250,250,251,.98);border-left:1px solid #dadee2;box-shadow:#bdbdbd 0 2px 10px 0;z-index:2147483000;overflow:visible;transform:translateX(var(--sb-x));transition:transform .3s ease-in-out,visibility 0s .3s!important;visibility:var(--visible);will-change:transform;backface-visibility:hidden}.rpi-sb .rpi-list,.rpi-sbh{--card-gap:0;--card-padding:12px;--card-bg:transparent;--head-card-bg:transparent}.rpi-sb.rpi-open{--sb-x:0;--visible:visible;overflow:hidden;transition:transform .3s ease-in-out,visibility 0s 0s!important}.rpi-sb.rpi-left{--sb-x:-100%;inset:var(--sb-top-offset,60px) auto 0 0;border-left:none;border-right:1px solid #dadee2}.rpi-sb.rpi-left.rpi-open{transform:translateX(0)}@media (max-width:460px){.rpi-sb{inset:var(--sb-top-offset,60px) 0 0 0;width:100%;border-radius:0}}.rpi-sb .rpi{min-width:330px}.rpi-sb[data-layout=list] .rpi{--card-gap:0;--card-bg:none;--text-lines:auto;--head-card-bg:none}.rpi-sb .rpi-header{position:sticky;top:0;z-index:5}.rpi-sb .rpi-header,.rpi-sbf,.rpi-sbh{background:#fff;box-shadow:0 1px 2px 0 rgba(0,0,0,.12)}.rpi-sbc{flex:1;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.rpi-sbf{display:flex;align-items:center;justify-content:space-around;padding:8px 2px}.rpi-overlay{position:fixed;inset:0;background:rgba(0,0,0,.3);opacity:0;visibility:hidden;transition:opacity .3s;z-index:2147482999}.rpi-overlay.rpi-open{opacity:1;visibility:visible}.rpi-lightbox,.rpi-lightbox-wrap{--x-top:15px;--x-right:15px;--x-bg:none;--x-color:#ececec;--x-line-width:25px;--x-line-height:3px;--x-opacity:1;position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%}.rpi-lightbox-wrap{z-index:2147483003}.rpi-lightbox{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;max-width:100%;color:#333;text-align:left;z-index:2147483003;user-select:none;background-color:rgba(0,0,0,.6);transition:all .3s ease-out}.rpi-lightbox-inner{width:95%;max-width:1200px;height:100%;max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px)}@supports (container-type:inline-size){.rpi-lightbox-xxx{container-name:lightbox;container-type:inline-size}}.rpi-lightbox-xxx{position:relative;display:flex;justify-content:center;height:100%;border:none;overflow:auto;border-radius:4px;-webkit-overflow-scrolling:touch}.rpi-lightbox-content{position:relative;display:flex;flex-direction:row;justify-content:flex-start;color:#000;width:100%;height:100%;overflow:hidden;border-radius:4px;background-color:#fff}.rpi-lightbox-media{position:relative;display:flex;justify-content:center;flex:2;align-items:center;width:100%;height:100%;overflow:hidden;padding-bottom:0;background-color:#000}.rpi-lightbox-btn{position:absolute;display:flex;width:30px;height:30px;font-size:36px;line-height:22px;justify-content:center;z-index:1;cursor:pointer;border-radius:50%;background-color:rgba(214,214,214,.7);transition:background .3s ease-in-out}.rpi-lightbox-btn:hover{background:#e1e1e1}.rpi-lightbox-prev{left:8px}.rpi-lightbox-next{right:8px}.rpi-lightbox-prev::before{content:'‹'}.rpi-lightbox-next::before{content:'›'}.rpi-lightbox-media img{position:relative;display:block;width:100%;height:100%;max-width:100%;max-height:100%;opacity:1;object-fit:contain;border-radius:inherit;transition:opacity .3s ease-in-out}.rpi-lightbox .rpi-lightbox-review{display:flex;flex-direction:column;flex:1;height:100%;font-size:15px;color:#000;padding:0;overflow:hidden;overflow-y:auto}@supports (container-type:inline-size){@container lightbox (width < 480px){.rpi-lightbox-xxx .rpi-lightbox-content{flex-direction:column}}}@media(max-width:480px){.rpi-lightbox-xxx .rpi-lightbox-content{flex-direction:column}}:root{ --bg:        #F6F1E8; --bg-alt:    #EDE4D6; --primary:   #6B4B3E; --secondary: #7C6455; --bg-dark:   #2B1E18; --stone:     #D8C8B2; --line:      rgba(107,75,62,.16);
--line-soft: rgba(107,75,62,.08);
--gold:      #B88A39;  --hero-veil: 0; --cover-veil: .46; --serif:   "Playfair Display", "Times New Roman", Georgia, serif; --display: "Kanit", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif; --sans:    "Kanit", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
--thai:    "Kanit", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif; --r-card:  18px; --r-media: 14px; --r-btn:   10px; --pad: clamp(20px, 5vw, 72px);
--ease: cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
margin:0;
background:var(--bg);
color:var(--primary);
font-family:var(--sans);
font-weight:400;
line-height:1.75;
-webkit-font-smoothing:antialiased;
overflow-x:hidden;
}
html[data-lang="th"] body{ font-family:var(--thai); }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; }
::selection{ background:var(--primary); color:var(--bg); } .eyebrow{
font-family:var(--sans); font-size:11px; letter-spacing:.32em;
text-transform:uppercase; color:var(--secondary); font-weight:500; margin:0 0 22px;
}
h1,h2,h3{ font-weight:600; margin:0; letter-spacing:.01em; }
.display{ font-family:var(--display); font-weight:600; line-height:1.12; letter-spacing:.02em; } html[data-lang="en"] .sec-title,
html[data-lang="en"] .hero h1,
html[data-lang="en"] .cover h1{ font-family:var(--serif); font-weight:600; letter-spacing:.01em; } .step .n, .item .no{ font-family:var(--serif); } .price, .step .n, .item h3{ font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1; }
p{ margin:0 0 1.15em; color:var(--secondary); }
.lead{ font-size:clamp(15px,1.5vw,17px); max-width:56ch; }
.rule-h{ height:1px; background:var(--line); border:0; margin:0; } .header{
position:fixed; inset:0 0 auto 0; z-index:80;
padding:16px var(--pad) 0;
transition:padding .45s var(--ease);
}
.header-top{
display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
align-items:center; gap:16px;
} .header-top .lang{ grid-column:1; justify-self:start; }
.header-top .logo{ grid-column:2; }
.header-end{ grid-column:3; justify-self:end; display:flex; align-items:center; gap:14px; }
.header::before{
content:""; position:absolute; inset:0; z-index:-1;
background:rgba(246,241,232,.90);
backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
border-bottom:1px solid var(--line-soft);
opacity:0; transition:opacity .45s var(--ease);
}
.header.stuck::before{ opacity:1; } body:has(.cover) .header::before, body:has(.hero) .header::before{ opacity:1; } body:has(.drawer.open) .header::before{ opacity:1; background:var(--bg); }
.header.stuck{ padding-top:10px; }
.nav{
display:flex; justify-content:center; align-items:center; gap:clamp(20px,3vw,38px);
flex-wrap:wrap; min-width:0;
margin-top:14px; padding:11px 0 13px;
border-top:1px solid var(--line-soft);
transition:margin-top .45s var(--ease), padding .45s var(--ease);
}
.header.stuck .nav{ margin-top:9px; padding:8px 0 9px; }
.nav > *{ flex-shrink:0; }
.nav a:not(.btn){
font-size:12px; letter-spacing:.16em; text-transform:uppercase;
color:var(--secondary); position:relative; padding:6px 0;
transition:color .3s var(--ease);
}
.nav a:not(.btn)::after{
content:""; position:absolute; left:0; bottom:0; height:1px; width:0;
background:var(--primary); transition:width .4s var(--ease);
}
.nav a:not(.btn):hover{ color:var(--primary); }
.nav a:not(.btn):hover::after{ width:100%; } .logo-mark{ display:block; flex:none; color:var(--secondary); aspect-ratio:1; }
.logo-full{ display:block; color:var(--secondary); aspect-ratio:1088/879; height:auto; }
.logo-wordmark{ display:block; flex:none; color:var(--secondary); aspect-ratio:1090/140; } .logo{
display:flex; align-items:center; gap:12px; justify-self:center;
transition:transform .45s var(--ease);
}
.logo:hover{ transform:translateY(-1px); }
.logo .logo-mark{ width:42px; transition:width .45s var(--ease); }
.logo .logo-wordmark{ width:132px; transition:width .45s var(--ease); }
.header.stuck .logo .logo-mark{ width:34px; }
.header.stuck .logo .logo-wordmark{ width:112px; } .lang{
display:inline-flex; align-items:center;
border:1px solid var(--line); border-radius:999px;
padding:3px; background:rgba(255,255,255,.5);
}
.lang button{
border:0; background:transparent; cursor:pointer;
font-size:11px; letter-spacing:.14em; text-transform:uppercase;
padding:6px 12px; border-radius:999px; color:var(--secondary);
transition:background .35s var(--ease), color .35s var(--ease);
}
.lang button[aria-checked="true"]{ background:var(--primary); color:var(--bg); } .btn{
display:inline-flex; align-items:center; justify-content:center; gap:10px;
padding:14px 30px; border-radius:var(--r-btn); cursor:pointer;
font-family:var(--sans); font-size:11.5px; font-weight:500;
letter-spacing:.2em; text-transform:uppercase; white-space:nowrap;
border:1px solid var(--primary); background:var(--primary); color:var(--bg);
transition:background .4s var(--ease), color .4s var(--ease), transform .3s var(--ease), border-color .4s var(--ease);
}
.btn:hover{ background:var(--secondary); border-color:var(--secondary); transform:translateY(-2px); }
.btn-sm{ padding:11px 22px; font-size:10.5px; }
.btn-ghost{ background:transparent; color:var(--primary); }
.btn-ghost:hover{ background:var(--primary); color:var(--bg); }
.btn-light{ border-color:rgba(246,241,232,.5); background:transparent; color:var(--bg); }
.btn-light:hover{ background:var(--bg); color:var(--primary); border-color:var(--bg); } .btn-arrow::after{ content:"→"; font-size:1.05em; line-height:1; transition:transform .35s var(--ease); }
.btn-arrow:hover::after{ transform:translateX(4px); } .mobile-cta{
position:fixed; left:0; right:0; bottom:0; z-index:75;
display:none; gap:10px; padding:13px var(--pad);
background:rgba(246,241,232,.96); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
border-top:1px solid var(--line);
padding-bottom:calc(12px + env(safe-area-inset-bottom, 0px));
}
.mobile-cta .btn{ flex:1; min-height:44px; display:inline-flex; align-items:center; justify-content:center; } body.lb-open .mobile-cta{ display:none !important; } .burger{ display:none; width:40px; height:40px; border:0; background:transparent; cursor:pointer; padding:0; place-items:center; }
.burger span{ display:block; width:20px; height:1px; background:var(--primary); margin:4px 0; transition:transform .4s var(--ease), opacity .3s; }
.burger.open span:nth-child(1){ transform:translateY(5px) rotate(45deg); }
.burger.open span:nth-child(2){ opacity:0; }
.burger.open span:nth-child(3){ transform:translateY(-5px) rotate(-45deg); } .drawer{
position:fixed; top:0; left:0; right:0; bottom:auto; z-index:70;
background:var(--bg); border-bottom:1px solid var(--line);
box-shadow:0 20px 44px rgba(43,30,24,.16);
display:flex; flex-direction:column; align-items:stretch; gap:0;
padding:118px var(--pad) 14px;
max-height:calc(100dvh - 74px - 24px);
overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
opacity:0; visibility:hidden; transform:translateY(-12px);
transition:opacity .35s var(--ease), transform .4s var(--ease), visibility .4s;
}
.drawer.open{ opacity:1; visibility:visible; transform:none; }
.drawer a{
font-family:var(--display); font-size:17px; letter-spacing:.01em;
padding:14px 2px; text-align:center; color:var(--primary);
border-bottom:1px solid var(--line-soft);
}
.drawer a:last-child{ border-bottom:0; }
html[data-lang="th"] .drawer a{ font-family:var(--thai); font-size:16px; } .hero{
position:relative; min-height:100svh;
display:grid; place-items:center; text-align:center;
padding:168px var(--pad) 72px; overflow:hidden;
}
.hero-bg{
position:absolute; inset:0; z-index:0; overflow:hidden;
background: radial-gradient(120% 80% at 50% 0%,  rgba(184,138,57,.16) 0%, transparent 60%),
radial-gradient(90% 60% at 82% 100%, rgba(107,75,62,.10)  0%, transparent 65%),
radial-gradient(70% 50% at 12% 88%,  rgba(124,100,85,.09) 0%, transparent 60%),
var(--bg);
} .hero-video{
position:absolute; inset:0; z-index:0;
width:100%; height:100%; display:block;
object-fit:cover; object-position:center;
pointer-events:none; border:0;
} .hero-bg::after{
content:""; position:absolute; inset:0; z-index:1;
background:linear-gradient(180deg,
rgba(255,255,255,calc(var(--hero-veil) * 1.12)) 0%,
rgba(255,255,255,var(--hero-veil))              42%,
rgba(255,255,255,calc(var(--hero-veil) * 1.07)) 100%);
} @media (prefers-reduced-motion: reduce){
.hero-video{ display:none; }
} .steam{ position:absolute; inset:auto 0 0 0; height:52vh; z-index:0; pointer-events:none; overflow:hidden; }
.steam i{
position:absolute; bottom:-20%; width:190px; height:190px; border-radius:50%;
background:radial-gradient(circle, rgba(184,138,57,.16) 0%, transparent 68%);
filter:blur(14px); animation:rise 17s linear infinite;
}
.steam i:nth-child(1){ left:12%; animation-delay:0s;   }
.steam i:nth-child(2){ left:34%; animation-delay:-5s;  width:150px; height:150px; }
.steam i:nth-child(3){ left:58%; animation-delay:-9s;  }
.steam i:nth-child(4){ left:79%; animation-delay:-13s; width:130px; height:130px; }
@keyframes rise{
0%{ transform:translateY(0) scale(.8); opacity:0; }
20%{ opacity:.85; }
100%{ transform:translateY(-130%) scale(1.5); opacity:0; }
} .brand-tagline{
font-family:var(--serif); font-weight:600;
font-size:clamp(12px,1.35vw,15px); letter-spacing:.30em; text-transform:uppercase;
color:var(--gold); margin:0 0 10px;
}
.brand-sub{
font-family:var(--serif); font-style:italic; font-weight:400;
font-size:clamp(12.5px,1.2vw,14.5px); letter-spacing:.05em;
color:var(--secondary); margin:0;
} .rule-gold{ width:64px; height:1px; background:var(--gold); border:0; margin:16px auto 0; opacity:.8; }
.hero .brand-tagline{ margin-bottom:14px; }
.hero .brand-sub{ margin:0 0 30px; }
.hero-inner{ position:relative; z-index:1; display:grid; justify-items:center; } .hero-inner::before{
content:""; position:absolute; z-index:-1; pointer-events:none;
left:50%; top:50%; transform:translate(-50%,-50%);
width:min(1240px,145%); height:min(720px,190%);
background:radial-gradient(56% 56% at 50% 50%,
rgba(26,18,14,.62) 0%, rgba(26,18,14,.4) 46%, rgba(26,18,14,0) 78%);
} .hero h1, .hero .scroll-cue{ color:#F6F1E8; }
.hero .brand-sub{ color:rgba(246,241,232,.9); }
.hero h1, .hero .brand-tagline, .hero .brand-sub, .hero .scroll-cue{
text-shadow:0 2px 20px rgba(26,18,14,.7), 0 1px 3px rgba(26,18,14,.5);
}
.hero .scroll-cue i{ background:linear-gradient(rgba(246,241,232,.5), transparent); }
.hero .scroll-cue i::after{ background:linear-gradient(transparent, #F6F1E8); } .hero .btn-ghost{ color:#F6F1E8; border-color:rgba(246,241,232,.65); text-shadow:none; }
.hero .btn-ghost:hover{ background:#F6F1E8; color:var(--primary); border-color:#F6F1E8; }
.hero h1{
font-family:var(--display); font-weight:600;
font-size:clamp(22px,3.2vw,38px); line-height:1.3; max-width:18ch; margin:0 0 20px; white-space:pre-line;
}
html[data-lang="th"] .hero h1{ font-family:var(--thai); font-weight:600; font-size:clamp(20px,2.6vw,31px); line-height:1.5; max-width:24ch; }
.hero p{ max-width:48ch; margin-bottom:34px; font-size:clamp(13.5px,1.25vw,15.5px); }
.hero-cta{ display:flex; gap:14px; flex-wrap:wrap; justify-content:center; }
.scroll-cue{
position:absolute; bottom:30px; left:50%; transform:translateX(-50%); z-index:1;
display:grid; justify-items:center; gap:10px;
font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--secondary);
}
.scroll-cue i{ display:block; width:1px; height:46px; background:linear-gradient(var(--line), transparent); position:relative; overflow:hidden; }
.scroll-cue i::after{
content:""; position:absolute; top:-46px; left:0; width:1px; height:46px;
background:linear-gradient(transparent, var(--primary)); animation:drop 2.6s var(--ease) infinite;
}
@keyframes drop{ 0%{ top:-46px } 60%,100%{ top:46px } } section{ padding:clamp(80px,11vw,150px) var(--pad); position:relative; } section[id], .rs-group[id]{ scroll-margin-top:118px; }
.wrap{ max-width:1180px; margin:0 auto; position:relative; z-index:1; }
.narrow{ max-width:760px; margin:0 auto; position:relative; z-index:1; }
.center{ text-align:center; }
.center .lead{ margin-left:auto; margin-right:auto; }
.sec-title{ font-size:clamp(28px,3.6vw,46px); margin-bottom:26px; }
html[data-lang="th"] .sec-title{ font-family:var(--thai); font-weight:600; font-size:clamp(24px,3vw,38px); } .about{ background:var(--bg-alt); }
.about-grid{
display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,6vw,90px);
align-items:center; margin-top:clamp(48px,6vw,76px);
}
.about-grid .frame{ width:100%; max-width:440px; justify-self:center; } .name-eq{
font-family:var(--display); font-weight:600;
font-size:clamp(28px,5.4vw,66px); line-height:1.1; letter-spacing:.07em;
display:flex; align-items:center; justify-content:center; gap:.26em; flex-wrap:wrap;
}
.name-eq .plus{ color:var(--gold); font-size:.5em; transform:translateY(-.05em); }
.name-cap{ font-size:10.5px; letter-spacing:.28em; text-transform:uppercase; color:var(--secondary); margin:18px 0 0; } .ornament{ display:flex; align-items:center; gap:14px; color:var(--gold); margin:clamp(44px,6vw,70px) auto; max-width:560px; }
.ornament i{ width:8px; height:8px; border:1px solid currentColor; border-radius:50%; flex:none; }
.ornament span{ flex:1; height:1px; background:var(--line); }
.about-quote{
font-family:var(--display); font-style:normal; font-weight:500;
font-size:clamp(22px,3.4vw,42px); line-height:1.35; color:var(--primary);
max-width:24ch; margin:0 auto;
}
html[data-lang="th"] .about-quote{
font-family:var(--thai); font-style:normal; font-weight:500;
font-size:clamp(19px,2.6vw,31px); line-height:1.6; max-width:26ch;
} .curated{ margin-top:38px; }
.curated-cap{ font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--secondary); margin:0 0 14px; }
.chips, .choices{ display:flex; flex-wrap:wrap; gap:10px; }
.chips span, .choices span{
font-size:12.5px; letter-spacing:.04em; color:var(--primary);
border:1px solid var(--line); border-radius:999px; padding:7px 16px;
background:rgba(255,255,255,.5);
} .frame{ position:relative; overflow:hidden; border-radius:var(--r-media); }
.ph{
position:relative; width:100%; aspect-ratio:4/5;
background:
radial-gradient(90% 70% at 30% 20%, rgba(184,138,57,.30), transparent 60%),
radial-gradient(80% 60% at 75% 85%, rgba(107,75,62,.34), transparent 62%),
linear-gradient(150deg, #EDE5D8 0%, #D8C8B2 45%, #BFA98C 100%);
display:grid; place-items:center;
}
.ph::after{ content:""; position:absolute; inset:14px; border:1px solid rgba(246,241,232,.35); }
.ph svg{ width:54px; height:54px; opacity:.55; color:#F6F1E8; position:relative; z-index:1; }
.ph.sq{ aspect-ratio:1; } .ph.tall{ aspect-ratio:3/4; } .ph.wide{ aspect-ratio:16/10; }
.ph.alt{ background:
radial-gradient(85% 65% at 70% 25%, rgba(184,138,57,.34), transparent 60%),
linear-gradient(200deg, #D8C8B2 0%, #BFA98C 50%, #8A7059 100%); }
.ph.dark{ background:
radial-gradient(80% 60% at 40% 30%, rgba(184,138,57,.32), transparent 60%),
linear-gradient(160deg, #7C6455 0%, #47342B 60%, #2B1E18 100%); } .fac-grid{
display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
background:var(--line); border:1px solid var(--line); margin-top:60px;
}
.fac{
background:var(--bg); padding:clamp(28px,3.2vw,44px);
display:flex; flex-direction:column; gap:12px; text-align:left;
transition:background .45s var(--ease);
}
.fac:hover{ background:var(--bg-alt); }
.fac-ico{ width:30px; height:30px; color:var(--gold); margin-bottom:6px; }
.fac-ico svg{ width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.1; stroke-linecap:round; }
.fac h3{ font-family:var(--display); font-size:24px; }
html[data-lang="th"] .fac h3{ font-family:var(--thai); font-weight:600; font-size:19px; }
.fac p{ font-size:14px; margin:0; flex:1; }
.fac .temp{
font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold);
padding-top:14px; border-top:1px solid var(--line); margin-top:6px;
} .gallery{ background:var(--bg); } .switch{
display:inline-flex; align-items:center; margin-top:36px;
border:1px solid var(--line); border-radius:999px; padding:4px;
background:rgba(255,255,255,.6);
}
.switch button{
border:0; background:transparent; cursor:pointer; white-space:nowrap;
font-family:var(--sans); font-size:11px; letter-spacing:.18em; text-transform:uppercase;
padding:12px 30px; border-radius:999px; color:var(--secondary);
transition:background .35s var(--ease), color .35s var(--ease);
}
html[data-lang="th"] .switch button{ font-family:var(--thai); letter-spacing:.08em; }
.switch button[aria-pressed="true"]{ background:var(--primary); color:var(--bg); }
.panel{ display:none; }
.panel.is-on{ display:block; animation:fadeUp .55s var(--ease) both; }
@keyframes fadeUp{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
.menu-list{ margin-top:40px; border-top:1px solid var(--line); }
.item{
display:grid; grid-template-columns:auto 1fr auto auto; gap:8px 28px; align-items:baseline;
padding:24px 4px; border-bottom:1px solid var(--line); text-align:left;
transition:padding-left .4s var(--ease);
}
.item:hover{ padding-left:14px; }
.item .no{ font-family:var(--display); font-size:13px; letter-spacing:.24em; color:var(--gold); }
.item h3{ font-family:var(--display); font-size:24px; }
html[data-lang="th"] .item h3{ font-family:var(--thai); font-weight:600; font-size:19px; }
.item .dur{
font-size:11px; letter-spacing:.16em; text-transform:uppercase;
color:var(--secondary); white-space:nowrap;
}
.item .cost{ text-align:right; white-space:nowrap; }
.item .price{ font-family:var(--display); font-size:25px; color:var(--primary); display:block; }
.item .unit{ font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--secondary); }
.tag{
display:inline-block; margin-left:12px; vertical-align:middle;
font-size:9.5px; letter-spacing:.2em; text-transform:uppercase;
border:1px solid var(--gold); color:var(--gold); padding:3px 9px; border-radius:999px;
} .frame:hover .ph{ transform:scale(1.04); } .blog{ background:var(--bg-alt); }
.blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(26px,3.4vw,44px); margin-top:56px; text-align:left; }
.post{ display:grid; gap:13px; align-content:start; }
.post .frame{ margin-bottom:5px; }
.post .meta{ font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); }
.post h3{ font-family:var(--display); font-size:23px; line-height:1.3; }
html[data-lang="th"] .post h3{ font-family:var(--thai); font-weight:600; font-size:18px; line-height:1.55; }
.post p{ font-size:13.5px; margin:0; }
.post .more{
justify-self:start; font-size:10.5px; letter-spacing:.18em; text-transform:uppercase;
border-bottom:1px solid var(--line); padding-bottom:3px; transition:border-color .3s var(--ease);
}
.post .more:hover{ border-color:var(--primary); } .etq{ background:var(--bg-dark); color:var(--bg); }
.etq p, .etq .eyebrow{ color:rgba(246,241,232,.62); }
.etq .rule-h{ background:rgba(246,241,232,.14); }
.etq-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(24px,3vw,44px); margin-top:56px; text-align:left; }
.step .n{ font-family:var(--display); font-size:34px; color:var(--gold); line-height:1; display:block; margin-bottom:14px; }
.step h3{ font-size:12px; letter-spacing:.2em; text-transform:uppercase; margin-bottom:10px; color:var(--bg); }
html[data-lang="th"] .step h3{ letter-spacing:.06em; font-size:15px; text-transform:none; }
.step p{ font-size:13.5px; margin:0; } .visit-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(28px,4vw,60px); margin-top:56px; text-align:left; }
.info h3{ font-size:12px; letter-spacing:.22em; text-transform:uppercase; margin-bottom:16px; }
.info .row{ display:flex; justify-content:space-between; gap:16px; font-size:14px; padding:7px 0; border-bottom:1px solid var(--line); color:var(--secondary); }
.info .row b{ font-weight:400; color:var(--primary); }
.info a.link{ border-bottom:1px solid var(--line); padding-bottom:2px; font-size:13px; transition:border-color .3s; }
.info a.link:hover{ border-color:var(--primary); } .socials{ display:flex; gap:12px; flex-wrap:wrap; }
.social{
width:46px; height:46px; display:grid; place-items:center;
border:1px solid var(--line); border-radius:50%; color:var(--secondary);
transition:background .4s var(--ease), color .4s var(--ease), border-color .4s var(--ease), transform .3s var(--ease);
}
.social svg{ width:17px; height:17px; fill:currentColor; }
.social:hover{ background:var(--primary); border-color:var(--primary); color:var(--bg); transform:translateY(-3px); }
.socials.lg .social{ width:52px; height:52px; } .booking{ background:var(--bg-alt); }
.form{ display:grid; grid-template-columns:1fr 1fr; gap:22px 26px; margin-top:50px; text-align:left; }
.field{ display:grid; gap:8px; }
.field.full{ grid-column:1/-1; }
.field label{ font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--secondary); }
.field input, .field select, .field textarea{
font:inherit; font-size:15px; color:var(--primary);
background:transparent; border:0; border-bottom:1px solid var(--line);
padding:10px 2px; border-radius:0; outline:none; transition:border-color .35s var(--ease);
}
.field textarea{ resize:vertical; min-height:70px; }
.field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--primary); }
.form-actions{ grid-column:1/-1; display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:10px; }
.form-note{ font-size:12px; color:var(--secondary); margin:0; } .footer{ padding:clamp(56px,7vw,90px) var(--pad) 34px; background:var(--bg-dark); color:var(--bg); text-align:center; }
.footer p{ color:rgba(246,241,232,.6); }
.footer .rule-gold{ margin:26px auto 0; }
.footer .brand-tagline{ color:var(--gold); margin:14px 0 8px; }
.footer .brand-sub{ color:rgba(246,241,232,.66); margin:0 0 22px; }
.footer .rule-h{ background:rgba(246,241,232,.14); }
.footer-logo{ display:grid; justify-items:center; margin:0 auto 26px; }
.footer-logo .logo-full{ width:min(64vw,230px); color:var(--bg); }
.footer .socials{ justify-content:center; margin:30px 0 34px; }
.footer .social{ border-color:rgba(246,241,232,.22); color:rgba(246,241,232,.8); }
.footer .social:hover{ background:var(--bg); color:var(--primary); border-color:var(--bg); }
.foot-nav{ display:flex; gap:26px; justify-content:center; flex-wrap:wrap; margin-bottom:30px; }
.foot-nav a{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:rgba(246,241,232,.65); transition:color .3s; }
.foot-nav a:hover{ color:var(--bg); }
.copy{ font-size:11px; letter-spacing:.08em; margin:22px 0 0; } .tier{ cursor:pointer; }
.bld{
position:fixed; inset:0; z-index:210;
display:grid; place-items:center; padding:clamp(12px,3vw,32px);
background:rgba(26,18,14,.55); backdrop-filter:blur(4px);
opacity:0; transition:opacity .3s var(--ease);
}
.bld[hidden]{ display:none; }
.bld.is-on{ opacity:1; }
.bld-sheet{
position:relative; width:min(680px,100%); max-height:min(88svh,900px);
display:flex; flex-direction:column;
background:var(--bg); border-radius:var(--r-card);
box-shadow:0 30px 70px rgba(26,18,14,.4);
transform:translateY(14px) scale(.98); transition:transform .32s var(--ease);
}
.bld.is-on .bld-sheet{ transform:none; }
.bld-x{
position:absolute; top:12px; right:12px; z-index:2;
width:38px; height:38px; border-radius:50%; border:1px solid var(--line);
background:var(--bg-alt); color:var(--primary); cursor:pointer;
display:grid; place-items:center; transition:background .3s var(--ease);
}
.bld-x:hover{ background:#fff; }
.bld-x svg{ width:18px; height:18px; }
.bld-body{ min-height:0; flex:1 1 auto; overflow:auto; padding:clamp(26px,3.4vw,38px); padding-bottom:8px; }
.bld-foot{
flex:0 1 auto; max-height:50svh; overflow:auto;
padding:clamp(18px,2.2vw,24px) clamp(26px,3.4vw,38px);
border-top:1px solid var(--line); background:var(--bg-alt);
border-radius:0 0 var(--r-card) var(--r-card);
}
.bld-head{ margin-bottom:22px; }
.bld-kicker{ font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); margin:0 0 6px; }
html[data-lang="th"] .bld-kicker{ font-size:12px; letter-spacing:.04em; text-transform:none; }
.bld-head h3{ font-family:var(--display); font-size:clamp(21px,2.6vw,27px); color:var(--primary); }
.bld-step{ padding:20px 0; border-top:1px solid var(--line); }
.bld-step:first-of-type{ border-top:0; padding-top:0; }
.bld-q{ font-size:14px; color:var(--primary); margin:0 0 12px; font-weight:500; }
.bld-hint{ font-size:12px; color:var(--secondary); margin:-6px 0 12px; }
.bld-opts{ display:flex; flex-wrap:wrap; gap:9px; }
.bld-opt{
display:inline-flex; align-items:baseline; gap:8px; cursor:pointer;
border:1px solid var(--line); border-radius:999px; padding:9px 17px;
background:var(--bg-alt); font-size:13px; color:var(--primary);
transition:border-color .25s var(--ease), background .25s var(--ease);
}
.bld-opt:hover{ border-color:var(--gold); }
.bld-opt input{ position:absolute; opacity:0; pointer-events:none; }
.bld-opt:has(input:checked){ border-color:var(--gold); background:#fff; box-shadow:inset 0 0 0 1px var(--gold); }
.bld-opt:has(input:focus-visible){ outline:2px solid var(--primary); outline-offset:3px; }
.bld-share{ padding:20px 0; text-align:left; }
.bld-share summary{ cursor:pointer; color:var(--primary); }
.bld-share label{ display:block; margin-top:14px; }
.bld-share textarea{ display:block; width:100%; margin:8px 0 14px; padding:12px; resize:vertical; font:inherit; font-size:13px; color:var(--primary); background:var(--bg); border:1px solid var(--line); border-radius:var(--r-btn); }
.bld-share [role="status"]{ font-size:13px; margin:10px 0 0; }
.bld-recipients{ margin:12px 0 20px; padding:12px; border:1px solid var(--line); border-radius:var(--r-btn); }
.bld-recipients legend{ font-size:12px; padding:0 5px; }
.bld-opt em{ font-style:normal; font-size:12px; color:var(--gold); }
.bld-opt.is-off{ opacity:.4; cursor:not-allowed; }
.bld-opt.is-off:hover{ border-color:var(--line); }
.bld-sum{ display:grid; gap:6px; margin-bottom:14px; }
.bld-sum li{ display:flex; justify-content:space-between; gap:14px; font-size:13px; color:var(--secondary); list-style:none; }
.bld-sum li b{ font-weight:400; color:var(--primary); white-space:nowrap; }
.bld-total{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; padding-top:12px; border-top:1px solid var(--line); }
.bld-total span{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--secondary); }
html[data-lang="th"] .bld-total span{ font-size:13px; letter-spacing:.02em; text-transform:none; }
.bld-total b{
font-family:var(--display); font-weight:600; font-size:clamp(26px,3vw,34px); color:var(--primary);
font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1;
}
.bld-note{ font-size:11.5px; line-height:1.6; color:var(--secondary); margin:10px 0 0; }
.bld-cta{ display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
.bld-cta .btn{ flex:1; min-width:150px; text-align:center; }
@media (max-width:560px){
.bld{ padding:0; place-items:end stretch; }
.bld-sheet{ width:100%; max-height:94svh; border-radius:var(--r-card) var(--r-card) 0 0; }
.bld-foot{ border-radius:0; }
}
@media (prefers-reduced-motion:reduce){
.bld, .bld-sheet{ transition:none; }
} .rs-row, .pkg-row, .tier, .mass, .mb-card{ cursor:default; }
.rs-row.is-peek, .pkg-row.is-peek{ background:rgba(255,255,255,.5); }
.tier.is-peek{ border-color:var(--gold); }
.mass.is-peek .mass-media{ box-shadow:0 0 0 2px var(--gold); }
.mb-card.is-peek{ border-color:var(--gold); }
.promo.is-peek{ border-color:var(--gold); }
.steps-pop{
position:fixed; z-index:90; width:min(310px, calc(100vw - 32px));
background:var(--bg-alt); border:1px solid var(--gold); border-radius:var(--r-card);
box-shadow:0 18px 44px rgba(43,30,24,.18);
padding:20px 22px; pointer-events:none;
opacity:0; transform:translateY(8px) scale(.97);
transition:opacity .26s var(--ease), transform .26s var(--ease),
left .22s var(--ease), top .22s var(--ease);
}
.steps-pop.is-jump{ transition:opacity .26s var(--ease), transform .26s var(--ease); }
.steps-pop.is-on{ opacity:1; transform:none; }
.steps-pop h4{
font-family:var(--display); font-size:16px; color:var(--primary);
margin:0 0 3px; line-height:1.35;
}
.steps-pop .sp-meta{
font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold);
margin:0 0 14px; padding-bottom:12px; border-bottom:1px solid var(--line);
}
html[data-lang="th"] .steps-pop .sp-meta{ font-size:12px; letter-spacing:.02em; text-transform:none; } .steps-pop.is-feel{ width:min(340px, calc(100vw - 32px)); }
.sp-feel{ margin:0; font-size:13.5px; line-height:1.75; color:var(--secondary); }
.steps-pop.is-on .sp-feel{ animation:spIn .3s var(--ease) backwards; animation-delay:.05s; }
.steps-pop ol{ list-style:none; margin:0; padding:0; display:grid; gap:11px; counter-reset:sp; }
.steps-pop li{
counter-increment:sp; position:relative; padding-left:30px;
font-size:13px; line-height:1.5; color:var(--secondary);
}
.steps-pop li::before{
content:counter(sp); position:absolute; left:0; top:-1px;
width:20px; height:20px; border-radius:50%;
border:1px solid var(--gold); color:var(--gold);
font-family:var(--display); font-size:11px; line-height:19px; text-align:center;
font-variant-numeric:lining-nums;
} .steps-pop li:not(:last-child)::after{
content:""; position:absolute; left:10px; top:21px; width:1px; height:calc(100% - 10px);
background:linear-gradient(var(--line), transparent);
} .steps-pop.is-on li{ animation:spIn .3s var(--ease) backwards; }
@keyframes spIn{ from{ opacity:0; transform:translateX(-6px); } to{ opacity:1; transform:none; } } @media (hover:none){
.steps-pop{
left:16px !important; right:16px !important; width:auto;
top:auto !important; bottom:calc(74px + 14px) !important;
}
}
@media (prefers-reduced-motion:reduce){
.steps-pop, .steps-pop.is-on li{ transition:none; animation:none; }
} .rv{ opacity:0; transform:translateY(26px); transition:opacity 1s var(--ease), transform 1s var(--ease); }
.rv.in{ opacity:1; transform:none; }
.rv[data-d="1"]{ transition-delay:.1s } .rv[data-d="2"]{ transition-delay:.2s }
.rv[data-d="3"]{ transition-delay:.3s } .rv[data-d="4"]{ transition-delay:.4s }
@media (prefers-reduced-motion:reduce){
*{ animation:none !important; transition-duration:.01ms !important; }
.rv{ opacity:1; transform:none; }
} @media (max-width:1000px){
.fac-grid{ grid-template-columns:1fr; }
.visit-grid{ grid-template-columns:1fr; }
.etq-grid{ grid-template-columns:1fr 1fr; }
.blog-grid{ grid-template-columns:1fr; max-width:520px; margin-inline:auto; }
}
@media (max-width:820px){
.header{ padding-bottom:12px; } .header-top{ grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:10px; }
.lang{ padding:2px; }
.lang button{ font-size:10px; letter-spacing:.1em; padding:5px 9px; } .logo{ gap:9px; }
.logo .logo-mark{ width:34px; }
.logo .logo-wordmark{ width:104px; }
.header.stuck .logo .logo-mark{ width:30px; }
.header.stuck .logo .logo-wordmark{ width:92px; }
.header-end .btn{ display:none; } .nav{ display:none; }
.burger{ display:grid; }
.mobile-cta{ display:flex; }
body{ padding-bottom:74px; }
.about-grid{ grid-template-columns:1fr; }
.about-grid .frame{ order:-1; }
.form{ grid-template-columns:1fr; }
.scroll-cue{ display:none; }
.item{ grid-template-columns:auto 1fr auto; gap:6px 18px; }
.item h3, .item .item-name{ grid-column:2 / -1; }
.item .dur{ grid-column:2; }
.item .cost{ grid-column:3; }
.switch button{ padding:11px 20px; }
}
@media (max-width:520px){
.stats{ gap:26px; } .stat b{ font-size:30px; }
.etq-grid{ grid-template-columns:1fr; }
} .from-price{ margin:36px 0 32px; }
.from-price .from, .from-price .unit{
font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--secondary);
}
.from-price .price{ font-family:var(--display); font-size:46px; color:var(--primary); margin:0 8px; } .cover{
position:relative; overflow:hidden;
min-height:100svh;
display:grid; place-items:center; text-align:center;
padding:168px var(--pad) 72px;
} .cover-bg{
position:absolute; inset:0; z-index:0;
background-image:
var(--omk-menu-cover, url(//omakasen.com/wp-content/themes/omakasen/images/menu-cover.jpg)),
radial-gradient(120% 80% at 50% 0%,  rgba(184,138,57,.18) 0%, transparent 60%),
radial-gradient(90% 60% at 82% 100%, rgba(107,75,62,.10)  0%, transparent 65%),
linear-gradient(var(--bg), var(--bg));
background-size:cover; background-position:center 46%; background-repeat:no-repeat;
}
.cover-bg::after{
content:""; position:absolute; inset:0;
background:linear-gradient(180deg,
rgba(26,18,14,calc(var(--cover-veil) + .06)) 0%,
rgba(26,18,14,var(--cover-veil))             45%,
rgba(26,18,14,calc(var(--cover-veil) + .12)) 100%);
}
.cover-inner{ position:relative; z-index:1; display:grid; justify-items:center; } .cover .eyebrow, .cover h1, .cover-sub, .cover .scroll-cue{ color:#F6F1E8; }
.cover .eyebrow{ opacity:.9; }
.cover-sub{ color:rgba(246,241,232,.88); }
.cover h1{ text-shadow:0 1px 24px rgba(20,15,11,.45); }
.cover .scroll-cue i{ background:linear-gradient(rgba(246,241,232,.5), transparent); }
.cover .scroll-cue i::after{ background:linear-gradient(transparent, #F6F1E8); }
.cover h1{
font-family:var(--display); font-weight:600;
font-size:clamp(28px,4vw,52px); line-height:1.22; max-width:20ch; margin:0;
}
html[data-lang="th"] .cover h1{
font-family:var(--thai); font-weight:600;
font-size:clamp(25px,3.4vw,44px); line-height:1.45; max-width:22ch;
}
.cover-sub{
max-width:52ch; margin:20px 0 0;
font-size:clamp(13.5px,1.3vw,16px);
} .cover-jump{
display:flex; flex-wrap:wrap; justify-content:center; gap:10px;
margin-top:clamp(28px,3.4vw,40px);
}
.cover-jump a{
font-size:12.5px; color:#F6F1E8;
background:rgba(26,18,14,.34); border:1px solid rgba(246,241,232,.42);
border-radius:999px; padding:9px 19px; backdrop-filter:blur(6px);
transition:background .35s var(--ease), border-color .35s var(--ease), transform .35s var(--ease);
}
.cover-jump a:hover{ background:rgba(26,18,14,.6); border-color:var(--gold); transform:translateY(-2px); }
@media (max-width:620px){
.cover-jump a{ font-size:12px; padding:8px 15px; }
} .page-top{ padding-top:calc(clamp(80px,11vw,150px) + 86px); }
.nav a[aria-current="page"], .foot-nav a[aria-current="page"]{ color:var(--primary); }
.nav a[aria-current="page"]::after{ width:100%; } .packages{ background:var(--bg-alt); }
.pkg{ text-align:left; margin-top:clamp(44px,5.5vw,68px); }
.pkg-title{ font-family:var(--display); font-size:clamp(22px,2.7vw,31px); margin-bottom:20px; }
.pkg-head, .pkg-row{ display:grid; grid-template-columns:1fr auto auto auto; gap:10px 26px; align-items:baseline; }
.pkg-head{
font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--secondary);
padding-bottom:13px; border-bottom:1px solid var(--line);
}
.pkg-head span:nth-child(2), .pkg-row .pkg-time{ text-align:right; min-width:84px; }
.pkg-head span:nth-child(3), .pkg-row .pkg-price{ text-align:right; min-width:96px; }
.pkg-head span:nth-child(4), .pkg-row .pkg-member{ text-align:right; min-width:96px; }
.pkg-head span:nth-child(4){ color:var(--gold); }
.pkg-row{ padding:21px 2px; border-bottom:1px solid var(--line); transition:padding-left .4s var(--ease); }
.pkg-row:hover{ padding-left:12px; }
.pkg-name{ font-size:15.5px; color:var(--primary); }
.pkg-time{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--secondary); }
.pkg-price{ font-family:var(--display); font-size:24px; color:var(--primary); font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1; }
.pkg-member{ color:var(--gold); } @media (max-width:860px){
.pkg-head, .pkg-row{ gap:10px 16px; }
.pkg-head span:nth-child(2), .pkg-row .pkg-time{ min-width:0; }
.pkg-head span:nth-child(3), .pkg-row .pkg-price{ min-width:82px; }
.pkg-head span:nth-child(4), .pkg-row .pkg-member{ min-width:82px; }
.pkg-price{ font-size:21px; }
} @media (max-width:520px){
.pkg-head, .pkg-row{ grid-template-columns:1fr auto auto; gap:6px 14px; }
.pkg-head span:nth-child(1), .pkg-row .pkg-name{ grid-column:1 / -1; }
.pkg-head span:nth-child(2), .pkg-row .pkg-time{ text-align:left; min-width:0; }
.pkg-head span:nth-child(3), .pkg-row .pkg-price{ min-width:76px; }
.pkg-head span:nth-child(4), .pkg-row .pkg-member{ min-width:76px; }
.pkg-price{ font-size:20px; }
.pkg-name{ font-size:14px; }
} .promo-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(20px,2.6vw,32px); margin-top:54px; text-align:left; }
.promo{
border:1px solid var(--line); border-radius:var(--r-card); background:var(--bg-alt);
padding:clamp(26px,3vw,38px); display:grid; gap:12px; align-content:start;
transition:border-color .4s var(--ease), transform .4s var(--ease);
}
.promo:hover{ border-color:var(--gold); transform:translateY(-3px); }
.promo-badge{
justify-self:start; font-size:9.5px; letter-spacing:.2em; text-transform:uppercase;
border:1px solid var(--gold); color:var(--gold); padding:4px 11px; border-radius:999px;
}
.promo h3{ font-family:var(--display); font-size:27px; line-height:1.25; }
html[data-lang="th"] .promo h3{ font-family:var(--thai); font-weight:600; font-size:20px; line-height:1.5; }
.promo-desc{ font-size:14px; margin:0; }
.promo-price{ margin:8px 0 0; display:flex; align-items:baseline; gap:11px; flex-wrap:wrap; }
.promo-price s{ color:var(--secondary); font-size:16px; text-decoration-thickness:1px; }
.promo-price b{
font-family:var(--display); font-weight:400; font-size:34px; color:var(--primary);
font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1;
}
.promo-price .unit{ font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--secondary); }
.promo-valid{ font-size:11.5px; color:var(--secondary); margin:0; padding-top:13px; border-top:1px solid var(--line); }
@media (max-width:820px){ .promo-grid{ grid-template-columns:1fr; } } @media (max-width:344px){
.logo .logo-wordmark{ display:none; }
.logo .logo-mark{ width:36px; }
.header.stuck .logo .logo-mark{ width:32px; }
} .menu-banner{ margin-top:clamp(44px,5vw,64px); }
.menu-banner .ph{ aspect-ratio:21/9; } .packages .pkg,
.relax .rs-layout,
.facial .rs-layout{
display:grid; grid-template-columns:1fr 1fr; gap:0; align-items:stretch;
width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
min-height:min(54vh,440px);
}
.packages .pkg{ margin-top:clamp(36px,4.5vw,56px); }
.packages .pkg + .pkg{ margin-top:0; }  .packages .pkg:nth-of-type(odd) .pkg-media,
.relax .rs-group:nth-of-type(odd) .rs-media,
.facial .rs-group:nth-of-type(odd) .rs-media{ order:2; } .packages .pkg-media, .relax .rs-media, .facial .rs-media{ border-radius:0; }
.packages .pkg-media img,
.relax .rs-media img,
.facial .rs-media img{
position:absolute; inset:0; width:100%; height:100%;
aspect-ratio:auto; object-fit:cover;
}
.pkg-media .ph{ aspect-ratio:4/3; } .packages .pkg-body,
.relax .rs-body,
.facial .rs-body{
min-width:0; align-self:center;
padding:clamp(26px,3.4vw,52px) clamp(24px,4.5vw,68px);
}
.promo .frame{ margin:-6px 0 6px; }
.promo .ph{ aspect-ratio:16/10; } .promo .img-slot{ aspect-ratio:16/9; } .promo .img-slot img{ object-fit:contain; background:var(--bg-alt); }
@media (max-width:900px){ .packages .pkg, .relax .rs-layout, .facial .rs-layout{
grid-template-columns:1fr; min-height:0;
}
.packages .pkg{ margin-top:clamp(30px,5vw,44px); }
.packages .pkg + .pkg{ margin-top:clamp(30px,5vw,44px); }
.relax .rs-group + .rs-group, .facial .rs-group + .rs-group{ margin-top:clamp(30px,5vw,44px); }
.packages .pkg:nth-of-type(odd) .pkg-media,
.relax .rs-group:nth-of-type(odd) .rs-media,
.facial .rs-group:nth-of-type(odd) .rs-media{ order:0; }
.pkg-media .ph{ aspect-ratio:16/9; }
.packages .pkg-media img,
.relax .rs-media img,
.facial .rs-media img{ position:static; aspect-ratio:16/10; height:auto; }
.packages .pkg-body,
.relax .rs-body,
.facial .rs-body{ padding:clamp(24px,6vw,34px) var(--pad); }
}
.promo-grid.single{ grid-template-columns:1fr; max-width:560px; margin-inline:auto; }
.promo-off{ margin:8px 0 0; display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.promo-off b{
font-family:var(--display); font-weight:400; font-size:56px; line-height:1; color:var(--primary);
font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1;
}
.promo-off b span{ font-size:.5em; margin-left:2px; }
.promo-off .unit{ font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--secondary); }
.promo-until{
margin:0; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold);
}
html[data-lang="th"] .promo-until{ font-size:13px; letter-spacing:.02em; text-transform:none; }
.promo .more{
justify-self:start; margin-top:14px; font-size:10.5px; letter-spacing:.18em; text-transform:uppercase;
border-bottom:1px solid var(--line); padding-bottom:3px; transition:border-color .3s var(--ease);
}
.promo .more:hover{ border-color:var(--primary); } .personalize{ background:var(--bg); } .pz-incl{
display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
gap:clamp(20px,4vw,54px); margin-top:clamp(30px,3.4vw,44px);
padding:clamp(18px,2.2vw,26px) clamp(18px,3vw,36px);
border:1px solid var(--line); border-radius:var(--r-card); background:var(--bg-alt);
}
.pz-incl-i{ display:flex; align-items:center; gap:11px; }
.pz-incl-i svg{ width:26px; height:26px; color:var(--gold); flex:none; }
.pz-incl-i span{
font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--secondary);
}
html[data-lang="th"] .pz-incl-i span{ font-size:13px; letter-spacing:.04em; text-transform:none; } .pz-step{
display:flex; align-items:center; justify-content:center; gap:16px;
margin:clamp(52px,6vw,84px) 0 clamp(26px,3vw,38px);
}
.pz-step::before, .pz-step::after{
content:""; flex:1 1 0; height:1px; background:var(--line); max-width:180px;
}
.pz-num{
flex:none; width:34px; height:34px; border-radius:50%;
border:1px solid var(--gold); color:var(--gold);
display:grid; place-items:center;
font-family:var(--display); font-size:16px; line-height:1;
font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1;
}
.pz-title{
font-family:var(--display); font-size:clamp(21px,2.6vw,30px);
letter-spacing:.02em; white-space:nowrap;
} .tier-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(min(220px,100%), 1fr));
gap:clamp(14px,1.6vw,22px); align-items:stretch; text-align:center;
}
.tier{
position:relative; display:flex; flex-direction:column;
background:var(--bg-alt); border:1px solid var(--line); border-radius:var(--r-card);
padding:clamp(26px,2.6vw,34px) clamp(16px,1.8vw,24px);
transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .45s var(--ease);
} @media (hover:hover){
.tier:hover{
transform:translateY(-6px) scale(1.04);
border-color:rgba(184,138,57,.5);
box-shadow:0 18px 40px rgba(107,75,62,.13);
z-index:2; }
} .tier-top{
background:#fff; border-color:var(--gold); border-width:1.5px;
box-shadow:0 10px 30px rgba(184,138,57,.16);
}
@media (hover:hover){
.tier-top:hover{ box-shadow:0 22px 48px rgba(184,138,57,.28); }
}
.tier-flag{
position:absolute; top:0; left:50%; transform:translate(-50%,-50%);
background:var(--gold); color:#F6F1E8; white-space:nowrap;
font-size:9.5px; letter-spacing:.2em; text-transform:uppercase;
padding:6px 16px; border-radius:999px;
}
html[data-lang="th"] .tier-flag{ font-size:11px; letter-spacing:.06em; text-transform:none; } .tier-flag-alt{
background:var(--bg-alt); color:var(--gold); border:1px solid var(--gold);
padding:5px 15px;
}
.tier-dur{
margin:0; display:flex; align-items:baseline; justify-content:center; gap:6px;
font-family:var(--display); color:var(--primary);
font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1;
}
.tier-dur b{ font-weight:600; font-size:clamp(38px,4.4vw,54px); line-height:1; }
.tier-dur span{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--secondary); }
.tier-name{
font-family:var(--display); font-size:clamp(14px,1.5vw,17px); letter-spacing:.06em;
margin:10px 0 0; color:var(--primary);
}
.tier-inc{
list-style:none; margin:0; padding:clamp(16px,1.8vw,22px) 0;
border-top:1px solid var(--line); margin-top:clamp(16px,1.8vw,22px);
display:grid; gap:8px;
font-size:13px; color:var(--secondary);
}
.tier-note{
font-size:12.5px; line-height:1.6; color:var(--gold);
margin:0 0 clamp(16px,1.8vw,22px); padding:0 4px;
}
.tier-cost{
margin-top:auto; padding-top:clamp(16px,1.8vw,22px); border-top:1px solid var(--line);
display:grid; gap:7px;
}
.tc-row{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.tc-k{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--secondary); }
.tc-v{
font-family:var(--display); font-weight:600; font-size:clamp(17px,1.8vw,21px); color:var(--primary);
font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1;
} .swap{
display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1.3fr);
align-items:center; gap:clamp(20px,3vw,40px); text-align:left;
border:1px solid var(--line); border-radius:var(--r-card); background:var(--bg-alt);
padding:clamp(16px,1.8vw,22px);
}
.swap-media{ border-radius:var(--r-media); } .swap-media img, .swap-media .ph{ aspect-ratio:16/10; object-fit:cover; width:100%; height:auto; }
.swap-a{ display:grid; gap:12px; justify-items:start; }
.swap-h{ font-family:var(--display); font-size:clamp(17px,1.9vw,22px); color:var(--primary); margin:0; }
.swap-scope{ margin:0; font-size:11.5px; line-height:1.5; color:var(--secondary); }
.swap-pill{
font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold);
border:1px solid var(--gold); border-radius:999px; padding:5px 15px;
}
html[data-lang="th"] .swap-pill{ font-size:12px; letter-spacing:.04em; text-transform:none; }
.swap-b{
display:grid; gap:14px;
border-left:1px solid var(--line); padding-left:clamp(20px,3vw,40px);
}
.swap-q{ margin:0; font-size:13.5px; line-height:1.6; color:var(--secondary); }
.swap-opts{ display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.swap-opt{
display:inline-flex; align-items:center; gap:10px;
border:1px solid var(--gold); border-radius:999px; padding:9px 20px;
font-size:13px; color:var(--primary); background:rgba(255,255,255,.6);
transition:background .35s var(--ease);
}
.swap-opt:hover{ background:#fff; }
.swap-opt svg{ width:20px; height:20px; color:var(--gold); flex:none; }
.swap-or{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--secondary); }
html[data-lang="th"] .swap-or{ font-size:13px; letter-spacing:.02em; text-transform:none; } .mass-grid{
display:grid; grid-template-columns:repeat(4,1fr);
gap:clamp(18px,2.4vw,34px); text-align:center;
}
.mass{ position:relative; --mass-w:210px; }
.mass-media{
border-radius:50%; width:min(100%,var(--mass-w)); margin:0 auto;
}
.mass-media img, .mass-media .ph{ aspect-ratio:1; object-fit:cover; width:100%; } .mass-media.img-slot{ border-radius:50%; }
.mass-flag{ position:absolute; top:4px; z-index:2;
right:calc((100% - min(100%, var(--mass-w))) / 2);
background:var(--gold); color:#F6F1E8; white-space:nowrap;
font-size:9.5px; letter-spacing:.14em; text-transform:uppercase;
padding:5px 13px; border-radius:999px;
}
html[data-lang="th"] .mass-flag{ font-size:11px; letter-spacing:.02em; text-transform:none; }
.mass-name{
font-family:var(--display); font-size:clamp(17px,1.9vw,22px);
margin:18px 0 0; color:var(--primary);
}
.mass-note{ font-size:12.5px; color:var(--secondary); margin:6px 0 0; } .addon-grid{
display:grid; grid-template-columns:repeat(auto-fit, minmax(210px,1fr));
gap:clamp(14px,1.6vw,20px); text-align:left;
}
.addon{
background:var(--bg-alt); border:1px solid var(--line); border-radius:var(--r-card);
padding:clamp(20px,2.2vw,26px);
display:grid; gap:8px; align-content:start;
transition:transform .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease);
}
.addon:hover{
transform:translateY(-3px); border-color:var(--gold);
box-shadow:0 12px 28px rgba(107,75,62,.09);
}
.addon svg{ width:26px; height:26px; color:var(--gold); }
.addon h4{ font-family:var(--display); font-size:16px; line-height:1.4; color:var(--primary); margin:2px 0 0; }
.addon-note{ font-size:12.5px; line-height:1.6; color:var(--secondary); margin:0; }
.addon-price{
font-family:var(--display); font-weight:600; font-size:21px; color:var(--gold);
margin:6px 0 0; font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1;
} .addon-opts{
list-style:none; margin:8px 0 0; padding:10px 0 0; border-top:1px solid var(--line);
display:grid; gap:8px;
}
.addon-opts li{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.addon-opts span{ font-size:12.5px; color:var(--secondary); }
.addon-opts b{
font-family:var(--display); font-weight:600; font-size:16px; color:var(--gold); white-space:nowrap;
font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1;
} @media (max-width:1000px){
.tier-grid{ grid-template-columns:repeat(2,1fr); gap:clamp(22px,3.4vw,30px); }
.mass-grid{ grid-template-columns:repeat(2,1fr); }
.swap{ grid-template-columns:1fr 1fr; }
.swap-media{ grid-column:1 / -1; }
.swap-media img, .swap-media .ph{ aspect-ratio:21/9; }
}
@media (max-width:620px){
.pz-step::before, .pz-step::after{ max-width:40px; }
.pz-title{ white-space:normal; }
.tier-grid{ grid-template-columns:1fr; gap:26px; }
.swap{ grid-template-columns:1fr; text-align:center; }
.swap-a{ justify-items:center; }
.swap-b{ border-left:0; border-top:1px solid var(--line); padding:18px 0 0; justify-items:center; }
.swap-opts{ justify-content:center; }
.mass{ --mass-w:170px; } .mass-flag{ font-size:8.5px; padding:4px 9px; letter-spacing:.1em; }
html[data-lang="th"] .mass-flag{ font-size:10px; padding:4px 9px; }
} .item-name{ min-width:0; }
.item-sub{ font-size:13px; line-height:1.6; color:var(--secondary); margin:7px 0 0; } .relax{ background:var(--bg-alt); } .facial{ background:var(--bg); }
.rs-group{ text-align:left; margin-top:clamp(46px,5.5vw,74px); }
.rs-title{
display:flex; align-items:baseline; gap:15px;
font-family:var(--display); font-size:clamp(21px,2.5vw,29px); margin-bottom:20px;
}
.rs-no{ font-family:var(--sans); font-size:11px; letter-spacing:.24em; color:var(--gold); }
.rs-head, .rs-row{
display:grid; grid-template-columns:1fr repeat(3,minmax(80px,auto));
gap:10px 26px; align-items:baseline;
}
.rs-set .rs-head, .rs-set .rs-row{ grid-template-columns:1fr auto auto; }
.rs-head{
font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--secondary);
padding-bottom:12px; border-bottom:1px solid var(--line);
}
.rs-head span:not(:first-child), .rs-row span:not(.rs-name){ text-align:right; }
.rs-row{ padding:19px 2px; border-bottom:1px solid var(--line); transition:padding-left .4s var(--ease); }
.rs-row:hover{ padding-left:12px; }
.rs-name{ font-size:15.5px; color:var(--primary); min-width:0; }
.rs-sub{ display:block; font-style:normal; font-size:12.5px; line-height:1.6; color:var(--secondary); margin-top:6px; }
.rs-c{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--secondary); white-space:nowrap; }
.rs-p{
font-family:var(--display); font-size:21px; color:var(--primary); white-space:nowrap;
font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1;
}
.rs-na{ color:var(--line); font-size:17px; } .rs-media:hover img{ transform:scale(1.04); } .relax .rs-group, .facial .rs-group{ margin-top:clamp(36px,4.5vw,56px); }
.relax .rs-group + .rs-group, .facial .rs-group + .rs-group{ margin-top:0; }
@media (max-width:760px){
.rs-head{ display:none; }
.rs-group:not(.rs-set) .rs-row{ grid-template-columns:repeat(3,1fr); gap:4px 12px; }
.rs-set .rs-row{ grid-template-columns:1fr auto; gap:6px 16px; }
.rs-name{ grid-column:1 / -1; margin-bottom:8px; }
.rs-row span:not(.rs-name){ text-align:left; }
.rs-p{ font-size:19px; }
.rs-group:not(.rs-set) .rs-p::before{
content:attr(data-label); display:block; font-family:var(--sans); font-size:10.5px;
letter-spacing:.16em; text-transform:uppercase; color:var(--secondary); margin-bottom:3px;
}
.rs-set .rs-p{ text-align:right; }
} .price, .pkg-price, .rs-p, .rm-price, .from-price .price,
.promo-price b, .promo-off b{ font-weight:600; }
.rs-name, .pkg-name, .rm-name, .info .row b, .chips span, .choices li, .choices span{ font-weight:500; }
.nav a, .foot-nav a, .lang button, .switch button{ font-weight:500; }
.lead, .item-sub, .rs-sub, .step-note, .promo-desc, .post p{ font-weight:400; }
.pkg-title, .rs-title, .step-card h3, .item h3, .post h3, .promo h3, .fac h3{ font-weight:600; } .flow{ background:var(--bg-alt); }
.slider{ position:relative; margin-top:clamp(40px,5vw,66px); }
.slides-viewport{ overflow:hidden; }
.slides{ display:flex; transition:transform .65s var(--ease); will-change:transform; }
.slide{
min-width:100%; display:grid; grid-template-columns:1.02fr .98fr;
gap:clamp(28px,4.5vw,64px); align-items:center; text-align:left;
}
.slide .img-slot{ aspect-ratio:4/3; }
.slide-body{ min-width:0; }
.slide-no{ display:block; font-size:11px; letter-spacing:.26em; color:var(--gold); margin-bottom:14px; }
.slide h3{ font-family:var(--display); font-weight:600; font-size:clamp(30px,4vw,48px); line-height:1.1; margin-bottom:12px; }
.slide-time{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--secondary); margin:0 0 18px; }
.slide-desc{ font-size:15.5px; line-height:1.75; margin:0; max-width:44ch; }
.slide .choices{ margin-top:20px; }
.sl-nav{ display:flex; align-items:center; justify-content:center; gap:24px; margin-top:clamp(28px,3.5vw,46px); }
.sl-btn{
width:48px; height:48px; padding:0; border-radius:50%; cursor:pointer;
border:1px solid var(--line); background:transparent; color:var(--primary);
display:grid; place-items:center;
transition:background .4s var(--ease), color .4s var(--ease), border-color .4s var(--ease);
}
.sl-btn svg{ width:19px; height:19px; }
.sl-btn:hover{ background:var(--primary); border-color:var(--primary); color:var(--bg); }
.dots{ display:flex; gap:10px; }
.dot{
width:9px; height:9px; padding:0; border-radius:50%; cursor:pointer;
border:1px solid var(--line); background:transparent;
transition:background .35s var(--ease), border-color .35s var(--ease), transform .35s var(--ease);
}
.dot[aria-current="true"]{ background:var(--primary); border-color:var(--primary); transform:scale(1.25); }
@media (max-width:820px){
.slide{ grid-template-columns:1fr; gap:22px; }
.slide .ph{ aspect-ratio:16/10; }
.sl-btn{ width:44px; height:44px; }
} a.item{ cursor:pointer; text-decoration:none; color:inherit; position:relative; }
a.item::after{ content:"›"; position:absolute; right:-6px; top:50%;
transform:translateY(-50%) translateX(-6px);
font-size:22px; line-height:1; color:var(--gold);
opacity:0; transition:opacity .35s var(--ease), transform .35s var(--ease);
}
a.item:hover::after{ opacity:1; transform:translateY(-50%) translateX(0); }
a.item:hover .no{ color:var(--primary); }
a.item:focus-visible{ outline:1px solid var(--gold); outline-offset:6px; border-radius:var(--r-media); }
@media (max-width:820px){ a.item::after{ display:none; } }  .cf{
margin-top:clamp(38px,4.5vw,58px);
width:min(1420px, 92vw);
margin-inline:calc((100% - min(1420px, 92vw)) / 2);
}
.cf-stage{
position:relative; height:clamp(300px,38vw,560px);
perspective:1200px; overflow:hidden;
}
.cf-item{
position:absolute; left:50%; top:50%; padding:0; border:0; cursor:pointer;
width:clamp(168px,26vw,400px); aspect-ratio:3/4; overflow:hidden; border-radius:var(--r-media);
background:var(--bg-alt); z-index:1; opacity:0;
transform:translate(-50%,-50%) scale(.42);
} .cf.is-ready .cf-item{
transition:transform .85s var(--ease), opacity .85s var(--ease), box-shadow .85s var(--ease);
}
.cf-item img{ width:100%; height:100%; object-fit:cover; display:block; } .cf-item[data-pos="0"]{  transform:translate(-50%,-50%)  scale(1);   opacity:1;   z-index:5;
box-shadow:0 22px 50px rgba(43,30,24,.18); }
.cf-item[data-pos="-1"]{ transform:translate(-136%,-50%) scale(.74); opacity:.92; z-index:4; }
.cf-item[data-pos="1"]{  transform:translate(36%,-50%)   scale(.74); opacity:.92; z-index:4; }
.cf-item[data-pos="-2"]{ transform:translate(-198%,-50%) scale(.52); opacity:.6;  z-index:3; }
.cf-item[data-pos="2"]{  transform:translate(98%,-50%)   scale(.52); opacity:.6;  z-index:3; }
.cf-item[data-pos="-3"]{ transform:translate(-330%,-50%) scale(.42); opacity:0;   z-index:2; }
.cf-item[data-pos="3"]{  transform:translate(230%,-50%)  scale(.42); opacity:0;   z-index:2; }
.cf-item[data-pos="-1"]:hover, .cf-item[data-pos="1"]:hover,
.cf-item[data-pos="-2"]:hover, .cf-item[data-pos="2"]:hover{ opacity:1; }
.cf-item:focus-visible{ outline:2px solid var(--gold); outline-offset:4px; } .cf-item.is-missing img{ opacity:0; }
.cf-item.is-missing{
background:
radial-gradient(90% 70% at 30% 20%, rgba(184,138,57,.30), transparent 60%),
radial-gradient(80% 60% at 75% 85%, rgba(107,75,62,.30), transparent 62%),
linear-gradient(150deg, #EDE5D8 0%, #D8C8B2 45%, #BFA98C 100%);
}
.cf-item.is-missing::before{ content:""; position:absolute; inset:12px; border:1px solid rgba(246,241,232,.35); }
.cf-nav{ display:flex; align-items:center; justify-content:center; gap:22px; margin-top:clamp(24px,3vw,38px); }
.cf-count{ margin:0; font-size:12px; letter-spacing:.18em; color:var(--secondary); min-width:74px; }
.cf-count b{ font-weight:600; color:var(--primary); } @media (max-width:760px){
.cf-item[data-pos="-2"], .cf-item[data-pos="2"]{ opacity:0; }
.cf-item[data-pos="-1"]{ transform:translate(-124%,-50%) scale(.66); }
.cf-item[data-pos="1"]{  transform:translate(24%,-50%)   scale(.66); }
.cf-stage{ height:clamp(280px,72vw,360px); }
} .lightbox{
position:fixed; inset:0; z-index:200; display:grid;
grid-template-columns:auto 1fr auto; align-items:center; gap:clamp(8px,2vw,26px);
padding:clamp(16px,4vw,44px);
background:rgba(43,30,24,.95); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
} .lightbox[hidden]{ display:none; }
.lightbox.is-closing{ animation:lbOut .26s var(--ease) forwards; }
@keyframes lbOut{ from{ opacity:1 } to{ opacity:0 } }
.lb-stage{ margin:0; display:grid; place-items:center; min-width:0; }
.lb-img{
max-width:100%; max-height:82vh; width:auto; height:auto;
object-fit:contain; border-radius:var(--r-media); background:var(--bg-alt);
}
.lb-btn{
width:50px; height:50px; padding:0; border-radius:50%; cursor:pointer;
border:1px solid rgba(246,241,232,.28); background:transparent; color:var(--bg);
display:grid; place-items:center; flex:none;
transition:background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
}
.lb-btn svg{ width:20px; height:20px; }
.lb-btn:hover{ background:var(--bg); color:var(--primary); border-color:var(--bg); }
.lb-close{ position:absolute; top:clamp(14px,3vw,28px); right:clamp(14px,3vw,28px); z-index:2; }
.lb-count{
position:absolute; left:0; right:0; bottom:clamp(14px,3vw,28px); margin:0; text-align:center;
font-size:12px; letter-spacing:.18em; color:rgba(246,241,232,.7);
}
.lb-count b{ font-weight:600; color:var(--bg); }
@media (max-width:640px){
.lightbox{ grid-template-columns:1fr; }
.lb-prev, .lb-next{ position:absolute; bottom:clamp(50px,12vw,74px); z-index:2; }
.lb-prev{ left:16px; } .lb-next{ right:16px; }
.lb-img{ max-height:70vh; }
} .member{ background:var(--bg-alt); } .onsen-pass{ background:var(--bg); }
.promotion{ background:var(--bg-alt); }
.promo{ background:var(--bg); } .mb-kicker{
margin:22px 0 0; font-size:11px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold);
}
.mb-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(min(200px,100%), 1fr)); gap:clamp(18px,2.4vw,28px);
margin-top:clamp(40px,5vw,60px); text-align:left;
}
.mb-card{
position:relative; display:grid; gap:10px; align-content:start;
padding:clamp(26px,3vw,40px); border-radius:var(--r-card);
border:1px solid var(--line); background:var(--bg-alt);
transition:border-color .4s var(--ease), transform .4s var(--ease);
}
.mb-card:hover{ border-color:var(--gold); transform:translateY(-3px); } .mb-card.is-best{
border-color:var(--gold); border-width:1.5px;
background:var(--bg-alt);
padding-top:calc(clamp(26px,3vw,40px) + 12px);
padding-bottom:calc(clamp(26px,3vw,40px) + 12px);
transform:translateY(-16px);
box-shadow:0 20px 46px rgba(43,30,24,.15);
z-index:2;
}
.mb-card.is-best:hover{ transform:translateY(-22px); }
.mb-card.is-best .mb-credit b{ font-size:clamp(34px,4vw,50px); }
.mb-card.is-best h3{ font-size:clamp(21px,2.3vw,26px); }
.mb-card.is-best .mb-badge{ background:var(--gold); color:var(--bg); border-color:var(--gold); }
.mb-grid{ align-items:start; }
.mb-flag{
position:absolute; top:-11px; left:clamp(26px,3vw,40px);
font-size:9.5px; letter-spacing:.2em; text-transform:uppercase;
background:var(--gold); color:var(--bg); padding:4px 12px; border-radius:999px;
}
.mb-badge{
justify-self:start; font-size:11px; font-weight:600; letter-spacing:.14em;
border:1px solid var(--gold); color:var(--gold); padding:4px 12px; border-radius:999px;
}
.mb-card h3{
font-family:var(--display); font-weight:600; font-size:clamp(19px,2vw,23px); margin-top:4px;
}
.mb-credit{ margin:10px 0 0; display:grid; gap:3px; }
.mb-credit b{
font-family:var(--display); font-weight:600; font-size:clamp(30px,3.4vw,42px); line-height:1;
color:var(--primary); font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1;
} #member .mb-card.is-quiet .mb-credit b{ font-size:clamp(26px,2.9vw,36px); }
.mb-credit span{ font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--secondary); }
.mb-pay{
margin:14px 0 0; padding-top:14px; border-top:1px solid var(--line);
font-size:14px; color:var(--secondary);
}
.mb-extra{ margin:0; font-size:13px; color:var(--gold); font-weight:500; } .mb-perks{
list-style:none; margin:16px 0 0; padding:16px 0 0; display:grid; gap:10px;
border-top:1px solid var(--line);
}
.mb-perks li{ position:relative; padding-left:22px; font-size:13.5px; line-height:1.55; color:var(--secondary); }
.mb-perks li::before{
content:""; position:absolute; left:2px; top:.55em;
width:7px; height:7px; border-radius:50%; border:1px solid var(--gold);
}
.mb-perks li.is-plus::before{ background:var(--gold); }
.mb-perks li.is-plus > span{ color:var(--primary); }
.mb-perks small{ display:block; font-size:11.5px; line-height:1.5; opacity:.72; margin-top:2px; }
@media (max-width:900px){
.mb-grid{ grid-template-columns:1fr; max-width:460px; margin-inline:auto; } .mb-card.is-best{ transform:none; }
.mb-card.is-best:hover{ transform:translateY(-3px); }
} .img-slot{ position:relative; overflow:hidden; background:var(--bg-alt); border-radius:var(--r-media); }
.img-slot img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform 1s var(--ease); }
.img-slot.is-missing img{ opacity:0; }
.img-slot.is-missing{
background:
radial-gradient(90% 70% at 30% 20%, rgba(184,138,57,.30), transparent 60%),
radial-gradient(80% 60% at 75% 85%, rgba(107,75,62,.30), transparent 62%),
linear-gradient(150deg, #EDE5D8 0%, #D8C8B2 45%, #BFA98C 100%);
}
.img-slot.is-missing::after{
content:""; position:absolute; inset:14px; border:1px solid rgba(246,241,232,.35);
} .doc{ background:var(--bg); }
.doc .narrow{ max-width:820px; }
.doc-back{
display:inline-flex; align-items:center; gap:8px; margin-bottom:26px;
font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--secondary);
transition:color .3s var(--ease);
}
.doc-back:hover{ color:var(--primary); }
.doc-title{
font-family:var(--display); font-weight:600;
font-size:clamp(23px,3vw,38px); line-height:1.35; margin:8px 0 16px;
}
html[data-lang="en"] .doc-title{ font-family:var(--serif); letter-spacing:.01em; }
.doc-meta{ font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--secondary); margin:0; }
.doc-lead{ font-size:clamp(15px,1.5vw,17px); line-height:1.85; margin-top:18px; }
.doc-hero{ margin:clamp(26px,3.4vw,42px) 0; aspect-ratio:16/9; }
.doc-body{ text-align:left; }
.doc-body h2{
font-family:var(--display); font-weight:600;
font-size:clamp(19px,2.2vw,26px); line-height:1.4;
margin:clamp(36px,4.2vw,54px) 0 14px; padding-top:clamp(24px,3vw,34px);
border-top:1px solid var(--line);
}
html[data-lang="en"] .doc-body h2{ font-family:var(--serif); }
.doc-body h3{ font-family:var(--display); font-weight:600; font-size:clamp(16px,1.7vw,19px); margin:28px 0 10px; }
.doc-body p{ font-size:15.5px; line-height:1.9; }
.doc-body ul{ margin:0 0 1.3em; padding-left:20px; display:grid; gap:9px; }
.doc-body li{ font-size:15px; line-height:1.75; color:var(--secondary); }
.doc-body li::marker{ color:var(--gold); } .doc-table{ width:100%; border-collapse:collapse; margin:20px 0 26px; font-size:14.5px; }
.doc-table th, .doc-table td{ text-align:left; padding:13px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
.doc-table thead th{
font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
color:var(--secondary); background:var(--bg-alt);
}
.doc-table thead th:nth-child(2){ color:var(--gold); }
.doc-table td{ color:var(--secondary); }
.doc-table td:first-child{ color:var(--primary); } .faq-q{ font-size:15px; font-weight:600; color:var(--primary); margin:0 0 5px; }
.faq-a{ font-size:15px; margin:0 0 22px; } .doc-more{ margin-top:clamp(46px,5vw,66px); padding-top:clamp(26px,3vw,34px); border-top:1px solid var(--line); text-align:left; }
.doc-more h3{ font-family:var(--display); font-weight:600; font-size:18px; margin:0 0 16px; }
.doc-more ul{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.doc-more a{
display:flex; gap:12px; align-items:baseline; font-size:15px; color:var(--primary);
padding-bottom:12px; border-bottom:1px solid var(--line-soft); transition:padding-left .35s var(--ease);
}
.doc-more a:hover{ padding-left:8px; }
.doc-more a span{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); flex:none; } .usp{ background:var(--bg); }
.usp-grid{
display:grid; grid-template-columns:repeat(4,1fr);
gap:clamp(24px,3vw,40px); margin-top:clamp(38px,4.6vw,58px);
}
.usp-item{ display:grid; justify-items:center; align-content:start; gap:12px; text-align:center; }
.usp-ico{
width:58px; height:58px; border:1px solid var(--gold); border-radius:50%;
display:grid; place-items:center; color:var(--gold);
transition:background .4s var(--ease), color .4s var(--ease);
}
.usp-item:hover .usp-ico{ background:var(--gold); color:var(--bg); }
.usp-ico svg{ width:26px; height:26px; display:block; }
.usp-item h3{
font-family:var(--display); font-weight:600; letter-spacing:.02em;
font-size:clamp(15px,1.5vw,17.5px); line-height:1.4;
}
html[data-lang="en"] .usp-item h3{ font-family:var(--serif); }
.usp-item p{ margin:0; font-size:13.5px; line-height:1.75; max-width:28ch; }
@media (max-width:900px){
.usp-grid{ grid-template-columns:repeat(2,1fr); gap:34px 20px; }
}
@media (max-width:430px){
.usp-item p{ font-size:13px; }
.usp-ico{ width:52px; height:52px; }
.usp-ico svg{ width:23px; height:23px; }
} .bld-warn{
margin:14px 0 0; padding:10px 14px; border-radius:var(--r-card);
background:rgba(184,138,57,.10); border:1px solid var(--gold);
color:var(--primary); font-size:13px; line-height:1.6;
}
.btn.is-disabled{
opacity:.45; cursor:not-allowed; }
.btn.is-disabled:hover{ transform:none; } body.admin-bar .header { top:32px; }
@media(max-width:782px){body.admin-bar .header {top:46px;}}
@media(max-width:600px){body.admin-bar #wpadminbar {position:fixed;}} .rs-member-label{display:block;margin-top:5px;font-size:11px;font-weight:500;line-height:1.5;letter-spacing:.04em;color:var(--primary);opacity:.8;}
.omk-replacement{display:block;width:100%;height:100%;object-fit:cover;min-height:180px;}
img.logo-mark,img.logo-wordmark,img.logo-full{object-fit:contain;}