/* Hero Section Styles */
.hero {
    height: var(--section-height);
    position: relative;
    overflow: hidden;
}

.hero-text h1 {
    font-size: var(--font-size-hero);
    font-weight: 800;
    text-align: center;
    margin-top: -2rem;
}

.hero-text .subtitle {
    font-size: var(--font-size-md);
    color: var(--text-muted);
}

.hero-text p {
    font-size: var(--font-size-base);
    color: var(--text-secondary);
}

.cta-buttons {
    display: flex;
    justify-content: center;
    margin-top: 2rem;
}

.btn-large {
    padding: 1.5rem 3rem;
    font-size: var(--font-size-md);
    font-weight: 700;
}

/* 3D Showcase */
.model-showcase {
    position: relative;
    height: 500px;
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    perspective: 1000px;
    overflow: visible;
}

.model-container {
    position: relative;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
}

.model-background {
    position: absolute;
    width: 110%;
    height: 110%;
    top: -5%;
    left: -5%;
    border-radius: var(--radius-lg);
    overflow: hidden;
    transform: rotateY(3deg) rotateX(1deg) translateZ(-30px);
    box-shadow: var(--glass-shadow);
}

.background-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--radius-lg);
}

.model-3d {
    position: absolute;
    top: -20%;
    right: -15%;
    width: 120%;
    height: 120%;
    z-index: 10;
    transform: rotateY(6deg) rotateX(-2deg) translateZ(40px);
    transition: transform 0.3s ease;
    filter: drop-shadow(20px 20px 40px rgba(0, 0, 0, 0.4));
}

.model-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    animation: float 4s ease-in-out infinite;
}

/* Enhanced floating animation */
@keyframes float {
    0%, 100% {
        transform: rotateY(6deg) rotateX(-2deg) translateZ(40px) translateY(0px);
    }
    50% {
        transform: rotateY(6deg) rotateX(-2deg) translateZ(40px) translateY(-15px);
    }
}

/* Background glow effect */
.model-background::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, var(--primary-color), var(--accent-blue));
    opacity: 0.1;
    border-radius: var(--radius-lg);
    z-index: 1;
}