/* NeuroLensAI Landing — Production v1 */

:root {
  --bg: #0B0B0F;
  --text: #F2F2F5;
  --muted: #A7A7B1;
  --card: #14141B;
  --line: #1E1E28;
  --accent-from: #7A3DF0;
  --accent-to: #19D3C5;
  --gold: #D4AF37;
  --radius: 14px;
  --shadow: 0 10px 30px rgba(0,0,0,.45);
  --glow: 0 0 20px rgba(122,61,240,.4), 0 0 40px rgba(25,211,197,.2);
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

html, body {
  background: var(--bg);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body {
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}

img {
  max-width: 100%;
  display: block;
  height: auto;
}

a {
  color: var(--text);
  text-decoration: none;
  transition: color .3s ease;
}

h1, h2, h3 {
  margin: 0 0 .6rem;
  font-weight: 700;
}

p {
  margin: .6rem 0;
}

/* Pills */
.pill {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid #2a2a36;
  background: rgba(255,255,255,.03);
  color: #cfd0da;
  margin-bottom: 10px;
  font-size: 14px;
  backdrop-filter: blur(10px);
  animation: pulse-border 3s ease-in-out infinite;
}

@keyframes pulse-border {
  0%, 100% { border-color: #2a2a36; }
  50% { border-color: rgba(122,61,240,.4); }
}

/* Hero Section - OLD STYLES (commented out, using Tailwind now)
.hero {
  position: relative;
  min-height: 92vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  background: var(--bg);
}

.hero-fox {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 0;
  pointer-events: none;
}

.hero-fox-img {
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: 80vh;
  object-fit: contain;
  opacity: 0.6;
  filter: brightness(1.2) saturate(1.1);
}

@media (max-width: 768px) {
  .hero-fox-img {
    max-height: 70vh;
    opacity: 0.5;
  }
}

@media (max-width: 480px) {
  .hero-fox-img {
    max-height: 60vh;
    opacity: 0.4;
  }
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: 
    radial-gradient(ellipse 60% 40% at 25% 15%, rgba(122,61,240,.08) 0%, transparent 60%),
    radial-gradient(ellipse 60% 40% at 75% 85%, rgba(25,211,197,.06) 0%, transparent 60%),
    linear-gradient(135deg, rgba(11,11,15,0.2) 0%, rgba(11,11,15,0.6) 100%);
  pointer-events: none;
  animation: gradient-shift 15s ease-in-out infinite;
}

@keyframes gradient-shift {
  0%, 100% { opacity: 1; }
  50% { opacity: .85; }
}
*/

/* Navigation */
.nav {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 16px;
  animation: fadeInDown .8s ease-out;
  gap: 12px;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .nav { padding: 18px 20px; }
}
.nav .btn-cta {
  flex-shrink: 0;
}

@keyframes fadeInDown {
  from { opacity: 0; transform: translateY(-20px); }
  to { opacity: 1; transform: translateY(0); }
}

.brand {
  font-weight: 700;
  letter-spacing: .5px;
  font-size: 18px;
}

.brand span {
  background: linear-gradient(135deg, var(--accent-from), var(--accent-to));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: gradient-flow 3s ease infinite;
  background-size: 200% 200%;
}

@keyframes gradient-flow {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  border-radius: 999px;
  padding: 14px 24px;
  font-weight: 600;
  border: 1px solid transparent;
  transition: all .3s cubic-bezier(.4,0,.2,1);
  outline: none;
  cursor: pointer;
  text-align: center;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
}

.btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.1), transparent);
  opacity: 0;
  transition: opacity .3s ease;
}

.btn:hover::before {
  opacity: 1;
}

.btn-primary {
  background: linear-gradient(135deg, var(--accent-from), var(--accent-to));
  color: #0b0b0f;
  box-shadow: 0 4px 14px rgba(122,61,240,.25);
  font-weight: 700;
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: var(--glow), 0 8px 25px rgba(122,61,240,.35);
}

.btn-primary:active {
  transform: translateY(0);
}

.btn-ghost {
  border-color: #2a2a36;
  background: rgba(255,255,255,.02);
  backdrop-filter: blur(10px);
}

.btn-ghost:hover {
  background: rgba(255,255,255,.06);
  border-color: rgba(122,61,240,.3);
}

.btn-block {
  width: 100%;
}

