


html {
  overflow-anchor: none;
}


.site-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-s);
  
  padding: var(--space-2xs) var(--margin-inline);
  background: var(--surface-paper);
  color: var(--on-paper);
  
  position: sticky;
  top: 0;
  z-index: 20;
  border-bottom: 1px solid var(--c-taupe);
  
  overflow-anchor: none;
}


:root {
  
  --site-head-height: 74px;
}
html.is-scrolled {
  --site-head-height: 42px;
}
@media (prefers-reduced-motion: no-preference) {
  .site-head { transition: padding-top 200ms ease, padding-bottom 200ms ease; }
  .site-head__brand img { transition: width 200ms ease; }
}
html.is-scrolled .site-head {
  
  padding-top: calc(var(--space-3xs) / 2);
  padding-bottom: calc(var(--space-3xs) / 2);
}
html.is-scrolled .site-head__brand img {
  
  width: clamp(4rem, 6vw, 5rem);
}

html.is-scrolled .site-nav__toggle,
html.is-scrolled .site-lang__toggle {
  font-size: 0.85em;
}

@media (max-width: 479.98px) {
  html.is-scrolled .site-head {
    padding-top: var(--space-2xs);
    padding-bottom: var(--space-2xs);
  }
  html.is-scrolled .site-head__brand img {
    width: 7rem;
  }
  html.is-scrolled .site-nav__toggle,
  html.is-scrolled .site-lang__toggle {
    font-size: 1em;
  }
}

.site-head__brand {
  
  display: inline-flex;
  align-items: center;
  gap: var(--space-s);
  line-height: 0;
  text-decoration: none;
  color: inherit;
}

.site-head__brand img { width: clamp(6rem, 12vw, 9rem); height: auto; }
.site-head__label {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--text-base);
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding-inline-start: var(--space-s);
  border-inline-start: 1px solid var(--c-taupe);
  white-space: nowrap;
}

@media (max-width: 699.98px) {
  .site-head__label-word { display: none; }
}
@media (max-width: 479.98px) {
  .site-head__label { display: none; }
  
  .site-head__brand img { width: 7rem; }
}


.site-head__controls {
  display: flex;
  align-items: center;
  gap: var(--space-2xs);
}



.site-lang { position: relative; }

.site-lang__toggle {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--text-base);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border: 2px solid currentColor;
  padding: var(--space-3xs) var(--space-xs);
  min-height: var(--target-min);
  cursor: pointer;
  list-style: none;
  display: inline-flex;
  align-items: center;
}
.site-lang__toggle::-webkit-details-marker { display: none; }

.site-lang > nav {
  position: absolute;
  right: 0;
  top: calc(100% + var(--space-2xs));
  z-index: 30;
}

.site-lang__list {
  list-style: none;
  margin: 0;
  min-width: 11rem;
  padding: var(--space-s);
  background: var(--surface-ink);
  color: var(--on-ink);
}

.site-lang__list a {
  display: block;
  padding: var(--space-2xs) 0;
  font-size: var(--text-base);
  text-decoration: none;
}
.site-lang__list a:hover { text-decoration: underline; }


.site-lang__list a[aria-current="true"] {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  text-decoration: underline;
  text-decoration-thickness: 0.15em;
  text-underline-offset: 0.25em;
}


.site-head { flex-wrap: wrap; }



.site-nav { position: relative; }

.site-nav__toggle {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--text-base);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border: 2px solid currentColor;
  padding: var(--space-3xs) var(--space-xs);
  min-height: var(--target-min);
  cursor: pointer;
  
  list-style: none;
  display: inline-flex;
  align-items: center;
}
.site-nav__toggle::-webkit-details-marker { display: none; }


@media (max-width: 699.98px) {
  .site-nav__toggle,
  .site-lang__toggle {
    letter-spacing: 0.02em;
    padding-inline: var(--space-3xs);
  }
}

.site-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-nav__list a {
  display: block;
  padding: var(--space-3xs) 0;
  font-size: var(--text-base);
  text-decoration: none;
}
.site-nav__list a:hover { text-decoration: underline; }


.site-nav__list a[aria-current="page"] {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  text-decoration: underline;
  text-decoration-thickness: 0.15em;
  text-underline-offset: 0.25em;
}


.site-nav > nav {
  position: absolute;
  right: 0;
  top: calc(100% + var(--space-2xs));
  z-index: 30;
}

.site-nav__list {
  min-width: 18rem;
  
  max-height: min(calc(100svh - 7rem), 30rem);
  overflow-y: auto;
  
  scrollbar-width: thin;
  scrollbar-color: var(--c-taupe) transparent;
  scrollbar-gutter: stable;
  padding: var(--space-s);
  background: var(--surface-ink);
  color: var(--on-ink);
}


.site-nav__sublist {
  list-style: none;
  margin: 0 0 var(--space-2xs) 0;
  padding-left: var(--space-m);
}
.site-nav__sublist li { counter-increment: none; }
.site-nav__sublist a {
  padding: var(--space-3xs) 0;
  font-size: 0.9em;
  opacity: 0.85;
}
.site-nav__sublist a::before { content: none; }




.section {
  padding-block: var(--space-2xl);
  padding-inline: var(--margin-inline);
}
.section--flush { padding-inline: 0; }
.section--tight { padding-block: var(--space-xl); }

.section > * + * { margin-top: var(--space-l); }


.overlap {
  position: relative;
  
  min-height: 100svh;
}

.overlap__art {
  position: sticky;
  top: 0;
  z-index: 0;
  
  height: 100svh;
  overflow: hidden;
}

.overlap__art picture { display: contents; }
.overlap__art img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.overlap__content {
  position: relative;
  z-index: 1;
  
  margin-top: -55svh;
  margin-inline: var(--margin-inline);
  padding: var(--space-xl);
  
  max-width: min(40rem, 100% - 2 * var(--margin-inline));
}
.overlap__content > * + * { margin-top: var(--space-s); }


@media (max-width: 599px) {
  .overlap__content {
    
    padding: var(--space-l) var(--space-s);
  }
}


@media (min-width: 900px) {
  .overlap__content {
    max-width: min(40rem, 42vw, 100% - 2 * var(--margin-inline));
  }
}


@media (max-height: 830px) and (min-width: 900px) {
  

  main > .overlap:first-child .overlap__content {
    
    margin-top: calc(-100svh + 2rem);
    
    padding: var(--space-l);
  }
  
  main > .overlap:first-child .cover__logo { width: clamp(8rem, 14vw, 10rem); }
}


@media (min-height: 830.01px) and (max-height: 1199.98px) and (min-width: 900px) {
  main > .overlap:first-child .overlap__content {
    margin-top: -68svh;
    padding: var(--space-l);
  }
  main > .overlap:first-child .cover__logo { width: clamp(8rem, 14vw, 10rem); }
}


.cover__logo {
  width: clamp(10rem, 22vw, 16rem);
  height: auto;
  margin-bottom: var(--space-m);
}



.band {
  display: block;
  position: relative;
  width: 100%;
  
  aspect-ratio: 21 / 9;
  overflow: hidden;
}

.band picture { display: contents; }
.band img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 599px) {
  
  .band { aspect-ratio: 4 / 3; }
}

.band figcaption,
.figure figcaption {
  padding: var(--space-2xs) var(--margin-inline) 0;
  font-size: var(--text-base);
  color: var(--text-muted);
  max-width: var(--measure);
}


.figure { align-self: start; }
.figure img { width: 100%; height: auto; }
.figure figcaption { padding-inline: 0; }



.social {
  display: flex;
  gap: var(--space-s);
  align-items: center;
  list-style: none;
  padding: 0;
}
.social a {
  display: inline-flex;
  
  min-width: var(--target-min);
  min-height: var(--target-min);
  align-items: center;
  justify-content: center;
  padding: var(--space-3xs);
}
.social img { width: 1.75rem; height: 1.75rem; }


.pager {
  display: flex;
  gap: var(--grid-gutter);
  justify-content: space-between;
  padding: var(--space-l) var(--margin-inline) var(--space-2xl);
  border-top: 1px solid var(--c-taupe);
}

.pager__link {
  display: flex;
  flex-direction: column;
  gap: var(--space-3xs);
  text-decoration: none;
  max-width: 22ch;
}
.pager__link:hover .pager__title { text-decoration: underline; }
.pager__link--next { margin-left: auto; text-align: right; }

.pager__dir {
  font-size: var(--text-base);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
}

.pager__title {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--step-1);
}



.site-foot {
  padding: var(--space-xl) var(--margin-inline);
  position: relative;
  isolation: isolate;
}

.site-foot__cols {
  display: grid;
  gap: var(--space-l) var(--grid-gutter);
}
@media (min-width: 900px) {
  .site-foot__cols {
    
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    
    align-items: end;
  }
}



.site-foot__head { margin-bottom: var(--space-m); }

.site-foot__logo {
  display: block;
  width: clamp(9rem, 20vw, 13rem);
  height: auto;
  margin-bottom: var(--space-m);
}

.site-foot__wordmark {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--step-2);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: var(--space-s);
}

.site-foot__address {
  font-style: normal;   
  margin-bottom: var(--space-s);
  line-height: var(--leading-body);
}


.site-foot__strapline {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--text-base);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--c-gold);
  margin-bottom: 0;
}




@media (min-width: 900px) {
  .site-foot__act { max-width: 30rem; }
}


.site-foot__reach {
  list-style: none;
  margin: 0 0 var(--space-s) 0;
  padding: 0;
  line-height: var(--leading-body);
}


.site-foot__reach a { text-decoration: none; }
.site-foot__reach a:hover,
.site-foot__reach a:focus-visible { text-decoration: underline; }

.site-foot__apply { margin-bottom: var(--space-s); }



.site-foot__social {
  margin-bottom: 0;
  
  gap: var(--space-3xs);
  
  line-height: 1;
}

.site-foot__social a { padding: 0; }



.site-foot__meta {
  margin-top: var(--space-2xs);
  font-size: var(--text-base);
}


.site-foot__closeline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  
  justify-content: flex-start;
  gap: var(--space-2xs) var(--space-s);
}

.site-foot__lang ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-m);
  margin: 0 0 var(--space-2xs) 0;
  padding: 0;
}
.site-foot__lang [aria-current="true"] {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
}

.site-foot__edition { margin: 0; }



@supports (mask-image: url("../assets/ram.svg")) or (-webkit-mask-image: url("../assets/ram.svg")) {
  .site-foot::after {
    content: "";
    position: absolute;
    
    top: 0;
    bottom: 0;
    right: 0;
    width: min(24rem, 70%);
    z-index: -1;
    pointer-events: none;
    background-color: var(--c-gray10);
    opacity: 0.7;
    -webkit-mask-image: url("../assets/ram.svg");
            mask-image: url("../assets/ram.svg");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: bottom left;
            mask-position: bottom left;
    -webkit-mask-size: contain;
            mask-size: contain;
    transform: scaleX(-1);
  }
}


.page--at-a-glance main { background: var(--surface-ink); }

.glance {
  position: relative;
  isolation: isolate;
  color: var(--on-ink);
  padding-block: var(--space-2xl);
  padding-inline: var(--margin-inline);
  padding-left: calc(var(--margin-inline) + var(--glance-stripe, var(--stripe)) + var(--space-l));
  overflow: hidden;
}


.glance::before,
.glance::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}
.glance::before {
  
  background:
    image-set(
      url("../assets/img/panorama-copy-2400.avif") type("image/avif") 2x,
      url("../assets/img/panorama-copy-2400.jpg")  type("image/jpeg") 2x,
      url("../assets/img/panorama-copy-1920.jpg")  type("image/jpeg") 1.5x,
      url("../assets/img/panorama-copy-1440.jpg")  type("image/jpeg") 1x
    ) center / cover no-repeat;
}

.glance::after {
  background:
    radial-gradient(
      120% 90% at 100% 0%,
      rgba(0, 0, 0, 0.05) 0%,
      rgba(0, 0, 0, 0.30) 28%,
      rgba(0, 0, 0, 0.55) 60%,
      rgba(0, 0, 0, 0.62) 100%
    ),
    linear-gradient(
      100deg,
      rgba(0, 0, 0, 0.62) 0%,
      rgba(0, 0, 0, 0.55) 60%,
      rgba(0, 0, 0, 0.50) 100%
    );
}


.glance__stripe {
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: var(--glance-stripe, var(--stripe));
  background: var(--c-gold);
  z-index: 0;
}


.glance__inner {
  position: relative;
  z-index: 1;
  max-width: 78rem;
  margin-inline: auto;
}

.glance__head {
  margin-bottom: var(--space-xl);
}

.glance__title {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  
  font-size: calc(var(--step-4) * 0.8);
  line-height: 0.95;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  margin: 0;
}
.glance__title-mark { color: var(--c-gold); }


@media (max-height: 949.98px) and (min-width: 900px) {
  .glance__title { font-size: clamp(2.5rem, 1.6rem + 2.5vw, 4rem); }
  .glance__head { margin-bottom: var(--space-l); }
}


.glance__cols {
  display: grid;
  gap: var(--space-l);
  
  align-items: stretch;
}
.glance__col {
  display: flex;
  flex-direction: column;
  gap: var(--space-l);
  
  justify-content: space-between;
}

@media (min-width: 800px) {
  .glance__cols {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0;
  }
  .glance__col {
    padding-inline: var(--space-l);
  }
  .glance__col + .glance__col {
    border-inline-start: 3px solid var(--c-gold);
  }
  .glance__col:first-child { padding-inline-start: 0; }
  .glance__col:last-child  { padding-inline-end: 0; }
}


@media (max-width: 799.98px) {
  .glance__col + .glance__col {
    padding-top: var(--space-l);
    border-top: 3px solid var(--c-gold);
  }
}


@media (min-width: 600px) and (max-width: 799.98px) {
  .glance__col:nth-child(3) {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    grid-auto-flow: column;
    column-gap: var(--space-l);
    row-gap: var(--space-l);
    align-items: start;
  }
}


.glance__lede {
  font-size: var(--text-base);
  line-height: 1.3;
  max-width: 22ch;
}
.glance__lede cite { font-style: italic; }

.glance__block-title {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--step-1);
  line-height: 1.15;
  text-transform: uppercase;
  margin-bottom: var(--space-2xs);
}


.glance__list { font-size: var(--text-base); }


.glance__pair.p-stat {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}
.glance__pair .glance__pair-amp {
  font-family: var(--font-display);
  font-size: var(--step-2);
  line-height: 1;
  color: var(--c-gold);
}


.glance__mascot {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--step-1);
  line-height: 1.15;
  margin: 0;
}

.glance__mascot-label { font-weight: var(--weight-body, 400); }


.glance__tour {
  
  max-width: none;
  margin: var(--space-xl) 0 0;
  display: flex;
  justify-content: flex-start;
}


@media (prefers-reduced-motion: no-preference) {
  .glance__head,
  .glance__col,
  .glance__tour {
    animation: glance-land 520ms cubic-bezier(0.2, 0.85, 0.3, 1.06) 320ms backwards;
  }
}
@keyframes glance-land {
  from {
    opacity: 0;
    transform: translateY(16px) scale(0.985);
    filter: blur(8px);
  }
  to {
    opacity: 1;
    transform: none;
    filter: blur(0);
  }
}




