/* ============================================================
   theme-b.css — ธีม "Industrial Enterprise" (Prototype B)
   ใช้เฉพาะหน้าแรก (index.php) · ถอดจาก docs/design/prototype-b-enterprise.html
   หน้าอื่นยังใช้ styles.css (ธีมเดิม) — หน้านี้ไม่โหลด styles.css เลย ($SKIP_BASE_CSS)
   สีทั้งหมดเป็น CSS variable ที่ :root → เปลี่ยนธีมทั้งหน้าได้จากที่เดียว
   ============================================================ */
:root{
  color-scheme: light;
  --paper:#FFFFFF; --mist:#EEF3FA; --mist2:#E3EBF5;
  --ink:#122238; --ink2:#485975; --ink3:#7486A1;
  --navy:#0B2650; --navy-deep:#071A38; --navy-2:#14356E;
  --gold:#C79A3C; --gold-br:#E4C368; --gold-soft:#F6EFDC;
  --line:#DBE3EF; --line2:#C6D2E5; --steel:#6C7E98;
  --sans:"Sarabun","Noto Sans Thai","Leelawadee UI","Segoe UI",Tahoma,system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.62;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{width:min(1180px,92vw);margin-inline:auto}
h1,h2,h3{line-height:1.14;font-weight:800;text-wrap:balance;letter-spacing:-.015em}
section{padding:clamp(52px,7vw,92px) 0}
.eyebrow{display:inline-block;font-size:.74rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);border-left:3px solid var(--gold);padding-left:10px}
.btn{display:inline-flex;align-items:center;gap:.5em;font-weight:800;font-size:.92rem;padding:13px 24px;border-radius:4px;border:2px solid transparent;transition:.18s;cursor:pointer}
.btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.4}
.btn-gold{background:var(--gold);color:#2c2007}
.btn-gold:hover{background:var(--gold-br)}
.btn-out{border-color:rgba(255,255,255,.5);color:#fff}
.btn-out:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-2)}

/* ── utility bar (แถบบนสุด) ── */
.util{background:var(--navy-deep);color:#b7c5dd;font-size:.8rem}
.util .wrap{display:flex;gap:20px;align-items:center;min-height:38px;flex-wrap:wrap}
.util a{color:#b7c5dd}.util a:hover{color:var(--gold-br)}
.util .sp{margin-left:auto;display:flex;gap:14px;align-items:center}
.util b{color:var(--gold-br);font-weight:700}
.util a.on{color:var(--gold-br);font-weight:700}

/* ── ตัวเลือกภาษา + ธงชาติ ──
   ธงวาดเป็น SVG เอง (app/data/flags.php) ไม่ใช้ emoji เพราะ Windows ไม่มีฟอนต์ธง
   จะกลายเป็นตัวอักษร "TH"/"JP" แทนรูปธง */
.lang{display:inline-flex;align-items:center;gap:3px;margin-left:4px}
.lang > a{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:3px;
  border:1px solid transparent;transition:.15s}
.lang > a:hover{background:rgba(255,255,255,.09)}
.lang > a.on{background:rgba(255,255,255,.13);border-color:rgba(228,195,104,.5)}
.lang b{font-weight:700;font-size:.76rem;letter-spacing:.04em}
/* ธง: กรอบบาง ๆ กันธงที่มีพื้นขาว (ญี่ปุ่น) จมหายไปกับพื้นหลังสีกรม */
.fl{width:19px;height:13px;flex:none;display:block;border-radius:2px;
  box-shadow:0 0 0 1px rgba(255,255,255,.28);object-fit:cover}

/* ปุ่มกางภาษาที่เหลือ */
.lang .more{position:relative;display:inline-flex}
.lang .more > button{display:grid;place-items:center;width:22px;height:22px;padding:0;
  background:none;border:0;cursor:pointer;color:inherit;border-radius:3px}
.lang .more > button:hover{background:rgba(255,255,255,.09)}
.lang .more > button svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.6;transition:transform .18s}
.lang .more:hover > button svg,.lang .more:focus-within > button svg{transform:rotate(180deg)}
.lang .pop{position:absolute;top:100%;right:0;transform:translateY(6px);min-width:172px;
  background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:8px;
  box-shadow:0 26px 54px -26px rgba(11,38,80,.6);padding:6px;z-index:70;
  opacity:0;visibility:hidden;transition:opacity .16s,transform .16s}
.lang .pop::before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}
.lang .more:hover .pop,.lang .more:focus-within .pop{opacity:1;visibility:visible;transform:translateY(0)}
.lang .pop a{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:5px;
  color:var(--navy);font-size:.84rem;font-weight:700;transition:.15s}
.lang .pop a:hover{background:var(--mist);color:var(--gold)}
.lang .pop .fl{box-shadow:0 0 0 1px rgba(11,38,80,.18)}

/* จอแคบ: ซ่อนตัวย่อ เหลือแต่ธง (แถบบนสุดที่มีจำกัด) */
@media(max-width:640px){
  .lang b{display:none}
  .lang > a{padding:4px 5px}
}
/* ปุ่มขอใบเสนอราคาบนแถบบนสุด (ย้ายมาจากแถบเมนู เพื่อให้เมนูมีที่พอเรียงแนวนอน) */
.util .utcta{background:var(--gold);color:#2c2007;font-weight:800;font-size:.78rem;
  padding:5px 14px;border-radius:3px;margin-left:6px}
