@font-face{font-family:Plex Thai;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/ibm-plex-sans-thai-thai-400-normal.Bt1rR4gi.woff2)format("woff2")}@font-face{font-family:Plex Thai;font-style:normal;font-weight:500;font-display:swap;src:url(/_astro/ibm-plex-sans-thai-thai-500-normal.BrMc1XKn.woff2)format("woff2")}@font-face{font-family:Plex Thai;font-style:normal;font-weight:600;font-display:swap;src:url(/_astro/ibm-plex-sans-thai-thai-600-normal.DvfsyWAn.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_astro/plus-jakarta-sans-latin-600-normal.DLTa1BUW.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_astro/plus-jakarta-sans-latin-700-normal.CfpNZvy6.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/inter-latin-400-normal.C38fXH4l.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_astro/inter-latin-500-normal.Cerq10X2.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_astro/jetbrains-mono-latin-500-normal.BWZEU5yA.woff2)format("woff2")}:root{--space-950:#070a14;--space-900:#0a0e1a;--navy:#10254a;--blue:#176bff;--cyan:#22d3ee;--violet:#a78bfa;--indigo:#5b5cf6;--ink:#f5f7ff;--body:#a9b1d6;--muted:#8b93b8;--line:#a7b8e82e;--header-h:4.6rem;--grad:linear-gradient(135deg, #176bff 0%, #5b5cf6 42%, #22d3ee 100%);color-scheme:dark}*,:before,:after{box-sizing:border-box}html{background:var(--space-950);scroll-behavior:smooth}html[lang=th]{font-size:17px}html[lang=en]{font-size:18px}body{min-height:100vh;color:var(--body);background:radial-gradient(900px 420px at 80% -10%, #176bff2e, transparent 60%), var(--space-900);text-rendering:optimizelegibility;margin:0;font-family:Plex Thai,Inter,Noto Sans Thai,sans-serif;font-weight:400;line-height:1.75}html[lang=en] body{font-family:Inter,Plex Thai,sans-serif;line-height:1.7}h1,h2,h3,.display{color:var(--ink);text-wrap:balance;font-family:Plus Jakarta Sans,Plex Thai,sans-serif;font-weight:700;line-height:1.15}html[lang=th] h1,html[lang=th] h2{font-weight:600;line-height:1.32}html[lang=en] h1,html[lang=en] h2{letter-spacing:-.035em}p{text-wrap:pretty}img{max-width:100%;height:auto}a{color:var(--cyan)}:focus{outline:none}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}::selection{color:#fff;background:#176bff}.skip-link{z-index:80;background:var(--cyan);color:var(--space-950);border-radius:999px;padding:.7rem 1rem;font-weight:600;text-decoration:none;position:absolute;top:.75rem;left:1rem;transform:translateY(-160%)}.skip-link:focus{transform:none}.wrap{width:min(100% - 2rem,72rem);margin-inline:auto}.mono{letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.72rem;font-weight:500}.grad{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.site-header{z-index:40;height:var(--header-h);backdrop-filter:blur(16px);background:#0a0e1a73;border-bottom:1px solid #0000;align-items:center;transition:background .2s,border-color .2s;display:flex;position:sticky;top:0}.site-header.is-scrolled{border-bottom-color:var(--line);background:#0a0e1aeb}.header-inner{align-items:center;gap:.75rem;width:min(100% - 2rem,76rem);margin-inline:auto;display:flex}.brand{align-items:center;min-height:44px;display:flex}.brand img{width:auto;height:36px;display:block}.header-tools{align-items:center;gap:.4rem;margin-inline-start:auto;display:flex}.nav-toggle{border:1px solid var(--line);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .85rem;font-weight:600;list-style:none;display:inline-flex}.nav-toggle::-webkit-details-marker{display:none}.nav-bars,.nav-bars:before,.nav-bars:after{content:"";background:currentColor;width:.95rem;height:1.5px;display:block}.nav-bars{position:relative}.nav-bars:before,.nav-bars:after{position:absolute;left:0}.nav-bars:before{top:-5px}.nav-bars:after{top:5px}.primary-nav{display:none}.primary-nav a,.mega>summary{color:var(--ink);align-items:center;min-height:44px;font-weight:600;text-decoration:none;display:inline-flex}.primary-nav a[aria-current=page]{color:var(--cyan)}.mega>summary{cursor:pointer;gap:.35rem;list-style:none}.mega>summary::-webkit-details-marker{display:none}.mega>summary:after{content:"";border:1.5px solid;border-width:0 1.5px 1.5px 0;width:.4rem;height:.4rem;transform:rotate(45deg)translateY(-2px)}.mega-panel{border:1px solid var(--line);background:#10254af5;border-radius:1.1rem;gap:.75rem;padding:.85rem;display:none;box-shadow:0 24px 60px #00000059}.mega-links{gap:.45rem;display:grid}.mega-links a{min-height:44px;color:var(--ink);border-radius:.8rem;gap:.15rem;padding:.7rem .8rem;text-decoration:none;display:grid}.mega-links a:hover{background:#176bff29}.mega-links small{color:var(--body);font-weight:400;line-height:1.45}.mega-aside{background:#070a1473;border-radius:.9rem;align-content:start;gap:.55rem;padding:.9rem;display:grid}.mega-aside p{margin:0}.lang{border:1px solid var(--line);border-radius:999px;padding:.15rem;display:inline-flex}.lang a{min-width:44px;min-height:36px;color:var(--ink);border-radius:999px;justify-content:center;align-items:center;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-flex}.lang a[aria-current=true]{background:var(--navy);color:var(--cyan)}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;min-height:48px;padding:.7rem 1.15rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.button .arrow{transition:transform .2s}.button-primary{background:var(--cyan);color:#071018}.button-primary:hover{color:#071018;background:#67e8f9}.button-ghost{color:var(--ink);background:0 0;border-color:#a9b1d673}.button-ghost:hover{color:var(--ink);background:#10254acc}@media (prefers-reduced-motion:no-preference){.button:hover .arrow{transform:translate(4px)}}.header-cta{display:none}.hero{padding:2.2rem 0 3rem;position:relative;overflow:hidden}.hero-bg{pointer-events:none;position:absolute;inset:0}.hero-aurora,.hero-orbit{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-aurora{opacity:.85}.hero-orbit{object-fit:contain;object-position:right center;opacity:.92;width:min(82%,920px);height:100%;margin-left:auto;inset:0 0 0 auto}.hero-fade{background:linear-gradient(90deg,#0a0e1af0 0%,#0a0e1ab8 34%,#0a0e1a2e 62%,#0a0e1a6b 100%);position:absolute;inset:0}.hero-layout{z-index:1;align-items:center;gap:1.5rem;display:grid;position:relative}.eyebrow{color:var(--cyan);border:1px solid #22d3ee59;border-radius:999px;align-items:center;gap:.5rem;margin:0 0 .9rem;padding:.35rem .7rem;display:inline-flex}.eyebrow:before{content:"";background:var(--cyan);width:.45rem;height:.45rem;box-shadow:0 0 10px var(--cyan);border-radius:50%}h1{max-width:14em;margin:0;font-size:clamp(2.15rem,1.1rem + 3.4vw,3.7rem)}.lede{max-width:40rem;margin:1rem 0 0;font-size:1.05rem}.actions{flex-wrap:wrap;gap:.7rem;margin-top:1.4rem;display:flex}.system-card{backdrop-filter:blur(16px);background:#10254a8c;border-radius:1.25rem;padding:1.15rem 1.1rem 1.2rem;position:relative;box-shadow:0 24px 60px #00000047}.system-card:before{content:"";border-radius:inherit;background:var(--grad);-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.system-top{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;display:flex}.system-top img{width:36px;height:36px}.pipeline{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.pipeline li{border:1px solid var(--line);min-height:48px;color:var(--ink);background:#070a1459;border-radius:.8rem;align-items:center;gap:.75rem;padding:.45rem .7rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.92rem;display:flex}.node-dot{background:#31406e;border-radius:50%;flex:none;width:.7rem;height:.7rem;box-shadow:0 0 0 4px #176bff14}.pipeline li span.idx{color:var(--muted);width:1.4rem}.band{border-block:1px solid var(--line);background:#070a148c;padding:1rem 0 1.15rem}.band-label{color:var(--muted);margin:0 0 .75rem}.marquee{overflow:hidden}.marquee-track{gap:.6rem;width:max-content;display:flex}.chip{border:1px solid var(--line);color:var(--ink);background:#10254a73;border-radius:999px;flex:none;padding:.45rem .8rem;font-size:.92rem}.commitments{flex-wrap:wrap;gap:.5rem;margin-top:.85rem;display:flex}.commitments li{color:var(--ink);background:#176bff1f;border-radius:999px;padding:.4rem .75rem;font-size:.92rem;font-weight:600;list-style:none}.section{padding-block:clamp(3.2rem,7vw,6.2rem)}.section-head{max-width:40rem;margin-bottom:1.6rem}.section-head h2,.block-title{margin:0;font-size:clamp(1.7rem,1.2rem + 1.6vw,2.6rem)}.kicker{color:var(--cyan);margin:0 0 .55rem}.pairs{gap:.8rem;display:grid}.pair{border:1px solid var(--line);background:#10254a73;border-radius:1rem;gap:.35rem;padding:1rem 1.05rem;display:grid}.pair strong{color:var(--ink)}.pair span{color:var(--cyan)}.bento{gap:.9rem;display:grid}.svc-card{background:var(--navy);border:1px solid #1c3a6ee6;border-radius:1.4rem;flex-direction:column;align-items:flex-start;min-height:100%;padding:1.25rem 1.15rem 1.2rem;display:flex;position:relative;overflow:hidden}.svc-card:before{content:"";background:var(--img) center/cover no-repeat;opacity:0;transition:opacity .2s;position:absolute;inset:0}.svc-cloud{--img:url(/images/services/svc-01-cloud.webp)}.svc-data{--img:url(/images/services/svc-02-data.webp)}.svc-sales{--img:url(/images/services/svc-03-sales.webp)}.svc-security{--img:url(/images/services/svc-04-security.webp)}.svc-software{--img:url(/images/services/svc-05-fullstack.webp)}.svc-ai{--img:url(/images/services/svc-06-ai.webp)}.catalog{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.catalog li{border:1px solid var(--line);background:#10254a9e;border-radius:1.25rem;flex-direction:column;align-items:stretch;gap:0;min-height:100%;margin:0;padding:0;display:flex;overflow:hidden}.catalog-art{object-fit:cover;object-position:center;width:100%;height:168px;display:block}.catalog-copy{flex-direction:column;flex:1;align-items:flex-start;gap:.65rem;padding:1rem 1.15rem 1.15rem;display:flex}.catalog h2{margin:0;font-size:clamp(1.4rem,1.05rem + .8vw,1.85rem)}.catalog p{margin:0}.catalog .text-link{margin-top:auto}.catalog-section{padding-top:.5rem}.cap-grid{gap:.7rem;margin-top:.8rem;display:grid}.cap-grid article{border:1px solid var(--line);background:#070a1447;border-radius:.95rem;padding:.9rem .95rem}.cap-grid h4{color:var(--ink);margin:0 0 .3rem;font-size:1.02rem}.cap-grid p{margin:0}.svc-card>*{z-index:1;position:relative}.svc-card h3{margin:.8rem 0 .4rem;font-size:1.35rem}.svc-card p{margin:0}.svc-card ul{margin:.8rem 0 1rem;padding:0;list-style:none}.svc-card li{margin:.3rem 0;padding-left:.9rem;position:relative}.svc-card li:before{content:"";background:var(--cyan);border-radius:50%;width:.35rem;height:.35rem;position:absolute;top:.65em;left:0}.icon{width:42px;height:42px;color:var(--cyan);background:#22d3ee14;border:1px solid #22d3ee40;border-radius:.8rem;place-items:center;display:grid}.text-link{text-underline-offset:.2em;margin-top:auto;font-weight:700}.modes{gap:1rem;display:grid}.mode-tabs{gap:.4rem;display:flex}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.mode-tabs label{border:1px solid var(--line);min-height:48px;color:var(--body);cursor:pointer;border-radius:999px;padding:.6rem 1rem;font-weight:700}.mode-panel{background:linear-gradient(160deg, #176bff29, #10254a33), var(--navy);border:1px solid var(--line);border-radius:1.25rem;padding:1.3rem 1.2rem}.mode-panel h3{margin:0 0 .4rem}.mode-panel ul{margin:.8rem 0 0;padding-left:1.1rem}#mode-strategy:checked~.mode-tabs label[for=mode-strategy],#mode-build:checked~.mode-tabs label[for=mode-build]{background:var(--cyan);color:#071018;border-color:#0000}.mode-strategy,.mode-build{display:none}#mode-strategy:checked~.mode-strategy,#mode-build:checked~.mode-build{display:block}.model{align-items:center;gap:1.2rem;display:grid}.model-visual{border:1px solid var(--line);background:#070a14;border-radius:1.4rem;overflow:hidden}.model-visual img{width:100%;height:auto;display:block}.orbits{gap:.75rem;display:grid}.orbit{border:1px solid var(--line);background:#10254a66;border-radius:1rem;padding:1rem 1rem 1.05rem}.orbit h3{margin:.2rem 0}.orbit p{margin:0}.steps{gap:0;margin:0;padding:0;list-style:none;display:grid}.steps li{border-top:1px solid var(--line);grid-template-columns:auto 1fr;gap:.8rem 1rem;padding:1.05rem 0;display:grid}.num{color:var(--cyan);font-family:JetBrains Mono,ui-monospace,monospace;font-weight:500}.steps h3{margin:0;font-size:1.15rem}.steps p{margin:.25rem 0 0}.use-row{scroll-snap-type:x mandatory;gap:.8rem;padding-bottom:.4rem;display:flex;overflow-x:auto}.use-card{scroll-snap-align:start;border:1px solid var(--line);background:#10254ab8;border-radius:1.1rem;flex:0 0 min(18.5rem,82vw);padding:1.05rem}.use-card h3{margin:0 0 .4rem;font-size:1.1rem}.use-card p{margin:0}.note{color:var(--muted);margin:.8rem 0 0;font-size:.92rem}.why{gap:.8rem;display:grid}.why article{border:1px solid var(--line);background:#10254a8c;border-radius:1.1rem;padding:1.05rem 1rem}.why h3{margin:0 0 .35rem;font-size:1.12rem}.why p{margin:0}.why .featured{background:linear-gradient(160deg, #176bff38, #22d3ee14), var(--navy)}.faq{gap:.55rem;display:grid}.faq details{border:1px solid var(--line);background:#10254a66;border-radius:.9rem;padding:.35rem .95rem}.faq summary{cursor:pointer;min-height:48px;color:var(--ink);align-items:center;font-weight:600;display:flex}.faq p{margin:0 0 .8rem}.cta-band{border-radius:1.5rem;align-content:center;min-height:16rem;padding:clamp(1.6rem,4vw,2.8rem);display:grid;position:relative;overflow:hidden}.cta-band img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.cta-band .veil{background:linear-gradient(90deg,#070a14e0,#070a1473);position:absolute;inset:0}.cta-band .cta-copy{z-index:1;max-width:38rem;position:relative}.cta-band h2{margin:0}.cta-band p{color:var(--ink);margin:.7rem 0 0}.cta-wrap{padding-bottom:clamp(3rem,6vw,5rem)}.page-hero{padding:2.4rem 0 .5rem}.page-hero h1{max-width:16em}.pillar{border-top:1px solid var(--line);scroll-margin-top:calc(var(--header-h) + .6rem);gap:1rem;padding-block:2rem;display:grid}.pillar img{object-fit:cover;object-position:center;border:1px solid var(--line);border-radius:1.1rem;width:100%;height:min(22rem,52vw)}.pillar h2{margin:.4rem 0}.checks{margin:.4rem 0 0;padding:0;list-style:none}.checks li{margin:.35rem 0;padding-left:1.1rem;position:relative}.checks li:before{content:"";background:var(--blue);border-radius:50%;width:.4rem;height:.4rem;position:absolute;top:.65em;left:0}.models{gap:.75rem;display:grid}.models article{border:1px solid var(--line);background:#10254a80;border-radius:1rem;padding:1rem}.models h3{margin:0 0 .3rem}.contact-grid{gap:1rem;padding-bottom:3rem;display:grid}.form-card,.side-card{border-radius:1.25rem;padding:1.15rem}.form-card{color:#1c2438;background:#f6f8fc}.form-card h2,.form-card label{color:#10254a}.form-card p,.form-card .hint{color:#3d4866}.fields{gap:.75rem;display:grid}label{gap:.3rem;font-weight:600;display:grid}input,select,textarea{color:#10254a;width:100%;min-height:48px;font:inherit;background:#fff;border:1px solid #c9d2e6;border-radius:.8rem;padding:.65rem .75rem}textarea{resize:vertical;min-height:8rem}.check{align-items:flex-start;gap:.6rem;font-weight:500;display:flex}.check input{width:1.1rem;height:1.1rem;margin-top:.25rem}.side-card{border:1px solid var(--line);background:#10254ab8}.side-card h2{margin:0 0 .4rem;font-size:1.05rem}.email-line{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.email-line a{overflow-wrap:anywhere;font-weight:700}.copy{border:1px solid var(--line);min-height:40px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .8rem;font-weight:600}.copy .copied,.copy[data-copied=true] .idle{display:none}.copy[data-copied=true] .copied{display:inline}.next{margin:0;padding-left:1.1rem}.next li{margin:.35rem 0}.prose{max-width:42rem}.prose h2{margin:1.6rem 0 .4rem;font-size:1.35rem}.prose p{margin:0}.missing{max-width:36rem;padding:4rem 0 5rem}.site-footer{border-top:1px solid var(--line);padding:2rem 0 2.4rem}.footer-grid{gap:1.3rem;display:grid}.footer-grid h2{margin:0 0 .4rem;font-size:.95rem}.footer-grid ul{margin:0;padding:0;list-style:none}.footer-grid a{color:var(--body);align-items:center;min-height:40px;text-decoration:none;display:inline-flex}.footer-grid a:hover{color:var(--ink)}.footer-brand p{max-width:24rem;margin:.7rem 0 0}.copyright{color:var(--muted);margin:1.2rem 0 0;font-size:.92rem}@media (width>=720px){.wrap{width:min(100% - 3rem,72rem)}.pairs{grid-template-columns:1fr}.why{grid-template-columns:1fr 1fr}.why .featured{grid-column:1/-1}.models{grid-template-columns:repeat(3,1fr)}.contact-grid,.model,.pillar{grid-template-columns:1.1fr .9fr}.footer-grid{grid-template-columns:1.4fr .8fr .8fr 1fr}}@media (width>=980px){.nav-drawer{display:none}.primary-nav{align-items:center;gap:.35rem;display:flex}.header-cta{display:inline-flex}.mega{position:relative}.mega-panel{z-index:30;grid-template-columns:1.4fr .8fr;width:min(46rem,70vw);position:absolute;top:calc(100% + .7rem);left:0}.mega:hover .mega-panel,.mega:focus-within .mega-panel,.mega[open] .mega-panel{display:grid}.hero{align-items:center;min-height:calc(100svh - 1rem);display:grid}.hero-layout{grid-template-columns:1.15fr .85fr;gap:2rem}.bento,.cap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog{grid-template-columns:1fr 1fr}.steps-row{grid-template-columns:repeat(5,minmax(0,1fr))}.steps-row li{border-top:0;border-left:1px solid var(--line);padding:0 .9rem;display:block}.steps-row li:first-child{border-left:0;padding-left:0}.primary-nav>.button{display:none}}@media (width<=979px){.nav-drawer[open]+.primary-nav{z-index:30;inset-inline:0;top:var(--header-h);border-bottom:1px solid var(--line);background:#0a0e1afa;gap:.15rem;padding:.4rem 1rem 1rem;display:grid;position:absolute}.mega-panel{margin:.3rem 0 .6rem;display:grid}.mega[open] .mega-panel{display:grid}.mega:not([open]) .mega-panel{display:none}.primary-nav>a,.mega>summary{width:100%}}@media (prefers-reduced-motion:no-preference){.hero-aurora{animation:20s ease-in-out infinite alternate drift}.node-dot{animation:12s linear infinite node}.pipeline li:nth-child(2) .node-dot{animation-delay:2.4s}.pipeline li:nth-child(3) .node-dot{animation-delay:4.8s}.pipeline li:nth-child(4) .node-dot{animation-delay:7.2s}.pipeline li:nth-child(5) .node-dot{animation-delay:9.6s}.marquee-track{animation:42s linear infinite ticker}.marquee:hover .marquee-track{animation-play-state:paused}.svc-card:hover,.catalog li:hover{transform:translateY(-6px);box-shadow:0 18px 40px #00000047}.svc-card:hover:before{opacity:.22}.why article:hover,.use-card:hover,.pair:hover{transform:translateY(-4px)}.why article,.use-card,.pair,.svc-card,.catalog li{transition:transform .2s,box-shadow .2s}@supports (animation-timeline:view()){.rise{animation:both rise view();animation-range:entry entry 28%}}}@keyframes drift{0%{transform:translate(-1.5%,-1%)scale(1.04)}to{transform:translate(1.5%,1%)scale(1.08)}}@keyframes node{0%,12%{background:var(--cyan);box-shadow:0 0 14px var(--cyan)}20%,to{background:#31406e;box-shadow:0 0 0 4px #176bff14}}@keyframes ticker{to{transform:translate(-50%)}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-orbit{transform:none}}@media print{.site-header,.hero-bg,.cta-band img,.nav-toggle{display:none!important}body{color:#000;background:#fff}a{text-decoration:underline}}
