:root {
    --site-accent: #7BAA47;
    --site-accent-strong: #6b983c;
    --site-dark: #1f2327;
    --site-soft-border: rgba(255, 255, 255, 0.14);
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
body.js-ready .reveal-up {
    opacity: 0;
    transform: translate3d(0, 26px, 0) scale(0.985);
    transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
    will-change: opacity, transform;
}
body.js-ready .reveal-up.is-visible {
    opacity: 1;
    transform: none;
}
.reveal-delay-1 { transition-delay: 0.08s; }
.reveal-delay-2 { transition-delay: 0.16s; }
.reveal-delay-3 { transition-delay: 0.24s; }

.banner-parallax,
.page-hero,
#section-cta-1,
#section-why,
#section-clients-1 {
    overflow: hidden;
}
.banner-parallax::before,
.page-hero::before,
#section-cta-1::before,
#section-why::before,
#section-clients-1::before,
.banner-parallax::after,
.page-hero::after,
#section-cta-1::after,
#section-why::after,
#section-clients-1::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 1;
}
.banner-parallax::before,
.page-hero::before,
#section-cta-1::before,
#section-why::before,
#section-clients-1::before {
    width: 420px;
    height: 420px;
    top: -140px;
    right: -120px;
    background: radial-gradient(circle, rgba(123, 170, 71, 0.26) 0%, rgba(123, 170, 71, 0.08) 38%, rgba(123, 170, 71, 0) 72%);
    animation: floatGlow 18s ease-in-out infinite;
}
.banner-parallax::after,
.page-hero::after,
#section-cta-1::after,
#section-why::after,
#section-clients-1::after {
    width: 360px;
    height: 360px;
    bottom: -120px;
    left: -100px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.03) 44%, rgba(255, 255, 255, 0) 76%);
    animation: floatGlow 24s ease-in-out infinite reverse;
}
.banner-parallax > *,
.page-hero > *,
#section-cta-1 > *,
#section-why > *,
#section-clients-1 > * {
    position: relative;
    z-index: 2;
}

.btn,
.btn-video,
.main-nav-container a,
.service-card,
.box-service-1,
.feature-card,
.application-card,
.step-card,
.related-card,
.catalog-card,
.preview-card,
.why-panel,
.process-step,
.mission-card,
.value-card,
.client-single,
.hero-trust-card,
.home-proof-card,
.capability-card,
.process-card-home,
.solution-card,
.home-intro-panel,
.home-note-card {
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease, background-color 0.28s ease;
}

.btn.colorful,
.btn.dark,
.btn-video {
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.14);
}
.btn.colorful:hover,
.btn.dark:hover,
.btn-video:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 42px rgba(0, 0, 0, 0.18);
}

.feature-card,
.application-card,
.step-card,
.related-card,
.catalog-card,
.preview-card,
.box-service-1,
.service-card,
.why-panel,
.process-step,
.mission-card,
.value-card,
.client-single,
.home-proof-card,
.capability-card,
.process-card-home,
.solution-card,
.home-intro-panel,
.home-note-card,
.info-card,
.catalog-side-card,
.stat-panel,
.about-visual,
.mini-stat,
.hero-trust-card {
    position: relative;
    overflow: hidden;
}

.feature-card::after,
.application-card::after,
.step-card::after,
.related-card::after,
.catalog-card::after,
.preview-card::after,
.box-service-1::after,
.service-card::after,
.why-panel::after,
.process-step::after,
.mission-card::after,
.value-card::after,
.client-single::after,
.home-proof-card::after,
.capability-card::after,
.process-card-home::after,
.solution-card::after,
.home-intro-panel::after,
.home-note-card::after,
.info-card::after,
.catalog-side-card::after,
.stat-panel::after,
.about-visual::after,
.mini-stat::after,
.hero-trust-card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(120deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.18) 44%, rgba(255,255,255,0) 84%);
    transform: translateX(-110%);
    transition: transform 0.8s ease;
}
.feature-card:hover::after,
.application-card:hover::after,
.step-card:hover::after,
.related-card:hover::after,
.catalog-card:hover::after,
.preview-card:hover::after,
.box-service-1:hover::after,
.service-card:hover::after,
.why-panel:hover::after,
.process-step:hover::after,
.mission-card:hover::after,
.value-card:hover::after,
.client-single:hover::after,
.home-proof-card:hover::after,
.capability-card:hover::after,
.process-card-home:hover::after,
.solution-card:hover::after,
.home-intro-panel:hover::after,
.home-note-card:hover::after,
.info-card:hover::after,
.catalog-side-card:hover::after,
.stat-panel:hover::after,
.about-visual:hover::after,
.mini-stat:hover::after,
.hero-trust-card:hover::after {
    transform: translateX(110%);
}

.eyebrow,
.hero-badge,
.category-pill,
.service-category,
.section-top-chip {
    box-shadow: 0 12px 28px rgba(123, 170, 71, 0.12);
}

@keyframes floatGlow {
    0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
    50% { transform: translate3d(0, 20px, 0) scale(1.06); }
}

@media (prefers-reduced-motion: reduce) {
    .banner-parallax::before,
    .page-hero::before,
    #section-cta-1::before,
    #section-why::before,
    #section-clients-1::before,
    .banner-parallax::after,
    .page-hero::after,
    #section-cta-1::after,
    #section-why::after,
    #section-clients-1::after {
        animation: none;
    }
    body.js-ready .reveal-up {
        transition: none;
        opacity: 1;
        transform: none;
    }
}
