@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: "Poppins", sans-serif;
    font-style: normal;
}

html,
body {
    overflow-x: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.5s ease;
    font: 24px;
}

html,
body,
.slide-container,
.slide-wrapper,
.container {
    height: 100%;
    width: 100%;
}

.swiper {
    top: 5vh;
}

.autoplay-progress {
    position: fixed;
    left: 10px;
    top: 10px;
    z-index: 10;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 400;
    color: var(--progress-color);
}

.autoplay-progress svg {
    --progress: 0;
    position: absolute;
    left: 0;
    top: 0px;
    z-index: 10;
    width: 100%;
    height: 100%;
    stroke-width: 2.5px;
    stroke: var(--progress-color);
    fill: none;
    stroke-dashoffset: calc(125.6px * (1 - var(--progress)));
    stroke-dasharray: 125.6;
    transform: rotate(-90deg);
}

.slider-button {
    transition: 0.5s;
    outline: none;
    position: absolute;
    width: 100px;
    z-index: 10;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
}

.slider-button svg {
    display: block;
    transition: 0.5s;
}

.slider-button .slider-svg-circle-wrap {
    transition: 0.5s;
    transform-origin: -20px 40px;
    opacity: 1;
}

.slider-button circle {
    transition: 0.5s;
    stroke-width: 2px;
    stroke: var(--progress-color);
    fill: none;
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    opacity: 1;
    transform-origin: 0px 0px 0px;
}

.slider-button .slider-svg-arrow {
    transition: 0.5s;
    fill: var(--progress-color);
    transform: rotateY(180deg) translate(-55px, 36.1px) scale(1.75);
}

.slider-button-prev {
    left: 24px;
}

.slider-button-next {
    right: 24px;
}

.swiper-button-disabled {
    display: none;
}

.slider-button .slider-svg-wrap {
    transform: translateY(353px);
}

.slider-button-next .slider-svg-wrap {
    transform: translateY(353px) rotateY(180deg);
    transform-origin: 80px 0px 0px;
}

.slider-button .slider-svg-line {
    transition: 0.5s;
    stroke: var(--progress-color);
    stroke-width: 2;
    transform: translate(50px, 42px);
}

.slider-button-prev:not(.slider-button-disabled):hover svg {
    transform: translate(-16px);
}

.slider-button-next:not(.slider-button-disabled):hover svg {
    transform: translate(16px);
}

.slider-button:not(.slider-button-disabled):hover .slider-svg-circle-wrap {
    transform: scale(1.1);
}

.slider-button:not(.slider-button-disabled):hover circle {
    stroke-dasharray: 4px;
    stroke-dashoffset: 4px;
    opacity: 1;
}

.slider-button:not(.slider-button-disabled):hover .slider-svg-arrow {
    transform: rotateY(180deg) translate(-40px, 36.1px) scale(1.75);
}

.slider-button:not(.slider-button-disabled):hover .slider-svg-line {
    transform: translate(35px, 42px) scaleX(0.5);
}

.swiper-pagination {
    text-align: center;
    padding-left: 0;
    bottom: 20px !important;
}

.swiper-pagination .swiper-pagination-bullet {
    display: inline-block;
    margin: 2px;
}

.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #fff;
    width: 25px;
}

.swiper-pagination .swiper-pagination-bullet {
    height: 6px;
    width: 12px;
    background: rgba(255, 255, 255, 0.8);
    color: transparent;
    border-radius: 10px;
    overflow: hidden;
    transition: 0.5s ease;
    border: 0;
}

.autoplay-progress-bar {
    --progress: 0;
    height: 2px;
    width: var(--progress);
    background-color: var(--progress-color);
    position: absolute;
    top: 0;
    left: 0;
    transition: ease-in-out;
}

.floating {
    animation: floatAnim 6s ease-in-out infinite;
}

