.alfc-carousel {
    height: 100vh;
    overflow: hidden;
    perspective: 1500px;
}

.alfc-track {
    display: flex;
    transition: transform 1s cubic-bezier(.77,0,.18,1);
}

.alfc-slide {
    min-width: 100%;
    height: 100vh;
    background-size: cover;
    background-position: center;
    position: relative;
    transition: transform 1s ease;
}

.alfc-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,var(--opacity,0.4));
}

.alfc-content {
    position: absolute;
    top: 25%;
    left: 8%;
    max-width: 520px;
    color: #fff;
    backdrop-filter: blur(12px);
    background: rgba(255,255,255,0.08);
    padding: 25px;
    border-radius: 15px;
    transform: translateZ(80px);
}

.alfc-content h2 {
    font-size: 3rem;
    font-weight: 900;
}

.alfc-content p {
    font-size: 1.2rem;
}

/* ICON FLOAT */
.alfc-icon {
    width: 60px;
    height: 60px;
    margin-bottom: 10px;
    animation: float 4s ease-in-out infinite;
}

@keyframes float {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-12px); }
}

/* =====================================
   ICON NAVIGATION
===================================== */

.alfc-nav-icons {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 25px;
    z-index: 20;
}

.alfc-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    transition: all .4s ease;
    opacity: .6;
}

.alfc-nav-item img {
    width: 55px;
    height: 55px;
    object-fit: contain;
    margin-bottom: 10px;
    filter: drop-shadow(0 0 8px rgba(255,255,255,.4));
}

.alfc-nav-item span {
    color: white;
    font-weight: 700;
    font-size: 14px;
    text-shadow: 0 2px 8px rgba(0,0,0,.8);
}

.alfc-nav-item.active {
    opacity: 1;
    transform: translateY(-8px) scale(1.1);
}

.alfc-nav-item.active img {
    filter:
        drop-shadow(0 0 12px #fff)
        drop-shadow(0 0 30px rgba(255,255,255,.8));
}


/* =====================================
   MAIN CONTENT ICON
===================================== */

.alfc-main-icon {
    width: 80px;
    height: 80px;
    margin-bottom: 15px;
    animation: floating 4s ease-in-out infinite;
    filter: drop-shadow(0 10px 20px rgba(0,0,0,.4));
}

@keyframes floating {
    0%,100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-12px);
    }
}


/* =====================================
   RIGHT SIDE 3D ICON LOOP
===================================== */

.alfc-3d-icons {
}


/* =====================================
   MODERN CTA BUTTON
===================================== */

.alfc-modern-btn {

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 16px;

    padding: 16px 34px;

    background: #FF1E2D;

    border-radius: 999px;

    text-decoration: none;

    position: relative;

    overflow: hidden;

    transition:
        transform .35s ease,
        box-shadow .35s ease;

    box-shadow:
        0 12px 30px rgba(255,30,45,.35),
        inset 0 -4px 10px rgba(0,0,0,.18);

    border:
        1px solid rgba(255,255,255,.15);

    backdrop-filter: blur(8px);
}


/* HOVER */

.alfc-modern-btn:hover {

    transform:
        translateY(-4px)
        scale(1.03);

    box-shadow:
        0 20px 40px rgba(255,30,45,.45);
}


/* ICON WRAP */

.alfc-btn-icon-wrap {

    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        rgba(255,255,255,.12);

    border-radius: 50%;

    backdrop-filter: blur(6px);
}


/* BUTTON ICON */

.alfc-btn-icon {

    width: 26px;
    height: 26px;

    object-fit: contain;

    filter:
        brightness(0)
        invert(1)
        drop-shadow(2px 2px 0 rgba(0,0,0,.7));
}


/* BUTTON TEXT */

.alfc-btn-text {

    font-family:
        Arial Black,
        sans-serif;

    font-weight: 900;

    font-size: 18px;

    letter-spacing: 1px;

    text-transform: uppercase;

    color: #fff;

    text-shadow:
        2px 2px 0 rgba(0,0,0,.85),
        0 4px 12px rgba(0,0,0,.35);
}



/* =====================================
   ICON ONLY NAVIGATION
===================================== */

.alfc-nav-icons {

    position: absolute;

    bottom: 38px;

    left: 50%;

    transform: translateX(-50%);

    display: flex;

    gap: 22px;

    z-index: 20;
}


.alfc-nav-item {

    width: 68px;
    height: 68px;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;

    transition:
        transform .4s ease,
        opacity .4s ease;

    opacity: .55;

    background:
        rgba(255,255,255,.08);

    backdrop-filter: blur(10px);

    border:
        1px solid rgba(255,255,255,.15);
}


/* NAV ICON */

.alfc-nav-item img {

    width: 34px;
    height: 34px;

    object-fit: contain;

    filter:
        brightness(0)
        invert(1)
        drop-shadow(2px 2px 0 rgba(0,0,0,.75));
}


/* ACTIVE NAV */

