

 @font-face {
    font-family: 'Helvetica Now MT Micro Regular';
    font-style: normal;
    font-weight: normal;
    src: local('Helvetica Now MT Micro Regular'), url('HelveticaNowMTMicro.woff') format('woff');
    }
    

    @font-face {
    font-family: 'Helvetica Now MT Text Regular';
    font-style: normal;
    font-weight: normal;
    src: local('Helvetica Now MT Text Regular'), url('HelveticaNowMTText.woff') format('woff');
    }
    

    @font-face {
    font-family: 'Helvetica Now MT Disp Regular';
    font-style: normal;
    font-weight: normal;
    src: local('Helvetica Now MT Disp Regular'), url('HelveticaNowMTDisp.woff') format('woff');
    }


* {
  box-sizing: border-box;
}
   
  .no-emoji {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

   
   html, body {
          
            padding: 0;
          height: 100%;
  margin: 0;
 
  overflow-x: hidden;
  overflow-y: auto;
        
      font-family:'Helvetica Now MT Text Regular';
               scroll-behavior: smooth;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
                 background: rgba( 220, 220, 220, 0.5);
                 kerning: auto;
                
              font-size: 75%; /* 16px × 0.75 = 12px */
        }



#themeLabel span {
  display: inline-block;
  transition: opacity 0.3s ease, transform 0.4s ease;
}

#light,
#dark {
  opacity: 0.55;
}

#light.active,
#dark.active {
  opacity: 0.8;
  transform: ;
  text-decoration:underline ;
}
  

/* === DARK MODE === */
body.dark-mode {
  background-color:#151515;
  color: rgba(255, 255, 255, 0.85);
}

body.dark-mode .grid-container {
    border-left: 0.7px solid #fff;

}


body.dark-mode footer {
  background-color:#151515;
}


body.dark-mode nav a,
body.dark-mode .filter-btn,
body.dark-mode .top-controls,
body.dark-mode #themeToggle,
body.dark-mode .text-size-controls button{
  background: rgba(0, 0, 0, 0.04);
  border-color: rgba(255, 255, 255, 0.1);
}

body.dark-mode .project-title,
body.dark-mode .filter-btn,
body.dark-mode .nav-link a,
body.dark-mode .parent div p,
body.dark-mode #themeToggle,
body.dark-mode .text-size-controls button,
body.dark-mode footer,
body.dark-mode footer a,
body.dark-mode .description a,
body.dark-mode #about ul a,
body.dark-mode .description span,
body.dark-mode .label,
body.dark-mode .customizer-toggle,
body.dark-mode  .modal-content a,
body.dark-mode  .modal-content p,
body.dark-mode .email-copy-wrapper,
body.dark-mode #copyBtn,
body.dark-mode nav a {
  color: rgba(255, 255, 255, 0.7) !important;
}

body.dark-mode #ascii-loader {
   color: rgba(220, 220, 220, 0.6);


}

 body.dark-mode  .loader-container {
            position: fixed;
            top: 0; left: 0;
            width: 100%;
            height: 100%;
            background: rgba(220, 220, 220, 0.4);}



body.dark-mode .active,
body.dark-mode .modal-close,
body.dark-mode .top-controls-close{
color: rgba(255, 255, 255, 0.9);
}

body.dark-mode nav a:hover
{
color: rgba(255, 255, 255, 1) !important;

}


/* Optional: dark tint on project images */
body.dark-mode .parent img {
  filter: brightness(0.95) contrast(1.05);
}

svg {
  shape-rendering: geometricPrecision;
  text-rendering: geometricPrecision;
  image-rendering: optimizeQuality;
  max-width: 100%;
  height: auto;
}

#themeToggle {
  margin-top: 0PX;
  margin-LEFT: 3PX;
  PADDING:9PX;
  position:static;
  width: auto;
  cursor: pointer;
  font-size: 11PX;
   color: rgba(0, 0, 0, 0.6);                  /* medium grey text */
    background: transparent;
      border-radius: 6px;
      border:0px;
      text-decoration: none;
       

}

.top-controls {
  position: fixed;
  top: 10px;
  right: 10px;
  padding:5px ;
  display: flex;
  align-items: center;
  gap: 3px;
   border: 1px solid rgba(100, 100, 100, 0.15); /* soft inner border */
  z-index: 9999;
   backdrop-filter: blur(10px) saturate(180%);
  -webkit-backdrop-filter: blur(10px) saturate(180%);
  background: linear-gradient(145deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));
  border-radius: 6px;

}

#themeToggle,
.text-size-controls {
  position: static; /* Let the flex container handle layout */
  margin: 0;

}



#main-content {
margin-bottom:0;
padding-right: 0px;
padding-top: 60px;
  display: flex;
  flex-direction: column;
  min-height: 100vh;

}

.nav-link.light-text {
  color: white;
}
.nav-link.dark-text {
  color: #111;
}

