@charset "utf-8";
:root {--cream: #FDF8F3;--soft-rose: #E8D5D5;--dusty-lavender: #B8A4C9;--sage: #7BA05B;--deep-plum: #3D2E3D;--warm-gray: #5A4A5A;--accent-coral: #C9907A;--light-lavender: #F0EAF2;--text-primary: #2D1F2D;--text-secondary: #5A4A5A;--font-heading: Merriweather, Georgia, "Times New Roman", serif;}* {margin: 0;padding: 0;box-sizing: border-box;}html {scroll-behavior: smooth;scroll-padding-top: 90px;}body {font-family: var(--font-ui);background: var(--cream);color: var(--text-primary);line-height: 1.45;font-size: 17px;font-weight: 400;}h1, h2, h3 {font-family: var(--font-heading);font-weight: 600;color: var(--deep-plum);line-height: 1.1;}h1 {line-height: 1.05;}h2 {line-height: 1.1;}h3 {line-height: 1.15;}p {color: var(--text-secondary);line-height: 1.45;}.blob {position: absolute;border-radius: 50%;filter: blur(80px);opacity: 0.35;pointer-events: none;}.blob-1 {width: 400px;height: 400px;background: var(--dusty-lavender);top: -100px;right: -100px;animation: float 15s ease-in-out infinite;}.blob-2 {width: 300px;height: 300px;background: var(--soft-rose);bottom: 20%;left: -100px;animation: float 12s ease-in-out infinite reverse;}.blob-3 {width: 250px;height: 250px;background: var(--sage);top: 50%;right: 10%;animation: float 18s ease-in-out infinite;}@keyframes float {0%, 100% {transform: translate(0, 0);}33% {transform: translate(30px, -30px);}66% {transform: translate(-20px, 20px);}}@media (prefers-reduced-motion: reduce) {.blob {animation: none !important;}}nav {position: fixed;top: 0;left: 0;right: 0;padding: 1.25rem 5%;display: flex;justify-content: space-between;align-items: center;z-index: 100;background: rgba(253, 248, 243, 0.95);transition: all 0.3s ease;}.logo {font-family: var(--font-heading);font-size: 1.8rem;font-weight: 700;color: var(--deep-plum);text-decoration: none;display: flex;align-items: center;gap: 0.5rem;}.logo-img {width: 40px;height: 40px;object-fit: contain;}.nav-links {display: flex;align-items: center;gap: 2rem;list-style: none;}.nav-links a {color: var(--text-secondary);text-decoration: none;font-size: 0.95rem;font-weight: 500;transition: color 0.3s;}.nav-links a:hover {color: var(--deep-plum);}.nav-cta {background: var(--deep-plum);color: white !important;padding: 0.7rem 1.5rem;border-radius: 50px;}.nav-cta:hover {background: var(--warm-gray) !important;}.mobile-menu-btn {display: none;background: none;border: none;cursor: pointer;padding: 0.5rem;z-index: 101;}.mobile-menu-btn span {display: block;width: 25px;height: 2px;background: var(--deep-plum);margin: 5px 0;transition: all 0.3s;}.mobile-menu-btn.active span:nth-child(1) {transform: rotate(45deg) translate(5px, 5px);}.mobile-menu-btn.active span:nth-child(2) {opacity: 0;}.mobile-menu-btn.active span:nth-child(3) {transform: rotate(-45deg) translate(5px, -5px);}.mobile-menu {position: fixed;top: 0;left: 0;right: 0;bottom: 0;background: var(--cream);z-index: 99;padding-top: 100px;opacity: 0;visibility: hidden;pointer-events: none;transition: all 0.3s ease;}.mobile-menu.active {opacity: 1;visibility: visible;pointer-events: auto;}.mobile-nav-links {list-style: none;padding: 2rem;display: flex;flex-direction: column;gap: 0.5rem;}.mobile-nav-links li {border-bottom: 1px solid var(--light-lavender);}.mobile-nav-links a {display: block;padding: 1rem 0;color: var(--deep-plum);text-decoration: none;font-size: 1.2rem;font-weight: 500;transition: color 0.3s;}.mobile-nav-links a:hover {color: var(--dusty-lavender);}.mobile-nav-cta {display: inline-block;background: var(--deep-plum) !important;color: white !important;padding: 1rem 2rem !important;border-radius: 50px;text-align: center;margin-top: 1rem;}@media (max-width: 768px) {.nav-links {display: none;}.mobile-menu-btn {display: block;}}.hero {min-height: 100vh;display: flex;align-items: center;padding: 8rem 5% 4rem;position: relative;overflow: hidden;}.hero-content {max-width: 620px;position: relative;z-index: 2;}.hero-badge {display: inline-flex;align-items: center;gap: 0.5rem;background: var(--light-lavender);padding: 0.5rem 1rem;border-radius: 50px;font-size: 0.9rem;font-weight: 500;color: var(--deep-plum);margin-bottom: 1.5rem;animation: fadeInUp 0.8s ease;}.hero-badge::before {content: '';width: 8px;height: 8px;background: var(--sage);border-radius: 50%;animation: pulse 2s infinite;}@keyframes pulse {0%, 100% {opacity: 1;transform: scale(1);}50% {opacity: 0.5;transform: scale(1.2);}}.hero h1 {font-size: clamp(2.8rem, 6vw, 4.5rem);line-height: 1.15;margin-bottom: 1.5rem;animation: fadeInUp 0.8s ease 0.1s backwards;background: linear-gradient(135deg, var(--dusty-lavender), var(--accent-coral));-webkit-background-clip: text;-webkit-text-fill-color: transparent;background-clip: text;}.hero h1 span {color: var(--deep-plum);background: none;-webkit-background-clip: unset;-webkit-text-fill-color: var(--deep-plum);background-clip: unset;}.hero p {font-size: 1.2rem;color: var(--text-secondary);margin-bottom: 2.5rem;max-width: 500px;animation: fadeInUp 0.8s ease 0.2s backwards;}.hero-buttons {display: flex;gap: 1rem;flex-wrap: wrap;animation: fadeInUp 0.8s ease 0.3s backwards;}.btn-primary {background: linear-gradient(135deg, #9F7AEA, #805AD5, #6B46C1);color: white;padding: 1rem 2.5rem;border-radius: 50px;text-decoration: none;font-weight: 600;transition: all 0.3s ease;display: inline-flex;align-items: center;gap: 0.5rem;font-size: 1rem;}.btn-primary:hover {transform: translateY(-3px);box-shadow: 0 15px 40px rgba(107, 70, 193, 0.35);}.btn-secondary {background: transparent;color: var(--deep-plum);padding: 1rem 2rem;border: 2px solid var(--dusty-lavender);border-radius: 50px;text-decoration: none;font-weight: 600;transition: all 0.3s ease;}.btn-secondary:hover {background: var(--light-lavender);}.hero-visual {position: absolute;right: 5%;top: 50%;transform: translateY(-50%);width: 45%;max-width: 500px;animation: fadeIn 1s ease 0.5s backwards;}.chat-preview {background: white;border-radius: 28px;padding: 1.75rem;box-shadow: 0 30px 80px rgba(61, 46, 61, 0.15);position: relative;}.chat-header {display: flex;align-items: center;gap: 1rem;margin-bottom: 1.25rem;padding-bottom: 1rem;border-bottom: 1px solid var(--light-lavender);}.chat-avatar {width: 48px;height: 48px;background: linear-gradient(135deg, var(--dusty-lavender), var(--accent-coral));border-radius: 50%;display: flex;align-items: center;justify-content: center;}.chat-avatar svg {width: 26px;height: 26px;fill: white;}.chat-avatar img {width: 100%;height: 100%;object-fit: cover;border-radius: 50%;}.chat-name {font-family: var(--font-heading);font-size: 1.25rem;font-weight: 600;color: var(--deep-plum);}.chat-status {font-size: 0.85rem;color: var(--sage);font-weight: 500;}.chat-messages {display: flex;flex-direction: column;gap: 0.85rem;}.message {max-width: 85%;padding: 0.9rem 1.15rem;border-radius: 18px;font-size: 0.95rem;line-height: 1.5;animation: messageIn 0.5s ease backwards;}.message-user {align-self: flex-end;background: var(--light-lavender);color: var(--text-primary);border-bottom-right-radius: 5px;animation-delay: 0.8s;text-align: right;}.message-bot {align-self: flex-start;background: var(--light-lavender);color: var(--text-primary);border-bottom-left-radius: 5px;animation-delay: 1.2s;text-align: left;}@keyframes messageIn {from {opacity: 0;transform: translateY(10px);}to {opacity: 1;transform: translateY(0);}}.typing-indicator {display: flex;gap: 4px;padding: 0.75rem;animation: fadeIn 0.5s ease 1.6s backwards;}.typing-dot {width: 8px;height: 8px;background: var(--dusty-lavender);border-radius: 50%;animation: typing 1.4s infinite;}.typing-dot:nth-child(2) {animation-delay: 0.2s;}.typing-dot:nth-child(3) {animation-delay: 0.4s;}@keyframes typing {0%, 100% {transform: translateY(0);}50% {transform: translateY(-5px);}}@keyframes fadeInUp {from {opacity: 0;transform: translateY(30px);}to {opacity: 1;transform: translateY(0);}}@keyframes fadeIn {from {opacity: 0;}to {opacity: 1;}}.stats-bar {background: white;padding: 3rem 5%;display: flex;justify-content: center;gap: 4rem;flex-wrap: wrap;box-shadow: 0 5px 30px rgba(0,0,0,0.05);}

/* Вставка блока ввода под иконками в stats-bar */
.stats-input-row {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 2rem;
}

/* Фраза-приглашение над полем ввода */
.stats-cta-line {
    width: 100%;
    max-width: 700px;
    text-align: center;
    margin: 0 0 1.25rem;
    font-family: var(--font-heading);
    font-size: clamp(1.9rem, 4vw, 2.8rem);
    font-weight: 600;
    color: var(--deep-plum);
    line-height: 1.3;
}

.stats-cta-accent {
    color: var(--accent-coral);
}

.stats-input-row .hero-chat-input {
    margin-top: 0;
    width: 100%;
    /* По ТЗ: поле на главной (десктоп) ~700px */
    max-width: 700px;
}

@media (max-width: 768px) {
    /* Поле ввода на всю ширину экрана на мобиле */
    .stats-bar {
        padding-left: 10px;
        padding-right: 10px;
    }

    .stats-input-row {
        margin-top: 1.5rem;
    }

    .stats-input-row .hero-chat-input {
        max-width: 100%;
        padding: 0;
    }

    .stats-cta-line {
        margin-bottom: 1rem;
    }
}.stat-item {text-align: center;}.stat-number {font-family: var(--font-heading);font-size: 2.5rem;font-weight: 700;color: var(--deep-plum);line-height: 1;}.stat-label {color: var(--text-secondary);font-size: 0.95rem;margin-top: 0.5rem;font-weight: 500;line-height: 1.4;}.section-header {text-align: center;max-width: 700px;margin: 0 auto 4rem;}.section-header h2 {font-size: clamp(2.2rem, 4.5vw, 3.2rem);margin-bottom: 0.5rem;line-height: 1.05;}.section-header p {font-size: 1.15rem;line-height: 1.4;}.pains {padding: 7rem 5%;position: relative;}.pains-grid {display: grid;grid-template-columns: repeat(4, 1fr);gap: 1.75rem;max-width: 1200px;margin: 0 auto;}@media (max-width: 1100px) {.pains-grid {grid-template-columns: repeat(2, 1fr);}}@media (max-width: 600px) {.pains-grid {grid-template-columns: 1fr;}}.pain-card {background: white;padding: 2.25rem;border-radius: 24px;position: relative;overflow: hidden;transition: all 0.4s ease;cursor: default;}.pain-card::before {content: '';position: absolute;top: 0;left: 0;right: 0;height: 4px;background: linear-gradient(90deg, var(--dusty-lavender), var(--accent-coral));transform: scaleX(0);transition: transform 0.4s ease;}.pain-card:hover {transform: translateY(-8px);box-shadow: 0 20px 50px rgba(61, 46, 61, 0.12);}.pain-card:hover::before {transform: scaleX(1);}.pain-icon {width: 56px;height: 56px;background: var(--light-lavender);border-radius: 16px;display: flex;align-items: center;justify-content: center;margin-bottom: 1.25rem;font-size: 1.6rem;}.pain-card h3 {font-size: 1.35rem;margin-bottom: 0.85rem;}.pain-card p {font-size: 1rem;}.safety-section {padding: 7rem 5%;background: linear-gradient(135deg, var(--light-lavender) 0%, white 100%);}.safety-content {max-width: 800px;margin: 0 auto;}.safety-main {font-size: 1.4rem;text-align: center;color: var(--deep-plum);line-height: 1.6;margin-bottom: 3rem;font-weight: 500;}.safety-features {display: flex;flex-direction: column;gap: 1.5rem;}.safety-item {display: flex;gap: 1.25rem;align-items: flex-start;background: white;padding: 1.5rem;border-radius: 20px;box-shadow: 0 5px 25px rgba(0,0,0,0.06);}.safety-icon {font-size: 2rem;min-width: 50px;}.safety-item strong {display: block;font-size: 1.15rem;color: var(--deep-plum);margin-bottom: 0.35rem;}.safety-item p {font-size: 1rem;margin: 0;line-height: 1.5;}.help-section {padding: 7rem 5%;background: linear-gradient(180deg, var(--light-lavender) 0%, var(--cream) 100%);}.help-grid {display: grid;grid-template-columns: repeat(4, 1fr);gap: 2rem;max-width: 1200px;margin: 0 auto 3rem;}@media (max-width: 1100px) {.help-grid {grid-template-columns: repeat(2, 1fr);}}@media (max-width: 600px) {.help-grid {grid-template-columns: 1fr;}}.help-card {background: white;padding: 2.5rem;border-radius: 24px;text-align: center;box-shadow: 0 10px 40px rgba(0,0,0,0.06);transition: transform 0.3s ease;}.help-card:hover {transform: translateY(-5px);}.help-icon {width: 70px;height: 70px;background: linear-gradient(135deg, var(--dusty-lavender), var(--accent-coral));border-radius: 50%;display: flex;align-items: center;justify-content: center;margin: 0 auto 1.5rem;font-size: 1.8rem;}.help-card h3 {font-size: 1.4rem;margin-bottom: 1rem;}.help-card p {font-size: 1rem;line-height: 1.7;}.help-cta {text-align: center;max-width: 600px;margin: 0 auto;padding: 2.5rem;background: white;border-radius: 24px;box-shadow: 0 10px 40px rgba(0,0,0,0.06);}.help-cta h3 {font-size: 1.6rem;margin-bottom: 0.75rem;}.help-cta p {font-size: 1.1rem;margin-bottom: 1.5rem;}.voice-section {padding: 7rem 5%;background: white;}.pricing-section {padding: 7rem 5%;background: linear-gradient(135deg, var(--deep-plum) 0%, #5d4a5d 100%);color: white;}.pricing-section .section-header h2 {color: white;}.pricing-section .section-header p {color: rgba(255,255,255,0.75);}.pricing-content-simple {max-width: 800px;margin: 0 auto;}.pricing-intro {text-align: center;margin-bottom: 2.5rem;}.pricing-highlight {font-size: 1.2rem;line-height: 1.6;color: white;}.pricing-highlight strong {color: var(--accent-coral);font-size: 1.3rem;}.pricing-examples {display: grid;grid-template-columns: repeat(3, 1fr);gap: 1.5rem;margin-bottom: 2rem;}.pricing-example {background: rgba(255,255,255,0.1);backdrop-filter: blur(10px);padding: 1.5rem;border-radius: 20px;text-align: center;}.example-icon {font-size: 2rem;margin-bottom: 1rem;}.example-text strong {display: block;font-size: 1.1rem;margin-bottom: 0.5rem;}.example-text span {display: inline-block;background: var(--accent-coral);color: white;padding: 0.3rem 0.8rem;border-radius: 20px;font-size: 0.9rem;font-weight: 600;margin-bottom: 0.75rem;}.example-text p {color: rgba(255,255,255,0.75);font-size: 0.95rem;margin: 0;line-height: 1.4;}.pricing-note {text-align: center;font-size: 1rem;color: rgba(255,255,255,0.7);font-style: italic;margin-bottom: 2rem;}.pricing-cta {text-align: center;}.btn-light {background: white !important;color: var(--deep-plum) !important;}.btn-light:hover {background: var(--light-lavender) !important;transform: translateY(-3px);box-shadow: 0 15px 40px rgba(255,255,255,0.2);}@media (max-width: 768px) {.pricing-examples {grid-template-columns: 1fr;}}.voice-content {display: grid;grid-template-columns: 1fr 1fr;gap: 4rem;align-items: center;max-width: 1100px;margin: 0 auto;}.voice-text p {font-size: 1.1rem;margin-bottom: 1.5rem;}.voice-features {display: flex;flex-direction: column;gap: 1rem;}.voice-feature {display: flex;align-items: center;gap: 1rem;font-size: 1.05rem;font-weight: 500;color: var(--text-primary);}.voice-feature-icon {width: 40px;height: 40px;background: var(--light-lavender);border-radius: 50%;display: flex;align-items: center;justify-content: center;font-size: 1.2rem;}.voice-visual {position: relative;}.voice-card {background: var(--cream);border-radius: 24px;padding: 2rem;box-shadow: 0 20px 60px rgba(0,0,0,0.1);}.voice-wave {display: flex;align-items: center;justify-content: center;gap: 4px;padding: 2rem;background: white;border-radius: 16px;margin-bottom: 1.5rem;}.wave-bar {width: 4px;background: linear-gradient(180deg, var(--dusty-lavender), var(--accent-coral));border-radius: 2px;animation: waveAnimation 1s ease-in-out infinite;}.wave-bar:nth-child(1) {height: 20px;animation-delay: 0s;}.wave-bar:nth-child(2) {height: 35px;animation-delay: 0.1s;}.wave-bar:nth-child(3) {height: 25px;animation-delay: 0.2s;}.wave-bar:nth-child(4) {height: 45px;animation-delay: 0.3s;}.wave-bar:nth-child(5) {height: 30px;animation-delay: 0.4s;}.wave-bar:nth-child(6) {height: 50px;animation-delay: 0.5s;}.wave-bar:nth-child(7) {height: 35px;animation-delay: 0.6s;}.wave-bar:nth-child(8) {height: 25px;animation-delay: 0.7s;}.wave-bar:nth-child(9) {height: 40px;animation-delay: 0.8s;}.wave-bar:nth-child(10) {height: 20px;animation-delay: 0.9s;}@keyframes waveAnimation {0%, 100% {transform: scaleY(1);}50% {transform: scaleY(0.5);}}.voice-label {text-align: center;font-weight: 600;color: var(--deep-plum);}.solution {padding: 7rem 5%;background: var(--cream);position: relative;}.solution-content {display: grid;grid-template-columns: 1fr 1fr;gap: 4rem;align-items: center;max-width: 1200px;margin: 0 auto;}.features-list {display: flex;flex-direction: column;gap: 1.5rem;}.feature-item {display: flex;gap: 1rem;align-items: flex-start;}.feature-icon {width: 48px;height: 48px;min-width: 48px;background: white;border-radius: 12px;display: flex;align-items: center;justify-content: center;font-size: 1.3rem;box-shadow: 0 5px 20px rgba(0,0,0,0.08);}.feature-text h4 {font-family: var(--font-ui);font-size: 1.1rem;font-weight: 600;margin-bottom: 0.25rem;color: var(--deep-plum);}.feature-text p {font-size: 0.95rem;}.solution-visual {position: relative;}.phone-mockup {background: var(--deep-plum);border-radius: 40px;padding: 12px;max-width: 300px;margin: 0 auto;box-shadow: 0 40px 80px rgba(61, 46, 61, 0.25);}.phone-screen {background: var(--cream);border-radius: 30px;padding: 1.25rem;min-height: 480px;}.phone-header {text-align: center;padding-bottom: 0.75rem;border-bottom: 1px solid var(--light-lavender);margin-bottom: 0.75rem;}.phone-time {font-size: 0.8rem;color: var(--text-secondary);font-weight: 500;}.mini-messages {display: flex;flex-direction: column;gap: 0.6rem;}.mini-message {padding: 0.7rem 0.9rem;border-radius: 14px;font-size: 0.8rem;}.mini-user {align-self: flex-end;background: var(--deep-plum);color: white;max-width: 80%;}.mini-bot {align-self: flex-start;background: white;color: var(--text-primary);max-width: 85%;box-shadow: 0 2px 10px rgba(0,0,0,0.05);}.how-it-works {padding: 7rem 5%;position: relative;background: white;}.steps-container {display: flex;justify-content: center;gap: 2rem;flex-wrap: wrap;max-width: 1200px;margin: 0 auto;position: relative;}.steps-container::before {content: '';position: absolute;top: 55px;left: 20%;right: 20%;height: 2px;background: linear-gradient(90deg, var(--dusty-lavender), var(--accent-coral));z-index: 0;}.step {background: var(--cream);padding: 2.25rem;border-radius: 24px;text-align: center;flex: 1;min-width: 280px;max-width: 350px;position: relative;z-index: 1;transition: transform 0.3s ease;}.step:hover {transform: translateY(-5px);}.step-number {width: 56px;height: 56px;background: linear-gradient(135deg, var(--dusty-lavender), var(--accent-coral));border-radius: 50%;display: flex;align-items: center;justify-content: center;margin: 0 auto 1.25rem;font-family: var(--font-heading);font-size: 1.4rem;font-weight: 700;color: white;}.step h3 {font-size: 1.35rem;margin-bottom: 0.85rem;}.step p {font-size: 1rem;}.methods {padding: 7rem 5%;background: var(--cream);}.methods-grid {display: grid;grid-template-columns: repeat(4, 1fr);gap: 1.5rem;max-width: 1200px;margin: 0 auto;}@media (max-width: 1100px) {.methods-grid {grid-template-columns: repeat(2, 1fr);}}@media (max-width: 600px) {.methods-grid {grid-template-columns: 1fr;}}.method-card {background: white;padding: 2rem;border-radius: 20px;transition: all 0.3s ease;border: 2px solid transparent;}.method-card:hover {border-color: var(--dusty-lavender);transform: scale(1.02);}.method-tag {display: inline-block;background: var(--dusty-lavender);color: white;padding: 0.3rem 0.8rem;border-radius: 20px;font-size: 0.75rem;font-weight: 600;margin-bottom: 1rem;text-transform: uppercase;letter-spacing: 0.5px;}.method-card h3 {font-size: 1.3rem;margin-bottom: 0.8rem;}.method-card p {font-size: 0.95rem;}.trust-section {padding: 7rem 5%;background: white;}.trust-intro {text-align: center;max-width: 700px;margin: 0 auto 3rem;}.trust-intro p {font-size: 1.15rem;}.experts-grid {display: grid;grid-template-columns: repeat(4, 1fr);gap: 2rem;max-width: 1100px;margin: 0 auto;}@media (max-width: 1024px) {.experts-grid {grid-template-columns: repeat(2, 1fr);}}@media (max-width: 580px) {.experts-grid {grid-template-columns: 1fr;}}.expert-card {background: var(--cream);padding: 2rem;border-radius: 24px;text-align: center;transition: transform 0.3s ease;}.expert-card:hover {transform: translateY(-5px);}.expert-avatar {width: 120px;height: 120px;border-radius: 50%;margin: 0 auto 1.25rem;background: var(--light-lavender);display: flex;align-items: center;justify-content: center;overflow: hidden;border: 4px solid white;box-shadow: 0 5px 20px rgba(0,0,0,0.1);}.expert-avatar img {width: 100%;height: 100%;object-fit: cover;border-radius: 50%;}.expert-card h3 {font-size: 1.25rem;margin-bottom: 0.3rem;}.expert-title {color: #6B5876;font-weight: 600;font-size: 0.9rem;margin-bottom: 0.75rem;}.expert-card p {font-size: 0.95rem;}.trust-cta {text-align: center;margin-top: 3rem;}.testimonials {padding: 7rem 5%;background: linear-gradient(135deg, var(--deep-plum) 0%, #5d4a5d 100%);color: white;position: relative;overflow: hidden;}.testimonials::before {content: '"';position: absolute;font-family: var(--font-heading);font-size: 35rem;color: rgba(255,255,255,0.03);top: -120px;left: -30px;line-height: 1;}.testimonials .section-header h2 {color: white;}.testimonials .section-header p {color: rgba(255,255,255,0.75);}.testimonials-wrapper {max-width: 700px;margin: 0 auto;position: relative;}.testimonials-slider {overflow: hidden;border-radius: 24px;}.testimonials-track {display: flex;transition: transform 0.5s ease;}.testimonial-card {background: rgba(255,255,255,0.1);backdrop-filter: blur(10px);padding: 2rem 2.5rem;border-radius: 24px;width: 100%;min-width: 100%;max-width: 100%;flex-shrink: 0;display: flex;flex-direction: column;justify-content: center;box-sizing: border-box;}.testimonial-text {font-size: 1.05rem;line-height: 1.7;margin-bottom: 1.25rem;font-style: italic;white-space: normal;word-wrap: break-word;overflow-wrap: break-word;}.testimonial-author {display: flex;align-items: center;gap: 1rem;}.author-avatar {width: 50px;height: 50px;background: linear-gradient(135deg, var(--dusty-lavender), var(--accent-coral));border-radius: 50%;display: flex;align-items: center;justify-content: center;font-family: var(--font-heading);font-size: 1.3rem;font-weight: 600;}.author-info {display: flex;flex-direction: column;}.author-name {font-weight: 600;}.author-age {font-size: 0.9rem;opacity: 0.75;}.slider-controls {display: flex;justify-content: center;align-items: center;gap: 1.5rem;margin-top: 2rem;}.slider-btn {width: 48px;height: 48px;border-radius: 50%;background: rgba(255,255,255,0.15);border: none;cursor: pointer;display: flex;align-items: center;justify-content: center;transition: all 0.3s ease;}.slider-btn:hover {background: rgba(255,255,255,0.25);}.slider-btn svg {width: 20px;height: 20px;stroke: white;}.slider-dots {display: flex;gap: 8px;}.slider-dot {width: 10px;height: 10px;border-radius: 50%;background: rgba(255,255,255,0.3);border: none;cursor: pointer;transition: all 0.3s ease;}.slider-dot.active {background: white;transform: scale(1.2);}.comparison {padding: 7rem 5%;background: var(--cream);}.comparison-table-wrapper {max-width: 820px;margin: 0 auto;}.comparison-table {background: white;border-radius: 24px;overflow: hidden;box-shadow: 0 20px 60px rgba(0,0,0,0.1);}.comparison-header {display: grid;grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.12fr) minmax(0, 1.06fr);background: var(--light-lavender);}.comparison-header > div {min-width: 0;padding: 1.5rem 1rem;display: flex;align-items: center;justify-content: center;text-align: center;font-family: var(--font-heading);font-size: 1.2rem;font-weight: 600;color: var(--deep-plum);line-height: 1.25;overflow-wrap: break-word;-webkit-hyphens: auto;hyphens: auto;}.comparison-header .lani-col {background: linear-gradient(135deg, var(--dusty-lavender), var(--accent-coral));color: white;}.comparison-row {display: grid;grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.12fr) minmax(0, 1.06fr);border-bottom: 1px solid var(--light-lavender);}.comparison-row:last-child {border-bottom: none;}.comparison-row > div {min-width: 0;padding: 1.15rem 1rem;display: flex;align-items: center;justify-content: center;text-align: center;font-size: 0.95rem;line-height: 1.4;overflow-wrap: break-word;-webkit-hyphens: auto;hyphens: auto;}.comparison-row > div:first-child {justify-content: flex-start;text-align: left;font-weight: 600;color: var(--deep-plum);}.comparison-row .chatgpt-col {color: var(--text-secondary);}.comparison-row .lani-col {background: rgba(184, 164, 201, 0.1);color: var(--deep-plum);font-weight: 500;}@media (max-width: 600px) {.comparison {padding: 4.5rem 4%;}.comparison-table-wrapper {max-width: 100%;}.comparison-header {grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr) minmax(0, 1fr);}.comparison-header > div {padding: 0.85rem 0.4rem;font-size: 0.85rem;line-height: 1.2;}.comparison-row {grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr) minmax(0, 1fr);}.comparison-row > div {padding: 0.8rem 0.4rem;font-size: 0.78rem;line-height: 1.3;}.comparison-row > div:first-child {font-size: 0.8rem;}}.faq {padding: 7rem 5%;background: var(--light-lavender);}.faq-container {max-width: 800px;margin: 0 auto;}.faq-item {background: white;margin-bottom: 1rem;border-radius: 16px;overflow: hidden;}.faq-question {width: 100%;padding: 1.5rem 2rem;display: flex;justify-content: space-between;align-items: center;background: none;border: none;cursor: pointer;font-family: var(--font-ui);font-size: 1.1rem;font-weight: 600;color: var(--deep-plum);text-align: left;transition: background 0.3s;}.faq-question:hover {background: var(--light-lavender);}.faq-icon {width: 24px;height: 24px;position: relative;transition: transform 0.3s;}.faq-icon::before, .faq-icon::after {content: '';position: absolute;background: var(--deep-plum);transition: all 0.3s;}.faq-icon::before {width: 100%;height: 2px;top: 50%;transform: translateY(-50%);}.faq-icon::after {width: 2px;height: 100%;left: 50%;transform: translateX(-50%);}.faq-item.active .faq-icon::after {transform: translateX(-50%) rotate(90deg);opacity: 0;}.faq-answer {max-height: 0;overflow: hidden;transition: max-height 0.3s ease;}.faq-answer-content {padding: 0 2rem 1.5rem;color: var(--text-secondary);line-height: 1.7;font-size: 1rem;}.faq-item.active .faq-answer {max-height: 300px;}.about-section {padding: 7rem 5%;background: white;}.about-content {max-width: 900px;margin: 0 auto;}.about-content h2 {font-size: clamp(2rem, 4vw, 2.8rem);margin-bottom: 2rem;text-align: center;}.about-grid {display: grid;grid-template-columns: 1fr;gap: 3rem;max-width: 900px;margin: 0 auto;}.about-block h3 {font-size: 1.4rem;margin-bottom: 1rem;color: var(--deep-plum);}.about-block {background: white;border: 2px solid var(--accent-coral);border-radius: 16px;padding: 2.5rem;box-shadow: 0 4px 20px rgba(0,0,0,0.08);}.about-block p {font-size: 1rem;margin-bottom: 1rem;}.about-block ul {list-style: none;padding: 0;}.about-block li {padding: 0.5rem 0;padding-left: 1.5rem;position: relative;color: var(--text-secondary);}.about-block li::before {content: '\2713';position: absolute;left: 0;color: var(--sage);font-weight: bold;}.mission-block {background: var(--light-lavender);padding: 2.5rem;border-radius: 24px;text-align: center;}.mission-block h3 {font-size: 1.5rem;margin-bottom: 1rem;}.mission-block p {font-size: 1.1rem;max-width: 700px;margin: 0 auto;}.final-cta {padding: 7rem 5%;text-align: center;position: relative;overflow: hidden;background: var(--cream);}.final-cta::before {content: '';position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);width: 600px;height: 600px;background: radial-gradient(circle, var(--light-lavender) 0%, transparent 70%);pointer-events: none;}.final-cta-content {position: relative;z-index: 1;}.final-cta h2 {font-size: clamp(2.2rem, 4.5vw, 3.5rem);margin-bottom: 1rem;}.final-cta > .final-cta-content > p {font-size: 1.2rem;margin-bottom: 2.5rem;}.cta-note {margin-top: 1rem;font-size: 0.95rem;color: var(--text-secondary);}.modal-overlay {display: none;position: fixed;top: 0;left: 0;right: 0;bottom: 0;background: rgba(0, 0, 0, 0.6);z-index: 1000;align-items: flex-start;justify-content: center;padding: 20px 20px;overflow-y: auto;}.modal-overlay.active {display: flex;}.modal-content {background: white;border-radius: 24px;padding: 3rem;max-width: 1000px;width: 100%;position: relative;box-shadow: 0 20px 60px rgba(0,0,0,0.3);animation: modalSlideIn 0.3s ease;margin: auto;max-height: calc(100vh - 40px);overflow-y: auto;}.modal-content > h3, .modal-content > .bonus-banner, .modal-content > .modal-tabs, .modal-content > .tab-content {max-width: 650px;margin-left: auto;margin-right: auto;}@keyframes modalSlideIn {from {opacity: 0;transform: translateY(-30px);}to {opacity: 1;transform: translateY(0);}}.modal-close {position: absolute;top: 1.5rem;right: 1.5rem;background: none;border: none;font-size: 1.5rem;cursor: pointer;color: var(--text-secondary);transition: color 0.3s;width: 32px;height: 32px;display: flex;align-items: center;justify-content: center;}.modal-close:hover {color: var(--deep-plum);}.modal-content h3 {font-size: 1.8rem;margin-bottom: 0.5rem;color: var(--deep-plum);}.modal-content > p {margin-bottom: 2rem;color: var(--text-secondary);}.modal-form {display: flex;flex-direction: column;gap: 1.5rem;}.form-group {display: flex;flex-direction: column;gap: 0.5rem;}.form-group label {font-weight: 600;color: var(--deep-plum);font-size: 0.95rem;}.form-group input, .form-group textarea {padding: 0.9rem 1.2rem;border: 2px solid var(--light-lavender);border-radius: 12px;font-family: var(--font-ui);font-size: 1rem;transition: border-color 0.3s;background: var(--cream);}.form-group input:focus, .form-group textarea:focus {outline: none;border-color: var(--dusty-lavender);}.form-group textarea {min-height: 120px;resize: vertical;}.modal-submit {background: var(--deep-plum);color: white;padding: 1rem 2rem;border: none;border-radius: 50px;font-size: 1.05rem;font-weight: 600;cursor: pointer;transition: all 0.3s;font-family: var(--font-ui);}.modal-submit:hover {background: var(--warm-gray);transform: translateY(-2px);}.success-message {display: none;text-align: center;padding: 2rem;}.success-message.active {display: block;}.success-message svg {width: 60px;height: 60px;color: var(--sage);margin-bottom: 1rem;}.modal-tabs {display: flex;gap: 0;margin-bottom: 2rem;border-bottom: 2px solid var(--light-lavender);}.tab-button {flex: 1;background: none;border: none;padding: 1rem;font-family: var(--font-ui);font-size: 1rem;font-weight: 600;color: var(--text-secondary);cursor: pointer;transition: all 0.3s;border-bottom: 3px solid transparent;position: relative;bottom: -2px;}.tab-button.active {color: var(--deep-plum);border-bottom-color: #5B52E8;}.tab-content {display: none;}.tab-content.active {display: block;}.bonus-banner {background: linear-gradient(135deg, #FFF7ED 0%, #FEF3E8 100%);border: 2px solid #FFE4CC;border-radius: 12px;padding: 1.25rem;margin-bottom: 1.5rem;text-align: center;}.bonus-banner p {margin: 0;color: var(--text-primary);font-size: 0.95rem;line-height: 1.5;}.bonus-amount {font-weight: 700;color: var(--deep-plum);}.info-text {color: var(--text-secondary);font-size: 0.9rem;margin-bottom: 1rem;line-height: 1.5;}.security-link {display: inline-flex;align-items: center;gap: 0.4rem;color: #5B52E8;text-decoration: none;font-size: 0.9rem;margin-top: 0.5rem;}.security-link:hover {text-decoration: underline;}.phone-input-wrapper {display: flex;gap: 0.75rem;align-items: flex-start;}.phone-prefix {padding: 0.9rem 1rem;border: 2px solid var(--light-lavender);border-radius: 12px;font-family: var(--font-ui);font-size: 1rem;background: var(--light-lavender);color: var(--text-primary);font-weight: 600;min-width: 60px;text-align: center;}.phone-input-wrapper input {flex: 1;}.password-requirements {margin-top: 0.75rem;padding: 0;}.password-requirements li {display: flex;align-items: center;gap: 0.5rem;font-size: 0.85rem;color: var(--text-secondary);margin-bottom: 0.4rem;list-style: none;}.password-requirements li::before {content: '\2713';display: inline-flex;align-items: center;justify-content: center;width: 18px;height: 18px;border-radius: 50%;background: var(--light-lavender);color: var(--text-secondary);font-size: 0.7rem;font-weight: bold;}.toggle-password {position: absolute;right: 1rem;top: 50%;transform: translateY(-50%);background: none;border: none;cursor: pointer;color: var(--text-secondary);padding: 0.5rem;}.form-group {position: relative;}.register-button {background: #5B52E8;color: white;padding: 1rem 2rem;border: none;border-radius: 50px;font-size: 1.05rem;font-weight: 600;cursor: pointer;transition: all 0.3s;font-family: var(--font-ui);width: 100%;display: flex;align-items: center;justify-content: center;gap: 0.5rem;}.register-button:hover {background: #4942C7;transform: translateY(-2px);}.login-link {text-align: center;margin-top: 1.5rem;color: var(--text-secondary);font-size: 0.95rem;}.login-link a {color: #5B52E8;text-decoration: none;font-weight: 600;}.login-link a:hover {text-decoration: underline;}.terms-text {text-align: center;font-size: 0.85rem;color: var(--text-secondary);margin-top: 1.5rem;line-height: 1.5;}.terms-text a {color: #5B52E8;text-decoration: none;}.terms-text a:hover {text-decoration: underline;}footer {background: var(--deep-plum);color: white;padding: 4rem 5% 2rem;}.footer-content {display: grid;grid-template-columns: 1.8fr 1fr 1fr 1fr 1fr;gap: 3rem;max-width: 1200px;margin: 0 auto 3rem;}.footer-brand .logo {color: white;margin-bottom: 1rem;}.footer-brand p {color: rgba(255,255,255,0.7);font-size: 0.95rem;max-width: 300px;}.footer-social {display: flex;gap: 1rem;margin-top: 1.5rem;}.social-link {width: 40px;height: 40px;background: rgba(255,255,255,0.1);border-radius: 50%;display: flex;align-items: center;justify-content: center;color: white;transition: all 0.3s ease;}.social-link:hover {background: var(--dusty-lavender);transform: translateY(-3px);}.social-link svg {width: 20px;height: 20px;}.footer-links h4 {font-family: var(--font-ui);font-size: 1rem;font-weight: 600;margin-bottom: 1rem;}.footer-links ul {list-style: none;}.footer-links li {margin-bottom: 0.5rem;}.footer-links a {color: rgba(255,255,255,0.7);text-decoration: none;font-size: 0.9rem;transition: color 0.3s;}.footer-links a:hover {color: white;}.footer-bottom {border-top: 1px solid rgba(255,255,255,0.1);padding-top: 2rem;text-align: center;color: rgba(255,255,255,0.7);font-size: 0.85rem;}@media (max-width: 1024px) {.hero-visual {position: relative;right: auto;top: auto;transform: none;width: 100%;max-width: 400px;margin: 3rem auto 0;}.hero {flex-direction: column;text-align: center;}.hero-content {max-width: 100%;}.hero p {margin-left: auto;margin-right: auto;}.hero-buttons {justify-content: center;}.steps-container::before {display: none;}.footer-content {grid-template-columns: 1fr 1fr;}.about-grid {grid-template-columns: 1fr;}}@media (max-width: 768px) {.solution-content {grid-template-columns: 1fr;gap: 3rem;}.voice-content {grid-template-columns: 1fr;gap: 2rem;}.stats-bar {gap: 2rem;}.footer-content {grid-template-columns: 1fr;text-align: center;}.footer-brand {display: flex;flex-direction: column;align-items: center;}.footer-brand .logo {justify-content: center;}.footer-brand p {margin: 0 auto;}.footer-social {justify-content: center;}.footer-links {text-align: center;}.help-grid {grid-template-columns: 1fr;}.modal-content {padding: 2.5rem 2rem;}}@media (max-width: 480px) {body {font-size: 16px;}.hero h1 {font-size: 2.3rem;}.btn-primary, .btn-secondary {width: 100%;justify-content: center;}.chat-preview {padding: 1.25rem;}.experts-grid {grid-template-columns: 1fr;}.modal-overlay {padding: 0;align-items: stretch;}.modal-content {max-width: 100%;width: 100%;border-radius: 0;padding: 2rem 1.5rem;max-height: 100vh;margin: 0;}.modal-close {top: 1rem;right: 1rem;}}

/* ============================= */
/* AI Experts Team (пайплайн проверки совета) */
/* ============================= */
.experts-flow {
    padding: 5.5rem 5% 3.5rem;
    background: var(--cream);
}

.experts-flow-title {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 3rem;
    font-size: clamp(1.6rem, 3.4vw, 2.4rem);
    line-height: 1.3;
}

/* «трое ИИ-экспертов» — тот же фиолетовый градиент, что у кнопки .btn-primary */
.experts-flow-accent {
    background: linear-gradient(135deg, #9F7AEA, #805AD5, #6B46C1);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

/* Главная: hero без чат-превью — контент по центру на всю ширину.
   Модификатор изолирует правку от landing-kouch/landing-nutriciolog,
   которые используют тот же index.css с двухколоночным hero. */
.hero--center {
    justify-content: center;
    text-align: center;
    /* Убираем «мёртвое» пространство от min-height:100vh: hero подгоняется под контент
       → меньше отступ до следующей секции на десктопе и нет большого зазора сверху на мобиле */
    min-height: auto;
}

.hero--center .hero-content {
    max-width: 820px;
    margin: 0 auto;
}

.hero--center .hero-content p {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
    text-wrap: balance;
}

.hero--center .hero-buttons {
    justify-content: center;
}

/* Социальное доказательство в hero (главная): «8 из 10 становится легче» */
.hero-proof {
    display: inline-flex;
    align-items: center;
    gap: 0.9rem;
    max-width: 100%;
    margin: 0 auto 2.5rem;
    padding: 0.7rem 1.5rem 0.7rem 1.1rem;
    background: linear-gradient(135deg, rgba(159, 122, 234, 0.10), rgba(201, 144, 122, 0.10));
    border: 1px solid rgba(128, 90, 213, 0.18);
    border-radius: 28px;
    animation: fadeInUp 0.8s ease 0.25s backwards;
}
.hero-proof-num {
    flex-shrink: 0;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1.9rem;
    line-height: 1;
    background: linear-gradient(135deg, #9F7AEA, #6B46C1);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.hero-proof-text {
    text-align: left;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.25;
    color: var(--deep-plum);
}
@media (max-width: 480px) {
    .hero-proof {
        gap: 0.6rem;
        padding: 0.55rem 1rem 0.55rem 0.85rem;
    }
    .hero-proof-num { font-size: 1.5rem; }
    .hero-proof-text { font-size: 0.88rem; }
}

/* Подсказка «Крутите вниз» под кнопкой hero + мягкая пульсация стрелки для привлечения внимания */
.scroll-hint {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    margin-top: 2.5rem;
    color: var(--warm-gray);
    text-decoration: none;
    font-size: 1rem;
    font-weight: 500;
    transition: color 0.3s ease;
    animation: fadeInUp 0.8s ease 0.4s backwards;
}

.scroll-hint:hover {
    color: var(--deep-plum);
}

.scroll-hint-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1.5px solid var(--dusty-lavender);
    color: var(--deep-plum);
    /* Плавная пульсация вниз-вверх-вниз */
    animation: scrollHintBob 1.6s ease-in-out infinite;
}

@keyframes scrollHintBob {
    0%   { transform: translateY(0); }
    50%  { transform: translateY(9px); }
    100% { transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .scroll-hint-icon { animation: none; }
}

/* ===== Мобильное меню: кнопки входа/регистрации (только гость) + быстрые ссылки на ИИ-помощников ===== */
.mobile-menu {
    overflow-y: auto;
}

.mobile-auth-actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0 2rem;
    margin-top: 0.5rem;
}

/* Авторизованному кнопки входа/регистрации не показываем */
.mobile-menu--authed .mobile-auth-actions {
    display: none;
}

.mobile-auth-actions .mobile-nav-cta {
    margin-top: 0;
}

.mobile-nav-login {
    display: inline-block;
    text-align: center;
    padding: 1rem 2rem;
    border-radius: 50px;
    border: 2px solid var(--dusty-lavender);
    background: transparent;
    color: var(--deep-plum);
    text-decoration: none;
    font-weight: 600;
    transition: background 0.3s ease;
}

.mobile-nav-login:hover {
    background: var(--light-lavender);
}

.mobile-service-links {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1.5rem 2rem 0;
    margin-top: 1.5rem;
    border-top: 1px solid var(--light-lavender);
}

.mobile-service-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.9rem 1.5rem;
    border-radius: 14px;
    border: 2px solid var(--dusty-lavender);
    background: #fff;
    color: var(--deep-plum);
    text-decoration: none;
    font-weight: 600;
    transition: background 0.2s ease, transform 0.2s ease;
}

.mobile-service-btn:hover {
    background: var(--light-lavender);
    transform: translateY(-1px);
}

/* ===== Личный кабинет в мобильном меню — только для авторизованных ===== */
/* Гостю показываем .mobile-auth-actions (Начать бесплатно / Войти),
   авторизованному вместо них — этот блок (заголовок + ссылки кабинета). */
.mobile-account-actions {
    display: none;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0 2rem;
    margin-top: 0.5rem;
}

.mobile-menu--authed .mobile-account-actions {
    display: flex;
}

.mobile-account-title {
    font-family: var(--font-heading);
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--deep-plum);
    margin-bottom: 0.35rem;
}

.mobile-account-link {
    display: block;
    padding: 0.75rem 0;
    color: var(--deep-plum);
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px solid var(--light-lavender);
    transition: color 0.2s ease;
}

.mobile-account-link:last-child {
    border-bottom: none;
}

.mobile-account-link:hover {
    color: var(--dusty-lavender);
}

/* ===== Модалки кабинета (Профиль/Моя анкета/Баланс) переиспользуются из chat-common.js.
   На чат-страницах видимость даёт .modal-overlay.show из chat.css — на лендинге дублируем. ===== */
.modal-overlay.show {
    display: flex;
}

/* Окно «Профиль»: десктоп — центрированная карточка, мобайл — на весь экран (как на чат-странице).
   Анкета и Баланс инжектят свои полноэкранные стили сами. */
.profile-modal {
    max-width: 520px;
    width: 92%;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
}

.profile-modal #profileBody {
    flex: 1;
    min-height: 0;
    overflow: auto;
}

@media (max-width: 768px) {
    #profileModal.modal-overlay {
        padding: 0;
        overflow: hidden;
    }

    .profile-modal {
        position: fixed;
        inset: 0;
        width: 100%;
        max-width: none;
        max-height: none;
        border-radius: 0;
        padding: calc(1.5rem + env(safe-area-inset-top, 0px)) 1.25rem calc(1.5rem + env(safe-area-inset-bottom, 0px));
    }
}

/* Вторая строка заголовка пайплайна — размер как у абзаца .care-header p */
.experts-flow-subtitle {
    display: block;
    margin-top: 0.85rem;
    font-family: var(--font-ui);
    font-size: 1.15rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--text-secondary);
}

