.details {
  list-style: none;
  margin-block: 0 var(--spacing-5);
  padding: 0;

  .details-card {
    border-bottom: 1px solid var(--colors-border-weak);
    margin-block-end: var(--spacing-6);

    &:last-child {
      margin-block-end: 0;
    }

    h2 {
      align-items: center;
      display: flex;
      gap: var(--spacing-3);
      margin-block: 0 var(--spacing-4);

      .icon {
        margin: 0;
      }
    }

    .badge-tooltip {
      position: relative;

      button.badge {
        align-items: center;
        background: var(--colors-background-weak);
        border-radius: var(--border-radius-sm);
        border: none;
        color: var(--colors-neutral-800);
        cursor: pointer;
        display: flex;
        font-size: var(--font-sizes-1);
        font-weight: var(--font-weights-bold);
        gap: var(--spacing-1);
        padding-block: var(--spacing-1);
        padding-inline: var(--spacing-2);

        span.icon {
          height: var(--font-sizes-3);
          margin: 0;
          width: var(--font-sizes-3);
        }
      }

      .tooltip {
        background-color: var(--colors-background);
        border-radius: var(--border-radius-lg);
        border: 1px solid var(--colors-border-weak);
        box-shadow: var(--shadows-medium);
        box-sizing: border-box;
        display: none;
        gap: var(--spacing-4);
        max-inline-size: 400px;
        min-inline-size: 200px;
        padding: var(--spacing-4) var(--spacing-5);
        position: absolute;

        span.marker {
          background-color: inherit;
          block-size: 14px;
          border-color: inherit;
          border-image: initial;
          border-style: solid;
          border-width: 1px;
          box-sizing: border-box;
          clip-path: polygon(0% 100%, 100% 0%, 0% 0%);
          inline-size: 14px;
          inset-block-start: -7px;
          left: var(--spacing-5);
          position: absolute;
          transform: rotate(45deg);
        }

        h3 {
          justify-content: space-between;
          margin-block-end: 0;

          button {
            background-color: transparent;
            border-radius: 0;
            color: var(--colors-neutral-1000);
            padding: 0;
            width: auto;
          }
        }

        p {
          margin-block-end: 0;
        }

        button {
          border: none;
          justify-content: center;
          justify-self: end;
          width: auto;

          @media screen and (max-width: 48em) {
            width: 100%;
          }
        }
      }

      .tooltip-show {
        display: grid;
      }
    }

    .badge {
      margin-block-end: var(--spacing-2);
    }

    p {
      margin-block-end: var(--spacing-5);
    }

    h3 {
      align-items: center;
      display: flex;
      gap: var(--spacing-2);
      margin-block: 0 var(--spacing-4);

      .icon {
        margin: 0;
      }
    }

    .details-secondary {
      @media screen and (min-width: 48em) {
        display: grid;
        grid-template-columns: 1fr 1fr;
      }

      .details-local-state {
        display: flex;
        gap: var(--spacing-5);
        margin-block-end: var(--spacing-4);

        .local-state-card {
          h3.title {
            font-weight: var(--font-weights-normal);
            margin-block-end: var(--spacing-2);
          }
          .content {
            span {
              color: var(--colors-foreground-strong);
              font-size: var(--font-sizes-3);
              font-weight: var(--font-weights-bold);
              line-height: var(--line-heights-normal);
            }
            small {
              white-space: nowrap;
            }
          }
        }
      }

      .skills-container {
        h3 {
          margin-inline-start: -2px;
        }

        ul {
          @media screen and (min-width: 48em) {
            display: grid;
            grid-template-columns: 1fr 1fr;
          }
        }
      }
    }

    ul {
      list-style: initial;
      margin-block: 0 var(--spacing-5);
      padding-inline-start: var(--spacing-6);

      li {
        margin-block-end: var(--spacing-2);

        &:last-child {
          margin-block-end: 0;
        }
      }
    }

    .career-video {
      display: flex;
      justify-content: center;
      margin-block: var(--spacing-5);

      iframe {
        max-width: 100%;
        aspect-ratio: 16 / 9;
      }
    }

    /* Neutralize adjacent margins so the gap above and below the video is symmetric */
    :has(+ .career-video) {
      margin-block-end: 0;
    }

    .career-video + * {
      margin-block-start: 0;
    }

    a.button {
      margin-block-end: var(--spacing-6);
      padding-inline-end: 0;
    }
  }
}
