:root{
  --bg:#04060b;
  --bg2:#05070d;

  --text:#eef2ff;
  --muted:#9aa7c7;

  --stroke:rgba(255,255,255,.09);
  --card:rgba(18,26,44,.72);

  /* BLUE ACCENT */
  --accent:#2a60d9;
  --accent2:#4aa3ff;

  --blue:#2a60d9;
  --green:#19c37d;

  --shadow: 0 24px 80px rgba(0,0,0,.58);
  --radius: 22px;
  --radius2: 16px;

  /* STEPS (MyGhost-like) */
  --stepOrange1: #ff7a1a;
  --stepOrange2: #ff5a00;
  --stepLine: rgba(255,122,26,.40);
  --stepLineSoft: rgba(255,122,26,.14);

  /* BG IMAGE (твоя) */
  --bgImg: url("./bg-grid.jpg");
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Manrope, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background: var(--bg);
  overflow-x:hidden;
}

/* ===== BACKGROUND (IMAGE + DARK + BLUR) ===== */
.bg{
  position:fixed;
  inset:0;
  z-index:-5;
  overflow:hidden;
  background:#020409;
}

/* картинка */
.bg::before{
  content:"";
  position:absolute;
  inset:-4%;
  background: var(--bgImg) center / cover no-repeat;
  filter: blur(7px) brightness(.50) contrast(1.06);
  transform: scale(1.06);
}

/* затемнение + холодные подсветки под твой синий стиль */
.bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 600px at 50% 18%, rgba(42,96,217,.10), transparent 64%),
    radial-gradient(900px 600px at 28% 92%, rgba(74,163,255,.05), transparent 70%),
    radial-gradient(1200px 700px at 50% 24%, rgba(0,0,0,0) 40%, rgba(0,0,0,.78) 100%),
    linear-gradient(180deg, rgba(2,4,9,.72), rgba(4,6,11,.84) 55%, rgba(2,4,9,.88));
}

/* СТАРАЯ CSS-сетка — выключаем, чтобы не было сетка-на-сетке */
.grid{ display:none; }

.vignette{
  position:absolute; inset:-2px;
  background: radial-gradient(1200px 700px at 50% 24%,
    rgba(0,0,0,0) 42%,
    rgba(0,0,0,.78) 100%);
  pointer-events:none;
}

.glow{
  position:absolute;
  filter: blur(70px);
  opacity:.75;
  transform: translateZ(0);
  animation: float 7s ease-in-out infinite;
}
.glow-a{ width:540px;height:540px; left:-180px; top:120px; background: rgba(42,96,217,.08); animation-delay:-1.2s;}
.glow-b{ width:560px;height:560px; right:-220px; top:160px; background: rgba(74,163,255,.07); animation-delay:-2.6s;}
.glow-c{ width:520px;height:520px; left:22%; bottom:-260px; background: rgba(42,96,217,.06); animation-delay:-3.8s;}

@keyframes float{
  0%,100%{ transform: translateY(0) }
  50%{ transform: translateY(-16px) }
}

/* ==================================================
   TOPBAR — ОДИН вариант
   ================================================== */
.topbar{
  position:fixed;
  top:0; left:0; right:0;
  height:72px;

  padding-block: 14px;
  padding-inline: max(18px, calc((100vw - 1100px) / 2));

  background: rgba(7,10,18,.45);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,.06);
  z-index:50;

  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
}

