/* KUZNYA — анимации появления (все страницы) */
.reveal {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.reveal.revealed { opacity: 1; transform: translateY(0); }

/* Stagger-задержки для карточек в списках */
.features-grid > *:nth-child(1),
.pricing-grid > *:nth-child(1),
.how-grid > *:nth-child(1),
.blog-grid > *:nth-child(1),
.tools-grid > *:nth-child(1),
.demo-grid > *:nth-child(1) { transition-delay: 0.1s; }
.features-grid > *:nth-child(2),
.pricing-grid > *:nth-child(2),
.how-grid > *:nth-child(2),
.blog-grid > *:nth-child(2),
.tools-grid > *:nth-child(2),
.demo-grid > *:nth-child(2) { transition-delay: 0.22s; }
.features-grid > *:nth-child(3),
.pricing-grid > *:nth-child(3),
.how-grid > *:nth-child(3),
.blog-grid > *:nth-child(3),
.tools-grid > *:nth-child(3),
.demo-grid > *:nth-child(3) { transition-delay: 0.34s; }
.features-grid > *:nth-child(4),
.how-grid > *:nth-child(4),
.blog-grid > *:nth-child(4),
.tools-grid > *:nth-child(4),
.demo-grid > *:nth-child(4) { transition-delay: 0.46s; }
.how-grid > *:nth-child(5),
.blog-grid > *:nth-child(5),
.tools-grid > *:nth-child(5),
.demo-grid > *:nth-child(5) { transition-delay: 0.58s; }
.how-grid > *:nth-child(6),
.blog-grid > *:nth-child(6),
.tools-grid > *:nth-child(6),
.demo-grid > *:nth-child(6) { transition-delay: 0.70s; }
.blog-grid > *:nth-child(n+7),
.tools-grid > *:nth-child(n+7),
.demo-grid > *:nth-child(n+7) { transition-delay: 0.80s; }

/* Hero на главной — каскад */
.hero-badge.reveal { transition-delay: 0.2s; }
.hero-title.reveal { transition-delay: 0.45s; }
.hero-subtitle.reveal { transition-delay: 0.7s; }
.hero-actions.reveal { transition-delay: 0.95s; }
.hero-stats.reveal { transition-delay: 1.2s; }

/* Page-hero — каскад */
.page-hero .breadcrumbs.reveal { transition-delay: 0.1s; }
.page-hero .page-hero__icon.reveal { transition-delay: 0.2s; }
.page-hero .page-title.reveal { transition-delay: 0.35s; }
.page-hero .page-subtitle.reveal { transition-delay: 0.55s; }
.page-hero-actions.reveal { transition-delay: 0.75s; }

/* Заголовки секций */
.section-head .tag.reveal { transition-delay: 0.1s; }
.section-head h2.reveal { transition-delay: 0.25s; }
.section-head p.reveal { transition-delay: 0.4s; }

/* Hover-эффекты */
.feature-card, .price-card, .how-step, .audience-card, .capability-card, .demo-card, .faq-item,
.blog-card, .tool-card, .demo-site-card, .demo-module-card, .docs-home-section, .contact-item {
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, border-color 0.4s ease;
}
.feature-card:hover, .price-card:hover, .how-step:hover, .audience-card:hover, .capability-card:hover,
 12px 32px rgba(217,119,6,0.18);
}

/* Кнопки — блик */
.btn-primary { position: relative; overflow: hidden; }
.btn-primary::after {
    content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
    transition: left 0.7s ease;
}
.btn-primary:hover::after { display: none; }

/* Иконки */
.feature-card i, .audience-card i, .capability-card i, .tool-icon, .contact-item-icon {
    transition: transform 0.35s ease;
}
.feature-card:hover i, .audience-card:hover i, .capability-card:hover i,
.tool-card:hover .tool-icon, .contact-item:hover .contact-item-icon {
    transform: scale(1.15) rotate(-5deg);
}

/* Hero — плавающее свечение */
.hero, .page-hero, .calc-hero, .landing-hero, .feat-hero { position: relative; overflow: hidden; }
.hero::before, .page-hero::before, .calc-hero::before, .landing-hero::before, .feat-hero::before {
    content: ''; position: absolute; top: -50%; right: -20%; width: 600px; height: 600px;
    background: radial-gradient(circle, rgba(217,119,6,0.12) 0%, transparent 70%);
    pointer-events: none; animation: floatGlow 10s ease-in-out infinite;
}
@keyframes floatGlow {
    0%, 100% { transform: translate(0, 0); }
    50% { transform: translate(-30px, 30px); }
}

