*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    background:#171d28;
    color:#ffffff;
    font-family:Arial, Helvetica, sans-serif;
    line-height:1.6;
}

.hero{
    width:100%;
}

.hero img{
    width:100%;
    display:block;
}

.container{
    width:min(1500px,92%);
    margin:auto;
}

.showreel{
    padding:0;
}

.video-container{
    width:100%;
}

.video-thumbnail{
    position:relative;
    width:100%;
    overflow:hidden;
    cursor:pointer;
}

.video-thumbnail img{
    width:100%;
    display:block;
}

.video-container iframe{
    width:100%;
    height:calc(100vw * 0.5625);
    max-height:90vh;
    border:0;
    display:block;
}

.play-button{
    position:absolute;
    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    width:120px;
    height:120px;

    border:none;
    border-radius:50%;

    background:rgba(0,0,0,.65);

    color:white;

    font-size:3rem;

    cursor:pointer;

    transition:
        transform .25s ease,
        background .25s ease;
}

.play-button:hover{
    transform:translate(-50%,-50%) scale(1.08);
    background:rgba(0,0,0,.85);
}

section{
    padding:80px 0;
}

h2{
    text-align:center;
    font-size:2.5rem;
    font-weight:300;
    letter-spacing:3px;
    margin-bottom:40px;
}

.grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:24px;
}

.card{
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:14px;
    padding:50px 30px;
    text-align:center;

    transition:
    transform .25s ease,
    border-color .25s ease,
    background .25s ease;
}

.card:hover{
    transform:translateY(-6px);

    border-color:rgba(255,255,255,0.25);

    background:rgba(255,255,255,0.08);
}

.card h3{
    font-weight:300;
    letter-spacing:1px;
}

.contact{
    text-align:center;
    padding-bottom:120px;
}

.contact a{
    color:white;
    text-decoration:none;
    font-size:1.3rem;
}

.contact a:hover{
    opacity:.7;
}

@media(max-width:900px){

    h2{
        font-size:2rem;
    }

    .play-button{
        width:80px;
        height:80px;
        font-size:2rem;
    }

    .video-container iframe{
        height:56vw;
    }

}