      html {
        scroll-behavior: smooth;
      }

      body {
        background: #ffffff;
        color: #050505;
        overflow-x: hidden;
      }

      html {
        overflow-x: hidden;
      }

      .hero-title {
        font-size: 2.08rem;
        line-height: 0.92;
        letter-spacing: 0;
      }

      .section-title {
        font-size: 2.35rem;
        line-height: 0.9;
        letter-spacing: 0;
      }

      .team-title {
        font-size: 2.35rem;
        line-height: 0.92;
      }

      .team-title-subtitle {
        display: block;
        margin-top: 0.55rem;
        color: #8511a6;
        font-size: 0.46em;
        letter-spacing: 0.12em;
        line-height: 1;
      }

      .pride-rule {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 60;
        height: 6px;
        background: #e8e2e8;
      }

      .pride-progress {
        background: linear-gradient(
          90deg,
          #e40303 0 12.5%,
          #ff8c00 12.5% 25%,
          #ffed00 25% 37.5%,
          #008026 37.5% 50%,
          #24408e 50% 62.5%,
          #732982 62.5% 75%,
          #55cdfc 75% 87.5%,
          #f7a8b8 87.5% 100%
        );
        transform: scaleX(0);
        transform-origin: left center;
        transition: transform 120ms linear;
      }

      .site-header {
        position: relative;
        transition:
          box-shadow 180ms ease,
          background-color 180ms ease;
      }

      .site-header::after {
        display: block;
        height: 2px;
        content: "";
        background: #050505;
      }

      .site-header.is-scrolled {
        box-shadow: 0 10px 24px rgb(5 5 5 / 12%);
      }

      .hamburger-stack {
        position: relative;
        display: block;
        width: 30px;
        height: 30px;
      }

      .hamburger-stack::before,
      .hamburger-stack::after {
        position: absolute;
        inset: 50%;
        display: block;
        content: "";
        border-radius: 999px;
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.2);
        transition:
          opacity 180ms ease,
          transform 220ms ease;
      }

      .hamburger-stack::before {
        width: 12px;
        height: 12px;
        border: 2px solid #050505;
        background: #8511a6;
        box-shadow: inset 0 0 0 3px #ffffff;
      }

      .hamburger-stack::after {
        width: 28px;
        height: 28px;
        border: 2px solid #8511a6;
        background: transparent;
      }

      .hamburger-stack span {
        position: absolute;
        left: 1px;
        height: 4px;
        width: 28px;
        border: 1px solid #050505;
        border-radius: 999px;
        transition:
          transform 180ms ease,
          opacity 180ms ease,
          width 180ms ease,
          height 180ms ease,
          border-radius 180ms ease,
          left 180ms ease,
          top 180ms ease;
      }

      .hamburger-stack span:nth-child(1) {
        top: 3px;
      }

      .hamburger-stack span:nth-child(2) {
        top: 10px;
      }

      .hamburger-stack span:nth-child(3) {
        top: 17px;
      }

      .hamburger-stack span:nth-child(4) {
        top: 24px;
      }

      .menu-toggle {
        transition:
          border-color 180ms ease,
          box-shadow 180ms ease;
      }

      .menu-toggle[aria-expanded="true"] {
        border-color: #8511a6;
        box-shadow: 0 0 0 4px rgb(133 17 166 / 12%);
      }

      .menu-toggle[aria-expanded="true"] .hamburger-stack::before,
      .menu-toggle[aria-expanded="true"] .hamburger-stack::after {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
      }

      .menu-toggle[aria-expanded="true"] .hamburger-stack span {
        top: 50%;
        left: 50%;
        width: 7px;
        height: 7px;
      }

      .menu-toggle[aria-expanded="true"] .hamburger-stack span:nth-child(1) {
        transform: translate(-50%, -18px);
      }

      .menu-toggle[aria-expanded="true"] .hamburger-stack span:nth-child(2) {
        transform: translate(11px, -50%);
      }

      .menu-toggle[aria-expanded="true"] .hamburger-stack span:nth-child(3) {
        transform: translate(-18px, -50%);
      }

      .menu-toggle[aria-expanded="true"] .hamburger-stack span:nth-child(4) {
        transform: translate(-50%, 11px);
      }

      .mobile-menu {
        max-height: 0;
        overflow: hidden;
        transition: max-height 240ms ease;
      }

      .mobile-menu.is-open {
        max-height: 28rem;
      }

      .site-page[hidden] {
        display: none !important;
      }

      [data-page-link][aria-current="page"] {
        color: #8511a6;
      }

      .reveal-on-scroll {
        opacity: 0;
        transform: translateY(26px);
        transition:
          opacity 520ms ease,
          transform 520ms ease;
        transition-delay: var(--reveal-delay, 0ms);
      }

      .reveal-on-scroll.is-visible {
        opacity: 1;
        transform: translateY(0);
      }

      .hero-brand-float {
        animation: logoFloat 6s ease-in-out infinite;
      }

      .focus-card,
      .lift-on-hover,
      .nav-card {
        transition:
          transform 180ms ease,
          box-shadow 180ms ease,
          background-color 180ms ease;
      }

      .focus-card:hover,
      .lift-on-hover:hover,
      .nav-card:hover {
        transform: translate(-4px, -4px);
        box-shadow: 8px 8px 0 #050505;
      }

      a,
      button {
        -webkit-tap-highlight-color: rgb(133 17 166 / 18%);
      }

      a:focus-visible,
      button:focus-visible,
      input:focus-visible,
      select:focus-visible,
      textarea:focus-visible {
        outline: 4px solid #f4c84b;
        outline-offset: 4px;
      }

      .link-card {
        position: relative;
        cursor: pointer;
      }

      .link-cue {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.45rem;
        width: fit-content;
        border: 2px solid currentColor;
        border-radius: 999px;
        padding: 0.72rem 1rem;
        font-size: 0.72rem;
        font-weight: 900;
        line-height: 1;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        transition:
          background-color 180ms ease,
          color 180ms ease,
          transform 180ms ease;
      }

      .link-cue::after,
      .external-text-link::after {
        content: "";
        display: inline-block;
        width: 0.48rem;
        height: 0.48rem;
        flex: 0 0 auto;
        border-top: 2px solid currentColor;
        border-right: 2px solid currentColor;
        transform: rotate(45deg);
      }

      .link-card:hover .link-cue,
      .link-card:focus-visible .link-cue {
        background: #050505;
        color: #ffffff;
        transform: translateX(3px);
      }

      .link-card.bg-purple:hover .link-cue,
      .link-card.bg-ink:hover .link-cue,
      .link-card.bg-purple:focus-visible .link-cue,
      .link-card.bg-ink:focus-visible .link-cue {
        background: #ffffff;
        color: #050505;
      }

      .publication-link {
        border-left: 4px solid transparent;
        padding-left: 1rem;
        padding-right: 1rem;
        transition:
          background-color 180ms ease,
          border-color 180ms ease;
      }

      .publication-link:hover,
      .publication-link:focus-visible {
        border-left-color: #8511a6;
        background: #faf5fb;
      }

      .pride-edge {
        position: relative;
        overflow: hidden;
      }

      .pride-edge::before {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 4px;
        content: "";
        background: #8511a6;
      }

      @keyframes logoFloat {
        0%,
        100% {
          transform: translateY(0);
        }

        50% {
          transform: translateY(-12px);
        }
      }

      .focus-card {
        min-height: 18rem;
      }

      .love-letter-title {
        font-size: clamp(2.2rem, 4vw, 3.75rem);
        overflow-wrap: normal;
      }

      .publication-citation {
        overflow-wrap: anywhere;
      }

      @media (max-width: 1023px) {
        .compact-intro,
        .compact-card,
        .compact-profile,
        .compact-row,
        .compact-footer {
          text-align: center;
        }

        .compact-intro {
          margin-left: auto;
          margin-right: auto;
        }

        .compact-intro > p,
        .compact-card > p,
        .compact-profile > p,
        .compact-row > p {
          margin-left: auto;
          margin-right: auto;
        }

        .compact-card .link-cue,
        .publication-link .link-cue,
        .compact-row .link-cue {
          margin-left: auto;
          margin-right: auto;
        }

        .compact-profile {
          align-items: center;
        }

        .compact-actions {
          justify-content: center;
        }

        .compact-row {
          align-items: center;
        }

        .compact-footer {
          align-items: center;
        }

        .compact-footer > div:first-child > div,
        .compact-footer > div:last-child > div {
          justify-content: center;
        }

        .compact-footer > div:last-child {
          align-items: center;
        }

        .publication-link {
          border-left: 0;
          border-radius: 1rem;
          padding: 1.5rem;
        }

        .publication-link + .publication-link {
          margin-top: 0.4rem;
        }

        .publication-link h3 {
          text-align: center;
        }

        .publication-citation {
          max-width: 46rem;
          margin-left: auto;
          margin-right: auto;
          text-align: left;
        }

        .menu-toggle {
          display: flex;
          width: auto;
          min-width: 6.75rem;
          gap: 0.6rem;
          padding-left: 0.85rem;
          padding-right: 0.85rem;
        }

        .menu-text {
          display: block;
          font-size: 0.67rem;
          font-weight: 900;
          letter-spacing: 0.12em;
          text-transform: uppercase;
        }

        .link-card {
          box-shadow: 5px 5px 0 #050505;
        }

        .link-card.bg-purple,
        .link-card.bg-ink {
          box-shadow: 5px 5px 0 #8511a6;
        }
      }

      .tilt-left {
        transform: rotate(-2deg);
      }

      .tilt-right {
        transform: rotate(2deg);
      }

      @media (max-width: 639px) {
        .site-header nav {
          padding-left: 1rem;
          padding-right: 1rem;
        }

        .site-brand-logo {
          width: 2.65rem;
          height: 2.65rem;
        }

        .site-brand-name {
          max-width: 8.7rem;
          white-space: normal;
          font-size: 0.76rem;
          line-height: 1.05;
        }

        .site-page {
          padding-left: 1.25rem;
          padding-right: 1.25rem;
          padding-top: 3.5rem;
          padding-bottom: 3.5rem;
        }

        .focus-card {
          min-height: 0;
        }

        .mobile-card-shadow {
          box-shadow: 5px 5px 0 #8511a6;
        }

        .publication-citation {
          font-size: 0.94rem;
          line-height: 1.55;
        }

        .mobile-full-button {
          display: flex;
          width: 100%;
          justify-content: center;
          text-align: center;
        }

        .love-letter-frame {
          padding: 0.5rem;
          box-shadow: 5px 5px 0 #050505;
        }

        .footer-brand-name {
          font-size: 1.55rem;
          line-height: 0.95;
        }

        .tilt-left,
        .tilt-right {
          transform: none;
        }
      }

      @media (min-width: 640px) {
        .hero-title {
          font-size: 3.75rem;
        }

        .section-title {
          font-size: 3.1rem;
        }
      }

      @media (min-width: 1024px) {
        .hero-title {
          font-size: 4.55rem;
        }

        .section-title {
          font-size: 3.65rem;
        }
      }

      @media (min-width: 1280px) {
        .hero-title {
          font-size: 5.35rem;
        }

        .section-title {
          font-size: 4.35rem;
        }

        .team-title {
          font-size: 4rem;
        }
      }

      @media (min-width: 1536px) {
        .hero-title {
          font-size: 5.75rem;
        }

        .section-title {
          font-size: 4.8rem;
        }

        .team-title {
          font-size: 4rem;
        }
      }

      @media (prefers-reduced-motion: reduce) {
        html {
          scroll-behavior: auto;
        }

        * {
          transition-duration: 0.01ms !important;
          animation-duration: 0.01ms !important;
          animation-iteration-count: 1 !important;
        }

        .pride-progress {
          transition: none;
        }

        .reveal-on-scroll {
          opacity: 1;
          transform: none;
        }

        .hero-brand-float {
          animation: none;
        }
      }
