:root {
  --bg:#05070a;
  --panel:#0b0f15;
  --panel2:#101722;
  --ink:#f5f7fb;
  --muted:#8c98aa;
  --line:rgba(255,255,255,.09);
  --line2:rgba(255,255,255,.16);
  --blue:#1687ff;
  --orange:#ff9f1a;
  --green:#58e45c;
  --red:#ff2b3a;
  --page-accent:#1687ff;
  --max:1520px;
  --radius:28px;
  --shadow:0 30px 90px rgba(0,0,0,.42)
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth
}

body {
  margin:0;
  background:radial-gradient(1000px 600px at 70% -10%,rgba(22,135,255,.12),transparent 64%),var(--bg);
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-x:hidden
}

a {
  color:inherit;
  text-decoration:none
}

button,input,select,textarea {
  font:inherit
}

.shell {
  width:min(calc(100% - 48px),var(--max));
  margin-inline:auto
}

.site-noise {
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.025;
  z-index:-1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")
}

.glow {
  position:fixed;
  width:420px;
  height:420px;
  border-radius:50%;
  filter:blur(100px);
  opacity:.11;
  z-index:-2
}

.glow-a {
  right:-140px;
  top:20%;
  background:var(--blue)
}

.glow-b {
  left:-170px;
  bottom:3%;
  background:var(--orange)
}

.topbar {
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:60;
  height:78px;
  padding:0 max(24px,calc((100vw - var(--max))/2));
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:34px;
  background:linear-gradient(180deg,rgba(5,7,10,.92),rgba(5,7,10,.48));
  backdrop-filter:blur(20px) saturate(130%);
  border-bottom:1px solid transparent;
  transition:.3s
}

.topbar.scrolled {
  height:68px;
  border-color:var(--line);
  background:rgba(5,7,10,.86)
}

.brand {
  display:flex;
  align-items:center;
  gap:11px
}

.brand-cube {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.15);
  background:linear-gradient(145deg,#161d29,#080b10);
  border-radius:10px;
  font-weight:900;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 8px 30px rgba(0,0,0,.35)
}

.brand-type {
  font-size:21px;
  font-weight:900;
  letter-spacing:-.04em;
  line-height:.85
}

.brand-type>span {
  color:var(--blue)
}

.brand-type small {
  display:block;
  margin-top:6px;
  color:#788395;
  font-size:7px;
  letter-spacing:.28em;
  font-weight:700;
  text-transform:uppercase
}

.mainnav {
  display:flex;
  justify-content:center;
  gap:29px
}

.mainnav a {
  font-size:12px;
  color:#a7b1bf;
  font-weight:750;
  letter-spacing:.04em;
  position:relative
}

.mainnav a:after {
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-8px;
  height:1px;
  background:var(--page-accent);
  transition:.25s
}

.mainnav a:hover {
  color:#fff
}

.mainnav a:hover:after {
  right:0
}

.top-actions {
  display:flex;
  align-items:center;
  gap:11px
}

.lang-switch {
  display:flex;
  padding:4px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.025);
  border-radius:12px
}

.lang-switch a {
  font-size:8px;
  font-weight:900;
  color:#697587;
  padding:7px 8px;
  border-radius:8px
}

.lang-switch a.active {
  background:#eef3fb;
  color:#06080c
}

.account-chip {
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 10px 6px 6px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.03);
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.06em
}

.avatar {
  width:28px;
  height:28px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--page-accent),#24344c);
  color:#fff
}

.menu-btn {
  display:none;
  background:none;
  border:0;
  color:white;
  padding:10px
}

.menu-btn span {
  display:block;
  width:22px;
  height:1px;
  background:#fff;
  margin:5px
}

.mobile-menu {
  display:none
}

.hero {
  min-height:900px;
  padding-top:150px;
  padding-bottom:90px;
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  align-items:center;
  gap:70px
}

.eyebrow,.kicker {
  display:flex;
  align-items:center;
  gap:10px;
  color:#91a0b4;
  font-size:9px;
  font-weight:900;
  letter-spacing:.2em;
  text-transform:uppercase
}

.eyebrow:before,.kicker:before {
  content:"";
  width:24px;
  height:1px;
  background:var(--page-accent);
  box-shadow:0 0 15px var(--page-accent)
}

.hero h1,.page-hero h1,.section-title h2 {
  margin:18px 0 22px;
  font-size:clamp(64px,6.5vw,112px);
  line-height:.86;
  letter-spacing:-.065em;
  font-weight:900
}

.hero h1 span,.page-hero h1 span,.section-title h2 span {
  color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.44)
}

.lede {
  max-width:720px;
  color:#a1adbd;
  font-size:17px;
  line-height:1.75
}

