/* ===================================================================
   HOME.CSS - Homepage Specific Styles
   Portfolio Website for Eric Koens
   =================================================================== */

/* ===================================================================
   HERO SECTION
   =================================================================== */

.hero-section {
  min-height: calc(100vh - 70px);
  display: flex;
  align-items: center;
  padding: var(--spacing-3xl) 0;
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
}

.hero-section .container {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: var(--spacing-xl);
  align-items: center;
}

.hero-content {
  max-width: 700px;
}

.hero-title {
  font-size: 64px;
  font-weight: var(--font-weight-bold);
  color: var(--color-primary);
  margin-bottom: var(--spacing-md);
  line-height: 1.1;
}

.hero-roles {
  font-size: 20px;
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
  margin-bottom: var(--spacing-lg);
  line-height: var(--line-height-relaxed);
}

.hero-tagline {
  font-size: 18px;
  color: var(--color-text-secondary);
  margin-bottom: var(--spacing-xl);
  line-height: var(--line-height-relaxed);
}

.hero-buttons {
  margin-top: var(--spacing-xl);
}

/* ===================================================================
   HERO IMAGE / PROFILE PLACEHOLDER
   =================================================================== */

.hero-image {
  display: flex;
  justify-content: center;
  align-items: center;
}

.profile-placeholder {
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-xl);
  transition: transform var(--transition-normal);
}

.profile-placeholder:hover {
  transform: scale(1.05);
}

.profile-placeholder i {
  font-size: 120px;
  color: white;
  opacity: 0.9;
}

/* TODO: Replace placeholder with actual image */
.profile-image {
  width: 300px;
  height: 300px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: var(--shadow-xl);
  transition: transform var(--transition-normal);
}

.profile-image:hover {
  transform: scale(1.05);
}

/* ===================================================================
   SKILLS PREVIEW SECTION
   =================================================================== */

#skills-preview {
  padding: var(--spacing-3xl) 0;
}

.skills-preview-grid {
  margin-top: var(--spacing-xl);
}

/* ===================================================================
   FEATURED PROJECTS SECTION
   =================================================================== */

#featured-projects {
  padding: var(--spacing-3xl) 0;
}

.projects-grid {
  margin-top: var(--spacing-xl);
}

.project-card {
  padding: var(--spacing-lg);
  height: 100%;
  display: flex;
  flex-direction: column;
}

.project-card .card-body {
  flex-grow: 1;
}

.project-card .card-footer {
  margin-top: auto;
}

/* ===================================================================
   MOBILE RESPONSIVE ADJUSTMENTS
   =================================================================== */

@media (max-width: 1024px) {
  .hero-title {
    font-size: 52px;
  }

  .profile-placeholder {
    width: 250px;
    height: 250px;
  }

  .profile-placeholder i {
    font-size: 100px;
  }
}

@media (max-width: 768px) {
  .hero-section {
    min-height: auto;
    padding: var(--spacing-2xl) 0;
  }

  .hero-section .container {
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
  }

  .hero-content {
    text-align: center;
    max-width: 100%;
  }

  .hero-title {
    font-size: 40px;
  }

  .hero-roles {
    font-size: 18px;
  }

  .hero-tagline {
    font-size: 16px;
  }

  .hero-buttons {
    justify-content: center;
  }

  .profile-placeholder {
    width: 200px;
    height: 200px;
  }

  .profile-placeholder i {
    font-size: 80px;
  }

  .profile-image {
    width: 200px;
    height: 200px;
  }
}

@media (max-width: 480px) {
  .hero-title {
    font-size: 32px;
  }

  .hero-roles {
    font-size: 16px;
  }

  .hero-tagline {
    font-size: 15px;
  }
}