@media (prefers-reduced-motion: reduce) {
    .reveal, .feature-card, .price-card, .how-step, .audience-card, .capability-card, .demo-card, .faq-item,
    .blog-card, .tool-card, .demo-site-card, .demo-module-card, .docs-home-section, .contact-item {
        transition: none !important; opacity: 1 !important; transform: none !important;
    }
    .hero::before, .page-hero::before { animation: none; }
}
@media (prefers-reduced-motion: reduce) {
    .hero-title .accent { animation: none; background: #E09B60; -webkit-text-fill-color: unset; color: #E09B60; filter: none; }
    .hero-title.revealed { text-shadow: none; }
    .hero-title .accent::after { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .hero-title .accent { animation: none; text-shadow: none; color: #E09B60; }
    .hero-title .accent::after { transition: none; transform: scaleX(1); }
}
/* ═══ HERO-TITLE ACCENT: в палитре сайта + появление по буквам ═══ */
.hero-title .accent {
    color: var(--primary, #D97706);
    display: inline-block;
    text-shadow: 0 0 30px rgba(217, 119, 6, 0.25);
}

/* Когда JS разбил на буквы — включаем анимацию */
.hero-title .accent.js-letters .letter {
    display: inline-block;
    opacity: 0;
    transform: translateY(32px) scale(0.92);
    filter: blur(4px);
    transition:
        opacity 0.7s ease,
        transform 0.9s cubic-bezier(0.16, 1, 0.3, 1),
        filter 0.7s ease;
    will-change: opacity, transform, filter;
}
.hero-title.revealed .accent.js-letters .letter {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
}

/* Если пользователь отключил анимации — показываем сразу */
@media (prefers-reduced-motion: reduce) {
    .hero-title .accent { text-shadow: none; }
    .hero-title .accent.js-letters .letter {
        opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important;
    }
}
@media (max-width: 600px) {
    .hero .hero-title,
    .hero-title { font-size: clamp(24px, 7vw, 32px) !important; }
}
/* ═══ HERO-TITLE SIZE ═══ */
.hero .hero-title,
.hero-title {
    font-size: clamp(28px, 3.6vw, 44px) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 18px !important;
}
@media (max-width: 600px) {
    .hero .hero-title,
    .hero-title { font-size: clamp(24px, 7vw, 32px) !important; }
}
/* ═══ HERO UNIFIED (все внутренние страницы) ═══ */
.page-hero, .calc-hero, .landing-hero, .feat-hero {
    background: linear-gradient(135deg, rgba(217,119,6,0.04) 0%, transparent 60%);
}
.page-hero::after,
.calc-hero::after,
.landing-hero::after,
.feat-hero::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(217,119,6,0.5), transparent);
    pointer-events: none;
}
.breadcrumbs span:last-child {
    color: var(--text);
    font-weight: 500;
}
.breadcrumbs a:hover { color: var(--primary); }

.calc-hero .breadcrumbs.reveal,
.landing-hero .breadcrumbs.reveal,
.feat-hero .breadcrumbs.reveal { transition-delay: 0.1s; }
.calc-hero .page-title.reveal,
.landing-hero .page-title.reveal,
.feat-hero .page-title.reveal { transition-delay: 0.35s; }
.calc-hero .page-subtitle.reveal,
.landing-hero .page-subtitle.reveal,
.feat-hero .page-subtitle.reveal { transition-delay: 0.55s; }

@media (prefers-reduced-motion: reduce) {
    .calc-hero::before, .landing-hero::before, .feat-hero::before { animation: none; }
}

/* ═══ MOBILE-LANDING-FEAT ═══ */
@media (max-width: 900px) {
    /* Лендинги — сетки в 1 колонку */
    .landing-audience { grid-template-columns: 1fr !important; }
    .landing-steps    { grid-template-columns: 1fr !important; }
    .landing-checklist { grid-template-columns: 1fr !important; }
    .landing-price-card .price-features { grid-template-columns: 1fr !important; }
    .landing-price-card { padding: 28px 22px !important; }

    /* Возможности — в 1 колонку */
    .feat-grid { grid-template-columns: 1fr !important; }
    .feat-why  { grid-template-columns: 1fr !important; }

    /* Лендинг-hero: свечение ближе к кадру (на коротком мобильном не улетает) */
    .landing-hero::before,
    .feat-hero::before,
    .calc-hero::before {
        top: -150px !important;
        right: -100px !important;
        width: 400px !important;
        height: 400px !important;
    }
    /* Лендинг-hero: гарантируем фирменный фон */
    .landing-hero {
        background: linear-gradient(135deg, rgba(217,119,6,0.06) 0%, transparent 60%) !important;
    }
}

@media (max-width: 600px) {
    .landing-hero::before,
    .feat-hero::before,
    .calc-hero::before {
        top: -100px !important;
        right: -80px !important;
        width: 300px !important;
        height: 300px !important;
    }
    .landing-hero .page-title,
    .feat-hero .page-title { font-size: 28px !important; }
    .landing-hero .page-subtitle,
    .feat-hero .page-subtitle { font-size: 15px !important; }
}
/* ═══ FORCE-MOBILE-HERO ═══ */
@media (max-width: 900px) {
    .landing-hero,
    .feat-hero,
    .calc-hero {
        background: linear-gradient(135deg, rgba(217,119,6,0.04) 0%, transparent 60%) !important;
    }
    .landing-hero::before,
    .feat-hero::before,
    .calc-hero::before {
        display: block !important;
        content: '' !important;
        position: absolute !important;
        top: -150px !important;
        right: -100px !important;
        width: 400px !important;
        height: 400px !important;
        background: radial-gradient(circle, rgba(217,119,6,0.12) 0%, transparent 70%) !important;
        pointer-events: none !important;
        animation: floatGlow 10s ease-in-out infinite !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    .landing-hero::after,
    .feat-hero::after,
    .calc-hero::after {
        display: block !important;
        content: '' !important;
        position: absolute !important;
        top: 0 !important; left: 0 !important; right: 0 !important;
        height: 2px !important;
        background: linear-gradient(90deg, transparent, rgba(217,119,6,0.5), transparent) !important;
        pointer-events: none !important;
    }
}
@media (max-width: 600px) {
    .landing-hero::before,
    .feat-hero::before,
    .calc-hero::before {
        top: -100px !important;
        right: -80px !important;
        width: 300px !important;
        height: 300px !important;
    }
}

/* FIX_NO_SHINE — убираем бегающую полосу с кнопки */
.btn-primary::after { display: none !important; }
