*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:Arial,Helvetica,sans-serif;
    background:#00102A;
    color:#fff;
    overflow-x:hidden;
}

/* ------------------------------------------------ */
/* HERO SECTION */
/* ------------------------------------------------ */

.hero{
    background:url('syclonicswatermarkillustration.jpg')
               center center/cover no-repeat;
    position:relative;
}

.overlay{
    background:linear-gradient(
        135deg,
        rgba(0,16,42,.55),
        rgba(0,16,42,.88)
    );
}

.content{
    max-width:1400px;
    margin:auto;
    padding:60px 5vw;
}

/* ------------------------------------------------ */
/* LOGO */
/* ------------------------------------------------ */

.hero-logo{
    opacity:0;

    animation:
        logoReveal
        1.2s ease-out
        .3s forwards;
}

.hero-logo img{
    width:clamp(
        220px,
        14vw,
        340px
    );

    filter:
        drop-shadow(
            0 12px 35px rgba(0,0,0,.45)
        );
}

/* ------------------------------------------------ */
/* HEADLINE */
/* ------------------------------------------------ */

h1{

    font-size:clamp(
        3rem,
        6vw,
        6rem
    );

    line-height:1.05;

    margin:20px 0 25px;

    color:#FFFFFF;

    text-shadow:
        0 0 18px rgba(127,216,255,.35);

    opacity:0;

    animation:
        headlineReveal
        1s ease-out
        1.0s forwards;
}

/* ------------------------------------------------ */
/* INTRO PANEL */
/* ------------------------------------------------ */

.intro-panel{

    background:rgba(0,16,42,.88);

    border-left:6px solid #D4A843;

    border-radius:18px;

    padding:40px;

    max-width:1200px;

    margin-bottom:60px;

    box-shadow:
        0 25px 60px rgba(0,0,0,.45);

    opacity:0;

    animation:
        panelReveal
        1s ease-out
        1.8s forwards;
}

.intro-panel p{

    font-size:clamp(
        1.3rem,
        1.8vw,
        2rem
    );

    line-height:1.9;

    color:#93C1FA;
}

/* ------------------------------------------------ */
/* SERVICES GRID */
/* ------------------------------------------------ */

.services-float-grid{

    display:grid;

    grid-template-columns:
        repeat(2,1fr);

    gap:30px;

    max-width:1400px;

    margin:60px auto;
}

.float-card{

    background:#01091A;

    border:1px solid rgba(212,168,67,.18);

    border-radius:20px;

    padding:30px;

    text-align:center;

    box-shadow:
        0 12px 35px rgba(0,0,0,.45);

    overflow:hidden;

    opacity:0;
}

.card1{
    animation:cardReveal .8s ease-out 2.6s forwards;
}

.card2{
    animation:cardReveal .8s ease-out 2.9s forwards;
}

.card3{
    animation:cardReveal .8s ease-out 3.2s forwards;
}

.card4{
    animation:cardReveal .8s ease-out 3.5s forwards;
}

.float-card img{

    width:100%;

    max-width:260px;

    height:auto;

    display:block;

    margin:0 auto 25px auto;

    border-radius:12px;
}

.float-card h3{

    font-size:1.5rem;

    margin-bottom:15px;
}

.float-card p{

    color:#93C1FA;

    font-size:clamp(
        1.05rem,
        1.1vw,
        1.25rem
    );

    line-height:1.8;

    max-width:90%;

    margin:0 auto;
}

.float-card:hover{

    transform:translateY(-6px);

    border-color:
        rgba(212,168,67,.55);

    box-shadow:
        0 20px 50px rgba(212,168,67,.18);
}

/* ------------------------------------------------ */
/* BUTTONS */
/* ------------------------------------------------ */

.hero-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    padding-bottom:40px;

    opacity:0;

    animation:
        buttonReveal
        .8s ease-out
        4.3s forwards;
}

.primary-btn,
.contact-btn{

    pdisplay:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    padding:18px 34px;

    border-radius:10px;

    font-weight:bold;

    text-decoration:none;

    transition:
        all .35s ease;
}

.primary-btn{
    background:#0A6EFF;
    color:#fff;
}

.contact-btn{
    background:
        linear-gradient(
            180deg,
            #E0B44A,
            #B88718
        );

    color:#00102A;
}

.primary-btn:hover{

    transform:
        translateY(-4px);

    box-shadow:
        0 0 20px rgba(10,110,255,.55),
        0 0 40px rgba(10,110,255,.35),
        0 15px 35px rgba(10,110,255,.20);
}

.contact-btn:hover{

    transform:
        translateY(-4px);

    box-shadow:
        0 0 20px rgba(224,180,74,.65),
        0 0 40px rgba(224,180,74,.40),
        0 15px 35px rgba(224,180,74,.25);
}
/* ------------------------------------------------ */
/* FOOTER */
/* ------------------------------------------------ */

.site-footer{

    background:#87b2e8;

    padding:10px 25px;
}

.footer-content{

    color:#000;

    font-size:12px;
}

/* ------------------------------------------------ */
/* ANIMATIONS */
/* ------------------------------------------------ */

@keyframes logoReveal{

    from{
        opacity:0;
        transform:
            translateY(-20px)
            scale(.95);
    }

    to{
        opacity:1;
        transform:
            translateY(0)
            scale(1);
    }
}

@keyframes headlineReveal{

    from{
        opacity:0;
        transform:
            translateY(30px);
    }

    to{
        opacity:1;
        transform:
            translateY(0);
    }
}

@keyframes panelReveal{

    from{
        opacity:0;
        transform:
            translateY(30px);
    }

    to{
        opacity:1;
        transform:
            translateY(0);
    }
}

@keyframes cardReveal{

    from{
        opacity:0;
        transform:
            translateY(40px);
    }

    to{
        opacity:1;
        transform:
            translateY(0);
    }
}

@keyframes buttonReveal{

    from{
        opacity:0;
        transform:
            translateY(30px);
    }

    to{
        opacity:1;
        transform:
            translateY(0);
    }
}

/* ------------------------------------------------ */
/* MOBILE */
/* ------------------------------------------------ */

@media(max-width:768px){

    .services-float-grid{
        grid-template-columns:1fr;
    }

    .hero-buttons{
        flex-direction:column;
    }
}