@font-face{font-family:RootSans;src:url('assets/body.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:RootSerif;src:url('assets/heading.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Orpheus;src:url('https://use.typekit.net/af/2baa0b/00000000000000007735ebd5/31/l?subset_id=2&fvd=n4&v=3') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--bg:#000;--ink:#fff;--footer:#19231e;--serif:Orpheus,RootSerif,Georgia,serif;--sans:RootSans,Arial,sans-serif;--gutter:3vw;--gallery-gap:1.75vw;--octagon:polygon(50% 0%,93.5% 6.5%,100% 50%,93.5% 93.5%,50% 100%,6.5% 93.5%,0% 50%,6.5% 6.5%)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.84 var(--sans);-webkit-font-smoothing:antialiased}body.dialog-open,body.menu-open{overflow:hidden}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}h1,h2,h3,p,blockquote{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #d8bc89;outline-offset:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-100px;left:15px;z-index:100;background:#fff;color:#000;padding:10px 20px}.skip:focus{top:12px}
.site-header{position:absolute;top:0;left:0;width:100%;height:137px;z-index:20;display:flex;align-items:center;gap:27px;padding:25px 4.5%;background:#000}.brand{display:flex;align-items:center;justify-content:flex-start;width:160px;flex-shrink:0}.brand img{width:95px;height:95px;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:20px;margin-left:auto;white-space:nowrap;line-height:1}.site-header nav>a{font-size:clamp(14px,1.268vw,20px);padding:8px 0}.site-header nav>a:hover,.site-header nav>a.active{border-bottom:1px solid currentColor}.social-icons{display:flex;align-items:center;justify-content:center;gap:13px}.social-icons a{display:flex;align-items:center;justify-content:center;width:21px;height:24px}.social-icons svg{width:21px;height:21px}.social-icons a:hover{opacity:.65}.language{display:flex;align-items:center;gap:7px;font-size:14px;line-height:1}.language svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.2}.menu-toggle,.mobile-social{display:none}
.hero{position:relative;height:100svh;min-height:600px;overflow:hidden}.hero-backdrop,.hero-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-film{opacity:0;transition:opacity .5s}.hero-film.is-playing{opacity:1}.hero-shade{position:absolute;inset:0;background:rgba(0,0,0,.28)}.hero-content{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:120px 3% 0;text-align:center}.hero h1{font-size:clamp(33.23px,3.332vw,60px);line-height:1.299;text-transform:uppercase;letter-spacing:0}.hero-book{font-size:22.68px;line-height:1.4;margin-top:34px;padding:15.6px 0}.hero-book:hover,.footer-book:hover{text-decoration:underline;text-underline-offset:8px}.film-toggle{position:absolute;right:26px;bottom:23px;width:38px;height:38px;display:grid;place-items:center;border:1px solid #fff6;border-radius:50%;background:#0005;font:18px Arial;z-index:2}.film-toggle[hidden]{display:none}
.categories{padding:6.6vw 0}.category-grid{display:grid;grid-template-columns:calc(3vw - 11px) repeat(24,minmax(0,1fr)) calc(3vw - 11px);grid-template-rows:repeat(24,minmax(0,1fr));gap:11px;height:68.252vw}.category{position:relative;overflow:hidden;clip-path:var(--octagon);isolation:isolate}.category img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.category:after{content:'';position:absolute;inset:0;background:#0002;pointer-events:none}.category:hover img{transform:scale(1.035)}.category-main{grid-area:1/8/13/25;width:76.725%}.category-left{grid-area:13/5/24/13}.category-right{grid-area:13/16/24/24}.category-label{display:flex;align-items:center;justify-content:center;z-index:1;align-self:stretch;text-align:center}.category-label h2{font-size:3.332vw;line-height:1.299;white-space:nowrap;text-shadow:0 2px 20px #0006}.label-main{grid-area:5/10/9/18}.label-main h2{font-size:7.772vw;line-height:1.092}.label-left{grid-area:17/5/20/13}.label-right{grid-area:17/16/20/24}
.gallery-section{padding:var(--gutter)}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gallery-gap)}.gallery-item{padding:0;border:0;aspect-ratio:1.329;overflow:hidden;background:#121212}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-item:hover img{transform:scale(1.035)}
.section-title{font-size:clamp(47.41px,5.012vw,82px);line-height:1.84;text-align:center;text-transform:uppercase}.story-section{padding:6.6vw var(--gutter);min-height:87.89vw}.story-section>.section-title{margin-bottom:5.45vw}.story-card{width:31.088%;max-width:600px}.story-photo{width:100%;aspect-ratio:1.494;object-fit:cover}.story-card h3{font-size:clamp(30.192px,2.972vw,48px);line-height:1.221;margin-top:10px}.story-card p{margin-top:15px;font-size:16px;line-height:1.84}.story-card p:first-of-type{margin-top:10px}.story-card strong{font-weight:600}.outline-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid #fff;min-height:53px;font-size:15px;padding:12px 20px;margin-top:10px;line-height:1.4}.outline-link:hover{background:#fff;color:#000}
.reviews{padding:6.6vw var(--gutter) 7.8vw;min-height:82.03vw}.reviews>.section-title{margin-bottom:4.7vw}.review-window{overflow:hidden}.review-track{display:flex;gap:var(--gallery-gap);transition:transform .5s}.review-card{flex:0 0 calc((100% - 2*var(--gallery-gap))/3);min-height:535px;padding:36px 3vw 30px;background:#111713;color:#f2ede3;display:flex;align-items:center;flex-direction:column;text-align:center;box-shadow:inset 0 0 0 1px #c5b58d26}.review-source{width:90px;height:90px;border-radius:50%;background:#1b251e;box-shadow:inset 0 0 0 1px #c5b58d26;display:flex;align-items:center;justify-content:center;flex:none;margin-bottom:38px}.review-source img{width:60px;height:60px}.review-card blockquote{font:400 clamp(21.077px,1.892vw,30px)/1.221 var(--serif);text-transform:uppercase;min-height:206px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;flex:1}.review-name{font:600 14px/1.5 var(--sans);color:#f2ede3}.stars{font-size:19px;letter-spacing:3px;color:#d6b77e;line-height:1.3;margin-top:5px}.review-card>a{font:400 14px/1.5 var(--sans);letter-spacing:1px;color:#d6b77e;margin-top:20px}.review-card>a:hover{text-decoration:underline;color:#fff}.slider-controls{display:flex;justify-content:center;gap:16px;margin-top:50px}.slider-controls button{border:1px solid #465141;background:#18211b;color:#d6b77e;width:60px;height:60px;border-radius:50%;font:30px/1 Arial,sans-serif}.slider-controls button:hover{background:#29372e}.slider-controls button:disabled{opacity:.45}
.follow{padding:6.6vw var(--gutter) 6.6vw;background:#080c09;color:#f2ede3;text-align:center;border-top:1px solid #28332b}.follow h2{font-size:clamp(47.41px,5.012vw,82px);line-height:1.221;text-transform:uppercase}.follow>.social-icons{margin-top:25px;margin-bottom:53px}.circles a{background:#18211b;color:#d6b77e;width:34px;height:34px;border-radius:50%;border:1px solid #756544}.circles a:hover{background:#d6b77e;color:#111713;opacity:1}.circles svg{width:22px;height:22px}.social-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.social-tile{position:relative;aspect-ratio:1;overflow:hidden;background:#151515;border:0;padding:0}.social-tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.social-tile:hover img{transform:scale(1.04)}.social-tile-mark{position:absolute;top:10px;right:14px;font-size:22px;line-height:1;color:#fff;text-shadow:0 1px 5px #000}.film-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font:45px/1 Arial,sans-serif;text-shadow:0 2px 15px #0008}
footer{background:var(--footer);padding:62px 6% 25px;text-align:center;min-height:425px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:50px;max-width:1500px;margin:auto}.footer-grid h2{font-size:29px;line-height:1.25;margin-bottom:25px}.footer-contact>a{display:block;font-size:16px;line-height:1.9}.footer-contact p{font-size:14px;line-height:1.6;margin-top:20px}.footer-brand> a:first-child{display:block;margin:auto;width:160px}.footer-brand img{width:160px;height:145px;object-fit:contain}.footer-brand .social-icons{margin:22px 0 24px}.footer-book{font-size:20px;line-height:1.4}.footer-visit p{font-size:16px;line-height:1.9}.directions{font-size:14px;display:inline-block;border-bottom:1px solid #fff8;margin-top:16px}.footer-contact>a:hover,.directions:hover{opacity:.7}.copyright{font-size:12px;line-height:1.5;opacity:.6;margin-top:36px}
dialog{color:#fff;background:#111;border:1px solid #555}dialog::backdrop{background:#000c;backdrop-filter:blur(5px)}.booking-dialog{width:min(550px,calc(100% - 32px));padding:46px 40px;max-height:90svh;overflow:auto}.dialog-close{position:absolute;right:12px;top:7px;z-index:5;background:none;border:0;color:#fff;font-size:34px;line-height:1;padding:5px 10px}.dialog-kicker{font-size:12px;letter-spacing:2px;margin:0 0 15px}.booking-dialog h2{font-size:38px;line-height:1.1;margin:0 0 26px}.booking-dialog form h3{font:16px var(--sans);margin:0 0 25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:14px;margin-bottom:20px}input,select{display:block;width:100%;min-width:0;border:0;border-bottom:1px solid #777;background:transparent;color:#fff;padding:12px 0;border-radius:0;color-scheme:dark;font-size:16px}select option{background:#111}.button{display:flex;align-items:center;justify-content:space-between;background:#fff;color:#000;border:0;padding:15px 18px;width:100%;font-size:16px}.button:hover{background:#ddd}.form-note{font-size:13px;line-height:1.65;margin:15px 0 0;color:#ccc}.lightbox{width:100vw;max-width:none;height:100svh;max-height:none;margin:0;border:0;padding:45px 65px;background:#000e;overflow:hidden}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox>img,.lightbox>video{max-width:100%;max-height:calc(100svh - 90px);object-fit:contain}.photo-prev,.photo-next{position:absolute;top:50%;transform:translateY(-50%);border:0;background:#0006;font:46px Arial;width:48px;height:60px}.photo-prev{left:8px}.photo-next{right:8px}#photo-counter{position:absolute;bottom:10px;left:0;width:100%;text-align:center;font-size:14px}
@media(min-width:1700px){.site-header{gap:35px}.site-header nav{gap:30px}.brand img{width:110px;height:110px}.review-card{min-height:620px}}
@media(max-width:1150px){.site-header{gap:18px;padding-left:3%;padding-right:3%}.brand{width:105px}.site-header nav{gap:15px}.language{display:none}.review-card{padding-left:25px;padding-right:25px}}
@media(max-width:900px){.site-header{height:82px;padding:12px 6%}.brand{width:90px}.brand img{width:60px;height:60px}.site-header>.social-icons,.language{display:none}.menu-toggle{margin-left:auto;display:flex;flex-direction:column;gap:9px;width:34px;padding:8px 0;background:none;border:0}.menu-toggle span{display:block;height:1px;width:34px;background:#fff;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-5px) rotate(-45deg)}.site-header nav{position:absolute;top:82px;left:0;width:100%;height:calc(100svh - 82px);padding:30px 20px;display:none;background:#000;flex-direction:column;justify-content:center;gap:19px;overflow:auto}.site-header nav.open{display:flex}.site-header nav>a{font-size:25px;padding:4px}.site-header nav>.mobile-social{display:flex;margin:15px 0}.hero-content{padding-top:100px}.hero-book{font-size:22px}.review-card{flex-basis:calc((100% - var(--gallery-gap))/2)}.story-card{width:48%}.footer-grid{gap:28px}.footer-grid h2{font-size:25px}.footer-brand> a:first-child{width:130px}.footer-brand img{width:130px;height:130px}.footer-contact>a,.footer-visit p{font-size:14px}}
@media(max-width:600px){html{scroll-padding-top:20px}.hero{height:100svh;min-height:600px}.hero-content{padding:80px 6% 0}.hero h1{font-size:33.23px;line-height:1.299;max-width:360px}.hero-book{font-size:20px;margin-top:44px}.hero-shade{background:#0004}.film-toggle{right:17px;bottom:19px;width:32px;height:32px;font-size:15px}.categories{padding:55.7px 6%}.category-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;column-gap:11px;row-gap:35.6px;height:auto;padding-top:59.6px}.category-main{grid-area:1/1/2/3;width:100%;aspect-ratio:1.494}.category-left{grid-area:2/1/3/2;aspect-ratio:.797}.category-right{grid-area:2/2/3/3;aspect-ratio:.797}.label-main{grid-area:1/1/2/3}.label-left{grid-area:2/1/3/2}.label-right{grid-area:2/2/3/3}.label-main h2{font-size:70.704px;line-height:1.092}.category-label h2{white-space:normal}.label-left h2,.label-right h2{font-size:30px;line-height:1.3}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.story-section{padding:55.7px var(--gutter);min-height:1198px}.section-title{font-size:47.41px;line-height:1.3}.story-section>.section-title{padding:0 3vw;margin-bottom:75px}.story-card{width:100%;max-width:none}.story-card h3{font-size:30.192px}.story-card p{font-size:16px;line-height:1.84}.story-section .outline-link{margin-top:16px}.reviews{padding:55.7px 6% 78px;min-height:936px}.reviews>.section-title{font-size:47.41px;margin-bottom:60px}.review-card{flex-basis:100%;padding:36px 30px 30px;min-height:535px}.review-card blockquote{font-size:21.077px;line-height:1.221}.slider-controls{margin-top:45px}.follow{padding:55.7px 6%}.follow h2{font-size:47.41px;line-height:1.221}.follow>.social-icons{margin-top:25px;margin-bottom:42px}.social-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}footer{padding:56px 6% 25px;min-height:855px}.footer-grid{grid-template-columns:1fr;gap:38px}.footer-grid h2{font-size:27px;margin-bottom:18px}.footer-contact>a,.footer-visit p{font-size:16px}.footer-contact p{margin-top:15px}.footer-brand> a:first-child{width:150px}.footer-brand img{width:150px;height:130px}.footer-brand .social-icons{margin:15px 0 20px}.copyright{margin-top:35px}.booking-dialog{padding:42px 25px 30px}.booking-dialog h2{font-size:32px}.lightbox{padding:55px 35px}.photo-prev,.photo-next{width:34px;height:50px;font-size:40px}.photo-prev{left:0}.photo-next{right:0}}
@media(max-width:360px){.hero h1{font-size:31px}.label-main h2{font-size:62px}.label-left h2,.label-right h2{font-size:26px}.section-title,.follow h2,.reviews>.section-title{font-size:40px}.form-row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Use the full story section on larger screens; retain the mobile flow. */
@media(min-width:601px){
  .story-section{min-height:0;padding:clamp(64px,6.6vw,120px) var(--gutter)}
  .story-section>.section-title{font-size:clamp(40px,4.5vw,72px);line-height:1.2;margin-bottom:clamp(42px,5.5vw,88px)}
  .story-card{width:100%;max-width:none}
  .story-photo{height:auto;aspect-ratio:1.494;object-position:65% 50%}
  .story-copy{margin-top:30px}
  .story-copy h3{margin-top:0}
  .story-copy .outline-link{margin-top:24px}
}
@media(min-width:901px){
  .story-card{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(40px,5vw,96px);align-items:center}
  .story-photo{height:clamp(540px,52vw,820px);aspect-ratio:auto}
  .story-copy{min-width:0;margin:0}
  .story-copy h3{font-size:clamp(32px,3.2vw,54px);line-height:1.16;margin-bottom:25px}
  .story-copy p{font-size:clamp(16px,1.25vw,19px);line-height:1.75}
  .story-copy p:first-of-type{margin-top:0}
}

/* Verified Instagram posts retain the account's portrait composition. */
.social-account{font-size:15px;letter-spacing:1px;color:#d6b77e;margin-top:12px}
.social-account a:hover{text-decoration:underline;text-underline-offset:5px}
.follow>.social-icons{margin-top:20px;margin-bottom:38px}
.instagram-post{aspect-ratio:3/4;background:#111713}
.instagram-post img{height:100%}
.social-updated{font-size:13px;line-height:1.8;color:#b5b9b3;margin:25px 0 0}
.social-updated span{padding:0 8px}
.social-updated a{color:#d6b77e}
.social-updated a:hover{text-decoration:underline;text-underline-offset:5px}

/* Curated Reel previews load only when a guest chooses to watch. */
.instagram-reel::after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}
.reel-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;display:grid;place-items:center;border:1px solid #f2ede3b3;border-radius:50%;color:#f2ede3;background:#080c094d;backdrop-filter:blur(3px);transition:background .2s}
.reel-play svg{width:26px;height:26px;margin-left:-3px}
.instagram-reel:hover .reel-play{background:#080c09a6}
.reel-label{position:absolute;bottom:15px;left:17px;z-index:1;color:#f2ede3;font-size:11px;line-height:1.4;letter-spacing:1.5px;text-transform:uppercase}
.reel-dialog{width:min(580px,calc(100% - 24px));max-height:94svh;overflow:auto;padding:30px 24px 22px;background:#111713;border:1px solid #756544;text-align:center;color:#f2ede3}
.reel-dialog .dialog-kicker{color:#d6b77e;padding:0 28px;font-size:10px;margin-bottom:8px}
.reel-dialog h2{font-size:30px;line-height:1.2;margin:0 25px 18px}
#reel-player{display:block;width:100%;height:auto;max-height:65svh;object-fit:contain;background:#080c09}
.reel-source{display:inline-block;margin-top:18px;color:#d6b77e;font-size:13px;text-underline-offset:5px}
.reel-source:hover{text-decoration:underline}
#reel-error{font-size:13px;line-height:1.6;margin-top:15px}
@media(max-width:600px){.reel-play{width:43px;height:43px}.reel-label{bottom:11px;left:12px;font-size:10px}.reel-dialog{padding:30px 15px 20px}}

/* Current Google review snapshot with original attribution and ratings. */
.reviews>.section-title{margin-bottom:20px}
.review-summary{margin:0;text-align:center;color:#f2ede3;font-size:17px;line-height:1.6}
.review-summary strong{font-size:24px;font-weight:500;color:#d6b77e}
.review-summary span{padding:0 8px;color:#756544}
.review-summary a{color:#d6b77e}
.review-summary a:hover{text-decoration:underline;text-underline-offset:5px}
.review-freshness{text-align:center;color:#b5b9b3;font-size:12px;line-height:1.6;margin:8px 0 42px}
.review-card .review-date{color:#b5b9b3;font-size:12px;line-height:1.5;margin:7px 0 0}
.review-card .review-name[lang="th"]{font-family:var(--sans),Tahoma,sans-serif}