.alfc-nav-item.active {

    opacity: 1;

    transform:
        translateY(-10px)
        scale(1.12);

    box-shadow:
        0 0 20px rgba(255,255,255,.35),
        0 10px 30px rgba(255,30,45,.35);

    background:
        rgba(255,30,45,.18);
}

/* =====================================
   3D ROTATING LOGO
===================================== */

.alfc-rotating-logo-scene {

    position: absolute;

    right: 8%;

    top: 50%;

    transform: translateY(-50%);

    width: 320px;

    height: 320px;

    display: flex;

    justify-content: center;

    align-items: center;

    perspective: 1500px;

    z-index: 10;
}


/* LOGO WRAPPER */

.alfc-logo-wrapper {

    position: relative;

    width: 240px;

    height: 240px;

    transform-style: preserve-3d;

    animation:
        alfcRotateLeft3D 8s linear infinite;

    filter:
        drop-shadow(0 30px 50px rgba(0,0,0,0.55));
}


/* LOGO IMAGE */

.alfc-rotating-logo {

    width: 100%;

    height: 100%;

    object-fit: contain;

    border-radius: 24px;

    backface-visibility: hidden;

    transform: translateZ(40px);

    filter:
        brightness(1.08)
        contrast(1.1)
        saturate(1.05)
        drop-shadow(0 10px 20px rgba(0,0,0,0.35));
}


/* GLOSS */

.alfc-logo-wrapper::before {

    content: "";

    position: absolute;

    inset: 0;

    border-radius: 24px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,0.45) 0%,
            rgba(255,255,255,0.08) 25%,
            rgba(255,255,255,0) 50%
        );

    transform: translateZ(45px);

    pointer-events: none;

    mix-blend-mode: screen;
}


/* DEPTH */

.alfc-logo-wrapper::after {

    content: "";

    position: absolute;

    inset: 8px;

    border-radius: 20px;

    background: rgba(0,0,0,0.18);

    transform: translateZ(-20px);

    filter: blur(8px);

    pointer-events: none;
}


/* REFLECTION */

.alfc-logo-reflection {

    position: absolute;

    width: 280px;

    height: 70px;

    background:
        radial-gradient(
            ellipse at center,
            rgba(255,255,255,0.18) 0%,
            rgba(255,255,255,0.06) 35%,
            rgba(255,255,255,0) 70%
        );

    border-radius: 50%;

    transform:
        translateY(170px)
        rotateX(90deg);

    filter: blur(12px);
}


/* ANIMATION */

@keyframes alfcRotateLeft3D {

    0% {
        transform:
            rotateX(8deg)
            rotateY(0deg);
    }

    25% {
        transform:
            rotateX(8deg)
            rotateY(-90deg);
    }

    50% {
        transform:
            rotateX(8deg)
            rotateY(-180deg);
    }

    75% {
        transform:
            rotateX(8deg)
            rotateY(-270deg);
    }

    100% {
        transform:
            rotateX(8deg)
            rotateY(-360deg);
    }
}


/* HOVER PAUSE */

.alfc-rotating-logo-scene:hover
.alfc-logo-wrapper {

    animation-play-state: paused;
}


/* MOBILE */

@media(max-width:991px){

    .alfc-rotating-logo-scene {

        display: none;
    }
}


/* ===================================
   GEARED TO SECURE BADGE (CENTER RIGHT)
=================================== */

.alfc-secure-badge{
    position:absolute;

    right:30px;
    top:50%;
    transform:translateY(-50%); /* CENTER VERTICAL */

    width:580px;
    max-width:45%;

    padding:22px 32px;

    border-radius:16px;

    background:rgba(255,255,255,0.08);

    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);

    border:1px solid rgba(255,255,255,0.18);

    box-shadow:
        0 8px 32px rgba(0,0,0,.35),
        inset 0 1px 0 rgba(255,255,255,.15);

    z-index:20;

    overflow:hidden;
}

/* glossy vertical shine */
.alfc-secure-badge::before{
    content:'';
    position:absolute;
    top:0;
    left:35%;

    width:90px;
    height:100%;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.35),
        transparent
    );

    filter:blur(8px);
}

/* small glow circle */
.alfc-secure-badge::after{
    content:'';
    position:absolute;
    right:25px;
    top:50%;
    transform:translateY(-50%);

    width:18px;
    height:18px;

    border-radius:50%;

    background:rgba(255,255,255,.9);

    box-shadow:
        0 0 15px rgba(255,255,255,.8),
        0 0 30px rgba(255,255,255,.5);
}

.alfc-secure-badge span{
    color:#fff;
    font-size:36px;
    font-weight:700;
    line-height:1;
    position:relative;
    z-index:2;

    text-shadow:0 2px 6px rgba(0,0,0,.35);
}

/* Mobile */
@media(max-width:768px){

    .alfc-secure-badge{
        width:90%;
        max-width:none;

        right:5%;
        top:20px;
        transform:none; /* RESET for mobile */
        padding:16px 20px;
    }

    .alfc-secure-badge span{
        font-size:22px;
    }
}