/* Посадочная Звёздного паспорта: заголовок, боли, выгоды, оплата и FAQ.
   Калькулятор живёт только на basic.html, сюда человек приходит уже с
   посчитанной картой — поэтому страница чисто продающая.
   Фон — живая карта сети клиентов (canvas#skybg), поэтому цветок жизни
   на этой странице не подключается. */

#skybg {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
  display: block;
  pointer-events: none;
}

.pp-hero {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}
/* Подзаголовок повторяет шрифт и золотой градиент h1 — это вторая строка
   одного заголовка, а не пояснение под ним. */
.pp-subtitle {
  margin: 10px auto 0;
  max-width: 620px;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.35;
  background: linear-gradient(135deg, var(--gold), var(--accent2), var(--accent), var(--gold));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.pp-block {
  margin-top: 28px;
  padding: 10px 24px;
  border: 0;
  background: transparent;
  backdrop-filter: none;
}
/* .card h2 из style.css — флекс-контейнер, поэтому центрируем через
   justify-content: text-align на флекс-элементы не действует. */
.pp-block h2 {
  display: block;
  width: 100%;
  margin-bottom: 18px;
  text-align: center;
}

.pp-pains,
.pp-gains {
  margin: 0 auto;
  padding: 0;
  max-width: 660px;
  list-style: none;
  text-align: left;
}
.pp-pains li,
.pp-gains li {
  position: relative;
  margin-bottom: 11px;
  padding-left: 26px;
  color: rgba(240, 233, 255, 0.86);
  font-size: 15.5px;
  line-height: 1.55;
}
.pp-pains li::before,
.pp-gains li::before {
  content: '✦';
  position: absolute;
  left: 0;
  top: 0;
  color: rgba(212, 175, 55, 0.7);
}
.pp-gains li::before { content: '→'; }

.pp-cta {
  margin: 28px 0 0;
  padding: 18px 0 8px;
  text-align: center;
}
.pp-cta-note {
  margin: 12px auto 0;
  max-width: 620px;
  color: rgba(224, 231, 255, 0.6);
  font-size: 14px;
  line-height: 1.5;
}
.pp-cta-err {
  margin-top: 10px;
  color: #ff9c9c;
  font-size: 14px;
}

.pp-faq {
  max-width: 760px;
  margin: 28px auto 0;
  padding: 10px 24px;
}
.pp-faq h2 {
  display: block;
  width: 100%;
  margin-bottom: 14px;
  text-align: center;
}
.pp-faq-item {
  border-top: 1px solid rgba(212, 175, 55, 0.18);
  padding: 14px 0;
}
.pp-faq-item:last-child { border-bottom: 1px solid rgba(212, 175, 55, 0.18); }
.pp-faq-item summary {
  cursor: pointer;
  color: #f0e9ff;
  font-size: 15.5px;
  font-weight: 600;
  line-height: 1.45;
  list-style: none;
}
.pp-faq-item summary::-webkit-details-marker { display: none; }
.pp-faq-item summary::before {
  content: '+';
  margin-right: 10px;
  color: rgba(212, 175, 55, 0.8);
  font-weight: 700;
}
.pp-faq-item[open] summary::before { content: '−'; }
.pp-faq-item p {
  margin: 10px 0 0 24px;
  color: rgba(224, 231, 255, 0.78);
  font-size: 14.5px;
  line-height: 1.6;
}
.pp-faq-item a { color: #f0d060; text-decoration: underline; }

@media (max-width: 720px) {
  .pp-subtitle { font-size: 17px; }
  .pp-pains li,
  .pp-gains li { font-size: 14.5px; }
  .pp-cta { padding: 20px 18px; }
}
