.modern-public-site .ticket-lookup-form label:first-child {
    position: relative;
    overflow: visible;
}

.modern-public-site .ticket-lookup-form label:first-child::after {
    content: "";
    pointer-events: none;
    position: absolute;
    z-index: 20;
    background-image: url("/assets/happy-dolphin-pointer-r1.webp");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    filter: drop-shadow(0 9px 10px rgba(3,68,88,.22));
    opacity: 1;
    animation: hd-pointer-float 2.5s ease-in-out infinite;
}

.modern-public-site .ticket-lookup-form label:first-child::before {
    content: "";
    pointer-events: none;
    position: absolute;
    z-index: 19;
    border-radius: 50%;
    background:
        radial-gradient(ellipse at center,
        rgba(68,210,235,.30) 0%,
        rgba(32,174,205,.14) 42%,
        rgba(32,174,205,0) 72%);
    filter: blur(3px);
    animation: hd-water-shimmer 2.2s ease-in-out infinite;
}

@keyframes hd-pointer-float {
    0%, 100% {
        transform: translate3d(0,0,0) rotate(-1deg);
        filter:
            drop-shadow(0 9px 10px rgba(3,68,88,.22))
            brightness(1);
    }

    50% {
        transform: translate3d(4px,-6px,0) rotate(1deg);
        filter:
            drop-shadow(0 13px 14px rgba(3,68,88,.25))
            brightness(1.045);
    }
}

@keyframes hd-water-shimmer {
    0%,100% {
        transform: translateX(-4px) scaleX(.90);
        opacity: .42;
    }

    50% {
        transform: translateX(8px) scaleX(1.08);
        opacity: .72;
    }
}

/* Desktop: search on the left, full video on the right, same first screen */
@media (min-width: 901px) {

    .modern-public-site > main > .home-hero {
        min-height: 0;
        grid-template-columns:
            minmax(0,.90fr)
            minmax(430px,1.10fr);
        align-items: center;
        gap: clamp(1.6rem,3.4vw,3.5rem);
        padding-top: 1.25rem;
        padding-bottom: 2rem;
    }

    .modern-public-site .home-hero-copy {
        align-self: start;
        padding-top: .8rem;
        padding-bottom: 7.5rem;
    }

    .modern-public-site .home-hero-copy h1 {
        font-size: clamp(2.8rem,4.3vw,4.7rem);
        line-height: .98;
    }

    .modern-public-site .home-hero-media {
        align-self: center;
        justify-self: end;
        max-width: 720px;
    }

    .modern-public-site .hero-cms-slider {
        height: clamp(340px,31vw,430px);
        max-height: 430px;
    }

    .modern-public-site > main > .ticket-lookup-section {
        width: min(535px, calc(50vw - 3.5rem));
        max-width: 535px;
        justify-self: start;
        align-self: end;
        margin:
            0
            0
            1.3rem
            clamp(1rem,5vw,5.5rem);
        padding: 0;
        z-index: 14;
    }

    .modern-public-site .ticket-lookup-card {
        padding: .9rem 1rem 1rem;
        border-radius: 20px;
    }

    .modern-public-site .ticket-lookup-form {
        grid-template-columns: minmax(0,1fr) auto;
        gap: .65rem;
    }

    .modern-public-site .ticket-lookup-form label:first-child::after {
        width: 148px;
        aspect-ratio: 320 / 269;
        height: auto;
        top: -112px;
        left: -52px;
        right: auto;
        inset-inline-start: auto;
        inset-inline-end: auto;
    }

    .modern-public-site .ticket-lookup-form label:first-child::before {
        width: 118px;
        height: 24px;
        top: -23px;
        left: -14px;
    }
}

@media (min-width: 901px) and (max-width: 1120px) {

    .modern-public-site > main > .home-hero {
        grid-template-columns:
            minmax(0,.92fr)
            minmax(390px,1.08fr);
        gap: 1.4rem;
    }

    .modern-public-site .home-hero-copy h1 {
        font-size: clamp(2.65rem,4.6vw,3.8rem);
    }

    .modern-public-site .home-hero-copy > p {
        font-size: .96rem;
        line-height: 1.5;
    }

    .modern-public-site > main > .ticket-lookup-section {
        width: min(475px, calc(50vw - 1.8rem));
        margin-left: 1.2rem;
    }

    .modern-public-site .ticket-lookup-form label:first-child::after {
        width: 128px;
        top: -97px;
        left: -40px;
    }
}

/* Mobile layout stays exactly as approved; only upgrade the pointer */
@media (max-width: 900px) {

    .modern-public-site .ticket-lookup-form label:first-child::after {
        width: 108px;
        aspect-ratio: 320 / 269;
        height: auto;
        top: -83px;
        left: -26px;
        right: auto;
        inset-inline-start: auto;
        inset-inline-end: auto;
    }

    .modern-public-site .ticket-lookup-form label:first-child::before {
        width: 88px;
        height: 19px;
        top: -16px;
        left: -8px;
    }
}

@media (max-width: 420px) {

    .modern-public-site .ticket-lookup-form label:first-child::after {
        width: 100px;
        top: -77px;
        left: -20px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .modern-public-site .ticket-lookup-form label:first-child::after,
    .modern-public-site .ticket-lookup-form label:first-child::before {
        animation: none;
    }
}
