/* -----------------------------------------------------------
   GLOBAL RESET
----------------------------------------------------------- */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: system-ui, sans-serif;
  background: #000;
  color: #e6f7ff;
  overflow-x: hidden;
  line-height: 1.6;
}
.page-shell {
  width: min(1200px, 90%);
  margin: 0 auto;
  padding-top: 0; /* was 60px or 80px */
}

.hero {
  text-align: center;
  padding: 0 0 80px; /* was 60px 0 80px */
}
.site-header {
  padding: 1rem 2rem; /* already clean, but you can go tighter if needed */
}

/* -----------------------------------------------------------
   THEME VARIABLES
----------------------------------------------------------- */
:root {
  --tron-cyan: #00eaff;
  --tron-cyan-glow: 0 0 12px #00eaff, 0 0 24px #00eaff;
  --tron-panel-bg: rgba(0, 20, 30, 0.55);
  --tron-border: 1px solid rgba(0, 234, 255, 0.6);

  --dark-bg: #0d0d0d;
  --dark-panel: #1a1a1a;
  --dark-text: #e0e0e0;
}

/* -----------------------------------------------------------
   GLOBAL NEON GRID BACKGROUND
----------------------------------------------------------- */
.neon-grid-bg {
  position: fixed;
  inset: 0;
  background: repeating-linear-gradient(
      to right,
      rgba(0, 234, 255, 0.08) 0px,
      rgba(0, 234, 255, 0.08) 1px,
      transparent 1px,
      transparent 80px
    ),
    repeating-linear-gradient(
      to bottom,
      rgba(0, 234, 255, 0.08) 0px,
      rgba(0, 234, 255, 0.08) 1px,
      transparent 1px,
      transparent 80px
    );
  z-index: -2;
  animation: gridMove 18s linear infinite;
}

@keyframes gridMove {
  from { transform: translateY(0); }
  to { transform: translateY(80px); }
}

/* -----------------------------------------------------------
   NEON PANELS
----------------------------------------------------------- */
.neon-panel {
  background: var(--tron-panel-bg);
  border: var(--tron-border);
  box-shadow: var(--tron-cyan-glow);
  padding: 4rem 2rem;
  margin: 4rem auto;
  border-radius: 10px;
  position: relative;
}

/* -----------------------------------------------------------
   GLOW BORDER
----------------------------------------------------------- */
.glow-border {
  border: var(--tron-border);
  box-shadow: var(--tron-cyan-glow);
}

/* -----------------------------------------------------------
   TRON ACCENT TEXT
----------------------------------------------------------- */
.tron-accent {
  color: var(--tron-cyan);
  text-shadow: var(--tron-cyan-glow);
}

/* -----------------------------------------------------------
   HEADER
----------------------------------------------------------- */
.site-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 2rem;
  background: rgba(0, 0, 0, 0.6);
  position: sticky;
  top: 0;
  z-index: 10;
}

.nav a {
  margin-left: 1.5rem;
  color: #e6f7ff;
  text-decoration: none;
  transition: 0.2s;
}

.nav a:hover {
  color: var(--tron-cyan);
  text-shadow: var(--tron-cyan-glow);
}

/* -----------------------------------------------------------
   HERO
----------------------------------------------------------- */
.hero-title {
  font-size: 3rem;
  margin-bottom: 1rem;
}

.hero-title span {
  color: var(--tron-cyan);
  text-shadow: var(--tron-cyan-glow);
}

.hero-actions {
  margin-top: 2rem;
  display: flex;
  gap: 1rem;
}

.btn-primary {
  background: var(--tron-cyan);
  color: #000;
  padding: 0.75rem 1.5rem;
  border-radius: 6px;
  text-decoration: none;
  font-weight: bold;
  box-shadow: var(--tron-cyan-glow);
}

.btn-secondary {
  border: var(--tron-border);
  padding: 0.75rem 1.5rem;
  color: var(--tron-cyan);
  text-decoration: none;
}

/* -----------------------------------------------------------
   GRID LAYOUTS
----------------------------------------------------------- */
.grid {
  display: grid;
  gap: 2rem;
}

.grid-3 {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.grid-4 {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

/* -----------------------------------------------------------
   LIGHTBOX GALLERY
----------------------------------------------------------- */
.gallery-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.gallery-grid img {
  width: 100%;
  border-radius: 6px;
  cursor: pointer;
  border: var(--tron-border);
  box-shadow: var(--tron-cyan-glow);
}

/* LIGHTBOX OVERLAY */
#lightbox-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 10, 15, 0.9);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 2000;
}

#lightbox-overlay img {
  max-width: 90%;
  max-height: 90%;
  border: var(--tron-border);
  box-shadow: var(--tron-cyan-glow);
  border-radius: 10px;
}

/* -----------------------------------------------------------
   FAQ
----------------------------------------------------------- */
details {
  margin-bottom: 1rem;
  padding: 1rem;
  border: var(--tron-border);
  border-radius: 6px;
  background: rgba(0, 20, 30, 0.4);
}

summary {
  cursor: pointer;
  font-weight: bold;
}
.theme-toggle {
  background: transparent;
  border: var(--tron-border);
  color: var(--tron-cyan);
  padding: 0.4rem 0.75rem;
  border-radius: 6px;
  cursor: pointer;
  font-size: 1.2rem;
  box-shadow: var(--tron-cyan-glow);
  transition: 0.2s;
}

.theme-toggle:hover {
  transform: scale(1.1);
}
/* -----------------------------------------------------------
   DARK MINIMAL THEME
----------------------------------------------------------- */
body.theme-dark {
  background: var(--dark-bg);
  color: var(--dark-text);
}

body.theme-dark .neon-panel,
body.theme-dark .glow-border {
  background: var(--dark-panel);
  border: 1px solid #333;
  box-shadow: none;
}

body.theme-dark .tron-accent {
  color: #fff;
  text-shadow: none;
}

body.theme-dark .btn-primary {
  background: #fff;
  color: #000;
  box-shadow: none;
}

body.theme-dark .btn-secondary {
  border: 1px solid #555;
  color: #fff;
}