/* Reset default styles */
html, body {
    width: 100%;
    overflow-x: hidden;
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
    background-color: black;
}

/* 🔹 Header Section */
.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: absolute;
    width: 100%;
    top: 20px;
    left: 0;
    padding: 10px 40px;
    box-sizing: border-box;
    z-index: 100;
}

/* Thank You Page Specific Layout Fix */
.thank-you {
    margin-top: 180px; /* Pushes it down below absolute header/logo */
  }

  @media screen and (max-width: 768px) {
    .thank-you-page .mobile-menu {
      top: 140px; /* Adjust height to fit between logo and content */
      transform: translateX(-50%);
      left: 50%;
      position: absolute;
    }
  }
  

/* 🔹 Centered Logo */
.logo-link {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 110;
}

.logo {
    height: 120px;
    width: auto;
    object-fit: contain;
    transition: transform 0.3s ease-in-out;
}

/* 🔹 Hover Effect for Logo */
.logo-link:hover .logo {
    transform: scale(1.1);
    filter: drop-shadow(0px 0px 10px rgba(255, 255, 255, 0.8));
}

/* 🔹 Navigation Bar */
.nav-bar {
    display: flex;
    justify-content: space-between;
    width: 100%;
    position: relative;
    z-index: 101;
}

.nav-links {
    list-style: none;
    display: flex;
    gap: 25px;
    padding: 0;
}

.nav-links li {
    display: inline-block;
}

.nav-links li a {
    color: white;
    text-decoration: none;
    font-size: 1.2rem;
    padding: 10px 15px;
    white-space: nowrap;
}

/* Left & Right Navigation */
.left-nav {
    margin-right: auto;
}

.right-nav {
    margin-left: auto;
}

/* 🔹 Mobile Menu */
.mobile-menu {
    display: none;
    position: absolute;
    right: 20px;
    top: 10px;
}

/* 📱 Mobile Menu Button (Stack "MENU" Above ☰) */
#menu-toggle {
    background: none;
    color: white;
    border: 2px solid white;
    padding: 6px 10px;
    font-size: 1rem;
    cursor: pointer;
    display: flex;
    flex-direction: column; /* Stack text and icon */
    align-items: center;
    justify-content: center;
    width: 50px; /* Narrow width */
    height: 60px; /* Taller for vertical alignment */
    text-transform: uppercase;
    font-weight: bold;
}

/* 🔹 Adjust Position of Mobile Menu */
.mobile-menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    padding-right: 10px;
    position: absolute;
    right: 0;
    top: 10px;
}

.mobile-nav-links {
    display: none;
    position: absolute;
    background: black;
    top: 50px;
    right: 0;
    width: 200px;
    border: 1px solid white;
    padding: 10px;
    text-align: center;
}

.mobile-nav-links li {
    list-style: none;
    padding: 10px 0;
}

.mobile-nav-links li a {
    color: white;
    text-decoration: none;
}

.show-menu {
    display: block;
}
  
  /* 🔹 Footer Section Container */
  .universal-footer-nav {
    margin-top: 40px;
    margin-bottom: 20px;
    text-align: center;
  }
  
  .universal-footer-nav ul {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
  }
  
  .universal-footer-nav ul li {
    margin: 0;
  }
  
  .universal-footer-nav ul li a {
    color: white;
    font-weight: bold;
    text-decoration: none;
  }
  
  .universal-footer-nav ul li a:hover {
    text-decoration: underline;
  }
  
  /* Remove bullets and stack vertically on mobile */
  @media screen and (max-width: 768px) {
    .universal-footer-nav ul {
      flex-direction: column;
      gap: 15px;
    }
  
    .universal-footer-nav ul li {
      margin: 0;
    }
  }
    
  

/* 🔹 Banner Section */
.banner-container {
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: url('background-texture.png') no-repeat center top;
    background-size: cover;
}

/* 🔹 Chrome Bars */
.chrome-bar {
    width: 100%;
    position: relative;
}

/* 🔹 Fix Top-Bar Placement */
.top-bar {
    position: relative;
    margin-top: 120px;
}

/* 🔹 Fix Video Placement */
.banner-video {
    width: 100%;
    max-height: 650px;
    object-fit: cover;
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
}

/* 🔹 Fix Bottom-Bar Placement */
.bottom-bar {
    position: relative;
    display: block;
    margin-top: -4px;
    padding: 0;
}

/* 🔹 Content Section */
.content {
    padding: 50px;
    text-align: center;
    color: white;
}
/* 📱 Mid-Size Screens (Tablets, 21” Portrait Monitors) */
    @media screen and (max-width: 1250px) {
        .nav-bar {
            display: none;
        }
    
        .logo-link {
            position: absolute;
            top: 10px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 105;
            max-width: 300px;
        }
    
        .logo {
            width: 100%;
            height: auto;
        }
    
        .mobile-menu {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            position: absolute;
            top: 10px;
            right: 20px;
            width: auto;
            z-index: 110;
        }
    
        #menu-toggle {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 3px;
            padding: 8px 12px;
            font-size: 1rem;
            text-transform: uppercase;
            font-weight: bold;
            border: 2px solid white;
            background: none;
            color: white;
            width: 50px;
            height: 60px;
            white-space: nowrap;
        }
    
        #menu-toggle .menu-text {
            font-size: 0.9rem;
        }
    
        #menu-toggle .menu-icon {
            font-size: 1.2rem;
        }
    }
    


/* 📱 Small Mobile Devices (Phones & Small Tablets) */
@media screen and (max-width: 900px) {
    .nav-bar {
        display: none;
    }

    .logo-link {
        position: relative;
        top: -10px;
        left: 50%;
        transform: translateX(-50%);
        width: 90%;
        max-width: 300px;
        text-align: center;
        z-index: 105;
    }

    .logo {
        width: 100%;
        height: auto;
    }

    .mobile-menu {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 525px; /* exactly 50px below bottom-bar */
        left: 50%;
        transform: translateX(-50%);
        width: auto;
        z-index: 104;
    }

    #menu-toggle {
        display: flex;
        flex-direction: row; /* horizontal layout */
        align-items: center;
        justify-content: center;
        gap: 5px;
        padding: 10px 20px;
        font-size: 1rem;
        text-transform: uppercase;
        font-weight: bold;
        border: 2px solid white;
        background: none;
        color: white;
        white-space: nowrap;
        width: auto;
        height: auto;
    }

    #menu-toggle .menu-text {
        font-size: 1rem;
    }

    #menu-toggle .menu-icon {
        font-size: 1.3rem;
    }
}