.slide {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.slide svg {
    max-height: 100%;
    width: auto;
    position: relative;
}

.card {
    position: relative;
    margin: auto;
    height: 80vh;
    width: 90vw;
    max-width: 1000px;
    border-radius: 50px;
    overflow: hidden;
}

.card.slide-1 {
    background: #2e0916;
    background: linear-gradient(331deg, #2e0916 0%, #200a2b 100%);
}

.card.slide-2 {
    background: #8a87c1;
    background: linear-gradient(331deg, #8a87c1 0%, #e8cafb 100%);
}

.card.slide-3 {
    background: #0c3720;
    background: linear-gradient(331deg, #5b874b 0%, #0c3720 100%);
}

.card.slide-4 {
    background: #2c1a1a;
    background: linear-gradient(331deg, #ff6b35 0%, #2c1a1a 100%);
}

.card.slide-5 {
    background: #8B4513;
    background: linear-gradient(331deg, #DAA520 0%, #8B4513 100%);
}

.svg-wrapper {
    width: 45%;
    height: 100%;
    text-align: center;
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    top: 0;
}

.slide:nth-child(odd) .svg-wrapper {
    left: -5%;
}

.slide:nth-child(even) .svg-wrapper {
    right: -5%;
    top: 0;
}

.slide-image {
    height: 75%;
    width: auto;
    max-width: 100%;
    object-fit: cover;
    border-radius: 20px;
    margin-bottom: 0;
}



.svg-wrapper .card-ghost-info.set-3 span {
    position: relative;
    height: 70px;
    margin-right: 5px;
    display: flex;
    align-items: flex-end;
    margin-bottom: 0;
}

.svg-wrapper .card-ghost-info.set-3 .text-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    margin-bottom: 0;
}

.svg-wrapper .card-ghost-info.set-3 .ghost-subtitle {
    position: relative;
    bottom: 0;
    line-height: 1;
}

.card-content {
    max-width: 445px;
    width: 100%;
    position: relative;
    top: 40%;
    transform: translateY(-50%);
    padding: 0 24px;
}

.slide:nth-child(odd) .card-content {
    margin-left: auto;
}

.slide:nth-child(even) .card-content {
    margin-right: auto;
    margin-left: 5%;
}

.card-ghost-info {
    position: relative;
    line-height: 1;
    color: #ffffff;
    font-size: 0.64vw;
    /* Reduced from 0.8vw (20% reduction) */
    font-weight: 400;
    margin-top: 10px;
    margin-bottom: 20px;
    text-align: center;
}

/* Default: Show set 1 */
.card-ghost-info.set-1 {
    display: flex;
}

.card-ghost-info.set-2,
.card-ghost-info.set-3 {
    display: none;
}

/* Desktop view (default) - set 1 positioned below svg-wrapper */
.card-ghost-info.set-1 {
    position: absolute;
    top: 75%;
    /* Matches image height */
    left: 50%;
    transform: translateX(-50%);
    margin-top: 45px;
    /* Moved down by approx 2x text height (was 60px) */
    display: flex;
    align-items: flex-end;
    width: max-content;
    /* Prevent clipping/wrapping */
    z-index: 5;
    gap: 15px;
}

/* Removed odd/even specific positioning as we are centering it */
.slide:nth-child(odd) .card-ghost-info.set-1,
.slide:nth-child(even) .card-ghost-info.set-1 {
    justify-content: flex-start;
    flex-direction: row;
    text-align: left;
    right: auto;
    left: 50%;
}

/* Mobile portrait - hide set 1 and set 3, show set 2 */
@media (max-width: 900px) and (orientation: portrait) {

    .card-ghost-info.set-1,
    .card-ghost-info.set-3 {
        display: none !important;
    }

    .card-ghost-info.set-2 {
        display: flex !important;
    }

    /* Strictly hide Set 3 with high specificity */
    .svg-wrapper .card-ghost-info.set-3,
    .card-ghost-info.set-3 {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        position: absolute !important;
        z-index: -100 !important;
    }

    .card-ghost-info.set-2 {
        display: flex !important;
        flex-direction: row;
        align-items: center;
        /* Center align vertically */
        justify-content: center;
        gap: 8px;
        /* Optimal spacing between leader and text */
        transform: scale(0.6);
        transform-origin: center top;
        position: relative;
        width: 100%;
        text-align: center;
        margin-top: 10px;
        /* Adjusted for minimal gap */
        margin-bottom: 5px;
        z-index: 5;
    }

    /* Position set 2 below svg-wrapper */
    .card-ghost-info.set-2 {
        order: 2;
        padding: 0 10px;
    }

    .card-ghost-info.set-2 span {
        position: relative;
        height: 70px;
        /* Match the leader height */
        margin-right: 0;
        display: flex;
        align-items: flex-end;
        /* Align leader to bottom to match ghost-subtitle */
        margin-top: 0;
        /* Reset odd/even positioning for mobile portrait */
        right: auto !important;
        left: auto !important;
    }

    .card-ghost-info.set-2 .text-container {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 1px;
        /* Reduced gap between name and subtitle */
        margin: 0;
        padding-top: 12px;
        /* Increased padding to prevent text overlap */
    }

    /* Ensure proper text alignment and prevent overlap */
    .card-ghost-info.set-2 .ghost-name {
        position: relative;
        line-height: 1.1;
        margin: 0;
        padding: 0;
        font-size: 14.3px;
        /* 11px * 1.3 */
        font-weight: bold;
    }

    .card-ghost-info.set-2 .ghost-subtitle {
        position: relative;
        line-height: 1;
        margin: 0;
        padding: 0;
        font-size: 11.7px;
        /* 9px * 1.3 */
    }

    /* Hide original buttons in mobile portrait */
    .card-cta {
        display: none !important;
    }

    /* Show and position mobile buttons above pagination */
    .card-cta-mobile {
        display: flex !important;
        gap: 20px;
        flex-wrap: wrap;
        justify-content: center;
        order: 5;
        /* After nav-container (order: 4) */
        margin-top: 20px;
        /* Gap above pagination */
        margin-bottom: 20px;
        /* Gap below buttons */
        padding: 0 20px;
        width: 100%;
    }
}

/* Mobile Landscape Specific Adjustments */
@media (max-width: 1024px) and (orientation: landscape) {

    .swiper {
        top: 85px !important;
        /* Push down to clear fixed navbar (approx 80px) */
        height: calc(100% - 85px);
        /* Adjust height to fit */
    }

    .card {
        height: 100% !important;
        width: 100% !important;
        border-radius: 0 !important;
    }

    .card-ghost-info.set-1,
    .card-ghost-info.set-2 {
        display: none !important;
    }

    .card-sub-title {
        display: none !important;
    }

    .slide-image {
        max-height: 200px !important;
        width: auto !important;
    }

    .card-cta-mobile {
        transform: scale(0.7);
        transform-origin: center top;
        margin-top: 10px !important;
        margin-bottom: 10px !important;
    }

    /* Set 3 positioning inside svg-wrapper */
    .svg-wrapper .card-ghost-info.set-3 {
        display: flex !important;
        flex-direction: row;
        align-items: flex-end;
        justify-content: center;
        gap: 8px;
        transform: scale(0.6);
        transform-origin: center top;
        width: auto;
        min-width: 200px;
        padding: 0 15px;
        text-align: center;
        margin-top: -17.5px;
        /* Top 1/4th of 70px leader overlaps image */
        margin-bottom: 8px;
        /* Reduced bottom margin for proper spacing */
        /* Reduced bottom margin for proper spacing */
        z-index: 5;
    }

    .svg-wrapper .card-ghost-info.set-3 .ghost-name {
        font-size: 14.3px;
    }

    .svg-wrapper .card-ghost-info.set-3 .ghost-subtitle {
        font-size: 11.7px;
    }

    .mouse-scroll {
        display: none !important;
    }
}



.ghost-name {
    font-size: 0.96vw;
    /* Reduced from 1.2vw (20% reduction) */
    text-transform: uppercase;
    margin-bottom: 10px;
    font-weight: bold;
}

.card-ghost-info span {
    height: 70px;
    display: inline-block;
    width: 0.5px;
    background-color: var(--color);
    position: relative;
    bottom: auto;
    flex-shrink: 0;
}

.card-ghost-info span:before {
    content: "";
    height: 5px;
    width: 5px;
    background-color: var(--color);
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
}

.slide:nth-child(odd) .card-ghost-info {
    text-align: right;
}

.slide:nth-child(even) .card-ghost-info {
    text-align: left;
}

/* Removed odd/even span absolute positioning as we use flexbox now */
.slide:nth-child(odd) .card-ghost-info span {
    right: auto;
}

.slide:nth-child(even) .card-ghost-info span {
    left: auto;
}

.card-title {
    max-width: 320px;
    color: var(--color);
    font-weight: bold;
    font-size: 1.9vw;
    line-height: 1;
    margin: 14px 0 25px;
    text-transform: uppercase;
    position: relative;
}

.card-title:before {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 2px;
    color: var(--color);
    text-shadow: -1px 0 #0ff;
    clip: rect(0, 800px, 0, 0);
    animation: glitch-1 1s linear alternate-reverse infinite;
}

.card-title:after {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: -2px;
    color: var(--color);
    text-shadow: 3px 0 #ff28d7;
    clip: rect(0, 800px, 0, 0);
    animation: glitch-2 0.6s linear alternate-reverse infinite 0.2s;
}

.card-sub-title {
    color: var(--color);
    text-transform: uppercase;
    font-weight: bold;
    font-size: 0.7vw;
    max-width: 100%;
    overflow-wrap: break-word;
    word-wrap: break-word;
    white-space: normal;
}

@media (min-width: 1600px) {
    .card-sub-title {
        font-size: 16px;
        /* Cap font size on very large screens */
    }
}

.card-description {
    color: var(--color);
    font-weight: 500;
    font-size: 0.8vw;
    max-width: 300px;
}

.card-cta {
    margin-top: 30px;
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

/* Hide mobile buttons by default (desktop and landscape) */
.card-cta-mobile {
    display: none;
}

.cta-button {
    display: inline-block;
    padding: 15px 30px;
    font-family: Arial, sans-serif;
    font-size: 14px;
    /* Slightly larger for readability */
    text-decoration: none;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    font-weight: bold;
    min-width: 161px;
    height: auto;
    /* Allow auto height */
    min-height: 50px;
    border: none;
    outline: none;
    border-radius: 8px;
    /* Match site standard */
    clip-path: none;
    /* Remove custom polygon shape */
    transition: all 0.3s ease;
}

.cta-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

/* Specific Button Styles to match Landing Page */
.consultation-btn {
    background-color: #ffd93d !important;
    /* Brand Yellow */
    color: #1e3a2a !important;
    /* Dark Green */
    border: none !important;
}

.consultation-btn:hover {
    background-color: #ffffff !important;
    color: #1e3a2a !important;
}

.instant-design-btn {
    background-color: #ffffff !important;
    color: #1e3a2a !important;
    border: none !important;
}

.instant-design-btn:hover {
    background-color: #ffd93d !important;
    color: #1e3a2a !important;
}

.slide-1-eye {
    animation: move 5s ease-out infinite;
}

.mouse-scroll {
    display: none;
}

.mouse {
    width: 26px;
    height: 40px;
    border-radius: 15px;
    border: 2px solid var(--progress-color);
    overflow: hidden;
    position: relative;
    margin: 0 auto 10px;
}

.mouse .roll {
    position: absolute;
    top: 8px;
    left: 50%;
    width: 4px;
    margin-left: -2px;
    height: 4px;
    border-radius: 4px;
    background: var(--progress-color);
    animation: mouseScroll 1s cubic-bezier(0.7, 0, 0.3, 1) infinite alternate;
    z-index: 2;
}

.mouse .rollshadow {
    position: absolute;
    top: 8px;
    left: 50%;
    width: 4px;
    margin-left: -2px;
    height: 4px;
    background: #ffffff64;
    border-radius: 4px;
    animation: mouseScroll 1s cubic-bezier(0.7, 0, 0.3, 1) infinite alternate;
    animation-delay: 0s;
    animation-delay: 80ms;
    z-index: 1;
}

.blink {
    animation: blink 2.4s infinite;
}

.swing {
    animation: swing 6s ease-in-out infinite;
    transform-origin: left;
}

.swiper-slide-active .card-cta {
    animation: bounce;
    animation-duration: 2.5s;
    animation-delay: 0.5s;
}

.swiper-slide-active .card-ghost-info div {
    animation: fadeInLeft;
    animation-duration: 1.5s;
    animation-delay: 0.3s;
}

.swiper-slide-active .card-title {
    animation: jackInTheBox;
    animation-duration: 1s;
    animation-delay: 0.8s;
}

.swiper-slide-active .card-sub-title {
    animation: bounceIn;
    animation-duration: 1s;
    animation-delay: 0.5s;
}

.swiper-slide-active .card-description {
    animation: bounceIn;
    animation-duration: 1s;
    animation-delay: 0.1s;
}

@media (max-width: 900px) {
    .mouse-scroll {
        display: none !important;
    }

    .card-cta {
        position: relative;
        bottom: auto;
        margin-top: 15px;
    }
}

@media (max-width: 650px) and (orientation: portrait),
(pointer: coarse) and (orientation: portrait) {
    .swiper {
        top: 0;
        height: 100vh;
        width: 100vw;
        margin-bottom: 0;
    }

    .slide-image {
        width: 95%;
        height: 220px;
        object-fit: cover;
        border-radius: 8px;
        margin: 0 auto 0;
        /* Removed bottom margin to allow overlap */
        aspect-ratio: 1/1;
    }

    .slide:nth-child(odd) .svg-wrapper,
    .slide:nth-child(even) .svg-wrapper {
        left: 0;
        right: 0;
        height: auto;
        width: 100%;
        margin: 0 auto 10px;
        top: 0;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        order: 1;
    }

    .slide:nth-child(even) .svg-wrapper {
        top: 0;
    }


    .slide:nth-child(odd) .card-content,
    .slide:nth-child(even) .card-content {
        max-width: 100%;
        margin: 0;
        transform: unset;
        text-align: center;
        top: 0;
        padding: 15px 20px;
        order: 3;
    }

    .card-title {
        font-size: 21px;
        /* Reduced by 20% */
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 4px;
        line-height: 1.3;
    }

    .card-sub-title {
        font-size: 13px;
        /* Reduced by 20% */
        margin-bottom: 2px;
    }

    .card-description {
        font-size: 14.5px;
        /* Reduced by 20% */
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 6px;
        max-width: 350px;
        line-height: 1.4;
    }

    .card-cta {
        margin-top: 2px;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 8px;
        order: 3;
        position: relative;
        bottom: auto;
        z-index: 20;
        margin-bottom: 40px;
        justify-content: center;
        width: 100%;
        padding: 0 10px;
    }

    .cta-button {
        scale: 1;
        margin: 0;
        min-width: 0;
        width: 100%;
        flex: 1;
        height: auto;
        min-height: 48px;
        padding: 8px 4px;
        font-size: 11px;
        white-space: normal;
        line-height: 1.1;
    }

    /* Mobile navigation arrow positioning */
    .slider-button-prev,
    .slider-button-next {
        display: none;
        /* Hidden by default on smaller screens */
    }



    .card-ghost-info.set-1 {
        bottom: unset;
        top: auto;
        font-size: 7px;
        order: 2;
        margin-top: -25 px;
        /* Overlap with the image */
        margin-bottom: 5px;
        position: relative;
        width: 100%;
        z-index: 5;
        /* Ensure it's above the image */
        text-align: center;
        padding: 0 10px;
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        justify-content: center;
        gap: 6px;
        /* Reduced gap */
        transform: scale(0.6);
        /* Reduce overall size to 60% */
        transform-origin: center top;
    }

    /* Ensure set-2 is not affected by general mobile styles */
    .card-ghost-info.set-2 {
        display: none;
        /* Hidden by default in general mobile view */
    }


    .card-ghost-info span:before {
        content: "";
        height: 6px;
        width: 6px;
        background-color: var(--color);
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        border-radius: 50%;
        z-index: 6;
    }

    .ghost-name {
        font-size: 9px;
        /* Reduced to 60% of 12px */
        margin-bottom: 0;
        font-weight: bold;
        order: 2;
        text-align: left;
        line-height: 1.1;
    }

    .ghost-subtitle {
        font-size: 8px;
        /* Reduced to 60% of 10px */
        margin-top: 2px;
        order: 3;
        text-align: left;
        line-height: 1.1;
        display: block;
    }

    .card-ghost-info .text-container {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
        order: 2;
    }

    .mouse {
        display: none;
    }

    .ghost-name {
        font-size: 11px;
    }

    .slide:nth-child(odd) .card-ghost-info,
    .slide:nth-child(even) .card-ghost-info {
        left: auto;
        right: auto;
        text-align: center;
    }

    .card {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        height: 100vh;
        width: 100vw;
        padding: 15px 0;
        overflow: visible;
    }

    /* Navigation container between image and content */
    .nav-container {
        order: 4;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        margin-top: 15px;
        gap: 20px;
    }

    .slide {
        padding-bottom: 20px;
    }
}

@media (max-width: 500px) and (orientation: portrait) {

    /* Show navigation arrows in portrait mode */
    .slider-button-prev,
    .slider-button-next {
        display: block !important;
    }

    .card-ghost-info {
        top: -20px;
        gap: 12px;
    }
}

@keyframes floatAnim {
    0% {
        transform: translateY(-25px);
    }

    50% {
        transform: translateY(25px);
    }

    100% {
        transform: translateY(-25px);
    }
}

@keyframes glitch-1 {
    0% {
        clip: rect(40px, 800px, 70px, 0px);
    }

    15% {
        clip: rect(130px, 800px, 131px, 0px);
    }

    50% {
        clip: rect(90px, 800px, 96px, 0px);
    }

    75% {
        clip: rect(125px, 800px, 185px, 0px);
    }

    87% {
        clip: rect(70px, 800px, 100px, 0px);
    }

    100% {
        clip: rect(130px, 800px, 130px, 0px);
    }
}

@keyframes glitch-2 {
    0% {
        clip: rect(20px, 800px, 80px, 0px);
    }

    15% {
        clip: rect(100px, 800px, 105px, 0px);
    }

    50% {
        clip: rect(100px, 800px, 95px, 0px);
    }

    75% {
        clip: rect(60px, 800px, 60px, 0px);
    }

    87% {
        clip: rect(145px, 800px, 160px, 0px);
    }

    100% {
        clip: rect(185px, 800px, 185px, 0px);
    }
}

@keyframes move {
    0% {
        transform: none;
    }

    20% {
        transform: translateX(-50px) translateY(10px) scale(0.95);
    }

    25%,
    44% {
        transform: none;
    }

    50%,
    60% {
        transform: translateX(50px) translateY(-20px) scale(0.95);
    }

    66%,
    100% {
        transform: none;
    }
}

@keyframes swing {
    0% {
        transform: translateY(-25px) rotate(10deg) scale(1);
    }

    50% {
        transform: translateY(25px) rotate(-5deg) scale(1.1);
    }

    100% {
        transform: translateY(-25px) rotate(10deg) scale(1);
    }
}

@keyframes blink {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes mouseScroll {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(14px);
    }
}

/* Mobile Landscape Fix: Side-by-Side Layout */
@media (max-width: 932px) and (orientation: landscape) {
    .swiper {
        top: 0 !important;
        height: 100vh !important;
    }

    .card {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        height: 100% !important;
        width: 100% !important;
        overflow: hidden !important;
    }

    /* Left Side: Image */
    .slide:nth-child(odd) .svg-wrapper,
    .slide:nth-child(even) .svg-wrapper {
        position: relative !important;
        width: 40% !important;
        height: 100% !important;
        left: auto !important;
        right: auto !important;
        top: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
    }

    .slide-image {
        width: auto !important;
        height: auto !important;
        max-height: 80vh !important;
        max-width: 90% !important;
        margin: 0 !important;
    }

    /* Right Side: Content */
    .slide:nth-child(odd) .card-content,
    .slide:nth-child(even) .card-content {
        position: relative !important;
        top: 0 !important;
        transform: none !important;
        width: 60% !important;
        padding: 0 20px 0 0 !important;
        text-align: left !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }

    .card-ghost-info.set-1 {
        display: none !important;
        /* Hide floating labels in landscape */
    }

    .card-title {
        font-size: 20px !important;
        margin: 0 0 5px 0 !important;
        text-align: left !important;
    }

    .card-sub-title {
        display: block !important;
        font-size: 12px !important;
        margin-bottom: 2px !important;
        text-align: left !important;
    }

    .card-description {
        font-size: 12px !important;
        margin: 0 0 10px 0 !important;
        text-align: left !important;
        max-width: 100% !important;
    }

    .card-cta {
        margin-top: 5px !important;
        justify-content: flex-start !important;
        margin-bottom: 0 !important;
        padding: 0 !important;
    }

    .cta-button {
        min-width: 100px !important;
        padding: 8px 12px !important;
    }
}

/* Tablet Text Boost (Portrait & Landscape) */
@media (min-width: 651px) and (max-width: 1024px) {
    .slide-image {
        height: 75% !important;
        transform: scale(1.5);
        /* Boost closer to requested 1.75x */
        transform-origin: center center;
    }

    .card-title {
        font-size: 32px;
        /* Readable tablet size */
        margin-bottom: 15px;
    }

    .card-sub-title {
        font-size: 16px;
        margin-bottom: 8px;
    }

    .card-description {
        font-size: 16px;
        margin-bottom: 20px;
    }

    /* Ensure content is centered vertically but lower */
    .card-content {
        top: 60%;
        transform: translateY(-50%);
    }

    .cta-button {
        font-size: 18px;
        /* Reduced by 25% from 24px */
        padding: 20px 40px;
        /* Increase padding to match */
    }
}