/* TheatreAI marketing pages — dark theatre layout (landing, pricing, FAQ) */

@font-face{font-family:'Onest';font-style:normal;font-weight:400;font-display:swap;src:url('/static/lib/fonts/onest-cyrillic-400-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:600;font-display:swap;src:url('/static/lib/fonts/onest-cyrillic-600-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:700;font-display:swap;src:url('/static/lib/fonts/onest-cyrillic-700-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Cormorant';font-style:normal;font-weight:600;font-display:swap;src:url('/static/lib/fonts/cormorant-garamond-cyrillic-600-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Cormorant';font-style:normal;font-weight:700;font-display:swap;src:url('/static/lib/fonts/cormorant-garamond-cyrillic-700-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

:root {
  --lp-acc: #2ee6a8;
  --lp-acc-2: #0fae7a;
  --lp-bg: #04100c;
  --lp-surface: rgba(7, 20, 16, 0.72);
  --lp-text: #eafff5;
  --lp-mut: rgba(207, 251, 233, 0.68);
  --lp-brd: rgba(46, 230, 168, 0.18);
  --lp-font: 'Onest', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --lp-serif: 'Cormorant', Georgia, 'Times New Roman', serif;
}

.lp-page {
  margin: 0;
  min-height: 100vh;
  color: var(--lp-text);
  font-family: var(--lp-font);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "kern" 1, "liga" 1;
  letter-spacing: -0.011em;
  background:
    radial-gradient(900px 520px at 12% -8%, rgba(46, 230, 168, 0.14), transparent 58%),
    radial-gradient(700px 480px at 88% 4%, rgba(124, 255, 203, 0.08), transparent 55%),
    linear-gradient(175deg, #030f0b 0%, #04100c 42%, #061812 100%);
  background-attachment: fixed;
}

.lp-page::before,
.lp-page::after {
  display: none;
}

.lp-shell {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 22px 48px;
}

/* Header */
.lp-header {
  position: sticky;
  top: 12px;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 14px 0 28px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid var(--lp-brd);
  background: linear-gradient(120deg, rgba(3, 20, 14, 0.96), rgba(2, 12, 9, 0.97));
  backdrop-filter: blur(20px) saturate(150%);
  box-shadow: 0 22px 60px -34px rgba(0, 0, 0, 0.92), inset 0 1px 0 rgba(120, 255, 203, 0.07);
}

.lp-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--lp-text);
  font-weight: 800;
  font-size: 17px;
  letter-spacing: -0.02em;
}

.lp-logo img {
  width: 32px;
  height: 32px;
}

.lp-logo span {
  background: linear-gradient(90deg, #fff, #7cffcb, var(--lp-acc));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.lp-nav {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}

.lp-nav a {
  color: rgba(238, 247, 255, 0.72);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  padding: 8px 14px;
  border-radius: 999px;
  transition: color 0.2s, background 0.2s;
}

.lp-nav a:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

.lp-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 18px;
  border-radius: 999px;
  font-size: 13.5px;
  font-weight: 800;
  text-decoration: none;
  color: #04140d;
  background: linear-gradient(135deg, var(--lp-acc), var(--lp-acc-2));
  box-shadow: 0 10px 26px -10px rgba(46, 230, 168, 0.8);
  border: none;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
}

.lp-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 34px -12px rgba(46, 230, 168, 0.95);
}

/* Hero */
.lp-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: center;
  margin-bottom: 48px;
}

.lp-hero-copy h1 {
  font-family: var(--lp-serif);
  font-size: clamp(32px, 4.5vw, 52px);
  font-weight: 700;
  line-height: 1.06;
  letter-spacing: -0.02em;
  margin: 0 0 14px;
  color: var(--lp-text);
  text-shadow: none;
}

.lp-hero-copy h1 em {
  font-style: normal;
  background: linear-gradient(90deg, var(--lp-acc), #7cffcb, var(--lp-acc));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.lp-hero-sub {
  font-size: 17px;
  line-height: 1.55;
  color: var(--lp-mut);
  margin: 0 0 22px;
  max-width: 42ch;
}

.lp-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.lp-btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  color: var(--lp-text);
  border: 1px solid rgba(46, 230, 168, 0.4);
  background: rgba(7, 20, 16, 0.7);
  transition: border-color 0.2s, transform 0.2s;
}

.lp-btn-ghost:hover {
  border-color: var(--lp-acc);
  transform: translateY(-1px);
}

.lp-hero-media {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid var(--lp-brd);
  background: var(--lp-surface);
  box-shadow: 0 28px 70px -28px rgba(0, 0, 0, 0.75);
}

.lp-hero-media video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: #061812;
}

.lp-hero-media picture,
.lp-hero-media .lp-hero-poster {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: #061812;
}

.lp-hero-media video:not([src]) {
  display: none;
}

.lp-feature,
.lp-hero-copy,
.legal-hero {
  animation: lpFadeUp 0.7s ease both;
}

.lp-feature:nth-child(2) { animation-delay: 0.08s; }
.lp-feature:nth-child(3) { animation-delay: 0.16s; }

@keyframes lpFadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .lp-feature, .lp-hero-copy, .legal-hero { animation: none; }
}

/* Features */
.lp-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 40px;
}

.lp-feature {
  padding: 22px 20px;
  border-radius: 18px;
  border: 1px solid var(--lp-brd);
  background: radial-gradient(120% 120% at 0% 0%, rgba(46, 230, 168, 0.1), transparent 55%), var(--lp-surface);
  transition: border-color 0.25s, transform 0.25s;
}

.lp-feature:hover {
  border-color: rgba(46, 230, 168, 0.45);
  transform: translateY(-3px);
}

.lp-feature-icon {
  font-size: 28px;
  margin-bottom: 10px;
  filter: drop-shadow(0 6px 14px rgba(46, 230, 168, 0.45));
}

.lp-feature h3 {
  margin: 0 0 8px;
  font-size: 17px;
  font-weight: 700;
}

.lp-feature p {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--lp-mut);
}

/* Page titles (pricing, FAQ) */
.lp-page-head {
  margin-bottom: 32px;
}

.lp-page-head h1 {
  font-family: var(--lp-serif);
  font-size: clamp(30px, 4vw, 44px);
  font-weight: 600;
  letter-spacing: -0.025em;
  margin: 0 0 10px;
  color: var(--lp-text);
  text-shadow: none;
}

