/* zalando-sans-semiexpanded-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Zalando Sans SemiExpanded';
  font-style: normal;
  font-weight: 400;
  src: url('zalando.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* syne-mono-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Syne Mono';
  font-style: normal;
  font-weight: 400;
  src: url('syne-mono-v16-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ballet-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Ballet';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/ballet-v30-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

.projects_gallery {
  display: flex;
  align-content: center;
  flex-wrap: wrap;
  align-items: center;
}
.projects_gallery ul {
  list-style: none;
}

.projects_gallery img{
  max-width: 500px;
}

body{
  background-color: #ECEBE7;
  font-family: 'Syne Mono';
  font-style: normal;
  font-weight: 400;
}

.carousel li {
  max-width: 100%;
  box-sizing: border-box;
  background-color: #ECEBE7;
  border: 1px solid #ECEBE7;
  padding: 20px;
  flex: 0 0 100%;
  scroll-snap-align: center;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.carousel img {
  max-height: 100%;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

.carousel {
  position: relative;
  width: 100vw;
  max-width: 100%;
  overflow: hidden;
}

.carousel-track {
  display: flex;
  align-items: flex-start;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0 auto;
  list-style: none;
  width: 100vw;
  height: 60vh;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  overflow-x: auto;
  overflow-y: hidden;
    justify-content: flex-start;
  padding: 1vw;
  gap: 1vw;
}

@media (max-width: 768px) {
  .carousel-track {
    height: 70vh;
    padding: 0;
  }

    .carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  background: rgba(3, 7, 2, 0.7);
  color: #EFE9E6;
  font-size: 1.5rem;
  padding: 0;
  cursor: pointer;
  z-index: 2;
}
}

.carousel-track::-webkit-scrollbar {
  display: none;  /* Chrome + Safari */
}

.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  background: rgba(3, 7, 2, 0.7);
  color: #EFE9E6;
  font-size: 1.5rem;
  padding: 0.2em 0.4em;
  cursor: pointer;
  z-index: 2;
}

.carousel-btn.prev {
  left: 10%;
}

.carousel-btn.next {
  right: 10%;
}

.carousel-btn:disabled {
  opacity: 0.3;
  cursor: default;
}

.carousel-markers {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 8px;
}

.carousel-markers .marker {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #C0BDB5;
}

.carousel-markers .marker.active {
  background: #030702;
}

.header {
    margin-left: 11%
}

.back {
    padding-left: 4%;
}

.back a:link, a:visited {
    text-decoration: none;
    color: #030702;
}

.back a:hover {
    color: white;
}

.caption {
    margin-top: 20px;
    max-width: 40%;
    justify-content: center;
    margin: auto;
    font-family: 'Zalando Sans SemiExpanded';
  font-style: normal;
  font-weight: 400;
    line-height: 23px;
}

@media (max-width: 768px) {
    .caption {
        max-width: 85%;
    }
}

.caption h1 {
  margin-top: 72px;
  margin-bottom: 48px;
}

/*gallery for illustration*/
.illu_gallery2_list ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 10px;
    max-width: 90%;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    list-style: none;
    padding: 0 10px;
}

.illu_gallery2_items li{
    flex: 1 1 420px;
    max-width: 30%;
    box-sizing: border-box;
    font-size: medium;
    border-color: #292E28;
    padding: 12px;
  list-style: none;
}

.illu_gallery2_items img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    vertical-align: bottom;
}

@media (max-width: 480px) {
  .illu_gallery2_list,
  .illu_gallery2_list ul {
    display: block;
    width: 100vw;
    max-width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
    overflow: auto;
    gap: 4%;
}

  .illu_gallery2_items li{
    max-width: none;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    line-height: 0;
}

.illu_gallery2_items img{
    width: 100%;
    object-fit: contain;
    display: block;
}
}

/*gallery for cgi*/
.cgi_gallery_list ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 10px;
    max-width: 90%;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    list-style: none;
    padding: 0 10px;
}

.cgi_gallery_items li{
    flex: 1 1 420px;
    max-width: 30%;
    box-sizing: border-box;
    font-size: medium;
    border-color: #292E28;
    padding: 12px;
  list-style: none;
}

.cgi_gallery_items img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    vertical-align: bottom;
}

@media (max-width: 480px) {
  .cgi_gallery_list,
  .cgi_gallery_list ul {
    display: block;
    width: 100vw;
    max-width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
    overflow: auto;
    gap: 4%;
}

  .cgi_gallery_items li{
    max-width: none;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    line-height: 0;
}

.cgi_gallery_items img{
    width: 100%;
    object-fit: contain;
    display: block;
}
}

/*gallery for projects*/
.projects_gallery_list ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 10px;
    max-width: 90%;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    list-style: none;
    padding: 0 10px;
}

.projects_gallery_items li{
    flex: 1 1 420px;
    max-width: 30%;
    box-sizing: border-box;
    font-size: medium;
    border-color: #292E28;
    padding: 12px;
  list-style: none;
}

.projects_gallery_items img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    vertical-align: bottom;
}

@media (max-width: 480px) {
  .projects_gallery_list,
  .projects_gallery_list ul {
    display: block;
    width: 100vw;
    max-width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
    overflow: auto;
    gap: 4%;
}

  .projects_gallery_items li{
    max-width: none;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    line-height: 1.4;
}

.projects_gallery_items img{
    width: 100%;
    object-fit: contain;
    display: block;
}
}

@media (max-width: 768px) {
  .projects_gallery_list,
  .projects_gallery_list ul {
    display: block;
    width: 80vw;
    max-width: 100%;
    list-style: none;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    overflow: auto;
    gap: 4%;
}

  .projects_gallery_items li{
    max-width: none;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    line-height: 1.4;
}

.projects_gallery_items img{
    width: 100%;
    object-fit: contain;
    display: block;
}
}


/* gallery for 2023, 2024, 2025, 2026*/
.year_gallery_list ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 10px;
    max-width: 90%;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    list-style: none;
    padding: 0 10px;
}

.year_gallery_items li{
    flex: 1 1 420px;
    max-width: 30%;
    box-sizing: border-box;
    font-size: medium;
    border-color: #292E28;
    padding: 12px;
  list-style: none;
}

.year_gallery_items img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    vertical-align: bottom;
}

@media (max-width: 480px) {
  .year_gallery_list,
  .year_gallery_list ul {
    display: block;
    width: 100vw;
    max-width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
    overflow: auto;
    gap: 4%;
}

  .year_gallery_items li{
    max-width: none;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    line-height: 0;
}

  .year_gallery_items img{
    width: 100%;
    object-fit: contain;
    display: block;
}
}

.gallery-thumb {
  cursor: pointer;
}

/* open images */
.lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
  z-index: 999;
}

.lightbox.open {
  opacity: 1;
  pointer-events: auto;
}

.lightbox-img {
  max-width: 90vw;
  max-height: 90vh;
}

.lightbox-close {
  position: fixed;
  top: 16px;
  right: 24px;
  font-size: 32px;
  color: #fff;
  cursor: pointer;
}

.para {
  margin: 140px;
}

.projects_gallery_list h3 {
  margin-left: 10%;
}
