section.pro-features {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    max-width: 100%;
    width: 100%;
    padding: 4.5rem 0 0 0;
    .featured {
        max-width: 80rem;
        position: relative;        
        background-color: #E1F6F6;
        border-radius: 1rem;
        padding: 3.5rem;
        margin: 0 auto;
    }
    .featured-image-container {
        border-radius: 1rem;
        overflow: hidden;        
        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }
    h5 {
        font-size: clamp(2.5rem, calc(2.5rem + 1.5 * ((100vw - 23.4375rem) / 66.5625)), 4rem);
        line-height: 1;
        font-weight: bold;
        color: #232323;
        text-align: center;
    }
    .intro {
        max-width: 926px;
        margin: 0 auto;
        padding: 0 0 3rem 0;
    }
    .intro-content p {
        font-size: 1rem;
        color: #6F6F6F;
        padding: 1rem 0 0 0;
        text-align: left;
        text-align: center;
    }
    .video {
        height: 482px;
        position: relative;
        border-radius: 1rem;
        overflow: hidden;
        video {
            position: absolute;
            inset: 0 auto auto 0;
            width: 100%;
            height: 100%;        
            object-fit: cover;
            object-position: center;
        }
    }
    .legal {
        margin: 1.875rem 0 0 0;
        p {
            font-size: 0.75rem;
            color: #1C456B;
            text-align: center;            
            &:last-of-type {            
                padding: 0 !important;
            }
        }        
    }
    .features {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1.5rem;
        max-width: 80rem;
        margin: 2.25rem auto 0 auto;
        padding: 0 0 7.75rem 0;
    }
    .card-image-container {
        background-color: #F5F5F5;        
        border-top-left-radius: 1rem;
        border-top-right-radius: 1rem;
        overflow: hidden;
        flex: 0 0 auto;
        height: 200px;
        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }
    .card {
        display: flex;
        flex-flow: column;
        height: 100%;
    }
    .card-content {        
        padding: 1.5rem;
        flex: 1 1 auto;
        display: flex;        
        flex-flow: column;
        border: 1px solid #EFEFEF;
        border-top: none;        
        border-bottom-left-radius: 1rem;
        border-bottom-right-radius: 1rem;             
    }
    p.card-title {
        color: #232323;
        font-weight: bold;
        padding: 0 0 0.5rem 0;
    }
    .card-wysiwyg {
        p, li, a {
            color: #6f6f6f;
            font-size: 0.875rem;            
        }
        p:last-of-type {            
            padding: 0 !important;
        }
    }
    .features-mobile {
        display: none;
    }
    .features-swiper {
        padding: 2rem 1.5rem 0 1.5rem;
    }
    .swiper-pagination {
        position: relative;
        margin: 1.5rem 0 0 0;
    }
    .swiper-pagination-bullet {
        pointer-events: auto;
        opacity: 1;
        background-color: #b7b7b6;
        width: 29px;
        height: 6px;
        border-radius: 6px;
        transition: all 500ms cubic-bezier(0.17, 0.66, 0.34, 0.98);
        margin: 0;
    }
    .swiper-pagination-bullet-active {
        background-color: #424242;
        width: 6px;
    }
    .swiper-pagination-bullet-active:focus-visible {
        outline: 2px solid #424242;
        outline-offset: 3px;
    }
    .swiper-slide {
        cursor: grab;           
    }
    .mobile-video {
        display: none;
        margin: 1rem 0 0.5rem 0;        
    }
    .play-button {
        cursor: pointer;
        font-weight: bold;
        display: flex;
        align-items: center;
        gap: 0.5rem;
        padding: 0.75rem 1.5rem;
        border-radius: 9999px;
        transition-property: all;
        transition-duration: 500ms;
        background-color: #274A34;
        color: #CCF88E;
        &:hover {
            background-color: #2d6339;
        }
    }
    .video-modal {
        position: fixed;
        inset: 0;
        z-index: 9999999999 !important;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 1.5rem;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 300ms ease, visibility 0s linear 300ms;
    }
    .video-modal.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition: opacity 300ms ease;
    }
    .features-video-overlay {
        position: absolute;
        inset: 0;
        opacity: 0;
        background: rgba(0, 0, 0, 0.1);
        backdrop-filter: blur(0px) brightness(100%);
        -webkit-backdrop-filter: blur(0px) brightness(100%);
        transition:all 400ms ease;
    }
    .video-modal.is-open .features-video-overlay {
        opacity: 1;  
        backdrop-filter: blur(3px) brightness(70%);
        -webkit-backdrop-filter: blur(3px) brightness(70%);
    }
    .features-video-modal {
        position: relative;
        width: min(900px, 100%);
        max-height: calc(100vh - 3rem);
        background: transparent;
        border-radius: 1rem;
        z-index: 1;
        display: flex;
        flex-direction: column;
        opacity: 0;
        transform: translateY(40px);
        transition: all 400ms ease;        
    }
    .video-modal.is-open .features-video-modal {
        opacity: 1;
        transform: translateY(0);
    }
    .close-button {
        position: absolute;
        top: -10px;
        right: -10px;
        z-index: 3;
        background-color: #274A34;
        color: #CCF88E;
        border: 0;
        width: 35px;
        height: 35px;
        border-radius: 9999px;
        cursor: pointer;
        transition: all 400ms;
        &:hover {
            background-color: #2d6339;
        }
    }
    .features-video-modal-content {
        width: 100%;
        aspect-ratio: 16 / 9;
        max-height: calc(100vh - 3rem);
        position: relative;
        opacity: 0;
        transform: translateY(0px);
        transition: opacity 400ms ease, transform 400ms ease;
        transition-delay: 80ms;
    }
    .video-modal.is-open .features-video-modal-content {
        opacity: 1;
        transform: translateY(0);
    }
    .features-video-modal-content video,
    .features-video-modal-content iframe {
        width: 100%;
        height: 100%;
        display: block;
        border: 0;
    }
    .features-video-modal-content video {
        object-fit: cover;
    }
    .video-modal:not(.is-open) * {
        pointer-events: none !important;
    }
    video.featured-video, .embedded-video {
        border-radius: 1rem;
        overflow: hidden;
    }
    @media (max-width: 1280px) {        
        .featured {
            margin: 0 1.5rem;
        }
        .intro {
            padding: 3rem 1.5rem;
        }
        .features {
            grid-template-columns: repeat(2, 1fr);
            margin: 2.25rem 1.5rem 0 1.5rem;
        }
        .card-image-container {
            height: 300px;
        }
    }
    @media (max-width: 768px) {
        padding: 0;
        .features {
            display: none;
        }
        .intro {
            padding: 0 1.5rem;
        }
        .swiper-wrapper {
            align-items: stretch;
        }
        .swiper-slide {
            height: auto;
            display: flex;
        }
        .featured {
            display: none;
        }
        .mobile-video {
            display: flex;
            justify-content: center;
        }
        .features-mobile {
            display: block;
            padding: 0 0 2.5rem 0;
        }
    }
    @media (max-width: 640px) {
        .featured {
            padding: 2rem;            
        }
        .video {
            height: 250px;
        }
        .legal {
            margin: 1rem 0 0 0;
        }
        .card-image-container {
            height: 230px;
        }
    }
}
.block-anchor {
    transform: translateY(-2.25rem);
}
@media (max-width: 768px) {
    .block-anchor {
        transform: translateY(-1rem);
    }
}