:root {

    --color-navy: #03045e;
    --color-blue: #0077b6;
    --color-cyan: #00b4d8;
    --color-pale: #caf0f8;
    --color-gold: #ffcc00;
    --color-white: #ffffff;

    --shadow:
        0 25px 60px rgba(0,0,0,.30);

}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:'Montserrat',sans-serif;

    min-height:100vh;

    overflow-x:hidden;

    background:
    linear-gradient(
        135deg,
        #03045e,
        #023e8a,
        #0077b6
    );

    color:white;
}

.background-animation{

    position:fixed;
    inset:0;

    background:
    radial-gradient(
        circle at 20% 20%,
        rgba(255,204,0,.12),
        transparent 30%
    ),

    radial-gradient(
        circle at 80% 70%,
        rgba(0,180,216,.18),
        transparent 35%
    );

    animation:
    floatBackground 12s ease-in-out infinite;

    pointer-events:none;
}

@keyframes floatBackground{

    0%,100%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.08);
    }
}

.landing-page{

    min-height:100vh;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:60px 20px;
}

.hero-panel{

    width:min(1200px,100%);

    background:
    rgba(255,255,255,.08);

    backdrop-filter:blur(16px);

    border:
    1px solid rgba(255,255,255,.18);

    border-radius:32px;

    box-shadow:var(--shadow);

    padding:50px;
}

.announcement-bar{

    background:var(--color-gold);

    color:var(--color-navy);

    padding:14px;

    border-radius:12px;

    font-weight:800;

    text-align:center;

    margin-bottom:35px;
}

.logo-wrapper{

    text-align:center;
    margin-bottom:30px;
}

.logo-wrapper img{

    width:140px;
}

.hero-tag{

    display:inline-block;

    background:
    rgba(255,204,0,.15);

    color:var(--color-gold);

    padding:10px 18px;

    border-radius:999px;

    font-weight:800;

    margin-bottom:20px;
}

.hero-content{

    max-width:900px;
    margin:0 auto;

    text-align:center;
}

.hero-content h1{

    font-size:clamp(2.6rem,5vw,4.8rem);

    margin-bottom:25px;

    line-height:1.1;
}

.hero-content p{

    max-width:800px;

    margin:auto;

    text-align:left;

    font-size:1.1rem;

    line-height:1.9;
}

.stats-grid{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:24px;

    margin-top:50px;
}

.stat-card{

    background:
    rgba(255,255,255,.08);

    border-radius:20px;

    padding:30px;

    text-align:center;
}

.stat-number{

    display:block;

    font-size:2rem;

    font-weight:900;

    color:var(--color-gold);

    margin-bottom:10px;
}

.contact-panel{

    margin-top:50px;

    background:
    rgba(255,255,255,.06);

    padding:35px;

    border-radius:22px;
}

.contact-panel h2{

    text-align:center;

    margin-bottom:20px;
}

.contact-panel p{

    max-width:700px;

    margin:auto;

    text-align:left;

    line-height:1.8;
}

.contact-grid{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:20px;

    margin-top:30px;
}

.contact-item{

    background:
    rgba(255,255,255,.08);

    padding:20px;

    border-radius:16px;

    text-align:center;
}

.contact-item strong{

    display:block;

    color:var(--color-gold);

    margin-bottom:10px;
}

.privacy-banner{

    margin-top:40px;

    background:
    rgba(0,0,0,.18);

    border-left:
    4px solid var(--color-gold);

    padding:24px;

    border-radius:12px;

    text-align:left;

    line-height:1.8;
}

footer{

    text-align:center;

    padding:30px 20px;

    background:
    rgba(0,0,0,.18);
}

@media (max-width:900px){

    .hero-panel{
        padding:35px 24px;
    }

    .stats-grid,
    .contact-grid{

        grid-template-columns:1fr;
    }

    .hero-content p{

        text-align:left;
    }
}