[hidden]{display:none!important}
button{font:inherit;cursor:pointer}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #4d6136;outline-offset:4px}
.hero-media::before{z-index:1;pointer-events:none}
.hero-copy{padding-bottom:104px}
.room-card{scroll-margin-top:110px}
.faq-section{padding:56px 0;border-top:1px solid #e8e2d8;scroll-margin-top:110px;background:#fff}
.faq-inner{display:grid;grid-template-columns:1fr 2fr;gap:48px}
.faq-inner h2{margin-top:12px;font-family:var(--font-thai);font-size:30px;font-weight:400;line-height:1.4}
.faq-list details{border-bottom:1px solid #e8e2d8;padding:18px 0}
.faq-list details:first-child{border-top:1px solid #e8e2d8}
.faq-list summary{cursor:pointer;font-family:var(--font-thai);font-size:16px;font-weight:500;line-height:1.6}
.faq-list p{padding:14px 0 2px;color:#706b62;font-family:var(--font-thai);font-size:15px;line-height:1.85}
.faq-list a{text-decoration:underline;text-underline-offset:3px;color:#38482a}
.site-footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:24px 0;color:#706b62;font-size:12px}
.site-footer div{display:flex;gap:18px;flex-wrap:wrap}
.site-footer a,.site-footer button{color:inherit;text-decoration:underline;text-underline-offset:3px}
.site-footer button{background:none;border:0;padding:0;font-size:inherit}
.menu-toggle{display:flex;border:0;padding:0;background:none}
.rooms-intro h2.section-label{margin:0;font-size:17px;font-weight:400;line-height:1.55}
.mobile-menu{display:none}
.consent-banner{position:fixed;z-index:50;left:20px;right:20px;bottom:20px;max-width:760px;margin:auto;padding:20px;background:#fff;border:1px solid #c8b58e;border-radius:6px;box-shadow:0 8px 28px rgba(0,0,0,.12);color:#282622;font-family:"Noto Sans Thai",sans-serif}
.consent-banner h2{font-size:17px;line-height:1.5;font-weight:500;margin:0 0 6px}
.consent-banner p{font-size:13px;line-height:1.7;margin:0;color:#575047}
.consent-banner a{text-decoration:underline;text-underline-offset:3px;color:#38482a}
.consent-actions{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}
.consent-actions button{min-height:44px;flex:1;padding:10px 16px;border-radius:4px;font-size:14px;line-height:1.4;background:#fff;color:#38482a;border:1px solid #4d6136}
.consent-actions [data-consent-accept]{background:#4d6136;color:#fff}
@media(max-width:980px){
  .hero-copy{padding-bottom:0}
  .faq-section{padding:32px 0}
  .faq-inner{display:block}
  .faq-inner h2{font-size:26px;margin-bottom:24px}
  .faq-inner .section-label{font-size:13px;letter-spacing:0;color:#8b682d}
  .rooms-intro h2.section-label{display:block}
  .site-footer{font-size:12px}
  .mobile-menu:not([hidden]){display:grid;position:fixed;z-index:25;top:92px;left:0;right:0;grid-template-columns:1fr 1fr;padding:16px 22px;background:#fff;border-bottom:1px solid #e8e2d8;box-shadow:0 8px 18px rgba(0,0,0,.08)}
  .mobile-menu a{padding:12px;font-size:15px}
  .consent-banner{left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom));max-height:calc(100dvh - 190px);overflow:auto;padding:16px}
}
