/*
Theme Name: Dornica Child
Theme URI: https://dornica.plus/
Description: Official child theme for Dornica. Designed to safely customize your website without modifying the parent theme. Add custom PHP, CSS, JavaScript, templates, and functionality while preserving compatibility with future Dornica updates. Fully compatible with Elementor Pro and WooCommerce.
Author:  Mehdi Nezamzadeh
Template: dornica
Version: 1.0.0
*/


body {
    cursor: none;
}
#neon-cursor {
    position: fixed;
    width: 7px;
    height: 7px;
    background: #ffffff;
    border-radius: 50%;
    pointer-events: none;
    z-index: 999999;
    transform: translate(-50%, -50%);
    box-shadow:
            0 0 5px #ffffff,
            0 0 12px #19aaff,
            0 0 25px #19aaff;
}
#neon-cursor-glow {
    position: fixed;
    width: 350px;
    height: 350px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 999998;
    transform: translate(-50%, -50%);
    background: radial-gradient(
            circle,
            rgba(25, 170, 255, 0.32) 0%,
            rgba(25, 170, 255, 0.20) 22%,
            rgba(25, 170, 255, 0.11) 42%,
            rgba(25, 170, 255, 0.045) 62%,
            transparent 78%
    );
    filter: blur(8px);
}




.hero-main {
    position: relative;
    overflow: hidden
}
.hero-title, .hero-subtitle, .hero-description, .hero-features, .hero-item {
    opacity: 0;
    filter: blur(12px);
    transition: none
}
.hero-title {
    transform: translateY(45px) scale(.96)
}
.hero-subtitle {
    transform: translateY(35px) scale(.97)
}
.hero-description {
    transform: translateY(25px)
}
.hero-features{
    transform: translateY(55px) scale(.94)
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}
.hero-features > .e-con:nth-child(-n+3) {
    position: relative;
}
.hero-features > .e-con:nth-child(-n+3)::after {
    content: "";
    position: absolute;
    top: 20%;
    left: -20px;
    width: 2px;
    height: 60%;
    background: linear-gradient(
            to bottom,
            transparent,
            #19aaff 25%,
            #7ddcff 50%,
            #19aaff 75%,
            transparent
    );
    box-shadow: 0 0 6px #19aaff,
    0 0 14px rgba(25, 170, 255, 0.8),
    0 0 30px rgba(25, 170, 255, 0.45);
    border-radius: 50%;
    z-index: 20;
}
.hero-item {
    transform: translateY(22px) scale(.92)
}
.hero-main.hero-loaded .hero-title {
    animation: heroTitleIn 1.1s cubic-bezier(.16, 1, .3, 1) .15s forwards
}
.hero-main.hero-loaded .hero-subtitle {
    animation: heroSubtitleIn 1s cubic-bezier(.16, 1, .3, 1) .30s forwards
}
.hero-main.hero-loaded .hero-description {
    animation: heroDescriptionIn .9s cubic-bezier(.16, 1, .3, 1) .45s forwards
}
.hero-main.hero-loaded .hero-features {
    animation: heroFeaturesIn 1s cubic-bezier(.16, 1, .3, 1) .60s forwards
}
.hero-main.hero-loaded .hero-item {
    animation: heroItemIn .75s cubic-bezier(.16, 1, .3, 1) forwards
}
.hero-main.hero-loaded .hero-item:nth-child(1) {
    animation-delay: 1s
}
.hero-main.hero-loaded .hero-item:nth-child(2) {
    animation-delay: 1.15s
}
.hero-main.hero-loaded .hero-item:nth-child(3) {
    animation-delay: 1.30s
}
.hero-main.hero-loaded .hero-item:nth-child(4) {
    animation-delay: 1.45s
}
@keyframes heroTitleIn {
    0% {
        opacity: 0;
        transform: translateY(45px) scale(.96);
        filter: blur(14px)
    }
    70% {
        opacity: 1
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0)
    }
}
@keyframes heroSubtitleIn {
    0% {
        opacity: 0;
        transform: translateY(35px) scale(.97);
        filter: blur(12px)
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0)
    }
}
@keyframes heroDescriptionIn {
    0% {
        opacity: 0;
        transform: translateY(25px);
        filter: blur(10px)
    }
    100% {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0)
    }
}
@keyframes heroFeaturesIn {
    0% {
        opacity: 0;
        transform: translateY(55px) scale(.94);
        filter: blur(14px)
    }
    70% {
        opacity: 1
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0)
    }
}
@keyframes heroItemIn {
    0% {
        opacity: 0;
        transform: translateY(22px) scale(.92);
        filter: blur(8px)
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0)
    }
}
.hero-main:after {
    content: "";
    position: absolute;
    width: 450px;
    height: 450px;
    left: 50%;
    top: 45%;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(0, 170, 255, .1) 0, rgba(0, 120, 255, .04) 35%, transparent 70%);
    pointer-events: none;
    opacity: 0
}
.hero-main.hero-loaded:after {
    animation: heroGlow 3s ease-in-out 1.2s forwards
}
@keyframes heroGlow {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(.7)
    }
    50% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1)
    }
    100% {
        opacity: .65;
        transform: translate(-50%, -50%) scale(1.08)
    }
}
.elementor-editor-active .hero-title,.elementor-editor-active .hero-subtitle,.elementor-editor-active .hero-description,.elementor-editor-active .hero-features,.elementor-editor-active .hero-item{opacity:1!important;transform:none!important;filter:none!important;animation:none!important}



/***************************************/



.platform-section .platform-title, .platform-section .platform-description, .platform-section .platform-card {
    opacity: 0;
    filter: blur(12px);
    transform: translateY(45px) scale(.95)
}
.platform-section.platform-loaded .platform-title {
    animation: ptIn 1s cubic-bezier(.16, 1, .3, 1) .1s forwards
}
.platform-section.platform-loaded .platform-description {
    animation: pdIn .9s cubic-bezier(.16, 1, .3, 1) .25s forwards
}
.platform-section.platform-loaded .card-1 {
    animation: pcIn .85s cubic-bezier(.16, 1, .3, 1) .40s forwards
}
.platform-section.platform-loaded .card-2 {
    animation: pcIn .85s cubic-bezier(.16, 1, .3, 1) .55s forwards
}
.platform-section.platform-loaded .card-3 {
    animation: pcIn .85s cubic-bezier(.16, 1, .3, 1) .70s forwards
}
.platform-section.platform-loaded .card-4 {
    animation: pcIn .85s cubic-bezier(.16, 1, .3, 1) .85s forwards
}
.platform-section.platform-loaded .card-5 {
    animation: pcIn .85s cubic-bezier(.16, 1, .3, 1) 1s forwards
}
@keyframes ptIn {
    0% {
        opacity: 0;
        transform: translateY(40px) scale(.97);
        filter: blur(12px)
    }
    100% {
        opacity: 1;
        transform: none;
        filter: blur(0)
    }
}

@keyframes pdIn {
    0% {
        opacity: 0;
        transform: translateY(25px);
        filter: blur(10px)
    }
    100% {
        opacity: 1;
        transform: none;
        filter: blur(0)
    }
}

@keyframes pcIn {
    0% {
        opacity: 0;
        transform: translateY(45px) scale(.95);
        filter: blur(12px)
    }
    70% {
        opacity: 1
    }
    100% {
        opacity: 1;
        transform: none;
        filter: blur(0)
    }
}
.elementor-editor-active .platform-title,.elementor-editor-active .platform-description,.elementor-editor-active .platform-card{opacity:1!important;transform:none!important;filter:none!important;animation:none!important}



/***************************************/



