:root {
  scroll-behavior: smooth;
  scroll-padding-top: 5rem;
}

.hero {
  background: linear-gradient(135deg,
    rgba(13, 110, 253, .08),
    rgba(13, 110, 253, .01));
}

.hero-photo {
  width: 220px;
  height: 220px;
  object-fit: cover;
  object-position: 78% 58%; /* keeps the face centred in the circle */
}

.section-title {
  font-size: 1.5rem;
  font-weight: 600;
  padding-bottom: .5rem;
  margin-bottom: 1.5rem;
  border-bottom: 2px solid var(--bs-primary);
  display: inline-block;
}

/* Experience timeline */
.timeline {
  position: relative;
  padding-left: 1.75rem;
}

.timeline::before {
  content: "";
  position: absolute;
  left: .4rem;
  top: .35rem;
  bottom: .35rem;
  width: 2px;
  background: var(--bs-border-color);
}

.timeline-item {
  position: relative;
  padding-bottom: 2rem;
}

.timeline-item:last-child {
  padding-bottom: 0;
}

.timeline-item::before {
  content: "";
  position: absolute;
  left: -1.75rem;
  top: .45rem;
  width: .8rem;
  height: .8rem;
  border-radius: 50%;
  background: var(--bs-primary);
  box-shadow: 0 0 0 3px var(--bs-body-bg);
}

/* Print / save-as-PDF */
@media print {
  #mainNav, footer, .btn { display: none !important; }
  .hero { background: none; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: .8em; }
  section { break-inside: avoid; }
}
