.home-page .intro-fullscreen {
    position: relative;
    flex-direction: column;
    height: auto;
    min-height: 100vh;
    min-height: 100svh;
    padding: 140px 24px 60px;
    gap: 32px;
}

.home-page .intro:not(.pages) .intro-body {
    display: block;
    flex: 0 0 auto;
    max-width: 1200px;
    padding: 0;
}

.home-page #header-pp-logo {
    display: block;
    width: 640px;
    max-width: 100%;
    height: auto;
}

.home-page .anniversary-banner {
    position: relative;
    z-index: 2;
    display: block;
    flex: 0 0 auto;
    max-width: 100%;
    padding: 16px 32px;
    border: 2px solid #1ea5dd;
    border-radius: 4px;
    background: rgba(30, 165, 221, 0.12);
    box-shadow: 0 0 18px rgba(30, 165, 221, 0.45), inset 0 0 12px rgba(30, 165, 221, 0.1);
    color: #fff;
    font-size: .95rem;
    font-weight: 600;
    letter-spacing: 1.5px;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: background .3s, box-shadow .3s;
}

.home-page .anniversary-banner:hover,
.home-page .anniversary-banner:focus-visible {
    background: rgba(30, 165, 221, 0.25);
    box-shadow: 0 0 30px rgba(30, 165, 221, 0.7), inset 0 0 18px rgba(30, 165, 221, 0.15);
    color: #fff;
}

.home-page .home-services img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    margin-inline: auto;
}

.home-page .home-completed .flickity-viewport {
    height: auto !important;
    aspect-ratio: 16 / 5;
}

.home-page .home-completed .carousel-cell {
    width: 50% !important;
    height: auto !important;
    max-height: none;
    aspect-ratio: 16 / 10;
}

.home-page .home-completed .carousel-cell > div,
.home-page .home-completed .carousel-cell a {
    display: block;
    width: 100%;
    height: 100%;
}

.home-page .home-social h3 {
    overflow-wrap: anywhere;
}

@media (max-width: 991px) {
    .home-page .intro-fullscreen {
        padding: 110px 24px 40px;
        gap: 28px;
    }

    .home-page .intro h1 {
        font-size: clamp(1.4rem, 3.5vw, 2rem);
        line-height: 1.25;
        margin-top: 24px !important;
    }

    .home-page .intro .h4-homepage {
        font-size: clamp(1rem, 2.5vw, 1.3rem);
        line-height: 1.5;
    }
}

@media (max-width: 767px) {
    .home-page main > section > .container,
    .home-page #footer > .container {
        width: 100%;
        margin-inline: auto;
        padding-inline: 24px;
    }

    .home-page .home-services .row.g-4 {
        row-gap: 36px;
    }

    .home-page #about .btn {
        max-width: 100%;
        white-space: normal;
    }

    .home-page .home-completed .flickity-viewport {
        aspect-ratio: 16 / 10;
    }

    .home-page .home-completed .carousel-cell {
        width: 100% !important;
    }

    .home-page #testimonials .testimonial-title {
        font-size: clamp(1.5rem, 6vw, 2.5rem);
        overflow-wrap: anywhere;
    }

    .home-page #testimonials .testimonial-card {
        padding-inline: 16px;
    }

    .home-page #testimonials .review-text blockquote {
        padding-inline: 8px;
    }

    .home-page #footer a {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 480px) {
    .home-page #header-pp-logo {
        width: 340px;
    }

    .home-page .anniversary-banner {
        width: 100%;
        padding: 14px 16px;
        font-size: .85rem;
        letter-spacing: 1px;
    }
}
