@charset "utf-8";
/* CSS Document */
  .js-resume * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }
  .js-resume {
    --navy:   #1a2e45;
    --steel:  #2e5f8a;
    --silver: #8a9bb0;
    --rule:   #c8d4e0;
    --bg:     #f8f9fb;
    --white:  #ffffff;

    font-family: 'EB Garamond', Georgia, serif;
    font-size: 13px;
    line-height: 1.45;
    color: var(--navy);
    background: var(--white);
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  .js-resume .r-header {
    background: var(--navy);
    color: var(--white);
    padding: 22px 28px 18px;
  }
  .js-resume .r-name {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1;
  }
  .js-resume .r-creds {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: var(--silver);
    letter-spacing: 0.06em;
    margin-top: 3px;
  }
  .js-resume .r-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #7ab3d8;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-top: 6px;
  }
  .js-resume .r-contact {
    font-size: 11.5px;
    color: var(--silver);
    margin-top: 8px;
    letter-spacing: 0.02em;
  }
  .js-resume .r-contact a {
    color: #7ab3d8;
    text-decoration: none;
  }
  .js-resume .r-contact span {
    margin: 0 6px;
    opacity: 0.4;
  }
  .js-resume .r-body {
    width: 100%;
    border-collapse: collapse;
    vertical-align: top;
  }
  .js-resume .r-body td {
    vertical-align: top;
    padding: 0;
  }
  .js-resume .col-left {
    width: 220px;
    min-width: 220px;
    background: var(--bg);
    padding: 18px 16px;
    border-right: 1px solid var(--rule);
  }
  .js-resume .col-right {
    padding: 18px 20px;
  }
  .js-resume .sec-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--steel);
    border-bottom: 1px solid var(--rule);
    padding-bottom: 4px;
    margin-bottom: 8px;
    margin-top: 16px;
  }
  .js-resume .sec-label:first-child {
    margin-top: 0;
  }
  .js-resume .skill-group {
    margin-bottom: 10px;
  }
  .js-resume .skill-cat {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: var(--navy);
    text-transform: uppercase;
    margin-bottom: 2px;
  }
  .js-resume .skill-items {
    font-size: 11.5px;
    color: #445566;
    line-height: 1.5;
  }
  .js-resume .cert-item {
    font-size: 11.5px;
    color: #445566;
    line-height: 1.6;
    padding-left: 10px;
    text-indent: -10px;
  }
  .js-resume .cert-item::before {
    content: "·  ";
    color: var(--steel);
  }
  .js-resume .edu-item {
    font-size: 11.5px;
    color: #445566;
    line-height: 1.5;
    margin-bottom: 5px;
  }
  .js-resume .edu-qual {
    font-weight: 600;
    color: var(--navy);
    font-size: 11.5px;
  }
  .js-resume .profile-text {
    font-size: 12.5px;
    color: #334455;
    line-height: 1.55;
    font-style: italic;
  }
  .js-resume .role-block {
    margin-bottom: 12px;
  }
  .js-resume .role-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 2px;
  }
  .js-resume .role-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--navy);
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }
  .js-resume .role-org {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: var(--steel);
    letter-spacing: 0.03em;
  }
  .js-resume .role-dates {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 11px;
    color: var(--silver);
    letter-spacing: 0.04em;
    white-space: nowrap;
  }
  .js-resume .role-bullets {
    margin: 4px 0 0 0;
    padding-left: 14px;
    list-style: none;
  }
  .js-resume .role-bullets li {
    font-size: 11.5px;
    color: #334455;
    line-height: 1.5;
    margin-bottom: 2px;
    padding-left: 8px;
    text-indent: -8px;
  }
  .js-resume .role-bullets li::before {
    content: "– ";
    color: var(--steel);
  }
  .js-resume .proj-row {
    display: flex;
    gap: 8px;
    align-items: baseline;
    margin-bottom: 3px;
    font-size: 11.5px;
  }
  .js-resume .proj-client {
    font-weight: 600;
    color: var(--navy);
    white-space: nowrap;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 12px;
    letter-spacing: 0.03em;
    min-width: 130px;
  }
  .js-resume .proj-desc {
    color: #445566;
    line-height: 1.45;
  }
  .js-resume .proj-year {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 10.5px;
    color: var(--silver);
    white-space: nowrap;
    letter-spacing: 0.05em;
  }
  .js-resume hr.r-divider {
    border: none;
    border-top: 1px solid var(--rule);
    margin: 8px 0;
  }
