        * { font-family: 'Vazirmatn', sans-serif; }
        
        ::-webkit-scrollbar { width: 6px; }
        ::-webkit-scrollbar-track { background: #0a0a0a; }
        ::-webkit-scrollbar-thumb { background: #404040; border-radius: 3px; }
        ::-webkit-scrollbar-thumb:hover { background: #525252; }

        ::selection { background: #fff; color: #0a0a0a; }

        .hero-gradient {
            background: linear-gradient(135deg, rgba(10,10,10,0.97) 0%, rgba(10,10,10,0.75) 50%, rgba(10,10,10,0.9) 100%);
        }

        .card-hover { transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); }
        .card-hover:hover {
            transform: translateY(-6px);
            box-shadow: 0 25px 50px rgba(0,0,0,0.4);
            border-color: rgba(255,255,255,0.15);
        }

        .fade-in {
            opacity: 0;
            transform: translateY(30px);
            transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .fade-in.visible { opacity: 1; transform: translateY(0); }

        .slide-right {
            opacity: 0;
            transform: translateX(50px);
            transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .slide-right.visible { opacity: 1; transform: translateX(0); }

        .slide-left {
            opacity: 0;
            transform: translateX(-50px);
            transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .slide-left.visible { opacity: 1; transform: translateX(0); }

        .btn-primary {
            background: #fff;
            color: #0a0a0a;
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
        }
        .btn-primary::before {
            content: '';
            position: absolute;
            top: 0; left: -100%;
            width: 100%; height: 100%;
            background: linear-gradient(90deg, transparent, rgba(0,0,0,0.06), transparent);
            transition: left 0.5s ease;
        }
        .btn-primary:hover::before { left: 100%; }
        .btn-primary:hover {
            background: #e5e5e5;
            box-shadow: 0 10px 30px rgba(255,255,255,0.08);
        }

        .btn-outline {
            border: 1.5px solid rgba(255,255,255,0.25);
            color: #fff;
            transition: all 0.3s ease;
        }
        .btn-outline:hover {
            background: #fff;
            color: #0a0a0a;
            border-color: #fff;
        }

        .divider {
            width: 50px;
            height: 2px;
            background: #fff;
        }

        .nav-active { color: #fff !important; }

        .hamburger-line { transition: all 0.3s ease; }
        .hamburger-active .hamburger-line:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
        .hamburger-active .hamburger-line:nth-child(2) { opacity: 0; }
        .hamburger-active .hamburger-line:nth-child(3) { transform: rotate(-45deg) translate(7px, -6px); }

        .mobile-menu {
            max-height: 0;
            overflow: hidden;
            opacity: 0;
            pointer-events: none;
            transition: max-height 0.45s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s ease;
        }
        .mobile-menu.open {
            max-height: calc(100vh - 5rem);
            opacity: 1;
            pointer-events: auto;
        }

        .mobile-menu-panel {
            padding: 1rem 0 1.35rem;
            border-top: 1px solid rgba(255,255,255,0.1);
        }

        body.menu-open {
            overflow: hidden;
        }

        .gallery-item { overflow: hidden; }
        .gallery-item img { transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1), filter 0.7s ease; }
        .gallery-item:hover img { transform: scale(1.08); filter: brightness(0.7); }
        .gallery-item .gallery-overlay { opacity: 0; transition: opacity 0.4s ease; }
        .gallery-item:hover .gallery-overlay { opacity: 1; }

        .service-icon { transition: all 0.4s ease; }
        .card-hover:hover .service-icon {
            background: #fff;
            color: #0a0a0a;
        }

        .toast {
            transform: translateY(100px);
            opacity: 0;
            transition: all 0.4s ease;
        }
        .toast.show { transform: translateY(0); opacity: 1; }

        .counter { font-variant-numeric: tabular-nums; }

        .blog-card img {
            transition: transform 0.7s cubic-bezier(0.4,0,0.2,1), filter 0.5s ease;
            filter: grayscale(100%);
        }
        .blog-card:hover img {
            transform: scale(1.06);
            filter: grayscale(0%);
        }

        .line-accent {
            width: 40px;
            height: 2px;
            background: #fff;
            transition: width 0.4s ease;
        }
        .group:hover .line-accent { width: 60px; }

        @keyframes float {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-8px); }
        }
        .float-animation { animation: float 3s ease-in-out infinite; }

        input, select, textarea {
            color-scheme: dark;
        }

        @media (max-width: 767.98px) {
            #header {
                background: rgba(10,10,10,0.72);
                backdrop-filter: blur(14px);
                border-bottom: 1px solid rgba(255,255,255,0.04);
            }

            #header.mobile-menu-open {
                background: rgba(10,10,10,0.96);
            }

            .mobile-menu {
                position: absolute;
                top: 100%;
                right: 0;
                left: 0;
                padding-top: 0.75rem;
            }

            .mobile-menu-panel {
                padding: 0.9rem;
                border: 1px solid rgba(255,255,255,0.08);
                border-radius: 1.5rem;
                background: linear-gradient(180deg, rgba(15,15,15,0.96), rgba(10,10,10,0.92));
                backdrop-filter: blur(18px);
                box-shadow: 0 24px 60px rgba(0,0,0,0.32);
            }

            .mobile-nav-link {
                display: flex;
                align-items: center;
                justify-content: space-between;
                min-height: 3.1rem;
                font-weight: 700;
            }

            .mobile-menu-panel .btn-primary {
                margin-top: 0.65rem;
                width: 100%;
                justify-content: center;
            }

            #home .fade-in:first-child {
                margin-bottom: 1rem;
            }

            #home .counter {
                font-size: 1.5rem;
            }
        }