.tp-under,
.tp-over {
  isolation: isolate;
  padding-block: var(--space-2xl);
  padding-inline: var(--margin-inline);
  
  scroll-margin-top: 7rem;
}


.tp-under { overflow: hidden; }


.tp-over { overflow-x: clip; }


.fx-travel-over__under.tp-under {
  
  --tp-header-offset: var(--site-head-height, 7.5rem);
  top: var(--tp-header-offset);
  min-height: calc(100svh - var(--tp-header-offset));
}


@media (max-width: 899.98px), (max-height: 949.98px) {
  
  .fx-travel-over__under.tp-under {
    top: auto;
  }
  .fx-travel-over__over.tp-over {
    min-height: 0;
    top: auto;
  }
}




.tp-under::before,
.tp-under::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}
.tp-under::before {
  background:
    image-set(
      url("../assets/img/e4a6331-lr-2400.avif") type("image/avif") 2x,
      url("../assets/img/e4a6331-lr-1920.avif") type("image/avif") 1.5x,
      url("../assets/img/e4a6331-lr-1440.avif") type("image/avif") 1x,
      url("../assets/img/e4a6331-lr-1920.jpg")  type("image/jpeg") 1.5x,
      url("../assets/img/e4a6331-lr-1440.jpg")  type("image/jpeg") 1x
    ) center / cover no-repeat;
}

.tp-under::after {
  background:
    linear-gradient(
      100deg,
      rgba(0, 0, 0, 0.78) 0%,
      rgba(0, 0, 0, 0.72) 55%,
      rgba(0, 0, 0, 0.60) 100%
    );
}


.tp-under__stripe {
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: var(--stripe);
  background: var(--c-gold);
  z-index: 0;
}

.tp-under__inner {
  position: relative;
  z-index: 1;
  max-width: 72rem;
  margin-inline: auto;
  display: grid;
  gap: var(--space-m) var(--space-xl);
  
  grid-template-columns: 1fr;
  grid-template-areas:
    "title"
    "body"
    "closer"
    "motto";
}
@media (min-width: 900px) {
  .tp-under__inner {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    
    grid-template-areas:
      "title   body"
      "closer  body"
      "motto   body";
    align-items: start;
  }
}
.tp-under__title   { grid-area: title;   }
.tp-under__body    { grid-area: body;    }
.tp-under__closer  { grid-area: closer;  }
.tp-under__motto   { grid-area: motto;   }

.tp-under__title {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: calc(var(--step-4) * 0.8);
  line-height: 0.95;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: var(--c-gold);
  margin: 0;
  
  display: flex;
  flex-direction: column;
}
.tp-under__title span { display: block; }

.tp-under__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  max-width: var(--measure);
}
.tp-under__body p { margin: 0; }
.tp-under__body strong { color: var(--c-gold); font-weight: var(--weight-body-bold, 700); }


.tp-under__closer {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.tp-under__step,
.tp-under__ask {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--step-1);
  
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin: 0;
}


@media (prefers-reduced-motion: no-preference) {
  .tp-under__closer {
    animation: tp-closer-in 900ms ease-out 700ms both;
  }
}

@keyframes tp-closer-in {
  from { opacity: 0; transform: translateY(0.5rem); }
  to   { opacity: 1; transform: none; }
}
.tp-under__ask-gold { color: var(--c-gold); }


.tp-under__motto {
  justify-self: start;
  max-width: 22rem;
}

.tp-under__motto .p-callout__body {
  text-align: left;
  
  text-wrap: balance;
  
  max-width: 14em;
  margin-inline: auto;
}


.tp-under__scroll-cue {
  position: absolute;
  bottom: var(--space-l);
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3xs);
  color: var(--c-gold);
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--text-base);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  line-height: 1;
  pointer-events: none;
}

.tp-under__scroll-cue-arrow {
  width: 1.5rem;
  height: 1.5rem;
  display: block;
}


@media (prefers-reduced-motion: no-preference) {
  .tp-under__scroll-cue-arrow {
    animation: tp-scroll-bob 1.6s ease-in-out infinite;
  }
  @keyframes tp-scroll-bob {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(0.4rem); }
  }
}


@supports (animation-timeline: scroll()) {
  @media (prefers-reduced-motion: no-preference) {
    .tp-under__scroll-cue {
      animation: tp-scroll-fade linear both;
      animation-timeline: scroll(root);
      
      animation-range: 0 240px;
    }
    @keyframes tp-scroll-fade {
      to { opacity: 0; }
    }
  }
}




.tp-over__stripe {
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: var(--stripe);
  background: var(--c-gold);
  z-index: 0;
}

.tp-over__inner {
  position: relative;
  z-index: 1;
  max-width: 72rem;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xl);
}




.tp-over__promise-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
  align-items: start;
}
@media (min-width: 900px) {
  .tp-over__promise-row {
    
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
  }
}

.tp-over__title {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--step-3);
  line-height: 1.0;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  margin: 0;
}

@media (min-width: 900px) {
  .tp-over__title {
    font-size: calc(var(--step-4) * 0.8);
    line-height: 0.95;
    max-width: calc(100% + var(--space-xl));
    width: calc(100% + var(--space-xl));
  }
}
.tp-over__title-gold { color: var(--c-gold); display: block; }

.tp-over__promise p {
  font-size: var(--text-base);
  line-height: var(--leading-body);
}


.tp-over__promise.u-stack {
  display: flex;
  flex-direction: column;
  height: 100%;
  align-self: stretch;
}
.tp-over__promise > p:has(.p-cta) {
  margin-top: auto;
  padding-top: var(--space-l);
}


.tp-over__sign {
  margin: 0;
}


@media (min-width: 900px) {
  .tp-over__sign {
    margin-top: calc(-1 * var(--space-2xl));
    
    height: calc(100% + var(--space-2xl));
    
    margin-right: calc(-1 * max(var(--margin-inline), (100vw - 72rem) / 2));
  }
}



@media (prefers-reduced-motion: no-preference) {
  
  
  .js .fx-travel-over__over .fx-slide-from-bottom,
  .js .fx-travel-over__over .fx-slide-from-left,
  .js .fx-travel-over__over .fx-slide-from-right,
  .js .fx-travel-over__over .fx-stagger > * {
    animation: none !important;
    opacity: 0;
    transition: opacity 700ms ease-out,
                transform 700ms cubic-bezier(0.2, 0.7, 0.3, 1);
    will-change: opacity, transform;
  }
  .js .fx-travel-over__over .fx-slide-from-bottom,
  .js .fx-travel-over__over .fx-stagger.fx-slide-from-bottom > * {
    transform: translateY(40px);
  }
  .js .fx-travel-over__over .fx-slide-from-left,
  .js .fx-travel-over__over .fx-stagger.fx-slide-from-left > * {
    transform: translateX(-40px);
  }
  .js .fx-travel-over__over .fx-slide-from-right,
  .js .fx-travel-over__over .fx-stagger.fx-slide-from-right > * {
    transform: translateX(40px);
  }
  
  .js .fx-travel-over__over .is-in-view {
    opacity: 1 !important;
    transform: none !important;
  }
  
  .fx-travel-over__over .fx-stagger > *:nth-child(2) { transition-delay: 120ms; }
  .fx-travel-over__over .fx-stagger > *:nth-child(3) { transition-delay: 240ms; }
  .fx-travel-over__over .fx-stagger > *:nth-child(4) { transition-delay: 360ms; }
}
.tp-over__sign picture { display: block; }
.tp-over__sign img {
  display: block;
  width: 100%;
  height: auto;
}
@media (min-width: 900px) {
  
  .tp-over__sign {
    position: relative;
    
    aspect-ratio: 1 / 1;
    overflow: hidden;
  }
  .tp-over__sign picture { display: contents; }
  .tp-over__sign img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
}


.tp-over__small-title {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--step-1);
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-gold);
  margin: 0 0 var(--space-s);
}




.tp-over__testimonial {
  
  border: 3px solid var(--c-gold);
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  align-items: stretch;
  
}
@media (min-width: 700px) and (max-width: 899.98px) {
  .tp-over__testimonial {
    
    grid-template-columns: minmax(0, 0.55fr) minmax(0, 1fr);
  }
}
@media (min-width: 900px) {
  .tp-over__testimonial {
    
    grid-template-columns: minmax(0, 0.42fr) minmax(0, 1fr);
    
    
    max-width: 62rem;
  }
}


.tp-over__portrait {
  margin: 0;
  position: relative;
  overflow: hidden;
  min-height: 20rem;
}
.tp-over__portrait picture { display: contents; }
.tp-over__portrait img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  
  object-position: 65% 20%;
}


@media (min-width: 900px) {
  .tp-over__portrait img {
    height: 110%;
    inset: 0 0 auto 0;
    object-position: 65% 0%;
  }
}


.tp-over__quote {
  max-width: none;
  align-self: stretch;
  padding: var(--space-xl) var(--space-2xl);
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  position: relative;
}

@media (min-width: 900px) {
  .tp-over__quote { padding-block: var(--space-l); }
}

@media (max-width: 699.98px) {
  .tp-over__quote {
    padding-left: var(--space-m);
    padding-right: var(--space-m);
  }
}


.tp-over__quote blockquote {
  position: relative;
  padding-top: var(--space-m);
}
.tp-over__quote blockquote::before {
  content: "";
  position: absolute;
  top: -0.65rem;
  left: 0;
  
  width: 2.5rem;
  height: 2rem;
  background-color: currentColor;
  mask-image: url("../assets/img/quote-mark.svg");
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-image: url("../assets/img/quote-mark.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  
  color: currentColor;
  pointer-events: none;
}


.tp-over__quote blockquote p {
  font-family: var(--font-body);
  font-weight: 400;
  font-style: normal;
  font-size: 1.125rem;
  line-height: 1.55;
}


.tp-over__quote figcaption {
  gap: 0;
  margin-top: auto;
}
.tp-over__quote .p-quote__name {
  font-family: var(--font-quote), Georgia, serif;
  font-weight: 700;
  line-height: 1.15;
}
.tp-over__quote .p-quote__title {
  font-family: var(--font-body);
  font-weight: 400;
  line-height: 1.15;
}


.page--belonging main { background: var(--surface-paper); }

.page-body--belonging {
  position: relative;
  padding-block: var(--space-2xl);
  padding-inline: var(--margin-inline);
  isolation: isolate;
  
  overflow-x: clip;
}


.page-body--belonging::before,
.page-body--belonging::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}
.page-body--belonging::before {
  background:
    image-set(
      url("../assets/img/viewbook-spread-2-image-2400.jpg") type("image/jpeg") 2x,
      url("../assets/img/viewbook-spread-2-image-1920.jpg") type("image/jpeg") 1.5x,
      url("../assets/img/viewbook-spread-2-image-1440.jpg") type("image/jpeg") 1x
    ) center top / cover no-repeat;
}
.page-body--belonging::after {
  
  background: rgba(255, 255, 255, 0.78);
}


.bel__stripe {
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: var(--stripe);
  background: var(--c-gold);
  z-index: 0;
}


.bel__inner {
  position: relative;
  
  max-width: 72rem;
  margin-inline: auto;
  display: grid;
  gap: var(--space-2xl);
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 900px) {
  
  .bel__voice { margin-top: var(--space-l); }
  
  .bel__inner {
    gap: var(--space-xl);
    
    
    padding-bottom: 16rem;
  }
}





.bel__intro {
  padding: var(--space-xl) var(--space-2xl);
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  max-width: none;
  min-width: 0;
}
@media (max-width: 599.98px) {
  .bel__intro {
    padding: var(--space-l) var(--space-l);
  }
}

@media (max-height: 949.98px) and (min-width: 900px) {
  .bel__intro {
    padding-block: var(--space-l);
    gap: var(--space-s);
  }
}

.bel__title {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: calc(var(--step-4) * 0.8);
  line-height: 1;
  letter-spacing: -0.005em;
  text-transform: uppercase;
  margin: 0;
}

.bel__title-line { display: block; }
.bel__title-gold { color: var(--c-gold); }


.bel__lede {
  font-family: var(--font-body);
  font-style: italic;
  font-size: var(--step-1);
  line-height: 1.35;
  margin: 0;
  max-width: none;
}
.bel__intro p:not(.bel__lede) { margin: 0; max-width: none; }




.bel__supports {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-xl);
}
@media (min-width: 900px) {
  .bel__supports {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-l);
  }
}
.bel__support {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}
.bel__support h2 {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--step-1);
  line-height: 1.15;
  text-transform: uppercase;
  
  color: var(--text-body);
  margin: 0;
  letter-spacing: 0.02em;
  
}
.bel__support p { margin: 0; max-width: none; }






.bel__campus { margin: 0; }
.bel__campus img { border: 3px solid var(--c-black, #000); }
.bel__campus img {
  width: 100%;
  height: auto;
  display: block;
  
  aspect-ratio: 16 / 6;
  object-fit: cover;
  object-position: 50% 42%;
  border-radius: 2px;
}




.bel__place {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-l);
  align-items: center;
  padding-block: var(--space-2xl);
}
@media (min-width: 900px) {
  .bel__place {
    
    grid-template-columns: minmax(0, 0.65fr) minmax(0, 1.35fr);
    gap: var(--space-2xl);
    align-items: center;
  }
}


.js .bel__place.fx-stagger > * {
  animation-name: none;
  opacity: 0;
  transform: translateY(60%);
  transition:
    opacity 700ms cubic-bezier(0.2, 0.7, 0.3, 1),
    transform 900ms cubic-bezier(0.2, 0.7, 0.3, 1);
}
.js .bel__place.fx-stagger > .bel__signature {
  
  transition-delay: 550ms;
}
.js .bel__place.fx-stagger > .is-in-view {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .js .bel__place.fx-stagger > * {
    
    opacity: 1;
    transform: none;
    transition: none;
  }
}


:not(.js) .bel__place.fx-stagger > :nth-child(1) {
  animation-range: entry 5% cover 25%;
}
:not(.js) .bel__place.fx-stagger > :nth-child(2) {
  animation-range: entry 55% cover 75%;
}
.bel__map { margin: 0; text-align: center; }
.bel__map img {
  width: 100%;
  height: auto;
  
  max-width: 34rem;
  display: block;
  margin-inline: auto;
}
.bel__map figcaption {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  
  font-size: var(--step-1);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  
  color: var(--on-paper);
  margin-top: var(--space-m);
}


.bel__signature {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: calc(var(--step-4) * 0.8);
  line-height: 0.95;
  text-transform: uppercase;
  letter-spacing: -0.005em;
  color: var(--text-body);
  margin: 0;
  max-width: none;
}
.bel__signature span {
  display: block;
  
  white-space: nowrap;
}
.bel__signature span + span { color: var(--text-maroon); }
@media (max-width: 899.98px) {
  .bel__signature {
    
    font-size: var(--step-3);
    text-align: center;
  }
  .bel__signature span { white-space: normal; }
}




.bel__community {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-l);
  align-items: center;
}
@media (min-width: 900px) {
  .bel__community {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: var(--space-xl);
  }
}
.bel__group { margin: 0; }

