:root{
     --bg:#071321;
     --bg2:#0d1f31;
     --card:#15283A;
     --text:#fff;
     --muted:#c9d4df;
     --gold:#f2b62c;
     --goldh:#ffd45a;
     --red:#d63d32;
     --redh:#ef5246;
}
 *{
    margin:0;
    padding:0;
    box-sizing:border-box
}
 body{
     font-family:Arial,Helvetica,sans-serif;
     background:linear-gradient(#071321,#0d1f31,#071321);
     color:var(--text);
}
 .topbar{
     position:sticky;
    top:0;
     display:flex;
    justify-content:space-between;
    align-items:center;
     padding:18px 40px;
     background:rgba(7,19,33,.92);
     backdrop-filter:blur(8px);
}
 .logo{
    height:48px
}
 nav a{
    color:#fff;
    text-decoration:none;
    margin-left:28px
}
/* .hero img{
    display:block;
    width:100%;
    max-width:1400px;
    margin:auto;
    box-shadow:0 20px 60px rgba(0,0,0,.5);
    border-radius:10px;
}
 */
 .hero {
     position: relative;
     border-radius: 24px;
     overflow: hidden;
}
 .hero-link {
     display: block;
     position: relative;
}
 .hero img {
     display: block;
     width: 100%;
     transition: transform .3s ease;
}
 .hero-overlay {
     position: absolute;
     inset: 0;
     display: flex;
     flex-direction: column;
     justify-content: flex-end;
     align-items: center;
     padding-bottom: 8%;
     background: linear-gradient( rgba(0,0,0,0), rgba(0,0,0,.55));
     transition: background .25s ease;
}
 .play-circle {
     width: 96px;
     height: 96px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 42px;
     color: white;
     background: rgba(255,255,255,.18);
     border: 2px solid rgba(255,255,255,.9);
     backdrop-filter: blur(6px);
     transition: all .25s ease;
}
 .play-text {
     margin-top: 20px;
     font-size: 26px;
     font-weight: bold;
     letter-spacing: 3px;
     color: white;
     text-shadow: 0 4px 12px rgba(0,0,0,.8);
}
 .hero:hover img {
     transform: scale(1.02);
}
/* .hero:hover .hero-overlay {
     background: linear-gradient( rgba(0,0,0,.15), rgba(0,0,0,.70));
}
 */
 .hero:hover .play-circle {
     transform: scale(1.08);
     background: rgba(255,255,255,.28);
     box-shadow: 0 0 30px rgba(255,255,255,.25);
}
 .trailer {
     text-align: center;
     margin-top: 35px;
     margin-bottom: 55px;
}
 .trailer-button {
     display: inline-flex;
     flex-direction: column;
     align-items: center;
     color: white;
     text-decoration: none;
}
 .play-circle {
     width: 90px;
     height: 90px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 42px;
     background: rgba(255,255,255,.08);
     border: 2px solid rgba(255,255,255,.85);
     transition: .25s;
}
 .play-icon {
     width: 96px;
     height: 96px;
     transition: transform .25s ease, filter .25s ease;
}
 .trailer-button:hover .play-icon {
     transform: scale(1.08);
     filter: drop-shadow(0 0 12px rgba(55,184,255,.7));
}
/* .trailer-button:hover .play-text {
     color: var(--blue);
}
 */
 .play-text {
     margin-top: 18px;
     font-size: 24px;
     font-weight: bold;
     letter-spacing: 3px;
     transition: .25s;
}
 .trailer-button:hover .play-circle {
     transform: scale(1.08);
     background: rgba(255,255,255,.18);
     box-shadow: 0 0 25px rgba(255,255,255,.20);
}
 .trailer-button:hover .play-text {
     color: #38B8FF;
}
 section{
    width:1100px;
    margin:80px auto
}
 h1,h2{
    margin-bottom:24px
}
section > h2 {
    text-align: center;
    margin-bottom: 35px;
}
 p{
    color:var(--muted);
    font-size:18px;
    line-height:1.7
}
 .intro{
    text-align:center
}
 .buttons{
    margin-top:36px
}
 .btn{
     display:inline-block;
     padding:16px 32px;
     margin:8px;
     border-radius:8px;
     text-decoration:none;
     font-weight:bold;
     transition:.2s;
}
 .steam{
    background:var(--red);
    color:#fff
}
 .steam:hover {
     background: var(--redh);
     transform: translateY(-2px);
}
 .play{
    background:var(--gold);
    color:#111
}
 .play:hover {
     background: var(--goldh);
     transform: translateY(-2px);
}
 .video{
    position:relative;
    display:block
}
 .video img{
    width:100%;
    border-radius:12px
}
 .playicon{
     position:absolute;
    left:50%;
    top:50%;
     transform:translate(-50%,-50%);
     font-size:90px;
    color:white;
     text-shadow:0 0 25px black;
}
 .shots{
     display:grid;
     grid-template-columns:repeat(2,1fr);
     gap:20px;
}
 .shots img{
     width:100%;
     border-radius:10px;
     transition:.2s;
}
 .shots img:hover{
    transform:scale(1.02)
}
 .features{
     display:grid;
     grid-template-columns:repeat(4,1fr);
     gap:20px;
}
 .features div{
     background:rgba(255,255,255,.05);
     padding:24px;
     border-radius:10px;
}
 .links{
     display:flex;
     justify-content:center;
     gap:16px;
     flex-wrap:wrap;
}
 .links a{
     padding:12px 20px;
     background:rgba(255,255,255,.05);
     color:white;
     text-decoration:none;
     border-radius:8px;
}
 footer{
     margin-top:80px;
     padding:40px;
     text-align:center;
     border-top:1px solid rgba(255,255,255,.08);
     color:#9fb2c4;
}
 footer a{
    color:#9fb2c4;
    text-decoration:none
}


/* =========================================================
   Responsive Layout
   ========================================================= */

html{
    overflow-x:hidden;
}

body{
    overflow-x:hidden;
}

section{
    width:min(1100px, calc(100% - 48px));
    margin:80px auto;
}

.hero img{
    height:auto;
}

.topbar{
    gap:20px;
    flex-wrap:wrap;
}

nav{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
}

nav a{
    margin-left:0;
}

img{
    max-width:100%;
    height:auto;
}

@media (max-width:1024px){

    section{
        width:min(100%, calc(100% - 40px));
        margin:60px auto;
    }

    .features{
        grid-template-columns:repeat(2,1fr);
    }

    .shots{
        grid-template-columns:1fr;
    }

    .play-circle,
    .play-icon{
        width:72px;
        height:72px;
    }

    .play-text{
        font-size:20px;
        letter-spacing:2px;
    }

    h1{
        font-size:2.2rem;
    }

    h2{
        font-size:1.8rem;
    }
}

@media (max-width:768px){

    .topbar{
        flex-direction:column;
        justify-content:center;
        text-align:center;
        padding:18px 20px;
    }

    nav{
        justify-content:center;
    }

    p{
        font-size:16px;
    }

    .buttons{
        display:flex;
        flex-direction:column;
        align-items:center;
        gap:12px;
    }

    .btn{
        width:min(340px,100%);
        text-align:center;
        margin:0;
    }

    .features{
        grid-template-columns:1fr;
    }

    .links{
        flex-direction:column;
        align-items:center;
    }

    .links a{
        width:min(340px,100%);
        text-align:center;
    }

    .play-circle,
    .play-icon{
        width:64px;
        height:64px;
    }

    .play-text{
        font-size:18px;
        margin-top:14px;
    }

    footer{
        padding:30px 20px;
    }
}

@media (max-width:480px){

    section{
        width:calc(100% - 24px);
        margin:48px auto;
    }

    .logo{
        height:40px;
    }

    h1{
        font-size:1.8rem;
    }

    h2{
        font-size:1.5rem;
    }

    p{
        font-size:15px;
        line-height:1.6;
    }

    .hero{
        border-radius:16px;
    }

    .play-circle,
    .play-icon{
        width:56px;
        height:56px;
    }

    .play-text{
        font-size:16px;
        letter-spacing:1px;
    }

    .features div{
        padding:18px;
    }
}
