:root{--ink:#152033;--ink-muted:#152033ad;--ink-soft:#1520337a;--paper:#f7fafc;--blush:#eef5fb;--blush-deep:#d6e8f7;--rose:#2f6fed;--rose-bright:#4d8af0;--rose-soft:#7eb6e8;--mauve:#5a7a9a;--line:#1520331a;--glass:#f7fafcdb;--font-display:"Bricolage Grotesque", sans-serif;--font-body:"Figtree", sans-serif;--radius:999px;--ease:cubic-bezier(.22, 1, .36, 1);--nav-h:4.35rem;color:var(--ink);background:var(--paper);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;margin:0}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0}h1,h2,h3,p{margin:0}#root{min-height:100vh}.site{background:radial-gradient(ellipse 80% 50% at 100% 0%, #7eb6e847, transparent 55%), radial-gradient(ellipse 60% 40% at 0% 30%, #eef5fbe6, transparent 50%), var(--paper);position:relative;overflow-x:clip}.noise{z-index:60;pointer-events:none;opacity:.028;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.hero,.section,.footer,.marquee{z-index:1;position:relative}.reveal{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transform:translateY(24px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.topnav{z-index:50;transition:background .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);border-bottom:1px solid #0000;position:fixed;inset:0 0 auto}.topnav-scrolled{background:var(--glass);border-bottom-color:var(--line);-webkit-backdrop-filter:blur(18px)saturate(1.2);box-shadow:0 10px 40px #2f6fed14}.topnav-inner{min-height:var(--nav-h);justify-content:space-between;align-items:center;gap:1rem;padding:0 clamp(1rem,4vw,3.5rem);display:flex}.brand{z-index:2;align-items:center;gap:.55rem;display:inline-flex}.brand-mark{filter:drop-shadow(0 6px 18px #2f6fed47);flex-shrink:0;width:2.65rem;height:2.65rem;overflow:visible}.logo-rays{transform-origin:32px 32px;animation:20s linear infinite raySpin}@keyframes raySpin{to{transform:rotate(360deg)}}.brand-text{font-family:var(--font-display);letter-spacing:-.045em;color:var(--ink);font-size:1.22rem;font-weight:800;line-height:1}.brand-text span{color:#2f6fed}.nav-links{border-radius:var(--radius);border:1px solid var(--line);background:#ffffffa6;align-items:center;gap:.08rem;padding:.22rem;display:none;box-shadow:0 4px 20px #2f6fed0d}.nav-links a{border-radius:var(--radius);color:var(--ink-muted);padding:.48rem .85rem;font-size:.88rem;font-weight:600;transition:color .25s,background .25s}.nav-links a:hover,.nav-links a.is-active{color:var(--ink);background:var(--blush)}.nav-links a.is-active{box-shadow:inset 0 0 0 1px #2f6fed33}.nav-actions{z-index:2;align-items:center;gap:.55rem;display:flex}.nav-cta{border-radius:var(--radius);background:linear-gradient(135deg, #7eb6e8, var(--rose) 55%, #1e4a8c);color:#f7fbff;transition:transform .35s var(--ease), filter .25s ease;justify-content:center;align-items:center;padding:.62rem 1.1rem;font-size:.86rem;font-weight:700;display:none;box-shadow:0 8px 24px #2f6fed47}.nav-cta:hover{filter:brightness(1.04);transform:translateY(-1px)}.nav-toggle{border:1px solid var(--line);background:#ffffffb3;border-radius:.8rem;place-content:center;gap:5px;width:2.45rem;height:2.45rem;display:grid}.nav-toggle span{background:var(--ink);width:1rem;height:1.5px;transition:transform .3s var(--ease), opacity .2s ease;border-radius:2px;display:block}.nav-toggle.is-open span:first-child{transform:translateY(6.5px)rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.mobile-panel{inset:calc(var(--nav-h) - 1px) 0 auto;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f7fafcfa;gap:1.25rem;padding:1rem 1.25rem 1.5rem;display:grid;position:absolute}.mobile-panel[hidden]{display:none}.mobile-links{display:grid}.mobile-links a{border-bottom:1px solid var(--line);font-family:var(--font-display);letter-spacing:-.03em;padding:.95rem .25rem;font-size:1.28rem;font-weight:700}.mobile-cta{width:100%}.hero{min-height:100svh;padding:calc(var(--nav-h) + 2.75rem) clamp(1.25rem, 4vw, 3.5rem) clamp(3rem, 8vh, 5rem);background:linear-gradient(165deg,#fff 0%,#eef5fb 42%,#e3eef9 100%);align-items:center;display:grid;overflow:hidden}.hero-mesh{pointer-events:none;background:radial-gradient(55% 45% at 88% 18%,#7eb6e873,#0000 55%),radial-gradient(45% 40% at 8% 82%,#ffffffe6,#0000 50%),radial-gradient(35% 30%,#d6e8f780,#0000 60%);animation:14s ease-in-out infinite alternate meshShift;position:absolute;inset:0}.hero-beam{opacity:.75;background:linear-gradient(90deg,#0000,#7eb6e8b3,#2f6fed73,#0000);width:min(70vw,560px);height:1px;animation:5s ease-in-out infinite beamPulse;position:absolute;top:42%;right:8%;transform:rotate(-18deg)}.hero-crescent{aspect-ratio:1;pointer-events:none;opacity:.85;border-radius:50%;width:min(48vw,400px);animation:9s ease-in-out infinite floatSoft;position:absolute;top:16%;right:-2%;box-shadow:inset -52px 0 #7eb6e847}.hero-crescent:before{content:"";background:radial-gradient(circle,#ffffffb3,#0000 62%);border-radius:50%;position:absolute;inset:-18%}.hero-crescent:after{content:"";border:1px solid #2f6fed2e;border-radius:50%;animation:48s linear infinite spinSlow;position:absolute;inset:20%;transform:rotate(-26deg)scaleX(1.18)}@keyframes meshShift{0%{transform:translate(0,0)scale(1)}to{transform:translate(-1.5%,1.2%)scale(1.03)}}@keyframes beamPulse{0%,to{opacity:.4}50%{opacity:.9}}@keyframes floatSoft{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes spinSlow{to{transform:rotate(334deg)scaleX(1.18)}}.hero-copy{max-width:42rem;animation:rise 1s var(--ease) both;position:relative}@keyframes rise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}.hero-kicker{color:var(--rose);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:.55rem;margin-bottom:1rem;font-size:.78rem;font-weight:700;display:inline-flex}.hero-kicker:before{content:"";opacity:.7;background:currentColor;width:1.4rem;height:1px}.hero-brand{font-family:var(--font-display);letter-spacing:-.06em;background:linear-gradient(118deg,#152033 0%,#5a7a9a 38%,#2f6fed 72%,#7eb6e8 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:1.1rem;font-size:clamp(3.4rem,11vw,6.6rem);font-weight:800;line-height:.88}.hero h1{font-family:var(--font-display);letter-spacing:-.04em;max-width:14ch;color:var(--ink);margin-bottom:1rem;font-size:clamp(1.55rem,3.6vw,2.35rem);font-weight:700;line-height:1.15}.hero p:not(.hero-brand):not(.hero-kicker){color:var(--ink-muted);max-width:38ch;margin-bottom:1.95rem;font-size:clamp(1.02rem,2vw,1.18rem);line-height:1.65}.cta-row{flex-wrap:wrap;gap:.75rem;display:flex}.btn{border-radius:var(--radius);min-height:3.05rem;transition:transform .35s var(--ease), background .25s ease, border-color .25s ease, filter .25s ease, box-shadow .35s ease;justify-content:center;align-items:center;padding:.8rem 1.4rem;font-size:.94rem;font-weight:700;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg, #7eb6e8, var(--rose) 50%, #1e4a8c);color:#f7fbff;box-shadow:0 14px 32px #2f6fed40}.btn-primary:hover{filter:brightness(1.04);box-shadow:0 18px 36px #2f6fed52}.btn-ghost{border:1px solid var(--line);color:var(--ink);background:#ffffffb3}.btn-ghost:hover{background:var(--blush);border-color:#2f6fed59}.marquee{border-block:1px solid var(--line);background:linear-gradient(90deg,#f4f8fc,#e3eef9 50%,#f4f8fc);padding:.95rem 0;overflow:hidden}.marquee-track{width:max-content;color:var(--mauve);font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;gap:2.4rem;font-size:.86rem;font-weight:700;animation:32s linear infinite scroll;display:flex}.marquee-track span:after{content:"✦";color:var(--rose-soft);margin-left:2.4rem;font-size:.7em}@keyframes scroll{to{transform:translate(-50%)}}.section{padding:clamp(4.75rem,10vw,7.75rem) clamp(1.25rem,4vw,3.5rem)}.section-head{max-width:34rem;margin-bottom:clamp(2.1rem,5vw,3.4rem)}.eyebrow{color:var(--rose);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.75rem;font-size:.74rem;font-weight:700;display:inline-block}.section-head h2{font-family:var(--font-display);letter-spacing:-.045em;color:var(--ink);margin-bottom:.9rem;font-size:clamp(2.05rem,4.5vw,3.15rem);line-height:1.02}.section-head p{color:var(--ink-muted);font-size:1.05rem;line-height:1.65}.services{background:radial-gradient(55% 40% at 0 0,#7eb6e833,#0000 50%),#f7fafc}.service-list{border-top:1px solid var(--line);display:grid}.service-item{border-bottom:1px solid var(--line);transition:background .4s var(--ease), padding .4s var(--ease);gap:.7rem;padding:1.75rem .15rem;display:grid;position:relative}.service-item:before{content:"";background:linear-gradient(180deg, var(--rose-soft), var(--rose));opacity:0;width:2px;transition:opacity .3s;position:absolute;top:0;bottom:0;left:0}.service-item:hover{background:linear-gradient(90deg,#eef5fbf2,#0000 55%);padding-left:.85rem}.service-item:hover:before{opacity:1}.service-num{font-family:var(--font-display);color:var(--rose);letter-spacing:.1em;font-size:.84rem;font-weight:800}.service-tag{color:var(--mauve);letter-spacing:.11em;text-transform:uppercase;font-size:.72rem;font-weight:700}.service-body h3{font-family:var(--font-display);letter-spacing:-.035em;color:var(--ink);margin:.4rem 0 .55rem;font-size:clamp(1.35rem,2.4vw,1.75rem)}.service-body p{color:var(--ink-muted);max-width:54ch;line-height:1.6}.service-arrow{color:var(--rose);opacity:0;transition:opacity .3s ease, transform .35s var(--ease);font-size:1.35rem;display:none;transform:translate(-6px)}.service-item:hover .service-arrow{opacity:1;transform:translate(0)}.products{background:linear-gradient(#eef5fb 0%,#f7fafc 52%,#fff 100%)}.product-grid{gap:1.15rem;display:grid}.product{isolation:isolate;border:1px solid var(--line);min-height:18rem;transition:transform .45s var(--ease), border-color .3s ease, box-shadow .45s ease;background:#fff;border-radius:1.7rem;flex-direction:column;justify-content:flex-end;gap:.55rem;padding:1.9rem;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 48px #2f6fed14}.product:hover{border-color:#2f6fed47;transform:translateY(-6px);box-shadow:0 24px 60px #2f6fed24}.product:before{content:"";z-index:-2;position:absolute;inset:0}.product-glow{z-index:-1;filter:blur(8px);opacity:.75;width:55%;height:55%;transition:opacity .4s ease, transform .5s var(--ease);border-radius:50%;position:absolute;top:-10%;right:-8%}.product:hover .product-glow{opacity:1;transform:scale(1.08)}.product-learn:before{background:linear-gradient(#0000 8%,#f7fafceb 100%),linear-gradient(145deg,#dceaf8,#fff)}.product-learn .product-glow{background:radial-gradient(circle,#7eb6e8a6,#0000 70%)}.product-games:before{background:linear-gradient(#0000 8%,#f7fafceb 100%),linear-gradient(145deg,#d6e8f7,#fff)}.product-games .product-glow{background:radial-gradient(circle,#2f6fed59,#0000 70%);left:-8%;right:auto}.product h3{font-family:var(--font-display);letter-spacing:-.035em;color:var(--ink);font-size:1.65rem}.product p{color:var(--ink-muted);max-width:32ch;line-height:1.55}.process{background:radial-gradient(55% 45% at 100% 0,#7eb6e838,#0000 48%),#f7fafc}.process-grid{gap:1rem;display:grid}.process-step{border:1px solid var(--line);transition:border-color .3s ease, transform .35s var(--ease), background .3s ease;background:#fffc;border-radius:1.3rem;padding:1.55rem 1.4rem;box-shadow:0 10px 30px #2f6fed0d}.process-step:hover{background:#fff;border-color:#2f6fed59;transform:translateY(-4px)}.process-n{font-family:var(--font-display);letter-spacing:.1em;color:var(--rose);margin-bottom:.9rem;font-size:.84rem;font-weight:800;display:block}.process-step h3{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin-bottom:.45rem;font-size:1.35rem}.process-step p{color:var(--ink-muted);font-size:.98rem;line-height:1.55}.about{background:linear-gradient(#fff,#eef5fb)}.about-grid{gap:2.25rem;display:grid}.stat-row{border:1px solid var(--line);background:radial-gradient(circle at 100% 0,#7eb6e859,#0000 45%),#fff;border-radius:1.55rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:1.55rem;display:grid;box-shadow:0 16px 40px #2f6fed12}.stat strong{font-family:var(--font-display);letter-spacing:-.045em;color:var(--rose);margin-bottom:.3rem;font-size:clamp(1.55rem,3vw,2.05rem);display:block}.stat span{color:var(--ink-soft);font-size:.88rem;line-height:1.35}.contact{background:radial-gradient(70% 70% at 35% 100%,#7eb6e847,#0000 55%),#f7fafc}.contact-shell{border:1px solid var(--line);background:radial-gradient(circle at 100% 0,#fffffff2,#0000 42%),linear-gradient(145deg,#f4f8fc,#e3eef9);border-radius:1.9rem;padding:clamp(1.85rem,4vw,3.15rem);box-shadow:0 30px 80px #2f6fed1a}.contact-panel{gap:1.25rem;max-width:40rem;display:grid}.contact-panel h2{font-family:var(--font-display);letter-spacing:-.05em;color:var(--ink);font-size:clamp(2.2rem,5vw,3.35rem);line-height:1.02}.contact-panel p{color:var(--ink-muted);font-size:1.08rem;line-height:1.65}.contact-meta{color:var(--ink-soft);flex-wrap:wrap;gap:1rem 1.75rem;font-size:.95rem;display:flex}.contact-meta a{color:var(--rose);font-weight:600}.footer{border-top:1px solid var(--line);color:var(--ink-soft);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 1.5rem;padding:1.4rem clamp(1.25rem,4vw,3.5rem) 1.9rem;font-size:.88rem;display:flex}.brand-footer .brand-mark{width:1.7rem;height:1.7rem}.brand-footer .brand-text{font-size:1rem}.footer-links{gap:1.25rem;font-weight:600;display:flex}.footer-links a:hover{color:var(--rose)}@media (width>=720px){.nav-links{display:flex}.nav-cta{display:inline-flex}.nav-toggle{display:none}.mobile-panel{display:none!important}.service-item{grid-template-columns:3.25rem 1fr auto;align-items:center;gap:1.35rem}.service-arrow{display:block}.product-grid{grid-template-columns:1.15fr .85fr}.product{min-height:23rem}.process-grid{grid-template-columns:repeat(3,1fr)}.about-grid{grid-template-columns:1.2fr 1fr;align-items:end;gap:2.75rem}}@media (width>=960px){.hero-crescent{width:min(34vw,360px);top:20%;right:7%}.hero-beam{right:12%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}