.connection-section {
    position: relative !important;
}
.connection-lines {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none !important;
    z-index: 1 !important
}
.connection-box, .connection-center {
    z-index: 2
}
.connection-box {
    position: absolute !important;
    transition: transform .45s cubic-bezier(.16, 1, .3, 1), box-shadow .45s ease, filter .45s ease
}
.connection-center {
    position: relative;
    z-index: 3
}
.connection-path {
    fill: none;
    stroke: rgba(100, 160, 255, .35);
    stroke-width: 2;
    stroke-dasharray: 8 9;
    stroke-linecap: round
}
.connection-dot {
    fill: #66d9ff;
    filter: url(#connectionGlow);
    transition: filter .3s ease
}

.connection-section .connection-center {
    opacity: 0;
    transform: scale(.72);
    filter: brightness(.7) blur(5px);
    transition: none
}
.connection-section .connection-box {
    opacity: 0;
    transition: none
}
.connection-section .connection-lines {
    opacity: 0;
    transition: none
}
.connection-section.connection-active .connection-center {
    animation: centerActivate 1.2s cubic-bezier(.16, 1, .3, 1) .1s forwards, centerPulse 3.2s ease-in-out 1.5s infinite
}
.connection-section.connection-active .connection-lines {
    animation: linesActivate 1s ease 1s forwards
}
.connection-section.connection-active .box-1 {
    animation: boxTL 1s cubic-bezier(.16, 1, .3, 1) 1s forwards
}
.connection-section.connection-active .box-2 {
    animation: boxBL 1s cubic-bezier(.16, 1, .3, 1) 1.15s forwards
}
.connection-section.connection-active .box-3 {
    animation: boxTR 1s cubic-bezier(.16, 1, .3, 1) 1.30s forwards
}
.connection-section.connection-active .box-4 {
    animation: boxBR 1s cubic-bezier(.16, 1, .3, 1) 1.45s forwards
}
.connection-section.connection-active .connection-dot {
    animation: dotActivate .7s ease 2.1s both
}
@keyframes centerActivate {
    0% {
        opacity: 0;
        transform: scale(.72);
        filter: brightness(.7) blur(5px)
    }
    55% {
        opacity: 1;
        transform: scale(1.04);
        filter: brightness(1.5) blur(0)
    }
    100% {
        opacity: 1;
        transform: scale(1);
        filter: brightness(1) blur(0)
    }
}
@keyframes centerPulse {
    0%, 100% {
        filter: drop-shadow(0 0 8px rgba(80, 160, 255, .25)) drop-shadow(0 0 18px rgba(120, 60, 255, .18));
        transform: scale(1)
    }
    50% {
        filter: drop-shadow(0 0 18px rgba(80, 180, 255, .55)) drop-shadow(0 0 38px rgba(120, 60, 255, .4));
        transform: scale(1.018)
    }
}
@keyframes linesActivate {
    0% {
        opacity: 0
    }
    40% {
        opacity: .35
    }
    100% {
        opacity: 1
    }
}
@keyframes boxTL {
    0% {
        opacity: 0;
        transform: translate(55px, 35px) scale(.9) rotate(2deg);
        filter: blur(8px)
    }
    70% {
        opacity: 1;
        transform: translate(-4px, -2px) scale(1.02) rotate(0)
    }
    100% {
        opacity: 1;
        transform: none;
        filter: blur(0)
    }
}
@keyframes boxBL {
    0% {
        opacity: 0;
        transform: translate(55px, -35px) scale(.9) rotate(2deg);
        filter: blur(8px)
    }
    70% {
        opacity: 1;
        transform: translate(-4px, 2px) scale(1.02) rotate(0)
    }
    100% {
        opacity: 1;
        transform: none;
        filter: blur(0)
    }
}
@keyframes boxTR {
    0% {
        opacity: 0;
        transform: translate(-55px, 35px) scale(.9) rotate(-2deg);
        filter: blur(8px)
    }
    70% {
        opacity: 1;
        transform: translate(4px, -2px) scale(1.02) rotate(0)
    }
    100% {
        opacity: 1;
        transform: none;
        filter: blur(0)
    }
}
@keyframes boxBR {
    0% {
        opacity: 0;
        transform: translate(-55px, -35px) scale(.9) rotate(-2deg);
        filter: blur(8px)
    }
    70% {
        opacity: 1;
        transform: translate(4px, 2px) scale(1.02) rotate(0)
    }
    100% {
        opacity: 1;
        transform: none;
        filter: blur(0)
    }
}
@keyframes dotActivate {
    0% {
        opacity: 0;
        transform: scale(.3)
    }
    50% {
        opacity: 1;
        transform: scale(1.8)
    }
    100% {
        opacity: 1;
        transform: scale(1)
    }
}
.connection-title, .connection-description {
    opacity: 0;
    filter: blur(12px);
    transform: translateY(20px)
}
.connection-section.connection-active .connection-title {
    animation: connectionTitleIn 1.1s cubic-bezier(.16, 1, .3, 1) .1s forwards
}
.connection-section.connection-active .connection-description {
    animation: connectionDescIn 1s cubic-bezier(.16, 1, .3, 1) .62s forwards
}
@keyframes connectionTitleIn {
    0% {
        opacity: 0;
        filter: blur(14px);
        transform: translateY(18px) scale(.94)
    }
    55% {
        opacity: 1
    }
    100% {
        opacity: 1;
        filter: blur(0);
        transform: translateY(0) scale(1)
    }
}
@keyframes connectionDescIn {
    0% {
        opacity: 0;
        filter: blur(8px);
        transform: translateY(18px)
    }
    100% {
        opacity: 1;
        filter: blur(0);
        transform: translateY(0)
    }
}
{
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation: none !important
}
.elementor-editor-active .connection-title,
.elementor-editor-active .connection-description,
.elementor-editor-active .connection-center,
.elementor-editor-active .connection-box,
.elementor-editor-active .connection-lines {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation: none !important
}
.connection-box:hover {
    transform: translateY(-6px) scale(1.025);
    box-shadow: 0 0 0 1px rgba(80, 180, 255, .3), 0 0 25px rgba(60, 140, 255, .18), 0 15px 35px rgba(0, 0, 0, .25);
    filter: brightness(1.08)
}
.connection-box .elementor-widget-image img, .connection-box img {
    transition: filter .45s ease, transform .45s cubic-bezier(.16, 1, .3, 1)
}
.connection-box:hover img {
    filter: drop-shadow(0 0 12px rgba(70, 180, 255, .45));
    transform: scale(1.035)
}
.connection-dot.connection-fast{
    filter:url(#connectionGlow);
    transform:scale(1.6);
    transform-origin:center
}
.connection-section:has(.connection-box:hover) .connection-path {
    transition: stroke .35s ease
}
.connection-path.connection-active-path {
    stroke: rgba(100, 190, 255, .7);
    filter: drop-shadow(0 0 4px rgba(70, 170, 255, .35))
}




/***************************************/



.question-suggestions {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 100%;
    margin: 35px auto 0;
    direction: rtl;
    font-family: 'IranYekan';
}
.question-item {
    appearance: none;
    border: 1px solid rgba(130, 100, 255, .28);
    background: rgba(35, 25, 70, .55);
    color: rgba(235, 235, 255, .82);
    border-radius: 12px;
    padding: 11px 18px;
    font-family: inherit;
    font-size: 13px;
    line-height: 1.8;
    cursor: pointer;
    transition: all .35s cubic-bezier(.16, 1, .3, 1);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, .12)
}
.question-item:hover {
    color: #fff;
    border-color: rgba(100, 190, 255, .65);
    background: rgba(55, 40, 100, .72);
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(70, 130, 255, .2), 0 0 18px rgba(100, 80, 255, .12)
}
.question-item.active {
    color: #fff;
    border-color: rgba(100, 190, 255, .8);
    background: rgba(60, 45, 115, .8);
    box-shadow: 0 0 20px rgba(70, 160, 255, .22), inset 0 0 15px rgba(100, 80, 255, .08)
}
.question-item:focus {
    outline: none
}
.knowledge-demo .question-text p,
.knowledge-demo .answer-text p{
    min-height:1.8em;
    direction:rtl;
}
.knowledge-demo .question-text,
.knowledge-demo .answer-text{
    position:relative;
}
.knowledge-demo .question-text.typing p::after,
.knowledge-demo .answer-text.typing p::after{
    content:"";
    display:inline-block;
    width:2px;
    height:1em;
    margin-right:5px;
    vertical-align:-2px;
    background:rgba(100,200,255,.9);
    box-shadow:0 0 8px rgba(80,180,255,.8);
    animation:knowledgeCursor .1s ease-in-out infinite;
}
@keyframes knowledgeCursor{
    0%,100%{opacity:.2}
    50%{opacity:1}
}
.knowledge-demo{
    position:relative!important;
    overflow:hidden!important
}
.knowledge-flow-svg{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    pointer-events:none!important;
    z-index:4!important;
    overflow:visible!important
}
.knowledge-flow-path{
    fill:none;
    stroke:rgba(100,170,255,.28);
    stroke-width:1.2;
    stroke-dasharray:5 8;
    vector-effect:non-scaling-stroke
}
.knowledge-flow-path.core-path{
    stroke:rgba(120,190,255,.38);
    stroke-width:1.5
}
.knowledge-flow-path.source-path{
    stroke:rgba(130,120,255,.22);
    stroke-width:1
}
.knowledge-flow-path.answer-path{
    stroke:rgba(100,190,255,.32);
    stroke-width:1.5
}
.knowledge-flow-dot {
    fill: #8fe8ff;
    filter: drop-shadow(0 0 4px rgba(100, 220, 255, .95)) drop-shadow(0 0 10px rgba(80, 120, 255, .8));
}
.knowledge-flow-dot-core {
    fill: #fff
}
.knowledge-core.knowledge-core-pulse {
    animation: knowledgeCorePulse 1.15s cubic-bezier(.45, 0, .25, 1) !important
}
@keyframes knowledgeCorePulse {
    0% {
        transform: scale(1);
        filter: drop-shadow(0 0 8px rgba(80, 160, 255, .25))
    }
    18% {
        transform: scale(1.012);
        filter: drop-shadow(0 0 11px rgba(80, 170, 255, .38))
    }
    42% {
        transform: scale(1.035);
        filter: drop-shadow(0 0 17px rgba(80, 180, 255, .55)) drop-shadow(0 0 24px rgba(110, 80, 255, .22))
    }
    62% {
        transform: scale(1.018);
        filter: drop-shadow(0 0 12px rgba(80, 170, 255, .4))
    }
    100% {
        transform: scale(1);
        filter: drop-shadow(0 0 8px rgba(80, 160, 255, .25))
    }
}
.knowledge-chat {
    width: 360px;
    border: 1px solid rgba(130, 100, 255, .22);
    border-radius: 20px;
    background: rgb(19 12 48);
    backdrop-filter: blur(18px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, .25), inset 0 1px 0 rgba(255, 255, 255, .04);
    overflow: hidden;
    direction: rtl;
    font-family: 'IranYekan';
    z-index: 90;
    position: relative;
}
.chat-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px 18px;
    border-bottom: 1px solid rgba(140, 120, 255, .12);
    background: rgba(255, 255, 255, .015)
}
.chat-logo {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: linear-gradient(135deg, rgba(70, 190, 255, .25), rgba(120, 70, 255, .3));
    border: 1px solid rgba(100, 190, 255, .3);
    color: #9deaff;
    font-size: 15px
}
.chat-title {
    font-size: 13px;
    font-weight: 600;
    color: rgba(245, 245, 255, .9)
}
.chat-status {
    margin-right: auto;
    font-size: 10px;
    color: rgba(150, 230, 255, .75)
}
.chat-status:before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-left: 6px;
    border-radius: 50%;
    background: #78e5ff;
    box-shadow: 0 0 8px rgba(80, 210, 255, .65)
}
.chat-messages {
    padding: 15px 16px 5px;
    min-height: 185px
}
.chat-user {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 14px
}
.chat-user .question-text {
    max-width: 82%;
    padding: 10px 14px;
    border-radius: 15px 15px 4px 15px;
    background: rgba(65, 48, 120, .48);
    border: 1px solid rgba(130, 110, 255, .2);
    color: rgba(245, 245, 255, .9);
    font-size: 12px;
    line-height: 1.9
}
.chat-user .question-text p, .chat-ai .answer-text p {
    margin: 0
}
.chat-ai {
    display: flex;
    gap: 9px;
    align-items: flex-start
}
.ai-avatar {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: linear-gradient(135deg, rgba(70, 190, 255, .22), rgba(120, 70, 255, .28));
    border: 1px solid rgba(100, 190, 255, .28);
    color: #9deaff;
    font-size: 13px;
    box-shadow: 0 0 14px rgba(80, 140, 255, .12)
}
.chat-ai .answer-text {
    flex: 1;
    padding: 11px 14px;
    border-radius: 15px 15px 15px 4px;
    background: rgba(30, 25, 65, .65);
    border: 1px solid rgba(90, 170, 255, .15);
    color: rgba(225, 230, 245, .78);
    font-size: 11.5px;
    line-height: 2
}
.chat-input {
    height: 42px;
    margin: 10px 13px 13px;
    display: flex;
    align-items: center;
    padding: 0 12px;
    border: 1px solid rgba(130, 110, 255, .18);
    border-radius: 13px;
    background: rgba(5, 3, 20, .35);
    color: rgba(180, 180, 205, .4);
    font-size: 11px
}
.input-send {
    margin-right: auto;
    width: 27px;
    height: 27px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(80, 150, 255, .12);
    border: 1px solid rgba(90, 170, 255, .2);
    color: rgba(140, 220, 255, .8);
    font-size: 12px
}
.knowledge-demo .knowledge-title, .knowledge-demo .knowledge-description, .knowledge-demo .data-sources, .knowledge-demo .knowledge-core, .knowledge-demo .knowledge-chat, .knowledge-demo .question-suggestions {
    opacity: 0
}
.knowledge-demo .knowledge-core {
    opacity: 1 !important;
}
.knowledge-demo.knowledge-loaded .knowledge-title {
    animation: kdTitleIn 1s cubic-bezier(.16, 1, .3, 1) forwards
}
.knowledge-demo.knowledge-loaded .knowledge-description {
    animation: kdDescIn .9s cubic-bezier(.16, 1, .3, 1) .12s forwards
}
.knowledge-demo.knowledge-loaded .data-sources {
    animation: kdSourcesIn 1s cubic-bezier(.16, 1, .3, 1) .28s forwards
}
.knowledge-demo.knowledge-loaded .knowledge-core {
    animation: kdCoreIn 1.25s cubic-bezier(.16, 1, .3, 1) .32s forwards
}
.knowledge-demo.knowledge-loaded .knowledge-chat {
    animation: kdChatIn 1s cubic-bezier(.16, 1, .3, 1) .35s forwards
}
.knowledge-demo.knowledge-loaded .question-suggestions {
    animation: kdQuestionsIn 1s cubic-bezier(.16, 1, .3, 1) .75s forwards
}
.knowledge-demo.knowledge-loaded .knowledge-flow-svg {
    animation: kdFlowIn 1.2s ease 1s forwards
}
.knowledge-demo.knowledge-loaded .knowledge-flow-path {
    animation: kdPathIn 1.3s ease 1s both
}
@keyframes kdTitleIn {
    0% {
        opacity: 0;
        transform: translateY(28px);
        filter: blur(8px)
    }
    60% {
        opacity: 1;
        transform: translateY(-3px);
        filter: blur(0)
    }
    100% {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0)
    }
}
@keyframes kdDescIn {
    0% {
        opacity: 0;
        transform: translateY(18px);
        filter: blur(6px)
    }
    100% {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0)
    }
}
@keyframes kdSourcesIn {
    0% {
        opacity: 0;
        transform: translateX(-55px) scale(.96);
        filter: blur(7px)
    }
    65% {
        opacity: 1;
        transform: translateX(5px) scale(1.01);
        filter: blur(0)
    }
    100% {
        opacity: 1;
        transform: translateX(0) scale(1);
        filter: blur(0)
    }
}
@keyframes kdCoreIn {
    0% {
        transform: scale(.72);
        filter: blur(10px) brightness(.65)
    }
    45% {
        transform: scale(1.045);
        filter: blur(0) brightness(1.12)
    }
    68% {
        transform: scale(.985);
        filter: brightness(1.04)
    }
    100% {
        transform: scale(1);
        filter: brightness(1)
    }
}
@keyframes kdChatIn {
    0% {
        opacity: 0;
        transform: translateX(55px) scale(.96);
        filter: blur(7px)
    }
    65% {
        opacity: 1;
        transform: translateX(-4px) scale(1.01);
        filter: blur(0)
    }
    100% {
        opacity: 1;
        transform: translateX(0) scale(1);
        filter: blur(0)
    }
}
@keyframes kdQuestionsIn {
    0% {
        opacity: 0;
        transform: translateY(28px);
        filter: blur(5px)
    }
    65% {
        opacity: 1;
        transform: translateY(-3px);
        filter: blur(0)
    }
    100% {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0)
    }
}
@keyframes kdFlowIn {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}
@keyframes kdPathIn {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}
@keyframes kdSourcesMobile {
    0% {
        opacity: 0;
        transform: translateX(-30px) scale(.97);
        filter: blur(5px)
    }
    100% {
        opacity: 1;
        transform: none;
        filter: blur(0)
    }
}
@keyframes kdChatMobile {
    0% {
        opacity: 0;
        transform: translateX(30px) scale(.97);
        filter: blur(5px)
    }
    100% {
        opacity: 1;
        transform: none;
        filter: blur(0)
    }
}




