/* รูปแบบหน้าแรกต้นแบบ แยกออกจาก index.html */
:root{--bg:#ececec;--ink:#111;--mute:#8a8a8a;--brand:#9e5da5;--brand-dark:#7d4485;--brand-light:#c9a0cf;--f:"Inter Tight","Noto Sans Thai",system-ui,sans-serif;--disp:"Instrument Serif","Noto Serif Thai",serif;--g:clamp(16px,2.2vw,32px);--r:8px}
/* --r คือมุมโค้งของกล่องโลโก้ กล่องที่ลอยคู่กันใช้ค่านี้ค่าเดียว */
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg)}html.lenis{height:auto}.lenis.lenis-smooth{scroll-behavior:auto}
body{font-family:var(--f);color:var(--ink);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.locked{overflow:hidden}
a{color:inherit;text-decoration:none}img,video{display:block}
.ul{background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;transition:background-size .5s}.ul:hover{background-size:0 1px;background-position:100% 100%}
/* ชั้นโหลดหน้าแรกย้ายไป assets/css/page-loader.css */
/* fixed chrome */
.chrome{position:fixed;inset:0;z-index:50;pointer-events:none}
.chrome>*{position:absolute;pointer-events:auto}
/* กล่องโลโก้ 3 มิติ 4 ด้าน: หน้า/หลัง = โลโก้, ข้างซ้าย/ขวา = ข้อความ, หมุนทีละ 90° ตามการเลื่อน */
/* กรอบกระจกมนชิ้นเดียวอยู่นิ่ง ด้านในหมุน 3 มิติแล้วถูกตัดขอบ จึงไม่เห็นรอยต่อของสันกล่อง */
.logo-v{left:var(--g);top:var(--g);width:52px;height:136px;z-index:2;perspective:600px;overflow:hidden;
  border-radius:var(--r);background:linear-gradient(160deg,#ffffff40,#0000002e);border:1px solid #ffffff55;
  -webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);
  box-shadow:inset 0 1px 0 #ffffff80,0 10px 30px #0004}
.logo-v .cube{position:relative;display:block;width:52px;height:136px;transform-style:preserve-3d}
.logo-v .f{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;gap:10px;padding:5px;
  color:#fff;backface-visibility:hidden}
body.scrolled .logo-v{background:linear-gradient(160deg,#ffffffb0,#ffffff70);border-color:#0001}
body.scrolled .logo-v .f{color:#111}
/* โลโก้สีม่วงจมบนกระจกเข้ม จึงเป็นสีขาวตอนอยู่บนวิดีโอ เลื่อนพ้นแล้วกลับสีจริง */
body:not(.scrolled) .logo-v img{filter:brightness(0) invert(1)}
.logo-v .f1{transform:translateZ(26px)}.logo-v .f2{transform:rotateY(90deg) translateZ(26px)}
.logo-v .f3{transform:rotateY(180deg) translateZ(26px)}.logo-v .f4{transform:rotateY(-90deg) translateZ(26px)}
.logo-v img{width:42px;height:42px;object-fit:contain}
.logo-v b,.logo-v small{writing-mode:vertical-rl;transform:rotate(180deg)}
.logo-v .f1,.logo-v .f3{gap:14px;padding:6px 5px 12px}
.logo-v b{font:700 16px/1 var(--f);letter-spacing:.04em}
.chrome .logo-v .f small{margin:auto;font-size:11px;line-height:1.45;color:inherit!important}
/* ===== เมนูหลัก: รายการแนวตั้ง + แผงเมนูย่อย (mega menu) ทางขวา ===== */
.menu{left:calc(var(--g) + 80px);top:var(--g);z-index:5}
.menu ul{list-style:none}
.menu .side{position:relative;width:260px;padding:10px;border-radius:var(--r);color:var(--ink);
  box-shadow:0 12px 30px #0002;transition:opacity .2s,transform .2s,visibility 0s}
/* ฝ้าอยู่ใน ::before ไม่ใส่ที่ .side ตรงๆ เพราะ element ที่มี backdrop-filter
   จะทำให้แผงลูกข้างในเบลอภาพหน้าเว็บไม่ได้ */
.menu .side::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;
  background:#ffffff99;border:1px solid #ffffff66;
  -webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4)}
.menu .side>li>a,.menu .side>li>button{width:100%;display:flex;justify-content:space-between;
  align-items:center;min-height:44px;padding:0 14px;border:0;border-radius:var(--r);background:none;
  color:inherit;font:500 17px/1.2 var(--f);text-align:left;cursor:pointer}
.menu .side>li>button::after{content:"→";color:#666}
.menu .side>li>[aria-expanded="true"],.menu .side>li>a:hover{background:#ffffffc0;color:var(--brand-dark)}
/* ปุ่มเมนูเป็นแผ่นใสทับกล่องโลโก้พอดี (กล่องยังหมุนอยู่ข้างใต้) มีติ่งม่วง ☰ มุมล่างขวา
   ติ่งเป็นของปุ่ม ไม่ได้อยู่ในกล่อง เพราะกล่องตัดขอบ และติ่งต้องอยู่นิ่งไม่หมุนตาม
   ข้อความ "เมนู" ซ่อนด้วย font-size:0 แต่โปรแกรมอ่านหน้าจอยังอ่านได้ */
.menu .menu-toggle{position:absolute;left:-80px;top:0;width:52px;height:136px;display:none;
  padding:0;border:0;border-radius:var(--r);background:none;font-size:0;cursor:pointer}
.menu .menu-toggle::before{content:"";position:absolute;right:-10px;bottom:-10px;
  width:26px;height:26px;border-radius:50%;box-shadow:0 4px 10px #0004;
  background:linear-gradient(#fff 0 0) 50% 8px/12px 2px no-repeat,
    linear-gradient(#fff 0 0) 50% 12px/12px 2px no-repeat,
    linear-gradient(#fff 0 0) 50% 16px/12px 2px no-repeat,var(--brand)}
.menu .menu-toggle:hover::before,.menu .menu-toggle[aria-expanded="true"]::before{
  background-color:var(--brand-dark)}
/* สะพานใสปิดช่องว่างระหว่างกล่องกับรายการ เลื่อนเมาส์ข้ามแล้วรายการไม่หุบ */
.menu .menu-toggle::after{content:"";position:absolute;left:100%;top:0;width:30px;height:100%}
.menu .drop{position:absolute;left:calc(100% + 12px);top:0;color:var(--ink);
  width:min(820px,calc(100vw - 2 * var(--g) - 360px));border-radius:var(--r);
  background:#ffffff99;border:1px solid #ffffff66;box-shadow:0 24px 40px #0000002a;
  -webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);
  opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s}
.menu .drop.open{opacity:1;visibility:visible;transform:none}
.menu .drop.open::before{content:"";position:absolute;top:0;bottom:0;right:100%;width:16px}
.menu .drop.instant{transition:none}
.menu .drop-in{display:grid;grid-template-columns:1fr auto;gap:24px 32px;padding:28px 32px}
.menu .drop-intro,.menu .cols{grid-column:1}
.menu .drop-intro h3{font:500 28px/1.15 var(--f);letter-spacing:-.02em}
.menu .drop-intro p{color:#555;font-size:14px;margin:10px 0 18px}
.menu .drop-intro a{font-weight:500;font-size:14px}
.menu .drop-intro a,.menu .cols a:hover,.menu .feat:hover b{color:var(--brand-dark)}
.menu .cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:28px}
.menu .cols h4{margin-bottom:8px;font-size:11px;font-weight:600;letter-spacing:.12em;color:#666}
.menu .cols a{display:block;padding:6px 0;font-size:15px}
.menu .feat{grid-column:2;grid-row:1/3;width:220px}
.menu .feat img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.menu .feat b{display:block;margin-top:10px;font-weight:500}
/* ไม่รองรับฝ้า หรือผู้ใช้ตั้งลดความโปร่งใส → พื้นขาวทึบ อ่านง่ายกว่า */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .menu .side::before,.menu .drop{background:#fff}}
@media (prefers-reduced-transparency:reduce){.menu .side::before,.menu .drop{background:#fff}}
/* เลื่อนพ้น hero (body.scrolled) รายการซ่อนเข้ากล่องโลโก้ (มีติ่ง ☰) กันทับข้อความ
   ชี้เมาส์/โฟกัสด้วยคีย์บอร์ด/กด แล้วกางออกข้างโลโก้ */
@media (min-width:901px){
  body.scrolled .menu .menu-toggle{display:block}
  /* พื้นที่ว่างของกล่องเมนูไม่รับเมาส์ ไม่งั้นชี้ผ่านตรงที่รายการซ่อนอยู่แล้วกางเอง */
  body.scrolled .menu{pointer-events:none}
  body.scrolled .menu .menu-toggle,body.scrolled .menu .side{pointer-events:auto}
  /* จุดหมุนอยู่ที่ติ่ง ☰ (มุมล่างขวากล่องโลโก้ นับจากมุมรายการ) รายการจึงหดเข้า/กางออกจากติ่ง
     ให้เห็นว่าเมนูไปเก็บอยู่ที่ไหน ตัวเลขผูกกับตำแหน่ง .menu-toggle และขนาดติ่ง */
  .menu .side{transform-origin:-31px 133px;
    transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .12s,visibility 0s}
  /* ตอนหุบ จางเฉพาะช่วงท้าย ไม่งั้นมองไม่เห็นว่าหดเข้าไปที่ติ่ง */
  body.scrolled .menu .side{opacity:0;visibility:hidden;transform:scale(.06);
    transition:transform .35s cubic-bezier(.5,0,.75,0) .15s,opacity .12s .38s,visibility 0s .5s}
  body.scrolled .menu:is(:hover,:has(:focus-visible)) .side,body.scrolled .menu .side.expanded{
    opacity:1;visibility:visible;transform:none;
    transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .12s,visibility 0s}
  /* ติ่งเด้งขึ้นตอนเพิ่งปรากฏ (หลังเลื่อนพ้น hero) จังหวะเดียวกับที่รายการหดเข้าไป */
  body.scrolled .menu .menu-toggle::before{animation:badge-in .3s .45s both}
}
@keyframes badge-in{from{transform:scale(0)}60%{transform:scale(1.2)}to{transform:none}}
@media (prefers-reduced-motion:reduce){
  .menu .side,body.scrolled .menu .side{transition:none!important}
  .menu .menu-toggle::before{animation:none!important}
}
.hours{left:50%;top:var(--g);transform:translateX(-50%);font-size:16px;text-align:center}.hours b{font-weight:500}
.inq{right:var(--g);top:var(--g);text-align:right;font-size:16px}.inq span{display:none}
.inq a{display:inline-flex;align-items:center;gap:8px;background:var(--brand);color:#fff;border-radius:var(--r);padding:10px 16px;font-weight:600}
.inq a img,.eh .btns a img,.btn img,.inq a svg.ic,.btn svg.ic{width:20px;height:20px;flex:none}
.scrollhint{left:var(--g);bottom:var(--g)}
.reel{right:var(--g);bottom:var(--g)}
.chip{position:fixed;right:var(--g);top:50%;z-index:50;display:flex;gap:4px}.chip i{width:12px;height:12px;display:block;transition:background .6s}
/* sections */
section{position:relative}
.wrap{padding:0 var(--g) 0 calc(var(--g) + 110px)}
.hero{height:100vh;display:grid;place-items:center;overflow:hidden}
.hero h1{font:400 clamp(90px,19vw,330px)/.82 var(--disp);color:var(--brand);text-align:center;letter-spacing:-.01em;position:relative;z-index:1;pointer-events:none}
.hero h1 small{display:block;font-family:"Noto Serif Thai",serif;font-size:.24em;line-height:1.3;margin-top:.25em;font-weight:500}
.hero .arch{position:absolute;inset:0;z-index:0;background:#ececec}
.hero .arch canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}
.hero h1{position:absolute;bottom:8vh;left:auto;right:var(--g);text-align:right;font-size:clamp(56px,8vw,140px)!important;pointer-events:none}
.hero h1 small{font-size:.22em}
.hero .cta{left:auto!important;right:var(--g);transform:none!important;bottom:auto!important;top:90px}
.hl{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:12px;font-size:12px;color:var(--mute);transition:opacity .6s}
.gl-ready .hl{opacity:0;pointer-events:none}.hl-track{width:160px;height:2px;background:#0001}.hl-track i{display:block;height:100%;width:0;background:var(--brand);transition:width .3s}
.legend-card,.info-card{position:absolute;background:#fffffff0;backdrop-filter:blur(10px);border:1px solid #0000000f;border-radius:14px;box-shadow:0 12px 40px -18px #0003;font-size:13px}
.legend-card{left:calc(var(--g) + 110px);top:240px;width:250px;padding:14px}
.lc-h b{display:block;font-weight:600;font-size:14px}.lc-h small{color:var(--mute);font-size:11px}
#legend{margin-top:10px;display:flex;flex-direction:column;gap:2px}
/* display:flex ทับ hidden ทำให้ margin ของกล่องว่างทะลุออกนอก #route เป็นช่อง 10px ใต้ section ข่าว */
#legend[hidden]{display:none}
#legend button{all:unset;display:flex;gap:10px;align-items:center;padding:7px 8px;border-radius:8px;cursor:pointer;transition:background .25s}
#legend button:hover,#legend button.on{background:#0000000a}#legend button.on span{font-weight:600}
#legend i{width:10px;height:10px;border-radius:50%;flex:none}#legend small{display:block;font-size:10.5px;color:var(--mute)}
.info-card{right:var(--g);top:150px;width:300px;padding:20px;transform:translateX(30px);opacity:0;pointer-events:none;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .4s}
.info-card.open{transform:none;opacity:1;pointer-events:auto}
.info-card .dot{display:block;width:12px;height:12px;border-radius:50%;margin-bottom:10px}.info-card h3{font:500 22px/1.25 "Noto Serif Thai",serif}
.info-card .en{color:var(--mute);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin:2px 0 12px}
.info-card .body p{margin-bottom:10px;line-height:1.6}.info-card .close{all:unset;position:absolute;right:14px;top:10px;font-size:22px;cursor:pointer;color:var(--mute)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin-bottom:12px}.kv dt{color:var(--mute)}.kv dd{text-align:right;font-weight:500}
.sample{display:inline-block;border:1px dashed var(--brand-dark);color:var(--brand-dark);padding:5px 8px;border-radius:6px;font-size:12px}
@media (max-width:900px){.legend-card{left:12px;right:12px;top:auto;bottom:12px;width:auto;padding:10px}.lc-h small{display:none}
 #legend{flex-direction:row;overflow-x:auto;gap:4px}#legend button{white-space:nowrap;padding:6px 8px;background:#0000000a}#legend small{display:none}
 .info-card{left:12px;right:12px;top:auto;bottom:118px;width:auto;transform:translateY(20px);max-height:44vh;overflow:auto}
 .hero h1{top:70px;bottom:auto;right:0;left:0;text-align:center;font-size:44px!important}.hero .cta{top:auto!important;bottom:auto!important;right:12px;top:150px!important;display:none}}
.hero .arch:after{display:none}
.hero .vcard{position:absolute;width:min(30vw,420px);aspect-ratio:4/5;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-4deg);overflow:hidden;box-shadow:0 40px 80px -30px #0006;z-index:0}
.hero .vcard video,.hero .vcard img{width:100%;height:100%;object-fit:cover}
.hero .cta{position:absolute;bottom:calc(var(--g)*2.2);left:50%;transform:translateX(-50%);z-index:2}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:var(--r);background:var(--ink);color:#fff;font-weight:500;font-size:16px;transition:background .3s}.btn:hover{background:var(--brand)}
.meta{display:grid;grid-template-columns:70px 1fr;gap:6px 20px;font-size:12px}.meta dt{color:var(--mute)}
/* ===== section 2: หัวเรื่องสองคอลัมน์ + รายการสำรวจและภาพ preview ===== */
@font-face{font-family:"LINE Seed Sans TH";src:url("../fonts/LINESeedSansTH_W_Rg.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"LINE Seed Sans TH";src:url("../fonts/LINESeedSansTH_W_Bd.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
/* ชื่อแล้วตามด้วยคำอธิบายทางซ้าย รูปชิดขอบบน–ล่างของทั้งบล็อก สารบัญกินความสูงที่เหลือ */
.statement{--seed:"LINE Seed Sans TH","Noto Sans Thai",sans-serif;display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.82fr);grid-template-rows:auto auto minmax(0,1fr);
  column-gap:3vw;align-items:stretch;min-height:100vh;box-sizing:border-box;
  padding-top:11vh;padding-bottom:3vh;font-family:var(--seed);
  background:#fbf8fc;color:#2b2230}
.statement:not(:has(.s2-pv)){grid-template-columns:minmax(0,1fr)}
.s2-top,.s2-lower{display:contents}
.s2-top>*,.s2-lower>*{min-width:0}
.s2-titles{grid-column:1;grid-row:1;container-type:inline-size;align-self:start}
.statement h2{font:400 1em/1.05 var(--seed);max-width:none}
.statement h2 .s2-hi{display:block;font-size:clamp(16px,1.5vw,22px);font-weight:400;margin-bottom:.35em}
.statement h2 em{display:block;font-style:normal;font-weight:700;font-size:clamp(26px,7.6cqi,48px);line-height:1.15;color:var(--brand);white-space:nowrap}
/* ชื่ออังกฤษยาวกว่าไทย ถ้าไม่ขึ้นบรรทัดใหม่ตาม span จะล้นไปทับรูปสารบัญ */
html[lang="en"] .statement h2 em{white-space:normal}
html[lang="en"] .statement h2 em>span{display:block}
.s2-lo{margin:8px 0 0;font-size:clamp(20px,2.2vw,34px);font-weight:400;line-height:1.25}
.s2-lo b{font-weight:700}
.s2-lead{grid-column:1;grid-row:2;align-self:start;margin:10px 0 14px;font-size:14px;line-height:1.6;max-width:62ch}
/* แถวแบ่งความสูงเท่ากัน เลื่อนแค่ตัวเลขกับลูกศร ไม่ดันความสูงแถว */
.s2-list{grid-column:1;grid-row:3;align-self:stretch;display:flex;flex-direction:column;min-height:0;border-top:2px solid #7d4485}
.s2-list>.s2-row{flex:1 1 0;min-height:0}
.s2-list .s2-row{display:grid;grid-template-columns:44px minmax(0,.95fr) minmax(0,1.5fr) 22px;gap:16px;align-items:center;padding:6px 10px;border-bottom:1px solid #e3d3e6;color:#2b2230;text-decoration:none;cursor:pointer;transition:background-color .3s}
.s2-list .num{grid-column:1;font:700 22px/1 var(--seed);color:#9e5da5;transition:transform .3s}
.s2-list .s2-name{grid-column:2;min-width:0;font:700 clamp(20px,2vw,30px)/1.15 var(--seed);color:#2b2230}
.s2-list a.s2-name{color:inherit;text-decoration:none}
.s2-list .s2-fact{grid-column:3;min-width:0}
.s2-list .s2-row i{grid-column:4;color:#9e5da5;font-style:normal;transition:transform .3s}
.s2-fig{display:flex;align-items:baseline;gap:8px}
.s2-fig b{font:700 clamp(20px,1.9vw,28px)/1.1 var(--seed);color:#7d4485}
.s2-fig small{font:400 12px/1.2 var(--seed);color:#6f6473;white-space:nowrap}
.s2-desc{display:block;margin-top:3px;overflow:hidden;font-size:13px;line-height:1.4;color:#4d4352;white-space:nowrap;text-overflow:ellipsis}
.s2-smp{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:99px;background:#ebdcee;color:#7d4485;font:700 .68rem/1.2 var(--seed);vertical-align:middle}
.s2-status{display:inline-flex;align-items:center;gap:8px}
.s2-status i{width:10px;height:10px;border-radius:50%;background:#9e5da5;flex:none}
.s2-status b{font:700 clamp(18px,1.6vw,24px)/1.15 var(--seed);color:#7d4485}
.s2-list .s2-row.on,.s2-list .s2-row:hover{background:#fff}
.s2-list .s2-row.on .num,.s2-list .s2-row:hover .num{transform:translateX(4px)}
.s2-list .s2-row.on .s2-name,.s2-list .s2-row:hover .s2-name{color:#7d4485}
.s2-list .s2-row.on i,.s2-list .s2-row:hover i{transform:translateX(6px)}
.s2-list a:focus-visible,.s2-list .s2-row:focus-visible{outline:2px solid #7d4485;outline-offset:3px}
.s2-list .s2-thumb,.s2-list .s2-ph{display:none}
.s2-visit{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:center}
.s2-visit .s2-status{grid-column:1;grid-row:1}
.s2-visit .s2-desc{grid-column:1 / -1;grid-row:2}
.s2-book{grid-column:2;grid-row:1;justify-self:end;align-self:center;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:99px;background:#7d4485;color:#fff;font:700 14px/1 var(--seed);white-space:nowrap;text-decoration:none}
.s2-pv{grid-column:2;grid-row:1 / -1;position:relative;align-self:stretch;min-height:0;height:auto;border-radius:16px;overflow:hidden;background:#ebdcee}
.s2-pv .s2-shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s}
.s2-pv .s2-shot.on{opacity:1}
.s2-pv .s2-blank{display:grid;place-items:center;background:#ebdcee;color:#9e5da5;font:700 96px/1 var(--seed)}
.s2-pv figcaption{position:absolute;left:14px;bottom:14px;z-index:2;padding:6px 12px;border-radius:10px;background:#7d4485;color:#fff;font:700 16px/1 var(--seed)}
.w{display:inline-block;overflow:hidden;vertical-align:top}.w>span{display:inline-block}
/* news N6 */
/* ===== ข่าวและกิจกรรม: ข่าวเด่น + ล่าสุด + แถวข่าวก่อนหน้า กรองตามหมวด ===== */
/* ทุกกฎขึ้นต้นด้วย #news หรือ .nw- เพราะชื่อสั้นอย่าง .w .list ชนกับส่วนอื่นของหน้าแรก */
#news{position:relative;overflow:hidden;padding:88px 0 96px;background:#fbf8fc;color:#2b2230;
  scroll-margin-top:120px;font-family:"LINE Seed Sans TH",system-ui,sans-serif;line-height:1.5}
#news [hidden]{display:none}
#news a:focus-visible,#news button:focus-visible{outline:2px solid #7d4485;outline-offset:2px}
.nw-w{position:relative;max-width:1240px;margin:0 auto;padding:0 32px}
/* พื้นหลังตกแต่ง: ต้นศรีตรังจาง ดอกบนพื้น และดอกร่วงมุมข้าง/กลีบเดี่ยว (สร้างใน home-news.js) */
.nw-bg{position:absolute;inset:0;pointer-events:none}
/* ต้นไม้ยืนบนขอบล่างของ section พื้นสีเดียว ไม่มีแถบพื้นแยก
   bottom ติดลบเพราะ tree.webp มีขอบโปร่งใสใต้โคนต้น 7px (≈8px เมื่อขยาย) */
.nw-tree{position:absolute;width:820px;height:520px;right:-90px;bottom:-9px;opacity:.16;
  background:url("../img/news-tree.webp") no-repeat center bottom/contain}
.nw-pf,.nw-pg{position:absolute;display:block;color:#c9a6cf}
.nw-pf svg,.nw-pg svg{display:block;width:100%;height:100%}
.nw-pg{opacity:.75}
.nw-c2{color:#d6bedb}.nw-c3{color:#e6d3e8}
.nw-pf{top:-30px;opacity:0;animation:nw-fall linear infinite}
@keyframes nw-fall{
  0%{transform:translate(0,0) rotate(0);opacity:0}
  8%,85%{opacity:.85}
  100%{transform:translate(var(--dx),1100px) rotate(320deg);opacity:0}}
@media (prefers-reduced-motion:reduce){.nw-pf{display:none}}
/* หัว section */
.nw-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;
  margin-bottom:28px}
.nw-eb{font-size:.82rem;font-weight:700;letter-spacing:.06em;color:#9e5da5}
#news h2{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:700;line-height:1.25;color:#7d4485}
.nw-all{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:99px;
  background:#ebdcee;color:#7d4485;font-weight:700;transition:transform .2s}
.nw-all:hover{transform:translateX(3px)}
.nw-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.nw-tabs button{min-height:44px;padding:0 18px;border:0;border-radius:99px;background:#f4ecf5;
  color:#7d4485;font:inherit;font-size:.92rem;cursor:pointer}
.nw-tabs button[aria-pressed="true"]{background:#7d4485;color:#fff}
.nw-cat{align-self:flex-start;display:inline-block;padding:4px 10px;border-radius:99px;
  background:#f4ecf5;color:#7d4485;font-size:.76rem;font-weight:700}
.nw-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* แถวบน: ข่าวเด่นยืดสูงเท่ากล่องล่าสุด */
.nw-top{display:grid;grid-template-columns:1.55fr 1fr;gap:28px;align-items:stretch}
.nw-top.is-solo{grid-template-columns:1fr}
#fts{display:flex;flex-direction:column;min-width:0}
.nw-ft{flex:1;display:grid;background:#fff;border-radius:26px;overflow:hidden}
.nw-ft .ph{position:relative;overflow:hidden;background:#e2cfe6}
.nw-ft img{width:100%;height:100%;object-fit:cover}
.nw-ft .tx{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:30px 32px}
.nw-ft h3{font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.35}
.nw-ft p{color:#5d5262;line-height:1.65}
.nw-ft time{color:#6f6473;font-size:.9rem}
.nw-go{align-self:flex-start;padding:12px 22px;border-radius:99px;background:#7d4485;color:#fff;
  font-weight:700;transition:transform .2s}
.nw-ft:hover .nw-go{transform:translateX(4px)}
/* โปสเตอร์แนวตั้งใช้ contain จะได้ไม่โดนตัดข้อความบนโปสเตอร์ */
.nw-ft.is-port{grid-template-columns:minmax(0,.8fr) 1fr;min-height:460px}
.nw-ft.is-port img{position:absolute;inset:0;object-fit:contain}
.nw-ft.is-sq{grid-template-columns:1fr 1fr}
.nw-ft.is-sq img{height:auto;aspect-ratio:1}
.nw-ft.is-land img{height:auto;aspect-ratio:16/9}
@media (min-width:1001px){
  .nw-ft.is-land{grid-template-rows:minmax(0,1fr) auto}
  .nw-ft.is-land .ph{min-height:240px}
  .is-solo .nw-ft.is-land .ph{min-height:420px}
  .nw-ft.is-land img{position:absolute;inset:0;height:100%;aspect-ratio:auto;object-position:center}
  .nw-ft.is-land .tx{padding:14px 28px 16px;gap:5px}
  .nw-ft.is-land h3{font-size:1.4rem;line-height:1.3;-webkit-line-clamp:1;transition:color .2s}
  .nw-ft.is-land p{font-size:.92rem;line-height:1.5;-webkit-line-clamp:1}
  .nw-ft.is-land .nw-go{display:none}
  .nw-ft.is-land:hover h3{color:#7d4485}
}
.nw-lat{min-width:0;padding:24px 24px 14px;border-radius:26px;background:#fff}
.nw-lat h3{margin-bottom:10px;font-size:1.05rem;color:#7d4485}
.nw-li{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:center;padding:12px 0;
  transition:transform .2s}
.nw-li:hover{transform:translateX(4px)}
.nw-li .ph{width:92px;height:68px;border-radius:14px;overflow:hidden;background:#ebdcee}
.nw-li b{font-size:.96rem;line-height:1.4}
.nw-li small{display:block;margin-top:4px;color:#6f6473;font-size:.8rem}
/* แถวข่าวก่อนหน้า: เลื่อนแนวนอนแบบ snap */
.nw-rowh{display:flex;justify-content:space-between;align-items:center;margin:44px 0 18px}
.nw-rowh h3{font-size:1.15rem}
.nw-arr{display:flex;gap:8px}
.nw-arr button{width:44px;height:44px;border:0;border-radius:50%;background:#ebdcee;color:#7d4485;
  font-size:1.2rem;cursor:pointer}
.nw-arr button:last-child{background:#7d4485;color:#fff}
/* เว้นบน 4px ให้การ์ดยกตอน hover ไม่โดนขอบ overflow ตัด */
.nw-sl{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px) / 3);gap:24px;
  margin-top:-4px;padding-top:4px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.nw-sl::-webkit-scrollbar{display:none}
.nw-card{display:flex;flex-direction:column;scroll-snap-align:start;background:#fff;
  border-radius:22px;overflow:hidden;transition:transform .25s}
.nw-card:hover{transform:translateY(-4px)}
#news .nw-card:focus-visible{outline-offset:-3px}
.nw-card .ph{aspect-ratio:16/10;overflow:hidden;background:#ebdcee}
.nw-card .ph img{transition:transform .5s}
.nw-card:hover .ph img{transform:scale(1.04)}
.nw-card .bd{flex:1;display:flex;flex-direction:column;gap:10px;padding:18px 20px 20px}
.nw-card .bd>b{min-height:2.9em;font-size:1.08rem;line-height:1.45}
.nw-card .ft{display:flex;justify-content:space-between;margin-top:auto;color:#6f6473;
  font-size:.85rem}
.nw-card .ft span{color:#7d4485;font-weight:700}
.nw-li img,.nw-card img{width:100%;height:100%;object-fit:cover}
.nw-li.is-port .ph,.nw-card.is-port .ph{background:#fff}
.nw-li.is-port img,.nw-card.is-port img{object-fit:contain}
/* รายการจาก publish.php แสดงเป็นการ์ดตัวหนังสือเมื่อ JS ไม่โหลด JS ซ่อนแล้วสร้างแบบเต็มแทน */
#list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
#list a{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:22px;background:#fff}
#list small{align-self:flex-start;padding:4px 10px;border-radius:99px;background:#f4ecf5;
  color:#7d4485;font-size:.76rem;font-weight:700}
#list p{color:#5d5262;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden}
#list time{color:#6f6473;font-size:.85rem}
@media (max-width:1000px){
  .nw-top{grid-template-columns:1fr}
  .nw-sl{grid-auto-columns:calc((100% - 24px) / 2)}
}
@media (max-width:800px){
  .nw-ft.is-port,.nw-ft.is-sq{grid-template-columns:1fr;min-height:0}
  .nw-ft.is-port .ph{height:360px}
  .nw-ft .tx{padding:22px 20px}
}
@media (max-width:640px){
  #news{padding:60px 0 68px}
  .nw-w{padding:0 18px}
  .nw-sl{grid-auto-columns:86%}
  .nw-lat{padding:18px}
  .nw-tree{width:440px;height:280px;right:-150px;bottom:-5px}
}
body:has(#news) .chip{display:none}
/* route */
.route{min-height:110vh;display:grid;grid-template-columns:330px 1fr;gap:4vw;align-items:center;padding-top:12vh;padding-bottom:12vh}
.route .big{font:400 clamp(70px,11vw,190px)/.85 var(--disp);color:var(--brand)}
.route figure{background:#fff;padding:3vw;transform:rotate(2deg);box-shadow:0 40px 80px -40px #0005;max-width:820px}
.route figure img{width:100%}
.big-h{font:400 clamp(60px,10vw,170px)/.9 var(--disp);color:var(--brand)}
.big-h.th{font-family:"Noto Serif Thai",serif;font-size:clamp(46px,7vw,120px);line-height:1.1}
/* ===== ข้อมูลการเข้าชม: รูปซ้ายติดตอนเลื่อน การ์ดราคาอยู่ขวา ===== */
/* หมุนที่ figure ไม่ใช่ตัวที่ sticky เพราะ transform ของตัวเองทำให้ติดไม่ได้ */
.visit{padding-top:12vh;padding-bottom:10vh;display:grid;
  grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start}
.visit-photo{position:sticky;top:32px;align-self:start}
.visit-photo figure{background:#fff;padding:14px 14px 10px;border-radius:8px;border:1px solid #00000014;
  box-shadow:0 18px 40px -10px #0000002e;transform:rotate(-2.5deg)}
.visit-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:6px}
.visit-photo figcaption{margin-top:12px;text-align:center;font:400 12px/1.5 "Noto Serif Thai",serif;color:var(--mute)}
.visit-body{display:flex;flex-direction:column;gap:28px;min-width:0}
.visit-kicker{font-size:12px;letter-spacing:.14em;color:var(--mute)}
.visit-title{font:700 clamp(40px,5vw,72px)/1.05 "Noto Serif Thai",serif;color:var(--brand)}
.visit-sub{margin-top:8px;color:var(--mute);font-weight:300}
.visit-card{background:#fff;border:1px solid #0000000f;border-radius:8px;padding:20px 24px;
  box-shadow:0 4px 20px -4px #0000000d}
.visit-card-h{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:8px;
  border-bottom:1px solid #00000014}
.visit-card-h h3{font-size:18px;font-weight:700}
.visit-hint{font-size:12px;color:var(--mute)}
.visit-spread{justify-content:space-between;align-items:center;flex-wrap:wrap}
.visit-spread>.visit-card-h{margin:0;padding:0;border:0}
.visit-badge{display:inline-block;padding:2px 8px;border-radius:4px;background:#c9a0cf33;
  color:var(--brand-dark);font:700 12px/1.4 "Noto Serif Thai",serif}
.visit-hours{display:grid;grid-template-columns:1.3fr 1fr 1fr}
.visit-hours p{display:flex;flex-direction:column;gap:2px}
.visit-hours p+p{border-left:1px solid #00000014;padding-left:20px}
.visit-hours span{font-size:12px;color:var(--mute)}
.visit-hours b{font-size:16px;font-weight:600}
.visit-hours em{font-style:normal;font-size:14px}
.visit-hours .is-off{color:var(--mute);font-weight:600}
.visit-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.visit-rates{list-style:none;display:flex;flex-direction:column;gap:14px}
.visit-rates li,.visit-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.visit-rates b,.visit-row b{flex:none;font-weight:600;white-space:nowrap}
.visit-free{display:flex;flex-direction:column;gap:10px;padding-left:1.1em}
.visit-free small{color:var(--mute);font-size:14px}
.visit-fine{margin-top:14px;padding-top:12px;border-top:1px dashed #0000001a;font-size:14px;color:var(--mute)}
.visit-cap{margin-top:12px;padding:8px 12px;border-radius:4px;background:#fafafa;border:1px solid #0000000a;
  font-size:12px;color:var(--mute);line-height:1.5}
.visit-due{font-size:12px;font-weight:500;color:#8f4228;background:#8f42281a;padding:4px 10px;border-radius:4px}
.visit-act{background:#fafafa;border:1px solid #0000000f;border-radius:8px;padding:16px}
.visit-act h4{font-size:16px;font-weight:600;padding-bottom:8px;border-bottom:1px solid #0000000f}
.visit-act h4 small{display:block;margin-top:2px;font-size:12px;font-weight:400;color:var(--mute)}
.visit-act-name{margin-top:12px;font-weight:500}
.visit-act-price{margin-top:4px;font-size:14px;color:#4a423a}
.visit-act-price b{font-size:16px;color:var(--ink)}
.visit-act .visit-row{margin-top:10px;padding-top:10px;border-top:1px solid #0000000a}
.visit-warn{background:#faf7f2;border:1px solid #e8dfd5;border-radius:8px;padding:20px 24px}
.visit-warn h3{font-size:16px;font-weight:600;margin-bottom:12px}
.visit-warn ul{padding-left:1.2em;color:#4a423a}
.visit-warn li+li{margin-top:8px}
.visit-cta{display:flex;justify-content:space-between;align-items:center;gap:16px}
.visit-cta p{font-size:12px;color:var(--mute)}
.visit-book{background:var(--brand);font-weight:600}
.visit-book:hover{background:var(--brand-dark)}
@media (max-width:900px){
  .visit-photo{position:static;max-width:320px}
  .visit-pair,.visit-hours{grid-template-columns:1fr}
  .visit-hours p+p{border-left:0;padding-left:0;border-top:1px solid #00000014;padding-top:12px;margin-top:12px}
  .visit-cta{flex-direction:column;align-items:stretch}
  .visit-book{justify-content:center}
}
/* cursor */
#cur{position:fixed;left:0;top:0;z-index:95;pointer-events:none;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--brand);transform-origin:center;transition:background .25s}
@media (hover:none){#cur{display:none}}
@media (max-width:900px){
 .hours,.reel,.chip{display:none}.logo-v{transform:scale(.75);transform-origin:0 0}
 .menu{left:60px}.inq{font-size:16px}.wrap{padding-left:var(--g)}

.hero .vcard{width:62vw}.route,.visit{grid-template-columns:1fr}
 .statement{display:block;min-height:0;grid-template-columns:none;padding-top:56px;padding-bottom:56px}
 .s2-top,.s2-lower{display:block}
 .s2-top{margin-bottom:28px}
 .s2-lead{margin:14px 0 0;max-width:none}
 .s2-list{display:block;height:auto}
 .s2-list>.s2-row{flex:none;min-height:0}
 .statement h2 em{white-space:normal;font-size:clamp(28px,8vw,36px)}
 .s2-pv{display:none}
 .s2-list .s2-row{grid-template-columns:30px minmax(0,1fr) 60px;gap:10px;align-items:center;padding:14px 2px}
 .s2-list .s2-row.on,.s2-list .s2-row:hover{background:transparent}
 .s2-list .s2-row.on .num,.s2-list .s2-row:hover .num{transform:none}
 .s2-list .num{grid-row:1 / span 3;font-size:16px}
 .s2-list .s2-name{grid-column:2;grid-row:1;font-size:20px}
 .s2-list .s2-fact{grid-column:2;grid-row:2}
 .s2-visit{display:block}
 .s2-desc{white-space:normal}
 .s2-list .s2-row i{display:none}
 .s2-list .s2-thumb,.s2-list .s2-ph{display:block;grid-column:3;grid-row:1 / span 3;width:60px;height:60px;object-fit:cover;border-radius:10px}
 .s2-list .s2-ph{display:grid;place-items:center;background:#ebdcee;color:#9e5da5;font:700 16px/1 var(--seed)}
 .s2-book{display:inline-flex;margin-top:8px}
 .menu-m{display:block}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}#curtain{display:none}}
/* hero ใหม่: แสงเขียว Emerald Horizon + ข้อมูลหน่วยงาน */
.hero.eh{position:relative;display:flex;align-items:center;justify-content:flex-end;background:#f4f6f2;color:#111}
.hero.eh canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.eh-box{position:relative;z-index:2;width:min(440px,36vw);min-width:0;margin:0 var(--g) 0 0;padding:0}
.eh .tag{font-size:16px;letter-spacing:.15em;opacity:.8}
.hero.eh h1{position:static;font:600 clamp(28px,4.6vw,64px)/1.2 "Noto Sans Thai",sans-serif!important;color:#111;text-align:left;margin:.3em 0;overflow-wrap:break-word}
.hero.eh h1 small{font:400 .38em/1.4 "Noto Sans Thai",sans-serif;opacity:.85;margin-top:.4em}
.eh .info{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 28px}
.eh .info span{display:inline-flex;align-items:center;gap:8px;background:#ffffff22;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #fff3;color:#111;padding:8px 14px;border-radius:var(--r);font-size:16px}
.eh .info img{width:22px;height:22px;flex:none}
.eh .btns{display:flex;flex-wrap:wrap;gap:12px}
.eh .btns a{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:var(--r);font-weight:600;text-decoration:none}
.eh .b1{background:var(--brand);color:#fff}.eh .b2{background:#ffffff22;border:1px solid #fff6;color:#111;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
@media(max-width:900px){
  .eh-box{width:calc(100vw - 48px);max-width:calc(100vw - 48px);margin:0 16px 0 auto;padding:0}
  .hero.eh h1{font-size:26px!important;word-break:break-word}
  .eh .info{flex-direction:column;align-items:flex-start}
  .eh .info span{font-size:16px;max-width:100%}
  .eh .btns{flex-direction:column;align-items:stretch}
  .eh .btns a{max-width:100%;text-align:center}
  .hero.eh .art{top:auto;height:32%;width:100%;max-width:none;max-height:none;object-fit:cover;object-position:center 40%;
    -webkit-mask-image:linear-gradient(#0000,#000 28%);mask-image:linear-gradient(#0000,#000 28%)}
}
/* แถบบนอ่านออกบนเฟดขาว: ตัวหนังสือสีเข้มตอนอยู่บน hero, เลื่อนลงแล้วกลับสีเดิม */
body:not(.scrolled) .hours,body:not(.scrolled) .hours span,body:not(.scrolled) .reel{color:#111!important;transition:color .4s}
/* วิดีโอเต็ม hero ตัวหนังสือเข้มเพราะเฟดเป็นขาว */
.hero.eh{display:flex;align-items:center;justify-content:flex-end;color:#111}
.hero.eh video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* เงาขาว ซ้าย 20% เข้มขึ้นทางขวา และผสมม่วง CI บาง ๆ ให้ชัดที่ก้อนข้อความ */
.hv-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:
  linear-gradient(90deg,rgba(158,93,165,0) 0%,rgba(158,93,165,.16) 55%,rgba(158,93,165,.34) 100%),
  linear-gradient(90deg,rgba(255,255,255,.2) 0%,rgba(255,255,255,.55) 55%,rgba(255,255,255,.82) 100%)}
@media(max-width:900px){
  .hero.eh{align-items:flex-end}
  .eh-box{margin:0 16px 28px auto}
  .hero.eh video{object-fit:cover;object-position:15% 42%}
  .menu{left:60px;right:16px}
  /* มือถือ: กล่องโลโก้ (ย่อ .75) เป็นปุ่มเมนูตลอด ติ่ง ☰ แสดงตลอด
     กดแล้วกางรายการข้างโลโก้ กดหมวดแล้วเมนูย่อยเปิดใต้หมวด */
  .menu .menu-toggle{display:block;left:calc(var(--g) - 60px);width:39px;height:102px}
  .menu .menu-toggle::after{display:none}
  .menu .side{display:none;width:min(340px,100%);max-height:calc(100vh - 100px);overflow:auto;
    background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
  .menu .side.expanded{display:block}
  .menu .side::before{display:none}
  .menu .side>li>button[aria-expanded="true"]::after{transform:rotate(90deg)}
  .menu .drop{position:static;width:auto;display:none;opacity:1;visibility:visible;transform:none;
    background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .menu .drop.open{display:block}
  .menu .drop-in{grid-template-columns:1fr;gap:12px;padding:4px 14px 12px}
  .menu .drop-intro h3,.menu .drop-intro p,.menu .feat{display:none}
  .menu .cols{grid-template-columns:1fr;gap:12px}
  .inq{right:12px;left:auto;max-width:58vw}
  .inq a{padding:8px 12px}
}
body:not(.scrolled) .reel,body:not(.scrolled) .hours,body:not(.scrolled) .hours span{color:#111!important;text-shadow:none}
body:not(.scrolled) .inq .sbtn{color:#111}
body:not(.scrolled) .inq a{color:#fff!important}

/* ===== ค้นหา (แบบกล่องกลางจอ) ===== */
.inq{display:flex;align-items:center;gap:8px}.inq a{white-space:nowrap}
.inq .sbtn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:var(--r);
  font:500 16px var(--f);color:#fff;background:#ffffff26;border:1px solid #fff5;cursor:pointer;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.inq .sbtn span{display:inline}
.inq .sbtn kbd{font:500 12px var(--f);border:1px solid currentColor;border-radius:6px;padding:0 6px;opacity:.6}
/* เลื่อนพ้นวิดีโอ: ฝ้ากระจกแบบเมนู อ่านเวลาได้โดยไม่ขยายปุ่มให้ชิดขอบ */
body.scrolled .hours,body.scrolled .inq .sbtn{color:#111;background:#ffffff99;border:1px solid #ffffff66;
  -webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);
  box-shadow:0 8px 20px #0002}
body.scrolled .hours{padding:6px 12px;border-radius:var(--r)}
.inq .sbtn svg,.sbox svg{width:18px;height:18px;flex:none}
.smodal{position:fixed;inset:0;z-index:96;display:grid;place-items:start center;padding-top:14vh;background:#0004;
  opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.smodal.open{opacity:1;visibility:visible}
/* กระจกฝ้า: พื้นขาวโปร่ง + เบลอฉากหลังแรง, เส้นขอบบนสว่างเหมือนแสงตกกระทบ */
.sbox{width:min(640px,92vw);color:#fff;background:linear-gradient(160deg,#ffffff3d,#ffffff14);
  border:1px solid #ffffff59;border-radius:var(--r);-webkit-backdrop-filter:blur(28px) saturate(1.6);
  backdrop-filter:blur(28px) saturate(1.6);box-shadow:inset 0 1px 0 #ffffff80,0 30px 80px #0006;overflow:hidden;
  transform:translateY(-8px) scale(.98);transition:transform .25s}
.smodal.open .sbox{transform:none}
.sbox .sfield{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid #ffffff33}
.sbox input{flex:1;min-width:0;background:none;border:0;color:#fff;font:500 18px var(--f);outline:none}
.sbox input::placeholder{color:#ffffffa0}
/* ปุ่ม × ของเบราว์เซอร์เป็นสีน้ำเงินและหน้าตาต่างกันทุกเบราว์เซอร์ → ซ่อน ใช้ปุ่มวงกลมกระจกของเราแทน
   ปุ่มโผล่เฉพาะตอนมีข้อความ (placeholder หายไป) */
.sbox input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
.sclear{display:grid;place-items:center;width:30px;height:30px;flex:none;padding:0;border-radius:var(--r);
  color:#fff;background:#ffffff26;border:1px solid #ffffff40;cursor:pointer;transition:background .2s}
.sclear svg{width:14px;height:14px}
.sclear:hover,.sclear:focus-visible{background:#ffffff4d}
.sbox input:placeholder-shown + .sclear{display:none}
.sres{max-height:52vh;overflow:auto;padding:6px}
.sres a{display:flex;gap:14px;align-items:center;padding:10px 12px;border-radius:var(--r);transition:background .2s}
.sres a:hover,.sres a.act{background:#ffffff26;box-shadow:inset 0 0 0 1px #ffffff33}
.sres img{width:48px;height:48px;border-radius:var(--r);object-fit:cover;flex:none}
.sres mark{background:none;color:var(--brand-light);font-weight:700}
.sres .group{font-size:13px;letter-spacing:.08em;opacity:.6;padding:14px 12px 4px}
.sres .empty{padding:16px 12px;opacity:.7}
.sbox .foot{display:flex;gap:16px;padding:10px 18px;border-top:1px solid #ffffff33;font-size:13px;opacity:.7}
@media (max-width:900px){.inq .sbtn span,.inq .sbtn kbd{display:none}.inq .sbtn{padding:0 12px}.sbox .foot{display:none}}
.hours .quiet{color:var(--mute)}
.space-20{margin-top:20px}
.space-28{margin-top:28px}
.space-30{margin-top:30px}
/* ===== มือถือ: สารบัญ / ข่าว / ข้อมูลเข้าชม แบบ 1 (MH2–MH4) ===== */
/* ลิงก์อ่านเพิ่มมีไว้สำหรับจอที่ตัดย่อหน้าเหลือ 2 บรรทัดเท่านั้น */
.s2-more{display:none}
@media (max-width:768px){
 /* MH2: ตัดชื่อเป็น พิพิธภัณฑสถาน / ธรรมชาติวิทยา ไม่ให้แตกกลางคำ */
 .statement h2 em{font-size:28px;line-height:1.25}
 .statement h2 em>span{display:inline-block}
 .s2-top{margin-bottom:16px}
 .s2-lead{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.7}
 .s2-more{display:inline-flex;align-items:center;gap:4px;min-height:44px;color:#7d4485;font-size:14px;font-weight:700}
 /* MH3: ชิปหมวดแถวเดียวเลื่อนข้าง เฟดขอบขวา (mask จำเป็น) จุดตำแหน่งมาจาก mobile-nav.js */
 /* ข่าวต่อท้ายสารบัญเลย ช่องว่าง 116px บนจอเล็กดูเหมือนหน้าจบไปแล้ว */
 .statement{padding-bottom:24px}
 #news{padding-top:28px}
 #news .nw-hd{flex-wrap:nowrap;align-items:center;margin-bottom:16px}
 #news h2{font-size:24px}
 #news .nw-all{flex:none;padding:0 14px;font-size:14px}
 .nw-tabs{flex-wrap:nowrap;overflow-x:auto;margin:0 -18px 0 0;padding-right:28px;scrollbar-width:none;
  scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 36px),transparent);
  mask-image:linear-gradient(to right,#000 calc(100% - 36px),transparent)}
 .nw-tabs::-webkit-scrollbar{display:none}
 .nw-tabs button{flex:none;white-space:nowrap;font-size:14px;scroll-snap-align:start}
 /* เว้นใต้จุดมากกว่าเหนือจุด ให้จุดผูกกับชิป ไม่ติดภาพข่าวเด่น */
 #news .scroll-dots{margin:12px 0 32px}
 .nw-tabs:has(+ .scroll-dots[hidden]){margin-bottom:22px}
 /* MH4: หัวข้อขึ้นก่อน ภาพแนวนอนไม่เอียง แล้วตามด้วยการ์ดเวลา/อัตรา/ปุ่มจอง */
 .visit{display:flex;flex-direction:column;align-items:stretch;gap:16px;padding-top:56px;padding-bottom:40px}
 .visit-body{display:contents}
 .visit-kicker,.visit-title,.visit-sub{order:-2}
 .visit-title{margin-top:-12px;font-size:32px}
 .visit-sub{margin-top:-14px}
 .visit-photo{order:-1;max-width:none}
 .visit-photo figure{padding:10px 10px 8px;border:0;border-radius:18px;box-shadow:none;transform:none}
 /* height:auto เพราะ attribute height="800" ทำให้ aspect-ratio ไม่ทำงาน */
 .visit-photo img{height:auto;aspect-ratio:2/1;object-position:center 30%;border-radius:12px}
 .visit-card{border:0;border-radius:18px;padding:16px}
 /* F11: กล่องค้นหาพื้นทึบ ตัวเข้ม (เลิกกระจกฝ้า) — ชุดเดียวกับ site-search-modal.css */
 .sbox{color:#2b2230;background:#fbf8fc;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
 .sbox .sfield{border-bottom-color:#ebdcee}
 .sbox input{color:#2b2230}
 .sbox input::placeholder{color:#6f6473}
 .sclear{color:#7d4485;background:#ebdcee;border:0}
 .sres a:hover,.sres a.act{background:#ebdcee;box-shadow:none}
 .sres mark{color:#7d4485}
}
