:root {
      --uh-red: #c8102e;
      --uh-dark-red: #970b22;
      --gold: #f6be00;
       --teal: #0f766e;
      --ink: #222;
       --muted: #646a73;
       --slate: #54585A;
      --heading-font: "League Gothic", serif;
      --body-font: "Source Sans Pro", sans-serif;
       --page-width: 1750px;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
      scroll-padding-top: 100px;
    }

    body {
      margin: 0;
      background: #f7f4ed;
      color: var(--ink);
      font-family: var(--body-font);
    }

    a:focus-visible,
    button:focus-visible {
      outline: 3px solid #3478ba;
      outline-offset: 5px;
    }

    .skip-link {
      position: absolute;
      top: -100px;
      left: 1rem;
      z-index: 2000;
      padding: 0.7rem 1.1rem;
      color: #fff;
      background: var(--uh-red);
      border-radius: 0 0 6px 6px;
      font-weight: 700;
      text-decoration: none;
      transition: top 0.2s ease;
    }

    .skip-link:focus {
      top: 0;
    }

    /* =========================================================
   FADE ANIMATION
========================================================= */

@keyframes fade-up {

  from {
    opacity: 0;

    transform:
      translateY(35px);
  }

  to {
    opacity: 1;

    transform:
      translateY(0);
  }

}


  
    /* Hide link icons on narrower desktop screens. */
