@font-face {
  font-family: "iA Writer Mono";
  src:
  url("fonts/iAWriterMonoS-Italic.woff2") format("woff2"),
  url("fonts/iAWriterMonoS-Italic.woff") format("woff"),
  url("fonts/iAWriterMonoS-Italic.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	font-family: "iA Writer Mono", serif;
}

.body{
	display: block;
	margin:0px;
  width:100vw;
  height:100vh;
  overflow:auto;
  font-family: "iA Writer Mono", serif;
}

h1, h2, h3, h4, h5, h6, p {
  font-family: "iA Writer Mono", serif;
}

/* Hero Section CSS */

.main{
	background-color: #fff;
}

.main_container{
	display: block;
	align-items: center;
	margin: auto;
	width: 100%;
	max-width: 600px;
	padding: 20px 10px;
}

.main_content {
	text-align: center;
}

.main_content p {
	font-size: .9rem;
	line-height: 150%;
}

.pixel-art{
	margin: auto;
	max-width: auto;
	max-height: auto;
}


/* Portfolio Section CSS */

.gallery-container{
  max-width: auto;
  margin: 0 auto;
}


.gallery-title {
  margin: 2rem 1rem;
  font-weight: 500;
}

/* Gallery Grid */
.gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding: 0 1rem;
}

.gallery-item {
  overflow: hidden;
}

.gallery-item img {
  width: auto;
  height: 125px;
  object-fit: cover;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.4s ease, transform 0.3s ease;
}

/* Make a one column-layout instead of three-column layout */
@media (max-width: 600px) {
  .gallery-item img {
    width: 100%;
    height: auto;
  }
}

/* Fade in when loaded */
.gallery-item img[src] {
  opacity: 1;
}


/* Lightbox Overlay */
.lightbox {
  display: none;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: fixed;
  inset: 0;
  background: #fff;
  z-index: 1000;
  padding: 2rem;
}

.lightbox-content {
  max-width: 90%;
  max-height: 75vh;
  animation: fadeIn 0.3s ease;
  cursor: pointer;
}

/* Controls */
.lightbox-controls {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 1rem;
}

.nav-btn {
  background: #fff;
  border: none;
  padding: 0.6rem 1.2rem;
  border-radius: 6px;
  font-size: 1rem;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

.nav-btn:hover {
  background: #f0f0f0;
  transform: translateY(-2px);
}

.close {
  position: absolute;
  top: 20px;
  right: 30px;
  color: #fff;
  font-size: 2rem;
  cursor: pointer;
  transition: opacity 0.3s ease;
}

.close:hover {
  opacity: 0.7;
}

@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}

/* Mobile View: Single Column + Disable Lightbox */
@media (max-width: 700px) {
  .gallery {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  /* Hide lightbox entirely on mobile */
  .lightbox {
    display: none !important;
  }

  .gallery-item img:hover {
    transform: none;
  }
}