:root {
  --button-background: var(--color-surface-tertiary);
  --button-background-hover: var(--color-surface-secondary);
  --button-color-hover: var(--color-text-secondary);
  --button-icon-hover-filter: grayscale(1) brightness(5);
  --button-color: var(--color-text-primary);
}

:root {
  --basic-button-background: var(--color-surface-neutral);
  --basic-button-color: var(--color-text-primary);
}

.block__sdc-headshots {
  display: flex;
  justify-content: center;
  padding: var(--spacing-lg) 0;
}
.block__sdc-headshots .wrapper {
  width: 100%;
  max-width: var(--container-xl-max-width);
  display: flex;
}
.block__sdc-headshots .wrapper .title {
  max-width: 33%;
  min-width: 33%;
  width: 100%;
  padding-right: var(--spacing-sm);
}
.block__sdc-headshots .wrapper .title h2 {
  font: var(--type-h2);
  color: var(--color-text-highlight);
}
.block__sdc-headshots .wrapper .title .tags {
  margin-top: var(--spacing-md);
}
.block__sdc-headshots .wrapper .title .tags button.tag {
  border: none;
  outline: none;
  cursor: pointer;
  padding: var(--spacing-xs) var(--spacing-sm);
  background: var(--basic-button-background);
  white-space: nowrap;
  border-radius: var(--border-radius-primary);
  font: var(--type-b2);
  transition: background 0.3s;
  color: var(--basic-button-color);
}
@media screen and (hover: none) {
  .block__sdc-headshots .wrapper .title .tags button.tag:active {
    background: var(--color-surface-secondary);
    color: var(--color-text-secondary);
  }
}
@media screen and (hover: hover) {
  .block__sdc-headshots .wrapper .title .tags button.tag:hover {
    background: var(--color-surface-secondary);
    color: var(--color-text-secondary);
  }
}
.block__sdc-headshots .wrapper .title .tags button.tag.active {
  background: var(--color-black);
  color: var(--color-text-secondary);
}
.block__sdc-headshots .wrapper .headshots {
  display: flex;
  gap: var(--spacing-sm);
  flex-wrap: wrap;
  width: 100%;
}
.block__sdc-headshots .wrapper .headshots .person {
  max-width: calc((100% - var(--spacing-sm) * 3) / 4);
  width: 100%;
  position: relative;
  cursor: pointer;
  border-radius: var(--border-radius-primary);
}
.block__sdc-headshots .wrapper .headshots .person.hidden {
  display: none;
}
.block__sdc-headshots .wrapper .headshots .person .media {
  width: 100%;
  padding-top: 130%;
  position: relative;
  background: var(--color-surface-neutral);
  overflow: hidden;
  border-radius: var(--border-radius-primary);
  margin-bottom: var(--spacing-sm);
}
.block__sdc-headshots .wrapper .headshots .person .media img, .block__sdc-headshots .wrapper .headshots .person .media canvas {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.block__sdc-headshots .wrapper .headshots .person h3 {
  font: var(--type-b1);
  color: var(--color-text-highlight);
}
.block__sdc-headshots .wrapper .headshots .person p {
  font: var(--type-b2);
  color: var(--color-text-highlight);
}
.block__sdc-headshots .wrapper .headshots .person .bio, .block__sdc-headshots .wrapper .headshots .person .projects {
  display: none;
}
.block__sdc-headshots .wrapper .headshots .person button {
  font-size: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  background-image: var(--icon-cross-blue);
  background-position: center;
  background-repeat: no-repeat;
  border: none;
  cursor: pointer;
  background-color: transparent;
  outline: none;
  transition: transform 0.3s;
}
.block__sdc-headshots .wrapper .headshots .person button.alt {
  background-image: var(--icon-cross-white);
}
.block__sdc-headshots .wrapper .headshots .person:hover button {
  transform: rotate(90deg);
}
.block__sdc-headshots .modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 1000;
  background-color: var(--color-surface-modal);
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
  display: none;
  justify-content: center;
  padding-left: var(--header-width);
  align-items: center;
}
.block__sdc-headshots .modal.active {
  display: flex;
}
.block__sdc-headshots .modal .modal-wrapper {
  max-width: 812px;
  display: flex;
  align-items: start;
  gap: var(--spacing-md);
  position: relative;
  padding: var(--spacing-sm);
  border-radius: var(--border-radius-primary);
  background: white;
}
.block__sdc-headshots .modal .modal-wrapper .media {
  max-width: 280px;
  min-width: 280px;
  width: 100%;
}
.block__sdc-headshots .modal .modal-wrapper .media img {
  width: 100%;
}
.block__sdc-headshots .modal .modal-wrapper .bio h3 {
  font: var(--type-b1);
  color: var(--color-text-highlight);
}
.block__sdc-headshots .modal .modal-wrapper .bio h4 {
  font: var(--type-b3);
  color: var(--color-text-highlight);
  margin-bottom: var(--spacing-sm);
}
.block__sdc-headshots .modal .modal-wrapper .bio .content {
  max-height: calc(70vh - 200px);
  overflow: scroll;
  font: var(--type-b2);
  color: var(--color-text-primary);
}
.block__sdc-headshots .modal .modal-wrapper .bio .content p {
  margin-bottom: var(--spacing-sm);
}
.block__sdc-headshots .modal .modal-wrapper .bio .content p:last-child {
  margin-bottom: 0;
}
.block__sdc-headshots .modal .modal-wrapper .bio .content strong {
  font-weight: bold;
}
.block__sdc-headshots .modal .modal-wrapper .bio .content h1, .block__sdc-headshots .modal .modal-wrapper .bio .content h2, .block__sdc-headshots .modal .modal-wrapper .bio .content h3, .block__sdc-headshots .modal .modal-wrapper .bio .content h4, .block__sdc-headshots .modal .modal-wrapper .bio .content h5 {
  margin-bottom: 0.5em;
}
.block__sdc-headshots .modal .modal-wrapper .bio .content h1 {
  font: var(--type-h1);
}
.block__sdc-headshots .modal .modal-wrapper .bio .content h2 {
  font: var(--type-h2);
}
.block__sdc-headshots .modal .modal-wrapper .bio .content h3 {
  font: var(--type-h3);
}
.block__sdc-headshots .modal .modal-wrapper .bio .content h4 {
  font: var(--type-h4);
}
.block__sdc-headshots .modal .modal-wrapper .bio .content h5 {
  font: var(--type-h5);
  text-transform: uppercase;
}
.block__sdc-headshots .modal .modal-wrapper .bio .content p.b1 {
  font: var(--type-b1);
}
.block__sdc-headshots .modal .modal-wrapper .bio .content p.b3 {
  font: var(--type-b3);
}
.block__sdc-headshots .modal .modal-wrapper .bio .content a:link, .block__sdc-headshots .modal .modal-wrapper .bio .content a:visited {
  color: var(--color-text-highlight);
  text-decoration: underline;
}
.block__sdc-headshots .modal .modal-wrapper .bio .content img {
  max-width: 100%;
  max-height: 40vh;
  min-height: 300px;
  width: 100%;
  display: block;
  border-radius: var(--border-radius-primary);
  margin: var(--spacing-md) auto;
}
.block__sdc-headshots .modal .modal-wrapper .bio .content img.aligncenter {
  max-height: -moz-fit-content;
  max-height: fit-content;
  min-height: -moz-fit-content;
  min-height: fit-content;
  max-height: fit-content;
}
.block__sdc-headshots .modal .modal-wrapper .bio .content ul {
  list-style: inside;
}
.block__sdc-headshots .modal .modal-wrapper .bio .content ol {
  list-style-type: decimal;
  list-style-position: inside;
}
.block__sdc-headshots .modal .modal-wrapper .bio .content ul, .block__sdc-headshots .modal .modal-wrapper .bio .content ol {
  margin-bottom: 1em;
}
.block__sdc-headshots .modal .modal-wrapper .bio .content blockquote {
  font: var(--type-b2);
  border-left: 2px solid var(--color-border-highlight);
  padding-left: var(--spacing-md);
  margin: var(--spacing-md) 0;
}
@media screen and (max-width: 768px) {
  .block__sdc-headshots .modal .modal-wrapper .bio .content h1 {
    font: var(--type-h2);
  }
  .block__sdc-headshots .modal .modal-wrapper .bio .content h2 {
    font: var(--type-h3);
  }
  .block__sdc-headshots .modal .modal-wrapper .bio .content h3 {
    font: var(--type-h3);
  }
  .block__sdc-headshots .modal .modal-wrapper .bio .content h4 {
    font: var(--type-h4);
  }
}
.block__sdc-headshots .modal .modal-wrapper .bio .projects {
  margin-top: var(--spacing-sm);
}
.block__sdc-headshots .modal .modal-wrapper .bio .projects a {
  display: block;
  margin-bottom: var(--spacing-xs);
  font: var(--type-b3);
  color: var(--color-text-highlight);
}
.block__sdc-headshots .modal .modal-wrapper .bio .projects a:hover {
  text-decoration: underline;
}
.block__sdc-headshots .modal .modal-wrapper button {
  position: absolute;
  top: var(--spacing-sm);
  left: var(--spacing-sm);
  background-image: var(--icon-cross-blue);
  transform: rotate(45deg);
  width: 40px;
  height: 40px;
  background-position: center;
  background-repeat: no-repeat;
  border: none;
  background-color: transparent;
  font-size: 0;
  cursor: pointer;
  transition: transform 0.3s;
}
.block__sdc-headshots .modal .modal-wrapper button:hover {
  transform: rotate(135deg);
}
@media screen and (max-width: 768px) {
  .block__sdc-headshots .wrapper {
    flex-wrap: wrap;
    gap: var(--spacing-sm);
  }
  .block__sdc-headshots .wrapper .title {
    max-width: 100%;
    min-width: 100%;
    width: 100%;
    padding-right: 0;
    margin-bottom: var(--spacing-sm);
  }
  .block__sdc-headshots .wrapper .headshots {
    flex-wrap: nowrap;
    overflow-x: scroll;
    padding-left: var(--container-padding);
    margin-left: calc(0px - var(--container-padding));
    margin-right: calc(0px - var(--container-padding));
    width: calc(var(--container-width) + var(--container-padding) * 2);
    max-width: calc(var(--container-width) + var(--container-padding) * 2);
  }
  .block__sdc-headshots .wrapper .headshots .person {
    max-width: calc(var(--container-width) - var(--spacing-lg));
    min-width: calc(var(--container-width) - var(--spacing-lg));
    width: 100%;
  }
  .block__sdc-headshots .modal {
    overflow-y: scroll;
    align-items: start;
  }
  .block__sdc-headshots .modal .modal-wrapper {
    flex-wrap: wrap;
    gap: var(--spacing-sm);
  }
}