html,body,#root{width:100%;min-height:100%;margin:0;padding:0;overflow-x:hidden}*,:before,:after{box-sizing:border-box}body{background-color:#b9c1c5}h1,h2,li,p{color:#fff;font-family:Kanit,sans-serif}.ribbon-nav{z-index:1000;justify-content:flex-end;width:100%;display:flex;position:sticky;top:0}body{margin:0}.ribbon{color:#ffffffd9;background:#38505feb;border-bottom:1px solid #ffffff14;width:100%;padding:14px 0;box-shadow:inset 0 -1px #ffffff14}.ribbon-inner{justify-content:space-between;align-items:center;gap:20px;width:min(1120px,100%);margin:0 auto;padding:0 24px;display:flex}.ribbon h1 a{color:inherit;text-transform:uppercase;letter-spacing:.08em;text-decoration:none}.ribbon h1 a:hover,.ribbon h1 a:focus-visible{text-decoration:none}.ribbon-nav{margin-left:auto}.ribbon-nav ul{gap:16px;margin:0;padding:0;list-style:none;display:flex}.ribbon-nav a{color:#fff;padding:10px 18px;font-family:Kanit,sans-serif;font-weight:600;text-decoration:none;transition:background-color .2s,transform .2s}.ribbon-nav a:hover,.ribbon-nav a:focus-visible{background-color:#ffffff14;transform:translateY(-1px)}.ribbon-nav a:active{transform:translateY(0)}.hero{place-items:center;width:100%;min-height:520px;display:grid;position:relative;overflow:hidden}.hero-image{object-fit:cover;object-position:center;opacity:.92;width:100%;height:100%;position:absolute;inset:0;transform:scale(1.02)}.hero-overlay{background:linear-gradient(#0a0d2847 0%,#080a1dd9 100%);position:absolute;inset:0}.hero-content{z-index:1;color:#fff;width:100%;max-width:980px;padding:48px 32px;position:relative}.hero-meta{color:#fffc;letter-spacing:.2em;text-transform:uppercase;margin:0 0 18px;font-size:.85rem}.hero h2{letter-spacing:-.04em;margin:0 0 18px;font-size:clamp(2.8rem,4vw,5.2rem);line-height:.95}.hero p{color:#ffffffe6;max-width:680px;margin:0 0 28px;font-size:1.05rem;line-height:1.8}.hero-actions{flex-wrap:wrap;gap:14px;display:flex}.button{justify-content:center;align-items:center;padding:14px 24px;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,background-color .2s;display:inline-flex}.services-section{width:100%;max-width:1800px;margin:0 auto;padding:64px 24px;font-family:Kanit,sans-serif;position:relative}.services-section:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(0deg,#38505feb 1px,#0000 1px),linear-gradient(90deg,#38505feb 1px,#0000 1px);background-size:360px 360px;width:100vw;position:absolute;top:0;bottom:0;left:calc(50% - 50vw);-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.services-section>*{z-index:1;position:relative}.services-header{color:#ffffff8c;letter-spacing:.28em;text-transform:uppercase;justify-content:space-between;gap:24px;margin-bottom:22px;font-size:.8rem;display:flex}.services-intro{max-width:800px;margin-bottom:42px}.services-intro h2{margin:0 0 18px;font-size:clamp(2.6rem,4vw,4.4rem);line-height:1.02}.services-intro p{color:#ffffffc2;margin:0;line-height:1.8}.services-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;display:grid}.service-card{background-position:50%;background-size:cover;min-height:420px;padding:32px;display:grid;position:relative;overflow:hidden}.service-card--alt{min-height:360px}.service-card-overlay{background:linear-gradient(#0a0d2814 0%,#050811d1 100%);position:absolute;inset:0}.service-card-copy{flex-direction:column;align-items:flex-start;min-height:100%;display:flex;position:relative}.service-card-bottomline{text-transform:uppercase;letter-spacing:.2em;color:#ffffffb8;font-size:.75rem;display:inline-flex;position:absolute;bottom:32px}.service-card h3{color:#fff;margin:0 0 12px;font-size:clamp(1.8rem,2.3vw,2.4rem)}.service-card p{color:#ffffffc7;line-height:1.8}.about-band-section{width:100%;padding:0 24px 24px;font-family:Kanit,sans-serif}.about-band-shell{background:linear-gradient(135deg,#f4efe6 0%,#e8f0f6 100%);border:1px solid #14233f1a;border-radius:28px;grid-template-columns:1.3fr .8fr;gap:28px;width:min(1800px,100%);margin:0 auto;padding:40px 42px;display:grid;box-shadow:0 24px 70px #14233f14}.about-band-copy h2{color:#17253b;margin:10px 0 14px;font-size:clamp(2rem,3vw,2.8rem);line-height:1.08}.about-band-copy p{color:#17253bbd;margin:0;line-height:1.8}.about-band-points{align-content:center;gap:12px;display:grid}.about-band-points div{color:#17253b;letter-spacing:.04em;background:#ffffffc2;border:1px solid #14233f14;border-radius:999px;padding:12px 16px;font-weight:600}.portfolio-section{width:100%;max-width:1800px;margin:0 auto;padding:24px 24px 96px;font-family:Kanit,sans-serif}.portfolio-header{color:#38505fb3;letter-spacing:.28em;text-transform:uppercase;justify-content:space-between;gap:24px;margin-bottom:22px;font-size:.8rem;display:flex}.portfolio-intro{max-width:760px;margin-bottom:34px}.portfolio-intro h2{color:#17253b;margin:0 0 16px;font-size:clamp(2.2rem,3.2vw,3.2rem);line-height:1.08}.portfolio-intro p{color:#17253bb8;margin:0;line-height:1.8}.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.portfolio-item{background:linear-gradient(145deg,#fff 0%,#f4f8fc 100%);border:1px solid #14233f14;border-radius:24px;display:grid;overflow:hidden;box-shadow:0 24px 60px #14233f14}.portfolio-item img{object-fit:cover;width:100%;height:220px}.portfolio-copy{gap:10px;padding:24px;display:grid}.portfolio-tag{text-transform:uppercase;letter-spacing:.18em;color:#38505fbf;width:fit-content;font-size:.72rem;display:inline-flex}.portfolio-copy h3{color:#17253b;margin:0;font-size:1.35rem}.portfolio-copy p{color:#17253bb8;margin:0;line-height:1.7}.contact-page{background:radial-gradient(circle at top,#212f571f,#0000 42%),linear-gradient(#07122c 0%,#030813 100%);place-items:center;width:100%;min-height:calc(100vh - 76px);padding:80px 24px;font-family:Kanit,sans-serif;display:grid}.about-page{background:radial-gradient(circle at top,#f8fafff2,#0000 42%),linear-gradient(#f9fbff 0%,#eef4fb 100%);place-items:center;width:100%;min-height:calc(100vh - 76px);padding:80px 24px;font-family:Kanit,sans-serif;display:grid}.about-shell{background:#ffffffeb;border:1px solid #14233f14;border-radius:32px;gap:32px;width:min(980px,100%);padding:48px;display:grid;box-shadow:0 40px 90px #14233f14}.about-intro{gap:18px;display:grid}.about-intro h2{color:var(--text);margin:0;font-size:clamp(2.2rem,3.4vw,3.8rem)}.about-intro p{color:#14233fbd;margin:0;line-height:1.8}.about-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.about-grid article{background:#eff6fff2;border:1px solid #14233f14;border-radius:24px;padding:24px}.about-grid h3{color:var(--text);margin:0 0 12px}.about-grid p{color:#14233fbd;margin:0;line-height:1.8}.contact-shell{background:#040b1beb;border:1px solid #ffffff14;gap:32px;width:min(960px,100%);padding:40px;display:grid;box-shadow:0 40px 90px #00000052}.contact-intro{gap:18px;display:grid}.contact-intro h2{color:#fff;margin:0;font-size:clamp(2rem,3.4vw,3.4rem)}.contact-intro p{color:#ffffffbf;margin:0;line-height:1.8}.contact-form{gap:18px;display:grid}.contact-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.contact-form label{color:#ffffffd1;gap:8px;font-size:.95rem;display:grid}.contact-form input,.contact-form textarea{color:#fff;width:100%;font:inherit;background:#ffffff0d;border:1px solid #ffffff1f;padding:16px 18px}.contact-form textarea{resize:vertical}.contact-actions{justify-content:flex-start;display:flex}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#ffffff6b}.button-primary{color:#fff;background:#0d0c2b}.button-primary:hover,.button-primary:focus-visible{transform:translateY(-1px);box-shadow:0 18px 40px #0d0c2b40}.button-outline{color:#fff;background:#ffffff14;border:1px solid #ffffffd9}.button-outline:hover,.button-outline:focus-visible{background:#ffffff24;transform:translateY(-1px)}@media (width<=1024px){.hero{min-height:420px}.hero-content{padding:36px 24px}.services-grid{grid-template-columns:1fr}.service-card{min-height:360px}.contact-row{grid-template-columns:1fr}}@media (width<=640px){.ribbon{padding:12px 16px}.ribbon-nav ul{flex-direction:column;gap:10px}.hero{min-height:360px}.hero-content{padding:24px 18px}.hero h2{font-size:2.3rem}}.site-footer{color:#ffffffd9;background:#38505feb;border-top:1px solid #ffffff14;width:100%;padding:56px 0;font-family:Kanit,sans-serif}.footer-columns{grid-template-columns:minmax(220px,1fr) repeat(3,minmax(180px,1fr));gap:36px;width:min(1120px,100%);margin:0 auto;padding:0;display:grid}@media (width<=860px){.footer-columns{padding:0 24px}}.footer-col{display:grid}.footer-brand .footer-subtitle{letter-spacing:.24em;text-transform:uppercase;color:#fff6;margin:0 0 14px;font-size:.78rem}.footer-brand h3{letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0;font-size:2rem}.footer-heading{color:#ffffffb8;letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:.82rem}.footer-col ul{margin:0;padding:0;list-style:none;display:grid}.footer-col li{color:#ffffffb8;font-size:.96rem}.footer-col a{color:#ffffffdb;text-decoration:none}.footer-col a:hover,.footer-col a:focus-visible{color:#fff}@media (width<=860px){.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.site-footer{padding:40px 16px}.footer-columns{grid-template-columns:1fr}}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.ribbon h1{margin:0}.hero{font-family:Kanit,sans-serif}
