/* === GLOBAL === */
:root{
  --black:#1a1a1a; --blue:#3d5a80; --red:#bd1e1e; --amber:#f2a900; --white:#ffffff;
}
html,body{height:100%;}
body{
  font-family: Tahoma, sans-serif;
  margin:0;
  color:#f5f5f5;
  /* shadowy gray background */
  background: #707070;
  /* center content vertically & horizontally */
  display:grid;
  place-items:center;
  padding-bottom:80px; /* space so footer doesn't overlap on small screens */
  text-align:center;
}

/* === MAIN === */
main{ max-width: 900px; padding: 40px 20px; }
/* === LOGO HEADING === */
h1 {
  white-space: nowrap;  /* keeps "viewport" on one line */
}
h1 span {
  font-weight: 800;
  font-size: clamp(1.5em, 8vw, 2.5em);  /* min, fluid, max */
  letter-spacing: .12em;
}

@media (max-width: 600px) {
  h1 span { letter-spacing: 0.05em; }
}


p{ color:#dddddd; font-size:1.2em; margin-top:8px; }

/* colored letters */
.v,.w,.black{ color:var(--black); }
.i,.e,.blue { color:var(--blue); }
.p,.o,.red  { color:var(--red); }
.r,.t,.gold { color:var(--amber); }

/* === FOOTER === */
footer {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  background: #222;
  border-top: 1px solid #333;
  color: #f5f5f5;
  font-size: 14px;
  padding: 18px 0 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;            /* space between footer sections */
}

.footer-links {
  display: flex;
  gap: 18px;
  justify-content: center;
  flex-wrap: wrap;
}

.footer-links a {
  text-decoration: none;
  font-weight: 600;
  color: #f5f5f5;
  opacity: 0.85;
  transition: opacity 0.2s, transform 0.15s;
}

.footer-links a:hover {
  opacity: 1;
  transform: translateY(-1px);
}

.footer-content {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
}

.neocities-badge img {
  width: 80px;
  opacity: 0.8;
  filter: drop-shadow(0 0 3px rgba(0,0,0,0.3));
  transition: opacity 0.25s, transform 0.2s;
}

.neocities-badge img:hover {
  opacity: 1;
  transform: translateY(-2px);
}
.neocities-badge {
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translateY(2px); /* nudges badge upward */
}



/* === NAVIGATION LINKS === */
.main-links {
  margin-top: 24px;
  display: flex;
  justify-content: center;
  gap: 28px;
  font-size: 1.1em;
}

.main-links a {
  text-decoration: none;
  font-weight: bold;
  transition: color 0.2s ease, transform 0.15s ease;
}

/* Subtle hover animation */
.main-links a:hover {
  transform: translateY(-2px);
  filter: brightness(1.3);
}
/* === PROJECT LIST === */
.project-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 40px;
  gap: 24px;
}

.project-link {
  text-decoration: none;
  width: 90%;
  max-width: 600px;
  transition: transform 0.2s ease, filter 0.2s ease;
}

/* Center the two lines perfectly inside the card */
.project-card{
  background:#222;
  border:1px solid #333;
  border-radius:10px;
 padding: 10px 14px;         /* even top/bottom */
  color:#f5f5f5;
  box-shadow:0 0 10px rgba(0,0,0,.25);
  width:68%;
  max-width:399;
  margin:0 auto;

  /* vertical centering */
  display:flex;
  flex-direction:column;
  justify-content:center;     /* centers title+subtitle vertically */
  text-align:center;
  min-height:110px;           /* keeps a steady button height */
}

/* Kill default heading/paragraph margins and set consistent gaps */
.project-card h2{
  margin:0 0 6px 0;           /* small gap to subtitle */
  line-height:1.2;
}
.project-card p{
  margin:0;                    /* remove extra bottom space */
  line-height:1.45;
}


.project-link:hover {
  transform: translateY(-3px);
  filter: brightness(1.2);
}
/* === ARTICLE PAGE === */
.page-title {
  font-size: 2em;
  color: var(--amber);
  margin-bottom: 0.4em;
}

.page-subtitle {
  font-size: 1.3em;
  color: var(--blue);
  margin-bottom: 1.5em;
}

.article {
  max-width: 800px;
  margin: 0 auto;
  text-align: left;
  line-height: 1.6;
  color: #1a1a1a;
}

.article p {
  margin-bottom: 1.2em;
}

.article-img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 24px auto;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0,0,0,0.25);
}

.year-images {
  display: flex;
  flex-direction: column;   /* stacks them vertically */
  align-items: center;
  gap: 24px;
  margin: 32px 0;
}

.year-images img {
  width: 100%;              /* full width of article container */
  max-width: 800px;         /* prevents stretching too large */
  border-radius: 6px;
  box-shadow: 0 0 8px rgba(0,0,0,0.25);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* subtle zoom on hover */
.year-images img:hover,
.article-img:hover {
  transform: scale(1.02);
  box-shadow: 0 0 12px rgba(0,0,0,0.4);
}
main,
.article {
  padding-bottom: 120px; /* gives space above the fixed footer */
}


