.angie-loader-wrapper-0ce344c7 {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 999999;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #333333;
    transition: opacity 1.5s cubic-bezier(0.25, 1, 0.5, 1);
}

.angie-loader-content-0ce344c7 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* Container for Logo + Speedometer SVG */
.angie-logo-container-0ce344c7 {
    position: relative;
    width: 264px;
    height: 264px;
    margin-bottom: 64px; /* Space between logo and text */
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 1.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 1.5s cubic-bezier(0.25, 1, 0.5, 1);
}

.angie-loader-logo-0ce344c7 {
    opacity: 0.2; /* Starts at some opacity */
    transition: opacity 6s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.angie-loader-logo-0ce344c7 img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Speedometer circular arc styling updated to user values */
.angie-speedometer-svg-0ce344c7 {
    position: absolute;
    top: -80px;
    left: -50px;
    right: -50px;
    bottom: -20px;
    width: calc(100% + 100px);
    height: calc(100% + 100px);
    pointer-events: none;
    overflow: visible;
}

.angie-speedometer-path-0ce344c7 {
    fill: none;
    stroke: url(#angie-speedometer-grad-0ce344c7);
    stroke-width: 3.5;
    stroke-linecap: round;
    stroke-dasharray: 198; /* EXACT path length of the arc */
    stroke-dashoffset: 198;
    transition: stroke-dashoffset 6s linear;
}

.angie-loader-text-0ce344c7 {
    opacity: 0.2;
    transition: opacity 6s ease;
    white-space: nowrap;
}

/* Animations triggered via classes */
.angie-loader-wrapper-0ce344c7.step-1 .angie-loader-logo-0ce344c7 {
    opacity: 1; /* Only logo fades in over 6s */
}
.angie-loader-wrapper-0ce344c7.step-1 .angie-speedometer-path-0ce344c7 {
    stroke-dashoffset: 0; /* Speedometer draws entirely to bottom-right in 6s */
}
.angie-loader-wrapper-0ce344c7.step-1 .angie-loader-text-0ce344c7 {
    opacity: 1;
}

/* Step 2: Immediate letter spacing jump */
.angie-loader-wrapper-0ce344c7.step-2 .angie-loader-text-0ce344c7 {
    transition: none !important;
    letter-spacing: 28px;
}

/* Step 3: Zoom out entire container and fade wrapper out smoothly */
.angie-loader-wrapper-0ce344c7.step-3 {
    opacity: 0 !important;
    pointer-events: none;
}
.angie-loader-wrapper-0ce344c7.step-3 .angie-logo-container-0ce344c7 {
    transform: scale(8) !important;
    opacity: 0 !important;
}

/* Hide when done or skipped */
.angie-loader-wrapper-0ce344c7.hidden {
    display: none !important;
}