.experts-flow-grid {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 1rem;
    max-width: 1200px;
    margin: 0 auto;
}

.ef-card {
    flex: 1 1 0;
    min-width: 0;
    background: white;
    border-radius: 20px;
    padding: 1.75rem;
    box-shadow: 0 10px 30px rgba(61, 46, 61, 0.07);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ef-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 45px rgba(61, 46, 61, 0.12);
}

.ef-icon {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    background: var(--light-lavender);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.7rem;
    margin-bottom: 1.5rem;
}

.ef-name {
    font-family: var(--font-heading);
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--deep-plum);
    margin-bottom: 0.5rem;
}

.ef-desc {
    color: var(--text-secondary);
    font-size: 0.98rem;
    line-height: 1.4;
}

.ef-arrow {
    flex: 0 0 auto;
    align-self: center;
    color: var(--dusty-lavender);
    font-size: 1.6rem;
    line-height: 1;
}

/* Итоговая карточка — зелёный акцент (sage) */
.ef-card--result {
    background: #E8F1E4;
}

.ef-icon--result {
    background: var(--sage);
    color: white;
    font-size: 1.9rem;
}

.ef-card--result .ef-name {
    color: #3F6B2E;
}

.ef-card--result .ef-desc {
    color: #547A3F;
}

/* Планшет/мобайл: вертикальный пайплайн, стрелки вниз */
@media (max-width: 900px) {
    .experts-flow {
        padding: 4.5rem 5% 3rem;
    }

    .experts-flow-grid {
        flex-direction: column;
        align-items: stretch;
        max-width: 460px;
        gap: 0.85rem;
    }

    .ef-card {
        flex: 0 0 auto;
    }

    .ef-icon {
        margin-bottom: 1rem;
    }

    .ef-arrow {
        transform: rotate(90deg);
    }
}