/***************************************/





.catalog-box {
    position: relative !important;
    box-sizing: border-box !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    isolation: isolate !important
}

.catalog-box:before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: inherit !important;
    background: radial-gradient(circle at 18% 50%, rgba(70, 170, 255, .07), transparent 32%), radial-gradient(circle at 82% 50%, rgba(120, 70, 255, .08), transparent 32%) !important;
    pointer-events: none !important;
    z-index: -1 !important
}

.catalog-box:after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 12% !important;
    width: 76% !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(110, 200, 255, .35), rgba(130, 90, 255, .35), transparent) !important;
    opacity: .7 !important;
    pointer-events: none !important
}
.catalog-icon {
    position: relative !important;
    width: 46px !important;
    height: 46px !important;
    margin-bottom: 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(100, 190, 255, .28) !important;
    border-radius: 13px !important;
    background: linear-gradient(135deg, rgba(70, 190, 255, .14), rgba(120, 70, 255, .2)) !important;
    box-shadow: 0 0 25px rgba(70, 150, 255, .12), inset 0 0 15px rgba(100, 80, 255, .08) !important;
    z-index: 2 !important
}
.catalog-icon:before {
    content: "" !important;
    position: absolute !important;
    inset: -6px !important;
    border: 1px solid rgba(100, 180, 255, .08) !important;
    border-radius: 16px !important
}
.catalog-icon .elementor-icon {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #9deaff !important
}
.catalog-icon .elementor-icon svg {
    width: 21px !important;
    height: 21px !important;
    fill: currentColor !important;
    filter: drop-shadow(0 0 7px rgba(100, 210, 255, .55)) !important
}
.catalog-download .elementor-button {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 155px !important;
    min-height: 46px !important;
    padding: 0 22px !important;
    border: 1px solid rgba(100, 190, 255, .3) !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, rgba(60, 150, 255, .16), rgba(110, 70, 255, .2)) !important;
    color: rgba(245, 250, 255, .92) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    box-shadow: 0 8px 25px rgba(40, 100, 255, .1), inset 0 1px 0 rgba(255, 255, 255, .05) !important;
    transition: transform .4s cubic-bezier(.16, 1, .3, 1), box-shadow .4s ease, border-color .4s ease, background .4s ease !important;
    overflow: hidden !important
}
.catalog-download .elementor-button-content-wrapper {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important
}
.catalog-download .elementor-button-text {
    position: relative !important;
    z-index: 2 !important
}
.catalog-download .elementor-button:before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: -120% !important;
    width: 70% !important;
    height: 100% !important;
    background: linear-gradient(100deg, transparent, rgba(150, 230, 255, .15), transparent) !important;
    transform: skewX(-20deg) !important;
    transition: left .7s ease !important;
    pointer-events: none !important
}
.catalog-download .elementor-button:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(100, 200, 255, .6) !important;
    background: linear-gradient(135deg, rgba(65, 160, 255, .24), rgba(115, 70, 255, .28)) !important;
    box-shadow: 0 12px 32px rgba(40, 120, 255, .18), 0 0 22px rgba(90, 150, 255, .12) !important
}
.catalog-download .elementor-button:hover:before {
    left: 140% !important
}
.catalog-download .elementor-button:focus {
    outline: none !important
}
.catalog-download .elementor-button:active {
    transform: translateY(-1px) scale(.99) !important
}
.catalog-paper {
    transition: transform .7s cubic-bezier(.16, 1, .3, 1), filter .7s ease !important;
    transform: translateY(0) scale(1) !important;
    filter: drop-shadow(0 15px 35px rgba(40, 80, 255, .15)) !important
}
.catalog-box:hover .catalog-paper {
    transform: translateY(-8px) scale(1.02) !important;
    filter: drop-shadow(0 25px 45px rgba(50, 130, 255, .28)) drop-shadow(0 0 30px rgba(110, 70, 255, .2)) !important
}
.catalog-icon,.catalog-title,.catalog-description,.catalog-meta,.catalog-download,.catalog-document{opacity:1}
.catalog-section.catalog-animate .catalog-icon{animation:catalogFadeUp .7s cubic-bezier(.16,1,.3,1) .15s both}
.catalog-section.catalog-animate .catalog-title{animation:catalogFadeUp .75s cubic-bezier(.16,1,.3,1) .25s both}
.catalog-section.catalog-animate .catalog-description{animation:catalogFadeUp .8s cubic-bezier(.16,1,.3,1) .35s both}
.catalog-section.catalog-animate .catalog-version{animation:catalogFadeUp .7s cubic-bezier(.16,1,.3,1) .45s both}
.catalog-section.catalog-animate .catalog-download{animation:catalogFadeUp .75s cubic-bezier(.16,1,.3,1) .58s both}
.catalog-section.catalog-animate .catalog-document{
    animation:catalogDocumentIn 1.1s cubic-bezier(.16,1,.3,1) .05s both;
}