.hero-actions,.cta-row {
  display:flex;
  gap:12px;
  margin-top:30px;
  flex-wrap:wrap
}

.btn {
  min-height:54px;
  padding:0 22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border-radius:14px;
  border:1px solid var(--line2);
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  transition:.25s;
  cursor:pointer
}

.btn-primary {
  background:linear-gradient(135deg,var(--page-accent),color-mix(in srgb,var(--page-accent),#000 30%));
  border-color:transparent;
  color:#fff;
  box-shadow:0 15px 45px color-mix(in srgb,var(--page-accent),transparent 72%)
}

.btn-ghost {
  background:rgba(255,255,255,.025)
}

.btn:hover {
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.28)
}

.hero-metrics {
  display:flex;
  gap:44px;
  margin-top:46px;
  padding-top:25px;
  border-top:1px solid var(--line)
}

.hero-metrics strong {
  display:block;
  font-size:20px;
  letter-spacing:-.03em
}

.hero-metrics small {
  display:block;
  color:#748094;
  font-size:8px;
  letter-spacing:.13em;
  text-transform:uppercase;
  margin-top:5px
}

.hero-visual {
  position:relative
}

.lineup-stage {
  position:relative;
  padding:7px;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.13);
  background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.01));
  box-shadow:var(--shadow);
  overflow:hidden;
  transform:perspective(1400px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
  transition:transform .16s ease-out
}

.lineup-stage:before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(500px 260px at var(--mx,50%) var(--my,50%),rgba(255,255,255,.12),transparent 60%);
  z-index:2;
  pointer-events:none
}

.lineup-stage img {
  width:100%;
  display:block;
  border-radius:24px;
  opacity:.94
}

.stage-badge {
  position:absolute;
  z-index:3;
  right:22px;
  top:20px;
  padding:8px 10px;
  border:1px solid var(--line2);
  background:rgba(5,7,10,.72);
  backdrop-filter:blur(14px);
  border-radius:10px;
  font-size:7px;
  font-weight:900;
  letter-spacing:.15em
}

.scan {
  position:absolute;
  left:5%;
  right:5%;
  height:1px;
  top:0;
  background:linear-gradient(90deg,transparent,var(--page-accent),transparent);
  box-shadow:0 0 18px var(--page-accent);
  animation:scan 5.2s linear infinite;
  opacity:.7
}

@keyframes scan {
  0% {
    top:8%;
    opacity:0
  }
  8% {
    opacity:.8
  }
  80% {
    opacity:.6
  }
  100% {
    top:92%;
    opacity:0
  }
}

.signal {
  overflow:hidden;
  border-block:1px solid var(--line);
  background:#080b10
}

.signal-track {
  display:flex;
  align-items:center;
  gap:34px;
  width:max-content;
  min-height:58px;
  animation:marquee 34s linear infinite;
  color:#8490a1;
  font-size:8px;
  font-weight:900;
  letter-spacing:.17em;
  text-transform:uppercase
}

.signal-track i {
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--page-accent);
  box-shadow:0 0 15px var(--page-accent)
}

@keyframes marquee {
  to {
    transform:translateX(-50%)
  }
}

.section {
  padding:110px 0
}

.section-title {
  display:grid;
  grid-template-columns:1fr minmax(280px,480px);
  gap:50px;
  align-items:end;
  margin-bottom:46px
}

.section-title h2 {
  font-size:clamp(48px,5vw,78px);
  margin-bottom:0
}

.section-title p {
  color:#8f9bad;
  line-height:1.75;
  font-size:14px;
  margin:0
}

.model-grid {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px
}

.model-card {
  position:relative;
  overflow:hidden;
  min-height:520px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.015));
  transition:.35s
}

.model-card:hover {
  transform:translateY(-6px);
  border-color:color-mix(in srgb,var(--accent),transparent 55%);
  box-shadow:0 24px 55px rgba(0,0,0,.35)
}

.model-card:before {
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  border-radius:50%;
  right:-90px;
  top:-100px;
  background:var(--accent);
  filter:blur(70px);
  opacity:.1
}

.model-number {
  font-size:64px;
  line-height:1;
  font-weight:900;
  color:rgba(255,255,255,.035);
  position:absolute;
  right:18px;
  top:10px
}

.model-tag {
  display:inline-flex;
  padding:7px 9px;
  border-radius:8px;
  border:1px solid color-mix(in srgb,var(--accent),transparent 55%);
  color:var(--accent);
  font-size:7px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.15em
}

.model-card h3 {
  font-size:28px;
  margin:18px 0 8px;
  letter-spacing:-.05em
}

.model-card p {
  color:#8c98aa;
  font-size:12px;
  line-height:1.7;
  min-height:80px
}

