/* ==========================================================================
   pages/fellowship.css
   Styles used only by fellowship.html.
   ========================================================================== */

/* Page-specific rules */
@layer site {
  body {
    margin: 0;
    color: #1a1a1a;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.5;
    background-color: #f7f2ef;
  }

  main section[id] {
    scroll-margin-top: 120px;
  }

  html {
    scroll-behavior: smooth;
  }

  .rc {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 24px;
    margin-top: 56px;
    text-align: left;
  }

  .rc-c.a {
    grid-column: span 7;
  }

  .rc-c.b {
    grid-column: span 5;
  }

  .rc-k {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: #6a6a6a;
    margin-bottom: 10px;
  }

  .rc-t {
    font-size: 20px;
    line-height: 1.25;
  }

  @keyframes fmv {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(calc(-50% - 12px));
    }
  }

  .fm-h {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap;
  }

  @media (max-width:900px) {
    .rc {
      grid-template-columns: minmax(0, 1fr);
    }

    .rc-c.a,
    .rc-c.b {
      grid-column: auto;
    }
  }

  .gc {
    overflow: hidden;
  }

  .gc:hover .gc-track {
    animation-play-state: paused;
  }

  .gc-t {
    width: 100%;
    height: 100%;
    aspect-ratio: 4/5;
  }

  @keyframes gc-m {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-50%);
    }
  }

  @media (prefers-reduced-motion:reduce) {
    .gc-track {
      animation: none;
    }

    .gc {
      overflow-x: auto;
    }
  }

  .tl {
    position: relative;
    margin-top: 48px;
  }

  .tl::before {
    content: "";
    position: absolute;
    left: 5px;
    top: 8px;
    bottom: 8px;
    width: 1px;
    background: #bdbdbb;
  }

  .tl-i {
    position: relative;
    box-sizing: border-box;
    padding: 0 0 40px 40px;
    text-align: left;
  }

  .tl-i:last-child {
    padding-bottom: 0;
  }

  .tl-i::after {
    content: "";
    position: absolute;
    top: 5px;
    left: 0;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #f7f7f5;
    border: 1px solid #1a1a1a;
    box-sizing: border-box;
  }

  .tl-i.end::after {
    background: #1a1a1a;
  }

  .tl-t {
    font-size: 22px;
    line-height: 1.25;
    margin: 0;
  }

  .tl-i .text {
    margin-top: 8px;
    font-size: 14px;
    max-width: 600px;
  }

  .mo {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: 220px;
    gap: 12px;
    margin-top: 48px;
  }

  @media (max-width:900px) {
    .mo {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tl-t {
      font-size: 19px;
    }

    .tl-i .text {
      max-width: none;
    }
  }

  #fellows-mood {
    margin: 0 32px 40px !important;
    border-radius: 28px !important;
    overflow: hidden !important;
  }

  @media (max-width:900px) {
    #fellows-mood {
      margin: 0 12px 24px !important;
      border-radius: 20px !important;
    }
  }

  #timeline > section#program-arc {
    margin: 0 32px !important;
    border-radius: 28px !important;
    overflow: hidden !important;
  }

  @media (max-width:900px) {
    #timeline > section#program-arc {
      margin: 0 12px !important;
      border-radius: 20px !important;
    }
  }

  main .grid-lines {
    gap: 2px !important;
    border: 0 !important;
    background: transparent !important;
  }

  @media (min-width:901px) {
    #timeline > section#program-arc .grid-lines {
      grid-template-columns: minmax(0, 3fr) minmax(0, 2fr) !important;
    }

    #timeline > section#program-arc .grid-lines > div {
      width: auto !important;
    }

    #how-it-works .grid-lines {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    }

    #how-it-works .grid-lines > div {
      width: auto !important;
    }
  }

  #how-it-works {
    margin: 40px 32px 40px !important;
    border-radius: 28px !important;
    overflow: hidden !important;
  }

  @media (max-width:900px) {
    #how-it-works {
      margin: 24px 12px 24px !important;
      border-radius: 20px !important;
    }
  }

  .rc-c {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 22px;
    border-radius: 24px !important;
    overflow: hidden;
    background: #ffffff !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .rc-c .text {
    margin-top: 10px;
    font-family: Verdana, Geneva, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    color: var(--nv-muted) !important;
  }

  .rc-c .rc-t {
    font-family: "Maison Neue Mono", "Maison Neue Mono Bold", "Maison Neue", ui-monospace, Menlo, Consolas, monospace !important;
    font-weight: 700 !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
  }

  .rc-c img {
    border-radius: 16px !important;
  }

  .tl .tl-i .tl-t {
    font-family: "Maison Neue Mono", "Maison Neue Mono Bold", "Maison Neue", ui-monospace, Menlo, Consolas, monospace !important;
    font-weight: 700 !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    color: var(--nv-black) !important;
  }

  .tl .tl-i .text {
    font-family: Verdana, Geneva, sans-serif !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
    color: var(--nv-muted) !important;
  }

  .eyebrow,
  .bg-dark .eyebrow {
    font-family: "Maison Neue Mono", "Maison Neue Mono Bold", "Maison Neue", ui-monospace, Menlo, Consolas, monospace !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
  }

  main h1.heading.heading-xl {
    font-family: Verdana, Geneva, sans-serif !important;
    font-weight: 400 !important;
  }

  .nav {
    position: sticky !important;
    top: 24px !important;
    z-index: 60 !important;
    margin: 24px 32px 0 !important;
    background: rgba(255, 255, 255, 0.6) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.5) !important;
    backdrop-filter: blur(18px) saturate(1.5) !important;
    border: 0 !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 28px -10px rgba(0, 0, 0, 0.14) !important;
  }

  .nav .container {
    max-width: none !important;
    padding-left: 20px !important;
    padding-right: 10px !important;
  }

  .nav .logo {
    display: block !important;
    height: 20px !important;
    width: auto !important;
  }

  .nav .logo img {
    height: 20px !important;
    width: auto !important;
    display: block;
  }

  .nav-inner {
    min-height: 56px !important;
    padding: 6px 0 !important;
    gap: 40px;
    align-items: center;
  }

  .nav .btn {
    background: #ff2700 !important;
    color: #fff !important;
    border-radius: 999px !important;
    height: 32px !important;
    padding: 0 18px !important;
    font-family: Verdana, Geneva, sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 0.14em !important;
    text-transform: none !important;
    display: inline-flex !important;
    align-items: center;
    justify-self: end;
  }

  .nav .btn:hover {
    background: #D92100 !important;
  }

  .nav-links a.nav-link {
    font-family: Verdana, Geneva, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #010101 !important;
    text-decoration: none !important;
  }

  .nav-links a.nav-link:hover {
    color: #D92100 !important;
  }

  @media (min-width:901px) {
    .nav-inner {
      display: grid !important;
      grid-template-columns: 1fr auto 1fr;
    }

    .nav-links {
      justify-self: center !important;
      margin: 0 !important;
      display: flex !important;
      gap: 28px !important;
    }
  }

  @media (max-width:900px) {
    .nav {
      margin: 12px 12px 0 !important;
    }

    .nav-inner {
      display: flex !important;
      justify-content: space-between;
    }
  }

  .gc-track {
    display: flex;
    width: max-content;
    animation: gc-m 60s linear infinite;
    align-items: flex-end !important;
  }

  .gc-set {
    grid-template-rows: 475px;
    grid-auto-flow: column;
    grid-auto-columns: 380px;
    display: flex !important;
    align-items: flex-end !important;
    gap: 12px !important;
    padding-right: 12px !important;
    flex: none;
  }

  .gc-set > .gc-t {
    flex: none !important;
    aspect-ratio: auto !important;
    object-fit: cover;
  }

  .gc-set > .gc-t:nth-child(10n/**/+1) {
    width: 300px !important;
    height: 400px !important;
  }

  .gc-set > .gc-t:nth-child(10n/**/+2) {
    width: 380px !important;
    height: 420px !important;
  }

  .gc-set > .gc-t:nth-child(10n/**/+3) {
    width: 240px !important;
    height: 320px !important;
  }

  .gc-set > .gc-t:nth-child(10n/**/+4) {
    width: 260px !important;
    height: 360px !important;
  }

  .gc-set > .gc-t:nth-child(10n/**/+5) {
    width: 320px !important;
    height: 400px !important;
  }

  .gc-set > .gc-t:nth-child(10n/**/+6) {
    width: 360px !important;
    height: 420px !important;
  }

  .gc-set > .gc-t:nth-child(10n/**/+7) {
    width: 260px !important;
    height: 340px !important;
  }

  .gc-set > .gc-t:nth-child(10n/**/+8) {
    width: 240px !important;
    height: 320px !important;
  }

  .gc-set > .gc-t:nth-child(10n/**/+9) {
    width: 380px !important;
    height: 420px !important;
  }

  .gc-set > .gc-t:nth-child(10n/**/+10) {
    width: 280px !important;
    height: 360px !important;
  }

  /* The founder's quote is an ordinary section: it fades in once, as one
     block, when it scrolls into view (Olga, 14 Nov 2026). The words keep
     their spans but are never revealed one by one. */
  .bq-pin {
    opacity: 0;
    transform: translate3d(0, 14px, 0);
    transition: opacity .9s ease-out, transform .9s cubic-bezier(.22, .61, .36, 1);
  }

  .bq-sec.is-in .bq-pin {
    opacity: 1;
    transform: none;
  }

  .bq-fill .wv {
    color: #010101;
  }

  @media (prefers-reduced-motion: reduce) {
    .bq-pin {
      opacity: 1;
      transform: none;
      transition: none;
    }
  }

  @media (max-width:900px) {
    main h2.fellows-mood__title,
    main p.program__small,
    main p.how-it-works__text,
    main p.how-it-works__small,
    main p.quote__bq-fill,
    main p.fellows-mood__text {
      width: auto !important;
      max-width: 100% !important;
    }

    .grid-lines.program__grid,
    .grid-lines.how-it-works__grid,
    main div.program__grid,
    main div.program__box-5,
    main div.how-it-works__grid {
      grid-template-columns: minmax(0, 1fr) !important;
    }

    main h1.heading.heading-xl.hero__title {
      font-size: 34px !important;
    }
  }

  main h2.heading.heading-l.program__title,
  main h2.heading.heading-l.how-it-works__title,
  main h2.heading.heading-l.path-naitive__title {
    font-family: Verdana, Geneva, sans-serif !important;
    font-weight: 400 !important;
    font-size: clamp(30px, 6vw, 50px) !important;
  }
}