.lp-page-head p {
  margin: 0;
  color: var(--lp-mut);
  font-size: 16.5px;
  max-width: 52ch;
  line-height: 1.6;
  letter-spacing: -0.008em;
}

/* Компактная полоска вместо дублирующих lp-note */
.lp-pricing-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 28px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid var(--lp-brd);
  background: rgba(7, 20, 16, 0.55);
  backdrop-filter: blur(12px);
}

.lp-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #04140d;
  background: linear-gradient(135deg, var(--lp-acc), var(--lp-acc-2));
}

.lp-pill-soft {
  text-transform: none;
  letter-spacing: -0.01em;
  font-weight: 600;
  color: var(--lp-mut);
  background: rgba(46, 230, 168, 0.1);
  border: 1px solid rgba(46, 230, 168, 0.22);
}

.lp-pill-auth {
  text-transform: none;
  letter-spacing: -0.01em;
  font-weight: 600;
  font-size: 12.5px;
  color: #eafff5;
  background: rgba(46, 230, 168, 0.16);
  border: 1px solid rgba(46, 230, 168, 0.35);
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lp-pill-link {
  margin-left: auto;
  text-transform: none;
  letter-spacing: -0.01em;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  color: var(--lp-acc);
  background: transparent;
  border: 1px solid rgba(46, 230, 168, 0.35);
  transition: background 0.2s, border-color 0.2s;
}

.lp-pill-link:hover {
  background: rgba(46, 230, 168, 0.12);
  border-color: var(--lp-acc);
}

.lp-note {
  margin: 20px 0;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid var(--lp-brd);
  background: rgba(46, 230, 168, 0.08);
  font-size: 13.5px;
  color: var(--lp-mut);
  line-height: 1.5;
}

.lp-note strong {
  color: var(--lp-acc);
}

/* Pricing sections */
.lp-section-title {
  font-family: var(--lp-serif);
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -0.02em;
  margin: 40px 0 16px;
  color: var(--lp-text);
}

.lp-pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.lp-price-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 18px 16px;
  border-radius: 18px;
  border: 1px solid rgba(46, 230, 168, 0.22);
  background: radial-gradient(130% 130% at 0% 0%, rgba(46, 230, 168, 0.13), transparent 60%), rgba(7, 20, 16, 0.72);
  box-shadow: 0 18px 44px -24px rgba(0, 0, 0, 0.72);
  transition: transform 0.25s, border-color 0.25s;
}

.lp-price-card:hover {
  transform: translateY(-4px);
  border-color: var(--lp-acc);
}

.lp-price-card.featured {
  border-color: rgba(46, 230, 168, 0.55);
  box-shadow: 0 0 0 1px rgba(46, 230, 168, 0.4), 0 22px 50px -22px rgba(46, 230, 168, 0.35);
}

.lp-price-badge {
  position: absolute;
  right: 12px;
  top: 12px;
  font-size: 9.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 3px 8px;
  border-radius: 99px;
  background: linear-gradient(135deg, var(--lp-acc), var(--lp-acc-2));
  color: #04140d;
}

.lp-price-card strong {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--lp-text);
}

.lp-price-amount {
  font-size: 28px;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  background: linear-gradient(135deg, var(--lp-acc), var(--lp-acc-2));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.lp-price-tokens {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: var(--lp-acc);
}

.lp-price-card small {
  font-size: 11.5px;
  color: var(--lp-mut);
  line-height: 1.35;
  min-height: 28px;
}

.lp-price-buy {
  margin-top: 8px;
  width: 100%;
  padding: 10px;
  border: none;
  border-radius: 13px;
  font-weight: 700;
  font-size: 13.5px;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  color: #04140d;
  background: linear-gradient(135deg, var(--lp-acc), var(--lp-acc-2));
  box-shadow: 0 10px 24px -12px rgba(46, 230, 168, 0.7);
  display: block;
}

.lp-ops-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 8px;
  font-size: 14px;
}

.lp-ops-table th,
.lp-ops-table td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(46, 230, 168, 0.12);
  text-align: left;
}

.lp-ops-table th {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--lp-mut);
  font-weight: 600;
}

.lp-ops-table td:last-child {
  font-weight: 700;
  color: var(--lp-acc);
  white-space: nowrap;
}

.lp-ops-wrap {
  border-radius: 18px;
  border: 1px solid var(--lp-brd);
  background: var(--lp-surface);
  overflow: hidden;
}

.lp-loading {
  padding: 24px;
  text-align: center;
  color: var(--lp-mut);
  font-size: 14px;
}

.lp-error {
  padding: 16px;
  border-radius: 14px;
  border: 1px solid rgba(210, 80, 60, 0.4);
  background: rgba(210, 80, 60, 0.1);
  color: #ffb8a8;
  font-size: 14px;
}