.mini-machine {
  height:130px;
  margin:25px 0 24px;
  display:grid;
  place-items:center;
  perspective:700px
}

.mini-machine .box {
  position:relative;
  width:82px;
  height:94px;
  border:2px solid var(--accent);
  transform:rotateX(-10deg) rotateY(28deg);
  box-shadow:inset 0 0 40px color-mix(in srgb,var(--accent),transparent 86%),0 0 35px color-mix(in srgb,var(--accent),transparent 80%)
}

.mini-machine .box:before,.mini-machine .box:after {
  content:"";
  position:absolute;
  background:rgba(255,255,255,.4)
}

.mini-machine .box:before {
  left:10px;
  right:10px;
  top:17px;
  height:2px
}

.mini-machine .box:after {
  left:50%;
  top:17px;
  width:8px;
  height:17px;
  transform:translateX(-50%);
  background:var(--accent)
}

.spec-mini {
  display:grid;
  gap:9px;
  border-top:1px solid var(--line);
  padding-top:17px
}

.spec-mini div {
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:9px;
  color:#6f7a8c
}

.spec-mini b {
  color:#dfe5ed;
  font-weight:750
}

.card-price {
  margin-top:22px
}

.card-price small {
  display:block;
  color:#6f7a8c;
  font-size:7px;
  text-transform:uppercase;
  letter-spacing:.12em
}

.card-price strong {
  font-size:22px
}

.card-link {
  margin-top:17px;
  display:flex;
  justify-content:space-between;
  padding-top:15px;
  border-top:1px solid var(--line);
  font-size:9px;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.08em
}

.card-link span {
  color:var(--accent)
}

.split-feature {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px
}

