*,::before,::after{box-sizing:border-box;margin:0;padding:0;border:0 solid var(--border)}
:root{--radius:1rem;--background:oklch(0.14 0.012 250);--foreground:oklch(0.96 0.005 250);--card:oklch(0.185 0.014 250);--surface:oklch(0.165 0.013 250);--primary:oklch(0.68 0.21 45);--primary-glow:oklch(0.8 0.15 60);--primary-foreground:oklch(0.99 0 0);--secondary:oklch(0.23 0.015 250);--muted:oklch(0.23 0.015 250);--muted-foreground:oklch(0.7 0.02 250);--sky:oklch(0.78 0.12 235);--live:oklch(0.8 0.16 155);--border:oklch(1 0 0 / 9%);--gp:linear-gradient(135deg,var(--primary),var(--primary-glow));--glow:0 10px 40px -10px color-mix(in oklab,var(--primary) 60%,transparent);--fd:"Space Grotesk",sans-serif;--fs:"Manrope",sans-serif;--fm:"JetBrains Mono",monospace}
html{line-height:1.5;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px;font-family:var(--fs)}
body{background:var(--background);color:var(--foreground);font-family:var(--fs);overflow-x:hidden}
h1,h2,h3{font-family:var(--fd);letter-spacing:-.03em;font-size:inherit;font-weight:inherit}
a{color:inherit;text-decoration:inherit}img,svg,canvas{display:block}img{max-width:100%;height:auto}
button{font:inherit;color:inherit;background:transparent;cursor:pointer}ul{list-style:none}b{font-weight:700}
.wrap{max-width:80rem;margin:0 auto;padding:0 1.25rem}
.mut{color:var(--muted-foreground)}.pri{color:var(--primary)}.mono{font-family:var(--fm)}.disp{font-family:var(--fd)}
.b{font-weight:700}.sb{font-weight:600}.xs{font-size:.75rem;line-height:1rem}.sm{font-size:.875rem;line-height:1.25rem}
.tab{font-variant-numeric:tabular-nums}.pill{border-radius:9999px}.r2{border-radius:1.5rem}.r3{border-radius:1.75rem}.rx{border-radius:1.25rem}
.ic{flex-shrink:0;width:1.5rem;height:1.5rem}.i3{width:.875rem;height:.875rem}.i4{width:1rem;height:1rem}.i5{width:1.25rem;height:1.25rem}.i6{width:1.5rem;height:1.5rem}.i8{width:2rem;height:2rem}.i14{width:3.5rem;height:3.5rem}
.glass{background:color-mix(in oklab,var(--card) 70%,transparent);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid var(--border)}
.gp{background-image:var(--gp)}.glow{box-shadow:var(--glow)}.pf{color:var(--primary-foreground)}
.tg{background:linear-gradient(100deg,var(--primary),var(--primary-glow) 45%,var(--primary));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 5s linear infinite}
.gridbg{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%)}
.float{animation:float 6s ease-in-out infinite}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}
.dot{display:inline-block;border-radius:9999px;flex-shrink:0}.ping{position:relative;display:flex;width:.5rem;height:.5rem}
.ping i{position:absolute;inset:0;border-radius:9999px;background:var(--live);animation:ping 2s cubic-bezier(0,0,.2,1) infinite}
.ping b{position:relative;width:.5rem;height:.5rem;border-radius:9999px;background:var(--live)}
@keyframes shine{to{background-position:200% center}}@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes float{50%{transform:translateY(-10px)}}@keyframes feedIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes ping{75%,100%{transform:scale(2);opacity:0}}@keyframes pulse{50%{opacity:.5}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:9999px;font-weight:700;transition:transform .15s,opacity .15s,background-color .15s,color .15s}
.up:hover{transform:translateY(-.125rem)}.btn.glass:hover{background:var(--secondary)}
.hdr{position:fixed;left:0;right:0;top:0;z-index:50;border-width:0 0 1px}
.hdr .in{display:flex;height:4rem;align-items:center;justify-content:space-between}.hdr img{height:2.25rem;width:auto}
.hdr nav.d{display:none;gap:2rem}.hdr nav.d a{transition:color .15s}.hdr nav.d a:hover{color:var(--foreground)}
.hdr .cta{display:none;padding:.625rem 1.25rem;font-size:.875rem;line-height:1.25rem}.hdr .mb{display:block}
.hdr nav.m{display:none;flex-direction:column;gap:1rem;padding:0 1.25rem 1.25rem}.hdr nav.m.open{display:flex}
.hero{position:relative;overflow:hidden;padding:7rem 0 4rem}
.blob{position:absolute;border-radius:9999px;pointer-events:none}
.hero .g{position:relative;display:grid;align-items:center;gap:2.5rem}
.badge{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.375rem 1rem}
.hero h1{font-size:3rem;line-height:1.02;font-weight:700}
.hero .lead{margin-top:1.5rem;max-width:32rem;font-size:1.125rem;line-height:1.75rem}
.hero .acts{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.75rem}.hero .stats{margin-top:2.5rem;display:grid;max-width:28rem;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.hero .stats div:first-child{font-size:1.5rem;line-height:2rem;font-weight:700}
.globe{position:relative;aspect-ratio:1;width:100%}.globe canvas{position:absolute;inset:0;width:100%;height:100%}
.fc{position:absolute;padding:1rem}.fc .v{font-size:1.875rem;line-height:2.25rem;font-weight:700}
.marq{overflow:hidden;border-block:1px solid var(--border);background:var(--surface);padding:1rem 0}
.marq .t{display:flex;width:max-content;gap:3rem;font-family:var(--fd);font-size:1.125rem;line-height:1.75rem;font-weight:600;color:var(--muted-foreground);animation:marquee 30s linear infinite}
.marq span{display:flex;align-items:center;gap:3rem}
section.s{padding:6rem 0}
.eyebrow{margin-bottom:.75rem;font-size:.75rem;line-height:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--primary)}
.h2{font-size:2.25rem;line-height:2.5rem;font-weight:700}.head{margin-bottom:3rem;max-width:42rem}.head p.d{margin-top:1rem}
.plans{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -1.25rem;padding:1rem 1.25rem;scrollbar-width:none}.plans::-webkit-scrollbar{display:none}
.plan{position:relative;display:flex;width:82%;flex-shrink:0;scroll-snap-align:center;flex-direction:column;padding:1.75rem;transition:transform .3s}.plan:hover{transform:translateY(-.5rem)}
.plan .tag{position:absolute;top:-.75rem;left:1.75rem;border-radius:9999px;background:var(--foreground);color:var(--background);padding:.25rem .75rem;font-size:.75rem;line-height:1rem;font-weight:700}
.plan .n{margin-top:.5rem;font-family:var(--fd);font-size:3.75rem;line-height:1;font-weight:700}.plan .n span{margin-left:.25rem;font-size:1.25rem;line-height:1.75rem}
.plan ul{margin:1.5rem 0;font-size:.875rem;line-height:1.25rem}.plan li{display:flex;align-items:center;gap:.5rem}.plan li+li{margin-top:.625rem}
.plan .go{margin-top:auto;padding:.75rem 0;font-size:.875rem;line-height:1.25rem;background:var(--secondary)}.plan .go:hover{opacity:.9}
.plan.f .go{background:var(--background);color:var(--foreground)}
.feats{display:grid;gap:1rem}.feat{padding:1.5rem;transition:border-color .15s}.feat:hover,.svc a:hover{border-color:color-mix(in oklab,var(--primary) 50%,transparent)}
.feat .top{margin-bottom:1.25rem;display:flex;align-items:center;justify-content:space-between}
.feat .ib{display:flex;width:2.75rem;height:2.75rem;align-items:center;justify-content:center;border-radius:1.25rem;transition:transform .15s}.feat:hover .ib{transform:rotate(6deg)}
.mom{display:grid;gap:1rem}.mom>div{position:relative;overflow:hidden;padding:2rem}
.mom .bl{position:absolute;right:-2.5rem;bottom:-2.5rem;width:10rem;height:10rem;border-radius:9999px;pointer-events:none;background:color-mix(in oklab,var(--primary) 10%,transparent);filter:blur(64px);transition:background .5s}.mom>div:hover .bl{background:color-mix(in oklab,var(--primary) 30%,transparent)}
.mom h3{margin-top:1.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:700}.mom p{margin-top:.5rem;max-width:24rem}
.mom>div:first-child h3{font-size:1.875rem;line-height:2.25rem}.mom>div:first-child .ic{width:3.5rem;height:3.5rem}.mom .ic{width:2rem;height:2rem}
.sim{padding:1.5rem}.sim .tabs{margin-bottom:2rem;display:flex;flex-wrap:wrap;gap:.5rem}
.sim .tabs button{border-radius:9999px;padding:.625rem 1.25rem;font-size:.875rem;line-height:1.25rem;font-weight:700;background:var(--secondary);color:var(--muted-foreground);transition:all .15s}
.sim .tabs button:hover{color:var(--foreground)}.sim .tabs button.on{background-image:var(--gp);box-shadow:var(--glow);color:var(--primary-foreground)}
.sim .tasks{display:grid;gap:1rem}.task{border-radius:1.5rem;background:color-mix(in oklab,var(--secondary) 60%,transparent);padding:1.25rem}
.task .r{display:flex;align-items:center;justify-content:space-between}.task .r b{color:var(--primary)}
.track{margin-top:.75rem;height:.5rem;overflow:hidden;border-radius:9999px;background:var(--muted)}.track i{display:block;height:100%;border-radius:9999px;transition:all .7s}
.steps{position:relative;display:grid;gap:1.5rem}.steps .ln{display:none;position:absolute;top:1.75rem;left:12%;right:12%;height:1px;opacity:.4}
.step .ib{position:relative;display:flex;width:3.5rem;height:3.5rem;align-items:center;justify-content:center;border-radius:1.25rem}
.step .nb{position:absolute;top:-.5rem;right:-.5rem;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;border-radius:9999px;background:var(--foreground);color:var(--background);font-size:.75rem;line-height:1rem;font-weight:700}
.step h3{margin-top:1.25rem;font-size:1.125rem;line-height:1.75rem;font-weight:700}
.wifi{display:grid;align-items:center;gap:3rem}.devs{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.dev{padding:1.5rem}
.dev .ic{width:2rem;height:2rem;color:var(--primary)}
.net{position:relative;padding:6rem 0}.net .rel{position:relative}.grid{display:grid;gap:1rem}.mt4{margin-top:1rem}.mb4{margin-bottom:1rem}
.bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1.25rem}
.card{padding:1.25rem}.kpi .l{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;line-height:1rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-foreground)}
.kpi .l .ic{width:1rem;height:1rem;color:var(--primary)}.kpi .v{margin-top:.75rem;font-family:var(--fd);font-size:1.875rem;line-height:2.25rem;font-weight:700}
.kpi .v small{margin-left:.25rem;font-size:1rem;line-height:1.5rem;font-weight:500;color:var(--muted-foreground)}
.kpi .h{margin-top:.25rem;display:flex;align-items:center;gap:.5rem}.kpi .h i{width:.375rem;height:.375rem;border-radius:9999px;background:var(--live)}
.ch{display:flex;align-items:center;justify-content:space-between}.ch.top{margin-bottom:.75rem}.leg{display:flex;gap:1rem}.leg span,.mleg span{display:flex;align-items:center;gap:.5rem}
.leg i{width:.5rem;height:.5rem;border-radius:9999px}.card canvas{width:100%}
.ring{position:relative;margin:1rem auto;width:10rem;height:10rem}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:9}.ring .bg{stroke:var(--muted)}.ring .fg{stroke:var(--primary);stroke-linecap:round;transition:all 1s}
.ring .c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.ring .c b{font-family:var(--fd);font-size:2.25rem;line-height:2.5rem}
.mini{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;text-align:center}.mini div{border-radius:1.25rem;background:var(--secondary);padding:.5rem}.mini b{display:block;font-family:var(--fm);font-size:1rem;line-height:1.5rem}
.mleg{display:flex;flex-wrap:wrap;gap:1rem}.mleg i{width:.625rem;height:.625rem;border-radius:.25rem}
.app{display:grid;grid-template-columns:120px 1fr 90px;align-items:center;gap:.75rem}.app+.app{margin-top:.75rem}.app .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app .tr{height:.625rem;overflow:hidden;border-radius:9999px;background:var(--secondary)}.app .tr i{display:block;height:100%;border-radius:9999px;transition:all 1s}.app .mb{text-align:right}
.evs li{display:flex;gap:.75rem;border-radius:1.25rem;background:color-mix(in oklab,var(--secondary) 60%,transparent);padding:.625rem;animation:feedIn .5s ease-out}.evs li+li{margin-top:.5rem}
.evs li .dot{margin-top:.25rem;width:.5rem;height:.5rem}.evs li>div{min-width:0}
.svc{display:grid;gap:1rem}.svc a{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;transition:all .15s}.svc a:hover{transform:translateY(-.25rem)}
.svc a span{display:flex;align-items:center;gap:.75rem;font-weight:600}.svc a>.ic{width:1rem;height:1rem;color:var(--muted-foreground);transition:transform .15s,color .15s}
.svc a:hover>.ic{transform:translate(.125rem,-.125rem);color:var(--primary)}
.faq{display:grid;gap:2.5rem}.faq .list>*+*{margin-top:.75rem}
.fi{display:block;width:100%;padding:1.25rem;text-align:left}.fi .q{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-weight:600}
.fi .q .ic{width:1.25rem;height:1.25rem;color:var(--primary);transition:transform .15s}.fi.open .q .ic{transform:rotate(45deg)}
.fi .w{display:grid;grid-template-rows:0fr;transition:all .3s}.fi.open .w{margin-top:.75rem;grid-template-rows:1fr}.fi .w span{display:block;overflow:hidden}
.contact{padding:0 1.25rem 4rem}.cbox{position:relative;max-width:80rem;margin:0 auto;overflow:hidden;border-radius:2rem;padding:2.5rem}
.cbox .g{display:grid;gap:2.5rem}.cbox h2{font-size:2.25rem;line-height:2.5rem;font-weight:700}
.cbox .btn{margin-top:2rem;padding:.875rem 1.75rem;background:var(--background);color:var(--foreground)}
.cbox li{display:flex;gap:.75rem}.cbox li+li{margin-top:1rem}.cbox li .ic{width:1.25rem;height:1.25rem}.cbox ul{font-size:.875rem;line-height:1.25rem}
footer.ft{max-width:80rem;margin:3rem auto 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}footer.ft img{height:2rem;width:auto}
.fab{position:fixed;right:1.25rem;bottom:1.25rem;z-index:50;display:flex;width:3.5rem;height:3.5rem;align-items:center;justify-content:center;border-radius:9999px;transition:transform .15s}.fab:hover{transform:scale(1.1)}
@media(min-width:40rem){.kg{grid-template-columns:repeat(2,1fr)}}
@media(min-width:48rem){
.hdr nav.d{display:flex}.hdr .cta{display:inline-flex}.hdr .mb,.hdr nav.m{display:none!important}
.hero{padding-top:9rem}.hero h1{font-size:4.5rem}.h2{font-size:3rem;line-height:1}.fc.a{left:1rem}.fc.b{right:1rem}
.plans{display:grid;grid-template-columns:repeat(2,1fr);overflow:visible;margin:0;padding:1rem 0}.plan{width:auto}
.feats{grid-template-columns:repeat(4,1fr)}.mom{grid-template-columns:repeat(2,1fr)}.mom>div:first-child{grid-row:span 2}.mom>div:first-child h3{font-size:2.25rem;line-height:2.5rem}
.sim{padding:2.5rem}.sim .tasks{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(4,1fr)}.steps .ln{display:block}
.kpi .v{font-size:2.25rem;line-height:2.5rem}.card canvas.mx{height:18rem}.svc{grid-template-columns:repeat(4,1fr)}.faq{grid-template-columns:1fr 1.5fr}
.cbox{padding:4rem}.cbox .g{grid-template-columns:repeat(2,1fr)}.cbox h2{font-size:3.75rem;line-height:1}.cbox ul{font-size:1rem;line-height:1.5rem}}
@media(min-width:64rem){.hero .g,.wifi{grid-template-columns:repeat(2,1fr)}.plans{grid-template-columns:repeat(4,1fr)}.k4{grid-template-columns:repeat(4,1fr)}.k3{grid-template-columns:repeat(3,1fr)}.sp2{grid-column:span 2}}
.ex{margin-top:1.25rem;border-radius:1.5rem;border:1px solid color-mix(in oklab,var(--primary) 25%,transparent);background:color-mix(in oklab,var(--primary) 10%,transparent);padding:.75rem 1rem}
.ex span{display:block;font-size:.75rem;line-height:1rem;color:var(--primary)}.ex b{display:block;font-family:var(--fd);font-size:1.5rem;line-height:2rem;font-weight:700;color:var(--foreground)}
.plan.f .ex{background:rgb(255 255 255/.2);border-color:rgb(255 255 255/.3)}.plan.f .ex span,.plan.f .ex b{color:var(--primary-foreground)}.plan .ex+ul{margin-top:1.25rem}
.credit{max-width:80rem;margin:2rem auto 0;text-align:center}.credit a{font-weight:600;color:var(--foreground);transition:color .15s}.credit a:hover{color:var(--primary)}
