/* General Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Montserrat', sans-serif;
    background-color: #1a1a1a; /* Dark background to make white text pop */
    color: white;
    line-height: 1.6;
}

/* Header Section */
header {
    padding: 60px 20px 30px 20px;
    text-align: center;
    margin-bottom: 20px; /* ADD THIS: Increase this number for more space */
}

header h1 {
    /* min: 1.5rem, fluid: 6vw, max: 2.5rem */
    font-size: clamp(1.5rem, 6vw, 2.5rem); 
    letter-spacing: 0.2em; /* Using 'em' instead of 'px' helps spacing stay proportional */
    font-weight: 600;
    margin-bottom: 0px;
    white-space: nowrap; /* This is the "secret sauce" to prevent word wrap */
}

.subtitle {
    font-size: clamp(0.8rem, 2vw, 1.2rem);
    letter-spacing: 0.3em;
    font-weight: 300;
    text-transform: uppercase;
    color: #cccccc;
    margin-top: 5px; /* Replaced the negative margin with a small positive one for better stability */
}

/* Hero Section - The "Box" around the photo */
.hero {
    display: flex;
    justify-content: center; /* Centering for Flex children */
    align-items: center;
    padding: 20px 0;         /* Removed the negative padding */
    width: 100%;             /* Ensures the container spans the full page */
}

/* The Photo itself */
.hero-image {
    width: 90%;              /* Default for mobile: nice and large */
    max-width: 450px;        /* Default for desktop: stops it from getting too big */
    height: auto;
    display: block;
    margin: 0 auto;          /* Standard "Block" centering safety net */
    border-radius: 20px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.5);
}
/* Mobile Tweak: This kicks in when the screen is narrow */
@media (max-width: 600px) {
    .hero-image {
        max-width: 90%; 
        border-radius: 15px;
    }
} /* <--- THIS WAS THE MISSING BRACKET FIX */

/* Content Section */
.content {
    max-width: 800px;
    margin: 60px auto;
    padding: 0 20px; /* Added 20px so text doesn't touch screen edges */
    text-align: center;
}

.content h2 {
    font-size: 1.5rem;
    margin-bottom: 20px;
    border-bottom: 1px solid #444;
    display: inline-block;
    padding-bottom: 0px;
}
/* Container to keep content centered and readable */
.container {
    max-width: 700px; /* Limits width so lines of text aren't too long */
    margin: 0 auto;
    padding: 0 0px;
}

/* Vertical Spacing between sections */
.section {
    padding: 40px 0; /* Creates large "breathable" space above and below */
    text-align: center;
    border-bottom: none; /* Subtle line between sections */
}

/* Remove the line from the very last section */
.section:last-of-type {
    border-bottom: none;
}

.section h2 {
    font-size: 1.5rem;
    letter-spacing: 10px;
    text-transform: uppercase;
    margin-bottom: 10px;
    color: #ffffff;
}

.section p {
    font-size: 1.1rem;
    color: #bbbbbb;
    line-height: 1.5;
}
/* Container to hold the videos */
.video-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px; /* Space between the videos */
}

/* This makes the video "Quarter Size" (approx 25-50% of the container) */
.video-wrapper {
    width: 100%; /* Adjust this percentage to make it exactly the size you want */
    max-width: 600px; /* Caps the size on very large screens */
    aspect-ratio: 16 / 9; /* Maintains the standard widescreen shape */
    box-shadow: 0 10px 30px rgba(0,0,0,0.0);
    margin: 0 auto;
}

.video-wrapper iframe {
    width: 100%;
    height: 100%;
    border: none;
    border-radius: 8px; /* Adds a nice rounded corner to the player */
}
/* Container for side-by-side layout */
.video-container.vertical {
    flex-direction: row; /* Aligns them horizontally */
    justify-content: center;
    flex-wrap: wrap;    /* Ensures they stack on small phones */
    gap: 20px;          /* Space between the two videos */
}

/* Specific styling for vertical videos */
.vertical-wrapper {
    width: 45%;         /* Take up nearly half the container width */
    max-width: 300px;   /* Prevents them from getting too massive */
    aspect-ratio: 9 / 16; /* The vertical "Shorts" ratio */
}
/* Mobile Tweak: Make the video wider on small phones so it's readable */
@media (max-width: 600px) {
    .video-wrapper {
        width: 90%;
	max-width: none;
    }
}
/* Music Link Styling */
.music-list {
    display: flex;
    flex-direction: column; /* Stacks links vertically */
    gap: 15px;
}

.music-link {
    color: #3b82f6;
    text-decoration: none;
    font-size: 1.2rem;
    transition: 0.3s;
}

.music-link:hover {
    color: white;
    letter-spacing: 1px;
}

.email {
    font-size: 1.3rem !important;
    color: white !important;
    margin-top: 10px;
}
/* This overrides the stacking behavior */
.video-container.side-by-side {
    flex-direction: row;      /* Puts them side-by-side */
    justify-content: center;  /* Centers them horizontally */
    align-items: flex-start;  /* Aligns them at the top */
    flex-wrap: wrap;          /* Allows them to stack on mobile */
    gap: 20px;                /* Space between the two videos */
}

/* Ensure the vertical videos don't take up the whole width */
.vertical-wrapper {
    width: 45%;               /* Roughly half the width of the container */
    max-width: 300px;         /* Keeps them from getting too big */
    aspect-ratio: 9 / 16;     /* Vertical format */
}
.social-links {
    display: flex;
    justify-content: center;
    align-items: center; /* Keeps text and icons vertically aligned */
    gap: 20px;
    margin-top: 40px;
    padding-bottom: 40px;
    flex-wrap: wrap;    /* Crucial for mobile! */
}

.social-text {
    font-size: 0.9rem;
    color: #bbbbbb;
    max-width: 200px;   /* Prevents the text from stretching too wide */
    line-height: 1.2;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Mobile Tweak */
@media (max-width: 600px) {
    .social-links {
        flex-direction: column; /* Stacks them: Icon, then Text, then Icon */
        text-align: center;
        gap: 15px;
    }
    .social-text {
        max-width: 100%;
        order: -1; /* OPTIONAL: This moves the text to the TOP on mobile */
    }
}

.social-icon img {
    width: 50px;       /* Keeps the icons at a professional, small size */
    height: auto;
    transition: transform 0.3s ease, opacity 0.3s ease;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,0.3));
}

.social-icon img:hover {
    transform: scale(1.1); /* Subtle "pop" when hovered */
    opacity: 0.8;
}

/* Mobile Adjustment */
@media (max-width: 600px) {
    .social-icon img {
        width: 40px;   /* Slightly smaller for phone screens */
    }
}