:root { color-scheme: dark; }

html, body {
  margin: 0;
  padding: 0;
  background: #000;
  color: #fff;
  font-family: Arial, system-ui, sans-serif;
  min-height: 100%;
}

.wrap {
  min-height: 100vh;
  display: grid;
  place-items: center;
  gap: 24px;
  padding: 0 16px 32px;
  text-align: center;
}

.hero-img {
  max-width: min(400px, 80vw);
  height: auto;
  display: block;
}

.secondary-img {
  max-width: min(620px, 92vw);
  height: auto;
  display: block;
}



.wrap.no-top-gap {
  display: flex;         
  flex-direction: column;
  align-items: center;    
  padding-top: 0;         
  gap: 4px;                
  min-height: auto;         
}

.img-404 {
  max-width: min(980px, 75vw);
  height: auto;
  display: block;
  margin-top: 0;
}

.swap.closer {
  margin-top: 0;
}



.callout {
  margin: 8px 0 0;
  line-height: 1.4;
  font-size: clamp(16px, 2.5vw, 20px);
}

.inline-link {
  color: #8ab4ff;
  text-decoration: none;
  border-bottom: 1px dashed #8ab4ff;
}

.inline-link:hover { text-decoration: underline; }
.wip { color: #bbb; }



.swap {
  position: relative;
  display: inline-block;
}

.swap img {
  display: block;
  max-width: 400px; 
  width: 100%;
  height: auto;
  /* transition: opacity 0.25s ease; */
}

.swap img.top {
  position: absolute;
  inset: 0;
  opacity: 0;
}

.swap:hover img.top { opacity: 1; }
.swap:hover img:not(.top) { opacity: 0; }


.img-404 {
  max-width: min(980px, 75vw);
  width: 100%;
  height: auto;
  display: block;
  margin-top: 0;
}


@media (max-width: 768px) {
 
  .swap {
    width: 120px;   
  }
  .swap img {
    width: 100%;      
    height: auto;
    max-width: none;  
  }

 
  .img-404 {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}

