/* Perusasetukset */
html, body {
  height: 100%;
  margin: 0;
  background: #fff;
  overflow: hidden;
}

body {
  display: flex;
  align-items: center;
  justify-content: center;
}

.logo-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(42vw, 220px); 
  height: min(42vw, 220px); 
}

/* ALKUPERÄINEN LOGO: Mekaaninen kasvu (5s sykli) */
.main-logo {
  display: block;
  max-width: 100%;
  width: 100%;
  height: auto;
  user-select: none;
  -webkit-user-drag: none;
  position: relative;
  z-index: 5; 
  animation: logo-mekaaninen-kasvu 5s infinite ease-in-out;
}

/* Pulssiaallot */
.logo-wrapper::before,
.logo-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("/logo.svg"); 
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
  opacity: 0;
}

/* Aallot 10s syklissä, 5s porrastuksella */
.logo-wrapper::before {
  animation: aalto-ennakoiva 10s infinite ease-out;
}

.logo-wrapper::after {
  animation: aalto-ennakoiva 10s infinite ease-out 5s;
}

/* LOGON KASVU: Maksimi 1s kohdalla (20% 5 sekunnista) */
@keyframes logo-mekaaninen-kasvu {
  0% { transform: scale(1); }
  20% { transform: scale(1.08); } 
  40% { transform: scale(1); }
  100% { transform: scale(1); }
}

/* AALTO: Irtoaa jo 0.5s kohdalla (5% 10 sekunnista) */
@keyframes aalto-ennakoiva {
  /* 0-5% (0.5s): Lyhyt odotus aivan alussa */
  0%, 5% {
    transform: scale(1);
    opacity: 0;
  }
  /* 5.1% (0.5s): Aalto irtoaa, kun logo on vasta kasvamassa */
  5.1% {
    transform: scale(1.04); /* Hieman jo kasvanut koko */
    opacity: 0.7;
    filter: blur(0px);
  }
  /* Laajenee ja vaimenee voimakkaasti */
  45% {
    transform: scale(5); 
    opacity: 0; 
    filter: blur(60px); /* Erittäin pehmeä vaimeneminen */
  }
  100% {
    opacity: 0;
  }
}
