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

body {
    font-family: 'Itim', cursive;
    color: #ECFAFF;
    background-color: #ECFAFF;
    line-height: 1.6;
}

.main-header {
    position: relative;
    text-align: center;
    margin-bottom: 20px;
}

.header-content-wrapper {
    position: relative;
    display: flex;
    justify-content: center;
}

.nav-wrapper {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
}

.nav-bg {
    position: absolute;
    top: 0;

    width: min(100%, 699px);
    height: 77px;

    background-color: #FFFBFB;
    border-radius: 0 0 50px 50px;

    z-index: 1;
}

.main-nav {
    position: relative;
    z-index: 2;

    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;

    height: 77px;
    flex-wrap: wrap;
}

.nav-item {
    text-decoration: none;
    color: #A5A857;
    letter-spacing: 2px;
    transition: color 0.3s;
}

.nav-item:hover {
    color: #7A7A3D;
}

.hero-card-bg {
    position: relative;
    margin: 40px auto 0;

    width: min(92%, 1342px);
    aspect-ratio: 1342 / 100; 
    border-radius: 50px;
    overflow: hidden;
}

.title {
    background-image: url('nerd.png');
    background-size: 60%; 
    background-repeat: no-repeat;
    background-position: center;

    position: absolute;
    top: 70%;
    left: 50%;
    transform: translate(-50%, -50%);

    width: 86%;
    height: 100%;
    text-align: center;
    z-index: 9;
}

.film-wrapper {
    width: 100%;
    margin-top: -110px;
    margin-left: 50%;
    transform: translateX(-59%);
}

.film-divider {
    width: 110%;
    aspect-ratio: 5000 / 2000;
    background-image: url("roads.png");
    background-size: contain;   
    background-repeat: no-repeat;
    background-position: center;
}

/* ===== GRID ===== */
.grid-section {
    width: 90%; 
    aspect-ratio: 1317 / 1164;
    background: url("grid.png") center / cover no-repeat;

    margin-top: -90px;
    margin-bottom: 90px;
    margin-left: 50%;
    transform: translateX(-50%);

    position: relative;
}

.rating {
    position: absolute;

    width: 12%;
    height: 8%;

    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;

    z-index: 10;
}

.b1 {
    width: 20%; 
    aspect-ratio: 283 / 442;
    background: url("morrie.png") center / cover no-repeat;

    top: 10%;
    left: 20%;
    transform: translateX(-50%);

    position: absolute;
}

.rating.r1 {
    left: 10%;
    top: 41%; 
    height: 15%;
    width: 15%;
    background-image: url('5star.png');
}

.b2 {
    width: 20%; 
    aspect-ratio: 283 / 442;
    background: url("real.png") center / cover no-repeat;

    top: 10%;
    left: 50%;
    transform: translateX(-50%);

    position: absolute;
}
.rating.r2 {
    left: 40%;
    top: 41%; 
    height: 15%;
    width: 15%;
    background-image: url('5star.png');
}

.b3 {
    width: 20%; 
    aspect-ratio: 283 / 442;
    background: url("ikan.png") center / cover no-repeat;

    top: 10%;  
    left: 80%;
    transform: translateX(-50%);

    position: absolute;
}

.rating.r3 {
    left: 70%;
    top: 41%; 
    height: 15%;
    width: 15%;
    background-image: url('5star.png');
}

.b4 {
    width: 20%; 
    aspect-ratio: 283 / 442;
    background: url("heart.png") center / cover no-repeat;

    position: absolute;
    top: 72%;  
    left: 20%;
    transform: translate(-50%, -50%);
}

.rating.r4 {
    left: 10%;
    top: 83%;
    height: 20%;
    width: 10%;
    background-image: url('3star.png');
}

.b5 {
    width: 20%; 
    aspect-ratio: 283 / 442;
    background: url("key.png") center / cover no-repeat;

    position: absolute;
    top: 72%;  
    left: 50%;
    transform: translate(-50%, -50%);
}

.rating.r5 {
    left: 40%;
    top: 83%;
    height: 20%;
    width: 12%;
    background-image: url('4star.png');
}

.b6 {
    width: 20%; 
    aspect-ratio: 283 / 442;
    background: url("scarlet.png") center / cover no-repeat;

    position: absolute;
    top: 72%;  
    left: 80%;
    transform: translate(-50%, -50%);
}

.rating.r6 {
    left: 70%;
    top: 85%;
    height: 15%;
    width: 15%;
    background-image: url('5star.png');
}