.custom-cursor {
    width: 20px;
    height: 20px;
    background: #fff;
    border-radius: 50%;
    position: fixed;
    pointer-events: none;
    z-index: 999999;
    mix-blend-mode: difference;
    transform: translate(-50%, -50%) scale(1);
    transition: transform 0.35s cubic-bezier(.7,1.7,.7,1), background 0.3s;
    border: 2px solid #000000;
    -webkit-clip-path: circle(30%);
    clip-path: circle(30%);
}
.custom-cursor.is-big {
  transform: translate(-50%, -50%) scale(10);
}
.custom-cursor.is-portfolio {
  transform: translate(-50%, -50%) scale(1.5);
}

.custom-cursor.is-post-nav {
  transform: translate(-50%, -50%) scale(5);
}

.rotating-text {
    position: fixed;
    pointer-events: none;
    z-index: 999998;
    opacity: 0;
    visibility: hidden; /* Add visibility property */
    transition: opacity 0.1s ease, visibility 0.1s ease; /* Add visibility to transition */
    transform: translate(-50%, calc(-50% + 5px));
}

.rotating-text svg {
    width: 250px;
    height: 250px;
    animation: rotate 8s linear infinite;
}

.rotating-text path {
    fill: none;
}

.rotating-text text {
      font-family: "Hatton B | M | UL", Serif !important;
    fill: #ffffff;
    font-size: 17px;
    font-weight: bold;
    letter-spacing: 1px;
}

.rotating-text textPath {
    alignment-baseline: middle;
}

.rotating-text.visible {
    opacity: 1;
    visibility: visible;
}

@keyframes rotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

a, button, input, textarea, [role="button"] {
    cursor: auto;
}

/* Iframe animation class */
.custom-cursor.iframe-animating {
    transition: none !important;
}

/* Keep cursor hidden while over iframe */
.custom-cursor.iframe-hidden {
    opacity: 0 !important;
    transform: translate(-50%, -50%) scale(0.1) !important;
    transition: none !important;
}