.svg-no-transform {
  transform: none !important;
  transition: none !important;
  opacity: 1 !important;
}

/* Grid Container */


.parent {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
 grid-auto-rows: 300px;
  width: 100%;
  padding: 100px 0px 00px 0px; /* gives space below for footer */
  gap: 30px;

}




/* Individual items */
.parent div {
  position: relative;
  border-radius: 0px;
  transition: transform 0.5s ease-in-out;
}

.parent > div {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
  will-change: transform, opacity;
}

.parent > div.visible {
  opacity: 1;
  transform: translateY(0);
}


.parent div p {font-size: 12px;}

.parent > div a {
  display: block;
  height: 100%;
  width: 100%;
  text-decoration: none;
  color: inherit;
  position: relative;
  z-index: 1;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}


.parent div a p {
   z-index: 9999;
   font-size: 12px;
   padding-left: 25px;
  color:rgba(0, 0, 0, 0.9);
}


@keyframes floatyBreathe {
  0%, 100% {
    transform: translateY(0px) scale(1);
  }
  50% {
    transform: translateY(-8px) scale(1.03);
  }
}


/* Apply animation to all grid items */
.parent > div {
  position: relative;
  animation: floatyBreathe 7s ease-in-out infinite;
  animation-delay: calc(var(--float-delay, 0s));
  will-change: transform;
  transition: transform 0.3s ease-in-out;
}

.parent img {
  width: 100%;
  height: auto;
  padding:00px;
  padding-bottom: 0;
  border-radius: 0px;
  transition: transform 0.3s ease-in-out;
}





.parent div:hover {
  z-index: 1;  /* Ensure hovered items appear on top */
}



/* Ripple effect span */
.ripple {
  position: absolute;
  border-radius: 50%;
  transform: scale(0);
 
  animation: ripple-animation 0.8s ease-out;
  pointer-events: none;
  z-index: 2;
}

/* Animation */
@keyframes ripple-animation {
  to {
    transform: scale(4);
    opacity: 0;
  }
}

/* Project Title Styles */
.project-title {
  position: absolute;
  top: 10px;  /* Adjusted position to top-right corner */
  left: 10px;
  color: #111;
 visibility: hidden;
  text-decoration: none;
  font-size: 12px;
  text-transform:;
  font-weight: ;
 z-index: 5;
   pointer-events: none;
width: auto;
  opacity: 0; /* Make title invisible by default */
  transition: opacity 0.3s ease-in-out; /* Smooth fade-in */
}

#upperc {
  text-transform: uppercase;
}


.floating-title {
  position: fixed;
  top: 20px;
  backdrop-filter: blur(10px);

  right: 30px;
  text-transform: uppercase;
  font-size: 11.5px;
  text-transform: ;
color:rgba(0, 0, 0, 0.85);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  z-index: 9999;
}


a {
   text-decoration: none;
}

.scroll-blur {
  transition: filter 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
  will-change: filter, transform, opacity;
}


@keyframes glitch {
  0% {
    transform: translate(0);
  }
  20% {
    transform: translate(-2px, 2px);
  }
  40% {
    transform: translate(2px, -2px);
  }
  60% {
    transform: translate(-2px, -2px);
  }
  80% {
    transform: translate(2px, 2px);
  }
  100% {
    transform: translate(0);
  }
}
.glitch {
  position: relative;

}
.glitch::before,
.glitch::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit; 
  mix-blend-mode: difference;
  opacity: 0;
}
.glitch:hover::before {
  animation: glitch 0.5s linear infinite;
  opacity: 0.7;
}
.glitch:hover::after {
  animation: glitch 0.7s linear infinite;
  opacity: 0.7;
}

/* Show title on hover */
.parent div:hover .project-title {
  opacity: 1; /* Show title when hovered */
    z-index: 99;
}

/* Randomized Grid Layout for individual divs */
.div1 {
  grid-column: 1 / 3;
  grid-row: 1 / 2;
}

.div2 {
  grid-column: 5 / 7;
  grid-row: 2 / 3;
  margin-top: 140px;
  margin-bottom: 50px;
}

.div3 {
  grid-column: 4 / 6;
  grid-row: 1 / 2;
}

.div4 {
    grid-column: 5/ 7;
  grid-row: 4 / 5;
  margin-top: 80px;

}

.div5 {
  grid-column: 4 / 6;
  grid-row: 6 /6 ;
   margin-top:;
}

.div6 {
  grid-column: 1 / 3;
  grid-row: 5 / 5;
 
}

.div7 {
  grid-column: 1 / 4;
  grid-row: 3 / 5;
  margin-top: 00px;
}

/* force .div8 to the bottom of the grid */
.div8 { grid-column: 1 / 3; grid-row: 7 / 7; margin-top:100px; }