/* FAQ */
.lp-faq {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.lp-faq-item {
  border-radius: 16px;
  border: 1px solid var(--lp-brd);
  background: var(--lp-surface);
  overflow: hidden;
}

.lp-faq-item summary {
  padding: 16px 18px;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.lp-faq-item summary::-webkit-details-marker {
  display: none;
}

.lp-faq-item summary::after {
  content: '+';
  font-size: 20px;
  color: var(--lp-acc);
  font-weight: 400;
  flex-shrink: 0;
}

.lp-faq-item[open] summary::after {
  content: '−';
}

.lp-faq-body {
  padding: 0 18px 16px;
  font-size: 14px;
  line-height: 1.55;
  color: var(--lp-mut);
}

.lp-faq-body a {
  color: var(--lp-acc);
}

/* Footer — uses .site-footer from style.css */
.lp-page .site-footer {
  margin-top: 48px;
  border-radius: 24px 24px 0 0;
}

.lp-page .ft-pay span {
  font-size: 12px;
}

/* Responsive */
@media (max-width: 900px) {
  .lp-hero {
    grid-template-columns: 1fr;
  }

  .lp-hero-media {
    order: -1;
  }

  .lp-features {
    grid-template-columns: 1fr;
  }

  .lp-pricing-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px) {
  .lp-shell {
    padding: 0 16px 40px;
  }

  .lp-header {
    flex-wrap: wrap;
    border-radius: 20px;
    top: 8px;
  }

  .lp-nav {
    width: 100%;
    justify-content: flex-start;
  }

  .lp-pricing-grid {
    grid-template-columns: 1fr;
  }

  .lp-ops-table th:nth-child(2),
  .lp-ops-table td:nth-child(2) {
    display: none;
  }
}

@media (max-width: 412px) {
  .lp-hero-copy h1 {
    font-size: 30px;
  }

  .lp-hero-sub {
    font-size: 15px;
  }

  .lp-hero-actions {
    flex-direction: column;
  }

  .lp-hero-actions .lp-cta,
  .lp-hero-actions .lp-btn-ghost {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 390px) {
  .lp-header {
    padding: 8px 12px;
  }

  .lp-nav a {
    font-size: 13px;
    padding: 7px 10px;
  }

  .lp-cta {
    padding: 8px 14px;
    font-size: 12.5px;
  }
}

@media (max-width: 360px) {
  .lp-logo {
    font-size: 15px;
  }

  .lp-logo img {
    width: 28px;
    height: 28px;
  }

  .lp-feature {
    padding: 18px 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lp-feature, .lp-price-card, .lp-cta, .lp-btn-ghost { transition: none; }
}

/* Rich landing: hero + assistant + museum feed */
.landing-rich { position: relative; overflow-x: clip; }
.landing-rich .lp-shell { position: relative; z-index: 2; max-width: 1280px; }

/* Kinetic background */
.lp-kinetic-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.lp-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.55;
  animation: lpOrbDrift 18s ease-in-out infinite;
}
.lp-orb-1 {
  width: 55vw; height: 55vw; max-width: 620px; max-height: 620px;
  left: -12%; top: -8%;
  background: radial-gradient(circle, rgba(46, 230, 168, 0.45), transparent 68%);
}
.lp-orb-2 {
  width: 48vw; height: 48vw; max-width: 520px; max-height: 520px;
  right: -10%; top: 18%;
  background: radial-gradient(circle, rgba(124, 108, 255, 0.35), transparent 70%);
  animation-delay: -6s;
}
.lp-orb-3 {
  width: 42vw; height: 42vw; max-width: 480px; max-height: 480px;
  left: 28%; bottom: -15%;
  background: radial-gradient(circle, rgba(62, 211, 196, 0.28), transparent 72%);
  animation-delay: -11s;
}
.lp-grid-lines {
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(46, 230, 168, 0.04) 1px, transparent 1px),
    linear-gradient(0deg, rgba(46, 230, 168, 0.03) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000 20%, transparent 85%);
  animation: lpGridShift 24s linear infinite;
}
@keyframes lpOrbDrift {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(3%, 4%) scale(1.06); }
  66% { transform: translate(-2%, 2%) scale(0.96); }
}
@keyframes lpGridShift {
  from { background-position: 0 0, 0 0; }
  to { background-position: 48px 48px, 48px 48px; }
}

/* Animated header + pulsing logo */
.lp-header-animated {
  animation: lpHeaderFloat 5s ease-in-out infinite;
  box-shadow:
    0 22px 60px -34px rgba(0, 0, 0, 0.92),
    0 0 0 1px rgba(46, 230, 168, 0.22),
    0 0 40px -8px rgba(46, 230, 168, 0.35);
}
.lp-header-animated::after {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(120deg, transparent, rgba(46, 230, 168, 0.5), transparent, rgba(124, 255, 203, 0.35), transparent);
  background-size: 200% 100%;
  animation: lpHeaderShine 4s linear infinite;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
@keyframes lpHeaderFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes lpHeaderShine {
  from { background-position: 200% 0; }
  to { background-position: -200% 0; }
}

.lp-logo-pulse {
  position: relative;
  gap: 14px !important;
}
.lp-logo-pulse img {
  width: 56px !important;
  height: 56px !important;
  filter: drop-shadow(0 0 18px rgba(46, 230, 168, 0.65));
  animation: lpLogoPulse 2.4s ease-in-out infinite;
}
.lp-logo-ring {
  position: absolute;
  left: 0; top: 50%;
  width: 56px; height: 56px;
  margin-top: -28px;
  border-radius: 50%;
  border: 2px solid rgba(46, 230, 168, 0.45);
  animation: lpRingPulse 2.4s ease-in-out infinite;
}
.lp-logo-text {
  display: flex;
  flex-direction: column;
  line-height: 1.05;
}
.lp-logo-text b {
  font-size: 20px;
  font-weight: 900;
  letter-spacing: -0.03em;
  background: linear-gradient(90deg, #fff, #7cffcb, #2ee6a8);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.lp-logo-text small {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.28em;
  color: #7cffcb;
  margin-top: 2px;
}
@keyframes lpLogoPulse {
  0%, 100% { transform: scale(1); filter: drop-shadow(0 0 14px rgba(46, 230, 168, 0.5)); }
  50% { transform: scale(1.08); filter: drop-shadow(0 0 28px rgba(46, 230, 168, 0.95)); }
}
@keyframes lpRingPulse {
  0%, 100% { transform: scale(1); opacity: 0.5; }
  50% { transform: scale(1.18); opacity: 1; }
}

.lp-cta-studio {
  font-size: 14px !important;
  font-weight: 900 !important;
  padding: 11px 22px !important;
  color: #02140c !important;
  background: linear-gradient(135deg, #5dffb8, #2ee6a8 40%, #0fae7a) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.35) inset,
    0 12px 36px -8px rgba(46, 230, 168, 0.95),
    0 0 48px -4px rgba(46, 230, 168, 0.75) !important;
  animation: lpCtaGlow 2.2s ease-in-out infinite;
}
@keyframes lpCtaGlow {
  0%, 100% { box-shadow: 0 0 0 1px rgba(255,255,255,.35) inset, 0 12px 36px -8px rgba(46,230,168,.85), 0 0 32px -4px rgba(46,230,168,.55); }
  50% { box-shadow: 0 0 0 1px rgba(255,255,255,.5) inset, 0 16px 44px -6px rgba(46,230,168,1), 0 0 56px 0 rgba(46,230,168,.85); transform: translateY(-1px); }
}

.landing-rich #scr-home { margin-bottom: 8px; }
.landing-rich #scr-home.screen { display: block; }
.landing-rich .hero.theatre-cockpit { margin-bottom: 12px; }

/* Omni assistant embed */
.lp-omni-section {
  margin: 8px 0 28px;
  padding: 22px;
  border-radius: 28px;
  border: 1px solid rgba(46, 230, 168, 0.22);
  background:
    radial-gradient(120% 120% at 0% 0%, rgba(46, 230, 168, 0.12), transparent 55%),
    rgba(4, 16, 12, 0.82);
  backdrop-filter: blur(20px);
  box-shadow: 0 32px 80px -40px rgba(0, 0, 0, 0.85);
}
.lp-omni-intro h2 {
  margin: 6px 0 8px;
  font-family: var(--lp-serif);
  font-size: clamp(26px, 3.2vw, 36px);
  color: #eafff5;
}
.lp-omni-intro .hint { max-width: 58ch; margin-bottom: 14px; }
.lp-omni-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
.lp-omni-chips button {
  font-size: 12.5px !important;
  padding: 8px 14px !important;
}

.lp-feed-anchor {
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0;
  pointer-events: none;
}
.landing-rich #feedGalleries {
  margin: 0 0 36px;
  border-radius: 24px;
  overflow: hidden;
}

.landing-rich .landing-toast {
  position: fixed;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%) translateY(12px);
  z-index: var(--ta-layer-landing-toast, 9999);
  padding: 12px 18px;
  border-radius: 14px;
  background: rgba(4, 20, 14, 0.94);
  border: 1px solid rgba(46, 230, 168, 0.35);
  color: #eafff5;
  font-size: 13.5px;
  font-weight: 600;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s, transform 0.25s;
}
.landing-rich .landing-toast.on {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

@media (max-width: 768px) {
  .landing-rich .hero-title-wow span {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .lp-logo-pulse img { width: 44px !important; height: 44px !important; }
  .lp-logo-ring { width: 44px; height: 44px; margin-top: -22px; }
  .lp-omni-section { padding: 16px; border-radius: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .lp-orb, .lp-grid-lines, .lp-header-animated, .lp-logo-pulse img,
  .lp-logo-ring, .lp-cta-studio { animation: none !important; }
}

/* SEO guides */
.lp-guide { max-width: 760px; margin: 0 auto 2rem; }
.lp-guide p, .lp-guide li { color: var(--lp-mut); line-height: 1.65; margin: 0 0 1rem; }
.lp-guide h2 { font-family: var(--lp-font); font-size: 1.35rem; font-weight: 700; margin: 2rem 0 0.75rem; color: var(--lp-text); }
.lp-guide ul { padding-left: 1.25rem; margin: 0 0 1rem; }
.lp-guide a { color: var(--lp-acc); }
.lp-guide a.lp-cta, .lp-guide-cta a.lp-cta { color: #04140d; } /* тёмный текст на зелёной кнопке (иначе зелёный на зелёном) */
.lp-guide-cta { margin-top: 2rem; padding: 1.25rem 1.5rem; border: 1px solid var(--lp-brd); border-radius: 14px; background: var(--lp-surface); }
.lp-guides-nav { display: flex; flex-wrap: wrap; gap: 10px; margin: 1.25rem 0 2rem; }
.lp-guides-nav a { padding: 8px 14px; border-radius: 999px; border: 1px solid var(--lp-brd); color: var(--lp-mut); text-decoration: none; font-size: 14px; }
.lp-guides-nav a:hover { border-color: var(--lp-acc); color: var(--lp-acc); }

.lp-guide-meta {
  font-size: 13px;
  color: var(--lp-mut);
  margin: 0 0 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--lp-brd);
  opacity: 0.85;
}

.lp-guide-steps {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
  counter-reset: guide-step;
}
.lp-guide-steps > li {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 12px 14px;
  margin: 0 0 1.25rem;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid var(--lp-brd);
  background: var(--lp-surface);
}
.lp-guide-step-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-family: var(--lp-font);
  font-size: 14px;
  font-weight: 700;
  color: var(--lp-acc);
  background: rgba(46, 230, 168, 0.12);
  border: 1px solid rgba(46, 230, 168, 0.25);
}
.lp-guide-steps strong { color: var(--lp-text); font-weight: 600; }
.lp-guide-steps em {
  font-style: normal;
  font-size: 12px;
  color: var(--lp-acc);
  margin-left: 6px;
  opacity: 0.9;
}
.lp-guide-steps p { margin: 6px 0 0; }

.lp-guide-faq { margin: 2rem 0 1rem; }
.lp-guide-faq details {
  margin: 0 0 10px;
  border: 1px solid var(--lp-brd);
  border-radius: 12px;
  background: var(--lp-surface);
  overflow: hidden;
}
.lp-guide-faq summary {
  padding: 14px 16px;
  cursor: pointer;
  font-weight: 600;
  color: var(--lp-text);
  list-style: none;
}
.lp-guide-faq summary::-webkit-details-marker { display: none; }
.lp-guide-faq summary::after {
  content: "+";
  float: right;
  color: var(--lp-acc);
  font-weight: 700;
}
.lp-guide-faq details[open] summary::after { content: "−"; }
.lp-guide-faq details p {
  margin: 0;
  padding: 0 16px 14px;
  border-top: 1px solid var(--lp-brd);
  padding-top: 12px;
}

.lp-guide-gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin: 1.25rem 0 1.75rem;
}
.lp-guide-gallery figure {
  margin: 0;
  border-radius: 14px;
  border: 1px solid var(--lp-brd);
  overflow: hidden;
  background: linear-gradient(180deg, rgba(46,230,168,.06), rgba(6,24,18,.7));
}
.lp-guide-gallery img {
  width: 100%;
  aspect-ratio: 16 / 10;
  display: block;
  object-fit: cover;
}
.lp-guide-gallery figcaption {
  padding: 8px 12px;
  font-size: 12.5px;
  color: var(--lp-mut);
}
@media (max-width: 600px) {
  .lp-guide-gallery { grid-template-columns: 1fr; }
}

.lp-ba-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 1rem 0 1.6rem;
}
.lp-ba-compare figure {
  margin: 0;
  border-radius: 14px;
  border: 1px solid var(--lp-brd);
  overflow: hidden;
  background: linear-gradient(180deg, rgba(46,230,168,.08), rgba(6,24,18,.75));
}
.lp-ba-compare img {
  width: 100%;
  aspect-ratio: 16 / 10;
  display: block;
  object-fit: cover;
}
.lp-ba-compare figcaption {
  padding: 10px 12px;
  font-size: 13px;
  color: var(--lp-mut);
}
@media (max-width: 760px) {
  .lp-ba-compare { grid-template-columns: 1fr; }
}

.lp-viral-hero {
  position: relative;
}
.lp-viral-hero--cover {
  min-height: clamp(220px, 38vw, 420px);
  padding: clamp(28px, 5vw, 48px) clamp(18px, 4vw, 32px);
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(46, 230, 168, 0.22);
  background:
    linear-gradient(120deg, rgba(2, 12, 9, 0.92), rgba(2, 12, 9, 0.55)),
    var(--lp-hero-cover, none) center/cover no-repeat;
  box-shadow: 0 28px 70px -36px rgba(0, 0, 0, 0.75);
}
.lp-viral-hero--cover h1,
.lp-viral-hero--cover p,
.lp-viral-hero--cover .lp-viral-kicker {
  position: relative;
  z-index: 1;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.65);
}

.lp-guide-video {
  margin: 20px 0 24px;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(46, 230, 168, 0.22);
  background: rgba(4, 16, 12, 0.55);
  box-shadow: 0 20px 50px -28px rgba(0, 0, 0, 0.65);
}
.lp-guide-video video {
  display: block;
  width: 100%;
  height: auto;
  max-height: min(56vw, 420px);
  object-fit: cover;
  background: #04100c;
}
.lp-guide-video figcaption {
  padding: 10px 14px 12px;
  font-size: 13px;
  color: rgba(200, 255, 232, 0.78);
}

.lp-studio-tools {
  margin: 0 0 22px;
  padding: 16px 16px 14px;
  border-radius: 16px;
  border: 1px solid rgba(46, 230, 168, 0.22);
  background: rgba(4, 20, 14, 0.5);
}
.lp-studio-tools p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 0; /* скрывает текстовые разделители «·» между кнопками */
}
.lp-studio-tools strong {
  width: 100%;
  display: block;
  margin-bottom: 2px;
  font-size: 13px;
  letter-spacing: .02em;
  color: rgba(207, 251, 233, 0.75);
}
.lp-studio-tools a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 12px 20px;
  border-radius: 13px;
  font-weight: 800;
  font-size: 15.5px;
  color: #04140d !important;
  background: linear-gradient(135deg, #2ee6a8, #0fae7a);
  text-decoration: none;
  box-shadow: 0 12px 28px -12px rgba(46, 230, 168, 0.7);
  transition: transform .16s ease, box-shadow .22s ease, filter .16s ease;
}
.lp-studio-tools a::after { content: "→"; font-weight: 700; opacity: .85; }
.lp-studio-tools a:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px -10px rgba(46, 230, 168, 0.9);
  filter: brightness(1.05);
  text-decoration: none;
}

