.otter-pin-expand-wrapper,
.otter-pin-wrapper {
    width: 100%;
    height: auto;
    position: relative;
    z-index: 50;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
}

.otter-pin-expand-wrapper.otter-pin-active,
.otter-pin-wrapper.otter-pin-active {
    z-index: 100;
}

.otter-pin-expand-item,
.otter-pin-item {
    position: relative;
    width: 30%;
    height: 30vh;
    min-width: 250px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    object-fit: cover;
    will-change: width, height, margin;
}

.otter-pin-expand-item img,
.otter-pin-expand-item video,
.otter-pin-item img,
.otter-pin-item video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pin-ghost-spacer {
    width: 100%;
    pointer-events: none;
    visibility: hidden;
}




/* Otter Text Reveal Animation Styles */

.ot-split-root {
    display: block;
    perspective: 1000px;
}

.ot-split-line {
    display: block !important;
    transform-style: preserve-3d;
    transform-origin: 50% 0%;
    margin-bottom: 0.05em;
    opacity: 0;
    pointer-events: none;
}

.ot-split-word-wrapper {
    display: inline-flex;
    overflow: hidden;
    position: relative;
    vertical-align: top;
}

.ot-split-word {
    display: inline-flex !important;
    transform: translateY(110%);
    white-space: nowrap;
    padding-top: 0.1em;
}

/* Ensure Elementor widgets don't hide our split content */
.otter-reveal-text-active .elementor-heading-title,
.otter-reveal-text-active .elementor-widget-container {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Helper to prevent flash of unstyled content if possible */
.otter-reveal-text:not(.otter-activated) {
    opacity: 0;
}