.util .utcta:hover{background:var(--gold-br);color:#2c2007}
/* ทางเข้าระบบ ERP — โชว์เฉพาะคนในบริษัท (T006) · แบบเส้นขอบ ให้เด่นน้อยกว่าปุ่มขอใบเสนอราคา */
.util .utlogin{border:1px solid rgba(228,195,104,.55);color:var(--gold-br);font-weight:700;
  font-size:.78rem;padding:4px 13px;border-radius:3px;margin-left:6px}
.util .utlogin:hover{border-color:var(--gold-br);background:rgba(228,195,104,.12);color:var(--gold-br)}

/* ── header (sticky) ── */
header.site{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 14px -8px rgba(11,38,80,.25)}
.nav{display:flex;align-items:center;gap:24px;height:70px}
.brand{display:flex;align-items:center;gap:14px;margin-right:auto}
/* ตราสัญลักษณ์ = PNG ทองโปร่งใส สัดส่วน ~2:1 วางบนแผ่นพื้นสีกรม
   กำหนดความสูงรวม ปล่อยความกว้างตามสัดส่วน (เดิมบังคับสี่เหลี่ยม 44x44 โลโก้เลยถูกบีบเล็ก)
   พื้นกรมทำให้ทองตัดกับหัวเว็บสีขาว — ตรงกับโลโก้ต้นฉบับที่วางบนพื้นกรม */
.brand .mk{height:58px;flex:none;display:flex;align-items:center;justify-content:center;
  background:var(--navy-deep);border-radius:0;padding:9px 14px;
  box-shadow:0 6px 18px -10px rgba(7,26,56,.75)}
.brand .mk img{height:100%;width:auto;display:block}
/* เส้นคั่นบาง ๆ ระหว่างตรากับชื่อบริษัท ให้โลโก้ดูเป็นพระเอก ไม่กลืนกับตัวหนังสือ */
.brand .nm{padding-left:14px;border-left:1px solid var(--line2)}
.brand b{font-weight:800;letter-spacing:.09em;color:var(--navy);font-size:1.12rem;display:block;line-height:1.15}
.brand span{font-size:.72rem;color:var(--ink3)}
@media(max-width:520px){
  .brand .mk{height:46px;padding:7px 10px}
  .brand .nm{padding-left:11px}
  .brand b{font-size:.98rem}
}
/* เมนูหลัก — โชว์เรียงแนวนอนตั้งแต่จอ 900px ขึ้นไป (เดิมตั้งไว้ 980px ทำให้จอ ~970px
   เห็นแต่ปุ่ม 3 ขีด) · ปุ่มขอใบเสนอราคาย้ายไปแถบบนแล้ว จึงมีที่พอ */
.nav .lk{font-size:.88rem;font-weight:600;color:var(--ink2);display:none;white-space:nowrap}
.nav .lk:hover{color:var(--navy)}
@media(min-width:900px){
  .nav{gap:clamp(10px,1.2vw,22px)}
  .nav .lk{display:inline}
}
/* ── ช่วงจอกลาง: ย่อของให้พอดี "โดยยังโชว์ชื่อบริษัทเสมอ" ──
   ⚠️ เคยตั้งให้ 900-1179px ซ่อนชื่อบริษัททิ้ง เพราะกลัวเมนู 8 หัวข้อล้น
      แต่พอย้ายปุ่ม "ขอใบเสนอราคา" ขึ้นไปแถบบนแล้ว ที่เหลือพอ — ชื่อบริษัทคือตัวตนของเว็บ
      ห้ามซ่อนอีก ถ้าที่ไม่พอให้ย่อขนาดแทน (แถวเมนูสูงคงที่ 70px จึงต้องไม่ให้ตัดบรรทัด) */
@media(min-width:900px) and (max-width:1059px){
  .brand .mk{height:36px;padding:5px 9px}
  .brand .nm{padding-left:9px}
  .brand b{font-size:.86rem;letter-spacing:.06em}
  .brand span{font-size:.66rem}
  .nav .lk{font-size:.76rem}
  .nav{gap:7px}
}
@media(min-width:1060px) and (max-width:1179px){
  .brand .mk{height:42px;padding:6px 10px}
  .brand .nm{padding-left:11px}
  .brand b{font-size:.95rem;letter-spacing:.07em}
  .nav .lk{font-size:.82rem}
  .nav{gap:10px}
}
@media(min-width:1180px){
  .nav{gap:14px}
  .nav .lk{font-size:.9rem}
  .brand .mk{height:52px}
  .brand b{font-size:1.04rem}
}
@media(min-width:1300px){
  .nav{gap:clamp(14px,1.2vw,22px)}
  .nav .lk{font-size:.92rem}
  .brand .mk{height:58px}
  .brand b{font-size:1.12rem}
}

/* ── เมนูย่อยแบบ dropdown ("สินค้าของบริษัท") ──
   เปิดด้วย :hover + :focus-within ล้วน ๆ ไม่ใช้ JS
   ⚠️ ห้ามใช้ display:none/block สลับ — จะทำให้ transition ไม่ทำงานและคนกด Tab งง
      ใช้ opacity + visibility แทน (visibility กันไม่ให้คลิกโดนตอนซ่อน) */
.nav .hassub{position:relative;display:none}
@media(min-width:900px){.nav .hassub{display:block}}
.nav .hassub > a{display:inline-flex;align-items:center;gap:5px;color:inherit;font:inherit}
.nav .hassub > a:hover{color:var(--navy)}
.nav .hassub .ca{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.4;transition:transform .18s}
.nav .hassub:hover .ca,.nav .hassub:focus-within .ca{transform:rotate(180deg)}
.nav .sub{position:absolute;top:100%;left:50%;transform:translate(-50%,6px);min-width:262px;
  background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:8px;
  box-shadow:0 26px 54px -26px rgba(11,38,80,.55);padding:8px;z-index:60;
  opacity:0;visibility:hidden;transition:opacity .16s,transform .16s}
/* สะพานใส ๆ ระหว่างหัวข้อกับกล่อง — กันเมนูวูบหายตอนเลื่อนเมาส์ลงมา */
.nav .sub::before{content:"";position:absolute;top:-11px;left:0;right:0;height:11px}
.nav .hassub:hover .sub,.nav .hassub:focus-within .sub{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav .sub a{display:block;padding:10px 13px;border-radius:5px;transition:.15s}
.nav .sub a:hover{background:var(--mist)}
.nav .sub a b{color:var(--navy);font-size:.88rem;font-weight:700;white-space:nowrap}
.nav .sub a small{color:var(--ink3);font-size:.72rem;font-weight:700;letter-spacing:.05em}
.nav .sub a:hover b{color:var(--gold)}
.nav .sub a.all{margin-top:6px;padding-top:13px;border-top:1px solid var(--line);border-radius:0 0 5px 5px;
  color:var(--navy);font-size:.84rem;font-weight:800}
.nav .sub a.all:hover{color:var(--gold);background:transparent}
/* เมนูย่อยในเมนูมือถือ — ย่อหน้าเข้าไป มีเส้นบอกว่าเป็นลูกของหัวข้อด้านบน */
.mnav a.s2{padding-left:22px;font-size:.88rem;color:var(--ink2);
  border-left:2px solid var(--gold);margin-left:4px}

/* ปุ่มเมนูมือถือ (ของเดิมมี hamburger — ธีมนี้ทำใหม่ให้เข้าธีม) */
.bt{display:grid;gap:5px;background:none;border:0;cursor:pointer;padding:8px;margin-left:auto}
.bt span{display:block;width:24px;height:2px;background:var(--navy);border-radius:2px;transition:.2s}
@media(min-width:900px){.bt{display:none}}
.mnav{display:none;border-top:1px solid var(--line);background:#fff}
.mnav.open{display:block}
.mnav a{display:block;padding:13px 0;border-bottom:1px solid var(--line);font-weight:600;color:var(--ink2)}
.mnav a:last-child{border-bottom:0}
@media(min-width:900px){.mnav,.mnav.open{display:none}}

/* ── hero ── */
.hero{position:relative;background:
  linear-gradient(115deg,var(--navy-deep) 0%,var(--navy) 55%,var(--navy-2) 100%);
  color:#fff;overflow:hidden;padding-bottom:60px}
.hero::before{content:"";position:absolute;inset:0;opacity:.5;background:
  repeating-linear-gradient(125deg,rgba(255,255,255,.04) 0 2px,transparent 2px 16px)}
.hero::after{content:"";position:absolute;right:-8%;top:-20%;width:46%;height:140%;
  background:radial-gradient(closest-side,rgba(199,154,60,.22),transparent);pointer-events:none}
.hero .wrap{position:relative;z-index:2;padding-block:clamp(56px,8vw,110px)}
.hero .eyebrow{color:var(--gold-br);border-color:var(--gold-br)}
.hero h1{font-size:clamp(2.2rem,5.2vw,3.9rem);margin:20px 0;max-width:16em}
.hero .hl{color:var(--gold-br)}
.hero p{color:#c6d2e8;font-size:1.1rem;max-width:34em}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
/* เงาตัวอักษรบน hero — ทำงานคู่กับ scrim
   เงาไล่ 2 ชั้น: ชั้นในคมสั้น (กันขอบตัวอักษรกลืนพื้น) + ชั้นนอกฟุ้งกว้าง (ถ่างคอนทราสต์)
   ใช้สี navy-deep ให้กลมกลืนกับธีม ไม่ใช่สีดำ (ดำจะดูสกปรกบนพื้นน้ำเงิน) */
.hero h1{text-shadow:0 1px 2px rgba(7,26,56,.7), 0 3px 12px rgba(7,26,56,.6), 0 6px 30px rgba(7,26,56,.5)}
.hero p{text-shadow:0 1px 2px rgba(7,26,56,.75), 0 2px 16px rgba(7,26,56,.55)}
.hero .eyebrow{text-shadow:0 1px 3px rgba(7,26,56,.85), 0 2px 10px rgba(7,26,56,.5)}
/* ปุ่มโปร่ง (ดูความสามารถ) เปราะสุดเพราะไม่มีพื้นหลังทึบ — เงาตัวอักษร + เงากล่อง + พื้นจาง ๆ */
.hero .btn-out{text-shadow:0 1px 3px rgba(7,26,56,.85);background:rgba(7,26,56,.22);
  box-shadow:0 2px 18px rgba(7,26,56,.45)}
.hero .btn-out:hover{background:rgba(255,255,255,.12)}
/* สไลด์รูปพื้นหลัง 4 รูป เฟดวนรอบละ 18 วิ */
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;z-index:0;animation:heroFade 18s infinite}
.hero-slide:nth-child(2){animation-delay:4.5s}
.hero-slide:nth-child(3){animation-delay:9s}
.hero-slide:nth-child(4){animation-delay:13.5s}
@keyframes heroFade{0%{opacity:0}3%{opacity:.58}22%{opacity:.58}27%{opacity:0}100%{opacity:0}}
/* เครื่องที่ตั้งค่า "ลดการเคลื่อนไหว" (Windows ปิดเอฟเฟกต์แอนิเมชัน = ค่าเริ่มต้นของ Windows Server)
   → ไม่หยุดสไลด์ทิ้ง แต่ยืดรอบจาก 18 วิ เป็น 32 วิ (เฟดช้า ๆ)
   เหตุผล: การเฟดความทึบอย่างเดียวไม่มีการเคลื่อนที่/ซูม/พารัลแลกซ์ ซึ่งเป็นสิ่งที่ผู้ใช้กลุ่มนี้กังวลจริง ๆ
   → ทุกคนได้เห็นครบทั้ง 4 รูป (ไม่งั้นจะเห็นรูปแรกค้างรูปเดียวตลอด ไม่เห็นผลงาน/ISO) */
@media(prefers-reduced-motion:reduce){
  .hero-slide{animation-duration:32s}
  .hero-slide:nth-child(2){animation-delay:8s}
  .hero-slide:nth-child(3){animation-delay:16s}
  .hero-slide:nth-child(4){animation-delay:24s}
}
/* ม่าน (scrim) ทับรูป — เข้มซ้าย จางขวา ให้ตัวหนังสือฝั่งซ้ายอ่านออกเสมอ
   แม้สไลด์จะเป็นรูปพื้นขาว (คอลลาจผลงาน) ก็ยังคอนทราสต์พอ */
.hero .scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:
  linear-gradient(100deg,rgba(7,26,56,.70) 0%,rgba(11,38,80,.48) 46%,rgba(20,53,110,.16) 100%)}

/* ── spec bar (การ์ด 4 ช่องลอยทับ hero) ── */
.specbar{background:#fff;border:1px solid var(--line);border-radius:12px;margin-top:-38px;position:relative;z-index:5;
  display:grid;grid-template-columns:repeat(2,1fr);box-shadow:0 24px 50px -30px rgba(11,38,80,.5);overflow:hidden}
@media(min-width:720px){.specbar{grid-template-columns:repeat(4,1fr)}}
.specbar .s{padding:22px 20px;border-right:1px solid var(--line)}
.specbar .s:last-child{border-right:0}
.specbar .v{font-size:1.7rem;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums}
.specbar .l{font-size:.78rem;color:var(--ink3);margin-top:3px}
.specbar .v small{color:var(--gold);font-size:1rem}

/* ══ หัวแบนเนอร์หน้าใน (page hero) — หน้าที่ไม่ใช่หน้าแรก ══
   โทนเดียวกับ hero หน้าแรก แต่ไม่มีสไลด์รูป · เตี้ยกว่า */
.phero{position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(115deg,var(--navy-deep) 0%,var(--navy) 55%,var(--navy-2) 100%)}
.phero::before{content:"";position:absolute;inset:0;opacity:.5;
  background:repeating-linear-gradient(125deg,rgba(255,255,255,.04) 0 2px,transparent 2px 16px)}
.phero::after{content:"";position:absolute;right:-8%;top:-30%;width:44%;height:160%;
  background:radial-gradient(closest-side,rgba(199,154,60,.20),transparent);pointer-events:none}
.phero .wrap{position:relative;z-index:2;padding-block:clamp(40px,6vw,72px)}
.phero .eyebrow{color:var(--gold-br);border-color:var(--gold-br)}
.phero h1{font-size:clamp(1.9rem,4.4vw,3rem);margin:16px 0 10px;max-width:18em}
.phero p{color:#c6d2e8;max-width:40em}
/* เส้นทางนำ (breadcrumb) */
.crumb{font-size:.82rem;color:#9fb2d1;margin-top:14px}
.crumb a{color:#c6d2e8}
.crumb a:hover{color:var(--gold-br)}
.crumb span{margin:0 8px;opacity:.55}

/* ── หัวข้อ section ── */
.sh{max-width:52em;margin-bottom:36px}
.sh h2{font-size:clamp(1.7rem,3.6vw,2.5rem);color:var(--navy);margin-top:12px}
.sh p{color:var(--ink2);margin-top:12px;font-size:1.04rem}
.center{text-align:center;margin-inline:auto}
.center .eyebrow{border:0;padding:0}

/* ── about ── */
.about{display:grid;gap:36px;grid-template-columns:1fr;align-items:center}
@media(min-width:880px){.about{grid-template-columns:1fr 1fr}}
.about .imgph{aspect-ratio:5/4;border-radius:12px;background:linear-gradient(150deg,var(--navy),var(--navy-2));position:relative;display:grid;place-items:center;color:rgba(255,255,255,.55);font-size:.86rem;border:1px solid var(--line);overflow:hidden}
.about .imgph::before{content:"";position:absolute;left:14px;bottom:14px;width:64px;height:64px;border:2px solid var(--gold-br);border-radius:8px;opacity:.6;z-index:3;pointer-events:none}

/* ── สไลด์รูปชิ้นงานในส่วน "เกี่ยวกับเรา" ──
   ทุกรูปซ้อนทับกัน เปลี่ยนด้วย opacity (ไม่ขยับตำแหน่ง = ไม่กระตุก) · JS คุมการสลับ */
.ashow img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .7s ease;z-index:1}
.ashow img.on{opacity:1;z-index:2}
.ashow .dots{position:absolute;right:14px;bottom:14px;z-index:4;display:flex;gap:7px}
.ashow .dots button{width:9px;height:9px;padding:0;border-radius:50%;cursor:pointer;
  border:1px solid rgba(255,255,255,.75);background:rgba(255,255,255,.28);transition:.2s}
.ashow .dots button:hover{background:rgba(255,255,255,.6)}
.ashow .dots button.on{background:var(--gold-br);border-color:var(--gold-br);width:22px;border-radius:5px}
/* ปุ่มลูกศรเลื่อนรูป — ซ่อนไว้ก่อน โผล่ตอนเอาเมาส์ชี้ที่รูป (ไม่ให้บังภาพตลอดเวลา)
   ⚠️ บนมือถือไม่มี hover จึงให้โผล่ตลอด + ปัดนิ้วได้ด้วย */
.ashow .anav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:36px;height:36px;display:grid;place-items:center;cursor:pointer;
  font-size:1.5rem;line-height:1;color:#fff;background:rgba(7,26,56,.55);
  border:1px solid rgba(255,255,255,.35);border-radius:50%;padding:0 0 3px;
  opacity:0;transition:opacity .18s,background .18s}
.ashow .anav.prev{left:12px}
.ashow .anav.next{right:12px}
.ashow:hover .anav,.ashow:focus-within .anav{opacity:1}
.ashow .anav:hover{background:var(--gold);color:#2c2007;border-color:var(--gold)}
.ashow .anav:focus-visible{opacity:1;outline:2px solid var(--gold-br);outline-offset:2px}
.ashow:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(hover:none){.ashow .anav{opacity:.85}}
.about p{color:var(--ink2);margin-bottom:14px}
/* ⚠️ .tags ต้องไม่ผูกกับ .about — เคยเขียนเป็น ".about .tags" แล้วพอย้ายแท็กไปไว้นอกกล่อง .about
   สไตล์หลุดหมด กลายเป็นข้อความติดกันเป็นพืด ("Jig & FixtureMachine PartCNC Machining...") */
.tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.tags span{font-size:.8rem;font-weight:700;color:var(--navy);background:var(--mist);border:1px solid var(--line);border-radius:30px;padding:6px 13px}
.about h2{color:var(--navy);font-size:clamp(1.6rem,3.4vw,2.3rem);margin:12px 0 16px}

/* ── capability cards ── */
.mist{background:var(--mist)}
.cgrid{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:620px){.cgrid{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.cgrid{grid-template-columns:repeat(3,1fr)}}
.card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:8px;padding:26px;transition:.2s}
.card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -26px rgba(11,38,80,.45)}
.card .top{display:flex;align-items:center;justify-content:space-between}
.card .ic{width:52px;height:52px;background:var(--navy);border-radius:8px;display:grid;place-items:center;color:var(--gold-br)}
.card .ic svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.7}
.card .num{font-size:1.6rem;font-weight:800;color:var(--mist2)}
.card h3{color:var(--navy);font-size:1.2rem;margin:16px 0 8px}
.card p{color:var(--ink2);font-size:.93rem}
/* รายการงานย่อยในแต่ละกลุ่ม — เส้นคั่นด้านบน + จุดนำหน้าสีทอง */
.clist{list-style:none;margin:14px 0 0;padding:14px 0 0;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:7px 16px}
.clist li{position:relative;padding-left:15px;font-size:.88rem;font-weight:600;color:var(--navy)}
.clist li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:1px;
  background:var(--gold);transform:rotate(45deg)}
.card.dark .clist{border-top-color:rgba(255,255,255,.18)}
.card.dark .clist li{color:#e7edf7}
/* การ์ดสุดท้าย = CTA สีกรม */
.card.dark{border-top-color:var(--navy);background:var(--navy);color:#fff}
.card.dark .ic{background:var(--gold);color:var(--navy-deep)}
.card.dark h3{color:#fff}
.card.dark p{color:#c6d2e8}

/* ── เครื่องจักร ── */
.msplit{display:grid;gap:36px;grid-template-columns:1fr}
@media(min-width:900px){.msplit{grid-template-columns:.9fr 1.1fr;align-items:center}}
.mtable{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.mtable .r{display:flex;justify-content:space-between;gap:14px;padding:15px 20px;border-bottom:1px solid var(--line);background:#fff}
.mtable .r:nth-child(even){background:var(--mist)}
.mtable .r:last-child{border-bottom:0}
.mtable .r b{color:var(--navy)}
.mtable .r span{color:var(--gold);font-weight:800;font-size:.82rem;letter-spacing:.08em}
.mnote{background:var(--navy);color:#c6d2e8;border-radius:12px;padding:26px}
.mnote h3{color:#fff;font-size:1.3rem;margin-bottom:10px}
.mnote .chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.mnote .chips span{font-size:.78rem;color:var(--gold-br);border:1px solid rgba(228,195,104,.4);border-radius:20px;padding:5px 12px}

/* ── ผลงาน: การ์ดหมวด (ภาพจัตุรัส + ชื่อหมวดใต้ภาพ) ── */
.wgrid{display:grid;gap:18px;grid-template-columns:repeat(2,1fr)}
@media(min-width:900px){.wgrid{grid-template-columns:repeat(4,1fr)}}
.wcard{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;
  transition:.22s}
.wcard:hover{transform:translateY(-5px);box-shadow:0 26px 48px -28px rgba(11,38,80,.5);border-color:var(--line2)}
.wcard .ph{aspect-ratio:1;overflow:hidden;background:var(--mist);position:relative}
.wcard .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.wcard:hover .ph img{transform:scale(1.06)}
/* แถบทองบาง ๆ คั่นภาพกับชื่อหมวด */
.wcard .ph::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--gold);
  transform:scaleX(0);transform-origin:left;transition:transform .32s ease}
.wcard:hover .ph::after{transform:scaleX(1)}
.wcard .cap{padding:16px 14px;text-align:center}
.wcard .cap b{display:block;color:var(--navy);font-size:1rem;line-height:1.3}
.wcard .cap span{display:block;margin-top:4px;font-size:.78rem;color:var(--ink3)}

/* ── อุตสาหกรรม ── */
.ind{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
@media(min-width:720px){.ind{grid-template-columns:repeat(4,1fr)}}
.ind .i{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px 16px;text-align:center}
.ind .i .d{width:40px;height:40px;margin:0 auto 10px;background:var(--mist);border-radius:50%;display:grid;place-items:center;color:var(--gold)}
.ind .i .d svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}
.ind .i b{color:var(--navy);font-size:.98rem}

/* ── กำแพงลูกค้า ── */
.wall{background:var(--navy);color:#fff;padding:clamp(40px,6vw,64px) 0}
.wall h2{color:#fff}
/* ── แถบโลโก้ลูกค้าเลื่อนอัตโนมัติ (marquee) ──
   โครงสร้าง: .mq (แถบขาว ซ่อนส่วนเกิน) > .mq-track (แถวยาวที่เลื่อน) > .mq-set ×2 (ชุดโลโก้ซ้ำ 2 ชุด)
   เลื่อน track ไป -50% = ชุดที่ 2 มาแทนที่ชุดแรกพอดี → วนต่อเนื่องไม่มีรอยต่อ */
.mq{background:#fff;border-radius:12px;margin-top:28px;position:relative;
  padding:26px 0;box-shadow:0 22px 44px -30px rgba(0,0,0,.55)}
/* ไล่เฉดขาวสองข้าง ให้โลโก้ค่อย ๆ จางตอนเข้า-ออก แทนที่จะตัดขาดกลางคัน */
.mq::before,.mq::after{content:"";position:absolute;top:0;bottom:0;width:8%;z-index:2;pointer-events:none;border-radius:12px}
.mq::before{left:0;background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}
.mq::after{right:0;background:linear-gradient(270deg,#fff,rgba(255,255,255,0))}
/* กล่องเลื่อนจริง = native scroll → ลากด้วยเมาส์ / ปัดนิ้ว / ถาดสัมผัส ได้เองทั้งหมด
   JS แค่ค่อย ๆ เพิ่ม scrollLeft ตอนไม่มีใครแตะ (ดู index.php) */
.mq-scroll{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;
  cursor:grab;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.mq-scroll::-webkit-scrollbar{display:none}
.mq-scroll.drag{cursor:grabbing;scroll-behavior:auto;user-select:none}
.mq-track{display:flex;width:max-content}
.mq-set{display:flex;align-items:center;flex:none}
.mq-set img{height:62px;width:auto;display:block;margin:0 28px;flex:none;
  -webkit-user-drag:none;user-select:none;pointer-events:none}   /* กันเบราว์เซอร์ลากรูปแทนการเลื่อน */
@media(min-width:760px){.mq-set img{height:76px;margin:0 38px}}
@media(min-width:1200px){.mq-set img{height:84px;margin:0 44px}}

/* ── แถบคุณภาพ ISO ── */
.qb{background:linear-gradient(120deg,var(--navy-deep),var(--navy));color:#fff;border-radius:16px;padding:clamp(32px,5vw,56px);display:grid;gap:30px;grid-template-columns:1fr}
@media(min-width:820px){.qb{grid-template-columns:1.2fr .8fr;align-items:center}}
.qb .badge{display:inline-flex;gap:9px;align-items:center;font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--navy-deep);background:var(--gold-br);border-radius:30px;padding:8px 16px}
.qb .badge svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.4}
.qb h2{color:#fff;font-size:clamp(1.7rem,3.4vw,2.4rem);margin:18px 0 12px}
.qb p{color:#c6d2e8}
.qb .stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.qb .stats .v{font-size:2rem;font-weight:800;color:var(--gold-br)}
.qb .stats .l{font-size:.8rem;color:#aebfd9}
.isoimg{background:#fff;border-radius:10px;padding:14px;max-width:300px;margin-top:22px}

/* ── แถบ CTA สีทอง ── */
.ctaband{background:var(--gold);color:#2c2007}
.ctaband .wrap{display:flex;gap:22px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:clamp(28px,4vw,44px) 0}
.ctaband h2{color:#241a05;font-size:clamp(1.5rem,3vw,2.1rem)}
.ctaband p{color:#5a4a1f;margin-top:6px}

/* ── ติดต่อ ── */
.cwrap{display:grid;gap:30px;grid-template-columns:1fr}
@media(min-width:880px){.cwrap{grid-template-columns:1.1fr .9fr}}
.cinfo .row{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.cinfo .row:last-child{border-bottom:0}
.cinfo .row .ic{width:42px;height:42px;flex:none;background:var(--navy);border-radius:8px;display:grid;place-items:center;color:var(--gold-br)}
.cinfo .row .ic svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7}
.cinfo .k{font-size:.76rem;color:var(--ink3);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.cinfo .v{color:var(--navy);font-weight:700;margin-top:2px}
.mapph{border-radius:12px;background:linear-gradient(150deg,var(--mist),var(--mist2));border:1px solid var(--line);min-height:280px;display:grid;place-items:center;color:var(--ink3);position:relative;padding:0;overflow:hidden}

/* กล่องแผนที่ Google แบบฝัง (interactive) */
.mapbox{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);
  min-height:340px;height:100%;background:var(--mist)}
.mapbox iframe{width:100%;height:100%;min-height:340px;border:0;display:block;filter:saturate(.92)}
/* ปุ่มเปิดใน Google Maps — ทับมุมล่างซ้าย ไม่บังตัวควบคุมของแผนที่ (อยู่มุมขวา) */
.mapbox .mapopen{position:absolute;left:12px;bottom:12px;z-index:2;
  display:inline-flex;align-items:center;gap:7px;
  background:var(--navy);color:#fff;font-size:.82rem;font-weight:700;
  padding:9px 15px;border-radius:4px;box-shadow:0 8px 20px -8px rgba(7,26,56,.7);transition:.18s}
.mapbox .mapopen:hover{background:var(--gold);color:var(--navy-deep)}
/* !important กันไว้ เผื่อมีคนเผลอใส่ไอคอนที่มี inline style width:100% เข้ามาอีก */
.mapbox .mapopen svg{width:15px !important;height:15px !important;flex:none;
  stroke:currentColor;fill:none;stroke-width:1.9}

/* ── footer ── */
footer.site{background:var(--navy-deep);color:#9fb2d1;padding:54px 0 28px}
.fg{display:grid;gap:28px;grid-template-columns:1fr;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.1)}
@media(min-width:760px){.fg{grid-template-columns:1.5fr 1fr 1fr}}
footer.site b.h{color:#fff;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;display:block;margin-bottom:14px}
footer.site a{display:block;color:#9fb2d1;padding:4px 0;font-size:.92rem}
footer.site a:hover{color:var(--gold-br)}
footer.site .brand b{color:#fff}
footer.site .brand span{color:#7f92b2}
/* footer โล่งกว่า ใส่ใหญ่กว่าหัวเว็บได้ · พื้น footer = navy-deep เท่ากับแผ่นโลโก้พอดี
   → แผ่นจะจมหายไปกับพื้น จึงใช้ "ขอบทองบาง" เป็นตัวกำหนดกรอบแทน (เหลี่ยม ไม่มีมุมโค้ง) */
footer.site .brand .mk{height:64px;background:var(--navy-deep);
  border:1px solid rgba(228,195,104,.32);box-shadow:none}
footer.site .brand .nm{border-left-color:rgba(255,255,255,.18)}
footer.site .nav{height:auto}
.fbot{padding-top:20px;font-size:.82rem;color:#6f83a4;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* ══════════ ส่วนที่ใช้เฉพาะหน้า "เกี่ยวกับเรา" ══════════ */

/* ตัวเลขสำคัญ 6 ช่อง */
.fgrid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;
  grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.fgrid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:980px){.fgrid{grid-template-columns:repeat(6,1fr)}}
.fgrid .f{background:#fff;padding:24px 16px;text-align:center}
.fgrid .f .v{font-size:1.55rem;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums;line-height:1.2}
.fgrid .f .l{font-size:.76rem;color:var(--ink3);margin-top:5px}

/* สารจากผู้บริหาร */
.ceo{display:grid;gap:32px;grid-template-columns:1fr;align-items:center}
@media(min-width:820px){.ceo{grid-template-columns:.62fr 1.38fr}}
.ceo .ph{border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--mist);position:relative}
.ceo .ph::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--gold)}
.ceo .ph img{width:100%;height:auto;display:block}
.ceo .badge{display:inline-flex;align-items:center;gap:8px;font-size:.74rem;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold);border-left:3px solid var(--gold);padding-left:10px}
.ceo blockquote{margin:18px 0 22px;font-size:clamp(1.05rem,2vw,1.3rem);color:var(--ink);line-height:1.66;
  border-left:4px solid var(--mist2);padding-left:22px;position:relative}
.ceo blockquote::before{content:"\201C";position:absolute;left:10px;top:-14px;font-size:3.4rem;
  color:var(--mist2);line-height:1;pointer-events:none}
.ceo .sign b{display:block;color:var(--navy);font-size:1.05rem}
.ceo .sign span{font-size:.86rem;color:var(--ink3)}

/* พันธกิจ & วิสัยทัศน์ — บล็อกกลางหน้า ตัวใหญ่ อ่านสบาย (สไตล์หน้า About ทั่วไป)
   ไม่ใช้การ์ดเล็กแล้ว เพราะเป็นข้อความที่ควรเป็นพระเอกของหน้า */
.vm{max-width:60em;margin-inline:auto;text-align:center}
.vm + .vm{margin-top:clamp(38px,5vw,60px);padding-top:clamp(38px,5vw,60px);border-top:1px solid var(--line)}
.vm .ic{width:62px;height:62px;margin:0 auto 18px;background:var(--navy);border-radius:10px;
  display:grid;place-items:center;color:var(--gold-br)}
.vm .ic svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:1.7}
.vm h2{color:var(--navy);font-size:clamp(1.6rem,3.6vw,2.4rem);margin:0 0 8px}
.vm .sub{font-size:.76rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);
  display:block;margin-bottom:18px}
.vm p{color:var(--ink2);font-size:clamp(1rem,1.6vw,1.14rem);line-height:1.85}

/* ══ วิสัยทัศน์ & พันธกิจ แบบจิ๊กซอว์ 2 ชิ้น ══ */
.vmpz{max-width:66em;margin-inline:auto}
.vmpz .pz{display:block;width:min(430px,86%);height:auto;margin:0 auto clamp(26px,3.5vw,40px)}
.vmpz .pz path{stroke:var(--mist);stroke-width:3}      /* เส้นคั่นสีเดียวกับพื้น = เห็นเป็น 2 ชิ้น */
.vmpz .pz .p-v{fill:var(--navy)}
.vmpz .pz .p-m{fill:var(--gold)}
.vmpz .pz text{font-family:var(--sans);font-weight:800;font-size:19px;letter-spacing:.06em;
  text-anchor:middle;dominant-baseline:middle}
.vmpz .pz .t-v{fill:#fff}
.vmpz .pz .t-m{fill:#2c2007}
/* พื้นหลังขาว (เช่นในหน้า about) ให้เส้นคั่นเป็นสีขาวแทน */
section:not(.mist) > .wrap > .vmpz .pz path{stroke:#fff}

.vmpz-cols{display:grid;gap:26px;grid-template-columns:1fr}
@media(min-width:820px){.vmpz-cols{grid-template-columns:1fr 1fr;gap:34px}}
.vmpz-cols .c{padding-top:18px;border-top:4px solid}
.vmpz-cols .c.v{border-top-color:var(--navy)}
.vmpz-cols .c.m{border-top-color:var(--gold)}
.vmpz-cols .c h3{font-size:clamp(1.3rem,2.4vw,1.7rem);margin-bottom:10px}
.vmpz-cols .c.v h3{color:var(--navy)}
.vmpz-cols .c.m h3{color:#8a6a1f}
.vmpz-cols .c p{color:var(--ink2);font-size:1.02rem;line-height:1.8}

/* ══ คติพจน์ CEO — โปสเตอร์ (ตามแบบตัวอย่างที่เจ้าของงานส่งมา) ══
   ซ้าย = คำพูดตัวใหญ่ · ขวา = รูป CEO ตัดพื้นหลัง (ceo.jpg เป็นภาพพื้นขาวอยู่แล้ว)
   ล่าง = แถบกรมพาดเต็มความกว้าง ใส่ชื่อ-ตำแหน่ง
   ทำเป็น HTML ไม่ใช่รูปสำเร็จ → ปรับตามจอได้ · ค้นหาเจอ · สลับ TH/EN ได้ */
.motto{margin:clamp(34px,4.5vw,54px) 0 0;position:relative;overflow:hidden;border-radius:14px;
  background:linear-gradient(160deg,#fff 0%,var(--mist) 55%,var(--mist2) 100%);
  border:1px solid var(--line);
  display:grid;grid-template-columns:1fr;align-items:center;
  padding:clamp(26px,3.6vw,44px) clamp(20px,3vw,40px) 0}
@media(min-width:820px){.motto{grid-template-columns:1.2fr .8fr;column-gap:clamp(24px,3vw,44px)}}
/* ลายเส้นเฉียงจาง ๆ ให้พื้นไม่โล่งเกินไป (แทนภาพเมืองในต้นแบบ) */
.motto::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(125deg,rgba(11,38,80,.045) 0 2px,transparent 2px 18px)}

.motto .txt{position:relative;z-index:2;padding-bottom:clamp(24px,3vw,40px)}
.motto blockquote{margin:0;color:var(--navy);font-weight:800;
  font-size:clamp(1.15rem,2.5vw,1.95rem);line-height:1.5;letter-spacing:-.01em;text-wrap:balance}
.motto blockquote b{color:var(--gold);font-weight:800}
/* ⚠️ อย่าตั้งชื่อคลาสสั้น ๆ ซ้ำกับที่อื่น — เคยใช้ชื่อ ".lb" ตรงนี้ แล้วไปชนกับ ".lb" ที่เป็น
   กล่องขยายรูปของหน้าผลงาน (position:fixed;inset:0;background:rgba(7,26,56,.94))
   ทำให้ป้ายเล็ก ๆ อันนี้กลายเป็นแผ่นทึบคลุมเต็มจอทับทั้งเว็บ */
.motto .motto-label{display:block;margin-top:18px;color:var(--ink3);font-size:.9rem;font-weight:700;letter-spacing:.06em}

/* รูป CEO — กรอบรูปมุมมน (แบบ A)
   ใช้กับรูปถ่ายที่ "ไม่ได้ตัดพื้นหลัง" ได้ดี · เดิมเคยทำขอบล่างจางกลืนแถบชื่อ
   ซึ่งเหมาะกับภาพตัดพื้นหลังเท่านั้น ถ้าใช้กับรูปมีฉากจะดูเหมือนฉากถูกลบหายครึ่งท่อน */
/* 📐 ขนาดแสดงผลคุมไม่ให้เกิน "ครึ่งหนึ่งของความละเอียดไฟล์จริง" (581px) → จอ retina 2x ยังคม
   ไฟล์จริง 581x667 (อัตราส่วน 0.871) จึงตั้ง aspect-ratio ตามไฟล์เป๊ะ = ไม่ครอปเลย ไม่ยืดเบี้ยว
   ⚠️ ถ้าเพิ่ม max-width เกิน 290px เมื่อไหร่ รูปจะเริ่มเบลอบนจอความละเอียดสูง */
.motto img{position:relative;z-index:2;display:block;width:100%;max-width:290px;height:auto;
  aspect-ratio:581/667;object-fit:cover;
  margin:0 auto clamp(24px,3vw,36px);border-radius:12px;
  border:4px solid #fff;box-shadow:0 22px 44px -22px rgba(11,38,80,.55)}
@media(max-width:819px){.motto img{max-width:240px}}

/* แถบชื่อ-ตำแหน่ง พาดเต็มความกว้างที่ก้นการ์ด */
.motto figcaption{grid-column:1/-1;position:relative;z-index:3;
  margin:0 clamp(-20px,-3vw,-40px);padding:16px clamp(20px,3vw,40px);
  background:linear-gradient(100deg,var(--navy-deep),var(--navy-2));
  display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}
.motto figcaption b{color:#fff;font-size:clamp(.98rem,1.7vw,1.14rem);letter-spacing:.1em;text-transform:uppercase}
.motto figcaption span{color:var(--gold-br);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}

/* แถบรูปเต็มความกว้างคั่นระหว่างส่วน */
.band{position:relative;height:clamp(240px,34vw,420px);overflow:hidden}
.band img{width:100%;height:100%;object-fit:cover;display:block}
.band::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(7,26,56,.42),rgba(7,26,56,.12) 45%,rgba(7,26,56,.5))}
.band .cap{position:absolute;inset:0;z-index:2;display:grid;place-items:center;text-align:center;padding:20px}
.band .cap b{color:#fff;font-size:clamp(1.2rem,2.6vw,1.9rem);font-weight:800;
  text-shadow:0 2px 14px rgba(7,26,56,.7)}

/* โรงงาน — รูปใหญ่ + รูปเล็ก 3 รูป */
.fac{display:grid;gap:34px;grid-template-columns:1fr;align-items:center}
@media(min-width:900px){.fac{grid-template-columns:1.05fr .95fr}}
.fac .big{border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.fac .big img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:3/2}
.fac p{color:var(--ink2);margin-bottom:16px}
.fac h2{color:var(--navy);font-size:clamp(1.6rem,3.4vw,2.3rem);margin:12px 0 16px}
.fmini{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.fmini img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;border:1px solid var(--line);display:block}

/* ══════════ หน้า "ความสามารถ" (capabilities.php) ══════════ */
/* ป้ายประเภทเครื่องจักร */
.mtags{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}
.mtags span{font-size:.85rem;font-weight:700;color:var(--navy);background:#fff;
  border:1px solid var(--line2);border-left:3px solid var(--gold);border-radius:4px;padding:8px 15px}

/* ตารางรูปเครื่องจักร */
.mgrid{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}
@media(min-width:700px){.mgrid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1040px){.mgrid{grid-template-columns:repeat(4,1fr)}}
.mgrid figure{margin:0;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#fff;aspect-ratio:4/3}
.mgrid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.mgrid figure:hover img{transform:scale(1.06)}

/* รายชื่อรุ่นเครื่องจักร */
.mlist{margin-top:30px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);
  border-radius:10px;padding:26px}
.mlist h3{color:var(--navy);font-size:1.15rem;margin-bottom:16px}
.mlist ul{list-style:none;display:grid;gap:9px 22px;grid-template-columns:1fr}
@media(min-width:640px){.mlist ul{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.mlist ul{grid-template-columns:1fr 1fr 1fr}}
.mlist li{position:relative;padding-left:16px;font-size:.9rem;color:var(--ink2)}
.mlist li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:1px;
  background:var(--gold);transform:rotate(45deg)}

/* บล็อกซอฟต์แวร์ออกแบบ */
.dsg{display:grid;gap:30px;grid-template-columns:1fr;align-items:center;margin-top:30px}
@media(min-width:880px){.dsg{grid-template-columns:.85fr 1.15fr}}
.dsg figure{margin:0;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.dsg figure img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/3}
.dsg h3{color:var(--navy);font-size:1.5rem;margin-bottom:12px}
.dsg p{color:var(--ink2);margin-bottom:18px}

/* ขั้นตอนการทำงาน 4 ขั้น */
.steps{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:620px){.steps{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.steps{grid-template-columns:repeat(4,1fr)}}
.steps .st{background:#fff;border:1px solid var(--line);border-radius:8px;padding:26px;position:relative;overflow:hidden}
.steps .st .n{font-size:2.6rem;font-weight:800;color:var(--mist2);line-height:1;font-variant-numeric:tabular-nums}
.steps .st h4{color:var(--navy);font-size:1.08rem;margin:10px 0 8px}
.steps .st p{color:var(--ink2);font-size:.9rem}
/* เส้นทองด้านบนโผล่ตอนชี้ */
.steps .st::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--gold);
  transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.steps .st:hover::before{transform:scaleX(1)}

/* ══════════ หน้า "คุณภาพ" (quality.php) ══════════ */
/* ตารางเครื่องมือตรวจสอบ — การ์ดขาว รูปวางกลาง + ชื่อใต้รูป
   ⚠️ ใช้ object-fit:contain ไม่ใช่ cover เพราะเป็นภาพสินค้าพื้นขาวสัดส่วนไม่เท่ากัน
      ถ้าใช้ cover เครื่องมือจะโดนครอปหัวท้ายขาด */
.qcg{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}
@media(min-width:560px){.qcg{grid-template-columns:repeat(3,1fr)}}
@media(min-width:860px){.qcg{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1120px){.qcg{grid-template-columns:repeat(6,1fr)}}
/* การ์ดเด่น (เครื่องวัด 3 มิติ CMM) — กว้าง 2 ช่อง สูง 1 ช่อง อยู่มุมซ้ายบน
   ⚠️ ทำไมไม่ทำ 2x2: ไฟล์ต้นฉบับมีแค่ 334x269 px ถ้ายืดเป็น 2x2 (~430px แสดงจริง)
      จะเบลอชัดเจนบนจอความละเอียดสูง · ขนาด 2x1 พอดีกับความละเอียดที่มี
      👉 ถ้าได้ไฟล์ถ่ายต้นฉบับความละเอียดสูงมาเมื่อไหร่ เปลี่ยนกลับเป็น span 2 ได้ทั้ง 2 บรรทัด */
.qcg figure.feat{grid-column:span 2}
.qcg figure.feat .ph{aspect-ratio:2/1;padding:18px}
/* เดิมเน้นการ์ดเด่นด้วยแถบชื่อสีกรม — พอเอาชื่อออกแล้วต้องเน้นด้วยขอบทองแทน
   ไม่งั้นการ์ดเด่นจะกลืนไปกับใบอื่น เหลือแค่ "ใบที่กว้างกว่า" เฉย ๆ */
.qcg figure.feat{border-color:var(--gold);box-shadow:0 14px 34px -22px rgba(199,154,60,.55)}
.qcg figure.feat:hover{border-color:var(--gold);box-shadow:0 24px 46px -24px rgba(199,154,60,.65)}
@media(max-width:559px){.qcg figure.feat{grid-column:span 2}}
.qcg figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;
  display:flex;flex-direction:column;transition:.2s}
.qcg figure:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(11,38,80,.45);border-color:var(--line2)}
.qcg .ph{aspect-ratio:1;padding:14px;display:grid;place-items:center;overflow:hidden;
  background:linear-gradient(160deg,#fff,var(--mist))}
.qcg img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;
  transition:transform .4s ease}
.qcg figure:hover img{transform:scale(1.07)}
/* 💤 ไม่ได้ใช้ตอนนี้ — quality.php ปิดการแสดงชื่อเครื่องมือไว้ (โชว์แค่รูป)
   เก็บกฎไว้เผื่ออยากเปิดชื่อกลับมา จะได้ไม่ต้องเขียนสไตล์ใหม่ */
.qcg figcaption{border-top:1px solid var(--line);padding:10px 10px 12px;text-align:center;
  font-size:.78rem;font-weight:700;color:var(--navy);line-height:1.35;min-height:3.1em}

/* ใบรับรอง ISO */
.isocert{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;max-width:340px;margin:22px 0 0}
.isocert img{width:100%;height:auto;display:block}

/* ══════════ ข่าวสาร & กิจกรรม ══════════ */
.ngrid{display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:700px){.ngrid{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.ngrid{grid-template-columns:repeat(3,1fr)}}
/* ข่าวยังมีน้อย → จัดการ์ดไว้กลาง + จำกัดความกว้าง ไม่ให้ยืดจนรูปแตกหรือลอยมุมซ้าย
   (คลาส n1/n2/n3 ใส่จาก index.php ตามจำนวนข่าวจริง — ไม่ต้องมาแก้ CSS เวลาเพิ่มข่าว) */
@media(min-width:700px){
  .ngrid.n1{grid-template-columns:minmax(0,560px);justify-content:center}
}
@media(min-width:1040px){
  .ngrid.n2{grid-template-columns:repeat(2,minmax(0,460px));justify-content:center}
}
.ncard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:10px;overflow:hidden;transition:.2s}
.ncard:hover{transform:translateY(-5px);box-shadow:0 26px 48px -28px rgba(11,38,80,.45);border-color:var(--line2)}
.ncard .ph{aspect-ratio:2/1;overflow:hidden;background:var(--mist)}
.ncard .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.ncard:hover .ph img{transform:scale(1.06)}
.ncard .bd{padding:18px 20px 22px;display:flex;flex-direction:column;flex:1}
.ncard .meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.ncard .cat{font-size:.72rem;font-weight:800;letter-spacing:.06em;color:var(--navy-deep);
  background:var(--gold-br);border-radius:4px;padding:4px 10px}
.ncard .dt{font-size:.78rem;color:var(--ink3)}
.ncard h3{color:var(--navy);font-size:1.08rem;line-height:1.4;margin-bottom:8px}
.ncard p{color:var(--ink2);font-size:.9rem;flex:1}
.ncard .more{margin-top:14px;font-size:.86rem;font-weight:800;color:var(--gold);
  display:inline-flex;align-items:center;gap:6px}
.ncard .more svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.4;transition:transform .2s}
.ncard:hover .more svg{transform:translateX(4px)}

/* หน้าข่าวฉบับเต็ม — 1 ข่าวเรียงยาว */
.narticle{max-width:60em;margin-inline:auto}
.narticle + .narticle{margin-top:clamp(38px,5vw,60px);padding-top:clamp(38px,5vw,60px);border-top:1px solid var(--line)}
.narticle .ph{border-radius:12px;overflow:hidden;border:1px solid var(--line);margin-bottom:22px}
.narticle .ph img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
.narticle h2{color:var(--navy);font-size:clamp(1.35rem,2.8vw,1.9rem);margin:12px 0 14px}
.narticle .body p{color:var(--ink2);font-size:1.02rem;line-height:1.85;margin-bottom:14px}
/* หัวข้อย่อยในเนื้อข่าว (บรรทัดสั้น ๆ ที่ไม่ใช่ประโยคเต็ม) */
.narticle .body h3.sub{color:var(--navy);font-size:1.12rem;margin:26px 0 10px;
  padding-left:12px;border-left:3px solid var(--gold)}
/* แกลเลอรีรูปท้ายข่าว — ใช้สัดส่วนเดียวกับไฟล์ต้นฉบับ (16:9) จึงไม่ตัดอะไรทิ้งเลย
   ต้นฉบับทุกใบเป็น 1706x960 เท่ากันหมด -> ทุกกรอบสูงเท่ากันอยู่แล้ว ดูเป็นระเบียบโดยไม่ต้องครอป
   9 รูป = 3 คอลัมน์ x 3 แถว ลงตัวพอดี ไม่มีช่องโหว่ท้ายแถว */
.ngal{display:grid;gap:14px;grid-template-columns:repeat(2,1fr);margin-top:26px}
@media(min-width:820px){.ngal{grid-template-columns:repeat(3,1fr)}}
.ngal img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;border-radius:8px;
  border:1px solid var(--line);transition:transform .35s ease}
.ngal img:hover{transform:scale(1.04)}
.nempty{text-align:center;color:var(--ink3);padding:50px 0}

/* ══════════ หน้าสินค้า (products.php + product.php) ══════════ */

/* ── การ์ดกลุ่มสินค้าในหน้ารวม ── */
.pgrid{display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:640px){.pgrid{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.pgrid{grid-template-columns:repeat(3,1fr)}}
.pcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:10px;overflow:hidden;transition:.2s}
.pcard:hover{transform:translateY(-5px);box-shadow:0 26px 50px -28px rgba(11,38,80,.5);border-color:var(--line2)}
.pcard .ph{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--mist)}
.pcard .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.pcard:hover .ph img{transform:scale(1.06)}
/* 💤 ไม่ได้ใช้ตอนนี้ — 2026-08-21 เจ้าของงานสั่งเอารหัส T01–T05 ออกจากหน้าเว็บทั้งหมด
   (ยังเก็บรหัสไว้ใน app/data/products.php สำหรับใช้ภายใน/ใบเสนอราคา)
   เก็บกฎไว้เผื่ออยากโชว์รหัสกลับมา จะได้ไม่ต้องเขียนสไตล์ใหม่ */
.pcard .ph .no{position:absolute;top:10px;left:10px;font-size:.72rem;font-weight:800;letter-spacing:.06em;
  color:#fff;background:var(--navy);border-radius:3px;padding:4px 10px}
/* กลุ่มสินค้าที่ไม่มีรูป (T05 งานตามสั่ง) — โชว์ไอคอนใหญ่บนพื้นกรมแทนช่องว่าง
   ให้ดูเป็นดีไซน์ที่ตั้งใจ ไม่ใช่รูปโหลดไม่ขึ้น */
.pcard .ph.noimg{display:grid;place-items:center;
  background:linear-gradient(150deg,var(--navy),var(--navy-2))}
.pcard .ph.noimg .mk{display:grid;place-items:center;width:82px;height:82px;
  border:2px solid rgba(228,195,104,.45);border-radius:12px;color:var(--gold-br);transition:.3s}
.pcard .ph.noimg .mk svg{width:40px;height:40px;stroke:currentColor;fill:none;stroke-width:1.5}
.pcard:hover .ph.noimg .mk{border-color:var(--gold-br);transform:scale(1.06)}
.pcard .ph.noimg .no{background:var(--gold);color:#2c2007}
.pcard .bd{padding:20px;display:flex;flex-direction:column;flex:1}
.pcard .ic{width:44px;height:44px;background:var(--navy);border-radius:8px;
  display:grid;place-items:center;color:var(--gold-br);margin-bottom:14px}
.pcard .ic svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.7}
.pcard h3{color:var(--navy);font-size:1.1rem;margin-bottom:8px}
.pcard p{color:var(--ink2);font-size:.9rem;flex:1}
.pcard .clist{margin-top:14px}
.pcard .more{margin-top:16px;font-size:.86rem;font-weight:800;color:var(--gold);
  display:inline-flex;align-items:center;gap:6px}
.pcard .more svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.4;transition:transform .2s}
.pcard:hover .more svg{transform:translateX(4px)}

/* ── หน้ารายละเอียดสินค้า: เนื้อหาซ้าย + กล่องสรุปขวา ── */
.pdetail{display:grid;gap:30px;grid-template-columns:1fr;align-items:start}
@media(min-width:900px){.pdetail{grid-template-columns:1.35fr .65fr;gap:clamp(30px,4vw,54px)}}
.pdetail .txt .ic{width:56px;height:56px;background:var(--navy);border-radius:8px;
  display:grid;place-items:center;color:var(--gold-br);margin-bottom:20px}
.pdetail .txt .ic svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.7}
.pdetail .txt .lead{font-size:1.05rem;line-height:1.9;color:var(--ink2)}
.pdetail .txt h2{color:var(--navy);font-size:1.3rem;margin:30px 0 10px;padding-top:24px;border-top:1px solid var(--line)}
.pdetail .txt p{color:var(--ink2);line-height:1.9}

/* กล่องสรุปด้านขวา — เกาะติดตอนเลื่อนหน้าบนจอใหญ่ */
.spec{background:var(--mist);border:1px solid var(--line);border-top:3px solid var(--gold);
  border-radius:10px;padding:24px}
@media(min-width:900px){.spec{position:sticky;top:96px}}
.spec h3{color:var(--navy);font-size:.82rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;margin-bottom:14px}
.spec ul{list-style:none;display:grid;gap:9px;margin-bottom:20px}
.spec li{position:relative;padding-left:17px;color:var(--navy);font-size:.9rem;font-weight:600}
.spec li::before{content:"";position:absolute;left:0;top:.58em;width:6px;height:6px;border-radius:1px;
  background:var(--gold);transform:rotate(45deg)}
.spec .facts{border-top:1px solid var(--line2);padding-top:16px;margin-bottom:20px;display:grid;gap:10px}
.spec .facts > div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.spec .facts dt{color:var(--ink3);font-size:.8rem;font-weight:700}
.spec .facts dd{color:var(--navy);font-size:.86rem;font-weight:800;text-align:right}
.spec .btn{width:100%;justify-content:center}

/* ── แถบลิงก์ไปกลุ่มสินค้าอื่น (ท้ายหน้าสินค้า) ── */
.pmini{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:660px){.pmini{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.pmini{grid-template-columns:repeat(4,1fr)}}
.pmini a{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);
  border-radius:8px;padding:14px 16px;transition:.2s}
.pmini a:hover{border-color:var(--navy);box-shadow:0 18px 38px -26px rgba(11,38,80,.45);transform:translateY(-3px)}
.pmini .ic{flex:none;width:38px;height:38px;background:var(--navy);border-radius:7px;
  display:grid;place-items:center;color:var(--gold-br)}
.pmini .ic svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7}
.pmini .nm{flex:1;min-width:0}
.pmini .nm b{display:block;color:var(--navy);font-size:.88rem;font-weight:700;line-height:1.35}
.pmini .nm small{color:var(--ink3);font-size:.72rem;font-weight:700;letter-spacing:.05em}
.pmini > a > svg{flex:none;width:15px;height:15px;stroke:var(--gold);fill:none;stroke-width:2.4;transition:transform .2s}
.pmini a:hover > svg{transform:translateX(4px)}

/* ══════════ หน้า "คำถามที่พบบ่อย" (faq.php) ══════════ */
/* 📌 ย้ายมาจาก <style> ที่เคยแทรกไว้ในตัวหน้า faq.php — กฎบ้าน: CSS อยู่ในไฟล์ CSS ที่เดียว */
.faqlist{display:flex;flex-direction:column;gap:12px;max-width:52em;margin-inline:auto}
.faqitem{background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);
  border-radius:8px;padding:0 clamp(18px,2.5vw,24px);transition:.2s}
.faqitem:hover{border-color:var(--line2);border-left-color:var(--gold);
  box-shadow:0 18px 38px -26px rgba(11,38,80,.4)}
.faqitem[open]{border-left-color:var(--navy);box-shadow:0 20px 44px -28px rgba(11,38,80,.45)}
.faqitem summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;
  align-items:center;gap:14px;padding:18px 0;color:var(--navy);font-weight:700;font-size:1.02rem;line-height:1.5}
.faqitem summary::-webkit-details-marker{display:none}
.faqitem summary:focus-visible{outline:2px solid var(--navy);outline-offset:-3px}
.faqitem summary::after{content:'+';flex:none;width:28px;height:28px;border-radius:6px;
  background:var(--mist);border:1px solid var(--line);color:var(--navy);
  display:grid;place-items:center;font-size:1.15rem;font-weight:700;line-height:1;transition:.2s}
.faqitem:hover summary::after{background:var(--navy);border-color:var(--navy);color:#fff}
.faqitem[open] summary::after{content:'+';background:var(--navy);border-color:var(--navy);
  color:#fff;transform:rotate(45deg)}
.faqa{padding:0 0 20px;color:var(--ink2);line-height:1.85;font-size:.95rem;
  border-top:1px solid var(--line);padding-top:16px}
/* ปิดท้ายหน้า FAQ — ชวนไปหน้าติดต่อ */
.faqcta{margin-top:30px;text-align:center;color:var(--ink2);
  display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap}

/* ══════════ หน้าเอกสาร: นโยบายความเป็นส่วนตัว (privacy.php) ══════════ */
/* อ่านยาว → จำกัดความกว้างบรรทัดไว้ ~34em เพื่อให้สายตากวาดง่าย */
.legal{max-width:46em;margin-inline:auto;color:var(--ink2);line-height:1.9}
.legal .upd{display:inline-block;font-size:.8rem;font-weight:700;color:var(--navy-deep);
  background:var(--gold-soft);border:1px solid var(--gold);border-radius:3px;
  padding:5px 12px;margin-bottom:26px}
.legal h3{color:var(--navy);font-size:1.12rem;margin:32px 0 10px;padding-top:22px;
  border-top:1px solid var(--line)}
.legal h3:first-of-type{border-top:0;padding-top:0;margin-top:0}
.legal p{margin-bottom:14px}
.legal ul{list-style:none;display:grid;gap:10px;margin:0 0 14px}
.legal li{position:relative;padding-left:18px}
.legal li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:1px;
  background:var(--gold);transform:rotate(45deg)}
.legal strong{color:var(--navy);font-weight:700}
.legal a{color:var(--navy);font-weight:700;text-decoration:underline}
.legal a:hover{color:var(--gold)}

/* ══════════ หน้า "ร่วมงานกับเรา" (careers.php) ══════════ */

/* ── รายการตำแหน่งงาน (accordion) — ใช้ <details>/<summary> ของ HTML ล้วน ไม่ต้องใช้ JS ── */
.joblist{display:grid;gap:14px;max-width:56em;margin-inline:auto}
.jobcard{background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);
  border-radius:8px;overflow:hidden;transition:.2s}
.jobcard:hover{box-shadow:0 18px 38px -26px rgba(11,38,80,.4);border-color:var(--line2);border-left-color:var(--gold)}
.jobcard[open]{border-left-color:var(--navy);box-shadow:0 20px 44px -28px rgba(11,38,80,.45)}
.jobcard summary{cursor:pointer;list-style:none;padding:20px clamp(18px,2.5vw,26px)}
.jobcard summary::-webkit-details-marker{display:none}   /* ซ่อนสามเหลี่ยมของเบราว์เซอร์ ใช้ปุ่ม +/- ของเราแทน */
.jobcard summary:focus-visible{outline:2px solid var(--navy);outline-offset:-3px}
.jobhead{display:flex;align-items:center;justify-content:space-between;gap:16px}
.jobhead h3{color:var(--navy);font-size:1.08rem;line-height:1.4}
.jobmeta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px;
  font-size:.84rem;color:var(--ink3)}
.jbadge{font-size:.74rem;font-weight:800;letter-spacing:.04em;color:var(--navy-deep);
  background:var(--gold-soft);border:1px solid var(--gold);border-radius:3px;padding:3px 9px}
.jobtoggle{flex:none;width:32px;height:32px;border-radius:6px;background:var(--mist);
  border:1px solid var(--line);color:var(--navy);display:grid;place-items:center;
  font-size:1.25rem;font-weight:700;line-height:1;transition:.2s}
.jobcard:hover .jobtoggle{background:var(--navy);border-color:var(--navy);color:#fff}
.jobcard[open] .jobtoggle{background:var(--navy);border-color:var(--navy);color:#fff;transform:rotate(45deg)}
.jobbody{padding:0 clamp(18px,2.5vw,26px) 24px;border-top:1px solid var(--line);margin-top:4px;padding-top:20px}
.jobbody h4{color:var(--navy);font-size:.82rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;margin-bottom:12px}
.jobbody ul{list-style:none;display:grid;gap:9px;margin-bottom:20px}
.jobbody li{position:relative;padding-left:17px;color:var(--ink2);font-size:.93rem}
.jobbody li::before{content:"";position:absolute;left:0;top:.58em;width:6px;height:6px;border-radius:1px;
  background:var(--gold);transform:rotate(45deg)}

/* ── ปุ่มเลือกตำแหน่งในฟอร์ม (radio ที่ทำหน้าตาเป็นเม็ดยา) ──
   ⚠️ ซ่อน radio ด้วย position:absolute+opacity:0 ไม่ใช่ display:none
      เพราะ display:none จะทำให้ผู้ใช้คีย์บอร์ด/screen reader โฟกัสไม่ได้เลย */
.pillselect{display:flex;flex-wrap:wrap;gap:9px}
.pillselect input{position:absolute;opacity:0;width:0;height:0}
.pillselect label{font-size:.86rem;font-weight:700;color:var(--ink2);background:#fff;
  border:1px solid var(--line);border-radius:30px;padding:8px 16px;cursor:pointer;transition:.15s;margin:0}
.pillselect label:hover{border-color:var(--navy);color:var(--navy)}
.pillselect input:checked + label{background:var(--navy);border-color:var(--navy);color:#fff}
.pillselect input:focus-visible + label{outline:2px solid var(--gold);outline-offset:2px}

/* ── dropdown จังหวัด / อำเภอ ── */
.geo2{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:520px){.geo2{grid-template-columns:1fr 1fr}}
.isel{width:100%;font-family:var(--sans);font-size:.95rem;color:var(--ink);background:#fff;
  border:1px solid var(--line2);border-radius:4px;padding:12px 13px;transition:.15s;cursor:pointer}
.isel:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(11,38,80,.1)}
.isel:disabled{background:var(--mist);color:var(--ink3);cursor:not-allowed}

/* ── ช่องแนบไฟล์ resume ── */
.fld input[type=file]{width:100%;font-family:var(--sans);font-size:.9rem;color:var(--ink2);
  border:1px dashed var(--line2);border-radius:4px;padding:12px 13px;background:var(--mist);cursor:pointer}
.fld input[type=file]:hover{border-color:var(--navy);background:#fff}
.fld input[type=file]::file-selector-button{font-family:var(--sans);font-size:.85rem;font-weight:700;
  color:#fff;background:var(--navy);border:0;border-radius:3px;padding:8px 15px;margin-right:12px;cursor:pointer}
.fld input[type=file]::file-selector-button:hover{background:var(--navy-2)}
.fld .hint{display:block;color:var(--ink3);font-size:.78rem;margin-top:7px}

/* ── checkbox ยินยอมให้เก็บข้อมูล (PDPA) ── */
.consent{display:flex;gap:11px;align-items:flex-start;margin:4px 0 20px;
  font-size:.86rem;color:var(--ink2);line-height:1.6;cursor:pointer}
.consent input{flex:none;width:17px;height:17px;margin-top:2px;accent-color:var(--navy);cursor:pointer}
.consent a{color:var(--navy);font-weight:700;text-decoration:underline}
.consent a:hover{color:var(--gold)}

/* ══════════ หน้า "ติดต่อ" (contact.php) ══════════ */
.cwrap2{display:grid;gap:30px;grid-template-columns:1fr;align-items:start}
@media(min-width:900px){.cwrap2{grid-template-columns:1.05fr .95fr;gap:clamp(30px,4vw,54px)}}

/* ฟอร์ม */
.cform{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);
  border-radius:10px;padding:clamp(24px,3vw,34px)}
.cform h2{color:var(--navy);font-size:1.35rem;margin-bottom:6px}
.cform .hint{color:var(--ink3);font-size:.9rem;margin-bottom:22px}
.fld{margin-bottom:16px}
.fld label{display:block;font-size:.84rem;font-weight:700;color:var(--navy);margin-bottom:6px}
.fld input,.fld textarea{width:100%;font-family:var(--sans);font-size:.95rem;color:var(--ink);
  background:#fff;border:1px solid var(--line2);border-radius:4px;padding:11px 13px;transition:.15s}
.fld input:focus,.fld textarea:focus{outline:none;border-color:var(--navy);
  box-shadow:0 0 0 3px rgba(11,38,80,.10)}
.fld input::placeholder,.fld textarea::placeholder{color:#a9b6c9}
.fld textarea{resize:vertical;min-height:110px}
.fld2{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:560px){.fld2{grid-template-columns:1fr 1fr}}
.cform .btn{width:100%;justify-content:center}
.cform .note{font-size:.8rem;color:var(--ink3);margin-top:12px;text-align:center}
/* กล่องแจ้งผลส่งฟอร์ม */
.alert{border-radius:4px;padding:12px 15px;font-size:.9rem;font-weight:700;margin-bottom:18px}
.alert.ok{background:#e8f6ee;color:#1b6b3f;border:1px solid #b6e2c8}
.alert.err{background:#fdecec;color:#9b2226;border:1px solid #f5c2c2}

/* กล่องครอบฟอร์มบนหน้าแรก — จำกัดความกว้างให้อ่านสบาย ไม่กว้างเต็มจอ */
.cform-wrap{max-width:52em;margin:clamp(34px,4vw,52px) auto 0}

/* รายการข้อมูลติดต่อ */
.cilist .row{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}
.cilist .row:first-child{padding-top:0}
.cilist .row:last-child{border-bottom:0}
.cilist .ic{width:42px;height:42px;flex:none;background:var(--navy);border-radius:8px;
  display:grid;place-items:center;color:var(--gold-br)}
.cilist .ic svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7}
.cilist .k{font-size:.76rem;color:var(--ink3);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.cilist .v{color:var(--navy);font-weight:700;margin-top:3px;line-height:1.55}
.cilist .v a:hover{color:var(--gold)}

/* แผนที่รายละเอียด (รูปที่มีจุดสังเกต/เวลาเดินทาง/QR) */
.mapdetail{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.mapdetail img{width:100%;height:auto;display:block}

/* ══════════ หน้า "ผลงาน" (works.php) ══════════ */
/* ปุ่มกรองหมวด */
.gfil{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}
.gfil button{font-family:var(--sans);font-size:.88rem;font-weight:700;padding:9px 18px;border-radius:30px;
  border:1px solid var(--line2);background:#fff;color:var(--ink2);cursor:pointer;transition:.18s}
.gfil button:hover{border-color:var(--navy);color:var(--navy)}
.gfil button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.gfil button .n{opacity:.6;font-weight:600;margin-left:5px}

/* ตารางรูปผลงาน */
.gal{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.gal{grid-template-columns:repeat(3,1fr)}}
@media(min-width:980px){.gal{grid-template-columns:repeat(4,1fr)}}
.gal figure{margin:0;position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--line);
  background:var(--mist);cursor:zoom-in;aspect-ratio:1}
.gal figure img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.gal figure:hover img{transform:scale(1.07)}
.gal figure figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;
  background:linear-gradient(180deg,transparent,rgba(7,26,56,.88));color:#fff;
  padding:26px 12px 11px;font-size:.82rem;font-weight:700;
  opacity:0;transition:opacity .22s}
.gal figure:hover figcaption,.gal figure:focus-within figcaption{opacity:1}
.gal figure[hidden]{display:none}
.gempty{text-align:center;color:var(--ink3);padding:40px 0}

/* กล่องขยายรูป (lightbox) */
.lb{position:fixed;inset:0;z-index:300;background:rgba(7,26,56,.94);display:none;
  align-items:center;justify-content:center;padding:24px}
.lb[open],.lb.show{display:flex}
.lb img{max-width:min(1100px,94vw);max-height:86vh;width:auto;height:auto;border-radius:8px;display:block;
  box-shadow:0 40px 90px -40px #000}
.lb .cap{position:absolute;left:0;right:0;bottom:20px;text-align:center;color:#c6d2e8;font-size:.9rem}
.lb button{position:absolute;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.35);
  color:#fff;width:46px;height:46px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;
  display:grid;place-items:center;transition:.18s}
.lb button:hover{background:var(--gold);border-color:var(--gold);color:var(--navy-deep)}
.lb .x{top:20px;right:20px}
.lb .prev{left:16px;top:50%;transform:translateY(-50%)}
.lb .next{right:16px;top:50%;transform:translateY(-50%)}
@media(max-width:560px){.lb .prev{left:8px}.lb .next{right:8px}}

/* ── ใช้ร่วม ── */
.imgfill{width:100%;height:100%;object-fit:cover;display:block}

/* ── แถบคุกกี้ PDPA + ป้ายไว้อาลัย (มาจาก foot-scripts.php — ต้องมีสไตล์ในธีมนี้ด้วย) ── */
.cookiebar{position:fixed;left:0;right:0;bottom:0;z-index:120;background:var(--navy-deep);color:#c6d2e8;border-top:2px solid var(--gold)}
.cookiebar-in{width:min(1180px,92vw);margin-inline:auto;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:16px 0}
.cookiebar-txt{font-size:.88rem}
.cookiebar-txt a{color:var(--gold-br);text-decoration:underline}
.cookiebar-btns{display:flex;gap:10px}
.cookie-btn{font-family:var(--sans);font-weight:800;font-size:.86rem;padding:10px 20px;border-radius:4px;border:2px solid transparent;cursor:pointer}
.cookie-btn.ghost{background:transparent;border-color:rgba(255,255,255,.4);color:#fff}
.cookie-btn.accept{background:var(--gold);color:#2c2007}
.mourn-overlay{position:fixed;inset:0;z-index:200;background:rgba(7,26,56,.86);display:grid;place-items:center;padding:20px}
/* 🔴 บรรทัดนี้จำเป็น ห้ามลบ — ถ้าเราตั้ง display เอง (grid/flex) มันจะ "ชนะ" กฎ [hidden]
   ของเบราว์เซอร์ ทำให้ JS สั่ง ov.hidden = true แล้ว popup ก็ยังโชว์อยู่ = กดปิดไม่ได้
   (เจอบนเว็บจริง 2026-08-24 · ธีมเก่า styles.css มีบรรทัดนี้ แต่ตอนย้ายมา theme-b ตกไป) */
.mourn-overlay[hidden]{display:none}
/* กันปัญหาเดียวกันล่วงหน้า: ตอนนี้ .cookiebar ไม่ได้ตั้ง display จึงยังปิดได้ปกติ
   แต่ถ้าวันหน้ามีคนเพิ่ม display:flex เข้าไป จะพังแบบเดียวกัน */
.cookiebar[hidden]{display:none}
.mourn-box{position:relative;max-width:min(520px,92vw)}
.mourn-img{width:100%;height:auto;display:block;border-radius:8px}
.mourn-close{position:absolute;top:-14px;right:-14px;width:36px;height:36px;border-radius:50%;border:0;background:#fff;color:var(--navy);font-size:22px;line-height:1;cursor:pointer}
/* ธีมนี้ยังไม่ใช้ lightbox (ของ styles.css) — ซ่อนไว้กันโผล่ */
.lightbox{display:none}
