@import url("https://use.typekit.net/lwb0gue.css");
@import url("https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;600;700&display=swap");

:root {
  --vsu-black: #000000;
  --vsu-red: #da1a32;
  --vsu-embers: #a00c30;
  --vsu-white: #ffffff;
  --vsu-stone-30: #f2f2f1;
  --vsu-stone-60: #ececeb;
  --vsu-stone-80: #dfdfdd;
}

/* Keep the branded header logo visually balanced with the title text. */
.md-header__button.md-logo img,
.md-nav__button.md-logo img {
  height: 1.15rem;
  width: auto;
}

/* Center all content images site-wide (including linked/glightbox images). */
.md-content .md-typeset img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  height: auto;
}

.md-content .md-typeset a.glightbox {
  display: block;
  text-align: center;
}

.md-content .md-typeset a.glightbox > img {
  display: inline-block;
}

/* Global body typeface */
.md-typeset {
  font-family: "Source Sans 3", "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 1.55;
  color: var(--vsu-black);
}

/* Brand heading hierarchy (Acumin Pro per branding guide). */
.md-typeset h1,
.md-typeset h2,
.md-typeset h3,
.md-typeset h4 {
  font-family: "acumin-pro", "Acumin Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: var(--vsu-black);
}

.md-typeset h1 {
  font-size: 3rem;
  line-height: 1.15;
  font-weight: 900;
}

.md-typeset h2 {
  font-size: 1.9rem;
  line-height: 1.25;
  font-weight: 800;
}

.md-typeset h3 {
  font-size: 1.5rem;
  line-height: 1.3;
  font-weight: 800;
}

.md-typeset h4 {
  font-size: 1.25rem;
  line-height: 1.35;
  font-weight: 700;
}

/* Branded tables for workflow/reference indexes and procedure matrices. */
.md-typeset table:not([class]) {
  border: 1px solid var(--vsu-stone-80);
  border-radius: 8px;
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  overflow: hidden;
  font-size: 0.98rem;
}

.md-typeset table:not([class]) thead {
  background: linear-gradient(90deg, var(--vsu-embers), var(--vsu-red));
}

.md-typeset table:not([class]) thead th {
  color: var(--vsu-white);
  border: 0;
  font-family: "acumin-pro", "Acumin Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: none;
  padding: 0.7rem 0.8rem;
}

.md-typeset table:not([class]) tbody td {
  border-top: 1px solid var(--vsu-stone-80);
  border-right: 1px solid var(--vsu-stone-80);
  padding: 0.65rem 0.8rem;
  vertical-align: top;
}

.md-typeset table:not([class]) tbody td:last-child,
.md-typeset table:not([class]) thead th:last-child {
  border-right: 0;
}

.md-typeset table:not([class]) tbody tr:nth-child(even) {
  background: var(--vsu-stone-30);
}

.md-typeset table:not([class]) tbody tr:hover {
  background: var(--vsu-stone-60);
}

/* Optional utility class for manual centering in markdown attr_list. */
.md-typeset .img-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* Side by Side Images */

.md-typeset .two-up {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  margin: 1.25rem 0;
}

.md-typeset .two-up img {
  max-height: 340px;
  width: auto;
  max-width: 100%;
  flex: 0 1 auto;
}

/* Mobile-first table usability for workflow-heavy pages. */
@media (max-width: 768px) {
  .md-typeset table:not([class]) {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    font-size: 0.93rem;
    border-radius: 6px;
  }

  .md-typeset table:not([class]) thead th,
  .md-typeset table:not([class]) tbody td {
    padding: 0.55rem 0.6rem;
    white-space: normal;
    word-break: break-word;
  }

  .md-typeset table:not([class]) tbody td:first-child,
  .md-typeset table:not([class]) thead th:first-child {
    min-width: 11rem;
  }

  .md-typeset table:not([class]) tbody td:last-child,
  .md-typeset table:not([class]) thead th:last-child {
    min-width: 16rem;
  }
}

.vsu-footer {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: inherit;
  text-decoration: none;
  font-size: 0.84rem;
}

.vsu-footer:hover,
.vsu-footer:focus {
  text-decoration: underline;
}

.vsu-footer__logo {
  width: 18px;
  height: auto;
  display: inline-block;
}

.vsu-footer__text {
  line-height: 1.3;
}

/* Homepage only: title-page hero and section framing. */
.md-typeset .home-landing {
  text-align: center;
  margin: 0.2rem 0 2.2rem;
  padding: 1.6rem 1.4rem 1.8rem;
  border-bottom: 3px solid var(--vsu-red);
}

.md-typeset .home-kicker {
  margin: 0;
  font-family: "acumin-pro", "Acumin Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--vsu-embers);
}

.md-typeset .home-title {
  margin: 0.5rem auto 0.5rem;
  max-width: 16ch;
  font-family: "acumin-pro", "Acumin Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(2.15rem, 4.5vw, 3.45rem);
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -0.01em;
}

.md-typeset .home-subtitle {
  margin: 0 auto;
  max-width: 44rem;
  font-size: 1.08rem;
  line-height: 1.45;
  font-weight: 600;
}

.md-typeset .home-mark {
  margin: 1.2rem 0 0.9rem;
}

.md-typeset .home-mark img {
  width: min(280px, 60vw);
  height: auto;
}

.md-typeset .home-lede {
  margin: 0 auto;
  max-width: 54ch;
  font-size: 1.02rem;
  line-height: 1.58;
}

.md-typeset .home-section {
  margin: 2.1rem 0;
  padding: 1.25rem 1.25rem 1.05rem;
  border: 1px solid var(--vsu-stone-80);
  border-radius: 12px;
  background-color: var(--vsu-white);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
}

.md-typeset .home-section h2 {
  margin: 0;
  padding: 0 0 0 0.85rem;
  border-left: 4px solid var(--vsu-red);
  font-size: 1.65rem;
  line-height: 1.2;
}

.md-typeset .home-section > p {
  margin: 0.65rem 0 1rem;
  color: #1f1f1f;
}

.md-typeset .home-section table:not([class]) {
  margin: 0;
  border-radius: 10px;
}

.md-typeset .home-section table:not([class]) tbody tr:hover {
  background: #e7e7e5;
}

@media (max-width: 768px) {
  .md-typeset .home-landing {
    margin-bottom: 1.9rem;
    padding: 1.1rem 0.85rem 1.25rem;
  }

  .md-typeset .home-kicker {
    font-size: 0.8rem;
  }

  .md-typeset .home-subtitle {
    font-size: 0.98rem;
  }

  .md-typeset .home-lede {
    font-size: 0.95rem;
  }

  .md-typeset .home-section {
    margin: 1.35rem 0;
    padding: 0.95rem 0.8rem 0.75rem;
    border-radius: 10px;
  }

  .md-typeset .home-section h2 {
    font-size: 1.38rem;
    padding-left: 0.7rem;
  }
}
