:root{color-scheme:dark;--base:#08110c;--base2:#0e1b14;--soft:#dae2c6;--ivory:#e5e8d7;--accent:#b7d28a;--line:rgba(225,238,203,.20);--muted:#9aa99a;--display:"Manrope","Noto Sans Thai",sans-serif;--body:"DM Sans","Noto Sans Thai",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--base);color:var(--ivory);font-family:var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid #c9f37e;outline-offset:5px}::selection{background:#c2e293;color:#0a160f}.skip-link{position:fixed;top:-10rem;left:10px;z-index:40;padding:12px 20px;background:white;color:black}.skip-link:focus{top:10px}
.grain{position:fixed;inset:0;z-index:30;pointer-events:none;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 170 170' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.68' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h170v170H0z' opacity='.58'/%3E%3C/svg%3E")}
.site-header{height:88px;position:fixed;z-index:25;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,3.7vw,74px);background:linear-gradient(180deg,rgba(6,15,10,.88),rgba(6,15,10,0));gap:22px}.brand{font:800 clamp(25px,2.5vw,37px)/1 var(--display);letter-spacing:-.09em;white-space:nowrap}.brand-dot{color:#abd571}.brand sup{font-size:8px;vertical-align:top;margin-left:5px;letter-spacing:0;font-weight:500}.header-center{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#bbcbb1;display:flex;align-items:center;gap:12px;margin-left:auto;margin-right:auto}.signal{width:5px;height:5px;border-radius:50%;background:#c9ea9a;box-shadow:0 0 15px #b9f293}.header-actions{display:flex;align-items:center;gap:32px;white-space:nowrap}.edition,.outline-link,.lang-button{font-size:10px;font-weight:700;letter-spacing:.16em}.edition{color:#8d9f90}.outline-link{padding:11px 0;border-bottom:1px solid #74866f;display:flex;gap:16px;align-items:center}.lang-button{background:transparent;border:0;padding:12px 0;color:#ebefdf;cursor:pointer}.lang-button span{color:#afbf9c;margin-left:6px}
.story{height:740svh;position:relative;background:#0a150f}.story-sticky{height:100svh;height:100dvh;position:sticky;top:0;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 65% 43%,#17291d 0%,#101d15 27%,#09150e 67%,#07110c 100%)}.scene-glow{position:absolute;pointer-events:none;inset:-30%;background:radial-gradient(ellipse 28% 28% at 66% 41%,rgba(149,188,120,.155),transparent 72%),radial-gradient(ellipse 33% 28% at 62% 72%,rgba(90,130,93,.07),transparent 78%);filter:blur(30px)}.scene-grid{position:absolute;pointer-events:none;inset:0;background-image:linear-gradient(90deg,rgba(180,207,167,.035) 1px,transparent 1px),linear-gradient(0deg,rgba(180,207,167,.035) 1px,transparent 1px);background-size:clamp(55px,8vw,135px) clamp(55px,8vw,135px);mask-image:linear-gradient(90deg,transparent 32%,black 78%,transparent)}.scene-orbit{position:absolute;border:1px solid rgba(182,220,155,.085);border-radius:50%;pointer-events:none;width:min(75vw,930px);aspect-ratio:1;left:64%;top:50%;transform:translate(-50%,-50%) rotate(25deg);box-shadow:inset 0 0 110px rgba(175,206,126,.023)}.scene-orbit-b{width:min(57vw,700px);opacity:.63;transform:translate(-50%,-50%) rotate(-36deg) scaleY(.94)}#modelCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;outline:none;touch-action:pan-y;z-index:2}.scene-floor{position:absolute;z-index:1;pointer-events:none;width:min(52vw,720px);height:130px;left:65%;top:76%;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,rgba(144,197,130,.19) 0,rgba(63,101,68,.10) 25%,transparent 72%);filter:blur(18px)}.scene-vignette{position:absolute;z-index:3;pointer-events:none;inset:0;background:linear-gradient(90deg,rgba(6,17,11,.42) 0%,transparent 35%,transparent 72%,rgba(6,17,11,.18) 100%),linear-gradient(0deg,rgba(4,13,8,.68) 0%,transparent 22%,transparent 75%,rgba(4,13,8,.4) 100%)}
.serial{position:absolute;z-index:4;top:clamp(115px,17vh,195px);right:clamp(26px,7vw,150px);display:flex;align-items:center;gap:18px;color:rgba(221,234,205,.59);font-size:10px;letter-spacing:.22em;font-weight:600}.serial-line{width:38px;height:1px;background:rgba(229,243,200,.32)}
.chapter-copy{z-index:5;position:absolute;left:clamp(22px,6.3vw,121px);top:45%;transform:translateY(-45%);width:min(45vw,690px);pointer-events:none;transition:opacity .2s ease}.eyebrow,.mini-kicker{font-size:10px;letter-spacing:.24em;font-weight:700;color:var(--accent);display:flex;align-items:center;gap:12px;text-transform:uppercase}.eyebrow-square{display:inline-block;width:6px;height:6px;background:#a8d881;transform:rotate(45deg)}.chapter-copy h1{font:600 clamp(44px,6.1vw,108px)/1.035 var(--display);letter-spacing:-.082em;margin:38px 0 28px;color:#f1f2e4;max-width:810px;word-break:normal}.chapter-copy h1 em{font-style:normal;color:#bfd79c}.chapter-copy p{font-size:clamp(12px,1.04vw,15px);line-height:1.85;color:#aebcad;max-width:375px;letter-spacing:.015em;margin:0}.copy-trail{display:flex;align-items:center;gap:13px;margin-top:43px;color:#b7c8b1;font-size:10px;font-weight:700;letter-spacing:.1em}.copy-trail span:last-child{color:#677b6b}.trail-rule{width:54px;height:1px;background:rgba(200,218,185,.28)}
.chapter-rail{position:absolute;right:clamp(21px,3.65vw,74px);top:50%;transform:translateY(-46%);z-index:9;display:flex;flex-direction:column;align-items:center;gap:18px}.rail-label,.rail-end{font-size:9px;color:#93a68d;letter-spacing:.23em;writing-mode:vertical-rl}.rail-end{color:#748b74}.chapter-nav{display:flex;flex-direction:column;gap:8px}.chapter-button{color:#a6b7a1;background:none;border:0;padding:4px;cursor:pointer;display:flex;align-items:center;gap:7px;min-height:22px}.chapter-button:after{content:"";height:1px;width:17px;background:rgba(204,225,186,.36);transition:width .25s,background .25s}.chapter-button span{font-size:9px;opacity:0;transition:opacity .22s;letter-spacing:.1em}.chapter-button.active:after,.chapter-button:hover:after{width:35px;background:var(--accent)}.chapter-button.active span,.chapter-button:hover span{opacity:1}
.bottom-ui{position:absolute;z-index:6;left:clamp(23px,6.3vw,121px);right:clamp(23px,6.3vw,121px);bottom:clamp(25px,4.2vh,70px);display:flex;align-items:center;gap:25px}.scroll-prompt{font-size:10px;letter-spacing:.16em;color:#c8d4bc;font-weight:600;display:flex;gap:13px;align-items:center;min-width:230px}.mouse-icon{height:28px;width:17px;border:1px solid #9cbb88;border-radius:10px;display:flex;justify-content:center;padding-top:5px}.mouse-icon i{width:2px;height:5px;background:#c9e8a3;border-radius:4px;animation:scrollHint 2s ease-in-out infinite}@keyframes scrollHint{0%,100%{transform:translateY(0);opacity:1}65%{transform:translateY(8px);opacity:0}}.scene-readout{font-size:9px;letter-spacing:.14em;color:#a7bca1;white-space:nowrap;display:flex;gap:10px;margin-left:auto}.readout-separator{opacity:.4}.progress-rail{height:1px;background:rgba(215,235,193,.21);flex:0 1 120px}.progress-rail>div{height:2px;width:0;background:#bbdda0;transform:translateY(-1px)}.progress-value{font-size:10px;font-weight:700;letter-spacing:.1em;color:#c7d4b5;min-width:33px;text-align:right}
.loading-overlay{position:absolute;inset:0;background:rgba(8,18,12,.98);z-index:22;display:flex;align-items:center;justify-content:center;text-align:center;transition:opacity .7s,visibility .7s}.loading-overlay.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-inner{padding:28px;max-width:430px;width:100%;display:flex;align-items:center;flex-direction:column}.loader-orb{height:73px;width:73px;margin-bottom:33px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#e4f2c0,#aacb79 42%,#476c41 74%,#1b321b 100%);box-shadow:0 0 80px #7eaa6766,0 20px 60px #020d09;animation:floatOrb 4s ease-in-out infinite}@keyframes floatOrb{50%{transform:translateY(-9px) rotate(6deg)}}.loading-kicker{color:#a1bd8c;letter-spacing:.24em;font-size:10px;margin-bottom:14px}.loading-inner strong{font-size:26px;letter-spacing:-.05em;font-weight:600}.loading-desc{font-size:12px;color:#a3b6a1;line-height:1.7;margin:14px 0 25px}.loader-track{height:2px;background:#344b3b;width:100%;max-width:225px}.loader-track i{height:100%;width:8%;background:#c4ed9d;display:block;transition:width .3s}.loading-inner .error-cta{margin-top:18px;font-size:12px;color:#dbeec2;border-bottom:1px solid #839c72;padding-bottom:4px}
.case-study{background:#e2e5d8;color:#102217;padding:clamp(78px,10vw,175px) clamp(22px,6.3vw,125px) 130px;position:relative}.case-topline{display:flex;justify-content:space-between;gap:20px;color:#4d6050;font-size:10px;letter-spacing:.19em;font-weight:700;border-bottom:1px solid #bcc6ba;padding-bottom:23px}.case-heading{padding-top:clamp(65px,10vw,160px);display:grid;grid-template-columns:minmax(0,2fr) minmax(200px,.9fr);grid-template-areas:"kick kick" "title desc";gap:10px clamp(24px,7vw,100px);align-items:end}.case-heading .mini-kicker{grid-area:kick;color:#547854}.case-heading h2{grid-area:title;font:600 clamp(52px,8vw,142px)/.95 var(--display);letter-spacing:-.095em;margin:29px 0 0}.case-heading h2 em{font-style:normal;color:#788a74}.case-description{grid-area:desc;padding-bottom:10px}.case-description p{color:#4d6253;font-size:clamp(14px,1.2vw,18px);line-height:1.85;max-width:360px}.case-lines{margin-top:clamp(90px,11vw,175px);border-top:1px solid #b4bfb4}.case-line{border-bottom:1px solid #b4bfb4;padding:32px 0;display:grid;grid-template-columns:60px 140px 1fr 105px;gap:24px;align-items:center}.case-line-n{font-size:12px;letter-spacing:.08em;color:#64806a}.case-line-icon{font-size:47px;color:#587c58;text-align:center;font-weight:300}.case-line h3{font-size:clamp(23px,3vw,38px);line-height:1.2;letter-spacing:-.045em;margin:0 0 6px;font-weight:600}.case-line p{font-size:13px;color:#536453;line-height:1.6;margin:0;max-width:530px}.case-end{text-align:right;font-size:10px;letter-spacing:.13em;color:#667c69}
.endframe{height:clamp(540px,90svh,920px);min-height:500px;background:radial-gradient(ellipse at 50% 65%,#1c3924,#0b1810 65%,#09130d);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;text-align:center}.endframe-orb{position:absolute;left:50%;top:45%;width:350px;height:350px;background:radial-gradient(circle,#bce59931,transparent 70%);transform:translate(-50%,-50%);filter:blur(20px)}.endframe>p{z-index:1;font-size:11px;letter-spacing:.3em;color:#c1d5ad}.endframe h2{z-index:1;font:700 clamp(100px,21vw,350px)/1 var(--display);letter-spacing:-.11em;margin:16px 0;color:#edf3df}.endframe h2 span{color:#a5d182}.endframe-bottom{z-index:1;position:absolute;bottom:55px;left:clamp(24px,6vw,120px);right:clamp(24px,6vw,120px);display:flex;justify-content:space-between;font-size:11px;letter-spacing:.09em;color:#a9bf9e;gap:15px}.endframe-bottom a{color:#e3ead4;border-bottom:1px solid #afc39f;padding-bottom:6px}.footer{padding:30px clamp(24px,6vw,120px);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;background:#060f0a;color:#809581;letter-spacing:.1em;font-size:10px}.footer a{color:#afc8aa}
@media(min-width:1600px){.scene-orbit,.scene-floor{left:64%}.chapter-copy{max-width:760px}}
@media(max-width:1100px){.header-center{display:none}.site-header{height:76px}.chapter-copy{width:48vw;left:5vw}.chapter-copy h1{font-size:clamp(48px,6.6vw,86px)}.bottom-ui{left:5vw;right:5vw}.serial{right:7vw}.scroll-prompt{min-width:160px}.scene-readout{display:none}}
@media(max-width:700px){.site-header{height:66px;padding:0 22px}.brand{font-size:31px}.header-actions{gap:18px}.header-actions .edition,.outline-link{display:none}.story{height:700svh}.story-sticky{background:radial-gradient(circle at 50% 37%,#1a3020,#0d1d13 52%,#07120c 100%)}.scene-glow{background:radial-gradient(ellipse 55% 28% at 50% 39%,rgba(136,178,104,.17),transparent 80%)}.scene-orbit,.scene-orbit-b{left:50%;top:37%;width:95vw}.scene-orbit-b{width:70vw}.scene-floor{left:50%;top:59%;width:90vw;height:90px}.scene-grid{background-size:65px 65px;mask-image:linear-gradient(0deg,transparent 18%,black 40%,black 58%,transparent 80%)}.serial{top:91px;right:24px;font-size:8px;gap:8px}.serial-line{width:16px}.chapter-copy{width:auto;left:24px;right:54px;top:auto;bottom:clamp(92px,13vh,150px);transform:none}.eyebrow{font-size:9px}.chapter-copy h1{font-size:clamp(47px,11vw,80px);margin:15px 0 14px;line-height:1.06;max-width:520px}.chapter-copy p{font-size:12px;line-height:1.68;max-width:340px}.copy-trail{margin-top:19px;font-size:9px}.chapter-rail{right:16px;top:39%;gap:10px}.rail-label,.rail-end{display:none}.chapter-button span{display:none}.chapter-button:after{width:15px}.chapter-button.active:after{width:26px}.bottom-ui{bottom:max(24px,env(safe-area-inset-bottom));left:24px;right:24px;gap:13px}.scroll-prompt{font-size:9px;min-width:auto;gap:10px;letter-spacing:.09em}.mouse-icon{height:24px;width:14px}.progress-rail{margin-left:auto;flex-basis:58px}.progress-value{font-size:9px}.case-study{padding:75px 25px 80px}.case-topline{font-size:9px}.case-topline span:last-child{display:none}.case-heading{display:block;padding-top:68px}.case-heading h2{font-size:clamp(54px,12vw,83px);margin:28px 0}.case-description p{max-width:460px}.case-lines{margin-top:95px}.case-line{padding:27px 0;grid-template-columns:34px 1fr;gap:10px 14px}.case-line-n{align-self:start;padding-top:5px}.case-line-icon{display:none}.case-line h3{font-size:27px}.case-line p{font-size:12px}.case-end{grid-column:2;text-align:left;font-size:9px}.endframe{height:600px;min-height:0}.endframe h2{font-size:clamp(89px,20vw,180px)}.endframe-bottom{bottom:32px;left:24px;right:24px;flex-direction:column;font-size:10px}.footer{flex-direction:column;font-size:9px;gap:10px;padding:35px 25px}}
@media(max-width:420px){.chapter-copy h1{font-size:clamp(42px,11vw,57px)}.chapter-copy{bottom:100px}.chapter-copy p{max-width:290px}.scene-orbit{top:34%}.scene-floor{top:55%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
