:root{
  --bg:#f4f1ea;--paper:#fffdf8;--ink:#1d2a24;--muted:#5d6b64;--line:#e2ddd1;
  --green:#1f4d3c;--green2:#2f6b54;--mint:#9fd3b6;--gold:#b8893b;--hot:#c2462c;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.7 "Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Thai",sans-serif}
img{max-width:100%;display:block}
a{color:var(--green2)}
.top{background:linear-gradient(135deg,#173b2e,#2a5c48 60%,#1d4436);color:#fff}
.top .in{max-width:1080px;margin:0 auto;padding:14px 16px;display:flex;align-items:center;gap:12px;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:700}
.brand img{width:38px;height:38px;border-radius:50%;border:2px solid rgba(255,255,255,.35)}
.top nav a{color:#dff3e8;text-decoration:none;font-size:15px;margin-left:14px}
.top nav a:hover{color:#fff}
.wrap{max-width:760px;margin:0 auto;padding:0 16px}
.hero{position:relative;color:#fff;background:#173b2e}
.hero img{width:100%;height:min(62vh,560px);object-fit:cover;opacity:.78}
.hero .cap{position:absolute;inset:auto 0 0 0;padding:28px 16px 26px;background:linear-gradient(transparent,rgba(10,26,20,.88))}
.hero .cap .wrap{padding:0}
.kicker{display:inline-block;background:var(--gold);color:#fff;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px}
h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(30px,6vw,48px);line-height:1.15;margin:12px 0 8px}
.dek{font-size:18px;color:#e6f1ea;margin:0}
.facts{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px 18px 8px;margin:-6px 0 28px;box-shadow:0 8px 24px rgba(23,59,46,.08)}
.facts dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0 0 10px}
.facts dt{font-weight:700;color:var(--green)}
.facts dd{margin:0}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 12px}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--green);color:#fff;text-decoration:none;font-weight:700;padding:11px 18px;border-radius:999px}
.btn.alt{background:#fff;color:var(--green);border:2px solid var(--green)}
article{padding:28px 0 10px}
article h2{font-family:"Playfair Display",Georgia,serif;font-size:28px;line-height:1.25;color:var(--green);margin:38px 0 10px}
article p{margin:0 0 16px}
figure{margin:24px -16px}
figure img{width:100%;border-radius:0}
@media(min-width:800px){figure{margin:28px 0}figure img{border-radius:16px}}
figcaption{font-size:14px;color:var(--muted);padding:8px 16px 0}
.list{padding-left:0;list-style:none}
.list li{padding:10px 0 10px 34px;border-bottom:1px dashed var(--line);position:relative}
.list li::before{content:"✦";position:absolute;left:6px;color:var(--gold)}
.tip{background:#eaf4ee;border-left:4px solid var(--green2);padding:14px 16px;border-radius:0 12px 12px 0;margin:22px 0}
.note{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:30px}
.cards{display:grid;gap:18px;margin:26px 0 40px}
.card{display:grid;background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 8px 24px rgba(23,59,46,.07)}
.card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.card .b{padding:16px 18px 18px}
.card .rank{color:var(--gold);font-weight:800;font-size:14px;letter-spacing:.05em}
.card h3{font-family:"Playfair Display",Georgia,serif;font-size:24px;margin:4px 0 6px;color:var(--green)}
.card p{margin:0;color:var(--muted)}
.card.soon{opacity:.6}
.foot{background:#173b2e;color:#cfe3d8;font-size:14px;margin-top:40px}
.foot .in{max-width:1080px;margin:0 auto;padding:22px 16px}
.foot a{color:#fff}
.lead-in{padding:30px 0 0}
.lead-in h1{color:var(--green)}
.lead-in .dek{color:var(--muted)}
/* img-height-fix: keep natural aspect ratio when width/height attributes are set */
img{height:auto}
.hero img{height:min(62vh,560px)}
.card img{aspect-ratio:16/10;object-fit:cover;height:auto}
.featured .card img{aspect-ratio:16/9}
