/* ---------- RESET ---------- */

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

/* ---------- ROOT ---------- */

:root {
    --bg: #000000;
    --white: #ffffff;
    --gray: #8d8d8d;

    --max-width: 1200px;
}

/* ---------- BODY ---------- */

body {
    background: var(--bg);
    color: var(--white);

    font-family: "Space Grotesk", sans-serif;

    min-height: 100vh;

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

    overflow: hidden;
}

/* ---------- LAYOUT ---------- */

.landing {

    width: 100%;
    max-width: var(--max-width);

    display: flex;
    flex-direction: column;

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

    text-align: center;

    padding: 40px;

}

/* ---------- LOGO ---------- */

.logo{

    width:170px;

    margin-bottom:25px;

}

/* ---------- TITLE ---------- */

h1 {

    font-size: clamp(2.5rem,6vw,5rem);

    font-weight: 700;

    letter-spacing: .35rem;

    margin-bottom: 20px;

}

/* ---------- SUBTITLE ---------- */

.subtitle{

    color: var(--gray);

    letter-spacing: .7rem;

    font-size: .95rem;

    margin-bottom: 90px;

}

.status{
    margin:30px 0;
    text-align:center;
}

.status-label{

    font-size:.75rem;

    letter-spacing:8px;

    color:#666;

    margin-bottom:18px;

}

.status h2{

    font-size:1.8rem;

    letter-spacing:6px;

    font-weight:500;

    margin-bottom:18px;

}

.status-progress{

    font-size:3.5rem;

    font-weight:600;

}

/* ---------- COUNTDOWN ---------- */

#countdown{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:85px;
    margin-top:50px;
}

.time-box{
    display:flex;
    flex-direction:column;
    align-items:center;
}

.time-box span{
    font-size:6rem;
    font-weight:700;
    color:#fff;
    line-height:1;
}

.time-box label{
    margin-top:15px;
    font-size:.9rem;
    letter-spacing:6px;
    color:#6d7b95;
}

/* ---------- QUOTE ---------- */

footer{

    position:fixed;

    bottom:25px;

    left:50%;

    transform:translateX(-50%);

    color:#777;

    font-size:.9rem;

    letter-spacing:.08rem;

    z-index:1;

}

/* ---------- TERMINAL ---------- */

.terminal{

    position:fixed;

    right:80px;

    bottom:90px;

    width:340px;

    text-align:left;

    font-size:.9rem;

    opacity:.9;

}

.terminal h3{

    margin-bottom:12px;

    font-size:1rem;

    letter-spacing:2px;

}

.terminal-window{

    border-left:2px solid rgba(255,255,255,.2);

    padding-left:15px;

    color:#d8d8d8;

    line-height:1.8;

}