

body {
    padding: 0;
    margin: 0;
    min-height: 100vh;
    ime-mode: disabled;
}

.nav-wrap {
    position: fixed;
    width: 100%;
    height: 180px;
    background: black;
    top: 0;
    left: 0;
}
.nav-wrap .nav {
    background: #161255;
    height: 100%;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 1fr 1fr 76px;
    align-items: center;
    padding: 52px 110px;
    gap: 58px;
}
.nav div {
    text-align: center;
}
.nav1 {
    text-align: center;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    gap: 4px;
    align-items: center;
    justify-self: end;
    max-width: 230px;
    width: 100%;
}
.nav1 img {
    width: 100%;
    max-height: 32px;
    object-fit: contain;
}
.nav2 {
    text-align: center;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 4px;
    align-items: center;
    justify-self: start;
    max-width: 150px;
    width: 100%;
}
.nav2 div {
    text-align: center;
}
.nav2 img {
    width: 100%;
    max-height: 40px;
    object-fit: contain;
}
.nav1,
.nav2,
.nav3 button {
    position: relative;
    z-index: 2;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}

.nav3 {
    width: 76px;
    height: 76px;
    justify-self: end;
}
.nav3 button {
    width: 100%;
    height: 100%;
    outline: none;
    border: none;
    background: #b70216;
    border-radius: 50%;
}

.footer-wrap {
    position: fixed;
    width: 100%;
    height: 124px;
    background: black;
    bottom: 0;
    left: 0;
}
.footer-wrap .footer {
    background: #161255;
    height: 100%;
}

.container {
    padding-top: 180px;
    padding-bottom: 124px;
    min-height: calc(100vh - 180px - 124px);
    box-sizing: border-box;
}
.typo {
    --typed-size: 180px;
    min-height: calc(100vh - 180px - 124px - 30px);
    padding: 20px 48px;
    box-sizing: border-box;
    outline: none;
    cursor: text;
    caret-color: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--typed-size) * 0.08);
    overflow: hidden;
    white-space: nowrap;
}
.typo:empty::before {
    content: "";
}
.typo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.typo div {
    width: var(--typed-size);
    height: var(--typed-size);
    flex: 0 0 var(--typed-size);
    box-sizing: border-box;
    text-align: center;
}

@media (max-width: 700px) {
    .nav-wrap {
        height: 136px;
    }
    .nav-wrap .nav {
        grid-template-columns: 1fr 1fr 54px;
        padding: 41px 34px;
        gap: 24px;
    }
    .nav1 {
        max-width: 170px;
    }
    .nav2 {
        max-width: 108px;
    }
    .nav1 img {
        max-height: 24px;
    }
    .nav2 img {
        max-height: 30px;
    }
    .nav3 {
        width: 54px;
        height: 54px;
    }
    .footer-wrap {
        height: 92px;
    }
    .container {
        padding-top: 136px;
        padding-bottom: 92px;
        min-height: calc(100vh - 136px - 92px);
    }
    .typo {
        --typed-size: 117px;
        min-height: calc(100vh - 136px - 92px - 24px);
        padding: 16px 26px;
    }
}