/* Element styles (outside the layers on purpose: they override shared rules,
   like the inline styles they replace) */
.page {
  background-color: var(--nv-cream);
}

.hero-section {
  padding-top: 96px;
  padding-bottom: 96px;
  background-color: var(--nv-cream);
}

/* The three statements are lines of one heading, so the spacing between
   them is the same (14 Nov 2026). */
.hero__title {
  font-size: 48px;
  margin: 0 0 112px;
  line-height: 1.2;
  color: var(--nv-black);
  font-family: Verdana, Geneva, sans-serif;
}

.hero__gc {
  margin-top: 0;
  margin-bottom: 48px;
}

.hero__gc-t {
  object-fit: cover;
  display: block;
}

.intro-text {
  padding-top: 48px;
  padding-bottom: 120px;
  background-color: var(--nv-cream);
  position: relative;
  overflow: hidden;
}

.intro-text__inner {
  position: relative;
  z-index: 1;
}

.intro-text__text {
  margin-bottom: 24px;
  width: 724px;
  font-size: 26px;
  line-height: 1.2;
  color: rgb(26, 26, 26);
  font-weight: 400;
}

.intro-text__box {
  color: #010101;
}

.page__box {
  background-color: var(--nv-cream);
}

.program {
  padding-top: 60px;
  padding-bottom: 60px;
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/9;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.program__video {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
}

.program__box {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.45);
  z-index: 0;
  pointer-events: none;
}