.brand{
  display:flex;
  align-items:center;
  gap:10px;
  justify-self:start;
  min-width: 160px;
}
.brandMark{
  width:38px;height:38px;
  border-radius:14px;
  background: rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.brandMark img{ width:24px;height:24px; opacity:.95; filter: drop-shadow(0 6px 16px rgba(0,0,0,.5)); }
.brandName{ font-weight:900; letter-spacing:.2px; font-size:14px; line-height:1;}
.brandSub{ font-size:11px; color: rgba(154,167,199,.85); margin-top:2px; }

.nav{
  display:none;
  gap:22px;
  align-items:center;
  justify-content:center;
  opacity:.95;
  justify-self:center;
}
.navLink{
  color: rgba(238,242,255,.88);
  text-decoration:none;
  font-weight:800;
  font-size:12px;
  letter-spacing:.01em;
}
.navLink:hover{ color:#fff; }

.tgBtn{
  display:flex; align-items:center; gap:8px;
  padding:10px 14px;
  border-radius:999px;
  text-decoration:none;
  font-weight:900;
  font-size:12px;
  color:#0b0f1a;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  box-shadow: 0 16px 44px rgba(42,96,217,.22);
  justify-self:end;
}

/* ===== HERO ===== */
.hero{
  min-height: 100vh;
  padding-top: 72px; /* фикс-хедер */
  display:flex;
  align-items:center;
  justify-content:center;
}

.heroInner{
  width: min(1100px, 100%);
  padding: 26px 18px 28px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: 16px;
}

.pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  color: rgba(238,242,255,.88);
  font-size:12px;
}
.pill .dot{
  width:9px;height:9px;border-radius:50%;
  background: var(--green);
  box-shadow: 0 0 0 4px rgba(25,195,125,.12);
}

.heroCenter{
  position:relative;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding: 16px 10px 0;
}

.heroHalo{
  position:absolute;
  top: 6px;
  left:50%;
  transform: translateX(-50%);
  width: min(760px, 92vw);
  height: min(520px, 62vh);
  background:
    radial-gradient(circle at 50% 40%, rgba(255,255,255,.06), transparent 55%),
    radial-gradient(circle at 50% 45%, rgba(42,96,217,.14), transparent 62%),
    radial-gradient(circle at 55% 42%, rgba(74,163,255,.08), transparent 66%);
  filter: blur(9px);
  opacity:.9;
  pointer-events:none;
}

/* TITLE */
.heroTitle{
  margin:0;
  font-weight: 900;
  letter-spacing: -1.2px;
  text-transform: uppercase;
  line-height: .90;
  text-shadow: 0 28px 90px rgba(0,0,0,.62);
  font-size: clamp(44px, 7.8vw, 118px);
}
.tWhite{ color: rgba(255,255,255,.96); }
.tAccent{
  background: linear-gradient(180deg, var(--accent2), var(--accent));
  -webkit-background-clip:text;
  background-clip:text;
  color: transparent;
  filter: drop-shadow(0 22px 48px rgba(42,96,217,.20));
}

.heroSub{
  margin: 14px 0 0;
  color: rgba(154,167,199,.90);
  font-size: 13px;
  line-height: 1.6;
}
.heroSubStrong{
  color: rgba(238,242,255,.92);
  font-weight: 800;
}

.heroActions{
  margin-top: 18px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
  width: 100%;
}

/* BUTTONS */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding: 14px 16px;
  border-radius: 14px;
  font-weight: 900;
  text-decoration:none;
  font-size: 13px;
  border: 1px solid rgba(255,255,255,.12);
  transition: transform .08s ease, filter .12s ease, background .12s ease;
  user-select:none;
}
.btn:active{ transform: scale(.99); }

.btn.primary{
  min-width: 210px;
  color:#0b0f1a;
  border:none;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  box-shadow: 0 20px 70px rgba(42,96,217,.20);
}
.btn.ghost{
  min-width: 210px;
  color: rgba(238,242,255,.92);
  background: rgba(255,255,255,.04);
}

/* ===== SECTIONS ===== */
.wrap{
  width:min(980px, 100%);
  margin: 0 auto;
  padding: 14px 18px 26px;
}