/* Hero Content - OLD STYLES (commented out, using Tailwind now)
.hero-content {
  position: relative;
  z-index: 3;
  max-width: 980px;
  margin: 6vh auto 10vh;
  padding: 0 20px;
  text-align: center;
  animation: fadeInUp 1s ease-out .3s both;
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

.hero h1 {
  font-size: clamp(28px, 4.5vw, 56px);
  line-height: 1.1;
  margin-bottom: .4rem;
  background: linear-gradient(180deg, #fff 0%, rgba(255,255,255,.85) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.subtitle {
  font-size: clamp(18px, 2.2vw, 24px);
  color: var(--text);
  font-weight: 500;
}

.tagline {
  margin-top: .6rem;
  color: var(--text);
  font-size: clamp(16px, 1.8vw, 18px);
}

.cta-wrap {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: .8rem;
  align-items: center;
}

.cta-note {
  color: var(--text);
  font-size: 14px;
}

.cta-note strong {
  color: var(--accent-to);
  font-weight: 700;
}
*/

/* Sections */
.section {
  padding: 50px 16px;
  border-top: 1px solid var(--line);
  position: relative;
}
@media (min-width: 768px) {
  .section { padding: 80px 20px; }
}

.section h2 {
  font-size: clamp(24px, 3.5vw, 38px);
  text-align: center;
  margin-bottom: 20px;
  background: linear-gradient(135deg, #fff, #cfd0da);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.lead {
  text-align: center;
  font-size: clamp(16px, 2vw, 19px);
  margin-bottom: 12px;
  line-height: 1.6;
}

.muted {
  text-align: center;
  color: var(--muted);
  max-width: 900px;
  margin: 0 auto;
  line-height: 1.6;
}

/* Grid Layouts */
.grid-2 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  max-width: 1100px;
  margin: 32px auto 0;
}
@media (min-width: 768px) {
  .grid-2 {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin: 40px auto 0;
  }
}

.card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 28px;
  box-shadow: var(--shadow);
  transition: all .3s ease;
  position: relative;
  overflow: hidden;
}

.card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--accent-from), var(--accent-to));
  opacity: 0;
  transition: opacity .3s ease;
}

.card:hover::before {
  opacity: 1;
}

.card:hover {
  transform: translateY(-4px);
  border-color: rgba(122,61,240,.3);
  box-shadow: 0 15px 40px rgba(0,0,0,.5), 0 0 0 1px rgba(122,61,240,.1);
}

.card h3 {
  font-size: 20px;
  margin-bottom: 12px;
}

/* FoxMagic Section (как в боте; alias для .nanobanana) */
.foxmagic-section .list,
.nb .list {
  margin: 0;
  padding-left: 20px;
  list-style: none;
}

.foxmagic-section .list li,
.nb .list li {
  position: relative;
  padding-left: 12px;
  margin-bottom: 14px;
  line-height: 1.6;
}

.foxmagic-section .list li::before,
.nb .list li::before {
  content: '→';
  position: absolute;
  left: -8px;
  color: var(--accent-to);
  font-weight: bold;
}

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

.gallery img {
  border-radius: 12px;
  border: 1px solid var(--line);
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
  transition: all .3s ease;
}

.gallery img:hover {
  transform: scale(1.05);
  box-shadow: 0 12px 32px rgba(122,61,240,.3);
  border-color: rgba(122,61,240,.4);
}

/* Examples Grid */
.examples {
  background: linear-gradient(180deg, rgba(14,14,27,.3) 0%, rgba(11,11,15,1) 100%);
  position: relative;
  overflow: hidden;
}


.examples h2,
.examples .lead,
.examples-grid,
.examples .muted {
  position: relative;
  z-index: 1;
}

.examples-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 1200px;
  margin: 30px auto 20px;
}

.example-item {
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: var(--card);
  aspect-ratio: 3/4;
  transition: all .3s ease;
}

.example-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}

.example-item:hover {
  transform: translateY(-6px);
  border-color: rgba(122,61,240,.5);
  box-shadow: 0 15px 40px rgba(122,61,240,.3);
}

.example-item:hover img {
  transform: scale(1.08);
}

@media (max-width: 1024px) {
  .examples-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .examples-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
}

@media (max-width: 560px) {
  .examples-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
}

/* Pricing */
.pricing {
  position: relative;
  overflow: hidden;
}


@keyframes float {
  0%, 100% { transform: translateY(0) rotate(-5deg); }
  50% { transform: translateY(-20px) rotate(5deg); }
}

.pricing h2,
.pricing .grid-4,
.pricing .muted {
  position: relative;
  z-index: 1;
}

.grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  max-width: 1200px;
  margin: 30px auto 0;
}

.price-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 28px 24px;
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
  transition: all .3s cubic-bezier(.4,0,.2,1);
  position: relative;
  overflow: hidden;
}

.price-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(122,61,240,.05), rgba(25,211,197,.05));
  opacity: 0;
  transition: opacity .3s ease;
  pointer-events: none;
}

.price-card:hover {
  transform: translateY(-8px);
  border-color: rgba(122,61,240,.4);
  box-shadow: 0 20px 50px rgba(0,0,0,.6), var(--glow);
}

.price-card:hover::after {
  opacity: 1;
}

.price-head {
  font-weight: 700;
  font-size: 20px;
  z-index: 1;
}

.price-photos {
  color: #cfd0da;
  font-size: 15px;
  z-index: 1;
}

.price-val {
  font-size: 32px;
  font-weight: 800;
  background: linear-gradient(135deg, var(--accent-from), var(--accent-to));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  margin: 4px 0;
  z-index: 1;
}

.price-card p {
  color: var(--muted);
  line-height: 1.5;
  flex-grow: 1;
  z-index: 1;
}

.price-card .btn {
  margin-top: 8px;
  z-index: 1;
}

.price-card.best {
  border-color: rgba(212,175,55,.5);
  background: linear-gradient(135deg, rgba(212,175,55,.08), rgba(14,14,27,.95));
}

.price-card.best::before {
  content: '⭐ Популярный';
  position: absolute;
  top: 12px;
  right: 12px;
  font-size: 11px;
  font-weight: 600;
  color: var(--gold);
  background: rgba(212,175,55,.15);
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(212,175,55,.3);
}

.small {
  font-size: 14px;
}

/* Promo Section */
.promo {
  background: linear-gradient(135deg, rgba(122,61,240,.15), rgba(25,211,197,.12));
  border-top: 1px solid rgba(122,61,240,.25);
  border-bottom: 1px solid rgba(25,211,197,.25);
  position: relative;
  overflow: hidden;
}

.promo::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 50%, rgba(122,61,240,.1) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}


.promo h2,
.promo .lead,
.promo .btn {
  position: relative;
  z-index: 1;
}

/* Footer */
.footer {
  padding: 32px 16px 40px;
  border-top: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: center;
  color: var(--muted);
  text-align: center;
}
@media (min-width: 768px) {
  .footer { padding: 40px 20px; }
}

.footer-nav {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
@media (max-width: 480px) {
  .footer-nav { gap: 12px; font-size: 15px; }
}

.footer a {
  color: var(--muted);
  transition: color .3s ease;
}

.footer a:hover {
  color: #fff;
}

.footer-requisites {
  margin-top: 6px;
  font-size: 12px;
  color: #6b7280;
  opacity: 0.9;
  letter-spacing: 0.01em;
}

@media (max-width: 560px) {
  .footer-requisites {
    font-size: 11px;
    padding: 0 8px;
  }
}

/* Reveal Animation */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: all .8s cubic-bezier(.4,0,.2,1);
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Focus Styles */
:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 8px;
}

/* Scrollbar */
::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: var(--bg);
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--accent-from), var(--accent-to));
  border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #8b4fff, #2ae6d5);
}

/* Responsive Design */
@media (max-width: 1024px) {
  .grid-4 {
    grid-template-columns: 1fr 1fr;
  }
  
  .section {
    padding: 60px 20px;
  }
}

