.fullpage-center {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 16px;
  text-align: center;
  position: relative;
  overflow: hidden;
  background: linear-gradient(
    135deg,
    #11998e 0%,
    #83c5bf 25%,
    #0f766e 50%,
    #06b6d4 75%,
    #10b981 100%
  );
  background-size: 400% 400%;
  animation: gradientShift 15s ease infinite;
}

.fullpage-center::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 30%, rgba(255,255,255,0.1) 0%, transparent 40%),
              radial-gradient(circle at 80% 70%, rgba(255,255,255,0.08) 0%, transparent 40%),
              radial-gradient(circle at 50% 50%, rgba(255,255,255,0.05) 0%, transparent 60%),
              repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(255,255,255,0.03) 2px, rgba(255,255,255,0.03) 4px);
  pointer-events: none;
  z-index: 0;
}

.fullpage-center::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 25% 25%, rgba(255,255,255,0.1) 2px, transparent 2px),
                    radial-gradient(circle at 75% 75%, rgba(255,255,255,0.1) 2px, transparent 2px);
  background-size: 50px 50px, 80px 80px;
  animation: floatDots 12s linear infinite;
  opacity: 0.6;
  pointer-events: none;
  z-index: 0;
}

.center-content { max-width: 960px; margin: 0 auto; position: relative; z-index: 1; }

.logo {
  width: 480px;
  max-width: 65vw;
  height: auto;
  margin-bottom: 24px;
  animation: float 6s ease-in-out infinite;
}

.title { 
  font-size: clamp(36px, 6vw, 72px); 
  letter-spacing: 1px; 
  margin: 0; 
  color: #ffffff; 
  text-shadow: 0 2px 10px rgba(0,0,0,0.35);
}
.subtitle { 
  margin-top: 8px; 
  opacity: 0.95; 
  font-size: clamp(14px, 1.8vw, 20px); 
  color: #ecfeff; 
  text-shadow: 0 1px 6px rgba(0,0,0,0.3);
}

.back-home {
  display: inline-block;
  margin-top: 18px;
  padding: 10px 16px;
  color: #ffffff;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.7);
  border-radius: 10px;
  background: rgba(255,255,255,0.15);
  backdrop-filter: blur(2px);
  transition: transform .15s ease, background .15s ease;
}
.back-home:hover { transform: translateY(-1px); background: rgba(255,255,255,0.22); }

@keyframes gradientShift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes floatDots {
  0% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
  100% { transform: translateY(0); }
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-20px); }
}

.fullpage-center {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 16px;
  text-align: center;
  position: relative;
  overflow: hidden;
  background: linear-gradient(
    135deg,
    #11998e 0%,
    #83c5bf 25%,
    #0f766e 50%,
    #06b6d4 75%,
    #10b981 100%
  );
  background-size: 400% 400%;
  animation: gradientShift 15s ease infinite;
}

.fullpage-center::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 30%, rgba(255,255,255,0.1) 0%, transparent 40%),
              radial-gradient(circle at 80% 70%, rgba(255,255,255,0.08) 0%, transparent 40%),
              radial-gradient(circle at 50% 50%, rgba(255,255,255,0.05) 0%, transparent 60%),
              repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(255,255,255,0.03) 2px, rgba(255,255,255,0.03) 4px);
  pointer-events: none;
  z-index: 0;
}

.fullpage-center::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 25% 25%, rgba(255,255,255,0.1) 2px, transparent 2px),
                    radial-gradient(circle at 75% 75%, rgba(255,255,255,0.1) 2px, transparent 2px);
  background-size: 50px 50px, 80px 80px;
  animation: floatDots 12s linear infinite;
  opacity: 0.6;
  pointer-events: none;
  z-index: 0;
}

.center-content { max-width: 960px; margin: 0 auto; position: relative; z-index: 1; }

.logo {
  width: 480px;
  max-width: 65vw;
  height: auto;
  margin-bottom: 24px;
  animation: float 6s ease-in-out infinite;
}

.title { 
  font-size: clamp(36px, 6vw, 72px); 
  letter-spacing: 1px; 
  margin: 0; 
  color: #ffffff; 
  text-shadow: 0 2px 10px rgba(0,0,0,0.35);
}
.subtitle { 
  margin-top: 8px; 
  opacity: 0.95; 
  font-size: clamp(14px, 1.8vw, 20px); 
  color: #ecfeff; 
  text-shadow: 0 1px 6px rgba(0,0,0,0.3);
}

@keyframes gradientShift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes floatDots {
  0% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
  100% { transform: translateY(0); }
}

/* Match float animation used on home/about logos */
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-20px); }
}