/* 📺 Large Screens (Hide Mobile Menu) */
@media screen and (min-width: 1251px) {
    .mobile-menu {
        display: none;
    }
}
.banner-image {
    width: 100%;
    height: 400px;
    object-fit: cover;
    object-position: center;
    display: block;
}
/* Mid-size screens: slightly taller */
@media screen and (max-width: 1024px) {
    .banner-image {
        height: 400px; /* reduced from 500px */
    }
}

/* Mobile screens: modest increase */
@media screen and (max-width: 768px) {
    .banner-image {
        height: 225px; /* reduced from 600px */
    }

}

banner-image {
    object-position: center;
}
@media screen and (max-width: 768px) {
    .contact-container {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 30px 20px;
        gap: 30px;
        width: 100%;
        box-sizing: border-box;
    }

    .contact-left,
    .contact-right {
        width: 100%;
        max-width: 100%;
        padding: 0 10px;
        box-sizing: border-box;
    }

    .contact-section {
        background-color: #505050;
        width: 100vw;
        margin-left: calc(-50vw + 50%);
        padding: 50px 0;
        box-sizing: border-box;
    }
    /* Ensure form field inputs also behave on small screens */
    .contact-right form input,
    .contact-right form textarea,
    .contact-right form select {
        width: 100%;
        box-sizing: border-box;
    }

    /* Optional: center the submit button */
    .submit-button {
        display: block;
        margin: 20px auto 0 auto;
    }
}


/* 🔹 Tagline Styling */
.tagline {
    font-size: 1.5rem;
    font-style: italic;
    margin-top: 10px;
    margin-bottom: 50px; /* Adds space between tagline and blurb */
    font-family: 'Playfair Display', serif; /* Replace with chosen font */
}

/* 🔹 Intro Text (Left-Aligned But Centered on Page) */
.intro-text {
    font-size: 1.2rem;
    line-height: 1.6;
    max-width: 800px; /* Limits width for readability */
    margin: 20px auto; /* Centers the block */
    color: white;
    text-align: left; /* Aligns text to the left */
}

/* 🔹 Extra Spacing Between Blurb and Section Title */
h2 {
    font-size: 1.5rem;
    font-style: italic;
    margin-top: 40px; /* Adds more space before "Time To Let Your Vision Take Flight" */
    font-family: 'Playfair Display', serif; /* Replace with chosen font */
}
/* 🔹 Responsive YouTube Video (75% Width) */
.video-container {
    position: relative;
    width: 75%/* Shrinks video to 80% of screen width */
    max-width: 1000px; /* Prevents it from getting too large */
    margin: 20px auto; /* Centers the video */
    padding-bottom: 42.1875%; /* 16:9 Aspect Ratio */
    height: 0;
    overflow: hidden;
}
.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/* 🔹 Contact Button (Steal Blue) */
.contact-button {
    display: inline-block;
    margin-top: 20px;
    padding: 12px 20px;
    font-size: 1.2rem;
    color: white;
    background: #6CA6CD; /* Steel Blue */
    text-decoration: none;
    border-radius: 8px;
    transition: background 0.3s ease-in-out;
}

/* 🔹 Button Hover Effect */
.contact-button:hover {
    background: #006D77; /* Deep Teal */
}


/* 🔹 Social Media Icons */
.social-media {
    margin-top: 20px;
    display: flex;
    justify-content: center;
    gap: 15px;
}

.social-media a img {
    width: 40px;
    height: 40px;
    transition: transform 0.3s ease-in-out;
}

.social-media a:hover img {
    transform: scale(1.1);
}
/* 🔹 H1 Styling (Ensures Font & Centering) */
h1 {
    font-size: 2rem;
    font-weight: bold;
    text-align: center; /* Keeps it centered */
}
.content h1 {
    margin-top: -50px; /* Try 30px for a tighter look */
  } 
  @media screen and (max-width: 768px) {
    .content h1 {
      margin-top: 25px !important;  /* Push h1 down */
    }
  
    .large-tagline {
      margin-top: 25px !important;   /* Space between h1 and tagline */
    }
  }
  
  
  /* Styling for large hero-style taglines */
.large-tagline {
    font-family: 'Playfair Display', serif; /* Same font as other taglines */
    font-style: italic;
    font-size: 2.5rem;    /* Same or close to h1 size */
    font-weight: normal;
    text-align: center;
    margin-top: -50px;     /* Same spacing you set for h1 */
    margin-bottom: 40px;  /* Optional: space before next section */
    color: white;
  }
  .underline-span {
    border-bottom: 3px solid #fafcfd; /* Steel Blue or your brand color */
    padding-bottom: 5px;
    display: inline-block; /* Ensures underline fits the text */
  }
  

/* 🔹 "Dreamhawk" in stel Blue (Matches Button) */
.dreamhawkentertainment {
    color: #6CA6CD;
}
/* 🔹 Service Breakdown Section */
.services {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    max-width: 1200px;
    margin: 50px auto;
    flex-wrap: wrap;
    text-align: center;
}

/* 🔹 Individual Service Box */
.service-box {
    flex: 1;
    min-width: 300px;
    max-width: 350px; /* Prevents boxes from stretching too wide */
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* 🔹 Subject Headers (Ensuring Same Size for All) */
.service-header {
    width: 100%;
    min-height: 80px; /* Ensures all headers are equal in height */
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #d921e3; /* Fuchsia Outline */
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.05); /* Light Transparency */
    padding: 10px;
    text-align: center;
}

/* 🔹 Subject Header Text */
.service-header h2 {
    font-size: 1.3rem;
    font-weight: bold;
    margin: 0;
    white-space: normal; /* Ensures two-line text */
}

/* 🔹 Service Links */
.service-box ul {
    list-style: none;
    padding: 0;
    margin-top: 15px;
}

.service-box ul li {
    margin: 10px 0;
}

.service-box ul li a {
    text-decoration: none;
    color: white;
    font-size: 1rem;
    transition: color 0.3s ease-in-out;
}

.service-box ul li a:hover {
    color: #6CA6CD; /* Steel Blue Hover Effect */
}

/* 📱 Responsive: Stack Boxes on Smaller Screens */
@media screen and (max-width: 900px) {
    .services {
        flex-direction: column;
        align-items: center;
    }

    .service-box {
        width: 80%; /* Centered for smaller screens */
        margin-bottom: 20px;
    }
}
@media screen and (max-width: 768px) {
    .section-divider {
      padding-top: 8px;  /* Adjust upward */
      padding-bottom: 12px; /* Optional, if you want more space below too */
    }
  
    .section-divider h1 {
      margin-top: 0;
    }
  }
  
/* 🔹 Specialized Services Divider */
.section-divider {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    background: url('images/services-background-bar.png') no-repeat center center;
    background-size: cover;
    text-align: center;
    padding: 40px 0 20px 0; /* Top, Right/Left, Bottom */
    margin-top: 50px;
}


