html body {
  margin: 0;
  overflow: hidden overlay;
  background-color: #f8f8f8;
}
html body, html body a, html body button, html body h2, html body span {
  color: black;
  font: italic 15px "freight-text-pro", "source-serif-4", serif;
  letter-spacing: 0.13rem;
  line-height: 20px;
}
html body.greek, html body a.greek, html body button.greek, html body h2.greek, html body span.greek {
  font-size: 14.5px;
}
html.black body {
  background-color: black;
}
html.black, html.black body, html.black h2, html.black p, html.black a, html.black button, html.black span {
  color: white;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  border: 0;
}

li {
  display: block;
  text-align: center;
  color: transparent;
  transform: translateX(max(0px, -100vh + 50vw));
}
@media (max-aspect-ratio: 1.2), only screen and (max-width: 1000px) {
  li {
    transform: unset;
  }
}
li img {
  transition: opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1);
  user-select: none;
}
li img:not(.vector) {
  opacity: 0;
}
li img:nth-child(2) {
  position: absolute;
  transform: translateX(-100%);
  pointer-events: none;
}

#right-nav {
  position: fixed;
}
#right-nav.un-fixed {
  position: absolute;
}
@media (max-aspect-ratio: 1.2), only screen and (max-width: 1000px) {
  #right-nav.un-fixed {
    position: relative;
  }
}
#right-nav *:focus-visible {
  outline: 1px solid currentColor;
  text-decoration: none;
}
#right-nav {
  left: calc(min(150vh - max(3vh, 2rem), 100vw - max(3vh, 2rem) * 1.5 - min(18rem, 80vw)) + max(0px, -100vh + 50vw));
  padding: max(max(3vh, 2rem) * 1.25, -20vw + 40vh) 2rem 0;
  margin-left: -2rem;
  width: min(18rem, 80vw);
  height: calc(100vh - max(max(3vh, 2rem) * 1.25, -20vw + 40vh));
  display: flex;
  flex-direction: column;
  overflow: hidden auto;
}
#right-nav #wordmark {
  cursor: pointer;
  width: min(9.1rem, 75%);
  padding-left: 0.25rem;
}
#right-nav #menu {
  margin: 0.5rem 0;
}
#right-nav #menu #ig {
  position: absolute;
  inset: calc(max(max(3vh, 2rem) * 1.25, -20vw + 40vh) + 4.55rem) auto auto calc(min(18rem, 80vw) + 0.5rem);
  width: 2rem;
  height: 2rem;
}
#right-nav #menu #ig svg {
  stroke-width: 1.7;
  rotate: -18deg;
  width: 1.3em;
  margin: 50%;
  translate: -43% -48%;
}
@media (max-aspect-ratio: 1.2), only screen and (max-width: 1000px) {
  #right-nav #menu #ig {
    top: calc(max(12vh, 5rem) + 4.55rem);
  }
}
#right-nav #menu h2 {
  font-weight: 600;
  margin-bottom: 0;
}
#right-nav #menu .tab-label:active, #right-nav #menu #ig:active {
  opacity: 0.65;
}
#right-nav #menu .tab-label, #right-nav #menu h2 {
  padding: 0.1rem 0.3rem 0.1rem;
}
#right-nav #menu .tab-label {
  cursor: pointer;
  display: inline-block;
  user-select: none;
  white-space: initial;
  margin-top: min(0.8rem, 7vw);
}
#right-nav #menu .tab-label:is(button) {
  background-color: Transparent;
  background-repeat: no-repeat;
  border: none;
  overflow: hidden;
  outline: none;
  height: 2.2rem;
  padding: 0;
  margin: 0.3rem -0.5rem 0;
  padding: 0 0.5rem;
  width: calc(min(18rem, 80vw) + 1rem);
}
#right-nav #menu .tab-label:is(button) p {
  position: absolute;
  margin: 0;
  padding: 0 0.3rem;
}
#right-nav #menu .tab-label:is(button):focus-visible p {
  outline: 1px solid currentColor;
  text-decoration: none;
}
#right-nav #menu .tab-label .chevron {
  float: right;
  transform: translateY(0.15rem);
  margin-top: 0.36rem;
  width: 0.5em;
}
#right-nav #menu .nav-content {
  display: none;
  margin: 1.5rem 0.3rem;
}
#right-nav #menu .nav-content, #right-nav #menu .nav-content img {
  width: min(18rem, 80vw);
}
#right-nav #menu .nav-content img {
  pointer-events: none;
}
#right-nav .project-text {
  position: relative;
  width: 100%;
  padding: 1rem 0 1rem 0.3rem;
  text-align: justify;
  letter-spacing: 0.09rem;
  line-height: 26px;
}
@media (max-aspect-ratio: 1.2), only screen and (max-width: 1000px) {
  #right-nav {
    position: relative;
    inset: 0 calc(50vw - min(18rem, 80vw) / 2);
    padding-top: max(12vh, 5rem);
    height: unset;
  }
  #right-nav #project-text {
    margin-bottom: unset;
  }
}
#right-nav.yellow h2, #right-nav.yellow p, #right-nav.yellow a, #right-nav.yellow button, #right-nav.yellow span, #right-nav.yellow div {
  color: #FFD538;
}
#right-nav.red h2, #right-nav.red p, #right-nav.red a, #right-nav.red button, #right-nav.red span, #right-nav.red div {
  color: #E70000;
}
#right-nav.blue h2, #right-nav.blue p, #right-nav.blue a, #right-nav.blue button, #right-nav.blue span, #right-nav.blue div {
  color: #005498;
}
#right-nav.green h2, #right-nav.green p, #right-nav.green a, #right-nav.green button, #right-nav.green span, #right-nav.green div {
  color: #1BA300;
}

