@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(../media/7e832ad540183e91-s.0pw-43bjt5~5_.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(../media/2094fb60fd9c8287-s.13c6n_dh74ayc.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(../media/c875c6f5d3e977ac-s.p.0g_ng0t~d_b9n.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/41e95f694c5c4549-s.0r1jrq7neqdsq.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6c55a692938ebbbc-s.0g6rbszwfgn9y.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a218039a3287bcfd-s.p.17-1enzs_j91b.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/bdc7e24a509eb931-s.0apt5mko2.qn3.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0da9c7f357bd9d4d-s.0ek5sshv8wk3m.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8e6fa89aa22d24ec-s.p.0uvzar8hswo3p.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0a7740363b4d4863-s.1110aazvokzp..woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5f9d24ebef5d5292-s.0esuu2f5si~v8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e2334d715941921e-s.p.12skym0rqknxy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b53057dbf91a7acf-s.0carvq6u72s58.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/798ea22d9983e047-s.106do9xzbuago.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/47fe1b7cd6e6ed85-s.p.0~mcdl10zdfb3.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins Fallback;src:local(Arial);ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%;size-adjust:112.16%}.poppins_3e157e41-module__euozaW__className{font-family:Poppins,Poppins Fallback;font-style:normal}.poppins_3e157e41-module__euozaW__variable{--font-poppins:"Poppins", "Poppins Fallback"}
@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/bfd813093b8ca1bb-s.p.12n410yjpb..9.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/acc5f86302586f33-s.0kxbxiu5l4e4k.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/f304c3cf3765fb5f-s.059ctrjp3m~x9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/bfd813093b8ca1bb-s.p.12n410yjpb..9.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/acc5f86302586f33-s.0kxbxiu5l4e4k.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/f304c3cf3765fb5f-s.059ctrjp3m~x9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/bfd813093b8ca1bb-s.p.12n410yjpb..9.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/acc5f86302586f33-s.0kxbxiu5l4e4k.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/f304c3cf3765fb5f-s.059ctrjp3m~x9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/bfd813093b8ca1bb-s.p.12n410yjpb..9.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/acc5f86302586f33-s.0kxbxiu5l4e4k.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/f304c3cf3765fb5f-s.059ctrjp3m~x9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai Fallback;src:local(Arial);ascent-override:99.79%;descent-override:42.32%;line-gap-override:0.0%;size-adjust:106.33%}.noto_sans_thai_74e5baf2-module__nFpKCq__className{font-family:Noto Sans Thai,Noto Sans Thai Fallback;font-style:normal}.noto_sans_thai_74e5baf2-module__nFpKCq__variable{--font-noto-thai:"Noto Sans Thai", "Noto Sans Thai Fallback"}
:root{--orvix-blue:#4f4cff;--orvix-blue-bright:#6f6bff;--orvix-violet:#8b3df0;--orvix-pink-violet:#b164ff;--ink-white:#fff;--ink-soft:#c9cdf2;--ink-muted:#8a8fc4;--bg-deep:#07060f;--ease:cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-poppins), var(--font-noto-thai), sans-serif;background:var(--bg-deep);color:var(--ink-white);flex-direction:column;min-height:100dvh;display:flex;position:relative;overflow:hidden}.bg-image{z-index:0;animation:bgDrift 32s var(--ease) infinite alternate;background:-webkit-image-set(url(/assets/bg.avif) 1x type("image/avif"),url(/assets/bg.jpg) 1x type("image/jpeg")) 50%/cover no-repeat;background:image-set("/assets/bg.avif" 1x type("image/avif"),"/assets/bg.jpg" 1x type("image/jpeg")) 50%/cover no-repeat;position:fixed;inset:0;transform:scale(1.06)}@keyframes bgDrift{0%{transform:scale(1.06)translate(0)}to{transform:scale(1.12)translate(-1.6%,-1.2%)}}.bg-veil{z-index:1;background:radial-gradient(120% 90% at 50% 38%,#07060f00 0%,#07060f59 55%,#07060fd1 100%),linear-gradient(#07060f8c 0%,#07060f0d 30% 62%,#07060fc7 100%);position:fixed;inset:0}.orb{filter:blur(80px);z-index:1;opacity:.5;pointer-events:none;border-radius:50%;position:fixed}.orb-a{background:radial-gradient(circle, var(--orvix-blue) 0%, #4f4cff00 70%);width:46vw;height:46vw;animation:orbA 26s var(--ease) infinite alternate;top:30vh;left:-10vw}.orb-b{background:radial-gradient(circle, var(--orvix-violet) 0%, #8b3df000 70%);width:38vw;height:38vw;animation:orbB 30s var(--ease) infinite alternate;top:-8vh;right:-8vw}@keyframes orbA{0%{transform:translate(0)}to{transform:translate(12vw,-8vh)}}@keyframes orbB{0%{transform:translate(0)}to{transform:translate(-10vw,10vh)}}canvas#particles{z-index:2;pointer-events:none;position:fixed;inset:0}.tech-grid{z-index:1;pointer-events:none;opacity:.7;background-image:linear-gradient(#7c7aff0d 1px,#0000 1px),linear-gradient(90deg,#7c7aff0d 1px,#0000 1px);background-size:56px 56px;animation:26s linear infinite gridDrift;position:fixed;inset:-2px;-webkit-mask-image:radial-gradient(72% 62% at 50% 42%,#000 0%,#0000 78%);mask-image:radial-gradient(72% 62% at 50% 42%,#000 0%,#0000 78%)}@keyframes gridDrift{0%{background-position:0 0,0 0}to{background-position:56px 56px,56px 56px}}.spotlight{z-index:2;pointer-events:none;filter:blur(30px);mix-blend-mode:screen;width:560px;height:560px;transform:translate3d(var(--spot-x,-300px), var(--spot-y,-300px), 0) translate(-50%, -50%);opacity:0;transition:opacity .45s var(--ease);background:radial-gradient(circle,#6f6bff2e 0%,#b164ff1a 36%,#0000 70%);border-radius:50%;position:fixed;top:0;left:0}.spotlight.is-active{opacity:1}.sheen{z-index:2;pointer-events:none;mix-blend-mode:screen;opacity:.6;background-image:repeating-linear-gradient(90deg,#ffffff03 0 1px,#0000 1px 3px);position:fixed;inset:0}.stage{z-index:3;text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;padding:56px 24px 0;display:flex;position:relative}.eyebrow{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);background:#ffffff0a;border:1px solid #ffffff29;border-radius:100px;align-items:center;gap:10px;padding:9px 18px 9px 14px;font-size:12.5px;font-weight:500;display:inline-flex}.eyebrow[lang=th]{font-family:var(--font-noto-thai), sans-serif;text-transform:none;letter-spacing:.1em;font-size:13px}.eyebrow .dot{width:8px;height:8px;animation:pulse 2.4s var(--ease) infinite;background:#5be3c0;border-radius:50%;box-shadow:0 0 #5be3c099}@keyframes pulse{0%{box-shadow:0 0 #5be3c08c}70%{box-shadow:0 0 0 10px #5be3c000}to{box-shadow:0 0 #5be3c000}}.logo-wrap{margin-top:38px;position:relative}.logo-wrap img{filter:drop-shadow(0 8px 40px #4f4cff73);width:min(400px,64vw);height:auto;transform:translate3d(var(--logo-x,0px), var(--logo-y,0px), 0);will-change:transform;display:block}.logo-shine{pointer-events:none;mix-blend-mode:screen;transform:translate3d(var(--logo-x,0px), var(--logo-y,0px), 0);animation:logoScan 5.5s var(--ease) 1.8s infinite;background:linear-gradient(#0000 44%,#96beffd9 50%,#0000 56%) 0 0/100% 240% no-repeat;position:absolute;inset:0;-webkit-mask:url(/assets/orvix-logo-white.png) 50%/contain no-repeat;mask:url(/assets/orvix-logo-white.png) 50%/contain no-repeat}@keyframes logoScan{0%{background-position:0 -70%}42%{background-position:0 170%}to{background-position:0 170%}}.logo-wrap:before{content:"";z-index:-1;width:120%;height:240%;animation:halo 5s var(--ease) infinite alternate;background:radial-gradient(#6e6bff4d 0%,#6e6bff00 60%);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes halo{0%{opacity:.55}to{opacity:1}}.tagline{letter-spacing:-.015em;text-wrap:balance;margin-top:40px;font-size:clamp(18px,2.35vw,34px);font-weight:600;line-height:1.18}.tagline .accent{background:linear-gradient(100deg, var(--orvix-blue-bright) 0%, var(--orvix-pink-violet) 28%, #79d4ff 50%, var(--orvix-pink-violet) 72%, var(--orvix-blue-bright) 100%);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:6s linear infinite accentFlow}@keyframes accentFlow{to{background-position:200%}}.tagline-th{font-family:var(--font-noto-thai), sans-serif;color:var(--ink-muted);letter-spacing:.01em;margin-top:16px;font-size:clamp(14px,1.7vw,18px);font-weight:300;line-height:1.6}.services{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted);flex-wrap:wrap;justify-content:center;gap:.7em;margin-top:18px;font-size:clamp(10.5px,1.25vw,12.5px);font-weight:500;display:flex}.services span{white-space:nowrap}.services .sep{letter-spacing:0;color:var(--orvix-pink-violet);opacity:.55}.divider{background:linear-gradient(90deg,#0000,#b164ffb3,#4f4cffb3,#0000);width:0;height:1px;margin:40px 0 0}.meta{flex-direction:column;align-items:center;gap:16px;margin-top:34px;display:flex}.contact{color:var(--ink-soft);letter-spacing:.01em;touch-action:manipulation;transition:color .2s var(--ease);border-radius:12px;align-items:center;gap:9px;padding:13px 16px;font-size:14.5px;font-weight:400;text-decoration:none;display:inline-flex}.contact svg{width:17px;height:17px;color:var(--orvix-pink-violet)}.contact:hover{color:#fff}.socials{gap:14px;display:flex}.socials a{width:46px;height:46px;color:var(--ink-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);touch-action:manipulation;transition:transform .22s var(--ease), background .22s var(--ease), border-color .22s var(--ease), color .22s var(--ease);background:#ffffff0a;border:1px solid #ffffff24;border-radius:14px;place-items:center;display:grid}.socials a svg{width:20px;height:20px}.socials a:hover{color:#fff;background:linear-gradient(135deg,#4f4cff4d,#8b3df04d);border-color:#b164ff99;transform:translateY(-4px);box-shadow:0 10px 30px #4f4cff59}.socials a:active{transform:translateY(-2px)scale(.95)}.contact:focus-visible,.socials a:focus-visible{outline:2px solid var(--orvix-pink-violet);outline-offset:3px;color:#fff}.socials a:focus-visible{background:linear-gradient(135deg,#4f4cff4d,#8b3df04d);border-color:#b164ff99}footer{z-index:3;text-align:center;letter-spacing:.04em;color:var(--ink-muted);padding:30px 24px 26px;font-size:12px;position:relative}.reveal{opacity:0;filter:blur(6px);animation:rise 1s var(--ease) forwards;transform:translateY(22px)}@keyframes rise{to{opacity:1;filter:blur();transform:translateY(0)}}.d1{animation-delay:.15s}.d2{animation-delay:.4s}.d3{animation-delay:.72s}.d4{animation-delay:.95s}.d5{animation-delay:1.15s}.d6{animation-delay:1.35s}.divider.reveal{animation:dividerGrow 1.1s var(--ease) 1.05s forwards;opacity:0}@keyframes dividerGrow{0%{opacity:0;width:0}to{opacity:1;width:min(380px,70vw)}}@media (max-width:600px){.stage{justify-content:flex-start;padding-top:14vh}.logo-wrap,.tagline{margin-top:30px}}@media (prefers-reduced-motion:reduce){.bg-image,.orb-a,.orb-b,.logo-wrap:before,.eyebrow .dot,.tech-grid,.tagline .accent{animation:none}.reveal{animation-duration:.5s}.spotlight,.logo-shine{display:none}.logo-wrap img{transform:none}}