.full-bleed {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

.full-bleed img {
  width: 100%;
  height: auto;
  display: block;
}


.system-caption {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;

  margin-top: 0px;
  padding: 0rem;
  text-transform: uppercase;
  text-align: center;
  font-size: 11px;
  line-height: 1.35;
  color: rgba(0, 0, 0, 0.7);
  margin-bottom: 40px;
}

.system-caption div {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.caption-title {
  font-weight: 500;
}

.caption-meta {
  opacity: 0.7;
}

/* Dark mode */
body.dark-mode .system-caption {
  color: rgba(255, 255, 255, 0.75);
}



#desktop2 {
  text-align: center;
  padding-right: 10px;
  font-size: 11px;
  opacity: 0.8; 
  margin-top: 0px;
}

#mobile2{
 display: none;}

img {
   max-width: 100%;
}

#about a {
  color: rgba(0, 0, 0, 0.6);
}

#about {
display: inline-block;
padding-top: 8%;
padding-left: 10px;
font-size: 14px;
width: 40%;
}

#about img {
  position:fixed;
  right: 0;
  bottom: 0;
  max-width: 30%; 

}

#about ul{
  text-decoration: none;
  padding-top: 10px;
  font-size: 12.5px;
  list-style: none;
}

#about li {
  font-size: 14px;
}

blockquote {
  font-size: 22px;
  line-height: 1.3;
}

blockquote span{
  font-size: inherit;
  text-decoration: none !important;
}



#headline {
font-size: 17px;
font-weight: bolder;
text-transform: uppercase;

}
#rubbe {
font-size: 17px;
font-weight: bolder;
text-transform: uppercase;
padding-left: 12px;

}




       .loader-container {
            position: fixed;
            top: 0; left: 0;
            width: 100%;
            height: 100%;
            background: rgba(220, 220, 220, 0.65);
             backdrop-filter: blur(20px) saturate(180%) ;
      -webkit-backdrop-filter: blur(20px) saturate(180%) ;
            display: flex;
            flex-direction: column;
            align-items: center;

            justify-content: center;
            z-index: 9999999;
        }

        .loader-bar-wrapper {
            width: 300px;
            height: 4px;
            background: #ccc;
            overflow: hidden;
               z-index: 999999999;
            margin-bottom: 30px;
            position: relative;
        }

        .loader-bar {
            width: 0;
            height: 100%;
            background: #000;

            animation: loadBar 2.5s ease forwards;
        }

        .loading-text {
            font-size: 12px;
            color: #000;
            z-index: 999999;
        }

        @keyframes loadBar {
            to { width: 100%; }
        }

        #ascii-loader {
            position: absolute;
            top: 30%;
            left: 50%;
            transform: translateX(-50%);
            transform: translateX(-50%);
            font-family: monospace;
            font-size: 6px;
            line-height: 6px;
            color: #888888;
            white-space: pre;
            text-align: center;
            z-index: 100;
            pointer-events: none;
        }

        .cursor {
            display: inline-block;
            width: 8px;
            background-color: #888888;
            animation: blink 1s step-start infinite;
        }

        @keyframes blink {
            50% { opacity: 0; }
        }
.text-size-controls {
  position: static; /* <— Important! Keep it inside the flex layout */
  font-size: 11.5px;
  padding: 0;
  margin: 0;
  padding-left: 10px;
  display: flex;
  gap: 3px;
}

.info {
  text-align: right;
  padding: 10px;
  padding-right: 15PX;
  font-size: 12.5px;
}

.email-copy-wrapper {
  display: inline-flex;
  gap: 1rem;
    margin-right: 10px;
  align-items: center;
  padding: 10px;
  border: 0px solid rgba(0, 0, 0, 0.2);
  border-radius:6px;
  font-size: 14px;
  backdrop-filter: ;
      -webkit-backdrop-filter: ;
      background: linear-gradient(145deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));
  backdrop-filter: ;
 color: rgba(0, 0, 0, 0.6);
  user-select: none;

  position: relative;
}

.selectable {
  user-select: text;
  -webkit-user-select: text;
  -moz-user-select: text;
}


.email-copy-wrapper button img{
  max-width: 16px;
  opacity: 0.9;
}

.email-copy-wrapper button {
 border: 0px solid rgba(0, 0, 0, 0.2); ;
  font-size: 10px;
  background: transparent;
  color:#111;
  cursor: pointer;
  opacity: 0.6;
  padding:0px;
  border-radius: 6PX;
  transition: opacity 0.2s ease;
}

.email-copy-wrapper button:hover {
  opacity: 1;
}

