.devblog-content {
    padding: 80px 0 0 0;
}

/* ============================================================
   DEV BLOG HERO
   ============================================================ */

.devblog-hero {
    height: 100vh;

    display: flex;
    align-items: center;

    padding-left: 10%;

    position: relative;
    overflow: hidden;

    z-index: 0;
}

.devblog-hero::before {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            rgba(0,0,0,0.4),
            rgba(0,0,0,0.8)
        ),
        url("../images/hero-02.png");

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

    -webkit-mask-image:
        linear-gradient(
            to bottom,
            black 0%,
            black 50%,
            transparent 100%
        );

    mask-image:
        linear-gradient(
            to bottom,
            black 0%,
            black 50%,
            transparent 100%
        );

    z-index: 0;

    animation:
        heroZoom
        20s
        ease-in-out
        infinite
        alternate;
}

.devblog-hero-content {
    position: relative;
    z-index: 1;

    width: 100%;
    padding-right: 10%;

    text-align: right;
}

.devblog-hero-content p {
    margin-top: 30px;
    margin-left: auto;
    margin-right: 0;

    font-size: 22px;
    max-width: 500px;

    color: #aaa;
}

/* ============================================================
   DEVELOPMENT BLOG ITEMS
   ============================================================ */

.devblog-item {
    width: 100%;

    padding: 100px 15%;

    background: #050505;
}

.devblog-item:nth-child(even) {
    background: #0b0b0b;
}

.devblog-number {
    margin-bottom: 25px;

    font-size: 14px;

    font-weight: 700;

    letter-spacing: 4px;

    color: #555;
}

.devblog-item h1 {
    margin-bottom: 15px;

    font-size: 52px;

    line-height: 1;

    letter-spacing: 1px;
}

.devblog-item h2 {
    margin-bottom: 40px;

    font-size: 18px;

    letter-spacing: 3px;

    color: #666;
}

.devblog-item p {
    margin-bottom: 25px;

    font-size: 20px;

    line-height: 1.7;

    color: #aaa;
}

.devblog-item strong {
    color: white;
}

.devblog-item ul {
    margin: 30px 0;

    padding-left: 25px;

    max-width: 900px;
}

.devblog-item li {
    margin-bottom: 15px;

    font-size: 19px;

    line-height: 1.6;

    color: #aaa;
}

/* ============================================================
   HERO ANIMATION
   ============================================================ */

@keyframes heroZoom {

    from {
        transform: scale(1);
    }

    to {
        transform: scale(1.04);
    }

}

/* ============================================================
   MARQUEE
   ============================================================ */

.marquee {
    width: 100%;

    overflow: hidden;

    border-top: 1px solid #222;
    border-bottom: 1px solid #222;

    background: #050505;

    white-space: nowrap;
}

.marquee-track {
    display: inline-flex;

    align-items: center;

    gap: 60px;

    padding: 14px 0;

    animation:
        marquee
        180s
        linear
        infinite;
}

.marquee-track span {
    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

    color: #666;
}

.marquee-track span::after {
    content: "◆";

    margin-left: 60px;

    color: #333;
}

@keyframes marquee {

    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }

}

/* ============================================================
   UPDATES
============================================================ */

.updates details {
    width: 100%;
}

.updates summary {
    cursor: pointer;

    list-style: none;

    font-size: 52px;
    font-weight: 700;

    letter-spacing: 1px;

    color: #aaa;

    transition:
        color 0.2s ease,
        padding-left 0.2s ease;
}

.updates summary::-webkit-details-marker {
    display: none;
}

.updates summary::after {
    content: "+";

    display: inline-block;

    margin-left: 20px;

    font-size: 36px;
    font-weight: 400;

    color: #555;

    transition:
        transform 0.3s ease,
        color 0.2s ease;
}

.updates details[open] summary::after {
    content: "−";
    color: #aaa;
}

.updates summary:hover {
    color: #fff;
}

.updates-list {
    margin-top: 45px;

    border-top: 1px solid #222;
}

.update-item {
    position: relative;

    display: flex;
    align-items: center;

    gap: 40px;

    padding: 30px 0;

    border-bottom: 1px solid #222;

    text-decoration: none;

    transition:
        padding-left 0.25s ease,
        background 0.25s ease;
}

.update-item:hover {
    padding-left: 15px;
}

.update-date {
    flex-shrink: 0;

    width: 110px;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: 2px;

    color: #555;
}

.update-info {
    flex: 1;
}

.update-info h3 {
    margin: 0 0 10px 0;

    font-size: 22px;
    font-weight: 700;

    letter-spacing: 1px;

    color: #aaa;

    transition: color 0.2s ease;
}

.update-info p {
    margin: 0;

    max-width: 850px;

    font-size: 16px;
    line-height: 1.6;

    color: #666;
}

.update-item:hover .update-info h3 {
    color: #fff;
}

.update-arrow {
    flex-shrink: 0;

    font-size: 28px;

    color: #444;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.update-item:hover .update-arrow {
    color: #aaa;

    transform: translateX(5px);
}

/* ============================================================
MOBILE
============================================================ */

@media (max-width: 800px) {

    .devblog-hero::before {
        background-position: 30% center;
    }

    .devblog-hero-content {
        width: 100%;
        padding-right: 8%;
        text-align: right;
    }

    .devblog-hero-content p {
        max-width: 100%;
        margin-left: auto;
        margin-right: 0;

        font-size: 22px;
        color: #aaa;
    }

    .devblog-item {
        padding: 70px 8%;
    }

    .devblog-item h1 {
        font-size: 38px;
    }

    .devblog-item h2 {
        font-size: 15px;
    }

    .devblog-item p,
    .devblog-item li {
        font-size: 17px;
    }

    .updates summary {
        font-size: 38px;
    }

    .updates summary::after {
        font-size: 28px;
    }

    .updates-list {
        margin-top: 30px;
    }

    .update-item {
        gap: 15px;

        padding: 25px 0;

        align-items: flex-start;
    }

    .update-date {
        width: 80px;

        font-size: 11px;

        letter-spacing: 1px;
    }

    .update-info h3 {
        font-size: 17px;

        line-height: 1.3;
    }

    .update-info p {
        font-size: 14px;

        line-height: 1.5;
    }

    .update-arrow {
        font-size: 22px;
    }

}

/* ============================================================
   BACK TO TOP
   ============================================================ */

.back-to-top {
    position: fixed;

    right: 30px;
    bottom: 30px;

    width: 50px;
    height: 50px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #111;
    border: 1px solid #333;

    color: #aaa;

    font-size: 24px;
    line-height: 1;

    cursor: pointer;

    opacity: 0;
    visibility: hidden;

    transform: translateY(10px);

    transition:
        opacity 0.3s ease,
        visibility 0.3s ease,
        transform 0.3s ease,
        color 0.2s ease,
        border-color 0.2s ease;

    z-index: 999;
}

.back-to-top.visible {
    opacity: 1;
    visibility: visible;

    transform: translateY(0);
}

.back-to-top:hover {
    color: #fff;
    border-color: #666;
}