/* 🔹 Specialized Services Title - Matching Home Page */
.section-divider h1 {
    font-weight: bold;
    font-size: 1.8rem;
    color: rgb(0, 0, 0);
    text-align: center;
    margin: 0;
    padding-bottom: 10px;
}
/* 🔹 Vision Flight Section with Two Blue Lines */
.vision-lines {
    text-align: center;
    margin-top: 50px;
}

/* 🔹 Thin Blue Lines */
.vision-lines .top-line,
.vision-lines .bottom-line {
    width: 100%; /* Adjust width if needed */
    height: 4px; /* Thickness of the lines */
    background: #6CA6CD; /* Steel Blue */
    border: none;
    margin: 10px auto; /* Spacing around the lines */
}
.vision-lines .top-line,
.vision-lines .bottom-line {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
}

/* 🔹 Vision Flight Title */
.vision-lines h2 {
    font-family: 'Playfair Display', serif;
    font-weight: bold;
    font-size: 1.8rem;
    color: white;
    margin: 10px 0;
}  
/* 🔹 Consistent Blue Lines (Same as Home Page) */
.blue-line {
    width: 100%;
    height: 4px; /* Adjusted thickness to match home page */
    background: #6CA6CD; /* Steel Blue */
    border: none;
    margin: 30px auto; /* Adds spacing */
}
.blue-line {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
}


/* 🔹 Center & Style "Include" Subheader */
.subheader {
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
}

/* 🔹 Ensure "Dreamhawk Entertainment" & Bullet Topics Are Bold & Colored */
.highlight-text {
    font-weight: bold;
    color: #6CA6CD; /* Steel Blue */
}

/* Adjusting Bullet Points Margin */
.custom-list {
    list-style: none; /* Removes default bullet points */
    padding-left: 0; /* Reset padding */
    margin: 20px auto; /* Centers the list */
    max-width: 800px; /* Ensures alignment with the blurb above */
    text-align: left;
}

/* Individual List Items */
.custom-list li {
    font-size: 1rem;
    padding: 8px 0;
    display: flex;
    align-items: flex-start; /* ⬅️ This is the key */
    color: white; /* Default text color */
    padding-left: 20px; /* Moves checkmarks inward */
}

/* Custom Checkmark Bullet */
.custom-list li::before {
    content: "✔"; /* White checkmark bullet */
    font-size: 1.2rem;
    color: white;
    margin-right: 10px;
}
/* 🔹 Prevent Topic Wrapping on Desktop */
.custom-list li .highlight-text {
    display: inline-block;
    white-space: nowrap;
    margin-right: 5px;
}

/* 🔹 Banner Section */
.banner-container {
    width: 100%;
    overflow: hidden;
    text-align: center;
}


/* 🔹 Content Section */
.content {
    padding: 50px;
    text-align: center;
    color: white;
}

/* 🔹 Contact Section */
.contact-section {
    background-color: #505050;
    padding: 50px 20px;
    display: flex;
    justify-content: center;
}

/* 🔹 Contact Container */
.contact-container {
    display: flex;
    flex-wrap: wrap;
    max-width: 1100px;
    width: 100%;
    gap: 30px;
}

/* 🔹 Left Side: Contact Info */
.contact-info {
    flex: 1;
    min-width: 300px;
    color: white;
    text-align: left;
}

.contact-info h2 {
    font-size: 24px;
    color: white;
}

.contact-info p {
    font-size: 16px;
    margin: 10px 0;
}

.contact-info a {
    color: #6CA6CD;
    text-decoration: none;
}

/* 🔹 Right Side: Contact Form */
.contact-form {
    flex: 1;
    min-width: 300px;
    background: transparent;
    padding: 20px;
}

/* 🔹 Align Labels & Fields in a Grid */
.form-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 100%;
}

/* 🔹 Labels */
.form-group label {
    font-weight: bold;
    display: block;
    margin-bottom: 5px;
    text-align: left;
    color: white;
}

/* 🔹 Make Asterisks Bigger */
.required {
    font-size: 2rem; /* Doubled in size */
    color: #d921e3;
    font-weight: bold;
}
/* 🔹 Force Each Row to Have Equal Height */
.form-columns .form-group {
    display: flex;
    flex-direction: column;
    justify-content: center; /* Aligns text & inputs properly */
    height: 80px; /* Ensures all fields stay equal in height */
}
/* 🔹 Ensure All Input Fields & Select Dropdown Are Equal in Size */
input, select, textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 1rem;
    box-sizing: border-box;
}

/* 🔹 Set Uniform Size for ALL Inputs to Match "SUBMIT" Button */
.split-fields input,
.split-fields select,
.name-fields input {
    width: 48%;
}

/* 🔹 Two-Column Layout Fix */
.split-fields {
    display: flex;
    gap: 10px;
    justify-content: space-between;
    align-items: center;
}

/* 🔹 First & Last Name Alignment */
.name-fields {
    display: flex;
    gap: 10px;
    justify-content: space-between;
}

.name-fields div {
    flex: 1;
}

/* 🔹 Ensure Full Width for Large Inputs */
.full-width textarea {
    width: 100%;
    height: 100px;
}

/* 🔹 Align reCAPTCHA Checkbox */
.recaptcha-container {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1rem;
    color: white;
}

/* 🔹 Style Checkbox */
.recaptcha-container input[type="checkbox"] {
    width: 20px;
    height: 20px;
}

/* 🔹 Adjust Submit Button Size & Alignment */
button {
    background: transparent;
    color: #d921e3;
    border: 2px solid #d921e3;
    padding: 12px;
    cursor: pointer;
    display: block;
    width: 48%; /* Matches input fields */
    font-size: 1rem;
    font-weight: bold;
    text-align: center;
}

button:hover {
    background: #d921e3;
    color: white;
}

/* 🔹 Social Media Icons */
.social-media {
    margin-top: 20px;
    display: flex;
    justify-content: center;
    gap: 15px;
}

.social-media a img {
    width: 40px;
    height: 40px;
    transition: transform 0.3s ease-in-out;
}

.social-media a:hover img {
    transform: scale(1.1);
}