@media (max-width: 768px) {
  .grid-2 {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .gallery {
    grid-template-columns: 1fr 1fr;
  }
  
  .nav {
    padding: 14px 16px;
  }
  
  /* .hero-content {
    margin: 4vh auto 6vh;
  } */
}

@media (max-width: 560px) {
  .btn {
    padding: 12px 20px;
    font-size: 15px;
  }
  
  .gallery {
    grid-template-columns: 1fr;
  }
  
  .grid-4 {
    grid-template-columns: 1fr;
  }
  
  .section {
    padding: 50px 16px;
  }
  
  /* .hero {
    min-height: 100vh;
  } */
}

/* Print Styles */
@media print {
  /* .hero-bg,
  .hero-overlay, */
  .nav,
  .btn {
    display: none;
  }
}

/* Неоновая кнопка */
.btn-cta {
  --glow: 0 0 0 rgba(0,0,0,0);
  --ring: rgba(34,211,238,.75);       /* cyan-400/— можно подкрутить */
  --grad: linear-gradient(90deg,#22d3ee,#60a5fa,#a78bfa);
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .8rem 1.25rem;
  border-radius: 1rem;
  font-weight: 700;
  color: #020617;                     /* почти чёрный для контраста */
  background: var(--grad);
  box-shadow: var(--glow);
  transition: transform .15s ease, box-shadow .2s ease, filter .2s ease;
  min-width: 220px;                   /* фикс, чтобы не «плясала» */
}

.btn-cta:hover {
  transform: translateY(-1px);
  box-shadow:
    0 6px 24px rgba(34,211,238,.25),
    0 0 32px rgba(96,165,250,.25),
    0 0 48px rgba(167,139,250,.25);
  filter: saturate(1.05);
}

.btn-cta:active { transform: translateY(0); }

.btn-cta:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 3px rgba(2,6,23,.9),
    0 0 0 6px var(--ring),
    0 6px 24px rgba(34,211,238,.25),
    0 0 32px rgba(96,165,250,.25);
}

/* Вариант «прозрачная с неон-рамкой» — для верхней правой в хедере */
.btn-cta--ghost {
  background: transparent;
  color: #67e8f9;
  border: 2px solid rgba(103,232,249,.6);
  backdrop-filter: blur(4px);
}
.btn-cta--ghost:hover {
  box-shadow:
    0 0 0 2px rgba(103,232,249,.85),
    0 8px 28px rgba(34,211,238,.25);
}

/* === Неоновые CTA-кнопки === */
.btn-cta {
  --ring: rgba(34,211,238,.75);
  --grad: linear-gradient(90deg,#22d3ee,#60a5fa,#a78bfa);
  position: relative;
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  padding: .8rem 1.25rem; border-radius: 1rem; font-weight: 700;
  color: #020617; background: var(--grad); min-width: 220px;
  box-shadow: 0 6px 24px rgba(34,211,238,.25), 0 0 32px rgba(96,165,250,.25), 0 0 48px rgba(167,139,250,.25);
  transition: transform .15s ease, box-shadow .2s ease, filter .2s ease;
}
.btn-cta:hover{
  transform: translateY(-1px);
  box-shadow: 0 6px 24px rgba(34,211,238,.28), 0 0 36px rgba(96,165,250,.28), 0 0 52px rgba(167,139,250,.28);
  filter: saturate(1.05);
}
.btn-cta:active{ transform: translateY(0); }
.btn-cta:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(2,6,23,.95), 0 0 0 6px var(--ring), 0 8px 28px rgba(34,211,238,.25);
}

/* Прозрачная неоновая (для верхней-правой кнопки) */
.btn-cta--ghost{
  background: transparent; color: #67e8f9; border: 2px solid rgba(103,232,249,.6); backdrop-filter: blur(4px);
}
.btn-cta--ghost:hover{ box-shadow: 0 0 0 2px rgba(103,232,249,.85), 0 8px 28px rgba(34,211,238,.25); }
.btn-cta--ghost:focus-visible{
  outline: none; box-shadow: 0 0 0 3px rgba(2,6,23,.95), 0 0 0 6px rgba(103,232,249,.75), 0 8px 28px rgba(34,211,238,.25);
}

/* === Галерея: сбалансированные колонки (без кропа) === */
.balanced-gallery{ display: flex; align-items: flex-start; gap: 16px; }
.balanced-col{ flex: 1 1 0; display: flex; flex-direction: column; gap: 16px; min-width: 0; }
@media (max-width: 640px){
  .balanced-col img{ transition-duration: 240ms; }
  .balanced-col .group:hover img{ transform: scale(1.02); }
}

/* === Волновой разделитель (+ параллакс) === */
.gallery-wrap{ position: relative; }
.wave-sep{ height: 96px; will-change: transform; transform: translateY(0); pointer-events: none; }
@media (min-width: 1024px){ .wave-sep{ height: 120px; } }

/* На десктопе держим H1 в две строки */
@media (min-width: 1024px) and (max-width: 1366px){
  .hero-title-lg{ font-size: 52px; line-height: 1.1; }
}

/* Поднимаем SVG чуть вверх */
.diagonal-sep{ transform: translateY(-22px); will-change: transform; z-index:0; }
@media (min-width:1024px){ .diagonal-sep{ transform: translateY(-26px); } }

/* Волна может перекрывать фон, но не карточки */
.balanced-col figure{ position: relative; z-index: 1; }

/* Никаких обрезаний свечения */
.gallery-wrap{ overflow: visible; }

/* У нижнего ряда фокус выше — композиция не «проседает» */
.balanced-col figure:last-child img{ object-position: center top; }

/* убираем лишний "вентиляционный" зазор, если где-то задан margin-bottom */
.balanced-col figure:last-child{ margin-bottom: 0 !important; }

/* Неон-маркеры списков (замена смайлам/стрелкам) */
.nb-bullet {
  display:inline-flex; align-items:center; justify-content:center;
  width:1.5rem; height:1.5rem; border-radius:9999px;
  background: rgba(34,211,238,.12); box-shadow: inset 0 0 0 1px rgba(34,211,238,.35);
}
.nb-bullet::after {
  content:""; width:.5rem; height:.5rem; border-radius:9999px; background:#67e8f9;
}

/* Тонкая разделительная «волосинка» (если нужна) */
.hairline {
  height:1px; background:linear-gradient(90deg,transparent,rgba(148,163,184,.16),transparent);
  opacity:.9;
}

/* Перестраховка слоёв над диагональю */
.balanced-col figure{ position:relative; z-index:1; }
.gallery-wrap{ overflow:visible; }

/* Аккуратная типографика заголовков */
.tracking-tight { letter-spacing: -0.015em; }

/* Убираем эмодзи, если они в тексте заголовков */
.pricing-card h4 .emoji { display:none !important; }

/* Мини-иконка вместо эмодзи (тонкая, необязательно). Можно убрать строкой ниже. */
.pricing-icon {
  width: 18px; height: 18px; margin-right: .5rem; opacity: .9;
}

/* Карточки */
.pricing-card{
  border-radius: 20px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  padding: 28px;
  backdrop-filter: blur(8px);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.pricing-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 40px rgba(76,132,255,.08);
  border-color: rgba(255,255,255,.14);
}

/* VIP — деликатный акцент, без «ярмарки» */
.pricing-card.is-vip{
  border-color: rgba(234,179,8,.35);
  box-shadow: inset 0 0 0 1px rgba(234,179,8,.25), 0 10px 40px rgba(234,179,8,.06);
}

/* Популярная карточка (для Pro) */
.pricing-card.is-popular{
  border-color: rgba(34,211,238,.45);
  box-shadow:
    inset 0 0 0 1px rgba(34,211,238,.35),
    0 12px 40px rgba(34,211,238,.10);
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(96,165,250,.08) 0%, transparent 60%),
    radial-gradient(120% 120% at 0% 100%, rgba(167,139,250,.08) 0%, transparent 60%),
    rgba(255,255,255,.04);
}

