@charset "utf-8";

.ctt_admin {
    display: none;
}

#container:has(.hospital-page) {
    width: 100%;
    max-width: none;
    float: none;
    margin: 0;
}

.hospital-hero-fold .hospital-hero-photo {
    width: min(100%, calc((100dvh - 4rem - 17rem) * 1.664));
    aspect-ratio: 832 / 500;
    height: auto;
    margin-inline: auto;
}

@media (min-width: 768px) {
    .hospital-hero-fold .hospital-hero-photo {
        width: min(100%, 36rem, calc((100dvh - 5.5rem - 16rem) * 1.664));
    }
}

@media (min-width: 1024px) {
    .hospital-hero-fold .hospital-hero-photo {
        width: auto;
        max-width: 100%;
        margin-inline: 0;
        height: max(24rem, min(28rem, 42dvh, calc(100dvh - 5.1667rem - 13.5rem)));
        aspect-ratio: 832 / 500;
    }
}

@media (min-width: 1440px) {
    .hospital-hero-fold .hospital-hero-photo {
        height: max(26rem, min(31.25rem, 42dvh, calc(100dvh - 5.1667rem - 14rem)));
    }
}

.hospital-cta {
    transition: filter 0.3s ease;
}

.hospital-cta:hover {
    filter: brightness(1.2);
}

.hospital-hero-photo img {
    animation: hospital-hero-photo-in 1s ease-out 0.9s both;
    transition: transform 0.5s ease;
}

.hospital-hero-photo:hover img {
    transform: scale(1.05);
}

.hospital-hero-title {
    opacity: 0;
    filter: blur(12px);
    animation: hospital-hero-title-focus 0.9s ease-out 0s forwards;
}

.hospital-hero-lead {
    opacity: 0;
    animation: hospital-hero-fade-up 0.7s ease-out 0.45s forwards;
}

.hospital-hero-copy {
    opacity: 0;
    animation: hospital-hero-fade-up 0.7s ease-out 1.35s forwards;
}

@keyframes hospital-hero-photo-in {
    from {
        opacity: 0;
        transform: scale(1.08);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes hospital-hero-title-focus {
    0% {
        opacity: 0;
        filter: blur(12px);
    }
    45% {
        opacity: 1;
        filter: blur(12px);
    }
    100% {
        opacity: 1;
        filter: blur(0);
    }
}

@keyframes hospital-hero-fade-up {
    from {
        opacity: 0;
        transform: translateY(1rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .hospital-hero-title,
    .hospital-hero-lead,
    .hospital-hero-copy {
        opacity: 1;
        filter: none;
        animation: none;
    }

    .hospital-hero-photo img {
        opacity: 1;
        filter: none;
        transform: none;
        animation: none;
    }

    .hospital-hero-photo:hover img {
        transform: none;
    }
}
