:root {
  color-scheme: dark;
  --bg: #050609;
  --panel: rgba(13, 16, 26, .72);
  --panel-strong: rgba(15, 18, 30, .92);
  --line: rgba(151, 198, 255, .2);
  --text: #f7f9ff;
  --muted: #aab3c8;
  --blue: #20b8ff;
  --violet: #9b4dff;
  --green: #26f184;
  --hairline: rgba(202, 226, 255, .16);
  --hairline-bright: rgba(132, 216, 255, .34);
  --glass: linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.024)), rgba(9, 12, 21, .7);
  --shadow: 0 24px 90px rgba(0, 0, 0, .48);
  --soft-shadow: 0 30px 110px rgba(0, 0, 0, .38), 0 0 70px rgba(51, 157, 255, .06);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  overflow-x: hidden;
  --gate-progress: 0;
}

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

.ambient {
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(115deg, transparent 0 18%, rgba(32, 184, 255, .12) 26%, transparent 38% 58%, rgba(155, 77, 255, .12) 68%, transparent 82%),
    linear-gradient(180deg, rgba(255,255,255,.025), transparent 34%);
  z-index: -2;
}

.ambient::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .26;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(circle at center, #000, transparent 75%);
}

.light-weave {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
}

.light-weave span {
  position: absolute;
  left: -18vw;
  width: 136vw;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(72, 199, 255, .45), rgba(172, 91, 255, .42), transparent);
  filter: drop-shadow(0 0 18px rgba(64, 187, 255, .48));
  opacity: .38;
  transform: rotate(-12deg);
  animation: weave 13s ease-in-out infinite alternate;
}

.light-weave span:nth-child(1) { top: 22%; }
.light-weave span:nth-child(2) { top: 47%; animation-delay: -4s; opacity: .24; transform: rotate(10deg); }
.light-weave span:nth-child(3) { top: 74%; animation-delay: -8s; opacity: .2; }

.topbar {
  position: fixed;
  top: 14px;
  left: 50%;
  z-index: 20;
  width: min(1160px, calc(100vw - 28px));
  min-height: 68px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 10px 12px;
  border: 1px solid var(--hairline);
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.105), rgba(255,255,255,.028) 46%, rgba(98, 64, 170, .08)),
    rgba(5, 6, 9, .58);
  box-shadow: 0 24px 86px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.1);
  backdrop-filter: blur(32px) saturate(1.24);
}

.topbar::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(105deg, rgba(123, 218, 255, .18), transparent 28% 70%, rgba(173, 88, 255, .16));
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  padding: 1px;
}

.brand, .topbar nav, .hero-actions, .trust-row, footer {
  display: flex;
  align-items: center;
}

.brand { gap: 10px; font-weight: 900; letter-spacing: 0; }
.brand img { width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(97, 191, 255, .36); }
.brand-title {
  color: #f7fbff;
  text-shadow: 0 0 18px rgba(91, 196, 255, .34), 0 0 30px rgba(155, 77, 255, .22);
  white-space: nowrap;
}

.topbar nav { gap: 18px; color: var(--muted); font-size: 14px; }
.topbar nav a {
  position: relative;
  transition: color .28s ease;
}
.topbar nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -7px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #67d8ff, #a856ff, transparent);
  opacity: 0;
  transform: scaleX(.3);
  transition: opacity .28s ease, transform .28s ease;
}
.topbar nav a:hover { color: var(--text); }
.topbar nav a:hover::after { opacity: .85; transform: scaleX(1); }

.nav-cta, .button, .plan a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 16px;
  font-weight: 820;
  letter-spacing: 0;
  transition: transform .32s cubic-bezier(.2,.8,.2,1), border-color .32s ease, box-shadow .32s ease, filter .32s ease;
}

.nav-cta, .button.primary, .plan a {
  background:
    linear-gradient(135deg, rgba(255,255,255,.22), transparent 28% 70%, rgba(255,255,255,.1)),
    linear-gradient(135deg, var(--blue), #597dff 48%, var(--violet));
  box-shadow: 0 14px 38px rgba(44, 142, 255, .28), inset 0 1px 0 rgba(255,255,255,.24);
}

.button.secondary {
  border: 1px solid var(--hairline);
  background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.02));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.09);
}

