:root{--cream:#f5f0e7;--ink:#24352c;--gold:#b09361;--line:#ddd3c1}body{background:var(--cream)}.topline{height:28px;background:#18261f;font-size:8px;letter-spacing:2px;color:#b9ac8b}header{height:94px;margin-bottom:-94px;position:sticky;top:0;background:transparent;backdrop-filter:none;border-color:#ffffff26;color:#fff5e3;padding:0 5%;transition:background .4s,box-shadow .4s}header.scrolled{background:#192920f5;backdrop-filter:blur(16px);box-shadow:0 2px 30px #0001}header .emblem{color:#d4b880}.brand{letter-spacing:2px;font-size:16px}.brand small{font-size:7px}nav{gap:30px;font-size:12px;letter-spacing:.5px}.lang-switch{border-color:#ffffff4d}.lang-switch select{color:#fff3d8}.lang-switch option{color:#233729;background:#f5f0e7}header>.primary{border:1px solid #c9ab73;background:transparent;color:#e5c994;padding:12px 23px}.primary,.light{background:linear-gradient(115deg,#b2935e,#dfc58e 54%,#b99b63);color:#263127;font-weight:500;border:1px solid #ddc48b;transition:filter .3s,transform .3s;box-shadow:0 8px 24px #0001}.primary:hover,.light:hover{background:linear-gradient(115deg,#c8ac76,#ead3a4);color:#17231b;transform:translateY(-2px)}header>.primary:hover{background:#dbc08a}.hero{display:block;position:relative;min-height:780px;height:calc(100svh - 28px);max-height:1100px;padding:0;background:#251b13;color:#fff5e7;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0;min-height:0;border-radius:0;z-index:-3;background:#33271c}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:none;animation:cinema-zoom 24s ease-in-out infinite alternate}.hero-vignette{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#0c140e85,transparent 35%,#121c14cc 100%),linear-gradient(90deg,#132015b8,#17201849 60%,#1320151a)}.hero-copy{padding:155px 6% 135px;width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.hero .eyebrow{color:#e3cfa9;letter-spacing:5px;font-size:10px;margin-bottom:20px}.hero-flower{color:#e4c58c;font-size:37px;line-height:1;margin-bottom:20px}.hero h1{font-size:clamp(42px,4.5vw,75px);letter-spacing:3px;line-height:1.45;text-shadow:0 2px 35px #0002}.hero h1 span{color:#e7c996}.hero .intro{font-size:13px;line-height:2;color:#e5ded1;margin:22px 0 0;text-shadow:0 2px 12px #0005}.hero .actions{justify-content:center;flex-direction:row;align-items:center;gap:35px;margin-top:30px}.hero .primary{padding:16px 32px;min-width:175px}.hero .text-link{color:#fff4df;border-color:#cbb58a;padding:12px 0}.hero-bottom{position:absolute;bottom:0;left:5%;right:5%;margin:0;padding:25px 0;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #fff3;border-bottom:0;white-space:normal;color:#e0d2b9;z-index:2;letter-spacing:2px;font-size:9px;overflow:visible}.hero-location{margin:0;font-size:9px;letter-spacing:2px;display:block}.scroll-cue{display:flex;align-items:center;gap:12px;font-size:8px}.scroll-cue span{display:block;height:34px;width:1px;background:linear-gradient(transparent,#e1c494);animation:scroll-line 2.8s ease-in-out infinite}.hero-bottom-right{display:flex;align-items:end;flex-direction:column;gap:6px}.hero-bottom small{font-size:8px;letter-spacing:.3px;color:#d3c7b4}.sensory-strip{display:flex;align-items:center;justify-content:center;gap:55px;padding:23px 30px;background:#eae3d5;border-bottom:1px solid #daceba;font-size:9px;letter-spacing:2.5px;color:#87764f}.sensory-strip i{font-size:16px;font-style:normal;color:#a18c5e}.wrap{max-width:1320px;padding:110px 65px}.about{display:grid;grid-template-columns:1.05fr 1fr;gap:110px;align-items:center}.story-images{position:relative;padding:0 48px 55px 0}.story-main{height:520px;position:relative}.story-main:before{content:'';position:absolute;inset:-14px 14px 14px -14px;border:1px solid #b9a275;z-index:-1}.story-main img{width:100%;height:100%;object-fit:cover}.story-main figcaption{position:absolute;bottom:12px;left:14px;font-size:8px;color:white;text-shadow:0 1px 5px #000}.story-inset{position:absolute;width:44%;height:250px;bottom:0;right:0;border:8px solid var(--cream);box-shadow:0 14px 40px #453a221a}.story-inset img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}.story-stamp{position:absolute;bottom:50px;left:-30px;width:105px;height:105px;border-radius:50%;border:1px solid #b59e70;background:var(--cream);display:flex;justify-content:center;flex-direction:column;text-align:center;line-height:1.8;font:24px Georgia;color:#9b7e4e;letter-spacing:3px;box-shadow:0 0 0 7px var(--cream)}.story-stamp small{font:7px Arial;letter-spacing:2px;margin-top:8px}.story-copy .eyebrow{margin:0 0 20px}.editorial-word{font:italic 38px Georgia;color:#b09b77;margin-bottom:22px}.about h2{font-size:35px}.about .story-copy>p:not(.eyebrow):not(.editorial-word){font-size:13px;line-height:2.2;margin-top:23px;color:#817965}.about .story-copy>.muted{font-size:10px!important}.gold-rule{width:56px;height:1px;background:#b39b70;margin:28px 0}.story-copy .text-link{display:inline-block;font-size:11px}.services{max-width:none;background:#1d3027;color:#f4ead8;padding:100px max(6%,calc((100vw - 1190px)/2));position:relative;isolation:isolate}.services:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 80% 0,#5b6d4933,transparent 55%);pointer-events:none}.services .eyebrow{color:#c2aa78}.services h2{font-size:38px}.services .section-head>p{color:#aeb7a3;font-size:12px}.demo-label{background:#bfac7e0b;color:#c1b290;border-color:#a38a5b;font-size:10px}.filters{gap:12px;margin:32px 0}.filters button{border:0;border-radius:0;border-bottom:1px solid #c0cbb222;color:#b8c0ad;padding:8px 15px;background:none}.filters button.active{background:transparent;color:#ead4a2;border-bottom:1px solid #cfb275}.service-grid{gap:28px}.service{background:transparent;box-shadow:none;border:0}.service:hover{box-shadow:none;transform:translateY(-5px)}.service-art{margin:0;border-radius:0;height:390px;display:block;background:#2b3f30;overflow:hidden}.service-art img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s ease,filter 1.1s ease;filter:brightness(.88) saturate(.8)}.service:nth-child(1) .service-art img{object-position:50% 70%}.service:nth-child(2) .service-art img{object-position:50% 50%}.service:nth-child(3) .service-art img{object-position:35% 50%}.service:hover .service-art img{transform:scale(1.055);filter:brightness(1) saturate(.95)}.service-art:after{content:'';position:absolute;inset:0;background:linear-gradient(#0003,transparent 35%,transparent 70%,#0005);pointer-events:none}.service-art small{top:20px;left:20px;width:auto;text-align:left;color:#f8ebd5;z-index:2;letter-spacing:2px;font-size:9px}.card-photo-note{position:absolute;bottom:15px;left:18px;color:#f2e7d0;font-size:8px;z-index:2}.card-arrow{position:absolute;right:18px;bottom:17px;border:1px solid #fff7;border-radius:50%;width:37px;height:37px;text-align:center;line-height:35px;color:white;z-index:2;font-size:19px}.service-content{padding:25px 0 0}.service h3{font-size:27px;color:#f7ecdb}.service .english{color:#c4af80;font-size:8px;letter-spacing:2px;margin-top:9px}.service-description{color:#b4bcae;min-height:56px;font-size:12px;line-height:1.9}.service-price{border-color:#b7c0aa30}.service-price strong{color:#e2c48b;font-size:35px}.service-price small{color:#aeb49f;font-size:9px}.service-price>span{color:#bbc5b1}.service button{color:#e3cea4;border-color:#b7c0aa30;font-size:11px}.price-table{background:#18281f;border:1px solid #c6b17e33;padding:30px 35px;margin-top:65px;position:relative}.price-table h3{font-size:24px;color:#e0cba3}.price-table th,.price-table td{border-color:#bcc4ab20;color:#d6dacb;font-size:12px}.price-table thead th{color:#9ba68e;font-size:9px}.price-table tbody td:nth-child(3){color:#d8bd87}.price-table .muted{color:#a4ad97;font-size:10px}.price-table .text-button{color:#d7bf91}.ritual{position:relative;min-height:600px;isolation:isolate;overflow:hidden;background:#31261b}.ritual-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:35% 55%;z-index:-3}.ritual-shade{position:absolute;inset:0;background:linear-gradient(90deg,#151e17ed,#19231b9e 52%,#1a1a110a);z-index:-2}.ritual .wrap{padding:95px 65px;position:relative;min-height:600px}.ritual h2{font-size:42px}.ritual .eyebrow{color:#d8bb80}.ritual-script{font:italic 25px Georgia!important;color:#d1b782!important}.ritual .light{padding:15px 30px;margin-top:12px}.ritual-caption{position:absolute;bottom:20px;right:30px;font-size:9px;color:#d1c7b8}.space .section-head{align-items:end}.space h2{font-size:38px}.gallery{grid-template-columns:1.1fr 1fr;grid-template-rows:300px 300px;gap:28px 40px;margin-top:50px}.gallery figure{min-width:0;position:relative}.gallery figure:first-child{grid-row:1/3}.gallery .image-frame{height:calc(100% - 45px);position:relative}.gallery img{height:100%;width:100%;object-fit:cover}.gallery figure:nth-child(2) img{object-position:50% 50%}.gallery figure:nth-child(3) img{object-position:50% 62%}.gallery figcaption{font-size:13px;padding-top:12px;display:flex;flex-direction:row;gap:10px}.gallery figcaption small{font-size:8px;color:#9b927e}.gallery-number{position:absolute;bottom:8px;left:20px;font:italic 55px Georgia;color:#fff9}.gallery-quote{text-align:center;margin:70px 0 0}.gallery-quote>span{font-size:32px;color:#bba16c}.gallery-quote p{font-family:Georgia,'Songti SC',serif;font-size:29px;margin:12px 0 15px}.gallery-quote small{letter-spacing:4px;font-size:8px;color:#9f8e6e}.visit{background:#e9e1d3;max-width:none;padding-left:max(6%,calc((100vw - 1190px)/2));padding-right:max(6%,calc((100vw - 1190px)/2));gap:80px;border:0}.visit iframe{border-radius:0;height:620px;border:8px solid #f7f2e8;filter:saturate(.45)}.visit h2{font-size:33px}.visit .channel{background:#f5efe4;border-color:#c8b995}.channel:hover{background:#e3d8bf}.faq{padding-top:90px;padding-bottom:90px;max-width:1000px}.faq h2{font-size:32px}details{padding:22px 0}footer{background:#17291f;color:#d6bd8a;padding:55px 6%;border-top:1px solid #c2ab7533}footer .brand{font-size:18px}footer p{color:#9faca0;font-size:10px}footer .footer-social{gap:20px;flex-wrap:wrap}footer .footer-social button{color:#d6bd8a}.photo-credit{color:#98a394;font-size:9px;align-self:center}.chat-toggle{background:#1e3529;color:#e3cc9a;border:1px solid #bca26a;padding:14px 24px;box-shadow:0 5px 30px #0003}.chat-head{background:#1d3027}.chat-head small{color:#d6c5a0}.chat .primary{color:#283429}.booking-notice{line-height:1.8}.motion-paused *, .motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}.motion-paused .will-reveal{opacity:1;transform:none;transition:none}.will-reveal{transform:translateY(30px);transition:opacity 1s,transform 1s}.hero-copy>*{animation:hero-enter 1.3s both}.hero-copy h1{animation-delay:.15s}.hero-copy .intro{animation-delay:.3s}.hero-copy .actions{animation-delay:.45s}@keyframes cinema-zoom{from{transform:scale(1)}to{transform:scale(1.1) translateX(-1%)}}@keyframes hero-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes scroll-line{0%,100%{transform:scaleY(.6);opacity:.4}50%{transform:scaleY(1);opacity:1}}html[lang=en] .hero h1{font-size:clamp(45px,5.2vw,85px);line-height:1.25;letter-spacing:-1px}html[lang=th] .hero h1{font-size:clamp(40px,4.5vw,70px)}html[lang=en] .service h3{font-size:25px}html[lang=en] .service-description{min-height:70px}
@media(max-width:1100px){header{padding:0 3%;gap:15px}nav{gap:18px;font-size:11px}.brand{font-size:14px}.about{gap:60px;padding-left:50px;padding-right:40px}.story-main{height:450px}.story-inset{height:210px}.about h2{font-size:30px}.service-art{height:330px}.services{padding-left:5%;padding-right:5%}.service h3{font-size:23px}.visit{gap:40px}.ritual .wrap{padding-left:6%}.hero{min-height:740px}}
@media(max-width:800px){.about{gap:35px}.story-images{padding-right:25px}.story-main{height:420px}.story-stamp{left:-15px;width:80px;height:80px;font-size:18px}.story-inset{width:50%;height:190px}.service-art{height:270px}.service-grid{gap:20px}.service h3{font-size:21px}.service-description{min-height:92px}.hero .eyebrow{letter-spacing:3px}.sensory-strip{gap:22px;font-size:8px;letter-spacing:1px}.gallery{gap:25px}.wrap{padding-left:35px;padding-right:35px}}
@media(max-width:680px){.topline{height:25px;font-size:7px;letter-spacing:1px}.topline a{font-size:8px}header{height:77px;margin-bottom:-77px;padding:0 18px;gap:12px}.brand{font-size:12px;gap:8px}.brand small{font-size:5.5px;letter-spacing:1px}.emblem{font-size:29px}.menu{color:#f4e3c0}.lang-switch select{font-size:11px;width:50px}.lang-switch{margin-left:auto}.hero{height:calc(100svh - 25px);min-height:720px;max-height:1000px;padding:0}.hero-photo{min-height:0;border-radius:0}.hero-photo img{object-position:38% center;filter:brightness(.9)}.hero-vignette{background:linear-gradient(180deg,#122118a6,#15231933 40%,#102017d9),linear-gradient(90deg,#13221577,#15231830)}.hero-copy{padding:120px 25px 130px;justify-content:center}.hero .eyebrow{font-size:8px;letter-spacing:2px;line-height:1.8;max-width:270px;margin-bottom:22px}.hero-flower{font-size:30px;margin-bottom:20px}.hero h1{font-size:37px;line-height:1.55;letter-spacing:1px}.hero .intro{font-size:11px;line-height:2.1;margin-top:20px}.hero .actions{gap:22px;margin-top:25px;flex-direction:column}.hero .primary{font-size:12px;padding:13px 26px}.hero .text-link{font-size:11px;padding:5px 0}.hero-bottom{left:24px;right:24px;padding:17px 0;gap:12px;align-items:end}.hero-location{font-size:8px;max-width:100px;line-height:1.8;letter-spacing:1px}.scroll-cue{display:none}.hero-bottom-right{max-width:190px}.hero-bottom small{font-size:7px}.sensory-strip{padding:20px 15px;gap:16px;justify-content:space-around}.sensory-strip span{font-size:7px;letter-spacing:1px}.sensory-strip span:last-child,.sensory-strip i:last-of-type{display:none}header nav{background:#1c3026;color:#f1e4cc;top:77px;border-color:#c9ad7744}header nav a{padding:5px 0;font-size:13px}.about{grid-template-columns:1fr;padding:65px 26px;gap:40px}.story-images{padding:0 35px 40px 9px}.story-main{height:410px}.story-inset{height:205px;width:45%;border-width:6px}.story-stamp{left:0;bottom:28px}.story-main:before{inset:-9px 9px 9px -9px}.story-copy .editorial-word{font-size:32px}.about h2{font-size:29px}.about .story-copy>p:not(.eyebrow):not(.editorial-word){font-size:12px}.services{padding:60px 24px}.services h2{font-size:29px}.services .section-head{gap:12px}.services .section-head>p{margin:0;font-size:12px}.demo-label{font-size:9px;line-height:1.9}.filters{gap:6px;margin:25px 0}.filters button{font-size:10px;padding:8px 10px}.service-grid{grid-template-columns:1fr;gap:43px}.service-art{height:390px;margin:0;border-radius:0}.service-art small{font-size:9px;left:18px;top:18px}.service-content{padding:20px 0 0}.service h3{font-size:27px}.service-description,html[lang=en] .service-description{min-height:0;font-size:12px}.service-price strong{font-size:32px}.price-table{margin-top:42px;padding:23px 18px}.price-table h3{font-size:23px}.price-table th,.price-table td{font-size:11px}.price-table .muted{font-size:9px}.ritual,.ritual .wrap{min-height:570px}.ritual .wrap{padding:75px 26px}.ritual h2{font-size:32px}.ritual-script{font-size:23px!important}.ritual-background{object-position:35% center}.ritual-shade{background:linear-gradient(90deg,#102017dc,#17221980)}.ritual-caption{font-size:8px;right:20px}.space{padding:65px 24px}.space h2{font-size:30px}.space .section-head{align-items:start}.gallery{grid-template-columns:1fr;grid-template-rows:auto;gap:30px;margin-top:30px}.gallery figure:first-child{grid-row:auto}.gallery .image-frame{height:330px}.gallery figure:first-child .image-frame{height:440px}.gallery figcaption{flex-direction:column;gap:3px}.gallery figcaption small{max-width:none;font-size:8px}.gallery-quote{margin-top:45px}.gallery-quote p{font-size:25px}.visit{padding:60px 24px;grid-template-columns:1fr;gap:32px}.visit h2{font-size:28px}.visit iframe{height:350px;border-radius:0;border-width:5px}.faq{padding:60px 24px}.faq h2{font-size:27px}.faq summary{font-size:13px}footer{padding:40px 24px 100px;gap:25px}footer .brand{font-size:16px}.footer-social{width:100%;align-items:center}.photo-credit{margin-right:auto}.chat-toggle{font-size:12px;padding:12px 20px;right:16px;bottom:16px}.chat{bottom:76px}html[lang=en] .hero h1{font-size:47px;line-height:1.25;letter-spacing:-1px}html[lang=th] .hero h1{font-size:35px}.will-reveal{transform:translateY(20px)}}
@media(prefers-reduced-motion:reduce){.hero-copy>*{opacity:1;transform:none}.will-reveal{opacity:1;transform:none}*{animation:none!important;transition:none!important}}
.motion-paused .hero-copy>*{animation:none!important;opacity:1;transform:none}
@media(max-width:680px){.hero-bottom{align-items:flex-start;flex-direction:column;gap:4px;padding:12px 0}.hero-bottom-right{align-items:flex-start;max-width:230px;gap:3px}.hero-location{max-width:none}.hero-bottom small{font-size:7px}}

#booking{max-height:88dvh;overflow-y:auto;overscroll-behavior:contain}#wechat-details{margin:18px 0 24px;text-align:center}#wechat-details .primary{margin:0 auto 18px}#wechat-details img.contact-qr{display:block;width:300px;max-width:100%;height:auto;margin:0 auto 14px;background:white}#wechat-details .wechat-id{font-size:22px;letter-spacing:1px;font-weight:600;user-select:all}#channel-status{margin-top:18px;line-height:1.8}

/* Repeat entrance motion each time an element enters the viewport. */
@media(prefers-reduced-motion:no-preference){
.will-reveal{opacity:0;transform:translate3d(0,64px,0) scale(.97);filter:blur(3px);transition:opacity .85s ease,transform 1.15s cubic-bezier(.16,1,.3,1),filter .9s ease;transition-delay:0s}
.will-reveal.in-view{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0);transition-delay:var(--reveal-delay,0ms)}
.story-images.will-reveal{transform:translate3d(-55px,35px,0) scale(.95)}
.story-copy.will-reveal{transform:translate3d(55px,35px,0)}
.story-images.will-reveal.in-view,.story-copy.will-reveal.in-view{transform:translate3d(0,0,0) scale(1)}
.gallery figure.will-reveal img{transform:scale(1.13);transition:transform 1.6s cubic-bezier(.16,1,.3,1)}
.gallery figure.will-reveal.in-view img{transform:scale(1)}
.hero-copy.will-reveal>*{animation:none;opacity:1;transform:none}
.hero-copy.will-reveal{transform:translate3d(0,45px,0);filter:blur(2px)}
.hero-copy.will-reveal.in-view{transform:none;filter:none}
@media(max-width:680px){.will-reveal{transform:translate3d(0,42px,0) scale(.98)}.story-images.will-reveal{transform:translate3d(0,42px,0) scale(.96)}.story-copy.will-reveal{transform:translate3d(0,42px,0)}}
}
@media(prefers-reduced-motion:reduce){.will-reveal{opacity:1;transform:none;filter:none;transition:none}}