#copiedFeedback {
  position: absolute;
  bottom: -25px;
  opacity: 0;
  right: 0;
  font-size:11px;
  color: blue;

  text-transform: uppercase;
  transition: opacity 0.2s ease;
}



  .corner-buttons {
      position: fixed;
      bottom: 20px;
      left: 10px;
      display: flex;
      flex-direction: column;
      gap: 5px;
      z-index: 10000;
    }

    .corner-buttons a,
    .corner-buttons button {
      font-size: 11px;
      padding: 7px 12px;
      color: rgba(0, 0, 0, 0.5);
      border-radius: 6px;
       text-transform: uppercase;
      text-decoration: none;
      border: 1px solid rgba(100, 100, 100, 0.15);
      backdrop-filter: blur(10px) saturate(180%);
      -webkit-backdrop-filter: blur(10px) saturate(180%);
      background: linear-gradient(145deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));
      font-family: 'Helvetica Now MT Text Regular';
      cursor: pointer;
      transition: color 0.3s ease;
    }

    .corner-buttons a:hover,
    .corner-buttons button:hover {
      color: #111;
    }

    .modal-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;

      background: rgba( 220, 220, 220, 0.31);
      backdrop-filter: blur(20px) saturate(140%);
      -webkit-backdrop-filter: blur(20px) saturate(140%) ;
      display: flex;
      justify-content: center;
      align-items: center;
      z-index: 99999;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
      font-family: 'Helvetica Now MT Text Regular';
    }

    .modal-overlay.active {
      opacity: 1;
      visibility: visible;
    }

    .modal-content {
      background: none;
      text-align: center;
      padding: 1rem;
      font-size: 11px;
      line-height: 1.6;
      text-transform: ;
      color: rgba(0, 0, 0, 0.8);
    }

  .modal-content H2 {
    color: rgba(0, 0, 0, 0.6);
    font-weight: 300;
  }

    .modal-content a {
    font-size: 14px;
      padding: 10px;
      color: rgba(0, 0, 0, 0.6);
      border-radius: 6px;
       text-transform:none ;
      text-decoration: none;
      border: 0px solid rgba(100, 100, 100, 0.15);
      backdrop-filter: blur(10px) saturate(180%);
      -webkit-backdrop-filter: blur(10px) saturate(180%);
      background: linear-gradient(145deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));
      font-family: 'Helvetica Now MT Text Regular';
   
      transition: color 0.3s ease;
    }

    .bg2 {
      padding-top: 0px;
    }

    .bg3 {
    padding-top: 80px;
      display: block;
  width: auto;
  height: 100%;

  object-fit: contain;
  z-index: 1;

    }

    .bg4 {
    height: 100%;

    }

    .modal-close {
     position: absolute;
  top: 12px;
  right: 12px;
  font-size: 38px;
  font-weight: 300;
  background: none;
  border: none;
  color: #333;
  cursor: pointer;
  opacity: 0.6;
  z-index: 10;
  transition: opacity 0.2s ease;
    }



.modal-close:hover {
  opacity: 1;
}

.text-size-controls button {
  background: none;
  border: none;
   color: rgba(0, 0, 0, 0.5);                  /* medium grey text */
  
      border-radius: 6px;
      text-decoration: none;
        border: 1px solid rgba(100, 100, 100, 0.15); /* soft inner border */
   backdrop-filter: blur(10px) saturate(180%);
  -webkit-backdrop-filter: blur(10px) saturate(180%);
  background: linear-gradient(145deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02)); Safari support */
  font-size: 1rem;
  padding: 0.3rem 0.6rem;
  cursor: pointer;
  font-family: inherit;
  font-weight:;
}


#smaller {
  font-size: 12.5px;
}

#bigger {
  font-size: 14px;
}

.label,
.description,
#about h1,
#about p,
#about li,
.div3 p {

    transition: font-size 0.25s ease-in-out;
}


/* --- TEXT --- */
.label,
.description,
.abo {
  opacity: 0;
  transform: translateY(35px);
  transition: opacity 1.2s cubic-bezier(0.25, 0.1, 0.25, 1),
              transform 1.2s cubic-bezier(0.25, 0.1, 0.25, 1);
  will-change: opacity, transform;
}

.label.in-view,
.description.in-view,
.abo.in-view {
  opacity: 1;
  transform: translateY(0);
}

/* --- IMAGES --- */
body:not(.index) img:not(.intro-section img) {
  opacity: 0.7;
  transform: translateY(15px);
  transition: opacity 1.8s ease-out, transform 1.8s ease-out;
  will-change: opacity, transform;
}

body:not(.index) img.in-view:not(.intro-section img) {
  opacity: 1;
  transform: translateY(0);
}

/* Ensure hero/intro image stays static */
.intro-section img {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}



#coverimg img {
  display: block;
  width: 100%;
  opacity: 0;
  transition: opacity 0.5s ease;
}


#coverimg img {
  display: block;
  width: 100%;
  opacity: 0;
  transition: opacity 0.5s ease;
}
#projekt {
  padding-left: 10px;
}

#projekt p {font-size: 12px;width:50% }

.image-wrapper {
  position: relative;
  width: 100%;
   margin-top: 30PX;
 margin-bottom: 30PX;
  display: inline-block; /* Keeps it snug around the image */
}

