* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --ff-text: 'Epilogue', sans-serif;

    --hue: 250;

    --bg-primary: hsl(var(--hue), 22%, 20%);
    --fc-primary: hsl(var(--hue), 0%, 100%);
    --fc-secondary: hsl(var(--hue), 50%, 80%);
    --fc-card: hsl(var(--hue), 100%, 11%);


    --fs-header-small: 1.6rem;
    --line-h-small: 3.2rem;
    --fs-header-big: clamp(4rem, 1rem + 5vw, 5.6rem);
    --fs-header-sm: clamp(3rem, 0.5rem + 4vw, 4rem);
    --line-h-big: 4.8rem;

    font-size: 62.5%;
}

body {
    background-color: var(--bg-primary);

    font-family: var(--ff-text);

    color: var(--fc-primary);

    font-size: var(--fs-header-small);
    line-height: var(--line-h-small);
}

.page {
    max-width: clamp (33rem, 30rem + 60vw, 117rem);
    padding: 0 5rem;
    margin: 0 auto;
}

@media (min-width: 700px) {
    main {
        grid-template-columns: 1fr 1fr;
    }

    
    .page {
        max-width: 170rem;
        padding: 0 5rem
    }
}

@media (min-width: 930px) {
    main {
        grid-template-areas: "A B B"
        "C C D";
    }

    main div:nth-child(1) {
        grid-area: A;
    }

    main div:nth-child(2) {
        grid-area: B;
    }

    main div:nth-child(3) {
        grid-area: C;
    }

    main div:nth-child(4) {
        grid-area: D;
    }
}

main {
    display: grid;
    gap: 3.2rem;
    animation: downtop 700ms 350ms backwards;
      
    
}

img {
    width: 100%;
    height: auto;
}

header {
    font-family: var(--ff-text);

    text-align: center;
    
    margin: 10rem 0 8rem;

    animation-name: topdown;
    animation-duration: 700ms;
}

header p {
    color: var(--fc-secondary);
    text-transform: uppercase;

   
    letter-spacing: 3px;

    margin-bottom: 1.7rem;
}

header h1 {
    font-weight: 800;
    font-size: var(--fs-header-big);
    line-height: var(--line-h-big);
}

.card {
    position: relative;
}

.card img {
    height: 41.6rem;
    object-fit: cover;

    border-radius: 0.6rem;


    transition: transform 200ms;

    filter: brightness(0.5) saturate(1.5)
    
}

.card img:hover {
    transform: scale(1.1);
    opacity: 0.4;
}

.card h2 {
    position: absolute;
    bottom: 5.2rem;
    left: 2.8rem;
    color: var(--fc-primary);
    
    font-size: var(--fs-header-sm);
    line-height: var(--line-h-big);

    font-weight: 800;
    
}   


.card h2 {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

.card h2 span {
    font-size: var(--fs-header-small);
    line-height: var(--line-h-small);
    font-weight: 400;

    background-color: var(--fc-primary);

    height: 3.8rem;
   
    border-radius: 2rem;

    padding: 0 1.6rem;

    color: var(--fc-card);

    display: inline-flex;
    
    align-items: center;

    width: fit-content;
}

@keyframes topdown {
    0% {
        opacity: 0;
        transform: translateX(15px);
    }

    100% {
        opacity: 1;
        transform: translateX(0)
    }
}

@keyframes downtop {
    0% {
        opacity: 0;
        transform: translateY(0);
    }
    
    100% {
        opacity: 1;
        transform: translateY(15px);
    }

}
