*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Poppins',sans-serif;
    background:#070b1d;
    color:white;
    overflow-x:hidden;
}

.stars{
    position:fixed;
    width:100%;
    height:100%;
    background:
    radial-gradient(white 1px,transparent 1px),
    radial-gradient(white 1px,transparent 1px);
    background-size:120px 120px;
    background-position:0 0,60px 60px;
    opacity:.35;
    z-index:-1;
}

.hero{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    padding:40px;
}

.overlay{
    max-width:700px;
}

h3{
    color:#ffd166;
    letter-spacing:8px;
    margin-bottom:20px;
}

h1{
    font-family:'Cinzel',serif;
    font-size:70px;
    margin-bottom:25px;
    text-shadow:0 0 20px rgba(255,255,255,.4);
}

.subtitle{
    font-size:26px;
    line-height:1.8;
    margin-bottom:30px;
}

.birthday{
    font-size:28px;
    margin-bottom:35px;
}

button{
    background:#ffd166;
    color:#000;
    border:none;
    padding:20px 45px;
    font-size:24px;
    font-weight:bold;
    border-radius:50px;
    cursor:pointer;
    transition:.3s;
}

button:hover{
    transform:scale(1.05);
}

.quote{
    padding:80px 20px;
    text-align:center;
}

.quote h2{
    font-family:'Cinzel',serif;
    font-size:40px;
    line-height:1.6;
}

.cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:30px;
    padding:50px;
}

.card{
    background:rgba(255,255,255,.08);
    border-radius:20px;
    padding:30px;
    text-align:center;
    transition:.3s;
}

.card:hover{
    transform:translateY(-8px);
}

.card h2{
    margin-bottom:15px;
}

footer{
    text-align:center;
    padding:40px;
    color:#bbb;
}