@keyframes catalogFadeUp{
    0%{opacity:0;transform:translateY(22px);filter:blur(5px)}
    100%{opacity:1;transform:translateY(0);filter:blur(0)}
}
@keyframes catalogDocumentIn{
    0%{opacity:0;transform:translateX(-55px) scale(.9);filter:blur(10px) brightness(.7)}
    55%{opacity:1;transform:translateX(8px) scale(1.025);filter:blur(0) brightness(1.12)}
    75%{transform:translateX(-3px) scale(1.01);filter:brightness(1.04)}
    100%{opacity:1;transform:translateX(0) scale(1);filter:brightness(1)}
}
@keyframes catalogDocumentMobileIn{
    0%{opacity:0;transform:translateY(25px) scale(.95);filter:blur(7px)}
    60%{opacity:1;transform:translateY(-4px) scale(1.01);filter:blur(0)}
    100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}

.articles-section .article-card{
    transition: transform .7s cubic-bezier(.22,1,.36,1), border-color .45s ease, box-shadow .7s cubic-bezier(.22,1,.36,1), background .45s ease!important;
    will-change:transform!important;
}
.articles-section .article-card:before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    border-radius:inherit!important;
    background:radial-gradient(circle at 50% 115%,rgba(60,150,255,.16),transparent 48%)!important;
    opacity:0!important;
    transition:opacity .6s ease!important;
    pointer-events:none!important;
    z-index:0!important;
}
.articles-section .article-card:hover{
    transform:translate3d(0,-7px,0)!important;
    border-color:rgba(100,180,255,.52)!important;
    background:rgba(24,17,60,.78)!important;
    box-shadow: 0 18px 45px rgba(0,0,0,.28), 0 0 28px rgba(70,130,255,.16), 0 0 55px rgba(100,70,255,.08)!important;
}
.articles-section .article-card:hover:before{
    opacity:1!important;
}
.articles-section .article-card>.e-con-inner{
    position:relative!important;
    z-index:1!important;
}
.articles-section .article-image{
    overflow:hidden!important;
    border-radius:15px!important;
}
.articles-section .article-image img{
    display:block!important;
    width:100%!important;
    transition:transform .8s cubic-bezier(.16,1,.3,1),filter .7s ease!important;
}
.articles-section .article-card:hover .article-image img{
    transform:scale(1.045)!important;
    filter:brightness(1.08)!important;
}
.header-cta .elementor-button{
    transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s ease,filter .5s ease!important;
}
.header-cta .elementor-button:hover{
    transform:translateY(-3px)!important;
    filter:brightness(1.08)!important;
    box-shadow:0 12px 30px rgba(70,130,255,.25),0 0 24px rgba(100,80,255,.14)!important;
}
.consult-form .gform_wrapper .gform_fields{
    row-gap: 20px !important;
}
.consult-form .gform_wrapper input[type="text"],
.consult-form .gform_wrapper input[type="tel"],
.consult-form .gform_wrapper input[type="email"],
.consult-form .gform_wrapper textarea,
.consult-form .gform_wrapper select{
    width: 100%!important;
    height: 48px!important;
    padding: 0 15px!important;
    border: 1px solid rgba(130,110,255,.22)!important;
    border-radius: 12px!important;
    background: rgba(10,7,30,.55)!important;
    color: #fff!important;
    font-family: 'IranYekan';
    font-size: 13px!important;
    outline: none!important;
    box-shadow: inset 0 0 15px rgba(80,60,180,.04)!important;
    transition: border-color .35s ease,box-shadow .35s ease,background .35s ease!important;
    text-align: right;
    direction: rtl;
}
.consult-form .gform_wrapper input:focus,
.consult-form .gform_wrapper textarea:focus,
.consult-form .gform_wrapper select:focus{
    border-color:rgba(90,190,255,.65)!important;
    background:rgba(15,10,42,.75)!important;
    box-shadow:0 0 0 3px rgba(70,160,255,.07),0 0 22px rgba(70,130,255,.12),inset 0 0 15px rgba(80,60,180,.06)!important;
}
.consult-form .gform_wrapper input::placeholder,
.consult-form .gform_wrapper textarea::placeholder{
    color:rgba(220,215,245,.48)!important;
    opacity:1!important;
}
.consult-form .gform_wrapper .gform_footer{
    margin-top:8px!important;
    padding:0!important;
}
.consult-form .gform_wrapper input[type="submit"]{
    width: 100%!important;
    height: 48px!important;
    margin: 0!important;
    padding: 0 20px!important;
    border: 1px solid rgba(110,190,255,.32)!important;
    border-radius: 12px!important;
    background: linear-gradient(135deg,#438CFF,#7655FF)!important;
    color: #fff!important;
    font-family: 'IranYekan' !important;
    font-size: 13px!important;
    font-weight: 500!important;
    cursor: pointer!important;
    box-shadow: 0 8px 25px rgba(70,100,255,.16)!important;
    transition: transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s ease,filter .45s ease!important;
    margin: 11px 0 0 0 !important;
}

.consult-form .gform_wrapper input[type="submit"]:hover{
    transform:translateY(-2px)!important;
    filter:brightness(1.08)!important;
    box-shadow:0 12px 32px rgba(70,130,255,.25),0 0 25px rgba(100,80,255,.14)!important;
}

.consult-header .dialog-widget-content{
    overflow:hidden!important;
    isolation:isolate!important;
    background:linear-gradient(145deg,rgba(25,16,60,.97),rgba(14,8,40,.98))!important;
    border:1px solid rgba(120,100,255,.25)!important;
    box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 50px rgba(80,80,255,.12),inset 0 0 40px rgba(100,80,255,.04)!important;
}
.consult-header .dialog-widget-content:before{
    content:""!important;
    position:absolute!important;
    width:280px!important;
    height:280px!important;
    top:-170px!important;
    left:-110px!important;
    border-radius:50%!important;
    background:radial-gradient(circle,rgba(70,170,255,.16) 0%,rgba(70,170,255,0) 70%)!important;
    filter:blur(12px)!important;
    pointer-events:none!important;
    z-index:0!important;
}
.consult-header .dialog-widget-content:after{
    content:""!important;
    position:absolute!important;
    width:250px!important;
    height:250px!important;
    bottom:-160px!important;
    right:-110px!important;
    border-radius:50%!important;
    background:radial-gradient(circle,rgba(120,60,255,.14) 0%,rgba(120,60,255,0) 70%)!important;
    filter:blur(15px)!important;
    pointer-events:none!important;
    z-index:0!important;
}
.consult-header .dialog-close-button{
    top:18px!important;
    right:18px!important;
    width:38px!important;
    height:38px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid rgba(130,110,255,.22)!important;
    border-radius:11px!important;
    background:rgba(20,12,50,.65)!important;
    color:rgba(225,225,255,.7)!important;
    opacity:1!important;
    transition:all .4s cubic-bezier(.16,1,.3,1)!important;
}

.consult-header .dialog-close-button svg{
    width:16px!important;
    height:16px!important;
    fill:currentColor!important;
    transition:transform .4s cubic-bezier(.16,1,.3,1)!important;
}

.consult-header .dialog-close-button:hover{
    color:#fff!important;
    background:rgba(55,40,100,.85)!important;
    border-color:rgba(100,190,255,.55)!important;
    box-shadow:0 0 20px rgba(70,150,255,.18)!important;
    transform:scale(1.04)!important;
}

.consult-header .dialog-close-button:hover svg{
    transform:rotate(90deg)!important;
}
.consult-header{
    background:rgba(5,2,20,.68)!important;
    backdrop-filter:blur(7px)!important;
    -webkit-backdrop-filter:blur(7px)!important;
}

.consult-header .dialog-widget-content{
    background: #06021ee0 !important;
}
.consult-form .gform_confirmation_message{
    position:relative!important;
    margin:10px 0 0!important;
    padding:28px 24px!important;
    border:1px solid rgba(100,190,255,.22)!important;
    border-radius:16px!important;
    background:linear-gradient(145deg,rgba(35,30,80,.62),rgba(18,12,48,.72))!important;
    color:rgba(240,240,255,.9)!important;
    font-family: 'IranYekan' !important;
    font-size:14px!important;
    font-weight:400!important;
    line-height:2.1!important;
    text-align:center!important;
    box-shadow:0 10px 35px rgba(0,0,0,.18),inset 0 0 25px rgba(80,100,255,.04)!important;
    animation:confirmationIn .65s cubic-bezier(.16,1,.3,1) both!important;
}
.consult-form .gform_confirmation_message:before{
    content:"✓"!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    height:42px!important;
    margin:0 auto 14px!important;
    border:1px solid rgba(100,210,255,.35)!important;
    border-radius:50%!important;
    background:rgba(60,150,255,.1)!important;
    color:#8fe8ff!important;
    font-size:20px!important;
    font-weight:400!important;
    box-shadow:0 0 22px rgba(70,180,255,.15)!important;
}

@keyframes confirmationIn{
    0%{
        opacity:0;
        transform:translateY(12px) scale(.97);
        filter:blur(5px);
    }
    100%{
        opacity:1;
        transform:translateY(0) scale(1);
        filter:blur(0);
    }
}

/***************************************/

.footer-logo img{
    filter:drop-shadow(0 0 14px rgba(80,140,255,.12))!important;
    transition:filter .5s ease,transform .5s cubic-bezier(.16,1,.3,1)!important;
}
.footer-logo:hover img{
    filter:drop-shadow(0 0 20px rgba(80,160,255,.22))!important;
    transform:translateY(-2px)!important;
}
.footer-description p{
    color:rgba(210,207,235,.62)!important;
}
.footer-description strong{
    color:rgba(235,233,255,.88)!important;
    font-weight:600!important;
}
.footer-social .elementor-social-icons-wrapper{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:8px!important;
}
.footer-social .elementor-grid-item{
    display:flex!important;
}
.footer-social .elementor-social-icon{
    width:44px!important;
    height:44px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid rgba(130,110,255,.2)!important;
    border-radius:12px!important;
    background:rgba(20,14,52,.55)!important;
    color:rgba(225,225,255,.72)!important;
    box-shadow:0 5px 18px rgba(0,0,0,.14),inset 0 0 15px rgba(100,80,255,.04)!important;
    transition:transform .45s cubic-bezier(.16,1,.3,1),color .35s ease,border-color .35s ease,background .35s ease,box-shadow .45s ease!important;
}
.footer-social .elementor-social-icon svg{
    width:17px!important;
    height:17px!important;
    fill:currentColor!important;
    transition:transform .4s cubic-bezier(.16,1,.3,1)!important;
}
.footer-social .elementor-social-icon:hover{
    transform:translateY(-4px)!important;
    color:#fff!important;
    background:rgba(40,30,85,.75)!important;
    border-color:rgba(100,190,255,.42)!important;
    box-shadow:0 10px 28px rgba(0,0,0,.2),0 0 20px rgba(70,150,255,.13)!important;
}
.footer-social .elementor-social-icon:hover svg{
    transform:scale(1.08)!important;
}
.footer-copyright{
    width:100%!important;
    text-align:center!important;
    padding-top:20px!important;
    margin-top:4px!important;
    border-top:1px solid rgba(130,110,255,.08)!important;
}
.footer-copyright p{
    margin:0!important;
    color:rgba(205,202,230,.38)!important;
    font-size:11px!important;
    line-height:1.8!important;
}
.footer-contact .elementor-icon-list-item a{
    transition:color .35s ease,text-shadow .35s ease!important;
}
.footer-contact .elementor-icon-list-icon svg{
    fill:#78cfff!important;
    color:#78cfff!important;
    filter:drop-shadow(0 0 6px rgba(70,180,255,.25))!important;
    transition:transform .35s ease,filter .35s ease!important;
}
.footer-contact .elementor-icon-list-item:hover a{
    color:#fff!important;
    text-shadow:0 0 14px rgba(100,190,255,.3)!important;
}
.footer-contact .elementor-icon-list-item:hover svg{
    transform:scale(1.08)!important;
    filter:drop-shadow(0 0 10px rgba(70,190,255,.45))!important;
}

/***************************************/

.ai-need-panel{
    position:relative!important;
    overflow:hidden!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
}
.ai-need-panel:before{
    content: ""!important;
    position: absolute!important;
    width: 360px!important;
    height: 360px!important;
    top: -220px!important;
    right: -120px!important;
    background: radial-gradient(
            circle,
            rgba(60,150,255,.12),
            transparent 68%
    )!important;
    pointer-events: none!important;
    z-index: 0!important;
    border: none;
}
.ai-need-panel:after{
    content:""!important;
    position:absolute!important;
    width:320px!important;
    height:320px!important;
    bottom:-220px!important;
    left:-120px!important;
    background:radial-gradient(
            circle,
            rgba(120,60,255,.10),
            transparent 68%
    )!important;
    pointer-events:none!important;
    z-index:0!important;
}
.ai-need-panel>*{
    position:relative!important;
    z-index:1!important;
}
.ai-need-panel-title{
    position:relative!important;
}
.ai-need-panel-title .elementor-heading-title{
    text-shadow:0 0 18px rgba(100,170,255,.10)!important;
}
.problem-list{
    width:100%!important;
}
.problem-list .elementor-icon-list-items{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    gap:0 28px!important;
}
.problem-list .elementor-icon-list-item{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    margin:0!important;
    padding:20px 12px!important;
    border-bottom:1px solid rgba(130,110,255,.08)!important;
    transition:background .4s ease,transform .4s cubic-bezier(.16,1,.3,1)!important;
}
.problem-list .elementor-icon-list-item:hover{
    background:rgba(70,60,130,.08)!important;
    transform:translateY(-2px)!important;
}
.problem-list .elementor-icon-list-icon{
    flex:0 0 auto!important;
    transition:transform .35s ease,filter .35s ease!important;
}
.problem-list .elementor-icon-list-icon svg{
    width:5px!important;
    height:5px!important;
    fill:#78cfff!important;
    color:#78cfff!important;
    filter:drop-shadow(0 0 6px rgba(80,190,255,.55))!important;
}
.problem-list .elementor-icon-list-item:hover .elementor-icon-list-icon{
    transform:scale(1.45)!important;
    filter:drop-shadow(0 0 5px rgba(80,190,255,.7))!important;
}
.problem-list .elementor-icon-list-text{
    flex:1!important;
    transition:color .35s ease,text-shadow .35s ease!important;
}
.problem-list .elementor-icon-list-item:hover .elementor-icon-list-text{
    color:#fff!important;
    text-shadow:0 0 12px rgba(100,170,255,.16)!important;
}
.problem-list .elementor-icon-list-item:nth-child(-n+3){
    border-top:0!important;
}
.problem-list .elementor-icon-list-item:nth-child(n+4){
    border-bottom:0!important;
}
.ai-need-conclusion{
    position: relative !important;
    border-top: 1px solid rgba(130, 110, 255, .10) !important;
    padding: 25px 0 0 0;
}
.ai-need-conclusion:before{
    content:""!important;
    position:absolute!important;
    top:-1px!important;
    left:50%!important;
    width:120px!important;
    height:1px!important;
    transform:translateX(-50%)!important;
    background:linear-gradient(
            90deg,
            transparent,
            rgba(100,190,255,.35),
            transparent
    )!important;
    pointer-events:none!important;
}
.ai-need-conclusion p{
    margin:0!important;
}
.ai-need-conclusion strong{
    color:rgba(235,233,255,.92)!important;
    font-weight:500!important;
}
.ai-assistant-card {
    position: relative !important;
    overflow: hidden !important;
    transition: transform .55s cubic-bezier(.16, 1, .3, 1), border-color .45s ease, box-shadow .55s ease, background .45s ease !important
}
.ai-assistant-card:before {
    content: "" !important;
    position: absolute !important;
    width: 220px !important;
    height: 220px !important;
    top: -120px !important;
    right: -80px !important;
    background: radial-gradient(circle, rgba(70, 150, 255, .08), transparent 70%) !important;
    pointer-events: none !important;
    z-index: 0 !important;
    border: none;
}
.ai-assistant-card > * {
    position: relative !important;
    z-index: 1 !important
}
.ai-assistant-icon {
    flex: 0 0 68px !important;
    width: 68px !important;
    height: 68px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(100, 170, 255, .28) !important;
    border-radius: 16px !important;
    background: linear-gradient(145deg, rgba(50, 80, 160, .18), rgba(35, 25, 90, .28)) !important;
    box-shadow: inset 0 0 18px rgba(80, 100, 255, .06), 0 8px 25px rgba(0, 0, 0, .16) !important;
    transition: transform .5s cubic-bezier(.16, 1, .3, 1), border-color .45s ease, box-shadow .5s ease, background .45s ease !important
}
.ai-assistant-icon svg {
    width: 32px !important;
    height: 32px !important;
    fill: currentColor !important;
    color: #69B8FF !important;
    filter: drop-shadow(0 0 6px rgba(70, 180, 255, .45)) drop-shadow(0 0 14px rgba(90, 90, 255, .18)) !important;
    transition: transform .45s cubic-bezier(.16, 1, .3, 1), filter .45s ease, color .35s ease !important
}
.ai-assistant-card:hover {
    transform: translateY(-5px) !important;
    border-color: rgba(100, 180, 255, .42) !important;
    background: rgba(24, 17, 60, .82) !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .24), 0 0 28px rgba(70, 130, 255, .12) !important
}
.ai-assistant-card:hover .ai-assistant-icon {
    transform: translateY(-2px) scale(1.035) !important;
    border-color: rgba(100, 190, 255, .5) !important;
    background: linear-gradient(145deg, rgba(60, 100, 190, .22), rgba(45, 30, 105, .34)) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .2), 0 0 22px rgba(70, 160, 255, .16), inset 0 0 20px rgba(80, 120, 255, .08) !important
}
.ai-assistant-card:hover .ai-assistant-icon svg {
    transform: scale(1.08) !important;
    color: #82D5FF !important;
    filter: drop-shadow(0 0 8px rgba(70, 190, 255, .65)) drop-shadow(0 0 18px rgba(100, 100, 255, .25)) !important
}