@media (min-width: 992px) and (max-width: 1399.98px) {
  .site-navbar .nav-link .bi {
    display: none;
  }
}

    .site-navbar {
      min-height: 84px;
      background: #fff;
      border-bottom: 1px solid #e6e1db;
    }

    .site-navbar .navbar-brand {
      display: flex;
      align-items: center;
      gap: 18px;
      margin-right: 14px;
      white-space: normal;
    }

    /* Replace this text placeholder with the approved UH logo. */
    .brand-mark {
      padding-right: 5px;
      color: var(--uh-red);
      font-family: Georgia, serif;
      font-size: 2.75rem;
      font-weight: 700;
      letter-spacing: -5px;
      line-height: 1;
    }

    .brand-name {
      color: var(--uh-red);
      font-size: .93rem;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .site-navbar .nav-link {
      padding: 20px;
      color: #252525;
      font-size: .9rem;
      font-weight: 600;
    }

    .site-navbar .nav-link:hover {
      color: var(--uh-red);
    }

    .site-navbar .nav-item.nav-cta .btn-uh {
      border-radius: 10px;
    }

    @media (min-width: 992px) {
      .site-navbar .nav-item.nav-cta {
        margin-left: 0.75rem;
      }

      .site-navbar .nav-item.nav-cta + .nav-item {
        margin-left: 0.25rem;
      }
    }

    /* Scroll-aware navbar: compact + frosted once the page is scrolled */
    .site-navbar {
      transition: min-height .3s ease, box-shadow .3s ease, background-color .3s ease;
    }

    .site-navbar.scrolled {
      min-height: 68px;
      background: rgba(255, 255, 255, .9);
      box-shadow: 0 2px 18px rgba(37, 37, 37, .08);
    }

    @supports (backdrop-filter: blur(8px)) {
      .site-navbar.scrolled {
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
      }
    }

    /* Red underline hover accent */
    .site-navbar .nav-link {
      position: relative;
    }

    .site-navbar .nav-link:not(.dropdown-toggle)::after {
      content: "";
      position: absolute;
      right: 20px;
      bottom: 12px;
      left: 20px;
      height: 2px;
      background: var(--uh-red);
      transform: scaleX(0);
      transform-origin: left center;
      transition: transform .25s ease;
    }

    .site-navbar .nav-link:not(.dropdown-toggle):hover::after,
    .site-navbar .nav-link:not(.dropdown-toggle):focus-visible::after {
      transform: scaleX(1);
    }

    /* 'More' dropdown */
    .site-navbar .dropdown-menu {
      padding: .4rem;
      margin-top: .35rem;
      border: 1px solid #e6e1db;
      border-radius: 12px;
      box-shadow: 0 12px 32px rgba(37, 37, 37, .12);
    }

    .site-navbar .dropdown-item {
      border-radius: 8px;
      padding: .55rem .75rem;
      color: #252525;
      font-weight: 600;
    }

    .site-navbar .dropdown-item:hover,
    .site-navbar .dropdown-item:focus {
      background: #fff2ef;
      color: var(--uh-red);
    }

    .btn {
      padding: 14px 24px;
      border-radius: 3px;
      font-weight: 700;
    }

    .btn-uh {
      --bs-btn-color: #fff;
      --bs-btn-bg: var(--uh-red);
      --bs-btn-border-color: var(--uh-red);
      --bs-btn-hover-color: #fff;
      --bs-btn-hover-bg: var(--uh-dark-red);
      --bs-btn-hover-border-color: var(--uh-dark-red);
      --bs-btn-active-color: #fff;
      --bs-btn-active-bg: var(--uh-dark-red);
      --bs-btn-active-border-color: var(--uh-dark-red);
    }

    /* Banner */

    .games-banner {
      overflow: hidden;
      background: var(--uh-red);
      color: #fff;
    }
    .mobility-banner {
      overflow: hidden;
      background: var(--uh-red);
      color: #fff;
    }
     .mobility-banner a:focus-visible {
      outline-color: #fff;
    }
    .mobility-graphic {
      display: block;
      width: calc(100% + 68px);
      max-width: 680px;
      height: auto;
      flex-shrink: 0;
    }
    .vr-banner {
      overflow: hidden;
      background: var(--uh-red);
      color: #fff;
    }
     .vr-banner a:focus-visible {
      outline-color: #fff;
    }
    .banner-copy {
      display: flex;
      flex-direction: column;
      min-height: 640px;
      padding: 10px clamp(24px, 5vw, 80px) 30px;
      background-image:
        linear-gradient(
          rgba(255, 255, 255, .065) 1px,
          transparent 1px
        ),
        linear-gradient(
          90deg,
          rgba(255, 255, 255, .065) 1px,
          transparent 1px
        );
      background-size: 54px 54px;
    }

    .banner-copy > * {
      opacity: 0;
      transform: translateY(24px);
      animation: fade-up 0.7s ease forwards;
    }

    .banner-copy > *:nth-child(2) {
      animation-delay: 0.12s;
    }

    .banner-copy > *:nth-child(3) {
      animation-delay: 0.24s;
    }

    .banner-copy > *:nth-child(4) {
      animation-delay: 0.36s;
    }

  

     .breadcrumb {
      --bs-breadcrumb-item-active-color: #fe0505;
      margin-top: 10px;
      margin-left: 25px;
      font-size: .9rem;
      line-height: 1.7;
    }

    .breadcrumb a {
      color: #060000;
      text-decoration: none;
      
    }

    .breadcrumb a:hover {
      text-decoration: underline;
      text-underline-offset: 4px;
    }

    .banner-eyebrow {
      margin-bottom: 5px;
      margin-left: 20px;
      margin-top:20px;
      font-size: 1.2rem;
      font-weight: 700;
      letter-spacing: .25em;
      text-transform: uppercase;
      color: silver
    }

    .banner-title {
        font-family: "League Gothic", sans-serif;
        font-size: clamp(5rem, 6.5vw, 9rem);
        line-height: 1.05;
        color: #f1f5f9;
        margin: 1rem 1rem 1rem;
        text-transform: uppercase;
        letter-spacing: 2px;
    }

    /* Track 03's three-line title is longer, so it takes a smaller clamp. */
    .vr-banner .banner-title {
        font-size: clamp(4.25rem, 6.5vw, 7rem);
    }

    .banner-description {
      max-width: 580px;
      margin-bottom: 20px;
      font-size: clamp(1rem, 1.4vw, 1.2rem);
      line-height: 1.8;
      margin-left:25px;
    }

    .banner-leads {
      margin-bottom: 28px;
      font-family: var(--heading-font);
      font-size: 1.4rem;
    }

    .banner-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      margin-top: 50px;
      margin-bottom:25px;
      margin-left: 20px;
    }

    .vr-banner .banner-actions {
      margin-top: 24px;
    }

    .btn-banner-primary {
      --bs-btn-color: var(--uh-red);
      --bs-btn-bg: #fff;
      --bs-btn-border-color: #fff;
      --bs-btn-hover-color: var(--uh-dark-red);
      --bs-btn-hover-bg: #f1f1f1;
      --bs-btn-hover-border-color: #f1f1f1;
      --bs-btn-active-color: var(--uh-dark-red);
      --bs-btn-active-bg: #e6e6e6;
      --bs-btn-active-border-color: #e6e6e6;
    }

    .btn-banner-secondary {
      --bs-btn-color: #fff;
      --bs-btn-bg: transparent;
      --bs-btn-border-color: #fff;
      --bs-btn-hover-color: var(--uh-red);
      --bs-btn-hover-bg: #fff;
      --bs-btn-hover-border-color: #fff;
      --bs-btn-active-color: var(--uh-red);
      --bs-btn-active-bg: #e6e6e6;
      --bs-btn-active-border-color: #e6e6e6;
    }

    .banner-actions .arrow {
      display: inline-block;
      margin-left: 14px;
      transition: transform .2s ease;
    }

    .banner-actions a:hover .arrow {
      transform: translateX(4px);
    }

    .banner-signature {
      margin-top: auto;
      padding-top: 36px;
      font-size: .6rem;
      letter-spacing: .2em;
      line-height: 1.8;
      text-transform: uppercase;
    }

    .games-banner a:focus-visible {
      outline-color: #fff;
    }

    /* Illustration panel */

    .banner-art {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      height: 100%;
      min-height: 640px;
      overflow: hidden;
      padding: 42px 34px 30px;
      background:
        radial-gradient(
          ellipse at 50% 40%,
          #b70c29 0%,
          #970b22 65%,
          #85091e 100%
        );
    }
    .justice-banner {
      overflow: hidden;
      background: var(--uh-red);
      color: #fff;
    }
    .justice-banner a:focus-visible {
      outline-color: #fff;
    }
      .justice-graphic {
      display: block;
      width: calc(100% + 68px);
      max-width: 680px;
      height: auto;
      flex-shrink: 0;
      overflow: visible;
    }
      .justice-scales {
      fill: none;
      stroke: #fff;
      stroke-width: 3.2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .art-track-label {
      margin: 0 0 8px;
      font-size: .84rem;
      font-weight: 600;
      letter-spacing: .5em;
      text-align: center;
    }

    .game-graphic {
      display: block;
      width: calc(100% + 68px);
      max-width: 680px;
      height: auto;
      flex-shrink: 0;
    }
     .vr-graphic {
      display: block;
      width: calc(100% + 68px);
      max-width: 680px;
      height: auto;
      flex-shrink: 0;
    }

    .circuit-lines {
      fill: none;
      stroke: #f65c77;
      stroke-width: 1.5;
      opacity: .7;
    }

    .circuit-nodes {
      fill: var(--uh-dark-red);
      stroke: #ff7e94;
      stroke-width: 2;
    }

    .circuit-dots {
      fill: #ff7e94;
    }

    .orbit-rings {
      fill: none;
      stroke: #f65c77;
      stroke-width: 1.3;
      opacity: .8;
    }

    .inner-ring {
      fill: none;
      stroke: #ffb6c3;
      stroke-width: 1.7;
    }
      .outer-rings {
      fill: none;
      stroke: #f65c77;
      stroke-width: 1.3;
      opacity: .8;
    }

    .inner-ring {
      fill: none;
      stroke: #ffb6c3;
      stroke-width: 1.7;
    }
    .ring-markers {
      fill: var(--uh-dark-red);
      stroke: #fff;
      stroke-width: 2.5;
    }
    .campus-lines {
      fill: none;
      stroke: #fff;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
        .history-overlay {
      fill: none;
      stroke: #ff9fb1;
      stroke-width: 1.5;
      stroke-dasharray: 5 5;
      opacity: .8;
    }
    .headset-lines {
      fill: #970b22;
      stroke: #fff;
      stroke-width: 3;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .joystick-art {
      fill: none;
      stroke: #fff;
      stroke-width: 3;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .game-symbols {
      fill: none;
      stroke: #ffb6c3;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .art-title {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 18px;
      width: 100%;
      margin: 0;
      font-size: .85rem;
      font-weight: 600;
      letter-spacing: .25em;
      text-align: center;
      text-transform: uppercase;
      line-height: 1.8;
    }

    .art-title::before,
    .art-title::after {
      content: "";
      width: 38px;
      height: 1px;
      flex-shrink: 0;
      background: rgba(255, 255, 255, .6);
    }

    .art-footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      width: 100%;
      margin-top: auto;
      padding-top: 22px;
      border-top: 1px solid rgba(255, 255, 255, .35);
    }

    .art-footer p {
      margin: 0;
      font-size: .75rem;
      font-weight: 600;
      letter-spacing: .2em;
      line-height: 1.9;
    }

    .art-number {
      color: transparent;
      font-family: var(--heading-font);
      font-size: 5.4rem;
      line-height: 1;
      -webkit-text-stroke: 1px rgba(255, 255, 255, .55);
    }

    /* Content below the details */

   .about, .challenge_overview, .participants, .rules, .schedule, .register, .contact, .structure, .judging-criteria,
   .administration, .organizers, .budget, .evaluation,.deliverables, .summary, .info, .overview, .storytelling-format, 
   .app-requirements, .organizer-section, .judges, .uhgames-director, .citation-requirements, .guidelines {
        max-width:
          var(--page-width);

          min-height:
          200px;

          margin:
        4rem auto;

        padding:
          2rem 5rem;

        
}
.about h2,
.challenge_overview h2,
.participants h2,
.rules h2, .schedule h2, .register h2, .contact h2, .structure h2, .judging-criteria h2, .administration h2, .organizers h2, .budget h2,
 .evaluation h2, .deliverables h2, .summary h2, .info h2, .overview h2, .storytelling-format h2, .app-requirements h2, .organizer-section h2, .judges h2, 
 .uhgames-director h2, .citation-requirements h2, .guidelines h2 {
   margin-bottom:
    1.5rem;

  font-family:
    "League Gothic",
    sans-serif;

  font-size:
    clamp(3.8rem, 5vw, 5.5rem);

  font-weight:
    400;

  line-height:
    1;
}
/* =========================================================
   SCHEDULE
========================================================= */

.schedule-tabs {
  display:
    flex;

  align-items:
    flex-start;

  justify-content:
    space-between;

  flex-wrap:
    wrap;

  gap:
    2rem;

  margin:
    2rem 0 0.5rem !important;
}


.schedule-tabs .nav-item {
  flex:
    1 1 150px;
}


.nav-pills .nav-link {
  color:
    var(--uh-red) !important;
}


.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color:
    #111 !important;

  background:
    #fff !important;

  border-radius:
    12px 12px 0 0;

  border-bottom:
    4px solid
    var(--uh-red);

  font-weight:
    700;
}


.round {
  color:
    var(--uh-red);

  font-size:
    1.5rem;
}


.schedule-label {
  margin-top:
    0.5rem;

  color:
    #6c757d;

  font-size:
    0.9rem;

  line-height:
    1.4;

  text-transform:
    uppercase;
}


.schedule-detail {
  margin-top:
    0;

  padding:
    2rem;

  border:
    1px solid
    #d6d6d6;

  border-radius:
    10px;

  background:
    #fff;

  box-shadow:
    0 3px 10px
    rgba(0, 0, 0, 0.12);
}


.schedule-detail [data-next-round] {
  --bs-btn-bg: #C8102E;
  --bs-btn-border-color: #C8102E;
  width: 48px;
  height: 48px;
  padding: 0;
  border-radius: 50%;
}

.schedule-detail h4 {
  color:
    var(--uh-red);

  font-weight:
    700;
}
    /* Responsive */

    @media (min-width: 1600px) {
      .banner-copy {
        padding-left: max(80px, calc((100vw - 1440px) / 2));
      }
      
      .mobility-graphic {
        width: calc(100% + 48px);
      }

    }

    @media (max-width: 1199.98px) {
      .brand-name {
        max-width: 180px;
        font-size: .78rem;
      }

      .banner-copy,
      .banner-art {
        min-height: 610px;
      }

      .banner-art {
        padding-inline: 24px;
      }

      .game-graphic {
        width: calc(100% + 48px);
      }
       .justice-graphic {
        width: calc(100% + 48px);
      }
      .vr-graphic {
        width: calc(100% + 48px);
      }
      .art-footer p {
        font-size: .65rem;
      }
      .research-graphic {
        width: calc(100% + 48px);
      }
      
      .wellness-graphic {
        width: calc(100% + 48px);
      }
      .story-graphic {
        width: calc(100% + 48px);
      }


    }

    @media (max-width: 991.98px) {
      .navbar-nav .nav-link {
        padding: 0.7rem 0;
        width: 100%;
      }

      .site-navbar .nav-item.nav-cta {
        margin-top: 0.25rem;
      }

      .brand-name {
        max-width: none;
      }

      .banner-copy {
        min-height: auto;
        padding: 30px 28px 42px;
      }

      .hero-breadcrumb {
        margin-bottom: 38px;
      
      }

      .banner-title {
        font-size: clamp(5rem, 10vw, 8rem);

      }

      .banner-art {
        min-height: auto;
        padding: 38px 28px 28px;
      }
      .vr-graphic {
        width: 100%;
        max-width: 520px;
      }

      .game-graphic {
        width: 100%;
        max-width: 520px;
      }
       .justice-graphic {
        width: 100%;
        max-width: 520px;
      }
      
      .mobility-graphic {
        width: 100%;
        max-width: 520px;
      }

      .art-title,
      .art-footer {
        max-width: 600px;
      }

      .art-footer {
        margin-top: 34px;
      }
       .wellness-graphic {
        width: 100%;
        max-width: 520px;
      }
      .story-graphic {
        width: 100%;
        max-width: 520px;
      }
    }

    @media (max-width: 575.98px) {
      .site-navbar .navbar-brand {
        gap: 12px;
      }

      .brand-mark {
        font-size: 2.2rem;
      }

      .brand-name {
        max-width: 175px;
        font-size: .72rem;
        letter-spacing: .06em;
      }

      .banner-copy {
        padding-inline: 22px;
      }

      .banner-eyebrow {
        font-size: .61rem;
        letter-spacing: .16em;
      }

      .banner-title {
        font-size: clamp(4.6rem, 20vw, 6.5rem);
      }

      .banner-description {
        font-size: 1rem;
      }

      .banner-actions .btn {
        width: 100%;
      }

      .art-title {
        gap: 10px;
        font-size: .7rem;
        letter-spacing: .16em;
      }

      .art-title::before,
      .art-title::after {
        width: 20px;
      }

      .art-footer p {
        font-size: .6rem;
        letter-spacing: .14em;
      }

      .art-number {
        font-size: 4.5rem;
      }
      section{
        padding: 2rem 1rem !important;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      html {
        scroll-behavior: auto;
      }

      *,
      *::before,
      *::after {
        transition: none !important;
        animation: none !important;
      }

      .banner-copy > * {
        opacity: 1;
        transform: none;
      }
    }

    /* =========================================================
   CARDS
========================================================= */

.card {
  border:
    0;

  border-radius:
    12px;
  margin-top: 15px; 
  overflow:
    hidden;

  box-shadow:
    0 5px 25px -8px
    rgba(0, 0, 0, 0.28);

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}


.card:hover {
  transform:
    translateY(-5px);

  box-shadow:
    0 12px 30px -10px
    rgba(0, 0, 0, 0.35);
}


.card-body {
  padding:
    2rem;
}


.rule-card {
  border-top: 4px solid var(--uh-red);
}


.rule-card.red-card {
  border-top-color: #fff;
}


/* Back to top + footer */

.back-to-top {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 1050;
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: #fff;
  background: var(--uh-red);
  border-radius: 50%;
  box-shadow: 0 6px 18px -4px rgba(0, 0, 0, 0.4);
  text-decoration: none;
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.back-to-top.show {
  display: flex;
}

.back-to-top:hover {
  background: var(--uh-dark-red);
  transform: translateY(-3px);
}

.track-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 5rem;
  padding: 1.5rem 5rem;
  color: #fff;
  background: var(--uh-red);
}

.track-footer p {
  margin: 0;
}

.track-footer.track-footer-center {
  justify-content: center;
  text-align: center;
}

.track-footer-brand {
  color: #fff;
  font-size: 0.93rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-decoration: none;
  text-transform: uppercase;
}

@media (max-width: 768px) {
  .track-footer {
    padding-inline: 1.5rem;
  }
}


.red-card {
  color:
    #fff;

  background:
    var(--uh-red);
}


.red-card .card-title {
  padding-bottom:
    0.6rem;

  border-bottom:
    2px solid
    rgba(255, 255, 255, 0.8);
}


.icon-pill {
  color:
    #fff;

  font-size:
    2rem;
}
.float-right-img {
    float: right;
    width: 300px;
    max-width: 100%;
    height: auto;

}
.about .card-body h4.card-title:not(:first-child) {
    clear: both;
    margin-top: 1.5rem;
}
@media (max-width: 768px) {
    .float-left-img {
        float: none;
        display: block;
        width: 100%;
        margin: 0 0 15px 0;
    }
}



    .network-lines {
      fill: none;
      stroke: #f65c77;
      stroke-width: 1.5;
      opacity: .7;
    }

    .network-nodes {
      fill: var(--uh-dark-red);
      stroke: #ff7e94;
      stroke-width: 2;
    }

    .orbit-rings {
      fill: none;
      stroke: #f65c77;
      stroke-width: 1.3;
      opacity: .8;
    }

    .inner-ring {
      fill: none;
      stroke: #ffb6c3;
      stroke-width: 1.7;
    }

    .ring-markers {
      fill: var(--uh-dark-red);
      stroke: #fff;
      stroke-width: 2.5;
    }

    .skyline-lines {
      fill: none;
      stroke: #ff9fb1;
      stroke-width: 1.7;
      stroke-linecap: round;
      stroke-linejoin: round;
      opacity: .85;
    }

    .route-lines {
      fill: none;
      stroke: #ffb6c3;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .route-stops {
      fill: var(--uh-dark-red);
      stroke: #fff;
      stroke-width: 2;
    }

    .transit-lines {
      fill: var(--uh-dark-red);
      stroke: #fff;
      stroke-width: 3;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .road-lines {
      fill: none;
      stroke: #fff;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    table th,
table td {
  padding: 20px 20px;
}
.research-banner {
      overflow: hidden;
      background: var(--uh-red);
      color: #fff;
    }
.research-banner a:focus-visible {
      outline-color: #fff;
    }
     .research-graphic {
      display: block;
      width: calc(100% + 68px);
      max-width: 680px;
      height: auto;
      flex-shrink: 0;
    }

    .network-lines {
      fill: none;
      stroke: #f65c77;
      stroke-width: 1.5;
      opacity: .7;
    }

    .network-nodes {
      fill: var(--uh-dark-red);
      stroke: #ff7e94;
      stroke-width: 2;
    }

    .orbit-rings {
      fill: none;
      stroke: #f65c77;
      stroke-width: 1.3;
      opacity: .8;
    }

    .inner-ring {
      fill: none;
      stroke: #ffb6c3;
      stroke-width: 1.7;
    }

    .ring-markers {
      fill: var(--uh-dark-red);
      stroke: #fff;
      stroke-width: 2.5;
    }

    .app-frame {
      fill: var(--uh-dark-red);
      stroke: #fff;
      stroke-width: 2.6;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .app-lines {
      fill: none;
      stroke: #fff;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .app-secondary {
      fill: none;
      stroke: #ffb6c3;
      stroke-width: 1.5;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .timeline-bar {
      fill: #fff;
    }

    .timeline-bar-muted {
      fill: #ff9fb1;
    }
  .wellness-banner {
        overflow: hidden;
        background: var(--uh-red);
        color: #fff;
      }

   .wellness-graphic {
      display: block;
      width: calc(100% + 68px);
      max-width: 680px;
      height: auto;
      flex-shrink: 0;
    }

    .network-lines {
      fill: none;
      stroke: #f65c77;
      stroke-width: 1.5;
      opacity: .7;
    }

    .network-nodes {
      fill: var(--uh-dark-red);
      stroke: #ff7e94;
      stroke-width: 2;
    }

    .orbit-rings {
      fill: none;
      stroke: #f65c77;
      stroke-width: 1.3;
      opacity: .8;
    }

    .inner-ring {
      fill: none;
      stroke: #ffb6c3;
      stroke-width: 1.7;
    }

    .ring-markers {
      fill: var(--uh-dark-red);
      stroke: #fff;
      stroke-width: 2.5;
    }

    .device-frame {
      fill: var(--uh-dark-red);
      stroke: #fff;
      stroke-width: 2.8;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .device-lines {
      fill: none;
      stroke: #fff;
      stroke-width: 2.4;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .secondary-lines {
      fill: none;
      stroke: #ffb6c3;
      stroke-width: 1.7;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .chart-bar {
      fill: #ffb6c3;
    }

    .chart-bar.active {
      fill: #fff;
    }
     .story-banner {
      overflow: hidden;
      background: var(--uh-red);
      color: #fff;
    }

     .story-graphic {
      display: block;
      width: calc(100% + 68px);
      max-width: 680px;
      height: auto;
      flex-shrink: 0;
    }

    .network-lines {
      fill: none;
      stroke: #f65c77;
      stroke-width: 1.5;
      opacity: .7;
    }

    .network-nodes {
      fill: var(--uh-dark-red);
      stroke: #ff7e94;
      stroke-width: 2;
    }

    .orbit-rings {
      fill: none;
      stroke: #f65c77;
      stroke-width: 1.3;
      opacity: .8;
    }

    .inner-ring {
      fill: none;
      stroke: #ffb6c3;
      stroke-width: 1.7;
    }

    .ring-markers {
      fill: var(--uh-dark-red);
      stroke: #fff;
      stroke-width: 2.5;
    }

    .media-frame {
      fill: var(--uh-dark-red);
      stroke: #fff;
      stroke-width: 2.6;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .media-lines {
      fill: none;
      stroke: #fff;
      stroke-width: 2.2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .secondary-lines {
      fill: none;
      stroke: #ffb6c3;
      stroke-width: 1.6;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .play-symbol {
      fill: #fff;
      stroke: #fff;
      stroke-width: 2;
      stroke-linejoin: round;
    }
.accordion-button:not(.collapsed) {
  background-color:  #C8102E;
  color: white;
}
.registration-coming-soon {
      max-width: 560px;
      
      padding: 2rem 1.5rem;
      text-align: center;
      background: #fff;
      border: 2px dashed var(--gold);
      border-radius: 14px;
    }

    .registration-coming-soon .rcs-icon {
      display: block;
      margin-bottom: 0.75rem;
      color: var(--uh-red);
      font-size: 2.4rem;
      line-height: 1;
    }

    .registration-coming-soon h3 {
      margin-bottom: 0.5rem;
      font-family: "League Gothic", sans-serif;
      font-size: 1.9rem;
      font-weight: 400;
      letter-spacing: 0.04em;
      line-height: 1.1;
      text-transform: uppercase;
    }

    .registration-coming-soon p {
      margin: 0;
      color: var(--text-muted);
    }

    /* =========================================================
   APP REQUIREMENTS — TRACK 08
========================================================= */

.app-requirements .section-subtitle {
  margin-bottom: 2rem;
  color: #6c757d;
  font-size: 1.05rem;
}

.req-card {
  position: relative;
  border-top: 4px solid var(--uh-red);
  background: #fff;
}

.req-card .req-number {
  position: absolute;
  top: 1.25rem;
  right: 1.5rem;
  font-family: var(--heading-font);
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 1;
  color: var(--uh-red);
  opacity: 0.18;
  pointer-events: none;
}

.req-card .card-title {
  margin-bottom: 0.75rem;
  padding-right: 3.5rem;
  color: var(--uh-red);
  font-family: var(--heading-font);
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.15;
  text-transform: uppercase;
}

.req-card .card-text {
  margin: 0;
  color: #444;
  font-size: 0.95rem;
  line-height: 1.65;
}

.req-card .icon-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  color: #fff;
  background: var(--uh-red);
  border-radius: 14px;
  font-size: 1.5rem;
}

/* =========================================================
   ORGANIZER profile card
========================================================= */

.organizer-section {
  margin-top: 3rem;
}

.organizer-card {
  overflow: hidden;
  background: #fff;
  border-top: 5px solid var(--uh-red);
  border-radius: 12px;
  box-shadow: 0 5px 25px -8px rgba(0, 0, 0, 0.15);
}

.organizer-header {
  padding: 2rem 2rem 1.5rem;
}

.organizer-name {
  margin-bottom: 0.25rem;
  font-family: "League Gothic";
  font-size: 2.3rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  color: var(--ink);
  text-transform: uppercase;
  line-height: 1.1;
}

.organizer-title {
  margin-bottom: 0.25rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--uh-red);
}

.organizer-dept,
.organizer-role {
  margin: 0;
  font-size: 0.9rem;
  color: #6c757d;
  line-height: 1.5;
}

.organizer-body {
  display: flex;
  gap: 1rem;
  padding: 0 2rem 2rem;
}

.organizer-photo {
  flex-shrink: 0;
}

.organizer-photo img {
  display: block;
  width: 160px;
  height: 300px;
  object-fit: cover;
  border-radius: 10px;
}

.organizer-info {
  flex: 1;
  border-left: 3px solid var(--uh-red);
  margin-left: 1rem;
}

.organizer-subheading {
  font-family: var(--heading-font);
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  color: var(--ink);
  border-bottom: 2px solid var(--uh-red);
  display: inline-block;
}

.organizer-bio {
  
  font-size: 0.92rem;
  line-height: 1.7;
  color: #444;
}

.organizer-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.organizer-tags .tag {
  display: inline-block;
  padding: 0.35rem 0.85rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--uh-red);
  background: #fff2ef;
  border: 1px solid #f6c9c4;
  border-radius: 20px;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .organizer-body {
    flex-direction: column;
  }

  .organizer-photo img {
    width: 120px;
    height: 120px;
  }
}

/* =========================================================
   SCHEDULE TABLE — TRACK 04
========================================================= */

.schedule .section-subtitle {
  margin-bottom: 2rem;
  color: #6c757d;
  font-size: 1.05rem;
}

.schedule-table {
  --bs-table-bg: transparent;
  --bs-table-border-color: #e6e1db;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 5px 25px -8px rgba(0, 0, 0, 0.12);
}

.schedule-table thead th {
  padding: 1rem 1.25rem;
  background: var(--uh-red);
  color: #fff;
  font-family: var(--heading-font);
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: none;
}

.schedule-table tbody td {
  padding: 0.9rem 1.25rem;
  vertical-align: middle;
  border-bottom: 1px solid #eee;
  font-size: 0.92rem;
  color: #444;
}

.schedule-table tbody td:first-child {
  white-space: nowrap;

  font-weight: 700;
}

.schedule-table tbody td:nth-child(2) {
  font-weight: 600;
  color: var(--ink);
}

.schedule-table tbody tr:last-child td {
  border-bottom: none;
}

.schedule-table tbody tr:hover {
  background: #fff8f7;
}

@media (max-width: 768px) {
  .schedule-table thead th,
  .schedule-table tbody td {
    padding: 0.75rem 0.85rem;
    font-size: 0.85rem;
  }

  .schedule-table tbody td:first-child {
    white-space: normal;
  }
}

    /* Track 05: info card redesign (header strip + timeline / checklist) */
    .info-card-header {
      display: flex;
      align-items: center;
      gap: 0.8rem;
      padding: 0.95rem 1.25rem;
      background: #f5f5f5;
      border-bottom: 3px solid var(--uh-red);
    }

    .info-card-icon {
      display: inline-flex;
      flex: 0 0 auto;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      color: #fff;
      background: var(--uh-red);
      border-radius: 10px;
      font-size: 1.2rem;
    }

    .info-card-title {
      margin: 0;
      font-family: "League Gothic", sans-serif;
      font-size: 1.7rem;
      font-weight: 400;
      letter-spacing: 0.02em;
      line-height: 1.1;
      text-transform: uppercase;
    }

    .milestone-list {
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .milestone-list li {
      display: flex;
      gap: 0.85rem;
      align-items: flex-start;
      padding: 0.7rem 0;
      border-bottom: 1px solid #eee;
    }

    .milestone-list li:last-child {
      border-bottom: 0;
    }

    .milestone-quarter {
      flex: 0 0 auto;
      min-width: 46px;
      padding: 0.3rem 0.45rem;
      color: #fff;
      background: var(--uh-red);
      border-radius: 6px;
      font-size: 0.8rem;
      font-weight: 700;
      text-align: center;
    }

    .milestone-text {
      color: var(--text-dark);
      line-height: 1.45;
    }

    .check-list {
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .check-list li {
      display: flex;
      gap: 0.6rem;
      align-items: flex-start;
      margin-bottom: 0.6rem;
    }

    .check-list li:last-child {
      margin-bottom: 0;
    }

    .check-list .bi {
      flex: 0 0 auto;
      margin-top: 0.15rem;
      color: var(--uh-red);
      font-size: 1rem;
      line-height: 1.4;
    }

    /* Research chips */
        .research-list {
            display: flex;
            flex-wrap: wrap;
            gap: .55rem;
        }

        .research-chip {
            display: inline-flex;
            align-items: center;
            min-height: 2.2rem;
            padding: .42rem .75rem;
            border: 1px solid #ded9d1;
            border-radius: 999px;
            background: #faf9f7;
            color: #3e4044;
            font-size: .92rem;
            font-weight: 600;
        }

/* =========================================================
   SCORING CRITERIA — TRACK 08
========================================================= */

.score-criteria .score-lede {
  max-width: 62ch;
  margin-bottom: 2.5rem;
  color: #55585d;
  font-size: 1.08rem;
}

.score-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(15, 15, 15, .14);
}

.score-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.75rem;
  padding: 1.6rem 1.25rem;
  border-bottom: 1px solid rgba(15, 15, 15, .14);
}

.score-body h3 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
  margin: 0 0 0.3rem;
  color: #16181c;
  font-family: var(--heading-font);
  font-size: clamp(1.7rem, 2.3vw, 2.3rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.1;
  text-transform: uppercase;
}

.score-body h3 .bi {
  color: var(--uh-red);
  font-size: 0.85em;
}

.score-body p {
  margin: 0;
  max-width: 78ch;
  color: #4b4f55;
  font-size: 1rem;
  line-height: 1.6;
}

@media (max-width: 767.98px) {
  .score-item {
    gap: 0.5rem;
    padding: 1.4rem 0.75rem;
  }
}

/* =========================================================
   CITATION REQUIREMENT — TRACK 08
========================================================= */

.citation-panel {
  padding: 2rem 2.25rem;
  border-top: 4px solid var(--uh-red);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 5px 25px -8px rgba(0, 0, 0, 0.15);
}

.citation-head {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  margin-bottom: 1.5rem;
}

.citation-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: var(--uh-red);
  color: #fff;
  font-size: 1.5rem;
}

.citation-lede {
  margin: 0;
  padding-top: 0.4rem;
  max-width: 85ch;
  color: #33363b;
  font-size: 1.1rem;
  line-height: 1.65;
}

.citation-list {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.citation-list li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.9rem 1.1rem;
  border: 1px solid rgba(15, 15, 15, 0.1);
  border-left: 3px solid var(--uh-red);
  border-radius: 8px;
  background: #faf9f7;
  color: #23262b;
  font-weight: 600;
  line-height: 1.4;
}

.citation-list .bi {
  flex: 0 0 auto;
  color: var(--uh-red);
  font-size: 1.15rem;
}

@media (max-width: 767.98px) {
  .citation-panel {
    padding: 1.5rem 1.25rem;
  }

  .citation-head {
    flex-direction: column;
    gap: 0.85rem;
  }

  .citation-lede {
    padding-top: 0;
  }
}
  .process-line {
      font-family: "Source Sans 3", sans-serif;
      font-weight: 900;
      letter-spacing: .015em;
      color: var(--navy);
      border-left: .38rem solid var(--gold);
      padding-left: .8rem;
      margin-left: 10px;
    }
 .lead-muted { color: var(--muted); font-size: 1.08rem; }
    .note-box {
      border-left: .45rem solid var(--gold);
      background: #fff;
      padding: 1.4rem;
      border-radius: 0 .75rem .75rem 0;
      box-shadow: 0 .8rem 2rem rgba(0,0,0,.05);
    }

   .feature-card {
      height: 100%;
      background: rgba(255,255,255,.78);
      border: 1px solid var(--line);
      border-radius: 1rem .25rem 1rem .25rem;
      padding: 1.4rem;
      transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    }
      .feature-icon {
      width: 3rem;
      height: 3rem;
      border-radius: .75rem .75rem .15rem .75rem;
      display: grid;
      place-items: center;
      background: var(--ink);
      color: #fff;
      font-size: 1.3rem;
      margin-bottom: 1rem;
    }

     .requirement {
      display: flex;
      gap: .8rem;
      align-items: flex-start;
      padding: .9rem 0;
      border-bottom: 1px solid rgba(255,255,255,.12);
    }
    .requirement i { color: var(--gold); margin-top: .18rem; }
     .score-number {
      font-family: "Trebuchet MS", sans-serif;
      font-size: 2rem;
      font-weight: 900;
      color: var(--uh-red);
    }

     .timeline {
      position: relative;
      margin-left: .75rem;
    }
    .timeline::before {
      content: "";
      position: absolute;
      left: .55rem;
      top: .8rem;
      bottom: .8rem;
      width: 2px;
      background: linear-gradient(var(--uh-red), var(--gold), var(--teal));
    }
    .timeline-item {
      position: relative;
      padding-left: 3rem;
      margin-bottom: 2.2rem;
    }
    .timeline-dot {
      position: absolute;
      left: 0;
      top: .4rem;
      width: 1.15rem;
      height: 1.15rem;
      border-radius: 50%;
      background: white;
      border: 4px solid var(--uh-red);
      box-shadow: 0 0 0 5px rgba(200,16,46,.08);
    }
    .timeline-date {
      font-family: "Trebuchet MS", sans-serif;
      font-weight: 900;
      color: var(--uh-red);
      font-size: .92rem;
    }
     .score-card {
      border: 1px solid var(--line);
      border-radius: 1rem .25rem 1rem .25rem;
      background: #fff;
      padding: 1.2rem 1.25rem;
      height: 100%;
    }
    .score-number {
      font-family: "Trebuchet MS", sans-serif;
      font-size: 2rem;
      font-weight: 900;
      color: var(--uh-red);
    }
    .section-pad { padding: 5.6rem 0; }
    .info-card {
      height: 100%;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: .8rem;
      padding: 1.6rem;
      box-shadow: 0 .45rem 1.4rem rgba(30,30,30,.045);
    }

    .info-card .icon-wrap {
      width: 3rem;
      height: 3rem;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--slate);
      color: #fffbfb;
      font-size: 1.25rem;
      margin-bottom: 1rem;
    }

    .info-card h3 {
      font-family: "Source Sans 3", serif;
      font-size: 1.45rem;
      font-weight: 800;
    }
   .challenge-list {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .challenge-list li {
      display: flex;
      gap: .9rem;
      padding: .3rem 0;
      border-bottom: 1px solid rgba(255,255,255,.12);
      line-height: 1.65;
    }

    .challenge-list i { color: var(--gold); margin-top: .2rem; }
     .schedule-card {
      background: #fff;
      border: 1px solid var(--line);
      border-left: .45rem solid var(--uh-red);
      padding: 1.35rem 1.4rem;
      height: 100%;
      border-radius: .35rem .75rem .75rem .35rem;
    }

    .schedule-card .date {
      display: block;
      color: var(--uh-red);
      font-weight: 900;
      font-size: .84rem;
      text-transform: uppercase;
      letter-spacing: .08em;
      margin-bottom: .45rem;
    }

    .schedule-card h3 {
      font-family: Georgia, "Times New Roman", serif;
      font-weight: 800;
      font-size: 1.35rem;
      margin-bottom: .4rem;
    }
     .judging-wrap {
      background: var(--cream);
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
    }

    .judge-card {
      height: 100%;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: .85rem;
      padding: 1.6rem;
    }

    .judge-card .big-number {
      font-family: Georgia, "Times New Roman", serif;
      color: var(--uh-red);
      font-size: 2.8rem;
      font-weight: 800;
      line-height: 1;
      margin-bottom: .65rem;
    }