/* =====================================================================
   Finance Story · base.css — ฐานกลางสำหรับทุกหน้า "ยกเว้นหน้าแรก"
   (หน้าแรกใช้ site.css ซึ่งมีกฎชุดนี้อยู่แล้ว)
   ประกอบด้วย: design tokens · header (.nav) · footer (.foot) · ปุ่ม (.btn) · หัวข้อเล็ก (.eyebrow) · reveal
   คัดอัตโนมัติจาก site.css (v3.15) ห้ามแก้แยก — ถ้าแก้ header/footer ให้แก้ทั้งสองไฟล์ให้ตรงกัน
   ===================================================================== */
a.brandmark{display:inline-flex}
:root{--jo:url(/assets/img/jo-portrait-frame.webp);
  --navy:#0B3C63; --deep:#0E2F49; --night:#092235;
  --orange:#E8891A; --orange-hi:#D67C12; --gold:#C9992F; --sand:#E8B978;
  --ink:#16202B; --body:#4A5561; --muted:#6A7381; --line:#E6E1D8; --hair:#EFEBE3;
  --sans:'Kanit',system-ui,sans-serif; --mono:'IBM Plex Mono',ui-monospace,monospace;
  --r-s:10px; --r-m:14px; --r-l:20px;
  --sh-s:0 1px 2px rgba(16,32,48,.05);
  --sh-m:0 4px 18px rgba(16,32,48,.07),0 1px 3px rgba(16,32,48,.05);
  --sh-l:0 18px 50px rgba(11,33,74,.13),0 2px 6px rgba(11,33,74,.07);
  --spine-a:#0B3C63; --spine-b:#1F5F7A; --spine-c:#3F7A6E; --spine-d:#9A6216; --spine-e:#8A4A1E;
  
  --paper:#FBF8F2; --surface:#FFFFFF; --sunk:#F3EFE6;}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:300;color:var(--ink);background:#E7E4DE;
  line-height:1.74;font-size:15.5px;-webkit-font-smoothing:antialiased}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:currentColor;opacity:.6}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:999px;font:inherit;
  font-size:14.5px;font-weight:400;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:.16s}