/***************************************/

.deployment-card {
    position: relative !important
}
.deployment-card:hover {
    transform: translateY(-7px) !important;
    border-color: rgba(110, 195, 255, .62) !important;
    background: rgba(24, 17, 60, .88) !important;
    box-shadow: 0 20px 48px rgba(0, 0, 0, .3), 0 0 34px rgba(70, 145, 255, .18), 0 0 60px rgba(100, 70, 255, .07) !important
}
.deployment-card:hover .deployment-image img {
    transform: translateY(-4px) scale(1.035) !important;
    filter: drop-shadow(0 0 18px rgba(80, 160, 255, .28)) !important
}
.deployment-status-wrap {
    position: absolute !important;
    top: 36px !important;
    right: 18px !important;
    width: 12px !important;
    height: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 5 !important
}
.deployment-status {
    display: block !important;
    width: 8px !important;
    height: 8px !important;
    margin: 2px !important;
    border: 1px solid rgba(130, 180, 255, .45) !important;
    border-radius: 50% !important;
    background: rgba(90, 150, 255, .18) !important;
    box-shadow: 0 0 4px rgba(70, 150, 255, .12) !important;
    transition: background .45s ease, border-color .45s ease, box-shadow .45s ease, transform .45s ease !important
}
.deployment-card:hover .deployment-status{
    background:#9beaff!important;
    border-color:rgba(190,240,255,1)!important;
    transform:scale(1.35)!important;
    box-shadow:0 0 8px rgba(130,220,255,1),0 0 20px rgba(80,190,255,.9),0 0 36px rgba(100,80,255,.55),0 0 55px rgba(80,120,255,.22)!important;
    animation:deploymentStatusHoverPulse 1.2s ease-in-out infinite!important;
}
@keyframes deploymentStatusHoverPulse{
    0%,100%{
        opacity:.7;
        box-shadow:0 0 7px rgba(120,215,255,.9),0 0 18px rgba(70,180,255,.75),0 0 32px rgba(100,80,255,.4);
    }
    50%{
        opacity:1;
        box-shadow:0 0 11px rgba(150,230,255,1),0 0 27px rgba(70,190,255,1),0 0 45px rgba(100,80,255,.65),0 0 65px rgba(80,120,255,.28);
    }
}
.deployment-card.deployment-hybrid{
    border-color:rgba(90,170,255,.42)!important;
    background:linear-gradient(145deg,rgba(25,25,72,.92),rgba(18,13,52,.94))!important;
    box-shadow:0 0 28px rgba(70,130,255,.12),inset 0 0 25px rgba(80,100,255,.04)!important;
}
.deployment-card.deployment-hybrid:after{
    content:""!important;
    position:absolute!important;
    top:0!important;
    left:18%!important;
    width:64%!important;
    height:1px!important;
    background:linear-gradient(90deg,transparent,rgba(100,200,255,.75),transparent)!important;
    box-shadow:0 0 12px rgba(80,180,255,.55)!important;
    pointer-events:none!important;
    z-index:2!important;
}
.deployment-card.deployment-hybrid .deployment-status {
    background: #8fe8ff !important;
    border-color: rgba(170, 235, 255, .95) !important;
    box-shadow: 0 0 7px rgba(100, 210, 255, .95), 0 0 18px rgba(70, 170, 255, .7), 0 0 30px rgba(100, 80, 255, .35) !important;
    animation: deploymentHybridPulse 1.8s ease-in-out infinite !important
}
@keyframes deploymentHybridPulse {
    0%, 100% {
        opacity: .72;
        transform: scale(1);
        box-shadow: 0 0 6px rgba(100, 210, 255, .8), 0 0 16px rgba(70, 170, 255, .55), 0 0 26px rgba(100, 80, 255, .25)
    }
    50% {
        opacity: 1;
        transform: scale(1.3);
        box-shadow: 0 0 9px rgba(140, 225, 255, 1), 0 0 22px rgba(70, 180, 255, .85), 0 0 38px rgba(100, 80, 255, .42)
    }
}
.deployment-card.deployment-hybrid:hover {
    transform: translateY(-8px) !important;
    border-color: rgba(110, 200, 255, .78) !important;
    background: linear-gradient(145deg, rgba(30, 30, 82, .96), rgba(19, 13, 56, .96)) !important;
    box-shadow: 0 22px 55px rgba(0, 0, 0, .32), 0 0 42px rgba(70, 160, 255, .24), 0 0 75px rgba(100, 70, 255, .1), inset 0 0 32px rgba(80, 120, 255, .08) !important
}
.ai-deployment-icon {
    width: 38px !important;
    height: 38px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(100, 170, 255, .28) !important;
    border-radius: 9px !important;
    background: linear-gradient(145deg, rgba(50, 80, 160, .18), rgba(35, 25, 90, .28)) !important;
    box-shadow: inset 0 0 18px rgba(80, 100, 255, .06), 0 8px 25px rgba(0, 0, 0, .16) !important;
    transition: transform .5s cubic-bezier(.16, 1, .3, 1), border-color .45s ease, box-shadow .5s ease, background .45s ease !important;
}
.ai-deployment-icon svg {
    width: 18px !important;
    height: 18px !important;
    fill: currentColor !important;
    color: #69B8FF !important;
    filter: drop-shadow(0 0 6px rgba(70, 180, 255, .45)) drop-shadow(0 0 14px rgba(90, 90, 255, .18)) !important;
    transition: transform .45s cubic-bezier(.16, 1, .3, 1), filter .45s ease, color .35s ease !important;
}