.pricing-badge{
  position:absolute; top:-10px; right:16px;
  padding: 6px 10px; border-radius: 9999px;
  font-size: 12px; line-height: 1;
  color: #fde68a; background: rgba(234,179,8,.16);
  border: 1px solid rgba(234,179,8,.35);
}

.pricing-badge--popular{
  position:absolute; top:-10px; right:16px;
  padding: 6px 10px; border-radius: 9999px;
  font-size: 12px; line-height: 1;
  color:#a5f3fc; background: rgba(34,211,238,.16);
  border:1px solid rgba(34,211,238,.45);
}

/* Заголовок и подзаголовок */
.pricing-card h4{ display:flex; align-items:center; gap:.5rem; color:#fff; font-weight:700; font-size:20px; letter-spacing:-0.01em; }
.pricing-sub{ color:#9ca3af; margin-top:6px; font-size:14px; }

/* Цена: цифры и ₽ по базовой линии */
.pricing-price{ color:#fff; font-weight:800; margin-top:14px; letter-spacing:-0.01em; }
.pricing-price .num{ font-size:38px; line-height:1; }
.pricing-price .rub{ font-size:28px; line-height:1; vertical-align:baseline; margin-left:2px; opacity:.9; }

/* Описание */
.pricing-desc{ color:#cbd5e1; margin-top:16px; font-size:16px; }

/* Кнопки — одинаковой ширины и высоты */
.pricing-cta{
  display:inline-flex; align-items:center; justify-content:center;
  width: 100%; max-width: 420px; height: 56px;
  border-radius: 9999px; margin-top: 22px;
  background: linear-gradient(90deg,#6d78ff,#22d3ee);
  color:#0b0f19; font-weight:700;
  box-shadow: 0 6px 18px rgba(34,211,238,.18);
  transition: filter .2s ease, transform .2s ease, box-shadow .2s ease;
}
.pricing-cta:hover{ filter:brightness(1.07); transform: translateY(-1px); box-shadow: 0 10px 28px rgba(34,211,238,.22); }
.pricing-cta:focus-visible{ outline:2px solid #22d3ee; outline-offset:2px; }

.pricing-card.is-popular .pricing-cta{
  box-shadow: 0 10px 30px rgba(34,211,238,.28);
  filter: brightness(1.06);
}

/* Сетка */
.pricing-grid{ display:grid; gap:24px; grid-template-columns: 1fr; }
@media (min-width: 900px){ .pricing-grid{ grid-template-columns: repeat(4, minmax(0,1fr)); } }

/* Центровка промокода (если ниже на странице) */
.promo-row{ display:flex; align-items:center; justify-content:center; gap:12px; }
.promo-input{
  width: 160px; text-align:center; color:#fff;
  border:1px solid rgba(255,255,255,.12); background:#0a0f17; border-radius:12px; padding:10px 12px;
}

/* Прячем кнопки внутри карточек тарифов */
.pricing-card .pricing-cta { display: none !important; }

/* Утилиты */
.only-mobile{ display:none; }
.mobile-hide{ display:initial; }

@media (max-width: 767px){
  .only-mobile{ display:initial !important; }
  .mobile-hide{ display:none !important; }
}

/* Базовая большая CTA (как в хиро) */
.btn-cta{
  display:inline-flex; align-items:center; justify-content:center;
  gap:.4rem; min-height:52px; padding:0 18px; border-radius:14px;
  font-weight:700; line-height:1; text-align:center;
  background:linear-gradient(90deg,#18d1ef,#7f7bf1); color:#001015;
  box-shadow:0 20px 60px rgba(0,200,255,.25);
}
@media (max-width:767px){
  .btn-cta{ 
    width:100%; 
    max-width:min(620px,92vw); 
    margin-inline:auto; 
    /* Усиливаем яркость на мобиле */
    box-shadow:0 20px 60px rgba(0,200,255,.4);
    background:linear-gradient(90deg,#18d1ef,#7f7bf1);
  }
}

/* Адаптивные классы для кнопок Nano Banana */
.desktop-only {
  display: block;
}
.mobile-only {
  display: none;
}
@media (max-width: 1023px) {
  .desktop-only {
    display: none;
  }
  .mobile-only {
    display: block;
  }
}

/* Вторичная (для NanoBanana) */
.btn-secondary{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:48px; padding:0 16px; border-radius:12px;
  font-weight:700; line-height:1; color:#cfefff;
  background:transparent; border:1px solid rgba(180,230,255,.25);
}

/* Блок CTA после примеров */
.cta-after-examples{ text-align:center; }
@media (max-width:767px){
  .btn-cta{ width:100%; max-width:min(620px,92vw); margin-inline:auto; }
  .cta-after-examples{ margin:24px auto 8px; max-width:min(620px,92vw); }

  /* В FoxMagic на мобиле вторичная кнопка */
  .foxmagic-section .btn-cta,
  .nanobanana .btn-cta{ display:none !important; }
  .foxmagic-section .btn-secondary,
  .nanobanana .btn-secondary{ display:inline-flex !important; }
  .cta-text-link a{
    display:inline-block; margin:12px auto 0; opacity:.9;
    text-decoration:underline; color:#a8dfff;
  }

  /* Убираем волну под примерами */
  .examples-wave, .divider-wave, #examples-wave{ display:none !important; }
}

/* На всех устройствах липкую CTA выключаем */
.mobile-sticky-cta{ display:none !important; }


/* Логотип в шапке чуть крупнее */
.header .logo { transform: scale(1.08); transform-origin: left center; }

/* Герой - адаптивные размеры заголовка */
.hero-title-lg {
  font-size: clamp(28px, 5.8vw, 56px);
  line-height: 1.06;
  font-weight: 800;
  letter-spacing: -0.02em;
}

/* Убираем любые «липкие» CTA в iOS/вебвью */
.btn--floating,
.cta-floating,
.is-sticky-cta {
  position: static !important;
  bottom: auto !important;
  top: auto !important;
  transform: none !important;
}

/* Примеры генераций — картинки-карточки */
.examples .card picture,
.nb-grid .card picture {
  display: block;
  width: 100%;
  height: 100%;
}
.examples .card img,
.nb-grid .card img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
}

/* Волна под примерами — скрыть на мобильных */
@media (max-width: 767px) {
  .wave-under-examples { display: none !important; }
}

/* Волна скрыта на мобилке полностью */
@media (max-width: 768px) {
  .diagonal-wave, .wave, .wave-wrapper { display: none !important; }
}

/* Логотип чуть крупнее */
.header__logo img { height: 26px; vertical-align: middle; }
@media (max-width: 768px) {
  .header__logo img { height: 32px; }
}

/* Хиро-контейнер и выравнивание */
.hero { text-align: left; }
@media (max-width: 768px) {
  .hero { text-align: center; }
}

/* Кнопка-CTA: строго по центру и одинаковая высота */
.button, .cta, .button--primary, .btn-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  line-height: 1.2;
  padding: 14px 20px;
  text-align: center;
}

.cta--wide {
  width: min(720px, 92vw);
  margin: 16px auto;
  display: flex;
  justify-content: center;
}

/* Sticky-кнопки не используем в iOS WebView (там они «уродуются») */
.no-sticky .cta--sticky { position: static !important; }

/* Если надо оставить sticky для нормального браузера — ок */
.cta--sticky {
  position: sticky;
  bottom: env(safe-area-inset-bottom, 12px);
  left: 0; right: 0;
  width: min(720px, 92vw);
  margin: 12px auto;
}

/* Волна: полностью скрыть на мобильной версии */
@media (max-width: 768px) {
  .diagonal-wave, #diagonal-wave, .diagonal-sep { display: none !important; }
}

/* Секция «Примеры генераций»: подпись и сетка */
.examples { margin: 0 auto; max-width: 1240px; }
.examples__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 1024px) { .examples__grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px)  { .examples__grid { grid-template-columns: 1fr; } }

.example picture, .example img { width: 100%; height: auto; border-radius: 16px; display: block; }
.example figcaption { margin-top: 8px; opacity: .9; }

/* Секция FoxMagic: выравнивание */
.nb, .nanobanana, .foxmagic-section { text-align: left; }
@media (max-width: 768px) { .nb, .nanobanana, .foxmagic-section { text-align: center; } }


.nb-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 1024px) { .nb-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .nb-grid { gap: 12px; } }

.nb-grid picture, .nb-grid img { width: 100%; height: auto; display: block; border-radius: 16px; }

/* NanoBanana */
.nb { padding: clamp(40px, 7vw, 80px) 0; }
.nb__title { text-align: center; margin: 0 0 32px; }
.nb__list { max-width: 960px; margin: 0 auto 24px; padding: 0 20px; }
.nb__cta  { display: flex; justify-content: center; margin: 28px 0 20px; }
.nb__cta .btn { padding: 14px 22px; border-radius: 14px; }

@media (max-width: 768px) {
  .nb__title { padding: 0 16px; }
  .nb__list  { text-align: left; }
}

.nb-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
  max-width: 1100px;
  margin: 8px auto 0;
  padding: 0 20px;
}
.nb-card {
  border-radius: 18px;
  background: #0f1318;
  overflow: hidden;
  box-shadow: 0 8px 28px rgba(0,0,0,.35);
}
.nb-card .ph, .nb-card img { display:block; width:100%; height:auto; }

@media (max-width: 1024px)   { .nb-grid { grid-template-columns: repeat(3, 1fr);} }
@media (max-width: 768px)    { .nb-grid { grid-template-columns: repeat(2, 1fr);} }
@media (max-width: 480px)    { .nb-grid { grid-template-columns: 1fr 1fr; gap: 14px; } }

/* Промокод на старт */
.promo-card {
  margin: 40px auto 24px;
  padding: 0 20px;
}
.promo-card__inner {
  max-width: 820px;
  margin: 0 auto;
  border-radius: 18px;
  background: radial-gradient(120% 120% at 0% 0%, rgba(34,209,238,.15), rgba(144,107,255,.12) 40%, rgba(255,255,255,.04) 100%),
              linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.06);
  box-shadow: 0 18px 46px rgba(83,110,255,.18);
  padding: 22px 22px 18px;
  text-align: center;
}
.promo-card h3 { margin: 0 0 6px; font-size: 22px; color: #fff; }
.promo-card p  { margin: 0 0 14px; opacity: .85; color: #cbd5e1; }
.promo-card__btn {
  background: linear-gradient(90deg,#22d1ee,#906BFF);
  color: #fff; font-weight: 700;
  border-radius: 12px; padding: 12px 18px;
  box-shadow: 0 12px 26px rgba(83,110,255,.25);
  border: none; cursor: pointer;
}

/* Скрываем «волну» под примерами генераций на мобилке */
@media (max-width: 767px){
  .examples-wave, .divider-wave, #examples-wave{ display:none !important; }
}

/* Страница политики */
.legal { background: #0b0f19; color: #fff; min-height: 100vh; }
.legal__main { padding: 40px 20px; }
.legal__container { max-width: 800px; margin: 0 auto; }
.legal h1 { color: #22d3ee; margin-bottom: 20px; }
.legal h2 { color: #cbd5e1; margin-top: 30px; margin-bottom: 15px; }
.legal p { line-height: 1.6; margin-bottom: 15px; color: #e2e8f0; }
.legal ul { color: #e2e8f0; padding-left: 20px; }
.legal a { color: #22d3ee; }

/* На мобилке убираем лишние повторяющиеся CTA */
@media (max-width: 767px){
  /* шапка */
  .site-header .btn-cta{ display:none !important; }

  /* CTA в карточках «Почему выбирают нас» */
  .features .btn-cta{ display:none !important; }

  /* CTA-оверлей в примерах */
  .gallery .btn-cta { display:none !important; }

  /* CTA в NanoBanana — оставим только первую маленькую «Открыть в боте»;
     если у тебя две, пометь вторую классом .mobile-hide вручную. */

  /* CTA внутри карточек тарифов — прячем, будет одна общая ниже */
  .pricing-card .pricing-cta{ display:none !important; }

  /* CTA в нижнем промоблоке — прячем, оставляем одну общую под тарифами */
  .promo-block .btn-cta{ display:none !important; }

  /* CTA в футере — прячем */
  footer .btn-cta{ display:none !important; }
}

/* FoxMagic: заголовок по центру на мобиле, список левый */
.foxmagic-section h2,
.nanobanana h2 {
  text-align: center;
  margin: 0 0 18px;
}
@media (min-width: 769px) {
  .foxmagic-section h2 { text-align: left; }
}
.foxmagic-section ul,
.nanobanana ul {
  text-align: left;
  margin-left: 0;
  padding-left: 0;
}

/* Сетка 2×3 для NanoBanana */
.nb-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
}
@media (min-width: 1024px){
  .nb-grid{ gap: 24px; }
}
@media (max-width: 767px) {
  .nb-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }
  /* Кнопка — под галереей */
  .nb-section .nb-cta {
    order: 3;
    margin-top: 16px;
  }
}

/* Карточка-рамка */
.nb-card{
  position:relative;
  border-radius: 18px;
  padding: 10px;                        /* «паспарту» */
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nb-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 40px rgba(0,0,0,.28);
}

/* Картинки по умолчанию — показываем целиком без обрезки */
.nb-img{
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;                  /* показываем изображение целиком */
  object-position: center;
  border-radius: 12px;
  display: block;
}

/* Горизонтальные кадры — показываем целиком */
.nb-img--contain{
  object-fit: contain;
  background:
    radial-gradient(60% 60% at 50% 50%, rgba(255,255,255,.06), transparent 70%);
}

/* Карточка «Промокод на старт» — выразительней */
.promo-card {
  background: radial-gradient(120% 110% at 10% -10%, rgba(0,231,255,.14), rgba(152,93,255,.12)) #121417;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 16px;
  padding: 20px;
  box-shadow:
    0 10px 24px rgba(0,0,0,.35),
    0 0 0 1px rgba(255,255,255,.02) inset;
  text-align: center;
  margin: 40px auto 24px;
  max-width: 820px;
}
.promo-card__title {
  font-weight: 800;
  font-size: clamp(16px, 3.4vw, 22px);
  margin-bottom: 4px;
  color: #fff;
}
.promo-card__desc {
  font-size: clamp(14px, 3.2vw, 18px);
  opacity: .9;
  margin-bottom: 12px;
  color: #cbd5e1;
}
.btn.btn-pill {
  border-radius: 999px;
  padding: 12px 18px;
  background: linear-gradient(90deg,#22d1ee,#906BFF);
  color: #fff; font-weight: 700;
  border: none; cursor: pointer;
}

/* Кнопки */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  border-radius: 12px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
  cursor: pointer;
  border: none;
  font-size: 16px;
}

.btn-primary {
  background: linear-gradient(90deg, #22d1ee, #906BFF);
  color: #001015;
  box-shadow: 0 18px 36px rgba(83,110,255,.25);
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 24px 48px rgba(83,110,255,.35);
}

.btn-secondary:hover {
  background: rgba(180,230,255,.1);
  border-color: rgba(180,230,255,.4);
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