.nav-cta:hover, .button:hover, .plan a:hover { transform: translateY(-2px); filter: saturate(1.08); }

.gate {
  position: relative;
  height: 420vh;
  background:
    radial-gradient(circle at 50% 42%, rgba(32, 184, 255, .15), transparent 27%),
    radial-gradient(circle at 52% 46%, rgba(155, 77, 255, .13), transparent 30%),
    #020306;
}

.gate-stage {
  position: sticky;
  top: 0;
  min-height: 100vh;
  display: grid;
  place-items: center;
  overflow: hidden;
  isolation: isolate;
}

.gate-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  background:
    radial-gradient(circle at 50% 48%, transparent 0 12%, rgba(37, 139, 255, .16) 16%, transparent 30%),
    radial-gradient(circle at 50% 48%, transparent 0 26%, rgba(151, 71, 255, .12) 31%, transparent 48%),
    linear-gradient(180deg, rgba(5,6,9,.18), rgba(5,6,9,.98));
  opacity: calc(.45 + var(--gate-progress) * .45);
  transform: scale(calc(1 + var(--gate-progress) * .22));
}

.starfield {
  position: absolute;
  inset: -20%;
  z-index: -3;
  opacity: calc(.12 + var(--gate-progress) * .34);
  background-image:
    radial-gradient(circle, rgba(255,255,255,.7) 0 1px, transparent 1.8px),
    radial-gradient(circle, rgba(76, 197, 255,.72) 0 1px, transparent 1.9px),
    radial-gradient(circle, rgba(181, 95, 255,.62) 0 1px, transparent 2px);
  background-size: 144px 144px, 227px 227px, 341px 341px;
  background-position: 0 0, 22px 31px, 71px 12px;
  transform: scale(calc(1 + var(--gate-progress) * 1.45)) rotate(calc(var(--gate-progress) * 8deg));
  animation: starBreath 6s ease-in-out infinite alternate;
}

.gate-canvas {
  position: absolute;
  inset: -8%;
  z-index: -2;
  width: 116%;
  height: 116%;
  opacity: calc(.72 + var(--gate-progress) * .22);
  mix-blend-mode: screen;
}

.gate-tunnel {
  position: absolute;
  inset: -16vmax;
  z-index: -1;
  display: grid;
  place-items: center;
  transform:
    perspective(900px)
    translateZ(calc(var(--gate-progress) * 180px))
    scale(calc(.78 + var(--gate-progress) * 1.35));
  filter: blur(calc(var(--gate-progress) * 1.2px));
}

