body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    background-color: #ffffff;
    display: flex;
    justify-content: center;
    overflow-x: hidden; /*disables horizontal scroll */
}

.page-container {
    width: 100%;
    max-width: 1200px;
    height: 79.17vw; 
    position: relative;
    box-sizing: border-box; 
}

/* --- Content Alignment & Layering (Left Column) --- */
/* Base alignment for the left-aligned elements */
:root {
    --left-margin: 4vw; /* Standardizing the left alignment */
}

/* Page Header */
.page-header {
    position: absolute;
    top: 26vw; 
    left: -8vw;
    z-index: 10;
}

.page-header h1 {
    font-size: 3em; 
    font-weight: bold;
    margin: 0;
}

.page-header .subtitle {
    font-size: 1.2em;
    color: #555;
    margin: 0;
}

/* Logo Image (Circular) */
.logo-image {
    position: absolute;
    top: 0vw;
    left: -8vw;
    width: 24vw; /* Slightly rounded size */
    height: 24vw; 
    object-fit: cover;
    border: 0.4vw solid white; 
    box-shadow: 0 0.6vw 1.2vw rgba(0,0,0,0.2); 
    border-radius: 50%; 
    z-index: 10; 
}

/* Content Block */
.content-block {
    position: relative;
    top: 31.33vw; 
    left: -8vw;
    width: 29vw; 
    z-index: 10;
}

.book-now-button {
    display: block;
    position: absolute;
    top: 10vw;
    left: 0;
    padding: 0.8vw 1.6vw; 
    background-color: #e54d42;
    color: white;
    text-decoration: none;
    font-weight: bold;
    border-radius: 5px;
}

/* --- Main Image (Echo) - Right Column (Background) --- */
.main-image-masked {
    position: absolute;
    top: -10vw;
    right: -8vw;
    width: 62vw; /* Increased width slightly for dominance */
    height: 68vw; 
    z-index: 1; 
    overflow: visible; 
}

/* --- Floating Images (Layered on Top of Main Image) --- */

/* Selfie Image - Placed near the intersection of the two columns */
.selfie-image {
    position: absolute;
    top: 38vw; /* Adjusted for higher placement */
    left: 20vw;
    width: 16vw; /* Reduced size slightly */
    height: 10vw; /* Reduced size slightly */
    object-fit: cover;
    border: 0.4vw solid white; 
    box-shadow: 0 0.6vw 1.2vw rgba(0,0,0,0.2);
    z-index: 3; 
}

/* Space Needle Image - Placed lower and further right for balance */
.space-needle-image {
    position: absolute;
    top: 57.55vw; /* Slightly lower */
    left: 0vw; /* Moved left slightly from the edge */
    width: 28vw; /* Reduced width slightly */
    height: 20vw; /* Reduced height slightly */
    object-fit: cover;
    border: 0.4vw solid white; 
    box-shadow: 0 0.6vw 1.2vw rgba(0,0,0,0.2);
    z-index: 2; 
}