.full-bleed li img {
  width: 100% !important;
}

#banner, #gallery {
  width: min(150vh - max(3vh, 2rem), 100vw - max(3vh, 2rem) * 1.5 - min(18rem, 80vw));
  position: relative;
}
#banner img, #gallery img {
  width: min(100vw - 2 * max(3vh, 2rem), 64vh);
}
#banner li.wide img, #gallery li.wide img {
  width: calc(min(150vh - max(3vh, 2rem), 100vw - max(3vh, 2rem) * 1.5 - min(18rem, 80vw)) - 2 * max(3vh, 2rem));
}
@media (max-aspect-ratio: 1.2), only screen and (max-width: 1000px) {
  #banner li.wide img, #gallery li.wide img {
    padding: unset;
    width: calc(100vw - 2 * max(3vh, 2rem));
  }
}

#banner {
  cursor: pointer;
}
@media (max-aspect-ratio: 1.2), only screen and (max-width: 1000px) {
  #banner {
    width: 100vw;
  }
}
#banner li {
  padding-top: 1rem;
  min-height: 100vh;
}
#banner li.wide img {
  padding-top: calc(max(max(3vh, 2rem) * 1.25, -20vw + 40vh) - 0.6rem - 1rem);
}
@media (max-aspect-ratio: 1.2), only screen and (max-width: 1000px) {
  #banner li {
    min-height: unset;
  }
  #banner li.wide img {
    padding-top: 10vh;
  }
}

#gallery {
  padding: 0 0 calc(max(3vh, 2rem) / 2);
  margin: 0;
  list-style-type: none;
}
#gallery li {
  margin-top: calc(max(3vh, 2rem) / 1.5);
}
@media (max-aspect-ratio: 1.2), only screen and (max-width: 1000px) {
  #gallery li {
    width: 100vw;
    margin-top: min((100vw - min(100vw - 2 * max(3vh, 2rem), 64vh)) / 2, max(3vh, 2rem));
  }
}
#gallery li.full-width img {
  width: 100vw;
}
#gallery li.wide:last-of-type img {
  margin-bottom: calc(max(3vh, 2rem) / 2);
}

#project {
  width: min(150vh - max(3vh, 2rem), 100vw - max(3vh, 2rem) * 1.5 - min(18rem, 80vw));
  position: absolute;
  inset: max(3vh, 2rem) 0;
  left: max(0px, -100vh + 50vw);
}
@media (max-aspect-ratio: 1.2), only screen and (max-width: 1000px) {
  #project {
    left: unset;
  }
}
#project li {
  height: calc(100vh - max(3vh, 2rem) - 4rem);
}
#project li img {
  object-fit: contain;
}
#project li:not(.wide) img {
  max-width: min(100vw - 2 * max(3vh, 2rem), 64vh);
  height: 100%;
}
#project li.wide img {
  width: calc(min(150vh - max(3vh, 2rem), 100vw - max(3vh, 2rem) * 1.5 - min(18rem, 80vw)) - 2 * max(3vh, 2rem));
}
@media (max-aspect-ratio: 1.2), only screen and (max-width: 1000px) {
  #project li.wide img {
    padding: unset;
    width: calc(100vw - 2 * max(3vh, 2rem));
  }
}
#project li.wide img {
  max-height: calc(100vh - max(3vh, 2rem) - 4rem);
  padding-top: calc(max(max(3vh, 2rem) * 1.25, -20vw + 40vh) - 0.6rem - max(3vh, 2rem));
}
#project #project-nav {
  opacity: 0;
  transition: opacity 0.25s cubic-bezier(0.61, 1, 0.88, 1);
  display: flex;
  justify-content: center;
  user-select: none;
}
#project #project-nav .sides {
  position: fixed;
  inset: 0;
  width: calc(min(150vh - max(3vh, 2rem), 100vw - max(3vh, 2rem) * 1.5 - min(18rem, 80vw)) / 2);
  opacity: 0;
  z-index: 1;
  cursor: pointer;
}
#project #project-nav .sides:nth-of-type(2) {
  translate: 100%;
}
#project #project-nav .sides:nth-of-type(1):hover ~ label:nth-of-type(1), #project #project-nav .sides:nth-of-type(1):focus-visible ~ label:nth-of-type(1), #project #project-nav .sides:nth-of-type(2):hover ~ label:nth-of-type(2), #project #project-nav .sides:nth-of-type(2):focus-visible ~ label:nth-of-type(2) {
  text-decoration: underline;
}
@media (max-aspect-ratio: 1.2), only screen and (max-width: 1000px) {
  #project #project-nav .sides {
    position: absolute;
    width: 50%;
  }
}
#project #project-nav label, #project #project-nav p {
  font-variant-numeric: lining-nums;
  margin: 0 min(2rem, 4.5vw);
  height: 4rem;
  display: flex;
  align-items: center;
}
#project #project-nav p {
  display: none !important;
}
@media (max-aspect-ratio: 1.2), only screen and (max-width: 1000px) {
  #project {
    position: relative;
    width: calc(100vw - 2 * max(3vh, 2rem));
    margin: 10vh max(3vh, 2rem) 0;
  }
  #project li.wide img {
    padding-top: 0;
    max-height: calc(100% - max(3vh, 2rem) / 2);
    object-position: center;
    height: 100%;
  }
  #project li.wide img:nth-child(2) {
    position: relative;
  }
  #project li:not(.wide) img {
    max-width: 100%;
  }
}

/*# sourceMappingURL=styles.css.map */
