/* ===================================================
   ACCESS SECTION - КУБ ИЗ HERO (1:1 FULL copy)
   =================================================== */

/* Hero cube - copied from shared-cube.css */
.scene-3d {
    perspective: 1000px;
    width: 200px;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: scale(1.6);
}

.hyper-cube {
    width: 100px;
    height: 100px;
    position: relative;
    transform-style: preserve-3d;
    animation: rotate-core 20s infinite linear;
}

.face {
    position: absolute;
    width: 100px;
    height: 100px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.4);
}

.f1 {
    transform: rotateY(0deg) translateZ(50px);
}

.f2 {
    transform: rotateY(90deg) translateZ(50px);
}

.f3 {
    transform: rotateY(180deg) translateZ(50px);
}

.f4 {
    transform: rotateY(-90deg) translateZ(50px);
}

.f5 {
    transform: rotateX(90deg) translateZ(50px);
}

.f6 {
    transform: rotateX(-90deg) translateZ(50px);
}

.inner-cube {
    width: 60px;
    height: 60px;
    position: absolute;
    transform-style: preserve-3d;
    animation: rotate-core-rev 10s infinite linear;
    top: 20px;
    left: 20px;
}

.iface {
    position: absolute;
    width: 60px;
    height: 60px;
    background: var(--accent);
    opacity: 0.8;
    box-shadow: 0 0 30px var(--accent);
}

.i1 {
    transform: rotateY(0deg) translateZ(30px);
}

.i2 {
    transform: rotateY(90deg) translateZ(30px);
}

.i3 {
    transform: rotateY(180deg) translateZ(30px);
}

.i4 {
    transform: rotateY(-90deg) translateZ(30px);
}

.i5 {
    transform: rotateX(90deg) translateZ(30px);
}

.i6 {
    transform: rotateX(-90deg) translateZ(30px);
}

@keyframes rotate-core {
    0% {
        transform: rotate3d(1, 1, 1, 0deg);
    }

    100% {
        transform: rotate3d(1, 1, 1, 360deg);
    }
}

@keyframes rotate-core-rev {
    0% {
        transform: rotate3d(1, 1, 1, 0deg);
    }

    100% {
        transform: rotate3d(1, 1, 1, -360deg);
    }
}

/* ===================================================
   PREMIUM BUTTON - ЛЕВАЯ ПАНЕЛЬ
   =================================================== */

.btn-cta {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 18px 42px;
    background: linear-gradient(135deg, #6366F1 0%, #8B5CF6 50%, #A855F7 100%);
    border: none;
    border-radius: 14px;
    cursor: pointer;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #FFFFFF;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    overflow: hidden;
    box-shadow:
        0 10px 30px rgba(99, 102, 241, 0.3),
        0 4px 12px rgba(0, 0, 0, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,
            transparent 0%,
            rgba(255, 255, 255, 0.2) 50%,
            transparent 100%);
    transition: left 0.5s ease;
}

.btn-cta:hover::before {
    left: 100%;
}

.btn-cta:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow:
        0 15px 40px rgba(99, 102, 241, 0.4),
        0 6px 16px rgba(0, 0, 0, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
    background: linear-gradient(135deg, #7C3AED 0%, #A855F7 50%, #C026D3 100%);
}

.btn-cta:active {
    transform: translateY(0) scale(0.98);
    box-shadow:
        0 6px 20px rgba(99, 102, 241, 0.3),
        0 2px 8px rgba(0, 0, 0, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.btn-cta span {
    font-size: 20px;
    transition: transform 0.3s ease;
}

.btn-cta:hover span {
    transform: translateX(4px);
}