.visitor-comet:where(.astro-npggay4r){position:absolute;z-index:3;pointer-events:none;width:7px;height:7px;border-radius:50%;background:#d5e9ff;box-shadow:0 0 12px #a4caff,0 0 30px #77a7ff}.visitor-comet:where(.astro-npggay4r):after{content:"";position:absolute;left:3px;top:3px;width:130px;height:2px;transform:rotate(var(--comet-angle,-27deg));transform-origin:left;background:linear-gradient(90deg,#b9daff,transparent);opacity:var(--tail-opacity,1);transition:opacity .3s}.visitor-comet:where(.astro-npggay4r)[data-arrived]{background:#e9f5ff;box-shadow:0 0 9px #d9eeff,0 0 22px #86b8ffb0,0 0 45px #637bff60;transition:box-shadow .5s}.visitor-comet:where(.astro-npggay4r):before{content:"";position:absolute;inset:-11px;border:1px solid #a8d6ff55;border-radius:50%;opacity:0;transform:scale(.5);transition:opacity .6s,transform .8s}.visitor-comet:where(.astro-npggay4r)[data-arrived]:before{opacity:.8;transform:scale(1);animation:star-breathe 3.6s ease-in-out infinite}@keyframes star-breathe{50%{opacity:.3;transform:scale(1.25);filter:blur(1px)}}@media(prefers-reduced-motion:reduce){.visitor-comet:where(.astro-npggay4r)[data-arrived]:before{animation:none}}.star-project:where(.astro-npggay4r){position:absolute;z-index:5;width:min(290px,80vw);border:1px solid color-mix(in srgb,var(--rim) 35%,transparent);border-radius:14px;overflow:hidden;background:color-mix(in srgb,var(--hero-bg) 95%,transparent);backdrop-filter:blur(24px);box-shadow:0 20px 70px #0003;animation:reveal-project .3s ease}.star-project:where(.astro-npggay4r) img:where(.astro-npggay4r){width:100%;height:125px;object-fit:contain;background:#e9eef5;padding:8px}.star-project:where(.astro-npggay4r) a:where(.astro-npggay4r)>div:where(.astro-npggay4r){padding:16px}.star-project:where(.astro-npggay4r) small:where(.astro-npggay4r){font-size:10px;color:var(--hero-soft)}.star-project:where(.astro-npggay4r) h2:where(.astro-npggay4r){font:500 17px var(--font-sans);margin:8px 0}.star-project:where(.astro-npggay4r) p:where(.astro-npggay4r){font-size:12px;line-height:1.7;color:var(--hero-soft)}.star-project:where(.astro-npggay4r) span:where(.astro-npggay4r){display:block;font-size:11px;margin-top:12px}@keyframes reveal-project{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}.star-sea:where(.astro-npggay4r){position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 35% 65%,#647bc51c,transparent 65%)}.star-sea:where(.astro-npggay4r) canvas{display:block;width:100%;height:100%}@font-face{font-family:Allura;src:url(/_astro/Allura-Latin-Regular.4sUZKTf1.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}body:has(.sphere-hero){overflow-x:clip}.sphere-hero:where(.astro-mv3omm4m){--hero-bg:hsl(var(--background));--hero-ink:hsl(var(--foreground));--hero-soft:hsl(var(--muted-foreground));--sky:#edf3fc;--star:#4e7199;--atmosphere:#7aa8ff;--rim:#6d97dd;--planet-top:#cbdcf2;--nebula-opacity:.2;--px:0px;--py:0px;position:relative;isolation:isolate;flex-shrink:0;width:100vw;margin-inline:calc(50% - 50vw);margin-bottom:5rem;min-height:650px;height:calc(100svh - 80px);max-height:1100px;display:grid;place-items:center;overflow:clip;color:var(--hero-ink);background:var(--hero-bg)}.dark .sphere-hero:where(.astro-mv3omm4m){--sky:#080f20;--star:#d3e5ff;--atmosphere:#548cff;--rim:#abcfff;--planet-top:#162b4a;--nebula-opacity:.32}.universe:where(.astro-mv3omm4m){position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse 80% 75% at 50% 65%,var(--sky),var(--hero-bg) 85%)}.stars:where(.astro-mv3omm4m){position:absolute;inset:-4%;transform:translate(calc(var(--px)*-.4),calc(var(--py)*-.4));mask-image:linear-gradient(#000 10%,#000 60%,transparent 83%)}.stars:where(.astro-mv3omm4m) i:where(.astro-mv3omm4m){position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);background:var(--star);border-radius:50%;opacity:.4;box-shadow:0 0 5px color-mix(in srgb,var(--star) 45%,transparent);animation:twinkle var(--duration) ease-in-out var(--delay) infinite alternate}.nebula:where(.astro-mv3omm4m){position:absolute;width:70%;height:50%;filter:blur(60px);opacity:var(--nebula-opacity);border-radius:50%;will-change:transform}.nebula-one:where(.astro-mv3omm4m){left:-15%;top:18%;background:radial-gradient(ellipse,#6885d8,transparent 65%);animation:drift 24s ease-in-out infinite alternate}.nebula-two:where(.astro-mv3omm4m){right:-15%;top:30%;background:radial-gradient(ellipse,#579ab4,transparent 65%);animation:drift 30s ease-in-out -12s infinite alternate-reverse}.orbital-trace:where(.astro-mv3omm4m){position:absolute;left:50%;top:50%;width:1100px;height:410px;border:1px solid color-mix(in srgb,var(--star) 9%,transparent);border-radius:50%;transform:translate(-50%,-50%) rotate(-23deg);mask-image:linear-gradient(90deg,#000,transparent 40%,transparent 60%,#000)}.trace-two:where(.astro-mv3omm4m){width:1400px;height:530px;transform:translate(-50%,-50%) rotate(21deg);opacity:.6}.horizon-light:where(.astro-mv3omm4m){position:absolute;top:43%;left:50%;width:110%;height:44%;transform:translate(calc(-50% + var(--px)),var(--py));background:radial-gradient(ellipse 50% 40% at 50% 50%,color-mix(in srgb,var(--atmosphere) 38%,transparent),transparent 75%);filter:blur(24px);animation:breathe 9s ease-in-out infinite alternate}.horizon-sun:where(.astro-mv3omm4m){position:absolute;left:50%;top:60%;width:36%;height:120px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--rim) 85%,white),color-mix(in srgb,var(--atmosphere) 50%,transparent) 25%,transparent 70%);filter:blur(12px)}.orbit:where(.astro-mv3omm4m){position:absolute;top:61%;left:50%;width:max(170vw,1400px);aspect-ratio:1;border-radius:50%;padding:2px;transform:translate(calc(-50% + var(--px)*.35),calc(var(--py)*.25));background:linear-gradient(90deg,transparent 12%,var(--atmosphere) 35%,#e3f2ff 50%,var(--atmosphere) 65%,transparent 88%);box-shadow:0 -2px 12px color-mix(in srgb,var(--rim) 50%,transparent),0 -12px 70px -12px color-mix(in srgb,var(--atmosphere) 55%,transparent)}.planet:where(.astro-mv3omm4m){position:relative;width:100%;height:100%;border-radius:50%;overflow:hidden;background:radial-gradient(ellipse 65% 12% at 50% 0,var(--planet-top),var(--hero-bg) 70%)}.planet:where(.astro-mv3omm4m):before{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 10px 28px color-mix(in srgb,var(--atmosphere) 12%,transparent)}.planet-texture:where(.astro-mv3omm4m){position:absolute;inset:0;border-radius:50%;opacity:.08;background:repeating-radial-gradient(ellipse 90% 30% at 50% -10%,transparent 0 46px,var(--star) 47px,transparent 48px 84px);mask-image:linear-gradient(#000,transparent 16%)}.horizon-flare:where(.astro-mv3omm4m){position:absolute;left:50%;top:61%;width:70%;height:2px;transform:translate(-50%,-50%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--rim) 65%,transparent),transparent);filter:blur(2px)}.ground-fade:where(.astro-mv3omm4m){position:absolute;inset:72% 0 0;background:linear-gradient(transparent,var(--hero-bg) 90%)}.universe:where(.astro-mv3omm4m){opacity:.35}.orbital-trace:where(.astro-mv3omm4m),.orbit:where(.astro-mv3omm4m),.horizon-sun:where(.astro-mv3omm4m),.horizon-flare:where(.astro-mv3omm4m),.meteor:where(.astro-mv3omm4m){display:none}.intro:where(.astro-mv3omm4m){text-align:center;max-width:800px;padding:0 24px;margin-top:-16%;animation:arrive 1s ease both}.intro-kicker:where(.astro-mv3omm4m){display:flex;align-items:center;justify-content:center;gap:9px;font-size:9px;letter-spacing:.22em;color:var(--hero-soft);margin-bottom:23px}.intro-kicker:where(.astro-mv3omm4m)>span:where(.astro-mv3omm4m){width:5px;height:5px;border-radius:50%;background:#78a5cb;box-shadow:0 0 9px #6f99bd80}.greeting:where(.astro-mv3omm4m),h1:where(.astro-mv3omm4m),.explore:where(.astro-mv3omm4m) span:where(.astro-mv3omm4m):first-child{font-family:Allura,Snell Roundhand,Segoe Script,cursive;font-weight:400;font-synthesis:none;letter-spacing:normal}.greeting:where(.astro-mv3omm4m){color:var(--hero-soft);font-size:clamp(30px,3.2vw,40px);margin-bottom:4px;line-height:1.2}h1:where(.astro-mv3omm4m){font-size:clamp(72px,9.5vw,126px);text-transform:none;line-height:1.15;margin-block:.08em .02em;text-shadow:0 2px 35px color-mix(in srgb,var(--hero-bg) 80%,transparent)}.tagline:where(.astro-mv3omm4m),.description:where(.astro-mv3omm4m){font-family:var(--font-sans);max-width:36rem;margin-inline:auto;line-height:1.8;text-wrap:balance}.tagline:where(.astro-mv3omm4m){color:var(--hero-ink);font-size:clamp(13px,1.35vw,16px);font-weight:500;margin-top:20px}.description:where(.astro-mv3omm4m){color:var(--hero-soft);font-size:14px;margin-top:7px}.actions:where(.astro-mv3omm4m){display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:27px}.actions:where(.astro-mv3omm4m) a:where(.astro-mv3omm4m){display:flex;align-items:center;gap:22px;padding:12px 20px;border-radius:7px;font-size:12px;transition:transform .2s,box-shadow .2s,background .2s}.actions:where(.astro-mv3omm4m) a:where(.astro-mv3omm4m):hover{transform:translateY(-3px);box-shadow:0 6px 25px color-mix(in srgb,var(--atmosphere) 18%,transparent)}.primary:where(.astro-mv3omm4m){background:var(--hero-ink);color:var(--hero-bg);border:1px solid var(--hero-ink)}.secondary:where(.astro-mv3omm4m){color:var(--hero-ink);border:1px solid color-mix(in srgb,var(--star) 25%,transparent);background:color-mix(in srgb,var(--hero-bg) 45%,transparent);backdrop-filter:blur(10px)}.actions:where(.astro-mv3omm4m) a:where(.astro-mv3omm4m):focus-visible,.explore:where(.astro-mv3omm4m):focus-visible{outline:2px solid var(--rim);outline-offset:6px}.explore:where(.astro-mv3omm4m){position:absolute;bottom:30px;display:flex;align-items:center;flex-direction:column;gap:12px;color:var(--hero-soft)}.explore:where(.astro-mv3omm4m) span:where(.astro-mv3omm4m):first-child{font-size:27px;line-height:1}.explore:where(.astro-mv3omm4m) span:where(.astro-mv3omm4m):last-child{font-size:13px;animation:float 2.8s ease infinite}.hero-coordinate:where(.astro-mv3omm4m){position:absolute;bottom:43px;font-family:var(--font-mono);font-size:8px;letter-spacing:.16em;color:var(--hero-soft);opacity:.65}.coordinate-left:where(.astro-mv3omm4m){left:5vw}.coordinate-right:where(.astro-mv3omm4m){right:5vw;display:flex;align-items:center;gap:8px}.coordinate-right:where(.astro-mv3omm4m) span:where(.astro-mv3omm4m){width:4px;height:4px;border-radius:50%;background:var(--rim)}.meteor:where(.astro-mv3omm4m){position:absolute;left:80%;top:10%;width:130px;height:1px;opacity:0;background:linear-gradient(90deg,transparent,var(--star));animation:shooting-star 14s linear -4s infinite}.meteor-two:where(.astro-mv3omm4m){left:45%;top:8%;width:70px;animation-delay:-10s;animation-duration:21s}.sphere-hero:where(.astro-mv3omm4m)[data-paused] .universe:where(.astro-mv3omm4m) :where(.astro-mv3omm4m),.sphere-hero:where(.astro-mv3omm4m)[data-paused] .explore:where(.astro-mv3omm4m) span:where(.astro-mv3omm4m){animation-play-state:paused}@keyframes arrive{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes twinkle{0%{opacity:.12}to{opacity:.65}}@keyframes float{50%{transform:translateY(6px)}}@keyframes drift{to{transform:translate(12%,8%) rotate(10deg)}}@keyframes breathe{0%{opacity:.6}to{opacity:1}}@keyframes shooting-star{0%,94%{opacity:0;transform:rotate(-35deg)}95%{opacity:.65}to{opacity:0;transform:translate(-500px,350px) rotate(-35deg)}}@media(min-width:1500px){.intro:where(.astro-mv3omm4m){margin-top:-10%}}@media(max-width:640px){.sphere-hero:where(.astro-mv3omm4m){height:calc(100svh - 80px);min-height:650px;margin-bottom:3rem}.intro:where(.astro-mv3omm4m){padding-inline:20px;margin-top:-35%}.intro-kicker:where(.astro-mv3omm4m){font-size:8px;margin-bottom:22px}.orbit:where(.astro-mv3omm4m){top:65%;width:300vw;min-width:1000px}.horizon-sun:where(.astro-mv3omm4m){top:64%;width:65%}.horizon-light:where(.astro-mv3omm4m){top:46%;width:160%}.horizon-flare:where(.astro-mv3omm4m){top:65%}.tagline:where(.astro-mv3omm4m){max-width:19rem;font-size:12px}.description:where(.astro-mv3omm4m){max-width:19rem;font-size:12px}.actions:where(.astro-mv3omm4m) a:where(.astro-mv3omm4m){padding:11px 15px;gap:16px}.hero-coordinate:where(.astro-mv3omm4m){display:none}}@media(prefers-reduced-motion:reduce){.sphere-hero:where(.astro-mv3omm4m) :where(.astro-mv3omm4m),.sphere-hero:where(.astro-mv3omm4m) :where(.astro-mv3omm4m):before{animation:none!important;transition:none!important}.stars:where(.astro-mv3omm4m),.orbit:where(.astro-mv3omm4m),.horizon-light:where(.astro-mv3omm4m){transform:translate(-50%)}.stars:where(.astro-mv3omm4m){transform:none}}