@media (max-width: 480px) {
    .experts-flow-title {
        margin-bottom: 2.25rem;
    }

    .ef-card {
        padding: 1.5rem;
    }
}

/* ============================= */
/* Комплексная забота (психолог + нутрициолог + коуч) */
/* ============================= */
.care {
    padding: 5rem 5% 5.5rem;
    background: linear-gradient(180deg, var(--cream) 0%, var(--light-lavender) 100%);
}

.care-header {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 3rem;
}

.care-header h2 {
    font-size: clamp(1.9rem, 4vw, 2.8rem);
    margin-bottom: 1rem;
}

.care-header p {
    font-size: 1.15rem;
    line-height: 1.5;
}

.care-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem;
    max-width: 1050px;
    margin: 0 auto 2.5rem;
}

.care-card {
    background: white;
    border-radius: 24px;
    padding: 2.5rem 2rem;
    text-align: center;
    box-shadow: 0 10px 40px rgba(61, 46, 61, 0.07);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.care-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 50px rgba(61, 46, 61, 0.12);
}

.care-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--dusty-lavender), var(--accent-coral));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    margin: 0 auto 1.5rem;
}

.care-card h3 {
    font-size: 1.4rem;
    margin-bottom: 0.85rem;
}

.care-card p {
    font-size: 1rem;
    line-height: 1.6;
}

