/* =========================================================
   Phantom City Studios
   Header + Logo: Zero-gap, logo-driven geometry
   ========================================================= */

/* ---------- Accessibility / SEO ---------- */
.visually-hidden {
  position: absolute !important;
  inset: 0 !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* ---------- Header container ---------- */
.main-header {
  position: relative;
  width: 100%;
  overflow: visible;                 /* allow logo overflow */
  margin: 0;
  padding: 0;
  background-color: #000000;   /* pure white */

}

/* ---------- Navigation wrapper ---------- */
.nav-wrapper {
  position: relative;
  display: flex;
  align-items: stretch;              /* IMPORTANT: stretch children vertically */
  width: 100%;

  /* ZERO padding = ZERO gaps */
  padding: 0;
  margin: 0;

  box-sizing: border-box;
  z-index: 150;
  overflow: visible;
}

/* ---------- Navigation list ---------- */
.main-nav {
  display: flex;
  align-items: center;
  gap: 0.15rem;

  list-style: none;
  margin: 0;
  padding: 0 0.3rem;                 /* nav breathing room only */
  flex-wrap: wrap;
}

/* Nav links */
.main-nav a {
  text-decoration: none;
  font-weight: 800;
  padding: 0.15rem 0.25rem;
  color: inherit;
}

/* ---------- Hamburger ---------- */
.hamburger-menu {
  background: none;
  border: 0;
  padding:  0.3rem;
  cursor: pointer;

  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}

/* ---------- Logo wrapper ---------- */
.logo-wrapper {
  margin-left: auto;                 /* push to right */
  display: flex;
  align-items: stretch;              /* stretch to full header height */
  justify-content: normal;

  padding: 0;
  margin-top: 0;
  margin-bottom: 0;
  margin-right: 1.2rem;
  overflow: visible;
}

/* =========================================================
   LOGO — 120% OPTICAL ZOOM (NO CROP, SEAMLESS OVERFLOW)
   ========================================================= */
/* =========================================================
   DEPTH MASK — BODY IN FRONT, LOGO BEHIND
   Sudden drop + opacity pad + long fade
   ========================================================= */

   .site-logo-img {
    height: 160px;
    width: auto;
  
    transform: scale(2);
    transform-origin: center center;
  
    display: block;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
  
    /* --- HARD DEPTH MASK --- */
    -webkit-mask-image: linear-gradient(
      to bottom,
  
      /* HEADER — fully visible */
      rgba(0,0,0,1) 0%,
      rgba(0,0,0,1) 78%,
  
      /* BODY START — sudden depth cut */
      rgba(0,0,0,0.35) 80%,
  
      /* OPACITY PAD — feels "behind" */
      rgba(0,0,0,0.35) 82%,
  
      /* LONG FADE INTO BACKGROUND */
      rgba(0,0,0,0.15) 92%,
      rgba(0,0,0,0.0) 100%
    );
  
    -webkit-mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
  
    mask-image: linear-gradient(
      to bottom,
      rgba(0,0,0,1) 0%,
      rgba(0,0,0,1) 78%,
      rgba(0,0,0,0.35) 80%,
      rgba(0,0,0,0.25) 82%,
      rgba(0,0,0,0.05) 92%,
      rgba(0,0,0,0.0) 100%
    );
    mask-size: 100% 100%;
    mask-repeat: no-repeat;
  }
  
  

/* ---------- Responsive scaling ---------- */
@media (max-width: 900px) {
  .site-logo-img { height: 180px; }
}

@media (max-width: 600px) {
  .site-logo-img { height: 140px; }
}

@media (max-width: 420px) {
  .site-logo-img { height: 120px; }
}

/* ---------- Safety ---------- */
.logo-link {
  display: block;
  padding: 0;
  margin: 0;
}
/* =========================================================
   HAMBURGER ICON — VISIBILITY FIX
   ========================================================= */

.hamburger-menu span {
  display: block;
  width: 24px;
  height: 2px;

  background-color: #ffffff;   /* visible on black header */

  border-radius: 1px;
}

/* spacing between bars */
.hamburger-menu span:not(:last-child) {
  margin-bottom: 0px;
}
/* spacing between bars */
/* Make dark logo visible on black header */
.site-logo-img {
  filter: brightness(0.8);
}

/* =========================================================
   MOBILE HEADER — MINIMAL & CLEAN
   ========================================================= */
@media (max-width: 768px) {

  /* Hide desktop nav completely */
  .main-nav {
    display: none !important;
  }

  /* Compact header height */
  .nav-wrapper {
    align-items: center;
    min-height: 56px;
  }

  /* Shrink logo aggressively */
  .site-logo-img {
    height: 120px !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
    transform: scale(2.2);

    filter: brightness(0.8);
     
  }

  /* Prevent overflow chaos */
  .logo-wrapper {
    margin-right: 0.3rem;
    align-items: center;
    overflow: visible;
  }

  /* Hamburger becomes primary control */
  .hamburger-menu {
    margin-left: auto;
    padding: 0.4rem;
    z-index: 500;
  }
}

/* =========================================================
   DESKTOP HEADER — RESTORE TRUE LOGO OVERFLOW
   ========================================================= */
@media (min-width: 769px) {

  /* Remove vertical padding cage */
  .main-header .nav-wrapper {
    padding-top: 0;
    padding-bottom: 0;
    align-items: stretch; /* critical */
  }

  /* Let logo escape vertically */
  .logo-wrapper {
    display: flex;
    align-items: center;
    overflow: visible;
  }

  /* Reassert cinematic scale */
  .site-logo-img {
    height: 220px;              /* or your preferred size */
    transform: scale(2);
    transform-origin: center center;
    margin: 0;                 /* kill phantom margins */
    padding: 0;
  }

  /* Header must not clip */
  .main-header {
    overflow: visible;
  }
}