@media (max-width: 520px) {
  .lp-studio-tools p { font-size: 13px; }
  .lp-guide-video video { max-height: 52vw; }
}

.lp-price-period{font-size:18px;font-weight:600;color:var(--lp-mut);letter-spacing:-0.02em}
.lp-pricing-policy{
  margin:8px 0 36px;padding:18px 20px;border-radius:16px;
  border:1px solid rgba(46,230,168,.18);background:rgba(46,230,168,.04);
}
.lp-pricing-policy ul{margin:0;padding:0 0 0 18px;color:var(--lp-mut);font-size:14px;line-height:1.65}
.lp-pricing-policy li{margin-bottom:8px}
.lp-pricing-disclaimer{margin:14px 0 0;font-size:13px;color:var(--lp-mut);line-height:1.55}
.lp-pricing-lead{margin:-8px 0 18px;color:var(--lp-mut);font-size:14px;line-height:1.55}
.lp-pricing-details{
  margin:14px 0;border:1px solid rgba(46,230,168,.18);border-radius:16px;
  background:rgba(4,18,14,.58);overflow:hidden;
}
.lp-pricing-details summary{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  min-height:58px;padding:12px 16px;cursor:pointer;list-style:none;color:var(--lp-text);
}
.lp-pricing-details summary::-webkit-details-marker{display:none}
.lp-pricing-details summary span{font-size:14px;font-weight:800}
.lp-pricing-details summary small{color:var(--lp-mut);font-size:12px;text-align:right}
.lp-pricing-details summary::after{content:'＋';color:var(--lp-acc);font-size:18px}
.lp-pricing-details[open] summary::after{content:'−'}
.lp-pricing-details[open] summary{border-bottom:1px solid rgba(46,230,168,.12)}
.lp-pricing-details-body{padding:0 14px 14px}
@media (max-width:520px){.lp-pricing-details summary small{display:none}}