@media (min-width: 900px) {
  .bel__group {
    
    margin-left: calc(-1 * (max(var(--margin-inline), (100vw - 72rem) / 2)
                            - var(--stripe) - 1rem));
  }
}
.bel__group img {
  width: 100%;
  height: auto;
  display: block;
  
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: 50% 30%;
  
  border: 3px solid var(--c-black, #000);
  border-radius: 2px;
}
.bel__finding { display: flex; flex-direction: column; gap: var(--space-s); }
.bel__finding h2 {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--step-2);
  line-height: 1.1;
  text-transform: uppercase;
  color: var(--text-body);
  margin: 0;
  letter-spacing: 0.01em;
}
.bel__finding p { margin: 0; max-width: none; }






.bel__voice {
  
  border: 3px solid var(--c-gold);
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
  background: var(--surface-paper);
  color: var(--on-paper);
}
@media (min-width: 700px) and (max-width: 899.98px) {
  .bel__voice {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.7fr);
  }
}
.bel__quote {
  max-width: none;
  padding: var(--space-xl) var(--space-2xl);
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  position: relative;
  align-self: stretch;
  min-width: 0;
}
@media (max-width: 599.98px) {
  .bel__quote {
    
    padding: var(--space-l) var(--space-l);
  }
}


.bel__quote blockquote {
  position: relative;
  padding-top: var(--space-m);
}
.bel__quote blockquote::before {
  content: "";
  position: absolute;
  top: -0.65rem;
  left: 0;
  width: 2.5rem;
  height: 2rem;
  background-color: currentColor;
  mask-image: url("../assets/img/quote-mark.svg");
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-image: url("../assets/img/quote-mark.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  
  color: var(--text-body);
  pointer-events: none;
}


.bel__quote blockquote p {
  font-family: var(--font-body);
  font-weight: 400;
  font-style: normal;
  font-size: 1.125rem;
  line-height: 1.55;
}


.bel__quote figcaption {
  text-align: right;
  gap: 0;
  margin-top: auto;
}

@media (min-width: 900px) {
  .bel__quote figcaption { padding-right: 3rem; }
}
.bel__quote .p-quote__name {
  font-family: var(--font-quote), Georgia, serif;
  font-weight: 700;
  font-size: var(--step-1);
  line-height: 1.15;
}
.bel__quote .p-quote__title {
  font-family: var(--font-body);
  font-weight: 400;
  margin-top: 0.125rem;
  line-height: 1.15;
}
.bel__deron {
  margin: 0;
  position: relative;
  overflow: hidden;
  min-height: 22rem;
  order: -1;
}
@media (min-width: 700px) {
  .bel__deron { order: 0; }
}
.bel__deron picture { display: contents; }
.bel__deron img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 20%;
}


@media (max-width: 899.98px) {
  .bel__deron {
    order: 1;
    position: static;
    overflow: visible;
    min-height: 0;
  }
  .bel__deron img {
    position: static;
    width: 100%;
    height: auto;
    object-fit: fill;
    
    margin-bottom: 0;
  }
}


@media (min-width: 700px) and (max-width: 899.98px) {
  .bel__deron { display: flex; }
  .bel__deron img { margin-top: auto; }
}



@media (min-width: 900px) {
  .bel__voice {
    
    border: 0;
    background: none;
    
    position: static;
    display: block;
  }

  .bel__quote {
    
    padding: 0;
    
    max-width: 26rem;
    align-self: start;
    
    margin-top: var(--space-2xl);
    
    margin-left: auto;
    
    margin-right: calc(0.4 * min(50vw, 44rem)
                       - max(var(--margin-inline), (100vw - 72rem) / 2)
                       + var(--space-l));
  }

  
  .bel__quote::after {
    content: "";
    position: absolute;
    inset: calc(-1 * var(--space-l));
    right: -8rem;                       
    border: 3px solid var(--c-gold);
    border-right: 0;
    pointer-events: none;
    
    z-index: 0;
  }


  .bel__deron {
    
    position: absolute;
    bottom: calc(-1 * var(--space-2xl));
    right: calc(-1 * max(var(--margin-inline), (100vw - 72rem) / 2));
    
    
    width: min(50vw, 44rem);
    margin: 0;
    overflow: visible;
    min-height: 0;
    z-index: 0;
  }
  .bel__deron picture { display: contents; }
  .bel__deron img {
    
    position: static;
    width: 100%;
    height: auto;
    object-fit: fill;
  }
}




.bel__portal {
  
  padding: var(--space-l);
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  
  border: 3px solid var(--c-gold);
  min-width: 0;
}

@media (min-width: 900px) {
  .bel__portal {
    position: relative;
    z-index: 2;
    max-width: 46rem;
    
    justify-self: start;
    
    margin-left: -4rem;
    
    
    margin-top: -11rem;
    
    
    max-width: 30rem;
  }
}
@media (max-width: 599.98px) {
  .bel__portal {
    padding: var(--space-l) var(--space-l);
  }
}
.bel__portal-title {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--step-2);
  text-transform: uppercase;
  color: var(--c-gold);
  margin: 0;
  letter-spacing: 0.02em;
}
.bel__portal p { margin: 0; max-width: none; }
.bel__portal-cta { align-self: flex-start; }


.page--academics main { background: var(--surface-paper); }

.page-body--academics {
  position: relative;
  padding-block: var(--space-2xl);
  padding-inline: var(--margin-inline);
  isolation: isolate;
  
  overflow-x: clip;
}


.aca__intro-band {
  position: relative;
  margin-bottom: var(--space-2xl);        
}
.aca__stripe {
  position: absolute;
  top: calc(-1 * var(--space-2xl));
  bottom: calc(-1 * var(--space-2xl));
  inset-inline-start: calc(-1 * var(--margin-inline));
  width: var(--stripe);
  background: var(--c-gold);
  pointer-events: none;
}


.aca__inner {
  position: relative;
  max-width: 78rem;                       
  margin-inline: auto;
  display: grid;
  gap: var(--space-2xl);
  grid-template-columns: minmax(0, 1fr);
}





.aca__intro {
  max-width: 78rem;                       
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-l);
  align-items: start;
}
@media (min-width: 700px) {
  .aca__intro {
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: var(--space-xl);
  }
}
.aca__intro-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  min-width: 0;
}
.aca__title {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: calc(var(--step-4) * 0.8);
  line-height: 1;
  letter-spacing: -0.005em;
  text-transform: uppercase;
  margin: 0;
  color: var(--text-body);
}

.aca__title-gold { color: inherit; }

.aca__lede {
  font-family: var(--font-body);
  font-size: var(--step-1);
  line-height: 1.4;
  margin: 0;
  max-width: none;                        
}
.aca__lede strong { font-weight: 700; color: var(--text-body); }


.aca__majors-panel {
  
  --conc-marker: rgba(255, 255, 255, 0.85);
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  padding-block: var(--space-xl);
  padding-inline: 0;                      
}


.aca__majors-inner {
  
  max-width: 96rem;
  margin-inline: auto;
  padding-inline: var(--margin-inline);
  min-width: 0;
}
@media (max-width: 599.98px) {
  .aca__majors-panel {
    padding-block: var(--space-l);
  }
}

.aca__majors-heading {
  
  font-family: var(--font-body);
  font-weight: var(--weight-display);
  font-size: var(--step-2);
  color: var(--c-gold);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin: 0 0 var(--space-m) 0;
}




.aca__legend {
  margin-bottom: var(--space-m);
  padding-block: var(--space-s);
  border-block: 1px solid rgba(255, 255, 255, 0.15);
}
.aca__legend-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-m);
  font-size: 0.9375rem;                   
  color: rgba(255, 255, 255, 0.85);
}
.aca__legend-major,
.aca__legend-conc {
  display: inline-flex;
  align-items: baseline;
  gap: 0.5em;
}
.aca__legend-major::before {
  content: "";
  display: inline-block;
  width: 0.4em;
  height: 0.4em;
  border-radius: 50%;
  background: var(--c-gold);
  transform: translateY(-0.15em);
}

.aca__legend-conc::before {
  content: "›";
  color: var(--conc-marker, rgba(255, 255, 255, 0.85));
  font-weight: 700;
}




.aca__filter {
  position: sticky;
  top: var(--space-s);
  z-index: 2;
  margin-bottom: var(--space-m);
  padding: var(--space-s);
  background: rgba(0, 0, 0, 0.85);        
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}
.aca__filter-label {
  font-family: var(--font-body);
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-gold);
  font-weight: 700;
}
.aca__filter-input {
  font-family: var(--font-body);
  font-size: 1rem;
  padding: 0.6em 0.75em;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 3px;
  background: var(--c-black, #000);
  color: #fff;
  width: 100%;
  min-width: 0;
}
.aca__filter-input::placeholder {
  color: rgba(255, 255, 255, 0.55);
}
.aca__filter-input:focus {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
  border-color: var(--c-gold);
}
.aca__filter-count {
  font-family: var(--font-body);
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.8);
  min-height: 1.2em;                       
}




.aca__majors {
  list-style: none;
  margin: 0;
  padding: 0;
  column-count: 5;                        
  column-gap: var(--space-l);
  color: #fff;
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.35;
}
@media (max-width: 1199.98px) {
  .aca__majors { column-count: 4; }
}
@media (max-width: 899.98px) {
  .aca__majors { column-count: 3; }
}
@media (max-width: 599.98px) {
  .aca__majors { column-count: 2; }
}
@media (max-width: 399.98px) {
  .aca__majors { column-count: 1; }
}
.aca__majors > li {
  break-inside: avoid;
  padding-inline-start: 1em;
  position: relative;
  margin-bottom: var(--space-2xs);
  font-weight: 700;                        
}
.aca__majors > li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0.55em;
  width: 0.35em;
  height: 0.35em;
  border-radius: 50%;
  background: var(--c-gold);               
}

.aca__majors ul {
  list-style: none;
  margin: 0.25em 0 0.5em 0;
  padding: 0;
  font-weight: 400;
  font-size: 0.9375rem;
  color: rgba(255, 255, 255, 0.9);
}
.aca__majors ul > li {
  padding-inline-start: 1.1em;
  position: relative;
  margin-bottom: 0.1em;
}
.aca__majors ul > li::before {
  content: "›";
  position: absolute;
  inset-inline-start: 0;
  color: var(--conc-marker, rgba(255, 255, 255, 0.85));  
  font-weight: 700;
}


.aca__link {
  color: inherit;
  text-decoration: none;
  
  text-decoration: underline solid transparent;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
  transition: text-decoration-color 120ms ease;
}
.aca__link:hover,
.aca__link:focus-visible {
  text-decoration-color: var(--c-gold);
}
.aca__link:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 3px;
  border-radius: 2px;
}

.aca__majors > li > .aca__link,
.aca__majors ul > li > .aca__link {
  display: inline-block;
  padding-block: 0.05em;
}


.aca__fasttrack-list > li > .aca__link {
  padding-block: 2px;
}


.aca__undeclared {  }

.aca__undeclared-note {
  margin-top: var(--space-m);
  padding-top: var(--space-s);
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.875rem;
  font-style: italic;
  max-width: none;                         
}
.aca__undeclared-note p { margin: 0; max-width: none; }




.aca__fasttrack {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-l);
  align-items: start;
}
@media (min-width: 900px) {
  .aca__fasttrack {
    grid-template-columns: minmax(12rem, 30%) minmax(0, 1fr);
    column-gap: var(--space-xl);
  }
}
.aca__fasttrack-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  min-width: 0;
}
.aca__fasttrack-photo {
  margin: 0;
}
@media (min-width: 900px) {
  
  .aca__fasttrack-photo {
    margin-top: calc(-1 * var(--space-2xl));
  }
}
.aca__fasttrack-photo img {
  width: 100%;
  height: auto;
  display: block;
  
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: 66% center;
  border-radius: 2px;
}
@media (max-width: 899.98px) {
  
  .aca__fasttrack-photo img {
    aspect-ratio: 16 / 9;
    object-position: 68% 40%;
  }
}




.aca__ratio {
  display: block;
  
  margin: calc(-1 * var(--space-2xl)) 0 0 0;
  align-self: start;
  
  width: 9.5rem;
  max-width: 100%;
  padding: var(--space-l) var(--space-m) var(--space-l);
  text-align: center;
}
.aca__ratio .p-stat__item {
  gap: var(--space-2xs);
}

.aca__ratio .p-stat__value {
  font-family: var(--font-quote), Georgia, serif;
  font-weight: 700;
  font-size: var(--step-2);
  line-height: 1.05;
  min-width: 0;
  white-space: nowrap;
  
  font-variant-numeric: normal;
}
.aca__ratio .p-stat__label {
  font-family: var(--font-quote), Georgia, serif;
  font-weight: 700;
  font-size: var(--text-base);
  line-height: 1.25;
  color: inherit;
}
@media (max-width: 699.98px) {
  
  .aca__ratio {
    justify-self: start;
    margin-top: 0;
    width: 11rem;
  }
}




.aca__section-heading {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--step-3);
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--text-body);
  margin: 0;
}

.aca__section-heading-gold { color: inherit; }

.aca__section-heading--small {
  font-size: var(--step-2);
  letter-spacing: 0.03em;
}

.aca__honors {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}
.aca__fasttrack p,
.aca__honors p { margin: 0; max-width: none; }

.aca__fasttrack-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.5em;
  font-family: var(--font-body);
  font-size: 1.0625rem;                    
  line-height: 1.45;
  color: var(--text-body);
}

@media (min-width: 1100px) {
  .aca__fasttrack-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.35em var(--space-l);
  }
}
.aca__fasttrack-list li {
  padding-inline-start: 1em;
  position: relative;
}
.aca__fasttrack-list li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0.55em;
  width: 0.35em;
  height: 0.35em;
  border-radius: 50%;
  background: var(--c-gold);
}





.aca__quotes-band {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
}
.aca__quotes {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: calc(1.625rem * 2);
  
  padding: 1.625rem;
  min-width: 0;
}

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

.js .aca__quotes.fx-stagger > * {
  animation-name: none;
  opacity: 0;
  transition: opacity 600ms cubic-bezier(0.2, 0.7, 0.3, 1);
}
.js .aca__quotes.fx-stagger > *:nth-child(2) { transition-delay: 400ms; }
.js .aca__quotes.fx-stagger > .is-in-view { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .js .aca__quotes.fx-stagger > * {
    opacity: 1;
    transition: none;
  }
}

.aca__quote-card {
  display: flex;
  gap: 0;
  align-items: stretch;
  padding: 0;
  border: none;
}

.aca__quote-card.s-gold {
  box-shadow:
    0 0 0 4px var(--c-paper),
    0 0 0 1.625rem var(--c-gold);
}
.aca__quote-card--ink {
  box-shadow:
    0 0 0 4px var(--c-gold),
    0 0 0 1.625rem var(--c-black);
}
@media (max-width: 899.98px) {
  .aca__quote-card {
    flex-direction: column;
  }
}

