*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

#navbar{

    position:absolute;

    top:5px;
    left:0;

    width:100%;

    display:flex;

    justify-content:space-around;
    align-items:center;

    z-index:1000;
}

#navbar a{

    font-family:'Lost Vietnam';

    font-size:2rem;

    color:#C75739;

    text-decoration:none;
}

#navbar a:hover{

    text-decoration:underline;
}

#nav-middle{

    display:flex;

    justify-content:center;
    align-items:center;
}

#nav-logo{

    width:100px;

    height:auto;

    display:block;
}

#nav-home{

    display:none;
}

#navbar.scrolled{

    position:fixed;

    top:0;

    background:#C75739;

    padding:7px 0;
}

#navbar.scrolled a{

    color:white;
}

#navbar.scrolled #nav-logo{

    display:none;
}

#navbar.scrolled #nav-home{

    display:block;
}

body{

    font-family:'Be Vietnam Pro', sans-serif;
    
}

h1{
    font-family: 'Lost Vietnam', serif;
    font-size:8rem;
}

a {
    color:#c75739
}

/*section 1*/
.hero{

    position:relative;

    height:100vh;
}

.hero img{

    width:100%;
    height:100%;

    object-fit:cover;
}

.hero-overlay{

    position:absolute;

    inset:0;

    display:flex;

    flex-direction:column;

    justify-content:center;
    align-items:center;

    color:white;

    text-align:center;

    text-shadow: 2px 2px 4px #000000;
}

.hero-overlay p {
    font-size: 1.5rem;
}

/*section 2*/
.story{

    position:relative;

    display:grid;

    grid-template-columns:
    1fr 1fr;

    max-width:1200px;

    margin:auto;
}

.story-left{

    position:sticky;

    top:50px;

    height:600px;

    display:flex;

    justify-content:center;
    align-items:center;
}

.story-left img{

    width:450px;
}

.story-step{

    min-height:70vh;

    display:flex;

    flex-direction:column;

    justify-content:center;

    font-size:1.4rem;
}

/*section 3*/
.credits{

    min-height:auto;

    display:flex;

    justify-content:center;
    align-items:center;

    padding:5px 40px 80px 40px;
}
.message{

    max-width:900px;

    width:100%;

    padding:60px;

    background:white;

    border:none;

    border-radius:20px;

    box-shadow:
    0 5px 20px rgba(0,0,0,.08);

    font-size:1.4rem
}

/*acessbility*/
.toolbox{

    position:fixed;

    top:120px;
    left:30px;

    z-index:9999;

    display:flex;

    gap:12px;
}

.toolbox button{

    width:48px;
    height:48px;

    border:none;

    background:none;

    padding:0;

    cursor:pointer;
}

.toolbox img{

    width:100%;
    height:100%;

    display:block;
}

/*resize*/
.font-big .story-step,
.font-big .message{

    font-size:1.7rem;
}

.font-small .story-step,
.font-small .message{

    font-size:1.1rem;
}

/*special pop*/
.floating-persimmon{

    position:fixed;

    width:60px;

    height:auto;

    pointer-events:none;

    z-index:9999;

    animation:pop 1.5s ease forwards;
}
@keyframes pop{

    0%{

        opacity:0;

        transform:
        translate(-50%,-50%)
        scale(.3);
    }

    20%{

        opacity:1;

        transform:
        translate(-50%,-50%)
        scale(1);
    }

    100%{

        opacity:0;

        transform:
        translate(-50%,-80%)
        scale(.8);
    }
}

/* =========================
   TABLET
========================= */

@media (max-width:1024px){

    h1{
        font-size:5rem;
    }

    #navbar a{
        font-size:1.25rem;
    }

    #nav-logo{
        width:70px;
    }

    .toolbox{
        top:90px;
        left:20px;
    }

    .story{

        max-width:900px;

        padding:0 30px;
    }

    .story-left{

        top:80px;

        height:500px;
    }

    .story-left img{

        width:350px;
    }

    .story-step{

        min-height:60vh;

        font-size:1.2rem;
    }

    .message{

        max-width:800px;

        padding:40px;

        font-size:1.2rem;
    }

}

/* =========================
   MOBILE (safety net)
   Layout 2 cột sticky-scroll này chủ đích không tối ưu cho mobile
   (xem ghi chú trong hero). Phần dưới đây chỉ đảm bảo không vỡ layout,
   không phải một bản thiết kế mobile đầy đủ.
========================= */

@media (max-width:768px){

    h1{
        font-size:3rem;
    }

    #navbar a{
        font-size:1rem;
    }

    #nav-logo{
        width:55px;
    }

    .toolbox{
        top:auto;
        bottom:20px;
        left:20px;
    }

    .story{

        display:block;

        max-width:100%;

        padding:0 20px;
    }

    .story-left{

        position:sticky;

        top:70px;

        height:auto;

        margin-bottom:24px;
    }

    .story-left img{

        width:100%;

        max-width:260px;
    }

    .story-step{

        min-height:auto;

        padding:24px 0;

        font-size:1.05rem;
    }

    .message{

        max-width:100%;

        padding:24px;

        font-size:1.05rem;
    }

}