* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: 'Courier New', Courier, monospace;
  background-color: #000000;
  color: #f6f2eb;
}

.row {
  display: -ms-flexbox; /* IE 10 */
  display: flex;
  -ms-flex-wrap: wrap; /* IE 10 */
  flex-wrap: wrap;
  padding: 0 4px;
}

/* Create three equal columns that sits next to each other */
.column {
  -ms-flex: 33%; /* IE 10 */
  flex: 33%;
  padding: 0 4px;
}

.hidden {
  opacity: 0;
  filter: blur(5px);
  transition: all 1s;
}

.show {
  opacity: 1;
  filter: blur(0);
}

@media(prefers-reduced-motion) {
  .hidden {
      transition: none;
  }
}

.column img {
  margin-top: 8px;
  vertical-align: middle;
}

/* Responsive layout - makes a single-column layout instead of two columns on very small screens */
@media screen and (max-width: 600px) {
  .column {
    -ms-flex: 100%; /* IE10 */
    flex: 100%;
    max-width: 100%;
  }
}

button {
  background-color: #000;
  color:#fff;
  border-radius: 4px;
  border: 1px solid #fff;
  font-family: 'Courier New', Courier, monospace;
  display: block; /* Makes the button a block-level element */
  margin: 0 auto; /* Automatically adjusts left and right margins */
  margin-top: 10px;
}

footer {
    background-color: #000;
    width: 100%;
    padding: 10px 0;
    text-align: center;
    margin-top: auto; /* Push the footer to the bottom */
    font-size: 0.9rem;
    color: #888;
}

img {  
  user-select: none;
  -moz-user-select: none;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  pointer-events: none;
}

/* Header with Title Left, Nav Right */
#site-header {
    display: flex;
    justify-content: space-between; /* pushes title left, nav right */
    align-items: center; /* vertical centering */
    padding: 10px 20px;
    background-color: #111; /* matches your nav background */
}

#site-header h1 {
    margin: 0;
    font-size: 1.5rem;
    color: white;
}

#site-header nav ul {
    list-style: none;
    display: flex;
    margin: 0;
    padding: 0;
}

#site-header nav li {
    margin-left: 20px;
}

#site-header nav a {
    color: white;
    text-decoration: none;
    padding: 8px 12px;
}

#site-header nav a:hover {
    background-color: #282828;
}

li a {
  display: block;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

li a:hover {
  background-color: #282828;
}

.hidden-link {
  text-align: center;
  opacity: 0;
}

/* Hero Image Styles */
.hero {
	position: relative;
    width: 100%;
    overflow: hidden;
}

.hero img {
    width: 100%;
    height: auto; /* desktop/laptop height */
    display: block;
    object-fit: cover;
    transform: scale(1); /* starting point */
    transition: opacity 1.5s ease, filter 1.5s ease, transform 2s ease;
}

/* Floating Caption */
.hero-caption {
    position: absolute;
    bottom: 1.1rem;       /* space above bottom edge */
    left: 1.1rem;         /* space from left edge */
    background: rgba(0, 0, 0, 0.6); /* semi-transparent background */
    color: #fff;
    padding: 0.6rem 0.9rem;
    border-radius: 8px; /* rounded corners */
    font-size: 0.9rem;
    font-family: 'Courier New', Courier, monospace;
    max-width: auto;   /* keeps it from being too wide */
	opacity: 0;
    filter: blur(5px);
    transition: opacity 2s ease, filter 2s ease;
}

.hero-caption.show {
    opacity: 1;
    filter: blur(0);
}

/* Mobile height adjustment */
@media screen and (max-width: 768px) {
    .hero img {
        height: auto; /* shorter on tablets/phones */
    }
}

@media screen and (max-width: 480px) {
    .hero img {
        height: auto; /* even shorter on small phones */
    }
}

.hero img.show {
    transform: scale(1.05); /* subtle zoom */
}

.categories {
    display: flex;
    justify-content: center;
    gap: 12px;
    padding: 15px 0;
    font-family: 'Courier New', Courier, monospace;
    font-size: 1rem;
    flex-wrap: wrap;
}

/* Pill style */
.categories span {
    background-color: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 20px;
    padding: 6px 14px;
    opacity: 0; /* start hidden */
    transform: translateY(10px);
    transition: all 0.3s ease;
}

/* Hover effect */
.categories span:hover {
    background-color: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.4);
}

/* Fade-in animation */
@keyframes fadeUp {
    0% { opacity: 0; transform: translateY(10px); }
    100% { opacity: 1; transform: translateY(0); }
}

.categories.show span {
    animation: fadeUp 0.6s ease forwards;
}

/* Staggered delay for each pill */
.categories.show span:nth-child(1) { animation-delay: 0.3s; }
.categories.show span:nth-child(2) { animation-delay: 1.3s; }
.categories.show span:nth-child(3) { animation-delay: 2.3s; }
.categories.show span:nth-child(4) { animation-delay: 3.3s; }

.grid-wrapper {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 1.5s ease, transform 1.5s ease;
}

.grid-wrapper.show {
    opacity: 1;
    transform: translateY(0);
}