.full-image2 {
  width: 100%;
  height: auto;
  display: block;
}

.full-image {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  overflow: hidden;
  position: relative;
  z-index: 1;
  padding-top: 30px;
  padding-bottom: 30px;
    image-rendering: optimize-contrast;
    image-rendering: -webkit-optimize-contrast;
  shape-rendering: crispEdges;

  height: auto;
  display: block;
  margin: 0 auto;
}



.image-label {
  position: absolute;
  top: 5px;
  right: 5px;
  font-size: 11px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
  padding: 2px 6px;

  border-radius: 2px;
  font-family: ; /* match your site font */
}


.grid-container {
  display: grid;
  grid-template-columns: 1fr 3fr;
  align-items: start;
  gap: 2rem;
  margin-top: 100PX;
  border-left: 1px solid #333;
  padding-left: 1rem;
  margin-left: 4px;
  max-width: 100%;

}

.label {
  font-weight:500;
  text-transform: uppercase;
  font-size: 12.5px;
  color: black;
  line-height: 1.5;
  margin-top: 3px;
  font-family: 'Helvetica Now MT Text Regular';
}


.description {
  font-size: 14px;
  line-height: 1.7;
margin-top:3PX;
  padding-right: 25%;
}

.description h2 {
  font-size: 16px;
  padding:0;
  margin-bottom: 15px;
    margin-top:0px;
  text-transform: uppercase;
}

.description a{
text-decoration:;
color: rgba(0, 0, 0, 0.6);
font-size: 12px;
text-transform: uppercase;
}

.description a:hover {
  color: #111;
}

.description span{
  font-size: 12px;
  color: #000;
  text-transform: uppercase;
  line-height: 2;
  text-decoration:underline ;
  font-weight: ;
}
@keyframes pulse {
  0%, 100% { opacity: 0.2; }
  50% { opacity: 1; }
}

#coverimg img {
  display: block;
  width: 100%;
  opacity: 0;
  transition: opacity 0.5s ease;
}

.intro-section {
  position: relative;
  height: 100vh;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.bg {

  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  z-index: 1;

  position: relative;
}

/* Your existing typewriter container style */
.typewriter-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Helvetica Now MT Disp Regular', sans-serif;
  z-index: 10;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.6s ease-in-out;
}

.typewriter-text {
  overflow: hidden;
  border-right: 2px solid rgba(0, 0, 0, 0.6);
  white-space: nowrap;
  margin: 0 auto;
  letter-spacing: 1px;
  font-size: 16px;
  animation: typing 2.5s steps(12, end), blink-caret 0.75s step-end infinite;
  color: rgba(0, 0, 0, 0.6);
}

@keyframes typing {
  from { width: 0 }
  to { width: 10.5ch }
}

@keyframes blink-caret {
  from, to { border-color: transparent }
  50% { border-color: rgba(0, 0, 0, 0.6); }
}



.article-img {
  width: 100%;
  max-width: 100%;
  margin: 20px auto;
  display: block;
  border-radius: 6px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.06);
  transition: transform 0.3s ease;
}





