:root{--ivory:#F7F4ED;--paper:#FFFEFB;--ink:#202522;--muted:#6D716D;--line:#DCD7CE;--pine:#315A4C;--pine2:#203E35;--pine-soft:#E8EFEA;--clay:#C87555;--display:Georgia,"Times New Roman",serif;--sans:Georgia,"Times New Roman","Leelawadee UI",Tahoma,serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.room-header{position:fixed;inset:0 0 auto;z-index:60;height:74px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 24px;color:#fff;transition:background .65s var(--ease),color .65s var(--ease),height .65s var(--ease),backdrop-filter .65s var(--ease),box-shadow .65s var(--ease)}.room-header.scrolled{height:62px;background:rgba(247,244,237,.86);color:var(--ink);backdrop-filter:blur(24px) saturate(1.15);box-shadow:0 1px 0 rgba(47,46,41,.09)}.room-back{font-size:10px;letter-spacing:.06em;width:max-content}.room-logo{justify-self:center;font-family:var(--display);font-size:18px;letter-spacing:.17em}.room-actions{justify-self:end;display:flex;align-items:center;gap:16px}.room-actions button{border:0;background:transparent;color:inherit;font-size:10px;cursor:pointer}.room-reserve{position:relative;font-size:10px;letter-spacing:.08em;padding:4px 0}.room-reserve:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:right;transition:transform .45s var(--ease)}.room-reserve:hover:after{transform:scaleX(0)}.lang-pop{position:fixed;right:22px;top:64px;z-index:80;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px;display:none;box-shadow:0 18px 50px rgba(30,37,33,.12)}.lang-pop.open{display:grid}.lang-pop button{border:0;background:transparent;padding:9px 12px;text-align:left;border-radius:8px;font-size:10px;cursor:pointer}.lang-pop button:hover{background:#F0F1EE}
.room-hero{position:relative;min-height:100svh;display:grid;align-items:end;overflow:hidden;background:#849188;color:#fff}.room-hero .media-slot{position:absolute;inset:0}.room-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(12,20,16,.06) 32%,rgba(12,20,16,.62) 100%)}.hero-copy{position:relative;z-index:2;padding:0 clamp(18px,5vw,76px) 8svh;width:min(1120px,100%)}.hero-kicker{font-size:9px;letter-spacing:.18em;font-weight:800}.hero-copy h1{font-family:var(--display);font-weight:400;font-size:clamp(48px,8vw,118px);line-height:.88;letter-spacing:.01em;margin:12px 0 20px;max-width:980px}.hero-meta{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:10px;letter-spacing:.05em}.media-slot{position:relative;overflow:hidden;background:linear-gradient(135deg,#CFD7D0 0%,#AEBDB4 52%,#8D9E95 100%);isolation:isolate}.media-slot:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.25) 46%,transparent 66%);transform:translateX(-120%);animation:slotSweep 8s ease-in-out infinite}.media-label{position:absolute;left:14px;bottom:12px;z-index:3;font-size:8px;letter-spacing:.13em;font-weight:750;color:rgba(255,255,255,.9)}.media-label .mobile-size{display:none}@keyframes slotSweep{0%,66%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.room-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:8vw;padding:110px max(22px,calc((100vw - 1280px)/2));border-bottom:1px solid var(--line)}.intro-copy .eyebrow,.amenities .eyebrow,.experience-link .eyebrow{font-size:9px;letter-spacing:.18em;color:var(--pine);font-weight:800}.intro-copy h2,.feature-copy h2,.amenities h2,.experience-link h2{font-family:var(--display);font-weight:400;line-height:.98;margin:12px 0 20px}.intro-copy h2{font-size:clamp(38px,5vw,72px)}.intro-copy p,.feature-copy p,.experience-link p{font-size:14px;line-height:1.85;color:var(--muted);max-width:620px}.fact-list{display:grid;align-content:start;border-top:1px solid var(--line)}.fact-list div{display:flex;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid var(--line);font-size:11px}.fact-list span{color:var(--muted)}.fact-list strong{font-weight:700;text-align:right}
.cinema-wide{padding:0}.cinema-wide .media-slot{aspect-ratio:21/9}.gallery-pair{display:grid;grid-template-columns:.82fr 1.18fr;gap:18px;padding:18px}.gallery-pair .portrait{aspect-ratio:3/4}.gallery-pair .landscape{aspect-ratio:16/11;align-self:center}.feature-split{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.feature-split .media-slot{aspect-ratio:4/5}.feature-copy{padding:clamp(44px,7vw,100px);display:flex;flex-direction:column;justify-content:center}.feature-copy h2{font-size:clamp(36px,4.5vw,66px)}.feature-copy .index{font-size:9px;letter-spacing:.18em;color:var(--pine);font-weight:800}.amenities{padding:100px max(22px,calc((100vw - 1120px)/2));text-align:center}.amenities h2{font-size:clamp(38px,4.2vw,62px)}.amenity-grid{margin-top:36px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.amenity-grid span{padding:20px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px}.experience-link{position:relative;min-height:72svh;display:grid;place-items:end center;color:#fff;text-align:center;overflow:hidden}.experience-link .media-slot{position:absolute;inset:0}.experience-link:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(12,20,16,.06),rgba(12,20,16,.58))}.experience-copy{position:relative;z-index:2;padding:0 18px 8svh}.experience-copy .eyebrow{color:#fff}.experience-copy h2{font-size:clamp(40px,5vw,72px)}.experience-copy p{color:rgba(255,255,255,.86);margin:0 auto 20px}.experience-copy a{display:inline-flex;padding-bottom:3px;border-bottom:1px solid currentColor;font-size:10px;letter-spacing:.08em}.book-band{padding:90px 20px;text-align:center}.book-band h2{font-family:var(--display);font-size:clamp(40px,5vw,72px);font-weight:400;margin:0 0 20px}.book-band p{font-size:13px;color:var(--muted);margin:0 auto 26px;max-width:600px}.book-band a{display:inline-flex;align-items:center;justify-content:center;min-width:160px;padding:13px 20px;background:var(--pine);color:#fff;border-radius:2px;font-size:10px;letter-spacing:.08em}.room-footer{padding:32px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:9px;color:var(--muted)}.mobile-book{display:none}
@media(max-width:900px){.room-header{height:62px;padding:0 14px}.room-logo{font-size:15px}.room-actions{gap:10px}.room-hero{min-height:88svh}.hero-copy{padding:0 18px 7svh}.hero-copy h1{font-size:clamp(44px,15vw,72px)}.room-intro{grid-template-columns:1fr;padding:68px 18px;gap:34px}.cinema-wide .media-slot{aspect-ratio:4/5}.gallery-pair{grid-template-columns:1fr;padding:12px;gap:12px}.gallery-pair .portrait,.gallery-pair .landscape{aspect-ratio:4/5}.feature-split{grid-template-columns:1fr}.feature-split .media-slot{aspect-ratio:4/5}.feature-copy{padding:58px 18px}.amenities{padding:68px 18px 90px}.amenity-grid{grid-template-columns:1fr 1fr}.experience-link{min-height:72svh}.room-footer{padding-bottom:86px;display:grid}.media-label .desktop-size{display:none}.media-label .mobile-size{display:inline}.mobile-book{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:70;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 12px 11px 16px;border-radius:17px;background:rgba(255,254,251,.9);backdrop-filter:blur(20px) saturate(1.15);box-shadow:0 12px 36px rgba(25,35,30,.18);border:1px solid rgba(50,66,57,.12)}.mobile-book div{display:grid;gap:2px}.mobile-book span{font-size:8px;color:var(--muted);letter-spacing:.08em}.mobile-book strong{font-family:var(--display);font-size:17px;font-weight:400}.mobile-book a{background:var(--pine);color:#fff;padding:10px 15px;border-radius:12px;font-size:10px;font-weight:750}}
@media(max-width:480px){.room-back{font-size:0}.room-back:before{content:none;display:none}.room-actions .room-reserve{display:none}.hero-meta{gap:7px 14px}.amenity-grid span{font-size:10px;padding:16px 8px}}


/* v0.1.8 room-detail editorial mobile composition */
.media-slot{border-radius:0}
@media(max-width:900px){
  .gallery-pair{grid-template-columns:.92fr 1.08fr;gap:4px;padding:4px}
  .gallery-pair .portrait{aspect-ratio:3/4}
  .gallery-pair .landscape{aspect-ratio:4/5;align-self:end}
  .feature-split{grid-template-columns:.92fr 1.08fr;align-items:center}
  .feature-split .media-slot{aspect-ratio:3/4}
  .feature-copy{padding:34px 18px}
  .feature-copy h2{font-size:clamp(28px,8vw,42px)}
  .feature-copy p{font-size:12px;line-height:1.65}
  .cinema-wide .media-slot{aspect-ratio:16/11}
}
@media(max-width:560px){
  .room-hero{min-height:78svh}
  .gallery-pair{grid-template-columns:1fr 1fr}
  .gallery-pair .portrait,.gallery-pair .landscape{aspect-ratio:3/4}
  .feature-split{grid-template-columns:1fr 1.06fr}
  .feature-copy{padding:26px 12px}
  .feature-copy .index{font-size:7px}.feature-copy h2{font-size:27px;margin:7px 0 12px}.feature-copy p{font-size:10px;line-height:1.55}
  .amenity-grid{grid-template-columns:repeat(2,1fr)}
}
/* v0.1.11 production polish */
.media-label{display:none!important}
.amenity-grid{border:0!important;gap:8px}
.amenity-grid .amenity-item{border:0!important;background:rgba(255,255,255,.58);display:flex;align-items:center;justify-content:flex-start;gap:9px;text-align:left;padding:14px 15px;border-radius:12px}
.amenity-icon{width:17px;height:17px;flex:none;fill:none;stroke:var(--pine);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.room-reserve,.book-band a,.mobile-book a{border-radius:999px!important}
.room-reserve{padding:9px 15px;background:var(--pine);color:#fff}.room-reserve:after{display:none!important}
.experience-copy a{border-bottom:0!important;text-decoration:none!important}
.mobile-book{left:0!important;right:0!important;bottom:0!important;border-radius:0!important;border-left:0!important;border-right:0!important;border-bottom:0!important;padding:11px 14px calc(11px + env(safe-area-inset-bottom))!important}
.mobile-book a{padding:10px 18px!important}.book-band a{min-width:170px}.room-back{text-decoration:none!important}

/* v0.1.12 real room photography and footer credit */
.media-slot{background:#CBD3CD}
.media-picture{position:absolute;inset:0;display:block;width:100%;height:100%}
.media-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .52s ease,transform .8s var(--ease),filter .6s var(--ease);user-select:none;-webkit-user-drag:none}
.media-slot.is-loaded .media-image{opacity:1}.media-slot.is-loaded:before{opacity:0;animation:none;transition:opacity .3s ease}
.room-hero .media-image{object-position:center center}.experience-link:hover .media-image{transform:scale(1.012);filter:brightness(.95)}
.room-footer{font-size:clamp(10px,.66vw,13px);line-height:1.55;border-top:0;padding:clamp(30px,3vw,50px) clamp(18px,3vw,44px)}
.room-footer-credit{display:grid;gap:2px;text-align:right}.room-footer-credit span:last-child{opacity:.72}
.room-intro,.amenities,.feature-split{content-visibility:auto;contain-intrinsic-size:700px}
@media(max-width:900px){.room-footer-credit{text-align:left}.room-footer{font-size:11px}}
@media(prefers-reduced-motion:reduce){.media-image{transition:none}}
.footer-credit a{color:inherit;text-decoration:none}.footer-credit a:hover{opacity:.72}
.room-footer-credit a{color:inherit;text-decoration:none}.room-footer-credit a:hover{opacity:.72}
@media(min-width:1600px){.room-footer{font-size:clamp(12px,.72vw,15px)}}

/* v0.1.12.2 defect hotfix: cleaner amenities and Thai typography */
.room-reserve:after{display:none!important}
.amenity-grid{border:0!important;background:transparent!important}
.amenity-grid .amenity-item{border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;padding:10px 4px!important}
.amenity-grid .amenity-item>span{border:0!important;border-right:0!important;border-bottom:0!important;background:transparent!important;padding:0!important;margin:0!important}
.book-band a,.mobile-book a,.room-reserve{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.2}
html[lang="th"] .hero-copy h1,html[lang="th"] .intro-copy h2,html[lang="th"] .feature-copy h2,html[lang="th"] .amenities h2,html[lang="th"] .experience-link h2,html[lang="th"] .book-band h2{font-family:"Noto Sans Thai","Leelawadee UI",Tahoma,sans-serif;letter-spacing:0!important;line-height:1.12;font-weight:500}
html[lang="th"] .hero-kicker,html[lang="th"] .eyebrow,html[lang="th"] .feature-copy .index,html[lang="th"] .room-reserve{letter-spacing:.01em}
html[lang="th"] .intro-copy p,html[lang="th"] .feature-copy p,html[lang="th"] .experience-link p,html[lang="th"] .book-band p{letter-spacing:0;line-height:1.82}

/* v0.1.12.4 room detail cleanup and large-display readability */
.eyebrow,.hero-kicker,.feature-copy .index{display:none!important}.amenity-grid .amenity-item{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}.amenity-grid .amenity-item>span{border:0!important;background:transparent!important;padding:0!important}.experience-copy>span{display:inline-flex;gap:8px;align-items:center}
@media(min-width:1600px){.amenity-grid .amenity-item{font-size:clamp(13px,.72vw,15px)!important;gap:12px!important;padding:14px 6px!important}.amenity-icon{width:clamp(20px,1.1vw,24px)!important;height:clamp(20px,1.1vw,24px)!important}.intro-copy p,.feature-copy p,.experience-link p,.book-band p{font-size:clamp(15px,.82vw,17px)}}

/* v0.1.18 iOS-safe navigation icon */
@media(max-width:480px){
  .room-back:before{content:none!important;display:none!important}
  .room-back .arrow-icon{display:inline-block!important;width:18px!important;height:18px!important;flex:0 0 18px}
}

/* v0.1.19 compact editorial footer ownership */
.editorial-footer--compact .footer-social{justify-content:flex-start}
.editorial-footer--compact .social-label{display:inline}


/* v0.1.20 mobile room-detail gutter consistency */
@media(max-width:620px){
  :root{--room-mobile-gutter:clamp(20px,5.6vw,24px)}
  .room-hero .hero-copy,.room-intro,.feature-copy,.amenities{padding-left:var(--room-mobile-gutter)!important;padding-right:var(--room-mobile-gutter)!important}
}