.section{ padding: 22px 0 6px; }
.sectionTop{ display:grid; gap: 10px; align-items:start; }
.sectionKicker{
  color: rgba(255,255,255,.65);
  font-weight: 800;
  letter-spacing: .18em;
  font-size: 11px;
  text-transform: uppercase;
}
.sectionTitle{
  margin:0;
  font-size: 34px;
  line-height: 1.03;
  letter-spacing: -0.4px;
  text-transform: uppercase;
}
.muted{ color: rgba(154,167,199,.7); }
.sectionNote{
  margin:0;
  color: rgba(154,167,199,.9);
  font-size: 13px;
  line-height: 1.55;
  max-width: 620px;
}
.accentInline{ color: #ffd3a8; }

/* =========================
   CARDS — стиль как MyGhost
   ========================= */
.cards{
  margin-top: 14px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

/* базовая карточка */
.card{
  position:relative;
  overflow:hidden;
  border-radius: 26px;
  padding: 20px;
  background: rgba(10, 14, 24, .62);
  border: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);

  box-shadow:
    0 28px 80px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.06);
}

/* внутренняя grid-текстура */
.card::after{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  opacity:.14;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(circle at 30% 25%, rgba(0,0,0,1), transparent 65%);
}

/* верхний подсвет */
.card::before{
  content:"";
  position:absolute;
  left:-30%; right:-30%;
  top:-60%;
  height: 80%;
  pointer-events:none;
  background: radial-gradient(circle at 50% 60%,
    rgba(255,255,255,.10),
    transparent 62%);
  opacity:.55;
}

/* контент поверх */
.card > *{ position:relative; z-index:2; }

/* шапка */
.cardHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

/* иконка */
.cardIcon{
  width:56px;
  height:56px;
  border-radius: 18px;
  display:flex;
  align-items:center;
  justify-content:center;

  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow:
    0 18px 60px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.06);
}
.cardIcon .ic--card{
  width: 26px;
  height: 26px;
  filter: drop-shadow(0 10px 22px rgba(0,0,0,.38));
  opacity: .95;
}

/* заголовок/текст */
.cardTitle{
  margin: 14px 0 6px;
  font-size: 22px;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: -.2px;
}
.cardText{
  margin:0;
  font-size: 14px;
  line-height: 1.45;
  color: rgba(154,167,199,.88);
  max-width: 92%;
}

/* бейдж (ACTIVE / 24/7) */
.badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;

  background: rgba(25,195,125,.10);
  border: 1px solid rgba(25,195,125,.25);
  color: rgba(140, 255, 205, .95);
}
.badge .dot{
  width:8px; height:8px;
  border-radius:50%;
  background: var(--green);
  box-shadow: 0 0 0 4px rgba(25,195,125,.10);
}

/* ===== HOW IT WORKS — MyGhost timeline ===== */
.howSteps{
  margin-top: 18px;
  position:relative;
  display:grid;
  gap: 26px;
  padding-left: 0;
}

/* вертикальная линия (mobile default) */
.howSteps::before{
  content:"";
  position:absolute;
  left: 34px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  background: linear-gradient(
    180deg,
    rgba(255,122,26,0),
    var(--stepLine),
    rgba(255,122,26,0)
  );
  opacity:.9;
}

.howStep{
  position:relative;
  padding-left: 98px;
  min-height: 72px;
}

/* УБРАЛИ ОРАНЖЕВЫЙ КВАДРАТ ВОКРУГ НОМЕРА */
.howBadge{
  position:absolute;
  left: 0;
  top: 0;
  width: 72px;
  height: 72px;
  border-radius: 20px;
  background: none;
  box-shadow: none;
  display:flex;
  align-items:center;
  justify-content:center;
}

.howBadge img{
  width: 36px;
  height: 36px;
  filter: drop-shadow(0 10px 24px rgba(0,0,0,.45));
  opacity:.95;
}

.howTitle{
  font-size: 34px;
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -.3px;
  margin: 2px 0 10px;
}

.howText{
  margin:0;
  font-size: 18px;
  line-height: 1.55;
  color: rgba(154,167,199,.90);
  max-width: 44ch;
}