@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}


    nav {
      left: 0;
      position:fixed;
     margin-top: 10px;
     padding-top: 0px;
      padding-left: 10px;
    width: 100%;
        
  z-index: 1000;
    }

  .nav-link {
  font-size: 12px;
  padding: 37px 55px 7px 7px;
  display: inline-block;
  margin-right: 0;
  border-radius: 6px;
  text-decoration: none;
  color: rgba(0, 0, 0, 0.55);
  border: 1px solid rgba(100, 100, 100, 0.1);
  backdrop-filter: blur(12px) saturate(180%);
  -webkit-backdrop-filter: blur(12px) saturate(180%);
  background: linear-gradient(145deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
}

.nav-link.active {
  color: #111;
  opacity: 0.9;
}

.nav-link:hover {
  color: #111;
}



.nav-link {
  transition: color 0.3s ease;
}


.glitch img {
  image-rendering: pixelated;
  transition: filter 0.2s ease-in, opacity 0.2s ease-in, transform 0.2s ease-in;
}

.glitch img:hover {
  /*
  filter: invert(1) hue-rotate(180deg);*/
  opacity: 0.9;
  filter: blur(10px) hue-rotate(180deg) invert(1);
  
}




.dark-mode .glitch img:hover {
 filter: invert(1) hue-rotate(180deg);
  transition: 0.2s ease-in;
  opacity: 0.9;
}






    .filter-btn {
  font-size: 11px;
      padding-right: 55px;
       position: sticky;
       display: inline-block;
      margin-right: 0px;
      padding-top: 37px;

      padding-left: 7px;
      padding-bottom: 7px;

  color: rgba(0, 0, 0, 0.55);                  /* medium grey text */
  
      border-radius: 6px;
      text-decoration: none;
        border: 1px solid rgba(100, 100, 100, 0.1); /* soft inner border */
   backdrop-filter: blur(12px) saturate(180%);
  -webkit-backdrop-filter: blur(12px) saturate(180%);
  background: linear-gradient(145deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02)); Safari support */
}

    nav-link.active {
  color: #111;
  opacity: 0.8;

  /* 🔧 Make sure it keeps the backdrop filter like other links */
  backdrop-filter: blur(10px) saturate(180%);
  -webkit-backdrop-filter: blur(10px) saturate(180%);
  background: linear-gradient(145deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
  border: 1px solid rgba(100, 100, 100, 0.15);
    }

      nav a:hover {
      color: #111;
    }








    @keyframes float {
  0%, 100% {
    transform: rotateX(3deg) rotateY(-2deg) translateY(0px) translateZ(0px);
  }
  50% {
    transform: rotateX(3deg) rotateY(-2deg) translateY(-6px) translateZ(4px);
  }
}



.div1:hover .project-title {
  opacity: 1; /* Make title visible on hover */
}




.filter-buttons {
  text-align: left;
  position: ;
  z-index: 9999;

}



.filter-btn:hover {
  color: #111;
}

.filter-btn.active {
  text-decoration: ;
  color:#111;
   opacity: 0.8; 
}





/*

footer {
  color: rgba(0, 0, 0, 0.9);
  font-size: 10px;
  text-align: center;
  padding-bottom: 10px;
  margin-top: auto;
  width: 100%;
} */

.footer {
  width: 100%;
  display: flex;
  justify-content: space-between;
padding:6px;

padding-bottom: 0px;
  font-size: 11px;
  text-transform: uppercase;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.footer a {
  margin-left: 1.2rem;
  text-decoration: none;
  opacity: 0.6;
  color: #000;
  font-size: 11px;
  transition: opacity 0.2s ease;
}

.footer a:hover {
  opacity: 1;
}

.footer-left,
.footer-right {
  display: flex;
  align-items: center;
}

.customizer-wrapper {
  position: relative;
  z-index: 10000;
  max-width: 100%;
}

.customizer-toggle {
  display: none;
  font-size: 16px;
  padding: 12px;
  border-radius: 50%;
  border: 1px solid rgba(100, 100, 100, 0.15);
  background: linear-gradient(145deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  cursor: pointer;
  z-index: 99;
}


.top-controls-close {
  display: none; /* hidden by default */
}


#mobil {
  display: none;
}


/* mobile view */
@media (max-width: 768px) {

html, body {
  min-height: 100%;
  height: auto;
  overflow-x: hidden;
  overscroll-behavior: none;
}

#mobil {
  display: block;
}


#mobile2 {
  display: block;
  text-align: right;
  padding-bottom: 70px;
  padding-right: 10px;
  font-size: 11px;
  opacity: 0.9;
}

.system-figure
{
  display: none;

}



#desktop {
  display: none;
}
 

  .nav-link {
  font-size: 11px;
   padding-right: 35px;
  
     margin:2px;
  display: inline-block;
 
  border-radius: 6px;
  text-decoration: none;
  color: rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(100, 100, 100, 0.1);
  backdrop-filter: blur(11px) saturate(180%);
  -webkit-backdrop-filter: blur(11px) saturate(180%);
  background: linear-gradient(145deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
}


    .description blockquote {
    font-size: 19px;     /* eller vad du vill */
    padding: 0 5px;     /* eller t.ex. 0 15px */
    margin: 16px 0;      /* om du vill styra luft runt */
        line-height: 1.6;
  }

      .description blockquote span {

}

  .modal-content {
      background: none;
      text-align: center;
      padding: 0.5rem;
      font-size: 11px;
      line-height: 1.6;
      text-transform: ;
      color: rgba(0, 0, 0, 0.8);
    }


  nav {
    display: flex;
    max-width: 100%;

       left: 0;
      position:fixed;
     margin-top: 5px;
     padding-top: 0px;
      padding-left: 5px;
    
        
  z-index: 1000;
  }


.parent div:hover img {
  transform: none !important;
  filter: none !important;
}

.parent div:hover {
  z-index: auto !important;
}


#main-content {
  margin-bottom: 0px;
    padding-bottom: 0px;
    padding-top: 40px;
    padding-left: 15px;
      padding-right: 15px;

}
  /* Grid layout */
  .parent {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    grid-auto-rows: 270px;
    padding: 0px;
    max-width: 100%;
    margin-bottom: 0px;
    padding-bottom: 0px;
    margin-top: 110px; /* push content below nav/controls */
  }

  .top-controls-close {
    position: absolute;
    top: 10px;
    right: 0px;
    font-size: 29px;
    background: none;
    border: none;
    color: #888;
    cursor: pointer;
    opacity: 0.6;
    z-index: 10;
    display: block;
    transition: opacity 0.2s ease;
  }

  .top-controls-close:hover {
    opacity: 1;
  }



  .intro-section {
    min-height: 100vh;
    height: auto;
    overflow: visible;

  }

  .bg {
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%; /* fill the section */
    object-fit: cover; /* make it look nice */
    z-index: 1;
  }

    .bg2 {
    position: absolute;
    top: 0%;
    left: 0;
    margin-bottom: -80PX;
    width: 100%;
    height: auto; /* fill the section */
    object-fit:COVER; /* make it look nice */
    z-index: 1;
  }



  /* General cleanup */
  #about {
    width: 100%;
    padding-right: 7px;
    padding-top: 80px;
    height: 100vh;
  
  }

  #about p {
    font-size: 13px;
  }

