/* GLOBAL STYLES */
body {
    margin:0;
    font-family:'Poppins',sans-serif;
    line-height:1.6;
    color:#333;
  
    background:
    linear-gradient(
    180deg,
    #f8f8f8 0%,
    #f2f2f2 40%,
    #ececec 100%
    );
  }
  h1, h2, h3 {
    font-family: 'Playfair Display', serif;
  }
  
  a {
    text-decoration: none;
    color: inherit;
  }
  
  ul {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 20px;
  }
  
  nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 10%;
    background: #fff;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    section{
        margin-bottom:60px;
      }
  }
  
  nav .logo {
    font-weight: 700;
    font-size: 1.5rem;
  }

  /* HERO SECTION */
  .hero {
    position: relative;
    height: 90vh;
    background: url("images/hero.jpg") center/cover no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .hero-text {
    position: relative;
    z-index: 2;
    color: white;
    margin-top: 60px;
  }
  .hero-text h1,
  .hero-text p {
    font-family: 'Playfair Display', serif;
  font-size: 64px;
  font-weight: 700;
  margin-bottom: 10px;
  letter-spacing: 1px;
    color: white;
    margin-top: 60px;
   text-shadow: 0 4px 10px rgba(0,0,0,0.6);
}
  
  .hero-text h1 {
    font-size: 3rem;
    margin-bottom: 10px;
  }
  
  .hero-text p {
    font-size: 1.2rem;
    margin-bottom: 20px;
  }
  
  .hero-text button {
    padding: 10px 25px;
    font-size: 1rem;
    border: none;
    background: #f04e30;
    color: white;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.3s ease;
  }
  
  .hero-text button:hover {
    background: #d74222;
  }
  
  /* INTRO SECTION */
  .intro {
    padding: 60px 10%;
    text-align: center;
  }
  
  /* SERVICES SECTION */
  .services {
    padding: 60px 10%;
  }
  
  .service-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    margin-top: 30px;
  }
  
  .service-card {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: 200px;
    color: white;
    text-decoration: none;
    padding: 15px;
    border-radius: 10px;
    background-color: #555; /* fallback color */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }
  
  .service-card h3 {
    background: rgba(0, 0, 0, 0.5);
    padding: 5px 10px;
    border-radius: 5px;
    margin: 0;
  }
  
  .service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.3);
  }
  
  /* INDIVIDUAL SERVICE BACKGROUNDS */
  .service-card.engagement {
    background-image: url('images/engagement.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  
  .service-card.realestate {
    background-image: url('images/realestate.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  
  .service-card.drone {
    background-image: url('images/drone.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  
  .service-card.headshots {
    background-image: url('images/headshots.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  
  .service-card.live {
    background-image: url('images/live.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  
  .service-card.holiday {
    background-image: url('images/holiday.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  
  /* CONTACT SECTION */
  /* CONTACT SECTION */

.contact{
    padding:100px 10%;
    display:flex;
    justify-content:center;
  }
  
  .contact form{
    width:100%;
    max-width:500px;
    background:white;
    padding:40px;
    border-radius:10px;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
  
    display:flex;
    flex-direction:column;
    gap:15px;
  }
  
  .contact h2{
    text-align:center;
    margin-bottom:30px;
  }
  
  .contact input,
  .contact textarea{
    padding:12px;
    border:1px solid #ddd;
    border-radius:6px;
    font-size:14px;
  }
  
  .contact textarea{
    min-height:120px;
    resize:vertical;
  }
  
  .contact button{
    padding:12px;
    border:none;
    border-radius:6px;
    background:#f04e30;
    color:white;
    font-weight:500;
    cursor:pointer;
    transition:.25s;
  }
  
  .contact button:hover{
    background:#d74222;
  }
  /* FOOTER */
  footer {
    text-align: center;
    padding: 20px;
    background: #222;
    color: white;
  }

  /* GALLERY GRID */

/* GALLERY GRID */

.portfolio-grid{
    padding:60px 10%;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:20px;
  }
  
  .portfolio-grid img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
    transition: transform 0.3s ease;
  cursor: pointer;
  }
  
  .portfolio-grid img:hover{
    transform:scale(1.03);
    box-shadow:0 10px 20px rgba(0,0,0,.25);
  }
  
  /* LIGHTBOX (INSTAGRAM STYLE POPUP) */
  
  .lightbox{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.9);
    display:none;
    justify-content:center;
    align-items:center;
    z-index:2000;
  }
  
  .lightbox img{
    max-width:90%;
    max-height:90%;
    border-radius:6px;
  }
  .drone-videos{
    padding:80px 10%;
    text-align:center;
    }
    
    .video-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:30px;
    margin-top:40px;
    }
    
    .video-item{
    position:relative;
    padding-bottom:56.25%;
    height:0;
    overflow:hidden;
    border-radius:10px;
    }
    
    .video-item iframe{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    border-radius:10px;
    }
    .drone-videos{
        padding:80px 10%;
        text-align:center;
        }
        
        .video-grid{
        display:grid;
        grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
        gap:30px;
        margin-top:40px;
        }
        
        .video-item{
        position:relative;
        padding-bottom:56.25%;
        height:0;
        overflow:hidden;
        border-radius:10px;
        }
        
        .video-item iframe{
        position:absolute;
        top:0;
        left:0;
        width:100%;
        height:100%;
        border-radius:10px;
        }    

        /* VIDEO THUMBNAIL */

.video-thumb{
    position:relative;
    cursor:pointer;
    }
    
    .video-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:8px;
    }
    
    .play-button{
    
    position:absolute;
    top:50%;
    left:50%;
    
    transform:translate(-50%,-50%);
    
    font-size:40px;
    
    color:white;
    
    background:rgba(0,0,0,.5);
    
    width:70px;
    height:70px;
    
    display:flex;
    align-items:center;
    justify-content:center;
    
    border-radius:50%;
    
    pointer-events:none;
    
    }
/* VIDEO POPUP */

#video-popup{

    position:fixed;
    top:0;
    left:0;
    
    width:100%;
    height:100%;
    
    background:rgba(0,0,0,.9);
    
    display:flex;
    align-items:center;
    justify-content:center;
    
    z-index:9999;
    
    }
    
    .video-container{
    
    width:80%;
    max-width:900px;
    
    aspect-ratio:16/9;
    
    }
    
    .video-container iframe{
    
    width:100%;
    height:100%;
    
    border-radius:10px;
    
    }
/* VIDEO THUMBNAIL */
.video-thumb{
    position:relative;
    cursor:pointer;
  }
  .video-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:8px;
  }
  .play-button{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    font-size:40px;
    color:white;
    background:rgba(0,0,0,.5);
    width:70px;
    height:70px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    pointer-events:none;
  }
  
  /* VIDEO POPUP OVERLAY */
#video-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.95); /* Slightly darker for focus */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  cursor: pointer; /* Indicates you can click to close */
}

/* THE VIDEO BOX */
.video-container {
  width: 90%;
  max-width: 1000px;
  aspect-ratio: 16 / 9;
  position: relative;
  box-shadow: 0 0 50px rgba(0,0,0,0.5);
}

.video-container iframe {
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 12px;
}

/* LIGHTBOX NAVIGATION BUTTONS (Missing from your file) */
.lightbox-prev, .lightbox-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: white;
  font-size: 3rem;
  cursor: pointer;
  padding: 20px;
  user-select: none;
  transition: 0.3s;
}

.lightbox-prev { left: 20px; }
.lightbox-next { right: 20px; }

.lightbox-prev:hover, .lightbox-next:hover {
  color: #f04e30; /* Your brand color */
}

/* VIDEO POPUP */
#video-popup{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,.9);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9999;
}
.video-container{
  width:80%;
  max-width:900px;
  aspect-ratio:16/9;
}
.video-container iframe{
  width:100%;
  height:100%;
  border-radius:10px;
}
input[type="file"]::file-selector-button {
  background: #111;
  color: white;
  border: none;
  padding: 8px 14px;
  cursor: pointer;
}

input[type="file"]::file-selector-button:hover {
  background: #333;
}
.lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.9);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.lightbox img {
  max-width: 90%;
  max-height: 90%;
}

.lightbox-prev,
.lightbox-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 50px;
  color: white;
  cursor: pointer;
  user-select: none;
}

.lightbox-prev {
  left: 30px;
}

.lightbox-next {
  right: 30px;
}


/* =========================
   DRONE VIDEO GRID
========================= */

.video-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
  gap: 25px;
  padding: 60px 10%;
}

.video-thumb {
  position: relative;
  cursor: pointer;
}

.video-thumb img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 8px;
  transition: transform 0.3s ease;
}

.video-thumb:hover img {
  transform: scale(1.03);
}

/* Play Button */

.play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 50px;
  color: white;
  background: rgba(0,0,0,0.5);
  border-radius: 50%;
  padding: 10px 18px;
}
.video-item {
  display: flex;
  flex-direction: column;
  gap: 10px;
  }
  
  .video-title {
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  color: #222;
  }













  