/* ===== Footer ===== */
.footer{
  margin-top: 14px;
  padding: 12px 2px 32px;
  border-top: 1px solid rgba(255,255,255,.06);
}
.footerLine{ color: rgba(154,167,199,.85); font-size: 12px; }
.footerLinks{ margin-top: 8px; display:flex; gap: 14px; flex-wrap:wrap; }
.footerLinks a{
  color: rgba(238,242,255,.85);
  text-decoration:none;
  font-weight: 800;
  font-size: 12px;
}

/* ===== SVG ICONS ===== */
.ic{
  display:inline-block;
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  user-select:none;
  -webkit-user-drag:none;
}
.ic--btn{ width: 18px; height: 18px; }
.ic--card{ width: 22px; height: 22px; }
.ic--mini{ width: 18px; height: 18px; }

.btn .ic--btn{ filter: drop-shadow(0 10px 22px rgba(0,0,0,.28)); }

/* ===== WATERMARK ===== */
.heroWatermark{
  position: absolute;
  left: 50%;
  top: -108px;
  transform: translateX(-50%);
  width: min(780px, 112vw);
  height: min(780px, 72vh);
  pointer-events: none;
  z-index: 0;

  opacity: .24;
  filter: blur(3px) brightness(.82) saturate(.82);
}
.heroWatermark::after{
  content:"";
  position:absolute;
  inset:-10%;
  background: radial-gradient(circle at 50% 50%,
    rgba(0,0,0,.18) 0%,
    rgba(0,0,0,.60) 70%,
    rgba(0,0,0,.78) 100%);
}

/* текст поверх водяного знака */
.heroTitle, .heroSub, .heroActions, .pill{
  position:relative;
  z-index: 2;
}

/* ===== RESPONSIVE / DESKTOP ===== */
@media (min-width: 900px){
  .nav{ display:flex; }
  .heroInner{ padding: 34px 24px 34px; }
  .heroCenter{ padding-top: 44px; }
  .sectionTitle{ font-size: 44px; }
  .cards{ grid-template-columns: 1.1fr 1fr; gap: 14px; }

  /* HOW: в ряд + горизонтальная линия */
  .howSteps{
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-top: 22px;
  }
  .howSteps::before{
    left: 36px;
    right: 36px;
    top: 36px;
    bottom: auto;
    width: auto;
    height: 2px;
    background: linear-gradient(
      90deg,
      rgba(255,122,26,0),
      var(--stepLine),
      rgba(255,122,26,0)
    );
  }
  .howStep{
    padding-left: 0;
    padding-top: 92px;
    min-height: 0;
  }
  .howBadge{
    left: 0;
    top: 0;
  }
  .howTitle{
    font-size: 30px;
  }
  .howText{
    font-size: 16px;
  }
}

/* ===== MOBILE ===== */
@media (max-width: 768px){
  .topbar{
    height: 64px;
    padding-block: 10px;
    padding-inline: 12px;
    padding-top: calc(10px + env(safe-area-inset-top, 0px));
  }

  .brandSub{ display:none; }

  .hero{
    min-height: auto;
    padding-top: calc(74px + env(safe-area-inset-top, 0px));
    align-items: flex-start;
    justify-content: flex-start;
  }

  .heroInner{
    padding: 8px 12px 14px;
    gap: 8px;
  }

  .pill{
    margin-top: 0;
    margin-bottom: 4px;
    padding: 10px 14px;
    max-width: 92%;
    justify-content:center;
  }

  .heroCenter{
    margin-top: 0;
    padding-left: 8px;
    padding-right: 8px;
  }

  .heroHalo{
    top: -16px;
    height: 420px;
    opacity: .9;
    filter: blur(10px);
  }

  .heroTitle{
    font-size: clamp(44px, 11.5vw, 62px);
    line-height: .82;
    letter-spacing: -1.4px;
  }

  .heroSub{
    margin-top: 6px;
    font-size: 13px;
    line-height: 1.5;
    color: rgba(255,255,255,.72);
  }

  .heroActions{
    margin-top: 10px;
    flex-direction: column;
    width: 100%;
    gap: 10px;
  }

  .btn{
    width: 100%;
    padding: 16px;
    border-radius: 18px;
    font-size: 14px;
  }

  .wrap{
    padding-left: 10px;
    padding-right: 10px;
  }

  .vignette{
    background: radial-gradient(
      1200px 700px at 50% 28%,
      transparent 52%,
      rgba(0,0,0,.60) 100%
    );
  }

  .heroWatermark{
    top: -80px;
    width: min(620px, 120vw);
    height: min(620px, 62vh);
    opacity: .22;
  }

  .cards{
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 10px;
  }
  .card{
    border-radius: 28px;
    padding: 20px 18px;
  }
  .cardTitle{ font-size: 22px; }
  .cardText{ font-size: 14px; }

  .howTitle{ font-size: 32px; }
  .howText{ font-size: 17px; }
}