.aca__quote-portrait {
  flex: 0 0 auto;
  width: clamp(8rem, 22vw, 12rem);
  margin: 0;
  overflow: hidden;
}
.aca__quote-portrait picture { display: contents; }
.aca__quote-portrait img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.s-gold .aca__quote-portrait img { object-position: 50% 30%; }
.aca__quote-card--ink .aca__quote-portrait img { object-position: 30% 30%; }
@media (max-width: 899.98px) {
  .aca__quote-portrait { width: 100%; }
  .aca__quote-portrait img { aspect-ratio: 3 / 2; }
}

.aca__quote {
  flex: 1 1 0;
  max-width: none;
  padding: var(--space-m);
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  min-width: 0;
}
.aca__quote blockquote {
  position: relative;
  padding-top: var(--space-m);
  margin: 0;
}

.aca__quote blockquote::before {
  content: "";
  position: absolute;
  top: -0.65rem;
  left: 0;
  width: 2.5rem;
  height: 2rem;
  background-color: currentColor;
  mask-image: url("../assets/img/quote-mark.svg");
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-image: url("../assets/img/quote-mark.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  color: var(--c-black);
  pointer-events: none;
}

.aca__quote-card--ink .aca__quote blockquote::before {
  
  color: var(--c-paper);
}
.aca__quote-card--ink .aca__quote blockquote p,
.aca__quote-card--ink .aca__quote .p-quote__name,
.aca__quote-card--ink .aca__quote .p-quote__title {
  color: var(--c-paper);
}
.aca__quote blockquote p {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.55;
  color: var(--c-black);
  max-width: none;
  margin: 0;
}
.aca__quote .p-quote__name {
  font-family: var(--font-quote);
  font-weight: var(--weight-display);
  font-size: var(--step-0);
  color: var(--c-black);
  line-height: 1.15;
}
.aca__quote .p-quote__title {
  font-size: var(--text-base);
  color: var(--c-black);
  font-weight: 400;
  line-height: 1.15;
}


.page-body--your-path {
  padding: 0;                       
  isolation: isolate;
}




.yp-hero {
  position: relative;
  overflow: hidden;                 
  isolation: isolate;
  display: grid;
  grid-template-columns: 1fr;
  padding: 0;
}


.yp-hero__photo {
  position: absolute;
  inset: 0;
  margin: 0;
  z-index: -1;
  pointer-events: none;
}
.yp-hero__photo picture,
.yp-hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}




.yp-title {
  padding: var(--space-l) var(--space-xl);
  margin: var(--space-2xl);
  margin-right: auto;               
  
  max-width: 64rem;
  min-width: 0;
  position: relative;
  z-index: 1;
}
@media (max-width: 599.98px) {
  .yp-title {
    padding: var(--space-l) var(--space-l);
    margin: var(--space-l);
  }
}

.yp-title--teal {
  background: color-mix(in srgb, var(--c-teal) 85%, transparent);
  color: var(--on-teal);
}

.yp-title__h {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: calc(var(--step-4) * 0.8);
  line-height: 1.02;
  text-transform: uppercase;
  letter-spacing: 0.005em;
  margin: 0;
  text-wrap: balance;
}

.yp-title__gold  { color: var(--c-gold); }
.yp-title__white { color: var(--c-paper); }
.yp-title__line  { display: block; }

.yp-title__lede {
  font-family: var(--font-body);
  font-weight: 700;                 
  font-size: var(--step-1);
  line-height: 1.3;
  color: var(--c-paper);
  margin-top: var(--space-m);
  max-width: none;
}




.yp-columns {
  padding-block: var(--space-2xl);
  padding-inline: var(--margin-inline);
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
  margin-top: var(--space-3xl);     
}
@media (min-width: 900px) {
  .yp-columns {
    
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--grid-gutter, var(--space-l));
  }
}
.yp-columns--ink {
  
  background: color-mix(in srgb, var(--c-black) 60%, transparent);
  color: var(--on-ink);
  
  --surface: color-mix(in srgb, var(--c-black) 60%, transparent);
}

.yp-column { min-width: 0; max-width: none; }
.yp-column p {
  color: var(--c-paper);
  max-width: none;                  
}
.yp-column__h {
  
  font-family: var(--font-body);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: var(--step-1);
  line-height: 1.1;
  color: var(--c-gold);
  margin: 0 0 var(--space-s) 0;
}


.js .yp-columns.fx-stagger > * {
  animation-name: none;             
  opacity: 0;
  transform: translateY(40%);
  transition:
    opacity 700ms cubic-bezier(0.2, 0.7, 0.3, 1),
    transform 900ms cubic-bezier(0.2, 0.7, 0.3, 1);
}
.js .yp-columns.fx-stagger > :nth-child(2) { transition-delay: 220ms; }
.js .yp-columns.fx-stagger > :nth-child(3) { transition-delay: 440ms; }
.js .yp-columns.fx-stagger > .is-in-view {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .js .yp-columns.fx-stagger > * {
    opacity: 1;
    transform: none;
    transition: none;
  }
}




.yp-aili {
  position: relative;
  isolation: isolate;
  padding-block: var(--space-3xl);
  padding-inline: var(--margin-inline);
  background: var(--c-mint);
  color: var(--on-mint);
  --surface: var(--c-mint);         
  display: grid;
  gap: var(--space-2xl);
  grid-template-columns: 1fr;
  overflow: hidden;
}
.yp-aili::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(rgba(129, 191, 165, 0.72), rgba(129, 191, 165, 0.72)),
    image-set(
      url("../assets/img/istock-1137550851-lr-2400.jpg") type("image/jpeg") 2x,
      url("../assets/img/istock-1137550851-lr-1920.jpg") type("image/jpeg") 1.5x,
      url("../assets/img/istock-1137550851-lr-1440.jpg") type("image/jpeg") 1x
    ) center / cover no-repeat;
  
}


.yp-aili__stripe {
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  width: var(--stripe);
  background: var(--c-gold);
  z-index: 1;
}

@media (min-width: 900px) {
  .yp-aili {
    
    --yp-pad-inline: max(var(--margin-inline), 3rem);
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    gap: var(--space-3xl);
    align-items: end;
    padding-block: var(--space-3xl) 0;   
    padding-inline: var(--yp-pad-inline);
  }
}


.yp-aili__portrait {
  margin: 0;
  position: relative;
  z-index: 1;
}
@media (min-width: 900px) {
  .yp-aili__portrait {
    justify-self: start;
    margin-inline-start: calc(-1 * var(--yp-pad-inline));
    
    width: calc(100% + var(--yp-pad-inline));
    max-width: calc(52rem + var(--yp-pad-inline));
  }
}
.yp-aili__portrait img {
  width: 100%;
  height: auto;
  display: block;
}
.js .yp-aili__portrait.fx-enter {
  animation-name: none;
  opacity: 0;
  
  transform: translateX(-32%) rotate(-5deg) scale(0.82);
  transition: opacity 700ms ease-out,
              transform 1000ms cubic-bezier(0.34, 1.56, 0.64, 1);
  transition-delay: 1500ms;
}
.js .yp-aili__portrait.fx-enter.is-in-view {
  opacity: 1;
  transform: translateX(0) rotate(0deg) scale(1);
}
@media (prefers-reduced-motion: reduce) {
  .js .yp-aili__portrait.fx-enter {
    opacity: 1;
    transform: none;
    transition: none;
    transition-delay: 0s;
  }
}


.yp-aili__right {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-l);
  padding-bottom: var(--space-3xl);
}


.yp-aili__meta,
.yp-aili__quote {
  padding: var(--space-l) var(--space-xl);
  background: color-mix(in srgb, var(--c-mint) 70%, transparent);
  color: var(--on-mint);
  --surface: color-mix(in srgb, var(--c-mint) 70%, transparent);
  min-width: 0;
}

.yp-aili__meta {
  display: grid;
  gap: var(--space-m);
}
.yp-aili__bio {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: var(--leading-body);
  max-width: none;
  color: var(--on-mint);
}

.yp-aili__name {
  display: block;
  position: relative;
  background: var(--c-teal);
  color: var(--c-paper);
  padding: var(--space-2xs) var(--space-m);
  margin: var(--space-s) 0 0;
  max-width: none;
  font-family: var(--font-display-serif, "Lora"), Georgia, serif;
  font-style: italic;
  font-weight: 700;
  font-size: var(--step-2);
  line-height: 1.15;
}
.yp-aili__name::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100%;
  
  width: 100vw;
  background: var(--c-teal);
  pointer-events: none;
}


.yp-aili__quote {
  margin: 0;
  
  padding-top: var(--space-2xl);
  max-width: none;                  
  position: relative;
}

.yp-aili__quote blockquote {
  margin: 0;
  position: relative;
}
.yp-aili__quote blockquote::before {
  content: "";
  position: absolute;
  top: -3rem;
  left: 0;
  width: 2.5rem;
  height: 2rem;
  background-color: currentColor;
  mask-image: url("../assets/img/quote-mark.svg");
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-image: url("../assets/img/quote-mark.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  color: var(--c-black);
  pointer-events: none;
}
.yp-aili__quote blockquote p {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.55;
  color: var(--on-mint);
  max-width: none;
}
.yp-aili__quote blockquote p + p {
  margin-top: var(--space-m);
}


.yp-aili__fact {
  border-color: var(--c-teal);
  
  border-width: 4px;
}
.yp-aili__fact .p-callout__label {
  color: var(--c-black);
}


@media (max-width: 599.98px) {
  .yp-aili {
    padding-block: var(--space-2xl);
  }
  .yp-aili__meta {
    padding: var(--space-m) var(--space-l);
  }
  
  .yp-aili__quote {
    padding: var(--space-2xl) var(--space-l) var(--space-m);
  }
  .yp-aili__name {
    margin-inline: calc(-1 * var(--space-l));
  }
}


@media (max-width: 899.98px) {
  .yp-aili {
    display: flex;
    flex-direction: column;
    gap: var(--space-l);
  }
  .yp-aili__right {
    display: contents;
  }
  .yp-aili__meta     { order: 1; }
  .yp-aili__portrait { order: 2; }
  .yp-aili__quote    { order: 3; }
  .yp-aili__fact     { order: 4; }

  
  .yp-aili__portrait {
    
    margin-inline-start: calc(-1 * var(--margin-inline));
    margin-inline-end: 0;
    margin-bottom: calc(-1 * var(--space-l));
  }
}


.page-body--careers {
  position: relative;
  isolation: isolate;
  padding: 0;
  
  overflow-x: clip;
}


.ca__stripe {
  position: absolute;
  left: 0;
  top: 0;
  bottom: var(--space-2xl); 
  width: var(--stripe);
  background: var(--c-gold);
  z-index: 0;
  pointer-events: none;
}

.ca__hero      { grid-row: 1; grid-column: 1; }
.ca__spotlight { grid-row: 2; grid-column: 1; }
.ca__centers   { grid-row: 3; grid-column: 1; }
.ca__abroad    { grid-row: 4; grid-column: 1; }

.ca__inner {
  position: relative;
  z-index: 0;
  
  --ca-max: 96rem;
  max-width: var(--ca-max);
  
  margin-inline: auto;
  padding-block: var(--space-2xl);
  padding-inline: var(--margin-inline);
  display: grid;
  gap: var(--space-3xl);
  grid-template-columns: minmax(0, 1fr);
}




.ca__hero {
  display: grid;
  gap: var(--space-l);
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}
.ca__hero-text {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  min-width: 0;
}
@media (min-width: 900px) {
  .ca__hero-text {
    
    max-width: min(60rem, calc(100% - 22rem));
  }
}


@media (max-height: 949.98px) and (min-width: 900px) {
  .ca__hero-text { max-width: none; }
  .ca__title { max-width: min(60rem, calc(100% - 22rem)); }
}

.ca__title {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  
  font-size: calc(var(--step-4) * 0.8);
  line-height: 1;
  letter-spacing: -0.005em;
  text-transform: uppercase;
  color: var(--text-body);
  margin: 0;
}

.ca__title-gold { color: inherit; }


.ca__lede {
  font-family: var(--font-body);
  font-size: var(--step-1);
  line-height: 1.4;
  color: var(--text-body);
  margin: 0;
  max-width: none;
}


.ca__stat {
  padding: var(--space-l) var(--space-m);
  display: block;
  min-width: 0;
  max-width: 18rem;
  margin: 0;
  text-align: center;
}
.ca__stat .p-stat__item {
  gap: var(--space-s);
}
@media (min-width: 900px) {
  
  .ca__stat {
    position: absolute;
    top: 0;
    right: var(--margin-inline);
    z-index: 3;
  }
}

.ca__stat .p-stat__label {
  font-family: var(--font-quote), Georgia, serif;
  font-weight: 700;
  font-size: var(--text-base);
  line-height: 1.25;
  color: var(--c-paper);
  max-width: none;
}
.ca__stat .p-stat__value {
  font-family: var(--font-quote), Georgia, serif;
  font-weight: 700;
  font-size: var(--step-3);
  line-height: 1.05;
  min-width: 0;
  color: var(--c-paper);
}



.ca__spotlight {
  display: grid;
  gap: var(--space-m);                 
  grid-template-columns: minmax(0, 1fr);
  
  align-items: stretch;
}
@media (min-width: 900px) {
  .ca__spotlight {
    
    grid-template-columns: minmax(0, 5fr) minmax(0, 4fr);
    gap: var(--space-l);
  }
}


.ca__gerald {
  position: relative;
  margin: 0;
  
  z-index: 2;
}
@media (min-width: 900px) {
  .ca__gerald {
    
    margin-inline-start: calc(-1 * (max(0px, (100vw - var(--ca-max)) / 2) + var(--margin-inline) + 5rem));
  }
}

.ca__gerald {
  overflow: hidden;
}
.ca__gerald img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  
  object-position: right top;
}
@media (min-width: 900px) {
  
  .ca__gerald img {
    position: absolute;
    inset: 0;
  }
}

.ca__gerald-caption {
  position: absolute;
  
  top: auto;
  bottom: var(--space-xs);
  left: var(--space-xs);
  right: auto;
  max-width: 14rem;
  padding: var(--space-s) var(--space-m);
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-base);
  line-height: 1.35;
  color: var(--c-paper);
  z-index: 1;
}
@media (min-width: 900px) {
  .ca__gerald-caption {
    
    top: var(--space-xs);
    bottom: auto;
    left: calc(var(--margin-inline) + 4rem);
  }
}

.ca__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xl);
  min-width: 0;
}

.ca__section {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}

.ca__section p + p { margin-top: 0; }

.ca__section p { max-width: none; }
.ca__section-title {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--step-3);
  line-height: 1.05;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--c-black);
  margin: 0;
}
.ca__section-title--gold { color: var(--c-gold); }


.ca__sub {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--text-base);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-black);
  margin: 0 0 var(--space-2xs);
}
.ca__sub--on-ink { color: var(--c-paper); }

.ca__section .ca__sub + p,
.ca__abroad-copy .ca__sub + p {
  
  margin-top: calc(-1 * var(--space-s));
}



.ca__centers {
  display: grid;
  gap: var(--space-2xl);
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}
@media (min-width: 900px) {
  .ca__centers {
    
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: var(--space-3xl);
    align-items: stretch;
  }
}

.ca__centers-photos {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  min-width: 0;
}
.ca__centers-photo {
  margin: 0;
}
.ca__centers-photo img {
  width: 100%;
  height: auto;
  display: block;
  
  aspect-ratio: 3 / 2;
  object-fit: cover;
  
  object-position: center 45%;
}

