main {
    --inter: "Inter", sans-serif;
    --helvetica: "helvetica-neue-lt-pro", sans-serif;
    --white: #F7F7F8;
    --black: black;
    --dark: #202020;
    --primary: #4d59ff;
    --muted: #BCBCC8;
    --muted-2: #A39C91;
    --muted-3: #94949E;

    color: var(--white);
    background: var(--black);
    font-family: var(--helvetica);
    
    /* Resets */
    a:visited{
        color: unset;
    }
    button:not(.primary) {
        border: unset;
        color: unset;
        padding: unset;
        line-height: unset;
        background-color: unset;
        height: unset;
    }
    body button:hover{
        color: unset;
        background-color: unset;
    }
    .accordion {
        display: flex;
        flex-direction: column;
        gap: 48px;
    }
    .accordion-item {
        all: unset;
    }
    .accordion-header {
        margin-top: 0px;
    }
    .accordion-body {
        padding: 20px;
        @media(max-width: 576px){
            padding-inline: 0;
        }
    }
    .accordion-button, .accordion-button:not(.collapsed) {
        color: unset;
        background: unset;
        box-shadow: unset;
        justify-content: space-between;
        min-width: 0;
    }
    .accordion-button::after, .accordion-button:not(.collapsed)::after {
        margin: 0;
        background-image: url(/assets/images/icons/chevron-down-white.svg);
    }

    /* UTILS */
    .text-wrap-balance{
        text-wrap-style: balance;
    }
    .tint {
        position: absolute;
        inset: 0;
        background: linear-gradient(rgba(0 0 0 /.5));
    }
    .play-circle-white{
        @media(max-width: 768px){
            height: 60px;
            width: 60px;
        }
    }

    /* LAYOUTS */
    .text-left-right {
        display: flex;
        gap: 10px;

        width: 100%;
        max-width: 1064px;
        margin-inline: auto;
        
        padding-block: 48px;
        
        & > div {
            flex: 1;

            &:first-of-type > * {
                color: var(--muted-2);
                width: 100%;
                margin: 0;
            }
            
            &:last-of-type > * {
                margin: 0;
            }
        }

        @media(max-width: 768px){
            padding-block: 40px;
        }
        @media(max-width: 576px){
            flex-direction: column;
            padding-block: 32px;
            gap: 16px;
        }
    }
    .image-left-text-right{
        display: flex;

        & > div {
            flex: 1;

            &:has(img) {
                & > img {
                    height: 100%;
                    width: 100%;
                    object-fit:cover;
                    @media(max-width: 768px){
                        aspect-ratio: 1;
                    }
                }
                @media(max-width: 576px){order: 1;}
            }

            &:has(div){
                & > div {
                    display: flex;
                    flex-direction: column;
                    justify-content: center;
                    gap: 20px;

                    color: var(--black);
                    background: var(--muted-2);
                    
                    height: 100%;
                    padding: 80px;
                    &>*{margin:0;}
                    
                    @media(max-width: 1200px){padding: 40px;}
                    @media(max-width: 992px){padding: 32px; gap: 16px;}
                    @media(max-width: 576px){padding: 20px;}
                }
                @media(max-width: 576px){order: 2;}
            }
        }
        
        @media(max-width: 576px){
            flex-direction: column;
        }
    }
    .image-text-grid{
        display: flex;
        flex-direction: column;
        gap: 32px;
        padding-block: 48px;
        @media(max-width: 768px){padding-block: 40px; gap: 24px;}
        @media(max-width: 576px){padding-block: 32px; gap: 40px;}
    }

    a {
        color: var(--white);
        &:hover {
            color: var(--white);
            text-decoration: none;
        }
    }

    p, .p {
        margin: 0;
        font-family: var(--inter);
        font-size: 18px;
        font-weight: 400;
        line-height: 150%;
        @media(max-width: 992px){font-size: 16px;}
        
        &.lg {
            font-size: 22px;
            font-weight: 400;
            line-height: 130%;
            @media(max-width: 992px){font-size: 20px;}
        }
        
        &.md {
            font-size: 16px;
            font-weight: 400;
            line-height: 150%;
            @media(max-width: 992px){font-size: 14px;}
        }
    }

    h1, .h1 {
        font-size: 72px;
        font-weight: 500;
        line-height: 100%;
        letter-spacing: -2.16px;                
        text-wrap-style: balance;
        
        @media(max-width: 992px){
            font-size: 64px;
        }
        @media(max-width: 576px){
            font-size: 52px;
        }
    }

    h2, .h2 {
        font-size: 64px;
        font-weight: 500;
        line-height: 100%;
        letter-spacing: -1.92px;
        text-transform: capitalize;
        
        @media(max-width: 992px){
            font-size: 52px;
        }
        @media(max-width: 576px){
            font-size: 40px;
        }
    }
    
    h3, .h3 {
        font-size: 48px;
        font-weight: 500;
        line-height: 120%;
        letter-spacing: -1.44px;
        
        @media(max-width: 992px){
            font-size: 40px;
            letter-spacing: -1.2px;
        }
        @media(max-width: 576px){
            font-size: 36px;
            letter-spacing: -1.08px;
        }
    }

    h4, .h4 {
        font-size: 32px;
        font-weight: 500;
        line-height: 120%;
        letter-spacing: -0.96px;
        
        @media(max-width: 992px){
            font-size: 28px;
            line-height: 100%;
            letter-spacing: -0.84px;
        }
    }
    
    h5, .h5 {
        margin: 0;
        font-size: 24px;
        font-weight: 500;
        line-height: 120%;
        letter-spacing: -0.72px;
        
        @media(max-width: 992px){
            font-size: 20px;
            letter-spacing: -0.6px;
        }
    }

    .title {
        font-size: 40px;
        font-weight: 500;
        line-height: 100%;
        letter-spacing: -1.2px;
        text-transform: capitalize;
    }

    .subtitle {
        color: var(--muted);
        font-size: 18px;
        font-weight: 500;
        line-height: 95%;
        letter-spacing: 0.9px;
    }

    .card-title {
        font-size: 32px;
        font-weight: 500;
        line-height: 100%;
        letter-spacing: -0.84px;
        text-transform: capitalize;
        
        @media(max-width: 992px){
            font-size: 28px;
        }
        @media(max-width: 576px){
            font-size: 24px;
        }
    }

    .button,
    button {
        display: inline-flex;
        align-items: center;
        gap: 16px;
        padding-block: 8px;
        padding-inline: 14px 8px;
        min-width: max-content;
        
        color: var(--white);
        font-family: var(--helvetica);
        font-size: 16px;
        font-weight: 700;
        line-height: 95%;
        letter-spacing: 0.8px;
        
        text-transform: uppercase;
        text-decoration: underline;
        text-decoration-color: transparent;
        text-underline-offset: 2px;

        border: 0;
        border-radius: 4px;
        transition: all .25s ease-out;

        &.arrow::after {
            content: "";
            transition: inherit;

            border-radius: 2px;
            height: 28px;
            width: 28px;

            background-position: center;
            background-repeat: no-repeat;
            background-size: 16px;
        }
        
        &.primary{
            background: rgba(from var(--primary) r g b / 0.80);
            backdrop-filter: blur(7.5px);
            
            &.arrow::after {
                background-color: var(--white);
                background-image: url("/assets/images/icons/arrow-right-purple.svg");
            }
            
            &:hover, &.hover{
                color: black;
                background: rgba(from var(--white) r g b / 0.80);

                &.arrow::after {
                    background-color: var(--primary);
                    background-image: url("/assets/images/icons/arrow-right-white.svg");
                }
            }
        }

        &.secondary {
            &.arrow::after {
                border: 1px solid var(--white);
                background-image: url("/assets/images/icons/arrow-right-white.svg");
            }

            &:hover, &.hover {
                text-decoration-color: var(--white);
                
                &.arrow::after {
                    border-color: transparent;
                    background-color: var(--primary);
                }
            }
        }

        &.edj {
            text-decoration: none;
            background: linear-gradient(90deg, rgba(1, 236, 95, 0.80) 0%, rgba(60, 183, 209, 0.80) 100%);
            backdrop-filter: blur(7.5px);
            
            &.arrow::after {
                background-color: var(--white);
                background-image: url("/assets/images/icons/arrow-right-green.svg");
            }
            
            &:hover, &.hover{
                color: black;
                background: rgba(from var(--white) r g b / 0.80);

                &.arrow::after {
                    background-color: var(--white);
                    background-image: url("/assets/images/icons/arrow-right-green.svg");
                }
            }
        }

        &:hover, &.hover {
            border: 0;
        }
    }

    .slider {
        & .slide {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 20px;
            
            padding: 73px 70px;
            border-radius: 8px;
            background-blend-mode: normal, luminosity, normal;
            
            /* LEFT */
            & > div:first-of-type {
                flex: 0 1 456px;
                display: flex;
                align-items: flex-start;
                flex-direction: column;
                gap: 32px;
                & > h2, & > p { margin: 0; }
            }

            /* RIGHT */
            & > div:last-of-type {
                flex: 0 1 635px;
                & > img {
                    width: 100%;
                    object-fit: contain;
                }
            }
                
            @media(max-width: 768px){
                gap: 24px;
                flex-direction: column-reverse;
                padding: 12px 32px 20px;
                
                & > div:first-of-type { flex: 1; gap: 16px; }
                & > div:last-of-type { flex: 1; }
            }
        }

        & .slick-arrow {
            background: transparent;
            
            &::before {
                content: none;
            }

            &.slick-prev {
                left: 32px;
                @media(max-width: 576px){
                    left: 16px;
                }
            }
            
            &.slick-next {
                right: 32px;
                @media(max-width: 576px){
                    right: 16px;
                }
            }
        }

        & .slick-dots {
            --size: 10px;
            bottom: -31.7px; /* puts dots 20px below */
            
            & > * {
                height: var(--size);
                width: var(--size);
            }
            & button {
                background: #61616B;
                height: inherit;
                width: inherit;
                border-width: 0;
                border-color: transparent;

                &::before {
                    height: inherit;
                    width: inherit;
                }
                
                &:hover {
                    border-width: 0;
                    border-color: transparent;
                }
            }
            & .slick-active > button {
                background: var(--white);
            }
        }
    }
}