body {
    font-family: 'Inter', 'Helvetica Neue', sans-serif;
    line-height: 1.65;
    color: #1a202c
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Orbitron', 'JetBrains Mono', monospace;
    font-weight: 800;
    letter-spacing: -0.025em
}

.z7m1-grid-zone-header {
    backdrop-filter: blur(15px);
    background: rgba(26, 32, 44, 0.95) !important;
    border-bottom: 2px solid rgba(16, 185, 129, 0.3)
}

.bg-dark-gradient {
    background: linear-gradient(135deg, #10b981 0%, #14b8a6 50%, #06b6d4 100%) !important
}

.brand-text {
    font-size: 1.9rem;
    font-weight: 900;
    background: linear-gradient(45deg, #10b981, #06b6d4, #14b8a6, #10b981);
    background-size: 400% 400%;
    -webkit-background-clip: text;
    animation: gradientFlow 4s ease-in-out infinite;
    letter-spacing: -0.02em
}

@keyframes gradientFlow {
    0%, 100% { background-position: 0% 50% }
    25% { background-position: 100% 50% }
    50% { background-position: 50% 100% }
    75% { background-position: 50% 0% }
}

.z7m1-grid-zone-hero {
    background: linear-gradient(135deg, #10b981 0%, #14b8a6 30%, #06b6d4 70%, #0891b2 100%);
    position: relative;
    overflow: hidden;
    min-height: 100vh
}

.hero-bg-gradient {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 25% 75%, rgba(16, 185, 129, 0.4) 0%, transparent 60%),
        radial-gradient(circle at 75% 25%, rgba(6, 182, 212, 0.4) 0%, transparent 60%),
        radial-gradient(circle at 50% 50%, rgba(20, 184, 166, 0.3) 0%, transparent 70%);
    z-index: 1
}

.hero-title {
    animation: slideInFromBottom 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 2;
    position: relative
}

@keyframes slideInFromBottom {
    0% {
        transform: translateY(50px) scale(0.95);
        opacity: 0
    }
    100% {
        transform: translateY(0) scale(1);
        opacity: 1
    }
}

.gradient-text {
    background: linear-gradient(45deg, #10b981, #06b6d4);
    -webkit-background-clip: text;
    display: inline-block;
    font-weight: 900
}

.floating-image {
    animation: floatVertexAnimation 4s ease-in-out infinite;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    filter: drop-shadow(0 20px 40px rgba(16, 185, 129, 0.3))
}

@keyframes floatVertexAnimation {
    0%, 100% { 
        transform: translateY(0px) rotate(0deg);
        filter: drop-shadow(0 20px 40px rgba(16, 185, 129, 0.3))
    }
    33% { 
        transform: translateY(-15px) rotate(1deg);
        filter: drop-shadow(0 25px 50px rgba(6, 182, 212, 0.4))
    }
    66% { 
        transform: translateY(-8px) rotate(-1deg);
        filter: drop-shadow(0 30px 60px rgba(20, 184, 166, 0.3))
    }
}

.pulse-btn {
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(16, 185, 129, 0.3)
}

.pulse-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: left 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.pulse-btn:hover::before {
    left: 100%
}

.pulse-btn:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 15px 40px rgba(16, 185, 129, 0.4)
}

.z7m1-grid-zone-stats .stat-card {
    background: rgba(255, 255, 255, 0.95);
    border-radius: 20px;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    border: 2px solid rgba(16, 185, 129, 0.1);
    backdrop-filter: blur(10px)
}

.z7m1-grid-zone-stats .stat-card:hover {
    transform: translateY(-12px) scale(1.02);
    box-shadow: 0 20px 50px rgba(16, 185, 129, 0.2);
    border-color: rgba(16, 185, 129, 0.3)
}

.z7m1-grid-zone-virtual-lab {
    background: linear-gradient(135deg, #1a202c 0%, #2d3748 50%, #4a5568 100%);
    position: relative;
    overflow: hidden
}

.z7m1-grid-zone-virtual-lab::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"><path d="M 10 0 L 0 0 0 10" fill="none" stroke="rgba(16,185,129,0.1)" stroke-width="0.5"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');
    opacity: 0.3;
    z-index: 1
}

.z7m1-grid-zone-virtual-lab .container {
    position: relative;
    z-index: 2
}

.bg-primary-subtle {
    background: linear-gradient(135deg, #dcfdf7 0%, #a7f3d0 100%) !important
}

.bg-success-subtle {
    background: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%) !important
}

.bg-info-subtle {
    background: linear-gradient(135deg, #cffafe 0%, #a5f3fc 100%) !important
}

.bg-warning-subtle {
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%) !important
}

.bg-danger-subtle {
    background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%) !important
}

.text-white-75 {
    color: rgba(255, 255, 255, 0.8) !important
}

.text-dark-75 {
    color: rgba(26, 32, 44, 0.8) !important
}

.z7m1-grid-zone-about img {
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    border-radius: 15px;
    filter: saturate(1.1)
}

.z7m1-grid-zone-about img:hover {
    transform: scale(1.03) rotate(1deg);
    filter: saturate(1.2) brightness(1.05)
}

.feature-item {
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.feature-item:hover {
    transform: translateX(8px);
    color: #10b981
}

.z7m1-grid-zone-courses {
    background: linear-gradient(135deg, #f0fdfa 0%, #ccfbf1 50%, #a7f3d0 100%)
}

.course-card {
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    border: 3px solid transparent !important;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px)
}

.course-card:hover {
    transform: translateY(-15px) scale(1.02);
    box-shadow: 0 25px 60px rgba(16, 185, 129, 0.15);
    border-color: #10b981 !important;
    background: rgba(255, 255, 255, 1)
}

.course-icon i {
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.course-card:hover .course-icon i {
    transform: scale(1.15) rotate(8deg);
    filter: drop-shadow(0 5px 15px rgba(16, 185, 129, 0.3))
}

.mentor-avatar {
    width: 85px;
    height: 85px;
    margin: 0 auto;
    position: relative
}

.avatar-placeholder {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    border: 3px solid rgba(16, 185, 129, 0.2)
}

.avatar-placeholder::before {
    content: '👨‍💻';
    font-size: 2.2rem;
    color: white;
    filter: drop-shadow(0 2px 8px rgba(0,0,0,0.3))
}

.mentor-card {
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    padding: 2rem;
    border-radius: 15px
}

.mentor-card:hover {
    transform: translateY(-8px);
    background: rgba(16, 185, 129, 0.05)
}

.testimonial-card {
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    border: 2px solid rgba(16, 185, 129, 0.1) !important;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px)
}

.testimonial-card:hover {
    box-shadow: 0 20px 50px rgba(16, 185, 129, 0.15);
    transform: translateY(-5px) scale(1.01);
    border-color: rgba(16, 185, 129, 0.3) !important
}

.stars i {
    margin-right: 3px;
    filter: drop-shadow(0 2px 4px rgba(255, 193, 7, 0.3))
}

.z7m1-grid-zone-cta {
    background: linear-gradient(135deg, #1a202c 0%, #2d3748 50%, #4a5568 100%);
    position: relative;
    overflow: hidden
}

.z7m1-grid-zone-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 30% 70%, rgba(16, 185, 129, 0.2) 0%, transparent 60%);
    z-index: 1
}

.z7m1-grid-zone-cta .container {
    position: relative;
    z-index: 2
}

.z7m1-grid-zone-contact .contact-form {
    background: rgba(248, 250, 252, 0.95) !important;
    backdrop-filter: blur(10px);
    border: 2px solid rgba(16, 185, 129, 0.1)
}

.contact-icon {
    width: 55px;
    height: 55px;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.15), rgba(6, 182, 212, 0.15));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid rgba(16, 185, 129, 0.2)
}

