html, body {
    margin: 0;
    padding: 0;
    height: 100%;
}


/* GLOBAL SETTINGS */
* {
    box-sizing: border-box;
    font-family: Arial, sans-serif;
}

/* MAIN LAYOUT */
.container {
    display: flex;
    min-height: 100vh;
    align-items: stretch;
    /* Remove any default gap or margin if present */
}

/* LEFT PANEL */
.left-panel {
    width: 55%;
    background: #123f4b;
    color: white;
    /* Remove padding or set to 0 if not needed */
    padding: 0; 
    /* Optional: add box-shadow or border if needed for aesthetics */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    z-index: 2;
    clip-path: ellipse(80% 100% at 18% 50%);
}

/* RIGHT PANEL */
.right-panel {
    
    width: 45%;
    position: relative;
    min-height: 100vh;
    margin: 0; 
    padding: 0; 
}
/* EXTENDED BACKGROUND IMAGE */
.right-panel::before {
    content: "";
    position: absolute;

    top: 0;
    left: -120px;

    width: calc(100% + 120px);
    height: 100%;

    background-image: url("images/BackgroundImage.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    z-index: 0;
}

/* KEEP BUTTONS/CARDS ABOVE IMAGE */
.learn-more,
.card {
    position: absolute;
    z-index: 2;
}

/* HEADER / LOGO AREA */
.header {
    display: flex;
    align-items: center;
}

/* LOGO + BRAND CONTAINER */
.logo-container {
    display: flex;
    align-items: center;
    gap: 15px;
}

/* LOGO IMAGE */
.logo {
    width: 70px;
}

/* BRAND NAME */
.brand-name {
    font-size: 32px;
    font-weight: bold;
    margin: 0;
    line-height: 1;
}

/* COLOURED WORDS */
.my {
    color: #0C5259;
}

.life {
    color: #3692D4;
}

.aid {
    color: #CE4040;
}

/* HERO TEXT */
.hero-text h1 {
    font-size: 55px;
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 30px;
    margin-left: 40px;
}

.hero-text p {
    font-size: 23px;
    color: #d6d6d6;
    margin-bottom: 40px;
    margin-left: 40px;
}

/* BUTTONS */
.buttons {
    display: flex;
    gap: 30px;
    margin-bottom: 30px;
    margin-left: 40px;
}

button {
    padding: 12px 30px;
    border: 2px solid white;
    border-radius: 8px;

    font-size: 16px;
    font-weight: bold;
    cursor: pointer;

    background: transparent; /* removes white */
    color: white;

    transition: all 0.2s ease;
}
/* STAFF BUTTON STYLE */
.staff-btn {
    background: transparent;
    color: white;
    border: 2px solid white;
}

/* TRUST TEXT */
.trust-text {
    font-size: 22px;
}

/* FOOTER */
footer {
    display: flex;
    gap: 40px;
    margin-left: 20px;
    margin-top: -5px;
}

footer a {
    color: white;
    text-decoration: none;
    font-size: 22px;
}

/* RIGHT PANEL BUTTON */
.learn-more {
    position: absolute;
    top: 30px;
    right: 30px;
    background: rgba(255,255,255,0.2);
    color: white;
    border: 1px solid white;
    backdrop-filter: blur(10px);
}

/* FLOATING CARDS */
.card {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 18px;
    background: rgba(255,255,255,0.4);
    backdrop-filter: blur(8px);
    border-radius: 15px;
    font-size: 18px;
    font-weight: bold;
}

/* CARD ICONS */
.card img {
    width: 50px;
}

/* CARD POSITIONS */
.location-card {
    top: 200px;
    left: 80px;
}

.booking-card {
    top: 330px;
    left: 180px;
}

.live-card {
    top: 460px;
    left: 100px;
}