*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Montserrat',sans-serif;
}

.hero{
    position:relative;
    min-height:100vh;

    background-image:url('/images/rautenbach-transport-background.jpg');
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;

    overflow:hidden;
}

.overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
        to bottom,
        rgba(0,0,0,.15) 0%,
        rgba(0,0,0,.35) 55%,
        rgba(0,0,0,.75) 100%
    );
}

.hero-inner{
    position:relative;
    z-index:2;

    min-height:100vh;

    display:flex;
    flex-direction:column;
    justify-content:space-between;

    width:min(1400px,90%);
    margin:0 auto;

    padding:70px 0;
}

/* ======================
   TOP
====================== */

.hero-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:40px;
}

.logo img{
    max-width:420px;
    width:100%;
    height:auto;
}

.phone{
    text-align:right;
    color:#fff;
    padding-top: 20px;
    line-height: 20px;
}

.phone span{
    display:block;
    font-size:20px;
    font-weight:700;
    letter-spacing:1px;
    margin-bottom:8px;
}

.phone a{
    color:#fff;
    text-decoration:none;
    font-size:24px;
}

/* ======================
   BOTTOM
====================== */

/* ======================
   BOTTOM SECTION
====================== */

.hero-bottom{
    display:flex;
    flex-direction:column;
}

.hero-title{
    font-family:'Cormorant Garamond', serif;
    font-size:42px;
    line-height:1;
    color:#fff;
    font-weight:500;
    margin-bottom:40px;
}

.content-row{
    display:grid;
    grid-template-columns:minmax(300px,600px) auto;
    gap:200px;
    align-items:start;
}

.left-content p{
    color:#fff;
    font-size:16px;
    line-height:1.8;
    margin-bottom:40px;
}

.left-content strong{
    display:block;
    color:#fff;
    font-size:20px;
    font-weight:700;
}

.content-right{
    display:flex;
    flex-direction:column;
    gap:5px;
}

.contact-row{
    display:grid;
    grid-template-columns:220px auto;
    gap:40px;
    align-items:start;
}

.contact-row .title{
    color:#d6a54a;
    font-size:18px;
    font-weight:700;
    white-space:nowrap;
}

.contact-row a{
    color:#fff;
    text-decoration:none;
    font-size:18px;
}

/* ======================
   TABLET
====================== */

@media (max-width: 1200px){

    .hero-title{
        font-size:38px;
    }

    .content-row{
        grid-template-columns:1fr;
        gap:50px;
    }

    .content-right{
        width:100%;
    }

    .contact-row{
        grid-template-columns:220px 1fr;
    }
}

/* ======================
   MOBILE
====================== */

@media (max-width: 768px){

    .hero-title{
        font-size:38px;
        margin-bottom:30px;
    }

    .left-content p{
        font-size:18px;
        line-height:1.7;
        margin-bottom:30px;
    }

    .left-content strong{
        font-size:18px;
    }

    .contact-row{
        grid-template-columns:1fr;
        gap:0px;
    }

    .contact-row .title,
    .contact-row a{
        font-size:18px;
    }

    .hero-top{
        flex-direction:column;
        align-items:flex-start;
        gap:0px;
        margin-bottom: 20px;
    }

    .phone a{
        white-space:nowrap;
    }
}

@media (max-width: 480px){

    .hero-top{
        flex-direction:column;
        align-items:center;
        justify-content:center;
        text-align:center;
        gap:0px;
        margin-top: -70px;
        margin-bottom: 20px;
    }

    .content-row {
        gap: 10px;
    }

    .logo{
        width:100%;
        display:flex;
        justify-content:center;
    }

    .logo-svg{
        width:220px;
    }

    .phone{
        width:100%;
        text-align:center;
        padding-top: 0px;
    }

    .phone span{
        display:block;
        font-size:14px;
        margin-bottom:5px;
    }

    .phone a{
        display:block;
        white-space:nowrap;
        font-size:18px;
    }
}