.ca__centers-photo:nth-of-type(2) img {
  object-position: center 70%;
}
@media (min-width: 900px) {
  
  .ca__centers-photos {
    margin-inline-start: calc(-1 * (max(0px, (100vw - var(--ca-max)) / 2) + var(--margin-inline) + 5rem));
    display: grid;
    grid-template-rows: 1fr 1fr;
    
    gap: 0;
  }
  .ca__centers-photo {
    min-height: 26rem;
  }
  .ca__centers-photo {
    position: relative;
    overflow: hidden;
  }
  .ca__centers-photo img {
    position: absolute;
    inset: 0;
    height: 100%;
    aspect-ratio: auto;
  }
}

.ca__centers-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  min-width: 0;
}
.ca__centers-copy h2 { margin-bottom: var(--space-xs); }

.ca__centers-copy p + p { margin-top: 0; }

.ca__centers-copy p { max-width: none; }
.ca__abroad-copy  p + p { margin-top: 0; }

ul.ca__centers-list {
  padding-inline-start: var(--space-m);
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  list-style: disc;
}
.ca__centers-list li { display: list-item; }

.ca__learn-more {
  
  display: flex;
  margin-block-start: var(--space-xs);
}




.ca__abroad {
  width: 100vw;
  
  margin-inline: calc(50% - 50vw);
  padding-block: var(--space-3xl);
  padding-inline: 0;
  position: relative;
}
.ca__abroad-inner {
  
  max-width: 96rem;
  margin-inline: auto;
  padding-inline: var(--margin-inline);
  display: grid;
  gap: var(--space-2xl);
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}
@media (min-width: 900px) {
  .ca__abroad-inner {
    
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
    gap: var(--space-2xl);
  }
}


.ca__emma-testimonial {
  border: 5px solid var(--c-gold);
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  align-items: stretch;
  min-width: 0;
}
@media (min-width: 700px) {
  .ca__emma-testimonial {
    
    grid-template-columns: minmax(0, 0.4fr) minmax(0, 0.6fr);
  }
}

.ca__abroad-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  min-width: 0;
}
.ca__abroad-copy p {
  color: var(--c-paper);
  max-width: none;
}


.ca__emma-portrait {
  margin: 0;
  position: relative;
  overflow: hidden;
  min-height: 18rem;
}
.ca__emma-portrait picture { display: contents; }
.ca__emma-portrait img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  
  object-position: 50% 25%;
}


.ca__emma-quote {
  margin: 0;
  
  padding: var(--space-2xl) var(--space-l) var(--space-l);
  max-width: none;
  position: relative;
  color: var(--c-paper);
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ca__emma-quote blockquote {
  margin: 0;
  position: relative;
}
.ca__emma-quote blockquote::before {
  content: "";
  position: absolute;
  top: -3rem;
  left: 0;
  width: 2.5rem;
  height: 2rem;
  background-color: currentColor;
  mask-image: url("../assets/img/quote-mark.svg");
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-image: url("../assets/img/quote-mark.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  
  color: var(--c-paper);
  pointer-events: none;
}
.ca__emma-quote blockquote p {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.55;
  color: var(--c-paper);
  max-width: none;
}
.ca__emma-quote figcaption {
  margin-top: var(--space-m);
  display: flex;
  flex-direction: column;
  gap: var(--space-3xs);
}
.ca__emma-quote .p-quote__name {
  font-family: var(--font-quote);
  font-weight: 700;
  color: var(--c-paper);
  font-size: var(--text-base);
  line-height: 1.15;
}
.ca__emma-quote .p-quote__title {
  font-family: var(--font-body);
  font-weight: 400;
  color: var(--c-paper);
  font-size: var(--text-base);
  line-height: 1.15;
  opacity: 1;
}




.js .ca__abroad.fx-slide-from-bottom {
  animation-name: none;
  opacity: 0;
  transform: translateY(40%);
  transition:
    opacity 700ms cubic-bezier(0.2, 0.7, 0.3, 1),
    transform 900ms cubic-bezier(0.2, 0.7, 0.3, 1);
}
.js .ca__abroad.fx-slide-from-bottom.is-in-view {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .js .ca__abroad.fx-slide-from-bottom {
    opacity: 1;
    transform: none;
    transition: none;
  }
}


.js .ca__gerald.fx-slide-from-left {
  animation-name: none;
  opacity: 0;
  transform: translateX(-40%);
  transition:
    opacity 700ms cubic-bezier(0.2, 0.7, 0.3, 1),
    transform 1100ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
.js .ca__gerald.fx-slide-from-left.is-in-view {
  opacity: 1;
  transform: none;
}
@media (min-width: 900px) {
  
  .js .ca__gerald.fx-slide-from-left {
    transition-delay: 1000ms;
  }
}


.js .ca__gerald-caption {
  opacity: 0;
  transform: translateX(-30%);
  transition:
    opacity 500ms cubic-bezier(0.2, 0.7, 0.3, 1) 1200ms,
    transform 700ms cubic-bezier(0.34, 1.56, 0.64, 1) 1200ms;
}
.js .ca__gerald.is-in-view .ca__gerald-caption {
  opacity: 1;
  transform: none;
}
@media (min-width: 900px) {
  
  .js .ca__gerald-caption {
    transition-delay: 2200ms;
  }
}

@media (prefers-reduced-motion: reduce) {
  .js .ca__gerald.fx-slide-from-left,
  .js .ca__gerald-caption {
    opacity: 1;
    transform: none;
    transition: none;
  }
}


@media (max-width: 599.98px) {
  .ca__gerald-caption {
    top: auto;
    bottom: var(--space-s);
    left: var(--space-s);
    right: auto;
    max-width: 12rem;
  }
  .ca__stat {
    justify-self: start;
    max-width: none;
    width: 100%;
    padding: var(--space-m);
  }
}





.eq-under,
.eq-over {
  isolation: isolate;
  padding-block: var(--space-2xl);
  padding-inline: var(--margin-inline);
  scroll-margin-top: 7rem;
}

.eq-under { overflow: hidden; }
.eq-over  { overflow: hidden; position: relative; }


.fx-travel-over--across > .fx-travel-over__under.eq-under {
  position: relative;
  height: auto;
  min-height: 100svh;
  top: auto;
}


@media (max-width: 899.98px) {
  .fx-travel-over--across > .fx-travel-over__under.eq-under {
    min-height: 0;
    top: auto;
  }
  .fx-travel-over--across > .fx-travel-over__over.eq-over {
    position: relative;
    top: auto;
    
    min-height: 160svh;
  }
}
@media (min-width: 900px) and (max-height: 819.98px) {
  .fx-travel-over--across > .fx-travel-over__under.eq-under {
    min-height: 0;
    top: auto;
  }
  .fx-travel-over--across > .fx-travel-over__over.eq-over {
    position: relative;
    top: auto;
    
    min-height: 540px;
  }
}





.eq-under__stripe {
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  width: var(--stripe);
  background: var(--c-gold);
  z-index: 2;
}

.eq-under__inner {
  position: relative;
  z-index: 1;
  
  max-width: 42rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-l);
}


.eq-under__stat {
  padding: var(--space-s) var(--space-m);
  max-width: 10rem;
  align-self: flex-start;
  margin-top: calc(-1 * var(--space-2xl));
}

.eq-under__stat .p-stat__value {
  font-family: var(--font-quote), Georgia, serif;
}
.eq-under__stat .p-stat__label {
  font-family: var(--font-quote), Georgia, serif;
  font-weight: 700;
  color: inherit;
}

.eq-under__copy {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-m);
}


.eq-under__title {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: calc(var(--step-4) * 0.8);
  line-height: 0.95;
  text-transform: uppercase;
  max-width: 14ch;
}
.eq-under__title-gold { color: var(--c-gold); }

.eq-under__lede {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--step-1);
  line-height: 1.3;
  max-width: 32ch;
}


@media (max-height: 949.98px) and (min-width: 900px) {
  .eq-under__inner { gap: var(--space-s); }
  .eq-under__copy { gap: var(--space-s); }
  
  .eq-under__stat { max-width: 16rem; }
}


.eq-under__sections {
  display: flex;
  flex-direction: column;
  gap: var(--space-l);
}


.eq-under__sections .p-prose h2 {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: var(--step-1);
  line-height: 1.1;
  color: var(--c-gold);
}




.eq-over__photo {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.eq-over__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}


.eq-over__badge {
  position: absolute;
  top: var(--space-l);
  right: var(--space-l);
  z-index: 2;
  background: var(--c-paper);
  color: var(--c-black);
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--text-sm);
  padding: var(--space-2xs) var(--space-s);
}


.eq-over__panel {
  position: absolute;
  bottom: var(--space-l);
  right: var(--space-l);
  z-index: 1;
  display: flex;
  gap: 0;
  align-items: stretch;
  padding: 0;
  border: none;
  box-shadow:
    0 0 0 4px var(--c-gold),
    0 0 0 1.625rem var(--c-teal);
  max-width: 42rem;
}


.eq-over__portrait {
  flex: 0 0 auto;
  width: clamp(9rem, 25vw, 14rem);
}
.eq-over__portrait img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}


.eq-over__quote {
  flex: 1 1 0;
  max-width: none;
  padding: var(--space-m);
}
.eq-over__quote blockquote p {
  font-family: var(--font-body);
  font-weight: 400;
  font-style: normal;
  font-size: 1.125rem;
  line-height: 1.55;
  color: #fff;
}

.eq-over__quote .p-quote__name {
  line-height: 1.15;
}
.eq-over__quote .p-quote__title {
  line-height: 1.15;
}


.eq-over__quote blockquote {
  position: relative;
  padding-top: var(--space-m);
}
.eq-over__quote blockquote::before {
  content: "";
  position: absolute;
  top: -0.65rem;
  left: 0;
  width: 2.5rem;
  height: 2rem;
  background-color: currentColor;
  mask-image: url("../assets/img/quote-mark.svg");
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-image: url("../assets/img/quote-mark.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  
  color: var(--c-paper);
  pointer-events: none;
}


@media (max-width: 599.98px) {
  .eq-over__panel {
    flex-direction: column;
    left: var(--space-s);
    right: var(--space-s);
    
    bottom: var(--space-2xs);
    max-width: none;
  }
  .eq-over__photo img {
    object-position: 65% 25%;
  }
  .eq-over__portrait {
    width: 10rem;
    align-self: center;
  }
  .eq-over__badge {
    left: auto;
    right: var(--space-m);
    top: var(--space-m);
  }
  .eq-under__inner {
    max-width: none;
    padding-inline-end: var(--space-m);
  }
}


@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) and (max-width: 899.98px) {
    .eq-over {
      view-timeline-name: --eq-over-mobile;
    }
    .eq-over__panel {
      opacity: 0;
      transform: translateY(1rem);
      animation: eq-panel-reveal linear both;
      animation-timeline: --eq-over-mobile;
      
      animation-range: cover 23% cover 44%;
    }
    .eq-over .p-quote {
      opacity: 0;
      transform: translateY(1rem);
      animation: eq-panel-reveal linear both;
      animation-timeline: --eq-over-mobile;
      animation-range: cover 30% cover 50%;
    }
  }
}


.eq-under__scroll-cue {
  position: absolute;
  bottom: var(--space-l);
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3xs);
  color: var(--c-gold);
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--text-base);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  line-height: 1;
  pointer-events: none;
}

.eq-under__scroll-cue-arrow {
  width: 1.5rem;
  height: 1.5rem;
  display: block;
}

@media (prefers-reduced-motion: no-preference) {
  .eq-under__scroll-cue-arrow {
    animation: eq-scroll-bob 1.6s ease-in-out infinite;
  }
  @keyframes eq-scroll-bob {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(0.4rem); }
  }
}

@supports (animation-timeline: scroll()) {
  @media (prefers-reduced-motion: no-preference) {
    .eq-under__scroll-cue {
      animation: eq-scroll-fade linear both;
      animation-timeline: scroll(root);
      animation-range: 0 180px;
    }
    @keyframes eq-scroll-fade {
      to { opacity: 0; }
    }
  }
}


@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) and (min-width: 900px) and (min-height: 820px) {

    .page--equity .fx-travel-over--across {
      height: 480svh;
    }

    
    .fx-travel-over--across > .fx-travel-over__under.eq-under {
      position: sticky;
      height: calc(100svh - var(--site-head-height, 7.5rem));
      min-height: 0;
      top: var(--site-head-height, 7.5rem);
      z-index: 2;
      overflow: hidden;
      clip-path: inset(0);
      animation: eq-maroon-clip linear both;
      animation-timeline: --fx-across-timeline;
      animation-range: contain 0% contain 100%;
    }

    
    .page--equity .fx-travel-over--across > .fx-travel-over__over.eq-over {
      clip-path: none;
      animation: none;
      z-index: 0;
      top: var(--site-head-height, 7.5rem);
      height: calc(100svh - var(--site-head-height, 7.5rem));
      margin-top: calc(-100svh + var(--site-head-height, 7.5rem));
    }

    

    .eq-under__stat,
    .eq-under__lede,
    .eq-under__sections .p-prose {
      opacity: 0;
      transform: translateY(1.5rem);
    }

    .eq-under__stat {
      animation: eq-reveal linear both;
      animation-timeline: --fx-across-timeline;
      animation-range: contain 0% contain 3.18%;
    }

    .eq-under__lede {
      animation: eq-reveal linear both;
      animation-timeline: --fx-across-timeline;
      animation-range: contain 6.36% contain 11.12%;
    }

    .eq-under__sections .p-prose:nth-child(1) {
      animation: eq-reveal linear both;
      animation-timeline: --fx-across-timeline;
      animation-range: contain 11.12% contain 15.89%;
    }

    .eq-under__sections .p-prose:nth-child(2) {
      animation: eq-reveal linear both;
      animation-timeline: --fx-across-timeline;
      animation-range: contain 15.09% contain 19.86%;
    }

    .eq-under__sections .p-prose:nth-child(3) {
      animation: eq-reveal linear both;
      animation-timeline: --fx-across-timeline;
      animation-range: contain 19.07% contain 23.83%;
    }

    
    .eq-under__inner {
      animation: eq-content-shift linear both;
      animation-timeline: --fx-across-timeline;
      animation-range: contain 22.24% contain 28.60%;
    }

    
    .eq-under__stripe {
      opacity: 0;
      inset-inline-end: auto;
      left: calc(60% - var(--stripe));
      animation: eq-stripe-reveal linear both, eq-stripe-move linear both;
      animation-timeline: --fx-across-timeline, --fx-across-timeline;
      
      animation-range: contain 44.49% contain 49.25%, contain 62.03% contain 77.91%;
    }

    

    .eq-over__panel {
      opacity: 0;
      animation: eq-panel-reveal linear both;
      animation-timeline: --fx-across-timeline;
      animation-range: contain 81.88% contain 87.44%;
    }

    .page--equity .fx-travel-over--across > .fx-travel-over__over .p-quote {
      opacity: 0;
      transform: translateY(1rem);
      animation: eq-panel-reveal linear both;
      animation-timeline: --fx-across-timeline;
      animation-range: contain 85.06% contain 89.84%;
    }
  }
}



