/* ===================================
   about.css — About Page Styles
   =================================== */

/* Page Hero */
.page-hero {
  padding-block: var(--space-16) var(--space-10);
  border-bottom: 1px solid var(--color-border);
  background: linear-gradient(180deg, var(--color-bg-secondary) 0%, var(--color-bg) 100%);
}
.page-hero__inner { max-width: 680px; }

/* Bio Section */
.bio-grid {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: var(--space-16);
  align-items: start;
}

/* Photo */
.bio-photo { text-align: center; }
.bio-photo__frame {
  position: relative;
  width: 220px;
  height: 220px;
  margin: 0 auto var(--space-4);
}
.bio-photo__img {
  width: 100%;
  height: 100%;
  border-radius: var(--radius-2xl);
  object-fit: cover;
  box-shadow: var(--shadow-xl);
}
.bio-photo__fallback {
  display: none;
  width: 100%;
  height: 100%;
  border-radius: var(--radius-2xl);
  background: linear-gradient(135deg, var(--color-accent-light) 0%, var(--color-bg-secondary) 100%);
  border: 2px solid var(--color-accent-medium);
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: var(--space-2);
  box-shadow: var(--shadow-xl);
}
.bio-photo__initials {
  font-size: var(--text-4xl);
  font-weight: var(--font-bold);
  color: var(--color-accent);
  letter-spacing: var(--tracking-tight);
}
.bio-photo__emoji { font-size: var(--text-2xl); }

.bio-photo__ring {
  position: absolute;
  inset: -6px;
  border-radius: calc(var(--radius-2xl) + 6px);
  border: 2px dashed var(--color-accent-medium);
  animation: spin-slow 12s linear infinite;
}
@keyframes spin-slow { to { transform: rotate(360deg); } }

.bio-location {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  padding: var(--space-1) var(--space-3);
  background: var(--color-bg-secondary);
  border-radius: var(--radius-full);
  border: 1px solid var(--color-border);
}

/* Bio text */
.bio-text { padding-top: var(--space-4); }
.bio-paragraph {
  font-size: var(--text-lg);
  color: var(--color-text-secondary);
  line-height: var(--leading-relaxed);
  margin-bottom: var(--space-5);
}

.bio-facts {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-6);
}
.bio-fact {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-full);
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
  color: var(--color-text-primary);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.bio-fact:hover {
  border-color: var(--color-accent-medium);
  box-shadow: var(--shadow-glow);
}

/* Skills Section */
.skills-section { background: var(--color-bg-secondary); }

.skills-layout {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-6);
}

.skill-group {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: var(--space-6);
  transition: box-shadow var(--transition-base), border-color var(--transition-base);
}
.skill-group:hover {
  box-shadow: var(--shadow-md);
  border-color: var(--color-accent-medium);
}

.skill-group__header {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-5);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--color-border);
}
.skill-group__icon { font-size: 1.4rem; }
.skill-group__title { font-size: var(--text-base); font-weight: var(--font-semibold); color: var(--color-text-primary); }

/* Timeline Section */
.timeline-section { background: var(--color-bg); }

/* Responsive */
@media (max-width: 900px) {
  .bio-grid { grid-template-columns: 1fr; gap: var(--space-10); }
  .bio-photo__frame { width: 180px; height: 180px; }
  .skills-layout { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .bio-facts { gap: var(--space-2); }
}