.contact-icon i {
    font-size: 1.6rem
}

.z7m1-grid-zone-footer {
    background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%) !important
}

.social-links a {
    display: inline-block;
    width: 45px;
    height: 45px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    text-align: center;
    line-height: 45px;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    border: 2px solid rgba(255, 255, 255, 0.1)
}

.social-links a:hover {
    background: linear-gradient(135deg, #10b981, #14b8a6);
    transform: translateY(-5px) scale(1.1);
    border-color: rgba(255, 255, 255, 0.3)
}

.cookie-consent-banner {
    background: linear-gradient(90deg, #1a202c 0%, #2d3748 50%, #4a5568 100%) !important;
    backdrop-filter: blur(15px);
    border-top: 2px solid rgba(16, 185, 129, 0.3);
    z-index: 1060
}

.cookie-buttons .btn {
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cookie-buttons .btn:hover {
    transform: scale(1.08) translateY(-2px)
}

.bg-gradient-primary {
    background: linear-gradient(135deg, #10b981 0%, #14b8a6 50%, #06b6d4 100%) !important
}

.z7m1-grid-zone-services-hero {
    padding-top: 7rem !important
}

.service-detail-card {
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    border: 3px solid transparent !important;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px)
}

.service-detail-card:hover {
    border-color: #10b981 !important;
    box-shadow: 0 20px 50px rgba(16, 185, 129, 0.15);
    transform: translateY(-8px) scale(1.01)
}

.service-icon i {
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.service-detail-card:hover .service-icon i {
    transform: scale(1.2) rotate(5deg);
    filter: drop-shadow(0 5px 15px rgba(16, 185, 129, 0.3))
}

.pricing-info {
    border-top: 2px solid rgba(16, 185, 129, 0.1);
    padding-top: 1.2rem
}

.specialization-card {
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    border: 2px solid rgba(16, 185, 129, 0.08) !important;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px)
}

.specialization-card:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 15px 40px rgba(16, 185, 129, 0.15);
    border-color: #10b981 !important
}

.specializations-grid {
    max-width: 1100px;
    margin: 0 auto
}

.process-step {
    position: relative
}

.step-number .badge {
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 900
}

.bg-gradient-success {
    background: linear-gradient(135deg, #10b981 0%, #059669 50%, #047857 100%) !important
}

.z7m1-grid-zone-success {
    animation: fadeInScale 1s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

@keyframes fadeInScale {
    0% {
        opacity: 0;
        transform: translateY(40px) scale(0.9)
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1)
    }
}

.pulse-icon {
    animation: vertexPulse 2.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite;
    filter: drop-shadow(0 10px 30px rgba(16, 185, 129, 0.4))
}

@keyframes vertexPulse {
    0%, 100% { 
        transform: scale(1);
        filter: drop-shadow(0 10px 30px rgba(16, 185, 129, 0.4))
    }
    50% { 
        transform: scale(1.08);
        filter: drop-shadow(0 15px 40px rgba(16, 185, 129, 0.6))
    }
}

.success-animation {
    position: relative
}

.success-animation::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 140px;
    height: 140px;
    background: radial-gradient(circle, rgba(16, 185, 129, 0.25) 0%, transparent 75%);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: vertexRipple 3s ease-out infinite
}

@keyframes vertexRipple {
    0% {
        transform: translate(-50%, -50%) scale(0.7);
        opacity: 1
    }
    100% {
        transform: translate(-50%, -50%) scale(1.6);
        opacity: 0
    }
}

.next-steps {
    border: 3px solid rgba(16, 185, 129, 0.25) !important;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px)
}

.elite-perks {
    background: rgba(16, 185, 129, 0.05) !important;
    border: 2px solid rgba(16, 185, 129, 0.15) !important
}

.action-buttons .btn {
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    box-shadow: 0 8px 25px rgba(16, 185, 129, 0.3)
}

.action-buttons .btn:hover {
    transform: translateY(-4px) scale(1.02);
    box-shadow: 0 15px 40px rgba(16, 185, 129, 0.4)
}

@media (max-width: 768px) {
    .z7m1-grid-zone-hero {
        min-height: 100vh;
        padding-top: 90px
    }
    
    .hero-title {
        font-size: 2.8rem !important
    }
    
    .brand-text {
        font-size: 1.6rem
    }
    
    .floating-image {
        margin-top: 2.5rem
    }
    
    .z7m1-grid-zone-services-hero {
        padding-top: 6rem !important
    }
    
    .mentor-avatar {
        width: 75px;
        height: 75px
    }
}