.gate-tunnel span {
  position: absolute;
  width: min(76vmin, 680px);
  aspect-ratio: 1;
  border-radius: 50%;
  border: 0;
  background:
    conic-gradient(from 34deg, transparent 0 18%, rgba(83, 207, 255, .36), transparent 34% 55%, rgba(158, 80, 255, .32), transparent 76%),
    radial-gradient(circle, transparent 58%, rgba(110, 216, 255, .11) 59% 60%, transparent 61%);
  mask: radial-gradient(circle, transparent 56%, #000 57% 59%, transparent 62%);
  box-shadow:
    0 0 58px rgba(32, 184, 255, .22),
    inset 0 0 52px rgba(155, 77, 255, .18);
  opacity: .74;
  animation: tunnelSpin 10s linear infinite;
  transform: rotate(calc(var(--gate-progress) * 160deg));
}

.gate-tunnel span:nth-child(2) {
  width: min(104vmin, 960px);
  opacity: .48;
  filter: blur(.4px);
  animation-duration: 16s;
  animation-direction: reverse;
}

.gate-tunnel span:nth-child(3) {
  width: min(136vmin, 1240px);
  opacity: .34;
  filter: blur(.8px);
  animation-duration: 24s;
}

.gate-tunnel span:nth-child(4) {
  width: min(168vmin, 1500px);
  opacity: .22;
  filter: blur(1.4px);
  animation-duration: 32s;
  animation-direction: reverse;
}

.gate-shield {
  position: relative;
  z-index: 2;
  width: clamp(220px, 31vmin, 430px);
  aspect-ratio: 1;
  border-radius: 50%;
  transform:
    perspective(1000px)
    translateZ(calc(var(--gate-progress) * 520px))
    scale(calc(1 + var(--gate-progress) * 5.6))
    rotate(calc(var(--gate-progress) * -18deg));
  opacity: calc(1 - max(0, var(--gate-progress) - .72) * 2.7);
  filter: drop-shadow(0 0 44px rgba(63, 189, 255, .6));
  transition: opacity .12s linear;
}

.gate-shield::before {
  content: "";
  position: absolute;
  inset: -19%;
  border-radius: 50%;
  background: conic-gradient(from 0deg, transparent, rgba(32,184,255,.82), rgba(155,77,255,.78), transparent 72%);
  mask: radial-gradient(circle, transparent 51%, #000 52% 56%, transparent 57%);
  animation: gateWheel 2.2s linear infinite;
}

.gate-shield::after {
  content: "";
  position: absolute;
  inset: -44%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(96, 214, 255, .2), transparent 62%);
  opacity: calc(.36 + var(--gate-progress) * .28);
  animation: portalGlow 3.4s ease-in-out infinite alternate;
}

.gate-shield img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

.gate-layer {
  position: absolute;
  z-index: 3;
  width: min(760px, calc(100vw - 36px));
  text-align: center;
  opacity: 0;
  transform: translateY(34px) scale(.955);
  pointer-events: none;
}

.gate-layer h2 {
  margin: 0;
  font-size: clamp(46px, 9vw, 112px);
  line-height: .9;
  letter-spacing: 0;
  text-shadow: 0 0 34px rgba(80, 194, 255, .42), 0 0 88px rgba(157, 82, 255, .3);
}

.gate-layer h3 {
  margin: 0 auto;
  max-width: 700px;
  font-size: clamp(29px, 5.6vw, 68px);
  line-height: 1.02;
  font-weight: 880;
  text-shadow: 0 0 46px rgba(76, 199, 255, .2), 0 0 68px rgba(155, 77, 255, .24);
}

.gate-flow,
.gate-final,
.gate-connect {
  display: grid;
  justify-items: center;
  gap: 18px;
}

.gate-connect p {
  margin: 0;
  color: #dbe7ff;
  font-size: clamp(22px, 4vw, 42px);
  font-weight: 820;
}

.gate-chips {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 680px;
}

.gate-chips span {
  padding: 10px 16px;
  border: 1px solid var(--hairline);
  border-radius: 999px;
  color: #e8f3ff;
  background: linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.025));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 0 30px rgba(60, 181, 255, .11);
  backdrop-filter: blur(18px);
}

.gate-icon-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(78px, 1fr));
  gap: 12px;
  width: min(560px, 100%);
}

.gate-icon-grid span {
  display: grid;
  place-items: center;
  gap: 6px;
  min-height: 86px;
  border: 1px solid var(--hairline);
  border-radius: 22px;
  background: var(--glass);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.11), 0 22px 60px rgba(0,0,0,.28), 0 0 34px rgba(49, 177, 255, .12);
}

.gate-icon-grid b {
  color: #eef6ff;
  font-size: 12px;
}

.scroll-hint {
  position: absolute;
  left: 50%;
  bottom: 30px;
  z-index: 4;
  transform: translateX(-50%);
  color: rgba(224, 234, 255, .72);
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: calc(1 - var(--gate-progress) * 2.1);
}

body.gate-step-brand .gate-brand,
body.gate-step-start .gate-start,
body.gate-step-access .gate-access,
body.gate-step-gpt .gate-gpt,
body.gate-step-final .gate-final {
  opacity: 1;
  transform: translateY(0) scale(1);
  transition: opacity .78s cubic-bezier(.2,.8,.2,1), transform .78s cubic-bezier(.2,.8,.2,1);
}