@keyframes eq-reveal {
  from { opacity: 0; transform: translateY(1.5rem); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes eq-stripe-reveal {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes eq-stripe-move {
  from { left: calc(60% - 0.5rem); }
  to   { left: -0.5rem; }
}

@keyframes eq-panel-reveal {
  from { opacity: 0; transform: translateY(1rem); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes eq-content-shift {
  from { transform: translateY(0); }
  to   { transform: translateY(-18rem); }
}


@keyframes eq-maroon-clip {
  0%      { clip-path: inset(0); }
  31.78%  { clip-path: inset(0); }
  43.70%  { clip-path: inset(0 40% 0 0); }
  51.65%  { clip-path: inset(0 40% 0 0); }
  62.03%  { clip-path: inset(0 40% 0 0); }
  77.91%  { clip-path: inset(0 100% 0 0); }
  100%    { clip-path: inset(0 100% 0 0); }
}





.sup__backdrop {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.sup__backdrop-photo {
  position: absolute;
  inset: 0;
  margin: 0;
  z-index: -1;
  pointer-events: none;
}
.sup__backdrop-photo picture {
  display: contents;
}
.sup__backdrop-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 25% center;
}



.sup__title-panel {
  position: relative;
  z-index: 1;
  padding: var(--space-l) var(--space-xl);
  margin: var(--space-2xl);
  margin-right: auto;
  max-width: 40rem;
  background: color-mix(in srgb, var(--c-teal) 85%, transparent);
  color: var(--c-paper);
}

.sup__title {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: calc(var(--step-4) * 0.8);
  line-height: 1.02;
  text-transform: uppercase;
  letter-spacing: 0.005em;
  margin: 0;
  color: var(--c-paper);
  text-wrap: balance;
}
.sup__title-gold {
  color: var(--c-gold);
}
.sup__lede {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--step-1);
  line-height: 1.3;
  color: var(--c-paper);
  margin-top: var(--space-m);
  max-width: none;
}

@media (max-width: 599.98px) {
  .sup__title-panel {
    padding: var(--space-l);
    margin: var(--space-l);
  }
}


@media (max-height: 949.98px) and (min-width: 900px) {
  .sup__title-panel {
    max-width: 52rem;
    margin-block: var(--space-m);
    padding-block: var(--space-m);
  }
  .sup__lede { margin-top: var(--space-s); }
}



.sup__sections {
  position: relative;
  z-index: 1;
  background: color-mix(in srgb, var(--c-teal) 85%, transparent);
  color: var(--c-paper);
  padding-block: var(--space-3xl);
  padding-inline: var(--margin-inline);
}
.sup__sections-inner {
  max-width: 72rem;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
}
@media (min-width: 900px) {
  .sup__sections-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-xl) var(--space-2xl);
  }
}
.js .sup__sections-inner.fx-stagger > * {
  animation-name: none;
  opacity: 0;
  transition: opacity 600ms cubic-bezier(0.2, 0.7, 0.3, 1);
}
.js .sup__sections-inner.fx-stagger > *:nth-child(2) { transition-delay: 150ms; }
.js .sup__sections-inner.fx-stagger > *:nth-child(3) { transition-delay: 300ms; }
.js .sup__sections-inner.fx-stagger > *:nth-child(4) { transition-delay: 450ms; }
.js .sup__sections-inner.fx-stagger > *:nth-child(5) { transition-delay: 600ms; }
.js .sup__sections-inner.fx-stagger > *:nth-child(6) { transition-delay: 750ms; }
.js .sup__sections-inner.fx-stagger > .is-in-view {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .js .sup__sections-inner.fx-stagger > * {
    opacity: 1;
    transition: none;
  }
}
.sup__section h2 {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--step-1);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0 0 var(--space-s);
  color: var(--c-gold);
}
.sup__section p {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.65;
  max-width: none;
  color: var(--c-paper);
}
.sup__section strong {
  color: var(--c-paper);
  font-weight: var(--weight-body-bold, 700);
}
.sup__learn-more {
  margin-top: var(--space-s);
  display: inline-flex;
}




.sup__quotes {
  display: grid;
  grid-template-columns: 1fr;
  gap: calc(1.625rem * 2);
  padding: 1.625rem;
}
@media (min-width: 900px) {
  .sup__quotes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.js .sup__quotes.fx-stagger > * {
  animation-name: none;
  opacity: 0;
  transition: opacity 600ms cubic-bezier(0.2, 0.7, 0.3, 1);
}
.js .sup__quotes.fx-stagger > *:nth-child(2) { transition-delay: 400ms; }
.js .sup__quotes.fx-stagger > .is-in-view {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .js .sup__quotes.fx-stagger > * {
    opacity: 1;
    transition: none;
  }
}

.sup__quote-card {
  display: flex;
  gap: 0;
  align-items: stretch;
  padding: 0;
  border: none;
}
.sup__quote-card.s-gold {
  box-shadow:
    0 0 0 4px #fff,
    0 0 0 1.625rem var(--c-gold);
}
.s-gold .sup__quote blockquote::before {
  color: var(--c-black);
}
.s-gold .sup__quote blockquote p {
  color: var(--c-black);
}
.s-ink .sup__quote blockquote::before {
  color: #fff;
}
.sup__quote-card.s-ink {
  box-shadow:
    0 0 0 4px var(--c-gold),
    0 0 0 1.625rem var(--c-black);
}
@media (max-width: 899.98px) {
  .sup__quote-card {
    flex-direction: column;
  }
}

.sup__portrait {
  flex: 0 0 auto;
  width: clamp(9rem, 25vw, 14rem);
  margin: 0;
  overflow: hidden;
}
.sup__portrait picture {
  display: contents;
}
.sup__portrait img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.s-gold .sup__portrait img { object-position: 35% center; }
.s-ink  .sup__portrait img { object-position: 65% center; }
@media (max-width: 899.98px) {
  .sup__portrait {
    width: 100%;
  }
  .sup__portrait img {
    aspect-ratio: 3 / 2;
  }
}

.sup__quote {
  flex: 1 1 0;
  max-width: none;
  padding: var(--space-m);
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}
.sup__quote blockquote {
  position: relative;
  padding-top: var(--space-m);
}
.sup__quote blockquote::before {
  content: "";
  position: absolute;
  top: -0.65rem;
  left: 0;
  width: 2.5rem;
  height: 2rem;
  background-color: currentColor;
  mask-image: url("../assets/img/quote-mark.svg");
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-image: url("../assets/img/quote-mark.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  color: var(--c-gold);
  pointer-events: none;
}
.sup__quote blockquote p {
  font-family: var(--font-body);
  font-weight: 400;
  font-style: normal;
  font-size: 1.125rem;
  line-height: 1.55;
  color: #fff;
}
.sup__quote .p-quote__name {
  font-family: var(--font-quote);
  font-weight: var(--weight-display);
  font-size: var(--step-0);
  line-height: 1.15;
}
.sup__quote .p-quote__title {
  font-size: var(--text-base);
  color: inherit;
  font-weight: 400;
  line-height: 1.15;
}



.page-body--connection {
  position: relative;
  isolation: isolate;
}




.cx-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  height: min(88svh, 46rem);
  min-height: 24rem;
}

.cx-hero__photo {
  position: absolute;
  inset: 0;
  margin: 0;
  z-index: -1;
  pointer-events: none;
}
.cx-hero__photo picture {
  display: contents;
}


.cx-hero__photo img {
  width: 100%;
  height: 190%;
  display: block;
  object-fit: cover;
  object-position: center top;
}

.cx-hero__head {
  position: relative;
  z-index: 1;
  padding: var(--space-2xl) var(--margin-inline) 0;
  max-width: 60rem;
}

.cx-hero__title {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: calc(var(--step-4) * 0.8);
  line-height: 1.02;
  text-transform: uppercase;
  letter-spacing: 0.005em;
  margin: 0;
  color: var(--c-paper);
  text-wrap: balance;
}
.cx-hero__title-gold {
  color: var(--c-gold);
}
.cx-hero__lede {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--step-1);
  line-height: 1.3;
  color: var(--c-paper);
  margin-top: var(--space-m);
  max-width: none;
}

@media (max-width: 899.98px) {
  .cx-hero__head {
    padding-top: var(--space-l);
  }
}


.cx-hero__stat {
  position: absolute;
  top: 0;
  right: var(--margin-inline);
  z-index: 1;
  display: block;
  margin: 0;
  padding: var(--space-m) var(--space-l) var(--space-l);
  max-width: 12rem;
  text-align: center;
}
.cx-hero__stat .p-stat__item {
  gap: var(--space-2xs);
}
.cx-hero__stat .p-stat__value {
  font-family: var(--font-quote), Georgia, serif;
  font-weight: 700;
  font-size: var(--step-3);
  min-width: 0;
  line-height: 1.05;
}
.cx-hero__stat .p-stat__label {
  font-family: var(--font-quote), Georgia, serif;
  font-weight: 700;
  font-size: var(--text-base);
  line-height: 1.25;
  color: inherit;
}

@media (max-width: 599.98px) {
  
  .cx-hero__stat {
    position: static;
    margin: var(--space-l) var(--margin-inline) 0;
    max-width: 14rem;
    right: auto;
  }
  .cx-hero {
    height: auto;
    min-height: min(88svh, 40rem);
  }
}



.cx-beyond {
  position: relative;
  z-index: 1;
  
  margin-top: min(-6rem, -6svh);
  padding-block: var(--space-3xl);
  padding-inline: var(--margin-inline);
}
.cx-beyond__inner {
  max-width: 78rem;
  margin-inline: auto;
}

.cx-beyond__intro {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-m);
  margin-bottom: var(--space-2xl);
}
.cx-beyond__intro p {
  max-width: 46ch;
  font-size: var(--text-base);
  line-height: 1.65;
  margin-top: 0;
}
@media (min-width: 900px) {
  .cx-beyond__intro {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-xl);
  }
}


.cx-places {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xl) var(--space-l);
}
@media (min-width: 600px) {
  .cx-places {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cx-places {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
.cx-places__group h2 {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--step-1);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0 0 var(--space-s);
  color: var(--c-gold);
}
.cx-places__group ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.cx-places__group li {
  position: relative;
  padding-left: var(--space-s);
  font-size: var(--text-base);
  line-height: 1.45;
}
.cx-places__group li + li {
  margin-top: var(--space-3xs);
}
.cx-places__group li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 0.28em;
  height: 0.28em;
  border-radius: 50%;
  background: var(--c-gold);
}



.cx-worlds {
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 900px) {
  .cx-worlds {
    
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1fr);
    align-items: stretch;
  }
}


.cx-worlds__figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  min-height: 18rem;
}
.cx-worlds__figure picture {
  display: contents;
}
.cx-worlds__figure img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
}
@media (min-width: 900px) {
  .cx-worlds__figure img {
    position: absolute;
    inset: 0;
  }
}
@media (max-width: 899.98px) {
  .cx-worlds__figure {
    min-height: 0;
  }
  .cx-worlds__figure img {
    aspect-ratio: 3 / 2;
    height: auto;
  }
}

.cx-worlds__panel {
  padding-block: var(--space-2xl);
  padding-inline: var(--margin-inline);
}
.cx-worlds__title {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--step-3);
  line-height: 1.04;
  text-transform: uppercase;
  letter-spacing: 0.005em;
  margin: 0;
  color: var(--c-paper);
  text-wrap: balance;
}
.cx-worlds__title-gold {
  color: var(--c-gold);
}
.cx-worlds__lede {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--step-1);
  line-height: 1.3;
  color: var(--c-paper);
  margin-top: var(--space-m);
  max-width: none;
}
.cx-worlds__section {
  margin-top: var(--space-l);
}
.cx-worlds__section h3 {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--step-1);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0 0 var(--space-s);
  color: var(--c-gold);
}
.cx-worlds__section p {
  font-size: var(--text-base);
  line-height: 1.65;
  color: var(--c-paper);
  max-width: none;
}
.cx-worlds__section strong {
  color: var(--c-paper);
  font-weight: 700;
}



.cx-dining {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
  padding-block: var(--space-2xl);
  padding-inline: var(--margin-inline);
}
@media (min-width: 900px) {
  .cx-dining {
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1fr);
    gap: var(--space-2xl);
    align-items: start;
  }
}
.cx-dining__title {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--step-2);
  line-height: 1.06;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  margin: 0 0 var(--space-m);
}
.cx-dining__copy p {
  font-size: var(--text-base);
  line-height: 1.65;
}
.cx-dining__figures {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-s);
}
.cx-dining__figure {
  margin: 0;
  overflow: hidden;
}
.cx-dining__figure picture {
  display: contents;
}
.cx-dining__figure img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  aspect-ratio: 3 / 4;
}

.cx-dining__figure:first-child img {
  object-position: 75% center;
}


.js .cx-beyond.fx-slide-from-bottom {
  animation-name: none;
  opacity: 0;
  transform: translateY(35%);
  transition:
    opacity 700ms cubic-bezier(0.2, 0.7, 0.3, 1),
    transform 900ms cubic-bezier(0.2, 0.7, 0.3, 1);
}
.js .cx-beyond.fx-slide-from-bottom.is-in-view {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .js .cx-beyond.fx-slide-from-bottom {
    opacity: 1;
    transform: none;
    transition: none;
  }
}



.page-body--clubs {
  position: relative;
  isolation: isolate;
}



.clb__top {
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 900px) {
  .clb__top {
    
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    align-items: stretch;
  }
}

.clb__panel {
  padding-block: var(--space-2xl);
  padding-inline: var(--margin-inline);
}

.clb__title {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  
  font-size: min(var(--step-4), calc(12.5vw - 4px));
  line-height: 0.95;
  text-transform: uppercase;
  letter-spacing: 0.005em;
  margin: 0;
  text-wrap: balance;
}

.clb__title-gold { color: var(--c-gold); }

.clb__lede {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--step-1);
  line-height: 1.3;
  margin-top: var(--space-m);
  max-width: 46ch;
}
.clb__body {
  font-size: var(--text-base);
  line-height: 1.65;
  margin-top: var(--space-m);
  max-width: 52ch;
}
.clb__start-one {
  font-weight: 700;
}

.clb__list-heading {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--step-1);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: var(--space-l) 0 0;
  color: var(--c-gold);
}
.clb__partial {
  font-size: var(--text-base);
  font-style: italic;
  margin-top: var(--space-3xs);
}


.clb__list {
  list-style: none;
  margin: var(--space-m) 0 0;
  padding: 0;
  columns: 2;
  column-gap: var(--space-l);
}
@media (max-width: 599.98px) {
  .clb__list { columns: 1; }
}
.clb__list li {
  position: relative;
  padding-left: var(--space-s);
  font-size: var(--text-base);
  line-height: 1.45;
  
  break-inside: avoid;
}
.clb__list li + li {
  margin-top: var(--space-3xs);
}
.clb__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 0.28em;
  height: 0.28em;
  border-radius: 50%;
  background: var(--c-gold);
}
.clb__list cite {
  font-style: italic;
}