.care-result {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    max-width: 760px;
    margin: 0 auto;
    background: #E8F1E4;
    border-radius: 20px;
    padding: 1.5rem 2rem;
}

.care-result-icon {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--sage);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
}

.care-result p {
    margin: 0;
    font-size: 1.08rem;
    line-height: 1.5;
    color: #3F6B2E;
}

.care-result strong {
    color: #2F5622;
}

@media (max-width: 900px) {
    .care-grid {
        grid-template-columns: 1fr;
        max-width: 460px;
    }
}

@media (max-width: 600px) {
    .care {
        padding: 4rem 5% 4.5rem;
    }

    .care-result {
        flex-direction: column;
        text-align: center;
        gap: 0.75rem;
        padding: 1.5rem;
    }
}

/* ============================= */
/* Hero Chat Input Block Styles  */
/* ============================= */
.hero-chat-input {
    margin-top: 2.5rem;
    /* По ТЗ: поле на главной (десктоп) ~700px */
    max-width: 700px;
    animation: fadeInUp 0.8s ease 0.4s backwards;
}

.hero-chat-input-inner {
    background: white;
    border-radius: 20px;
    padding: 0.5rem;
    box-shadow: 0 10px 40px rgba(61, 46, 61, 0.12);
    border: 2px solid var(--light-lavender);
    transition: all 0.3s ease;
}