/***************************************/

.video-3d {
    position: relative !important;
    perspective: 1400px !important;
    overflow: visible !important
}
.video-3d .elementor-widget-video {
    position: relative !important;
    z-index: 3 !important;
    transform: rotateY(23deg) rotateX(14deg) rotateZ(2deg) !important;
    transform-origin: center center !important;
    transition: transform .8s cubic-bezier(.22, 1, .36, 1), filter .8s ease !important;
    filter: drop-shadow(0 25px 35px rgba(0, 0, 0, .38)) !important;
}
.video-3d .elementor-widget-video .e-hosted-video {
    position: relative !important;
    z-index: 3 !important;
    overflow: visible !important;
    border-radius: 18px !important
}
.video-3d .elementor-widget-video .e-hosted-video:before {
    content: "" !important;
    position: absolute !important;
    z-index: -1 !important;
    inset: 0 !important;
    border-radius: 18px !important;
    background: #17133B !important;
    border: 1px solid rgba(100, 90, 220, .5) !important;
    transform: translate(12px, 16px) !important;
    box-shadow: 0 18px 35px rgba(0, 0, 0, .38), 0 0 25px rgba(70, 100, 255, .12) !important;
    pointer-events: none !important
}
.video-3d .elementor-widget-video .e-hosted-video:after {
    content: "" !important;
    position: absolute !important;
    z-index: -2 !important;
    inset: 0 !important;
    border-radius: 18px !important;
    background: #0D0928 !important;
    border: 1px solid rgba(80, 70, 170, .35) !important;
    transform: translate(23px, 30px) !important;
    box-shadow: 0 22px 42px rgba(0, 0, 0, .3) !important;
    pointer-events: none !important
}
.video-3d:hover .elementor-widget-video {
    transform: rotateY(7deg) rotateX(3deg) rotateZ(0deg) translateY(-6px) !important;
    filter: drop-shadow(0 32px 50px rgba(0, 0, 0, .45)) !important
}
.video-3d:hover .elementor-widget-video .e-hosted-video:before {
    transform: translate(9px, 13px) !important
}
.video-3d:hover .elementor-widget-video .e-hosted-video:after {
    transform: translate(17px, 23px) !important
}