.clb__show {
  position: relative;
  margin: 0;
  overflow: hidden;
  min-height: 20rem;
}
.clb__show picture { display: contents; }
.clb__show img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  
  object-position: center;
}
@media (min-width: 900px) {
  .clb__show img { position: absolute; inset: 0; }
}
@media (max-width: 899.98px) {
  .clb__show { min-height: 0; }
  .clb__show img { aspect-ratio: 3 / 2; height: auto; }
}


.clb__show-caption {
  position: absolute;
  left: var(--space-m);
  bottom: var(--space-m);
  z-index: 1;
  margin: 0;
  padding: var(--space-2xs) var(--space-s);
  background: var(--surface-paper);
  color: var(--on-paper);
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--text-base);
  line-height: 1.2;
  max-width: calc(100% - 2 * var(--space-m));
}
@media (max-width: 899.98px) {
  .clb__show-caption {
    left: var(--margin-inline);
  }
}


.clb__show-play {
  position: absolute;
  inset: 0;
  z-index: 2;
  margin: auto;
  width: clamp(2.75rem, 6vw, 4.5rem);
  height: clamp(2.75rem, 6vw, 4.5rem);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.6);
  color: var(--c-paper);
  cursor: pointer;
  opacity: 0;
}
.clb__show-play svg {
  width: 42%;
  height: 42%;
  margin-inline-start: 0.1em;   
}
@media (prefers-reduced-motion: no-preference) {
  .clb__show-play {
    transition: opacity 150ms ease, background-color 150ms ease, transform 150ms ease;
  }
  .clb__show-play:hover { transform: scale(1.08); }
}
.clb__show:hover .clb__show-play,
.clb__show-play:hover,
.clb__show-play:focus-visible {
  opacity: 1;
  background: rgba(0, 0, 0, 0.8);
}
.clb__show-play:focus-visible {
  outline: var(--focus-width) solid var(--focus-ring);
  outline-offset: var(--focus-offset);
}

@media (pointer: coarse) {
  .clb__show-play { opacity: 1; }
}


.clb__video-dialog {
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: var(--c-black);
  width: min(90vw, 64rem);
  max-width: 90vw;
}
.clb__video-dialog::backdrop {
  background: rgba(0, 0, 0, 0.75);
}
.clb__video-dialog-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
}
.clb__video-dialog-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.clb__video-dialog-close {
  position: absolute;
  top: var(--space-2xs);
  right: var(--space-2xs);
  z-index: 1;
  width: var(--target-min);
  height: var(--target-min);
  min-width: 44px;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.6);
  color: var(--c-paper);
  cursor: pointer;
}
.clb__video-dialog-close svg { width: 55%; height: 55%; }
.clb__video-dialog-close:hover { background: rgba(0, 0, 0, 0.85); }
.clb__video-dialog-close:focus-visible {
  outline: var(--focus-width) solid var(--focus-ring);
  outline-offset: var(--focus-offset);
}




.clb__cesar {
  --cesar-focus: center 34%;
  
  --cesar-zoom: 1.35;
  padding-block: var(--space-2xl);
  padding-inline: var(--margin-inline);
}


.clb__cesar-inner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
}

@media (min-width: 1200px) {
  .clb__cesar-inner {
    
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    gap: 0;
    align-items: stretch;
    
    min-height: 42rem;
  }
  
  .clb__cesar-photo,
  .clb__cesar-cut {
    grid-area: 1 / 1;
    align-self: stretch;
  }
  .clb__cesar-photo { z-index: 0; }
  .clb__cesar-line  { z-index: 1; }
  .clb__cesar-cut   { z-index: 2; }
  
  .clb__cesar-inner .clb__quote {
    grid-area: 1 / 2;
    z-index: 3;
    
    align-self: center;
    margin-block: 0;
    
    margin-inline: var(--space-xl) var(--space-2xl);
  }
  
  .clb__cesar.is-cutout-ready .clb__cesar-inner .clb__quote {
    box-shadow: none;
  }
}

.clb__cesar-photo {
  position: relative;
  margin: 0;
  overflow: hidden;
}
.clb__cesar-photo picture { display: contents; }
.clb__cesar-photo img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: var(--cesar-focus);
}
@media (min-width: 1200px) {
  
  .clb__cesar-photo img {
    position: absolute;
    inset: 0;
    height: 100%;
    aspect-ratio: auto;
    transform: scale(var(--cesar-zoom));
    transform-origin: center 42%;
  }
}



.clb__cesar-cut {
  
  display: none;
}
@media (min-width: 1200px) {
  .clb__cesar-cut {
    display: block;
    position: relative;
    pointer-events: none;
    
    overflow: hidden;
  }
  .clb__cesar-cut picture { display: contents; }
  .clb__cesar-cut img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    
    object-position: var(--cesar-focus);
    transform: scale(var(--cesar-zoom));
    transform-origin: center 42%;
  }
}




.clb__cesar-line {
  display: none;
}
@media (min-width: 1200px) {
  
  .clb__cesar-inner .clb__cesar-line {
    display: block;
    
    position: absolute;
    
    top: 5.5rem;
    
    left: 2.5rem;
    
    width: calc(100% - 2.5rem);
    height: 31rem;
    right: auto;
    bottom: auto;
    visibility: hidden;
  }
  .clb__cesar.is-cutout-ready .clb__cesar-line {
    visibility: visible;
  }
}


.clb__quote {
  margin: 0;
  max-width: none;
  padding: var(--space-l);
  background: var(--surface-paper);
  color: var(--on-paper);
  box-shadow: 0 0 0 3px var(--c-gold);
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}
.clb__quote blockquote {
  position: relative;
  margin: 0;
  padding-top: var(--space-m);
}

.clb__quote blockquote::before {
  content: "";
  position: absolute;
  top: -0.65rem;
  left: 0;
  width: 2.5rem;
  height: 2rem;
  background-color: currentColor;
  mask-image: url("../assets/img/quote-mark.svg");
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-image: url("../assets/img/quote-mark.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  color: var(--c-black);
  pointer-events: none;
}

.clb__quote blockquote p {
  font-family: var(--font-body);
  font-weight: 400;
  font-style: normal;
  font-size: 1.125rem;
  line-height: 1.55;
  margin: 0;
}
.clb__quote .p-quote__name {
  font-family: var(--font-quote);
  font-weight: var(--weight-display);
  font-size: var(--step-0);
  line-height: 1.15;
}
.clb__quote .p-quote__title {
  font-size: var(--text-base);
  color: inherit;
  font-weight: 400;
  line-height: 1.15;
}


@media (min-width: 1200px) {
  .js .clb__cesar .fx-draw__line {
    animation: none;
    stroke-dashoffset: var(--fx-draw-len, 0);
    
    transition: stroke-dashoffset 900ms linear 1000ms;
  }
  .js .clb__cesar.is-drawing .fx-draw__line {
    stroke-dashoffset: 0;
  }
}
@media (min-width: 1200px) and (prefers-reduced-motion: reduce) {
  
  .js .clb__cesar .fx-draw__line {
    stroke-dashoffset: 0;
    transition: none;
  }
}



.page-body--ram-nation {
  position: relative;
  isolation: isolate;
  
  overflow-x: clip;
}


.rn__stripe {
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  width: var(--stripe);
  background: var(--c-gold);
  z-index: 2;
  pointer-events: none;
}



.rn__hero {
  padding-block: var(--space-2xl) 0;
}
.rn__hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-xl);
  padding-inline: var(--margin-inline);
}
@media (min-width: 900px) {
  
  .rn__hero-inner {
    
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: var(--space-2xl);
    row-gap: 0;
    align-items: start;
  }
  
  .rn__left  { grid-column: 1; grid-row: 1 / 3; align-self: stretch; }
  .rn__right { grid-column: 2; grid-row: 1; }
  
  .rn__sports { grid-column: 1 / -1; grid-row: 2; }
}

.rn__left { min-width: 0; }


@media (min-width: 900px) {
  .rn__left {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto 1fr;
  }
  .rn__head {
    grid-area: 1 / 1;
    position: relative;
    z-index: 2;
    
    pointer-events: none;
  }
  .rn__figure {
    grid-area: 1 / 1 / 3 / 2;
    align-self: stretch;
  }
}
.rn__right {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  padding-bottom: var(--space-2xl);
}
@media (min-width: 900px) {
  .rn__right {
    gap: var(--space-l);
    padding-bottom: var(--space-l);
  }
}

.rn__title {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: calc(var(--step-4) * 0.8);
  line-height: 0.95;
  letter-spacing: 0.005em;
  text-transform: uppercase;
  margin: 0;
  text-wrap: balance;
}

.rn__title-gold { color: var(--c-gold); }

.rn__subhead {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--step-1);
  line-height: 1.3;
  margin: var(--space-m) 0 0;
  
  max-width: 20ch;
}




.rn__figure {
  --rn-focus: 61%;
  --rn-zoom: 1;
  position: relative;
  margin: var(--space-l) 0 0;
  
  aspect-ratio: 31 / 50;
}


@media (max-width: 899.98px) {
  .rn__figure {
    width: 100%;
    max-height: 78vh;
  }
}
@media (min-width: 900px) {
  .rn__figure {
    aspect-ratio: auto;
    min-height: 26rem;
    margin: 0;
    position: relative;
    
    z-index: 1;
    
    --rn-zoom: 1;
    overflow: hidden;
    
    margin-inline-start: calc(var(--margin-inline) * -1);
  }
}

.rn__layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
  
  overflow: hidden;
}

.rn__layer picture { display: contents; }
.rn__layer img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  
  object-position: var(--rn-focus) center;
  transform: scale(var(--rn-zoom));
}


@media (min-width: 900px) {
  .rn__layer {
    inset: auto 0 0 0;
    
    aspect-ratio: 11 / 20;
    max-height: 100%;
  }
}


.js .rn__figure.fx-stagger > * {
  animation-name: none;
  opacity: 0;
}


.js .rn__figure.fx-stagger > .rn__layer--her {
  transform: translateY(4.5rem) scale(0.97);
  transition: opacity 600ms cubic-bezier(0.2, 0.7, 0.3, 1),
              transform 900ms cubic-bezier(0.16, 0.84, 0.28, 1);
  
  transition-delay: 900ms;
}


.js .rn__figure.fx-stagger > .rn__layer--ball {
  transform-origin: 74% 19%;
  transform: translateY(16%) scale(0.62) rotate(-115deg);
  transition: opacity 400ms cubic-bezier(0.2, 0.7, 0.3, 1),
              transform 1100ms cubic-bezier(0.22, 0.9, 0.3, 1.32);
  
  transition-delay: 1400ms;
}

.js .rn__figure.fx-stagger > .is-in-view {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .js .rn__figure.fx-stagger > * {
    opacity: 1;
    transform: none;
    transition: none;
    transition-delay: 0s;
  }
}



.rn__lede {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: var(--leading-body);
  margin: 0;
  max-width: 52ch;
}


.rn__name {
  font-family: var(--font-quote);
  font-weight: 700;
  font-style: italic;
  font-size: var(--step-2);
  line-height: 1.2;
  margin: var(--space-2xs) 0 0;
  padding: var(--space-2xs) var(--space-m);
  margin-inline-end: calc(var(--margin-inline) * -1);
}



@media (max-width: 899.98px) {
  
  .rn__hero-inner { row-gap: 0; }
  .rn__name {
    order: -1;
    margin-block: 0 var(--space-m);
    margin-inline: calc(var(--margin-inline) * -1);
  }
}


.rn__quote {
  margin: 0;
  max-width: none;
}
.rn__quote blockquote {
  margin: 0;
  border: 0;
  padding: 0;
}
.rn__quote blockquote p {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.55;
  max-width: 52ch;
}



.rn__logos {
  list-style: none;
  margin: var(--space-s) 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-m);
}
.rn__logo { margin: 0; }
.rn__logo img {
  display: block;
  width: 100%;
  height: auto;
}
.rn__logo--ncaa   { flex: 0 1 9.5rem; max-width: 9.5rem; }
.rn__logo--mascac { flex: 0 1 8.9rem; max-width: 8.9rem; }
.rn__logo--ram    { flex: 0 1 6.6rem; max-width: 6.6rem; }

.rn__logo--ram { margin-inline-start: var(--space-l); }


@media (max-width: 899.98px) {
  .rn__logos {
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-s);
    
    max-width: 22rem;
  }
  @media (min-width: 600px) {
    .rn__logos { max-width: 30rem; }
  }
  .rn__logo--ram { margin-inline-start: 0; }
  .rn__logo--ncaa   { flex: 0 1 38%; max-width: 38%; }
  .rn__logo--mascac { flex: 0 1 35%; max-width: 35%; }
  .rn__logo--ram    { flex: 0 1 26%; max-width: 26%; }
}


.js .rn__logos.fx-stagger > * {
  animation-name: none;
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 400ms cubic-bezier(0.2, 0.7, 0.3, 1),
              transform 600ms cubic-bezier(0.34, 1.42, 0.64, 1);
}
.js .rn__logos.fx-stagger > *:nth-child(2) { transition-delay: 160ms; }
.js .rn__logos.fx-stagger > *:nth-child(3) { transition-delay: 320ms; }
.js .rn__logos.fx-stagger > .is-in-view {
  opacity: 1;
  transform: scale(1);
}
@media (prefers-reduced-motion: reduce) {
  .js .rn__logos.fx-stagger > * {
    opacity: 1;
    transform: none;
    transition: none;
    transition-delay: 0s;
  }
}




.rn__sports {
  padding-block: var(--space-3xl) var(--space-3xl);
  margin-inline: calc(var(--margin-inline) * -1);
  padding-inline: var(--margin-inline);
  position: relative;
  
  z-index: 2;
}


@media (max-width: 899.98px) {
  .rn__right { padding-bottom: 0; }
  .rn__sports { padding-block: var(--space-l) var(--space-2xl); }
}

@media (min-width: 900px) {
  
  
  .rn__sports { padding-right: calc(var(--stripe) + var(--space-2xs)); }

  .rn__sports-inner {
    display: grid;
    
    grid-template-columns: minmax(0, 45fr) minmax(0, 55fr);
    column-gap: var(--space-m);
  }
  .rn__groups { grid-column: 2; }
}


.rn__groups {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-l) var(--space-xl);
  align-items: start;
}
@media (min-width: 600px) {
  .rn__groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1330px) {
  .rn__groups {
    
    
    grid-template-columns:
      minmax(0, 1.58fr) minmax(0, 1.15fr) minmax(0, 1.33fr) minmax(0, 1fr);
    
    grid-template-rows: auto auto;
    
    column-gap: var(--space-s);
  }
  .rn__group:nth-child(1) { grid-column: 1; grid-row: 1 / 3; }
  .rn__group:nth-child(2) { grid-column: 2; grid-row: 1 / 3; }
  .rn__group:nth-child(3) { grid-column: 3; grid-row: 1; }  
  .rn__group:nth-child(4) { grid-column: 3; grid-row: 2; }  
  .rn__group:nth-child(5) { grid-column: 4; grid-row: 1 / 3; }  
}

.rn__group { min-width: 0; }


.rn__group-heading {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  
  font-size: 1.1875rem;
  line-height: 1.15;
  text-transform: uppercase;
  
  letter-spacing: 0.015em;
  
  hyphens: auto;
  overflow-wrap: break-word;
  color: var(--c-gold);
  margin: 0 0 var(--space-2xs);
}

