:root{--paper:#f7f5f0;--ink:#171716;--muted:#6f6b65;--line:#d9d5ce;--soft:#ece8e1;--content:1280px;--reading:760px;--pad:clamp(20px,4vw,64px);--body:18px;--section:clamp(42px,4.3vw,62px);--hero:clamp(52px,5.7vw,82px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:var(--body);line-height:1.65}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}figure{margin:0}h1,h2,h3,p{margin-top:0}.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-link{position:fixed;left:14px;top:14px;z-index:1000;background:#fff;padding:10px 14px;transform:translateY(-180%)}.skip-link:focus{transform:none}
.site-header{height:78px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:0 var(--pad);position:sticky;top:0;z-index:100;background:rgba(247,245,240,.97);backdrop-filter:blur(10px);border-bottom:1px solid rgba(23,23,22,.08)}.brand{font-family:Georgia,serif;font-size:23px}.site-nav{display:flex;justify-content:center;gap:clamp(15px,1.8vw,28px);font-size:14px}.site-nav a,.language-toggle,.book-link{padding:10px 0}.header-actions{display:flex;align-items:center;gap:18px}.language-toggle{border:0;background:transparent;cursor:pointer}.book-link{border-bottom:1px solid currentColor}.menu-toggle{display:none;border:0;background:none;width:40px;height:40px;position:relative}.menu-toggle span:not(.sr-only){position:absolute;left:8px;right:8px;height:1px;background:currentColor}.menu-toggle span:nth-child(2){top:15px}.menu-toggle span:nth-child(3){top:24px}
.hero-smith{max-width:var(--content);margin:0 auto;padding:clamp(34px,4.5vw,64px) var(--pad) clamp(86px,9vw,136px)}.hero-photo{width:min(82vw,980px);margin:0 auto}.hero-photo img{width:100%;height:auto;max-height:none;object-fit:contain}.property-intro{max-width:1040px;margin:clamp(44px,5vw,72px) auto 0}.property-intro h1{font-family:Georgia,serif;font-size:var(--hero);font-weight:300;line-height:1.02;margin-bottom:clamp(34px,4vw,52px)}.property-meta{display:grid;grid-template-columns:1fr 1fr;gap:34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0 22px}.property-meta div{display:grid;grid-template-columns:86px 1fr;gap:16px}.property-meta span,.eyebrow{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.property-meta strong{font-family:Georgia,serif;font-weight:300;font-size:21px}.property-lead{font-family:Georgia,serif;font-size:clamp(24px,2.3vw,34px);line-height:1.45;max-width:850px;margin:clamp(36px,4vw,52px) 0 0}.property-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:30px}.text-link{border-bottom:1px solid currentColor;padding-bottom:2px;width:max-content}.button-outline{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 20px;border:1px solid currentColor}
.editorial-intro,.rooms-smith,.image-chapter,.gallery-smith,.essentials-smith{max-width:var(--content);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}.editorial-intro{padding-top:clamp(80px,8vw,118px);padding-bottom:clamp(110px,10vw,150px);display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(42px,6vw,90px)}.chapter-heading h2,.contact-copy h2{font-family:Georgia,serif;font-weight:300;font-size:var(--section);line-height:1.06;margin:14px 0 0}.chapter-copy{max-width:680px}.chapter-copy .lead{font-family:Georgia,serif;font-size:clamp(22px,2vw,29px);line-height:1.5}.chapter-copy p:not(.lead){color:var(--muted)}.wide-photo{grid-column:1/-1;margin-top:clamp(36px,4vw,58px)}.wide-photo img{width:100%;height:auto;max-height:820px;object-fit:cover}
.rooms-smith{padding-top:clamp(100px,9vw,138px);padding-bottom:clamp(110px,10vw,150px);border-top:1px solid var(--line)}.chapter-heading.horizontal{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(340px,1.18fr);gap:clamp(42px,6vw,88px);align-items:end}.chapter-heading.horizontal>p,.body-copy{color:var(--muted);max-width:680px;margin:0}.before-image{margin-bottom:clamp(42px,5vw,68px)}.post-image{margin-top:clamp(42px,5vw,66px)}.room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(46px,5vw,76px) clamp(26px,3vw,42px);margin-top:clamp(52px,6vw,78px)}.room-card img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#ddd}.room-copy{display:grid;grid-template-columns:40px 1fr;gap:7px 14px;padding-top:14px}.room-copy span{font-size:12px;color:var(--muted);padding-top:5px}.room-copy h3{font-family:Georgia,serif;font-size:clamp(25px,2.1vw,32px);font-weight:300;line-height:1.12;margin:0}.room-copy a{grid-column:2;font-size:14px;width:max-content;border-bottom:1px solid transparent}.room-copy a:hover{border-color:currentColor}
.facts-smith{max-width:var(--content);margin:0 auto clamp(112px,10vw,150px);padding:0 var(--pad);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.facts-smith>div{padding:24px 20px 26px 0}.facts-smith span{display:block;color:var(--muted);font-size:13px;margin-bottom:9px}.facts-smith strong{font-family:Georgia,serif;font-size:21px;font-weight:300}
.image-chapter{padding-top:clamp(88px,8vw,124px);padding-bottom:clamp(108px,10vw,150px);border-top:1px solid var(--line)}.image-chapter>.wide-photo{margin-top:0}.simple-list{list-style:none;padding:0;margin:22px 0 0}.simple-list li{padding:10px 0;border-top:1px solid var(--line)}.simple-list li:last-child{border-bottom:1px solid var(--line)}.two-up-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:clamp(26px,4vw,58px);margin-top:clamp(26px,3vw,42px);align-items:stretch}.two-up-detail figure img{width:100%;aspect-ratio:4/3;object-fit:cover}.detail-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(28px,4vw,48px) 0;display:flex;flex-direction:column;justify-content:center}.detail-note h3{font-family:Georgia,serif;font-size:clamp(28px,2.6vw,38px);font-weight:300;margin-bottom:16px}.detail-note p{color:var(--muted)}
.gallery-smith{padding-top:clamp(90px,8vw,128px);padding-bottom:clamp(110px,10vw,150px);border-top:1px solid var(--line);overflow:hidden}.carousel-track{display:flex;gap:clamp(18px,2.2vw,28px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;padding-bottom:8px}.carousel-track::-webkit-scrollbar{display:none}.gallery-card{flex:0 0 min(42vw,510px);scroll-snap-align:start}.gallery-card img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#ddd}.gallery-card figcaption{padding-top:11px;font-family:Georgia,serif;font-size:18px}.carousel-controls{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.carousel-buttons{display:flex;gap:8px}.carousel-buttons button{width:46px;height:46px;border:1px solid var(--line);background:transparent;cursor:pointer}.carousel-buttons button:disabled{opacity:.35}.carousel-count{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.essentials-smith{padding-top:clamp(92px,8vw,126px);padding-bottom:clamp(110px,10vw,150px);border-top:1px solid var(--line);display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(44px,7vw,100px)}.essentials-list{margin:0}.essentials-list>div{display:grid;grid-template-columns:minmax(135px,.72fr) minmax(0,1.28fr);gap:20px;padding:18px 0;border-top:1px solid var(--line)}.essentials-list>div:last-child{border-bottom:1px solid var(--line)}.essentials-list dt{color:var(--muted)}.essentials-list dd{margin:0;font-family:Georgia,serif;font-size:21px}
.contact-smith{max-width:var(--content);margin:0 auto;padding:0 var(--pad) clamp(100px,9vw,140px);display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:clamp(40px,6vw,88px);align-items:center}.contact-smith figure img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.contact-copy p{color:var(--muted);max-width:520px;margin-top:22px}.contact-copy .button-outline{margin-top:12px}.contact-details{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;font-size:14px}.contact-details a{border-bottom:1px solid currentColor}
.site-footer{max-width:var(--content);margin:0 auto;padding:50px var(--pad) 34px;display:grid;grid-template-columns:1fr auto;gap:24px 50px;border-top:1px solid var(--line)}.site-footer strong{font-family:Georgia,serif;font-size:23px;font-weight:300}.site-footer address{font-style:normal;color:var(--muted);margin-top:10px;max-width:600px}.footer-links{display:flex;gap:22px;align-items:flex-start}.site-footer small{grid-column:1/-1;color:var(--muted);font-size:12px}
html[lang="th"] body{font-family:"Noto Sans Thai","Leelawadee UI",Tahoma,sans-serif;line-height:1.76}html[lang="th"] .brand,html[lang="th"] h1,html[lang="th"] h2,html[lang="th"] h3,html[lang="th"] .property-meta strong,html[lang="th"] .property-lead,html[lang="th"] .facts-smith strong,html[lang="th"] .gallery-card figcaption,html[lang="th"] .essentials-list dd,html[lang="th"] .site-footer strong{font-family:"Noto Serif Thai","Leelawadee UI",Tahoma,sans-serif}html[lang="th"] .property-intro h1{line-height:1.2;font-size:clamp(50px,5.3vw,72px)}html[lang="th"] .chapter-heading h2,html[lang="th"] .contact-copy h2{line-height:1.24}html[lang="th"] .property-lead{line-height:1.7}html[lang="th"] .property-meta strong{line-height:1.5}html[lang="th"] .site-nav{gap:clamp(14px,1.5vw,23px)}
html[lang="en"] body{line-height:1.62}html[lang="en"] .property-intro h1{line-height:1.01}html[lang="en"] .property-lead{line-height:1.45}
@media(max-width:1060px){.site-nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:22px var(--pad);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.site-nav.is-open{display:flex}.menu-toggle{display:block;justify-self:center}.site-header{grid-template-columns:1fr auto 1fr}.header-actions{justify-self:end}.hero-photo{width:min(88vw,900px)}.room-grid{grid-template-columns:1fr 1fr}.gallery-card{flex-basis:58vw}}
@media(max-width:760px){:root{--body:17px;--section:clamp(34px,9vw,44px);--hero:clamp(42px,12vw,56px)}.site-header{height:70px;padding:0 18px}.site-nav{top:70px}.brand{font-size:20px}.header-actions{gap:10px}.book-link{display:none}.hero-smith{padding:22px 18px 74px}.hero-photo{width:100%}.property-intro{margin-top:32px}.property-intro h1{margin-bottom:26px}.property-meta{grid-template-columns:1fr;padding:15px 0 17px}.property-meta div{grid-template-columns:74px 1fr}.property-meta strong{font-size:19px}.property-lead{font-size:24px;margin-top:28px}.editorial-intro,.rooms-smith,.image-chapter,.gallery-smith,.essentials-smith{padding-left:18px;padding-right:18px}.editorial-intro{grid-template-columns:1fr;padding-top:72px;padding-bottom:84px;gap:28px}.wide-photo{margin-top:20px}.chapter-heading.horizontal{grid-template-columns:1fr;gap:18px}.room-grid{grid-template-columns:1fr;gap:34px;margin-top:34px}.rooms-smith{padding-top:78px;padding-bottom:88px}.facts-smith{grid-template-columns:1fr 1fr;padding:0 18px;margin-bottom:84px}.facts-smith>div{padding:19px 10px 20px 0}.image-chapter{padding-top:74px;padding-bottom:88px}.post-image{margin-top:28px}.before-image{margin-bottom:28px}.two-up-detail{grid-template-columns:1fr;margin-top:18px}.detail-note{padding:28px 0}.gallery-smith{padding-top:76px;padding-bottom:88px}.gallery-card{flex-basis:86vw}.essentials-smith{grid-template-columns:1fr;gap:28px;padding-top:74px;padding-bottom:90px}.essentials-list>div{grid-template-columns:110px 1fr}.contact-smith{grid-template-columns:1fr;padding:0 18px 90px;gap:34px}.contact-copy h2{margin-top:12px}.site-footer{padding:44px 18px 28px;grid-template-columns:1fr}.footer-links{flex-wrap:wrap}.site-footer small{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.carousel-track{scroll-behavior:auto}}




/* ======================================================================
   v3.6 — full-bleed hero + Hyatt/Smith overlap cards + language purity
   ====================================================================== */

/* Full-width hero: the source is never stretched; object-fit: cover crops
   responsively to form a true banner. Text remains completely outside. */
.hero-smith{max-width:none;margin:0;padding:0 0 clamp(86px,9vw,136px)}
.hero-banner{width:100%;height:clamp(440px,45vw,720px);overflow:hidden;background:#ddd}
.hero-banner img{width:100%;height:100%;object-fit:cover;object-position:center 51%}
.property-intro{max-width:1040px;padding:0 var(--pad);margin:clamp(44px,5vw,72px) auto 0}

/* Overlap chapters: solid text rectangle overlaps only the image edge.
   Copy never sits directly on photography. */
.overlap-chapter{max-width:var(--content);margin:0 auto;padding:clamp(96px,9vw,138px) var(--pad);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);align-items:center;border-top:1px solid var(--line)}
.overlap-media{grid-column:1;grid-row:1;min-width:0}
.overlap-media img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#ddd}
.overlap-card{grid-column:2;grid-row:1;z-index:2;margin-left:clamp(-92px,-6vw,-58px);background:var(--paper);border:1px solid var(--line);padding:clamp(38px,4.5vw,66px);min-height:58%;display:flex;flex-direction:column;justify-content:center}
.overlap-card h2,.feature-overlap-card h2{font-family:Georgia,serif;font-weight:300;font-size:var(--section);line-height:1.06;margin:14px 0 22px}
.overlap-card>p:last-of-type,.feature-overlap-card>p:last-child{color:var(--muted);margin-bottom:0}
.overlap-reverse{grid-template-columns:minmax(360px,.8fr) minmax(0,1.2fr)}
.overlap-reverse .overlap-media{grid-column:2}
.overlap-reverse .overlap-card{grid-column:1;margin-left:0;margin-right:clamp(-92px,-6vw,-58px)}

/* Meetings uses the same overlap language but preserves its secondary image. */
.meetings-chapter{padding-top:clamp(96px,9vw,138px)}
.feature-overlap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);align-items:center}
.feature-overlap-media{grid-column:1;grid-row:1}
.feature-overlap-media img{width:100%;aspect-ratio:16/10;object-fit:cover}
.feature-overlap-card{grid-column:2;grid-row:1;z-index:2;margin-left:clamp(-92px,-6vw,-58px);background:var(--paper);border:1px solid var(--line);padding:clamp(38px,4.5vw,66px)}
.two-up-detail{margin-top:clamp(34px,4vw,58px)}

/* Remove old decorative pattern bands; section distinction now comes from
   the Hyatt/Smith-style opaque overlap rectangle. */
.geometric-band,.geometric-section{background:transparent}
.geometric-band::before,.geometric-band::after,.geometric-section::before{content:none!important}

/* The gallery header is clean; gallery motion remains native scroll-snap. */
.carousel-buttons button{transition:background-color .18s ease,border-color .18s ease}
.carousel-buttons button:hover{background:var(--soft);border-color:#bfb9b0}
.carousel-buttons button:disabled{opacity:1}

/* Language-specific rhythm: same information architecture, independent
   metrics so Thai and English are balanced rather than forced identical. */
html[lang="th"] .eyebrow{letter-spacing:.055em;text-transform:none;font-size:13px;line-height:1.55}
html[lang="th"] .property-meta span{letter-spacing:.04em;text-transform:none;font-size:13px;line-height:1.55}
html[lang="th"] .overlap-card,html[lang="th"] .feature-overlap-card{padding:clamp(40px,4.8vw,70px)}
html[lang="th"] .overlap-card h2,html[lang="th"] .feature-overlap-card h2{line-height:1.24;margin-top:12px;margin-bottom:21px;font-size:clamp(38px,4vw,56px)}
html[lang="th"] .overlap-card p,html[lang="th"] .feature-overlap-card p{line-height:1.78}
html[lang="th"] .chapter-heading.horizontal{grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:clamp(38px,5vw,74px)}
html[lang="th"] .room-copy h3{line-height:1.35}
html[lang="th"] .gallery-card figcaption{line-height:1.5}

html[lang="en"] .eyebrow{letter-spacing:.15em;text-transform:uppercase;font-size:12px;line-height:1.25}
html[lang="en"] .property-meta span{letter-spacing:.15em;text-transform:uppercase;font-size:12px;line-height:1.25}
html[lang="en"] .overlap-card,html[lang="en"] .feature-overlap-card{padding:clamp(38px,4.3vw,64px)}
html[lang="en"] .overlap-card h2,html[lang="en"] .feature-overlap-card h2{line-height:1.04;margin-top:15px;margin-bottom:22px;font-size:clamp(40px,4.2vw,58px)}
html[lang="en"] .overlap-card p,html[lang="en"] .feature-overlap-card p{line-height:1.64}
html[lang="en"] .chapter-heading.horizontal{grid-template-columns:minmax(290px,.82fr) minmax(340px,1.18fr)}
html[lang="en"] .room-copy h3{line-height:1.12}

@media(max-width:1060px){
  .hero-banner{height:clamp(400px,52vw,560px)}
  .overlap-chapter,.feature-overlap{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)}
  .overlap-card,.feature-overlap-card{margin-left:-46px}
  .overlap-reverse{grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr)}
  .overlap-reverse .overlap-card{margin-left:0;margin-right:-46px}
}
@media(max-width:760px){
  .hero-smith{padding-bottom:74px}
  .hero-banner{height:auto;aspect-ratio:4/3}
  .hero-banner img{object-position:center 50%}
  .property-intro{padding:0 18px;margin-top:32px}
  .overlap-chapter{display:grid;grid-template-columns:1fr;padding:74px 18px 88px}
  .overlap-media,.overlap-reverse .overlap-media{grid-column:1;grid-row:1}
  .overlap-media img{aspect-ratio:4/3}
  .overlap-card,.overlap-reverse .overlap-card{grid-column:1;grid-row:2;margin:0;border-top:0;padding:30px 0 0;border-left:0;border-right:0;border-bottom:0;background:transparent}
  .feature-overlap{grid-template-columns:1fr}
  .feature-overlap-media{grid-column:1;grid-row:1}
  .feature-overlap-media img{aspect-ratio:4/3}
  .feature-overlap-card{grid-column:1;grid-row:2;margin:0;border:0;padding:28px 0 0;background:transparent}
  html[lang="th"] .overlap-card,html[lang="th"] .feature-overlap-card,html[lang="en"] .overlap-card,html[lang="en"] .feature-overlap-card{padding-left:0;padding-right:0}
}


/* ======================================================================
   v3.7 — stronger hierarchy, stable rooms, one meeting image, two dining
   images, varied section widths, and a reliable looping gallery.
   ====================================================================== */

/* Header: important navigation should not read like microtext. */
.site-header{height:82px;gap:32px}
.brand{font-size:25px;font-weight:500;letter-spacing:.005em}
.site-nav{gap:clamp(18px,2vw,31px);font-size:16px;font-weight:500}
.site-nav a{position:relative;padding:28px 0 24px}
.site-nav a::after{content:"";position:absolute;left:0;bottom:18px;width:18px;height:2px;background:currentColor;opacity:.28;transition:width .18s ease,opacity .18s ease}
.site-nav a:hover::after,.site-nav a:focus-visible::after{width:100%;opacity:.8}
.language-toggle{font-size:15px;font-weight:500}
.book-link{font-size:15px;font-weight:500;border:1px solid currentColor;padding:9px 13px}

/* Section labels: still secondary, but clearly intentional. */
.eyebrow{display:inline-block;font-size:13px;font-weight:500;letter-spacing:.12em;line-height:1.3;color:#58534c;padding-bottom:7px;border-bottom:2px solid rgba(23,23,22,.38);margin-bottom:9px}
.chapter-heading h2,.contact-copy h2{margin-top:10px}
.chapter-heading.horizontal>p,.body-copy{font-size:18px;line-height:1.72}
.support-copy{color:var(--muted);margin-top:16px;line-height:1.7}
.section-link{margin-top:22px}

/* Rooms: all choices stay visible; 3 + 2 centered editorial composition. */
.rooms-smith{max-width:1180px}
.room-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(42px,5vw,68px) clamp(20px,2.2vw,32px)}
.room-card{grid-column:span 2;min-width:0}
.room-card:nth-child(4){grid-column:2 / span 2}
.room-card:nth-child(5){grid-column:4 / span 2}
.room-card img{aspect-ratio:3/2}
.room-copy{grid-template-columns:34px 1fr;gap:8px 12px;padding-top:16px}
.room-copy span{font-size:13px;font-weight:500}
.room-copy a{font-size:15px;border-bottom:1px solid rgba(23,23,22,.28);padding-bottom:3px}

/* Width variety: location and dining breathe wider; meetings stays more intimate. */
#location{max-width:1440px}
.meetings-chapter{max-width:1120px}
.dining-chapter{max-width:1440px}

/* Meetings: one photograph only; the text card carries the event detail. */
.meetings-chapter .feature-overlap{grid-template-columns:minmax(0,1.26fr) minmax(350px,.74fr)}
.meetings-chapter .feature-overlap-media img{aspect-ratio:16/9}
.meetings-chapter .feature-overlap-card{margin-left:clamp(-78px,-5vw,-48px)}

/* Dining: one main image + a distinct supporting image, no image collision. */
.dining-chapter{grid-template-rows:auto auto}
.dining-support{grid-column:1 / -1;grid-row:2;width:min(52%,680px);justify-self:end;margin-top:clamp(30px,4vw,56px)}
.dining-support img{width:100%;aspect-ratio:3/2;object-fit:cover;background:#ddd}
.dining-support figcaption{font-family:Georgia,serif;font-size:17px;margin-top:10px;color:var(--muted)}

/* Gallery: end space is supplied by JS so the fifth card can fully align.
   Controls stay enabled in loop mode and the visible index can reach 05. */
.carousel-track{scroll-padding-inline:0;box-sizing:border-box}
.carousel-buttons button{font-size:19px;font-weight:500}
.carousel-count{font-size:15px;font-weight:500;color:#504b45}

html[lang="th"] .site-nav{font-size:16px;font-weight:500;gap:clamp(16px,1.7vw,26px)}
html[lang="th"] .eyebrow{font-size:14px;font-weight:500;letter-spacing:.025em;text-transform:none;line-height:1.45}
html[lang="th"] .chapter-heading.horizontal>p{line-height:1.82}
html[lang="en"] .eyebrow{font-size:13px;font-weight:500;letter-spacing:.13em}

@media(max-width:1060px){
  .site-header{height:78px}
  .site-nav{top:78px;font-size:17px}
  .room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}
  .room-card,.room-card:nth-child(4),.room-card:nth-child(5){grid-column:auto}
  .room-card:last-child{grid-column:1 / -1;width:calc(50% - 12px);justify-self:center}
  .dining-support{width:60%}
}
@media(max-width:760px){
  .site-header{height:72px}
  .brand{font-size:22px}
  .site-nav{top:72px;font-size:18px}
  .room-grid{grid-template-columns:1fr;gap:34px}
  .room-card,.room-card:last-child{grid-column:1;width:100%}
  .room-card img{aspect-ratio:4/3}
  .meetings-chapter .feature-overlap{grid-template-columns:1fr}
  .dining-support{grid-column:1;grid-row:3;width:100%;margin-top:24px}
  .dining-support img{aspect-ratio:4/3}
  .eyebrow{font-size:13px}
  html[lang="th"] .eyebrow{font-size:13px}
}


/* ======================================================================
   v3.8 — full-width hero/nav, seamless infinite rails, six room types,
   full-width location overlay, clean meetings split, structured dining.
   ====================================================================== */

/* Transparent navigation over the hero. */
.site-header{
  position:absolute;top:0;left:0;right:0;z-index:120;
  height:88px;padding:0 clamp(22px,4vw,66px);
  background:transparent!important;backdrop-filter:none!important;
  border-bottom:0!important;color:#fff;
}
.site-header .brand,.site-header .site-nav a,.site-header .language-toggle,.site-header .book-link{color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.34)}
.site-header .book-link{border:1px solid rgba(255,255,255,.9);background:rgba(0,0,0,.08)}
.site-header .site-nav a::after{background:#fff;opacity:.55}
.site-header .menu-toggle span:not(.sr-only){background:#fff}

/* Hero is truly full-width; only cropping occurs, never stretching. */
.hero-smith{max-width:none!important;margin:0!important;padding:0 0 clamp(88px,8vw,126px)!important}
.hero-banner{position:relative;width:100vw;height:clamp(560px,58vw,820px);overflow:hidden;background:#272727}
.hero-banner::after{content:"";position:absolute;inset:0 0 auto;height:180px;background:linear-gradient(180deg,rgba(0,0,0,.48),rgba(0,0,0,.16) 58%,transparent);pointer-events:none}
.hero-banner img{width:100%;height:100%;object-fit:cover;object-position:center 50%;max-width:none}
.property-intro{max-width:1040px;padding:0 var(--pad)}

/* Larger, unmistakable editorial eyebrows / underlined section labels. */
.eyebrow{
  font-size:15px!important;font-weight:500!important;line-height:1.35!important;
  padding-bottom:8px!important;margin-bottom:11px!important;
  border-bottom:2px solid rgba(23,23,22,.58)!important;color:#4b4741!important;
}
html[lang="th"] .eyebrow{font-size:17px!important;letter-spacing:.015em!important;line-height:1.5!important}
html[lang="en"] .eyebrow{font-size:15px!important;letter-spacing:.115em!important}

/* Generic carousel foundation. Cloned end slides create true continuous rails. */
.carousel{overflow:hidden}
.carousel-track{display:flex;gap:clamp(18px,2vw,28px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;scroll-behavior:smooth;padding-bottom:8px}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-track>[data-carousel-item]{scroll-snap-align:start;min-width:0}
.carousel-controls{margin-top:24px}
.carousel-buttons button{width:50px;height:50px;border-color:#bdb8b0;background:var(--paper)}
.carousel-count{font-size:16px;font-weight:500}

/* Rooms are a contemporary image-led carousel, six types including Twin. */
.rooms-smith{max-width:1280px;padding-top:clamp(98px,9vw,136px);padding-bottom:clamp(108px,10vw,148px)}
.room-grid{display:none!important}
.room-carousel{margin-top:clamp(46px,5vw,70px)}
.room-carousel-track .room-card{flex:0 0 min(42vw,520px);grid-column:auto!important;width:auto!important}
.room-card img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#ddd}
.room-copy{padding-top:16px}
.room-copy h3{font-size:clamp(27px,2.2vw,34px)}
.room-copy a{font-size:15px}

/* Location: full-bleed image; opaque card occupies roughly the left half. */
.location-full{position:relative;width:100%;min-height:clamp(640px,62vw,860px);margin:0;overflow:hidden;background:#ddd}
.location-full-media{position:absolute;inset:0}
.location-full-media img{width:100%;height:100%;object-fit:cover;object-position:78% 50%}
.location-full-card{
  position:absolute;left:clamp(28px,5vw,86px);top:50%;transform:translateY(-50%);
  width:min(50%,720px);max-height:calc(100% - 90px);overflow:auto;
  background:rgba(247,245,240,.97);border:1px solid rgba(23,23,22,.13);
  padding:clamp(42px,5vw,72px);box-shadow:0 20px 60px rgba(0,0,0,.12)
}
.location-full-card h2,.meetings-split-copy h2,.dining-copy-block h2{font-family:Georgia,serif;font-weight:300;font-size:var(--section);line-height:1.06;margin:10px 0 22px}
.location-full-card>p{max-width:590px}

/* Meetings: stable 2-column image + text, no overlap. */
.meetings-chapter-soft{width:100%;background:#f1eee7;padding:clamp(84px,8vw,118px) 0 clamp(96px,9vw,132px);position:relative}
.meetings-chapter-soft::before{content:"";display:block;width:min(86%,1180px);height:1px;background:rgba(23,23,22,.12);margin:0 auto clamp(54px,5vw,76px)}
.meetings-split{max-width:1180px;margin:0 auto;padding:0 var(--pad);display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(52px,6vw,92px);align-items:center}
.meetings-split-media{margin:0}
.meetings-split-media img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#ddd;display:block}
.meetings-split-copy{max-width:500px;padding:clamp(10px,1.4vw,22px) 0}
.lead-copy{font-family:Georgia,serif;font-size:clamp(21px,1.8vw,27px);line-height:1.55}

/* Dining: full-width first row; second row is copy + second image. */
.dining-layout{padding-top:clamp(92px,8vw,126px);padding-bottom:clamp(112px,10vw,150px);border-top:1px solid var(--line)}
.dining-main{width:100%;height:clamp(500px,52vw,760px);overflow:hidden;background:#ddd}
.dining-main img{width:100%;height:100%;object-fit:cover;object-position:center 50%}
.dining-second-row{max-width:1180px;margin:clamp(46px,5vw,72px) auto 0;padding:0 var(--pad);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(42px,6vw,86px);align-items:center}
.dining-copy-block{max-width:520px}
.dining-secondary img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#ddd}
.dining-secondary figcaption{font-family:Georgia,serif;font-size:17px;margin-top:10px;color:var(--muted)}

/* Around-the-hotel rail uses the same true infinite mechanism. */
.gallery-card{flex:0 0 min(42vw,510px)}

/* Thai and English keep independent spacing/line rhythm. */
html[lang="th"] .location-full-card,html[lang="th"] .meetings-split-copy,html[lang="th"] .dining-copy-block{line-height:1.8}
html[lang="th"] .location-full-card h2,html[lang="th"] .meetings-split-copy h2,html[lang="th"] .dining-copy-block h2{line-height:1.25;margin-top:8px}
html[lang="en"] .location-full-card,html[lang="en"] .meetings-split-copy,html[lang="en"] .dining-copy-block{line-height:1.65}
html[lang="en"] .location-full-card h2,html[lang="en"] .meetings-split-copy h2,html[lang="en"] .dining-copy-block h2{line-height:1.04;margin-top:10px}

@media(max-width:1060px){
  .site-header{height:80px}
  .site-nav{top:80px;background:rgba(247,245,240,.98);color:var(--ink);text-shadow:none;padding:24px var(--pad)}
  .site-nav.is-open a{color:var(--ink);text-shadow:none}
  .site-nav.is-open a::after{background:var(--ink)}
  .room-carousel-track .room-card{flex-basis:58vw}
  .location-full-card{width:min(58%,620px);left:32px;padding:42px}
  .meetings-split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:38px}
  .dining-second-row{gap:38px}
}

@media(max-width:760px){
  .site-header{height:72px;padding:0 18px}
  .site-nav{top:72px}
  .hero-banner{height:auto;aspect-ratio:4/3}
  .hero-banner::after{height:130px}
  .property-intro{padding:0 18px}
  .room-carousel-track .room-card,.gallery-card{flex-basis:86vw}
  .location-full{min-height:0;display:grid;background:transparent;overflow:visible}
  .location-full-media{position:static}
  .location-full-media img{height:auto;aspect-ratio:4/3;object-fit:cover}
  .location-full-card{position:static;transform:none;width:auto;max-height:none;overflow:visible;margin:0 18px;padding:34px 0 80px;border:0;box-shadow:none;background:transparent}
  .meetings-chapter-soft{padding:66px 0 82px}
  .meetings-chapter-soft::before{width:calc(100% - 36px);margin-bottom:38px}
  .meetings-split{grid-template-columns:1fr;padding:0 18px;gap:30px}
  .meetings-split-copy{max-width:none;order:1}
  .meetings-split-media{order:2}
  .dining-layout{padding-top:76px;padding-bottom:92px}
  .dining-main{height:auto;aspect-ratio:4/3}
  .dining-second-row{grid-template-columns:1fr;margin-top:34px;padding:0 18px;gap:30px}
  .dining-copy-block{max-width:none}
  .eyebrow,html[lang="th"] .eyebrow,html[lang="en"] .eyebrow{font-size:15px!important}
}


/* v3.10 transition refinement */
.location-full-media img{object-position:78% 50%}
.meetings-chapter-soft{box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}
@media(max-width:760px){.location-full-media img{object-position:70% 50%}}


/* ======================================================================
   v3.11 — centered full-width focus rails, two-image meetings, dining
   venue correction, and right-aligned location eyebrow.
   ====================================================================== */

/* Small editorial labels underline only their own text, not the full card. */
.eyebrow{display:inline-block;width:max-content;max-width:100%}
.location-full-card .eyebrow{display:block;width:max-content;margin-left:auto;text-align:right}

/* Meetings remains a two-column chapter: copy left, curated two-image story right. */
.meetings-split{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:center}
.meetings-media-stack{display:grid;grid-template-columns:1fr;gap:clamp(18px,2vw,28px);align-items:start}
.meetings-media-stack figure{margin:0}
.meetings-media-stack img{width:100%;object-fit:cover;background:#ddd}
.meetings-primary img{aspect-ratio:4/3}
.meetings-secondary{width:72%;justify-self:end}
.meetings-secondary img{aspect-ratio:16/10}

/* Dining's second image is a distinct restaurant, not another Suki Jumbo view. */
.dining-secondary figcaption{font-size:18px;color:var(--ink);font-weight:500}
html[lang="th"] .dining-secondary figcaption{font-size:19px}

/* Full-width, center-mode focus carousels.
   On desktop the active card is ~50vw, leaving roughly half of each
   neighboring card visible on either side. Source dimensions never drive
   layout: every image sits in a fixed 4:3 frame and uses object-fit:cover. */
.rooms-smith{max-width:var(--content);overflow:visible}
.room-carousel{
  width:100vw;
  margin-left:calc(50% - 50vw);
  overflow:hidden;
}
.gallery-smith{max-width:none;padding-left:0;padding-right:0}
.gallery-smith>.chapter-heading{max-width:var(--content);margin-left:auto;margin-right:auto;padding-left:var(--pad);padding-right:var(--pad)}
.focus-carousel .carousel-track{
  width:100%;
  gap:clamp(16px,1.7vw,26px);
  scroll-snap-type:x mandatory;
  scroll-padding-inline:0;
  padding:0 0 10px;
}
.focus-carousel .carousel-track>[data-carousel-item]{
  flex:0 0 50vw!important;
  width:50vw!important;
  max-width:none!important;
  scroll-snap-align:center!important;
  scroll-snap-stop:always;
}
.focus-carousel .room-card img,
.focus-carousel .gallery-card img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
}
.focus-carousel .room-copy,
.focus-carousel .gallery-card figcaption{
  opacity:.18;
  transform:translateY(3px);
  transition:opacity .28s ease,transform .28s ease;
}
.focus-carousel [data-carousel-item].is-current .room-copy,
.focus-carousel [data-carousel-item].is-current figcaption{
  opacity:1;
  transform:none;
}
.focus-carousel .carousel-controls{
  max-width:var(--content);
  margin:24px auto 0;
  padding:0 var(--pad);
}
.gallery-smith .carousel-controls{max-width:var(--content)}

/* Give both focus chapters a little more breathing room at full width. */
.room-carousel{margin-top:clamp(48px,5vw,72px)}
.gallery-smith{padding-top:clamp(96px,8vw,132px);padding-bottom:clamp(112px,10vw,154px)}

@media(max-width:1060px){
  .focus-carousel .carousel-track>[data-carousel-item]{flex-basis:62vw!important;width:62vw!important}
  .meetings-secondary{width:78%}
}

@media(max-width:760px){
  .location-full-card .eyebrow{margin-left:0;text-align:left}
  .meetings-media-stack{gap:16px}
  .meetings-secondary{width:100%;justify-self:stretch}
  .meetings-secondary img{aspect-ratio:4/3}
  /* Mobile prioritizes legibility: one dominant card with small neighbor peeks. */
  .focus-carousel .carousel-track>[data-carousel-item]{flex-basis:86vw!important;width:86vw!important}
  .focus-carousel .carousel-controls{padding:0 18px}
  .gallery-smith>.chapter-heading{padding-left:18px;padding-right:18px}
}


/* ======================================================================
   v3.12 — translucent hero navigation, right-aligned carousel controls,
   right-focused location photo, full-width two-image meetings row,
   caption-free Around the Hotel gallery.
   ====================================================================== */

/* Navigation remains over the hero, but now has a stable translucent surface. */
.site-header{
  background:rgba(20,20,18,.48)!important;
  -webkit-backdrop-filter:blur(14px) saturate(115%)!important;
  backdrop-filter:blur(14px) saturate(115%)!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 8px 28px rgba(0,0,0,.08);
}
.site-header .brand,.site-header .site-nav a,.site-header .language-toggle,.site-header .book-link{
  text-shadow:none;
}
.site-header .book-link{background:rgba(255,255,255,.07)}

/* Controls belong together at the right edge: count, then clear arrow buttons. */
.focus-carousel .carousel-controls,
.carousel-controls{
  justify-content:flex-end!important;
  gap:14px;
}
.carousel-count{order:1;min-width:64px;text-align:right;align-self:center}
.carousel-buttons{order:2;gap:8px}
.carousel-buttons button{
  width:54px;height:54px;
  border:1px solid rgba(23,23,22,.38);
  background:#fff;
  font-size:22px;
  line-height:1;
  box-shadow:0 3px 12px rgba(0,0,0,.05);
}
.carousel-buttons button:hover,.carousel-buttons button:focus-visible{
  background:var(--ink);color:#fff;border-color:var(--ink);
}

/* Location eyebrow returns to normal left alignment. Only the photograph
   focal point shifts fully right so the useful image content sits to the right. */
.location-full-card .eyebrow{display:inline-block!important;margin-left:0!important;text-align:left!important}
.location-full-media img{object-position:100% 50%!important}

/* Meetings: editorial intro followed by two equal images sharing a full-width row. */
.meetings-chapter-soft{padding-bottom:0!important;overflow:hidden}
.meetings-intro-wide{
  max-width:1180px;
  margin:0 auto;
  padding:0 var(--pad) clamp(48px,5vw,72px);
  display:grid;
  grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);
  gap:clamp(42px,6vw,88px);
  align-items:start;
}
.meetings-intro-wide h2{
  font-family:Georgia,serif;font-weight:300;font-size:var(--section);line-height:1.06;
  margin:10px 0 0;grid-column:1;
}
.meetings-intro-wide>.eyebrow{grid-column:1}
.meetings-intro-copy{grid-column:2;grid-row:1 / span 2;max-width:650px;padding-top:4px}
.meetings-image-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  width:100%;
  gap:clamp(8px,1vw,14px);
  background:#f1eee7;
}
.meetings-image-row figure{margin:0;overflow:hidden;background:#ddd}
.meetings-image-row img{
  width:100%;height:clamp(360px,34vw,590px);
  object-fit:cover;display:block;
}
.meetings-image-row figure:first-child img{object-position:center}
.meetings-image-row figure:last-child img{object-position:center}
html[lang="th"] .meetings-intro-wide h2{line-height:1.24}

/* Around the Hotel is purely visual: no captions beneath carousel images. */

@media(max-width:1060px){
  .meetings-intro-wide{grid-template-columns:minmax(240px,.85fr) minmax(0,1.15fr);gap:38px}
  .site-header{background:rgba(20,20,18,.58)!important}
}

@media(max-width:760px){
  .site-header{background:rgba(20,20,18,.66)!important}
  .site-nav{background:rgba(247,245,240,.98)!important}
  .location-full-media img{object-position:82% 50%!important}
  .meetings-intro-wide{grid-template-columns:1fr;padding:0 18px 38px;gap:16px}
  .meetings-intro-wide>.eyebrow,.meetings-intro-wide h2,.meetings-intro-copy{grid-column:1;grid-row:auto}
  .meetings-intro-copy{padding-top:4px}
  .meetings-image-row{grid-template-columns:1fr;gap:8px}
  .meetings-image-row img{height:auto;aspect-ratio:4/3}
  .carousel-controls{padding-left:18px!important;padding-right:18px!important}
  .carousel-buttons button{width:50px;height:50px}
}


/* ======================================================================
   v3.13 — shared booking-app typography roles, brand mark, clearer booking
   buttons, carousel controls aligned to the focused card, right-side
   Location image, Suki-first dining, and Find Us.
   ====================================================================== */

:root{
  --font-brand:"Noto Serif Thai",Georgia,serif;
  --font-ui:"Noto Sans Thai",Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --button-light:#eee5d6;
  --button-hover:#cdbb9e;
}
body,button,input,select,textarea{font-family:var(--font-ui)!important}
h2,h3,.hotel-intro-hyatt-copy h1,.property-meta strong,.property-lead,.chapter-copy .lead,.facts-smith strong,.essentials-list dd,.lead-copy,.dining-secondary figcaption,.site-footer address,.site-nav,.eyebrow{font-family:var(--font-ui)!important}
.brand-name,.site-footer strong{font-family:var(--font-brand)!important}
.brand-name{font-weight:500}
.chapter-heading h2,.location-full-card h2,.meetings-intro-wide h2,.dining-copy-block h2,.contact-copy h2,.find-us h2{font-weight:500!important;letter-spacing:-.015em}

.brand{display:inline-flex;align-items:center;gap:11px;min-width:max-content}
.brand-mark{width:43px;height:43px;display:block;flex:0 0 auto}
.brand-name{font-size:23px;line-height:1.1}

/* Booking CTAs: clearly button-like, softly rounded, light -> darker on hover. */
.book-button{
  border:1px solid rgba(255,255,255,.42)!important;
  border-radius:10px!important;
  background:var(--button-light)!important;
  color:#24211d!important;
  padding:10px 17px!important;
  min-height:44px;
  display:inline-flex;align-items:center;justify-content:center;
  font-weight:500!important;
  transition:background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease!important;
  text-shadow:none!important;
}
.book-button:hover,.book-button:focus-visible{
  background:var(--button-hover)!important;
  border-color:var(--button-hover)!important;
  transform:translateY(-1px);
  box-shadow:0 5px 15px rgba(0,0,0,.12);
}
.property-actions .book-button{border-color:#d1c2aa!important}

/* Book/View Rooms jump straight to the carousel controls, which sit above
   the rail and therefore remain visible before the user starts browsing. */
#room-carousel{scroll-margin-top:96px}
.focus-carousel .carousel-controls{
  width:50vw!important;
  max-width:none!important;
  margin:0 auto 18px!important;
  padding:0!important;
  justify-content:flex-end!important;
  gap:13px;
}
.focus-carousel .carousel-count{order:1}
.focus-carousel .carousel-buttons{order:2}
.focus-carousel .carousel-buttons button{
  width:52px;height:52px;border-radius:8px;
  border:1px solid #bbb4aa;
  background:#fff;
}
.focus-carousel .carousel-buttons button:hover,.focus-carousel .carousel-buttons button:focus-visible{
  background:#ded2c0;color:var(--ink);border-color:#b8a992;
}

/* Location remains full-width as a chapter, but the actual photo is anchored
   to the RIGHT rather than spanning invisibly behind the whole section. */
.location-full{background:#e8e3da!important;min-height:clamp(620px,56vw,820px)!important;position:relative!important}
.location-full-media{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;width:64%!important;overflow:hidden}
.location-full-media img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:right center!important}
.location-full-card{
  left:max(var(--pad),calc((100vw - var(--content))/2 + var(--pad)))!important;
  width:min(50%,620px)!important;
  z-index:2!important;
}

/* Suki Jumbo is the primary dining story. Swallow Restaurant is supporting. */
.dining-copy-block{max-width:580px}
.dining-secondary figcaption{display:flex;flex-direction:column;gap:5px;margin-top:14px}
.dining-secondary figcaption strong{font-size:20px;font-weight:500}
.dining-secondary figcaption span{font-size:15px;color:var(--muted);font-weight:400}

/* Find Us: simple, performance-friendly map handoff rather than an embed. */
.find-us{
  max-width:var(--content);margin:0 auto;
  padding:clamp(88px,8vw,124px) var(--pad) clamp(92px,8vw,126px);
  border-top:1px solid var(--line);
  display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  gap:clamp(44px,7vw,100px);align-items:start;
}
.find-us h2{font-size:var(--section);line-height:1.1;margin:10px 0 0}
.find-us-details{max-width:680px}
.find-us-details>p{color:var(--muted);margin-bottom:20px}
.find-us address{font-style:normal;font-size:clamp(20px,1.8vw,25px);line-height:1.55;margin-bottom:24px}
.map-button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 18px;border:1px solid var(--ink);border-radius:9px;
  font-weight:500;background:transparent;transition:background-color .2s ease,color .2s ease;
}
.map-button:hover,.map-button:focus-visible{background:var(--ink);color:#fff}

@media(max-width:1060px){
  .focus-carousel .carousel-controls{width:62vw!important}
  .brand-name{font-size:21px}
  .brand-mark{width:39px;height:39px}
  .location-full-media{width:66%!important}
  .location-full-card{width:min(54%,560px)!important}
}

@media(max-width:760px){
  .brand-name{display:none}
  .brand-mark{width:40px;height:40px}
  .focus-carousel .carousel-controls{width:86vw!important;margin-bottom:14px!important}
  #room-carousel{scroll-margin-top:82px}
  .location-full{display:grid!important;min-height:0!important;background:transparent!important}
  .location-full-media{position:static!important;width:100%!important}
  .location-full-media img{height:auto!important;aspect-ratio:4/3!important;object-position:right center!important}
  .location-full-card{position:static!important;width:auto!important;max-width:none!important;margin:0 18px!important;padding:34px 0 80px!important;transform:none!important;background:transparent!important;border:0!important;box-shadow:none!important}
  .find-us{grid-template-columns:1fr;padding:74px 18px 82px;gap:24px}
  .find-us address{font-size:20px}
}


/* ======================================================================
   v3.14 — font-role swap, one primary booking button, below-image carousel
   controls, and embedded Find Us map.
   Type scale is intentionally unchanged from v3.13.
   ====================================================================== */

/* Swap font families ONLY. Existing sizes, weights and line heights remain. */
:root{
  --font-brand:"Noto Sans Thai",Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-ui:"Noto Serif Thai",Georgia,serif;
}

/* Only the top-right header booking action is enclosed. */
.site-header .book-link.book-button{
  border:1px solid rgba(255,255,255,.42)!important;
  border-radius:10px!important;
  background:var(--button-light)!important;
  color:#24211d!important;
  padding:10px 17px!important;
  min-height:44px;
}
.editorial-book-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:0!important;
  border-bottom:1px solid currentColor!important;
  border-radius:0!important;
  background:transparent!important;
  padding:0 0 3px!important;
  min-height:0!important;
  font-weight:500;
  transition:transform .18s ease,border-color .18s ease;
}
.editorial-book-link::after{content:"→";display:inline-block;transition:transform .18s ease}
.editorial-book-link:hover::after,.editorial-book-link:focus-visible::after{transform:translateX(4px)}
.editorial-book-link:hover,.editorial-book-link:focus-visible{transform:none;box-shadow:none!important}

/* Controls sit BELOW photographs in a dedicated row. The row has exactly the
   active-card width, so its arrows align to — and never exceed — the image edge. */
.focus-carousel .carousel-controls{
  width:50vw!important;
  max-width:none!important;
  margin:18px auto 0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
}
.focus-carousel .carousel-count{
  order:1!important;
  min-width:0!important;
  text-align:left!important;
  margin-right:auto;
}
.focus-carousel .carousel-buttons{
  order:2!important;
  margin-left:auto;
  display:flex;
  gap:8px;
}

/* Find Us ends with a restrained embedded map, then the final CTA follows. */
.find-us{
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
}
.find-us-details{max-width:720px}
.map-link{display:inline-flex;margin-top:2px;font-weight:500}
.find-us-map{
  grid-column:1 / -1;
  margin-top:clamp(30px,3.5vw,48px);
  width:100%;
  height:clamp(420px,38vw,520px);
  border-radius:10px;
  overflow:hidden;
  background:#e7e3dc;
  border:1px solid var(--line);
}
.find-us-map iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}

@media(max-width:1060px){
  .focus-carousel .carousel-controls{width:62vw!important}
}

@media(max-width:760px){
  .focus-carousel .carousel-controls{width:86vw!important;margin-top:14px!important}
  .find-us-map{height:420px;margin-top:24px;border-radius:8px}
}


/* ======================================================================
   v3.15 — Caldera/Smith-inspired control refinement, stable header geometry,
   stacked Style/Setting metadata, measured Location overlap, and fountain CTA.
   ====================================================================== */

/* Header geometry stays visually fixed when Thai/English labels change length. */
@media (min-width:1061px){
  .site-header{
    grid-template-columns:minmax(218px,1fr) auto minmax(218px,1fr)!important;
  }
  .site-header .brand{justify-self:start}
  .site-header .site-nav{justify-self:center}
  .site-header .header-actions{justify-self:end;min-width:218px;justify-content:flex-end}
  .site-header .language-toggle{width:44px;text-align:center;flex:0 0 44px}
  .site-header .book-link.book-button{min-width:132px;white-space:nowrap}
}

/* Caldera/Smith-like primary CTA: compact editorial rectangle, not a pill. */
.site-header .book-link.book-button{
  min-height:44px!important;
  padding:0 18px!important;
  border:1px solid rgba(255,255,255,.55)!important;
  border-radius:2px!important;
  background:rgba(247,245,240,.96)!important;
  color:#171716!important;
  font-weight:500!important;
  box-shadow:none!important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease!important;
}
.site-header .book-link.book-button:hover,
.site-header .book-link.book-button:focus-visible{
  background:#d8cbb8!important;
  border-color:#d8cbb8!important;
  color:#171716!important;
  transform:none!important;
  box-shadow:none!important;
}

/* STYLE / SETTING are metadata labels above values — never typographic superscript. */
.property-meta{align-items:stretch}
.property-meta>div{
  display:flex!important;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:5px!important;
}
.property-meta span{
  display:block;
  line-height:1.2;
  position:static;
  transform:none;
}
.property-meta strong{
  display:block;
  line-height:1.35;
}
html[lang="th"] .property-meta>div{gap:7px!important}

/* Location: photo owns the right 68vw. The card stays left and overlaps the
   photo by exactly ~15% of the photo width (10.2vw of a 68vw image). */
.location-full{
  min-height:clamp(640px,55vw,820px)!important;
  background:#e8e3da!important;
}
.location-full-media{
  position:absolute!important;
  top:0!important;right:0!important;bottom:0!important;
  left:32vw!important;
  width:68vw!important;
  overflow:hidden!important;
}
.location-full-media img{
  width:100%!important;height:100%!important;
  object-fit:cover!important;
  object-position:100% 50%!important;
}
.location-full-card{
  position:absolute!important;
  left:clamp(26px,5vw,88px)!important;
  right:57.8vw!important;
  top:50%!important;
  width:auto!important;
  max-width:none!important;
  transform:translateY(-50%)!important;
  padding:clamp(38px,4.2vw,64px)!important;
  background:rgba(247,245,240,.985)!important;
  border:1px solid rgba(23,23,22,.11)!important;
  box-shadow:0 18px 50px rgba(0,0,0,.10)!important;
  overflow:visible!important;
}
.location-full-card>p,.location-full-card .simple-list{max-width:520px}

/* Smith-style carousel controls: thin chevrons, generous hit area, no boxes.
   Dedicated row remains exactly as wide as the centered image. */
.focus-carousel .carousel-controls{
  width:50vw!important;
  margin:20px auto 0!important;
  padding:0!important;
  align-items:center!important;
}
.focus-carousel .carousel-count{
  font-size:13px;
  letter-spacing:.04em;
  color:var(--muted);
}
.focus-carousel .carousel-buttons{gap:3px!important}
.focus-carousel .carousel-buttons button{
  position:relative;
  width:48px!important;
  height:44px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--ink)!important;
  box-shadow:none!important;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.focus-carousel .carousel-buttons button::after{
  content:"";
  position:absolute;
  left:10px;right:10px;bottom:3px;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transition:transform .18s ease;
}
.focus-carousel .carousel-buttons button:hover::after,
.focus-carousel .carousel-buttons button:focus-visible::after{transform:scaleX(1)}
.focus-carousel .carousel-buttons button svg{
  width:30px;height:30px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:square;
  stroke-linejoin:miter;
}
.focus-carousel .carousel-buttons [data-carousel-prev]:hover svg{transform:translateX(-2px)}
.focus-carousel .carousel-buttons [data-carousel-next]:hover svg{transform:translateX(2px)}
.focus-carousel .carousel-buttons button svg{transition:transform .18s ease}

/* Suki leads, but Swallow is explicitly part of the same text story. */
.dining-copy-block .support-copy{max-width:620px}

/* Fountain CTA: keep authentic direction. Elephants sit toward image-right;
   their water sprays left, away from the text column. */
.contact-smith{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.contact-smith figure{overflow:hidden}
.contact-smith figure img{
  object-position:58% 50%!important;
}

@media(max-width:1060px){
  .focus-carousel .carousel-controls{width:62vw!important}
  .location-full-media{left:28vw!important;width:72vw!important}
  .location-full-card{left:32px!important;right:61.2vw!important;padding:36px!important}
}

@media(max-width:920px){
  .location-full{display:grid!important;min-height:0!important;background:transparent!important}
  .location-full-media{position:static!important;width:100%!important;left:auto!important}
  .location-full-media img{height:auto!important;aspect-ratio:4/3!important;object-position:88% 50%!important}
  .location-full-card{
    position:static!important;
    width:auto!important;max-width:none!important;
    transform:none!important;
    margin:0 18px!important;
    padding:34px 0 78px!important;
    background:transparent!important;
    border:0!important;box-shadow:none!important;
  }
}

@media(max-width:760px){
  .focus-carousel .carousel-controls{width:86vw!important;margin-top:16px!important}
  .contact-smith{grid-template-columns:1fr}
  .contact-smith figure img{object-position:58% 50%!important}
}


/* ======================================================================
   v3.16 — editorial controls, centered location overlap, sparse line icons
   ====================================================================== */

/* Long-stem carousel arrows with the progress counter between them. */
.focus-carousel .carousel-controls{
  width:50vw!important;
  margin:20px auto 0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
}
.focus-carousel .carousel-nav-group{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:13px;
  white-space:nowrap;
}
.focus-carousel .carousel-nav-group button{
  width:54px;
  height:38px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--ink);
  display:grid;
  place-items:center;
  cursor:pointer;
}
.focus-carousel .carousel-nav-group button svg{
  width:44px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.25;
  stroke-linecap:square;
  stroke-linejoin:miter;
  transition:transform .18s ease;
}
.focus-carousel .carousel-nav-group [data-carousel-prev]:hover svg,
.focus-carousel .carousel-nav-group [data-carousel-prev]:focus-visible svg{transform:translateX(-3px)}
.focus-carousel .carousel-nav-group [data-carousel-next]:hover svg,
.focus-carousel .carousel-nav-group [data-carousel-next]:focus-visible svg{transform:translateX(3px)}
.focus-carousel .carousel-nav-group button:focus-visible{outline:1px solid currentColor;outline-offset:3px}
.focus-carousel .carousel-count{
  min-width:56px;
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:5px;
  font-size:14px;
  font-weight:500;
  letter-spacing:.035em;
  color:#514d47;
}
.carousel-slash{color:#918b82;font-weight:300}
.room-carousel-controls .carousel-enquire{
  flex:0 1 auto;
  margin:0;
  font-size:16px;
  font-weight:500;
  white-space:nowrap;
}
.gallery-carousel-controls{justify-content:flex-end!important}

/* Location: centered composition. Card left, image right; the card overlaps
   exactly ~15% of the image width. No section background color. */
.location-full{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  max-width:1180px!important;
  width:calc(100% - (2 * var(--pad)))!important;
  min-height:0!important;
  margin:clamp(110px,10vw,156px) auto!important;
  padding:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.location-full-card{
  position:relative!important;
  z-index:2!important;
  order:1!important;
  flex:0 0 42%!important;
  left:auto!important;right:auto!important;top:auto!important;
  width:auto!important;max-width:none!important;
  margin:0 -10.2% 0 0!important;
  transform:none!important;
  padding:clamp(38px,4.2vw,62px)!important;
  background:rgba(247,245,240,.985)!important;
  border:1px solid rgba(23,23,22,.10)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.09)!important;
}
.location-full-media{
  position:relative!important;
  z-index:1!important;
  order:2!important;
  flex:0 0 68%!important;
  left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  width:auto!important;
  overflow:hidden!important;
}
.location-full-media img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/10!important;
  object-fit:cover!important;
  object-position:100% 50%!important;
}
.location-full-card>p,.location-full-card .simple-list{max-width:480px}

/* Sparse line icons — functional cues only. */
.line-icon{
  width:20px;
  height:20px;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.fact-label{display:inline-flex;align-items:center;gap:9px}
.essentials-list dt{display:flex;align-items:center;gap:10px}
.icon-link{display:inline-flex!important;align-items:center;gap:9px}
.map-link .line-icon{width:18px;height:18px}
.contact-copy .button-outline .line-icon{width:18px;height:18px}

/* Swallow caption is deliberately just the restaurant name. */
.dining-secondary figcaption{display:block}
.dining-secondary figcaption strong{display:block}

@media(max-width:1060px){
  .focus-carousel .carousel-controls{width:62vw!important}
  .location-full{width:calc(100% - 48px)!important}
  .location-full-card{flex-basis:44%!important;margin-right:-10.5%!important;padding:34px!important}
  .location-full-media{flex-basis:70%!important}
}
@media(max-width:920px){
  .location-full{
    display:grid!important;
    width:calc(100% - 36px)!important;
    margin:84px auto!important;
  }
  .location-full-card{order:2!important;margin:-28px 18px 0!important;padding:32px!important;background:var(--paper)!important}
  .location-full-media{order:1!important;width:100%!important}
  .location-full-media img{aspect-ratio:4/3!important;object-position:100% 50%!important}
}
@media(max-width:760px){
  .focus-carousel .carousel-controls{width:86vw!important;gap:14px!important}
  .focus-carousel .carousel-nav-group{gap:7px}
  .focus-carousel .carousel-nav-group button{width:46px}
  .focus-carousel .carousel-nav-group button svg{width:38px}
  .room-carousel-controls .carousel-enquire{font-size:15px}
}
@media(max-width:520px){
  .room-carousel-controls{align-items:flex-end!important}
  .room-carousel-controls .carousel-enquire{max-width:42%;white-space:normal;line-height:1.4}
}


/* v3.17: enforce carousel control order as ← count → */
.carousel-nav-group { display: inline-flex; align-items: center; gap: 14px; }
.carousel-nav-group [data-room-prev],
.carousel-nav-group [data-gallery-prev] { order: 1 !important; }
.carousel-nav-group [data-room-index],
.carousel-nav-group [data-gallery-index] { order: 2 !important; min-width: 4.5ch; text-align: center; }
.carousel-nav-group [data-room-next],
.carousel-nav-group [data-gallery-next] { order: 3 !important; }


/* ======================================================================
   v3.18 coherence pass
   ====================================================================== */

/* 1) Carousel order is structural, not flex-order dependent. */
.focus-carousel .carousel-nav-group{
  display:grid!important;
  grid-template-columns:54px minmax(64px,auto) 54px!important;
  align-items:center!important;
  justify-content:end!important;
  column-gap:10px!important;
  margin-left:auto!important;
}
.focus-carousel .carousel-nav-group > button:first-of-type{
  grid-column:1!important;grid-row:1!important;order:unset!important;
}
.focus-carousel .carousel-nav-group > .carousel-count{
  grid-column:2!important;grid-row:1!important;order:unset!important;
  min-width:64px!important;margin:0!important;text-align:center!important;justify-self:center!important;
}
.focus-carousel .carousel-nav-group > button:last-of-type{
  grid-column:3!important;grid-row:1!important;order:unset!important;
}

/* 3) Location: keep the current left edge, extend only the image's right edge to viewport. */
@media(min-width:1181px){
  .location-full-media{
    flex-basis:calc(68% + max(0px,(100vw - 1180px)/2))!important;
    margin-right:calc(-1 * max(0px,(100vw - 1180px)/2))!important;
  }
}

/* 4) One consolidated Essentials block. Left alignment is deliberate for scanning,
      but icon/label/value geometry is now consistent and quieter. */
.essentials-smith{max-width:1180px;margin-inline:auto;grid-template-columns:.58fr 1.42fr!important}
.essentials-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 38px;margin:0!important}
.essentials-grid>div{
  display:grid!important;grid-template-columns:minmax(145px,.9fr) minmax(0,1.1fr)!important;
  gap:18px!important;padding:20px 0!important;border-top:1px solid var(--line)!important;
}
.essentials-grid>div:nth-last-child(-n+2){border-bottom:1px solid var(--line)!important}
.essentials-grid dt{display:grid!important;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:10px;color:var(--muted)}
.essentials-grid dt .line-icon{width:22px;height:22px}
.essentials-grid dd{margin:0!important;font-size:19px!important;line-height:1.45!important}
.parking-icon{stroke-width:1.35!important}

/* 5) Food first, meetings second. Give them intentionally different section weights. */
.dining-layout{padding-bottom:clamp(118px,10vw,160px)!important}
.meetings-chapter-soft{
  margin-top:0!important;
  padding-top:clamp(96px,8vw,132px)!important;
  padding-bottom:clamp(112px,9vw,150px)!important;
  border-top:1px solid var(--line)!important;
  background:var(--soft)!important;
}
.meetings-image-row{margin-top:clamp(42px,4.6vw,68px)!important}

/* 6) Contact becomes an editorial endcap instead of another 50/50 split. */
.contact-endcap{max-width:1180px;margin:0 auto;padding:clamp(94px,8vw,126px) var(--pad) clamp(96px,8vw,128px)}
.contact-endcap-top{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(54px,7vw,104px);align-items:end;border-top:1px solid var(--line);padding-top:clamp(42px,4vw,58px)}
.contact-endcap-heading h2{font-family:var(--font-ui);font-size:clamp(42px,4.7vw,66px);font-weight:400;line-height:1.08;margin:12px 0 0;max-width:720px}
.contact-endcap-actions{padding-bottom:4px}
.contact-endcap-actions>p{max-width:500px;color:var(--muted);font-size:18px;line-height:1.7;margin:0 0 22px}
.contact-call-link{display:inline-flex;align-items:center;gap:9px;font-weight:500}
.contact-call-link>span:last-child{transition:transform .18s ease}
.contact-call-link:hover>span:last-child,.contact-call-link:focus-visible>span:last-child{transform:translateX(4px)}
.contact-fountain-strip{margin:clamp(42px,4.5vw,64px) 0 0;overflow:hidden}
.contact-fountain-strip img{width:100%;aspect-ratio:16/5;object-fit:cover;object-position:64% 54%;display:block}
.contact-endcap .contact-details{margin-top:20px}

@media(max-width:920px){
  .essentials-smith{grid-template-columns:1fr!important}
  .essentials-grid{grid-template-columns:1fr 1fr!important;gap:0 28px}
  .contact-endcap-top{grid-template-columns:1fr;gap:28px;align-items:start}
  .contact-fountain-strip img{aspect-ratio:16/7;object-position:62% 52%}
}
@media(max-width:760px){
  .brand-mark{width:36px!important;height:36px!important}
  .focus-carousel .carousel-nav-group{grid-template-columns:46px minmax(58px,auto) 46px!important;column-gap:6px!important}
  .essentials-grid{grid-template-columns:1fr!important;gap:0}
  .essentials-grid>div{grid-template-columns:132px 1fr!important}
  .essentials-grid>div:nth-last-child(2){border-bottom:0!important}
  .contact-endcap{padding-left:18px;padding-right:18px}
  .contact-endcap-heading h2{font-size:clamp(36px,10vw,48px)}
  .contact-fountain-strip img{aspect-ratio:4/3;object-position:61% 50%}
}


/* ======================================================================
   v3.19 — edge-to-edge location image + source-verified Amenities
   ====================================================================== */

/* Keep the established left edge of the roof-garden image, but extend its
   visible right edge exactly to the viewport. The flex item's geometry stays
   unchanged, so the text card and image start point do not move. */
@media(min-width:1181px){
  .location-full-media{
    flex:0 0 68%!important;
    margin-right:0!important;
    overflow:visible!important;
    aspect-ratio:16/10!important;
  }
  .location-full-media img{
    width:calc(100% + max(0px,(100vw - 1180px)/2))!important;
    max-width:none!important;
    height:100%!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    object-position:100% 50%!important;
    display:block!important;
  }
}

/* Amenities: clean hotel-service grid, separate from timing/policies. */
.amenities-section{
  max-width:1180px;
  margin:0 auto;
  padding:clamp(98px,8.5vw,132px) var(--pad) clamp(104px,9vw,140px);
  border-top:1px solid var(--line);
}
.amenities-heading{
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  column-gap:clamp(42px,7vw,96px);
  align-items:start;
  margin-bottom:clamp(44px,4.5vw,64px);
}
.amenities-heading .eyebrow{grid-column:1}
.amenities-heading h2{
  grid-column:1;
  font-family:var(--font-ui);
  font-size:var(--section);
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.015em;
  margin:10px 0 0;
}
.amenities-heading>p:last-child{
  grid-column:2;
  grid-row:1 / span 2;
  margin:2px 0 0;
  max-width:650px;
  color:var(--muted);
  font-size:18px;
  line-height:1.7;
}
.amenities-grid{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.amenities-grid li{
  min-height:174px;
  padding:28px 24px 25px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  gap:26px;
  background:transparent;
}
.amenity-icon{
  width:34px;
  height:34px;
  fill:none;
  stroke:#3b3935;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.amenities-grid span{
  font-size:17px;
  font-weight:500;
  line-height:1.45;
  max-width:190px;
}
html[lang="th"] .amenities-grid span{font-size:18px;line-height:1.55}
html[lang="th"] .amenities-heading h2{line-height:1.25}

/* Essentials now contains only arrival/policy information; amenities are not
   repeated here. */
.essentials-smith{padding-top:clamp(88px,7.5vw,116px)!important}
.essentials-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.essentials-grid>div:nth-last-child(-n+2){border-bottom:1px solid var(--line)!important}

@media(max-width:920px){
  .amenities-heading{grid-template-columns:1fr;row-gap:22px}
  .amenities-heading .eyebrow,.amenities-heading h2,.amenities-heading>p:last-child{grid-column:1;grid-row:auto}
  .amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .amenities-section{padding-left:18px;padding-right:18px;padding-top:78px;padding-bottom:92px}
  .amenities-grid li{min-height:148px;padding:22px 18px;gap:22px}
  .amenity-icon{width:31px;height:31px}
  .essentials-grid{grid-template-columns:1fr!important}
}


/* ======================================================================
   v3.20 — expanded, source-verified hotel + in-room amenities
   ====================================================================== */
.amenities-heading{display:block!important;margin-bottom:clamp(34px,3.6vw,50px)!important}
.amenities-heading .eyebrow,.amenities-heading h2{display:block!important;grid-column:auto!important;grid-row:auto!important}
.amenity-group+.amenity-group{margin-top:clamp(64px,6vw,90px)}
.amenity-group-title{font-family:var(--font-ui);font-size:clamp(24px,2.1vw,31px);font-weight:500;line-height:1.2;margin:0 0 24px}
html[lang="th"] .amenity-group-title{line-height:1.45}
.room-amenities-grid li{min-height:164px}
.room-amenities-grid span{font-weight:500}
@media(max-width:920px){.amenities-heading{margin-bottom:36px!important}}


/* ======================================================================
   v3.22 — amenities refinement
   Premium, quieter service lists: concise labels + optional detail line.
   ====================================================================== */
.amenities-section{
  max-width:1240px!important;
  padding-top:clamp(96px,8vw,126px)!important;
  padding-bottom:clamp(108px,9vw,144px)!important;
}
.amenities-heading{max-width:760px;margin-bottom:clamp(52px,5vw,72px)!important}
.amenities-heading .eyebrow{margin-bottom:14px}
.amenities-heading h2{margin-top:0!important}
.amenity-group+.amenity-group{margin-top:clamp(78px,7vw,108px)!important}
.amenity-group-head{
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);
  gap:clamp(30px,5vw,72px);
  align-items:start;
  margin-bottom:28px;
}
.amenity-group-title{margin:0!important;font-size:clamp(24px,2vw,30px)!important;font-weight:500!important}
.amenity-group-head>p{margin:2px 0 0;max-width:620px;color:var(--muted);font-size:17px;line-height:1.7}
.amenities-grid{
  border:0!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  column-gap:clamp(24px,3vw,44px)!important;
  row-gap:0!important;
}
.amenities-grid li{
  min-height:138px!important;
  padding:22px 0 24px!important;
  border:0!important;
  border-top:1px solid var(--line)!important;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  align-content:start!important;
  align-items:start!important;
  justify-content:start!important;
  gap:16px!important;
}
.amenity-icon{width:30px!important;height:30px!important;margin-top:1px;stroke-width:1.45!important}
.amenities-grid li>div{min-width:0}
.amenities-grid strong{
  display:block;
  font-family:var(--font-ui);
  font-size:17px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:.002em;
}
.amenities-grid small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-family:var(--font-ui);
  font-size:14px;
  font-weight:300;
  line-height:1.48;
}
html[lang="th"] .amenities-grid strong{font-size:18px;line-height:1.5}
html[lang="th"] .amenities-grid small{font-size:15px;line-height:1.58;margin-top:4px}
.room-amenity-group{
  padding-top:clamp(54px,5vw,72px);
  border-top:1px solid var(--line);
}
.room-amenities-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.room-amenities-grid li{min-height:126px!important}
.room-amenities-grid strong{font-weight:500!important}
@media(max-width:1000px){
  .amenities-grid,.room-amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .amenity-group-head{grid-template-columns:1fr;gap:10px}
}
@media(max-width:620px){
  .amenities-section{padding-left:20px!important;padding-right:20px!important}
  .amenities-grid,.room-amenities-grid{grid-template-columns:1fr!important}
  .amenities-grid li{min-height:0!important;padding:20px 0 22px!important;grid-template-columns:34px minmax(0,1fr)!important;gap:14px!important}
  .amenity-icon{width:27px!important;height:27px!important}
  .amenity-group+.amenity-group{margin-top:64px!important}
}


/* ======================================================================
   v3.23 — Hyatt-inspired amenities refinement
   Quiet icon index: no cards, no intro copy, centered icon + concise label.
   ====================================================================== */
.amenities-section{
  max-width:1280px!important;
  padding-top:clamp(104px,8.5vw,136px)!important;
  padding-bottom:clamp(118px,9.5vw,154px)!important;
}
.amenities-heading{
  max-width:none!important;
  margin:0 0 clamp(54px,5vw,76px)!important;
  text-align:left;
}
.amenities-heading h2{
  margin:0!important;
  font-size:clamp(42px,4.2vw,60px)!important;
  line-height:1.08!important;
  font-weight:400!important;
}
.amenity-group+.amenity-group{margin-top:clamp(88px,7vw,118px)!important}
.amenity-group-head{
  display:block!important;
  margin:0 0 clamp(34px,3vw,46px)!important;
}
.amenity-group-title{
  margin:0!important;
  font-family:var(--font-ui)!important;
  font-size:clamp(20px,1.65vw,24px)!important;
  font-weight:500!important;
  line-height:1.25!important;
  letter-spacing:.01em;
}
.amenity-group-head>p{display:none!important}
.amenities-grid,
.room-amenities-grid{
  display:grid!important;
  border:0!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0 clamp(30px,3vw,48px)!important;
}
.amenities-grid li,
.room-amenities-grid li{
  min-height:158px!important;
  padding:26px 10px 30px!important;
  border:0!important;
  border-top:1px solid var(--line)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:16px!important;
  text-align:center!important;
}
.amenity-icon{
  width:34px!important;
  height:34px!important;
  margin:0!important;
  stroke-width:1.35!important;
  flex:0 0 auto;
}
.amenities-grid li>div,
.room-amenities-grid li>div{min-width:0;width:100%}
.amenities-grid strong,
.room-amenities-grid strong{
  display:block;
  font-family:var(--font-ui)!important;
  font-size:16.5px!important;
  font-weight:500!important;
  line-height:1.38!important;
  letter-spacing:.005em!important;
}
.amenities-grid small,
.room-amenities-grid small{
  display:block;
  margin:5px auto 0!important;
  max-width:220px;
  color:var(--muted)!important;
  font-family:var(--font-ui)!important;
  font-size:13.5px!important;
  font-weight:300!important;
  line-height:1.45!important;
}
html[lang="th"] .amenities-grid strong,
html[lang="th"] .room-amenities-grid strong{
  font-size:17px!important;
  line-height:1.5!important;
}
html[lang="th"] .amenities-grid small,
html[lang="th"] .room-amenities-grid small{
  font-size:14px!important;
  line-height:1.55!important;
}
/* 14 hotel amenities: center the final two items for a balanced last row. */
.amenities-grid-primary>li:nth-last-child(2):nth-child(4n+1){grid-column:2}
/* 10 room amenities: use five columns for two even rows on wide screens. */
.room-amenities-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.room-amenity-group{
  padding-top:0!important;
  border-top:0!important;
}
@media(max-width:1080px){
  .amenities-grid,.room-amenities-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .amenities-grid-primary>li:nth-last-child(2):nth-child(4n+1){grid-column:auto}
}
@media(max-width:760px){
  .amenities-section{padding-left:22px!important;padding-right:22px!important}
  .amenities-grid,.room-amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:24px!important}
  .amenities-grid li,.room-amenities-grid li{min-height:145px!important;padding:24px 4px 26px!important;gap:14px!important}
  .amenity-icon{width:31px!important;height:31px!important}
}
@media(max-width:440px){
  .amenities-grid,.room-amenities-grid{grid-template-columns:1fr 1fr!important;column-gap:18px!important}
  .amenities-grid strong,.room-amenities-grid strong{font-size:15.5px!important}
  html[lang="th"] .amenities-grid strong,html[lang="th"] .room-amenities-grid strong{font-size:16px!important}
  .amenities-grid small,.room-amenities-grid small{font-size:12.8px!important}
}


/* ======================================================================
   v3.24 — amenity row refinement
   Hotel: four detail-bearing amenities share one dedicated row.
   Room: exactly two rows × four columns on wide screens.
   ====================================================================== */
@media (min-width:1081px){
  .amenities-grid-primary{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  /* Center the two simple items in row 3, then start the four detail items on row 4. */
  .amenities-grid-primary>li:nth-child(9){grid-column:2!important}
  .amenities-grid-primary>li:nth-child(11){grid-column:1!important}
  .room-amenities-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  .amenities-grid-primary .amenity-detailed,
  .room-amenities-grid .room-amenity-detailed{
    min-height:176px!important;
  }
}
@media (max-width:1080px){
  .amenities-grid-primary>li:nth-child(9),
  .amenities-grid-primary>li:nth-child(11){grid-column:auto!important}
}


/* ======================================================================
   v3.25 — amenity polish
   - Security + fire safety form the final row.
   - No horizontal rule above amenity items.
   - Refined line icons for ride assistance, fitness, desk, double-lock door,
     and hair-dryer/kettle borrowing.
   ====================================================================== */
.amenities-grid li,
.room-amenities-grid li{
  border-top:0!important;
}
@media (min-width:1081px){
  .amenities-grid-primary{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  .amenities-grid-primary>li:nth-child(9),
  .amenities-grid-primary>li:nth-child(10),
  .amenities-grid-primary>li:nth-child(11),
  .amenities-grid-primary>li:nth-child(12){
    grid-column:auto!important;
  }
  .amenities-grid-primary>li:nth-child(13){grid-column:2!important;}
  .amenities-grid-primary>li:nth-child(14){grid-column:3!important;}
  .room-amenities-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
.amenity-icon-ride,
.amenity-icon-gym,
.amenity-icon-door,
.amenity-icon-desk,
.amenity-icon-borrow{
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  stroke-width:1.45!important;
}


/* ======================================================================
   v3.26 — universal amenity icon system
   Familiar pictograms, one optical size, one line weight, rounded geometry.
   ====================================================================== */
.amenities-section .amenity-icon{
  width:36px!important;
  height:36px!important;
  fill:none!important;
  stroke:currentColor!important;
  color:#34322f!important;
  stroke-width:1.65!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke;
  overflow:visible;
}
.amenities-section .amenity-icon *{
  stroke-linecap:round;
  stroke-linejoin:round;
}
@media(max-width:760px){
  .amenities-section .amenity-icon{width:32px!important;height:32px!important;}
}

/* ======================================================================
   v3.28 — Hotel Information placement
   Check-in / check-out are operational stay facts, separate from
   Amenities and Find Us. Find Us remains purely location/directions.
   ====================================================================== */
.hotel-information{
  max-width:var(--content);
  margin:0 auto;
  padding:clamp(72px,7vw,104px) var(--pad);
  display:grid;
  grid-template-columns:minmax(240px,.8fr) minmax(420px,1.2fr);
  gap:clamp(46px,7vw,96px);
  align-items:end;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.hotel-information-heading .eyebrow{
  margin:0 0 14px;
}
.hotel-information-heading h2{
  margin:0;
  font-family:var(--font-ui);
  font-size:clamp(32px,3.2vw,46px);
  line-height:1.12;
  font-weight:500;
  letter-spacing:-.015em;
}
.hotel-information-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.hotel-info-fact{
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:13px;
  row-gap:5px;
  padding:24px 28px 24px 0;
  align-items:center;
}
.hotel-info-fact + .hotel-info-fact{
  border-left:1px solid var(--line);
  padding-left:28px;
}
.hotel-info-fact .line-icon{
  grid-row:1 / span 2;
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
  color:#4c4944;
}
.hotel-info-fact span{
  font-size:14px;
  font-weight:500;
  letter-spacing:.035em;
  text-transform:uppercase;
  color:var(--muted);
  line-height:1.2;
}
.hotel-info-fact strong{
  font-family:var(--font-ui);
  font-size:clamp(23px,2vw,29px);
  line-height:1.15;
  font-weight:500;
}
html[lang="th"] .hotel-info-fact span{
  text-transform:none;
  letter-spacing:0;
  font-size:15px;
}
html[lang="th"] .hotel-information-heading h2{line-height:1.25}

/* Find Us no longer needs spacing reserved for arrival/departure facts. */
.find-us-details .stay-facts{display:none!important;}

@media(max-width:900px){
  .hotel-information{
    grid-template-columns:1fr;
    gap:34px;
    padding-left:22px;
    padding-right:22px;
  }
}
@media(max-width:560px){
  .hotel-information{padding-top:62px;padding-bottom:66px;}
  .hotel-information-facts{grid-template-columns:1fr;}
  .hotel-info-fact{padding:20px 0;}
  .hotel-info-fact + .hotel-info-fact{
    border-left:0;
    border-top:1px solid var(--line);
    padding-left:0;
  }
}


/* ======================================================================
   v3.29 — Hotel Information: three facts in one row
   Check-in | Check-out | 24-hour Front Desk
   ====================================================================== */
.hotel-information-facts{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
.hotel-information-facts .hotel-info-fact{
  min-width:0;
}
.hotel-information-facts .hotel-info-fact + .hotel-info-fact{
  border-left:1px solid var(--line) !important;
  border-top:0 !important;
  padding-left:28px !important;
}
@media(max-width:760px){
  .hotel-information-facts{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .hotel-information-facts .hotel-info-fact{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    padding:18px 12px 18px 0 !important;
  }
  .hotel-information-facts .hotel-info-fact + .hotel-info-fact{
    padding-left:14px !important;
  }
  .hotel-information-facts .hotel-info-fact .line-icon{
    width:19px;
    height:19px;
    flex:0 0 auto;
  }
  .hotel-information-facts .hotel-info-fact span{
    font-size:12.5px;
    line-height:1.25;
  }
  html[lang="th"] .hotel-information-facts .hotel-info-fact span{
    font-size:13px;
  }
  .hotel-information-facts .hotel-info-fact strong{
    font-size:clamp(17px,4.4vw,21px);
    white-space:nowrap;
  }
}

/* ======================================================================
   v3.30 — Hotel Information visual refinement
   Same content width as Amenities; open layout with no table-like edges.
   ====================================================================== */
.hotel-information{
  width:100%;
  max-width:1280px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:var(--pad)!important;
  padding-right:var(--pad)!important;
  border-top:0!important;
  border-bottom:0!important;
}
.hotel-information-facts{
  border:0!important;
  gap:clamp(24px,3vw,46px)!important;
}
.hotel-information-facts .hotel-info-fact,
.hotel-information-facts .hotel-info-fact + .hotel-info-fact{
  border:0!important;
  padding:12px 0!important;
}
@media(max-width:760px){
  .hotel-information{
    padding-left:22px!important;
    padding-right:22px!important;
  }
  .hotel-information-facts{
    gap:18px!important;
  }
  .hotel-information-facts .hotel-info-fact,
  .hotel-information-facts .hotel-info-fact + .hotel-info-fact{
    border:0!important;
    padding:10px 0!important;
  }
}


/* ======================================================================
   v3.32 — Hotel Information follows the Amenities visual system
   Heading first, then open centered icon/fact grid; no split utility layout.
   ====================================================================== */
.hotel-information{
  display:block!important;
  width:100%!important;
  max-width:1280px!important;
  margin:0 auto!important;
  padding:clamp(88px,7vw,112px) var(--pad) clamp(96px,8vw,124px)!important;
  border:0!important;
}
.hotel-information-heading{
  display:block!important;
  margin:0 0 clamp(44px,4.5vw,64px)!important;
  max-width:none!important;
}
.hotel-information-heading h2{
  margin:0!important;
  font-family:var(--font-ui)!important;
  font-size:clamp(42px,4.2vw,60px)!important;
  line-height:1.08!important;
  font-weight:400!important;
  letter-spacing:-.015em!important;
}
html[lang="th"] .hotel-information-heading h2{
  line-height:1.24!important;
}
.hotel-information-facts{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0 clamp(30px,3vw,48px)!important;
  border:0!important;
}
.hotel-information-facts .hotel-info-fact,
.hotel-information-facts .hotel-info-fact + .hotel-info-fact{
  min-height:148px!important;
  padding:24px 10px 28px!important;
  margin:0!important;
  border:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  text-align:center!important;
}
.hotel-information-facts .hotel-info-fact .line-icon{
  width:36px!important;
  height:36px!important;
  margin:0 0 3px!important;
  flex:0 0 auto!important;
  fill:none!important;
  stroke:currentColor!important;
  color:#34322f!important;
  stroke-width:1.65!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke;
}
.hotel-information-facts .hotel-info-fact span{
  display:block!important;
  margin:0!important;
  font-family:var(--font-ui)!important;
  font-size:16.5px!important;
  font-weight:500!important;
  line-height:1.38!important;
  letter-spacing:.005em!important;
  text-transform:none!important;
  color:var(--ink)!important;
}
.hotel-information-facts .hotel-info-fact strong{
  display:block!important;
  margin:0!important;
  font-family:var(--font-ui)!important;
  font-size:15px!important;
  font-weight:300!important;
  line-height:1.45!important;
  color:var(--muted)!important;
  white-space:normal!important;
}
html[lang="th"] .hotel-information-facts .hotel-info-fact span{
  font-size:17px!important;
  line-height:1.5!important;
}
html[lang="th"] .hotel-information-facts .hotel-info-fact strong{
  font-size:16px!important;
  line-height:1.52!important;
}
@media(max-width:760px){
  .hotel-information{
    padding-left:22px!important;
    padding-right:22px!important;
    padding-top:76px!important;
    padding-bottom:88px!important;
  }
  .hotel-information-heading{
    margin-bottom:38px!important;
  }
  .hotel-information-facts{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;
  }
  .hotel-information-facts .hotel-info-fact,
  .hotel-information-facts .hotel-info-fact + .hotel-info-fact{
    min-height:132px!important;
    padding:18px 2px 22px!important;
    gap:10px!important;
  }
  .hotel-information-facts .hotel-info-fact .line-icon{
    width:32px!important;
    height:32px!important;
  }
  .hotel-information-facts .hotel-info-fact span{
    font-size:14px!important;
  }
  html[lang="th"] .hotel-information-facts .hotel-info-fact span{
    font-size:15px!important;
  }
  .hotel-information-facts .hotel-info-fact strong{
    font-size:14px!important;
  }
  html[lang="th"] .hotel-information-facts .hotel-info-fact strong{
    font-size:14.5px!important;
  }
}


/* ======================================================================
   v3.33 — Find Us follows the Amenities visual system
   Heading first, open icon/fact grid, then one restrained wide map.
   ====================================================================== */
.find-us{
  display:block!important;
  width:100%!important;
  max-width:1280px!important;
  margin:0 auto!important;
  padding:clamp(88px,7vw,112px) var(--pad) clamp(96px,8vw,124px)!important;
  border:0!important;
}
.find-us-heading{
  margin:0 0 clamp(44px,4.5vw,64px)!important;
}
.find-us-heading h2{
  margin:0!important;
  font-family:var(--font-ui)!important;
  font-size:clamp(42px,4.2vw,60px)!important;
  line-height:1.08!important;
  font-weight:400!important;
  letter-spacing:-.015em!important;
}
html[lang="th"] .find-us-heading h2{
  line-height:1.24!important;
}
.find-us-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0 clamp(30px,3vw,48px);
  margin:0 0 clamp(46px,5vw,68px);
}
.find-us-fact{
  min-width:0;
  min-height:170px;
  padding:24px 10px 28px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  text-align:center;
}
.find-us-icon{
  width:36px;
  height:36px;
  margin:0 0 3px;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  color:#34322f;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.find-us-fact strong{
  display:block;
  margin:0;
  font-family:var(--font-ui);
  font-size:16.5px;
  font-weight:500;
  line-height:1.38;
  letter-spacing:.005em;
  color:var(--ink);
}
.find-us-fact address,
.find-us-fact>span,
.find-us-map-link{
  display:block;
  margin:0;
  max-width:330px;
  font-family:var(--font-ui);
  font-size:15px;
  font-weight:300;
  font-style:normal;
  line-height:1.55;
  color:var(--muted);
}
.find-us-map-link{
  display:inline-flex;
  width:max-content;
  color:var(--ink);
  border-bottom:1px solid rgba(23,23,22,.36);
  padding-bottom:2px;
  transition:border-color .18s ease,transform .18s ease;
}
.find-us-map-link:hover,
.find-us-map-link:focus-visible{
  border-color:currentColor;
  transform:translateY(-1px);
}
html[lang="th"] .find-us-fact strong{
  font-size:17px;
  line-height:1.5;
}
html[lang="th"] .find-us-fact address,
html[lang="th"] .find-us-fact>span,
html[lang="th"] .find-us-map-link{
  font-size:16px;
  line-height:1.62;
}
.find-us-map{
  width:100%!important;
  height:clamp(420px,38vw,520px)!important;
  margin:0!important;
  border:0!important;
  border-radius:2px!important;
  overflow:hidden!important;
  background:#e7e3dc!important;
}
.find-us-map iframe{
  width:100%!important;
  height:100%!important;
  display:block!important;
  border:0!important;
}
@media(max-width:760px){
  .find-us{
    padding-left:22px!important;
    padding-right:22px!important;
    padding-top:76px!important;
    padding-bottom:88px!important;
  }
  .find-us-heading{margin-bottom:38px!important;}
  .find-us-facts{
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin-bottom:40px!important;
  }
  .find-us-fact{
    min-height:0!important;
    padding:18px 2px 22px!important;
    gap:10px!important;
  }
  .find-us-icon{width:32px!important;height:32px!important;}
  .find-us-fact strong{font-size:15px!important;}
  html[lang="th"] .find-us-fact strong{font-size:16px!important;}
  .find-us-fact address,
  .find-us-fact>span,
  .find-us-map-link{font-size:14px!important;}
  html[lang="th"] .find-us-fact address,
  html[lang="th"] .find-us-fact>span,
  html[lang="th"] .find-us-map-link{font-size:15px!important;}
  .find-us-map{height:400px!important;border-radius:2px!important;}
}


/* ======================================================================
   v3.34 — contact as a quiet editorial end-cap; no closing photograph.
   ====================================================================== */
.contact-endcap{
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:var(--soft)!important;
}
.contact-endcap-inner{
  max-width:1240px;
  margin:0 auto;
  padding:clamp(96px,8.5vw,132px) var(--pad) clamp(104px,9vw,140px);
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
  gap:clamp(58px,7vw,110px);
  align-items:end;
}
.contact-endcap-top,.contact-fountain-strip{display:none!important}
.contact-endcap-heading .eyebrow{margin-bottom:16px}
.contact-endcap-heading h2{
  font-family:var(--font-ui)!important;
  font-size:clamp(42px,4.8vw,66px)!important;
  font-weight:400!important;
  line-height:1.08!important;
  letter-spacing:-.018em!important;
  margin:0!important;
  max-width:720px;
}
.contact-intro{
  max-width:650px;
  margin:24px 0 0;
  color:var(--muted);
  font-size:18px;
  line-height:1.72;
}
.contact-enquire-link{
  display:inline-flex;
  align-items:center;
  margin-top:28px;
  font-weight:500;
}
.contact-methods{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(28px,3vw,46px);
  align-items:start;
}
.contact-method{
  min-width:0;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:14px 12px;
  align-items:start;
}
.contact-method-icon{
  width:25px;height:25px;
  fill:none;stroke:currentColor;stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round;
  grid-row:1 / span 2;
  margin-top:2px;
}
.contact-method>strong{font-size:16px;font-weight:500;line-height:1.35}
.contact-method-values{display:flex;flex-direction:column;gap:7px;font-size:18px;line-height:1.45}
.contact-method-values a{display:inline-flex;width:max-content;max-width:100%;border-bottom:1px solid rgba(23,23,22,.24);padding-bottom:2px}
.contact-method-values a:hover,.contact-method-values a:focus-visible{border-bottom-color:currentColor}
html[lang="th"] .contact-endcap-heading h2{line-height:1.24!important}
html[lang="th"] .contact-intro{line-height:1.82}

@media(max-width:900px){
  .contact-endcap-inner{grid-template-columns:1fr;gap:44px;align-items:start}
  .contact-methods{max-width:620px}
}
@media(max-width:760px){
  .contact-endcap-inner{padding:78px 18px 92px}
  .contact-endcap-heading h2{font-size:clamp(36px,10vw,48px)!important}
  .contact-methods{grid-template-columns:1fr;gap:26px}
}


/* ======================================================================
   v3.35 — Contact follows the Amenities visual grammar
   One heading, open centered icon grid, restrained editorial enquiry link.
   ====================================================================== */
.contact-endcap{
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
.contact-endcap-inner{
  width:100%!important;
  max-width:1280px!important;
  margin:0 auto!important;
  padding:clamp(88px,7vw,112px) var(--pad) clamp(104px,8.5vw,136px)!important;
  display:block!important;
}
.contact-endcap-heading{
  margin:0 0 clamp(44px,4.5vw,64px)!important;
}
.contact-endcap-heading .eyebrow,
.contact-intro{display:none!important;}
.contact-endcap-heading h2{
  margin:0!important;
  max-width:none!important;
  font-family:var(--font-ui)!important;
  font-size:clamp(42px,4.2vw,60px)!important;
  font-weight:400!important;
  line-height:1.08!important;
  letter-spacing:-.015em!important;
}
html[lang="th"] .contact-endcap-heading h2{line-height:1.24!important;}
.contact-methods{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0 clamp(30px,3vw,48px)!important;
  max-width:760px!important;
  margin:0!important;
  align-items:start!important;
}
.contact-method{
  min-height:158px!important;
  padding:26px 10px 30px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:14px!important;
  text-align:center!important;
}
.contact-method-icon{
  width:36px!important;
  height:36px!important;
  margin:0 0 2px!important;
  fill:none!important;
  stroke:currentColor!important;
  color:#34322f!important;
  stroke-width:1.65!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  grid-row:auto!important;
}
.contact-method>strong{
  display:block!important;
  font-family:var(--font-ui)!important;
  font-size:16.5px!important;
  font-weight:500!important;
  line-height:1.38!important;
  letter-spacing:.005em!important;
}
html[lang="th"] .contact-method>strong{font-size:17px!important;line-height:1.5!important;}
.contact-method-values{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:5px!important;
  font-family:var(--font-ui)!important;
  font-size:15px!important;
  font-weight:300!important;
  line-height:1.52!important;
  color:var(--muted)!important;
}
html[lang="th"] .contact-method-values{font-size:16px!important;line-height:1.58!important;}
.contact-method-values a{
  width:max-content!important;
  max-width:100%!important;
  border-bottom:1px solid rgba(23,23,22,.28)!important;
  padding-bottom:2px!important;
  color:inherit!important;
}
.contact-method-values a:hover,.contact-method-values a:focus-visible{border-bottom-color:currentColor!important;color:var(--ink)!important;}
.contact-enquire-link{
  display:inline-flex!important;
  align-items:center!important;
  margin:clamp(30px,3vw,44px) 0 0!important;
  font-weight:500!important;
}
@media(max-width:760px){
  .contact-endcap-inner{padding:76px 22px 92px!important;}
  .contact-endcap-heading{margin-bottom:38px!important;}
  .contact-methods{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;max-width:none!important;}
  .contact-method{min-height:140px!important;padding:20px 2px 24px!important;gap:11px!important;}
  .contact-method-icon{width:32px!important;height:32px!important;}
  .contact-method>strong{font-size:15px!important;}
  html[lang="th"] .contact-method>strong{font-size:16px!important;}
  .contact-method-values{font-size:14px!important;}
  html[lang="th"] .contact-method-values{font-size:15px!important;}
}


/* v3.36 — official LINE QR in Contact */
.contact-method-line{min-height:280px!important;}
.line-qr-wrap{display:flex;flex-direction:column;align-items:center;gap:9px;margin-top:8px;}
.line-qr{display:block;width:116px;height:116px;object-fit:contain;background:#fff;padding:6px;border-radius:8px;box-shadow:0 0 0 1px rgba(23,23,22,.08);}
.line-qr-label{font-family:var(--font-ui);font-size:13px;font-weight:400;line-height:1.4;color:var(--muted);}
html[lang="th"] .line-qr-label{font-size:14px;line-height:1.5;}
@media(max-width:760px){
  .contact-method-line{min-height:246px!important;}
  .line-qr{width:96px;height:96px;padding:5px;border-radius:7px;}
  .line-qr-label{font-size:12px;}
  html[lang="th"] .line-qr-label{font-size:13px;}
}


/* ======================================================================
   v3.37 — professional contact routing, compact non-repetitive footer,
   and a persistent top navigation bar.
   ====================================================================== */

/* Navigation remains available throughout the page. */
.site-header{
  position:fixed!important;
  top:0!important;left:0!important;right:0!important;
  z-index:120!important;
}
section[id]{scroll-margin-top:96px}
@media(max-width:760px){section[id]{scroll-margin-top:82px}}

/* Contact: Phone / General Email / LINE, following the established icon grid. */
.contact-methods{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  max-width:none!important;
}
.contact-method-email .contact-method-values span{
  color:var(--muted);
  font-size:.92em;
}
.contact-method-line{min-height:280px!important}
@media(max-width:900px){
  .contact-methods{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .contact-method-line{grid-column:1 / -1;max-width:360px;width:100%;justify-self:center}
}
@media(max-width:600px){
  .contact-methods{grid-template-columns:1fr!important}
  .contact-method-line{grid-column:auto;max-width:none}
}

/* Footer is a closing signature, not a second navigation bar. */
.site-footer{
  max-width:none!important;
  margin:0!important;
  padding:clamp(42px,4.5vw,64px) var(--pad) 30px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:22px 48px!important;
  align-items:start!important;
  border-top:0!important;
  background:#1c1b19!important;
  color:#f5f1e9!important;
}
.footer-signature{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.site-footer strong{
  color:#fff!important;
  font-family:var(--font-brand)!important;
  font-size:24px!important;
  font-weight:500!important;
  line-height:1.25!important;
}
.footer-location{
  font-family:var(--font-ui);
  color:rgba(255,255,255,.68);
  font-size:15px;
  line-height:1.5;
}
.footer-contact-line{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
  gap:8px 10px;
  font-family:var(--font-ui);
  font-size:14px;
  line-height:1.55;
}
.footer-contact-line a{
  color:rgba(255,255,255,.86);
  border-bottom:1px solid transparent;
}
.footer-contact-line a:hover,.footer-contact-line a:focus-visible{
  color:#fff;
  border-bottom-color:rgba(255,255,255,.72);
}
.footer-contact-line>span{color:rgba(255,255,255,.28)}
.site-footer small{
  grid-column:1 / -1!important;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.52)!important;
  font-family:var(--font-ui);
  font-size:12px!important;
  line-height:1.5;
}
.footer-links,.site-footer address{display:none!important}

@media(max-width:760px){
  .site-footer{
    padding:40px 18px 26px!important;
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  .footer-contact-line{
    justify-content:flex-start;
    gap:8px 9px;
  }
  .site-footer small{grid-column:1!important;margin-top:2px}
}


/* ======================================================================
   v3.38 — best-practice Find Us + Contact refinement.
   Find Us = address / transit / directions, then map.
   Contact = purpose-specific channels in one clear grid.
   ====================================================================== */

/* Find Us: retain Amenities-family visual grammar, clarify action semantics. */
.find-us-facts{align-items:start!important;}
.find-us-fact-link .find-us-map-link{font-weight:500!important;}
.find-us-map{margin-top:clamp(6px,1vw,14px)!important;}

/* Contact: four explicit contact routes instead of a detached reservations CTA. */
.contact-methods{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  max-width:none!important;
  gap:0 clamp(24px,2.6vw,42px)!important;
  align-items:start!important;
}
.contact-method{
  min-height:170px!important;
  padding:24px 8px 28px!important;
}
.contact-method-line{min-height:170px!important;}
.contact-method-values a{
  overflow-wrap:anywhere;
  word-break:normal;
}
.contact-method-email .contact-method-values,
.contact-method-reservations .contact-method-values{font-size:14.5px!important;}
html[lang="th"] .contact-method-email .contact-method-values,
html[lang="th"] .contact-method-reservations .contact-method-values{font-size:15px!important;}

/* QR is supporting content, not a fifth contact method. */
.line-qr-wrap{display:none!important;}
.line-qr-secondary{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  margin-top:clamp(22px,2.5vw,34px);
  color:var(--muted);
}
.line-qr-secondary .line-qr{
  width:92px!important;
  height:92px!important;
  padding:5px!important;
  border-radius:6px!important;
}
.line-qr-secondary>div{display:flex;flex-direction:column;gap:4px;align-items:flex-start;}
.line-qr-secondary strong{
  font-family:var(--font-ui);
  font-size:15px;
  font-weight:500;
  color:var(--ink);
}
.line-qr-secondary .line-qr-label{font-size:13px!important;}
.contact-enquire-link{display:none!important;}

@media(max-width:1000px){
  .contact-methods{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .contact-method-line{grid-column:auto!important;max-width:none!important;}
}
@media(max-width:600px){
  .contact-methods{grid-template-columns:1fr!important;}
  .contact-method{min-height:0!important;padding:18px 2px 22px!important;}
  .line-qr-secondary{justify-content:center;margin-top:18px;}
  .line-qr-secondary .line-qr{width:82px!important;height:82px!important;}
}


/* ======================================================================
   v3.39 — refined Find Us + simplified Contact
   ====================================================================== */
.find-us-facts{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0 clamp(20px,2vw,34px)!important;
}
.find-us-fact>span{max-width:310px;margin-inline:auto;}

.contact-methods.contact-methods-three{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0 clamp(34px,3.2vw,56px)!important;
  max-width:none!important;
}
.contact-methods-three .contact-method{
  min-height:190px!important;
  padding:26px 8px 30px!important;
}
.contact-methods-three .contact-method-line{min-height:190px!important;}
.line-qr-secondary{display:none!important;}
.line-contact-lockup{
  display:grid;
  grid-template-columns:minmax(0,1fr) 76px;
  align-items:center;
  gap:16px;
  margin-top:2px;
  width:min(100%,260px);
}
.line-contact-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
}
.line-handle{
  font-family:var(--font-ui);
  font-size:16px;
  line-height:1.4;
  color:var(--ink);
  border-bottom:1px solid rgba(23,23,22,.22);
  padding-bottom:2px;
}
.line-handle:hover,.line-handle:focus-visible{border-bottom-color:currentColor;}
.line-contact-copy .line-qr-label{
  font-size:12px!important;
  line-height:1.45!important;
  color:var(--muted);
  text-align:left;
}
.line-qr-inline{
  width:76px!important;
  height:76px!important;
  padding:4px!important;
  border-radius:4px!important;
  box-shadow:0 0 0 1px rgba(23,23,22,.075)!important;
}
html[lang="th"] .line-handle{font-size:17px;}
html[lang="th"] .line-contact-copy .line-qr-label{font-size:13px!important;}

@media(max-width:980px){
  .find-us-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:34px!important;}
  .contact-methods.contact-methods-three{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0 20px!important;}
}
@media(max-width:720px){
  .find-us-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .contact-methods.contact-methods-three{grid-template-columns:1fr!important;}
  .contact-methods-three .contact-method{min-height:0!important;padding:20px 2px 24px!important;}
  .line-contact-lockup{width:min(100%,240px);grid-template-columns:minmax(0,1fr) 68px;}
  .line-qr-inline{width:68px!important;height:68px!important;}
}


/* ======================================================================
   v3.40 — refined external-link arrow
   Purpose-built SVG mask replaces font-dependent ↗ glyphs.
   ====================================================================== */
.external-link{
  display:inline-flex!important;
  align-items:baseline;
  gap:.38em;
}
.external-link::after{
  content:"";
  display:inline-block;
  flex:0 0 auto;
  width:.78em;
  height:.78em;
  position:relative;
  top:.045em;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.25 11.75 11.75 4.25M6.25 4.25h5.5v5.5' fill='none' stroke='black' stroke-width='1.45' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.25 11.75 11.75 4.25M6.25 4.25h5.5v5.5' fill='none' stroke='black' stroke-width='1.45' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transform:translate3d(0,0,0);
  transition:transform 180ms ease, opacity 180ms ease;
  opacity:.88;
}
.external-link:hover::after,
.external-link:focus-visible::after{
  transform:translate3d(.11em,-.11em,0);
  opacity:1;
}
/* Optical tuning: Thai body glyphs are taller, so keep arrow slightly lower. */
html[lang="th"] .external-link::after{top:.08em;width:.76em;height:.76em;}
/* Footer contact line is intentionally smaller and quieter. */
.footer-contact-line .external-link::after{width:.72em;height:.72em;opacity:.78;}
@media (prefers-reduced-motion:reduce){
  .external-link::after{transition:none!important;}
  .external-link:hover::after,.external-link:focus-visible::after{transform:none!important;}
}

/* ======================================================================
   v3.41 — compact copyright footer + refined back-to-top control
   ====================================================================== */
.site-footer{
  max-width:none!important;
  margin:0!important;
  min-height:56px;
  padding:18px var(--pad)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  background:#1c1b19!important;
  color:#f5f1e9!important;
}
.site-footer .footer-signature,
.site-footer .footer-location,
.site-footer .footer-contact-line{display:none!important;}
.site-footer small{
  grid-column:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  color:rgba(255,255,255,.62)!important;
  font-family:var(--font-ui);
  font-size:12px!important;
  font-weight:300;
  line-height:1.5;
  letter-spacing:.01em;
  text-align:center;
}

.back-to-top{
  position:fixed;
  right:clamp(16px,2vw,28px);
  bottom:clamp(16px,2vw,28px);
  z-index:60;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(28,27,25,.18);
  border-radius:50%;
  background:rgba(248,245,238,.94);
  color:#1c1b19;
  box-shadow:0 7px 22px rgba(20,18,15,.10);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  opacity:0;
  visibility:hidden;
  transform:translateY(7px);
  pointer-events:none;
  transition:opacity 180ms ease,transform 180ms ease,background-color 180ms ease,border-color 180ms ease,visibility 180ms linear;
  cursor:pointer;
}
.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}
.back-to-top svg{
  width:18px;
  height:18px;
  display:block;
  overflow:visible;
}
.back-to-top path{
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.back-to-top:hover{
  background:#fff;
  border-color:rgba(28,27,25,.30);
  transform:translateY(-2px);
}
.back-to-top:focus-visible{
  outline:2px solid currentColor;
  outline-offset:3px;
}
.back-to-top:active{transform:translateY(0);}
@media(max-width:600px){
  .site-footer{min-height:52px;padding:16px 18px!important;}
  .back-to-top{right:14px;bottom:14px;width:42px;height:42px;}
  .back-to-top svg{width:17px;height:17px;}
}
@media(prefers-reduced-motion:reduce){
  .back-to-top{transition:opacity 120ms linear,background-color 120ms linear,border-color 120ms linear,visibility 120ms linear!important;}
  .back-to-top:hover,.back-to-top:active{transform:none!important;}
}


/* ======================================================================
   v3.43 — Rooms typography + asymmetric Hyatt-inspired carousel
   Rooms now follows the Amenities heading rhythm. The active room is
   left-anchored and dominant, with only the next room previewing at right.
   Gallery retains its existing centered carousel treatment.
   ====================================================================== */
.rooms-smith{
  --room-rail-inset:max(var(--pad), calc((100vw - var(--content))/2 + var(--pad)));
  --room-card-width:min(68vw, 1040px);
  max-width:none!important;
  margin:0!important;
  padding:clamp(104px,8.5vw,136px) 0 clamp(118px,9.5vw,154px)!important;
  overflow:hidden!important;
  border-top:1px solid var(--line);
}
.room-section-heading{
  max-width:var(--content);
  margin:0 auto clamp(54px,5vw,76px);
  padding:0 var(--pad);
  text-align:left;
}
.room-section-heading .eyebrow{
  display:block;
  width:max-content;
  margin:0 0 14px;
}
.room-section-heading h2{
  margin:0!important;
  font-family:var(--font-ui)!important;
  font-size:clamp(42px,4.2vw,60px)!important;
  font-weight:400!important;
  line-height:1.08!important;
  letter-spacing:-.015em!important;
}
.room-section-intro{
  max-width:650px;
  margin:clamp(18px,1.7vw,24px) 0 0;
  color:var(--muted);
  font-family:var(--font-ui);
  font-size:18px;
  line-height:1.7;
}
html[lang="th"] .room-section-heading h2{line-height:1.22!important;}
html[lang="th"] .room-section-intro{line-height:1.78;}

/* Full viewport rail, but its first/current room aligns to the site's content grid. */
.room-carousel{
  width:100vw!important;
  margin:0!important;
  overflow:hidden!important;
}
.room-carousel .room-carousel-track{
  width:100%!important;
  gap:clamp(18px,1.7vw,26px)!important;
  padding:0 0 10px var(--room-rail-inset)!important;
  scroll-padding-inline-start:var(--room-rail-inset)!important;
  scroll-snap-type:x mandatory!important;
}
.room-carousel .room-carousel-track>[data-carousel-item]{
  flex:0 0 var(--room-card-width)!important;
  width:var(--room-card-width)!important;
  max-width:none!important;
  scroll-snap-align:start!important;
  scroll-snap-stop:always;
}
.room-carousel .room-card img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
}
/* Only the active room carries its name/number; the right preview stays visual. */
.room-carousel .room-copy{
  opacity:0!important;
  transform:translateY(3px);
  transition:opacity .28s ease,transform .28s ease;
}
.room-carousel [data-carousel-item].is-current .room-copy{
  opacity:1!important;
  transform:none!important;
}
.room-carousel .room-copy{
  grid-template-columns:36px minmax(0,1fr);
  gap:6px 14px;
  padding-top:16px;
}
.room-carousel .room-copy span{
  padding-top:4px;
  font-family:var(--font-ui);
  font-size:12px;
  color:var(--muted);
}
.room-carousel .room-copy h3{
  margin:0;
  font-family:var(--font-ui)!important;
  font-size:clamp(22px,1.8vw,28px)!important;
  font-weight:400!important;
  line-height:1.2!important;
  letter-spacing:-.01em;
}
html[lang="th"] .room-carousel .room-copy h3{line-height:1.45!important;}

/* Controls remain directly below the active image and share its exact width. */
.room-carousel .room-carousel-controls{
  width:var(--room-card-width)!important;
  max-width:none!important;
  margin:20px 0 0 var(--room-rail-inset)!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:22px!important;
}

@media(max-width:1060px){
  .rooms-smith{
    --room-rail-inset:clamp(28px,4vw,48px);
    --room-card-width:74vw;
  }
  .room-section-heading{padding-left:clamp(28px,4vw,48px);padding-right:clamp(28px,4vw,48px);}
  .room-carousel .room-carousel-controls{width:var(--room-card-width)!important;}
}
@media(max-width:760px){
  .rooms-smith{
    --room-rail-inset:22px;
    --room-card-width:82vw;
    padding-top:78px!important;
    padding-bottom:92px!important;
  }
  .room-section-heading{
    padding:0 22px;
    margin-bottom:40px;
  }
  .room-section-heading .eyebrow{margin-bottom:10px;}
  .room-section-heading h2{font-size:clamp(38px,10vw,48px)!important;}
  .room-section-intro{font-size:16.5px;line-height:1.7;margin-top:16px;}
  html[lang="th"] .room-section-intro{font-size:17px;line-height:1.76;}
  .room-carousel .room-carousel-track{gap:16px!important;}
  .room-carousel .room-carousel-controls{
    width:var(--room-card-width)!important;
    margin:16px 0 0 var(--room-rail-inset)!important;
    gap:14px!important;
  }
  .room-carousel .room-copy{padding-top:13px;}
  .room-carousel .room-copy h3{font-size:21px!important;}
}
@media(max-width:520px){
  .rooms-smith{--room-card-width:84vw;}
  .room-carousel-controls .carousel-enquire{max-width:44%;}
}

/* v3.43a — suppress the previous-room edge completely; preserve only right preview. */
.room-carousel{position:relative!important;}
.room-carousel::before{
  content:"";
  position:absolute;
  z-index:4;
  top:0;
  bottom:0;
  left:0;
  width:var(--room-rail-inset);
  background:var(--paper);
  pointer-events:none;
}
.room-carousel .room-carousel-track{position:relative;z-index:1;}
.room-carousel .room-carousel-controls{position:relative;z-index:5;}
@media(max-width:760px){
  .rooms-smith{--room-card-width:80vw;}
}
@media(max-width:520px){
  .rooms-smith{--room-card-width:80vw;}
}

/* ======================================================================
   v3.44 — Rooms: single-title hierarchy + viewport-contained composition
   One Amenities-style heading, concise single-line intro on desktop, and a
   controlled landscape image height so heading + image + controls read as
   one screen composition on standard laptop/desktop viewports.
   ====================================================================== */
.rooms-smith{
  padding-top:clamp(68px,8vh,90px)!important;
  padding-bottom:clamp(82px,8vh,104px)!important;
}
.room-section-heading{
  margin-bottom:clamp(24px,3vh,34px)!important;
}
.room-section-heading .eyebrow{display:none!important;}
.room-section-heading h2{
  margin:0!important;
  font-family:var(--font-ui)!important;
  font-size:clamp(42px,4.2vw,60px)!important;
  font-weight:400!important;
  line-height:1.08!important;
  letter-spacing:-.015em!important;
}
html[lang="th"] .room-section-heading h2{line-height:1.24!important;}
.room-section-intro{
  max-width:none!important;
  margin:clamp(10px,1.3vh,14px) 0 0!important;
  color:var(--muted)!important;
  font-family:var(--font-ui)!important;
  font-size:clamp(16px,1.2vw,18px)!important;
  line-height:1.55!important;
}
html[lang="th"] .room-section-intro{line-height:1.6!important;}
@media(min-width:900px){
  .room-section-intro{white-space:nowrap;}
}

/* The card remains dominant in width, but the photograph uses a cinematic
   viewport-aware height rather than a tall 4:3 block. object-fit preserves
   proportions; nothing is stretched. */
.room-carousel .room-card img{
  width:100%!important;
  height:clamp(360px,60vh,620px)!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
}
.room-carousel .room-copy{
  padding-top:clamp(10px,1.2vh,14px)!important;
}
.room-carousel .room-carousel-controls{
  margin-top:clamp(12px,1.6vh,18px)!important;
}

@media(max-width:899px){
  .rooms-smith{
    padding-top:72px!important;
    padding-bottom:88px!important;
  }
  .room-section-heading{margin-bottom:28px!important;}
  .room-section-intro{max-width:680px!important;}
  .room-carousel .room-card img{
    height:auto!important;
    aspect-ratio:4/3!important;
  }
}
@media(max-width:760px){
  .rooms-smith{padding-top:70px!important;padding-bottom:86px!important;}
  .room-section-heading{margin-bottom:26px!important;}
  .room-section-intro{margin-top:10px!important;}
}


/* ======================================================================
   v3.47 — dedicated room-detail pages
   Homepage stays editorial; each room can now be explored on its own URL.
   ====================================================================== */
.room-detail-page{background:var(--paper);}
.room-detail-header .site-nav{gap:clamp(14px,1.6vw,25px);}
.room-detail-hero{max-width:var(--content);margin:0 auto;padding:clamp(30px,4vw,54px) var(--pad) clamp(64px,7vw,96px);}
.room-detail-topline{margin-bottom:clamp(20px,2.2vw,30px);}
.room-back-link{display:inline-flex;align-items:center;font-size:14px;font-weight:400;border-bottom:1px solid transparent;padding-bottom:2px;}
.room-back-link:hover,.room-back-link:focus-visible{border-color:currentColor;}
.room-detail-hero-image{margin:0;overflow:hidden;background:#ddd;}
.room-detail-hero-image img{width:100%;height:clamp(430px,62vh,720px);object-fit:cover;}
.room-detail-intro{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(320px,1.18fr);gap:clamp(36px,6vw,90px);align-items:start;padding-top:clamp(28px,3.5vw,46px);}
.room-detail-intro h1{font-family:var(--font-ui)!important;font-size:clamp(42px,4.7vw,66px);font-weight:400;line-height:1.08;margin:0;}
.room-detail-intro p{font-size:clamp(17px,1.4vw,21px);line-height:1.65;max-width:680px;margin:7px 0 0;color:var(--muted);}
.room-detail-content{max-width:var(--content);margin:0 auto;padding:clamp(68px,7vw,100px) var(--pad);border-top:1px solid var(--line);}
.room-detail-section-heading h2{font-family:var(--font-ui)!important;font-size:clamp(30px,3vw,44px);font-weight:400;line-height:1.15;margin:0 0 clamp(30px,4vw,48px);}
.room-detail-facts{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line);}
.room-detail-fact{padding:22px clamp(22px,2.4vw,34px) 24px 0;border-bottom:1px solid var(--line);}
.room-detail-fact dt{font-size:13px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.room-detail-fact dd{margin:0;font-size:18px;line-height:1.55;max-width:560px;}
html[lang="th"] .room-detail-fact dt{text-transform:none;letter-spacing:0;font-size:14px;}
.room-detail-amenity-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(28px,3vw,46px);border-top:1px solid var(--line);}
.room-detail-amenity-list li{padding:18px 0 20px;border-bottom:1px solid var(--line);font-size:15px;line-height:1.55;}
.room-detail-cta{max-width:var(--content);margin:0 auto;padding:clamp(76px,8vw,112px) var(--pad) clamp(88px,9vw,126px);border-top:1px solid var(--line);display:flex;align-items:flex-end;justify-content:space-between;gap:30px;}
.room-detail-cta h2{font-family:var(--font-ui)!important;font-size:clamp(34px,3.7vw,54px);font-weight:400;line-height:1.12;margin:0;}
.room-detail-cta-link{font-size:16px;font-weight:400;white-space:nowrap;}
.room-detail-page .site-footer{max-width:none;min-height:56px;padding:0 var(--pad);display:flex;align-items:center;justify-content:center;border-top:1px solid var(--line);}
.room-detail-page .site-footer small{grid-column:auto;color:var(--muted);}
@media(max-width:900px){
  .room-detail-intro{grid-template-columns:1fr;gap:14px;}
  .room-detail-facts{grid-template-columns:1fr 1fr;}
  .room-detail-amenity-list{grid-template-columns:1fr 1fr;}
  .room-detail-cta{align-items:flex-start;flex-direction:column;}
}
@media(max-width:640px){
  .room-detail-hero{padding-top:22px;padding-bottom:54px;}
  .room-detail-hero-image img{height:auto;aspect-ratio:4/3;}
  .room-detail-facts,.room-detail-amenity-list{grid-template-columns:1fr;}
  .room-detail-content{padding-top:56px;padding-bottom:66px;}
  .room-detail-cta{padding-top:64px;padding-bottom:76px;}
}

/* ======================================================================
   v3.48 — room-detail pages adopt the Amenities visual grammar.
   Open icon index, consistent SVG scale, no card/table treatment.
   ====================================================================== */
.room-detail-content{
  max-width:1280px!important;
  padding-top:clamp(88px,7vw,112px)!important;
  padding-bottom:clamp(104px,8.5vw,136px)!important;
  border-top:0!important;
}
.room-detail-content + .room-detail-content{
  border-top:1px solid var(--line)!important;
}
.room-detail-section-heading{
  margin:0 0 clamp(48px,4.8vw,68px)!important;
}
.room-detail-section-heading h2{
  margin:0!important;
  font-family:var(--font-ui)!important;
  font-size:clamp(42px,4.2vw,60px)!important;
  font-weight:400!important;
  line-height:1.08!important;
  letter-spacing:-.015em!important;
}
html[lang="th"] .room-detail-section-heading h2{line-height:1.24!important;}

.room-detail-facts,
.room-detail-amenity-list{
  margin:0!important;
  padding:0!important;
  border:0!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0 clamp(30px,3vw,48px)!important;
  list-style:none!important;
}
.room-detail-facts[data-count="1"]{
  grid-template-columns:minmax(210px,280px)!important;
}
.room-detail-facts[data-count="2"]{
  grid-template-columns:repeat(2,minmax(210px,300px))!important;
}
.room-detail-facts[data-count="3"]{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.room-detail-fact,
.room-detail-amenity-list li{
  min-width:0!important;
  min-height:166px!important;
  padding:26px 10px 30px!important;
  border:0!important;
  border-top:1px solid var(--line)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:14px!important;
  text-align:center!important;
}
.room-detail-fact-icon,
.room-detail-amenity-icon{
  width:34px;
  height:34px;
  margin:0 0 2px;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  color:#34322f;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.room-detail-fact dt,
.room-detail-amenity-list strong{
  margin:0!important;
  color:var(--ink)!important;
  font-family:var(--font-ui)!important;
  font-size:16.5px!important;
  font-weight:500!important;
  line-height:1.38!important;
  letter-spacing:.005em!important;
  text-transform:none!important;
}
.room-detail-fact dd,
.room-detail-amenity-list small{
  display:block;
  margin:0!important;
  max-width:280px;
  color:var(--muted)!important;
  font-family:var(--font-ui)!important;
  font-size:14px!important;
  font-weight:300!important;
  line-height:1.55!important;
}
.room-detail-fact dd{font-size:15px!important;max-width:340px;}
.room-detail-amenity-list small{max-width:230px;}
html[lang="th"] .room-detail-fact dt,
html[lang="th"] .room-detail-amenity-list strong{
  font-size:17px!important;
  line-height:1.5!important;
}
html[lang="th"] .room-detail-fact dd,
html[lang="th"] .room-detail-amenity-list small{
  font-size:15px!important;
  line-height:1.6!important;
}
.room-detail-cta{
  border-top:1px solid var(--line)!important;
}
@media(max-width:1080px){
  .room-detail-facts,
  .room-detail-amenity-list{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .room-detail-facts[data-count="1"]{grid-template-columns:minmax(210px,280px)!important;}
  .room-detail-facts[data-count="2"]{grid-template-columns:repeat(2,minmax(210px,300px))!important;}
}
@media(max-width:760px){
  .room-detail-content{
    padding-left:22px!important;
    padding-right:22px!important;
    padding-top:76px!important;
    padding-bottom:92px!important;
  }
  .room-detail-section-heading{margin-bottom:38px!important;}
  .room-detail-facts,
  .room-detail-amenity-list,
  .room-detail-facts[data-count="1"],
  .room-detail-facts[data-count="2"],
  .room-detail-facts[data-count="3"]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:24px!important;
  }
  .room-detail-facts[data-count="1"] .room-detail-fact{grid-column:1 / -1;max-width:260px;width:100%;justify-self:center;}
  .room-detail-fact,
  .room-detail-amenity-list li{
    min-height:148px!important;
    padding:24px 4px 26px!important;
    gap:12px!important;
  }
  .room-detail-fact-icon,
  .room-detail-amenity-icon{width:31px;height:31px;}
}
@media(max-width:440px){
  .room-detail-facts,
  .room-detail-amenity-list,
  .room-detail-facts[data-count="1"],
  .room-detail-facts[data-count="2"],
  .room-detail-facts[data-count="3"]{grid-template-columns:1fr!important;}
  .room-detail-facts[data-count="1"] .room-detail-fact{grid-column:auto;max-width:none;}
  .room-detail-fact,
  .room-detail-amenity-list li{min-height:0!important;padding:22px 4px 26px!important;}
}


/* v3.49 — verified Twin Room details supplied by the hotel. */
.room-detail-facts[data-count="4"]{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.room-detail-guest-info .room-detail-amenity-list{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
html[data-room="twin"] .room-detail-page .room-detail-amenity-list small{max-width:270px;}
@media(max-width:1080px){
  .room-detail-facts[data-count="4"],
  .room-detail-guest-info .room-detail-amenity-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  .room-detail-facts[data-count="4"],
  .room-detail-guest-info .room-detail-amenity-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:440px){
  .room-detail-facts[data-count="4"],
  .room-detail-guest-info .room-detail-amenity-list{grid-template-columns:1fr!important;}
}


/* ======================================================================
   v3.50 — room-detail icon audit + photo rail
   Standardised, recognisable SVG language; no per-icon upper rules.
   Detail photography uses the same left-anchored dominant-image rail as
   the homepage Rooms carousel. Single verified photos remain truthful and
   do not show fake/disabled carousel controls.
   ====================================================================== */
.room-detail-fact,
.room-detail-amenity-list li{
  border-top:0!important;
  padding-top:18px!important;
}
.room-detail-fact-icon,
.room-detail-amenity-icon{
  width:36px!important;
  height:36px!important;
  stroke-width:1.45!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.room-detail-fact dt,
.room-detail-amenity-list strong{
  font-size:16px!important;
  line-height:1.35!important;
}
.room-detail-fact dd,
.room-detail-amenity-list small{
  font-size:13.5px!important;
  line-height:1.48!important;
}
html[lang="th"] .room-detail-fact dt,
html[lang="th"] .room-detail-amenity-list strong{font-size:16.5px!important;}
html[lang="th"] .room-detail-fact dd,
html[lang="th"] .room-detail-amenity-list small{font-size:14px!important;line-height:1.55!important;}

.room-detail-hero{
  --room-detail-rail-inset:max(var(--pad),calc((100vw - var(--content))/2 + var(--pad)));
  --room-detail-card-width:min(72vw,980px);
  max-width:none!important;
  width:100%!important;
  padding:clamp(30px,4vw,54px) 0 clamp(64px,7vw,96px)!important;
  overflow:hidden;
}
.room-detail-topline,
.room-detail-intro{
  width:min(100%,var(--content));
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:var(--pad);
  padding-right:var(--pad);
}
.room-detail-topline{margin-bottom:clamp(20px,2.2vw,30px)!important;}
.room-photo-carousel{width:100vw;position:relative;overflow:hidden;}
.room-photo-carousel::before{
  content:"";position:absolute;z-index:4;top:0;bottom:0;left:0;
  width:var(--room-detail-rail-inset);background:var(--paper);pointer-events:none;
}
.room-photo-track{
  display:flex;
  gap:clamp(18px,1.7vw,26px);
  width:100%;
  padding:0 0 10px var(--room-detail-rail-inset);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-padding-inline-start:var(--room-detail-rail-inset);
  scrollbar-width:none;
  overscroll-behavior-inline:contain;
  scroll-behavior:smooth;
  position:relative;z-index:1;
}
.room-photo-track::-webkit-scrollbar{display:none;}
.room-photo-slide{
  flex:0 0 var(--room-detail-card-width);
  width:var(--room-detail-card-width);
  min-width:0;
  margin:0;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  overflow:hidden;
  background:#ddd;
}
.room-photo-slide img{
  width:100%;
  height:clamp(430px,60vh,680px);
  object-fit:cover;
  object-position:center;
}
.room-photo-controls{
  width:var(--room-detail-card-width);
  margin:clamp(12px,1.6vh,18px) 0 0 var(--room-detail-rail-inset);
  display:flex;
  justify-content:flex-end;
  position:relative;z-index:5;
}
.room-photo-nav-group{
  display:grid;
  grid-template-columns:54px minmax(56px,auto) 54px;
  align-items:center;
  column-gap:8px;
}
.room-photo-nav-group button{
  width:54px;height:38px;padding:0;border:0;background:transparent;color:var(--ink);
  display:grid;place-items:center;cursor:pointer;
}
.room-photo-nav-group button svg{
  width:44px;height:20px;fill:none;stroke:currentColor;stroke-width:1.25;
  stroke-linecap:square;stroke-linejoin:miter;transition:transform .18s ease;
}
.room-photo-nav-group [data-room-gallery-prev]:hover svg,
.room-photo-nav-group [data-room-gallery-prev]:focus-visible svg{transform:translateX(-3px);}
.room-photo-nav-group [data-room-gallery-next]:hover svg,
.room-photo-nav-group [data-room-gallery-next]:focus-visible svg{transform:translateX(3px);}
.room-photo-nav-group button:focus-visible{outline:1px solid currentColor;outline-offset:3px;}
.room-photo-count{display:flex;align-items:baseline;justify-content:center;gap:4px;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap;}
.room-photo-carousel.is-single .room-photo-controls{display:none;}
.room-photo-carousel.is-single .room-photo-track{overflow:hidden;}
.room-detail-intro{padding-top:clamp(24px,3vw,40px)!important;}

@media(max-width:1060px){
  .room-detail-hero{--room-detail-card-width:76vw;}
}
@media(max-width:760px){
  .room-detail-hero{--room-detail-rail-inset:22px;--room-detail-card-width:82vw;padding-top:22px!important;padding-bottom:54px!important;}
  .room-detail-topline,.room-detail-intro{padding-left:22px;padding-right:22px;}
  .room-photo-track{gap:16px;}
  .room-photo-slide img{height:auto;aspect-ratio:4/3;}
  .room-photo-controls{margin-top:14px;}
  .room-photo-nav-group{grid-template-columns:46px minmax(54px,auto) 46px;column-gap:6px;}
  .room-photo-nav-group button{width:46px;}
  .room-photo-nav-group button svg{width:38px;}
}
@media(prefers-reduced-motion:reduce){.room-photo-track{scroll-behavior:auto;}.room-photo-nav-group button svg{transition:none;}}


/* ======================================================================
   v3.55 — responsive local AVIF/WebP picture sources
   Picture wrappers inherit the exact geometry of their established media
   containers; existing img/object-fit rules continue to control cropping.
   ====================================================================== */
.responsive-picture{display:block;max-width:100%;}
.hero-banner>.responsive-picture,
.room-card>.responsive-picture,
.location-full-media>.responsive-picture,
.dining-main>.responsive-picture,
.dining-secondary>.responsive-picture,
.meetings-image-row figure>.responsive-picture,
.gallery-card>.responsive-picture,
.room-photo-slide>.responsive-picture{width:100%;height:100%;}
.wide-photo>.responsive-picture{width:100%;height:auto;}
.responsive-picture>img{display:block;}


/* ======================================================================
   v3.57 — Park Hyatt-inspired Restaurants & Café carousel.
   One equal venue carousel, warm stone section background, viewport-aware
   imagery, compact count/arrows, and editorial title/body arrangement.
   ====================================================================== */
.dining-hyatt{
  --dining-bg:#ebe8e1;
  --dining-rail-inset:max(var(--pad),calc((100vw - var(--content))/2 + var(--pad)));
  --dining-card-width:min(76vw,1180px);
  background:var(--dining-bg);
  padding:clamp(82px,9svh,120px) 0 clamp(96px,11svh,148px);
  overflow:hidden;
}
.dining-hyatt-heading{
  max-width:1280px;
  margin:0 auto clamp(38px,5svh,60px);
  padding:0 var(--pad);
}
.dining-hyatt-heading h2{
  margin:0;
  font-family:var(--font-ui);
  font-size:clamp(42px,4.2vw,60px);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.025em;
}
.dining-hyatt-carousel{position:relative;}
.dining-hyatt-track{
  display:flex;
  gap:clamp(20px,2.2vw,32px);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  overscroll-behavior-inline:contain;
  padding:0 12vw 0 var(--dining-rail-inset);
  scroll-behavior:smooth;
}
.dining-hyatt-track::-webkit-scrollbar{display:none;}
.dining-hyatt-slide{
  flex:0 0 var(--dining-card-width);
  scroll-snap-align:start;
}
.dining-hyatt-slide figure{
  margin:0;
  height:clamp(390px,55svh,650px);
  overflow:hidden;
  background:#d9d5ce;
}
.dining-hyatt-slide figure>.responsive-picture,
.dining-hyatt-slide figure picture,
.dining-hyatt-slide figure img{
  display:block;
  width:100%;
  height:100%;
}
.dining-hyatt-slide figure img{object-fit:cover;}
.dining-hyatt-slide:not(.is-current) figure{opacity:.94;}
.dining-hyatt-meta{
  width:var(--dining-card-width);
  margin-left:var(--dining-rail-inset);
}
.dining-hyatt-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-top:20px;
}
.dining-hyatt-count{
  display:flex;
  align-items:baseline;
  gap:6px;
  font-size:13px;
  font-weight:400;
  color:var(--muted);
  font-variant-numeric:tabular-nums;
  letter-spacing:.015em;
}
.dining-hyatt-buttons{display:flex;align-items:center;gap:12px;}
.dining-hyatt-buttons button{
  width:46px;
  height:42px;
  padding:0;
  border:0;
  background:transparent;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.dining-hyatt-buttons svg{
  width:34px;
  height:auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .2s ease;
}
.dining-hyatt-buttons button:first-child:hover svg{transform:translateX(-3px);}
.dining-hyatt-buttons button:last-child:hover svg{transform:translateX(3px);}
.dining-hyatt-buttons button:focus-visible{outline:1px solid currentColor;outline-offset:2px;}
.dining-hyatt-copy{
  display:grid;
  grid-template-columns:minmax(220px,.62fr) minmax(0,1.38fr);
  column-gap:clamp(40px,6vw,92px);
  align-items:start;
  padding-top:clamp(26px,3.2svh,38px);
  min-height:clamp(180px,22svh,250px);
}
.dining-hyatt-copy h3{
  margin:0;
  font-family:var(--font-ui);
  font-size:clamp(28px,2.8vw,40px);
  font-weight:400;
  line-height:1.15;
  letter-spacing:-.022em;
}
.dining-hyatt-copy-body{max-width:690px;}
.dining-hyatt-copy-body>p:first-child{
  margin:0;
  font-size:clamp(17px,1.35vw,20px);
  line-height:1.72;
}
html[lang="th"] .dining-hyatt-copy-body>p:first-child{line-height:1.85;}
.dining-detail-link{
  display:inline-flex;
  margin-top:18px;
  font-size:15px;
}
.dining-hyatt-hours{
  display:flex;
  align-items:baseline;
  gap:12px;
  margin:18px 0 0!important;
  font-size:14px!important;
  line-height:1.4!important;
}
.dining-hyatt-hours span{color:var(--muted);}
.dining-hyatt-hours strong{font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums;}
@media(prefers-reduced-motion:reduce){
  .dining-hyatt-track{scroll-behavior:auto;}
  .dining-hyatt-buttons svg{transition:none;}
}
@media(max-width:960px){
  .dining-hyatt{--dining-card-width:80vw;--dining-rail-inset:clamp(28px,4vw,48px);}
  .dining-hyatt-heading{padding-left:clamp(28px,4vw,48px);padding-right:clamp(28px,4vw,48px);}
  .dining-hyatt-copy{grid-template-columns:minmax(190px,.55fr) minmax(0,1.45fr);column-gap:34px;}
}
@media(max-width:760px){
  .dining-hyatt{
    --dining-card-width:86vw;
    --dining-rail-inset:18px;
    padding:72px 0 88px;
  }
  .dining-hyatt-heading{padding:0 18px;margin-bottom:30px;}
  .dining-hyatt-heading h2{font-size:clamp(38px,10vw,48px);}
  .dining-hyatt-track{gap:16px;padding-right:10vw;}
  .dining-hyatt-slide figure{height:auto;aspect-ratio:4/3;}
  .dining-hyatt-controls{padding-top:14px;}
  .dining-hyatt-buttons{gap:4px;}
  .dining-hyatt-buttons button{width:42px;height:40px;}
  .dining-hyatt-buttons svg{width:30px;}
  .dining-hyatt-copy{
    grid-template-columns:1fr;
    row-gap:12px;
    padding-top:20px;
    min-height:220px;
  }
  .dining-hyatt-copy h3{font-size:clamp(25px,7.2vw,32px);}
  .dining-hyatt-copy-body>p:first-child{font-size:16px;line-height:1.72;}
  html[lang="th"] .dining-hyatt-copy-body>p:first-child{font-size:16.5px;line-height:1.8;}
}
/* Dining detail pages */
.dining-detail-page{background:var(--paper);color:var(--ink)}
.dining-detail-page .site-header{position:sticky;top:0}
.dining-detail-hero{padding-top:clamp(28px,4vw,54px)}
.dining-detail-topline,.dining-detail-intro,.dining-detail-body,.dining-detail-facts,.dining-detail-cta{max-width:1180px;margin-left:auto;margin-right:auto;padding-left:var(--pad);padding-right:var(--pad)}
.dining-detail-topline{padding-bottom:24px}
.dining-detail-back{font-size:14px;text-decoration:none;color:var(--ink)}
.dining-detail-image{max-width:1280px;margin:0 auto;padding:0 var(--pad)}
.dining-detail-image figure{margin:0;height:clamp(420px,55vw,720px);overflow:hidden;background:#ddd}
.dining-detail-image picture,.dining-detail-image img{width:100%;height:100%;display:block}
.dining-detail-image img{object-fit:cover}
.dining-detail-intro{padding-top:clamp(32px,4vw,52px);padding-bottom:clamp(62px,7vw,96px)}
.dining-detail-intro h1{font-family:var(--font-ui);font-size:clamp(44px,5.5vw,70px);font-weight:400;line-height:1.05;letter-spacing:-.03em;margin:0 0 18px}
.dining-detail-intro p{font-size:clamp(18px,1.7vw,22px);line-height:1.7;max-width:760px;margin:0}
.dining-detail-body{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(0,1fr);gap:clamp(42px,7vw,100px);padding-bottom:clamp(70px,8vw,110px)}
.dining-detail-body h2,.dining-detail-facts h2{font-family:var(--font-ui);font-size:clamp(30px,3.5vw,46px);font-weight:400;letter-spacing:-.02em;margin:0}
.dining-detail-body-copy p{font-size:17px;line-height:1.8;margin:0 0 18px;max-width:720px}
.dining-detail-facts{padding-top:clamp(56px,6vw,84px);padding-bottom:clamp(70px,8vw,110px);border-top:1px solid var(--line)}
.dining-detail-facts h2{margin-bottom:36px}
.dining-fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;list-style:none;margin:0;padding:0}
.dining-fact-grid li{display:flex;flex-direction:column;gap:7px}
.dining-fact-grid strong{font-size:16px;font-weight:500}
.dining-fact-grid span{font-size:15px;line-height:1.6;color:var(--muted)}
.dining-detail-cta{padding-top:clamp(56px,6vw,82px);padding-bottom:clamp(76px,8vw,110px);border-top:1px solid var(--line)}
.dining-detail-cta h2{font-family:var(--font-ui);font-size:clamp(30px,3.5vw,46px);font-weight:400;margin:0 0 18px}
@media(max-width:760px){
 .dining-detail-topline,.dining-detail-intro,.dining-detail-body,.dining-detail-facts,.dining-detail-cta,.dining-detail-image{padding-left:18px;padding-right:18px}
 .dining-detail-image figure{height:auto;aspect-ratio:4/3}
 .dining-detail-body{grid-template-columns:1fr;gap:18px}
 .dining-fact-grid{grid-template-columns:1fr 1fr;gap:28px 20px}
}

/* ======================================================================
   v3.58 — Dining carousel corrected to the Park Hyatt-style composition.
   Desktop: adjacent venue imagery frames a centered active composition whose
   description sits to the left of its image. Tablet/mobile: one venue at a
   time, with copy below the image. No dining-specific background panel.
   ====================================================================== */
.dining-hyatt{
  --dining-slide-width:calc(100vw - clamp(230px,15vw,320px));
  background:transparent!important;
  padding:clamp(82px,9svh,120px) 0 clamp(92px,10svh,136px);
  overflow:hidden;
}
.dining-hyatt-heading{
  width:var(--dining-slide-width);
  max-width:none;
  margin:0 auto clamp(38px,4.8svh,58px);
  padding:0;
}
.dining-hyatt-heading h2{
  margin:0;
  font-family:var(--font-ui);
  font-size:clamp(42px,4.2vw,60px);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.025em;
}
.dining-hyatt-carousel{position:relative;}
.dining-hyatt-track{
  display:flex;
  gap:clamp(24px,2.2vw,36px);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  overscroll-behavior-inline:contain;
  scroll-behavior:smooth;
  padding:0 calc((100vw - var(--dining-slide-width))/2);
}
.dining-hyatt-track::-webkit-scrollbar{display:none;}
.dining-hyatt-slide{
  flex:0 0 var(--dining-slide-width);
  min-width:0;
  scroll-snap-align:center;
  align-items:center;
}
.dining-hyatt-slide .dining-hyatt-slide-copy{display:none;}
.dining-hyatt-slide.is-current{
  display:grid;
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);
  gap:clamp(34px,4.4vw,76px);
}
.dining-hyatt-slide.is-current .dining-hyatt-slide-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-width:0;
  padding:clamp(10px,1.3vw,20px) 0;
}
.dining-hyatt-slide-copy h3{
  margin:0 0 18px;
  font-family:var(--font-ui);
  font-size:clamp(29px,2.65vw,40px);
  font-weight:400;
  line-height:1.13;
  letter-spacing:-.022em;
}
.dining-hyatt-slide-copy>p:not(.dining-hyatt-hours){
  margin:0;
  max-width:420px;
  font-size:clamp(15px,1.1vw,17px);
  line-height:1.72;
  color:var(--ink);
}
html[lang="th"] .dining-hyatt-slide-copy>p:not(.dining-hyatt-hours){line-height:1.82;}
.dining-detail-link{
  display:inline-flex;
  margin-top:20px;
  font-size:15px;
}
.dining-hyatt-slide figure{
  margin:0;
  width:100%;
  height:clamp(360px,46svh,540px);
  overflow:hidden;
  background:#ddd;
}
.dining-hyatt-slide figure>.responsive-picture,
.dining-hyatt-slide figure picture,
.dining-hyatt-slide figure img{
  display:block;
  width:100%;
  height:100%;
}
.dining-hyatt-slide figure img{object-fit:cover;}
/* Neighbouring venues are intentionally image-only on desktop, so both sides
   read as visual previews rather than incomplete text cards. */
.dining-hyatt-slide:not(.is-current) figure{opacity:.96;}
.dining-hyatt-controls{
  width:var(--dining-slide-width);
  margin:18px auto 0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.dining-hyatt-count{
  display:flex;
  align-items:baseline;
  gap:6px;
  font-size:13px;
  font-weight:400;
  color:var(--muted);
  font-variant-numeric:tabular-nums;
  letter-spacing:.015em;
}
.dining-hyatt-buttons{display:flex;align-items:center;gap:10px;}
.dining-hyatt-buttons button{
  width:46px;
  height:42px;
  padding:0;
  border:0;
  background:transparent;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.dining-hyatt-buttons svg{
  width:34px;
  height:auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .2s ease;
}
.dining-hyatt-buttons button:first-child:hover svg{transform:translateX(-3px);}
.dining-hyatt-buttons button:last-child:hover svg{transform:translateX(3px);}
.dining-hyatt-buttons button:focus-visible{outline:1px solid currentColor;outline-offset:2px;}
.dining-hyatt-hours{
  display:flex;
  align-items:baseline;
  gap:12px;
  margin:20px 0 0!important;
  font-size:14px!important;
  line-height:1.4!important;
}
.dining-hyatt-hours span{color:var(--muted);}
.dining-hyatt-hours strong{font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums;}
@media(prefers-reduced-motion:reduce){
  .dining-hyatt-track{scroll-behavior:auto;}
  .dining-hyatt-buttons svg{transition:none;}
}
/* iPad and phone: exactly one venue per view, image first and copy underneath. */
@media(max-width:1024px){
  .dining-hyatt{
    --dining-slide-width:calc(100vw - 64px);
    padding-top:clamp(72px,8svh,92px);
  }
  .dining-hyatt-heading{margin-bottom:32px;}
  .dining-hyatt-track{
    gap:24px;
    padding-left:32px;
    padding-right:32px;
  }
  .dining-hyatt-slide,
  .dining-hyatt-slide.is-current{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  .dining-hyatt-slide .dining-hyatt-slide-copy,
  .dining-hyatt-slide.is-current .dining-hyatt-slide-copy{
    display:flex;
    order:2;
    padding:22px 0 0;
  }
  .dining-hyatt-slide figure{
    order:1;
    height:auto;
    aspect-ratio:4/3;
  }
  .dining-hyatt-slide-copy h3{font-size:clamp(28px,4.2vw,36px);margin-bottom:12px;}
  .dining-hyatt-slide-copy>p:not(.dining-hyatt-hours){max-width:680px;font-size:16.5px;}
  .dining-hyatt-controls{margin-top:16px;}
}
@media(max-width:600px){
  .dining-hyatt{
    --dining-slide-width:calc(100vw - 36px);
    padding:68px 0 82px;
  }
  .dining-hyatt-heading{margin-bottom:28px;}
  .dining-hyatt-heading h2{font-size:clamp(36px,10vw,46px);}
  .dining-hyatt-track{gap:18px;padding-left:18px;padding-right:18px;}
  .dining-hyatt-slide .dining-hyatt-slide-copy,
  .dining-hyatt-slide.is-current .dining-hyatt-slide-copy{padding-top:18px;}
  .dining-hyatt-slide-copy h3{font-size:clamp(26px,7.6vw,32px);}
  .dining-hyatt-slide-copy>p:not(.dining-hyatt-hours){font-size:16px;line-height:1.7;}
  html[lang="th"] .dining-hyatt-slide-copy>p:not(.dining-hyatt-hours){line-height:1.78;}
  .dining-hyatt-buttons{gap:2px;}
  .dining-hyatt-buttons button{width:42px;height:40px;}
  .dining-hyatt-buttons svg{width:30px;}
}


/* ======================================================================
   v3.59 — bounded Dining rail + prominent < 1 / 3 > controls.
   Dining no longer uses cloned slides: Suki begins with open space on its
   left, Café ends with open space on its right. Button navigation wraps,
   but the resting rail itself remains a true 1 → 2 → 3 sequence.
   ====================================================================== */
.dining-hyatt-controls{
  width:var(--dining-slide-width);
  margin:clamp(20px,2.4svh,30px) auto 0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(14px,1.5vw,22px);
}
.dining-hyatt-nav{
  width:52px;
  height:52px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--ink);
  display:grid;
  place-items:center;
  cursor:pointer;
  border-radius:50%;
  transition:background-color .18s ease,transform .18s ease;
}
.dining-hyatt-nav svg{
  width:30px;
  height:30px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.15;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.dining-hyatt-nav:hover{background:rgba(0,0,0,.055);}
.dining-hyatt-nav-prev:hover{transform:translateX(-2px);}
.dining-hyatt-nav-next:hover{transform:translateX(2px);}
.dining-hyatt-nav:focus-visible{outline:2px solid currentColor;outline-offset:3px;}
.dining-hyatt-count{
  min-width:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  font-size:15px;
  line-height:1;
  font-weight:500;
  color:var(--ink);
  font-variant-numeric:tabular-nums;
  letter-spacing:.01em;
}
.dining-hyatt-count-separator{font-weight:300;color:var(--muted);}
@media(prefers-reduced-motion:reduce){
  .dining-hyatt-nav{transition:none;}
}
@media(max-width:1024px){
  .dining-hyatt-controls{margin-top:18px;}
  .dining-hyatt-nav{width:50px;height:50px;}
  .dining-hyatt-nav svg{width:28px;height:28px;}
}
@media(max-width:600px){
  .dining-hyatt-controls{gap:10px;margin-top:16px;}
  .dining-hyatt-nav{width:48px;height:48px;}
  .dining-hyatt-nav svg{width:27px;height:27px;}
  .dining-hyatt-count{min-width:64px;font-size:14px;}
}

/* ======================================================================
   v3.60 — Park Hyatt-inspired dining palette + text-aligned controls.
   Warm stone background keeps the section distinct without feeling boxed;
   the navigation group shares the active copy column's left edge.
   ====================================================================== */
.dining-hyatt{
  --dining-bg:#ece7de;
  --ink:#20211e;
  --muted:#69665f;
  background:var(--dining-bg)!important;
  color:var(--ink);
}
.dining-hyatt-heading h2,
.dining-hyatt-slide-copy h3,
.dining-hyatt-slide-copy>p,
.dining-hyatt-hours strong,
.dining-hyatt-nav,
.dining-hyatt-count{
  color:var(--ink);
}
.dining-hyatt-hours span,
.dining-hyatt-count-separator{
  color:var(--muted);
}
.dining-hyatt-controls{
  justify-content:flex-start;
}

/* ======================================================================
   v3.61 — dark dining chapter.
   Deep warm charcoal/espresso keeps the section visually distinct from the
   light site, while restrained antique-gold accents echo classic hospitality
   materials without turning the page into a black-and-gold theme.
   ====================================================================== */
.dining-hyatt{
  --dining-bg:#1d1a17;
  --dining-ink:#f4efe7;
  --dining-muted:#c8c0b4;
  --dining-gold:#c7a86b;
  --dining-gold-soft:#dfc99a;
  --ink:var(--dining-ink);
  --muted:var(--dining-muted);
  background:var(--dining-bg)!important;
  color:var(--dining-ink);
}
.dining-hyatt-heading h2{
  color:var(--dining-gold-soft);
}
.dining-hyatt-slide-copy h3{
  color:var(--dining-ink);
}
.dining-hyatt-slide-copy>p:not(.dining-hyatt-hours){
  color:var(--dining-muted);
}
.dining-hyatt .dining-detail-link{
  color:var(--dining-gold-soft);
  border-bottom-color:currentColor;
}
.dining-hyatt .dining-detail-link:hover,
.dining-hyatt .dining-detail-link:focus-visible{
  color:#f0d7a6;
}
.dining-hyatt-hours span{
  color:var(--dining-muted);
}
.dining-hyatt-hours strong{
  color:var(--dining-ink);
}
.dining-hyatt-controls{
  justify-content:flex-start;
}
.dining-hyatt-nav{
  color:var(--dining-gold-soft);
}
.dining-hyatt-nav:hover{
  background:rgba(223,201,154,.11);
}
.dining-hyatt-nav:focus-visible{
  outline-color:var(--dining-gold-soft);
}
.dining-hyatt-count{
  color:var(--dining-ink);
}
.dining-hyatt-count-separator{
  color:var(--dining-gold);
}


/* ======================================================================
   v3.63 — stable Dining media frame on tablet/mobile + concise Café copy.
   Every venue uses the same 4:3 viewport below 1024px, so source-image
   aspect-ratio differences can never resize the carousel while navigating.
   ====================================================================== */
@media(max-width:1024px){
  .dining-hyatt-slide figure{
    width:100%;
    height:auto!important;
    aspect-ratio:16 / 9;
    flex:0 0 auto;
    overflow:hidden;
  }
  .dining-hyatt-slide figure>.responsive-picture,
  .dining-hyatt-slide figure picture,
  .dining-hyatt-slide figure img{
    width:100%;
    height:100%;
    aspect-ratio:4 / 3;
    display:block;
  }
  .dining-hyatt-slide figure img{
    object-fit:cover;
  }
}

/* ======================================================================
   v3.64 — Rooms adopts the Dining chapter palette.
   Deep warm charcoal creates a second image-led focal chapter on the
   otherwise light homepage; warm ivory copy and restrained antique-gold
   accents mirror Restaurants & Café without changing carousel geometry.
   ====================================================================== */
.rooms-smith{
  --rooms-bg:#1d1a17;
  --rooms-ink:#f4efe7;
  --rooms-muted:#c8c0b4;
  --rooms-gold:#c7a86b;
  --rooms-gold-soft:#dfc99a;
  --ink:var(--rooms-ink);
  --muted:var(--rooms-muted);
  background:var(--rooms-bg)!important;
  color:var(--rooms-ink);
  border-top:1px solid rgba(223,201,154,.18)!important;
}
.rooms-smith .room-section-heading h2{
  color:var(--rooms-gold-soft)!important;
}
.rooms-smith .room-section-intro{
  color:var(--rooms-muted)!important;
}
.rooms-smith .room-carousel::before{
  background:var(--rooms-bg)!important;
}
.rooms-smith .room-carousel .room-copy span{
  color:var(--rooms-gold)!important;
}
.rooms-smith .room-carousel .room-copy h3{
  color:var(--rooms-ink)!important;
}
.rooms-smith .room-carousel-controls .carousel-enquire{
  color:var(--rooms-gold-soft)!important;
  border-bottom-color:currentColor;
}
.rooms-smith .room-carousel-controls .carousel-enquire:hover,
.rooms-smith .room-carousel-controls .carousel-enquire:focus-visible{
  color:#f0d7a6!important;
}
.rooms-smith .carousel-nav-group button{
  color:var(--rooms-gold-soft)!important;
}
.rooms-smith .carousel-nav-group button:focus-visible{
  outline-color:var(--rooms-gold-soft)!important;
}
.rooms-smith .carousel-count{
  color:var(--rooms-ink)!important;
}
.rooms-smith .carousel-slash{
  color:var(--rooms-gold)!important;
}


/* ======================================================================
   v3.66 — Rooms carousel controls match Restaurants & Café.
   Use large, instantly recognisable chevrons around the two-digit counter.
   ====================================================================== */
.rooms-smith .room-carousel .carousel-nav-group{
  display:inline-flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  margin-left:auto!important;
}
.rooms-smith .room-carousel .carousel-nav-group > button{
  width:52px!important;
  height:52px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  display:grid!important;
  place-items:center!important;
  color:var(--rooms-gold-soft)!important;
  cursor:pointer;
  transition:background-color .18s ease,transform .18s ease!important;
}
.rooms-smith .room-carousel .carousel-nav-group > button svg{
  width:30px!important;
  height:30px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.15!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  transition:none!important;
}
.rooms-smith .room-carousel .carousel-nav-group > button:hover{
  background:rgba(223,201,154,.11)!important;
}
.rooms-smith .room-carousel .carousel-nav-group > button:first-of-type:hover{transform:translateX(-2px)!important;}
.rooms-smith .room-carousel .carousel-nav-group > button:last-of-type:hover{transform:translateX(2px)!important;}
.rooms-smith .room-carousel .carousel-nav-group > button svg:hover,
.rooms-smith .room-carousel .carousel-nav-group > button:focus-visible svg{transform:none!important;}
.rooms-smith .room-carousel .carousel-count{
  min-width:72px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  margin:0!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:500!important;
  letter-spacing:.01em!important;
}
@media(max-width:600px){
  .rooms-smith .room-carousel .carousel-nav-group{gap:10px!important;}
  .rooms-smith .room-carousel .carousel-nav-group > button{width:48px!important;height:48px!important;}
  .rooms-smith .room-carousel .carousel-nav-group > button svg{width:27px!important;height:27px!important;}
  .rooms-smith .room-carousel .carousel-count{min-width:64px!important;font-size:14px!important;}
}
@media(prefers-reduced-motion:reduce){
  .rooms-smith .room-carousel .carousel-nav-group > button{transition:none!important;}
}


/* ======================================================================
   v3.68 — Rooms bounded resting states + directional end-wrap animation.
   Only real rooms 1–6 exist at rest. Extra end space lets room 6 align to
   the normal left inset with no room 1 preview; wrap clones exist only
   during the brief 1↔6 animation and are removed immediately afterward.
   ====================================================================== */
.room-carousel .room-carousel-track{
  padding-right:max(0px, calc(100vw - var(--room-rail-inset) - var(--room-card-width)))!important;
}
.room-carousel .room-card[data-wrap-clone]{
  pointer-events:none!important;
}

/* ======================================================================
   v3.70 — restrained homepage section-heading scale.
   Keeps the established typography and hierarchy while reducing oversized
   headings on laptop/desktop and mobile displays.
   ====================================================================== */
:root{
  --section:clamp(36px,3.4vw,50px);
}
.amenities-heading h2,
.hotel-information-heading h2,
.find-us-heading h2,
.contact-endcap-heading h2,
.room-section-heading h2,
.dining-hyatt-heading h2{
  font-size:clamp(36px,3.4vw,50px)!important;
}
@media(max-width:760px){
  :root{--section:clamp(30px,8vw,40px);}
  .amenities-heading h2,
  .hotel-information-heading h2,
  .find-us-heading h2,
  .contact-endcap-heading h2,
  .room-section-heading h2,
  .dining-hyatt-heading h2{
    font-size:clamp(30px,8vw,40px)!important;
  }
}

/* ======================================================================
   v3.71 — lighter editorial body copy.
   Paragraph prose stays regular-weight throughout the site; hierarchy is
   carried by headings, labels, spacing, color and links instead of bold text.
   Structured labels outside paragraphs remain unchanged.
   ====================================================================== */
p{
  font-weight:300!important;
}
p strong,
p b{
  font-weight:inherit!important;
}

/* ======================================================================
   v3.73 — slimmer persistent header + compact scrolled state.
   The header uses less vertical space at the top of the page and contracts
   further after scrolling, preserving more viewport area for photography.
   ====================================================================== */
.site-header{
  --header-height:72px;
  height:var(--header-height)!important;
  padding-left:clamp(20px,3.3vw,54px)!important;
  padding-right:clamp(20px,3.3vw,54px)!important;
  gap:clamp(18px,2vw,28px)!important;
  transition:height .28s ease,padding .28s ease,background-color .28s ease,box-shadow .28s ease!important;
}
.site-header .brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.site-header .brand-mark{
  width:38px!important;
  height:38px!important;
  transition:width .28s ease,height .28s ease!important;
}
.site-header .brand-name{
  font-size:20px!important;
  transition:font-size .28s ease!important;
}
.site-header .site-nav{
  font-size:15px!important;
  transition:font-size .28s ease!important;
}
.site-header .site-nav a{
  padding:10px 0 9px!important;
  transition:padding .28s ease,color .18s ease!important;
}
.site-header .site-nav a::after{bottom:4px!important;}
.site-header .header-actions{gap:14px!important;}
.site-header .language-toggle{padding:8px 0!important;}
.site-header .book-link.book-button{
  min-height:42px!important;
  padding:0 16px!important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,min-height .28s ease,padding .28s ease,font-size .28s ease!important;
}
.site-header.is-compact{
  --header-height:60px;
  background:rgba(20,20,18,.78)!important;
  box-shadow:0 5px 20px rgba(0,0,0,.10)!important;
}
.site-header.is-compact .brand-mark{width:32px!important;height:32px!important;}
.site-header.is-compact .brand-name{font-size:18px!important;}
.site-header.is-compact .site-nav{font-size:14px!important;}
.site-header.is-compact .site-nav a{padding:7px 0 6px!important;}
.site-header.is-compact .site-nav a::after{bottom:2px!important;}
.site-header.is-compact .language-toggle{font-size:14px!important;}
.site-header.is-compact .book-link.book-button{
  min-height:40px!important;
  padding:0 14px!important;
  font-size:14px!important;
}
section[id]{scroll-margin-top:76px!important;}

@media(max-width:1060px){
  .site-header{
    --header-height:68px;
    padding-left:20px!important;
    padding-right:20px!important;
  }
  .site-header.is-compact{--header-height:60px;}
  .site-header .site-nav{top:100%!important;}
  .site-header .brand-mark{width:36px!important;height:36px!important;}
  .site-header.is-compact .brand-mark{width:32px!important;height:32px!important;}
  .site-header .book-link.book-button{min-height:42px!important;}
  .site-header.is-compact .book-link.book-button{min-height:40px!important;}
}

@media(max-width:760px){
  .site-header{
    --header-height:62px;
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .site-header.is-compact{--header-height:54px;}
  .site-header .brand-mark{width:34px!important;height:34px!important;}
  .site-header.is-compact .brand-mark{width:30px!important;height:30px!important;}
  .site-header .menu-toggle,
  .site-header .language-toggle{min-width:40px;min-height:40px;}
  section[id]{scroll-margin-top:64px!important;}
}

@media(prefers-reduced-motion:reduce){
  .site-header,
  .site-header .brand-mark,
  .site-header .brand-name,
  .site-header .site-nav,
  .site-header .site-nav a,
  .site-header .book-link.book-button{transition:none!important;}
}


/* ======================================================================
   v3.74 — top-nav booking CTA aligned with Rooms / Restaurants & Café
   dark + restrained antique-gold palette.
   ====================================================================== */
.site-header .book-link.book-button{
  background:#C7A86B!important;
  border-color:#C7A86B!important;
  color:#1D1A17!important;
  text-shadow:none!important;
  box-shadow:none!important;
  font-weight:500!important;
}
.site-header .book-link.book-button:hover,
.site-header .book-link.book-button:focus-visible{
  background:#DFC99A!important;
  border-color:#DFC99A!important;
  color:#1D1A17!important;
  transform:none!important;
  box-shadow:none!important;
}
.site-header.is-compact .book-link.book-button{
  background:#C7A86B!important;
  border-color:#C7A86B!important;
  color:#1D1A17!important;
}
@media(prefers-reduced-motion:reduce){
  .site-header .book-link.book-button{transition:none!important;}
}

/* ======================================================================
   v3.77 — solid dark navigation surface matching Rooms / Restaurants & Café.
   ====================================================================== */
.site-header,
.site-header.is-compact{
  background:#1D1A17!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border-bottom:1px solid rgba(199,168,107,.16)!important;
}
.site-header.is-compact{
  box-shadow:0 5px 20px rgba(0,0,0,.14)!important;
}
.site-header .brand,
.site-header .brand-name,
.site-header .site-nav a,
.site-header .language-toggle,
.site-header .menu-toggle{
  color:#F4EFE7!important;
  text-shadow:none!important;
}
.site-header .site-nav a::after{
  background:#C7A86B!important;
  opacity:.72!important;
}
.site-header .menu-toggle span:not(.sr-only){
  background:#F4EFE7!important;
}

@media(max-width:1060px){
  .site-header .site-nav,
  .site-header .site-nav.is-open{
    background:#1D1A17!important;
    color:#F4EFE7!important;
    border-bottom:1px solid rgba(199,168,107,.16)!important;
  }
  .site-header .site-nav a{
    color:#F4EFE7!important;
    text-shadow:none!important;
  }
  .site-header .site-nav.is-open a::after{
    background:#C7A86B!important;
  }
}

/* ======================================================================
   v3.79 — deterministic Rooms carousel motion.
   Use transform transitions instead of browser-native smooth scrolling so
   arrow direction/timing is consistent across Chrome, Safari, Firefox and
   mobile browsers. The outer carousel remains the clipping viewport.
   ====================================================================== */
.room-carousel .room-carousel-track.room-transform-track{
  overflow:visible!important;
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
  overscroll-behavior:auto!important;
  will-change:transform;
  touch-action:pan-y;
  user-select:none;
  -webkit-user-select:none;
}
.room-carousel .room-carousel-track.room-transform-track>[data-carousel-item]{
  scroll-snap-align:none!important;
  scroll-snap-stop:normal!important;
}
.room-carousel .room-carousel-track.room-transform-track img{
  -webkit-user-drag:none;
  user-select:none;
}
@media(prefers-reduced-motion:reduce){
  .room-carousel .room-carousel-track.room-transform-track{transition:none!important;}
}
/* ======================================================================
   v3.82 — lighter site-wide typography.
   Editorial hierarchy comes from scale, spacing and color; typography stays
   predominantly regular-weight, with medium weight reserved for controls and
   compact labels that need functional emphasis.
   ====================================================================== */
body{
  font-weight:300!important;
}

/* Large editorial typography: regular rather than semibold/bold. */
h1,h2,h3,
#hero-title,
.chapter-heading h2,
.location-full-card h2,
.meetings-intro-wide h2,
.dining-copy-block h2,
.contact-copy h2,
.find-us h2,
.room-section-heading h2,
.dining-hyatt-heading h2,
.amenities-heading h2,
.hotel-information-heading h2,
.find-us-heading h2,
.contact-endcap-heading h2,
.room-detail-intro h1,
.room-detail-section-heading h2,
.room-detail-cta h2,
.dining-detail-intro h1,
.dining-detail-body h2,
.dining-detail-facts h2,
.dining-detail-cta h2{
  font-weight:300!important;
}

/* Brand remains distinct but no longer heavy. */
.brand-name,
.site-footer strong{
  font-weight:400!important;
}

/* Navigation, actions and compact UI use medium rather than bold weight. */
.site-nav,
.site-nav a,
.language-toggle,
.book-link,
.book-button,
.site-header .book-link.book-button,
.editorial-book-link,
.map-button,
.map-link,
.room-back-link,
.room-detail-cta-link,
.contact-call-link,
.find-us-map-link,
.dining-hyatt-link,
.carousel-buttons button{
  font-weight:400!important;
}

/* Secondary labels stay legible without reading as bold. */
.eyebrow,
.property-meta span,
.room-copy span,
.carousel-count,
.amenity-group-title,
.room-amenities-grid span,
.room-amenities-grid strong,
.stay-fact span,
.stay-fact strong,
.contact-method>strong,
.dining-fact-grid strong,
.room-detail-fact dt,
.dining-hyatt-hours strong,
.line-qr-label,
.dining-secondary figcaption strong,
.dining-secondary figcaption span{
  font-weight:400!important;
}

/* Paragraph emphasis should never become visibly heavy. */
p,
p strong,
p b{
  font-weight:300!important;
}


/* ======================================================================
   v3.84 — Gallery uses only non-room imagery not already featured elsewhere.
   A stable media frame prevents vertical layout shifts between mixed source
   aspect ratios on desktop, tablet, and phone.
   ====================================================================== */


/* ======================================================================
   v3.87 — further refined, lighter typography.
   Explicit weights are reduced one tier site-wide; loaded Thai families now
   include true 300/400 weights so light text renders as intended.
   ====================================================================== */


/* ======================================================================
   v3.88 — Gallery traversal repair + compact chevron controls.
   Gallery arrows use native smooth scrolling and match the 1 / 7 control
   language established by Rooms and Restaurants & Café.
   ====================================================================== */
.gallery-smith .carousel-nav-group{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
}
.gallery-smith .carousel-nav-group > button{
  width:52px!important;
  height:52px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  display:grid!important;
  place-items:center!important;
  color:var(--ink)!important;
  cursor:pointer;
  transition:background-color .18s ease,transform .18s ease!important;
}
.gallery-smith .carousel-nav-group > button svg{
  width:30px!important;
  height:30px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.15!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  transition:none!important;
}
.gallery-smith .carousel-nav-group > button:hover{background:rgba(0,0,0,.055)!important;}
.gallery-smith .carousel-nav-group > .gallery-nav-prev:hover{transform:translateX(-2px)!important;}
.gallery-smith .carousel-nav-group > .gallery-nav-next:hover{transform:translateX(2px)!important;}
.gallery-smith .carousel-nav-group > button svg:hover,
.gallery-smith .carousel-nav-group > button:focus-visible svg{transform:none!important;}
.gallery-smith .carousel-count{
  min-width:72px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  margin:0!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:400!important;
  letter-spacing:.01em!important;
}
@media(max-width:600px){
  .gallery-smith .carousel-nav-group{gap:10px!important;}
  .gallery-smith .carousel-nav-group > button{width:48px!important;height:48px!important;}
  .gallery-smith .carousel-nav-group > button svg{width:27px!important;height:27px!important;}
  .gallery-smith .carousel-count{min-width:64px!important;font-size:14px!important;}
}
@media(prefers-reduced-motion:reduce){
  .gallery-smith .carousel-nav-group > button{transition:none!important;}
}

/* ======================================================================
   v3.91 — contact information moved into the homepage footer
   ====================================================================== */
.site-footer.site-footer-contact{
  min-height:0!important;
  padding:clamp(34px,4vw,52px) var(--pad) 18px!important;
  display:block!important;
  background:#1c1b19!important;
  color:#f5f1e9!important;
}
.footer-contact-grid{
  width:min(1180px,100%);
  margin:0 auto clamp(28px,3vw,38px);
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(28px,4vw,64px);
}
.footer-contact-item{
  min-width:0;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  column-gap:14px;
  row-gap:7px;
  align-content:start;
}
.footer-contact-icon{
  grid-row:1 / span 2;
  width:24px;
  height:24px;
  margin-top:1px;
  fill:none;
  stroke:rgba(255,255,255,.72);
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.footer-contact-item>strong{
  font-family:var(--font-ui)!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.4!important;
  letter-spacing:.04em;
  color:rgba(255,255,255,.58)!important;
}
.footer-contact-values{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  font-family:var(--font-ui);
  font-size:15px;
  font-weight:300;
  line-height:1.5;
}
.footer-contact-values a,
.footer-line-copy a{
  max-width:100%;
  color:rgba(255,255,255,.9);
  border-bottom:1px solid rgba(255,255,255,.18);
  overflow-wrap:anywhere;
}
.footer-contact-values a:hover,
.footer-contact-values a:focus-visible,
.footer-line-copy a:hover,
.footer-line-copy a:focus-visible{
  color:#fff;
  border-bottom-color:rgba(255,255,255,.72);
}
.footer-line-lockup{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 64px;
  gap:14px;
  align-items:center;
  width:min(100%,230px);
}
.footer-line-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
  font-family:var(--font-ui);
  font-size:15px;
  font-weight:300;
  line-height:1.45;
}
.footer-line-copy span{
  color:rgba(255,255,255,.48);
  font-size:11px;
  line-height:1.4;
}
.footer-line-qr{
  width:64px;
  height:64px;
  display:block;
  object-fit:cover;
  padding:3px;
  background:#fff;
  border-radius:3px;
}
.site-footer.site-footer-contact small{
  width:min(1180px,100%);
  margin:0 auto!important;
  padding-top:16px!important;
  display:block!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
  color:rgba(255,255,255,.52)!important;
  text-align:left!important;
}
@media(max-width:980px) and (min-width:761px){
  .footer-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .site-footer.site-footer-contact{padding:32px 18px 16px!important;}
  .footer-contact-grid{grid-template-columns:1fr;gap:24px;margin-bottom:28px;}
  .footer-contact-item{grid-template-columns:26px minmax(0,1fr);column-gap:12px;}
  .footer-line-lockup{grid-template-columns:minmax(0,1fr) 58px;width:min(100%,220px);}
  .footer-line-qr{width:58px;height:58px;}
  .site-footer.site-footer-contact small{text-align:center!important;}
}

/* ======================================================================
   v3.93 — Park Hyatt Johannesburg-inspired neutral hospitality palette.
   Keeps the approved Jumbotel structure while shifting the visual system
   toward muted natural tones, crisp warm light surfaces, neutral charcoal,
   and restrained bronze accents.
   ====================================================================== */
:root{
  --paper:#faf9f6;
  --ink:#20201d;
  --muted:#69665f;
  --line:#d8d4cc;
  --soft:#f0ede7;
  --park-paper:#faf9f6;
  --park-paper-alt:#f0ede7;
  --park-paper-deep:#e7e3dc;
  --park-dark:#1b1b18;
  --park-dark-text:#f6f4ef;
  --park-dark-muted:#c9c5bc;
  --park-accent:#b59a70;
  --park-accent-soft:#d7c6a8;
}
body{background:var(--park-paper);color:var(--ink);}

/* Dark navigation: neutral charcoal rather than brown-black. */
.site-header,
.site-header.is-compact{
  background:var(--park-dark)!important;
  border-bottom-color:rgba(181,154,112,.17)!important;
}
.site-header .brand,
.site-header .brand-name,
.site-header .site-nav a,
.site-header .language-toggle,
.site-header .menu-toggle{
  color:var(--park-dark-text)!important;
}
.site-header .site-nav a::after,
.site-header .site-nav.is-open a::after{
  background:var(--park-accent)!important;
}
.site-header .menu-toggle span:not(.sr-only){background:var(--park-dark-text)!important;}
.site-header .book-link.book-button,
.site-header.is-compact .book-link.book-button{
  background:var(--park-accent)!important;
  border-color:var(--park-accent)!important;
  color:var(--park-dark)!important;
}
.site-header .book-link.book-button:hover,
.site-header .book-link.book-button:focus-visible{
  background:var(--park-accent-soft)!important;
  border-color:var(--park-accent-soft)!important;
  color:var(--park-dark)!important;
}
@media(max-width:1060px){
  .site-header .site-nav,
  .site-header .site-nav.is-open{
    background:var(--park-dark)!important;
    color:var(--park-dark-text)!important;
    border-bottom-color:rgba(181,154,112,.17)!important;
  }
}

/* Primary light chapters: warm ivory with quiet stone contrast. */
.editorial-intro,
.gallery-smith,
.amenities-section,
.hotel-information,
.find-us,
.room-detail-page,
.dining-detail-page{
  background:var(--park-paper)!important;
  color:var(--ink);
}
.meetings-chapter-soft{background:var(--park-paper-alt)!important;}
.location-full{background:var(--park-paper-deep)!important;}
.location-full-card{
  background:rgba(250,249,246,.985)!important;
  border-color:rgba(32,32,29,.12)!important;
}
.find-us-map{background:var(--park-paper-deep)!important;}

/* Rooms and Dining remain focal dark chapters, but with a Park Hyatt-like
   neutral black/ivory/bronze relationship rather than brown/gold. */
.rooms-smith{
  --rooms-bg:var(--park-dark);
  --rooms-ink:var(--park-dark-text);
  --rooms-muted:var(--park-dark-muted);
  --rooms-gold:var(--park-accent);
  --rooms-gold-soft:var(--park-accent-soft);
  background:var(--park-dark)!important;
  color:var(--park-dark-text)!important;
  border-top-color:rgba(181,154,112,.17)!important;
}
.rooms-smith .room-section-heading h2,
.rooms-smith .room-carousel-controls .carousel-enquire,
.rooms-smith .carousel-nav-group button{
  color:var(--park-accent-soft)!important;
}
.rooms-smith .room-section-intro{color:var(--park-dark-muted)!important;}
.rooms-smith .room-carousel::before{background:var(--park-dark)!important;}
.rooms-smith .room-carousel .room-copy span,
.rooms-smith .carousel-slash{color:var(--park-accent)!important;}
.rooms-smith .room-carousel .room-copy h3,
.rooms-smith .carousel-count{color:var(--park-dark-text)!important;}
.rooms-smith .room-carousel-controls .carousel-enquire:hover,
.rooms-smith .room-carousel-controls .carousel-enquire:focus-visible{color:#eee5d7!important;}

.dining-hyatt{
  --dining-bg:var(--park-dark);
  --dining-ink:var(--park-dark-text);
  --dining-muted:var(--park-dark-muted);
  --dining-gold:var(--park-accent);
  --dining-gold-soft:var(--park-accent-soft);
  --ink:var(--park-dark-text);
  --muted:var(--park-dark-muted);
  background:var(--park-dark)!important;
  color:var(--park-dark-text)!important;
}
.dining-hyatt-heading h2,
.dining-hyatt .dining-detail-link,
.dining-hyatt-nav{color:var(--park-accent-soft)!important;}
.dining-hyatt-slide-copy h3,
.dining-hyatt-hours strong,
.dining-hyatt-count{color:var(--park-dark-text)!important;}
.dining-hyatt-slide-copy>p:not(.dining-hyatt-hours),
.dining-hyatt-hours span{color:var(--park-dark-muted)!important;}
.dining-hyatt-count-separator{color:var(--park-accent)!important;}
.dining-hyatt .dining-detail-link:hover,
.dining-hyatt .dining-detail-link:focus-visible{color:#eee5d7!important;}
.dining-hyatt-nav:hover{background:rgba(181,154,112,.10)!important;}

/* Footer continues the same neutral dark surface as navigation/focal chapters. */
.site-footer,
.site-footer.site-footer-contact{
  background:var(--park-dark)!important;
  color:var(--park-dark-text)!important;
}
.footer-contact-icon{stroke:rgba(246,244,239,.70)!important;}
.footer-contact-item>strong{color:rgba(246,244,239,.56)!important;}
.footer-contact-values a,
.footer-line-copy a{color:rgba(246,244,239,.90)!important;}
.site-footer.site-footer-contact small{
  border-top-color:rgba(246,244,239,.10)!important;
  color:rgba(246,244,239,.50)!important;
}

/* Keep secondary UI elements quiet and tonal. */
.eyebrow{color:#59564f!important;border-bottom-color:rgba(32,32,29,.34)!important;}
.carousel-count{color:#56524c;}
.carousel-slash{color:#918a80;}
.carousel-buttons button{border-color:#c8c2b8;background:var(--park-paper);}
.carousel-buttons button:hover{background:var(--park-paper-alt);border-color:#b7b0a5;}

/* ======================================================================
   v3.95 — compact footer contacts; preserve email on one line
   ====================================================================== */
.footer-contact-grid{
  grid-template-columns:minmax(180px,.9fr) minmax(270px,1.35fr) minmax(150px,.72fr) minmax(120px,.58fr)!important;
  gap:clamp(24px,3vw,48px)!important;
}
.footer-contact-item:nth-child(2) .footer-contact-values a{
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
}
.footer-contact-compact{
  grid-template-columns:24px minmax(0,1fr)!important;
  column-gap:10px!important;
}
.footer-contact-compact .footer-contact-icon{
  width:21px;
  height:21px;
}
.footer-contact-compact .footer-contact-values,
.footer-contact-compact .footer-line-copy{
  font-size:14px;
  line-height:1.35;
}
.footer-contact-compact .footer-contact-values a,
.footer-contact-compact .footer-line-copy a{
  white-space:nowrap;
}
.footer-contact-compact .footer-line-lockup{
  grid-template-columns:auto 46px;
  gap:10px;
  width:auto;
  max-width:180px;
}
.footer-contact-compact .footer-line-qr{
  width:46px;
  height:46px;
  padding:2px;
}
@media(max-width:1100px) and (min-width:761px){
  .footer-contact-grid{
    grid-template-columns:minmax(0,1fr) minmax(290px,1.15fr)!important;
  }
}
@media(max-width:760px){
  .footer-contact-grid{grid-template-columns:1fr!important;}
  .footer-contact-item:nth-child(2) .footer-contact-values a{
    font-size:clamp(13px,4vw,15px);
  }
  .footer-contact-compact .footer-line-lockup{
    grid-template-columns:auto 44px;
    max-width:176px;
  }
  .footer-contact-compact .footer-line-qr{width:44px;height:44px;}
}


/* ======================================================================
   v3.96 — footer address + consolidated social column
   ====================================================================== */
.footer-address-row{
  width:min(1180px,100%);
  margin:0 auto clamp(28px,3vw,38px);
  padding-bottom:clamp(22px,2.5vw,30px);
  border-bottom:1px solid rgba(246,244,239,.10);
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  column-gap:14px;
  align-items:start;
}
.footer-address-row .footer-contact-icon{grid-row:auto;margin-top:2px;}
.footer-address-row strong{
  display:block;
  font-family:var(--font-ui)!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.4!important;
  letter-spacing:.04em;
  color:rgba(246,244,239,.56)!important;
}
.site-footer.site-footer-contact .footer-address{
  display:block!important;
  margin:6px 0 0!important;
  max-width:880px!important;
  color:rgba(246,244,239,.90)!important;
  font-family:var(--font-ui)!important;
  font-size:15px!important;
  font-weight:300!important;
  line-height:1.55!important;
}
.footer-contact-grid{
  grid-template-columns:minmax(175px,.8fr) minmax(300px,1.35fr) minmax(220px,1fr)!important;
  gap:clamp(28px,4vw,64px)!important;
}
.footer-social-lockup{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 46px;
  gap:12px;
  align-items:center;
  max-width:250px;
}
.footer-social-links{gap:5px!important;font-size:14px!important;line-height:1.35!important;}
.footer-social-links a{white-space:nowrap;}
@media(max-width:980px) and (min-width:761px){
  .footer-contact-grid{grid-template-columns:minmax(0,.85fr) minmax(290px,1.3fr) minmax(190px,.9fr)!important;gap:28px!important;}
}
@media(max-width:760px){
  .footer-address-row{grid-template-columns:26px minmax(0,1fr);column-gap:12px;margin-bottom:24px;padding-bottom:22px;}
  .site-footer.site-footer-contact .footer-address{font-size:14px!important;}
  .footer-contact-grid{grid-template-columns:1fr!important;}
  .footer-social-lockup{grid-template-columns:minmax(0,1fr) 44px;max-width:230px;}
}

/* ======================================================================
   v3.97 — compact four-column footer; no LINE QR
   ====================================================================== */
.site-footer.site-footer-contact{
  padding:clamp(24px,2.8vw,34px) var(--pad) 0!important;
}
.footer-address-row{display:none!important;}
.footer-contact-grid{
  width:min(1240px,100%);
  margin:0 auto!important;
  grid-template-columns:minmax(260px,1.35fr) minmax(150px,.7fr) minmax(285px,1.25fr) minmax(155px,.7fr)!important;
  gap:clamp(22px,3vw,44px)!important;
  align-items:start;
}
.footer-contact-item{
  grid-template-columns:22px minmax(0,1fr)!important;
  column-gap:10px!important;
  row-gap:4px!important;
}
.footer-contact-icon{
  width:20px!important;
  height:20px!important;
  margin-top:0!important;
}
.footer-contact-item>strong{
  font-size:12px!important;
  line-height:1.3!important;
}
.footer-contact-values,
.site-footer.site-footer-contact .footer-address{
  font-size:14px!important;
  line-height:1.4!important;
}
.site-footer.site-footer-contact .footer-address{
  margin:0!important;
  max-width:none!important;
  font-style:normal;
  color:rgba(246,244,239,.90)!important;
}
.footer-email-item .footer-contact-values a{
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
}
.footer-social-links{
  flex-direction:column!important;
  flex-wrap:nowrap!important;
  align-items:flex-start;
  gap:4px!important;
}
.footer-social-links a{white-space:nowrap;}
.footer-social-lockup,.footer-line-qr{display:none!important;}
.site-footer.site-footer-contact small{
  width:min(1240px,100%);
  margin:clamp(18px,2vw,24px) auto 0!important;
  padding:12px 0 13px!important;
  min-height:0!important;
  line-height:1.35!important;
}
@media(max-width:1050px) and (min-width:761px){
  .footer-contact-grid{
    grid-template-columns:minmax(260px,1.2fr) minmax(150px,.7fr) minmax(285px,1.25fr)!important;
  }
  .footer-social-item{grid-column:2 / 4;}
}
@media(max-width:760px){
  .site-footer.site-footer-contact{padding:24px var(--pad) 0!important;}
  .footer-contact-grid{grid-template-columns:1fr!important;gap:18px!important;}
  .footer-social-item{grid-column:auto;}
  .footer-social-links{gap:4px!important;}
  .footer-email-item .footer-contact-values a{font-size:clamp(12.5px,3.8vw,14px)!important;}
  .site-footer.site-footer-contact small{margin-top:20px!important;padding:11px 0 12px!important;}
}

/* ======================================================================
   v3.99 — Hyatt-inspired Find Us: map first, attached dark information panel
   ====================================================================== */
.find-us{
  max-width:1280px!important;
  padding-bottom:clamp(96px,8vw,124px)!important;
}
.find-us-heading{
  margin-bottom:clamp(30px,3vw,42px)!important;
}
.find-us-stack{
  width:100%;
  margin:0;
}
.find-us-map{
  height:clamp(440px,39vw,540px)!important;
  margin:0!important;
  border-radius:0!important;
}
.find-us-panel{
  margin:0;
  padding:clamp(34px,3.5vw,48px) clamp(30px,4.2vw,58px) clamp(38px,4vw,54px);
  background:var(--park-dark);
  color:var(--park-dark-text);
}
.find-us-panel .find-us-facts{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(28px,3vw,46px)!important;
  margin:0!important;
  align-items:start!important;
}
.find-us-panel .find-us-fact{
  min-height:0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:9px!important;
  text-align:left!important;
}
.find-us-panel .find-us-icon{
  width:30px!important;
  height:30px!important;
  margin:0 0 7px!important;
  color:var(--park-accent-soft)!important;
  stroke-width:1.55!important;
}
.find-us-panel .find-us-fact strong{
  color:var(--park-dark-text)!important;
  font-size:14px!important;
  font-weight:400!important;
  letter-spacing:.02em!important;
}
.find-us-panel .find-us-fact address,
.find-us-panel .find-us-fact>span{
  max-width:none!important;
  margin:0!important;
  color:var(--park-dark-muted)!important;
  font-size:14px!important;
  font-weight:300!important;
  line-height:1.62!important;
  text-align:left!important;
}
.find-us-panel .find-us-map-link{
  margin:0!important;
  color:var(--park-accent-soft)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.5!important;
  border-bottom-color:rgba(215,198,168,.50)!important;
}
.find-us-panel .find-us-map-link:hover,
.find-us-panel .find-us-map-link:focus-visible{
  color:#eee5d7!important;
  border-bottom-color:currentColor!important;
}
html[lang="th"] .find-us-panel .find-us-fact strong{
  font-size:15px!important;
  line-height:1.5!important;
}
html[lang="th"] .find-us-panel .find-us-fact address,
html[lang="th"] .find-us-panel .find-us-fact>span,
html[lang="th"] .find-us-panel .find-us-map-link{
  font-size:15px!important;
  line-height:1.68!important;
}
@media(max-width:980px){
  .find-us-panel{
    padding:38px clamp(26px,4vw,40px) 42px;
  }
  .find-us-panel .find-us-facts{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:34px 42px!important;
  }
}
@media(max-width:760px){
  .find-us{padding-bottom:88px!important;}
  .find-us-heading{margin-bottom:28px!important;}
  .find-us-map{height:390px!important;}
  .find-us-panel{padding:30px 24px 34px;}
  .find-us-panel .find-us-facts{
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  .find-us-panel .find-us-fact{
    padding:22px 0!important;
    border-top:1px solid rgba(246,244,239,.12);
  }
  .find-us-panel .find-us-fact:first-child{
    padding-top:0!important;
    border-top:0;
  }
  .find-us-panel .find-us-fact:last-child{padding-bottom:0!important;}
  .find-us-panel .find-us-icon{width:28px!important;height:28px!important;margin-bottom:5px!important;}
}


/* ======================================================================
   v4.02 — compact Amenities + Hotel Information
   Hyatt-inspired density: preserve the established iconography/copy while
   reducing vertical real estate and using the site's muted bronze accent.
   ====================================================================== */
.amenities-section{
  padding-top:clamp(72px,6vw,92px)!important;
  padding-bottom:clamp(76px,6.4vw,98px)!important;
}
.amenities-heading{
  margin-bottom:clamp(34px,3vw,44px)!important;
}
.amenity-group+.amenity-group{
  margin-top:clamp(50px,4vw,64px)!important;
}
.amenity-group-head{
  margin-bottom:clamp(20px,1.8vw,28px)!important;
}
.amenities-grid,
.room-amenities-grid{
  gap:0 clamp(22px,2.4vw,36px)!important;
}
.amenities-grid li,
.room-amenities-grid li,
.amenities-grid-primary .amenity-detailed,
.room-amenities-grid .room-amenity-detailed{
  min-height:118px!important;
  padding:14px 8px 18px!important;
  gap:10px!important;
}
.amenities-section .amenity-icon{
  width:30px!important;
  height:30px!important;
  color:var(--park-accent)!important;
}
.amenities-grid small,
.room-amenities-grid small{
  margin-top:3px!important;
}

.hotel-information{
  padding-top:clamp(66px,5.5vw,84px)!important;
  padding-bottom:clamp(72px,6vw,92px)!important;
}
.hotel-information-heading{
  margin-bottom:clamp(30px,2.7vw,40px)!important;
}
.hotel-information-facts{
  gap:0 clamp(22px,2.4vw,36px)!important;
}
.hotel-information-facts .hotel-info-fact,
.hotel-information-facts .hotel-info-fact + .hotel-info-fact{
  min-height:108px!important;
  padding:12px 6px 16px!important;
  gap:8px!important;
}
.hotel-information-facts .hotel-info-fact .line-icon{
  width:30px!important;
  height:30px!important;
  margin-bottom:1px!important;
  color:var(--park-accent)!important;
}

@media(max-width:760px){
  .amenities-section{
    padding-top:62px!important;
    padding-bottom:70px!important;
  }
  .amenities-heading{margin-bottom:28px!important;}
  .amenity-group+.amenity-group{margin-top:42px!important;}
  .amenity-group-head{margin-bottom:16px!important;}
  .amenities-grid,
  .room-amenities-grid{column-gap:18px!important;}
  .amenities-grid li,
  .room-amenities-grid li,
  .amenities-grid-primary .amenity-detailed,
  .room-amenities-grid .room-amenity-detailed{
    min-height:112px!important;
    padding:13px 3px 16px!important;
    gap:9px!important;
  }
  .amenities-section .amenity-icon{
    width:28px!important;
    height:28px!important;
  }

  .hotel-information{
    padding-top:58px!important;
    padding-bottom:66px!important;
  }
  .hotel-information-heading{margin-bottom:26px!important;}
  .hotel-information-facts{gap:14px!important;}
  .hotel-information-facts .hotel-info-fact,
  .hotel-information-facts .hotel-info-fact + .hotel-info-fact{
    min-height:104px!important;
    padding:10px 2px 13px!important;
    gap:7px!important;
  }
  .hotel-information-facts .hotel-info-fact .line-icon{
    width:27px!important;
    height:27px!important;
  }
}

/* ======================================================================
   v4.03 — denser Amenities + Hotel Information
   Keep all copy/icons intact while reducing vertical footprint.
   ====================================================================== */
.amenities-section{
  padding-top:clamp(52px,4.6vw,70px)!important;
  padding-bottom:clamp(56px,4.8vw,74px)!important;
}
.amenities-heading{
  margin-bottom:clamp(22px,2vw,30px)!important;
}
.amenity-group+.amenity-group{
  margin-top:clamp(30px,2.5vw,40px)!important;
}
.amenity-group-head{
  margin-bottom:10px!important;
}
.amenity-group-title{
  font-size:clamp(16px,1.3vw,18px)!important;
  font-weight:400!important;
  line-height:1.25!important;
  color:var(--muted)!important;
}
.amenities-grid,
.room-amenities-grid{
  gap:0 clamp(16px,1.8vw,26px)!important;
}
@media (min-width:1081px){
  .amenities-grid-primary{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
  .amenities-grid-primary>li:nth-child(13),
  .amenities-grid-primary>li:nth-child(14){
    grid-column:auto!important;
  }
  .room-amenities-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}
.amenities-grid li,
.room-amenities-grid li,
.amenities-grid-primary .amenity-detailed,
.room-amenities-grid .room-amenity-detailed{
  min-height:94px!important;
  padding:9px 4px 12px!important;
  gap:6px!important;
}
.amenities-section .amenity-icon{
  width:26px!important;
  height:26px!important;
}
.amenities-grid strong,
.room-amenities-grid strong{
  font-size:15px!important;
  line-height:1.3!important;
}
.amenities-grid small,
.room-amenities-grid small{
  margin-top:2px!important;
  font-size:12.5px!important;
  line-height:1.36!important;
}
html[lang="th"] .amenities-grid strong,
html[lang="th"] .room-amenities-grid strong{
  font-size:15.5px!important;
  line-height:1.4!important;
}
html[lang="th"] .amenities-grid small,
html[lang="th"] .room-amenities-grid small{
  font-size:13px!important;
  line-height:1.42!important;
  margin-top:2px!important;
}

.hotel-information{
  padding-top:clamp(48px,4vw,62px)!important;
  padding-bottom:clamp(50px,4.2vw,66px)!important;
}
.hotel-information-heading{
  margin-bottom:clamp(18px,1.6vw,24px)!important;
}
.hotel-information-facts{
  gap:0 clamp(18px,2vw,28px)!important;
}
.hotel-information-facts .hotel-info-fact,
.hotel-information-facts .hotel-info-fact + .hotel-info-fact{
  min-height:72px!important;
  padding:8px 4px!important;
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:9px!important;
  row-gap:1px!important;
  align-content:center!important;
  align-items:center!important;
}
.hotel-information-facts .hotel-info-fact .line-icon{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  width:23px!important;
  height:23px!important;
  margin:0!important;
}
.hotel-information-facts .hotel-info-fact span{
  grid-column:2!important;
  grid-row:1!important;
  font-size:12.5px!important;
  line-height:1.2!important;
}
.hotel-information-facts .hotel-info-fact strong{
  grid-column:2!important;
  grid-row:2!important;
  font-size:clamp(18px,1.7vw,23px)!important;
  line-height:1.15!important;
}
html[lang="th"] .hotel-information-facts .hotel-info-fact span{
  font-size:13px!important;
}

@media(max-width:760px){
  .amenities-section{
    padding-top:48px!important;
    padding-bottom:54px!important;
  }
  .amenities-heading{margin-bottom:20px!important;}
  .amenity-group+.amenity-group{margin-top:28px!important;}
  .amenity-group-head{margin-bottom:8px!important;}
  .amenity-group-title{font-size:16px!important;}
  .amenities-grid,
  .room-amenities-grid{column-gap:14px!important;}
  .amenities-grid li,
  .room-amenities-grid li,
  .amenities-grid-primary .amenity-detailed,
  .room-amenities-grid .room-amenity-detailed{
    min-height:96px!important;
    padding:9px 2px 11px!important;
    gap:5px!important;
  }
  .amenities-section .amenity-icon{
    width:25px!important;
    height:25px!important;
  }

  .hotel-information{
    padding-top:44px!important;
    padding-bottom:48px!important;
  }
  .hotel-information-heading{margin-bottom:18px!important;}
  .hotel-information-facts{gap:10px!important;}
  .hotel-information-facts .hotel-info-fact,
  .hotel-information-facts .hotel-info-fact + .hotel-info-fact{
    min-height:68px!important;
    padding:6px 2px!important;
    grid-template-columns:21px minmax(0,1fr)!important;
    column-gap:7px!important;
    row-gap:1px!important;
  }
  .hotel-information-facts .hotel-info-fact .line-icon{
    width:20px!important;
    height:20px!important;
  }
  .hotel-information-facts .hotel-info-fact span{
    font-size:11.5px!important;
  }
  html[lang="th"] .hotel-information-facts .hotel-info-fact span{
    font-size:12px!important;
  }
  .hotel-information-facts .hotel-info-fact strong{
    font-size:clamp(15.5px,4vw,19px)!important;
  }
}

/* ======================================================================
   v4.04 — tighter homepage section rhythm
   Reduce vertical whitespace between major homepage chapters while keeping
   each section's internal hierarchy, imagery, and approved layouts intact.
   ====================================================================== */
.hero-smith{
  padding-bottom:clamp(64px,6vw,92px)!important;
}
.editorial-intro{
  padding-top:clamp(58px,5vw,76px)!important;
  padding-bottom:clamp(68px,6vw,90px)!important;
}
.rooms-smith{
  padding-top:clamp(52px,5vh,68px)!important;
  padding-bottom:clamp(60px,5.5vh,78px)!important;
}
.dining-hyatt{
  padding-top:clamp(58px,6svh,82px)!important;
  padding-bottom:clamp(64px,6.5svh,92px)!important;
}
.meetings-chapter-soft{
  padding-top:clamp(64px,5.5vw,86px)!important;
  padding-bottom:clamp(70px,6vw,94px)!important;
}
.amenities-section{
  padding-top:clamp(44px,3.8vw,58px)!important;
  padding-bottom:clamp(46px,4vw,62px)!important;
}
.hotel-information{
  padding-top:clamp(40px,3.4vw,52px)!important;
  padding-bottom:clamp(42px,3.6vw,56px)!important;
}
.find-us{
  padding-top:clamp(58px,5vw,80px)!important;
  padding-bottom:clamp(64px,5.5vw,88px)!important;
}
.gallery-smith{
  padding-top:clamp(60px,5.2vw,82px)!important;
  padding-bottom:clamp(68px,5.8vw,92px)!important;
}
.gallery-smith .before-image{
  margin-bottom:clamp(28px,3vw,40px)!important;
}

@media(max-width:760px){
  .hero-smith{padding-bottom:54px!important;}
  .editorial-intro{padding-top:52px!important;padding-bottom:60px!important;}
  .rooms-smith{padding-top:54px!important;padding-bottom:66px!important;}
  .dining-hyatt{padding-top:54px!important;padding-bottom:66px!important;}
  .meetings-chapter-soft{padding-top:56px!important;padding-bottom:64px!important;}
  .amenities-section{padding-top:42px!important;padding-bottom:46px!important;}
  .hotel-information{padding-top:38px!important;padding-bottom:42px!important;}
  .find-us{padding-top:56px!important;padding-bottom:64px!important;}
  .gallery-smith{padding-top:56px!important;padding-bottom:64px!important;}
  .gallery-smith .before-image{margin-bottom:26px!important;}
}

/* ======================================================================
   v4.05 — Find Us full-bleed stone-grey parent background
   Keep the Hyatt-inspired map + attached dark information panel, while
   placing the entire chapter on one calm solid grey field.
   ====================================================================== */
.find-us{
  background:var(--park-paper-deep)!important;
  box-shadow:0 0 0 100vmax var(--park-paper-deep)!important;
  clip-path:inset(0 -100vmax)!important;
}

/* ======================================================================
   v4.06 — Hyatt-style Meetings chapter
   One strong image, editorial copy directly below, then a simple text link.
   ====================================================================== */
.meetings-hyatt{
  width:100%;
  background:var(--park-paper-alt);
  padding:clamp(58px,5vw,78px) 0 clamp(64px,5.5vw,86px);
}
.meetings-hyatt-inner{
  width:min(1180px,100%);
  margin:0 auto;
  padding:0 var(--pad);
}
.meetings-hyatt h2{
  margin:0 0 clamp(28px,3vw,40px);
  font-family:Georgia,serif;
  font-size:var(--section);
  font-weight:300;
  line-height:1.06;
}
.meetings-hyatt-media{
  width:100%;
  margin:0;
  overflow:hidden;
  background:var(--park-paper-deep);
}
.meetings-hyatt-media img{
  width:100%;
  aspect-ratio:16 / 9;
  object-fit:cover;
  object-position:center;
}
.meetings-hyatt-copy{
  max-width:760px;
  padding-top:clamp(24px,2.5vw,34px);
}
.meetings-hyatt-copy .lead-copy{
  margin:0 0 12px;
  font-family:Georgia,serif;
  font-size:clamp(21px,1.8vw,27px);
  font-weight:300;
  line-height:1.48;
}
.meetings-hyatt-copy .support-copy{
  max-width:700px;
  margin:0;
  color:var(--muted);
  font-size:15px;
  font-weight:300;
  line-height:1.65;
}
.meetings-hyatt-copy .section-link{
  display:inline-block;
  margin-top:18px;
  font-size:14px;
  font-weight:400;
}
html[lang="th"] .meetings-hyatt h2{
  font-family:"Noto Serif Thai","Leelawadee UI",Tahoma,sans-serif;
  line-height:1.24;
}
html[lang="th"] .meetings-hyatt-copy .lead-copy{
  font-family:"Noto Serif Thai","Leelawadee UI",Tahoma,sans-serif;
  line-height:1.62;
}
html[lang="th"] .meetings-hyatt-copy .support-copy{
  font-size:15.5px;
  line-height:1.74;
}
@media(max-width:760px){
  .meetings-hyatt{padding:54px 0 62px;}
  .meetings-hyatt-inner{padding:0 18px;}
  .meetings-hyatt h2{margin-bottom:24px;}
  .meetings-hyatt-media img{aspect-ratio:4 / 3;}
  .meetings-hyatt-copy{padding-top:22px;}
  .meetings-hyatt-copy .lead-copy{font-size:21px;}
  .meetings-hyatt-copy .support-copy{font-size:14.5px;}
  html[lang="th"] .meetings-hyatt-copy .support-copy{font-size:15px;}
}

/* ======================================================================
   v4.07 — Lighter Find Us field + stable landscape Meetings media
   ====================================================================== */
.find-us{
  background:var(--park-paper-alt)!important;
  box-shadow:0 0 0 100vmax var(--park-paper-alt)!important;
}

.meetings-hyatt-media{
  aspect-ratio:16 / 9;
}
.meetings-hyatt-media picture{
  display:block;
  width:100%;
  height:100%;
}
.meetings-hyatt-media img{
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center;
}

@media(max-width:760px){
  .meetings-hyatt-media{
    aspect-ratio:16 / 9;
  }
  .meetings-hyatt-media img{
    aspect-ratio:auto;
  }
}

/* ======================================================================
   v4.08 — fixed-copy Dining carousel
   Venue copy remains stationary. Only photographs travel horizontally.
   Desktop resting geometry: previous peek | gap | fixed copy | gap |
   active image | next peek. The rail remains bounded (no resting wrap peek),
   and navigation transitions use the established 850 ms duration.
   ====================================================================== */
.dining-hyatt{
  --dining-slide-width:calc(100vw - clamp(230px,15vw,320px));
  --dining-content-left:calc((100vw - var(--dining-slide-width))/2);
  --dining-copy-width:clamp(280px,26vw,410px);
  --dining-main-gap:clamp(34px,4.4vw,76px);
  --dining-preview-gap:clamp(56px,5.5vw,96px);
  --dining-image-width:calc(var(--dining-slide-width) - var(--dining-copy-width) - var(--dining-main-gap));
  --dining-active-x:calc(var(--dining-content-left) + var(--dining-copy-width) + var(--dining-main-gap));
  --dining-prev-x:calc(var(--dining-content-left) - var(--dining-preview-gap) - var(--dining-image-width));
  --dining-next-x:calc(var(--dining-active-x) + var(--dining-image-width) + var(--dining-preview-gap));
  --dining-hidden-left-x:calc(var(--dining-prev-x) - var(--dining-image-width) - var(--dining-preview-gap));
  --dining-hidden-right-x:calc(var(--dining-next-x) + var(--dining-image-width) + var(--dining-preview-gap));
}
.dining-hyatt-stage{
  position:relative;
  width:100%;
  height:clamp(360px,46svh,540px);
}
.dining-hyatt-fixed-copy{
  position:absolute;
  z-index:2;
  top:0;
  left:var(--dining-content-left);
  width:var(--dining-copy-width);
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-width:0;
  padding:clamp(10px,1.3vw,20px) 0;
}
.dining-hyatt-fixed-copy h3{
  margin:0 0 18px;
  font-family:var(--font-ui);
  font-size:clamp(29px,2.65vw,40px);
  font-weight:400;
  line-height:1.13;
  letter-spacing:-.022em;
  color:var(--dining-ink);
}
.dining-hyatt-fixed-copy>p:not(.dining-hyatt-hours){
  margin:0;
  max-width:420px;
  font-size:clamp(16px,1.25vw,19px);
  font-weight:200!important;
  line-height:1.72;
  color:var(--dining-muted);
}
html[lang="th"] .dining-hyatt-fixed-copy>p:not(.dining-hyatt-hours){line-height:1.82;}
.dining-hyatt-fixed-copy .dining-detail-link{
  display:inline-flex;
  margin-top:20px;
  font-size:15px;
  color:var(--dining-gold-soft);
}
.dining-hyatt-fixed-copy .dining-detail-link[hidden],
.dining-hyatt-fixed-copy .dining-hyatt-hours[hidden]{display:none!important;}
.dining-hyatt-media-viewport{
  position:absolute;
  z-index:1;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
}
.dining-hyatt-track{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  margin:0!important;
  gap:0!important;
  overflow:visible!important;
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
  overscroll-behavior:auto!important;
  touch-action:pan-y;
}
.dining-hyatt-slide,
.dining-hyatt-slide.is-current{
  position:absolute!important;
  top:0;
  left:0;
  display:block!important;
  width:var(--dining-image-width)!important;
  height:100%;
  min-width:0;
  margin:0;
  padding:0;
  flex:none!important;
  scroll-snap-align:none!important;
  transform:translate3d(var(--dining-hidden-right-x),0,0);
  transition:transform 850ms cubic-bezier(.22,.61,.36,1);
  will-change:transform;
  z-index:1;
}
.dining-hyatt-slide.is-slot-hidden-left{transform:translate3d(var(--dining-hidden-left-x),0,0);}
.dining-hyatt-slide.is-slot-prev{transform:translate3d(var(--dining-prev-x),0,0);}
.dining-hyatt-slide.is-slot-active{transform:translate3d(var(--dining-active-x),0,0);}
.dining-hyatt-slide.is-slot-next{transform:translate3d(var(--dining-next-x),0,0);}
.dining-hyatt-slide.is-slot-hidden-right{transform:translate3d(var(--dining-hidden-right-x),0,0);}
.dining-hyatt-track.is-positioning .dining-hyatt-slide{transition:none!important;}
/* A travelling photograph is allowed to cross above the stationary copy
   during motion; once settled, all media returns behind the text plane. */
.dining-hyatt-track.is-animating .dining-hyatt-slide{z-index:3;}
.dining-hyatt-slide figure,
.dining-hyatt-slide.is-current figure{
  width:100%!important;
  height:100%!important;
  margin:0;
  overflow:hidden;
  background:#ddd;
}
.dining-hyatt-slide figure>.responsive-picture,
.dining-hyatt-slide figure picture,
.dining-hyatt-slide figure img{
  display:block;
  width:100%;
  height:100%;
}
.dining-hyatt-slide figure img{object-fit:cover;}
.dining-hyatt-slide:not(.is-current) figure{opacity:.96;}
.dining-hyatt-track:focus-visible{
  outline:1px solid var(--dining-gold-soft);
  outline-offset:-2px;
}

@media(prefers-reduced-motion:reduce){
  .dining-hyatt-slide,
  .dining-hyatt-slide.is-current{transition:none!important;}
}

/* Tablet/phone keep the approved one-venue presentation with a slightly
   wider 3:2 landscape frame, then the stationary copy below it. */
@media(max-width:1024px){
  .dining-hyatt{
    --dining-slide-width:calc(100vw - 64px);
    --dining-copy-width:var(--dining-slide-width);
    --dining-image-width:var(--dining-slide-width);
    --dining-active-x:0px;
    --dining-prev-x:calc(0px - var(--dining-image-width) - 24px);
    --dining-next-x:calc(var(--dining-image-width) + 24px);
    --dining-hidden-left-x:calc(0px - var(--dining-image-width) - var(--dining-image-width) - 48px);
    --dining-hidden-right-x:calc(var(--dining-image-width) + var(--dining-image-width) + 48px);
  }
  .dining-hyatt-stage{
    height:auto;
    display:flex;
    flex-direction:column;
  }
  .dining-hyatt-media-viewport{
    position:relative;
    order:1;
    inset:auto;
    width:var(--dining-slide-width);
    height:auto;
    aspect-ratio:16 / 9;
    margin:0 auto;
  }
  .dining-hyatt-fixed-copy{
    position:relative;
    order:2;
    top:auto;
    left:auto;
    width:var(--dining-slide-width);
    height:auto;
    min-height:220px;
    margin:0 auto;
    padding:22px 0 0;
    justify-content:flex-start;
  }
  .dining-hyatt-fixed-copy h3{font-size:clamp(28px,4.2vw,36px);margin-bottom:12px;}
  .dining-hyatt-fixed-copy>p:not(.dining-hyatt-hours){max-width:680px;font-size:15.5px;}
  .dining-hyatt-slide,
  .dining-hyatt-slide.is-current{width:var(--dining-image-width)!important;height:100%;}
  .dining-hyatt-slide figure,
  .dining-hyatt-slide figure>.responsive-picture,
  .dining-hyatt-slide figure picture,
  .dining-hyatt-slide figure img{
    width:100%!important;
    height:100%!important;
    aspect-ratio:16 / 9;
  }
}

@media(max-width:600px){
  .dining-hyatt{
    --dining-slide-width:calc(100vw - 36px);
    --dining-copy-width:var(--dining-slide-width);
    --dining-image-width:var(--dining-slide-width);
    --dining-prev-x:calc(0px - var(--dining-image-width) - 18px);
    --dining-next-x:calc(var(--dining-image-width) + 18px);
    --dining-hidden-left-x:calc(0px - var(--dining-image-width) - var(--dining-image-width) - 36px);
    --dining-hidden-right-x:calc(var(--dining-image-width) + var(--dining-image-width) + 36px);
  }
  .dining-hyatt-fixed-copy{min-height:220px;padding-top:18px;}
  .dining-hyatt-fixed-copy h3{font-size:clamp(26px,7.6vw,32px);}
  .dining-hyatt-fixed-copy>p:not(.dining-hyatt-hours){font-size:15px;line-height:1.7;}
  html[lang="th"] .dining-hyatt-fixed-copy>p:not(.dining-hyatt-hours){line-height:1.78;}
}

/* ======================================================================
   v4.09 — Dining photo layering + explicit directional end wraps.
   The media plane rises above the fixed copy only while photographs are
   travelling. After the 850 ms motion it drops behind the copy again.
   ====================================================================== */
.dining-hyatt-carousel.is-dining-animating .dining-hyatt-media-viewport{
  z-index:4;
}
.dining-hyatt-carousel:not(.is-dining-animating) .dining-hyatt-media-viewport{
  z-index:1;
}


/* ======================================================================
   v4.17 — Hyatt-style consolidated hotel introduction
   One image + one editorial text column; remove the duplicated metadata/
   second intro treatment while preserving all established hotel facts.
   ====================================================================== */
.hero-smith{
  padding-bottom:0!important;
}
.hotel-intro-hyatt{
  width:100%;
  background:var(--park-paper);
  padding:clamp(58px,5.5vw,84px) 0 clamp(66px,6vw,92px);
}
.hotel-intro-hyatt-inner{
  width:min(1360px,100%);
  margin:0 auto;
  padding:0 clamp(17px,2vw,32px);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(42px,5vw,72px);
  align-items:stretch;
}
.hotel-intro-hyatt-media{
  position:relative;
  min-height:594px;
  width:100%;
  max-width:none;
  justify-self:stretch;
  margin:0;
  overflow:hidden;
  background:var(--park-paper-deep);
}
.hotel-intro-hyatt-media picture{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
}
.hotel-intro-hyatt-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 58%;
}
.hotel-intro-hyatt-copy{
  max-width:none;
  align-self:center;
}
.hotel-intro-hyatt-copy h1{
  margin:0 0 clamp(24px,2.5vw,34px);
  color:var(--park-heading-gold-light);
  font-family:Georgia,serif;
  font-size:clamp(38px,4.2vw,58px);
  font-weight:300;
  letter-spacing:-.025em;
  line-height:1.04;
}
.hotel-intro-hyatt-copy p{
  margin:0;
  font-size:16px;
  font-weight:300;
  line-height:1.75;
  color:var(--ink);
}
.hotel-intro-hyatt-copy .hotel-intro-hyatt-lead{
  margin-bottom:16px;
  font-family:Georgia,serif;
  font-size:clamp(20px,1.7vw,25px);
  font-weight:300;
  line-height:1.55;
}
.hotel-intro-hyatt-copy .property-actions{
  margin-top:24px;
}
html[lang="th"] .hotel-intro-hyatt-copy h1,
html[lang="th"] .hotel-intro-hyatt-copy .hotel-intro-hyatt-lead{
  font-family:"Noto Serif Thai","Leelawadee UI",Tahoma,sans-serif;
}
html[lang="th"] .hotel-intro-hyatt-copy h1{
  line-height:1.24;
}
html[lang="th"] .hotel-intro-hyatt-copy p{
  line-height:1.82;
}
html[lang="th"] .hotel-intro-hyatt-copy .hotel-intro-hyatt-lead{
  line-height:1.68;
}
@media(max-width:1100px){
  .hotel-intro-hyatt{
    padding:48px 0 58px;
  }
  .hotel-intro-hyatt-inner{
    padding:0 20px;
    grid-template-columns:1fr;
    gap:30px;
  }
  .hotel-intro-hyatt-media{
    min-height:0;
    height:auto;
    max-height:none;
    max-width:none;
    justify-self:stretch;
    aspect-ratio:16 / 9;
  }
  .hotel-intro-hyatt-media picture{
    position:absolute;
    inset:0;
  }
  .hotel-intro-hyatt-media img{
    object-position:center 56%;
  }
  .hotel-intro-hyatt-copy{
    max-width:none;
  }
  .hotel-intro-hyatt-copy h1{
    margin-bottom:20px;
    font-size:clamp(36px,10vw,46px);
  }
  .hotel-intro-hyatt-copy p{
    font-size:15px;
  }
  .hotel-intro-hyatt-copy .hotel-intro-hyatt-lead{
    font-size:20px;
    margin-bottom:14px;
  }
  .hotel-intro-hyatt-copy .property-actions{
    margin-top:22px;
  }
}

/* ======================================================================
   v4.31 — Light/dark section-heading bronze hierarchy
   Light-surface headings use a deeper bronze for stronger contrast.
   Rooms and Dining retain the existing v4.28 bronze on dark surfaces.
   ====================================================================== */
:root{
  --park-heading-gold:#967b49;
  --park-heading-gold-light:#735e37;
}
#location-title,
#meetings-title,
#amenities-title,
#hotel-information-title,
#find-us-title,
#gallery-title{
  color:var(--park-heading-gold-light)!important;
}
#rooms-title,
#dining-title{
  color:var(--park-heading-gold)!important;
}

/* ======================================================================
   v4.32 — Hotel Information icon/text proximity
   Keep each icon visually attached to its own label/value group.
   ====================================================================== */
.hotel-information-facts .hotel-info-fact,
.hotel-information-facts .hotel-info-fact + .hotel-info-fact{
  grid-template-columns:23px minmax(0,1fr)!important;
  column-gap:4px!important;
}
@media(max-width:760px){
  .hotel-information-facts .hotel-info-fact,
  .hotel-information-facts .hotel-info-fact + .hotel-info-fact{
    grid-template-columns:20px minmax(0,1fr)!important;
    column-gap:4px!important;
  }
}

/* ======================================================================
   v4.34 — Remove selected inter-section divider lines
   Seamless transitions: Meetings → Amenities and Find Us → Gallery.
   ====================================================================== */
#amenities,
#gallery{
  border-top:0!important;
}

/* ======================================================================
   v4.36 — Meetings mirrors intro responsive two-column rhythm
   Copy left / image right at equal width; both this section and the hotel
   intro stack at the shared 1100px breakpoint.
   ====================================================================== */
.meetings-hyatt-inner{
  width:min(1360px,100%);
  margin:0 auto;
  padding:0 clamp(15px,1.82vw,29px);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(42px,5vw,72px);
  align-items:center;
}
.meetings-hyatt-copy{
  max-width:none;
  padding-top:0;
}
.meetings-hyatt-title{
  margin:0 auto clamp(34px,3.5vw,48px);
  text-align:center;
}
.meetings-hyatt-media{
  width:100%;
  margin:0;
  aspect-ratio:16 / 9;
}
.meetings-hyatt-media picture,
.meetings-hyatt-media img{
  width:100%;
  height:100%;
}
.meetings-hyatt-media img{
  display:block;
  object-fit:cover;
  object-position:center;
}
@media(max-width:1100px){
  .meetings-hyatt{
    padding:48px 0 58px;
  }
  .meetings-hyatt-inner{
    padding:0 18px;
    grid-template-columns:1fr;
    gap:30px;
  }
  .meetings-hyatt-copy{
    max-width:none;
  }
  .meetings-hyatt-title{
    margin-bottom:28px;
  }
  .meetings-hyatt-media{
    aspect-ratio:16 / 9;
  }
}

/* ======================================================================
   v4.44 — slightly smaller homepage section headings.
   Keeps existing light/dark background color hierarchy unchanged.
   ====================================================================== */
#location-title,
#meetings-title,
#amenities-title,
#hotel-information-title,
#find-us-title,
#gallery-title,
#rooms-title,
#dining-title{
  font-size:clamp(34px,3.15vw,46px)!important;
}
@media(max-width:760px){
  #location-title,
  #meetings-title,
  #amenities-title,
  #hotel-information-title,
  #find-us-title,
  #gallery-title,
  #rooms-title,
  #dining-title{
    font-size:clamp(28px,7.4vw,37px)!important;
  }
}

/* ======================================================================
   v4.76 — Hotel Information compact icon/text groups
   Shrink-wrap each fact so wide grid columns cannot push the icon away
   from its label/value, with a comfortable visual gap between them.
   ====================================================================== */
.hotel-information-facts .hotel-info-fact,
.hotel-information-facts .hotel-info-fact + .hotel-info-fact{
  width:max-content!important;
  max-width:100%!important;
  justify-self:center!important;
  grid-template-columns:auto auto!important;
  column-gap:10px!important;
  text-align:left!important;
}
.hotel-information-facts .hotel-info-fact .line-icon{
  justify-self:start!important;
  align-self:center!important;
}
.hotel-information-facts .hotel-info-fact span,
.hotel-information-facts .hotel-info-fact strong{
  justify-self:start!important;
  text-align:left!important;
  width:max-content!important;
  max-width:100%!important;
}
@media(max-width:760px){
  .hotel-information-facts .hotel-info-fact,
  .hotel-information-facts .hotel-info-fact + .hotel-info-fact{
    column-gap:8px!important;
  }
}

/* ======================================================================
   v4.51 — intro title matches homepage section-heading scale
   ====================================================================== */
.hotel-intro-hyatt-copy h1{
  font-size:clamp(34px,3.15vw,46px)!important;
}
@media(max-width:760px){
  .hotel-intro-hyatt-copy h1{
    font-size:clamp(28px,7.4vw,37px)!important;
  }
}


/* ======================================================================
   v4.54 — Location stacked editorial panel + landscape image
   White section parent; light warm-grey copy panel attached to hotel-08.
   ====================================================================== */
#location.location-full{
  display:flex!important;
  flex-direction:column!important;
  position:relative!important;
  width:min(1440px,100%)!important;
  min-height:0!important;
  margin:0 auto!important;
  overflow:hidden!important;
  background:#fff!important;
}
#location .location-full-card{
  order:1!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:clamp(42px,4vw,62px) clamp(24px,5vw,72px) clamp(30px,3vw,44px)!important;
  overflow:visible!important;
  background:#ECEAE6!important;
  border:0!important;
  box-shadow:none!important;
  text-align:left!important;
}
#location .location-full-card h2,
#location .location-full-card>p{
  text-align:left!important;
  margin-left:0!important;
  margin-right:0!important;
}
#location .location-full-card>p{
  max-width:880px!important;
  margin-bottom:0!important;
}
#location .location-full-media{
  order:2!important;
  position:static!important;
  inset:auto!important;
  width:100%!important;
  margin:0!important;
  overflow:hidden!important;
  background:#fff!important;
}
#location .location-full-media>.responsive-picture,
#location .location-full-media picture{
  display:block!important;
  width:100%!important;
}
#location .location-full-media img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:2 / 1!important;
  object-fit:cover!important;
  object-position:88% 50%!important;
}
@media(max-width:760px){
  #location .location-full-card{
    padding:34px 18px 26px!important;
  }
  #location .location-full-media img{
    aspect-ratio:2 / 1!important;
    object-position:82% 50%!important;
  }
}

/* ======================================================================
   v4.55 — Contained Location card
   Keep copy + hotel-08 flush as one unit, surrounded by white space.
   ====================================================================== */
#location.location-full{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(56px,5vw,78px) clamp(30px,5vw,72px)!important;
  overflow:visible!important;
  background:#fff!important;
}
#location .location-full-card,
#location .location-full-media{
  width:min(1060px,100%)!important;
  max-width:1060px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
#location .location-full-card{
  margin-bottom:0!important;
  border-radius:2px 2px 0 0!important;
}
#location .location-full-media{
  margin-top:0!important;
  border-radius:0 0 2px 2px!important;
}
@media(max-width:760px){
  #location.location-full{
    padding:42px 18px!important;
  }
}

/* ======================================================================
   v4.56 — Thai intro title font consistency
   The intro title follows the shared homepage section-heading font role.
   ====================================================================== */
html[lang="th"] .hotel-intro-hyatt-copy h1{
  font-family:var(--font-ui)!important;
}

/* ======================================================================
   v4.58 — slightly slimmer top navigation.
   Reduce header height while preserving existing control sizes/tap areas.
   ====================================================================== */
.site-header{
  --header-height:60px!important;
}
.site-header.is-compact{
  --header-height:50px!important;
}
section[id]{scroll-margin-top:64px!important;}

@media(max-width:1060px){
  .site-header{
    --header-height:56px!important;
  }
  .site-header.is-compact{
    --header-height:48px!important;
  }
}

@media(max-width:760px){
  .site-header{
    --header-height:52px!important;
  }
  .site-header.is-compact{
    --header-height:48px!important;
  }
  section[id]{scroll-margin-top:54px!important;}
}


/* ======================================================================
   v4.59 — scalable language selector in the top navigation.
   Desktop: compact current-language dropdown.
   <=1060px: language choices move inside the hamburger navigation.
   ====================================================================== */
.mobile-language-selector{display:none;}
.language-menu{position:relative;display:flex;align-items:center;}
.language-menu-toggle{
  min-width:42px;
  min-height:40px;
  padding:0 3px;
  border:0;
  background:transparent;
  color:var(--park-dark-text,#f4efe7);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  font:inherit;
  font-size:13px;
  font-weight:400;
  letter-spacing:.05em;
  cursor:pointer;
}
.language-menu-toggle::after{
  content:"";
  width:6px;
  height:6px;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:rotate(45deg) translate(-1px,-1px);
  transform-origin:center;
  transition:transform .18s ease;
  opacity:.8;
}
.language-menu.is-open .language-menu-toggle::after{
  transform:rotate(225deg) translate(-1px,-1px);
}
.language-menu-popover{
  display:none;
  position:absolute;
  top:calc(100% + 7px);
  right:0;
  min-width:132px;
  padding:6px;
  background:var(--park-dark,#242320);
  border:1px solid rgba(181,154,112,.28);
  box-shadow:0 12px 28px rgba(0,0,0,.2);
  z-index:220;
}
.language-menu.is-open .language-menu-popover{display:grid;gap:2px;}
.language-menu-popover button{
  width:100%;
  min-height:38px;
  padding:7px 10px;
  border:0;
  background:transparent;
  color:var(--park-dark-text,#f4efe7);
  font:inherit;
  font-size:14px;
  font-weight:300;
  text-align:left;
  cursor:pointer;
}
.language-menu-popover button:hover,
.language-menu-popover button:focus-visible{
  background:rgba(181,154,112,.12);
  outline:none;
}
.language-menu-popover button[aria-pressed="true"]{
  color:var(--park-accent-soft,#d7c6a8);
  font-weight:400;
}
.language-menu-popover button[aria-pressed="true"]::after{
  content:"✓";
  float:right;
  margin-left:12px;
}
.site-header .language-menu-toggle{color:var(--park-dark-text,#f4efe7)!important;}
.site-header.is-compact .language-menu-toggle{font-size:12.5px;}

@media(max-width:1060px){
  .desktop-language-menu{display:none!important;}
  .mobile-language-selector{
    display:block;
    width:100%;
    margin-top:8px;
    padding-top:16px;
    border-top:1px solid rgba(181,154,112,.22);
  }
  .mobile-language-label{
    display:block;
    margin-bottom:8px;
    color:rgba(244,239,231,.68);
    font-size:12px;
    font-weight:300;
    letter-spacing:.06em;
  }
  .mobile-language-options{display:flex;flex-wrap:wrap;gap:8px;}
  .mobile-language-options button{
    min-height:44px;
    min-width:74px;
    padding:8px 13px;
    border:1px solid rgba(181,154,112,.28);
    background:transparent;
    color:var(--park-dark-text,#f4efe7);
    font:inherit;
    font-size:14px;
    font-weight:300;
    cursor:pointer;
  }
  .mobile-language-options button[aria-pressed="true"]{
    border-color:var(--park-accent,#b59a70);
    color:var(--park-accent-soft,#d7c6a8);
  }
  .site-header{
    grid-template-columns:minmax(0,1fr) auto auto!important;
    grid-template-areas:"brand actions menu"!important;
  }
  .site-header .brand{grid-area:brand;min-width:0;justify-self:start;}
  .site-header .header-actions{grid-area:actions;justify-self:end!important;}
  .site-header .menu-toggle{grid-area:menu;justify-self:end!important;}
  .site-header .site-nav{
    left:0!important;
    right:0!important;
    padding-bottom:20px!important;
  }
}

@media(max-width:760px){
  /* Keep BOOK as the single prominent homepage action on narrow screens. */
  .site-header:not(.room-detail-header) .book-link.book-button{
    display:inline-flex!important;
    min-height:34px!important;
    padding:0 10px!important;
    font-size:12.5px!important;
  }
  .site-header .header-actions{gap:6px!important;}
  .site-header .menu-toggle{width:40px!important;height:40px!important;}
}

@media(max-width:430px){
  .site-header:not(.room-detail-header) .brand-name{font-size:15px!important;}
  .site-header:not(.room-detail-header) .book-link.book-button{
    padding:0 9px!important;
    font-size:12px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .language-menu-toggle::after{transition:none!important;}
}


/* ======================================================================
   v4.60 — Rooms browsing paragraph
   Present verified room facts as normal body copy rather than a tagline.
   ====================================================================== */
.rooms-smith .room-section-intro{
  max-width:760px!important;
  margin-top:16px!important;
  white-space:normal!important;
  font-family:var(--font-ui)!important;
  font-size:16px!important;
  font-weight:300!important;
  line-height:1.75!important;
  letter-spacing:0!important;
}
html[lang="th"] .rooms-smith .room-section-intro{
  font-size:16px!important;
  line-height:1.82!important;
}
@media(max-width:760px){
  .rooms-smith .room-section-intro{
    max-width:none!important;
    margin-top:14px!important;
    font-size:15px!important;
    line-height:1.75!important;
  }
  html[lang="th"] .rooms-smith .room-section-intro{
    font-size:15px!important;
    line-height:1.82!important;
  }
}

/* ======================================================================
   v4.62 — Rooms intro width alignment
   Let the browsing paragraph extend to the active room image's right edge
   on wider layouts, reducing unnecessary wrapping and vertical height.
   ====================================================================== */
.rooms-smith .room-section-intro{
  max-width:var(--room-card-width)!important;
}
@media(max-width:760px){
  .rooms-smith .room-section-intro{
    max-width:none!important;
  }
}

/* ======================================================================
   v4.64 — Production brand image + favicon integration
   Use the generated brand PNG in the persistent header.
   ====================================================================== */
.site-header .brand-mark{
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
  flex:0 0 auto!important;
}


/* ======================================================================
   v4.69 — ultrawide centered hero without frame
   Preserve the full 2:1 hotel-02 composition on very wide monitors instead
   of enlarging/cropping it indefinitely. The photograph is capped at its
   largest generated source width and centered on the exact same dark
   background used by the persistent top navigation. No decorative frame.
   ====================================================================== */
@media(min-width:1920px){
  .hero-smith{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    display:flex;
    justify-content:center;
    background:var(--park-dark)!important;
  }
  .hero-banner{
    width:min(1774px,calc(100vw - 96px))!important;
    height:auto!important;
    aspect-ratio:2 / 1!important;
    margin:0 auto!important;
    box-sizing:border-box;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:var(--park-dark)!important;
  }
  .hero-banner>.responsive-picture,
  .hero-banner picture{
    display:block;
    width:100%;
    height:100%;
  }
  .hero-banner img{
    display:block;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    object-fit:contain!important;
    object-position:center!important;
  }
}

/* ======================================================================
   v4.67 — bounded Dining composition on wide displays
   Keep the active Restaurants & Café image close to the Rooms carousel's
   controlled photographic scale. Once the copy + active image composition
   reaches its maximum width, additional viewport space becomes larger
   neighbouring-image peeks rather than stretching the active photograph.
   Tablet/mobile geometry remains unchanged.
   ====================================================================== */
@media(min-width:1025px){
  .dining-hyatt{
    --dining-slide-width:min(
      calc(100vw - clamp(230px,15vw,320px)),
      1540px
    );
  }
}

/* ======================================================================
   v4.70 — Intro heading font-family consistency
   Keep the Stay intro title on the exact same shared font role as the
   homepage section-heading system; avoid one-off Thai family overrides.
   ====================================================================== */
.hotel-intro-hyatt-copy h1,
html[lang="th"] .hotel-intro-hyatt-copy h1{
  font-family:var(--font-ui)!important;
}

/* ======================================================================
   v4.71 — stable homepage carousel aspect ratios
   Rooms use a 3:2 editorial frame on desktop while retaining the existing
   viewport-aware height envelope; narrower screens remain 4:3. Dining uses
   16:9 on desktop and 3:2 on tablet/mobile. Extra horizontal room on wide
   displays becomes neighbouring-image preview rather than image stretching.
   ====================================================================== */
@media(min-width:1061px){
  .rooms-smith{
    --room-card-width:min(68vw,930px,90vh)!important;
  }
}
@media(min-width:900px) and (max-width:1060px){
  .rooms-smith{
    --room-card-width:min(74vw,930px,90vh)!important;
  }
}
@media(min-width:900px){
  .room-carousel .room-card>.responsive-picture{
    width:100%!important;
    height:auto!important;
    aspect-ratio:3 / 2!important;
    overflow:hidden!important;
  }
  .room-carousel .room-card img{
    width:100%!important;
    height:100%!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
  }
}
@media(max-width:899px){
  .room-carousel .room-card>.responsive-picture{
    width:100%!important;
    height:auto!important;
    aspect-ratio:4 / 3!important;
    overflow:hidden!important;
  }
  .room-carousel .room-card img{
    width:100%!important;
    height:100%!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
  }
}

@media(min-width:1025px){
  .dining-hyatt{
    --dining-image-width:min(
      calc(var(--dining-slide-width) - var(--dining-copy-width) - var(--dining-main-gap)),
      clamp(640px,81.78svh,960px)
    );
  }
  .dining-hyatt-stage{
    height:auto!important;
  }
  .dining-hyatt-stage::before{
    content:"";
    display:block;
    width:var(--dining-image-width);
    height:auto;
    aspect-ratio:16 / 9;
    visibility:hidden;
    pointer-events:none;
  }
}
@media(max-width:1024px){
  .dining-hyatt-media-viewport,
  .dining-hyatt-slide figure,
  .dining-hyatt-slide figure>.responsive-picture,
  .dining-hyatt-slide figure picture,
  .dining-hyatt-slide figure img{
    aspect-ratio:3 / 2!important;
  }
}

/* ======================================================================
   v4.72 — compact landscape Location note
   Recast Well Connected in Chaeng Watthana as a concise customer-info card:
   copy and hotel-08 sit side-by-side on wider screens, reducing total page
   height while preserving the approved wording and established palette.
   ====================================================================== */
#location.location-full{
  padding:clamp(46px,4.4vw,64px) clamp(24px,4vw,56px)!important;
}
#location .location-note-shell{
  display:grid!important;
  grid-template-columns:minmax(0,56%) minmax(0,44%)!important;
  width:min(1060px,100%)!important;
  max-width:1060px!important;
  margin:0 auto!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:2px!important;
  background:transparent!important;
}
#location .location-note-shell .location-full-card,
#location .location-note-shell .location-full-media{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border-radius:0!important;
}
#location .location-note-shell .location-full-card{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:clamp(32px,3vw,42px) clamp(30px,3.2vw,46px)!important;
  background:#ECEAE6!important;
}
#location .location-note-shell .location-full-card h2{
  margin-top:0!important;
  margin-bottom:16px!important;
}
#location .location-note-shell .location-full-card>p{
  max-width:600px!important;
  margin-bottom:0!important;
}
#location .location-note-shell .location-full-media{
  min-height:310px!important;
  height:100%!important;
  background:transparent!important;
}
#location .location-note-shell .location-full-media>.responsive-picture,
#location .location-note-shell .location-full-media picture{
  display:block!important;
  width:100%!important;
  height:100%!important;
}
#location .location-note-shell .location-full-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:88% 50%!important;
}

@media(max-width:899px){
  #location.location-full{
    padding:42px clamp(18px,4vw,30px)!important;
  }
  #location .location-note-shell{
    grid-template-columns:1fr!important;
  }
  #location .location-note-shell .location-full-card{
    padding:30px clamp(22px,5vw,34px) 26px!important;
  }
  #location .location-note-shell .location-full-media{
    min-height:0!important;
    height:auto!important;
  }
  #location .location-note-shell .location-full-media>.responsive-picture,
  #location .location-note-shell .location-full-media picture{
    height:auto!important;
  }
  #location .location-note-shell .location-full-media img{
    height:auto!important;
    aspect-ratio:2 / 1!important;
    object-position:82% 50%!important;
  }
}


/* ======================================================================
   v4.73 — Location note: independent attached text + image panels
   Only the copy panel carries the warm-grey surface. The adjacent photo
   has no panel background, so the two areas are visually distinct while
   remaining flush-attached.
   ====================================================================== */
#location .location-note-shell{
  background:transparent!important;
  border:0!important;
}
#location .location-note-shell .location-full-card{
  background:#ECEAE6!important;
}
#location .location-note-shell .location-full-media{
  background:transparent!important;
}


/* ======================================================================
   v4.74 — Meetings editorial paragraph + stable photography ratios
   Use one factual body paragraph rather than a lead/subtitle + support
   stack. Meeting photography uses 3:2 on larger screens and 4:3 on
   mobile to retain useful room detail without adding unnecessary height.
   ====================================================================== */
.meetings-hyatt-media{
  aspect-ratio:3 / 2!important;
}
.meetings-hyatt-copy{
  padding-top:0!important;
}
.meetings-hyatt-copy .meetings-hyatt-paragraph{
  max-width:620px;
  margin:0;
  color:var(--ink);
  font-family:var(--font-ui)!important;
  font-size:16px;
  font-weight:300;
  line-height:1.75;
}
html[lang="th"] .meetings-hyatt-copy .meetings-hyatt-paragraph{
  line-height:1.82;
}
.meetings-hyatt-copy .section-link{
  margin-top:20px;
}
@media(max-width:760px){
  .meetings-hyatt-media{
    aspect-ratio:4 / 3!important;
  }
  .meetings-hyatt-copy .meetings-hyatt-paragraph{
    font-size:15px;
    line-height:1.72;
  }
  html[lang="th"] .meetings-hyatt-copy .meetings-hyatt-paragraph{
    line-height:1.82;
  }
}


/* ======================================================================
   v4.75 — footer contact/copyright tonal separation
   ====================================================================== */
.site-footer.site-footer-contact{
  background:var(--park-dark)!important;
}
.site-footer.site-footer-contact .footer-copyright-strip{
  width:calc(100% + var(--pad) + var(--pad));
  margin:clamp(18px,2vw,24px) calc(0px - var(--pad)) 0;
  padding:0 var(--pad);
  background:#151512;
}
.site-footer.site-footer-contact .footer-copyright-strip small{
  width:min(1240px,100%);
  margin:0 auto!important;
  padding:12px 0 13px!important;
  display:block!important;
  border-top:0!important;
  background:transparent!important;
  color:rgba(246,244,239,.50)!important;
  text-align:left!important;
}
@media(max-width:760px){
  .site-footer.site-footer-contact .footer-copyright-strip{
    margin-top:20px;
  }
  .site-footer.site-footer-contact .footer-copyright-strip small{
    padding:11px 0 12px!important;
    text-align:center!important;
  }
}


/* ======================================================================
   v4.77 — unified homepage narrative paragraph typography
   Match Rooms, Location, Dining and Meetings body copy to the approved
   Intro/Stay paragraph's font family, size and weight while preserving
   each section's existing color, line-height and layout behavior.
   ====================================================================== */
.hotel-intro-hyatt-copy>p,
.rooms-smith .room-section-intro,
#location .location-note-shell .location-full-card>p,
.dining-hyatt-fixed-copy>p:not(.dining-hyatt-hours),
.meetings-hyatt-copy .meetings-hyatt-paragraph{
  font-family:var(--font-ui)!important;
  font-size:16px!important;
  font-weight:300!important;
}

@media(max-width:1100px){
  .hotel-intro-hyatt-copy>p,
  .rooms-smith .room-section-intro,
  #location .location-note-shell .location-full-card>p,
  .dining-hyatt-fixed-copy>p:not(.dining-hyatt-hours),
  .meetings-hyatt-copy .meetings-hyatt-paragraph{
    font-size:15px!important;
  }
}


/* ======================================================================
   v4.78 — durable Intro/Stay heading font-role fix
   #hero-title is intentionally NOT assigned the brand font. The Intro/Stay
   h1 belongs to the same --font-ui role as all homepage section headings.
   Keeping the role assignment above free of an ID-level brand override avoids
   the specificity conflict that previously made the Thai title drift back to
   --font-brand despite later section-heading declarations.
   ====================================================================== */

/* ======================================================================
   v5.40 — homepage section-heading font families
   Keep one shared section-heading role while switching family by language:
   Raleway for English and Bai Jamjuree for Thai. Size, weight, line-height
   and tracking remain the established shared homepage heading system.
   ====================================================================== */
:root{
  --homepage-section-heading-family:"Raleway",Arial,sans-serif;
  --homepage-section-heading-size:clamp(34px,3.15vw,46px);
  --homepage-section-heading-weight:300;
  --homepage-section-heading-line-height:1.12;
  --homepage-section-heading-tracking:-.015em;
}
html[lang="th"]{
  --homepage-section-heading-family:"Bai Jamjuree","Noto Sans Thai","Leelawadee UI",Tahoma,sans-serif;
}

#hero-title,
#rooms-title,
#location-title,
#dining-title,
#meetings-title,
#amenities-title,
#hotel-information-title,
#find-us-title,
#gallery-title{
  font-family:var(--homepage-section-heading-family)!important;
  font-size:var(--homepage-section-heading-size)!important;
  font-weight:var(--homepage-section-heading-weight)!important;
  line-height:var(--homepage-section-heading-line-height)!important;
  letter-spacing:var(--homepage-section-heading-tracking)!important;
}

html[lang="th"] #hero-title,
html[lang="th"] #rooms-title,
html[lang="th"] #location-title,
html[lang="th"] #dining-title,
html[lang="th"] #meetings-title,
html[lang="th"] #amenities-title,
html[lang="th"] #hotel-information-title,
html[lang="th"] #find-us-title,
html[lang="th"] #gallery-title{
  line-height:1.24!important;
  letter-spacing:0!important;
}

@media(max-width:760px){
  :root{
    --homepage-section-heading-size:clamp(28px,7.4vw,37px);
  }
}


/* ======================================================================
   v4.80 — unified editorial text links + SVG arrow interaction
   All .text-link actions share one typography role. Forward arrows are
   drawn from one SVG mask rather than language/content glyphs, so dynamic
   room/dining translations cannot drift in spacing or arrow appearance.
   Section-specific colors and placement remain owned by each section.
   ====================================================================== */
:root{
  --editorial-link-family:var(--font-ui);
  --editorial-link-size:15px;
  --editorial-link-weight:400;
  --editorial-link-line-height:1.45;
  --editorial-link-tracking:0;
  --editorial-link-arrow-gap:8px;
  --editorial-link-arrow-width:16px;
  --editorial-link-arrow-height:12px;
}

html[lang] .text-link.text-link{
  font-family:var(--editorial-link-family)!important;
  font-size:var(--editorial-link-size)!important;
  font-weight:var(--editorial-link-weight)!important;
  line-height:var(--editorial-link-line-height)!important;
  letter-spacing:var(--editorial-link-tracking)!important;
  transform:none!important;
}

html[lang] .text-link.text-link:not([hidden]){
  display:inline-flex!important;
  align-items:center;
  gap:var(--editorial-link-arrow-gap);
  width:max-content;
}

.text-link::after{
  content:"";
  display:inline-block;
  width:var(--editorial-link-arrow-width);
  min-width:var(--editorial-link-arrow-width);
  max-width:var(--editorial-link-arrow-width);
  height:var(--editorial-link-arrow-height);
  min-height:var(--editorial-link-arrow-height);
  max-height:var(--editorial-link-arrow-height);
  flex:0 0 var(--editorial-link-arrow-width);
  margin-left:0;
  vertical-align:-1px;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M1 6h15M11 1l5 5-5 5' fill='none' stroke='%23000' stroke-width='1.35' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E") center / contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M1 6h15M11 1l5 5-5 5' fill='none' stroke='%23000' stroke-width='1.35' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E") center / contain no-repeat;
  transition:transform .18s ease;
}

.text-link:hover::after,
.text-link:focus-visible::after{
  transform:translateX(3px);
}

@media(prefers-reduced-motion:reduce){
  .text-link::after{transition:none;}
  .text-link:hover::after,
  .text-link:focus-visible::after{transform:none;}
}

/* ======================================================================
   v4.81 — Meetings action link bronze-gold on light surface
   Keep the shared v4.80 editorial-link typography/SVG arrow behavior,
   while giving the Meetings CTA the darker bronze-gold used on light
   surfaces for appropriate contrast and a consistent hospitality accent.
   ====================================================================== */
.meetings-hyatt-copy .section-link.text-link{
  color:var(--park-heading-gold-light)!important;
  border-bottom-color:currentColor!important;
}
.meetings-hyatt-copy .section-link.text-link:hover,
.meetings-hyatt-copy .section-link.text-link:focus-visible{
  color:var(--park-heading-gold-light)!important;
}

/* ======================================================================
   v4.82 — Hotel Information icon-to-copy spacing refinement
   Increase only the visual gap between each icon and its corresponding
   label/value while preserving the shrink-wrapped three-fact layout.
   ====================================================================== */
.hotel-information-facts .hotel-info-fact,
.hotel-information-facts .hotel-info-fact + .hotel-info-fact{
  column-gap:14px!important;
}
@media(max-width:760px){
  .hotel-information-facts .hotel-info-fact,
  .hotel-information-facts .hotel-info-fact + .hotel-info-fact{
    column-gap:12px!important;
  }
}

/* ======================================================================
   v4.83 — Hyatt-inspired multi-image wraparound Gallery rail
   The homepage gallery is a photographic strip rather than a single large
   centered hero. Several equal-weight 4:3 images remain visible together,
   making mixed-quality photography more forgiving and keeping the component
   scalable as more images are added. JavaScript uses only a small edge clone
   buffer for seamless wraparound rather than tripling the entire gallery.
   ====================================================================== */

/* The gallery intentionally has no enlarged active-card treatment. The
   visible sequence reads as one curated collection, like the Hyatt reference. */

/* ======================================================================
   v4.84 — square modular infinite Gallery
   Hyatt-inspired structure: every carousel stop occupies one square module.
   A module is either one full square photograph or a 2x2 mosaic of four
   smaller square photographs. Navigation is arrow-only and wraps endlessly.
   ====================================================================== */

/* Source images remain usable as a simple square strip before JS enhancement. */

/* Gallery navigation intentionally has no numeric position indicator. */
.gallery-smith .carousel-count{display:none!important;}
.gallery-smith .carousel-nav-group{gap:6px!important;}


/* ======================================================================
   v4.85 — centered Gallery controls + wrap-boundary image priming
   Center the arrow-only Gallery navigation as one compact group. Image
   priming is handled in main.js so edge clones are decoded before traversal.
   ====================================================================== */
.gallery-smith .gallery-carousel-controls{
  width:max-content!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  justify-content:center!important;
}
.gallery-smith .gallery-carousel-controls .carousel-nav-group{
  margin-left:0!important;
  justify-content:center!important;
}

/* ======================================================================
   v4.86 — stable trackpad traversal for infinite Gallery
   Horizontal trackpad wheel gestures are converted to discrete carousel
   steps in main.js, preventing momentum scroll from racing wrap normalization.
   Touch scrolling remains available for direct touch-screen interaction.
   ====================================================================== */

/* Fine-pointer desktops (including MacBook trackpads) do not expose the raw
   horizontal scroll rail. Programmatic scrollTo still drives the carousel,
   while direct touch devices retain native horizontal swipe behavior. */

/* ======================================================================
   v4.87 — native-smooth Gallery touch traversal
   Phones and tablets keep browser-native horizontal momentum scrolling.
   Snap alignment remains deterministic, while infinite-loop normalization
   waits for scroll completion in main.js instead of interrupting a gesture.
   ====================================================================== */


/* ======================================================================
   v4.92 — Dining venue-name gold hierarchy
   Venue names (Suki Jumbo, Inking Lao Restaurant, Café Corner) use the
   lighter bronze role beneath the deeper Restaurants & Café section title,
   echoing the restrained title/subtitle hierarchy used by the Hyatt reference.
   Typography and layout remain unchanged.
   ====================================================================== */
.dining-hyatt .dining-hyatt-fixed-copy h3{
  color:var(--park-accent)!important;
}

/* ======================================================================
   v4.93 — footer contact/copyright color hierarchy
   Contact adopts the muted hospitality gold; Copyright inherits the
   former Contact charcoal so the footer closes on the lighter dark tone.
   ====================================================================== */
.site-footer.site-footer-contact{
  background:var(--park-accent,#b59a70)!important;
  color:var(--park-dark,#1b1b18)!important;
}
.site-footer.site-footer-contact .footer-contact-icon{
  stroke:rgba(27,27,24,.72)!important;
}
.site-footer.site-footer-contact .footer-contact-item>strong{
  color:rgba(27,27,24,.68)!important;
}
.site-footer.site-footer-contact .footer-contact-values,
.site-footer.site-footer-contact .footer-line-copy,
.site-footer.site-footer-contact .footer-address{
  color:rgba(27,27,24,.92)!important;
}
.site-footer.site-footer-contact .footer-contact-values a,
.site-footer.site-footer-contact .footer-line-copy a{
  color:rgba(27,27,24,.92)!important;
  border-bottom-color:rgba(27,27,24,.24)!important;
}
.site-footer.site-footer-contact .footer-contact-values a:hover,
.site-footer.site-footer-contact .footer-contact-values a:focus-visible,
.site-footer.site-footer-contact .footer-line-copy a:hover,
.site-footer.site-footer-contact .footer-line-copy a:focus-visible{
  color:var(--park-dark,#1b1b18)!important;
  border-bottom-color:rgba(27,27,24,.72)!important;
}
.site-footer.site-footer-contact .footer-copyright-strip{
  background:var(--park-dark,#1b1b18)!important;
}
.site-footer.site-footer-contact .footer-copyright-strip small{
  color:rgba(246,244,239,.50)!important;
}

/* ======================================================================
   v4.97 — footer Contact emphasis
   Slightly strengthen Contact copy and matching line icons on the gold
   footer band while preserving size, spacing, color hierarchy and layout.
   ====================================================================== */
.site-footer.site-footer-contact .footer-contact-item>strong{
  font-weight:500!important;
}
.site-footer.site-footer-contact .footer-contact-values,
.site-footer.site-footer-contact .footer-line-copy,
.site-footer.site-footer-contact .footer-address,
.site-footer.site-footer-contact .footer-contact-values a,
.site-footer.site-footer-contact .footer-line-copy a{
  font-weight:400!important;
}
.site-footer.site-footer-contact .footer-contact-icon{
  stroke-width:1.55!important;
}

/* ======================================================================
   v5.01 — footer Contact label emphasis
   Increase only the Address / Phone / Email / Social labels so they read
   more clearly above the contact values on the gold footer band.
   ====================================================================== */
.site-footer.site-footer-contact .footer-contact-item>strong{
  font-weight:600!important;
}


/* ======================================================================
   v5.12 — external editorial links use the external-link arrow
   A link can be both .text-link (shared typography) and .external-link
   (external destination semantics). The later .text-link arrow rules used
   to override the diagonal external-link icon. Keep the shared text-link
   typography, but restore the same diagonal SVG + hover motion used by
   footer Facebook/LINE for external editorial actions such as Google Maps.
   ====================================================================== */
.text-link.external-link::after{
  width:.78em;
  min-width:.78em;
  max-width:.78em;
  height:.78em;
  min-height:.78em;
  max-height:.78em;
  flex:0 0 .78em;
  position:relative;
  top:.045em;
  vertical-align:baseline;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.25 11.75 11.75 4.25M6.25 4.25h5.5v5.5' fill='none' stroke='black' stroke-width='1.45' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.25 11.75 11.75 4.25M6.25 4.25h5.5v5.5' fill='none' stroke='black' stroke-width='1.45' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transform:translate3d(0,0,0);
  transition:transform 180ms ease,opacity 180ms ease;
  opacity:.88;
}
.text-link.external-link:hover::after,
.text-link.external-link:focus-visible::after{
  transform:translate3d(.11em,-.11em,0);
  opacity:1;
}
html[lang="th"] .text-link.external-link::after{
  top:.08em;
  width:.76em;
  min-width:.76em;
  max-width:.76em;
  height:.76em;
  min-height:.76em;
  max-height:.76em;
  flex-basis:.76em;
}
@media(prefers-reduced-motion:reduce){
  .text-link.external-link::after{transition:none!important;}
  .text-link.external-link:hover::after,
  .text-link.external-link:focus-visible::after{transform:none!important;}
}


/* ======================================================================
   v5.39 — Gallery: stable Embla carousel architecture
   Embla measures real CSS slide boxes. Each complete [2x2 + 5:4] block is
   fully contained in one slide. The larger block-to-block gap is normal
   symmetric slide padding. Desktop uses Embla's documented custom align
   callback to place the internal 2x2/5:4 boundary at the viewport center.
   No slide overflow, no carousel offset, no loop-buffer tuning, no clones.
   ====================================================================== */
.gallery-smith .gallery-carousel{
  --gallery-internal-gap:clamp(14px,1.25vw,18px);
  position:relative;
  width:100%;
  margin-inline:auto;
  overflow:hidden;
  touch-action:pan-y pinch-zoom;
}
.gallery-smith .gallery-carousel-desktop{
  --gallery-module-height:clamp(266px,35vw,505.8px);
  max-width:2560px;
  --gallery-single-width:calc(var(--gallery-module-height) * 1.25);
  --gallery-block-width:calc((var(--gallery-module-height) * 2.25) + var(--gallery-internal-gap));
  --gallery-block-gap:32px;
  height:var(--gallery-module-height);
}
.gallery-smith .gallery-carousel-mobile{
  --gallery-single-width:min(72vw,486px);
  --gallery-block-gap:12px;
  display:none;
  height:auto;
}
.gallery-smith .gallery-carousel-track{
  display:flex;
  align-items:center;
  height:100%;
  backface-visibility:hidden;
}
.gallery-smith .gallery-carousel-slide{
  box-sizing:border-box;
  min-width:0;
  flex:0 0 calc(var(--gallery-block-width) + var(--gallery-block-gap));
  height:var(--gallery-module-height);
  padding-inline:calc(var(--gallery-block-gap) / 2);
}
.gallery-smith .gallery-carousel-desktop .gallery-set{
  display:grid;
  grid-template-columns:var(--gallery-module-height) var(--gallery-single-width);
  column-gap:var(--gallery-internal-gap);
  align-items:center;
  width:var(--gallery-block-width);
  height:100%;
  box-sizing:border-box;
}
.gallery-smith .gallery-carousel-desktop .gallery-module-mosaic{
  width:var(--gallery-module-height);
}
.gallery-smith .gallery-carousel-desktop .gallery-module-single{
  width:var(--gallery-single-width);
}
.gallery-smith .gallery-carousel .gallery-module{
  flex:none;
  overflow:hidden;
}
.gallery-smith .gallery-carousel .gallery-module-single{
  height:var(--gallery-module-height);
  aspect-ratio:5 / 4;
}
.gallery-smith .gallery-carousel .gallery-module-mosaic{
  height:var(--gallery-module-height);
  aspect-ratio:1 / 1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:calc(var(--gallery-internal-gap) * 1.26);
}
.gallery-smith .gallery-carousel .gallery-card{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  opacity:1!important;
  transform:none!important;
}
.gallery-smith .gallery-carousel .gallery-card>.responsive-picture{
  display:block!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  background:#ddd;
}
.gallery-smith .gallery-carousel .gallery-module-single .gallery-card>.responsive-picture{
  aspect-ratio:5 / 4!important;
}
.gallery-smith .gallery-carousel .gallery-module-mosaic .gallery-card>.responsive-picture{
  aspect-ratio:1 / 1!important;
}
.gallery-smith .gallery-carousel .gallery-card img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
  aspect-ratio:auto!important;
}
@media(max-width:760px){
  .gallery-smith .gallery-carousel-desktop{display:none!important;}
  .gallery-smith .gallery-carousel-mobile{display:block;}
  .gallery-smith .gallery-carousel-mobile .gallery-carousel-track{height:auto;}
  .gallery-smith .gallery-carousel-mobile .gallery-carousel-slide{
    flex:0 0 calc(var(--gallery-single-width) + var(--gallery-block-gap));
    height:auto;
    padding-inline:calc(var(--gallery-block-gap) / 2);
  }
  .gallery-smith .gallery-carousel-mobile .gallery-module-single,
  .gallery-smith .gallery-carousel-mobile .gallery-module-mobile{
    width:var(--gallery-single-width)!important;
    height:auto!important;
    aspect-ratio:5 / 4!important;
  }
}
@media(min-width:761px){
  .gallery-smith .gallery-carousel-mobile{display:none!important;}
}


/* ======================================================================
   v5.43 — room-detail pages aligned with the current homepage language
   Photography-led, editorial, warm-neutral and restrained. The six room
   pages keep their verified content and shared DOM while adopting the same
   heading fonts, image proportions, stone/ivory chapters, bronze accents,
   compact information grids and charcoal closing CTA as the homepage.
   ====================================================================== */
.room-detail-page{
  --room-detail-heading-family:"Raleway",Arial,sans-serif;
  --room-detail-section-size:clamp(34px,3.15vw,46px);
  --room-detail-gutter:max(var(--pad),calc((100vw - 1280px)/2 + var(--pad)));
  background:var(--park-paper)!important;
  color:var(--ink)!important;
}
html[lang="th"] .room-detail-page{
  --room-detail-heading-family:"Bai Jamjuree","Noto Sans Thai","Leelawadee UI",Tahoma,sans-serif;
}

/* Hero / room photography */
.room-detail-page .room-detail-hero{
  --room-detail-card-width:min(76vw,1080px);
  --room-detail-rail-inset:var(--room-detail-gutter);
  padding-top:clamp(26px,2.8vw,40px)!important;
  padding-bottom:clamp(70px,6.5vw,96px)!important;
  background:var(--park-paper)!important;
}
.room-detail-page .room-detail-topline{
  margin-bottom:clamp(22px,2.5vw,34px)!important;
}
.room-detail-page .room-back-link{
  position:relative;
  border:0!important;
  padding:0 0 0 22px!important;
  font-family:var(--font-ui)!important;
  font-size:14px!important;
  line-height:1.5!important;
  color:var(--muted)!important;
}
.room-detail-page .room-back-link::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:14px;
  height:10px;
  transform:translateY(-50%);
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12'%3E%3Cpath d='M6 1 1 6l5 5M1 6h14' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='square'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12'%3E%3Cpath d='M6 1 1 6l5 5M1 6h14' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='square'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:transform .18s ease;
}
.room-detail-page .room-back-link:hover::before,
.room-detail-page .room-back-link:focus-visible::before{transform:translate(-3px,-50%);}
.room-detail-page .room-photo-track{
  gap:clamp(18px,1.8vw,28px)!important;
  padding-bottom:8px!important;
}
.room-detail-page .room-photo-slide{
  border-radius:0!important;
  background:var(--park-paper-deep)!important;
}
.room-detail-page .room-photo-slide img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:3 / 2!important;
  object-fit:cover!important;
}
.room-detail-page .room-photo-controls{
  margin-top:clamp(14px,1.5vw,20px)!important;
}
.room-detail-page .room-photo-nav-group{
  grid-template-columns:48px minmax(54px,auto) 48px!important;
  column-gap:6px!important;
}
.room-detail-page .room-photo-nav-group button{
  width:48px!important;
  height:40px!important;
  color:var(--ink)!important;
}
.room-detail-page .room-photo-nav-group button svg{
  width:34px!important;
  stroke-width:1.35!important;
}
.room-detail-page .room-photo-count{
  font-size:13px!important;
  color:var(--muted)!important;
}
.room-detail-page .room-detail-intro{
  grid-template-columns:minmax(280px,.78fr) minmax(360px,1.22fr)!important;
  gap:clamp(42px,6vw,92px)!important;
  padding-top:clamp(34px,3.8vw,54px)!important;
  align-items:start!important;
}
.room-detail-page .room-detail-intro h1{
  margin:0!important;
  font-family:var(--room-detail-heading-family)!important;
  font-size:clamp(46px,5vw,68px)!important;
  font-weight:300!important;
  line-height:1.05!important;
  letter-spacing:-.02em!important;
  color:var(--ink)!important;
}
html[lang="th"] .room-detail-page .room-detail-intro h1{
  line-height:1.18!important;
  letter-spacing:0!important;
}
.room-detail-page .room-detail-intro p{
  max-width:700px!important;
  margin:4px 0 0!important;
  font-family:var(--font-ui)!important;
  font-size:16px!important;
  font-weight:300!important;
  line-height:1.75!important;
  color:var(--muted)!important;
}
html[lang="th"] .room-detail-page .room-detail-intro p{line-height:1.82!important;}

/* Shared chapter structure */
.room-detail-page .room-detail-content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(72px,6vw,92px) var(--room-detail-gutter) clamp(78px,6.5vw,100px)!important;
  border:0!important;
}
.room-detail-page .room-detail-hero + .room-detail-content{
  background:var(--park-paper-alt)!important;
}
.room-detail-page .room-detail-amenities{
  background:var(--park-paper)!important;
}
.room-detail-page .room-detail-guest-info{
  background:var(--park-paper-deep)!important;
}
.room-detail-page .room-detail-content + .room-detail-content{border-top:0!important;}
.room-detail-page .room-detail-section-heading{
  margin:0 0 clamp(34px,3.2vw,46px)!important;
}
.room-detail-page .room-detail-section-heading h2{
  margin:0!important;
  font-family:var(--room-detail-heading-family)!important;
  font-size:var(--room-detail-section-size)!important;
  font-weight:300!important;
  line-height:1.12!important;
  letter-spacing:-.015em!important;
  color:var(--ink)!important;
}
html[lang="th"] .room-detail-page .room-detail-section-heading h2{
  line-height:1.24!important;
  letter-spacing:0!important;
}

/* Facts: quiet editorial row rather than cards. */
.room-detail-page .room-detail-facts{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0 clamp(22px,2.4vw,36px)!important;
  border-top:1px solid rgba(32,32,29,.16)!important;
}
.room-detail-page .room-detail-facts[data-count="1"]{grid-template-columns:minmax(220px,300px)!important;}
.room-detail-page .room-detail-facts[data-count="2"]{grid-template-columns:repeat(2,minmax(220px,320px))!important;}
.room-detail-page .room-detail-facts[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.room-detail-page .room-detail-fact{
  min-height:0!important;
  padding:24px 4px 22px!important;
  border:0!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:14px!important;
  row-gap:3px!important;
  align-items:start!important;
  text-align:left!important;
}
.room-detail-page .room-detail-fact-icon{
  grid-row:1 / 3;
  width:30px!important;
  height:30px!important;
  margin:1px 0 0!important;
  color:var(--park-accent)!important;
  stroke-width:1.45!important;
}
.room-detail-page .room-detail-fact dt{
  font-family:var(--font-ui)!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.35!important;
  color:var(--muted)!important;
}
.room-detail-page .room-detail-fact dd{
  max-width:none!important;
  font-family:var(--font-ui)!important;
  font-size:16px!important;
  font-weight:300!important;
  line-height:1.5!important;
  color:var(--ink)!important;
}
html[lang="th"] .room-detail-page .room-detail-fact dt{font-size:14px!important;}
html[lang="th"] .room-detail-page .room-detail-fact dd{font-size:15px!important;line-height:1.6!important;}

/* Room features: compact icon grid matching the homepage Amenities chapter. */
.room-detail-page .room-detail-amenity-list,
.room-detail-page .room-detail-guest-info .room-detail-amenity-list{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0 clamp(18px,2vw,30px)!important;
  border-top:1px solid rgba(32,32,29,.14)!important;
}
.room-detail-page .room-detail-amenity-list li{
  min-height:116px!important;
  padding:20px 4px 22px!important;
  border:0!important;
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:12px!important;
  row-gap:3px!important;
  align-content:start!important;
  align-items:start!important;
  text-align:left!important;
}
.room-detail-page .room-detail-amenity-icon{
  grid-row:1 / 3;
  width:28px!important;
  height:28px!important;
  margin:1px 0 0!important;
  color:var(--park-accent)!important;
  stroke-width:1.45!important;
}
.room-detail-page .room-detail-amenity-list strong{
  margin:0!important;
  font-family:var(--font-ui)!important;
  font-size:15px!important;
  font-weight:400!important;
  line-height:1.4!important;
  color:var(--ink)!important;
}
.room-detail-page .room-detail-amenity-list small{
  max-width:none!important;
  margin:0!important;
  font-family:var(--font-ui)!important;
  font-size:13px!important;
  font-weight:300!important;
  line-height:1.5!important;
  color:var(--muted)!important;
}
html[lang="th"] .room-detail-page .room-detail-amenity-list strong{font-size:15.5px!important;line-height:1.5!important;}
html[lang="th"] .room-detail-page .room-detail-amenity-list small{font-size:13.5px!important;line-height:1.6!important;}

/* Closing enquiry: same charcoal / bronze relationship as Rooms + Dining. */
.room-detail-page .room-detail-cta{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(66px,5.5vw,84px) var(--room-detail-gutter) clamp(72px,6vw,92px)!important;
  border:0!important;
  background:var(--park-dark)!important;
  color:var(--park-dark-text)!important;
  align-items:center!important;
}
.room-detail-page .room-detail-cta h2{
  margin:0!important;
  font-family:var(--room-detail-heading-family)!important;
  font-size:var(--room-detail-section-size)!important;
  font-weight:300!important;
  line-height:1.12!important;
  letter-spacing:-.015em!important;
  color:var(--park-accent-soft)!important;
}
html[lang="th"] .room-detail-page .room-detail-cta h2{line-height:1.24!important;letter-spacing:0!important;}
.room-detail-page .room-detail-cta-link{
  color:var(--park-dark-text)!important;
  font-size:15px!important;
}
.room-detail-page .room-detail-cta-link::after{background-color:var(--park-dark-text)!important;}

@media(max-width:1080px){
  .room-detail-page .room-detail-intro{grid-template-columns:1fr!important;gap:16px!important;}
  .room-detail-page .room-detail-intro p{max-width:760px!important;}
  .room-detail-page .room-detail-facts,
  .room-detail-page .room-detail-facts[data-count="4"],
  .room-detail-page .room-detail-amenity-list,
  .room-detail-page .room-detail-guest-info .room-detail-amenity-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  .room-detail-page{
    --room-detail-section-size:clamp(28px,7.4vw,37px);
    --room-detail-gutter:18px;
  }
  .room-detail-page .room-detail-hero{
    --room-detail-rail-inset:18px;
    --room-detail-card-width:86vw;
    padding-top:20px!important;
    padding-bottom:62px!important;
  }
  .room-detail-page .room-detail-topline,
  .room-detail-page .room-detail-intro{padding-left:18px!important;padding-right:18px!important;}
  .room-detail-page .room-photo-track{gap:14px!important;}
  .room-detail-page .room-photo-slide img{aspect-ratio:4 / 3!important;}
  .room-detail-page .room-photo-controls{margin-top:12px!important;}
  .room-detail-page .room-detail-intro{padding-top:30px!important;gap:12px!important;}
  .room-detail-page .room-detail-intro h1{font-size:clamp(38px,10.5vw,50px)!important;}
  .room-detail-page .room-detail-intro p{font-size:15px!important;line-height:1.75!important;}
  .room-detail-page .room-detail-content{
    padding-top:58px!important;
    padding-bottom:66px!important;
  }
  .room-detail-page .room-detail-section-heading{margin-bottom:28px!important;}
  .room-detail-page .room-detail-facts,
  .room-detail-page .room-detail-facts[data-count="1"],
  .room-detail-page .room-detail-facts[data-count="2"],
  .room-detail-page .room-detail-facts[data-count="3"],
  .room-detail-page .room-detail-facts[data-count="4"],
  .room-detail-page .room-detail-amenity-list,
  .room-detail-page .room-detail-guest-info .room-detail-amenity-list{
    grid-template-columns:1fr 1fr!important;
    column-gap:18px!important;
  }
  .room-detail-page .room-detail-fact,
  .room-detail-page .room-detail-amenity-list li{
    grid-template-columns:26px minmax(0,1fr)!important;
    column-gap:10px!important;
    padding:18px 0 20px!important;
  }
  .room-detail-page .room-detail-fact-icon,
  .room-detail-page .room-detail-amenity-icon{width:25px!important;height:25px!important;}
  .room-detail-page .room-detail-cta{
    padding-top:56px!important;
    padding-bottom:62px!important;
    align-items:flex-start!important;
    gap:22px!important;
  }
}
@media(max-width:440px){
  .room-detail-page .room-detail-facts,
  .room-detail-page .room-detail-facts[data-count="1"],
  .room-detail-page .room-detail-facts[data-count="2"],
  .room-detail-page .room-detail-facts[data-count="3"],
  .room-detail-page .room-detail-facts[data-count="4"],
  .room-detail-page .room-detail-amenity-list,
  .room-detail-page .room-detail-guest-info .room-detail-amenity-list{
    grid-template-columns:1fr!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .room-detail-page .room-back-link::before{transition:none!important;}
}


/* ======================================================================
   v5.44 — Room detail navigation aligned with the main site architecture
   Keep global destinations stable on every room page while marking Rooms
   as the current location in the property hierarchy. The contextual
   "All Rooms" link remains in the page body for returning to comparison.
   ====================================================================== */
.room-detail-header .site-nav a[aria-current]{
  color:#DFC99A!important;
}
.room-detail-header .site-nav a[aria-current]::after{
  width:100%!important;
  opacity:1!important;
}
@media(max-width:1060px){
  .room-detail-header .site-nav a[aria-current]{
    color:#DFC99A!important;
  }
}


/* ======================================================================
   v5.45 — Room details: Hyatt-inspired editorial information layout
   Photography remains the lead. Below it, each room uses a restrained
   two-column text layout: room name / key line / description on the left,
   plain factual details on the right. No amenity icons or card treatment.
   ====================================================================== */
.room-detail-page .room-detail-editorial{
  background:var(--park-ivory,#f7f5f0);
  padding:clamp(68px,6.2vw,100px) var(--room-detail-gutter) clamp(78px,7vw,112px);
}
.room-detail-page .room-detail-editorial-grid{
  width:100%;
  max-width:1240px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:clamp(64px,8vw,132px);
  align-items:start;
}
.room-detail-page .room-detail-editorial-copy h1{
  margin:0!important;
  font-family:var(--room-detail-heading-family)!important;
  font-size:clamp(44px,4.5vw,64px)!important;
  font-weight:300!important;
  line-height:1.04!important;
  letter-spacing:-.025em!important;
  color:var(--park-dark-text,#25231f)!important;
}
html[lang="th"] .room-detail-page .room-detail-editorial-copy h1{
  line-height:1.2!important;
  letter-spacing:0!important;
}
.room-detail-page .room-detail-meta{
  margin:22px 0 0!important;
  font-family:var(--room-detail-heading-family)!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:1.55!important;
  letter-spacing:.035em!important;
  color:#8d7346!important;
}
html[lang="th"] .room-detail-page .room-detail-meta{
  font-size:14.5px!important;
  line-height:1.7!important;
  letter-spacing:0!important;
}
.room-detail-page .room-detail-description{
  max-width:560px;
  margin:28px 0 0!important;
  font-family:inherit!important;
  font-size:16px!important;
  font-weight:300!important;
  line-height:1.82!important;
  color:var(--park-dark-text,#25231f)!important;
}
html[lang="th"] .room-detail-page .room-detail-description{
  line-height:1.92!important;
}
.room-detail-page .room-detail-editorial-features h2{
  margin:3px 0 25px!important;
  font-family:var(--room-detail-heading-family)!important;
  font-size:15px!important;
  font-weight:500!important;
  line-height:1.4!important;
  letter-spacing:.075em!important;
  text-transform:uppercase;
  color:#8d7346!important;
}
html[lang="th"] .room-detail-page .room-detail-editorial-features h2{
  font-size:16px!important;
  line-height:1.55!important;
  letter-spacing:0!important;
  text-transform:none;
}
.room-detail-page .room-detail-feature-list{
  margin:0!important;
  padding:0 0 0 1.15em!important;
  list-style:disc!important;
  columns:1;
}
.room-detail-page .room-detail-feature-list li{
  break-inside:avoid;
  margin:0 0 13px!important;
  padding:0!important;
  font-size:14.5px!important;
  font-weight:300!important;
  line-height:1.62!important;
  color:var(--park-dark-text,#25231f)!important;
}
.room-detail-page .room-detail-feature-list li::marker{color:#8d7346;}
.room-detail-page .room-detail-feature-list strong{
  font:inherit!important;
  font-weight:500!important;
  color:inherit!important;
}
.room-detail-page .room-detail-feature-list span{
  color:var(--muted,#68645d)!important;
}
.room-detail-page .room-detail-guest-info{
  width:100%;
  max-width:none!important;
  margin:0!important;
  padding:clamp(58px,5vw,76px) var(--room-detail-gutter) clamp(62px,5.5vw,82px)!important;
  background:#ece8df!important;
  display:grid!important;
  grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr)!important;
  gap:clamp(44px,7vw,110px)!important;
  align-items:start!important;
}
.room-detail-page .room-detail-guest-info > *{
  width:100%;
  max-width:760px;
}
.room-detail-page .room-detail-guest-info .room-detail-section-heading{
  justify-self:end;
  max-width:330px;
  margin:0!important;
}
.room-detail-page .room-detail-guest-info .room-detail-section-heading h2{
  margin:0!important;
  font-family:var(--room-detail-heading-family)!important;
  font-size:clamp(27px,2.35vw,34px)!important;
  font-weight:300!important;
  line-height:1.12!important;
  letter-spacing:-.015em!important;
  color:var(--park-dark-text,#25231f)!important;
}
html[lang="th"] .room-detail-page .room-detail-guest-info .room-detail-section-heading h2{
  line-height:1.28!important;
  letter-spacing:0!important;
}
.room-detail-page .room-detail-guest-info .room-detail-amenity-list{
  justify-self:start;
  margin:0!important;
  padding:0 0 0 1.15em!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px clamp(28px,4vw,52px)!important;
  list-style:disc!important;
}
.room-detail-page .room-detail-guest-info .room-detail-amenity-list li{
  display:list-item!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  font-size:14.5px!important;
  font-weight:300!important;
  line-height:1.62!important;
  color:var(--park-dark-text,#25231f)!important;
}
.room-detail-page .room-detail-guest-info .room-detail-amenity-list li::marker{color:#8d7346;}
.room-detail-page .room-detail-guest-info .room-detail-amenity-list strong{
  display:inline!important;
  font:inherit!important;
  font-weight:500!important;
  color:inherit!important;
}
.room-detail-page .room-detail-guest-info .room-detail-amenity-list span{
  color:var(--muted,#68645d)!important;
}
.room-detail-page .room-detail-editorial .room-detail-fact-icon,
.room-detail-page .room-detail-editorial .room-detail-amenity-icon,
.room-detail-page .room-detail-guest-info .room-detail-fact-icon,
.room-detail-page .room-detail-guest-info .room-detail-amenity-icon{
  display:none!important;
}
@media(max-width:980px){
  .room-detail-page .room-detail-editorial-grid{
    grid-template-columns:1fr;
    gap:48px;
  }
  .room-detail-page .room-detail-description{max-width:720px;}
  .room-detail-page .room-detail-guest-info{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  .room-detail-page .room-detail-guest-info .room-detail-section-heading{
    justify-self:start;
    max-width:none;
  }
}
@media(max-width:760px){
  .room-detail-page .room-detail-editorial{
    padding:50px 18px 64px!important;
  }
  .room-detail-page .room-detail-editorial-grid{gap:38px;}
  .room-detail-page .room-detail-editorial-copy h1{
    font-size:clamp(38px,10.5vw,50px)!important;
  }
  .room-detail-page .room-detail-meta{margin-top:16px!important;}
  .room-detail-page .room-detail-description{
    margin-top:22px!important;
    font-size:15px!important;
    line-height:1.78!important;
  }
  html[lang="th"] .room-detail-page .room-detail-description{line-height:1.88!important;}
  .room-detail-page .room-detail-editorial-features h2{margin-bottom:20px!important;}
  .room-detail-page .room-detail-feature-list{
    columns:1;
    padding-left:1.05em!important;
  }
  .room-detail-page .room-detail-feature-list li{font-size:14px!important;margin-bottom:11px!important;}
  .room-detail-page .room-detail-guest-info{
    padding:46px 18px 54px!important;
    gap:24px!important;
  }
  .room-detail-page .room-detail-guest-info .room-detail-amenity-list{
    grid-template-columns:1fr!important;
    gap:9px!important;
    padding-left:1.05em!important;
  }
  .room-detail-page .room-detail-guest-info .room-detail-amenity-list li{font-size:14px!important;}
}


/* ======================================================================
   v5.46 — room-detail Hyatt-style photo stage
   A standard finite Embla carousel: one full 16:9 image per snap, no peeks,
   clickable dot pagination lower-left and square previous/next controls
   lower-right. BACK sits clearly below the sticky nav with a large SVG arrow.
   ====================================================================== */
.room-detail-page .room-detail-hero{
  --room-detail-rail-inset:0px;
  --room-detail-card-width:100%;
  width:100%!important;
  max-width:1280px!important;
  margin:0 auto!important;
  padding:clamp(18px,1.8vw,26px) var(--pad) clamp(62px,5.5vw,84px)!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.room-detail-page .room-detail-topline{
  width:100%!important;
  max-width:none!important;
  margin:0 0 clamp(16px,1.7vw,24px)!important;
  padding:0!important;
}
.room-detail-page .room-back-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:4px 0!important;
  border:0!important;
  font-family:var(--room-detail-heading-family)!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:1.2!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:#967b49!important;
  text-decoration:none!important;
}
html[lang="th"] .room-detail-page .room-back-link{
  letter-spacing:0!important;
  text-transform:none!important;
}
.room-detail-page .room-back-link::before{display:none!important;}
.room-detail-page .room-back-arrow{
  display:block!important;
  width:36px!important;
  height:20px!important;
  flex:0 0 36px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.7!important;
  stroke-linecap:square!important;
  stroke-linejoin:miter!important;
  transition:transform .18s ease!important;
}
.room-detail-page .room-back-link:hover .room-back-arrow,
.room-detail-page .room-back-link:focus-visible .room-back-arrow{transform:translateX(-4px);}

.room-detail-page .room-photo-carousel{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  aspect-ratio:16 / 9!important;
  overflow:hidden!important;
  background:var(--park-paper-deep)!important;
  touch-action:pan-y pinch-zoom!important;
}
.room-detail-page .room-photo-carousel::before{display:none!important;}
.room-detail-page .room-photo-track{
  display:flex!important;
  width:100%!important;
  height:100%!important;
  gap:0!important;
  padding:0!important;
  overflow:visible!important;
  scroll-snap-type:none!important;
  scroll-padding:0!important;
  scrollbar-width:auto!important;
  overscroll-behavior:auto!important;
  scroll-behavior:auto!important;
  position:relative!important;
  z-index:1!important;
  backface-visibility:hidden!important;
}
.room-detail-page .room-photo-slide{
  flex:0 0 100%!important;
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  scroll-snap-align:none!important;
  scroll-snap-stop:normal!important;
  overflow:hidden!important;
  background:var(--park-paper-deep)!important;
}
.room-detail-page .room-photo-slide>.responsive-picture{
  display:block!important;
  width:100%!important;
  height:100%!important;
}
.room-detail-page .room-photo-slide img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
}
.room-detail-page .room-photo-controls{
  position:absolute!important;
  inset:0!important;
  z-index:5!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  pointer-events:none!important;
}
.room-detail-page .room-photo-dots{
  position:absolute!important;
  left:clamp(14px,1.8vw,24px)!important;
  bottom:clamp(12px,1.5vw,20px)!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  gap:2px!important;
  pointer-events:auto!important;
}
.room-detail-page .room-photo-dot{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:28px!important;
  height:28px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  cursor:pointer!important;
}
.room-detail-page .room-photo-dot span{
  display:block!important;
  width:7px!important;
  height:7px!important;
  border-radius:50%!important;
  background:rgba(250,249,246,.56)!important;
  box-shadow:0 1px 4px rgba(0,0,0,.34)!important;
  transition:transform .18s ease,background-color .18s ease!important;
}
.room-detail-page .room-photo-dot[aria-current="true"] span{
  background:#faf9f6!important;
  transform:scale(1.25)!important;
}
.room-detail-page .room-photo-dot:focus-visible{
  outline:1px solid #faf9f6!important;
  outline-offset:-2px!important;
}
.room-detail-page .room-photo-nav-group{
  position:absolute!important;
  right:0!important;
  bottom:0!important;
  z-index:2!important;
  display:flex!important;
  grid-template-columns:none!important;
  align-items:stretch!important;
  gap:1px!important;
  pointer-events:auto!important;
  background:rgba(32,32,29,.16)!important;
}
.room-detail-page .room-photo-nav-group button{
  display:grid!important;
  place-items:center!important;
  width:54px!important;
  height:54px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:rgba(250,249,246,.96)!important;
  color:var(--ink)!important;
  cursor:pointer!important;
  transition:background-color .18s ease,color .18s ease,opacity .18s ease!important;
}
.room-detail-page .room-photo-nav-group button:hover,
.room-detail-page .room-photo-nav-group button:focus-visible{
  background:#e7e3dc!important;
}
.room-detail-page .room-photo-nav-group button:focus-visible{
  outline:2px solid #967b49!important;
  outline-offset:-3px!important;
}
.room-detail-page .room-photo-nav-group button:disabled{
  opacity:.42!important;
  cursor:default!important;
}
.room-detail-page .room-photo-nav-group button svg{
  display:block!important;
  width:28px!important;
  height:28px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.5!important;
  stroke-linecap:square!important;
  stroke-linejoin:miter!important;
  transition:transform .18s ease!important;
}
.room-detail-page .room-photo-nav-group [data-room-gallery-prev]:hover:not(:disabled) svg,
.room-detail-page .room-photo-nav-group [data-room-gallery-prev]:focus-visible:not(:disabled) svg{transform:translateX(-2px)!important;}
.room-detail-page .room-photo-nav-group [data-room-gallery-next]:hover:not(:disabled) svg,
.room-detail-page .room-photo-nav-group [data-room-gallery-next]:focus-visible:not(:disabled) svg{transform:translateX(2px)!important;}
.room-detail-page .room-photo-carousel.is-single .room-photo-controls{display:none!important;}

@media(max-width:760px){
  .room-detail-page .room-detail-hero{
    padding:14px 18px 54px!important;
  }
  .room-detail-page .room-detail-topline{
    padding:0!important;
    margin-bottom:14px!important;
  }
  .room-detail-page .room-back-link{
    gap:10px!important;
    font-size:13px!important;
  }
  .room-detail-page .room-back-arrow{
    width:32px!important;
    height:18px!important;
    flex-basis:32px!important;
  }
  .room-detail-page .room-photo-carousel{
    aspect-ratio:16 / 9!important;
  }
  .room-detail-page .room-photo-nav-group button{
    width:48px!important;
    height:48px!important;
  }
  .room-detail-page .room-photo-nav-group button svg{
    width:25px!important;
    height:25px!important;
  }
  .room-detail-page .room-photo-dots{
    left:10px!important;
    bottom:8px!important;
  }
  .room-detail-page .room-photo-dot{
    width:26px!important;
    height:26px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .room-detail-page .room-back-arrow,
  .room-detail-page .room-photo-dot span,
  .room-detail-page .room-photo-nav-group button,
  .room-detail-page .room-photo-nav-group button svg{transition:none!important;}
  .room-detail-page .room-back-link:hover .room-back-arrow,
  .room-detail-page .room-back-link:focus-visible .room-back-arrow,
  .room-detail-page .room-photo-nav-group button svg{transform:none!important;}
}

/* ======================================================================
   v5.47 — Room-detail white editorial surface + compact three-column facts
   Match the homepage light-surface hierarchy: dark-gold headings, black copy,
   no tinted content panels. Long room-detail bullets use three balanced
   columns on wide screens, two on tablet, one on mobile.
   ====================================================================== */
.room-detail-page,
.room-detail-page main,
.room-detail-page .room-detail-hero,
.room-detail-page .room-detail-editorial,
.room-detail-page .room-detail-guest-info,
.room-detail-page .room-detail-cta{
  background:#fff!important;
}

/* Main editorial block: copy first, then a full-width compact detail list. */
.room-detail-page .room-detail-editorial{
  padding:clamp(52px,4.6vw,72px) var(--room-detail-gutter) clamp(56px,5vw,76px)!important;
}
.room-detail-page .room-detail-editorial-grid{
  max-width:1240px!important;
  grid-template-columns:1fr!important;
  gap:clamp(34px,3.6vw,48px)!important;
}
.room-detail-page .room-detail-editorial-copy{
  max-width:820px;
}
.room-detail-page .room-detail-editorial-copy h1,
.room-detail-page .room-detail-editorial-features h2,
.room-detail-page .room-detail-guest-info .room-detail-section-heading h2,
.room-detail-page .room-detail-cta h2{
  color:var(--park-heading-gold-light,#735e37)!important;
}
.room-detail-page .room-detail-description,
.room-detail-page .room-detail-feature-list li,
.room-detail-page .room-detail-feature-list strong,
.room-detail-page .room-detail-feature-list span,
.room-detail-page .room-detail-guest-info .room-detail-amenity-list li,
.room-detail-page .room-detail-guest-info .room-detail-amenity-list strong,
.room-detail-page .room-detail-guest-info .room-detail-amenity-list span,
.room-detail-page .room-detail-guest-info .room-detail-amenity-list small{
  color:#1b1b18!important;
}
.room-detail-page .room-detail-feature-list li::marker,
.room-detail-page .room-detail-guest-info .room-detail-amenity-list li::marker{
  color:var(--park-heading-gold-light,#735e37)!important;
}

/* Three columns are for the long room-detail bullet list itself. */
.room-detail-page .room-detail-feature-list{
  columns:3!important;
  column-gap:clamp(38px,4.2vw,64px)!important;
  column-rule:0!important;
  max-width:none!important;
  padding-left:1.15em!important;
}
.room-detail-page .room-detail-feature-list li{
  break-inside:avoid-column!important;
  margin-bottom:10px!important;
  font-size:14.5px!important;
  line-height:1.58!important;
}

/* Guest information stays on the same white surface and uses one compact row. */
.room-detail-page .room-detail-guest-info{
  border-top:1px solid var(--line)!important;
  padding:clamp(38px,3.5vw,52px) var(--room-detail-gutter) clamp(42px,3.8vw,56px)!important;
  grid-template-columns:minmax(180px,.48fr) minmax(0,1.52fr)!important;
  gap:clamp(34px,4vw,64px)!important;
}
.room-detail-page .room-detail-guest-info .room-detail-section-heading{
  justify-self:end!important;
  max-width:280px!important;
}
.room-detail-page .room-detail-guest-info .room-detail-amenity-list{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px clamp(22px,2.7vw,40px)!important;
  padding-left:1.15em!important;
}
.room-detail-page .room-detail-guest-info .room-detail-amenity-list li{
  font-size:14px!important;
  line-height:1.55!important;
}

/* Keep the closing action on white too, with the same light-surface hierarchy. */
.room-detail-page .room-detail-cta{
  border-top:1px solid var(--line)!important;
  padding:clamp(42px,3.8vw,58px) var(--room-detail-gutter) clamp(46px,4vw,62px)!important;
  color:#1b1b18!important;
}
.room-detail-page .room-detail-cta-link{
  color:#1b1b18!important;
}
.room-detail-page .room-detail-cta-link::after{
  background-color:#1b1b18!important;
}

@media(max-width:1080px){
  .room-detail-page .room-detail-feature-list{
    columns:2!important;
    column-gap:40px!important;
  }
  .room-detail-page .room-detail-guest-info{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  .room-detail-page .room-detail-guest-info .room-detail-section-heading{
    justify-self:start!important;
    max-width:none!important;
  }
  .room-detail-page .room-detail-guest-info .room-detail-amenity-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  .room-detail-page .room-detail-editorial{
    padding:44px 18px 52px!important;
  }
  .room-detail-page .room-detail-editorial-grid{
    gap:32px!important;
  }
  .room-detail-page .room-detail-feature-list{
    columns:1!important;
    column-gap:0!important;
  }
  .room-detail-page .room-detail-guest-info{
    padding:38px 18px 44px!important;
  }
  .room-detail-page .room-detail-guest-info .room-detail-amenity-list{
    grid-template-columns:1fr!important;
  }
  .room-detail-page .room-detail-cta{
    padding:40px 18px 48px!important;
  }
}


/* ======================================================================
   v5.48 — Room-detail verification fixes
   Keep light-surface typography fully consistent with the homepage.
   ====================================================================== */
.room-detail-page .room-back-link{
  color:var(--park-heading-gold-light,#735e37)!important;
  min-height:44px!important;
}
.room-detail-page .room-detail-meta{
  color:#1b1b18!important;
}

/* ======================================================================
   v5.49 — room carousel reliability + explicit BACK clearance
   Room pages use the browser's native CSS Scroll Snap carousel:
   one 16:9 slide at a time, no peeking, no CDN/runtime library. Circular
   navigation uses one standard edge clone per side and normalizes after wrap.
   BACK gets its own clearly separated row below the sticky navigation.
   ====================================================================== */
.room-detail-page .room-detail-hero{
  padding-top:clamp(30px,3vw,42px)!important;
}
.room-detail-page .room-detail-topline{
  position:relative!important;
  z-index:1!important;
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  margin-bottom:clamp(18px,1.8vw,26px)!important;
}
.room-detail-page .room-photo-track{
  display:flex!important;
  width:100%!important;
  height:100%!important;
  gap:0!important;
  padding:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scroll-padding:0!important;
  scrollbar-width:none!important;
  overscroll-behavior-inline:contain!important;
  -webkit-overflow-scrolling:touch;
  scroll-behavior:auto!important;
}
.room-detail-page .room-photo-track::-webkit-scrollbar{
  display:none!important;
}
.room-detail-page .room-photo-slide{
  flex:0 0 100%!important;
  width:100%!important;
  min-width:100%!important;
  height:100%!important;
  scroll-snap-align:start!important;
  scroll-snap-stop:normal!important;
}
/* Controls are part of the carousel UI whenever there is more than one image. */
.room-detail-page .room-photo-carousel:not(.is-single) .room-photo-controls{
  display:block!important;
}
.room-detail-page .room-photo-carousel.is-single .room-photo-controls{
  display:none!important;
}
@media(max-width:760px){
  .room-detail-page .room-detail-hero{
    padding-top:24px!important;
  }
  .room-detail-page .room-detail-topline{
    min-height:44px!important;
    margin-bottom:16px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .room-detail-page .room-photo-track{scroll-behavior:auto!important;}
}

/* ======================================================================
   v5.50 — room-detail runtime hardening
   The global site header is fixed, so room pages explicitly reserve its
   current responsive height before the BACK row. Native horizontal Scroll
   Snap also needs normal horizontal touch panning.
   ====================================================================== */
.room-detail-page main{
  padding-top:60px!important;
}
.room-detail-page .room-photo-carousel{
  touch-action:auto!important;
}
@media(max-width:1060px){
  .room-detail-page main{padding-top:56px!important;}
}
@media(max-width:760px){
  .room-detail-page main{padding-top:52px!important;}
}

/* ======================================================================
   v5.55 — room photo scale, grid BACK rail, Hyatt-style pagination dots
   Room photo stage is 10% smaller in both width and 16:9 height. On wide
   desktops BACK moves beside the carousel's upper-left edge to save vertical
   space. Pagination uses the homepage lighter hospitality gold; the active dot
   keeps a crisp white border.
   ====================================================================== */
.room-detail-page .room-photo-carousel{
  width:90%!important;
  margin-inline:auto!important;
}
.room-detail-page .room-photo-dot span{
  width:7px!important;
  height:7px!important;
  border:1px solid transparent!important;
  box-sizing:border-box!important;
  background:#fff!important;
  box-shadow:0 1px 4px rgba(0,0,0,.34)!important;
  transform:none!important;
}
.room-detail-page .room-photo-dot[aria-current="true"] span{
  width:11px!important;
  height:11px!important;
  border:2px solid #fff!important;
  background:var(--park-accent,#b59a70)!important;
  box-shadow:0 1px 5px rgba(0,0,0,.36)!important;
  transform:none!important;
}

/* Use the 5% left margin created by the 90% photo as a normal grid rail.
   This keeps BACK aligned beside the carousel without absolute-position math. */
@media(min-width:1320px){
  .room-detail-page .room-detail-hero{
    display:grid!important;
    grid-template-columns:5% 90% 5%!important;
    align-items:start!important;
  }
  .room-detail-page .room-detail-topline{
    position:static!important;
    grid-column:1!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:start!important;
    width:max-content!important;
    min-height:44px!important;
    margin:0 18px 0 0!important;
    padding:0!important;
    display:flex!important;
    align-items:flex-start!important;
  }
  .room-detail-page .room-photo-carousel{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    margin:0!important;
  }
}

/* At narrower widths BACK stays above the carousel to avoid crowding. */
@media(max-width:1319px){
  .room-detail-page .room-detail-topline{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    width:auto!important;
  }
}

/* Keep the four-part footer inside the viewport on small tablets. */
@media(min-width:761px) and (max-width:900px){
  .site-footer.site-footer-contact .footer-contact-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .site-footer.site-footer-contact .footer-social-item{
    grid-column:auto!important;
  }
}


/* ======================================================================
   v5.54 — slightly larger room BACK label
   Increase the text size equally in English and Thai without changing the
   established arrow, spacing, hit area, or responsive placement.
   ====================================================================== */
.room-detail-page .room-back-link{
  font-size:15px!important;
}
@media(max-width:760px){
  .room-detail-page .room-back-link{font-size:14px!important;}
}

/* ======================================================================
   v5.60 — room carousel navigation spacing
   Keep the next button close to the lower-right image corner while making
   the gap between previous/next visibly larger than that corner inset.
   ====================================================================== */
.room-detail-page .room-photo-nav-group{
  right:7px!important;
  bottom:7px!important;
  gap:18px!important;
  background:transparent!important;
}
@media(max-width:760px){
  .room-detail-page .room-photo-nav-group{
    right:6px!important;
    bottom:6px!important;
    gap:16px!important;
  }
}

/* ======================================================================
   v5.57 — slightly larger room carousel arrow icons
   Keep the established button boxes, spacing and inset position unchanged;
   only enlarge the SVG chevrons for clearer visual affordance.
   ====================================================================== */
.room-detail-page .room-photo-nav-group button svg{
  width:31px!important;
  height:31px!important;
}
@media(max-width:760px){
  .room-detail-page .room-photo-nav-group button svg{
    width:28px!important;
    height:28px!important;
  }
}

/* ======================================================================
   v5.58 — tighter room photo-to-copy rhythm
   Use one homepage-sized vertical gap between the 16:9 room carousel and
   the editorial room information, rather than stacking hero bottom padding
   and editorial top padding.
   ====================================================================== */
.room-detail-page .room-detail-hero{
  padding-bottom:0!important;
}
.room-detail-page .room-detail-editorial{
  padding-top:clamp(52px,4.5vw,68px)!important;
}
@media(max-width:760px){
  .room-detail-page .room-detail-hero{
    padding-bottom:0!important;
  }
  .room-detail-page .room-detail-editorial{
    padding-top:52px!important;
  }
}


/* ======================================================================
   v5.62 — room carousel end-to-end sweep
   Boundary arrow navigation now scrolls across the real slide strip so all
   intermediate photos remain visible. No edge clones are used. Snap-stop is
   normal so a smooth end-to-end programmatic scroll is not trapped at an
   intermediate snap point.
   ====================================================================== */
.room-detail-page .room-photo-slide{scroll-snap-stop:normal!important;}


/* ======================================================================
   v5.64 — English header hotel-name family
   Match the English hotel name in the persistent top navigation to the
   homepage section-heading family (Raleway). Thai branding is unchanged.
   ====================================================================== */
html[lang="en"] .site-header .brand-name{
  font-family:"Raleway",Arial,sans-serif!important;
}


/* ======================================================================
   v5.65 — room carousel control refinement
   Inactive pagination dots are solid white. Reduce the visible previous/next
   square button boxes by exactly 10% while preserving arrow sizing, spacing
   and lower-right positioning.
   ====================================================================== */
.room-detail-page .room-photo-nav-group button{
  width:48.6px!important;
  height:48.6px!important;
}
@media(max-width:760px){
  .room-detail-page .room-photo-nav-group button{
    width:43.2px!important;
    height:43.2px!important;
  }
}

/* ======================================================================
   v5.67 — room carousel dot/control refinement
   Keep the active pagination dot at the same 11px outside diameter while
   thinning its white border so the light-gold center occupies more area.
   Double the navigation group's lower-right inset and reduce the square
   button boxes by about 15%, preserving arrow icon sizes and button gap.
   ====================================================================== */
.room-detail-page .room-photo-dot[aria-current="true"] span{
  width:11px!important;
  height:11px!important;
  border-width:1.5px!important;
  border-color:#fff!important;
  background:var(--park-accent,#b59a70)!important;
}
.room-detail-page .room-photo-nav-group{
  right:14px!important;
  bottom:14px!important;
}
.room-detail-page .room-photo-nav-group button{
  width:41.3px!important;
  height:41.3px!important;
}
@media(max-width:760px){
  .room-detail-page .room-photo-nav-group{
    right:12px!important;
    bottom:12px!important;
  }
  .room-detail-page .room-photo-nav-group button{
    width:36.7px!important;
    height:36.7px!important;
  }
}


/* ======================================================================
   v5.68 — room carousel single-action navigation lock
   Ignore additional previous/next activations while the current native
   scroll movement is still executing. Keep the visual treatment unchanged.
   ====================================================================== */
.room-detail-page .room-photo-carousel.is-nav-locked .room-photo-nav-group button{
  pointer-events:none!important;
}


/* ======================================================================
   v5.70 — room carousel controls + homepage nav refinement
   Slightly enlarge the room carousel button boxes, widen their separation,
   add a subtle hairline to inactive pagination dots, and replace the homepage
   Location nav item with the more actionable Find Us destination.
   ====================================================================== */
.room-detail-page .room-photo-dot:not([aria-current="true"]) span{
  background:#fff!important;
  border:.5px solid rgba(205,205,205,.9)!important;
}
.room-detail-page .room-photo-nav-group{
  gap:19.3px!important;
}
.room-detail-page .room-photo-nav-group button{
  width:43.4px!important;
  height:43.4px!important;
}
@media(max-width:760px){
  .room-detail-page .room-photo-nav-group{
    gap:17.1px!important;
  }
  .room-detail-page .room-photo-nav-group button{
    width:38.5px!important;
    height:38.5px!important;
  }
}

/* ======================================================================
   v5.71 — top-nav hotel-name scale and weight
   Make the hotel name more prominent while reducing weight. Preserve the
   existing English Raleway / Thai family assignments and responsive header.
   ====================================================================== */
.site-header .brand-name{
  font-size:22px!important;
  font-weight:400!important;
}
.site-header.is-compact .brand-name{
  font-size:20px!important;
  font-weight:400!important;
}
@media(max-width:1060px){
  .site-header .brand-name{font-size:21px!important;}
  .site-header.is-compact .brand-name{font-size:19px!important;}
}
@media(max-width:760px){
  .site-header .brand-name{font-size:19px!important;}
  .site-header.is-compact .brand-name{font-size:18px!important;}
}
@media(max-width:430px){
  .site-header:not(.room-detail-header) .brand-name{font-size:16.5px!important;}
}

/* ======================================================================
   v5.73 — room carousel micro-refinement + lighter nav brand
   Use a true 1px light-grey outline on inactive white pagination dots,
   widen previous/next separation by about 8%, and lighten the top-nav
   hotel-name weight while preserving all existing sizes and font families.
   ====================================================================== */
.room-detail-page .room-photo-dot:not([aria-current="true"]) span{
  background:#fff!important;
  border:1px solid rgba(205,205,205,.9)!important;
}
.room-detail-page .room-photo-nav-group{
  gap:20.8px!important;
}
.site-header .brand-name{
  font-weight:300!important;
}
.site-header.is-compact .brand-name{
  font-weight:300!important;
}
@media(max-width:760px){
  .room-detail-page .room-photo-nav-group{
    gap:18.5px!important;
  }
}


/* ======================================================================
   v5.74 — Hyatt-inspired compact three-column room editorial layout
   Wide screens: room summary / amenities column 1 / amenities column 2.
   Keep the factual Jumbotel content, but reduce title scale and move the
   enquiry action into the summary column to shorten the page.
   ====================================================================== */
@media(min-width:981px){
  .room-detail-page .room-detail-editorial{
    padding:clamp(44px,3.5vw,58px) var(--room-detail-gutter) clamp(48px,3.8vw,62px)!important;
  }
  .room-detail-page .room-detail-editorial-grid{
    max-width:1240px!important;
    display:grid!important;
    grid-template-columns:minmax(0,.92fr) minmax(0,1fr) minmax(0,1fr)!important;
    gap:clamp(38px,4.2vw,64px)!important;
    align-items:start!important;
  }
  .room-detail-page .room-detail-editorial-copy{
    grid-column:1!important;
    max-width:none!important;
  }
  .room-detail-page .room-detail-editorial-features{
    grid-column:2 / 4!important;
    min-width:0!important;
  }
  .room-detail-page .room-detail-feature-list{
    columns:2!important;
    column-gap:clamp(38px,4vw,58px)!important;
    column-fill:balance!important;
    padding-left:1.05em!important;
  }
}
.room-detail-page .room-detail-editorial-copy h1{
  font-size:clamp(29px,2.25vw,34px)!important;
  font-weight:400!important;
  line-height:1.1!important;
  letter-spacing:-.018em!important;
}
html[lang="th"] .room-detail-page .room-detail-editorial-copy h1{
  font-size:clamp(30px,2.35vw,36px)!important;
  font-weight:400!important;
  line-height:1.28!important;
  letter-spacing:0!important;
}
.room-detail-page .room-detail-meta{
  margin:14px 0 0!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.55!important;
  letter-spacing:.018em!important;
}
html[lang="th"] .room-detail-page .room-detail-meta{
  font-size:14px!important;
  line-height:1.7!important;
}
.room-detail-page .room-detail-description{
  max-width:390px!important;
  margin:20px 0 0!important;
  font-size:15px!important;
  font-weight:300!important;
  line-height:1.72!important;
}
html[lang="th"] .room-detail-page .room-detail-description{
  line-height:1.86!important;
}
.room-detail-page .room-detail-editorial-features h2{
  margin:1px 0 18px!important;
  font-size:15px!important;
  font-weight:600!important;
  line-height:1.35!important;
  letter-spacing:.055em!important;
  color:var(--park-heading-gold-light,#735e37)!important;
}
html[lang="th"] .room-detail-page .room-detail-editorial-features h2{
  font-size:15.5px!important;
  line-height:1.55!important;
  letter-spacing:0!important;
}
.room-detail-page .room-detail-feature-list li{
  margin-bottom:9px!important;
  font-size:14px!important;
  line-height:1.5!important;
}
.room-detail-page .room-detail-inline-enquire{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  margin-top:24px!important;
  padding:9px 18px!important;
  border:1px solid var(--park-heading-gold-light,#735e37)!important;
  color:var(--park-heading-gold-light,#735e37)!important;
  background:#fff!important;
  font-family:var(--room-detail-heading-family)!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.2!important;
  letter-spacing:.055em!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  transition:background-color .18s ease,color .18s ease!important;
}
.room-detail-page .room-detail-inline-enquire:hover,
.room-detail-page .room-detail-inline-enquire:focus-visible{
  background:var(--park-heading-gold-light,#735e37)!important;
  color:#fff!important;
}
html[lang="th"] .room-detail-page .room-detail-inline-enquire{
  font-size:14px!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
/* The old bottom enquiry band is intentionally removed in v5.74. */
.room-detail-page .room-detail-guest-info{
  padding-top:clamp(30px,2.8vw,42px)!important;
  padding-bottom:clamp(34px,3vw,46px)!important;
}
@media(max-width:980px) and (min-width:761px){
  .room-detail-page .room-detail-editorial-grid{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
    gap:42px!important;
  }
  .room-detail-page .room-detail-editorial-copy{grid-column:1!important;}
  .room-detail-page .room-detail-editorial-features{grid-column:2!important;}
  .room-detail-page .room-detail-feature-list{
    columns:1!important;
    padding-left:1.05em!important;
  }
}
@media(max-width:760px){
  .room-detail-page .room-detail-editorial-copy h1{
    font-size:30px!important;
  }
  html[lang="th"] .room-detail-page .room-detail-editorial-copy h1{
    font-size:31px!important;
  }
  .room-detail-page .room-detail-description{
    max-width:620px!important;
  }
  .room-detail-page .room-detail-inline-enquire{
    margin-top:22px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .room-detail-page .room-detail-inline-enquire{transition:none!important;}
}

/* ======================================================================
   v5.77 — tighter room carousel-to-editorial spacing
   Reduce only the vertical gap between the 16:9 room carousel and the
   compact room-information block. Preserve the 3-column editorial layout.
   ====================================================================== */
.room-detail-page .room-detail-editorial{
  padding-top:clamp(38px,3.2vw,48px)!important;
}
@media(max-width:980px) and (min-width:761px){
  .room-detail-page .room-detail-editorial{
    padding-top:40px!important;
  }
}
@media(max-width:760px){
  .room-detail-page .room-detail-editorial{
    padding-top:36px!important;
  }
}


/* ======================================================================
   v5.78 — Hyatt-style In-Room Amenities editorial list
   Remove facts already communicated in the room summary and render the
   remaining verified amenities as plain editorial bullet phrases.
   ====================================================================== */
.room-detail-page .room-detail-editorial-features h2{
  margin:1px 0 20px!important;
  font-size:16px!important;
  font-weight:500!important;
  line-height:1.35!important;
  letter-spacing:.025em!important;
}
html[lang="th"] .room-detail-page .room-detail-editorial-features h2{
  font-size:16px!important;
  font-weight:500!important;
  line-height:1.55!important;
  letter-spacing:0!important;
}
.room-detail-page .room-detail-feature-list{
  padding-left:1.1em!important;
}
.room-detail-page .room-detail-feature-list li{
  break-inside:avoid!important;
  margin-bottom:11px!important;
  color:#1b1b18!important;
  font-size:14.5px!important;
  font-weight:300!important;
  line-height:1.58!important;
}
.room-detail-page .room-detail-feature-list li::marker{
  color:var(--park-heading-gold-light,#735e37)!important;
  font-size:.78em!important;
}
@media(max-width:760px){
  .room-detail-page .room-detail-feature-list li{
    font-size:14.5px!important;
    line-height:1.62!important;
  }
}


/* ======================================================================
   v5.85 — hotel information/policies architecture + shared footer utility row
   ====================================================================== */
.site-footer.site-footer-contact .footer-copyright-strip .footer-utility-inner{
  width:min(1240px,100%);
  margin:0 auto;
  padding:12px 0 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.site-footer.site-footer-contact .footer-copyright-strip .footer-utility-link{
  color:rgba(246,244,239,.72)!important;
  font-family:var(--font-ui)!important;
  font-size:12.5px!important;
  font-weight:400!important;
  line-height:1.4!important;
  text-decoration:none!important;
  border-bottom:1px solid rgba(246,244,239,.28)!important;
  padding-bottom:1px;
}
.site-footer.site-footer-contact .footer-copyright-strip .footer-utility-link:hover,
.site-footer.site-footer-contact .footer-copyright-strip .footer-utility-link:focus-visible{
  color:#f6f4ef!important;
  border-bottom-color:rgba(246,244,239,.78)!important;
}
.site-footer.site-footer-contact .footer-copyright-strip .footer-utility-inner small{
  width:auto!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  flex:0 0 auto;
  text-align:right!important;
}
.hotel-information .hotel-information-link{
  margin-top:26px;
}

.hotel-policies-page{background:#f7f5f0;color:var(--park-dark-text,#25231f);}
.hotel-policies-main{
  width:100%;
  padding:clamp(118px,11vw,154px) var(--pad) clamp(76px,7vw,104px);
}
.hotel-policies-hero,
.hotel-policies-section{
  width:min(1120px,100%);
  margin:0 auto;
}
.hotel-policies-hero{
  padding:clamp(34px,4vw,54px) 0 clamp(46px,5vw,68px);
  border-bottom:1px solid var(--line);
}
.hotel-policies-hero .eyebrow{margin:0 0 18px;}
.hotel-policies-hero h1{
  max-width:860px;
  margin:0;
  font-family:var(--homepage-section-heading-family)!important;
  font-size:clamp(38px,5.3vw,70px);
  font-weight:300;
  line-height:1.04;
  letter-spacing:-.025em;
  color:var(--park-heading-gold-light,#735e37);
}
html[lang="th"] .hotel-policies-hero h1{
  font-family:'Bai Jamjuree',var(--font-ui),sans-serif;
  font-size:clamp(35px,4.7vw,60px);
  line-height:1.18;
  letter-spacing:0;
}
.hotel-policies-hero>p:last-child{
  max-width:760px;
  margin:28px 0 0;
  font-family:var(--font-ui);
  font-size:17px;
  font-weight:300;
  line-height:1.75;
  color:var(--park-dark-text,#25231f);
}
html[lang="th"] .hotel-policies-hero>p:last-child{line-height:1.85;}
.hotel-policies-section{
  display:grid;
  grid-template-columns:minmax(190px,.65fr) minmax(0,1.35fr);
  gap:clamp(42px,7vw,94px);
  padding:clamp(44px,4.5vw,62px) 0;
  border-bottom:1px solid var(--line);
}
.hotel-policies-section-last{border-bottom:0;padding-bottom:0;}
.hotel-policies-section h2{
  margin:0;
  font-family:var(--homepage-section-heading-family)!important;
  font-size:clamp(25px,2.7vw,34px);
  font-weight:300;
  line-height:1.16;
  color:var(--park-heading-gold-light,#735e37);
}
html[lang="th"] .hotel-policies-section h2{
  font-family:'Bai Jamjuree',var(--font-ui),sans-serif;
  line-height:1.35;
}
.hotel-policies-facts{margin:0;}
.hotel-policies-facts>div{
  display:grid;
  grid-template-columns:minmax(130px,.85fr) minmax(0,1.15fr);
  gap:24px;
  padding:15px 0;
  border-top:1px solid rgba(37,35,31,.14);
}
.hotel-policies-facts>div:first-child{padding-top:0;border-top:0;}
.hotel-policies-facts dt,
.hotel-policies-facts dd,
.hotel-policies-copy p,
.hotel-policies-list li{
  font-family:var(--font-ui);
  font-size:15px;
  line-height:1.72;
}
.hotel-policies-facts dt{font-weight:400;color:var(--muted,#68645d);}
.hotel-policies-facts dd{margin:0;font-weight:400;color:var(--park-dark-text,#25231f);}
.hotel-policies-copy p{max-width:720px;margin:0 0 18px;font-weight:300;}
.hotel-policies-copy p:last-child{margin-bottom:0;}
.hotel-policies-list{margin:0;padding:0 0 0 1.15em;display:grid;gap:12px;}
.hotel-policies-list li{font-weight:300;padding-left:2px;}
.hotel-policies-list li::marker{color:#8d7346;}
@media(max-width:980px){
  .hotel-policies-section{grid-template-columns:1fr;gap:24px;}
}
@media(max-width:760px){
  .site-footer.site-footer-contact .footer-copyright-strip .footer-utility-inner{
    padding:12px 0 13px;
    flex-direction:column;
    justify-content:center;
    gap:7px;
    text-align:center;
  }
  .site-footer.site-footer-contact .footer-copyright-strip .footer-utility-inner small{
    text-align:center!important;
  }
  .hotel-information .hotel-information-link{margin-top:22px;}
  .hotel-policies-main{padding:104px 18px 68px;}
  .hotel-policies-hero{padding:30px 0 42px;}
  .hotel-policies-hero>p:last-child{font-size:15px;line-height:1.78;margin-top:22px;}
  html[lang="th"] .hotel-policies-hero>p:last-child{line-height:1.88;}
  .hotel-policies-section{padding:38px 0;gap:20px;}
  .hotel-policies-facts>div{grid-template-columns:1fr;gap:4px;padding:13px 0;}
  .hotel-policies-facts dt,.hotel-policies-facts dd,.hotel-policies-copy p,.hotel-policies-list li{font-size:14px;}
}

/* ======================================================================
   v5.87 — tighter room information + compact readable policy page
   Room preferences now sit directly beneath In-Room Amenities inside the
   same editorial feature columns. Policy content uses a compact single-flow
   light-surface layout with explicit dark copy for reliable contrast.
   ====================================================================== */

/* Room carousel -> copy: reclaim a little more vertical space. */
.room-detail-page .room-detail-editorial{
  padding-top:clamp(30px,2.55vw,38px)!important;
}
@media(max-width:980px) and (min-width:761px){
  .room-detail-page .room-detail-editorial{padding-top:32px!important;}
}
@media(max-width:760px){
  .room-detail-page .room-detail-editorial{padding-top:28px!important;}
}

/* Keep room-specific preferences inside the amenities side of the editorial grid. */
.room-detail-page .room-detail-preferences{
  margin-top:18px!important;
  padding-top:15px!important;
  border-top:1px solid rgba(27,27,24,.14)!important;
  color:#1b1b18!important;
}
.room-detail-page .room-detail-preferences h2{
  margin:0 0 8px!important;
  color:var(--park-heading-gold-light,#735e37)!important;
  font-family:var(--room-detail-heading-family)!important;
  font-size:15px!important;
  font-weight:500!important;
  line-height:1.35!important;
  letter-spacing:.02em!important;
}
html[lang="th"] .room-detail-page .room-detail-preferences h2{
  font-size:15.5px!important;
  line-height:1.5!important;
  letter-spacing:0!important;
}
.room-detail-page .room-detail-preferences .room-detail-amenity-list{
  display:block!important;
  columns:1!important;
  width:100%!important;
  margin:0!important;
  padding:0 0 0 1.1em!important;
  border:0!important;
  list-style:disc!important;
}
.room-detail-page .room-detail-preferences .room-detail-amenity-list li{
  display:list-item!important;
  break-inside:avoid!important;
  min-height:0!important;
  margin:0 0 4px!important;
  padding:0!important;
  border:0!important;
  color:#1b1b18!important;
  font-family:var(--font-ui)!important;
  font-size:15px!important;
  font-weight:300!important;
  line-height:1.62!important;
  text-align:left!important;
}
.room-detail-page .room-detail-preferences .room-detail-amenity-list li::marker{
  color:var(--park-heading-gold-light,#735e37)!important;
  font-size:.78em!important;
}
.room-detail-page .room-detail-preferences .room-detail-amenity-list li:last-child{
  margin-bottom:0!important;
}
@media(max-width:980px){
  .room-detail-page .room-detail-preferences .room-detail-amenity-list{
    columns:1!important;
  }
}
@media(max-width:760px){
  .room-detail-page .room-detail-preferences{
    margin-top:16px!important;
    padding-top:14px!important;
  }
  .room-detail-page .room-detail-preferences .room-detail-amenity-list li{
    font-size:13.5px!important;
    line-height:1.62!important;
  }
}

/* Policy page: explicit light-surface colors; --park-dark-text is intentionally
   light for charcoal sections and must not be used for copy on this page. */
.hotel-policies-page,
.hotel-policies-page main{
  background:#f7f5f0!important;
  color:#25231f!important;
}
.hotel-policies-main{
  width:100%!important;
  padding:92px var(--pad) 66px!important;
}
.hotel-policies-hero,
.hotel-policies-section{
  width:min(980px,100%)!important;
  margin:0 auto!important;
}
.hotel-policies-hero{
  padding:24px 0 30px!important;
  border-bottom:1px solid rgba(37,35,31,.14)!important;
}
.hotel-policies-hero .eyebrow{
  margin:0 0 11px!important;
  color:#59564f!important;
}
.hotel-policies-hero h1{
  max-width:760px!important;
  margin:0!important;
  color:#735e37!important;
  font-size:clamp(38px,4.2vw,52px)!important;
  font-weight:300!important;
  line-height:1.08!important;
  letter-spacing:-.02em!important;
}
html[lang="th"] .hotel-policies-hero h1{
  font-size:clamp(35px,3.8vw,46px)!important;
  line-height:1.2!important;
  letter-spacing:0!important;
}
.hotel-policies-hero>p:last-child{
  max-width:820px!important;
  margin:16px 0 0!important;
  color:#3f3c36!important;
  font-size:14.5px!important;
  font-weight:300!important;
  line-height:1.62!important;
}
html[lang="th"] .hotel-policies-hero>p:last-child{line-height:1.75!important;}

/* One editorial flow rather than a heading/content split. */
.hotel-policies-section{
  display:block!important;
  padding:27px 0 29px!important;
  border-bottom:1px solid rgba(37,35,31,.14)!important;
}
.hotel-policies-section-last{
  border-bottom:0!important;
  padding-bottom:0!important;
}
.hotel-policies-section h2{
  max-width:820px!important;
  margin:0 0 13px!important;
  color:#735e37!important;
  font-size:21px!important;
  font-weight:400!important;
  line-height:1.24!important;
  letter-spacing:-.008em!important;
}
html[lang="th"] .hotel-policies-section h2{
  font-size:21px!important;
  line-height:1.42!important;
  letter-spacing:0!important;
}
.hotel-policies-copy,
.hotel-policies-list,
.hotel-policies-facts{
  max-width:900px!important;
}
.hotel-policies-facts{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0 24px!important;
  margin:0!important;
}
.hotel-policies-facts>div,
.hotel-policies-facts>div:first-child{
  display:block!important;
  min-width:0!important;
  padding:10px 0!important;
  border-top:1px solid rgba(37,35,31,.12)!important;
}
.hotel-policies-facts dt,
.hotel-policies-facts dd,
.hotel-policies-copy p,
.hotel-policies-list li{
  color:#25231f!important;
  font-family:var(--font-ui)!important;
  font-size:14px!important;
  line-height:1.58!important;
}
.hotel-policies-facts dt{
  margin:0 0 2px!important;
  color:#6a665f!important;
  font-size:12.5px!important;
  font-weight:400!important;
  line-height:1.45!important;
}
.hotel-policies-facts dd{
  margin:0!important;
  font-weight:400!important;
}
.hotel-policies-copy p{
  max-width:900px!important;
  margin:0 0 10px!important;
  font-weight:300!important;
}
.hotel-policies-copy p:last-child{margin-bottom:0!important;}
.hotel-policies-list{
  margin:0!important;
  padding:0 0 0 1.05em!important;
  display:grid!important;
  gap:7px!important;
}
.hotel-policies-list li{
  padding-left:1px!important;
  font-weight:300!important;
}
.hotel-policies-list li::marker{color:#8d7346!important;}

@media(max-width:980px){
  .hotel-policies-main{padding:86px 28px 60px!important;}
  .hotel-policies-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  .hotel-policies-main{padding:76px 18px 50px!important;}
  .hotel-policies-hero{padding:22px 0 26px!important;}
  .hotel-policies-hero h1{font-size:34px!important;}
  html[lang="th"] .hotel-policies-hero h1{font-size:33px!important;}
  .hotel-policies-hero>p:last-child{
    margin-top:13px!important;
    font-size:13.5px!important;
    line-height:1.62!important;
  }
  html[lang="th"] .hotel-policies-hero>p:last-child{line-height:1.75!important;}
  .hotel-policies-section{padding:22px 0 24px!important;}
  .hotel-policies-section h2,
  html[lang="th"] .hotel-policies-section h2{
    margin-bottom:10px!important;
    font-size:19px!important;
  }
  .hotel-policies-facts{grid-template-columns:1fr 1fr!important;gap:0 18px!important;}
  .hotel-policies-facts dt,
  .hotel-policies-facts dd,
  .hotel-policies-copy p,
  .hotel-policies-list li{font-size:13.5px!important;}
  .hotel-policies-facts dt{font-size:12px!important;}
  .hotel-policies-list{gap:6px!important;}
}
@media(max-width:430px){
  .hotel-policies-facts{grid-template-columns:1fr!important;}
}

/* ======================================================================
   v5.88 — footer utility parity and policy-page copy refinements
   Keep the shared utility/copyright strip visually quiet: no persistent
   underline, and match copyright typography to the policy link.
   ====================================================================== */
.site-footer.site-footer-contact .footer-copyright-strip .footer-utility-link{
  border-bottom:0!important;
  padding-bottom:0!important;
}
.site-footer.site-footer-contact .footer-copyright-strip .footer-utility-link:hover,
.site-footer.site-footer-contact .footer-copyright-strip .footer-utility-link:focus-visible{
  border-bottom-color:transparent!important;
}
.site-footer.site-footer-contact .footer-copyright-strip .footer-utility-inner small{
  color:rgba(246,244,239,.72)!important;
  font-family:var(--font-ui)!important;
  font-size:12.5px!important;
  font-weight:400!important;
  line-height:1.4!important;
}

/* ======================================================================
   v5.89 — policy-page opening band + quieter footer utility text
   The policy hero is the only light-grey content band; the remaining
   policy content stays white and begins immediately after it.
   ====================================================================== */
.site-footer.site-footer-contact .footer-copyright-strip .footer-utility-link,
.site-footer.site-footer-contact .footer-copyright-strip .footer-utility-inner small{
  color:rgba(246,244,239,.72)!important;
  font-family:var(--font-ui)!important;
  font-size:11.5px!important;
  font-weight:400!important;
  line-height:1.4!important;
}

.hotel-policies-page,
.hotel-policies-page main{
  background:#fff!important;
}
.hotel-policies-main{
  padding:60px var(--pad) 66px!important;
}
.hotel-policies-hero{
  width:calc(100% + (2 * var(--pad)))!important;
  max-width:none!important;
  margin:0 calc(-1 * var(--pad))!important;
  padding:40px max(var(--pad), calc((100vw - 980px) / 2)) 32px!important;
  background:#f5f5f3!important;
  border:0!important;
}
.hotel-policies-section{
  background:#fff!important;
}

@media(max-width:1060px){
  .hotel-policies-main{
    padding-top:56px!important;
  }
}
@media(max-width:980px){
  .hotel-policies-main{
    padding:56px 28px 60px!important;
  }
  .hotel-policies-hero{
    width:calc(100% + 56px)!important;
    margin:0 -28px!important;
    padding:36px 28px 30px!important;
  }
}
@media(max-width:760px){
  .site-footer.site-footer-contact .footer-copyright-strip .footer-utility-link,
  .site-footer.site-footer-contact .footer-copyright-strip .footer-utility-inner small{
    font-size:11px!important;
  }
  .hotel-policies-main{
    padding:52px 18px 50px!important;
  }
  .hotel-policies-hero{
    width:calc(100% + 36px)!important;
    margin:0 -18px!important;
    padding:28px 18px 26px!important;
  }
}


/* ======================================================================
   v5.94 — quieter policy hero + cohesive footer utility row
   The policy hero contains only its eyebrow and title. The footer policy
   link and copyright read as one centered utility/legal line.
   ====================================================================== */
.hotel-policies-hero>p.eyebrow{
  margin:0 0 12px!important;
  max-width:none!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:500!important;
}
.hotel-policies-hero h1{
  margin-bottom:0!important;
}
.site-footer.site-footer-contact .footer-copyright-strip .footer-utility-inner{
  justify-content:center!important;
  align-items:center!important;
  flex-direction:row!important;
  gap:0!important;
  text-align:center!important;
  flex-wrap:nowrap!important;
}
.site-footer.site-footer-contact .footer-copyright-strip .footer-utility-inner small{
  display:inline-flex!important;
  align-items:center!important;
}
.site-footer.site-footer-contact .footer-copyright-strip .footer-utility-inner small::before{
  content:"·";
  display:inline-block;
  margin:0 8px;
  color:inherit;
}
@media(max-width:430px){
  .site-footer.site-footer-contact .footer-copyright-strip .footer-utility-link,
  .site-footer.site-footer-contact .footer-copyright-strip .footer-utility-inner small{
    font-size:10.5px!important;
  }
  .site-footer.site-footer-contact .footer-copyright-strip .footer-utility-inner small::before{
    margin:0 6px;
  }
}

/* ======================================================================
   v5.95 — homepage Hotel Information link integrated with the facts row
   Keep the policy link as a quiet editorial continuation of Front desk on
   wider screens; on narrow screens it sits centered beneath all three facts.
   ====================================================================== */
.hotel-information .hotel-information-facts > .hotel-information-link.text-link{
  grid-column:3!important;
  grid-row:2!important;
  justify-self:center!important;
  margin:0!important;
  padding-bottom:1px!important;
  color:var(--park-heading-gold-light,#735e37)!important;
  border-bottom-color:rgba(115,94,55,.42)!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.4!important;
  --editorial-link-arrow-gap:6px;
  --editorial-link-arrow-width:14px;
  --editorial-link-arrow-height:10px;
}
.hotel-information .hotel-information-facts > .hotel-information-link.text-link:hover,
.hotel-information .hotel-information-facts > .hotel-information-link.text-link:focus-visible{
  color:#5f4b2d!important;
  border-bottom-color:currentColor!important;
}
html[lang="th"] .hotel-information .hotel-information-facts > .hotel-information-link.text-link{
  font-size:13.5px!important;
}
@media(max-width:760px){
  .hotel-information .hotel-information-facts > .hotel-information-link.text-link{
    grid-column:1 / -1!important;
    grid-row:auto!important;
    justify-self:center!important;
    margin-top:2px!important;
    font-size:12.5px!important;
  }
  html[lang="th"] .hotel-information .hotel-information-facts > .hotel-information-link.text-link{
    font-size:13px!important;
  }
}


/* ======================================================================
   v5.99 — rebalance the shortened hotel-amenities list.
   Twelve items form three even rows on wide screens after removing the
   ironing-room and fire-safety entries from the homepage summary.
   ====================================================================== */
@media (min-width:1081px){
  .amenities-grid-primary{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}


/* ======================================================================
   v5.100 — compact room copy + balanced homepage carousel image priority
   Tighten vertical rhythm inside the room information area without reducing
   content or font sizes. Homepage image-priority changes live in index.html.
   ====================================================================== */
.room-detail-page .room-detail-meta{
  margin-top:10px!important;
}
.room-detail-page .room-detail-description{
  margin-top:14px!important;
  line-height:1.62!important;
}
html[lang="th"] .room-detail-page .room-detail-description{
  line-height:1.74!important;
}
.room-detail-page .room-detail-inline-enquire{
  margin-top:18px!important;
}
.room-detail-page .room-detail-editorial-features>h2{
  margin-bottom:14px!important;
}
.room-detail-page .room-detail-feature-list li{
  margin-bottom:8px!important;
  line-height:1.5!important;
}
.room-detail-page .room-detail-preferences{
  margin-top:14px!important;
  padding-top:12px!important;
}
.room-detail-page .room-detail-preferences h2{
  margin-bottom:6px!important;
}
.room-detail-page .room-detail-preferences .room-detail-amenity-list li{
  margin-bottom:3px!important;
  line-height:1.5!important;
}
@media(min-width:981px){
  .room-detail-page .room-detail-editorial{
    padding-bottom:clamp(40px,3vw,50px)!important;
  }
}
@media(max-width:980px) and (min-width:761px){
  .room-detail-page .room-detail-editorial{padding-bottom:42px!important;}
}
@media(max-width:760px){
  .room-detail-page .room-detail-description{margin-top:12px!important;}
  .room-detail-page .room-detail-inline-enquire{margin-top:16px!important;}
  .room-detail-page .room-detail-editorial-features>h2{margin-bottom:12px!important;}
  .room-detail-page .room-detail-feature-list li{margin-bottom:7px!important;}
  .room-detail-page .room-detail-preferences{margin-top:12px!important;padding-top:11px!important;}
  .room-detail-page .room-detail-editorial{padding-bottom:38px!important;}
}

/* ======================================================================
   v5.105 — homepage Rooms carousel room-name typography
   Match the room detail link to the shared homepage section-heading family
   and present English room names in uppercase.
   ====================================================================== */
.rooms-smith .room-carousel-controls .carousel-enquire{
  font-family:var(--homepage-section-heading-family)!important;
  text-transform:uppercase!important;
}
html[lang="th"] .rooms-smith .room-carousel-controls .carousel-enquire{
  text-transform:none!important;
}

/* ======================================================================
   v5.106 — homepage Restaurants & Café detail-link typography
   Match the dining detail link to the shared homepage section-heading
   family and use concise uppercase English CTA wording.
   ====================================================================== */
.dining-hyatt .dining-detail-link{
  font-family:var(--homepage-section-heading-family)!important;
  text-transform:uppercase!important;
}
html[lang="th"] .dining-hyatt .dining-detail-link{
  text-transform:none!important;
}

/* ======================================================================
   v5.107 — Meetings & Groups enquiry/call actions
   Keep these as restrained editorial text actions rather than heavy buttons.
   ====================================================================== */
.meetings-hyatt-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 22px;
}
.meetings-hyatt-actions .meetings-action-link{
  font-family:var(--homepage-section-heading-family)!important;
  text-transform:uppercase!important;
  letter-spacing:.045em;
}
html[lang="th"] .meetings-hyatt-actions .meetings-action-link{
  text-transform:none!important;
  letter-spacing:0;
}

/* ======================================================================
   v5.108 — enforce shared homepage section-heading family on key CTAs.
   The html[lang] prefix intentionally outranks the legacy
   html[lang] .text-link.text-link editorial-link family rule.
   ====================================================================== */
html[lang] .rooms-smith .room-carousel-controls .carousel-enquire,
html[lang] .dining-hyatt .dining-detail-link,
html[lang] .meetings-hyatt-actions .meetings-action-link{
  font-family:var(--homepage-section-heading-family)!important;
  font-weight:var(--editorial-link-weight)!important;
  letter-spacing:var(--editorial-link-tracking)!important;
}

/* ======================================================================
   v5.110 — top-nav BOOK button typography
   Match the language-aware homepage section-heading family while preserving
   the established button size, weight, spacing and visual treatment.
   ====================================================================== */
html[lang] .site-header .book-button,
html[lang] .site-header .book-link{
  font-family:var(--homepage-section-heading-family)!important;
}

/* ======================================================================
   v5.114 — restaurant detail pages aligned to approved room-detail rhythm
   Single 16:9 photo stage (no carousel), room-style BACK control, and a
   compact white editorial content grid for summary, facts and restaurant
   story. Existing restaurant facts/content remain data-driven.
   ====================================================================== */

.dining-detail-page,
.dining-detail-page main,
.dining-detail-page .dining-detail-hero,
.dining-detail-page .dining-detail-editorial{
  background:#fff!important;
}

/* Hero/photo footprint follows the room detail pages. */
.dining-detail-page .dining-detail-hero{
  width:100%!important;
  max-width:1280px!important;
  margin:0 auto!important;
  padding:clamp(30px,3vw,42px) var(--pad) 0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.dining-detail-page .dining-detail-topline{
  width:100%!important;
  max-width:none!important;
  min-height:44px!important;
  margin:0 0 clamp(18px,1.8vw,26px)!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
}
.dining-detail-page .dining-detail-back{
  display:inline-flex!important;
  align-items:center!important;
  gap:12px!important;
  min-height:44px!important;
  padding:4px 0!important;
  border:0!important;
  font-family:var(--room-detail-heading-family)!important;
  font-size:15px!important;
  font-weight:500!important;
  line-height:1.2!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:var(--park-heading-gold-light,#735e37)!important;
  text-decoration:none!important;
}
html[lang="th"] .dining-detail-page .dining-detail-back{
  letter-spacing:0!important;
  text-transform:none!important;
}
.dining-detail-page .dining-back-arrow{
  display:block!important;
  width:36px!important;
  height:20px!important;
  flex:0 0 36px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.7!important;
  stroke-linecap:square!important;
  stroke-linejoin:miter!important;
  transition:transform .18s ease!important;
}
.dining-detail-page .dining-detail-back:hover .dining-back-arrow,
.dining-detail-page .dining-detail-back:focus-visible .dining-back-arrow{
  transform:translateX(-4px);
}

.dining-detail-page .dining-detail-image{
  width:90%!important;
  max-width:none!important;
  margin-inline:auto!important;
  padding:0!important;
}
.dining-detail-page .dining-detail-image figure{
  width:100%!important;
  aspect-ratio:16 / 9!important;
  height:auto!important;
  margin:0!important;
  overflow:hidden!important;
  background:var(--park-paper-deep)!important;
}
.dining-detail-page .dining-detail-image .responsive-picture,
.dining-detail-page .dining-detail-image picture,
.dining-detail-page .dining-detail-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
}
.dining-detail-page .dining-detail-image img{
  max-width:none!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* Content follows room-detail spacing and desktop column proportions. */
.dining-detail-page .dining-detail-editorial{
  padding:clamp(30px,2.55vw,38px) var(--pad) clamp(40px,3vw,50px)!important;
}
.dining-detail-page .dining-detail-editorial-grid{
  width:100%!important;
  max-width:1240px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(0,1fr) minmax(0,1fr)!important;
  gap:clamp(38px,4.2vw,64px)!important;
  align-items:start!important;
}
.dining-detail-page .dining-detail-editorial-copy{
  grid-column:1!important;
  min-width:0!important;
}
.dining-detail-page .dining-detail-editorial-copy h1{
  margin:0!important;
  font-family:var(--room-detail-heading-family)!important;
  font-size:clamp(29px,2.25vw,34px)!important;
  font-weight:400!important;
  line-height:1.1!important;
  letter-spacing:-.018em!important;
  color:var(--park-heading-gold-light,#735e37)!important;
}
html[lang="th"] .dining-detail-page .dining-detail-editorial-copy h1{
  font-size:clamp(30px,2.35vw,36px)!important;
  line-height:1.28!important;
  letter-spacing:0!important;
}
.dining-detail-page .dining-detail-description{
  max-width:390px!important;
  margin:14px 0 0!important;
  font-size:15px!important;
  font-weight:300!important;
  line-height:1.62!important;
  color:#1b1b18!important;
}
html[lang="th"] .dining-detail-page .dining-detail-description{
  line-height:1.74!important;
}
.dining-detail-page .dining-detail-inline-contact{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  margin-top:18px!important;
  padding:9px 18px!important;
  border:1px solid var(--park-heading-gold-light,#735e37)!important;
  color:var(--park-heading-gold-light,#735e37)!important;
  background:#fff!important;
  font-family:var(--room-detail-heading-family)!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.2!important;
  letter-spacing:.055em!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  transition:background-color .18s ease,color .18s ease!important;
}
.dining-detail-page .dining-detail-inline-contact:hover,
.dining-detail-page .dining-detail-inline-contact:focus-visible{
  background:var(--park-heading-gold-light,#735e37)!important;
  color:#fff!important;
}
html[lang="th"] .dining-detail-page .dining-detail-inline-contact{
  font-size:14px!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

/* Restaurant details occupy the same right-side footprint as room amenities. */
.dining-detail-page .dining-detail-editorial-facts{
  grid-column:2 / 4!important;
  min-width:0!important;
}
.dining-detail-page .dining-detail-editorial-facts h2,
.dining-detail-page .dining-detail-story h2{
  margin:1px 0 14px!important;
  font-family:var(--room-detail-heading-family)!important;
  font-size:16px!important;
  font-weight:500!important;
  line-height:1.35!important;
  letter-spacing:.025em!important;
  color:var(--park-heading-gold-light,#735e37)!important;
}
html[lang="th"] .dining-detail-page .dining-detail-editorial-facts h2,
html[lang="th"] .dining-detail-page .dining-detail-story h2{
  line-height:1.55!important;
  letter-spacing:0!important;
}
.dining-detail-page .dining-fact-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:11px 32px!important;
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}
.dining-detail-page .dining-fact-grid li{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(86px,.42fr) minmax(0,1fr)!important;
  gap:8px 14px!important;
  align-items:start!important;
  padding:0!important;
}
.dining-detail-page .dining-fact-grid strong,
.dining-detail-page .dining-fact-grid span{
  font-size:14px!important;
  line-height:1.55!important;
  color:#1b1b18!important;
}
.dining-detail-page .dining-fact-grid strong{
  font-weight:500!important;
}
.dining-detail-page .dining-fact-grid span{
  font-weight:300!important;
}

/* Longer restaurant story becomes the second editorial row, not a giant section. */
.dining-detail-page .dining-detail-story{
  grid-column:1 / 4!important;
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(0,2.08fr)!important;
  gap:clamp(38px,4.2vw,64px)!important;
  padding-top:clamp(30px,3vw,42px)!important;
  margin-top:2px!important;
  border-top:1px solid var(--line)!important;
}
.dining-detail-page .dining-detail-story h2{
  margin:0!important;
}
.dining-detail-page .dining-detail-body-copy{
  max-width:760px!important;
}
.dining-detail-page .dining-detail-body-copy p{
  margin:0 0 14px!important;
  font-size:15px!important;
  font-weight:300!important;
  line-height:1.7!important;
  color:#1b1b18!important;
}
.dining-detail-page .dining-detail-body-copy p:last-child{
  margin-bottom:0!important;
}
html[lang="th"] .dining-detail-page .dining-detail-body-copy p{
  line-height:1.82!important;
}

@media(min-width:1320px){
  .dining-detail-page .dining-detail-hero{
    display:grid!important;
    grid-template-columns:5% 90% 5%!important;
    align-items:start!important;
  }
  .dining-detail-page .dining-detail-topline{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:start!important;
    width:max-content!important;
    margin:0 18px 0 0!important;
    align-items:flex-start!important;
  }
  .dining-detail-page .dining-detail-image{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    margin:0!important;
  }
}

@media(max-width:1319px){
  .dining-detail-page .dining-detail-topline{
    width:auto!important;
  }
}

@media(max-width:980px) and (min-width:761px){
  .dining-detail-page .dining-detail-editorial{
    padding-top:32px!important;
    padding-bottom:42px!important;
  }
  .dining-detail-page .dining-detail-editorial-grid{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
    gap:32px 42px!important;
  }
  .dining-detail-page .dining-detail-editorial-copy{
    grid-column:1!important;
  }
  .dining-detail-page .dining-detail-editorial-facts{
    grid-column:2!important;
  }
  .dining-detail-page .dining-fact-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .dining-detail-page .dining-detail-story{
    grid-column:1 / 3!important;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
    gap:42px!important;
  }
}

@media(max-width:760px){
  .dining-detail-page .dining-detail-hero{
    padding:24px 18px 0!important;
  }
  .dining-detail-page .dining-detail-topline{
    min-height:44px!important;
    margin-bottom:16px!important;
  }
  .dining-detail-page .dining-detail-back{
    gap:10px!important;
    font-size:14px!important;
  }
  .dining-detail-page .dining-back-arrow{
    width:32px!important;
    height:18px!important;
    flex-basis:32px!important;
  }
  .dining-detail-page .dining-detail-image{
    width:90%!important;
  }
  .dining-detail-page .dining-detail-editorial{
    padding:28px 18px 38px!important;
  }
  .dining-detail-page .dining-detail-editorial-grid{
    grid-template-columns:1fr!important;
    gap:32px!important;
  }
  .dining-detail-page .dining-detail-editorial-copy,
  .dining-detail-page .dining-detail-editorial-facts,
  .dining-detail-page .dining-detail-story{
    grid-column:1!important;
  }
  .dining-detail-page .dining-detail-editorial-copy h1{
    font-size:30px!important;
  }
  html[lang="th"] .dining-detail-page .dining-detail-editorial-copy h1{
    font-size:31px!important;
  }
  .dining-detail-page .dining-detail-description{
    max-width:620px!important;
    margin-top:12px!important;
  }
  .dining-detail-page .dining-fact-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .dining-detail-page .dining-fact-grid li{
    grid-template-columns:minmax(92px,.42fr) minmax(0,1fr)!important;
  }
  .dining-detail-page .dining-detail-story{
    display:block!important;
    padding-top:28px!important;
  }
  .dining-detail-page .dining-detail-story h2{
    margin-bottom:14px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .dining-detail-page .dining-back-arrow,
  .dining-detail-page .dining-detail-inline-contact{
    transition:none!important;
  }
  .dining-detail-page .dining-detail-back:hover .dining-back-arrow,
  .dining-detail-page .dining-detail-back:focus-visible .dining-back-arrow{
    transform:none!important;
  }
}

/* v5.114 follow-up: restaurant detail heading-family scope matches room detail. */
.dining-detail-page{
  --room-detail-heading-family:"Raleway",Arial,sans-serif;
}
html[lang="th"] .dining-detail-page{
  --room-detail-heading-family:"Bai Jamjuree","Noto Sans Thai","Leelawadee UI",Tahoma,sans-serif;
}

/* v5.114 follow-up: reserve the same fixed-header height as room detail pages. */
.dining-detail-page main{
  padding-top:60px!important;
}
@media(max-width:1060px){
  .dining-detail-page main{padding-top:56px!important;}
}
@media(max-width:760px){
  .dining-detail-page main{padding-top:52px!important;}
}


/* =========================================================
   v5.116 — Suki Jumbo HTML menu + current buffet pricing
   ========================================================= */
.dining-detail-page .dining-detail-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:18px!important;
}
.dining-detail-page .dining-detail-actions .dining-detail-inline-contact{margin-top:0!important;}
.dining-detail-page .dining-detail-inline-primary{
  background:var(--park-heading-gold-light,#735e37)!important;
  color:#fff!important;
}
.dining-detail-page .dining-detail-inline-primary:hover,
.dining-detail-page .dining-detail-inline-primary:focus-visible{
  background:#fff!important;
  color:var(--park-heading-gold-light,#735e37)!important;
}

.suki-menu-page{
  --room-detail-heading-family:"Raleway",Arial,sans-serif;
  background:#fff!important;
  color:#1b1b18!important;
}
html[lang="th"] .suki-menu-page{
  --room-detail-heading-family:"Bai Jamjuree","Noto Sans Thai","Leelawadee UI",Tahoma,sans-serif;
}
.suki-menu-page main{padding-top:60px!important;background:#fff!important;}
.suki-menu-intro{padding:34px var(--pad) 38px!important;border-bottom:1px solid var(--line)!important;background:#fff!important;}
.suki-menu-intro-inner{width:100%;max-width:1240px;margin:0 auto;}
.suki-menu-back{
  display:inline-flex;align-items:center;gap:12px;margin:0 0 34px;color:#1b1b18;text-decoration:none;
  font-family:var(--room-detail-heading-family)!important;font-size:13px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;
}
html[lang="th"] .suki-menu-back{font-size:14px;letter-spacing:0;text-transform:none;}
.suki-menu-back-arrow{width:36px;height:20px;flex:0 0 36px;fill:none;stroke:currentColor;stroke-width:1.25;transition:transform .18s ease;}
.suki-menu-back:hover .suki-menu-back-arrow,.suki-menu-back:focus-visible .suki-menu-back-arrow{transform:translateX(-4px);}
.suki-menu-intro-grid{display:grid;grid-template-columns:1fr;gap:22px;justify-items:center;text-align:center;}
.suki-menu-eyebrow{margin:0 0 10px;font-family:var(--room-detail-heading-family)!important;font-size:12px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:#735e37;}
html[lang="th"] .suki-menu-eyebrow{font-size:13px;letter-spacing:0;text-transform:none;}
.suki-menu-title-block h1{margin:0;font-family:var(--room-detail-heading-family)!important;font-size:clamp(36px,4.2vw,58px);font-weight:300;line-height:1.04;letter-spacing:-.025em;color:#735e37;}
html[lang="th"] .suki-menu-title-block h1{font-size:clamp(36px,4.4vw,60px);line-height:1.25;letter-spacing:0;}
.suki-menu-title-block{width:100%;max-width:760px;margin:0 auto;text-align:center;}
.suki-menu-title-block h1{font-size:clamp(34px,3.45vw,48px);}
html[lang="th"] .suki-menu-title-block h1{font-size:clamp(35px,3.6vw,50px);}

.suki-menu-intro-copy{max-width:660px;margin:14px auto 0;font-size:15px;font-weight:300;line-height:1.7;color:#1b1b18;}
html[lang="th"] .suki-menu-intro-copy{line-height:1.82;}
.suki-menu-price-block{padding:0;border:0;text-align:center;}
.suki-menu-price{margin:0;font-family:var(--room-detail-heading-family)!important;font-size:clamp(25px,2.2vw,32px);font-weight:400;line-height:1.15;color:#735e37;}
.suki-menu-price-note{margin:8px 0 0;font-size:14px;font-weight:300;line-height:1.55;color:#1b1b18;}
.suki-menu-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px;}
.suki-menu-price-block .suki-menu-actions{margin-top:0;justify-content:center;}
.suki-menu-action{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 17px;border:1px solid #735e37;background:#fff;color:#735e37;text-decoration:none;font-family:var(--room-detail-heading-family)!important;font-size:12px;font-weight:500;line-height:1.2;letter-spacing:.055em;text-transform:uppercase;transition:background-color .18s ease,color .18s ease;}
html[lang="th"] .suki-menu-action{font-size:14px;letter-spacing:0;text-transform:none;}
.suki-menu-action:hover,.suki-menu-action:focus-visible{background:#735e37;color:#fff;}
.suki-menu-action-primary{background:#735e37;color:#fff;}
.suki-menu-action-primary:hover,.suki-menu-action-primary:focus-visible{background:#fff;color:#735e37;}

.suki-menu-category-nav{border-bottom:1px solid var(--line);background:#fff;}
.suki-menu-category-inner{max-width:1240px;margin:0 auto;padding:0 var(--pad);}

.suki-menu-category-nav ul{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;column-gap:26px;row-gap:9px;margin:0;padding:15px 0;list-style:none;}
.suki-menu-category-nav a{color:#1b1b18;text-decoration:none;font-family:var(--room-detail-heading-family)!important;font-size:12px;font-weight:500;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;}
html[lang="th"] .suki-menu-category-nav a{font-size:14px;letter-spacing:0;text-transform:none;}
.suki-menu-category-nav a:hover,.suki-menu-category-nav a:focus-visible{color:#735e37;}

.suki-menu-content{max-width:1240px;margin:0 auto;padding:0 var(--pad) 62px;}
.suki-menu-section{scroll-margin-top:84px;padding:52px 0 54px;border-bottom:1px solid var(--line);}
.suki-menu-section-heading{display:flex;align-items:baseline;gap:12px;margin-bottom:26px;}
.suki-menu-section-heading h2{margin:0;font-family:var(--room-detail-heading-family)!important;font-size:22px;font-weight:400;line-height:1.25;letter-spacing:-.01em;color:#735e37;}
html[lang="th"] .suki-menu-section-heading h2{font-size:24px;line-height:1.45;letter-spacing:0;}
.suki-menu-section-heading>span{font-size:12px;font-weight:300;color:#77746d;}
.suki-menu-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:34px 24px;}
.suki-menu-card{min-width:0;text-align:center;}
.suki-menu-card picture,.suki-menu-card img{display:block;width:100%;}
.suki-menu-card picture{max-width:190px;margin:0 auto;}
.suki-menu-card img{height:auto;aspect-ratio:1;object-fit:contain;}
.suki-menu-card h3{margin:11px 0 0;font-family:var(--room-detail-heading-family)!important;font-size:14px;font-weight:400;line-height:1.35;color:#1b1b18;}
html[lang="th"] .suki-menu-card h3{font-size:15px;line-height:1.55;}

.suki-menu-extras{padding:52px 0 0;}
.suki-menu-extras-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 42px;}
.suki-menu-extras article{padding-top:16px;border-top:1px solid var(--line);}
.suki-menu-extras h3{margin:0 0 8px;font-family:var(--room-detail-heading-family)!important;font-size:14px;font-weight:500;line-height:1.4;color:#735e37;}
html[lang="th"] .suki-menu-extras h3{font-size:15px;line-height:1.55;}
.suki-menu-extras p{margin:0;font-size:14px;font-weight:300;line-height:1.65;color:#1b1b18;}
html[lang="th"] .suki-menu-extras p{line-height:1.78;}

@media(max-width:1280px){.suki-menu-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:1060px){.suki-menu-page main{padding-top:56px!important;}}
@media(max-width:980px){
  .suki-menu-intro-grid{grid-template-columns:1fr;gap:22px;}
  .suki-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;}
  .suki-menu-card picture{max-width:210px;}
}
@media(max-width:760px){
  .suki-menu-page main{padding-top:52px!important;}
  .suki-menu-intro{padding:24px 18px 30px!important;}
  .suki-menu-back{margin-bottom:25px;gap:10px;font-size:14px;}
  .suki-menu-back-arrow{width:32px;height:18px;flex-basis:32px;}
  .suki-menu-intro-grid{grid-template-columns:1fr;gap:18px;}
  .suki-menu-title-block h1{font-size:34px;}
  html[lang="th"] .suki-menu-title-block h1{font-size:35px;}
  .suki-menu-intro-copy{margin-top:11px;}
  .suki-menu-price-block{padding:0;border:0;}
  .suki-menu-category-inner{padding:0 18px;}
  .suki-menu-category-nav ul{column-gap:20px;row-gap:8px;padding:13px 0;}
  .suki-menu-content{padding:0 18px 48px;}
  .suki-menu-section{padding:40px 0 42px;scroll-margin-top:72px;}
  .suki-menu-section-heading{margin-bottom:22px;}
  .suki-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 14px;}
  .suki-menu-card picture{max-width:100%;}
  .suki-menu-card h3{margin-top:8px;font-size:13px;}
  html[lang="th"] .suki-menu-card h3{font-size:14px;}
  .suki-menu-extras{padding-top:40px;}
  .suki-menu-extras-grid{grid-template-columns:1fr;gap:22px;}
}
@media(prefers-reduced-motion:reduce){
  .suki-menu-back-arrow,.suki-menu-action{transition:none!important;}
  .suki-menu-back:hover .suki-menu-back-arrow,.suki-menu-back:focus-visible .suki-menu-back-arrow{transform:none!important;}
}

/* ======================================================================
   v5.122 — global top-navigation typography
   Use the established editorial heading families for navigation text:
   Raleway in English and Bai Jamjuree in Thai. Preserve the existing
   responsive nav sizing while using a clear medium weight and restrained
   tracking in English; Thai remains naturally spaced.
   ====================================================================== */
html[lang="en"] .site-header .site-nav,
html[lang="en"] .site-header .site-nav a{
  font-family:"Raleway",Arial,sans-serif!important;
  font-weight:500!important;
  letter-spacing:.045em!important;
}
html[lang="th"] .site-header .site-nav,
html[lang="th"] .site-header .site-nav a{
  font-family:"Bai Jamjuree","Noto Sans Thai","Leelawadee UI",Tahoma,sans-serif!important;
  font-weight:500!important;
  letter-spacing:0!important;
}

/* ======================================================================
   v5.133 — Suki Jumbo compact Visit / Google Maps section
   Stable hotel-controlled information stays visible at every breakpoint,
   while the map remains a separate Google directions surface.
   ====================================================================== */
.suki-visit{
  padding:clamp(34px,3.2vw,46px) var(--pad) clamp(40px,3.6vw,52px)!important;
  background:#f7f5f0!important;
}
.suki-visit-inner{width:100%;max-width:1240px;margin:0 auto;}
.suki-visit-heading{margin:0 0 13px;}
.suki-visit-heading h2{
  margin:0;
  font-family:var(--room-detail-heading-family)!important;
  font-size:18px!important;
  font-weight:400!important;
  line-height:1.3!important;
  letter-spacing:-.008em!important;
  color:var(--park-heading-gold-light,#735e37)!important;
}
html[lang="th"] .suki-visit-heading h2{font-size:20px!important;line-height:1.4!important;letter-spacing:0!important;}
.suki-visit-grid{
  display:grid;
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.48fr);
  align-items:stretch;
  overflow:hidden;
  border:1px solid var(--line);
  background:#fff;
}
.suki-visit-card{min-width:0;padding:clamp(22px,2.4vw,32px);background:#fff;}
.suki-visit-card h3{
  margin:0;
  font-family:var(--room-detail-heading-family)!important;
  font-size:clamp(20px,1.7vw,24px)!important;
  font-weight:400!important;
  line-height:1.2!important;
  letter-spacing:-.01em!important;
  color:#1b1b18!important;
}
html[lang="th"] .suki-visit-card h3{line-height:1.38!important;letter-spacing:0!important;}
.suki-visit-location{margin:6px 0 0;font-family:var(--room-detail-heading-family)!important;font-size:14px;font-weight:500;line-height:1.45;color:var(--park-heading-gold-light,#735e37);}
.suki-visit-address{max-width:420px;margin:5px 0 0;font-style:normal;font-size:13.5px;font-weight:400;line-height:1.58;color:#595750;}
.suki-visit-hours{margin:14px 0 0;padding:0;}
.suki-visit-status{position:relative;margin:0;padding-left:15px;font-family:var(--room-detail-heading-family)!important;font-size:14px;font-weight:500;line-height:1.45;color:#4f4b43;}
.suki-visit-status::before{content:"";position:absolute;left:0;top:.48em;width:7px;height:7px;border-radius:50%;background:currentColor;}
.suki-visit-status.is-open{color:#315d3a;}
.suki-visit-status.is-closed{color:#725f43;}
.suki-visit-hours-line{margin:3px 0 0;font-size:13.5px;font-weight:400;line-height:1.55;color:#595750;}
.suki-visit-detail-list{display:grid;gap:12px;margin-top:15px;}
.suki-visit-detail{display:grid;gap:4px;}
.suki-visit-detail strong{font-family:var(--room-detail-heading-family)!important;font-size:11px;font-weight:500;line-height:1.35;letter-spacing:.055em;text-transform:uppercase;color:var(--park-heading-gold-light,#735e37);}
html[lang="th"] .suki-visit-detail strong{font-size:13px;letter-spacing:0;text-transform:none;}
.suki-visit-detail span{font-size:13.5px;font-weight:400;line-height:1.58;color:#1b1b18;}
html[lang="th"] .suki-visit-detail span{line-height:1.7;}
.suki-visit-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
.suki-visit-action{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border:1px solid var(--park-heading-gold-light,#735e37);background:#fff;color:var(--park-heading-gold-light,#735e37);font-family:var(--room-detail-heading-family)!important;font-size:11px;font-weight:600;line-height:1.2;letter-spacing:.05em;text-decoration:none;text-transform:uppercase;transition:background-color .18s ease,color .18s ease;}
/* v5.163.4: descriptive SVGs precede the labels; preserve the shared NE external arrow. */
.suki-visit-action.external-link{align-items:center;gap:7px;}
.suki-visit-action .suki-action-icon{display:block;flex:0 0 16px;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.suki-visit-action.external-link::after{top:0;margin-left:2px;}
.suki-visit-action-primary,.suki-visit-action:hover,.suki-visit-action:focus-visible{background:var(--park-heading-gold-light,#735e37);color:#fff;}
.suki-visit-action-primary:hover,.suki-visit-action-primary:focus-visible{background:#fff;color:var(--park-heading-gold-light,#735e37);}
html[lang="th"] .suki-visit-action{font-size:12px;letter-spacing:0;text-transform:none;}
.suki-visit-map{min-width:0;min-height:390px;border-left:1px solid var(--line);background:#e9e6df;}
.suki-visit-map iframe{display:block;width:100%;height:100%;min-height:390px;border:0;}
@media(max-width:900px){
  .suki-visit-grid{grid-template-columns:1fr;}
  .suki-visit-map{min-height:320px;border-left:0;border-top:1px solid var(--line);}
  .suki-visit-map iframe{min-height:320px;}
}
@media(max-width:760px){
  .suki-visit{padding:30px 18px 38px!important;}
  .suki-visit-heading{margin-bottom:11px;}
  .suki-visit-card{padding:20px 18px 21px;}
  .suki-visit-map,.suki-visit-map iframe{min-height:250px;}
  .suki-visit-actions{display:grid;grid-template-columns:1fr;}
  .suki-visit-action{width:100%;}
}
@media(prefers-reduced-motion:reduce){.suki-visit-action{transition:none!important;}}

/* ======================================================================
   v5.136 — Suki Jumbo room-detail editorial structure
   Follow the room-page composition: compact summary in column one and a
   two-column information field across columns two and three. Remove the
   duplicate top hours line and avoid section bands/divider-driven rhythm.
   ====================================================================== */
.suki-hero-actions{
  padding:18px var(--pad) 16px;
  background:#fff;
}
.suki-hero-actions-inner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  max-width:1240px;
  margin:0 auto;
}
.suki-hero-actions .dining-detail-inline-contact{
  min-width:132px;
  min-height:40px!important;
  margin-top:0!important;
  padding:8px 18px!important;
  font-size:13px!important;
}
html[lang="th"] .suki-hero-actions .dining-detail-inline-contact{font-size:14px!important;}
@media(max-width:760px){
  .suki-hero-actions{padding:14px 18px 12px;}
  .suki-hero-actions-inner{gap:8px;}
  .suki-hero-actions .dining-detail-inline-contact{
    flex:1 1 0;
    min-width:0;
    max-width:180px;
    min-height:39px!important;
    padding:8px 10px!important;
    font-size:12.5px!important;
  }
  html[lang="th"] .suki-hero-actions .dining-detail-inline-contact{font-size:13.5px!important;}
}

.suki-editorial{
  padding:clamp(26px,2.2vw,34px) var(--pad) clamp(38px,3vw,48px)!important;
  background:#fff!important;
  color:#1b1b18;
}
.suki-editorial-inner{width:100%;max-width:1240px;margin:0 auto;}
.suki-editorial-grid{display:block;}
.suki-editorial-summary{
  width:100%;
  max-width:860px;
  margin:0 auto;
  text-align:center;
}
.suki-editorial-summary h1{
  margin:0;
  font-family:var(--room-detail-heading-family)!important;
  font-size:clamp(30px,2.35vw,36px)!important;
  font-weight:400!important;
  line-height:1.1!important;
  letter-spacing:-.018em!important;
  color:var(--park-heading-gold-light,#735e37)!important;
}
html[lang="th"] .suki-editorial-summary h1{
  font-size:clamp(31px,2.45vw,37px)!important;
  line-height:1.28!important;
  letter-spacing:0!important;
}
.suki-editorial-meta{
  margin:9px 0 0!important;
  font-family:var(--room-detail-heading-family)!important;
  font-size:15.5px!important;
  font-weight:600!important;
  line-height:1.55!important;
  letter-spacing:.018em!important;
  color:#1b1b18!important;
}
html[lang="th"] .suki-editorial-meta{font-size:15.5px!important;line-height:1.7!important;letter-spacing:0!important;}
.suki-editorial-description{
  width:100%;
  max-width:820px;
  margin:13px auto 0;
}
.suki-editorial-description p{
  margin:0 0 8px;
  font-size:16px!important;
  font-weight:300!important;
  line-height:1.62!important;
  color:#292824;
}
.suki-editorial-description p:last-child{margin-bottom:0;}
html[lang="th"] .suki-editorial-description p{line-height:1.74!important;}
.suki-editorial-features{
  width:100%;
  max-width:1180px;
  margin:28px auto 0;
}
.suki-editorial-features>h2{
  margin:0 0 13px!important;
  font-family:var(--room-detail-heading-family)!important;
  font-size:16px!important;
  font-weight:500!important;
  line-height:1.35!important;
  letter-spacing:.04em!important;
  color:var(--park-heading-gold-light,#735e37)!important;
  text-align:center;
  text-transform:none!important;
}
html[lang="th"] .suki-editorial-features>h2{font-size:16px!important;line-height:1.5!important;letter-spacing:0!important;}
.suki-editorial-feature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 16px;
}
.suki-editorial-feature{
  min-width:0;
  padding:16px 18px 17px;
  background:#f5f3ee;
  border-radius:2px;
}
.suki-editorial-feature-number{
  display:block;
  margin:0 0 7px;
  font-family:var(--room-detail-heading-family)!important;
  font-size:11px!important;
  font-weight:600!important;
  line-height:1.2!important;
  letter-spacing:.075em!important;
  color:var(--park-heading-gold-light,#735e37)!important;
}
html[lang="th"] .suki-editorial-feature-number{font-size:11px!important;letter-spacing:.04em!important;}
.suki-editorial-feature h3{
  margin:0 0 3px;
  font-family:var(--room-detail-heading-family)!important;
  font-size:15.5px!important;
  font-weight:600!important;
  line-height:1.42!important;
  letter-spacing:.012em!important;
  color:#1b1b18!important;
}
html[lang="th"] .suki-editorial-feature h3{font-size:16px!important;line-height:1.55!important;letter-spacing:0!important;}
.suki-editorial-feature-lead,.suki-editorial-feature-subhead{
  margin:0 0 6px!important;
  font-family:var(--room-detail-heading-family)!important;
  font-size:14.5px!important;
  font-weight:500!important;
  line-height:1.48!important;
  color:var(--park-heading-gold-light,#735e37)!important;
}
.suki-editorial-feature-subhead{margin-top:8px!important;margin-bottom:3px!important;}
html[lang="th"] .suki-editorial-feature-lead,html[lang="th"] .suki-editorial-feature-subhead{font-size:15px!important;line-height:1.62!important;}
.suki-editorial-feature>p:not(.suki-editorial-feature-lead):not(.suki-editorial-feature-subhead){
  margin:0 0 6px;
  font-size:16px!important;
  font-weight:300!important;
  line-height:1.55!important;
  color:#292824;
}
.suki-editorial-feature>p:last-child{margin-bottom:0!important;}
html[lang="th"] .suki-editorial-feature>p:not(.suki-editorial-feature-lead):not(.suki-editorial-feature-subhead){line-height:1.68!important;}
@media(max-width:980px) and (min-width:761px){
  .suki-editorial{padding-top:28px!important;padding-bottom:42px!important;}
  .suki-editorial-summary{max-width:760px;}
  .suki-editorial-description{max-width:740px;}
  .suki-editorial-features{margin-top:24px;}
  .suki-editorial-feature-grid{gap:14px;}
  .suki-editorial-feature{padding:15px 16px 16px;}
}
@media(max-width:760px){
  .suki-editorial{padding:26px 18px 36px!important;}
  .suki-editorial-summary{max-width:620px;}
  .suki-editorial-summary h1{font-size:30px!important;}
  html[lang="th"] .suki-editorial-summary h1{font-size:31px!important;}
  .suki-editorial-description{max-width:620px;margin-top:12px;}
  .suki-editorial-features{margin-top:24px;}
  .suki-editorial-features>h2{margin-bottom:12px!important;}
  .suki-editorial-feature-grid{grid-template-columns:1fr;gap:12px;}
  .suki-editorial-feature{padding:15px 16px 16px;}
}

/* ======================================================================
   v5.142 — restore site-wide top-right header CTA casing
   English header actions are uppercase; Thai remains naturally cased.
   ====================================================================== */
html[lang="en"] .site-header .header-actions .book-link.book-button{
  text-transform:uppercase!important;
}
html[lang="th"] .site-header .header-actions .book-link.book-button{
  text-transform:none!important;
}

/* v5.163 - form BACK matches room and restaurant detail navigation. */
.enquiry-back-link{
  display:inline-flex;align-items:center;gap:12px;
  width:max-content;max-width:100%;min-height:44px;
  margin:0 0 20px;padding:4px 0;
  border:0;
  --room-detail-heading-family:"Raleway",Arial,sans-serif;
  font-family:var(--room-detail-heading-family)!important;
  font-size:15px;font-weight:500;line-height:1.2;
  letter-spacing:.08em;text-transform:uppercase;
  color:#967b49;text-decoration:none;
}
.enquiry-back-link[hidden]{display:none!important;}
.enquiry-back-arrow{
  display:block;width:36px;height:20px;flex:0 0 36px;
  fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:square;stroke-linejoin:miter;
  transition:transform .18s ease;
}
.enquiry-back-link:hover .enquiry-back-arrow,
.enquiry-back-link:focus-visible .enquiry-back-arrow{transform:translateX(-4px);}
.enquiry-back-link:focus-visible{outline:2px solid currentColor;outline-offset:5px;}
html[lang="th"] .enquiry-back-link{
  --room-detail-heading-family:"Bai Jamjuree","Noto Sans Thai","Leelawadee UI",Tahoma,sans-serif;
}
html[lang="th"] .enquiry-back-link,
html[lang="zh-CN"] .enquiry-back-link{letter-spacing:0;text-transform:none;}
/* Chinese room BACK now follows the same natural CJK letter spacing as dining and form BACK. */
html[lang="zh-CN"] .room-detail-page .room-back-link{letter-spacing:0!important;text-transform:none!important;}
@media(max-width:760px){
  .enquiry-back-link{gap:10px;font-size:14px;}
  .enquiry-back-arrow{width:32px;height:18px;flex-basis:32px;}
}
@media(prefers-reduced-motion:reduce){
  .enquiry-back-arrow{transition:none!important;}
  .enquiry-back-link:hover .enquiry-back-arrow,
  .enquiry-back-link:focus-visible .enquiry-back-arrow{transform:none!important;}
}

/* v5.153 - Option A editorial enquiry forms */
.enquiry-page{background:var(--park-paper,#f7f5f0);color:#1d1c19;}
.enquiry-main{min-height:58vh;padding:110px var(--pad) clamp(64px,6vw,88px);}
.enquiry-shell{width:100%;max-width:760px;margin:0 auto;}
/* One restrained form heading, without the redundant eyebrow above it. */
.enquiry-title{margin:0 0 28px;font-family:var(--room-detail-heading-family)!important;font-size:clamp(26px,2.55vw,32px);font-weight:400;line-height:1.2;letter-spacing:-.02em;color:var(--park-heading-gold-light,#735e37);}
html[lang="th"] .enquiry-title{font-size:clamp(27px,2.7vw,33px);line-height:1.32;letter-spacing:0;}
.enquiry-form{display:grid;gap:18px;}
.enquiry-form[hidden]{display:none;}
.enquiry-grid{display:grid;gap:18px 22px;}
.enquiry-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.enquiry-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.enquiry-field{min-width:0;}
.enquiry-field label{display:block;margin:0 0 7px;font-family:var(--room-detail-heading-family)!important;font-size:12.5px;font-weight:500;line-height:1.4;color:#2a2925;}
html[lang="th"] .enquiry-field label{font-size:13.5px;line-height:1.55;}
.enquiry-optional{font-weight:300;color:#77736a;}
.enquiry-field input,.enquiry-field select,.enquiry-field textarea{display:block;width:100%;border:1px solid #cfc9bd;border-radius:0;background:#fff;color:#26251f;font-family:var(--room-detail-heading-family)!important;font-size:14px;font-weight:400;line-height:1.4;outline:none;transition:border-color .16s ease,box-shadow .16s ease;}
.enquiry-field input,.enquiry-field select{height:46px;padding:0 13px;}
.enquiry-field textarea{min-height:96px;padding:11px 13px;resize:vertical;}
html[lang="th"] .enquiry-field input,html[lang="th"] .enquiry-field select,html[lang="th"] .enquiry-field textarea{font-size:14.5px;}
.enquiry-field input:focus,.enquiry-field select:focus,.enquiry-field textarea:focus{border-color:var(--park-heading-gold-light,#735e37);box-shadow:0 0 0 1px var(--park-heading-gold-light,#735e37);}
.enquiry-field input:invalid:not(:focus):not(:placeholder-shown),.enquiry-field textarea:invalid:not(:focus):not(:placeholder-shown){box-shadow:none;}
.enquiry-submit-row{padding-top:4px;}
.enquiry-submit{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:0 28px;border:1px solid var(--park-heading-gold-light,#735e37);background:var(--park-heading-gold-light,#735e37);color:#fff;font-family:var(--room-detail-heading-family)!important;font-size:12px;font-weight:600;line-height:1.2;letter-spacing:.075em;text-transform:uppercase;cursor:pointer;transition:background-color .16s ease,color .16s ease;}
.enquiry-submit:hover,.enquiry-submit:focus-visible{background:#fff;color:var(--park-heading-gold-light,#735e37);}
.enquiry-submit:disabled{cursor:wait;opacity:.62;}
html[lang="th"] .enquiry-submit{font-size:13.5px;letter-spacing:0;text-transform:none;}
.enquiry-status{display:grid;gap:4px;margin:2px 0 0;padding:13px 15px;background:#f1eee7;font-size:13px;font-weight:300;line-height:1.55;color:#33312c;}
.enquiry-status[hidden]{display:none;}
.enquiry-status strong{font-family:var(--room-detail-heading-family)!important;font-size:14px;font-weight:500;color:#1d1c19;}
.enquiry-status span{display:block;}
.enquiry-status[data-state="error"]{background:#f5eeee;color:#68443e;}
/* Persistent confirmation state shown after the email service confirms success. */
.enquiry-confirmation{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:295px;padding:clamp(32px,5vw,54px) clamp(20px,4vw,44px);border:1px solid #dad4c7;background:#fff;text-align:center;scroll-margin-top:108px;}
.enquiry-confirmation[hidden]{display:none;}
.enquiry-confirmation:focus{outline:none;}
.enquiry-confirmation:focus-visible{outline:2px solid var(--park-heading-gold-light,#735e37);outline-offset:4px;}
.enquiry-confirmation-icon{width:58px;height:58px;flex:none;margin:0 0 22px;fill:none;stroke:#657f69;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;}
/* A single quiet SVG draw on confirmed success. No JavaScript or external assets. */
.enquiry-confirmation:not([hidden]) .enquiry-confirmation-icon circle{stroke-dasharray:170;stroke-dashoffset:170;animation:enquiry-ring-draw .5s ease-out forwards;}
.enquiry-confirmation:not([hidden]) .enquiry-confirmation-icon path{stroke-dasharray:37;stroke-dashoffset:37;animation:enquiry-check-draw .32s ease-out .27s forwards;}
@keyframes enquiry-ring-draw{to{stroke-dashoffset:0;}}
@keyframes enquiry-check-draw{to{stroke-dashoffset:0;}}
@media(prefers-reduced-motion:reduce){
  .enquiry-confirmation:not([hidden]) .enquiry-confirmation-icon circle,
  .enquiry-confirmation:not([hidden]) .enquiry-confirmation-icon path{animation:none;stroke-dashoffset:0;}
}
.enquiry-confirmation-title{margin:0 0 10px;font-family:var(--room-detail-heading-family)!important;font-size:clamp(24px,3vw,30px);font-weight:500;line-height:1.3;letter-spacing:-.015em;color:#26251f;}
.enquiry-confirmation-body{max-width:430px;margin:0;font-family:var(--room-detail-heading-family)!important;font-size:14px;font-weight:400;line-height:1.75;color:#555249;}
.enquiry-confirmation-home{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:29px;padding:0 21px;border:1px solid #b8ad98;font-family:var(--room-detail-heading-family)!important;font-size:11.5px;font-weight:600;letter-spacing:.07em;text-decoration:none;color:#4e4436;transition:border-color .16s ease,background-color .16s ease;}
.enquiry-confirmation-home:hover,.enquiry-confirmation-home:focus-visible{border-color:#746449;background:#f7f5f0;}
html[lang="th"] .enquiry-confirmation-title{letter-spacing:0;}
html[lang="th"] .enquiry-confirmation-home{font-size:13px;letter-spacing:0;}
@media(max-width:480px){.enquiry-confirmation{min-height:270px;padding:34px 20px;scroll-margin-top:92px;}.enquiry-confirmation-home{width:100%;max-width:260px;}}
.enquiry-turnstile:empty{display:none;}
.enquiry-turnstile{min-height:0;}
.enquiry-honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
@media(max-width:1060px) and (min-width:761px){.enquiry-main{padding-top:106px;}}
@media(max-width:760px){.enquiry-main{padding-top:100px;}}
@media(max-width:700px){
  .enquiry-main{padding:100px 18px 54px;}
  .enquiry-title{margin-bottom:25px;font-size:clamp(25px,5.6vw,28px);}
  html[lang="th"] .enquiry-title{font-size:clamp(26px,5.8vw,29px);}
  .enquiry-grid-2,.enquiry-grid-3{grid-template-columns:1fr;gap:16px;}
  .enquiry-form{gap:16px;}
  .enquiry-submit{width:100%;}
}
@media(prefers-reduced-motion:reduce){.enquiry-field input,.enquiry-field select,.enquiry-field textarea,.enquiry-submit,.enquiry-confirmation-home{transition:none!important;}}


/* Simplified Chinese: use system CJK fonts and natural Chinese spacing. */
html[lang="zh-CN"] body,
html[lang="zh-CN"] button,
html[lang="zh-CN"] input,
html[lang="zh-CN"] select,
html[lang="zh-CN"] textarea {
  font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Noto Sans SC", "Source Han Sans SC", sans-serif;
}
html[lang="zh-CN"] .site-header .site-nav a,
html[lang="zh-CN"] .site-header .book-link,
html[lang="zh-CN"] .enquiry-submit,
html[lang="zh-CN"] .suki-menu-category-nav a,
html[lang="zh-CN"] .suki-menu-card h3,
html[lang="zh-CN"] .suki-menu-action,
html[lang="zh-CN"] .dining-detail-back,
html[lang="zh-CN"] .suki-menu-back {
  letter-spacing: 0 !important;
  text-transform: none !important;
}
html[lang="zh-CN"] .enquiry-title {line-height:1.35;}
html[lang="zh-CN"] .room-detail-amenity-list,
html[lang="zh-CN"] .enquiry-field label,
html[lang="zh-CN"] .suki-menu-intro-copy {line-height:1.7;}
html[lang="zh-CN"] .suki-menu-card h3{font-size:15px;line-height:1.55;}
html[lang="zh-CN"] .site-header .site-nav a {font-size:13px;}
html[lang="zh-CN"] .language-menu-toggle {min-width:54px;}
html[lang="zh-CN"] .enquiry-confirmation-title {letter-spacing:0;}
@media(max-width:760px){
  .mobile-language-options{flex-wrap:wrap;}
  .mobile-language-options button{min-width:72px;}
}


/* ======================================================================
   v5.160 — homepage stacked image proportions
   The hero retains its original full-width composition. Once the intro
   and meetings grids stack at 1100px, use inset photographs instead of
   edge-to-edge media. Keep the meeting photograph landscape at 16:9.
   ====================================================================== */
@media (max-width:1100px){
  .hotel-intro-hyatt .hotel-intro-hyatt-inner > .hotel-intro-hyatt-media{
    width:82%;
    margin-inline:auto;
    justify-self:center;
  }
  .meetings-hyatt .meetings-hyatt-inner > .meetings-hyatt-media{
    width:92%;
    margin-inline:auto;
    justify-self:center;
    aspect-ratio:16 / 9!important;
  }
  .meetings-hyatt .meetings-hyatt-media picture,
  .meetings-hyatt .meetings-hyatt-media img{
    width:100%;
    height:100%;
  }
  .meetings-hyatt .meetings-hyatt-media img{
    aspect-ratio:auto!important;
    object-fit:cover;
  }
}
