/* Typography: match homepage */
body,
h1, h2, h3, h4, h5, h6,
.about-entity,
.about-contents,
.about-contents p,
.about-contents li,
.about-links {
  font-family: "DM Sans", sans-serif !important;
}

/* Title block */
#title-block-header {
  margin-bottom: 0;
}

/* Profile panel */
.about-entity {
  background-color: rgba(255, 255, 255, 0.35);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 3em 2em !important;
  margin: 0 2em;
  border-radius: 8px;
}

/* Profile image: circular */
.about-image {
  border-radius: 50% !important;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center top;   /* keeps your face in frame if the photo is cropped */  
}

/* Social links */
.about-entity .about-links {
  justify-content: center !important;
  column-gap: 0 !important;
  font-size: 1.2em !important;
}

/* Individual social links */
.about-entity .about-link {
  padding: 0.25em !important;
  border: none !important;
}

/* Introductory text */
#hero-heading {
  line-height: 1.7;
}

/* Narrow layout: centre the profile panel */
@media screen and (max-width: 991.98px) {
  .about-entity {
    align-self: center !important;
    width: calc(100% - 2em) !important;
    max-width: 32rem;                /* stops it getting too wide on tablets */
    margin: 0 auto !important;
    padding: 2em 1.5em !important;
    text-align: center;
  }
}

@media screen and (max-width: 576px) {
  .about-entity {
    width: calc(100% - 1em) !important;
    padding: 1.5em 1em !important;
  }
}

/* Prevent the profile panel from stretching to match the text column */
.about-entity {
  align-self: flex-start;
  height: fit-content;
}

/* Justified bio text */
.about-contents p {
  text-align: justify;  
}

/* Narrow layout: keep social icons in one centred row */
@media screen and (max-width: 991.98px) {

  .about-entity .about-links {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    column-gap: 0 !important;
  }

  .about-entity .about-link {
    display: inline-block !important;
    width: auto !important;
    padding: 0.25em 0.4em !important;
    text-align: center !important;
  }
}

/* Align the "About" heading with the top of the profile panel */
.about-contents .h1 {
  margin-top: 0 !important;
  padding-top: 0 !important;
  line-height: 1.1 !important;
}

.about-contents {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Qualifications: smaller and lighter than the job title */
.subtitle .qualifications {
  font-size: 0.75em;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.4;  ;
}