.feature-panel {
  min-height:440px;
  padding:42px;
  border:1px solid var(--line);
  border-radius:28px;
  background:linear-gradient(145deg,#0e141e,#080b10);
  position:relative;
  overflow:hidden
}

.feature-panel:before {
  content:"";
  position:absolute;
  width:320px;
  height:320px;
  border-radius:50%;
  background:var(--page-accent);
  filter:blur(110px);
  opacity:.08;
  right:-130px;
  bottom:-140px
}

.feature-panel h3 {
  font-size:46px;
  line-height:.95;
  letter-spacing:-.055em;
  margin:120px 0 16px;
  max-width:630px
}

.feature-panel p {
  max-width:610px;
  color:#919dad;
  line-height:1.75
}

.feature-icon {
  position:absolute;
  top:38px;
  right:38px;
  font-size:52px;
  color:var(--page-accent);
  opacity:.65
}

.client-preview {
  display:grid;
  grid-template-columns:1fr .8fr;
  gap:18px;
  margin-top:18px
}

.dashboard-card {
  border:1px solid var(--line);
  background:linear-gradient(160deg,#0d121a,#080b10);
  border-radius:26px;
  padding:24px;
  min-height:310px
}

.dash-top {
  display:flex;
  justify-content:space-between;
  align-items:center
}

.dash-top b {
  font-size:20px
}

.status-pill {
  font-size:7px;
  padding:7px 9px;
  border-radius:999px;
  background:rgba(88,228,92,.1);
  border:1px solid rgba(88,228,92,.25);
  color:#80ef83;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.1em
}

.timeline {
  display:grid;
  grid-template-columns:repeat(9,1fr);
  gap:4px;
  margin:35px 0
}

.timeline span {
  height:4px;
  border-radius:4px;
  background:#19212d
}

.timeline span.on {
  background:linear-gradient(90deg,var(--blue),#58e45c);
  box-shadow:0 0 14px rgba(22,135,255,.4)
}

.dash-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px
}

.dash-metric {
  padding:14px;
  border-radius:14px;
  background:rgba(255,255,255,.025);
  border:1px solid var(--line)
}

.dash-metric small {
  display:block;
  color:#6f7b8d;
  font-size:7px;
  text-transform:uppercase
}

.dash-metric strong {
  display:block;
  margin-top:7px;
  font-size:14px
}

.secure-pay {
  display:flex;
  flex-direction:column;
  justify-content:space-between
}

.secure-pay .shield {
  font-size:78px;
  color:var(--page-accent);
  opacity:.75
}

.secure-pay h3 {
  font-size:34px;
  margin:0
}

.secure-pay p {
  color:#8d99aa;
  line-height:1.7
}

.page-hero {
  padding-top:150px;
  padding-bottom:60px
}

.page-hero h1 {
  font-size:clamp(58px,6vw,92px);
  max-width:1080px
}

.page-hero .lede {
  max-width:900px
}

.model-hero {
  padding-top:130px;
  padding-bottom:70px;
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:54px;
  align-items:center
}

.model-copy h1 {
  font-size:clamp(64px,7vw,110px);
  line-height:.87;
  margin:14px 0;
  letter-spacing:-.07em
}

.model-copy h1 small {
  display:block;
  font-size:.24em;
  letter-spacing:.04em;
  color:var(--page-accent);
  margin-bottom:8px
}

.model-copy .model-subtitle {
  font-size:28px;
  font-weight:800;
  letter-spacing:-.04em;
  margin:0 0 18px
}

.model-copy p {
  color:#97a3b4;
  line-height:1.75
}

.hero-specs {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:8px;
  margin-top:24px
}

.hero-specs div {
  padding:15px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.025)
}

.hero-specs small {
  display:block;
  font-size:7px;
  color:#758094;
  text-transform:uppercase;
  letter-spacing:.12em
}

.hero-specs b {
  display:block;
  margin-top:6px;
  font-size:13px
}

.hero-price {
  display:flex;
  align-items:end;
  gap:15px;
  margin-top:28px
}

.hero-price small {
  color:#718096;
  font-size:8px;
  text-transform:uppercase
}

.hero-price strong {
  font-size:34px;
  line-height:1
}

.viewer-shell {
  position:relative;
  min-height:620px;
  border:1px solid var(--line);
  border-radius:30px;
  background:radial-gradient(460px 300px at 50% 56%,color-mix(in srgb,var(--page-accent),transparent 88%),transparent 70%),linear-gradient(160deg,#0d1219,#07090d);
  overflow:hidden;
  box-shadow:var(--shadow);
  touch-action:none
}

.viewer-grid {
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:36px 36px;
  mask-image:linear-gradient(to bottom,transparent,black 24%,black 76%,transparent)
}

.viewer-header {
  position:absolute;
  top:18px;
  left:18px;
  right:18px;
  z-index:5;
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center
}

.viewer-header div:first-child {
  font-size:8px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#93a0b2
}

.viewer-controls {
  display:flex;
  gap:7px
}

.icon-btn {
  min-width:38px;
  height:38px;
  border-radius:11px;
  border:1px solid var(--line2);
  background:rgba(7,9,13,.74);
  color:#dbe4ef;
  cursor:pointer;
  font-size:10px
}

.viewer-help {
  position:absolute;
  bottom:18px;
  left:18px;
  z-index:5;
  color:#6f7c90;
  font-size:8px;
  letter-spacing:.08em
}

.viewer-platform {
  position:absolute;
  left:50%;
  top:56%;
  width:260px;
  height:330px;
  transform-style:preserve-3d;
  transform:translate(-50%,-50%) scale(var(--scale,1)) rotateX(var(--vx,-12deg)) rotateY(var(--vy,28deg));
  transition:transform .08s linear
}

.printer3d {
  position:absolute;
  inset:0;
  transform-style:preserve-3d
}

.p-face {
  position:absolute;
  border:2px solid color-mix(in srgb,var(--page-accent),#fff 12%);
  background:rgba(8,12,18,.28);
  box-shadow:inset 0 0 35px color-mix(in srgb,var(--page-accent),transparent 91%),0 0 20px color-mix(in srgb,var(--page-accent),transparent 92%)
}

.p-front,.p-back {
  width:260px;
  height:330px;
  left:0;
  top:0
}

.p-front {
  transform:translateZ(105px)
}

.p-back {
  transform:rotateY(180deg) translateZ(105px)
}

.p-left,.p-right {
  width:210px;
  height:330px;
  top:0;
  left:25px
}

.p-left {
  transform:rotateY(-90deg) translateZ(130px)
}

.p-right {
  transform:rotateY(90deg) translateZ(130px)
}

.p-top,.p-bottom {
  width:260px;
  height:210px;
  left:0;
  top:60px
}

.p-top {
  transform:rotateX(90deg) translateZ(165px)
}

.p-bottom {
  transform:rotateX(-90deg) translateZ(165px)
}

.p-front:before,.p-front:after {
  content:"";
  position:absolute;
  background:var(--page-accent);
  box-shadow:0 0 20px color-mix(in srgb,var(--page-accent),transparent 50%)
}

.p-front:before {
  left:16px;
  right:16px;
  top:44px;
  height:3px
}

.p-front:after {
  width:19px;
  height:34px;
  top:47px;
  left:50%;
  transform:translateX(-50%);
  border-radius:3px
}

.build-volume {
  position:absolute;
  width:172px;
  height:194px;
  left:44px;
  top:83px;
  border:1px dashed color-mix(in srgb,var(--page-accent),#fff 15%);
  transform:translateZ(109px);
  background:linear-gradient(180deg,color-mix(in srgb,var(--page-accent),transparent 95%),transparent);
  box-shadow:inset 0 0 30px color-mix(in srgb,var(--page-accent),transparent 92%)
}

.build-volume:before {
  content:"BUILD VOLUME";
  position:absolute;
  top:8px;
  left:8px;
  font-size:6px;
  font-weight:900;
  letter-spacing:.15em;
  color:var(--page-accent)
}

.bed {
  position:absolute;
  width:180px;
  height:150px;
  left:40px;
  top:190px;
  background:linear-gradient(145deg,#151d27,#080b10);
  border:1px solid rgba(255,255,255,.18);
  transform:rotateX(70deg) translateZ(80px);
  box-shadow:0 0 30px rgba(0,0,0,.5)
}

.viewer-shadow {
  position:absolute;
  left:50%;
  bottom:58px;
  width:340px;
  height:70px;
  transform:translateX(-50%);
  background:radial-gradient(ellipse,rgba(0,0,0,.72),transparent 70%);
  filter:blur(10px)
}

.spec-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px
}

.spec-card {
  padding:28px;
  border-radius:22px;
  border:1px solid var(--line);
  background:linear-gradient(150deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  min-height:250px
}

.spec-card .num {
  font-size:50px;
  color:rgba(255,255,255,.04);
  font-weight:900
}

.spec-card h3 {
  font-size:22px;
  margin:24px 0 12px
}

.spec-card p {
  color:#8995a7;
  line-height:1.7;
  font-size:12px
}

.note {
  margin-top:18px;
  padding:13px 15px;
  border-left:2px solid var(--page-accent);
  background:rgba(255,255,255,.025);
  color:#7f8b9e;
  font-size:10px;
  line-height:1.6
}

.brain-orbit {
  min-height:540px;
  border:1px solid var(--line);
  border-radius:30px;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  background:radial-gradient(circle at center,rgba(22,135,255,.11),transparent 45%),#080b10
}

.brain-core {
  width:180px;
  height:180px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:1px solid rgba(87,176,255,.5);
  background:radial-gradient(circle,#17355a,#07101c 68%);
  box-shadow:0 0 80px rgba(22,135,255,.24),inset 0 0 40px rgba(22,135,255,.25);
  font-size:31px;
  font-weight:900;
  letter-spacing:-.05em
}

.brain-core span {
  color:var(--blue)
}

.orbit {
  position:absolute;
  border:1px solid rgba(255,255,255,.09);
  border-radius:50%;
  animation:spin 18s linear infinite
}

.orbit.o1 {
  width:310px;
  height:310px
}

.orbit.o2 {
  width:430px;
  height:430px;
  animation-duration:26s;
  animation-direction:reverse
}

.orbit i {
  position:absolute;
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--blue);
  box-shadow:0 0 20px var(--blue);
  left:50%;
  top:-6px
}

@keyframes spin {
  to {
    transform:rotate(360deg)
  }
}

.brain-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px
}

.brain-card {
  padding:26px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#0b0f15;
  min-height:250px
}

.brain-card b {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:13px;
  background:rgba(22,135,255,.1);
  color:#5ab2ff;
  border:1px solid rgba(22,135,255,.2)
}

.brain-card h3 {
  margin:42px 0 10px;
  font-size:19px
}

.brain-card p {
  color:#8390a2;
  font-size:12px;
  line-height:1.7
}

.table-wrap {
  overflow:auto;
  border:1px solid var(--line);
  border-radius:24px;
  background:#090c11
}

.compare-table {
  width:100%;
  border-collapse:collapse;
  min-width:1050px
}

.compare-table th,.compare-table td {
  padding:20px 18px;
  text-align:left;
  border-bottom:1px solid var(--line);
  font-size:11px;
  white-space:nowrap
}

.compare-table thead th {
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#7b8799;
  background:#0e131b
}

.compare-table tbody th {
  font-size:18px
}

.compare-table tr:last-child>* {
  border-bottom:0
}

.dot {
  display:inline-block;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--dot);
  box-shadow:0 0 14px var(--dot);
  margin-right:10px
}

.form-shell {
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:30px;
  align-items:start
}

.sticky-copy {
  position:sticky;
  top:110px
}

.form-card {
  border:1px solid var(--line);
  border-radius:26px;
  background:linear-gradient(150deg,#0d121a,#080b10);
  padding:28px
}

.form-head {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:end;
  padding-bottom:20px;
  border-bottom:1px solid var(--line)
}

.form-head h2 {
  font-size:24px;
  margin:0
}

.price-box {
  text-align:right
}

.price-box small {
  display:block;
  color:#738094;
  font-size:7px;
  text-transform:uppercase
}

.price-box strong {
  display:block;
  font-size:22px
}

.field-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
  margin-top:22px
}

.field {
  display:grid;
  gap:7px
}

.field.full {
  grid-column:1/-1
}

.field label,.field>span {
  color:#8e9aab;
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em
}

.field input,.field select,.field textarea {
  width:100%;
  min-height:51px;
  border:1px solid var(--line);
  background:#090c11;
  color:#eef3f9;
  border-radius:13px;
  padding:0 14px;
  outline:none;
  transition:.2s
}

.field textarea {
  padding-top:14px;
  min-height:130px;
  resize:vertical
}

.field input:focus,.field select:focus,.field textarea:focus {
  border-color:color-mix(in srgb,var(--page-accent),#fff 12%);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--page-accent),transparent 88%)
}

.checkbox {
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin-top:20px;
  color:#8b97a8;
  font-size:10px;
  line-height:1.6
}

.checkbox input {
  margin-top:3px
}

.summary-box {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:20px
}

.summary-box div {
  padding:14px;
  border:1px solid var(--line);
  border-radius:13px;
  background:rgba(255,255,255,.02)
}

.summary-box small {
  display:block;
  color:#748095;
  font-size:7px;
  text-transform:uppercase;
  letter-spacing:.1em
}

.summary-box strong {
  display:block;
  margin-top:7px;
  font-size:18px
}

.summary-box .deposit strong {
  color:#8ee28f
}

.form-error,.form-success {
  padding:13px 15px;
  border-radius:12px;
  margin-bottom:14px;
  font-size:11px;
  line-height:1.5
}

.form-error {
  background:rgba(255,43,58,.08);
  border:1px solid rgba(255,43,58,.25);
  color:#ff939c
}

.form-success {
  background:rgba(88,228,92,.08);
  border:1px solid rgba(88,228,92,.2);
  color:#99ec9b
}

.auth-wrap {
  min-height:780px;
  padding-top:145px;
  padding-bottom:80px;
  display:grid;
  place-items:center
}

.auth-card {
  width:min(100%,520px);
  padding:32px;
  border:1px solid var(--line);
  border-radius:26px;
  background:linear-gradient(160deg,#0e141c,#080b10);
  box-shadow:var(--shadow)
}

.auth-card h1 {
  font-size:36px;
  letter-spacing:-.055em;
  margin:12px 0 6px
}

.auth-card>p {
  color:#7f8b9d;
  font-size:12px
}

.auth-card .field-grid {
  grid-template-columns:1fr
}

.auth-links {
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:15px;
  font-size:10px;
  color:#8ea9ca
}

.auth-card .btn {
  width:100%;
  margin-top:18px
}

.portal-hero {
  padding-top:135px;
  padding-bottom:30px;
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:30px
}

.portal-hero h1 {
  font-size:54px;
  letter-spacing:-.06em;
  margin:9px 0 0
}

.portal-actions {
  display:flex;
  gap:10px
}

.reservation-list {
  display:grid;
  gap:12px;
  padding-bottom:100px
}

.reservation-card {
  display:grid;
  grid-template-columns:1.1fr .7fr .7fr .7fr auto;
  gap:20px;
  align-items:center;
  padding:20px;
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(150deg,rgba(255,255,255,.04),rgba(255,255,255,.015))
}

.reservation-card h3 {
  margin:0 0 5px;
  font-size:21px
}

.reservation-card small {
  color:#748095;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.09em
}

.reservation-card b {
  font-size:13px
}

.empty {
  padding:50px;
  border:1px dashed var(--line2);
  border-radius:22px;
  text-align:center;
  color:#8390a3
}

.tracking-grid {
  display:grid;
  grid-template-columns:1fr .8fr;
  gap:18px;
  padding-bottom:90px
}

.tracking-card {
  border:1px solid var(--line);
  border-radius:24px;
  background:#0a0e14;
  padding:25px
}

.tracking-card h2 {
  font-size:20px;
  margin:0 0 20px
}

.progress-steps {
  display:grid;
  gap:13px
}

.progress-step {
  display:grid;
  grid-template-columns:34px 1fr;
  gap:12px;
  align-items:center;
  color:#687588
}

.progress-step i {
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:1px solid var(--line2);
  font-size:8px;
  font-style:normal
}

.progress-step.on {
  color:#e8eef6
}

.progress-step.on i {
  background:var(--page-accent);
  border-color:transparent;
  box-shadow:0 0 20px color-mix(in srgb,var(--page-accent),transparent 65%)
}

.payment-card {
  background:linear-gradient(145deg,color-mix(in srgb,var(--page-accent),transparent 93%),#0a0e14)
}

.payment-card .amount {
  font-size:42px;
  font-weight:900;
  letter-spacing:-.05em;
  margin:15px 0
}

.event-list {
  display:grid;
  gap:10px
}

.event {
  padding:12px 14px;
  border-left:2px solid var(--line2);
  background:rgba(255,255,255,.018)
}

.event b {
  font-size:11px
}

.event small {
  display:block;
  color:#6f7c8f;
  margin-top:4px;
  font-size:8px
}

.admin-table .btn {
  min-height:38px;
  padding:0 12px;
  font-size:8px
}

.admin-toolbar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  margin-bottom:18px
}

.admin-toolbar form {
  display:flex;
  gap:8px
}

.admin-toolbar select {
  min-height:40px;
  border-radius:10px;
  background:#0a0e14;
  color:#fff;
  border:1px solid var(--line);
  padding:0 10px
}

.legal {
  padding-top:140px;
  padding-bottom:100px;
  max-width:900px
}

.legal h1 {
  font-size:52px;
  letter-spacing:-.055em
}

.legal h2 {
  margin-top:40px
}

.legal p,.legal li {
  color:#909cad;
  line-height:1.8
}

.payment-result {
  min-height:760px;
  padding-top:150px;
  display:grid;
  place-items:center
}

.result-card {
  width:min(100%,700px);
  padding:40px;
  border:1px solid var(--line);
  border-radius:28px;
  background:#0a0e14;
  text-align:center
}

.result-icon {
  width:74px;
  height:74px;
  border-radius:24px;
  display:grid;
  place-items:center;
  margin:0 auto 20px;
  background:rgba(88,228,92,.09);
  border:1px solid rgba(88,228,92,.22);
  font-size:32px
}

.result-card h1 {
  font-size:46px;
  letter-spacing:-.055em;
  margin:0 0 10px
}

.result-card p {
  color:#8996a8;
  line-height:1.7
}

.footer {
  min-height:220px;
  border-top:1px solid var(--line);
  padding-top:48px;
  padding-bottom:42px;
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:40px;
  align-items:start
}

.footer-brand .brand-type small {
  letter-spacing:.08em;
  text-transform:none
}

.footer-meta {
  display:grid;
  gap:8px;
  color:#707c8e;
  font-size:9px
}

.footer-links {
  display:flex;
  gap:18px;
  font-size:9px;
  color:#8e9aac
}

.mobile-dock {
  display:none
}

.reveal {
  opacity:0;
  transform:translateY(24px);
  filter:blur(4px);
  transition:opacity .7s ease,transform .7s ease,filter .7s ease
}

.reveal.on {
  opacity:1;
  transform:none;
  filter:none
}

@media(max-width:1250px) {
  .hero {
    grid-template-columns:1fr;
    min-height:auto;
    padding-top:135px
  }
  .hero-copy {
    max-width:1050px
  }
  .model-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .model-card:last-child {
    grid-column:1/-1
  }
  .brain-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .model-hero {
    grid-template-columns:1fr
  }
  .viewer-shell {
    min-height:560px
  }
  .form-shell {
    grid-template-columns:1fr
  }
  .sticky-copy {
    position:static
  }
  .reservation-card {
    grid-template-columns:1fr .7fr .7fr auto
  }
  .reservation-card .hide-mid {
    display:none
  }
}

@media(max-width:860px) {
  body {
    padding-bottom:78px
  }
  .shell {
    width:min(calc(100% - 28px),var(--max))
  }
  .topbar {
    height:66px;
    padding:0 14px;
    grid-template-columns:auto 1fr
  }
  .mainnav,.account-chip {
    display:none
  }
  .top-actions {
    justify-self:end
  }
  .menu-btn {
    display:block
  }
  .lang-switch {
    transform:scale(.92);
    transform-origin:right center
  }
  .mobile-menu {
    position:fixed;
    z-index:55;
    left:10px;
    right:10px;
    top:72px;
    padding:10px;
    border:1px solid var(--line2);
    border-radius:18px;
    background:rgba(7,10,14,.94);
    backdrop-filter:blur(22px);
    box-shadow:var(--shadow);
    transform:translateY(-8px);
    opacity:0;
    pointer-events:none;
    transition:.25s;
    display:grid
  }
  .mobile-menu.open {
    transform:none;
    opacity:1;
    pointer-events:auto
  }
  .mobile-menu a {
    padding:14px 12px;
    border-bottom:1px solid var(--line);
    font-size:11px;
    font-weight:800
  }
  .mobile-menu a:last-child {
    border-bottom:0
  }
  .hero {
    padding-top:108px;
    padding-bottom:60px;
    gap:40px
  }
  .hero h1,.page-hero h1 {
    font-size:clamp(52px,14vw,75px)
  }
  .lede {
    font-size:14px
  }
  .hero-actions .btn,.cta-row .btn {
    width:100%
  }
  .hero-metrics {
    gap:16px;
    justify-content:space-between;
    margin-top:34px
  }
  .hero-metrics strong {
    font-size:14px
  }
  .hero-metrics small {
    font-size:6px
  }
  .lineup-stage {
    border-radius:20px;
    padding:5px
  }
  .lineup-stage img {
    border-radius:16px
  }
  .section {
    padding:76px 0
  }
  .section-title {
    grid-template-columns:1fr;
    gap:15px
  }
  .section-title h2 {
    font-size:clamp(42px,11vw,58px)
  }
  .model-grid {
    grid-template-columns:1fr
  }
  .model-card:last-child {
    grid-column:auto
  }
  .model-card {
    min-height:0
  }
  .model-card p {
    min-height:0
  }
  .split-feature,.client-preview,.tracking-grid {
    grid-template-columns:1fr
  }
  .feature-panel {
    min-height:360px;
    padding:26px
  }
  .feature-panel h3 {
    margin-top:110px;
    font-size:37px
  }
  .dashboard-card {
    min-height:280px
  }
  .dash-grid {
    grid-template-columns:1fr
  }
  .page-hero {
    padding-top:110px
  }
  .model-hero {
    padding-top:105px;
    gap:30px
  }
  .model-copy h1 {
    font-size:clamp(56px,16vw,82px)
  }
  .model-copy .model-subtitle {
    font-size:22px
  }
  .hero-specs {
    grid-template-columns:1fr
  }
  .viewer-shell {
    min-height:490px;
    border-radius:22px
  }
  .viewer-platform {
    transform:translate(-50%,-50%) scale(calc(var(--scale,1)*.78)) rotateX(var(--vx,-12deg)) rotateY(var(--vy,28deg))
  }
  .spec-grid,.brain-grid {
    grid-template-columns:1fr
  }
  .brain-orbit {
    min-height:430px
  }
  .brain-core {
    width:140px;
    height:140px;
    font-size:26px
  }
  .orbit.o1 {
    width:240px;
    height:240px
  }
  .orbit.o2 {
    width:340px;
    height:340px
  }
  .field-grid {
    grid-template-columns:1fr
  }
  .field.full {
    grid-column:auto
  }
  .form-card {
    padding:20px 16px
  }
  .form-head {
    align-items:flex-start;
    flex-direction:column
  }
  .price-box {
    text-align:left
  }
  .summary-box {
    grid-template-columns:1fr
  }
  .auth-wrap {
    padding-top:105px
  }
  .auth-card {
    padding:25px 18px
  }
  .portal-hero {
    padding-top:105px;
    align-items:flex-start;
    flex-direction:column
  }
  .portal-hero h1 {
    font-size:42px
  }
  .portal-actions {
    width:100%
  }
  .portal-actions .btn {
    flex:1
  }
  .reservation-card {
    grid-template-columns:1fr;
    gap:12px
  }
  .reservation-card .hide-mid {
    display:block
  }
  .reservation-card .btn {
    width:100%
  }
  .footer {
    grid-template-columns:1fr;
    padding-bottom:30px
  }
  .mobile-dock {
    position:fixed;
    z-index:58;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    left:8px;
    right:8px;
    bottom:max(8px,env(safe-area-inset-bottom));
    height:62px;
    padding:5px;
    border:1px solid var(--line2);
    background:rgba(7,10,14,.9);
    backdrop-filter:blur(20px);
    border-radius:18px;
    box-shadow:0 20px 55px rgba(0,0,0,.45)
  }
  .mobile-dock a {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    border-radius:13px;
    color:#7d899a;
    font-size:6.5px;
    font-weight:900;
    text-transform:uppercase
  }
  .mobile-dock a span {
    font-size:15px
  }
  .mobile-dock .dock-primary {
    background:linear-gradient(135deg,var(--blue),#0a5bc5);
    color:white
  }
  .legal {
    padding-top:110px
  }
  .legal h1 {
    font-size:42px
  }
  .payment-result {
    min-height:620px;
    padding-top:110px
  }
  .result-card {
    padding:30px 18px
  }
  .result-card h1 {
    font-size:38px
  }
}

@media(max-width:390px) {
  .brand-type {
    font-size:18px
  }
  .brand-cube {
    width:34px;
    height:34px
  }
  .lang-switch a {
    padding:6px
  }
  .hero h1 {
    font-size:50px
  }
  .viewer-platform {
    transform:translate(-50%,-50%) scale(calc(var(--scale,1)*.68)) rotateX(var(--vx,-12deg)) rotateY(var(--vy,28deg))
  }
  .viewer-shell {
    min-height:450px
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  .reveal {
    opacity:1;
    transform:none;
    filter:none
  }
  .scan,.signal-track,.orbit {
    animation:none!important
  }
  * {
    transition-duration:.001ms!important
  }
}