/* mobile: nav off */
@media (max-width: 900px){
  .nav{ display:none; }
}

/* =========================
   PLANS — как на скрине (4 карточки)
   ========================= */

.plans{
  margin-top: 22px;
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  align-items: stretch;
}

.plan{
  position:relative;
  overflow:hidden;

  display:flex;
  flex-direction:column;

  border-radius: 26px;
  padding: 22px 22px 20px;

  background:
    radial-gradient(120% 90% at 50% 0%,
      rgba(255,255,255,.05) 0%,
      rgba(255,255,255,0) 60%),
    rgba(10, 14, 24, .62);

  border: 1px solid rgba(255,255,255,.09);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);

  box-shadow:
    0 28px 80px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.plan::after{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  opacity:.10;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(circle at 30% 25%, rgba(0,0,0,1), transparent 72%);
}

.plan::before{
  content:"";
  position:absolute;
  left:-30%; right:-30%;
  top:-60%;
  height: 86%;
  pointer-events:none;
  background: radial-gradient(circle at 50% 60%,
    rgba(255,255,255,.10),
    transparent 62%);
  opacity:.45;
}

.plan > *{ position:relative; z-index:2; }

.planTop{
  display:flex;
  flex-direction:column;
  gap: 10px;
  margin-bottom: 6px;
}

.planTag{
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(154,167,199,.85);
}

.planPriceRow{
  display:flex;
  align-items:flex-end;
  gap: 10px;
}

.planPrice{
  font-weight: 900;
  font-size: 54px;
  letter-spacing: -1.2px;
  line-height: 1;
  color: rgba(255,255,255,.96);
}

.planUnit{
  padding-bottom: 8px;
  font-weight: 900;
  font-size: 12px;
  color: rgba(154,167,199,.80);
  letter-spacing:.08em;
  text-transform: uppercase;
}

.planList{
  flex: 1 1 auto;
  margin: 12px 0 18px;
  padding: 0;
  list-style:none;
  display:grid;
  gap: 12px;
}

.planList li{
  display:flex;
  align-items:center;
  gap: 10px;
  font-size: 13px;
  line-height: 1.25;
  color: rgba(154,167,199,.92);
}

.planList li::before{
  content:"";
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
  flex: 0 0 auto;
}

.plan--featured{
  border: 2px solid rgba(42,96,217,.95);
  box-shadow:
    0 34px 100px rgba(0,0,0,.62),
    0 0 0 1px rgba(42,96,217,.25),
    0 18px 70px rgba(42,96,217,.16),
    inset 0 1px 0 rgba(255,255,255,.07);
}
.plan--featured::before{
  opacity:.62;
  background: radial-gradient(circle at 50% 60%,
    rgba(74,163,255,.16),
    transparent 62%);
}

@media (max-width: 1100px){
  .plans{ grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px){
  .plans{
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .plan{
    border-radius: 28px;
    padding: 20px 18px;
  }
  .planPrice{ font-size: 48px; }
}

@media (min-width: 1200px){
  #plans .wrap{
    width: min(1100px, 100%);
  }
}
