/* ==========================================================================
   Página Sobre — estilos específicos
   ========================================================================== */

.km-about-page .km-about-hero {
  padding-top: 48px;
  background:
    radial-gradient(110% 80% at 90% 6%, color-mix(in srgb, var(--color-theme-secondary) 24%, transparent) 0%, transparent 58%),
    var(--km-surface);
}

@media (min-width: 992px) {
  .km-about-page .km-about-hero {
    padding-top: 72px;
  }
}

.km-about-page .km-about-hero__figure {
  max-width: 420px;
  margin-inline: auto;
}

@media (min-width: 992px) {
  .km-about-page .km-about-hero__figure {
    max-width: none;
    margin-left: auto;
  }
}

.km-about-page .km-about-hero .km-credentials {
  margin-top: 20px;
}

/* ------------------------------ Formação -------------------------------- */

.km-timeline {
  position: relative;
  margin: 0;
  padding: 0 0 0 28px;
  list-style: none;
}

.km-timeline::before {
  content: "";
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 6px;
  width: 2px;
  background: linear-gradient(
    to bottom,
    var(--color-theme-secondary),
    color-mix(in srgb, var(--color-theme) 35%, transparent)
  );
}

.km-timeline__item {
  position: relative;
  padding-bottom: 20px;
  line-height: 1.6;
  color: var(--color-text);
}

.km-timeline__item:last-child {
  padding-bottom: 0;
}

.km-timeline__item::before {
  content: "";
  position: absolute;
  top: 9px;
  left: -28px;
  width: 14px;
  height: 14px;
  border: 3px solid var(--color-fill);
  border-radius: 50%;
  background-color: var(--color-theme);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-theme) 35%, transparent);
}

@media (min-width: 768px) {
  .km-timeline__item {
    font-size: 1.02rem;
  }
}