.program__inner {
  position: relative;
  z-index: 1;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.program__label {
  color: var(--nv-white);
}

.program__title {
  margin-bottom: 40px;
  color: var(--nv-white);
  font-family: Verdana, Geneva, sans-serif !important;
  font-size: clamp(30px, 6vw, 50px) !important;
  font-weight: 400 !important;
  line-height: 1.2;
  letter-spacing: 0;
  font-style: normal;
}

.program__box-2 {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.program__grid {
  grid-template-columns: 841fr 336fr;
  background: var(--nv-text-black);
  border: 1px solid var(--nv-text-black);
}

.program__box-3 {
  background: var(--nv-white);
  color: var(--nv-text-black);
  padding: 32px 40px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-height: 259px;
  width: 685px;
}

.program__span {
  font-family: 'Maison Neue Mono', 'Maison Neue Mono Bold', 'Maison Neue', ui-monospace, Menlo, Consolas, monospace !important;
  font-size: 30px !important;
  line-height: 1.1;
  font-weight: 700 !important;
}

.program__small {
  color: #6a6a6a;
  max-width: 480px;
  font-size: 15px !important;
}

.program__box-4 {
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: #ffffff;
  color: var(--nv-text-black);
  width: 451px;
}

.program__small-2 {
  color: #6a6a6a;
  font-size: 15px !important;
}

.program__box-5 {
  display: grid;
  grid-template-columns: 841fr 336fr;
  margin-top: 14px;
  gap: 1px;
}

.how-it-works {
  margin: 40px 32px 40px;
  border-radius: 28px;
  padding-top: 60px;
  padding-bottom: 60px;
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/9;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.how-it-works__video {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
}

.how-it-works__box {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.45);
  z-index: 0;
  pointer-events: none;
}

.how-it-works__inner {
  position: relative;
  z-index: 1;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.how-it-works__label {
  color: var(--nv-white);
}

.how-it-works__title {
  margin-bottom: 16px;
  color: var(--nv-white);
  font-family: Verdana, Geneva, sans-serif !important;
  font-size: clamp(30px, 6vw, 50px) !important;
  font-weight: 400 !important;
  line-height: 1.2;
  letter-spacing: 0;
  font-style: normal;
}

.how-it-works__text {
  max-width: 640px;
  margin-bottom: 40px;
  color: #ffffff;
}

.how-it-works__box-2 {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.how-it-works__grid {
  grid-template-columns: 841fr 336fr;
  background: var(--nv-text-black);
  border: 1px solid var(--nv-text-black);
}

.how-it-works__box-3 {
  background: var(--nv-white);
  color: var(--nv-text-black);
  padding: 32px 40px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-height: 259px;
  width: 685px;
}

.how-it-works__meta {
  color: var(--nv-muted);
}

.how-it-works__span {
  font-family: 'Maison Neue Mono', 'Maison Neue Mono Bold', 'Maison Neue', ui-monospace, Menlo, Consolas, monospace !important;
  font-size: 30px !important;
  line-height: 1.1;
  font-weight: 700 !important;
}

.how-it-works__small {
  color: #6a6a6a;
  max-width: 480px;
  font-size: 15px !important;
}

.how-it-works__box-4 {
  background: var(--nv-white);
  color: var(--nv-text-black);
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 259px;
  width: 497px;
}

.quote {
  padding-top: 112px;
  padding-bottom: 112px;
  background-color: transparent;
  /* the moving dots (naitive-particles.js) draw on a canvas behind the text */
  position: relative;
  overflow: hidden;
}

.quote .bq-pin {
  position: relative;
  z-index: 1;
}

.quote__bq-fill {
  font-size: 34px;
  line-height: 1.3;
  max-width: 1000px;
  color: var(--nv-black);
  margin: 0 0 48px;
}

/* The quote has three paragraphs: each on its own block, with a gap between them. */
.quote__p {
  display: block;
}

.quote__p + .quote__p {
  margin-top: 0.7em;
}

.quote__wv {
  --i: 0;
}

.quote__wv-2 {
  --i: 1;
}

.quote__wv-3 {
  --i: 2;
}

.quote__wv-4 {
  --i: 3;
}

.quote__wv-5 {
  --i: 4;
}

.quote__wv-6 {
  --i: 5;
}

.quote__wv-7 {
  --i: 6;
}

.quote__wv-8 {
  --i: 7;
}

.quote__wv-9 {
  --i: 8;
}

.quote__wv-10 {
  --i: 9;
}

.quote__wv-11 {
  --i: 10;
}

.quote__wv-12 {
  --i: 11;
}

.quote__wv-13 {
  --i: 12;
}

.quote__wv-14 {
  --i: 13;
}

.quote__wv-15 {
  --i: 14;
}

.quote__wv-16 {
  --i: 15;
}

.quote__wv-17 {
  --i: 16;
}

.quote__wv-18 {
  --i: 17;
}

.quote__wv-19 {
  --i: 18;
}

.quote__wv-20 {
  --i: 19;
}

.quote__wv-21 {
  --i: 20;
}

.quote__wv-22 {
  --i: 21;
}

.quote__wv-23 {
  --i: 22;
}

.quote__wv-24 {
  --i: 23;
}

.quote__wv-25 {
  --i: 24;
}

.quote__wv-26 {
  --i: 25;
}

.quote__bq-by {
  display: flex;
  align-items: center;
  gap: 20px;
}

.quote__img {
  width: 105px;
  height: 105px;
  flex: none;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

.quote__bq-txt {
  color: var(--nv-black);
  font-size: 16px;
}

.path-naitive {
  padding-top: 24px;
  padding-bottom: 80px;
  position: relative;
  overflow: hidden;
  background-color: transparent;
}

.path-naitive__inner {
  position: relative;
  z-index: 1;
}

.path-naitive__meta {
  display: block;
  color: #6a6a6a;
  margin-top: 6px;
}

/* Same size as the "Built on campus" title it replaced at the top of the
   timeline (14 Nov 2026). */
.path-naitive__title {
  margin-bottom: 0;
  color: var(--nv-black);
  font-family: Verdana, Geneva, sans-serif !important;
  font-size: clamp(30px, 6vw, 50px) !important;
  font-weight: 400 !important;
  line-height: 1.2;
  letter-spacing: 0;
}

.path-naitive__text {
  margin-top: 14px;
}

.path-naitive__link {
  color: var(--nv-red);
  border-color: var(--nv-red);
}

.receive {
  padding-top: 40px;
  background-color: var(--nv-cream);
}

.receive__box {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px 24px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}

.receive__label {
  margin: 0px;
}

.receive__img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  display: block;
}

.receive__span {
  color: var(--nv-muted);
}

.receive__img-2 {
  width: 100%;
  height: 280px;
  object-fit: cover;
  object-position: 50% 40%;
  display: block;
}

.receive__img-3 {
  width: 100%;
  height: 280px;
  object-fit: cover;
  object-position: 50% 35%;
  display: block;
}

.receive__meta {
  color: var(--nv-muted);
}

.fellows-mood {
  margin: 0 32px 40px;
  border-radius: 28px;
  aspect-ratio: 16/9;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.fellows-mood__video {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.fellows-mood__box {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.45);
  z-index: 0;
  pointer-events: none;
}

.fellows-mood__inner {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  padding: 0;
  z-index: 1;
}

.fellows-mood__box-2 {
  display: contents;
}

.fellows-mood__text {
  position: absolute;
  top: 32px;
  left: 28px;
  margin: 0;
  max-width: 34ch;
  font-size: 22px !important;
  line-height: 1.5 !important;
  white-space: normal;
  color: var(--nv-white) !important;
}

.fellows-mood__title {
  position: absolute;
  left: 28px;
  bottom: 32px;
  margin: 0;
  max-width: calc(100% - 340px);
  color: var(--nv-white);
  font-family: Verdana, Geneva, sans-serif !important;
  font-size: clamp(30px, 4vw, 56px) !important;
  font-weight: 700 !important;
  line-height: 1.1;
  letter-spacing: 0;
  font-style: normal;
}

.fellows-mood__text-2 {
  position: absolute;
  right: 28px;
  bottom: 32px;
  margin: 0;
}

.fellows-mood__link {
  color: var(--nv-white);
  border-bottom-color: #ffffff;
  border-color: var(--nv-white);
  font-family: Verdana, Geneva, sans-serif;
  font-size: 13px;
  letter-spacing: 0.08em;
  font-weight: 400;
}

.apply {
  padding-top: 110px;
  padding-bottom: 110px;
  background-color: var(--nv-black);
  position: relative;
  overflow: hidden;
}

.apply__inner {
  text-align: center;
  position: relative;
  z-index: 1;
}

.apply__title {
  font-size: clamp(38px, 5vw, 56px) !important;
  margin-bottom: 28px;
}

.apply__text {
  margin-bottom: 28px;
}

.apply__button {
  background-color: var(--nv-red);
  color: var(--nv-white);
  font-weight: 700;
  border-radius: 999px;
}

.apply__span {
  font-weight: normal;
}

.official-partners {
  padding-top: 56px;
  padding-bottom: 56px;
  border-top: 1px solid #d0d0ce;
  background-color: var(--nv-white);
}

.official-partners__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}

.official-partners__label {
  margin: 0;
  color: var(--nv-text-gray);
}

.official-partners__box {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px 48px;
}

.official-partners__img {
  height: 18px;
  width: auto;
  flex: none;
  display: block;
}

.official-partners__img-2 {
  height: 24px;
  width: auto;
  flex: none;
  display: block;
}

.official-partners__img-3 {
  height: 14px;
  width: auto;
  flex: none;
  display: block;
}

.official-partners__img-4 {
  height: 32px;
  width: auto;
  flex: none;
  display: block;
}

.official-partners__img-5 {
  height: 26px;
  width: auto;
  flex: none;
  display: block;
}

.official-partners__img-6 {
  height: 13px;
  width: auto;
  flex: none;
  display: block;
}

.official-partners__img-7 {
  height: 18px;
  width: auto;
  flex: none;
  display: block;
}

/* ==========================================================================
   Mobile (written by hand: the design was drawn for desktop only).
   Outside the layer like the element styles above, so it overrides them.
   ========================================================================== */
@media (max-width: 900px) {
  /* intro text: had a fixed desktop width and ran off the screen */
  .intro-text__text {
    width: auto;
    font-size: 22px;
  }

  /* video boxes: no fixed 16:9 height, so title and cards are not cut */
  .program,
  .how-it-works {
    aspect-ratio: auto;
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .program__box-3,
  .program__box-4,
  .how-it-works__box-3,
  .how-it-works__box-4 {
    width: auto;
    min-height: 0;
    padding: 24px 20px;
  }

  .program__span,
  .how-it-works__span {
    font-size: 22px !important;
  }

  /* founder's quote */
  .quote {
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .quote__bq-fill {
    font-size: 22px;
    margin-bottom: 28px;
  }

  .quote__img {
    width: 72px;
    height: 72px;
  }

  /* "Behind every venture": texts stacked instead of absolutely positioned */
  .fellows-mood {
    aspect-ratio: auto;
  }

  .fellows-mood__inner {
    position: relative;
    height: auto;
    min-height: 440px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .fellows-mood__text,
  .fellows-mood__title,
  .fellows-mood__text-2 {
    position: static;
    max-width: none;
    margin: 0;
    text-align: left;
    align-self: flex-start;
  }

  .fellows-mood__text {
    font-size: 18px !important;
  }

  .fellows-mood__title {
    margin-top: auto;
  }
}

/* "The 3+3 month model" band hidden on every screen size (client request).
   The markup is still in fellowship.html: delete this rule to show it again. */
#how-it-works {
  display: none;
}
