:root{--bg:#05030d;--panel:rgba(20,12,45,.72);--panel2:rgba(37,21,76,.54);--edge:rgba(183,157,255,.22);--text:#f5f0ff;--muted:#b8add0;--indigo:#7047ff;--violet:#a879ff;--cyan:#67e7ff;--pink:#ff62c7;--gold:#ffd875;--nav:82px;--radius:26px;--safe:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font:15px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at 72% 12%,#261260 0,transparent 32%),radial-gradient(circle at 20% 86%,#14125b 0,transparent 36%),linear-gradient(145deg,#030208,#0a0618 52%,#05030d);overflow-x:hidden}a{color:inherit}.spatial-atmosphere{position:fixed;inset:-20%;z-index:-3;pointer-events:none;background:conic-gradient(from 30deg,rgba(112,71,255,.23),rgba(103,231,255,.08),rgba(255,98,199,.16),rgba(112,71,255,.23));filter:blur(90px);animation:atmo 28s linear infinite}#infinityStars{position:fixed;inset:0;z-index:-2;pointer-events:none}.side-nav{position:fixed;inset:0 auto 0 0;width:var(--nav);z-index:1000;background:rgba(5,3,15,.86);border-right:1px solid var(--edge);backdrop-filter:blur(28px);overflow:hidden;transition:width .35s cubic-bezier(.2,.8,.2,1);box-shadow:20px 0 80px rgba(0,0,0,.4)}body.nav-open .side-nav{width:310px}.side-brand{height:92px;display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:center;padding:14px;text-decoration:none}.side-mark{width:54px;height:54px;display:grid;place-items:center;border-radius:20px;background:radial-gradient(circle at 35% 25%,#fff,#bca7ff 14%,#7047ff 52%,#160a39 78%);font-size:31px;font-weight:1000;box-shadow:0 0 35px rgba(112,71,255,.65)}.side-copy{white-space:nowrap;opacity:0;transition:.25s}.nav-open .side-copy{opacity:1}.side-copy small{display:block;color:var(--muted);font-size:10px}.side-nav nav{display:grid;gap:7px;padding:10px}.side-nav nav a{display:grid;grid-template-columns:46px 1fr;align-items:center;min-height:52px;padding:5px 10px;border-radius:17px;text-decoration:none;color:var(--muted);white-space:nowrap;transform-style:preserve-3d}.side-nav nav a:hover,.side-nav nav a.active{color:#fff;background:linear-gradient(90deg,rgba(112,71,255,.28),rgba(103,231,255,.07));box-shadow:inset 3px 0 var(--violet),0 12px 34px rgba(0,0,0,.28)}.nav-icon{font-size:20px;text-align:center}.nav-auth{position:absolute;left:10px;right:10px;bottom:18px;display:grid;grid-template-columns:1fr 1fr;gap:8px;opacity:0;transition:.25s}.nav-open .nav-auth{opacity:1}.nav-auth a{padding:9px;border:1px solid var(--edge);border-radius:12px;text-align:center;text-decoration:none;font-size:12px}.topbar{position:fixed;top:0;left:var(--nav);right:0;height:72px;z-index:900;display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:rgba(6,3,18,.66);border-bottom:1px solid var(--edge);backdrop-filter:blur(24px);transition:left .35s}.nav-open .topbar{left:310px}.icon-button,.pill{border:1px solid var(--edge);background:rgba(255,255,255,.055);color:#fff;border-radius:15px;padding:10px 13px;cursor:pointer;text-decoration:none}.top-brand{font-weight:1000;letter-spacing:.28em;text-decoration:none}.top-actions{display:flex;gap:9px}.pill.primary{background:linear-gradient(135deg,var(--indigo),#9d5cff);box-shadow:0 0 28px rgba(112,71,255,.35)}.shell{margin-left:var(--nav);padding:104px clamp(18px,3vw,48px) 90px;min-height:100vh;transition:margin-left .35s}.nav-open .shell{margin-left:310px}.page-intro{max-width:980px;margin-bottom:26px}.page-intro .eyebrow{color:#bba8ff;font-size:11px;letter-spacing:.22em}.page-intro h1{font-size:clamp(42px,7vw,92px);line-height:.94;margin:8px 0 15px;letter-spacing:-.055em;background:linear-gradient(90deg,#fff,#c4afff 36%,#72e9ff 70%,#fff);background-size:220% auto;background-clip:text;-webkit-background-clip:text;color:transparent;animation:shine 10s linear infinite}.page-intro p{max-width:760px;color:var(--muted);font-size:18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.card,.hero-card,.price-card,.contact-card{position:relative;padding:24px;border:1px solid var(--edge);border-radius:var(--radius);background:linear-gradient(145deg,var(--panel),rgba(9,5,22,.72));backdrop-filter:blur(22px) saturate(1.2);box-shadow:0 28px 75px rgba(0,0,0,.34);overflow:hidden;transform-style:preserve-3d}.card:before,.hero-card:before,.price-card:before{content:"";position:absolute;inset:-1px;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(164,126,255,.26),transparent 38%);opacity:0;transition:.25s;pointer-events:none}.card:hover:before,.hero-card:hover:before,.price-card:hover:before{opacity:1}.card h2,.price-card h2{margin-top:0;font-size:25px}.card p,.card li,.price-card p{color:var(--muted)}.feature-number{font-size:54px;font-weight:1000;color:#a989ff}.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.button{display:inline-flex;padding:11px 15px;border-radius:14px;border:1px solid var(--edge);text-decoration:none;background:rgba(255,255,255,.06)}.button.primary{background:linear-gradient(135deg,var(--indigo),#9b54ff)}.moving-brand span{display:inline-block;animation:letterMove 4.8s ease-in-out infinite;animation-delay:calc(var(--i)*.08s);text-shadow:0 0 22px rgba(138,104,255,.42)}.spatial-hover{transition:transform .18s ease,box-shadow .18s ease}.spatial-orb{position:fixed;right:22px;bottom:22px;z-index:950;width:68px;height:68px;border:1px solid rgba(255,255,255,.25);border-radius:25px;background:radial-gradient(circle at 35% 30%,#fff,#a38bff 13%,#7047ff 46%,#14072f 76%);color:white;font-size:34px;cursor:pointer;box-shadow:0 0 55px rgba(112,71,255,.58);animation:orbFloat 4s ease-in-out infinite}.screensaver{position:fixed;inset:0;z-index:5000;background:#020106;display:grid;place-items:center;opacity:0;visibility:hidden;transition:.6s}.screensaver.active{opacity:1;visibility:visible}.screensaver canvas,.screensaver-glow{position:absolute;inset:0;width:100%;height:100%}.screensaver-glow{background:radial-gradient(circle at 50% 45%,rgba(112,71,255,.38),transparent 28%),conic-gradient(from 0deg,rgba(112,71,255,.12),rgba(103,231,255,.08),rgba(255,98,199,.09),rgba(112,71,255,.12));filter:blur(55px);animation:atmo 22s linear infinite}.screensaver-center{position:relative;text-align:center}.screensaver-symbol{font-size:clamp(110px,22vw,300px);line-height:.75;text-shadow:0 0 80px #7047ff}.screensaver-brand{font-size:clamp(34px,7vw,90px);font-weight:1000;letter-spacing:.3em;margin-left:.3em}.screensaver-center>div:nth-child(4){color:#cbbcff;font-size:clamp(18px,3vw,38px);margin-top:18px}.screensaver-clock{display:grid;margin-top:25px}.screensaver-clock strong{font-size:clamp(34px,7vw,82px)}.screensaver-clock span,.screensaver-center small{color:var(--muted)}@keyframes letterMove{0%,100%{transform:translateY(0) rotateX(0)}40%{transform:translateY(-7px) rotateX(18deg);color:#fff}65%{transform:translateY(3px) rotateX(-8deg)}}@keyframes orbFloat{50%{transform:translateY(-10px) rotate(4deg)}}@keyframes shine{to{background-position:220% 0}}@keyframes atmo{to{transform:rotate(360deg)}}@media(max-width:800px){:root{--nav:0px}.side-nav{width:0}.nav-open .side-nav{width:min(88vw,310px)}.topbar,.nav-open .topbar{left:0}.shell,.nav-open .shell{margin-left:0;padding:92px 14px 100px}.top-brand{font-size:12px}.top-actions .primary{display:none}.spatial-orb{bottom:calc(16px + var(--safe))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}


/* ==========================================================
   INFINITY HOME GEOMETRY REPAIR
   Prevents the menu from crushing the page and restores a
   clean first-screen composition.
   ========================================================== */

:root{
  --nav:88px;
  --nav-expanded:280px;
  --top-h:82px;
  --content-max:1540px;
}

/* The expanded navigation overlays the page instead of pushing it. */
.side-nav{
  width:var(--nav);
}
body.nav-open .side-nav{
  width:var(--nav-expanded);
  box-shadow:30px 0 110px rgba(0,0,0,.68);
}

.topbar,
.nav-open .topbar{
  left:var(--nav);
}

.shell,
.nav-open .shell{
  margin-left:var(--nav);
}

.topbar{
  height:var(--top-h);
  padding-inline:clamp(18px,2vw,34px);
}

.shell{
  width:auto;
  max-width:none;
  min-width:0;
  padding:
    calc(var(--top-h) + clamp(30px,4vh,62px))
    clamp(28px,4vw,72px)
    110px;
}

.shell > *{
  width:min(100%,var(--content-max));
  margin-inline:auto;
}

/* The first screen is one composition, not five competing panels. */
.page-home .shell{
  display:block;
}

.page-home .page-intro{
  min-height:46vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  margin-bottom:0;
  padding:clamp(20px,3vh,44px) 0 clamp(20px,4vh,54px);
}

.page-home .page-intro h1{
  max-width:1180px;
  margin:12px 0 22px;
  font-size:clamp(58px,6.1vw,104px);
  line-height:.92;
  letter-spacing:-.065em;
}

.page-home .page-intro p{
  max-width:900px;
  margin:0;
  font-size:clamp(17px,1.35vw,23px);
  line-height:1.55;
}

.home-primary{
  min-height:34vh;
  display:flex;
  align-items:center;
  padding:clamp(30px,5vh,70px) 0 clamp(54px,8vh,110px);
  border-top:1px solid rgba(183,157,255,.16);
}

.home-primary-copy{
  max-width:980px;
}

.home-primary h2{
  max-width:960px;
  margin:.24em 0 .3em;
  font-size:clamp(36px,4vw,68px);
  line-height:1.02;
  letter-spacing:-.045em;
}

.home-primary p{
  max-width:760px;
  color:var(--muted);
  font-size:clamp(16px,1.2vw,20px);
}

.home-primary .cta-row{
  margin-top:28px;
}

.home-primary .button{
  min-height:48px;
  align-items:center;
  padding:12px 18px;
}

/* Features begin below the initial viewport. */
.home-features{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  padding-top:34px;
}

.home-features .card{
  min-height:280px;
  padding:30px;
}

.home-features .feature-number{
  display:block;
  margin-bottom:16px;
  font-size:42px;
}

.home-features .card h2{
  font-size:28px;
}

/* Keep the collapsed rail useful instead of chopping labels awkwardly. */
.side-nav nav a{
  overflow:hidden;
}
.side-nav nav a > span:last-child{
  opacity:0;
  transform:translateX(-8px);
  transition:opacity .22s ease,transform .22s ease;
}
.nav-open .side-nav nav a > span:last-child{
  opacity:1;
  transform:none;
}

.side-copy{
  pointer-events:none;
}

.spatial-orb{
  right:26px;
  bottom:26px;
}

/* Laptop and narrower desktop. */
@media (max-width:1200px){
  :root{
    --nav-expanded:260px;
  }

  .shell{
    padding-left:28px;
    padding-right:28px;
  }

  .page-home .page-intro h1{
    font-size:clamp(52px,6.5vw,82px);
  }
}

/* Tablet and phone use a drawer and normal document flow. */
@media (max-width:800px){
  :root{
    --nav:0px;
    --top-h:68px;
  }

  .side-nav{
    width:0;
  }

  body.nav-open .side-nav{
    width:min(88vw,var(--nav-expanded));
  }

  .topbar,
  .nav-open .topbar{
    left:0;
  }

  .shell,
  .nav-open .shell{
    margin-left:0;
  }

  .shell{
    padding:
      calc(var(--top-h) + 24px)
      16px
      100px;
  }

  .page-home .page-intro{
    min-height:auto;
    padding:30px 0 44px;
  }

  .page-home .page-intro h1{
    font-size:clamp(46px,13vw,72px);
  }

  .page-home .page-intro p{
    font-size:17px;
  }

  .home-primary{
    min-height:auto;
    padding:46px 0 72px;
  }

  .home-primary h2{
    font-size:clamp(34px,10vw,54px);
  }

  .home-features{
    grid-template-columns:1fr;
  }

  .home-features .card{
    min-height:230px;
  }
}

@media (max-width:520px){
  .topbar{
    padding-inline:12px;
  }

  .top-brand{
    letter-spacing:.18em;
  }

  .top-actions{
    gap:6px;
  }

  .top-actions .pill{
    padding:9px 10px;
    font-size:11px;
  }

  .page-home .page-intro h1{
    font-size:clamp(42px,14vw,62px);
  }

  .cta-row{
    display:grid;
    grid-template-columns:1fr;
  }

  .button{
    justify-content:center;
  }
}
