:root{--paper:#fbf7ee;--ink:#26332b;--white:#fffdf7;--line:#ddd8ca}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.72 "Noto Sans Thai",Tahoma,system-ui,sans-serif}a{color:var(--forest);text-underline-offset:.22em}img{display:block;max-width:100%}a:focus-visible,button:focus-visible{outline:3px solid #9b502f;outline-offset:3px}.skip{position:absolute;left:.75rem;top:-6rem;z-index:1;background:var(--white);padding:.5rem}.skip:focus{top:.5rem}.wrap{width:min(100% - 2.25rem,72rem);margin-inline:auto}.mast{background:var(--white);border-bottom:1px solid var(--line)}.mast-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0}.brand{display:flex;align-items:center;gap:.6rem;font-weight:800;text-decoration:none}.mast nav,footer nav{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem}.hero{margin:2rem 0 3rem;border-radius:1.5rem;background:var(--forest);color:var(--white);display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.hero>div{padding:clamp(1.5rem,5vw,4.4rem);align-self:center}.hero>img{height:100%;width:100%;min-height:19rem;object-fit:cover}.hero .eyebrow{color:var(--sand)}h1,h2,h3{line-height:1.34;margin:0 0 .6rem}h1{font-size:clamp(2rem,5.3vw,4.3rem)}h2{font-size:clamp(1.3rem,3vw,2rem)}h3{font-size:1.12rem}.eyebrow{font-weight:800;font-size:.87rem;margin:0 0 .5rem;color:var(--forest)}.cta,.booking>a{display:inline-block;background:var(--sand);color:var(--ink);font-weight:800;text-decoration:none;padding:.65rem 1rem;border-radius:2rem}.filters{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.filters button{font:inherit;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:2rem;padding:.4rem .9rem;cursor:pointer}.filters button[aria-pressed=true]{background:var(--forest);color:white}.filters span{font-size:.8em;opacity:.85}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.card{border:1px solid var(--line);border-radius:1rem;overflow:hidden;background:var(--white)}.card a{height:100%;display:block;color:inherit;text-decoration:none}.card a:hover h3{text-decoration:underline}.card img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.card a>div{padding:1rem}.card p:last-child{margin:0}.article,.support{padding-block:2rem 3rem}.article-intro{max-width:52rem}.article-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(12rem,17rem);align-items:start;gap:2rem}.prose{max-width:49rem;min-width:0}.prose section{margin-top:1.75rem;overflow-wrap:anywhere}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.gallery figure:first-child{grid-column:1/-1}.gallery img{width:100%;height:auto;border-radius:.9rem}.gallery figure{margin:0}.gallery figcaption{font-size:.84rem}.booking{position:sticky;top:1rem;border:1px solid var(--line);padding:1.2rem;border-radius:1rem;background:var(--white)}.booking h2{font-size:1.15rem}.booking p{font-size:.89rem;margin-bottom:0}.support{max-width:54rem;min-height:52vh}.support h1{font-size:clamp(1.8rem,4vw,3rem)}address{font-style:normal;overflow-wrap:anywhere}footer{margin-top:2rem;padding:1.5rem 0;background:var(--white);border-top:1px solid var(--line)}footer p{font-size:.9rem;margin-bottom:0}
@media(max-width:760px){.hero,.article-grid{grid-template-columns:1fr}.hero>img{max-height:20rem;min-height:0;aspect-ratio:16/9}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking{position:static}.mast-in{align-items:flex-start}.mast nav{justify-content:flex-end}}@media(max-width:460px){.grid{grid-template-columns:1fr}.mast nav{gap:.3rem .65rem;font-size:.9rem}.hero{margin-top:1rem}.gallery{gap:.5rem}}

.period { margin-block: 1rem; }
.period label { font-weight: 700; }
.period select { max-width: 100%; padding: .55rem .7rem; color: var(--forest); border: 1px solid var(--forest); border-radius: .35rem; background: white; font: inherit; }
.hero { border-block-end: .4rem solid var(--sand); }

.mast { border-block-end: 3px solid var(--sand); }
.hero { border-radius: .6rem; }
.arrival-picker { border: 1px solid #bdccc3; background: #edf5ed; padding: 1rem; margin-block: 1rem; border-radius: .65rem; }
.arrival-picker:not([hidden]) { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.arrival-picker p { grid-column: 1 / -1; margin: 0; }
.arrival-picker label { display: block; font-weight: 700; margin-bottom: .35rem; }
.arrival-picker select { display: block; max-width: 100%; width: 100%; padding: .65rem; border: 1px solid var(--forest); border-radius: .3rem; color: var(--forest); background: #fff; font: inherit; }
.grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); }
.card { border-radius: .6rem; }
@media (max-width: 480px) { .arrival-picker:not([hidden]) { grid-template-columns: 1fr; } }