body.gate-step-brand .gate-shield,
body.gate-step-start .gate-shield,
body.gate-step-access .gate-shield,
body.gate-step-gpt .gate-shield,
body.gate-step-final .gate-shield {
  opacity: .16;
}

.hero {
  position: relative;
  min-height: 100vh;
  padding: 148px max(22px, calc((100vw - 1160px) / 2)) 86px;
  overflow: hidden;
}

.hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .46;
  filter: saturate(1.15) contrast(1.05);
  z-index: -1;
  animation: heroDrift 16s ease-in-out infinite alternate;
}

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5,6,9,.94), rgba(5,6,9,.42) 48%, rgba(5,6,9,.74)),
    linear-gradient(180deg, rgba(5,6,9,.12), transparent 48%, var(--bg)),
    linear-gradient(145deg, rgba(32,184,255,.08), transparent 36%, rgba(155,77,255,.08));
  z-index: -1;
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(330px, .62fr);
  align-items: center;
  gap: 48px;
}

.eyebrow {
  margin: 0 0 12px;
  color: #68d7ff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

h1, h2, h3, p { margin-top: 0; }

h1 {
  margin-bottom: 18px;
  max-width: 780px;
  font-size: clamp(48px, 8.4vw, 104px);
  line-height: .92;
  letter-spacing: 0;
  text-wrap: balance;
  text-shadow: 0 0 38px rgba(61, 177, 255, .22), 0 0 82px rgba(155, 77, 255, .16);
}

h2 {
  margin-bottom: 0;
  font-size: clamp(30px, 3.8vw, 52px);
  line-height: 1.04;
  letter-spacing: 0;
  text-wrap: balance;
}

.lead {
  max-width: 650px;
  color: #e2e8f7;
  font-size: clamp(18px, 1.9vw, 21px);
  line-height: 1.58;
  text-wrap: pretty;
}

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

.signal-line {
  position: relative;
  width: min(560px, 100%);
  height: 1px;
  margin-top: 30px;
  background: linear-gradient(90deg, transparent, rgba(96, 213, 255, .65), rgba(172, 91, 255, .58), transparent);
  overflow: hidden;
}

.signal-line::after {
  content: "";
  position: absolute;
  inset: -2px auto -2px 0;
  width: 90px;
  background: linear-gradient(90deg, transparent, #fff, transparent);
  filter: blur(2px);
  animation: signal 2.8s ease-in-out infinite;
}

.trust-row { gap: 10px; flex-wrap: wrap; margin-top: 28px; }
.trust-row span {
  padding: 9px 13px;
  border: 1px solid var(--hairline);
  border-radius: 999px;
  color: #dfeaff;
  background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.018));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.sl-icon {
  --icon-size: 42px;
  position: relative;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: var(--icon-size);
  height: var(--icon-size);
  border: 1px solid rgba(128, 218, 255, .3);
  border-radius: 15px;
  color: #88e3ff;
  font-style: normal;
  background:
    radial-gradient(circle at 28% 18%, rgba(255,255,255,.26), transparent 24%),
    linear-gradient(145deg, rgba(39, 188, 255, .18), rgba(157, 79, 255, .18)),
    rgba(5, 7, 14, .76);
  box-shadow:
    0 0 0 1px rgba(139, 93, 255, .14),
    0 0 18px rgba(48, 185, 255, .24),
    0 0 32px rgba(158, 76, 255, .14),
    inset 0 0 22px rgba(97, 204, 255, .12);
  text-shadow: 0 0 14px rgba(117, 221, 255, .8), 0 0 22px rgba(155, 77, 255, .55);
}

.sl-icon::before {
  display: block;
  font-size: calc(var(--icon-size) * .54);
  font-weight: 900;
  line-height: 1;
  background: linear-gradient(135deg, #7de5ff 10%, #477dff 45%, #b65cff 85%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 0 7px rgba(93, 202, 255, .65));
}

.sl-icon::after {
  content: "";
  position: absolute;
  inset: -5px;
  border-radius: inherit;
  border: 1px solid rgba(94, 207, 255, .13);
  opacity: .9;
  pointer-events: none;
}

.icon-power::before { content: "⏻"; }
.icon-gift::before { content: "▣"; }
.icon-spark::before { content: "✦"; }
.icon-crown::before { content: "♛"; }
.icon-diamond::before { content: "◇"; }
.icon-gpt::before { content: "∞"; font-size: calc(var(--icon-size) * .7); }
.icon-cube::before { content: "⬡"; }
.icon-qr::before { content: "▦"; }
.icon-smart::before { content: "✺"; }
.icon-support::before { content: "☏"; }

.product-preview, .steps article, .plan, .feature-grid article, .bot-map-grid article, .review, .review-form, details, .smart {
  border: 1px solid var(--hairline);
  background: var(--glass);
  box-shadow: var(--soft-shadow);
  backdrop-filter: blur(22px) saturate(1.15);
}

.product-preview {
  position: relative;
  width: min(410px, 100%);
  justify-self: end;
  padding: 12px;
  border-radius: 38px;
  animation: panelFloat 7s ease-in-out infinite;
  background:
    linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.025) 45%, rgba(117, 72, 255, .1)),
    rgba(5, 6, 9, .66);
  box-shadow:
    0 36px 120px rgba(0,0,0,.46),
    0 0 80px rgba(54, 184, 255, .13),
    inset 0 1px 0 rgba(255,255,255,.12);
}

