
/* -------------------------------------------------------- */
/* header.css – MACHINE STATE READY                         */
/* -------------------------------------------------------- */

header {
  background: linear-gradient(to right, #0055A4 0%, #ffffff 17%, #ffffff 83%, #EF4135 100%);
  padding: 20px;
  position: relative;
  z-index: 1000;

  perspective: 1000px;
  overflow: visible;

  padding-bottom: 35px;
}

/* ========================= */
/* CONTAINER */
/* ========================= */

.header-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

/* ========================= */
/* LOGO */
/* ========================= */

.logo-link {
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
}

.site-title {
  position: absolute;
  left: -9999px;
}

.site-logo {
  max-width: 420px;
  height: auto;
  transition: all 0.4s ease;
  transform: translateZ(0);
}

.logo-link:hover .site-logo {
  filter:
    drop-shadow(0 0 6px rgba(255,255,255,0.7))
    drop-shadow(0 0 12px rgba(0,191,255,0.6));
  transform: scale(1.03);
}

/* ========================= */
/* NAV */
/* ========================= */

nav ul {
  list-style: none;
  margin: 0;
  padding: 0;

  display: flex;
  gap: 40px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ========================= */
/* PANEL ROOT (STATE MACHINE SAFE) */
/* ========================= */

#central-panel {
  position: absolute;
  top: 100%;
  left: 0;

  transform-origin: top center;
  transform: rotateX(-90deg);

  z-index: 9999;

  backface-visibility: hidden;
  will-change: transform;

  pointer-events: auto;

  padding-top: 10px;
}

/* ========================= */
/* MENU ITEMS */
/* ========================= */

.menu-item button {
  appearance: none;
  background: none;
  border: none;
  cursor: pointer;

  font-weight: 600;
  font-size: 1.3em;

  text-shadow: 2px 2px 10px rgba(255,0,0,0.75);

  background: linear-gradient(to right, #00bfff, #1e90ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ========================= */
/* LINKS */
/* ========================= */

nav a {
  font-weight: 600;
  font-size: 1.1em;
  text-decoration: none;

  background: linear-gradient(to right, #00bfff, #1e90ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ========================= */
/* RESPONSIVE */
/* ========================= */

@media (max-width: 1024px) {
  .site-logo { max-width: 360px; }
  nav ul { gap: 25px; }
}

@media (max-width: 768px) {
  nav ul {
    flex-direction: column;
    gap: 12px;
  }

  .menu-item button,
  nav a {
    font-size: 1em;
  }

  .site-logo { max-width: 300px; }
}

@media (max-width: 480px) {
  .menu-item button,
  nav a {
    font-size: 0.95em;
  }

  .site-logo { max-width: 220px; }
}