/***************************************/

.home-faq-box .e-n-accordion-item {
    border: 1px solid rgba(110, 100, 255, .12) !important;
    border-radius: 12px !important;
    background: rgba(18, 12, 48, .42) !important;
    overflow: hidden !important;
    transition: border-color .4s ease, background .4s ease, box-shadow .5s ease, transform .4s ease !important
}
.home-faq-box .e-n-accordion-item:hover {
    border-color: rgba(100, 190, 255, .3) !important;
    background: rgba(22, 16, 58, .62) !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .16), 0 0 24px rgba(70, 120, 255, .05) !important;
    transform: translateY(-1px) !important
}
.home-faq-box .e-n-accordion-item[open] {
    border-color: rgba(100, 190, 255, .38) !important;
    background: linear-gradient(90deg, rgba(20, 15, 55, .68), rgba(24, 17, 64, .52)) !important;
    box-shadow: 0 10px 32px rgba(0, 0, 0, .18), 0 0 28px rgba(70, 130, 255, .08) !important
}
.home-faq-box .e-n-accordion-item-title-text {
    color: #d8d5ea !important;
    transition: color .35s ease !important
}
.home-faq-box .e-n-accordion-item:hover .e-n-accordion-item-title-text, .home-faq-box .e-n-accordion-item[open] .e-n-accordion-item-title-text {
    color: #f0efff !important
}
.home-faq-box .e-n-accordion-item-title-icon {
    color: #78cfff !important
}
.home-faq-box .e-n-accordion-item-title-icon svg {
    transition: filter .35s ease, transform .35s ease !important
}
.home-faq-box .e-n-accordion-item:hover .e-n-accordion-item-title-icon svg, .home-faq-box .e-n-accordion-item[open] .e-n-accordion-item-title-icon svg {
    filter: drop-shadow(0 0 5px rgba(100, 210, 255, .75)) !important
}
.home-faq-box .e-n-accordion-item > div[role="region"] p {
    color: #aaa7c0 !important
}
.home-faq-box .e-n-accordion-item[open] > div[role="region"] p {
    animation: faqAnswerIn .45s ease both !important
}
@keyframes faqAnswerIn {
    from {
        opacity: 0;
        transform: translateY(-5px)
    }
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

/***************************************/

.model-local:before,
.model-online:before{
    content:""!important;
    position:absolute!important;
    top:50%!important;
    width:6px!important;
    height:6px!important;
    margin-top:-3px!important;
    border-radius:50%!important;
    pointer-events:none!important;
    z-index:10!important;
}
.model-local:before{
    right:-8px!important;
    background:#9b6cff!important;
    box-shadow:0 0 7px #9b6cff,0 0 18px rgba(155,108,255,.75)!important;
    animation:modelDotLeft 3.6s ease-in-out infinite!important;
}
.model-online:before{
    left:-8px!important;
    background:#69d9ff!important;
    box-shadow:0 0 7px #69d9ff,0 0 18px rgba(105,217,255,.75)!important;
    animation:modelDotRight 3.9s ease-in-out infinite!important;
}
@keyframes modelDotLeft{
    0%,100%{
        opacity:0;
        transform:translateX(0) scale(.7);
    }
    25%{
        opacity:.9;
    }
    60%{
        opacity:1;
        transform:translateX(95px) scale(1);
    }
    80%{
        opacity:.25;
        transform:translateX(115px) scale(.75);
    }
}

@keyframes modelDotRight{
    0%,100%{
        opacity:0;
        transform:translateX(0) scale(.7);
    }
    20%{
        opacity:.9;
    }
    58%{
        opacity:1;
        transform:translateX(-95px) scale(1);
    }
    78%{
        opacity:.25;
        transform:translateX(-115px) scale(.75);
    }
}
.model-item{
    transition:
            background .35s ease,
            border-color .35s ease,
            box-shadow .45s ease,
            transform .35s cubic-bezier(.22,1,.36,1)!important;
}
.model-item:hover{
    transform:translateY(-2px)!important;
    background:rgba(42,34,105,.72)!important;
    border-color:rgba(110,195,255,.42)!important;
    box-shadow:
            0 6px 18px rgba(0,0,0,.18),
            0 0 18px rgba(80,150,255,.10)!important;
}
.model-item:hover img{
    filter: drop-shadow(0 0 5px rgba(110,200,255,.45))!important;
}
.model-item:hover .elementor-heading-title,
.model-item:hover .elementor-icon-list-text{
    color:#f2f0ff!important;
}

/***************************************/

.contact-page-form .gform_wrapper {
    margin: 0 !important;
    font-family: 'IranYekan' !important;
}

.contact-page-form .gform_fields {
    row-gap: 22px !important
}
.contact-page-form .gfield_label {
    color: #aaa7c0 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    margin-bottom: 8px !important;
    font-family: 'IranYekan' !important;
}
.contact-page-form .gfield_required {
    color: #ff5f7a !important;
    font-family: 'IranYekan' !important;
}
.contact-page-form input[type="text"], .contact-page-form input[type="email"], .contact-page-form input[type="tel"], .contact-page-form textarea, .contact-page-form select {
    width: 100% !important;
    background: rgba(24, 17, 60, .65) !important;
    border: 1px solid rgba(120, 105, 210, .18) !important;
    border-radius: 8px !important;
    color: #e9e7f5 !important;
    font-size: 14px !important;
    padding: 12px 14px !important;
    outline: none !important;
    box-shadow: inset 0 0 18px rgba(70, 50, 150, .035) !important;
    transition: border-color .35s ease, background .35s ease, box-shadow .4s ease !important;
    font-family: 'IranYekan' !important;
}
.contact-page-form textarea {
    min-height: 130px !important;
    resize: vertical !important;
    font-family: 'IranYekan' !important;
}
.contact-page-form input::placeholder, .contact-page-form textarea::placeholder {
    color: rgba(180, 175, 205, .38) !important;
    font-family: 'IranYekan' !important;
}
.contact-page-form input:focus, .contact-page-form textarea:focus, .contact-page-form select:focus {
    border-color: rgba(100, 195, 255, .55) !important;
    background: rgba(27, 21, 68, .82) !important;
    box-shadow: 0 0 0 2px rgba(80, 160, 255, .06), 0 0 20px rgba(70, 130, 255, .08), inset 0 0 18px rgba(80, 100, 255, .04) !important
}
.contact-page-form input[type="submit"], .contact-page-form button[type="submit"] {
    background: linear-gradient(135deg, #4169e1, #6650d9) !important;
    border: 1px solid rgba(130, 190, 255, .28) !important;
    border-radius: 7px !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    padding: 11px 26px !important;
    cursor: pointer !important;
    box-shadow: 0 6px 18px rgba(40, 70, 180, .18), 0 0 18px rgba(80, 100, 255, .08) !important;
    transition: transform .35s ease, box-shadow .4s ease, border-color .35s ease, filter .35s ease !important;
    font-family: 'IranYekan' !important;
}
.contact-page-form input[type="submit"]:hover, .contact-page-form button[type="submit"]:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(130, 215, 255, .55) !important;
    filter: brightness(1.08) !important;
    box-shadow: 0 9px 24px rgba(40, 70, 180, .25), 0 0 25px rgba(70, 140, 255, .16) !important
}
.contact-page-form .gfield_error input, .contact-page-form .gfield_error textarea, .contact-page-form .gfield_error select {
    font-family: 'IranYekan' !important;
    border-color: rgba(255, 90, 120, .55) !important
}
.contact-page-form .validation_message {
    color: #ff7189 !important;
    font-size: 11px !important;
    margin-top: 5px !important;
    font-family: 'IranYekan' !important;
}
.contact-page-form .gform_confirmation_message {
    color: #b9f3ff !important;
    background: rgba(40, 100, 120, .08) !important;
    border: 1px solid rgba(90, 210, 230, .18) !important;
    border-radius: 8px !important;
    padding: 14px 16px !important;
    text-align: center !important;
    font-family: 'IranYekan' !important;
}
.single-post .header-main{
    background-color: #0E052A !important;
}


.page-breadcrumb{
    font-family: 'IranYekan';
    color: #ccccccab;
    display: flex;
    gap: 6px;
    font-size: 14px;
    margin: 0 0 25px 0;
}
.page-breadcrumb a{
    color: #98cefb;
}


.knowledge-step {
    position: relative;
    overflow: visible !important;
}

/* فلش‌ها به‌صورت پیش‌فرض مخفی */
.knowledge-step::before,
.knowledge-step::after {
    content: none !important;
}

.knowledge-step.knowledge-arrow::after {
    content: "" !important;
    position: absolute;
    top: 50%;
    right: calc(100% + 12px);
    width: 36px;
    height: 1px;
    transform: translateY(-50%);
    background: repeating-linear-gradient(
        to right,
        #838383 0 2px,
        transparent 2px 5px
    );
}
.knowledge-step.knowledge-arrow::before {
    content: "" !important;
    position: absolute;
    top: 50%;
    right: calc(100% + 38px);
    width: 13px;
    height: 10px;
    transform: translateY(-50%);
    background: #838383;
    clip-path: polygon(100% 0, 0 50%, 100% 100%, 75% 50%);
}








