/* Final donor-aligned layer. No global overflow clipping: layout errors remain visible. */
:root {
  --rb-bg: #111113;
  --rb-surface: #19191d;
  --rb-surface-2: #212127;
  --rb-line: rgba(255,255,255,.11);
  --rb-text: #f7f5fb;
  --rb-muted: #aaa5b3;
  --rb-violet: #9a4dff;
  --rb-magenta: #ca3dd9;
  --rb-gradient: linear-gradient(135deg, #795cff 0%, #b23ce0 58%, #df4bc1 100%);
  --rb-radius: 20px;
  --rb-shadow: 0 20px 56px rgba(0,0,0,.34);
}

html { scroll-behavior: smooth; scroll-padding-top: 88px; background: var(--rb-bg); }
body { background: var(--rb-bg) !important; color: var(--rb-text) !important; }
.wrapper, main, .landing-main { overflow: visible !important; }
.container, .landing-container { width: min(calc(100% - 32px), 1160px) !important; margin-inline: auto !important; }
img, video, svg { display: block; max-width: 100%; height: auto; }
h1, h2, h3, p, a, span, summary { overflow-wrap: break-word; }

/* Header: fixed, centered desktop navigation, two real actions, no burger. */
.header {
  position: fixed !important; inset: 16px 0 auto !important; z-index: 1000 !important;
  height: 56px !important; background: transparent !important; pointer-events: none;
}
.header .container { height: 56px !important; }
.header-body {
  pointer-events: auto; display: grid !important; grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important; height: 56px !important; padding: 0 10px 0 18px !important;
  border: 1px solid var(--rb-line) !important; border-radius: 16px !important;
  background: rgba(20,20,23,.86) !important; box-shadow: 0 10px 34px rgba(0,0,0,.28) !important;
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
}
.header .ask-ai { justify-self: start; color: var(--rb-text) !important; font-weight: 700; text-decoration: none; }
.header .ask-ai .text { color: var(--rb-text) !important; }
.header .menu { justify-self: center !important; }
.header .menu-list { display: flex !important; align-items: center; gap: 24px !important; }
.header .menu-list-link, .header summary { color: #d9d5df !important; font-size: 14px !important; }
.header .menu-list-link:hover, .header summary:hover { color: #fff !important; }
.header .header-actions { justify-self: end !important; display: flex !important; gap: 8px !important; }
.header .btn-black, .header .btn-white, .header .btn-login, .header .btn-register {
  display: inline-flex !important; align-items: center; justify-content: center; width: auto !important;
  height: 38px !important; min-height: 38px !important; padding: 0 15px !important; border-radius: 10px !important;
  font-size: 14px !important; line-height: 1 !important; white-space: nowrap; text-decoration: none;
}
.header .btn-black { color: #fff !important; background: rgba(255,255,255,.055) !important; border: 1px solid var(--rb-line) !important; }
.header .btn-white { color: #fff !important; background: var(--rb-gradient) !important; border: 0 !important; }
.header-mobile-actions, .mobile-menu, .burger, .menu-icon { display: none !important; }

/* Hero */
.presentation-hero-section { margin-top: 0 !important; padding-top: 88px !important; background: var(--rb-bg) !important; }
.presentation-hero-body { padding: 12px 0 20px !important; }
.hero-ai-block {
  min-height: 0 !important; padding: 32px !important; border-radius: 24px !important;
  border: 1px solid var(--rb-line) !important;
  background: radial-gradient(circle at 80% 14%, rgba(156,65,220,.18), transparent 32%), linear-gradient(145deg,#1d1c25 0%,#131318 72%) !important;
  box-shadow: var(--rb-shadow) !important;
}
.hero-ai-content { max-width: 1080px !important; grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr) !important; gap: 12px 28px !important; }
.hero-ai-badge { display: none !important; }
.hero-ai-title { margin: 0 !important; color: #fff !important; font-size: clamp(36px,4vw,50px) !important; line-height: 1.04 !important; letter-spacing: -.045em !important; }
.hero-ai-title-accent { color: #b889ff !important; }
.hero-ai-text { max-width: 570px !important; margin: 6px 0 0 !important; color: var(--rb-muted) !important; font-size: 16px !important; line-height: 1.55 !important; }
.hero-ai-visual { grid-row: 1 / span 4 !important; grid-column: 2 !important; margin: 0 !important; border-radius: 18px !important; border: 1px solid rgba(255,255,255,.14) !important; box-shadow: 0 24px 50px rgba(0,0,0,.42) !important; transform: rotate(1.2deg); }
.hero-ai-actions { margin-top: 12px !important; gap: 10px !important; justify-content: flex-start !important; }
.hero-ai-btn, .landing-button, .btn-gradient {
  display: inline-flex !important; align-items: center; justify-content: center; width: auto !important;
  height: 40px !important; min-height: 40px !important; padding: 0 17px !important; border-radius: 11px !important;
  font-size: 14px !important; font-weight: 700 !important; line-height: 1 !important; white-space: nowrap !important; text-decoration: none;
}
.hero-ai-btn--primary, .landing-button, .btn-gradient { color: #fff !important; background: var(--rb-gradient) !important; border: 0 !important; box-shadow: 0 10px 26px rgba(157,65,222,.22) !important; }
.hero-ai-btn--secondary, .landing-button--quiet { color: #fff !important; background: rgba(255,255,255,.055) !important; border: 1px solid var(--rb-line) !important; box-shadow: none !important; }
.hero-ai-btn:focus-visible, .landing-button:focus-visible, .header a:focus-visible, summary:focus-visible { outline: 3px solid rgba(185,137,255,.55) !important; outline-offset: 3px; }
.hero-ai-glow, .hero-ai-grid { pointer-events: none; }

/* Homepage sections */
#possibilities.presentation-solution, .presentation-advantages-section, .reviews-section, .faq-section, .first-verse-section {
  margin: 0 !important; padding: 24px 0 !important; min-height: 0 !important; background: var(--rb-bg) !important;
}
.presentation-solution::after { display: none !important; }
.block-titles, .effective-solution-titles, .advantages-titles, .reviews-block-titles, .faq-block-titles { align-items: flex-start !important; text-align: left !important; gap: 8px !important; margin: 0 0 16px !important; }
.top-title { margin: 0 !important; color: #b889ff !important; font-size: 14px !important; line-height: 1.2 !important; text-transform: uppercase; letter-spacing: .09em; }
.block-title, .effective-bottom-title, .bottom-title { margin: 0 !important; color: #fff !important; font-size: clamp(26px,3vw,36px) !important; line-height: 1.12 !important; letter-spacing: -.03em !important; }
.effective-stars-cnt, .effective-solution-stars, .presentation-solution-stars, .presentation-advantages-parallax, .advantages-parallax-star { display: none !important; }
.effective-solution-cnt, .presentation-solution-column { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 12px !important; margin: 0 0 12px !important; align-items: stretch !important; }
.presentation-solution-column { width: 100% !important; }
.presentation-solution-item {
  position: relative !important; inset: auto !important; min-width: 0 !important; max-width: none !important; width: auto !important;
  min-height: 0 !important; height: auto !important; margin: 0 !important; padding: 18px !important; border: 1px solid var(--rb-line) !important;
  border-radius: var(--rb-radius) !important; background: var(--rb-surface) !important; color: var(--rb-text) !important; background-image: none !important;
}
.presentation-item-header, .solution-item-header, .presentation-small-item-header { padding: 0 !important; }
.solution-item-titles { gap: 10px !important; }
.solution-item-number { color: #ad79ff !important; font-size: 13px !important; }
.solution-item-title { color: #fff !important; font-size: 21px !important; font-weight: 700 !important; }
.solution-item-text { margin-top: 10px !important; }
.solution-item-text p { max-width: 620px; color: var(--rb-muted) !important; font-size: 15px !important; line-height: 1.55 !important; }
.presentation-item-icon { width: 44px !important; height: 44px !important; margin: 12px 0 0 !important; color: #b889ff; }
.advantages-swiper-wrapper { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 12px !important; transform: none !important; }
.advantages-swiper .swiper-slide { width: auto !important; height: auto !important; }
.advantages-item { height: 100% !important; min-height: 0 !important; padding: 18px !important; border: 1px solid var(--rb-line) !important; border-radius: var(--rb-radius) !important; background: var(--rb-surface) !important; color: #fff !important; }
.advantages-primary-item { background: linear-gradient(145deg,rgba(139,78,237,.32),rgba(32,28,42,.9)) !important; }
.advantages-item-icon { width: 40px !important; height: 40px !important; margin-bottom: 12px !important; }
.advantages-item-title { color: #fff !important; font-size: 20px !important; }
.advantages-item-text { margin-top: 8px !important; color: var(--rb-muted) !important; font-size: 15px !important; line-height: 1.5 !important; }
.advantages-pagination { display: none !important; }
.types-section { padding: 24px 0 !important; background: #141416 !important; }
.types-section::before, .types-section::after { display: none !important; }
.types-intro { max-width: 760px !important; margin-bottom: 16px !important; }
.types-eyebrow { display: none !important; }
.types-intro h2 { margin: 0 !important; color: #fff !important; font-size: clamp(26px,3vw,36px) !important; line-height: 1.15 !important; }
.types-intro > p { margin-top: 10px !important; color: var(--rb-muted) !important; font-size: 16px !important; }
.types-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 12px !important; }
.types-grid section { min-height: 0 !important; padding: 18px !important; border: 1px solid var(--rb-line) !important; border-radius: 18px !important; background: var(--rb-surface) !important; box-shadow: none !important; }
.types-grid section:hover { transform: none !important; box-shadow: none !important; }
.type-card-head { margin-bottom: 16px !important; }
.type-card-head h3 { color: #fff !important; font-size: 21px !important; }
.type-card-head p { color: #ad79ff !important; }
.types-grid a { padding: 8px 0 !important; color: #d8d3df !important; border-bottom-color: var(--rb-line) !important; }
.types-grid a:hover { padding-left: 0 !important; color: #b889ff !important; }
.type-visual { width: 76px !important; height: 58px !important; }
.scenario-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.scenario-card { min-width: 0; padding: 12px; border: 1px solid var(--rb-line); border-radius: 18px; background: var(--rb-surface); color: #fff; text-decoration: none; transition: border-color .2s ease, transform .2s ease; }
.scenario-card:hover { border-color: rgba(184,137,255,.55); transform: translateY(-2px); }
.scenario-card img { width: 100%; aspect-ratio: 16/10.5; object-fit: cover; border-radius: 12px; background: #24222d; }
.scenario-card span { display: block; margin-top: 12px; color: #fff; font-size: 18px; font-weight: 700; }
.scenario-card small { display: block; margin-top: 5px; color: var(--rb-muted); font-size: 13px; }
.reviews-swiper-wrapper { align-items: stretch !important; }
.reviews-swiper { width: 100% !important; max-width: 100% !important; overflow: hidden !important; }
.reviews-swiper-wrapper { max-width: 100% !important; }
.reviews-texts-item, .reviews-img-item { height: auto !important; min-height: 0 !important; padding: 18px !important; border: 1px solid var(--rb-line) !important; border-radius: var(--rb-radius) !important; background: var(--rb-surface) !important; color: #fff !important; }
.reviews-text, .reviews-data, .reviews-author-profession { color: var(--rb-muted) !important; }
.reviews-author { color: #fff !important; font-size: 20px !important; }
.reviews-slider-arrows { margin: 0 0 14px auto !important; }
.faq-cnt { gap: 10px !important; }
.faq-item { width: 100% !important; min-height: 0 !important; padding: 0 !important; border: 1px solid var(--rb-line) !important; border-radius: 14px !important; background: var(--rb-surface) !important; color: #fff !important; }
.faq-item-cnt { width: 100%; min-width: 0; }
.faq-item-titles { min-height: 52px !important; padding: 12px 16px !important; gap: 10px !important; }
.faq-item-title { color: #fff !important; font-size: 18px !important; line-height: 1.3 !important; }
.faq-item-number { color: #a975ff !important; font-size: 13px !important; }
.faq-item-sub { max-width: 760px; padding: 0 16px 14px 48px !important; color: var(--rb-muted) !important; font-size: 15px !important; line-height: 1.55 !important; }
.faq-item-icon { flex: 0 0 28px !important; width: 28px !important; height: 28px !important; margin: 12px 14px 0 auto !important; }
.first-verse-titles { align-items: flex-start !important; padding: 22px !important; gap: 10px !important; border: 1px solid var(--rb-line); border-radius: 20px; background: linear-gradient(135deg,rgba(117,69,210,.3),rgba(25,25,29,.92)); }
.first-verse-title { color: #fff !important; }
.first-verse-btn { justify-content: flex-start !important; }

/* Shared SEO landing pages */
.landing-main { padding-top: 88px !important; background: var(--rb-bg) !important; }
.landing-hero { padding: 12px 0 20px !important; }
.landing-hero-grid { padding: 28px !important; gap: 24px !important; border: 1px solid var(--rb-line) !important; border-radius: 24px !important; background: radial-gradient(circle at 82% 10%,rgba(159,63,221,.16),transparent 35%),linear-gradient(145deg,#1d1c25,#131318) !important; box-shadow: var(--rb-shadow) !important; }
.landing-kicker { display: none !important; }
.landing-hero h1 { margin: 0 !important; color: #fff !important; font-size: clamp(34px,4vw,50px) !important; line-height: 1.06 !important; letter-spacing: -.04em !important; }
.landing-lead { max-width: 650px !important; margin: 14px 0 0 !important; color: var(--rb-muted) !important; }
.landing-actions { margin-top: 20px !important; gap: 10px !important; }
.landing-preview, .landing-visual-stack { min-width: 0; }
.landing-hero-art, .scenario-visual { border: 1px solid var(--rb-line) !important; border-radius: 16px !important; }
.landing-section { margin: 0 !important; padding: 24px 0 !important; background: var(--rb-bg) !important; }
.landing-section--muted { background: #141416 !important; }
.section-heading { margin: 0 0 18px !important; }
.section-heading h2 { color: #fff !important; font-size: clamp(25px,3vw,36px) !important; line-height: 1.15 !important; }
.section-heading p, .landing-section p { color: var(--rb-muted) !important; }
.pain-grid, .flow, .benefit-grid, .audience-grid, .related-grid { gap: 12px !important; }
.pain-card, .flow article, .benefit-card, .audience-card, .related-card { min-height: 0 !important; height: auto !important; padding: 18px !important; border: 1px solid var(--rb-line) !important; border-radius: 16px !important; background: var(--rb-surface) !important; color: #fff !important; }
.outline { gap: 10px !important; }
.outline li { min-height: 0 !important; padding: 14px 16px !important; border: 1px solid var(--rb-line) !important; border-radius: 13px !important; background: var(--rb-surface) !important; color: #fff !important; }
.faq details { border: 1px solid var(--rb-line) !important; border-radius: 14px !important; background: var(--rb-surface) !important; color: #fff !important; }
.faq summary { min-height: 52px !important; padding: 13px 44px 13px 16px !important; color: #fff !important; font-size: 18px !important; }
.faq details p { max-width: 760px; padding: 0 16px 14px !important; }
.final-cta { padding: 24px 0 !important; background: var(--rb-bg) !important; }
.final-cta .landing-container { padding: 22px !important; gap: 12px !important; border: 1px solid var(--rb-line) !important; border-radius: 20px !important; background: linear-gradient(135deg,rgba(117,69,210,.28),var(--rb-surface)) !important; }
.final-cta h2 { color: #fff !important; font-size: clamp(24px,3vw,32px) !important; }
.final-cta p { max-width: 680px; color: var(--rb-muted) !important; }

.footer { margin: 0 !important; padding: 20px 0 !important; background: #0c0c0e !important; border-top: 1px solid var(--rb-line) !important; color: var(--rb-muted) !important; }
.footer-body { min-height: 0 !important; padding: 0 0 14px !important; align-items: center !important; }
.footer a { color: #e7e3eb !important; }
.footer-logo img { max-height: 34px; }
.footer-grid { display: grid; grid-template-columns: minmax(240px,1.45fr) repeat(3,minmax(140px,1fr)); gap: 24px; padding-bottom: 18px; }
.footer-brand p { max-width: 320px; margin: 14px 0 18px; color: var(--rb-muted); font-size: 14px; line-height: 1.55; }
.footer-menu h2 { margin: 0 0 12px; color: #fff; font-size: 15px !important; }
.footer-menu-list { display: grid !important; gap: 8px !important; margin: 0 !important; padding: 0 !important; list-style: none; }
.footer-menu-list a { color: var(--rb-muted) !important; font-size: 14px; text-decoration: none; }
.footer-menu-list a:hover { color: #fff !important; }
.footer-clue { padding-top: 16px !important; border-top: 1px solid var(--rb-line) !important; color: #77727f !important; }

@media (max-width: 1024px) {
  .header-body { grid-template-columns: 1fr auto !important; }
  .header .menu { display: none !important; }
  .hero-ai-content { grid-template-columns: minmax(0,1fr) minmax(320px,1fr) !important; gap: 14px 28px !important; }
  .advantages-swiper-wrapper { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .types-grid { grid-template-columns: 1fr 1fr !important; }
  .scenario-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .types-grid section:first-child { grid-column: 1 / -1 !important; }
}

@media (max-width: 768px) {
  .header { inset: 8px 0 auto !important; }
  .header .container, .header-body { height: 52px !important; }
  .header-body { padding: 0 7px 0 14px !important; border-radius: 14px !important; }
  .header .ask-ai .text { font-size: 0 !important; }
  .header .ask-ai .text::after { content: "Нейро"; color: #fff; font-size: 16px; }
  .header .btn-black, .header .btn-white, .header .btn-login, .header .btn-register { height: 36px !important; min-height: 36px !important; padding: 0 11px !important; font-size: 13px !important; }
  .presentation-hero-section { padding-top: 68px !important; }
  .presentation-hero-body { padding: 8px 0 16px !important; }
  .hero-ai-block { padding: 18px 14px !important; border-radius: 18px !important; }
  .hero-ai-content { display: flex !important; flex-direction: column !important; gap: 12px !important; }
  .hero-ai-title { font-size: 30px !important; line-height: 1.06 !important; }
  .hero-ai-visual { order: 3 !important; margin-top: 6px !important; transform: none; border-radius: 14px !important; }
  .hero-ai-actions { order: 4 !important; margin-top: 4px !important; flex-wrap: nowrap !important; }
  .hero-ai-btn { height: 38px !important; min-height: 38px !important; padding: 0 14px !important; }
  #possibilities.presentation-solution, .presentation-advantages-section, .reviews-section, .faq-section, .first-verse-section, .landing-section { padding: 16px 0 !important; }
  .block-titles, .effective-solution-titles, .advantages-titles, .reviews-block-titles, .faq-block-titles { margin-bottom: 12px !important; }
  .effective-solution-cnt, .presentation-solution-column, .advantages-swiper-wrapper { grid-template-columns: 1fr !important; gap: 12px !important; margin-bottom: 12px !important; }
  .types-section { padding: 16px 0 !important; }
  .types-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .scenario-grid { grid-template-columns: 1fr; gap: 12px; }
  .types-grid section:first-child { grid-column: auto !important; }
  .presentation-solution-item, .advantages-item { padding: 16px !important; border-radius: 16px !important; }
  .reviews-texts-item, .reviews-img-item { min-height: 0 !important; }
  .faq-item-titles { padding: 13px 14px !important; }
  .faq-item-sub { padding: 0 14px 14px !important; }
  .faq-icon-desktop { display: none !important; }
  .first-verse-titles { padding: 18px 16px !important; }
  .landing-main { padding-top: 68px !important; }
  .landing-hero { padding: 8px 0 16px !important; }
  .landing-hero-grid { padding: 18px 14px !important; gap: 16px !important; border-radius: 18px !important; }
  .landing-hero h1 { font-size: clamp(30px,9vw,40px) !important; }
  .pain-grid, .flow, .benefit-grid, .audience-grid, .related-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .final-cta { padding: 16px 0 !important; }
  .final-cta .landing-container { display: block !important; padding: 18px 16px !important; }
  .final-cta .landing-button { margin-top: 14px !important; }
  .footer-body { align-items: flex-start !important; gap: 14px !important; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 24px 16px; }
}

@media (max-width: 360px) {
  .container, .landing-container { width: min(calc(100% - 24px),1160px) !important; }
  .header .btn-black, .header .btn-white, .header .btn-login, .header .btn-register { padding-inline: 9px !important; }
  .hero-ai-block { padding-inline: 14px !important; }
  .hero-ai-title, .landing-hero h1 { font-size: 25px !important; }
  .hero-ai-actions { gap: 8px !important; }
  .footer-grid { grid-template-columns: 1fr; }
}