.hero-chat-input-inner:focus-within {
    border-color: var(--dusty-lavender);
    box-shadow: 0 15px 50px rgba(61, 46, 61, 0.18);
}

.hero-input-wrapper {
    position: relative;
    padding: 0.5rem;
}

.hero-chat-textarea {
    width: 100%;
    /* Отступы: левый обычный, правый — места для 2 кнопок (48px каждая) + зазоры */
    padding: 0.9rem 120px 0.9rem 0.9rem;
    border: none;
    border-radius: 14px;
    font-family: var(--font-ui);
    font-size: 1rem;
    resize: none;
    /* Высота поля ввода на десктопе и мобиле 150px */
    min-height: 150px;
    max-height: 150px;
    line-height: 1.4;
    background: var(--cream);
    color: var(--text-primary);
    overflow-y: auto;
    display: block;
}

.hero-chat-textarea:focus {
    outline: none;
    background: white;
}

.hero-chat-textarea::placeholder {
    color: var(--text-secondary);
    opacity: 0.7;
    /* Приглашение-плейсхолдер (текст + про голос объединены) */
    font-size: 1.2rem;
    line-height: 1.3;
}

/* При клике/фокусе в поле приглашение-плейсхолдер пропадает */
.hero-chat-textarea:focus::placeholder {
    opacity: 0;
}

