  .header-cta .btn-primary{display:none;}
  nav.primary-nav .btn-primary{display:inline-flex;margin-top:1rem;}
  .hamburger{display:block;}
}

/* ==========================
   Mobile Header
========================== */
@media (max-width: 900px) {

  header.site-header{
    height:70px;
  }

  .nav-wrap{
    justify-content:space-between;
    padding:0 20px;
  }

  .logo img,
  .logo-svg{
    height:42px;
    width:auto;
  }

  .hamburger{
    display:block;
    font-size:28px;
    cursor:pointer;
    color:#fff;
    background:none;
    border:none;
    z-index:1002;
  }

  /* Mobile Navigation */
  nav.primary-nav{
    position:fixed;
    top:70px;
    left:0;
    width:100%;
    height:calc(100vh - 70px);
    background:#0A0A0A;
    flex-direction:column;
    justify-content:flex-start;
    align-items:flex-start;
    padding:30px 25px;
    gap:20px;
    transform:translateX(100%);
    transition:transform .35s ease;
    overflow-y:auto;
    z-index:1001;
  }

  body.nav-open nav.primary-nav{
    transform:translateX(0);
  }

  .nav-link{
    width:100%;
    font-size:16px;
    padding:12px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
  }

  /* Dropdown */
  .has-dropdown{
    width:100%;
  }

  .has-dropdown .dropdown-panel{
    position:static;
    transform:none;
    opacity:1;
    visibility:visible;
    display:none;
    width:100%;
    background:transparent;
    border:none;
    padding:10px 0 0 15px;
  }

  .has-dropdown.open .dropdown-panel{
    display:block;
  }

  .dropdown-panel a{
    padding:10px 0;
    font-size:15px;
  }

  .header-cta{
    display:none;
  }

}

/* ---------- Marquee ---------- */
.marquee{overflow:hidden;white-space:nowrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1rem 0;background:#000;}
.marquee-track{display:inline-flex;animation:marquee 22s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
.marquee-track span{
  font-family:var(--font-head);font-size:1.1rem;text-transform:uppercase;
  color:var(--lime);letter-spacing:1px;padding:0 1.5rem;
}
.marquee-track span.dim{color:var(--gray-dim);}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- Pages + page transition ---------- */
.page{padding-top:var(--header-h);}
main{transition:opacity .18s ease;}

/* ---------- Scroll-reveal animation system ---------- */
.reveal{opacity:0;transform:translateY(36px);transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal.is-visible{opacity:1;transform:translateY(0);}

.reveal-stagger > *{opacity:0;transform:translateY(28px);transition:opacity .6s var(--ease), transform .6s var(--ease);}
.reveal-stagger.is-visible > *{opacity:1;transform:translateY(0);}
.reveal-stagger.is-visible > *:nth-child(1){transition-delay:.03s;}
.reveal-stagger.is-visible > *:nth-child(2){transition-delay:.09s;}
.reveal-stagger.is-visible > *:nth-child(3){transition-delay:.15s;}
.reveal-stagger.is-visible > *:nth-child(4){transition-delay:.21s;}
.reveal-stagger.is-visible > *:nth-child(5){transition-delay:.27s;}
.reveal-stagger.is-visible > *:nth-child(6){transition-delay:.33s;}
.reveal-stagger.is-visible > *:nth-child(n+7){transition-delay:.38s;}

/* Hero entrance (plays whenever a page becomes active) */
.hero-anim > *{opacity:0;transform:translateY(26px);animation:heroIn .8s var(--ease) forwards;}
.hero-anim > *:nth-child(1){animation-delay:.05s;}
.hero-anim > *:nth-child(2){animation-delay:.16s;}
.hero-anim > *:nth-child(3){animation-delay:.27s;}
.hero-anim > *:nth-child(4){animation-delay:.38s;}
.hero-anim > *:nth-child(5){animation-delay:.46s;}
@keyframes heroIn{to{opacity:1;transform:translateY(0);}}

@media(prefers-reduced-motion:reduce){
  .reveal,.reveal-stagger>*,.hero-anim>*{opacity:1!important;transform:none!important;animation:none!important;transition:none!important;}
  .marquee-track{animation:none!important;}
}

/* ---------- Hero ---------- */
.hero{padding:6rem 0 3rem;text-align:center;}
.hero h1{font-size:clamp(2.75rem,8vw,6.5rem);}
.hero .sub{max-width:640px;margin:1.5rem auto 0;font-size:1.1rem;}
.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2.25rem;}
.hero.left-align{text-align:left;}
.hero.left-align .hero-actions{justify-content:flex-start;}
.hero.left-align .sub{margin-left:0;}

/* ---------- Real image containers (Unsplash / Pexels swap-in) ---------- */
.img-box{
    display:block;
    overflow:hidden;
    border-radius:14px;
    background:#141414;
}
.img-box img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    transition:transform .6s var(--ease);
}
/* Portfolio Video Styling */
.masonry .gallery-item .img-box {
  width: 100%;
  height: 320px;
  overflow: hidden;
  display: block;
  position: relative;
}

.masonry .gallery-item .img-box video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
a:hover .img-box img,
.tile:hover .img-box img,
.gallery-item:hover .img-box img,
.team-card:hover .img-box img,
.mixed-grid .img-box:hover img{transform:scale(1.08);}
.img-box::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,0.55) 100%);
  opacity:0;transition:opacity .3s ease;pointer-events:none;
}
.tile:hover .img-box::after,
.gallery-item:hover .img-box::after{opacity:1;}

/* ---------- Services list (Home) ---------- */