@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("fonts/outfit-latin.woff2") format("woff2");
}

html {
  font-synthesis: none;
}

* {
  box-sizing: border-box;
}

body {
  min-height: 100vh;
  margin: 0;
  padding: 1rem;
  background: #fff;
  color: #181311;
}

.temporary-landing-page-document {
  background-color: #eef6ff;
  font-family: "Outfit", Arial, sans-serif;
  margin: 0;
  padding: 0;
}

.temporary-landing-page {
  --third-y: calc(100vh / 3);
  --nudge-y: 3.5rem;
  --mark-y: calc(var(--third-y) - var(--nudge-y));
  --content-width: 30rem;
  /* Left-justified column. Keep text alignment; translate the whole lockup
     so its visual center sits on Grant's right tick (~9vw / 9.7rem). */
  --offset-x: clamp(4.5rem, 8vw, 9rem);
  --shift-right: clamp(8.5rem, 9vw, 10rem);
  --mark-x: max(1.5rem, calc((100vw - var(--content-width)) / 2 - var(--offset-x) + var(--shift-right)));
  box-sizing: border-box;
  min-height: 100vh;
  min-height: 100svh;
  padding: var(--mark-y) 1.5rem 3rem var(--mark-x);
  position: relative;
}

.temporary-landing-page::before,
.temporary-landing-page::after {
  background-color: #0b4f8a;
  content: "";
  opacity: 0.1;
  pointer-events: none;
  position: fixed;
  z-index: 0;
}

.temporary-landing-page::before {
  height: 1px;
  left: 0;
  top: var(--mark-y);
  width: 100%;
}

.temporary-landing-page::after {
  height: 100%;
  left: var(--mark-x);
  top: 0;
  width: 1px;
}

.temporary-landing-page__content {
  box-sizing: border-box;
  display: grid;
  gap: 0.75rem;
  isolation: isolate;
  justify-items: start;
  padding: 0.7rem 0 0 1.15rem;
  position: relative;
  text-align: left;
  width: min(var(--content-width), 100%);
  z-index: 1;
}

.temporary-landing-page__content > * {
  position: relative;
  z-index: 1;
}

.temporary-landing-page p.temporary-landing-page__brand {
  color: #2f74ad;
  font-size: clamp(1.15rem, 3vw, 1.5rem);
  font-weight: 700;
  letter-spacing: 0.42em;
  margin: 0 0 0.25rem;
  text-transform: uppercase;
  white-space: nowrap;
}

.temporary-landing-page h1 {
  color: #073b73;
  display: flex;
  font-family: "Outfit", Arial, sans-serif;
  font-size: clamp(2.75rem, 7vw, 4rem);
  font-weight: 800;
  justify-content: space-between;
  letter-spacing: normal;
  line-height: 0.95;
  margin: 0 0 0.8rem;
  width: 100%;
}

.temporary-landing-page__title-space {
  flex: 0 0 0.25em;
}

.temporary-landing-page__ellipsis-dot--second,
.temporary-landing-page__ellipsis-dot--third {
  animation-duration: 2.1s;
  animation-iteration-count: infinite;
  animation-timing-function: steps(1, end);
}

.temporary-landing-page__ellipsis-dot--second {
  animation-name: temporary-landing-page-ellipsis-second;
}

.temporary-landing-page__ellipsis-dot--third {
  animation-name: temporary-landing-page-ellipsis-third;
}

@keyframes temporary-landing-page-ellipsis-second {
  0%,
  33.332% {
    opacity: 0;
  }

  33.333%,
  100% {
    opacity: 1;
  }
}

@keyframes temporary-landing-page-ellipsis-third {
  0%,
  66.666% {
    opacity: 0;
  }

  66.667%,
  100% {
    opacity: 1;
  }
}

.temporary-landing-page p {
  color: #4e7899;
  font-size: 1rem;
  font-family: "Outfit", Arial, sans-serif;
  font-weight: 400;
  letter-spacing: 0.035em;
  margin: 0.5rem 0;
}

.temporary-landing-page__location {
  display: grid;
  gap: 0.75rem;
  margin-top: 1rem;
  width: 100%;
}

.temporary-landing-page p.temporary-landing-page__caption {
  font-size: 0.8rem;
  font-style: italic;
  letter-spacing: 0.02em;
  margin: 0;
  white-space: nowrap;
}

.temporary-landing-page__maps-link {
  align-items: center;
  background-color: #2f74ad;
  border-radius: 4px;
  box-sizing: border-box;
  color: #ffffff;
  display: inline-flex;
  font-family: "Outfit", Arial, sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  justify-content: center;
  justify-self: start;
  letter-spacing: 0.02em;
  padding: 0.9rem 1rem;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  width: 100%;
}

.temporary-landing-page__maps-link svg {
  height: 0.85rem;
  position: absolute;
  right: 1rem;
  width: 0.85rem;
}

.temporary-landing-page__maps-link span {
  transform: translateX(-0.35rem);
}

.temporary-landing-page__maps-link:hover,
.temporary-landing-page__maps-link:focus-visible {
  background-color: #245f91;
}

.temporary-landing-page a:not(.temporary-landing-page__maps-link) {
  color: inherit;
  text-decoration: none;
}

.temporary-landing-page a:not(.temporary-landing-page__maps-link):hover,
.temporary-landing-page a:not(.temporary-landing-page__maps-link):focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.14em;
}

@media (max-width: 48rem) {
  .temporary-landing-page {
    display: grid;
    padding: 2rem 0 3rem;
    place-items: center;
  }

  .temporary-landing-page::before,
  .temporary-landing-page::after {
    display: none;
  }

  .temporary-landing-page__content {
    justify-items: start;
    padding: 0 1.5rem;
    text-align: left;
    width: min(var(--content-width), 100%);
  }

  .temporary-landing-page p.temporary-landing-page__caption {
    white-space: normal;
  }

  .temporary-landing-page h1 {
    font-size: clamp(2rem, 9vw, 2.75rem);
  }

  .temporary-landing-page p.temporary-landing-page__brand {
    letter-spacing: 0.28em;
  }
}

@media (prefers-reduced-motion: reduce) {
  .temporary-landing-page__ellipsis-dot--second,
  .temporary-landing-page__ellipsis-dot--third {
    animation: none;
    opacity: 1;
  }
}