.lp-price-features { margin: 10px 0 0; padding: 0; list-style: none; font-size: 13.5px; color: var(--lp-mut); line-height: 1.55; }
.lp-price-features li { position: relative; padding-left: 18px; margin-bottom: 6px; letter-spacing: -0.008em; }
.lp-price-features li::before { content: ""; position: absolute; left: 0; top: 0.62em; width: 6px; height: 6px; border-radius: 50%; background: var(--lp-acc); box-shadow: 0 0 8px rgba(46,230,168,.55); }

.lp-price-results {
  margin: 8px 0 4px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(46, 230, 168, 0.16);
  background: rgba(2, 22, 17, 0.45);
}

.lp-price-results-title {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--lp-acc);
  margin-bottom: 4px;
}

.lp-price-results-note {
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--lp-text);
  margin: 0 0 6px;
}

.lp-price-results-list {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 12px;
  color: var(--lp-mut);
  line-height: 1.5;
}

.lp-price-results-list li { margin-bottom: 3px; }

.lp-price-results-disclaimer {
  margin: 6px 0 0;
  font-size: 10.5px;
  line-height: 1.35;
  color: var(--lp-mut);
  opacity: 0.85;
}

.lp-pricing-grid-free {
  grid-template-columns: minmax(260px, 420px);
  margin-bottom: 8px;
}

.lp-price-free {
  border-style: dashed;
  border-color: rgba(46, 230, 168, 0.35);
}

.lp-price-org {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(46, 230, 168, 0.14);
}

.lp-price-org-title {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--lp-acc-2);
  margin-bottom: 6px;
}

.lp-price-org-title--soon {
  margin-top: 10px;
  color: var(--lp-mut);
  opacity: 0.9;
}

.lp-price-org-list {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 12px;
  color: var(--lp-mut);
  line-height: 1.45;
}

.lp-price-org-list--soon {
  opacity: 0.85;
}

.lp-price-org-list li { margin-bottom: 5px; }

.lp-benefit-live,
.lp-benefit-soon {
  display: inline-block;
  margin-left: 4px;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 2px 6px;
  border-radius: 99px;
  vertical-align: middle;
}