/* 🔹 Responsive: Stack Form on Mobile */
@media (max-width: 768px) {
    .contact-container {
        flex-direction: column;
        align-items: center;
    }
    .split-fields input,
    .split-fields select,
    .name-fields input {
        width: 100%;
    }
    button {
        width: 100%;
    }
    .custom-list li {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .custom-list li .highlight-text {
        white-space: normal; /* ✅ Allows topic text to wrap */
    }
    
}
/* 🔹 Form Columns: Two Equal Sections */
.form-columns {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Two equal columns */
    gap: 20px;
}

/* 🔹 Each Column Stays Aligned */
.form-column {
    flex: 1;
    min-width: 300px;
}

/* 🔹 Ensure Labels & Fields Are Aligned in Rows */
.form-row {
    display: flex;
    justify-content: space-between;
    align-items: center; /* Keeps inputs aligned */
    gap: 20px;
}

/* 🔹 Ensure Each Label Stays Above Its Field */
.form-row .form-group {
    flex: 1;
    display: flex;
    flex-direction: column; /* Keeps label above input */
}

/* 🔹 Ensure Select Dropdown Matches Other Fields */
select {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 1rem;
}

/* 🔹 Responsive: Stack Form on Mobile */
@media (max-width: 768px) {
    .form-columns {
        display: flex;
        flex-direction: column;
        width: 100%;
        gap: 15px;
    }

    .form-row,
    .split-fields,
    .name-fields {
        flex-direction: column;
        width: 100%;
    }

    .form-group,
    .form-column {
        width: 100%;
    }

    .contact-section {
        background-color: #505050;
        width: 100vw;
        margin-left: calc(-50vw + 50%);
        padding: 50px 0;
        box-sizing: border-box;
    }
    

    .g-recaptcha {
        transform: scale(0.85);
        transform-origin: center;
        max-width: 100%;
    }
}

/* 🔹 Move "PHONE NUMBER" Label Down */
#phone-label {
    display: block;
    position: relative;
    top: 10px; /* Adjust this value to move it further down */
}

.contact-form #last-name {
  margin-top: 35px;
}
#phone {
    margin-bottom: -10px; /* Moves the input fields down */
}
/* 🔹 Move "Project Details*" Label Down */
.full-width label {
    display: block;
    margin-top: 10px; /* Moves the label down */
}

/* 🔹 Ensure Consistent Spacing */
.full-width textarea {
    margin-top: 5px; /* Adjust for better spacing */
}

/* 🔹 Add Space Above the Phone Number Form Group */
#phone {
    margin-top: 5px; /* Adjust this value as needed */
}
/* 🔹 Align Contact Left Content to Left */
.contact-left {
    text-align: left; /* Ensures full left alignment */
}

/* 🔹 Remove Bold from Actual Phone & Email */
.contact-left strong {
    font-weight: bold; /* Keeps "Phone:" and "Email:" bold */
}

.contact-left a.contact-link {
    font-weight: normal; /* Ensures actual phone & email are NOT bold */
    color: #6CA6CD; /* Steel Blue */
    text-decoration: none;
}

.contact-left a.contact-link:hover {
    text-decoration: underline;
}
.dream-headquarters {
    font-family: 'Bruno Ace SC', sans-serif;
    font-size: 1.3rem; /* Adjust as needed */
    color: #6CA6CD; /* Steel Blue */
    text-align: left;
    margin-bottom: 15px;
    font-style: normal !important; /* Forces non-italic */
}
/* 🔹 Two-Column Layout for Contact Details */
.contact-details-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start; /* Aligns items to the top */
    gap: 20px; /* Adds spacing between columns */
    max-width: 100%;
}

/* 🔹 Left Column: Contact Info (Aligned to the Top) */
.contact-info {
    flex: 1; /* Takes 50% width */
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: flex-start; /* Aligns text to the top */
}

/* 🔹 Right Column: Image */
.contact-image {
    flex: 1; /* Takes 50% width */
    display: flex;
    justify-content: center;
    align-items: flex-start; /* Aligns image to the top */
}

.contact-image img {
    width: 250px; /* Adjust width based on preference */
    height: auto; /* Maintains aspect ratio */
    max-height: 200px; /* Prevents it from being too tall */
    object-fit: contain; /* Ensures proper scaling */
}

/* 📱 Responsive: Stack Image Below on Smaller Screens */
@media screen and (max-width: 768px) {
    .contact-details-container {
        flex-direction: column; /* Stacks columns */
        align-items: flex-start; /* Aligns text to left */
    }

    .contact-image {
        width: 100%;
        text-align: center;
    }

    .contact-image img {
        width: 80%; /* Make image responsive */
        max-width: 300px;
    }
}
/* 📱 Mid-Size Screens (Tablets, 21” Portrait Monitors) */
@media screen and (max-width: 1250px) {
    .nav-bar {
        display: none;
    }

    .logo-link {
        position: absolute;
        top: -30px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 105;
        max-width: 125%;
    }

    .logo {
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    .mobile-menu {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        position: absolute;
        top: 10px;
        right: 20px;
        width: auto;
        z-index: 110;
    }

    #menu-toggle {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        padding: 8px 12px;
        font-size: 1rem;
        text-transform: uppercase;
        font-weight: bold;
        border: 2px solid white;
        background: none;
        color: white;
        width: 50px;
        height: 60px;
        white-space: nowrap;
    }

    #menu-toggle .menu-text {
        font-size: 0.9rem;
    }

    #menu-toggle .menu-icon {
        font-size: 1.2rem;
    }
}

/* 📱 Small Mobile Devices (Phones & Small Tablets) */
@media screen and (max-width: 900px) {
    .nav-bar {
        display: none;
    }

    .logo-link {
        position: relative;
        top: -10px;
        left: 50%;
        transform: translateX(-50%);
        width: 90%;
        max-width: 300px;
        text-align: center;
        z-index: 105;
    }

    .logo {
        width: 100%;
        height: auto;
    }

    .mobile-menu {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 350px; /* 🔧 adjust upward to tighten spacing under bottom-bar */
        left: 50%;
        transform: translateX(-50%);
        width: auto;
        z-index: 104;
    }    

    #menu-toggle {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 5px;
        padding: 10px 20px;
        font-size: 1rem;
        text-transform: uppercase;
        font-weight: bold;
        border: 2px solid white;
        background: none;
        color: white;
        white-space: nowrap;
        width: auto;
        height: auto;
    }

    #menu-toggle .menu-text {
        font-size: 1rem;
    }

    #menu-toggle .menu-icon {
        font-size: 1.3rem;
    }
}
@media screen and (max-width: 768px) {
    .contact-section {
        background-color: #505050;
        width: 100vw;
        margin-left: calc(-50vw + 50%);
        padding: 50px 0;
        box-sizing: border-box;
    }
    

    .contact-container {
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 30px;
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        padding: 0;
    }

    .contact-left,
    .contact-right {
        width: 100%;
        padding: 0;
        box-sizing: border-box;
    }

    .contact-left h2,
    .contact-left p,
    .contact-left a {
        text-align: left;
        word-break: break-word;
    }

    .contact-image {
        width: 100%;
        text-align: center;
    }

    .contact-image img {
        width: 80%;
        max-width: 300px;
        height: auto;
    }


    .contact-right form input,
    .contact-right form select,
    .contact-right form textarea {
        width: 100%;
        box-sizing: border-box;
        padding: 10px;
        font-size: 1rem;
    }

    .form-row,
    .name-fields,
    .split-fields {
        flex-direction: column;
        gap: 15px;
    }
    .contact-form {
        width: 100%;
        padding: 0 15px; /* ✅ Adds left and right padding */
        box-sizing: border-box;
    }
    .contact-right form input,
.contact-right form select,
.contact-right form textarea,
.contact-form form input,
.contact-form form select,
.contact-form form textarea {
    width: 100%;
    box-sizing: border-box;
}

    .submit-button,
    button[type="submit"] {
        display: block;
        width: 100%;
        max-width: 100%;
        margin-top: 10px;
        padding: 12px;
        font-size: 1rem;
    }

    .g-recaptcha {
        transform: scale(0.85);
        transform-origin: center;
        max-width: 100%;
        margin: 10px auto;
    }

/* 📺 Large Screens (Hide Mobile Menu) */
@media screen and (min-width: 1251px) {
    .mobile-menu {
        display: none;
    }
}
/* 🔹 Service Image Style */
.service-image {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    margin: 30px auto;
    max-width: 1000px;
    padding-bottom: 40px; /* ✅ Adds space before next section */
  }
  
  .service-image img {
    width: 100%;
    max-width: 300px;
    height: auto;
    border-radius: 6px;
  }  
}
@media screen and (max-width: 768px) {
    .service-image {
      width: 100%;
      height: auto;
      max-width: 100%;
    }
  }
  
