body {
    margin: 0;
    padding: 0;
    min-height: 100vh;
    min-height: 100dvh;
    /* background: #1024a9; */
    background: linear-gradient(to bottom, #0f35ca 0%, #041779 100%);
    overflow-x: hidden;

    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 70px;
    position: relative;
}

.cloudLayer {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.cloud {
  position: absolute;
  left: -380px;
  width: 320px;
  height: 180px;  
  background: center / contain no-repeat url("images/Roxanne_in_the_Clouds_v2.webp");
  opacity: 0.16;
  filter: drop-shadow(0 0 10px rgba(255,255,255,0.2));
  will-change: transform;
}

.Head {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
    flex-wrap: nowrap;
    gap: clamp(16px, 4vw, 48px);
    width: 100%;
    max-width: none;
    
    margin-top: clamp(24px, 8vw, 100px);
    padding: 0 clamp(12px, 4vw, 40px);
}

.Head,
.bodyPanel {
  position: relative;
  z-index: 1;
}

.logo1 {
    width: clamp(220px, 50vw, 500px);
    max-width: 100%;
    height: auto;
}

.logoBlock {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
    flex: 0 0 auto;
}

.title {
    color: #d7dde2;
    margin-top: clamp(10px, 2.2vw, 20px);
    font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
    font-size: clamp(0.9rem, 2.2vw, 1.25rem);
    text-align: center;
    padding: 0 10px;
}

.rox1 {
    position: absolute;
    bottom: 0px;
    right: 10px;
    width: 300px;
}

/* .rox2 {
    position: absolute;
    bottom: 0px;
    left: 10px;
    width: 333px;
} */

.butCom,
#infoButton {
  flex: 0 0 clamp(120px, 20vw, 220px);
}

.butN {
    border: none;
    border-radius: 0;
    box-sizing: border-box;
    height: clamp(48px, 8vw, 70px);
    width: clamp(150px, 24vw, 220px);
    max-width: 100%;
    padding: 0 12px;
    font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
    font-size: clamp(1rem, 2.2vw, 20px);
    color: transparent;
    text-shadow: 0 0 #000000;
    background: #09858F;
    box-shadow: inset -2px -2px #0a0a0a, inset 2px 2px #71eaff, inset -4px -4px rgb(0, 99, 99), inset 4px 4px #00aaaa;
    position: relative;
  }

  .sittingRox:hover + .butN {
    box-shadow: inset -2px -2px #71eaff, inset 2px 2px #0a0a0a, inset -4px -4px #00aaaa, inset 4px 4px rgb(0, 99, 99);
    
    text-shadow: 0.5px 0.5px #000000;
    
    outline: 2px dotted #000000;
    outline-offset: -8px;
  }

  .butN:hover {
    box-shadow: inset -2px -2px #71eaff, inset 2px 2px #0a0a0a, inset -4px -4px #00aaaa, inset 4px 4px rgb(0, 99, 99);
    
    text-shadow: 0.5px 0.5px #000000;
    
    outline: 2px dotted #000000;
    outline-offset: -8px;
  }

  .butCom {
    display: block;
    max-width: 100%;
    position: relative;
    flex: 0 1 auto;
  }

 .sittingRox {
  content: url('images/roxanne\ sitting\ eyes\ closed.png');
  position: absolute;
  width: clamp(72px, 11vw, 100px);

  top: calc(-1.7 * clamp(72px, 11vw, 100px));
  left: clamp(-4px, -0.8vw, -6px);

  z-index: 1;
  filter: drop-shadow(0px 0px 4px #222);
}

  .sittingRox:hover {
    content: url('images/roxanne\ sitting\ eyes\ open.png')
  }

.butCom:hover .sittingRox {
    content: url('images/roxanne sitting eyes open.png');
}

/* ----------HEAD_END--------- */

.bodyPanel {
  width: 70vw;
  max-width: 1000px;
  padding: 0px 20px;
  text-align: center;
  
  font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
  color: #d7dde2;
  background-color: #09868fcc;
  box-shadow: inset -2px -2px #0a0a0a, inset 2px 2px #71eaff, inset -4px -4px rgb(0, 99, 99), inset 4px 4px #00aaaa;
}

/* -----------FAN_PANEL-----------*/

.fanPanel {
  width: 70vw;
  max-width: 1000px;
  padding: 14px 20px 18px;

  background-color: #09868fcc;
  box-shadow: inset -2px -2px #0a0a0a, inset 2px 2px #71eaff, inset -4px -4px rgb(0, 99, 99), inset 4px 4px #00aaaa;

  position: relative;
  z-index: 1;
}

.fanTitle {
  margin: 4px 0 14px;
  text-align: center;
  color: #d7dde2;
  text-shadow: 1px 1px #000;
  font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
  font-size: clamp(1rem, 2.2vw, 1.4rem);
}

.fanViewport {
  overflow: hidden;
  width: 100%;
}

.fanTrack {
  --card-w: clamp(180px, 22vw, 240px);
  --gap: clamp(12px, 2vw, 24px);

  display: flex;
  align-items: flex-start;
  gap: var(--gap);
  width: max-content;
  animation: fanScroll 34s linear infinite;
}

/* pause on hover */
.fanViewport:hover .fanTrack {
  animation-play-state: paused;
}

.fanCard {
  width: var(--card-w);
  flex: 0 0 var(--card-w);
}

.fanFrame {
  width: 100%;
  aspect-ratio: 4 / 3;
  background: #0a5a61;
  box-shadow:
    inset -2px -2px #0a0a0a,
    inset 2px 2px #71eaff,
    inset -4px -4px rgb(0, 99, 99),
    inset 4px 4px #00aaaa;
  padding: 6px;
  box-sizing: border-box;
}

.fanFrame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background: #11448d;
}

.artistName {
  margin: 8px 0 0;
  text-align: center;
  color: #d7dde2;
  text-shadow: 1px 1px #000;
  font-size: clamp(0.75rem, 1.3vw, 0.95rem);
  font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
}

@keyframes fanScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(calc(-50% - (var(--gap) / 2))); }
}

@media (max-width: 1100px) {
  .Head {
    flex-wrap: wrap;
        justify-content: space-around;
    row-gap: clamp(20px, 4vw, 36px);
    column-gap: clamp(16px, 6vw, 60px);
    padding: 0; 
  }

  .title {
    font-size: clamp(0.70rem, 1.8vw, 1rem);
  }

  .logoBlock {
    order: 1;
    flex: 0 0 100%;
    margin-bottom: clamp(10px, 2vw, 50px);
  }

  .butCom {
    order: 2;
    flex: 0 0 clamp(140px, 30vw, 220px);
  }

  #infoButton {
    order: 3;
    flex: 0 0 clamp(140px, 30vw, 220px);
  }

  .butCom,
  #infoButton {
    justify-self: center;
  }
}