/* ============================================
   ABOUT PAGE — page-specific styles
   Requires: shared.css
   ============================================ */

/* ============================================
   ABOUT HERO
   ============================================ */
.about-hero {
  padding: 140px 0 80px;
  position: relative; overflow: hidden;
}
.about-hero__shapes {
  position: absolute; inset: 0; pointer-events: none; z-index: 0;
}
.ashape { position: absolute; border-radius: 50%; animation: float 7s ease-in-out infinite; }
.ashape--1 { width: 300px; height: 300px; background: var(--coral-soft); opacity: 0.35; top: -5%; right: 5%; }
.ashape--2 { width: 180px; height: 180px; background: var(--teal-soft); opacity: 0.4; bottom: 0; left: -5%; animation-delay: -3s; }
.ashape--3 { width: 120px; height: 120px; background: var(--amber-soft); opacity: 0.45; top: 30%; right: 30%; animation-delay: -5s; }
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-22px); } }

.about-hero__layout {
  display: grid; grid-template-columns: 1fr 400px;
  gap: 64px; align-items: center;
  position: relative; z-index: 1;
}
@media (max-width: 900px) {
  .about-hero__layout { grid-template-columns: 1fr; gap: 40px; }
  .about-hero__visual { order: -1; justify-self: center; }
}

.about-hero__wave {
  font-size: 2rem; display: inline-block; margin-bottom: 12px;
  animation: wave-hand 2.5s ease-in-out infinite;
  transform-origin: 70% 70%;
}
@keyframes wave-hand {
  0%, 100% { transform: rotate(0); }
  10% { transform: rotate(14deg); }
  20% { transform: rotate(-8deg); }
  30% { transform: rotate(14deg); }
  40% { transform: rotate(-4deg); }
  50%, 100% { transform: rotate(0); }
}
.about-hero__title {
  font-family: var(--font-display); font-weight: 800;
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  line-height: 1.1; letter-spacing: -0.02em;
  color: var(--text-dark); margin-bottom: 20px;
}
.about-hero__title em { font-style: italic; font-weight: 400; color: var(--coral); }
.about-hero__text {
  font-size: 1.1rem; line-height: 1.8; color: var(--text-body); max-width: 560px;
}
.about-hero__text strong { color: var(--text-dark); font-weight: 600; }

/* ============================================
   AVATAR CARD
   ============================================ */
.avatar-card {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 28px; padding: 36px; text-align: center;
  box-shadow: 0 16px 48px rgba(45,32,25,0.06);
  position: relative;
}
.avatar-card__badge {
  position: absolute; top: -12px; right: 20px;
  background: var(--teal); color: #fff;
  font-size: 0.72rem; font-weight: 600;
  padding: 6px 14px; border-radius: 100px;
  box-shadow: 0 4px 12px rgba(42,191,179,0.3);
}
.avatar-card__img {
  width: 100px; height: 100px; border-radius: 50%;
  margin: 0 auto 16px;
  overflow: hidden;
}
.avatar-card__img img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.avatar-card__name {
  font-family: var(--font-display); font-weight: 700;
  font-size: 1.2rem; color: var(--text-dark); margin-bottom: 4px;
}
.avatar-card__role { font-size: 0.85rem; color: var(--text-muted); margin-bottom: 20px; }
.avatar-card__details { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.detail-chip { background: var(--bg); border-radius: var(--radius-sm); padding: 12px; }
.detail-chip__label { font-size: 0.68rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.06em; }
.detail-chip__value { font-weight: 700; font-size: 0.9rem; color: var(--text-dark); margin-top: 3px; }

/* ============================================
   STORY SECTION
   ============================================ */
.story { padding: 80px 0; }
.story__content { max-width: 680px; margin: 0 auto; }
.story__heading {
  font-family: var(--font-display); font-weight: 700;
  font-size: 1.6rem; color: var(--text-dark); margin-bottom: 20px; line-height: 1.25;
}
.story__text { font-size: 1.05rem; line-height: 1.85; color: var(--text-body); margin-bottom: 24px; }
.story__text:last-child { margin-bottom: 0; }

.callout {
  margin: 32px 0;
  font-size: 1.2rem; line-height: 1.6;
  color: var(--text-dark);
  font-style: italic;
  font-weight: 700;
}

/* ============================================
   VALUES / APPROACH
   ============================================ */
.values { padding: 80px 0; background: var(--bg-warm); }
.values__header { text-align: center; margin-bottom: 48px; }
.values__title {
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(1.6rem, 3vw, 2.2rem); color: var(--text-dark); margin-bottom: 12px;
}
.values__sub { font-size: 1rem; line-height: 1.7; color: var(--text-muted); max-width: 480px; margin: 0 auto; }
.values__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 800px) { .values__grid { grid-template-columns: 1fr; } }
.value-card {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius-md); padding: 32px 24px; text-align: center;
  transition: transform 0.3s var(--ease-out-expo), box-shadow 0.3s;
}
.value-card:hover { transform: translateY(-4px); box-shadow: 0 12px 36px rgba(45,32,25,0.06); }
.value-card__emoji { font-size: 1.8rem; margin-bottom: 14px; }
.value-card__title {
  font-family: var(--font-display); font-weight: 700;
  font-size: 1.05rem; color: var(--text-dark); margin-bottom: 8px;
}
.value-card__desc { font-size: 0.88rem; line-height: 1.65; color: var(--text-muted); }

/* ============================================
   CTA SECTION
   ============================================ */
.cta { padding: 80px 0; text-align: center; }
.cta__title {
  font-family: var(--font-display); font-weight: 800;
  font-size: clamp(1.8rem, 4vw, 2.6rem); color: var(--text-dark); margin-bottom: 16px;
}
.cta__text {
  font-size: 1.05rem; line-height: 1.7; color: var(--text-body);
  max-width: 520px; margin: 0 auto 32px;
}

@media (max-width: 600px) {
  .about-hero { padding: 120px 0 60px; }
  .story, .values, .cta { padding: 60px 0; }
}