/* 🔹 Client Logo Section */
.client-logos {
    background-color: rgb(0, 0, 0);
    padding: 50px 20px;
    text-align: center;
}

.client-logos h2 {
    font-size: 1.8rem;
    color: black;
    margin-bottom: 30px;
    font-weight: bold;
}
.logo-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;  /* ✅ Center the tiles */
    margin: 0 auto;
    padding: 0;
    max-width: 1200px;
    width: 100%;
}

.logo-tile {
    flex: 1 1 300px;
    max-width: 300px;
    height: 301px;
    background: #000000;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    box-shadow: none;
    margin: 0;
    padding: 0;
}



.logo-tile img {
    max-width: 80%;
    max-height: 80%;
    object-fit: contain;
}

@media screen and (max-width: 900px) {
    .logo-tile {
        flex: 1 1 50%;
    }
}

@media screen and (max-width: 600px) {
    .logo-tile {
        flex: 1 1 100%;
    }
}

.fuchsia {
    color: #d921e3;
    font-weight: bold;
}
/* 🔹 Vision/Mission/Core Values Tile Section */
.vmv-section {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
  }
  
.vmv-tiles {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    margin: 20px auto 20px; /* tighten spacing below */
}
.vmv-tile {
    flex: 1 1 300px;               /* Each tile is flexible but starts at 300px */
    max-width: 300px;              /* Prevents stretching beyond image size */
    height: 300px;                 /* Matches your background image size */
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    color: white;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;       /* Align left, as requested */
    text-align: left;
    box-sizing: border-box;
  }
  
  
  .vmv-tile:nth-child(1) {
    background-image: url('images/vmv-horizontal-1.jpg');
    background-position: left center;
  }
  
  .vmv-tile:nth-child(2) {
    background-image: url('images/vmv-horizontal-2.jpg');
    background-position: center center;
  }
  
  .vmv-tile:nth-child(3) {
    background-image: url('images/vmv-horizontal-3.jpg');
    background-position: right center;
  }
  
  

@media screen and (max-width: 768px) {
    .vmv-tile:nth-child(1) {
      background-image: url('images/vmv-vertical-1.jpg');
      background-position: top center;
    }
  
    .vmv-tile:nth-child(2) {
      background-image: url('images/vmv-vertical-2.jpg');
      background-position: center center;
    }
  
    .vmv-tile:nth-child(3) {
      background-image: url('images/vmv-vertical-3.jpg');
      background-position: bottom center;
    }
    .vmv-tile {
        width: 100%;
        max-width: 300px;     /* Constrains width on mobile */
        height: 300px;        /* Ensures square shape */
        margin: 0 auto;       /* Centers the tile */
      }
    }
  

.vmv-tile h3 {
  text-align: center;
  width: 100%; /* Ensures it centers in the tile */
  margin: 0 auto 10px;
  font-size: 1.3rem;
}

.vmv-tile p {
    text-align: center;
    font-size: 1.1rem;
    line-height: 1.5;
    margin-top: 10px;
}

.vmv-tile ul.vmv-list {
    list-style-type: disc;
    margin: 10px auto 0;
    padding-left: 0;
    text-align: left;
    width: max-content;
}


.vmv-tile ul.vmv-list li {
    margin-bottom: 8px;
    font-size: 1.2rem;
    color: white;
}


/* 🔹 Team Bio Alternationg Layout Section */
.team-heading-lines {
    text-align: center;
    margin: 60px 0 40px;
  }
  
  .team-heading-lines h1 {
    font-size: 2.2rem;
    font-weight: bold;
    color: white;
    margin: 20px 0;
  }
  
  .team-heading-lines .top-line,
  .team-heading-lines .bottom-line {
    height: 4px;
    background-color: #6CA6CD; /* Steel Blue */
    border: none;
    margin: 0;
    width: 100vw;         /* 🔹 Full viewport width */
    position: relative;
    left: 50%;
    transform: translateX(-50%); /* 🔹 Cancels any parent centering */
  }  
  
.team-section {
    max-width: 1200px;
    margin: 50px auto;
    padding: 0 20px;
}

.team-member {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    margin-bottom: 50px;
}

.bio-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
    color: white;
    flex: 1;
    background: #505050; /* for right-side bios */
}
.bio-inner {
    padding: 0 30px;         /* Applies equal padding on left/right */
    max-width: 350px;        /* Limits text width inside bio block */
    width: 100%;
    text-align: center;
    margin: 0 auto;          /* Ensures it’s centered in left-bio too */
}
.left-bio {
    background: #2a2a2a;
}

.right-bio {
    background: #505050;
}

.team-name {
    color: #6CA6CD; /* Steel Blue */
    font-size: 3rem;
    margin-bottom: 2px;
    text-align: center;
  }
  
.team-name + h3 {
    margin-top: 2px;  /* Tighter spacing */
}

.bio-image {
    flex: 1;
    text-align: center;
}

.bio-image img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}
/* 🔹 Bio "Learn More" Button Section */
.learn-more-button {
    display: inline-block;
    padding: 12px 20px;
    font-size: 1rem;
    color: #d921e3;
    background: none;
    border: 2px solid #d921e3;
    border-radius: 5px;
    text-decoration: none;
    margin-top: 10px;
    transition: 0.3s;
}

