/* ===== Left Section ===== */
.card.intro {
  gap: var(--spacing-s);
}

.card.resume {
  min-height: 73px;
  gap: var(--spacing-s);
}

.resume-link {
  display: inline-block;
  font-family: var(--font-family-body);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  text-decoration: underline;
  transition: all 0.4s ease;
  transform-origin: left center;
}

.resume-link:hover {
  transform: scale(1.05);
}

/* ===== Main Section ===== */
.main-top {
  display: flex; 
  flex-direction: row; 
  gap: var(--spacing-m); 
  align-items: center; 
  justify-content: center;
}

.profile-pic {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 450px;
  margin: 0 auto; 
  height: auto;
  aspect-ratio: 520 / 345;
  object-fit: cover;
}

.mobile-intro{
  display: none; 
}

/* SKILLS */
.skill-section {
  flex: 0 0 auto;
  min-height: 0;
  justify-content: flex-start;
}

.skill-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-s) var(--spacing-xl);
  list-style: none;
  padding: var(--spacing-none);
  margin: var(--spacing-none);
}

.skill-item {
  display: flex;
  flex-direction: row;
  gap: var(--spacing-s);
  align-items: center;
}

.main-bottom {
  display: flex; 
  flex-direction: row; 
  gap: var(--spacing-m); 
}

/* ===== RIGHT CONTENT ===== */

.bottom-section {
  display: flex;
  flex: 1;
  gap: var(--spacing-l);
  align-items: stretch; /* Make both columns same height */
}

.left-column {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 280px;
  gap: var(--spacing-m);
  align-self: stretch;
}

/* ===== CARDS ===== */

.education article,
.connect {
  display: flex;
  flex-direction: column;
}

.card.connect {
  flex: 1;
  flex-grow: 1;
  justify-content: flex-start;
}

.education article {
  gap: var(--spacing-s);
}

.about {
  flex: 1;
  flex-grow: 1;
  align-self: stretch;
  justify-content: flex-start;
}

.about article {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-s);
  flex-shrink: 0; /* Keep articles from shrinking */
}

.tags {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-s);
  flex-wrap: wrap;
}

.tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-xs) var(--spacing-m);
  font-family: var(--font-family-body);
  font-weight: var(--font-weight-regular);
  color: var(--color-primary);
  font-size: var(--font-size-mini);
  border-radius: var(--corner-radius-l);
  border: 1px dashed var(--color-primary);
  transition: all 0.4s ease;
  position: relative; 
  overflow: hidden;
}

.tag:hover {
  border: 1px solid var(--color-primary); 
}

.tag::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.6), transparent);
  transition: all 0.5s ease;
}

.tag:hover::after {
  left: 100%;
}

/* ===== RESPONSIVE DESIGN ===== */
@media screen and (min-width: 1450px) {
  .skill-list {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (max-width: 1024px) {
  .top-section {
    flex-direction: column;
    align-items: stretch;
  }
  
  .profile-pic {
    max-width: 100%;
    aspect-ratio: 500 / 485;
  }
  
  .bottom-section {
    flex-direction: column;
  }
  
  .left-column {
    width: 100%;
  }
}

@media screen and (max-width: 810px) {
  .main-top {
    flex-direction: column;
    align-items: stretch;
  }

  .profile-pic {
    max-width: 100%;
    aspect-ratio: 520 / 345;
  }

  .mobile-intro{
    display: flex; 
    flex-direction: column;
    gap: var(--spacing-m); 
  }

  .skill-section {
    width: 100%;
  }

  .skill-list {
    grid-template-columns: repeat(3, 1fr);
  }

  .main-bottom {
    flex-direction: column;
  }

  .left-column {
    width: 100%;
    min-width: 0;
  }
}

