/* =====================================================================
   Finance Story · about.css · หน้า /about (3 ต.ค. 2026)
   โหลดต่อจาก base.css + library.css · ใช้ตัวแปรสีของแบรนด์ทั้งหมด
   ===================================================================== */
.ab{background:var(--paper)}
.ab-wrap{max-width:1120px;margin:0 auto;padding:0 40px}
.ab h2{font-size:clamp(26px,3.2vw,38px);font-weight:500;line-height:1.25;color:var(--deep);letter-spacing:-.01em}
.ab .mono{font-family:var(--mono);font-weight:500}

/* ---------- เข้าฉาก (อ่านได้เสมอถ้า JS ไม่ทำงาน) ---------- */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,.9,.24,1)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}}

/* ---------- 1) HERO: พื้นน้ำเงินเต็มขอบ + รูปตัดพื้นหลัง ---------- */
.ab-hero{position:relative;margin-top:calc(-1 * var(--navh));padding-top:var(--navh);color:#fff;overflow:hidden;
  background:linear-gradient(100deg,rgba(9,34,53,.97) 0%,rgba(11,60,99,.9) 55%,rgba(11,60,99,.78) 100%),url(/assets/img/bg-hero.webp) center/cover no-repeat,var(--night)}
.ab-in{max-width:1180px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:end;min-height:600px}
.ab-copy{align-self:center;padding:40px 0 70px}
.ab-hero .crumb{color:rgba(255,255,255,.6);margin-bottom:26px}
.ab-hero .crumb a{color:rgba(255,255,255,.75)}
.ab-name{font-size:17px;font-weight:400;color:var(--sand);margin-bottom:14px}
.ab-name span{color:rgba(255,255,255,.7);font-weight:300}
.ab-hero h1{font-size:clamp(34px,4.4vw,56px);font-weight:500;line-height:1.18;letter-spacing:-.015em;color:#fff}
.ab-hero h1 em{font-style:normal;color:var(--orange)}
.ab-lede{margin-top:20px;max-width:520px;font-size:17.5px;line-height:1.75;color:#C9DBEA}
.ab-acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.ab-acts .btn{white-space:nowrap}
.ab-ghost{border:1.5px solid rgba(255,255,255,.45);color:#fff;background:transparent}
.ab-ghost:hover{background:rgba(255,255,255,.08);border-color:#fff}
.ab-pic{position:relative;height:100%;display:flex;justify-content:center;align-items:flex-end}
.ab-pic::before{content:"";position:absolute;left:50%;bottom:4%;width:92%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(circle at 50% 45%,rgba(232,137,26,.30),rgba(232,137,26,.08) 45%,transparent 68%);pointer-events:none}
.ab-cut{position:relative;display:block;height:auto;width:100%;max-width:440px;filter:drop-shadow(0 24px 40px rgba(3,14,26,.45))}
.ab-sig{position:absolute;right:0;bottom:28px;text-align:right;background:rgba(9,34,53,.74);border:1px solid rgba(255,255,255,.14);
  border-radius:var(--r-m);padding:9px 15px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ab-sig b{display:block;font-size:15px;font-weight:500}
.ab-sig span{font-family:var(--mono);font-size:10.5px;color:rgba(255,255,255,.75);letter-spacing:.04em}

/* ---------- 2) เรื่องของผม: รูปกว้างซ้าย + ข้อความขวา ---------- */
.ab-story{padding:100px 0 90px}
.ab-story-in{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center}
.ab-photo{margin:0;border-radius:var(--r-l);overflow:hidden;box-shadow:var(--sh-l);aspect-ratio:4/3.4}
.ab-photo img{width:100%;height:100%;object-fit:cover;object-position:72% 30%;display:block}
.ab-story-tx p{margin-top:18px;font-size:17px;line-height:1.85;color:var(--body);max-width:60ch}
.ab-story-tx h2{margin-bottom:4px}
.ab-sign{color:var(--deep)!important;font-weight:400;border-left:3px solid var(--orange);padding-left:16px;margin-top:26px!important}

/* ---------- 3) หลักคิด: ประโยคเดียวเต็มขอบ ---------- */
.ab-quote{background:var(--deep);color:#fff;padding:96px 0}
.ab-quote blockquote{margin:0 auto;text-align:center}
.ab-quote p{font-size:clamp(26px,3.6vw,44px);font-weight:400;line-height:1.45;letter-spacing:-.01em}
.ab-quote em{font-style:normal;color:var(--orange)}
.ab-quote cite{display:block;margin-top:22px;font-style:normal;font-size:15px;color:var(--sand)}

/* ---------- 4) ใบอนุญาต/คุณวุฒิ: แถวรายการ ไม่ใช่การ์ด ---------- */
.ab-cred{padding:100px 0 80px;scroll-margin-top:calc(var(--navh) + 10px)}
.ab-cred h2{margin-top:10px}
.ab-rows{margin-top:40px;border-top:1px solid var(--line)}
.ab-row{display:grid;grid-template-columns:200px 1fr;gap:30px;padding:30px 0;border-bottom:1px solid var(--hair)}
.ab-k{font-family:var(--mono);font-size:30px;font-weight:500;color:var(--navy);line-height:1.1}
.ab-k sup{font-size:.45em}
.ab-v h3{font-size:19px;font-weight:500;color:var(--deep);line-height:1.45}
.ab-v p{margin-top:6px;font-size:15.5px;line-height:1.75;color:var(--body)}
.ab-v [data-todo]{color:var(--orange-hi);font-style:italic}
.ab-how{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-s);padding:12px 16px;margin-top:12px!important}
.ab-how a{color:var(--navy);font-weight:500;white-space:nowrap}

/* ---------- 5) ของฟรี: bento 1 ใหญ่ + 2 ซ้อน ---------- */
.ab-free{padding:40px 0 100px}
.ab-bento{margin-top:34px;display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:auto auto;gap:18px}
.ab-tile{position:relative;display:flex;flex-direction:column;border-radius:var(--r-l);overflow:hidden;text-decoration:none;color:inherit;
  box-shadow:var(--sh-m);transition:transform .25s ease,box-shadow .25s ease}
.ab-tile:hover{transform:translateY(-3px);box-shadow:var(--sh-l)}
.ab-tt{padding:24px 26px 26px}
.ab-tt h3{font-size:22px;font-weight:500;line-height:1.3}
.ab-tt p{margin-top:8px;font-size:15px;line-height:1.7}
.ab-go{display:inline-block;margin-top:14px;font-size:14.5px;font-weight:500;color:var(--orange-hi)}
.ab-lib{grid-row:1 / span 2;background:linear-gradient(160deg,var(--navy),var(--night));color:#fff}
.ab-lib .ab-tt p{color:#C9DBEA}
.ab-lib .ab-go{color:var(--sand)}
.ab-covers{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:34px 34px 6px;align-content:center}
.ab-covers img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:4px 8px 8px 4px;box-shadow:0 10px 24px rgba(3,14,26,.45)}
.ab-covers img:nth-child(even){transform:translateY(14px)}
.ab-tools{background:var(--surface)}
.ab-tools img{width:100%;height:210px;object-fit:cover;object-position:top;display:block;border-bottom:1px solid var(--line)}
.ab-tools .ab-tt p{color:var(--body)}
.ab-tools h3,.ab-yt h3{color:var(--deep)}
.ab-yt{background:var(--sunk);flex-direction:row;align-items:flex-end;min-height:200px}
.ab-yt .ab-tt{flex:1;align-self:center}
.ab-yt .ab-tt p{color:var(--body)}
.ab-yt-jo{width:150px;height:auto;display:block;margin-right:12px}

/* ---------- 6) ส่งต่อ 10% ---------- */
.ab-give{background:var(--sunk);padding:80px 0}
.ab-give-in{display:grid;grid-template-columns:auto 1fr;gap:50px;align-items:center}
.ab-big{font-size:clamp(84px,11vw,140px);font-weight:600;line-height:1;color:var(--navy);letter-spacing:-.03em}
.ab-big span{color:var(--orange);font-size:.55em;margin-left:4px}
.ab-give h2{font-size:clamp(22px,2.6vw,30px)}
.ab-give p{margin-top:12px;font-size:17px;line-height:1.8;color:var(--body);max-width:60ch}

/* ---------- 7) สิ่งที่ไม่ทำ: รายการ 2 คอลัมน์ ---------- */
.ab-no{padding:100px 0 60px}
.ab-nolist{list-style:none;margin:34px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:60px}
.ab-nolist li{padding:22px 0 22px 34px;border-top:1px solid var(--line);position:relative}
.ab-nolist li::before{content:"";position:absolute;left:0;top:31px;width:18px;height:2px;background:var(--orange);transform:rotate(45deg)}
.ab-nolist li::after{content:"";position:absolute;left:0;top:31px;width:18px;height:2px;background:var(--orange);transform:rotate(-45deg)}
.ab-nolist b{display:block;font-size:18px;font-weight:500;color:var(--deep)}
.ab-nolist span{display:block;margin-top:6px;font-size:15.5px;line-height:1.7;color:var(--body)}

/* ---------- 8) บริการ: แถบเดียว ท้ายสุด ---------- */
.ab-svc{padding:40px 0 100px}
.ab-svc-box{display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--surface);border:1px solid var(--line);
  border-left:4px solid var(--orange);border-radius:var(--r-l);padding:30px 34px;box-shadow:var(--sh-s)}
.ab-svc-box h2{font-size:clamp(20px,2.2vw,26px);margin-top:8px}
.ab-svc-box p{margin-top:8px;font-size:15px;line-height:1.7;color:var(--body);max-width:62ch}
.ab-svc-box .btn{white-space:nowrap;flex:none}
.ab-dis{margin-top:14px;font-size:12px;line-height:1.7;color:var(--muted)}

/* ---------- จอแคบ ---------- */
@media(max-width:940px){
  .ab-wrap,.ab-in{padding:0 22px}
  .ab-in{grid-template-columns:1fr;min-height:0;gap:0}
  .ab-copy{padding:26px 0 10px}
  .ab-pic{min-height:380px;max-width:360px;margin:0 auto;width:100%}
  .ab-cut{max-width:320px}
  .ab-sig{right:-6px;bottom:18px}
  .ab-story{padding:70px 0 60px}
  .ab-story-in{grid-template-columns:1fr;gap:30px}
  .ab-quote{padding:70px 0}
  .ab-cred{padding:70px 0 50px}
  .ab-row{grid-template-columns:1fr;gap:8px;padding:22px 0}
  .ab-k{font-size:24px}
  .ab-bento{grid-template-columns:1fr}
  .ab-lib{grid-row:auto}
  .ab-covers{padding:26px 22px 4px;gap:10px}
  .ab-give{padding:60px 0}
  .ab-give-in{grid-template-columns:1fr;gap:12px}
  .ab-no{padding:70px 0 40px}
  .ab-nolist{grid-template-columns:1fr}
  .ab-svc-box{flex-direction:column;align-items:flex-start;padding:26px 22px}
}
@media(max-width:640px){
  .ab-hero h1{font-size:31px}
  .ab-lede{font-size:16px}
  .ab-acts .btn{flex:1 1 auto;text-align:center}
  .ab-tools img{height:170px}
  .ab-yt-jo{width:110px}
  .ab-tt{padding:20px 20px 22px}
  .ab-svc-box .btn{white-space:normal;width:100%;text-align:center}
}

/* ---------- 9) ร่วมงาน: โปรไฟล์ย่อ + ฟอร์มติดต่อ ---------- */
.ab-work{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:100px 0;scroll-margin-top:var(--navh)}
.ab-work-in{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.ab-work h2{margin-top:10px}
.ab-work-lede{margin-top:14px;font-size:17px;line-height:1.8;color:var(--body);max-width:52ch}
.ab-facts{margin:30px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;border-top:1px solid var(--line)}
.ab-facts>div{padding:16px 0;border-bottom:1px solid var(--hair)}
.ab-facts dt{font-size:13px;color:var(--muted)}
.ab-facts dd{margin:4px 0 0;font-size:16px;font-weight:400;color:var(--deep);line-height:1.5}
.ab-facts dd[data-todo]{color:var(--orange-hi);font-style:italic;font-weight:300}
.ab-work-h{margin-top:30px;font-size:16px;font-weight:500;color:var(--deep)}
.ab-chips{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ab-chips li{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:7px 15px;font-size:14px;color:var(--deep)}
.ab-work-note{margin-top:24px;font-size:15px;line-height:1.8;color:var(--body);border-left:3px solid var(--orange);padding-left:16px}
.ab-form{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-l);padding:30px;box-shadow:var(--sh-m);display:flex;flex-direction:column;gap:16px}
.ab-form h3{font-size:20px;font-weight:500;color:var(--deep)}
.ab-f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ab-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--ink);font-weight:400}
.ab-form small{color:var(--muted);font-weight:300}
.ab-form input,.ab-form select,.ab-form textarea{font:inherit;font-size:15px;font-weight:300;color:var(--ink);background:#fff;border:1px solid #D9D2C4;border-radius:var(--r-s);padding:11px 13px;width:100%}
.ab-form textarea{resize:vertical;min-height:120px;line-height:1.6}
.ab-form input:focus,.ab-form select:focus,.ab-form textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(11,60,99,.12)}
.ab-form .bad{border-color:#C0392B!important}
.ab-form .ab-ck{flex-direction:row;align-items:flex-start;gap:10px;font-size:13.5px;font-weight:300;color:var(--body);line-height:1.6}
.ab-ck input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:var(--orange);padding:0}
.ab-ck.bad span{color:#C0392B}
.ab-ck a{color:var(--navy)}
.ab-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ab-form .btn{align-self:flex-start;white-space:nowrap}
.ab-msg{font-size:14.5px;line-height:1.7;color:var(--body)}
.ab-msg:empty{display:none}
.ab-msg.ok{background:#EAF5EE;border:1px solid #BFE0CB;color:#1E4D2E;border-radius:var(--r-s);padding:12px 14px}
.ab-msg.err{color:#A0331F}
.ab-msg a{color:inherit}
@media(max-width:940px){
  .ab-work{padding:70px 0}
  .ab-work-in{grid-template-columns:1fr;gap:36px}
  .ab-form{padding:22px}
}
@media(max-width:640px){
  .ab-facts,.ab-f2{grid-template-columns:1fr}
  .ab-form .btn{width:100%;text-align:center}
}

/* ---------- v2 (3 ต.ค.): เรื่องของผมกระชับขึ้น · บันได IP · ประสบการณ์ · รูปมอบทุน ---------- */
.ab-story{padding:70px 0 64px}
.ab-story-in{grid-template-columns:.72fr 1.28fr;gap:56px}
.ab-photo{aspect-ratio:4/4.4;max-width:400px}
.ab-photo img{object-position:50% 12%}
.ab-ladder{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:8px}
.ab-ladder li{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-s);padding:10px 12px;position:relative}
.ab-ladder li b{display:block;font-family:var(--mono);font-size:14px;font-weight:500;color:var(--navy)}
.ab-ladder li span{display:block;font-size:13px;line-height:1.5;color:var(--muted);margin-top:2px}
.ab-ladder li.on{background:var(--navy);border-color:var(--navy)}
.ab-ladder li.on b{color:var(--sand)}
.ab-ladder li.on span{color:#C9DBEA}
.ab-ladder li+li::before{content:"";position:absolute;left:-7px;top:50%;width:6px;height:6px;border-top:1.5px solid var(--gold);border-right:1.5px solid var(--gold);transform:translate(-1px,-50%) rotate(45deg)}
.ab-more{margin-top:12px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--surface)}
.ab-more summary{cursor:pointer;list-style:none;padding:12px 16px;font-size:15px;font-weight:400;color:var(--navy);display:flex;justify-content:space-between;align-items:center}
.ab-more summary::-webkit-details-marker{display:none}
.ab-more summary::after{content:"+";font-size:20px;color:var(--orange);line-height:1}
.ab-more[open] summary::after{content:"−"}
.ab-more ul{margin:0;padding:0 18px 4px 34px}
.ab-more li{font-size:14.5px;line-height:1.75;color:var(--body);margin-bottom:6px}
.ab-src{font-size:12.5px!important;color:var(--muted)!important;padding:0 18px 14px;margin-top:2px!important}
.ab-k small{display:block;font-family:var(--sans);font-size:13px;color:var(--muted);font-weight:300;margin-top:4px}
.ab-exp{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 24px}
.ab-exp li{font-size:15.5px;line-height:1.6;color:var(--body);padding-left:16px;position:relative}
.ab-exp li::before{content:"";position:absolute;left:0;top:.7em;width:7px;height:2px;background:var(--orange)}
.ab-with{margin-top:26px}
.ab-with[data-todo] p{margin-top:8px;font-size:14px;color:var(--orange-hi);font-style:italic;border:1px dashed #E3C9A0;border-radius:var(--r-s);padding:14px}
.ab-give-in{grid-template-columns:1fr 1fr;gap:56px}
.ab-give-pic{margin:0}
.ab-give-pic img{width:100%;height:auto;display:block;border-radius:var(--r-l);box-shadow:var(--sh-l)}
.ab-give-pic figcaption{margin-top:10px;font-size:13px;color:var(--muted)}
.ab-give .ab-big{font-size:clamp(70px,8vw,110px);margin-bottom:6px}
@media(max-width:940px){
  .ab-story{padding:56px 0 50px}
  .ab-story-in{grid-template-columns:1fr;gap:26px}
  .ab-photo{max-width:none;aspect-ratio:4/3.6}
  .ab-ladder{grid-template-columns:1fr}
  .ab-ladder li+li::before{display:none}
  .ab-give-in{grid-template-columns:1fr;gap:26px}
}
@media(max-width:640px){
  .ab-exp{grid-template-columns:1fr}
}
.ab-logos{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 26px;border-top:1px solid var(--hair)}
.ab-logos li{padding:16px 0;border-bottom:1px solid var(--hair);display:flex;flex-direction:column;gap:10px}
.ab-logos .lg{height:38px;display:flex;align-items:center}
.ab-logos img{display:block;width:auto;opacity:.85}
.ab-logos .lg-kb{height:28px}
.ab-logos .lg-kt{height:36px}
.ab-logos .lg-jt{height:24px}
.ab-logos .lg-tx{font-family:var(--mono);font-size:24px;font-weight:500;color:var(--deep);opacity:.85;letter-spacing:.04em}
.ab-logos .rl{font-size:14px;line-height:1.55;color:var(--body)}
@media(max-width:640px){.ab-logos{grid-template-columns:1fr}}
.ab-exp-note{margin-top:12px!important;font-size:13px!important;color:var(--muted)!important}
.ab-logos .lg-ut{height:38px;margin-right:10px}
.ab-logos .lg-tx{font-size:20px}
/* v5: ตัดรูปในแถบเรื่องของผม (ซ้ำกับ hero) → ข้อความคอลัมน์เดียวกลางหน้า */
.ab-story{padding:80px 0 72px}
.ab-story-in{display:block;max-width:760px}
.ab-story-tx{text-align:left}
.ab-story-tx h2{font-size:clamp(28px,3.4vw,40px)}
@media(max-width:940px){.ab-story{padding:56px 0 48px}}
/* v8: รูปมอบทุนเป็นพื้นหลังจางๆ */
.ab-give{position:relative;overflow:hidden;padding:110px 0;
  background:linear-gradient(90deg,rgba(243,239,230,.97) 0%,rgba(243,239,230,.93) 45%,rgba(243,239,230,.8) 100%),url(/assets/img/about-giveback.webp) center 35%/cover no-repeat,var(--sunk)}
.ab-give-in{display:block!important;max-width:1120px}
.ab-give-in>div{max-width:560px}
@media(max-width:940px){.ab-give{padding:70px 0;background:linear-gradient(rgba(243,239,230,.93),rgba(243,239,230,.93)),url(/assets/img/about-giveback.webp) center/cover no-repeat,var(--sunk)}}
/* v9: กลับมามีรูป แต่ใช้รูปนั่ง (ไม่ซ้ำ hero) เต็มเฟรม ไม่ครอป */
.ab-story-in{display:grid!important;grid-template-columns:1fr 1fr;gap:56px;align-items:center;max-width:1120px}
.ab-photo{aspect-ratio:16/9!important;max-width:none!important}
.ab-photo img{object-fit:cover;object-position:center!important}
.ab .nw{white-space:nowrap}
@media(max-width:940px){.ab-story-in{grid-template-columns:1fr!important;gap:26px}}

/* ---------- v10: เส้นกราฟจางๆ เป็นพื้นหลัง + effect เล่นครั้งเดียว ---------- */
[data-line]{position:relative;overflow:hidden}
[data-line]>.ab-wrap{position:relative;z-index:1}
.ab-bgl{position:absolute;left:0;right:0;bottom:0;width:100%;height:78%;pointer-events:none;z-index:0}
.ab-bgl .ln{fill:none;stroke:var(--navy);stroke-width:1.8;opacity:.16;vector-effect:non-scaling-stroke}
.ab-bgl .ar{opacity:0;transition:opacity 1.2s ease 1.2s}
.ab-bgl.on .ar{opacity:1}
/* 1 ทบต้น: จุดหลักไมล์สีส้ม */
.ab-bgl .dt{fill:var(--orange);opacity:0;transition:opacity .5s ease}
.ab-bgl.on .dt{opacity:.35}
.ab-bgl.on .dt:nth-of-type(1){transition-delay:.9s}.ab-bgl.on .dt:nth-of-type(2){transition-delay:1.3s}.ab-bgl.on .dt:nth-of-type(3){transition-delay:1.7s}.ab-bgl.on .dt:nth-of-type(4){transition-delay:2.1s}
/* 2 แท่งเทียน: โผล่ไล่จากซ้ายไปขวา */
.ab-bgl .cd line{stroke:var(--navy);stroke-width:1;vector-effect:non-scaling-stroke}
.ab-bgl .cd rect{fill:var(--navy)}
.ab-bgl .cd.up rect{fill:var(--orange)}
.ab-bgl .cd{opacity:0;transform-box:fill-box;transform-origin:center bottom;transform:scaleY(.2);transition:opacity .5s ease,transform .5s ease;transition-delay:calc(var(--i) * 45ms)}
.ab-bgl.on .cd{opacity:.09;transform:none}
.ab-bgl.on .cd.up{opacity:.14}
/* 3 โค้งระฆัง: เส้นแบ่งช่วงจางๆ */
.ab-bgl .sg{stroke:var(--gold);stroke-width:1;stroke-dasharray:4 6;opacity:0;vector-effect:non-scaling-stroke;transition:opacity .8s ease 1.4s}
.ab-bgl.on .sg{opacity:.22}
.ab-bgl.t3 .ln{stroke:var(--gold);opacity:.3}
.ab-k b,.ab-big b{font-weight:inherit}
/* บันไดใบอนุญาตสว่างทีละขั้น */
.js .ab-ladder li{transition:opacity .5s ease,transform .5s ease}
.js .ab-ladder:not(.go) li{opacity:.35;transform:translateY(6px)}
.js .ab-ladder.go li:nth-child(2){transition-delay:.35s}
.js .ab-ladder.go li:nth-child(3){transition-delay:.7s}
/* โลโก้โผล่ทีละอัน */
.js .ab-logos li{transition:opacity .6s ease,transform .6s ease}
.js .ab-logos:not(.go) li{opacity:0;transform:translateY(10px)}
.js .ab-logos.go li:nth-child(2){transition-delay:.12s}
.js .ab-logos.go li:nth-child(3){transition-delay:.24s}
.js .ab-logos.go li:nth-child(4){transition-delay:.36s}
@media (prefers-reduced-motion:reduce){
  .js .ab-ladder:not(.go) li,.js .ab-logos:not(.go) li{opacity:1;transform:none}
}
@media(max-width:940px){.ab-bgl{height:55%}}
/* v10: แถบเรื่องของผม = ข้อความล้วน (มีเส้นกราฟจาง) · รูปนั่งย้ายไปเป็นพื้นหลังแถบ quote */
.ab-story-in{display:block!important;max-width:760px}
.ab-quote-ph{position:relative;padding:0;min-height:min(620px,46vw);display:flex;align-items:center;
  background:linear-gradient(90deg,rgba(9,34,53,.96) 0%,rgba(9,34,53,.82) 34%,rgba(9,34,53,.25) 58%,rgba(9,34,53,0) 75%),url(/assets/img/jo-intro-clip.webp) right center/cover no-repeat,#1d1d1f}
.ab-quote-ph blockquote{text-align:left;width:100%;max-width:1120px;padding:80px 40px}
.ab-quote-ph p{max-width:620px;font-size:clamp(28px,3.4vw,46px)}
.ab-quote-ph cite{text-align:left}
@media(max-width:940px){
  .ab-quote-ph{min-height:0;display:block;padding:0 0 64vw;
    background:linear-gradient(180deg,rgba(9,34,53,1) 0%,rgba(9,34,53,.9) 38%,rgba(9,34,53,.15) 62%,rgba(9,34,53,0) 100%),url(/assets/img/jo-intro-clip.webp) 78% bottom/auto 100% no-repeat,#1d1d1f}
  .ab-quote-ph blockquote{padding:56px 22px 20px}
}
.ab-quote-ph{min-height:560px;background:linear-gradient(90deg,#0B2235 0%,#0B2235 32%,rgba(11,34,53,.55) 46%,rgba(11,34,53,0) 60%),url(/assets/img/jo-intro-clip.webp) right center/auto 100% no-repeat,#0B2235}
@media(max-width:940px){
  .ab-quote-ph{min-height:0;padding:0 0 calc(56vw + 10px);
    background:linear-gradient(180deg,#0B2235 calc(100% - 56vw),rgba(11,34,53,.6) calc(100% - 46vw),rgba(11,34,53,0) calc(100% - 30vw)),url(/assets/img/jo-intro-clip.webp) center bottom/100% auto no-repeat,#0B2235}
  .ab-quote-ph p{font-size:27px}
}
.ab-bgl.t2{height:55%}
.ab-bgl.on .cd{opacity:.07}
.ab-bgl.on .cd.up{opacity:.11}
/* v12: โทนเดียวกับโค้งระฆังทั้ง 3 แถบ (เส้นทอง + เงาจาง + เส้นประ) */
.ab-bgl .ln{stroke:var(--gold);opacity:.3}
.ab-bgl.t2{left:auto;right:-90px;bottom:-110px;width:520px;height:520px}
.ab-bgl .rs{stroke-width:10;opacity:0;transition:opacity .8s ease}
.ab-bgl.on .rs{opacity:.16}
.ab-bgl.on .rs:nth-of-type(2){transition-delay:.25s}.ab-bgl.on .rs:nth-of-type(3){transition-delay:.5s}.ab-bgl.on .rs:nth-of-type(4){transition-delay:.75s}
.ab-bgl .rs:nth-of-type(odd){stroke:var(--navy)}
.ab-bgl .rt{fill:none}
.ab-bgl .sgc{fill:none;stroke:var(--gold);stroke-width:1;stroke-dasharray:4 6;opacity:0;transition:opacity .8s ease 1.2s}
.ab-bgl.on .sgc{opacity:.3}
@media(max-width:940px){.ab-bgl.t2{width:320px;height:320px;right:-80px;bottom:-80px}}
.ab-bgl .ln{vector-effect:none;stroke-width:2}
/* v12: แถบมอบทุนเตี้ยลง + เลื่อนรูปให้เห็นหัวครบ */
.ab-give{padding:64px 0;background-position:0 0,center 20%,0 0}
@media(max-width:940px){.ab-give{padding:52px 0;background-position:0 0,center 10%,0 0}}
/* v12: การ์ดเครื่องมือ = ไอคอน 5 ตัว (ชุดเส้นเดียวกัน) แทนภาพการ์ตูน */
.ab-tools{cursor:default}
.ab-tools:hover{transform:none}
.ab-tgrid{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:26px 22px 22px;
  background:radial-gradient(120% 140% at 100% 0%,rgba(232,137,26,.10),transparent 55%),linear-gradient(160deg,#F3F7FB,#EAF1F7);border-bottom:1px solid var(--line);overflow:hidden}
.ab-tgrid::after{content:"";position:absolute;left:-10%;right:-10%;bottom:-36px;height:90px;border-top:2px solid rgba(201,153,47,.28);border-radius:50% 50% 0 0;pointer-events:none}
.ab-ti{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;text-decoration:none;color:var(--deep);padding:12px 4px;border-radius:var(--r-m);transition:background .2s,transform .2s}
.ab-ti:hover{background:#fff;transform:translateY(-2px);box-shadow:var(--sh-s)}
.ab-ti i{width:52px;height:52px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:var(--navy);box-shadow:var(--sh-s)}
.ab-ti:nth-child(odd) i{color:var(--orange-hi)}
.ab-ti svg{width:26px;height:26px}
.ab-ti span{font-size:13px;line-height:1.35;font-weight:400}
.ab-tools .ab-go{text-decoration:none}
.js .ab-tgrid .ab-ti{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}
.js .ab-tools.in .ab-ti{opacity:1;transform:none}
.js .ab-tools.in .ab-ti:nth-child(2){transition-delay:.08s}.js .ab-tools.in .ab-ti:nth-child(3){transition-delay:.16s}.js .ab-tools.in .ab-ti:nth-child(4){transition-delay:.24s}.js .ab-tools.in .ab-ti:nth-child(5){transition-delay:.32s}
@media(prefers-reduced-motion:reduce){.js .ab-tgrid .ab-ti{opacity:1;transform:none}}
@media(max-width:640px){.ab-tgrid{grid-template-columns:repeat(3,1fr);padding:20px 14px}.ab-ti span{font-size:12.5px}}
.ab-ti span{white-space:nowrap}
/* v13: ปกหนังสือ 3 เล่มวางซ้อนแบบพัด แทนการเรียง 6 ปก */
.ab-covers{display:block!important;position:relative;flex:1;min-height:340px;padding:0!important;margin:34px 26px 0}
.ab-covers .cv{position:absolute;left:50%;top:50%;width:46%;max-width:220px;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:4px 10px 10px 4px;
  box-shadow:0 22px 44px rgba(3,14,26,.55);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.ab-covers .cv1{transform:translate(-112%,-46%) rotate(-9deg);z-index:1;filter:brightness(.82)}
.ab-covers .cv3{transform:translate(12%,-46%) rotate(9deg);z-index:1;filter:brightness(.82)}
.ab-covers .cv2{transform:translate(-50%,-52%);z-index:2}
.js .ab-lib:not(.in) .cv1,.js .ab-lib:not(.in) .cv3{transform:translate(-50%,-50%) rotate(0)}
.ab-lib.in .cv1{transition-delay:.35s}.ab-lib.in .cv3{transition-delay:.45s}
.ab-lib:hover .cv1{transform:translate(-118%,-48%) rotate(-12deg)}
.ab-lib:hover .cv3{transform:translate(18%,-48%) rotate(12deg)}
@media(prefers-reduced-motion:reduce){.ab-covers .cv{transition:none}}
@media(max-width:940px){.ab-covers{min-height:270px;margin:26px 18px 0}.ab-covers .cv{width:40%}}

/* v13: แถบมอบทุน = รูปเต็มเฟรมด้านขวา จางๆ เห็นทุกคน ข้อความซ้าย */
.ab-give{padding:70px 0;background:
  linear-gradient(90deg,var(--sunk) 0%,var(--sunk) 59%,rgba(243,239,230,.6) 70%,rgba(243,239,230,.45) 100%),
  url(/assets/img/about-giveback.webp) right center/auto 100% no-repeat,var(--sunk)!important}
@media(max-width:940px){
  .ab-give{padding:52px 0 calc(66vw + 16px);background:
    linear-gradient(180deg,var(--sunk) calc(100% - 66vw),rgba(243,239,230,.55) calc(100% - 52vw),rgba(243,239,230,.45) 100%),
    url(/assets/img/about-giveback.webp) center bottom/100% auto no-repeat,var(--sunk)!important}
}
/* v13b: พัดหนังสือแบบ flex (ขนาดเท่ากัน ไม่ทับข้อความ) */
.ab-covers{display:flex!important;justify-content:center;align-items:center;min-height:0!important;padding:40px 20px 10px!important;margin:0!important}
.ab-covers .cv{position:relative!important;left:auto!important;top:auto!important;width:36%!important;max-width:200px;flex:none;transform-origin:50% 100%}
.ab-covers .cv1{order:1;margin-right:-12%;transform:rotate(-8deg) translateY(14px)!important}
.ab-covers .cv2{order:2;transform:translateY(-6px)!important}
.ab-covers .cv3{order:3;margin-left:-12%;transform:rotate(8deg) translateY(14px)!important}
.js .ab-lib:not(.in) .cv1,.js .ab-lib:not(.in) .cv3{transform:rotate(0) translateY(14px)!important}
.ab-lib:hover .cv1{transform:rotate(-11deg) translateY(10px)!important}
.ab-lib:hover .cv3{transform:rotate(11deg) translateY(10px)!important}
@media(max-width:940px){.ab-covers{padding:30px 14px 6px!important}}