.product-preview::before,
.product-preview::after {
  content: "";
  position: absolute;
  z-index: -1;
  border-radius: 44px;
}

.product-preview::before {
  inset: -30px;
  background: radial-gradient(circle at 28% 20%, rgba(32,184,255,.34), transparent 42%), radial-gradient(circle at 76% 58%, rgba(155,77,255,.3), transparent 44%);
  filter: blur(26px);
  opacity: .62;
}

.product-preview::after {
  inset: 8%;
  border: 1px solid rgba(142, 216, 255, .13);
  transform: rotate(-7deg) scale(1.05);
  animation: frameBreath 8s ease-in-out infinite;
}

.preview-top,
.preview-status,
.preview-actions,
.preview-gpt,
.preview-tiles,
.preview-tariffs {
  position: relative;
  z-index: 1;
}

.preview-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
  padding: 10px 12px;
  border: 1px solid var(--hairline);
  border-radius: 999px;
  background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.015)), rgba(4, 6, 11, .66);
  color: #eef6ff;
  font-weight: 920;
  text-shadow: 0 0 18px rgba(96, 205, 255, .28);
}

.preview-top img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.preview-status,
.preview-actions a,
.preview-tariffs span,
.preview-gpt,
.preview-tiles span {
  border: 1px solid var(--hairline);
  background:
    linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.022)),
    rgba(4, 6, 12, .74);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 16px 42px rgba(0,0,0,.24);
  backdrop-filter: blur(18px);
}

.preview-status {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px;
  border-radius: 24px;
}

.preview-status b { font-size: 19px; line-height: 1.18; }
.preview-status p { margin: 4px 0 0; color: #23ec80; }

.preview-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 12px;
}

.preview-actions a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 78px;
  border-radius: 24px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 0 0 1px rgba(73, 194, 255, .12), 0 22px 48px rgba(0,0,0,.22);
}

.preview-actions .sl-icon { --icon-size: 48px; border-radius: 18px; }
.preview-actions span { font-size: 18px; font-weight: 760; }

.preview-tariffs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 12px;
}

.preview-tariffs span {
  display: grid;
  place-items: center;
  min-height: 110px;
  border-radius: 22px;
  text-align: center;
}

.preview-tariffs .sl-icon { --icon-size: 44px; }
.preview-tariffs b { margin-top: 8px; font-size: 15px; }
.preview-tariffs em { margin-top: 4px; color: var(--muted); font-style: normal; font-size: 14px; }

.preview-gpt {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  margin-top: 12px;
  padding: 16px;
  border-radius: 24px;
}