#about li{

  font-size: 13px;

}

#about ul{

  font-size: 12.5px;

}



  #about img {
    position: fixed;
    right: 0;
    bottom: 0;
    max-width: 30%;
  }
/*
  footer {
    font-size: 10px;
    padding-bottom: 15px;
    padding-top: 0px;
    max-width: 100%;
    text-align: center;
    z-index: 1;
  }
*/
 .footer {
  display: flex;
  z-index: 99990990999;
  position: relative;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 17px;
  padding-left: 10px;
    padding-right: 10px;
  font-size: 0.875rem;
  text-transform: uppercase;
  border-top: 0px solid rgba(0, 0, 0, 0.1);
  flex-wrap: wrap;
  gap: 0rem;
  background:#E6E6E6;
}

.footer-left,
.footer-right {
  flex: 1 1 45%;
  min-width: 120px;
}

.footer-left {
  align-self: flex-end;
}

.footer-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.5rem;
}

.footer-left p {
  margin: 0;
}


  .grid-container {
    margin-top: 00px;
    max-width: 100%;
    padding: 10px;
  }


.parent div a p {
  
   padding-left: 5px;


}

 

  .div1 {
  grid-column: 1;
  grid-row: 1;
}

.div2 {
   grid-column: 1/3;/* single wide project */
  grid-row: 4;
  margin-top: 70px;

}

.div3 {
 grid-column: 2;
  grid-row: 1;
}

.div4 {
  grid-column: 1;/* single wide project */
  grid-row: 6;
  margin-top: 00px;
 
}
.div8 {
  grid-column: 2;/* column project */
  grid-row: 6;
  margin-top: 00px;
 
}


.div5 {
    grid-column: 2; 
  grid-row: 3;
  margin-top: 80px;
  margin-bottom: 0px;

}

.div6 {
  grid-column: 1; 
  grid-row: 3;
     margin-top: 100px;
    margin-bottom: 0px;
}


.div7 {

   grid-column: 1 / 3; /* span both columns */
  grid-row: 2;


 
}




.text-size-controls button {
  background: rgba(220,220 , 220, 0.05);
  border: 1px solid rgba(100, 100, 100, 0.15);
  backdrop-filter: none;
  padding:11px;
  width: 50%;
  font-size: 15px;
  -webkit-backdrop-filter: none;
}


#themeToggle {
 
  PADDING:11PX;
  position:relative;
  width: 50%;
  left: 25px;
  margin-right: 25px;
  font-size: 12PX;
    backdrop-filter: saturate(190%);
  background: rgba(220,220 , 220, 0.0.5);
  border: 1px solid rgba(100, 100, 100, 0.15);
   color: rgba(0, 0, 0, 0.5);                  /* medium grey text */
   

}
  .top-controls {
  
 display: none;
  position: fixed;
  bottom: 0;
  left: 0;             /* 🔧 Add this */
  top: auto !important; /* 🔧 Override previous `top` */
  right: auto !important; /* 🔧 Override previous `right` */
  width: 100%;
  height: 30%;
  flex-direction: row;
  overflow-x: auto;
  flex-wrap: nowrap;
  max-width: 100vw;
  box-sizing: border-box;
  gap: 0px;
  background: linear-gradient(145deg, rgba(220,220,220,0.07), rgba(220,220,220,0.07));
  border: 1px solid rgba(100, 100, 100, 0.15);
  border-radius: 8px;
  padding: 0px;
  backdrop-filter: blur(10px) saturate(130%);
  z-index: 99999;
}

.top-controls.active {
  display: flex;
}

.customizer-toggle {
  display: inline-block;
  position: fixed;
  bottom: 17px;
  font-family: "Helvetica Now MT", "Arial", sans-serif; /* enforce your text font */
  font-feature-settings: "liga" 0; /* optional: disable ligatures if needed */
  right: 11px;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.5);
  padding: 10px 12px;
  border-radius: 6px;
  border: 1px solid rgba(100, 100, 100, 0.15);
  background: linear-gradient(145deg, rgba(255,255,255,0.05), rgba(255,255,255,0.01));
  backdrop-filter: blur(10px) saturate(125%);
  cursor: pointer;
  z-index: 9999;
}



  .customizer-wrapper {
  position: fixed;
  bottom: 0px;
  left: 0px;
  z-index: 10000;

}

