:root{--ivory:#F7F4ED;--ink:#202522;--muted:#6B6F6B;--line:#DCD7CE;--pine:#315A4C;--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}.sub-header{position:sticky;top:0;z-index:30;height:74px;background:rgba(247,244,237,.9);backdrop-filter:blur(22px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 24px;border-bottom:1px solid rgba(57,51,45,.08)}.sub-header>a:first-child{font-size:10px;letter-spacing:.08em;border-bottom:1px solid currentColor;width:max-content}.sub-logo{font-family:var(--display);letter-spacing:.13em}.sub-actions{justify-self:end;display:flex;align-items:center;gap:14px}.sub-actions button{border:0;background:transparent;font-size:10px;cursor:pointer}.reserve{position:relative;padding:8px 0!important;color:var(--ink);font-size:10px;letter-spacing:.06em}.reserve:after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:currentColor;transform-origin:right;transition:transform .45s var(--ease)}.reserve:hover:after{transform:scaleX(0)}.page-hero{min-height:76vh;display:grid;grid-template-columns:minmax(0,.92fr) minmax(520px,1.08fr);align-items:center;padding:clamp(30px,5vw,76px) 5vw;gap:6vw}.hero-copy{padding:7vw 1vw 6vw;display:flex;flex-direction:column;justify-content:end}.eyebrow{font-size:9px;letter-spacing:.16em;color:var(--pine);font-weight:700}.hero-copy h1,.section-copy h2{font-family:var(--display);font-weight:400;line-height:.96;margin:12px 0 18px}.hero-copy h1{font-size:clamp(50px,7vw,102px)}.hero-copy p,.section-copy p{max-width:580px;font-size:14px;line-height:1.8;color:var(--muted)}.media{width:100%;aspect-ratio:4/3;background:#AEBDB6;display:flex;align-items:flex-end;padding:14px;color:rgba(255,255,255,.88);font-size:8px;letter-spacing:.13em;overflow:hidden}.media--hero{aspect-ratio:9/8}.media--4x3{aspect-ratio:4/3}.media--7x9{aspect-ratio:7/9;max-height:780px}.media--16x10{aspect-ratio:16/10}.media--3x4{aspect-ratio:3/4;max-height:760px}.content-section{padding:110px 5.5vw;display:grid;grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr);gap:8vw;align-items:center;border-top:1px solid var(--line);scroll-margin-top:90px}.content-section.reverse{grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr)}.content-section.reverse .media{order:-1}.section-copy h2{font-size:clamp(38px,4.5vw,68px)}.list{display:grid;margin-top:28px}.list div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid var(--line);font-size:11px}.list div:last-child{border-bottom:1px solid var(--line)}.section-link{display:inline-flex;margin-top:24px;font-size:9px;letter-spacing:.08em;border-bottom:1px solid currentColor;padding-bottom:3px}.wide-cta{padding:120px 20px;text-align:center;border-top:1px solid var(--line)}.wide-cta h2{font-family:var(--display);font-size:clamp(40px,5vw,74px);font-weight:400;margin:0 0 22px}.wide-cta a{display:inline-flex;padding:11px 18px;background:var(--pine);color:#fff;border-radius:2px;font-size:10px}.lang-pop{position:fixed;z-index:50;right:22px;top:64px;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}.sub-footer{padding:36px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}@media(max-width:900px){.sub-header{height:62px;padding:0 14px}.page-hero{grid-template-columns:1fr;min-height:auto;padding:0}.hero-copy{padding:110px 18px 56px}.page-hero .media{aspect-ratio:4/3}.content-section,.content-section.reverse{grid-template-columns:1fr;padding:66px 18px;gap:30px}.content-section.reverse .media{order:0}.media--7x9,.media--3x4{max-height:none}.sub-footer{padding:28px 15px;display:grid;gap:8px}}

.section-actions{display:flex;gap:18px;flex-wrap:wrap}.room-overview-link{color:rgba(255,255,255,.88);transition:filter .55s var(--ease),transform .7s var(--ease)}.room-overview-link:hover{filter:brightness(.94);transform:scale(.995)}
/* v0.1.11 production polish */
body{background:#F7F4ED}
.sub-header>a:first-child,.section-link,.reserve{border-bottom:0!important;text-decoration:none!important}
.section-link,.wide-cta a{border-radius:999px!important;padding:10px 16px!important;background:var(--pine);color:#fff}
.section-link{margin-right:8px}.wide-cta a{min-width:150px}.lang-pop button{border-radius:999px}
.sub-actions .reserve{padding:9px 15px!important;background:var(--pine);color:#fff;border-radius:999px!important}
.media{font-size:0;color:transparent}.media::after{display:none}

/* v0.1.12 real media and readable large-screen footer */
.media[data-media]{position:relative;padding:0;background:#CDD4CE;isolation:isolate}
.media[data-media]:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 22%,rgba(255,255,255,.28) 45%,transparent 68%);transform:translateX(-120%);animation:contentMediaSweep 7s ease-in-out infinite}
@keyframes contentMediaSweep{0%,65%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.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 .5s ease,transform .7s var(--ease),filter .55s var(--ease);user-select:none;-webkit-user-drag:none}
.media.is-loaded .media-image{opacity:1}.media.is-loaded:before{opacity:0;animation:none;transition:opacity .3s ease}
.room-overview-link:hover .media-image{transform:scale(1.012);filter:brightness(.95)}
.room-overview-link:hover{transform:none;filter:none}
.sub-footer{font-size:clamp(10px,.66vw,13px);line-height:1.55;border-top:0;padding:clamp(34px,3vw,56px) clamp(18px,3vw,44px)}
.footer-credit{display:grid;gap:2px;text-align:right}.footer-credit span:last-child{opacity:.72}
.content-section{content-visibility:auto;contain-intrinsic-size:760px}
@media(min-width:1800px){.sub-header{padding-inline:max(34px,calc((100vw - 1760px)/2))}.page-hero,.content-section{max-width:1840px;margin-inline:auto}.sub-footer{padding-inline:max(34px,calc((100vw - 1760px)/2))}.sub-logo{font-size:clamp(16px,1vw,22px)}}
@media(max-width:900px){.footer-credit{text-align:left}.sub-footer{font-size:11px}.media[data-media]{min-height:0}}
@media(prefers-reduced-motion:reduce){.media[data-media]:before{animation:none}.media-image{transition:none}}
.footer-credit a{color:inherit;text-decoration:none}.footer-credit a:hover{opacity:.72}
@media(min-width:1600px){.sub-footer{font-size:clamp(12px,.72vw,15px)}}

/* v0.1.12.2 defect hotfix: no underline on pill CTA and Thai rhythm */
.reserve:after{display:none!important}
.reserve,.section-link,.wide-cta a{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"] .section-copy h2,html[lang="th"] .wide-cta 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"] .eyebrow,html[lang="th"] .section-link,html[lang="th"] .reserve{letter-spacing:.01em}
html[lang="th"] .hero-copy p,html[lang="th"] .section-copy p{letter-spacing:0;line-height:1.82}

/* v0.1.12.4 remove mini headers and move arrows independently */
.eyebrow{display:none!important}.section-link{gap:8px}.section-link .arrow-glyph{display:inline-block;transition:transform .32s var(--ease)}.section-link:hover .arrow-glyph{transform:translateX(4px)}
@media(min-width:1600px){.hero-copy p,.section-copy p{font-size:clamp(15px,.82vw,17px)}.list div{font-size:clamp(12px,.68vw,14px)}.section-link{font-size:clamp(11px,.62vw,13px)}}

/* 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 editorial gutter consistency */
@media(max-width:620px){
  :root{--content-mobile-gutter:clamp(20px,5.6vw,24px)}
  .hero-copy{padding-left:var(--content-mobile-gutter)!important;padding-right:var(--content-mobile-gutter)!important}
  .content-section,.content-section.reverse{padding-left:var(--content-mobile-gutter)!important;padding-right:var(--content-mobile-gutter)!important}
  .sub-footer{padding-left:var(--content-mobile-gutter)!important;padding-right:var(--content-mobile-gutter)!important}
}
