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

a {
    text-decoration: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

[v-cloak] {
    display: none !important;
}

html {
    height: 100%;
    background: #E3EEF8;
}

body{
    min-height: 100svh;
    position: relative;
    background: #E3EEF8;
    overflow-x: hidden;
}

.layout{
    width: 100%;
    height: 100%;
    position: relative;
    transform: translateZ(0);
}

.banner{
    width: 100%;
    height: 100%;
    display: block;
}

.content{
    width: 100%;
    position: absolute;
    top: 13%;
    left: 50%;
    transform: translateX(-50%);
    padding-bottom: 2.5rem;
}

.logo{
    display: block;
    width: 20%;
    margin: 0 auto;
    margin-bottom: .5rem;
}

.title{
    width: 100%;
    font-size: .6rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: .3rem;
}

.desc-text{
    display: block;
    width: 40%;
    margin: 0 auto;
}

.cover-img{
    display: block;
    width: 100%;
    margin: .5rem 0 .3rem 0;
}

.feature-list{
    width: 85%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .4rem;
}

.feature-list div{
    width: 100%;
    height: .8rem;
    text-align: center;
    font-size: .22rem;
    font-weight: 900;
    color: #ffffff;
    background: #498EFF;
    border-radius: .6rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-box{
    width: 100%;
    position: fixed;
    bottom: -1px;
    z-index: 99;
    background: #E3EEF8;
    left: 0;
    right: 0;
    transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    will-change: transform;
    contain: layout paint;
}
.footer-box::after{
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 2px;
    background: #E3EEF8;
    pointer-events: none;
}

.btn-box{
    width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #FFFFFF;
    border-radius: .1rem;
    padding: .2rem;
}

.logo-box{
    display: flex;
    align-items: center;
}

.logo-box img{
    width: 1rem;
    margin-right: .1rem;
}

.logo-box span{
    font-size: .3rem;
    font-weight: bold;
    color: #333333;
}

.btn{
    padding: .15rem .3rem;
    background: linear-gradient(to left, #034A7C, #0E0634);
    font-family: Roboto, Roboto;
    font-weight: 900;
    font-size: .24rem;
    color: #FFFFFF;
    border-radius: .6rem;
    cursor: pointer;
    animation: breathing 2s ease-in-out infinite;
    box-shadow: 0 8px 25px rgba(3, 74, 124, 0.8);
    transition: all 0.3s ease;
}

.btn:hover {
    box-shadow: 0 10px 28px rgba(3, 74, 124, 0.9);
}

@keyframes breathing {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
        box-shadow: 0 8px 25px rgba(3, 74, 124, 0.6);
    }
    50% {
        opacity: 0.8;
        transform: scale(1.2);
        box-shadow: 0 8px 25px rgba(3, 74, 124, 0.8);
    }
}

.footer{
    width: 100%;
    text-align: center;
    color: #333333;
    font-size: .24rem;
    padding: .2rem 0;
}