/* Hover effect for expanding images */
.parent div:hover img {
  transform: scale(1);  /* Scale up on hover */
  filter: brightness(1.02);


}





    .bg3 {
     padding-top: 00px;
      display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  z-index: 1;
  position: relative;
    }

.intro-section .bg3 {

}

.description {
 
  padding-right: 2%;
}


  .info {
    display: ;
    text-align: left;
    margin-bottom: 25px;
    padding-top: 25px;
  }

  .image-label {
  position: absolute;
  bottom: 10PX;
  right: 10px;
  top: auto;
  font-size: 11px;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.4);
  background: rgba(220, 220, 220, 0.01); /* optional for readability */
  padding: 2px 6px;
  backdrop-filter: blur(20px) saturate(150%);
  border-radius: 2px;
  font-family: ; /* match your site font */
}

.email-copy-wrapper {
  display: inline-flex;
  gap: 1rem;
    margin-right: 10px;
  align-items: center;
  padding: 10px;
  border: 0px solid rgba(0, 0, 0, 0.2);
  border-radius:6px;
  font-size: 13px;
 color: rgba(0, 0, 0, 0.6);
  user-select: none;
  margin-bottom: 20px;
  position: relative;
}

 .modal-close {
     position: absolute;
  top: 12px;
  right: 10px;}


  .filter-btn {
    display: none;
  }
}



@media (min-width: 1500px) {
  .parent {
    grid-template-columns: repeat(7, 1fr); /* tighter, more items across */
    gap: 65px;
    width: 100%;
    padding-top: 20px;
    padding: 80px 100px;
    padding-bottom: 10px;
     min-height: 100vh; 
  }

    .parent div a p{

  }

    #main-content {
      flex: 1;
      width: 100%;
      padding:0px;
      padding-top: 60px;
  min-height: 100vh;
  font-size: 16px;

  }


.filter-btn {
  font-size: 12px !important;
}

.nav-link {
  font-size: 12px !important;
}

  body {
   font-size: 100%;

  }



 #about p {
font-size: 14px;
width: 85%;
}

#about img {
  position:fixed;
  right: 0;
  bottom: 0;
  max-width: 20%;

}

#about ul {
  text-decoration: none;
  padding-top: 30px;

  list-style: none;
}

 .grid-container .label {
    font-size: 12px;
    font-weight: 300 !important;
   
}
  
   .description {
    font-size: 14px;
  }

     .description img{
   width: 100%;
  }

     .modal-close {
     position: absolute;
  top: 15px;
  right: 10px;
  font-size: 50px;
  font-weight: 300;
  background: none;
  border: none;
  color: #333;
  cursor: pointer;
  opacity: 0.6;
  z-index: 10;
  transition: opacity 0.2s ease;
    }

    #themeToggle {
  margin-top: 0PX;
  margin-LEFT: 3PX;
  PADDING:9PX;
  position:static;
  width: auto;

  cursor: pointer;
  font-size: 12PX;
   color: rgba(0, 0, 0, 0.5);                  /* medium grey text */
    background: transparent;
      border-radius: 6px;
      border:0px;
      text-decoration: none;
       

}

.text-size-controls {
  font-size: 11px;
}

footer {
  font-size: 11px;
}

.div4 {
   
  padding-top: 70px;

}



       .loader-container {
            position: fixed;
            top: 0; left: 0;
            width: 100%;
            height: 100%;
            background: rgba(220, 220, 220, 0.65);
             backdrop-filter: blur(20px) saturate(165%);
      -webkit-backdrop-filter: blur(20px) saturate(165%);
            display: flex;
            flex-direction: column;
            align-items: center;

            justify-content: center;
            z-index: 9999999;
        }

        .loader-bar-wrapper {
            width: 300px;
            height: 4px;
            background: #ccc;
            overflow: hidden;
            margin-bottom: 30px;
            position: relative;
        }

        .loader-bar {
            width: 0;
            height: 100%;
            background: #000;z-index: 99999999999;
            animation: loadBar 2.5s ease forwards;
        }

        .loading-text {
            font-size: 12px;
            color: #000;
        }

        @keyframes loadBar {
            to { width: 100%; }
        }

        #ascii-loader {
            position: absolute;
            top: 28.5%;
            left: 50%;
            transform: translateX(-50%);
            font-family: monospace;
            font-size: 6px;
            line-height: 6px;
            color: #888888;
            white-space: pre;
            text-align: center;
            z-index: 100;
            pointer-events: none;
        }


.full-image2 {
  width: 100%;
  height: auto;
  display: inline-block;
}

.image-wrapper {
  position: relative;
   margin-top: 30PX;
   width: 100%;
 margin-bottom: 30PX;
  display: inline-block; /* Keeps it snug around the image */
}






}
