@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+Thai:wght@400;600&family=Noto+Sans+SC:wght@400;600&display=swap');
@font-face{font-family:Playfair;src:url('/fonts/playfair.ttf');font-weight:600;font-display:swap}
body,button,input,select,textarea{font-family:Inter,'Noto Sans Thai','Noto Sans SC',sans-serif!important}
body{font-size:17px;line-height:1.65}
h1,h2,h3,.hero-title-line{font-family:Playfair,'Noto Sans Thai','Noto Sans SC',serif!important;font-weight:600!important}
.brand img{filter:none!important;mix-blend-mode:normal!important;background:white;border-radius:50%;object-fit:contain}
.main-nav a{font-size:clamp(.88rem,1vw,1rem);font-weight:600}
.booking-grid{gap:clamp(18px,2vw,32px)!important}
.booking-card{background:#fff;border:1px solid #e5e1d8!important;box-shadow:0 8px 26px #10283b0d!important;border-radius:16px!important;overflow:hidden}
.booking-copy{padding:clamp(20px,2vw,32px)!important}
.booking-copy h3{font-size:clamp(1.45rem,2vw,2rem);line-height:1.24}
.booking-copy p,.programme-body p{font-size:1.0625rem;line-height:1.7}
.header-plan,.booking-actions button{background:#163549!important;color:white!important;border-color:#bcaa81!important}
.experience-heading{margin-bottom:clamp(24px,4vw,52px)}
.site-license{display:block;color:inherit;font:600 15px/1.6 Inter,sans-serif;letter-spacing:.035em;text-align:center;padding:16px}
:root{--gold:#bba574;--gold-light:#e2d6ba}
.hero-copy{max-width:850px}
.hero h1{line-height:1.13!important;letter-spacing:-.025em}
.experiences-section,.local-section{padding-top:clamp(64px,7vw,108px)!important;padding-bottom:clamp(64px,7vw,108px)!important}
.page-banner h1,.page-banner h2{font-size:clamp(2.25rem,5vw,4.5rem)!important;line-height:1.16}
.booking-photo{aspect-ratio:4/3;object-fit:cover;width:100%}
.booking-actions a,.booking-actions button{font-size:15px!important;min-height:46px;align-items:center;justify-content:center}
.site-header.is-solid{background:#fffdf9!important;box-shadow:0 2px 18px #0b26320a!important}
.programme-body,.programme-aside{line-height:1.8}
@media(max-width:700px){body{font-size:16px}.hero h1{font-size:clamp(2.4rem,8.5vw,3.4rem)!important}.hero-copy p{font-size:17px!important;line-height:1.7}.booking-copy h3{font-size:25px}.booking-grid{gap:26px!important}.search-field{gap:12px!important}.search-field label{font-size:12px!important}.search-field select,.search-field input{font-size:15px!important}.main-nav.open a{font-size:17px!important;padding:14px!important}}

.hero-media-controls{display:none!important}
.header-plan{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:22px!important;min-height:52px!important;padding:13px 24px!important;font-size:16px!important;line-height:1.3!important;font-weight:600!important;white-space:nowrap}.header-plan svg{width:20px!important;height:20px!important;flex-shrink:0}
.main-nav a{font-size:15px!important;line-height:1.4!important}
@media(min-width:1100px){.main-nav{gap:22px!important}}

/* Center the content inside a flexible hero, reserving space for the header
   and original overlapping search/wave composition. Content can grow the hero. */
.hero-copy > .eyebrow { display: none !important; }
body:not(.tour-page) .hero {
 display: grid;
 align-items: center;
 box-sizing: border-box;
 height: auto;
 min-height: max(870px, 100svh);
 max-height: none;
 padding-block: 124px 233px;
}
.hero-copy, html[lang=th] .hero-copy {
 padding-block: 0 !important;
 min-width: 0;
}
@media(max-width:1100px) {
 body:not(.tour-page) .hero { padding-bottom: 251px; }
}
@media(max-width:700px) {
 body:not(.tour-page) .hero {
  min-height: max(944px, 100svh);
  padding-block: 110px 250px;
 }
}