.preview-gpt .sl-icon { --icon-size: 58px; border-radius: 20px; }
.preview-gpt b { display: block; font-size: 22px; }
.preview-gpt p { margin: 3px 0 0; color: var(--muted); line-height: 1.3; }
.preview-gpt span {
  padding: 10px 14px;
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.22), transparent 35%),
    linear-gradient(135deg, var(--blue), var(--violet));
  font-weight: 820;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 10px 26px rgba(73, 143, 255, .24);
}

.preview-tiles {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 12px;
}

.preview-tiles span {
  display: grid;
  place-items: center;
  gap: 7px;
  min-height: 86px;
  border-radius: 20px;
  color: #f4f8ff;
  font-size: 13px;
  text-align: center;
}

.preview-tiles .sl-icon { --icon-size: 38px; border-radius: 14px; }

.panel-head { display: flex; align-items: center; gap: 10px; color: #dfeaff; font-weight: 760; }
.pulse {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 0 rgba(38, 241, 132, .6);
  animation: pulse 1.7s ease-out infinite;
}

.metric-ring {
  width: min(260px, 70vw);
  aspect-ratio: 1;
  margin: 30px auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(12,16,28,.98) 44%, transparent 45%),
    conic-gradient(from 0deg, var(--blue), var(--violet), var(--blue));
  box-shadow: 0 0 55px rgba(67, 159, 255, .42);
  animation: rotateGlow 9s linear infinite;
}

.metric-ring span {
  display: grid;
  place-items: center;
  width: 58%;
  height: 58%;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
  background: rgba(0,0,0,.34);
  overflow: hidden;
}

.metric-ring img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.status-list { display: grid; gap: 10px; }
.status-list div { display: flex; justify-content: space-between; gap: 18px; color: var(--muted); }
.status-list strong { color: var(--text); text-align: right; }

.section {
  width: min(1160px, calc(100vw - 44px));
  margin: 0 auto;
  padding: 92px 0;
}

.band {
  position: relative;
  width: 100%;
  padding-inline: max(22px, calc((100vw - 1160px) / 2));
  background: linear-gradient(180deg, transparent, rgba(255,255,255,.028), transparent);
  overflow: hidden;
}

.glass-rail {
  position: absolute;
  inset: 42px 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(32,184,255,.35), rgba(155,77,255,.3), transparent);
  transform: skewY(-2deg);
}

.section-title {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  margin-bottom: 32px;
}

.steps, .plans, .feature-grid, .bot-map-grid, .reviews-layout {
  display: grid;
  gap: 20px;
}

.steps { grid-template-columns: repeat(3, 1fr); }
.steps article, .plan, .feature-grid article, .bot-map-grid article, .review-form, details, .smart {
  position: relative;
  border-radius: 26px;
  padding: 24px;
  overflow: hidden;
  transition: transform .34s cubic-bezier(.2,.8,.2,1), border-color .34s ease, background .34s ease, box-shadow .34s ease;
}

.steps article::before, .plan::before, .feature-grid article::before, details::before, .smart::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    linear-gradient(115deg, rgba(130, 224, 255, .22), transparent 24% 76%, rgba(168, 83, 255, .16));
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  padding: 1px;
  opacity: .7;
}

.steps article:hover, .plan:hover, .feature-grid article:hover, .bot-map-grid article:hover, details:hover {
  transform: translateY(-5px);
  border-color: var(--hairline-bright);
  box-shadow: 0 34px 110px rgba(0,0,0,.36), 0 0 58px rgba(73, 194, 255, .12);
}

