body{
    background: linear-gradient(135deg,#0f172a,#1e3a8a,#2563eb);
    min-height:100vh;
    font-family:'Segoe UI',sans-serif;
}

.container{
    max-width:1200px;
}

.card{
    border:none;
    border-radius:20px;
}

.plano-card{

    color:#fff;

    background:linear-gradient(160deg,#2563eb,#1d4ed8);

    overflow:hidden;

    position:relative;

    transition:.4s;
}

.plano-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 40px rgba(0,0,0,.30);

}

.plano-card::before{

    content:"";

    position:absolute;

    width:250px;

    height:250px;

    background:rgba(255,255,255,.08);

    border-radius:50%;

    top:-100px;

    right:-80px;

}

.plano-card h2{

    color:#fff !important;

    font-weight:700;

}

.plano-card h1{

    font-size:55px;

    font-weight:bold;

}

.plano-card p{

    font-size:17px;

    margin-bottom:14px;

}

.plano-card i{

    color:#22c55e;

    margin-right:8px;

}

.alert{

    border-radius:15px;

}

.card:last-child{

    border-radius:20px;

}

.card:last-child .card-body{

    padding:45px;

}

h3{

    font-weight:700;

    color:#1e3a8a;

}

.form-label{

    font-weight:600;

    color:#555;

}

.form-control{

    height:52px;

    border-radius:12px;

    border:2px solid #e5e7eb;

    transition:.3s;

}

.form-control:focus{

    border-color:#2563eb;

    box-shadow:0 0 0 .15rem rgba(37,99,235,.2);

}

.btn-primary{

    height:55px;

    border-radius:12px;

    font-size:18px;

    font-weight:600;

    background:#2563eb;

    border:none;

    transition:.3s;

}

.btn-primary:hover{

    background:#1d4ed8;

    transform:translateY(-3px);

}

.logo{

    width:50px;

    display:block;

    margin:auto;

    margin-bottom:25px;

}

.logo img{

    border-radius: 50%;
}

.info{

    background:#f8fafc;

    border-radius:15px;

    padding:15px;

    margin-bottom:25px;

}

.info i{

    color:#16a34a;

}

.valor{

    font-size:55px;

    font-weight:bold;

}

.badge-plano{

    display:inline-block;

    padding:8px 18px;

    border-radius:50px;

    background:#facc15;

    color:#000;

    font-weight:700;

    margin-bottom:20px;

}

@media(max-width:991px){

.card-body{

padding:30px;

}

.plano-card{

margin-bottom:30px;

}

.valor{

font-size:45px;

}

}

@media(max-width:576px){

.card-body{

padding:20px;

}

h3{

font-size:24px;

}

.valor{

font-size:38px;

}

.plano-card h1{

font-size:40px;

}

}