.hero-input-actions {
    display: flex;
    gap: 0.5rem;
    position: absolute;
    bottom: 0.75rem;
    right: 0.75rem;
    z-index: 2;
}

.hero-btn-voice,
.hero-btn-send {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.hero-btn-voice {
    background: var(--light-lavender);
    color: var(--deep-plum);
}

.hero-btn-voice:hover {
    background: var(--dusty-lavender);
    color: white;
}

.hero-btn-voice svg {
    width: 22px;
    height: 22px;
}

.hero-btn-send {
    background: var(--deep-plum);
    color: white;
}

.hero-btn-send:hover:not(:disabled) {
    background: var(--warm-gray);
    transform: scale(1.05);
}

.hero-btn-send:disabled {
    background: var(--light-lavender);
    color: var(--text-secondary);
    cursor: not-allowed;
    opacity: 0.6;
}

.hero-btn-send svg {
    width: 20px;
    height: 20px;
}

/* Audio Recording UI */
.hero-audio-recorder {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
}

.hero-audio-wave-container {
    flex: 1;
    height: 50px;
    background: var(--cream);
    border-radius: 12px;
    overflow: hidden;
    padding: 0 0.5rem;
}

.hero-audio-wave {
    width: 100%;
    height: 100%;
}

.hero-audio-info {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 60px;
}

.hero-audio-indicator {
    width: 10px;
    height: 10px;
    background: #ff4444;
    border-radius: 50%;
    animation: pulseRec 1s ease-in-out infinite;
}

@keyframes pulseRec {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}

.hero-audio-time {
    font-family: var(--font-ui);
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-primary);
}