.learn-more-button:hover {
    background: #d921e3;
    color: white;
}

@media screen and (max-width: 768px) {
    .team-member {
        padding: 0 10px;
        box-sizing: border-box;
        margin: 0 auto;
        flex-direction: column;
      }
      
      .bio-text {
        padding: 0;
        margin: 0 auto;
        width: 100%;
        box-sizing: border-box;
      }
      
      .bio-inner {
        padding: 0;
        margin: 0 auto;
        max-width: 350px;
        width: 100%;
        box-sizing: border-box;
        text-align: center;
      }
      
      .bio-inner h2,
      .bio-inner h3,
      .bio-inner p,
      .bio-inner .submit-button {
        text-align: center;
        margin-left: auto;
        margin-right: auto;
      }
 
    .team-member .bio-image {
        margin-bottom: 0; /* Ensures image doesn’t add spacing */
      }
    .bio-text, .bio-image {
        width: 100%;
        padding: 10px;
    }
    .team-member .bio-text.right-bio {
        margin-top: -15px; /* Pulls the gray background up snugly to the image */
      }
      .team-member .bio-text.left-bio {
        margin-top: -15px; /* Pulls the gray background up snugly to the image */
      }
    /* Override for bios where image is on left */
    .team-member:nth-child(even) .bio-image {
        order: 1;
    }
    .team-member:nth-child(even) .bio-text {
        order: 2;
    }
    .hero-image-wrapper {
        width: 100vw;
        margin: 0 auto;
        position: relative;
        left: 50%;
        right: 50%;
        transform: translateX(-50%);
      }
    
      .hero-show-image {
        width: 100%;
        height: auto;
        display: block;
        margin: 0;
      }
    }   
}  
.hero-show-image {
    display: block;
    width: 80%;
    height: auto;
    max-width:80%;
    margin: 20px auto; /* Optional: keeps spacing consistent */
  }
  @media screen and (min-width: 769px) and (max-width: 1250px) {
    .hero-image-wrapper {
      width: 100%;
      transform: none;
      margin: 0 auto;
    }
  
    .hero-show-image {
      width: 80%;
      margin: 0 auto;
      display: block;
    }
  }
  
  @media screen and (max-width: 768px) {
    .content {
      padding-left: 10px !important;
      padding-right: 10px !important;
    }
  }
  .show-tile-section {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    max-width: 1200px;
    margin: 60px auto;
    padding: 0 20px;
  }
  
  .show-tile {
    width: 300px;
    height: 300px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 6px;
    color: white;
    font-size: 1.5rem;
    font-weight: bold;
    font-family: 'Playfair Display', serif;
    box-shadow: 0 0 10px rgba(0,0,0,0.4);
    transition: transform 0.3s ease;
    overflow: hidden;
  }
  
  .show-tile:hover {
    transform: scale(1.05);
  }
  
  /* 📱 Mobile Stacking (MATCH about-us behavior) */
  @media screen and (max-width: 768px) {
    .show-tile-section {
      flex-direction: column;
      align-items: center;
      gap: 25px;
      padding: 0 10px;
    }
    .show-tiles-wrapper {
        padding: 0 10px;   /* Reduce side padding */
        margin: 0 auto;
      }
    
      .show-tile {
        width: 100%;
        max-width: 300px; /* Or whatever your tile size is */
        margin: 10px auto; /* Center and space evenly */
      }
  }

  .engagement-heading-lines {
    text-align: center;
    margin: 60px 0 40px;
  }
  
  .engagement-heading-lines h1 {
    font-size: 2.2rem;
    font-weight: bold;
    color: white;
    margin: 20px 0;
  }
  
  .engagement-heading-lines .top-line,
  .engagement-heading-lines .bottom-line {
    height: 4px;
    background-color: #6CA6CD; /* Steel Blue */
    border: none;
    margin: 0;
    width: 100vw;         /* Full viewport width */
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
  .long-show-tile {
    width: 300px;
    height: 120px; /* a touch more than the graphic if needed */
    background-size: contain; /* preserves full image without cropping */
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: flex-start;  /* text moves higher */
    justify-content: center;
    padding-top: 15px;        /* nudges text down from the top */
    border-radius: 6px;
    color: white;
    font-size: 1.2rem;
    font-weight: bold;
    font-family: 'Playfair Display', serif;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
    margin: 100px auto 5px auto;  /* top | right | bottom | left */
    transition: transform 0.3s ease;
  }
  .long-show-tile:hover {
    transform: scale(1.05);
  }
  .engagement-tagline {
    font-family: 'Playfair Display', serif;
    font-style: italic;
    font-weight: bold;
    font-size: 1.5rem;
    margin-top: 5px;
    margin-bottom: 0px;
    color: white;
    text-align: center;
  }
  .scroll-banner {
    overflow: hidden;
    width: 100%;
    background-color: black; /* Optional */
    padding: 20px 0;
  }
  
  .scroll-track {
    display: flex;
    gap: 5px;
    animation: scroll-left 40s linear infinite;
    width: max-content;
  }
  .scroll-track img {
    margin: 0 0px; /* Adjust horizontal spacing between images */
    display: inline-block;
    vertical-align: middle;
  }
  
  
  .scroll-tile {
    flex: 0 0 auto;
    width: 300px;
    height: 225px; /* 4:3 ratio (200x150) */
    background: #fff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }
  
  .scroll-tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  /* Animation */
  @keyframes scroll-left {
    0% {
      transform: translateX(0%);
    }
    100% {
      transform: translateX(-50%);
    }
  }  
/* Scroll Wrapper Container */
.scroll-wrapper {
    width: 100%;
    overflow: hidden;
    text-align: center;
    margin: 50px 0;
  }
  
  /* Custom Scroll Chrome Bars */
  .chrome-bar-scroll {
    width: 100%;
    display: block;
  }
  
  .top-bar-scroll {
    margin-bottom: -8px; /* Optional: reduce gap between bar and scroll */
  }
  
  .bottom-bar-scroll {
    margin-top: -8px;
  }
 
/* Join the Team Page Styles */
.join-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: 40px 20px;
}

.join-gray-bg {
    background-color: #1a1a1a;
    width: 100%;
}

.join-black-bg {
    background-color: #000;
    width: 100%;
}

.join-image, .join-text {
    flex: 1 1 50%;
    max-width: 50%;
    padding: 20px;
    box-sizing: border-box;
}

.join-image img {
    width: 100%;
    height: auto;
    border-radius: 5px;
}

.join-text h2 {
    color: #d0d0d0;
    font-size: 1.75rem;
    margin-bottom: 10px;
}

.join-text p {
    color: #f0f0f0;
    font-size: 1rem;
    margin-bottom: 15px;
}

@media screen and (max-width: 768px) {
    .join-row {
        flex-direction: column;
        padding: 30px 10px;
    }

    .join-image, .join-text {
        max-width: 100%;
        flex: 1 1 100%;
        padding: 10px 0;
    }

    .join-text {
        text-align: center;
    }
}

/* 🔹 Fix for Join Row 2 stacking on mobile */
@media screen and (max-width: 768px) {
    .join-row:nth-of-type(2) {
      flex-direction: column;
    }
    .join-row:nth-of-type(2) .join-image {
      order: 1;
    }
    .join-row:nth-of-type(2) .join-text {
      order: 2;
    }
  }
  
  /* 🔹 Match Team Name Heading Style for Join Page */
  .join-text h2 {
    color: #6CA6CD; /* Steel Blue like .team-name */
    font-size: 3rem;
    margin-bottom: 5px;
    text-align: center;
  }
  
  /* 🔹 Match Learn More Button to Fuchsia Outline */
  .join-text .learn-more-button {
    display: inline-block;
    padding: 12px 20px;
    font-size: 1rem;
    color: #d921e3;
    background: none;
    border: 2px solid #d921e3;
    border-radius: 5px;
    text-decoration: none;
    margin-top: 10px;
    transition: 0.3s;
  }
  
  .join-text .learn-more-button:hover {
    background: #d921e3;
    color: white;
  }
  .poster-hero-video {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  
  .poster-video-bg {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
    display: block;
  }
  
  @media screen and (max-width: 1024px) {
    .poster-hero-video {
      margin-bottom: 0;
      padding-bottom: 0;
    }
  }
  @media screen and (max-width: 768px) {
    .poster-hero-video {
      width: 100vw;
      height: auto;
      overflow: hidden;
    }
  
    .poster-video-bg {
      width: 100vw;
      height: auto;
      object-fit: cover;
      object-position: center center;
      display: block;
    }
  }
  @media screen and (max-width: 768px) {
    .poster-hero-video {
      width: 100vw;
      height: auto;
      padding: 0;
      margin: 0 auto;
      display: flex;
      justify-content: center;
      align-items: center;
      overflow: hidden;
    }
  
    .poster-hero-video video {
      width: 100%;
      height: auto;
      object-fit: contain;
      object-position: center center;
      display: block;
    }
  }
  @media screen and (max-width: 768px) {
    .service-image img {
      display: block;
      width: 100vw;
      max-width: 100vw;
      height: auto;
      margin: 0;
      padding: 0;
    }
  
    .service-image {
      padding: 0;
      margin: 0;
      display: block;
    }
  }
 /* === FULL BIO PAGE STYLING (bios/*.html) === */

.bio-full-section {
    display: flex;
    flex-wrap: wrap;
    background-color: #2a2a2a; /* Dark gray */
    width: 100%;
    padding: 40px 0;
    margin-top: -10px;
  }
  
  .bio-full-image,
  .bio-full-text {
    flex: 1 1 50%;
    padding: 30px;
    padding-right: 100px;
    box-sizing: border-box; 
  }
  @media screen and (min-width: 1200px) {
    .bio-full-text {
      padding-right: 250px;
    }
}
  
  .bio-full-image img {
    width: 100%;
    max-width: 500px;
    height: auto;
    float: right;
    border-radius: 6px;
  }
  
  .bio-full-text {
    color: rgb(255, 251, 251);
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  
  .bio-full-text h2 {
    font-size: 2.2rem;
    font-style: italic;
    color: #66ccff; /* Steel blue */
    margin-bottom: -15px;
  }
  
  .bio-full-text h3 {
    font-size: 1.3rem;
    font-weight: bold;
    margin-bottom: 10px;
  }
  
  .bio-full-text p {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 10px;
  }
  
  .learn-more-button {
    display: inline-block;
    padding: 10px 25px;
    border: 2px solid #d921e3;
    color: #d921e3;
    font-weight: bold;
    text-decoration: none;
    transition: background-color 0.3s, color 0.3s;
  }
  
  .learn-more-button:hover {
    background-color: #d921e3;
    color: white;
  }
  
  /* === CAREERS SECTION BELOW BIOS === */

  .bio-career-section {
    display: flex;
    flex-wrap: wrap;
    background-color: white;
    width: 100%;
    padding: 40px 0;
  }
  
  .bio-career-text,
  .bio-career-image {
    flex: 1 1 50%;
    padding: 30px;
    box-sizing: border-box;
  }
  
  .bio-career-text {
    text-align: right;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: black;
  }
  
  .bio-career-text h2 {
    font-size: 2.2rem;
    margin-bottom: 10px;
  }
  
  .bio-career-text p {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 30px;
  }
  
  .bio-career-text .learn-more-button {
    color: black;
    border-color: black;
  }
  
  .bio-career-text .learn-more-button:hover {
    background-color: black;
    color: white;
  }
  
  .bio-career-image img {
    width: 100%;
    max-width: 500px;
    height: auto;
    float: left;
    border-radius: 6px;
  }
        
   /* New white background for career row */
.join-white-bg {
    background-color: white;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 60px 20px;
    color: black;
  }
  
  /* Text box padding */
  .join-career-text {
    flex: 1;
    padding: 20px;
    text-align: left;
  }
  
  /* Image styling inside white background */
  .join-career-image {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .join-career-image img {
    width: 100%;
    max-width: 600px;
    padding: 10px;
  }
  @media screen and (max-width: 1024px) {
    .bio-full-text {
      padding: 20px;
      padding-right: 20px;
    }
  }
  
  
  /* === Responsive Stacking === */
  @media screen and (max-width: 768px) {
    .bio-full-section,
    .bio-career-section {
      flex-direction: column;
    }
  
    .bio-full-image img,
    .bio-career-image img {
      float: none;
      margin: 0 auto;
    }
  
    .bio-full-text,
    .bio-career-text {
      text-align: center;
      padding: 20px;
    }
  
    .bio-career-text {
      text-align: center;
    }
  
    .bio-full-text h2,
    .bio-career-text h2 {
      font-size: 1.8rem;
    }
    /* Fix for mobile stacking */
        .join-row {
          flex-direction: column !important;
        }
      }
      .join-career-text {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        text-align: left;
        align-items: flex-start;
      }
      
      .bio-cta-row {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        background-color: white;
        color: black;
        padding: 40px 0;
        flex-wrap: wrap;
      }
      
      .bio-cta-text {
        flex: 1 1 50%;
        padding: 40px;
        text-align: left;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
      }
      
      .bio-cta-text h2 {
        color: #6CA6CD;
        margin-bottom: 15px;
      }
      
      .bio-cta-text p {
        font-size: 1rem;
      }
      
      .bio-cta-text .highlight-text {
        color: #6CA6CD;
        font-weight: bold;
      }
      
      .bio-cta-image {
        flex: 1 1 50%;
        padding: 40px;
        text-align: left;
      }
      
      @media screen and (max-width: 640px) {
        .bio-mobile-menu {
          display: block;
          margin-top: 20px;
          padding-top: 80px; /* adds breathing room below the logo */
          text-align: center;
          position: relative;
          z-index: 5;
        }
      
        .bio-mobile-menu button {
            background: none;
            border: none;
            color: white;
            font-size: 1.1rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto;
            width: 100%;
          }
          
      
        .bio-mobile-menu .menu-icon {
          font-size: 1.4rem;
          margin-left: 8px;
        }
      
        .bio-mobile-menu .mobile-nav-links {
          display: none;
          list-style: none;
          padding: 0;
          margin-top: 10px;
        }
      
        .bio-mobile-menu .mobile-nav-links.show-menu {
          display: block;
        }
      
        .bio-mobile-menu .mobile-nav-links li {
          margin: 10px 0;
        }
      
        .bio-mobile-menu .mobile-nav-links a {
          color: white;
          text-decoration: none;
          font-weight: 500;
        }
      }
      
        .bio-mobile-menu .mobile-nav-links {
          display: none;
          list-style: none;
          padding: 0;
          margin-top: 10px;
        }
      
        .bio-mobile-menu .mobile-nav-links.show-menu {
          display: block;
        }
      
        .bio-mobile-menu .mobile-nav-links li {
          margin: 10px 0;
        }
      
        .bio-mobile-menu .mobile-nav-links a {
          color: white;
          text-decoration: none;
          font-weight: 500;
        }
        @media screen and (max-width: 900px) {
            .bio-page .mobile-menu {
              top: 80px !important; /* Adjust as needed */
            }
        }
        
        .form-container form label {
          margin: 0 0 6px 0; /* bottom margin only */
          line-height: 1.2;
        }
          
          .form-container form input,
          .form-container form textarea,
          .form-container form select {
            margin-top: 5px;
            margin-bottom: 12px;  /* Previously 20px */
          }
          .form-container {
            background-image: url('../../images/metallic-panel.jpg');
            background-repeat: no-repeat;
            background-size: 100% auto;  /* 👈 key line */
            background-position: center top;
            min-height: 2050px;  /* ✅ Show full image */
            padding: 80px 20px 100px;
            border-radius: 12px;
            backdrop-filter: blur(4px);
          }
                   
          @media screen and (max-width: 768px) {
            .form-container {
              background-image: url('../../images/metallic-panel-mobile.jpg')!important;
              background-repeat: no-repeat;
              background-size: cover;
              background-position: 48% top !important; /* Nudges the image slightly left */
              padding-left: 16px;
              padding-right: 16px;
              padding-bottom: 150px;
              overflow: visible;
              background-color: transparent;
            }
          
            .form-container form {
              position: static !important;
              transform: none !important;
              width: 100%;
              max-width: 100%;
              margin: 0 auto;
              padding-left: 24px;
              padding-right: 24px;
              box-sizing: border-box;
            }
            
          
            .form-row {
              flex-direction: column;
              gap: 12px;
            }
          
            .form-half,
            .form-third {
              flex: 1 1 100%;
            }
          }
          
          
          .horizontal-field {
            display: flex;
            align-items: center;
            gap: 20px;
            margin-bottom: 20px;
          }
          
          .horizontal-field label {
            flex: 0 0 160px;
            margin: 0;
            text-align: right;
          }
          
          .horizontal-field input {
            flex: 1;
          }
          .form-row {
            display: flex;
            flex-wrap: wrap;
            gap: 20px;
            margin-bottom: 20px;
          }
          
          .form-half {
            flex: 1 1 48%;
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
          }          
          
          .aligned-field {
            display: flex;
            align-items: baseline;
            gap: 20px;
            margin-bottom: 20px;
          }
          
          .aligned-field label {
            width: 160px;           /* Keeps all inputs aligned */
            text-align: left;
            margin: 0;
            margin-top: 4px;
            line-height: 1.2;
          }
          
          .aligned-field input {
            flex: 1;
          }
          .aligned-field textarea {
            line-height: 1.4;
          }
          .radio-group {
            display: flex;
            gap: 30px;
            align-items: center;
            flex-wrap: wrap;
          }
          
          .radio-option {
            display: flex;
            align-items: center;
            gap: 6px;
            white-space: nowrap;
          }
          
          .recaptcha-submit-row {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 24px;
            margin-top: 40px;
          }
          
          .recaptcha-container {
            display: block;
            text-align: center;
            width: 100%;
          }
          
          .submit-container {
            display: flex;
            justify-content: center;
            width: 100%;
          }
          
          .submit-btn {
            padding: 12px 32px;
            font-size: 1rem;
            white-space: nowrap;
          }
          .email-signup-form {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 12px;
            margin-top: 20px;
          }
          
          .email-signup-form input[type="email"] {
            width: 100%;
            max-width: 400px;
            padding: 12px;
            border: none;
            border-radius: 4px;
            background-color: #000;
            color: #fff;
            font-size: 16px;
            box-sizing: border-box;
            text-align: center;
            font-family: monospace;
          }
          
          .email-signup-form input::placeholder {
            color: #ccc;
          }
          /* Override for job board email signup fields */
.jobs-page .email-signup-form input[type="email"] {
  background-color: #fff;
  color: #000;
  border: 1px solid #ccc;
}

.jobs-page .email-signup-form input::placeholder {
  color: #888;
}

          
          .outline-btn {
            padding: 12px 24px;
            font-size: 16px;
            border: 2px solid #d921e3;
            background-color: transparent;
            color: #d921e3;
            cursor: pointer;
            border-radius: 4px;
            font-family: monospace;
            transition: background-color 0.3s ease, color 0.3s ease;
          }
          
          .outline-btn:hover {
            background-color: #d921e3;
            color: #000;
          }
          .job-post {
            max-width: 900px;
            margin: 0 auto;
            padding: 0 20px;
            line-height: 1.6;
          }
          .performer-form {
            position: absolute;
            top: 80px;
            left: 50%;
            transform: translateX(-50%);
            width: 70%;
            max-width: 540px;
          }
          
          @media screen and (max-width: 768px) {
            .performer-form {
              position: static !important;
              transform: none !important;
              width: 100%;
              max-width: 100%;
              margin: 0 auto;
              padding-left: 20px;
              padding-right: 20px;
              box-sizing: border-box;
            }
          }
          
         
          
          