.steps span { color: #67d8ff; font-weight: 900; text-shadow: 0 0 18px rgba(103,216,255,.26); }
.steps p, .feature-grid p, .bot-map-grid p, .review p, details p, .smart p, .plan span { color: #b9c3d8; line-height: 1.58; text-wrap: pretty; }

.bot-map-grid { grid-template-columns: repeat(4, 1fr); }
.bot-map-grid article {
  position: relative;
  min-height: 190px;
  overflow: hidden;
}
.bot-map-grid article::before {
  content: "";
  position: absolute;
  inset: auto 18px 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(65,199,255,.5), rgba(170,78,255,.45), transparent);
}
.bot-map-grid span {
  display: block;
  margin-bottom: 12px;
  color: #eef6ff;
  font-size: 20px;
  font-weight: 840;
}

.plans { grid-template-columns: repeat(3, 1fr); }
.plan { min-height: 230px; display: flex; flex-direction: column; }
.plan p { color: #6edcff; font-weight: 900; letter-spacing: .03em; }
.plan h3 { margin-bottom: 8px; font-size: 48px; text-shadow: 0 0 28px rgba(101, 211, 255, .16); }
.plan a { margin-top: auto; }
.plan.featured {
  border-color: rgba(120, 206, 255, .38);
  transform: translateY(-12px);
  background:
    radial-gradient(circle at 72% 20%, rgba(155,77,255,.18), transparent 34%),
    radial-gradient(circle at 15% 92%, rgba(32,184,255,.14), transparent 36%),
    var(--glass);
}

.feature-grid { grid-template-columns: repeat(3, 1fr); }
.feature-grid b { display: block; margin-bottom: 12px; font-size: 21px; letter-spacing: 0; }

.smart {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  align-items: center;
  gap: 24px;
}

.reviews-layout { grid-template-columns: minmax(0, 1fr) 380px; align-items: start; }
.reviews-track { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.review {
  position: relative;
  min-height: 198px;
  padding: 26px;
  border-radius: 28px;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 82%, rgba(155,77,255,.12), transparent 38%),
    radial-gradient(circle at 14% 0%, rgba(32,184,255,.1), transparent 36%),
    var(--glass);
  box-shadow: 0 28px 92px rgba(0,0,0,.34), 0 0 46px rgba(51, 157, 255, .07);
}
.review::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(120deg, rgba(110, 220, 255, .28), transparent 26% 74%, rgba(166, 87, 255, .22));
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  padding: 1px;
  opacity: .82;
}
.review::after {
  content: "";
  position: absolute;
  right: -38px;
  bottom: -38px;
  width: 170px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(91, 203, 255, .13), rgba(155, 77, 255, .11), transparent 70%);
  filter: blur(3px);
}
.review header { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.review p, .review small { position: relative; z-index: 1; }
.review strong {
  color: #f6f9ff;
  font-size: 18px;
  letter-spacing: 0;
}
.review-mark {
  position: absolute;
  right: 24px;
  top: 30px;
  z-index: 0;
  color: rgba(119, 221, 255, .065);
  font-size: 104px;
  font-weight: 900;
  line-height: 1;
}
.stars { color: #77ddff; letter-spacing: .08em; text-shadow: 0 0 16px rgba(97, 214, 255, .42), 0 0 22px rgba(155,77,255,.3); }
.review small { color: #8f9bb5; }
.skeleton { color: var(--muted); }

.review-form {
  position: sticky;
  top: 104px;
  border-radius: 30px;
  padding: 26px;
  background:
    radial-gradient(circle at 80% 0%, rgba(155, 77, 255, .18), transparent 36%),
    linear-gradient(145deg, rgba(71, 198, 255, .105), rgba(155, 77, 255, .08)),
    rgba(10, 12, 22, .86);
  box-shadow: 0 30px 92px rgba(0,0,0,.38), 0 0 52px rgba(103, 92, 255, .1), inset 0 1px 0 rgba(255,255,255,.08);
}

.review-form h3 {
  margin-bottom: 18px;
  font-size: 26px;
  text-shadow: 0 0 26px rgba(100, 211, 255, .22);
}

label { display: grid; gap: 7px; margin-bottom: 13px; color: #dfe7fb; font-weight: 700; }
input, select, textarea {
  width: 100%;
  border: 1px solid var(--hairline);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255,255,255,.04), rgba(255,255,255,.012)), rgba(3,5,10,.74);
  color: var(--text);
  padding: 14px 15px;
  font: inherit;
  outline: none;
  box-shadow: inset 0 0 18px rgba(36, 177, 255, .045), inset 0 1px 0 rgba(255,255,255,.04);
  transition: border-color .26s ease, box-shadow .26s ease, background .26s ease;
}
textarea { min-height: 118px; resize: vertical; }
input:focus, select:focus, textarea:focus {
  border-color: rgba(95, 210, 255, .58);
  box-shadow: inset 0 0 18px rgba(36, 177, 255, .06), 0 0 0 3px rgba(58, 184, 255, .09), 0 0 28px rgba(155, 77, 255, .08);
}
.review-form button { width: 100%; border: 0; color: white; cursor: pointer; }
.form-note { min-height: 20px; margin: 12px 0 0; color: #9da8bf; font-size: 13px; line-height: 1.45; }

details { margin-bottom: 12px; }
summary { cursor: pointer; font-weight: 840; font-size: 18px; }
details p { margin: 12px 0 0; }

footer {
  width: min(1160px, calc(100vw - 44px));
  margin: 0 auto;
  padding: 36px 0 52px;
  gap: 18px;
  color: var(--muted);
  border-top: 1px solid rgba(255,255,255,.08);
}
footer span { margin-right: auto; color: var(--text); font-weight: 800; }

[data-reveal] {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .9s cubic-bezier(.2,.8,.2,1), transform .9s cubic-bezier(.2,.8,.2,1);
}
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

@keyframes heroDrift {
  from { transform: scale(1.02) translate3d(0, 0, 0); }
  to { transform: scale(1.08) translate3d(18px, -10px, 0); }
}
@keyframes panelFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
@keyframes pulse {
  to { box-shadow: 0 0 0 13px rgba(38, 241, 132, 0); }
}

@keyframes weave {
  from { transform: translateX(-3%) rotate(-12deg); }
  to { transform: translateX(3%) rotate(-10deg); }
}

@keyframes signal {
  from { transform: translateX(-120px); opacity: 0; }
  22% { opacity: .9; }
  to { transform: translateX(620px); opacity: 0; }
}

@keyframes frameBreath {
  0%, 100% { opacity: .22; transform: rotate(-7deg) scale(1.05); }
  50% { opacity: .42; transform: rotate(-5deg) scale(1.08); }
}

@keyframes tunnelSpin {
  to { rotate: 360deg; }
}

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

@keyframes portalGlow {
  from { transform: scale(.94); opacity: .3; }
  to { transform: scale(1.08); opacity: .62; }
}

@keyframes starBreath {
  from { filter: brightness(.92); }
  to { filter: brightness(1.25); }
}

@media (max-width: 900px) {
  .topbar nav { display: none; }
  .hero-grid, .steps, .plans, .feature-grid, .reviews-layout, .smart { grid-template-columns: 1fr; }
  .plan.featured { transform: none; }
  .review-form { position: static; }
  .reviews-track { grid-template-columns: 1fr; }
  .smart { align-items: start; }
  .product-preview { justify-self: center; width: min(360px, 100%); }
  .gate { height: 360vh; }
  .gate-shield { width: clamp(210px, 64vmin, 340px); }
  .gate-icon-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .preview-tiles { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
  .topbar { top: 8px; width: calc(100vw - 16px); border-radius: 18px; }
  .brand img { width: 36px; height: 36px; }
  .brand-title { max-width: 44vw; overflow: hidden; text-overflow: ellipsis; font-size: 12px; }
  .nav-cta { min-height: 42px; padding-inline: 13px; font-size: 14px; }
  .hero { padding-top: 116px; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .section { width: calc(100vw - 28px); padding: 62px 0; }
  .section-title { display: block; }
  .gate-layer { width: calc(100vw - 28px); }
  .gate-connect .button { width: 100%; }
  .product-preview { padding: 8px; border-radius: 26px; }
  .preview-status b { font-size: 19px; }
  .preview-actions { grid-template-columns: 1fr; }
  .preview-tariffs { grid-template-columns: 1fr; }
  .preview-gpt { grid-template-columns: auto 1fr; }
  .preview-gpt span { grid-column: 1 / -1; text-align: center; }
  footer { display: grid; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
