/* Reset and basic styles */
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    body, html {
        height: 100%;
        font-family: 'Playfair Display', sans-serif;
    }

    body {
        background-image: url("../images/bg-image.png");
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center right;
        color: #fff;
    }

    body::before{
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        /* background: linear-gradient(to top, rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0.9)); */
        background: linear-gradient(rgba(13, 27, 60, 0.9), rgba(74, 144, 226, 0.9)); /* dark blue to sky blue */
    }

    .hero {
        position: relative;
        height: 100vh;
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        overflow: hidden;
    }

    /* Top logos */
    .top-bar {
        position: absolute;
        top: 20px;
        width: 80%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 20px;
    }

    .floating-shapes .thumb-shape{
        position: absolute;
        max-width: 250px;
        opacity: 0.3;
    }

    .floating-shapes .thumb-shape-right{
        right: 0;
        top: 0;
        transform: rotate(-45deg);
    }

    .floating-shapes .thumb-shape-left{
        left: 0;
        bottom: 0;
        transform: rotate(145deg);
    }

    /* Main text */
    .hero h1 {
        font-size: 5rem;
        line-height: 1.3;
    }

    .hero .tagline {
        font-family: 'mulish', sans-serif;
        font-size: 1.25rem;
        margin-bottom: 5px;
        font-weight: 500;
    }

    .hero h2 {
        font-size: 2.5rem;
        font-weight: 600;
        line-height: 1.6;
        font-style: italic;
    }

    .hero h3 {
        font-size: 1.75rem;
        font-weight: 300;
        line-height: 1.6;
        font-style: italic;
    }

    .h-separator{
        display: block;
        width: 500px;
        height: 1px;
        background-color: rgba(255,255,255,0.2);
        margin: 24px 0;
    }

    @media (max-width: 768px) {
        .hero h1 {
            font-size: 2rem;
        }

        .hero h2 {
            font-size: 1.5rem;
        }

        .hero h3 {
            font-size: 8.875rem;
        }
    }