.rn__list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.4;
}
.rn__list li {
  position: relative;
  padding-inline-start: 1em;
  margin-bottom: var(--space-3xs);
}
.rn__list li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0.55em;
  width: 0.32em;
  height: 0.32em;
  border-radius: 50%;
  background: var(--c-gold);   
}

.rn__list i { font-style: italic; }





.coa__backdrop {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.coa__backdrop-photo {
  position: absolute;
  inset: 0;
  margin: 0;
  z-index: -1;
  pointer-events: none;
}
.coa__backdrop-photo picture { display: contents; }
.coa__backdrop-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}


.coa__stripe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: var(--stripe);
  background: var(--c-gold);
  
  z-index: 2;
  pointer-events: none;
}
.coa__stripe--left { left: 0; }
.coa__stripe--right { right: 0; }




.coa__row {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  background: var(--surface-ink);
  color: var(--on-ink);
  overflow: hidden; 
}
@media (min-width: 900px) {
  .coa__row {
    
    grid-template-columns: 1.22fr 0.78fr;
    align-items: stretch;
    
    min-height: calc(45vw + 36rem);
  }
}


.coa__row-photo { margin: 0; }
.coa__row-photo picture { display: contents; }
.coa__row-photo img {
  width: 100%;
  display: block;
  aspect-ratio: 3 / 2;
  height: auto;
  object-fit: cover;
  
  
  object-position: 100% top;
}
@media (min-width: 900px) {
  .coa__row-photo {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 0;
  }
  .coa__row-photo img {
    
    aspect-ratio: 1294 / 1000;
  }
}


.coa__photo-col {
  position: relative;
  
  min-width: 0;
  
  z-index: 2;
  
}

.coa__title {
  position: relative;
  z-index: 1;
  padding: var(--space-2xl) var(--margin-inline) 0;
  text-transform: uppercase;
  color: var(--c-paper);
}

@media (min-width: 900px) {
  .coa__title {
    padding-top: var(--space-l);
  }
}
.coa__title-gold { color: var(--c-gold); }

.coa__ink-col {
  position: relative;
  z-index: 1;
  min-width: 0; 
  padding: var(--space-2xl) var(--margin-inline);
}

@media (min-width: 900px) {
  .coa__ink-col.s-ink {
    background: color-mix(in srgb, var(--c-black) 69%, transparent);
  }
}
.coa__ink-col section + section {
  margin-top: var(--space-xl);
}


.coa__ink-col h2 {
  font-size: var(--step-1);
  letter-spacing: 0.02em;
  color: var(--c-gold);
  text-transform: uppercase;
}


.coa__lede {
  color: var(--c-gold);
  margin-bottom: var(--space-xl);
}


.coa__steps > li::before {
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  min-width: 0;
  padding-bottom: 0;
  font-size: 1.25rem;
  border-radius: 50%;
  border-bottom: none;
  background: var(--c-gold);
  color: var(--c-black);
}


.coa__steps {
  grid-template-columns: 1fr;
  
  margin-top: var(--space-l);
}


.coa__steps > li {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: var(--space-m);
  row-gap: var(--space-3xs);
  align-items: start;
}
.coa__steps > li::before {
  grid-column: 1;
  grid-row: 1 / 3;
}
.coa__steps > li h3 {
  grid-column: 2;
  grid-row: 1;
  text-transform: uppercase;
}
.coa__steps > li p {
  grid-column: 2;
  grid-row: 2;
}


.coa__contact {
  margin-top: var(--space-s);
  line-height: var(--leading-tight, 1.35);
}

.coa__contact a {
  text-decoration: none;
  display: inline-block;
  padding-block: 0.1875rem;
}
.coa__contact a:hover,
.coa__contact a:focus-visible { text-decoration: underline; }
.coa__contact-mail {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
}




@media (min-width: 900px) {
  .coa__cost-table {
    position: absolute;
    left: 0;
    bottom: 0;
    
    width: 100%;
    z-index: 1;
  }
  
  .coa__cost-table > .section { padding-inline: var(--space-l); }
  
}

.coa__cost-table .p-cost td { white-space: nowrap; }

.coa__cost-table .p-cost tbody th,

.coa__cost-table .p-cost tbody tr:last-child th {
  font-size: calc(var(--text-base) * 0.875);
}


.coa__cost-table .p-cost caption { color: var(--c-gold); }
.coa__cost-table .p-cost tbody tr:last-child td { color: var(--c-gold); }

@media (min-width: 1200px) {
  .coa__cost-table .p-cost td { font-size: var(--step-1); }
  .coa__cost-table .p-cost tbody tr:last-child td { font-size: var(--step-2); }
}


.js .coa__cost-table.fx-slide-from-bottom {
  animation-name: none;
  opacity: 0;
  transform: translateY(40%);
  transition:
    opacity 700ms cubic-bezier(0.2, 0.7, 0.3, 1),
    transform 900ms cubic-bezier(0.2, 0.7, 0.3, 1);
}
.js .coa__cost-table.fx-slide-from-bottom.is-in-view {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .js .coa__cost-table.fx-slide-from-bottom {
    opacity: 1;
    transform: none;
    transition: none;
  }
}


.coa__cost-title {
  font-family: var(--font-display);
  font-size: var(--step-1);
  font-weight: var(--weight-display);
  line-height: var(--leading-display);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--c-gold);
  margin: 0 0 var(--space-2xs);
}



.coa__cost-table .p-cost {
  border-collapse: separate;
  border-spacing: var(--space-2xs) 0;
}
.coa__cost-table .p-cost :is(th, td) { border-bottom: none; }
.coa__cost-table .p-cost thead th { border-bottom: none; }
.coa__cost-table .p-cost tbody tr:not(:last-child) th[scope="row"] {
  border-bottom: 1px solid var(--c-gold);
}
.coa__cost-table .p-cost tbody tr:last-child td {
  border-top: 1px solid var(--c-gold);
}


.coa__cost-table .p-cost td { text-align: right; }
.coa__cost-table .p-cost thead th[scope="colgroup"] { text-align: left; }
.coa__cost-table .p-cost thead th[scope="col"] { text-align: right; }



.coa__cost-table .p-cost th[scope="row"] {
  
  width: 100%;
  text-align: left;
  line-height: 1.25;
}




.coa__cost-table .p-cost { max-width: 52rem; }


.coa__cost-table .p-cost { min-width: min-content; }


.coa__cost-table .p-cost :is(th, td) {
  padding-block: var(--space-3xs);
  padding-inline: var(--space-3xs);
}



@media (min-width: 900px) {
  .coa__cost-title {
    white-space: nowrap;
    font-size: min(var(--step-1), 2.09vw);
  }
}


@media (max-width: 899px) {
  .coa__cost-table .p-cost {
    display: block;
    min-width: 0;
    max-width: none;
    border-spacing: 0;
  }
  .coa__cost-table .p-cost thead,
  .coa__cost-table .p-cost tbody { display: block; }

  .coa__cost-table .p-cost tr {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: var(--space-2xs);
    align-items: baseline;
  }

  
  .coa__cost-table .p-cost thead th[scope="colgroup"] { grid-column: 1 / 3; }
  .coa__cost-table .p-cost thead td { display: none; }

  

  
  .coa__cost-table .p-cost th[scope="row"] {
    grid-column: 1 / -1;
    width: auto;
    padding-top: var(--space-3xs);
    padding-bottom: var(--space-2xs);
    border-bottom: 1px solid var(--c-gold);
  }
  .coa__cost-table .p-cost tbody tr:last-child th[scope="row"] {
    border-bottom: none;
  }
  
  .coa__cost-table .p-cost tbody tr:last-child td { border-top: none; }

  
  .coa__cost-table .p-cost tbody td { text-align: right; width: auto; }
  .coa__cost-table .p-cost tbody tr { margin-top: var(--space-2xs); }
}


.js .id__visit.fx-nudge {
  opacity: 0;
  transform: translateY(1.5rem);
  transition:
    opacity 600ms cubic-bezier(0.2, 0.7, 0.3, 1) 1200ms,
    transform 600ms cubic-bezier(0.2, 0.7, 0.3, 1) 1200ms;
}
.js .id__visit.fx-nudge.is-in-view {
  opacity: 1;
  transform: none;
  
  animation: fx-nudge 700ms cubic-bezier(0.36, 0.07, 0.19, 0.97) 1900ms 1;
}
@media (prefers-reduced-motion: reduce) {
  .js .id__visit.fx-nudge {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .js .id__visit.fx-nudge.is-in-view { animation: none; }
}



.id__page {
  position: relative;
  background: var(--surface-ink);
  color: var(--on-ink);
  overflow: hidden;
}


.id__photo { display: block; margin: 0; }

.id__photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: 50% 30%;
  transform: scaleX(-1);
}
@media (min-width: 900px) {
  .id__photo {
    position: absolute;
    inset: 0;
    z-index: 0;
  }
  .id__photo img {
    height: 100%;
    aspect-ratio: auto;
  }
}


.id__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  
  background: linear-gradient(
    to right,
    color-mix(in srgb, var(--c-olive) 90%, transparent) 0%,
    color-mix(in srgb, var(--c-olive) 90%, transparent) 20%,
    transparent 42%
  );
}



.id__stripe {
  position: absolute;
  top: 0;
  right: 0;
  width: var(--stripe);
  height: 58.3%;
  z-index: 3;
  background: var(--c-gold);
}

@media (min-width: 900px) {
  .id__stripe {
    position: static;
    grid-column: 2;
    grid-row: 1 / 3;
    justify-self: end;
    align-self: stretch;
    height: auto;
  }
}


.id__col {
  position: relative;
  z-index: 2;
  padding: var(--space-l) var(--margin-inline) var(--space-2xl);
}

@media (min-width: 900px) {
  .id__page {
    display: grid;
    grid-template-columns: 45.5% minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr) auto;
  }
  .id__col {
    grid-column: 1;
    grid-row: 1 / -1;
    max-width: none;
    padding-bottom: var(--space-2xl);
  }
}
.id__col section + section { margin-top: var(--space-l); }


.id__title {
  text-transform: uppercase;
  color: var(--c-paper);
  margin-bottom: var(--space-l);
}

@media (min-width: 900px) {
  .id__title {
    white-space: nowrap;
    font-size: min(var(--step-4), 4.21vw);
  }

  
  .id__title,
  .id__visit {
    background: color-mix(in srgb, var(--c-olive) 90%, transparent);
    padding: var(--space-s) var(--space-l);
    margin-left: calc(-1 * var(--space-l));
  }

  
  .id__title {
    width: max-content;
    max-width: none;
  }
  
  .id__visit {
    width: fit-content;
    max-width: 100%;
  }

  
  
  .id__dates { max-width: 19vw; }
  
  .id__col > section p { max-width: 40ch; }
  
  .id__group,
  .id__visit-title { white-space: nowrap; }
  .id__col > section + section { margin-top: var(--space-l); }
}
.id__title-gold { color: var(--c-gold); }


.id__group,
.id__visit-title { color: var(--c-gold); text-transform: uppercase; }

.id__group,
.id__visit-title { font-size: var(--step-1); }

.id__visit-title { margin-bottom: var(--space-s); }



.id__dates {
  display: block;
  margin-top: var(--space-s);
}
.id__dates dt {
  font-weight: 700;
  margin-top: var(--space-xs);
}
.id__dates dt:first-of-type { margin-top: 0; }
.id__dates dd { margin: 0; }

.id__visit-url a {
  color: var(--c-gold);
  font-weight: 700;
  
}



.id__stat {
  position: relative;
  z-index: 2;
  margin: 0 var(--margin-inline) var(--space-l) auto;
  width: max-content;
  padding: var(--space-s) var(--space-m);
  text-align: center;
}
@media (min-width: 900px) {
  .id__stat {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    
    margin: 0 6.4% 0 0;
    padding: var(--space-m) var(--space-s) var(--space-s);
    min-width: 13%;
  }
}
.id__stat-inner { margin: 0; }


.id__stat-inner { display: flex; flex-direction: column; align-items: center; }
.id__stat-value {
  margin: 0;
  
  font-family: var(--font-quote), Georgia, serif;
  font-weight: 700;
  font-size: var(--step-3);
  line-height: var(--leading-display);
}
.id__stat-label {
  font-family: var(--font-quote);
  font-weight: 700;
  line-height: 1.2;
  
  
  max-width: 12ch;
  margin-inline: auto;
}



.id__panel {
  position: relative;
  z-index: 2;
  padding: var(--space-l) var(--margin-inline);
}
@media (min-width: 900px) {
  

  .id__panel {
    grid-column: 2;
    grid-row: 3;
    align-self: end;
    
    justify-self: end;
    
    --id-card-w: min(48.5vw, 40rem);
    width: calc(var(--id-card-w) + 2 * var(--space-l));
    padding: var(--space-l);
  }
}





.id__card {
  margin: 0;
  
  max-width: none;
  border: 2px solid var(--c-gold);
  padding: 0;
  display: grid;
  gap: 0;
}
.id__card-text { padding: var(--space-m) var(--space-m) var(--space-m) var(--space-l); }

.id__card blockquote p {
  font-family: var(--font-body);
  font-weight: 400;
  font-style: normal;
  font-size: 1.125rem;
  line-height: 1.55;
  margin: 0;
}

.id__card blockquote {
  position: relative;
  padding-top: var(--space-m);
}
.id__card blockquote::before {
  content: "";
  position: absolute;
  top: -0.65rem;
  left: 0;
  width: 2.5rem;
  height: 2rem;
  background-color: currentColor;
  mask-image: url("../assets/img/quote-mark.svg");
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-image: url("../assets/img/quote-mark.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  color: currentColor;
  pointer-events: none;
}
.id__card .p-quote__name {
  font-family: var(--font-quote);
  font-weight: var(--weight-display);
  font-size: var(--step-0);
  line-height: 1.15;
}
.id__card .p-quote__title {
  font-size: var(--text-base);
  color: inherit;
  font-weight: 400;
  line-height: 1.15;
}

@media (min-width: 900px) {
  .id__card { max-width: var(--id-card-w); }
}

@media (min-width: 700px) {
  .id__card {
    
    
    grid-template-columns: minmax(0, 10.5rem) minmax(0, 1fr);
    align-items: stretch;
  }
}

.id__card-photo {
  display: block;
  position: relative;
  overflow: hidden;
}
.id__card-photo img {
  display: block;
  position: absolute;
  top: 0;
  
  
  max-width: none;
  height: 128%;
  width: auto;
  left: 50%;
  transform: translateX(-24%);
}
.id__card-text > :first-child { margin-top: 0; }
.id__card figcaption { margin-top: var(--space-s); }


@media (max-width: 899.98px) {
  
  .id__scrim { display: none; }
  
  .id__col { background: color-mix(in srgb, var(--c-olive) 92%, var(--c-black)); }
  .id__stripe { height: 100%; }

  
  
  .id__card-photo { aspect-ratio: 3 / 4; }

  .id__stat {
    position: absolute;
    top: 0;
    
    left: 0;
    right: auto;
    margin: 0;
    z-index: 4;
    
    padding: var(--space-s);
  }
}
