:root{--bg-deep:#050505;--bg-charcoal:#0b0b12;--bg-purpleblack:#12061f;--p-neon:#a855f7;--p-glow:#c026ff;--p-soft:#9333ea;--p-dark:#6d28d9;--a-shine:#e879f9;--a-lavender:#d8b4fe;--t-head:#fff;--t-soft:#e5e7eb;--t-gray:#9ca3af;--glow:0 0 20px #a855f7a6,0 0 40px #c026ff8c;--card-border:#a855f759;--bg-gradient:linear-gradient(135deg,var(--bg-deep),var(--bg-purpleblack),var(--bg-deep))}*{box-sizing:border-box}body,html{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#050505,#12061f,#050505);background:var(--bg-gradient);color:#e5e7eb;color:var(--t-soft);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,Apple Color Emoji,Segoe UI Emoji;margin:0}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.appRoot{min-height:100vh;position:relative}body.has-splash-cursor,body.has-splash-cursor *{cursor:none!important}.cursor-dot{background:radial-gradient(circle at 35% 35%,#fff,#d8b4fe 45%,#a855f7 100%);border-radius:999px;box-shadow:0 0 20px #a855f7a6;height:14px;left:-100px;opacity:0;pointer-events:none;position:fixed;top:-100px;transform:translate(-50%,-50%);transition:opacity .12s ease;width:14px;z-index:9999}.edgeGlow{--edge-x:50%;--edge-y:50%;--edge-opacity:0;isolation:isolate;position:relative}.edgeGlow:after{background:radial-gradient(250px 250px at var(--edge-x) var(--edge-y),#22d3eeeb 0,#c026ffd1 30%,#a855f794 54%,#d8b4fe3d 70%,#0000 82%);border-radius:inherit;content:"";filter:saturate(1.22) blur(.2px);inset:-2px;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;opacity:var(--edge-opacity);padding:2px;pointer-events:none;position:absolute;transition:opacity .14s ease;z-index:2}.globalBg{inset:0;pointer-events:none;position:fixed;z-index:0}.globalBg:before{animation:bgShift 16s ease-in-out infinite alternate;background:radial-gradient(900px 500px at 15% 20%,#a855f72e,#0000 62%),radial-gradient(850px 520px at 78% 30%,#c026ff24,#0000 64%),radial-gradient(720px 480px at 70% 85%,#22d3ee14,#0000 60%),linear-gradient(135deg,#050505,#12061f,#050505);content:"";filter:saturate(1.05);inset:-30%;position:absolute}.globalBg:after{animation:bgTwinkle 6.5s ease-in-out infinite;background:radial-gradient(1px 1px at 10% 30%,#d8b4fe8c,#0000 2px),radial-gradient(1px 1px at 22% 16%,#d8b4fe66,#0000 2px),radial-gradient(1px 1px at 38% 28%,#d8b4fe73,#0000 2px),radial-gradient(1px 1px at 60% 20%,#d8b4fe73,#0000 2px),radial-gradient(1px 1px at 78% 30%,#d8b4fe73,#0000 2px),radial-gradient(1px 1px at 88% 18%,#d8b4fe59,#0000 2px);content:"";inset:0;mix-blend-mode:screen;opacity:.75;position:absolute}.scrollReveal{filter:blur(.5px);opacity:0;transform:translate3d(0,18px,0) scale(.992);transition:opacity .34s ease,transform .34s cubic-bezier(.22,1,.36,1),filter .34s ease;transition-delay:0ms;transition-delay:var(--reveal-delay,0ms)}.scrollReveal.isVisible{filter:blur(0);opacity:1;transform:translateZ(0) scale(1)}.appRoot>:not(.globalBg){position:relative;z-index:1}.aboutSection:before,.contactSection:before,.projectsSection:before,.skillsSection:before,.testimonialsSection:before{display:none}@keyframes bgShift{0%{transform:translate3d(-2%,-2%,0) scale(1.02)}to{transform:translate3d(2%,2%,0) scale(1.06)}}@keyframes bgTwinkle{0%,to{opacity:.55}50%{opacity:.9}}.nav{animation:navFloat 4.8s ease-in-out infinite;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(180deg,#110d1cf5,#0d0a16eb);border:1px solid #d8b4fe29;border-radius:999px;box-shadow:inset 0 1px 0 #ffffff14,0 14px 30px #00000059;display:inline-flex;gap:34px;left:50%;padding:8px 10px 8px 24px;position:fixed;top:20px;transform:translateX(-50%);white-space:nowrap;z-index:10020}.nav,.nav-logo{align-items:center}.nav-logo{display:flex;flex:0 0 auto;height:44px;overflow:hidden;width:70px}.nav-logo img{display:block;height:100%;object-fit:contain;object-position:center;width:100%}.nav-links{display:flex;gap:26px}.nav-links a{color:#ffffffad;font-size:14px;font-weight:500;position:relative;text-decoration:none;transition:color .2s ease,opacity .2s ease}.nav-links a:after{background:linear-gradient(90deg,#a855f733,#d8b4fe,#a855f733);border-radius:999px;bottom:-8px;content:"";height:2px;left:0;position:absolute;right:0;transform:scaleX(0);transform-origin:center;transition:transform .18s ease}.nav-links a:focus-visible,.nav-links a:hover{color:#fff}.nav-links a:focus-visible:after,.nav-links a:hover:after{transform:scaleX(1)}.nav-cta{background:linear-gradient(180deg,#8f46ff,#7f3df0);border:none;border-radius:999px;box-shadow:inset 0 1px 0 #fff3,0 8px 22px #8f46ff61;color:#fff;cursor:pointer;font-family:Jost,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1;padding:13px 30px;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.nav-cta:hover{box-shadow:inset 0 1px 0 #ffffff47,0 10px 28px #8f46ff85;filter:brightness(1.06);transform:translateY(-1px)}@media (max-width:1024px){.nav{gap:22px;padding:8px 8px 8px 16px}.nav-logo{height:42px;width:66px}.nav-links a{font-size:13px}.nav-cta{font-size:15px;padding:11px 22px}}@media (max-width:760px){.nav-links{display:none}.nav-logo{height:42px;width:66px}.nav-cta{font-size:18px;padding:10px 18px}}@keyframes navFloat{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-3px)}}.hero{align-items:center;display:flex;min-height:100vh;overflow:hidden;padding-top:96px;position:relative}.heroBg{background:radial-gradient(900px 500px at 18% 35%,#a855f738,#0000 60%),radial-gradient(800px 480px at 72% 42%,#c026ff2e,#0000 55%),radial-gradient(1px 1px at 10% 30%,#d8b4feb3,#0000 2px),radial-gradient(1px 1px at 22% 16%,#d8b4fe80,#0000 2px),radial-gradient(1px 1px at 38% 28%,#d8b4fe8c,#0000 2px),radial-gradient(1px 1px at 60% 20%,#d8b4fe8c,#0000 2px),radial-gradient(1px 1px at 78% 30%,#d8b4fe8c,#0000 2px),radial-gradient(1px 1px at 88% 18%,#d8b4fe73,#0000 2px);inset:0;opacity:1;pointer-events:none;position:absolute}.heroInner{grid-gap:56px;align-items:stretch;display:grid;gap:56px;grid-template-columns:1.05fr .95fr;margin:0 auto;padding:80px 0;position:relative;width:min(1200px,calc(100% - 48px))}.heroLeft{display:flex;flex-direction:column;gap:28px;justify-content:space-between;min-height:100%;padding-top:10px}.heroTop{display:block}.heroPill{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b0b128c;border:1px solid #d8b4fe38;border-radius:999px;box-shadow:0 0 24px #a855f71f;color:#d8b4fef2;display:inline-flex;font-size:12px;gap:10px;letter-spacing:.12em;padding:10px 16px;text-transform:uppercase}.heroPillDot{background:radial-gradient(circle at 30% 30%,var(--a-lavender),var(--p-glow));border-radius:99px;box-shadow:var(--glow);height:14px;width:14px}.heroTitle{color:var(--t-head);font-size:clamp(44px,5.6vw,76px);letter-spacing:-.03em;line-height:1.03;margin:18px 0 10px}.heroTitleGrad{-webkit-text-fill-color:#0000;background:linear-gradient(180deg,#fff 0,var(--a-lavender) 26%,var(--p-neon) 55%,var(--p-glow) 100%);-webkit-background-clip:text;background-clip:text}.heroSubtitle{color:#e5e7ebd1;font-size:18px;line-height:1.6;margin:0;max-width:520px}.heroAccent{color:var(--p-neon);text-shadow:0 0 18px #a855f752}.heroCtas{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-top:26px}.btnGhost,.btnPrimary{align-items:center;border-radius:14px;display:inline-flex;font-weight:600;gap:12px;height:52px;padding:0 22px;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;will-change:transform}.btnPrimary{background:linear-gradient(135deg,var(--p-soft),var(--p-glow));border:1px solid #d8b4fe38;box-shadow:0 0 24px #9333ea59,0 0 44px #c026ff38;color:#fff}.btnPrimary:hover{box-shadow:0 0 28px #a855f77a,0 0 64px #c026ff40;transform:translateY(-2px)}.btnGhost{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b0b1273;border:1px solid #d8b4fe38;box-shadow:0 0 26px #a855f71f;color:#e5e7ebeb}.btnGhost:hover{border-color:#a855f773;box-shadow:0 0 30px #a855f733;transform:translateY(-2px)}.btnIcon{align-items:center;background:#a855f71f;border:1px solid #a855f766;border-radius:999px;display:inline-flex;height:24px;justify-content:center;width:24px}.statsCard{grid-gap:18px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b0b1280;border:1px solid var(--card-border);border-radius:18px;box-shadow:0 0 40px #a855f71f;display:grid;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:30px;padding:18px}.stat{align-items:center;border-right:1px solid #d8b4fe14;display:flex;gap:12px;padding:10px 8px}.stat:last-child{border-right:none}.statIcon{background:radial-gradient(circle at 30% 30%,#a855f740,#0b0b1240);border:1px solid #a855f759;border-radius:999px;box-shadow:0 0 22px #a855f71f;color:#d8b4fef2;display:grid;height:44px;place-items:center;width:44px}.statNum{color:var(--t-head);font-size:26px;font-weight:800;line-height:1}.statLabel{color:#9ca3afeb;font-size:12px;margin-top:4px}.heroRight{align-items:stretch;display:flex;justify-content:center;padding-top:10px}.heroRight,.heroScene{height:100%;position:relative}.heroScene{border-radius:28px;min-height:min(620px,72vh);width:100%}.heroPlanet{aspect-ratio:1/1;background:radial-gradient(circle at 30% 30%,#d8b4febf,#a855f714 55%,#05050500 72%),radial-gradient(circle at 60% 55%,#c026ff73,#05050500 65%);box-shadow:0 0 65px #a855f738,0 0 120px #c026ff29;filter:blur(.2px);inset:40px 70px auto auto;opacity:.95;width:min(420px,60vw)}.heroOrbital,.heroPlanet{border-radius:999px;position:absolute}.heroOrbital{border:2px solid #a855f738;filter:drop-shadow(0 0 18px rgba(168,85,247,.25));height:min(360px,52vw);inset:78px 20px auto auto;transform:rotate(-12deg);width:min(520px,70vw)}.heroPortraitWrap{bottom:0;display:grid;place-items:stretch stretch;pointer-events:none;position:absolute;right:28px;top:0;width:min(420px,62vw)}.heroPortrait{border-radius:26px;filter:drop-shadow(0 0 42px rgba(168,85,247,.18));height:100%;object-fit:cover;object-position:50% 20%;opacity:.98;width:100%}.heroPortraitFallback{background:radial-gradient(320px 320px at 45% 25%,#d8b4fe33,#0000 60%),linear-gradient(180deg,#0b0b1259,#0b0b12a6),radial-gradient(circle at 40% 30%,#a855f72e,#0000 60%);border:1px solid #d8b4fe29;border-radius:26px;box-shadow:0 0 44px #a855f71f;inset:0;position:absolute}.floatCard{animation:floatY 5.6s ease-in-out infinite;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b0b127a;border:1px solid #d8b4fe38;border-radius:18px;box-shadow:0 0 24px #a855f726;height:162px;position:absolute;transform:translateZ(0);width:140px}.floatCard:before{animation:glowPulse 3.8s ease-in-out infinite;background:linear-gradient(135deg,#9333ea40,#c026ff40);border-radius:18px;content:"";filter:blur(10px);inset:-1px;opacity:.65;position:absolute;z-index:0}.floatCardInner{grid-gap:10px;display:grid;gap:10px;height:100%;padding:18px 14px 16px;place-items:center;position:relative;z-index:1}.floatLogo{display:block;filter:drop-shadow(0 0 14px rgba(168,85,247,.35));height:48px;width:48px}.floatLabel{color:#e5e7ebe6;font-weight:600}.floatCardFlutter{right:-10px;top:40px}.floatCardReact{animation-delay:1.2s;bottom:90px;right:-18px}.floatCardFlutter .floatCardInner,.floatCardReact .floatCardInner{transform:none}.flutterFloat{animation:logoTilt 3.6s ease-in-out infinite}.reactSpin{animation:reactSpin 10s linear infinite}.codeCard{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b0b128c;border:1px solid #d8b4fe2e;border-radius:18px;bottom:-22px;box-shadow:0 0 40px #a855f72e;overflow:hidden;position:absolute;right:120px;width:min(390px,54vw)}.codeTop{align-items:center;background:#05050559;border-bottom:1px solid #d8b4fe1a;display:flex;gap:8px;height:36px;padding:0 14px}.dot{border-radius:99px;height:10px;width:10px}.dotRed{background:#ff5f56}.dotYellow{background:#ffbd2e}.dotGreen{background:#27c93f}.codeBlock{color:#e5e7ebdb;font-size:13px;line-height:1.55;margin:0;padding:14px 16px 16px}.codeKw{color:#a855f7f2}.codeId{color:#d8b4fef2}.codeOp{color:#e5e7eba6}.codeStr{color:#e879f9f2}.heroWave{background:radial-gradient(900px 420px at 45% 65%,#a855f747,#0000 72%),radial-gradient(760px 360px at 65% 35%,#c026ff29,#0000 70%),linear-gradient(90deg,#c026ff00,#c026ff2e 35%,#a855f71a 60%,#c026ff00);inset:0;-webkit-mask-image:linear-gradient(0deg,#000 12%,#000c 45%,#0000);mask-image:linear-gradient(0deg,#000 12%,#000c 45%,#0000);opacity:1;pointer-events:none;position:absolute;z-index:0}.heroWave:before{background:repeating-linear-gradient(90deg,#d8b4fe1f 0 1px,#0000 1px 14px),repeating-linear-gradient(0deg,#a855f717 0 1px,#0000 1px 14px);content:"";filter:drop-shadow(0 0 30px rgba(168,85,247,.2));inset:0;opacity:.55;position:absolute;transform:perspective(600px) rotateX(55deg) translateY(40px)}.aboutSection{overflow:hidden;padding:104px 0 118px;position:relative}.aboutSection:before{background:radial-gradient(700px 360px at 15% 25%,#a855f729,#0000 62%),radial-gradient(760px 420px at 78% 48%,#c026ff24,#0000 64%);bottom:-120px;content:"";left:0;pointer-events:none;position:absolute;right:0;top:-120px}.aboutWrap{grid-gap:58px;align-items:center;display:grid;gap:58px;grid-template-columns:1fr .95fr;margin:0 auto;position:relative;width:min(1200px,calc(100% - 48px))}.aboutLeft{align-items:flex-start;animation:fadeUp .7s ease both;display:flex;flex-direction:column;max-width:560px}.aboutEyebrow{align-items:center;color:#d8b4fee6;display:inline-flex;font-size:12px;font-weight:600;gap:12px;letter-spacing:.18em;margin:0}.aboutEyebrowLine{background:linear-gradient(90deg,#0000,#a855f7e6);height:1px;width:34px}.aboutEyebrowSpark{animation:pulseSpark 2.3s ease-in-out infinite;background:radial-gradient(circle,#f0abfc,#a855f7);border-radius:50%;box-shadow:0 0 16px #a855f7cc;height:8px;width:8px}.aboutTitle{color:#fff;font-size:clamp(42px,5.4vw,64px);letter-spacing:-.03em;line-height:1.02;margin:14px 0}.aboutTitle span{-webkit-text-fill-color:#0000;background:linear-gradient(180deg,#d8b4fe,#c026ff);-webkit-background-clip:text;background-clip:text}.aboutText{text-wrap:pretty;color:#e5e7ebcc;font-size:clamp(16px,1.4vw,18px);line-height:1.75;margin:0;max-width:560px;text-align:justify;width:100%}.aboutConnectBtn{align-items:center;background:#0c0a168c;border:1px solid #a855f780;border-radius:14px;box-shadow:inset 0 1px 0 #ffffff14,0 0 18px #a855f738;color:#e5e7eb;display:flex;gap:16px;height:52px;margin-top:26px;order:2;padding:0 18px;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;width:fit-content}.aboutConnectBtn:hover{border-color:#c026ffbf;box-shadow:0 0 26px #a855f761;transform:translateY(-2px)}.aboutConnectBtn:focus-visible{outline:2px solid #d8b4feb3;outline-offset:2px}.aboutConnectIcon{border:1px solid #d8b4fe80;border-radius:999px;color:#d8b4feeb;display:inline-grid;font-size:13px;height:24px;place-items:center;width:24px}.aboutConnectArrow{color:#d8b4fef2;margin-left:6px}.aboutInfoRow{grid-gap:10px;align-self:stretch;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px;order:1}.aboutInfoItem{background:#0c0a1673;border:1px solid #a855f73d;border-radius:12px;display:flex;flex-direction:column;gap:4px;padding:10px 12px}.aboutInfoIcon{background:#0e0b18b8;border:1px solid #d8b4fe6b;border-radius:999px;box-shadow:0 0 14px #a855f73d;display:grid;font-size:14px;height:28px;margin-bottom:2px;place-items:center;width:28px}.aboutFeatureIcon svg,.aboutInfoIcon svg,.contactListGo svg,.contactListIcon svg{display:block;height:18px;width:18px}.aboutInfoLabel{color:#d1d5dbbf;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.aboutInfoValue{color:#f5f3ff;font-size:13px;font-weight:600}.aboutLive{color:#d8b4fe;text-shadow:0 0 14px #c026ff73}.aboutFeatureGrid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.aboutFeatureCard{background:linear-gradient(180deg,#100d1dc7,#0a0912d1);border:1px solid #a855f747;border-radius:14px;box-shadow:0 0 16px #a855f71f;padding:14px}.aboutFeatureIcon{background:#0e0b18c2;border:1px solid #d8b4fe66;border-radius:10px;box-shadow:0 0 14px #a855f733;display:grid;font-size:16px;height:34px;margin-bottom:10px;place-items:center;width:34px}.aboutFeatureCard h3{color:#f7ecff;font-size:15px;margin:0 0 8px}.aboutFeatureCard p{color:#e5e7ebcc;font-size:13px;line-height:1.55;margin:0}.aboutRight{animation:fadeUp .7s ease .13s both;display:flex;justify-content:center}.aboutImageCard{animation:cardFloat 6s ease-in-out infinite;background:linear-gradient(180deg,#0d0b16c7,#08070fdb);border:1px solid #a855f77a;border-radius:24px;box-shadow:0 0 40px #a855f747;min-height:580px;overflow:hidden;position:relative;width:min(430px,42vw)}.aboutImageGlow{animation:pulseGlow 3.8s ease-in-out infinite;background:radial-gradient(circle,#c026ffb3,#a855f71a 68%,#0000);filter:blur(1px);height:280px;left:50%;top:56px;transform:translateX(-50%);width:280px}.aboutImageGlow,.aboutImageRing{border-radius:999px;position:absolute}.aboutImageRing{animation:ringBreath 4s ease-in-out infinite;border:2px solid #a855f7a6;height:150px;top:34%;width:150px}.aboutImageRingLeft{left:-78px}.aboutImageRingRight{animation-delay:.8s;right:-78px}.aboutImageInner{border-radius:18px;inset:18px 18px 84px;overflow:hidden;position:absolute}.aboutImage{filter:saturate(.72) brightness(.72) contrast(1.08);height:100%;object-fit:cover;object-position:center top;width:100%}.aboutImageFallback{background:radial-gradient(circle at 50% 26%,#c026ff9e,#0d0b1659 46%,#07060cf2 68%),linear-gradient(180deg,#05050a33,#05050aeb);height:100%;width:100%}.aboutQuote{grid-gap:12px;align-items:center;background:linear-gradient(180deg,#130d1fdb,#0c0a16f0);border-top:1px solid #a855f759;bottom:0;display:grid;gap:12px;grid-template-columns:26px 1fr auto;height:84px;left:0;padding:14px 18px 12px;position:absolute;right:0}.aboutQuoteMark{color:#a855f7fa;font-size:44px;line-height:1;margin-top:8px}.aboutQuote p{color:#e5e7ebe6;font-size:15px;line-height:1.35;margin:0}.aboutQuoteSign{color:#e879f9e6;font-family:cursive;font-size:24px}.skillsSection{margin-top:28px;overflow:hidden;padding:104px 0 120px;position:relative}.skillsSection:before{background:radial-gradient(720px 320px at 14% 30%,#a855f724,#0000 64%),radial-gradient(700px 380px at 84% 56%,#c026ff21,#0000 66%);bottom:-120px;content:"";left:0;pointer-events:none;position:absolute;right:0;top:-120px}.skillsWrap{grid-gap:28px;align-items:end;display:grid;gap:28px;grid-template-columns:.88fr 1.12fr;margin:0 auto;position:relative;width:min(1200px,calc(100% - 48px))}.skillsRight{align-self:end}.skillsEyebrow{align-items:center;color:#d8b4fee6;display:inline-flex;font-size:12px;font-weight:600;gap:12px;letter-spacing:.18em;margin:0}.skillsEyebrowLine{background:linear-gradient(90deg,#0000,#a855f7e6);height:1px;width:34px}.skillsEyebrowSpark{background:radial-gradient(circle,#f0abfc,#a855f7);border-radius:50%;box-shadow:0 0 16px #a855f7cc;height:8px;width:8px}.skillsTitle{color:#fff;font-size:clamp(42px,5.4vw,74px);line-height:1;margin:12px 0 16px}.skillsTitle span{-webkit-text-fill-color:#0000;background:linear-gradient(180deg,#d8b4fe,#c026ff);-webkit-background-clip:text;background-clip:text}.skillsText{color:#e5e7ebd1;font-size:clamp(16px,1.4vw,18px);line-height:1.7;margin:0;max-width:410px}.techCard{background:linear-gradient(180deg,#100d1cbd,#0a0812d1);border:1px solid #a855f74d;border-radius:16px;box-shadow:0 0 22px #a855f72e;margin-top:28px;padding:16px 16px 14px}.techCardTitle{color:#f7ecff;font-size:20px;margin:0 0 12px}.techRows{display:flex;flex-direction:column;gap:12px}.techRowTop{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.techRowLabel{align-items:center;color:#f3f4f6;display:inline-flex;font-size:14px;gap:10px}.techRowLabel img{height:18px;width:18px}.techPercent{color:#d8b4fef2;font-size:13px}.techProgress{background:#581c8773;border-radius:999px;height:8px;overflow:hidden}.techProgress span{background:linear-gradient(90deg,#a855f7,#c026ff);border-radius:999px;box-shadow:0 0 18px #a855f799;display:block;height:100%;transition:width .7s cubic-bezier(.22,1,.36,1)}.skillGrid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.skillCard{align-items:center;background:linear-gradient(180deg,#100d1cb8,#08070fcc);border:1px solid #a855f74d;border-radius:14px;box-shadow:0 0 16px #a855f724;display:flex;flex-direction:column;justify-content:center;min-height:124px;padding:18px 14px;text-align:center}.skillIcon{background:radial-gradient(circle at 30% 30%,#a855f757,#0b0b1240);border:1px solid #a855f766;border-radius:999px;display:grid;height:54px;margin:0 auto 12px;place-items:center;width:54px}.skillIcon img{height:28px;width:28px}.skillCard h3{color:#f7ecff;font-size:20px;margin:0 0 8px}.skillCard p{color:#d1d5dbd1;font-size:15px;line-height:1.55;margin:0}.toolsCard{background:linear-gradient(180deg,#100d1cb8,#08070fcc);border:1px solid #a855f74d;border-radius:16px;box-shadow:0 0 18px #a855f726;margin-top:16px;padding:16px 16px 14px}.toolsCard h3{color:#f7ecff;font-size:18px;margin:0}.toolsRow{grid-gap:10px;align-items:start;display:grid;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:14px}.toolItem{align-items:center;display:flex;flex-direction:column;gap:8px;justify-content:flex-start;min-height:86px;text-align:center}.toolIcon{background:#0c0a169e;border:1px solid #a855f761;border-radius:999px;display:grid;height:54px;place-items:center;width:54px}.toolIcon img{height:28px;width:28px}.toolItem span{color:#e5e7ebdb;font-size:12px}.projectsSection{overflow:hidden;padding:104px 0 120px;position:relative}.projectsSection:before{background:radial-gradient(640px 280px at 10% 20%,#a855f72e,#0000 64%),radial-gradient(740px 360px at 88% 82%,#c026ff26,#0000 66%);bottom:-120px;content:"";left:0;pointer-events:none;position:absolute;right:0;top:-120px}.projectsWrap{margin:0 auto;position:relative;text-align:center;width:min(1240px,calc(100% - 48px))}.projectsEyebrow{background:#0e0b189e;border:1px solid #a855f766;border-radius:999px;color:#d8b4fef2;display:inline-block;font-size:12px;font-weight:700;letter-spacing:.16em;margin:0;padding:8px 18px}.projectsTitle{color:#fff;font-size:clamp(42px,6vw,84px);line-height:1;margin:14px 0 12px}.projectsTitle span{-webkit-text-fill-color:#0000;background:linear-gradient(180deg,#d8b4fe,#c026ff);-webkit-background-clip:text;background-clip:text}.projectsText{color:#d1d5dbd1;font-size:clamp(16px,1.4vw,18px);line-height:1.65;margin:0 auto;max-width:700px}.projectTabs{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e0b189e;border:1px solid #a855f74d;border-radius:999px;display:flex;gap:8px;margin:26px auto 22px;padding:8px;width:fit-content}.projectTab{background:#0000;border:none;border-radius:999px;color:#e5e7ebd9;cursor:pointer;font-size:20px;padding:9px 18px;transition:all .18s ease}.projectTab.active{background:linear-gradient(180deg,#8f46ff,#7f3df0);box-shadow:0 0 20px #8f46ff6b;color:#fff}.projectGrid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.projectCard{animation:projectIn .52s ease both;background:linear-gradient(180deg,#100d1dc7,#090812e0);border:1px solid #a855f752;border-radius:16px;box-shadow:0 0 20px #a855f729;overflow:hidden;text-align:left;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.projectCard:hover{border-color:#c026ffa6;box-shadow:0 0 28px #a855f752;transform:translateY(-6px)}.projectImageWrap{height:230px;overflow:hidden}.projectImage{height:100%;object-fit:cover;transition:transform .26s ease;width:100%}.projectCard:hover .projectImage{transform:scale(1.04)}.projectBody{padding:14px 14px 12px}.projectBody h3{color:#f7ecff;font-size:31px;margin:0}.projectBody p{color:#d1d5dbd6;font-size:clamp(13px,1.1vw,15px);line-height:1.6;margin:8px 0 12px;min-height:0}.projectMeta{align-items:center;display:flex;gap:10px;justify-content:space-between}.projectTags{display:flex;flex-wrap:wrap;gap:8px}.projectTags span{background:#0e0b18a6;border:1px solid #a855f759;border-radius:10px;color:#e5e7ebeb;font-size:12px;padding:6px 10px}.projectArrow{background:#0e0b18b3;border-radius:10px;color:#e9d5ff;height:34px;width:34px}.projectArrow,.viewAllBtn{border:1px solid #a855f780;cursor:pointer}.viewAllBtn{background:#0e0b18ad;border-radius:999px;box-shadow:0 0 20px #a855f738;color:#f3e8ff;font-size:17px;margin-top:28px;padding:14px 30px;transition:all .18s ease}.viewAllBtn:hover{box-shadow:0 0 28px #a855f75c;transform:translateY(-2px)}.testimonialsSection{overflow:hidden;padding:104px 0 118px;position:relative}.testimonialsSection:before{background:radial-gradient(620px 320px at 12% 22%,#a855f729,#0000 65%),radial-gradient(760px 360px at 90% 86%,#c026ff21,#0000 68%);bottom:-120px;content:"";left:0;pointer-events:none;position:absolute;right:0;top:-120px}.testimonialsWrap{margin:0 auto;position:relative;text-align:center;width:min(1240px,calc(100% - 48px))}.testimonialsEyebrow{background:#0e0b189e;border:1px solid #a855f766;border-radius:999px;color:#d8b4fef2;display:inline-block;font-size:12px;font-weight:700;letter-spacing:.16em;margin:0;padding:8px 18px}.testimonialsTitle{color:#fff;font-size:clamp(42px,6vw,78px);line-height:1;margin:14px 0 10px}.testimonialsTitle span{-webkit-text-fill-color:#0000;background:linear-gradient(180deg,#d8b4fe,#c026ff);-webkit-background-clip:text;background-clip:text}.testimonialsText{color:#d1d5dbd6;font-size:clamp(16px,1.4vw,18px);line-height:1.7;margin:0 auto;max-width:620px}.testimonialsGrid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:28px}.testimonialCard{animation:projectIn .52s ease both;background:linear-gradient(180deg,#100d1dc2,#090812db);border:1px solid #a855f757;border-radius:16px;box-shadow:0 0 18px #a855f729;padding:16px;text-align:left;transition:transform .18s ease,box-shadow .18s ease}.testimonialCard:hover{box-shadow:0 0 28px #a855f74d;transform:translateY(-4px)}.testimonialTop{align-items:center;display:flex;justify-content:space-between}.quoteOpen{color:#a855f7f2;font-size:40px;line-height:1}.rating{color:#c084fc;letter-spacing:.14em}.testimonialCard p{color:#e5e7ebe0;font-size:clamp(13px,1.1vw,15px);line-height:1.6;margin:10px 0 18px;min-height:0}.testimonialFooter{align-items:end;display:flex;justify-content:space-between}.reviewer{align-items:center;display:flex;gap:10px}.reviewer img{border:2px solid #a855f780;border-radius:999px;height:48px;width:48px}.reviewer h3{color:#f8f4ff;font-size:18px;margin:0}.reviewer span{color:#c084fce6;font-size:13px}.quoteClose{color:#a855f7a6;font-size:34px;line-height:1}.testimonialDots{display:flex;gap:8px;justify-content:center;margin-top:14px}.testimonialDots span{background:#9333ea52;border-radius:999px;height:8px;transition:all .2s ease;width:8px}.testimonialDots span.active{background:#a855f7;box-shadow:0 0 14px #a855f7b3;width:18px}.trustedBar{align-items:center;background:linear-gradient(180deg,#100d1dbd,#08070fd1);border:1px solid #a855f757;border-radius:16px;display:grid;grid-template-columns:280px 1fr;margin-top:22px;overflow:hidden}.trustedLeft{align-items:center;border-right:1px solid #a855f738;display:flex;gap:12px;padding:16px}.trustedIcon{background:radial-gradient(circle at 30% 30%,#a855f773,#0c0a1680);border:1px solid #a855f766;border-radius:12px;display:grid;height:46px;place-items:center;width:46px}.trustedLeft p{color:#e5e7ebd9;font-size:15px;margin:0}.trustedLeft strong{color:#c084fc;font-size:18px;font-weight:600}.trustedBrands{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.trustedBrands span{border-right:1px solid #a855f733;color:#d1d5dbc7;display:grid;height:100%;min-height:78px;padding:0 16px;place-items:center}.trustedBrands span:last-child{border-right:none}@keyframes projectIn{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes cardFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulseGlow{0%,to{opacity:.72;transform:translateX(-50%) scale(1)}50%{opacity:1;transform:translateX(-50%) scale(1.06)}}@keyframes pulseSpark{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}@keyframes ringBreath{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes logoTilt{0%,to{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(6deg) translateY(-3px)}}@keyframes reactSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes glowPulse{0%,to{opacity:.52}50%{opacity:.82}}@media (max-width:980px){.heroInner{gap:34px;grid-template-columns:1fr;padding:64px 0 72px}.heroLeft{justify-content:flex-start}.heroRight{padding-top:0}.heroScene{height:520px;min-height:520px}.floatCardFlutter,.floatCardReact{right:6px}.floatCardFlutter{top:78px}.floatCardReact{bottom:64px}.codeCard{bottom:24px;right:10px}.aboutWrap{gap:34px;grid-template-columns:1fr}.aboutLeft{max-width:none}.aboutImageCard{width:min(430px,94vw)}.aboutFeatureGrid,.aboutInfoRow,.skillsWrap{grid-template-columns:1fr}.skillsWrap{gap:24px}.skillsRight{padding-top:0}.skillsText{max-width:100%}.projectsText{font-size:16px}.testimonialsGrid,.trustedBar{grid-template-columns:1fr}.trustedLeft{border-bottom:1px solid #a855f738;border-right:none;justify-content:center}}@media (max-width:620px){.heroInner{padding:56px 0 66px;width:calc(100% - 32px)}.heroSubtitle{font-size:16px}.statsCard{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{border-bottom:1px solid #d8b4fe14;border-right:none}.stat:nth-last-child(-n+2){border-bottom:none}.heroScene{height:500px}.floatCard{height:150px;width:128px}.aboutSection{padding:44px 0 68px}.aboutWrap{width:calc(100% - 32px)}.aboutTitle{font-size:clamp(36px,12vw,52px)}.aboutText{font-size:16px;line-height:1.7}.aboutFeatureCard h3{font-size:14px}.aboutFeatureCard p{font-size:12px}.aboutImageCard{min-height:500px}.aboutQuote p{font-size:13px}.aboutQuoteSign{font-size:22px}.skillsSection{padding:64px 0 78px}.skillsWrap{width:calc(100% - 32px)}.skillGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.toolsRow{grid-template-columns:repeat(3,minmax(0,1fr))}.projectsSection{padding:64px 0 82px}.projectsWrap{width:calc(100% - 32px)}.projectTabs{justify-content:flex-start;overflow-x:auto;width:100%}.projectTab{font-size:13px;white-space:nowrap}.projectBody p{font-size:14px;min-height:0}.projectBody h3{font-size:22px}.projectTags span{font-size:12px}.testimonialsSection{padding:64px 0 80px}.testimonialsWrap{width:calc(100% - 32px)}.testimonialsText{font-size:15px}.testimonialCard p{font-size:14px;min-height:0}.trustedBrands{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.nav{animation:none;gap:10px;justify-content:space-between;padding:8px 8px 8px 12px;top:10px;width:calc(100% - 20px)}.nav-logo{height:38px;width:60px}.nav-cta{font-size:14px;padding:10px 14px}.hero{min-height:auto}.heroInner{gap:22px;padding:44px 0 52px;width:calc(100% - 20px)}.heroTitle{font-size:clamp(34px,10.2vw,44px)}.heroSubtitle{font-size:15px;line-height:1.55}.heroCtas{gap:10px}.btnGhost,.btnPrimary{height:48px;justify-content:center;padding:0 14px;width:100%}.heroRight{display:none}.statsCard{gap:10px;padding:12px}.statNum{font-size:22px}.aboutWrap,.contactWrap,.projectsWrap,.skillsWrap,.testimonialsWrap{width:calc(100% - 20px)}.aboutTitle,.contactTitle,.projectsTitle,.skillsTitle,.testimonialsTitle{font-size:clamp(32px,10vw,42px)}.aboutFeatureGrid,.skillGrid,.toolsRow{grid-template-columns:1fr}.projectTabs{gap:6px;padding:6px}.projectTab{font-size:12px;padding:8px 12px}.projectImageWrap{height:190px}.projectBody h3{font-size:20px}.contactListItem{gap:10px;grid-template-columns:44px 1fr 34px;padding:12px 10px}.contactListValue{font-size:13px;word-break:break-word}.contactListGo{border-radius:10px;height:32px;width:32px}.contactForm,.contactFormHeader,.contactSocial{padding-left:14px;padding-right:14px}}.contactSection{overflow:hidden;padding:104px 0 120px;position:relative}.contactSection:before{background:radial-gradient(780px 380px at 14% 22%,#a855f72e,#0000 62%),radial-gradient(780px 420px at 88% 70%,#c026ff21,#0000 66%);bottom:-120px;content:"";left:0;opacity:.95;pointer-events:none;position:absolute;right:0;top:-120px}.contactWrap{grid-gap:26px;align-items:stretch;display:grid;gap:26px;grid-template-columns:.95fr 1.05fr;margin:0 auto;position:relative;width:min(1240px,calc(100% - 48px))}.contactLeft{animation:contactSideIn .7s ease both;display:flex;flex-direction:column}.contactEyebrow{align-items:center;background:#0e0b1894;border:1px solid #a855f773;border-radius:999px;color:#d8b4fef2;display:inline-flex;font-size:12px;font-weight:700;gap:10px;letter-spacing:.16em;margin:0;padding:8px 16px;width:fit-content}.contactEyebrowSpark{animation:sparkPop 2.2s ease-in-out infinite;background:radial-gradient(circle,#f0abfc,#a855f7);border-radius:50%;box-shadow:0 0 18px #a855f7d9;height:8px;width:8px}.contactTitle{color:#fff;font-size:clamp(52px,5.6vw,78px);letter-spacing:-.03em;line-height:.95;margin:18px 0 10px}.contactTitle span{-webkit-text-fill-color:#0000;background:linear-gradient(180deg,#d8b4fe,#c026ff);-webkit-background-clip:text;background-clip:text;text-shadow:0 0 20px #c026ff40}.contactText{color:#e5e7ebd1;font-size:clamp(16px,1.4vw,18px);line-height:1.7;margin:0;max-width:470px}.contactAccent{color:#d8b4fefa;text-shadow:0 0 18px #a855f759}.contactList{display:flex;flex-direction:column;gap:14px;margin-top:24px}.contactListItem{grid-gap:14px;align-items:center;animation:contactRowIn .62s ease both;background:#0c0a167a;border:1px solid #a855f742;border-radius:14px;box-shadow:0 0 18px #a855f714;display:grid;gap:14px;grid-template-columns:52px 1fr 44px;padding:14px}.contactListItem:first-child{animation-delay:.12s}.contactListItem:nth-child(2){animation-delay:.18s}.contactListItem:nth-child(3){animation-delay:.24s}.contactListItem:nth-child(4){animation-delay:.3s}.contactListIcon{background:radial-gradient(circle at 30% 30%,#a855f773,#0c0a1659);border:1px solid #a855f766;border-radius:999px;color:#d8b4fefa;display:grid;font-size:16px;height:44px;place-items:center;width:44px}.contactListLabel{color:#e5e7ebb8;font-size:13px;font-weight:700;letter-spacing:.02em}.contactListValue{color:#f5f3ffeb;font-size:14px;margin-top:2px}.contactListLink{text-decoration:none;transition:color .14s ease,text-shadow .14s ease}.contactListLink:hover{color:#d8b4fefa;text-shadow:0 0 16px #a855f759}.contactListGo{background:#0e0b1859;border:1px solid #a855f757;border-radius:12px;color:#d8b4fef2;cursor:pointer;display:grid;height:40px;place-items:center;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;width:40px}.contactListGo:hover{border-color:#c026ffb3;box-shadow:0 0 20px #a855f740;transform:translateY(-2px)}.contactBottomCard{grid-gap:10px;align-items:center;animation:contactBottomIn .76s ease both;background:linear-gradient(180deg,#0e0b1899,#0a0912c2);border:1px solid #a855f742;border-radius:16px;box-shadow:0 0 22px #a855f71f;display:grid;gap:10px;grid-template-columns:1fr 50px;margin-top:auto;padding:18px}.contactBottomText{color:#e5e7ebe6;font-size:14px;font-weight:700;line-height:1.55}.contactBottomPlane{animation:planeFloat 3s ease-in-out infinite;background:#0e0b1880;border:1px solid #a855f766;border-radius:999px;color:#d8b4fefa;display:grid;height:46px;place-items:center;width:46px}.contactBottomPlane svg{filter:drop-shadow(0 0 10px rgba(216,180,254,.35));height:22px;width:22px}.contactRight{animation:contactSideIn .7s ease .11s both;padding-top:130px}.contactFormCard{background:linear-gradient(180deg,#0c0a16c7,#08070fdb);border:1px solid #a855f77a;border-radius:22px;box-shadow:0 0 50px #a855f729;overflow:hidden;position:relative}.contactFormCard:before{background:radial-gradient(320px 180px at 40% 18%,#a855f752,#0000 65%),repeating-linear-gradient(90deg,#d8b4fe0f 0 1px,#0000 1px 16px);content:"";inset:0;opacity:.75;pointer-events:none;position:absolute}.contactFormHeader{align-items:center;display:flex;gap:14px;padding:22px 22px 8px;position:relative}.contactFormIcon{background:#0e0b188c;border:1px solid #a855f773;border-radius:16px;box-shadow:inset 0 0 0 1px #ffffff0f;color:#d8b4fefa;display:grid;height:48px;place-items:center;width:48px}.contactFormIcon svg{height:22px;width:22px}.contactFormTitle{color:#f7ecfffa;font-size:18px;font-weight:800}.contactFormSub{color:#e5e7ebc2;font-size:13px;margin-top:4px}.contactForm{display:flex;flex-direction:column;gap:14px;padding:10px 22px 18px;position:relative}.contactFormRow{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.contactField{color:#e5e7ebbf;display:flex;flex-direction:column;font-size:12px;gap:8px}.contactFieldLabel{opacity:.9}.contactField input,.contactField textarea{background:#08070f59;border:1px solid #a855f73d;border-radius:14px;box-shadow:inset 0 0 0 1px #ffffff05;color:#e5e7ebeb;outline:none;padding:12px 14px;width:100%}.contactField textarea{min-height:120px;resize:none}.contactField input:focus,.contactField textarea:focus{border-color:#c026ff99;box-shadow:0 0 0 3px #a855f72e}.contactSubmit{align-items:center;background:linear-gradient(180deg,#8f46ff,#7f3df0);border:none;border-radius:14px;box-shadow:0 10px 26px #8f46ff52,0 0 22px #a855f740;color:#fff;cursor:pointer;display:inline-flex;font-weight:800;gap:10px;height:48px;justify-content:center;letter-spacing:.01em;margin-top:4px;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}.contactSubmit svg{height:18px;width:18px}.contactSubmit:hover{box-shadow:0 14px 34px #8f46ff66,0 0 30px #a855f757;filter:brightness(1.06);transform:translateY(-2px)}.contactSubmit:disabled{cursor:wait;opacity:.78;transform:none}.contactFormStatus{color:#e5e7ebb8;font-size:12px;line-height:1.4;min-height:18px}.contactFormStatus.sent{color:#bbf7d0eb}.contactFormStatus.error{color:#fecacaeb}.contactSocial{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-top:10px;padding:0 22px 22px}.contactSocialTitle{color:#e5e7ebeb;font-size:13px;font-weight:800}.contactSocialSub{color:#e5e7ebb8;font-size:12px;line-height:1.3;margin-top:4px}.contactSocialIcons{align-items:center;display:flex;gap:10px}.contactSocialIcons a{background:#0e0b1859;border:1px solid #a855f757;border-radius:999px;box-shadow:inset 0 1px 0 #ffffff0f;color:#d8b4fef2;display:grid;height:42px;place-items:center;text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease;width:42px}.contactSocialIcons a:focus-visible,.contactSocialIcons a:hover{border-color:#c026ffb8;box-shadow:0 0 20px #a855f747,inset 0 1px 0 #ffffff14;color:#fff;transform:translateY(-2px)}.contactSocialIcons svg{height:20px;width:20px}@keyframes contactSideIn{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes contactRowIn{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}@keyframes contactBottomIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes sparkPop{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.35)}}@keyframes planeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media (max-width:980px){.contactWrap{gap:22px;grid-template-columns:1fr;width:calc(100% - 32px)}.contactBottomCard{margin-top:18px}.contactFormRow{grid-template-columns:1fr}.contactRight{padding-top:0}.contactSocial{align-items:flex-start;flex-direction:column}}.siteFooter{background:#07060cf0;border-top:1px solid #a855f738;margin:0;padding:34px 0 22px;position:relative;width:100%}.siteFooter:before{content:none}.footerWrap{grid-gap:26px;gap:26px;grid-template-columns:minmax(320px,1fr) auto minmax(160px,1fr);margin:0 auto;width:min(1240px,calc(100% - 48px))}.footerBrand,.footerWrap{align-items:start;display:grid}.footerBrand{grid-gap:16px;gap:16px;grid-template-columns:74px 1fr}.footerBrand img{display:block;filter:drop-shadow(0 0 14px rgba(168,85,247,.45));height:58px;margin-top:-6px;object-fit:contain;width:74px}.footerName{color:#fff;font-size:24px;font-weight:800;letter-spacing:0;line-height:1}.footerBrandContact{margin-top:12px}.footerColumn h2{color:#f7ecfff2;font-size:14px;font-weight:800;letter-spacing:.08em;margin:0 0 13px;text-transform:uppercase}.footerContact{display:flex;flex-direction:column;gap:10px}.footerContact a,.footerContact span{color:#e5e7ebb3;font-size:14px;line-height:1.45;text-decoration:none;transition:color .16s ease,transform .16s ease,text-shadow .16s ease}.footerContact a:focus-visible,.footerContact a:hover{color:#d8b4fefa;text-shadow:0 0 16px #a855f757;transform:translateX(3px)}.footerMiniLinks{align-self:center;display:flex;flex-wrap:wrap;gap:12px 16px;justify-content:center;justify-self:center}.footerMiniLinks a{color:#e5e7eba8;font-size:13px;font-weight:600;line-height:1;text-decoration:none;transition:color .16s ease,text-shadow .16s ease}.footerMiniLinks a:focus-visible,.footerMiniLinks a:hover{color:#d8b4fefa;text-shadow:0 0 14px #a855f757}.footerSocial{align-items:center;display:flex;gap:10px}.footerSocialBlock{justify-self:end}.footerSocial a{background:#0e0b186b;border:1px solid #a855f757;border-radius:999px;box-shadow:inset 0 1px 0 #ffffff0f;color:#d8b4fef2;display:grid;height:42px;place-items:center;text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease;width:42px}.footerSocial a:focus-visible,.footerSocial a:hover{border-color:#c026ffb8;box-shadow:0 0 20px #a855f747,inset 0 1px 0 #ffffff14;color:#fff;transform:translateY(-2px)}.footerSocial svg{height:20px;width:20px}.footerBottom{align-items:center;border-top:1px solid #a855f72e;color:#e5e7eb9e;display:flex;font-size:13px;gap:16px;justify-content:flex-start;margin-left:auto;margin-right:auto;margin-top:24px;padding-top:18px;width:min(1240px,calc(100% - 48px))}@media (max-width:980px){.siteFooter{padding-top:30px}.footerWrap{grid-template-columns:1fr;width:calc(100% - 32px)}.footerMiniLinks{align-self:start;justify-content:flex-start;justify-self:start}.footerBottom{width:calc(100% - 32px)}}@media (max-width:620px){.siteFooter{padding:28px 0 20px}.footerWrap{gap:22px;grid-template-columns:1fr}.footerBottom,.footerWrap{width:calc(100% - 20px)}.footerBrand{gap:13px;grid-template-columns:64px 1fr}.footerBrand img{height:52px;width:64px}.footerName{font-size:21px}.footerBottom{align-items:flex-start;flex-direction:column}}@media (prefers-reduced-motion:reduce){.scrollReveal,.scrollReveal.isVisible{filter:none!important;opacity:1!important;transform:none!important;transition:none!important}.aboutEyebrowSpark,.aboutImageCard,.aboutImageGlow,.aboutImageRing,.aboutLeft,.aboutRight,.contactBottomCard,.contactEyebrowSpark,.contactLeft,.contactListItem,.contactRight,.floatCard,.flutterFloat,.globalBg:after,.globalBg:before,.projectCard,.reactSpin,.siteFooter,.testimonialCard{animation:none!important}.techProgress span{transition:none!important}}.projectloop{--projectloop-gap:16px;--projectloop-cardWidth:340px;--projectloop-fadeColorAuto:#08070f;overflow:hidden;position:relative}@media (prefers-color-scheme:dark){.projectloop{--projectloop-fadeColorAuto:#08070f}}.projectloop__track{display:flex;flex-wrap:nowrap;position:relative;-webkit-user-select:none;user-select:none;width:max-content;will-change:transform;z-index:0}.projectloop__list{align-items:stretch;display:flex;flex-wrap:nowrap}.projectloop__item{flex:0 0 auto}.projectloop__item,.projectloop__item:last-child{margin-right:var(--projectloop-gap)}.projectloop__card{flex:0 0 auto;width:var(--projectloop-cardWidth)}.projectloop--fade:after,.projectloop--fade:before{bottom:0;content:"";pointer-events:none;position:absolute;top:0;width:clamp(24px,8%,120px);z-index:10}.projectloop--fade:before{background:linear-gradient(to right,var(--projectloop-fadeColorAuto) 0,#0000 100%);background:linear-gradient(to right,var(--projectloop-fadeColor,var(--projectloop-fadeColorAuto)) 0,#0000 100%);left:0}.projectloop--fade:after{background:linear-gradient(to left,var(--projectloop-fadeColorAuto) 0,#0000 100%);background:linear-gradient(to left,var(--projectloop-fadeColor,var(--projectloop-fadeColorAuto)) 0,#0000 100%);right:0}@media (prefers-reduced-motion:reduce){.projectloop__track{transform:translateZ(0)!important}}
/*# sourceMappingURL=main.c3e83b58.css.map*/