.hero-audio-actions {
    display: flex;
    gap: 0.5rem;
}

.hero-btn-audio-cancel,
.hero-btn-audio-send {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.hero-btn-audio-cancel {
    background: var(--light-lavender);
    color: var(--text-secondary);
}

.hero-btn-audio-cancel:hover {
    background: #ffebeb;
    color: #cc3333;
}

.hero-btn-audio-cancel svg {
    width: 18px;
    height: 18px;
}

.hero-btn-audio-send {
    background: var(--sage);
    color: white;
}

.hero-btn-audio-send:hover {
    background: #6a9049;
    transform: scale(1.05);
}

.hero-btn-audio-send svg {
    width: 20px;
    height: 20px;
}

/* Loader Overlay for voice transcription */
.hero-loader-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(253, 248, 243, 0.95);
    z-index: 1001;
    align-items: center;
    justify-content: center;
}

.hero-loader-overlay.show {
    display: flex;
}

.hero-loader-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    padding: 3rem;
    background: white;
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(61, 46, 61, 0.2);
}

.hero-loader-spinner {
    width: 56px;
    height: 56px;
    border: 4px solid var(--light-lavender);
    border-top-color: var(--dusty-lavender);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

.hero-loader-content span {
    font-size: 1.1rem;
    color: var(--deep-plum);
    font-weight: 500;
}

/* Mobile adjustments for hero chat input */
@media (max-width: 768px) {
    .hero-chat-input {
        margin: 2rem auto 0;
        padding: 0 1rem;
        max-width: 100%;
    }
    
    .hero-chat-textarea {
        /* 16px: ниже iOS Safari принудительно зумит страницу при фокусе в поле */
        font-size: 16px;
    }

    .hero-chat-textarea::placeholder {
        font-size: 1rem;
        line-height: 1.25;
    }
}

@media (max-width: 480px) {
    .hero-chat-input-inner {
        padding: 0.35rem;
    }
    
    .hero-input-wrapper {
        padding: 0.35rem;
    }
    
    .hero-btn-voice,
    .hero-btn-send {
        width: 44px;
        height: 44px;
    }
    
    .hero-audio-recorder {
        flex-wrap: wrap;
        gap: 0.75rem;
    }
    
    .hero-audio-wave-container {
        flex: 1 1 100%;
        order: -1;
    }
}

/* ================================ */
/* Microphone Permission Modal      */
/* ================================ */
.modal-overlay-center {
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.modal {
    background: white;
    border-radius: 24px;
    padding: 2.5rem;
    position: relative;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
    animation: modalSlideIn 0.3s ease;
}

.modal.modal-microphone {
    max-width: 480px;
    width: 100%;
    text-align: center;
}

.microphone-modal-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.microphone-modal-icon {
    font-size: 3.5rem;
    line-height: 1;
    margin-bottom: 0.5rem;
}

.modal-microphone h3 {
    font-size: 1.5rem;
    color: var(--deep-plum);
    margin: 0;
}

.microphone-modal-text {
    color: var(--text-secondary);
    font-size: 1rem;
    line-height: 1.5;
    margin: 0;
}

.microphone-modal-hint {
    color: var(--text-secondary);
    font-size: 0.875rem;
    line-height: 1.5;
    margin: 0;
    opacity: 0.75;
}

.microphone-modal-buttons {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
    margin-top: 0.5rem;
}

.btn-microphone-help {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.875rem 1.5rem;
    border-radius: 12px;
    font-size: 0.95rem;
    font-weight: 500;
    text-decoration: none;
    background: var(--light-lavender);
    color: var(--text-primary);
    transition: all 0.2s ease;
    border: none;
    cursor: pointer;
}

.btn-microphone-help:hover {
    background: var(--dusty-lavender);
    color: white;
}

.btn-microphone-help svg {
    width: 18px;
    height: 18px;
}

.btn-microphone-retry {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.875rem 1.5rem;
    border-radius: 12px;
    font-size: 0.95rem;
    font-weight: 600;
    background: linear-gradient(135deg, var(--dusty-lavender), var(--accent-coral));
    color: white;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn-microphone-retry:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(184, 164, 201, 0.4);
}

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

.btn-microphone-retry svg {
    width: 18px;
    height: 18px;
}

@media (max-width: 480px) {
    .modal.modal-microphone {
        padding: 2rem 1.5rem;
    }

    .microphone-modal-icon {
        font-size: 2.5rem;
    }

    .modal-microphone h3 {
        font-size: 1.25rem;
    }

    .microphone-modal-text {
        font-size: 0.9375rem;
    }

    .microphone-modal-hint {
        font-size: 0.8125rem;
    }

    .btn-microphone-help,
    .btn-microphone-retry {
        width: 100%;
    }
}

/* ================================ */
/* Trust Facts Block Styles         */
/* ================================ */
.trust-headline {
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--deep-plum);
    margin-bottom: 2rem;
}

.trust-facts {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    text-align: left;
}

.trust-fact {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    background: var(--cream);
    padding: 1.25rem 1.5rem;
    border-radius: 16px;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.trust-fact:hover {
    border-color: var(--sage);
    transform: translateX(5px);
    box-shadow: 0 5px 20px rgba(123, 160, 91, 0.15);
}

.trust-fact-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.trust-fact-icon svg {
    width: 28px;
    height: 28px;
    stroke: var(--sage);
}

.trust-fact-content {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.trust-fact-content strong {
    font-size: 1.1rem;
    color: var(--deep-plum);
    font-weight: 600;
}

.trust-fact-content span {
    font-size: 0.95rem;
    color: var(--text-secondary);
    line-height: 1.5;
}

.trust-intro {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 3rem;
}

@media (max-width: 600px) {
    .trust-fact {
        flex-direction: column;
        gap: 0.75rem;
        text-align: center;
        align-items: center;
    }

    .trust-fact-icon {
        width: 40px;
        height: 40px;
    }

    .trust-fact-icon svg {
        width: 36px;
        height: 36px;
    }

    .trust-fact:hover {
        transform: translateY(-3px);
    }
}

/* ============================= */
/* Доступность: полное уважение prefers-reduced-motion */
/* Раньше гасились только .blob и .scroll-hint-icon — остальные анимации */
/* (pulse badge, fadeInUp, wave, spin, typing, messageIn, pulseRec, float) */
/* продолжали крутиться. Для тревожной аудитории это раздражитель. */
/* ============================= */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }
}

/* ============================= */
/* Кризисная безопасность (дисклеймер + телефон доверия, YMYL) */
/* ============================= */
.crisis-note {
    padding: 2.5rem 5% 0;
    background: var(--cream);
}

.crisis-note-inner {
    max-width: 820px;
    margin: 0 auto;
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    background: var(--light-lavender);
    border-left: 4px solid var(--accent-coral);
    border-radius: 14px;
    padding: 1.25rem 1.5rem;
}

.crisis-note-icon {
    font-size: 1.5rem;
    line-height: 1.5;
    flex: 0 0 auto;
}

.crisis-note-inner p {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.6;
    color: var(--text-primary);
}

.crisis-note-inner a {
    color: var(--deep-plum);
    font-weight: 700;
    white-space: nowrap;
    text-decoration: underline;
}

.footer-crisis {
    color: rgba(255, 255, 255, 0.75);
    font-size: 0.85rem;
    line-height: 1.5;
    margin: 0 auto 0.85rem;
    max-width: 640px;
}

.footer-crisis a {
    color: #fff;
    font-weight: 700;
    white-space: nowrap;
}

/* ============================================================= */
/* Главная (index.html): вертикальные отступы между секциями —   */
/* в 2 раза меньше. Изолировано маркером body.page-index, чтобы   */
/* НЕ задеть landing-kouch / landing-nutriciolog / tarify,        */
/* которые используют тот же index.css (как приём с .hero--center)*/
/* ============================================================= */
/* Единый плотный вертикальный ритм секций: 7rem → 3.5rem и т.п.
   (горизонтальный padding 5%/4% не трогаем — только top/bottom). */
body.page-index > section {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
}

/* Hero: верх — с запасом под фиксированную навигацию (~80px), иначе
   контент уедет под навбар (базовое правило > section опустило бы верх
   до 3.5rem). Низ — вдвое (4rem → 2rem). */
body.page-index .hero {
    padding-top: 6rem;
    padding-bottom: 2rem;
}

/* Отступ под заголовком секции: 4rem → 2rem. */
body.page-index .section-header {
    margin-bottom: 2rem;
}

/* Прочие крупные вертикальные зазоры на главной — тоже вдвое. */
body.page-index .experts-flow-title {
    margin-bottom: 1.5rem;   /* было 3rem */
}

body.page-index .scroll-hint {
    margin-top: 1.25rem;     /* было 2.5rem */
}

/* v39 add-only: аккуратная 2×2 сетка stats на мобиле (колонки выровнены), «Войти» по центру навбара */
@media (max-width: 768px) {
    .stats-bar { display: grid; grid-template-columns: 1fr 1fr; justify-items: center; align-items: start; column-gap: 1rem; row-gap: 1.75rem; }
    .stats-bar .stats-input-row { grid-column: 1 / -1; justify-self: stretch; }
}

/* ============================= */
/* Реквизиты ИП в футере (SEO/E-E-A-T: официальность для YMYL) */
/* ============================= */
.footer-requisites {margin-top: 0.75rem;font-size: 0.75rem;line-height: 1.5;color: rgba(255,255,255,0.45);}

/* Ссылки в карточках about-блока (блок «Из блога») — в палитре Vera */
.about-block a {color: var(--deep-plum);text-decoration: underline;text-decoration-color: var(--dusty-lavender);text-underline-offset: 3px;}
.about-block a:hover {text-decoration-color: var(--deep-plum);}