.btn-o{background:var(--orange);color:#fff;box-shadow:0 8px 20px rgba(232,137,26,.28)}
.btn-o:hover{background:var(--orange-hi);transform:translateY(-1px)}
.btn-n{border-color:#C6D5E2;color:var(--navy);background:#fff}
.btn-n:hover{background:#F2F7FB}
a:focus-visible,button:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.nav{display:flex;align-items:center;gap:26px;padding:14px 60px;border-bottom:1px solid var(--hair);
  background:rgba(251,248,242,.93);position:sticky;top:0;z-index:40;backdrop-filter:blur(10px)}
.brandmark{display:flex;align-items:center;gap:10px;flex:none}
.brandmark .blogo{width:26px;height:32px;border-radius:3px 6px 6px 3px;position:relative;flex:none;
  background:linear-gradient(115deg,var(--navy),#17547F);box-shadow:0 3px 8px rgba(11,33,74,.22)}
.brandmark .blogo::before{content:"";position:absolute;left:4px;top:0;bottom:0;width:2px;background:rgba(255,255,255,.28)}
.brandmark .nm{font-size:17px;font-weight:400;color:var(--deep);line-height:1.15;letter-spacing:-.01em}
.brandmark .nm small{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;
  color:var(--gold);text-transform:uppercase;font-weight:500}
.nav .links{display:flex;gap:22px;margin-left:10px}
.nav .links a{color:var(--body);text-decoration:none;font-size:14px}
.nav .links a:hover{color:var(--navy)}
.nav .cta{margin-left:auto;display:flex;align-items:center;gap:14px}
.foot{background:var(--night);color:#8FA8BD;padding:44px 60px 32px;font-size:13px;font-weight:200}
.foot .top{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:30px;max-width:1040px;margin:0 auto 24px}
/* .foot .top h2 (ไม่ใช่ .foot h2) — กัน CSS ของหน้า เช่น .ab h2 ใน about.css มาทับหัวข้อ footer */
.foot .top h2{color:#fff;font-size:12.5px;font-weight:400;margin:0 0 9px;max-width:none;line-height:inherit;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase}
.foot a{color:#8FA8BD;text-decoration:none;display:block;padding:3px 0}
.foot a:hover{color:#fff}
.foot .bm{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.foot .bm .blogo{width:24px;height:30px;border-radius:3px 6px 6px 3px;background:linear-gradient(115deg,#17547F,#2E7BB0)}
.foot .bm .nm{color:#fff;font-size:16px;font-weight:400}
.nav .mk{left:10px;top:50%;transform:translateY(-50%)}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s cubic-bezier(.16,.9,.24,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
}
@media(max-width:940px){
  .nav,.foot{padding-left:26px;padding-right:26px}
  .foot .top{grid-template-columns:1fr}
  .nav .links{display:none}
}
:root{--inkline:#16202B; --sun:#F6D27F; --sun-deep:#EBBB55; --pop-green:#2F9E6A; --pop-sky:#2E7BB0}
.btn-ink{border:1.5px solid var(--inkline)!important;box-shadow:3px 3px 0 var(--inkline)!important}
.btn-ink:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--inkline)!important}
.btn-ink:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--inkline)!important}
.btn-w{background:#fff;color:var(--deep)}
.btn-w.btn-ink{border-color:#fff!important;box-shadow:3px 3px 0 var(--sun)!important}
@media(max-width:640px){
  .nav .cta .btn{white-space:nowrap;padding:7px 13px!important;font-size:12.5px!important}
  .brandmark .nm small{display:none}
}
:root{--sun:#F7C948; --sun-deep:#E5B22E; --pop-green:#1F9D5C; --pop-sky:#1E6FB0; --hard:4px 4px 0 var(--inkline)}
.btn-o.btn-ink,.btn-n.btn-ink{border-width:2px!important}
.btn-o{background:var(--orange)}
.foot{position:relative}
.jowave{position:absolute;right:60px;top:20px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;pointer-events:none}
.jowave img{height:150px;display:block;margin-right:14px}
.jowave .bub{background:#fff;color:var(--inkline);border:2px solid var(--inkline);border-radius:16px 16px 4px 16px;
  box-shadow:3px 3px 0 var(--sun);padding:7px 13px;font-size:13px;font-weight:400;white-space:nowrap}
.foot .top{padding-right:200px}
@media(max-width:940px){
  .jowave{position:static;margin:0 auto 18px;max-width:1040px}
  .jowave img{height:140px}
  .foot .top{padding-right:0}
}
@media(max-width:640px){
  .jowave .bub{font-size:12px}
}
:root{--hard:0 10px 28px rgba(9,34,53,.12)}
.btn-ink{box-shadow:none!important}
.btn-w.btn-ink{box-shadow:none!important;border-color:#fff!important}
.foot{background:url(/assets/img/bg-footer.webp) center bottom/cover no-repeat,var(--night)!important;padding-bottom:0!important}
.foot .top{grid-template-columns:1.3fr 1fr 1fr 250px!important;align-items:end;margin-bottom:0!important;padding-right:0!important}
.foot .top>div:not(.jowave){align-self:start;padding-top:8px}
.jowave{position:relative!important;right:auto!important;top:auto!important;margin:0!important;align-items:flex-end}
.jowave img{height:300px!important;margin:0!important;filter:drop-shadow(0 20px 30px rgba(3,14,26,.55))}
.jowave .bub{position:absolute;right:70px;top:-38px;border:none!important;box-shadow:0 10px 24px rgba(3,14,26,.35)!important;color:var(--deep)!important}
.foot .disc{max-width:none!important;margin:0 -60px!important;padding:18px 60px 22px!important;background:rgba(4,16,28,.78);border-top:1px solid rgba(255,255,255,.08)}
@media(max-width:940px){
  .foot .top{grid-template-columns:1fr!important}
  .jowave{height:260px}
  .jowave img{height:260px!important;position:absolute;right:50%;transform:translateX(50%);bottom:0}
  .jowave .bub{right:auto;left:0;top:10px}
  .foot .disc{margin:0 -26px!important;padding:18px 26px 22px!important}
}
.flogo{height:50px;width:auto;display:block}
.foot .bm .flogo-w{height:54px;width:auto;display:block}
@media(max-width:640px){
  .flogo{height:34px}
}
html,body{overflow-x:clip}
.nav{position:sticky!important;top:0;z-index:50}
.navmark{margin-left:auto;display:flex;align-items:center;gap:9px;padding:5px 14px 5px 5px;border-radius:999px;
  background:#fff;border:1px solid var(--line);font-size:13px;color:var(--deep);white-space:nowrap;
  opacity:0;transform:translateY(-4px);transition:opacity .25s,transform .25s;pointer-events:none}
.navmark.on{opacity:1;transform:none}
.navmark i{width:6px;height:22px;border-radius:3px;background:var(--orange);transition:background .3s}
.navmark b{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.1em;color:var(--gold)}
.nav .cta{margin-left:16px!important}
.navprog{position:absolute;left:0;bottom:-1px;height:3px;width:0;background:var(--orange);border-radius:0 3px 3px 0;transition:width .1s linear}
@media(max-width:940px){
  .navmark{display:none}
}
.eyebrow{font-family:var(--sans)!important;font-size:16px!important;font-weight:500!important;letter-spacing:.06em!important;gap:12px!important}
.eyebrow::before{width:34px!important;height:3px!important;opacity:1!important}
@media(max-width:640px){
  .eyebrow{font-size:14px!important}
}

/* footer: แถบข้อความกฎหมายอยู่กลาง กว้างเท่าคอลัมน์ footer (v1.3) */
.foot .disc{text-align:center;padding-left:max(60px,calc((100% - 1040px)/2))!important;padding-right:max(60px,calc((100% - 1040px)/2))!important;line-height:1.75}
@media(max-width:640px){.foot .disc{padding-left:22px!important;padding-right:22px!important}}

/* รูปจารย์โจใน footer มี width/height ใน HTML (กันหน้าเด้ง) — CSS กำหนดแค่ความสูง จึงให้กว้างตามสัดส่วน */
.jowave img{width:auto}

/* ---------- แถบขอความยินยอมคุกกี้ (PDPA) — สร้างโดย /assets/js/consent.js ---------- */
.ckbar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:60;width:min(760px,calc(100% - 32px));
  display:flex;align-items:center;gap:18px;padding:16px 18px 16px 22px;border-radius:var(--r-m);
  background:var(--deep);color:#C9DBEA;box-shadow:0 18px 50px rgba(3,14,26,.4);border:1px solid rgba(255,255,255,.1);
  font-size:13.5px;line-height:1.65;animation:ckin .35s cubic-bezier(.2,.8,.3,1)}
.ckbar[hidden]{display:none}
.ckbar .ckt{flex:1;margin:0}
.ckbar .ckt b{color:#fff;font-weight:500}
.ckbar .cka{display:flex;gap:10px;flex:none}
.ckbar .btn{padding:9px 20px;font-size:14px}
.ckbar .ckno{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.ckbar .ckno:hover{background:rgba(255,255,255,.08)}
@keyframes ckin{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:640px){
  .ckbar{flex-direction:column;align-items:stretch;gap:12px;bottom:12px;padding:16px}
  .ckbar .cka .btn{flex:1;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.ckbar{animation:none}}
.foot .cklink{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.foot .cklink:hover{color:#fff}
.ckbar .ckt a{color:#fff;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
/* footer: ลิงก์ในแถบข้อความกฎหมาย (นโยบายความเป็นส่วนตัว) อยู่บรรทัดเดียวกับ © — กฎ .foot a{display:block} ทำให้ตกบรรทัดและเหลือ "·" ค้าง */
.foot .disc a{display:inline;padding:0}
.foot .disc a,.foot .cklink{white-space:nowrap}

/* =====================================================================
   v4 (3 ต.ค. 2026) · แถบเมนูแบบ "เม็ดยา" ลอย ใช้ทุกหน้า (ชุดเดียวกับหน้าแรก)
   โลโก้กลาง · เมนูซ้าย · ปุ่ม/ตัวสลับเครื่องมือขวา
   ===================================================================== */
:root{--navh:92px}
html{scroll-padding-top:104px}
.nav{position:fixed!important;top:14px;left:50%;transform:translateX(-50%);z-index:60!important;
  width:min(1320px,calc(100% - 40px));display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px!important;
  padding:9px 10px 9px 30px!important;background:rgba(255,255,255,.97)!important;border:none!important;border-radius:999px;
  box-shadow:0 14px 34px rgba(4,16,28,.16),0 2px 6px rgba(4,16,28,.06);overflow:hidden;
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.nav .links{grid-column:1;grid-row:1;margin:0!important;gap:26px!important}
.nav .links a{font-size:15px;color:var(--deep)}
.nav .links a:hover{color:var(--orange-hi,#E8891A)}
.nav .brandmark{grid-column:2;grid-row:1;justify-self:center}
.nav .flogo{height:46px}
.nav .navmark{grid-column:3;grid-row:1;justify-self:start;margin:0!important}
.nav .cta{grid-column:3;grid-row:1;justify-self:end;margin:0!important}
.navprog{left:30px!important;bottom:0!important;max-width:calc(100% - 60px)}
/* เว้นที่ให้แถบเมนูลอย (เนื้อหาเริ่มใต้แถบ) */
body{padding-top:var(--navh)}
body .tool .sticky{top:calc(var(--navh) + 12px)}
/* หน้าที่มีแถบหัวสี ให้สีหัวลอดใต้แถบเมนู (เหมือนหน้าแรก) */
body>main>.tp-hero:first-child,body>main>.lhero:first-child,body>main>.bk-hero:first-child{margin-top:calc(-1 * var(--navh))}
body>main>.tp-hero:first-child{padding-top:calc(var(--navh) + 34px)}
body>main>.lhero:first-child{padding-top:calc(var(--navh) + 54px)}
body>main>.bk-hero:first-child{padding-top:calc(var(--navh) + 44px)}
@media(max-width:940px){
  :root{--navh:74px}
  html{scroll-padding-top:84px}
  .nav{display:flex!important;top:10px;width:calc(100% - 24px);padding:7px 8px 7px 18px!important}
  .nav .flogo{height:36px}
  .nav .cta{margin-left:auto!important}
}
@media(max-width:640px){
  .nav .cta .btn{padding:8px 14px!important;font-size:12.5px!important}
  body>main>.tp-hero:first-child{padding-top:calc(var(--navh) + 16px)}
  body>main>.bk-hero:first-child{padding-top:calc(var(--navh) + 26px)}
}