.lp-benefit-live {
  background: rgba(46, 230, 168, 0.18);
  color: var(--lp-acc);
}

.lp-benefit-soon {
  background: rgba(255, 255, 255, 0.06);
  color: var(--lp-mut);
}

.home-register { margin: 28px 0 36px; padding: 28px 24px; border-radius: 20px; border: 1px solid var(--lp-brd, rgba(46,230,168,.18)); background: rgba(7,20,16,.72); }
.home-register-inner { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; max-width: 1120px; margin: 0 auto; }
.home-register h2 { margin: 0 0 8px; font-family: var(--lp-serif, Georgia, serif); font-size: 1.5rem; }
.home-register-actions { display: flex; flex-wrap: wrap; gap: 10px; }

.site-footer{ margin-top:44px; padding:48px 28px 24px; background:linear-gradient(180deg, rgba(5,20,15,.55), rgba(4,14,10,.92)); border-top:1px solid rgba(46,230,168,.15); color:rgba(200,255,232,.7); font-size:14px; border-radius:24px 24px 0 0; position:relative; z-index:1; }
.ft-grid{ max-width:1200px; margin:0 auto; display:flex; flex-wrap:wrap; gap:36px; justify-content:space-between; }
.ft-col{ min-width:170px; }
.ft-brand{ flex:1; min-width:240px; max-width:380px; }
.ft-logo{ font-size:21px; font-weight:800; background:linear-gradient(90deg,#2ee6a8,#7CFFCB); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; margin-bottom:10px; }
.ft-desc{ font-size:13px; line-height:1.55; color:rgba(200,255,232,.6); margin-bottom:12px; }
.ft-cr{ font-size:12px; color:rgba(200,255,232,.45); }
.ft-col h4{ color:#fff; font-size:13px; text-transform:uppercase; letter-spacing:.08em; margin:0 0 14px; }
.ft-col ul{ list-style:none; padding:0; margin:0; line-height:2.1; }
.ft-col a{ color:rgba(200,255,232,.72); text-decoration:none; }
.ft-col a:hover{ color:#2ee6a8; }
.ft-col p{ margin:0 0 7px; font-size:13px; }
.ft-col p a{ color:#2ee6a8; text-decoration:none; }
.ft-hours{ font-size:12px; color:rgba(200,255,232,.5); line-height:1.45; }
.ft-hr{ max-width:1200px; margin:32px auto 22px; border:0; border-top:1px solid rgba(46,230,168,.14); }
.ft-fiscal{ max-width:1200px; margin:0 auto; display:flex; flex-wrap:wrap; gap:20px; align-items:center; justify-content:space-between; }
.ft-fiscal-text{ flex:1; min-width:300px; font-size:11.5px; color:rgba(200,255,232,.46); line-height:1.55; }
.ft-fiscal-text b{ color:rgba(200,255,232,.72); }
.ft-pay{ display:flex; gap:12px; flex-wrap:wrap; }
.ft-pay span{ font-weight:700; font-size:12px; letter-spacing:.04em; padding:7px 13px; border-radius:9px; background:rgba(46,230,168,.1); border:1px solid rgba(46,230,168,.22); color:rgba(200,255,232,.82); }
@media(max-width:600px){ .site-footer{ padding:32px 16px 20px; } }

.lp-viral-hero{
  margin:20px 0 18px;
  padding:24px;
  border-radius:22px;
  border:1px solid rgba(140,255,214,.28);
  background:
    radial-gradient(120% 120% at 7% 0%, rgba(58,231,171,.26), transparent 60%),
    radial-gradient(90% 120% at 95% 20%, rgba(136,118,255,.22), transparent 66%),
    linear-gradient(160deg, rgba(4,17,14,.96), rgba(5,10,18,.95));
  box-shadow:0 20px 56px -34px rgba(7,19,15,.86);
}
.lp-viral-kicker{
  margin:0;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:11px;
  font-weight:800;
  color:#93f6c9;
}
.lp-viral-hero h1{
  margin:10px 0 0;
  color:#f1fff8;
  font-family:var(--lp-font);
  font-size:clamp(24px,3vw,36px);
  font-weight:700;
  line-height:1.15;
  letter-spacing:-.025em;
}
.lp-viral-hero p{
  margin:12px 0 0;
  color:rgba(223,245,235,.9);
  max-width:80ch;
}
.lp-hero-cta-row{ display:flex; gap:14px; flex-wrap:wrap; margin-top:20px; }
.lp-cta--big{
  display:inline-flex; align-items:center; gap:8px;
  font-size:17px!important; font-weight:800!important;
  padding:15px 26px!important; border-radius:16px!important;
  background:linear-gradient(135deg,#2ee6a8,#0fae7a)!important; color:#04140d!important;
  border:none!important; text-decoration:none; letter-spacing:.2px;
  box-shadow:0 14px 34px -12px rgba(46,230,168,.95); transition:transform .15s, box-shadow .15s;
}
.lp-cta--big:hover{ transform:translateY(-2px); box-shadow:0 20px 44px -12px rgba(46,230,168,1); }
.lp-cta--big.lp-cta--alt{
  background:linear-gradient(135deg,#7c6cff,#5b8cff)!important; color:#fff!important;
  box-shadow:0 14px 34px -12px rgba(124,108,255,.95);
}
.lp-cta--big.lp-cta--alt:hover{ box-shadow:0 20px 44px -12px rgba(124,108,255,1); }
@media(max-width:560px){ .lp-hero-cta-row{ flex-direction:column; } .lp-cta--big{ justify-content:center; } }
.lp-guides-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:18px 0 6px;
}
.lp-guide-card{
  display:block;
  border-radius:16px;
  border:1px solid rgba(142,252,214,.24);
  background:rgba(9,26,20,.72);
  padding:16px;
  text-decoration:none;
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.lp-guide-card b{
  display:block;
  color:#f0fff8;
  font-size:16px;
}
.lp-guide-card span{
  display:block;
  margin-top:6px;
  color:#b6dfca;
  font-size:13.5px;
  line-height:1.5;
}
.lp-guide-card:hover{
  transform:translateY(-2px);
  border-color:rgba(178,255,228,.65);
  box-shadow:0 16px 36px -28px rgba(74,245,187,.72);
}
.lp-guide-card--rich{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:14px;
  align-items:center;
  padding:12px;
  overflow:hidden;
}
.lp-guide-card--rich img{
  width:120px;
  height:84px;
  object-fit:cover;
  border-radius:12px;
  border:1px solid rgba(150,255,215,.28);
  box-shadow:0 10px 24px -18px rgba(0,0,0,.65);
}
.lp-guide-card--rich b{font-family:var(--lp-font);font-weight:700}
.lp-guide-card--rich span{font-family:var(--lp-font)}
@media (max-width:860px){
  .lp-guides-grid{grid-template-columns:1fr}
  .lp-guide-card--rich{grid-template-columns:96px 1fr}
  .lp-guide-card--rich img{width:96px;height:68px}
}

/* mobile landing polish (rich4) */
@media (max-width:768px){
  html, body.landing-rich{ overflow-x:clip; }
  .landing-rich .lp-shell{ padding:0 12px calc(24px + env(safe-area-inset-bottom)); }
  .lp-kinetic-bg .lp-orb{ filter:blur(48px); opacity:.32; animation-duration:24s; }
  .lp-kinetic-bg .lp-orb-3{ display:none; }
  .lp-grid-lines{ opacity:.35; animation:none; }
  .lp-header-animated{ animation:none; }
  .lp-logo-pulse img{ animation-duration:3.6s; }
  .lp-cta-studio{ animation-duration:3s; }
  .lp-omni-section{ padding:14px; border-radius:18px; margin-bottom:20px; }
  .lp-omni-chips{ gap:6px; }
  .lp-omni-chips button{ font-size:11.5px!important; padding:7px 11px!important; }
  .landing-rich .landing-toast{ bottom:calc(18px + env(safe-area-inset-bottom)); }
  body:has(.mobile-nav) .cookie-banner,
  .landing-rich:has(~ #cookieBanner) .cookie-banner {
    bottom: calc(78px + env(safe-area-inset-bottom));
  }
}
@media (max-width:768px) and (prefers-reduced-motion:reduce){
  .lp-kinetic-bg, .lp-header-animated::after, .lp-logo-pulse img, .lp-logo-ring, .lp-cta-studio{ animation:none!important; }
  .lp-kinetic-bg{ display:none; }
}

/* cockpit60: ВАУ-шапка гайдов — картинка видна, лёгкая анимация (GPU) */
.lp-viral-hero--cover{
  background: #04120c var(--lp-hero-cover, none) center/cover no-repeat !important;
}
.lp-viral-hero--cover::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:var(--lp-hero-cover, none) center/cover no-repeat; opacity:.9;
  animation:lpHeroZoom 18s ease-in-out infinite alternate; }
.lp-viral-hero--cover::after{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    linear-gradient(115deg, rgba(2,12,9,.8) 0%, rgba(2,12,9,.35) 45%, transparent 100%),
    radial-gradient(80% 120% at 100% 0%, rgba(46,230,168,.22), transparent 60%);
}
.lp-viral-hero--cover > *{ position:relative; z-index:1; }
@keyframes lpHeroZoom{ from{ transform:scale(1.02) } to{ transform:scale(1.12) translateY(-2%) } }
.lp-viral-hero--cover .lp-viral-kicker{ color:#2ee6a8 !important; letter-spacing:.14em; }
@media (prefers-reduced-motion:reduce){ .lp-viral-hero--cover::before{ animation:none } }

/* ============ МОБ-ЛЕНДИНГ: эргономика + вау (v18) ============ */
@media (max-width:768px){
  /* hero — крупнее и читаемее, с воздухом */
  .lp-page .lp-viral-hero{ padding:24px 2px 6px; }
  .lp-page .lp-viral-hero h1{ font-size:clamp(25px,7.4vw,33px); line-height:1.14; letter-spacing:-.01em; }
  .lp-page .lp-viral-hero p{ font-size:15px; line-height:1.58; }
  .lp-page .lp-viral-kicker{ font-size:12px; }

  /* навигатор смежных разделов — горизонтальный снап-скролл, крупные тапы */
  .lp-page .lp-guides-nav{
    display:flex; flex-wrap:nowrap; gap:8px; overflow-x:auto; overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch; scroll-snap-type:x proximity; padding:2px 0 10px; margin:0 -2px 6px;
    scrollbar-width:none; -ms-overflow-style:none;
  }
  .lp-page .lp-guides-nav::-webkit-scrollbar{ display:none; }
  .lp-page .lp-guides-nav a{
    flex:0 0 auto; scroll-snap-align:start; padding:10px 15px; border-radius:999px; font-size:13.5px;
    background:rgba(46,230,168,.08); border:1px solid rgba(46,230,168,.2); white-space:nowrap;
  }

  /* тело гайда/посадочной — комфортное чтение */
  .lp-page .lp-guide{ padding:2px 2px 10px; }
  .lp-page .lp-guide h2{ font-size:19px; margin-top:24px; line-height:1.2; }
  .lp-page .lp-guide p,
  .lp-page .lp-guide li{ font-size:15px; line-height:1.62; }
  .lp-page .lp-guide ul{ padding-left:18px; }

  /* studio-tools и шаги — тапабельно */
  .lp-page .lp-studio-tools{ padding:12px 14px!important; }
  .lp-page .lp-studio-tools a{ display:inline-block; padding:4px 2px; }
  .lp-page .lp-guide-steps li{ gap:12px; }
  .lp-page .lp-guide-step-num{ width:30px; height:30px; flex:0 0 30px; }

  /* FAQ — крупная зона нажатия */
  .lp-page .lp-guide-faq summary{
    min-height:50px; display:flex; align-items:center; padding:14px 12px; font-size:15px;
    border-radius:12px; cursor:pointer;
  }
  .lp-page .lp-guide-faq details[open] summary{ background:rgba(46,230,168,.07); }

  /* CTA — крупные кнопки на всю ширину */
  .lp-page .lp-guide-cta{ padding:16px 14px; }
  .lp-page .lp-guide-cta a.lp-cta,
  .lp-page .lp-viral-hero .lp-cta{ display:block; text-align:center; padding:15px 18px; font-size:16px; border-radius:14px; }

  /* карточки-сетки — один столбец, крупные превью */
  .lp-page .lp-guides-grid{ grid-template-columns:1fr; gap:12px; }
  .lp-page .lp-guide-card--rich{ grid-template-columns:110px 1fr; }
  .lp-page .lp-guide-card--rich img{ width:110px; height:78px; }
}

/* ВАУ: плавное появление секций при скролле (прогрессивно, с graceful fallback) */
@supports (animation-timeline: view()){
  @media (max-width:900px) and (prefers-reduced-motion:no-preference){
    .lp-page .lp-viral-hero,
    .lp-page .lp-guide > h2,
    .lp-page .lp-guide > ul,
    .lp-page .lp-guide > ol,
    .lp-page .lp-guide > blockquote,
    .lp-page .lp-guide-faq,
    .lp-page .lp-guide-cta,
    .lp-page .lp-guides-grid > a{
      animation:lpReveal both;
      animation-timeline:view();
      animation-range:entry 0% cover 20%;
    }
  }
}
@keyframes lpReveal{ from{ opacity:0; transform:translateY(18px) } to{ opacity:1; transform:none } }

/* ============ КАТАЛОГ — сетка ссылок ============ */
.catalog-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:10px; margin:12px 0 26px; }
.catalog-grid a{
  display:flex; align-items:center; gap:8px; padding:13px 15px; border-radius:13px; text-decoration:none; font-size:14.5px; font-weight:600;
  color:#eafff5; background:rgba(255,255,255,.035); border:1px solid rgba(46,230,168,.16);
  transition:transform .15s, background .18s, border-color .18s, box-shadow .2s;
}
.catalog-grid a::before{ content:"→"; color:#2ee6a8; font-weight:800; opacity:.7; transition:transform .15s; }
.catalog-grid a:hover{ transform:translateY(-2px); background:rgba(46,230,168,.1); border-color:rgba(46,230,168,.4); box-shadow:0 14px 30px -16px rgba(46,230,168,.7); }
.catalog-grid a:hover::before{ transform:translateX(3px); }
@media(max-width:600px){ .catalog-grid{ grid-template-columns:1fr; } }

/* ============ ГЛОБАЛЬНЫЙ ЛОСК (десктоп + мобайл) v19 ============ */
/* доступные фокус-кольца — премиально и для клавиатуры */
.lp-page a:focus-visible,
.lp-page button:focus-visible,
.lp-page summary:focus-visible,
.lp-page .lp-cta:focus-visible{
  outline:none; box-shadow:0 0 0 3px rgba(46,230,168,.45), 0 0 0 6px rgba(46,230,168,.15); border-radius:10px;
}
/* плавность интерактива по всему лендингу */
.lp-page a, .lp-page .lp-cta, .lp-page .lp-guide-card, .lp-page .lp-guides-nav a{ transition:color .15s, background .18s, border-color .18s, transform .18s, box-shadow .2s; }
/* rich-карточки: мягкий подъём + зум превью */
.lp-guide-card--rich{ overflow:hidden; }
.lp-guide-card--rich img{ transition:transform .35s ease; }
.lp-guide-card--rich:hover{ transform:translateY(-3px); box-shadow:0 22px 50px -22px rgba(46,230,168,.4); border-color:rgba(46,230,168,.34); }
.lp-guide-card--rich:hover img{ transform:scale(1.06); }
/* пилюли навигатора — подсветка на ховере */
.lp-guides-nav a:hover{ background:rgba(46,230,168,.16); border-color:rgba(46,230,168,.4); transform:translateY(-1px); }
/* FAQ — маркер-стрелка плавно поворачивается */
.lp-guide-faq details > summary{ list-style:none; position:relative; padding-right:34px; }
.lp-guide-faq details > summary::-webkit-details-marker{ display:none; }
.lp-guide-faq details > summary::after{ content:"⌄"; position:absolute; right:14px; top:50%; transform:translateY(-50%) rotate(0); transition:transform .2s; font-size:18px; opacity:.7; }
.lp-guide-faq details[open] > summary::after{ transform:translateY(-50%) rotate(180deg); color:#2ee6a8; }
/* ссылки в тексте — аккуратный ховер */
.lp-guide a:not(.lp-cta):hover{ text-decoration:underline; text-underline-offset:3px; }
/* CTA-кнопки — единый подъём */
.lp-guide-cta a.lp-cta:hover, .lp-viral-hero .lp-cta:hover{ transform:translateY(-2px); box-shadow:0 18px 40px -14px rgba(46,230,168,.9); }
@media (prefers-reduced-motion:reduce){
  .lp-page a, .lp-page .lp-cta, .lp-page .lp-guide-card, .lp-page .lp-guides-nav a, .lp-guide-card--rich img{ transition:none!important; }
}

/* Brand pages: testimonials + PDF downloads */
.lp-testimonial{
  margin:1.25rem 0;padding:1.1rem 1.25rem;border-left:3px solid #2ee6a8;
  background:rgba(46,230,168,.06);border-radius:0 12px 12px 0;
}
.lp-testimonial p{margin:0 0 .5rem;font-style:italic;color:#d8ebe3}
.lp-testimonial footer{font-size:.85rem;color:#8aa89c}
.lp-pdf-downloads ul{list-style:none;padding:0;margin:.75rem 0}
.lp-pdf-downloads li{margin:.55rem 0;padding:.65rem .85rem;background:rgba(4,16,12,.55);border:1px solid rgba(46,230,168,.18);border-radius:10px}
.lp-pdf-downloads a{color:#2ee6a8;font-weight:600;text-decoration:none}
.lp-pdf-downloads a:hover{text-decoration:underline}

/* SEO-текст на лендинге */
.lp-seo-block{
  max-width:72ch;margin:2.5rem auto 3rem;padding:1.5rem 1.25rem;
  border:1px solid rgba(46,230,168,.16);border-radius:18px;
  background:rgba(4,16,12,.45);
}
.lp-seo-block h2{font-size:1.35rem;margin:0 0 .85rem;color:#eafff5}
.lp-seo-block p{margin:0 0 .75rem;line-height:1.65;color:rgba(207,251,233,.82);font-size:15px}
.lp-seo-links{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-wrap:wrap;gap:10px 18px}
.lp-seo-links a{color:#2ee6a8;font-weight:600;text-decoration:none}
.lp-seo-links a:hover{text-decoration:underline}

/* hero-иллюстрация лендингов */
.lp-hero-figure{margin:0 0 2rem;border-radius:18px;overflow:hidden;box-shadow:0 18px 50px -18px rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.08);line-height:0;background:#0a1a14}
.lp-hero-figure img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
@media(max-width:768px){.lp-hero-figure{border-radius:14px;margin-bottom:1.4rem}}
