.landing {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: unset;
  background-image: url("/uploads/dhVEG-zpwV4GV3dreOHCO-bg-body.png");
  background-position-x: center;
  background-position-y: center;
  overflow-x: hidden;
  overflow-y: hidden;
  isolation: isolate;
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: auto;
  height: 100vh;
  width: 100vw;
  object-fit: fill;
  background-repeat: no-repeat;
}

@media (min-width: 768px) {
  .landing {
  flex-direction: row;
  min-height: unset;
  }
}

.landing-texture {
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  background-size: cover;
  background-position-x: center;
  background-position-y: center;
  mix-blend-mode: multiply;
  opacity: 0.7;
  pointer-events: none;
  z-index: 1;
}

.nav-surface {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 30px 0px 20px;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  border-bottom-right-radius: 16px;
  border-bottom-left-radius: 16px;
  background-color: rgba(231, 238, 237, 0.08);
  backdrop-filter: blur(13px);
  position: relative;
  z-index: 2;
}

@media (min-width: 768px) {
  .nav-surface {
  height: 100%;
  }
}

.nav-logo {
  width: 116px;
  height: 123px;
}

.nav-logo img {
  width: 100%;
  height: 100%;
  display: block;
}

.nav-divider {
  width: 100%;
  height: 50px;
  display: block;
}

.nav-links {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0%;
  width: 100%;
  padding: 0px;
  row-gap: 36px;
  column-gap: 36px;
}

@media (min-width: 768px) {
  .nav-links {
  display: flex;
  }
}

.nav-group {
  display: flex;
  flex-direction: column;
  row-gap: 4px;
  column-gap: 4px;
  padding: 10px 0px;
}

.nav-link {
  font-family: var(--font-sans);
  font-size: 20px;
  color: var(--text-main);
  text-decoration-line: none;
  text-decoration-thickness: initial;
  text-decoration-style: initial;
  text-decoration-color: initial;
  line-height: normal;
}

.nav-link:hover {
  color: var(--accent-main);
}

.nav-contact {
  color: var(--accent-tertiary);
}

.hero-name {
  margin: 0px;
  font-family: var(--font-mono);
  font-weight: 300;
  font-size: 72px;
  letter-spacing: -0.04em;
  color: var(--accent-main);
  white-space-collapse: collapse;
  text-wrap-mode: wrap;
  line-height: 1.05;
  padding-left: 10vw;
}

@media (min-width: 768px) {
  .hero-name {
  font-size: 140px;
  letter-spacing: -0.03em;
  padding-left: 0px;
  margin-left: calc(-320px + 12vw);
  }
}

@media (min-width: 1440px) {
  .hero-name {
  font-size: 150px;
  letter-spacing: -4.5px;
  margin-left: calc(-350px + 12vw);
  padding-left: 0px;
  }
}

.portrait {
  display: block;
  backdrop-filter: blur(13px);
  height: 500px;
  width: 600px;
}

body {
  display: flex;
  flex-direction: column;
}

.nav-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 60px;
  padding: 20px 30px;
  background-color: rgba(231, 238, 237, 0.08);
  backdrop-filter: blur(13px);
  border-top-width: medium;
  border-right-width: medium;
  border-bottom-width: medium;
  border-left-width: medium;
  border-top-style: none;
  border-right-style: none;
  border-bottom-style: none;
  border-left-style: none;
  border-top-color: currentcolor;
  border-right-color: currentcolor;
  border-bottom-color: currentcolor;
  border-left-color: currentcolor;
  border-image-source: none;
  border-image-slice: 100%;
  border-image-width: 1;
  border-image-outset: 0;
  border-image-repeat: stretch;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 16px;
  border-bottom-left-radius: 16px;
  cursor: pointer;
  position: relative;
  z-index: 1;
}

@media (min-width: 768px) {
  .nav-toggle {
  display: none;
  }
}

.nav-toggle svg {
  width: 40px;
  height: 20px;
  display: block;
}

.landing.nav-open .nav-links {
  display: flex;
}

.nav-toggle img {
  width: 40px;
  height: 20px;
  display: block;
}

.tile-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: 46px;
  height: 46px;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: rgba(20, 22, 21, 0.5);
  backdrop-filter: blur(6px);
  box-shadow: rgba(255, 255, 255, 0.25) 0px 0px 0px 1px;
  transition-behavior: normal, normal;
  transition-duration: 0.35s, 0.35s;
  transition-timing-function: ease, ease;
  transition-delay: 0s, 0s;
  transition-property: transform, background;
}

.art-tile {
  display: flex;
  flex-direction: column;
  row-gap: 7px;
  column-gap: 7px;
  cursor: zoom-in;
}

.secondary-page {
  position: relative;
}

.contact {
  color: var(--accent-tertiary);
}

.title-accent {
  color: var(--accent-tertiary);
}

.secondary-page .page-title.title-accent {
  color: var(--accent-tertiary);
}

.secondary-page .contact-form {
  display: flex;
  flex-direction: column;
  row-gap: 24px;
  column-gap: 24px;
  max-width: 540px;
  margin-top: 28px;
}

.secondary-page .cf-field {
  display: flex;
  flex-direction: column;
  row-gap: 9px;
  column-gap: 9px;
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-secondary);
}

.secondary-page .contact-form input, .secondary-page .contact-form textarea {
  font-family: var(--font-sans);
  font-size: 16px;
  letter-spacing: normal;
  text-transform: none;
  color: var(--text-main);
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: rgba(231, 238, 237, 0.08);
  border-top-width: 1px;
  border-right-width: 1px;
  border-bottom-width: 1px;
  border-left-width: 1px;
  border-top-style: solid;
  border-right-style: solid;
  border-bottom-style: solid;
  border-left-style: solid;
  border-top-color: rgba(255, 255, 255, 0.18);
  border-right-color: rgba(255, 255, 255, 0.18);
  border-bottom-color: rgba(255, 255, 255, 0.18);
  border-left-color: rgba(255, 255, 255, 0.18);
  border-image-source: none;
  border-image-slice: 100%;
  border-image-width: 1;
  border-image-outset: 0;
  border-image-repeat: stretch;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
  padding: 14px 16px;
  backdrop-filter: blur(13px);
  transition-behavior: normal, normal, normal;
  transition-duration: 0.25s, 0.25s, 0.25s;
  transition-timing-function: ease, ease, ease;
  transition-delay: 0s, 0s, 0s;
  transition-property: border-color, box-shadow, background;
}

.secondary-page .contact-form input::placeholder, .secondary-page .contact-form textarea::placeholder {
  color: rgba(224, 223, 221, 0.38);
}

.secondary-page .contact-form textarea {
  resize: vertical;
  min-height: 140px;
  line-height: 1.5;
}

.secondary-page .contact-form input:focus, .secondary-page .contact-form textarea:focus {
  outline-color: initial;
  outline-style: none;
  outline-width: initial;
  border-color: var(--accent-tertiary);
  box-shadow: rgba(33, 150, 230, 0.28) 0px 0px 22px;
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: rgba(231, 238, 237, 0.12);
}

.secondary-page .contact-form button[type="submit"] {
  align-self: flex-start;
  margin-top: 4px;
  cursor: pointer;
  font-family: var(--font-mono);
  font-size: 14px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--accent-tertiary);
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: rgba(231, 238, 237, 0.08);
  border-top-width: 1px;
  border-right-width: 1px;
  border-bottom-width: 1px;
  border-left-width: 1px;
  border-top-style: solid;
  border-right-style: solid;
  border-bottom-style: solid;
  border-left-style: solid;
  border-top-color: rgba(255, 255, 255, 0.18);
  border-right-color: rgba(255, 255, 255, 0.18);
  border-bottom-color: rgba(255, 255, 255, 0.18);
  border-left-color: rgba(255, 255, 255, 0.18);
  border-image-source: none;
  border-image-slice: 100%;
  border-image-width: 1;
  border-image-outset: 0;
  border-image-repeat: stretch;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
  padding: 14px 30px;
  backdrop-filter: blur(13px);
  transition-behavior: normal, normal, normal;
  transition-duration: 0.25s, 0.3s, 0.25s;
  transition-timing-function: ease, ease, ease;
  transition-delay: 0s, 0s, 0s;
  transition-property: border-color, box-shadow, background;
}

.secondary-page .contact-form button[type="submit"]:hover {
  border-color: var(--accent-tertiary);
  box-shadow: rgba(33, 150, 230, 0.3) 0px 0px 26px;
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: rgba(231, 238, 237, 0.12);
}

.secondary-page .contact-form button[type="submit"]:active {
  transform: translateY(1px);
}

.sw-cap {
  display: none;
}

.vid-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  row-gap: 24px;
  column-gap: 24px;
  width: 100%;
}

.vid-item {
  display: flex;
  flex-direction: column;
  row-gap: 8px;
  column-gap: 8px;
}

.vid-item iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  border-top-width: 0px;
  border-right-width: 0px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-top-style: none;
  border-right-style: none;
  border-bottom-style: none;
  border-left-style: none;
  border-top-color: currentcolor;
  border-right-color: currentcolor;
  border-bottom-color: currentcolor;
  border-left-color: currentcolor;
  border-image-source: none;
  border-image-slice: 100%;
  border-image-width: 1;
  border-image-outset: 0;
  border-image-repeat: stretch;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  border-bottom-left-radius: 8px;
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: rgb(0, 0, 0);
}

.secondary-page .right-nav {
  position: sticky;
  top: 60px;
  align-self: flex-start;
}

.site-foot {
  display: flex;
  justify-content: center;
  padding: 70px 0px 44px;
}

.to-top {
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--bg-base);
  text-decoration-line: none;
  text-decoration-thickness: initial;
  text-decoration-style: initial;
  text-decoration-color: initial;
  transition-behavior: normal, normal;
  transition-duration: 0.3s, 0.3s;
  transition-timing-function: ease, ease;
  transition-delay: 0s, 0s;
  transition-property: color, text-shadow;
}

.to-top:hover {
  color: var(--accent-main);
  text-shadow: currentcolor 0px 0px 11px;
}

.rel-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  row-gap: 24px;
  column-gap: 24px;
  width: 100%;
}

.ext-link {
  font-family: var(--font-mono);
  font-size: 16px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-main);
  text-decoration-line: none;
  text-decoration-thickness: initial;
  text-decoration-style: initial;
  text-decoration-color: initial;
  transition-behavior: normal, normal;
  transition-duration: 0.3s, 0.3s;
  transition-timing-function: ease, ease;
  transition-delay: 0s, 0s;
  transition-property: color, text-shadow;
}

.listen-links {
  display: flex;
  row-gap: 28px;
  column-gap: 28px;
}

.ext-link:hover {
  color: var(--accent-main);
  text-shadow: currentcolor 0px 0px 11px;
}

.rel-title {
  font-family: var(--font-sans);
  font-size: 21px;
  line-height: 1.25;
  color: var(--text-main);
}

.rel-cta {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--bg-base);
  transition-behavior: normal, normal;
  transition-duration: 0.3s, 0.3s;
  transition-timing-function: ease, ease;
  transition-delay: 0s, 0s;
  transition-property: color, text-shadow;
}

.rel-card {
  transition-behavior: normal;
  transition-duration: 0.35s;
  transition-timing-function: ease;
  transition-delay: 0s;
  transition-property: box-shadow;
  display: flex;
  flex-direction: column;
  row-gap: 12px;
  column-gap: 12px;
  background-image: none;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: initial;
  backdrop-filter: none;
  box-shadow: none;
  text-decoration-line: none;
  text-decoration-thickness: initial;
  text-decoration-style: initial;
  text-decoration-color: initial;
}

.rel-card:hover .rel-cta {
  color: var(--accent-main);
  text-shadow: currentcolor 0px 0px 11px;
}

.rel-cover {
  display: block;
  aspect-ratio: 1 / 1;
  overflow-x: hidden;
  overflow-y: hidden;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
  background: var(--accent-black);
  box-shadow: rgba(255, 255, 255, 0.06) 0px 0px 0px 1px;
  transition-behavior: normal;
  transition-duration: 0.35s;
  transition-timing-function: ease;
  transition-delay: 0s;
  transition-property: box-shadow;
}

.rel-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition-behavior: normal;
  transition-duration: 0.6s;
  transition-timing-function: cubic-bezier(0.2, 0.6, 0.2, 1);
  transition-delay: 0s;
  transition-property: transform;
}

.rel-card:hover .rel-cover img {
  transform: scale(1.05);
}

.rel-card:hover .rel-cover {
  box-shadow: rgba(150, 200, 205, 0.22) 0px 0px 26px;
}

.nav-logo a {
  display: block;
  width: 100%;
  height: 100%;
  transition-behavior: normal;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
  transition-property: filter;
}

.nav-logo a:hover {
  filter: drop-shadow(rgba(150, 200, 205, 0.55) 0px 0px 10px);
}

.landing .nav-cb {
  display: none;
}

@media (max-width: 1023px) {
  .landing .nav-cb {
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0px;
  width: 100px;
  height: 60px;
  margin: 0px;
  opacity: 0;
  cursor: pointer;
  z-index: 6;
  }
}

@media (max-width: 1023px) {
  .landing .nav-cb:checked ~ .nav-surface .nav-links {
  max-height: 440px;
  opacity: 1;
  }
}

@media (max-width: 1023px) {
  .landing .nav-cb:checked ~ .nav-surface .nav-divider {
  margin: 20px 0px;
  }
}

.page-artwork .nav-link[href="/artwork"] {
  color: var(--accent-main);
}

.page-music .nav-link[href="/music"] {
  color: var(--accent-main);
}

.page-student-work .nav-link[href="/student-work"] {
  color: var(--accent-main);
}

.page-professional-work .nav-link[href="/professional-work"] {
  color: var(--accent-main);
}

.rate-num {
  position: relative;
  z-index: 1;
  display: block;
}

.rate-readout {
  position: absolute;
  top: 40px;
  right: 48px;
  z-index: 4;
  pointer-events: none;
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.08em;
  color: var(--bg-base);
  text-align: right;
}

@media (max-width: 1023px) {
  .rate-readout {
  top: 24px;
  right: 24px;
  font-size: 11px;
  }
}

.landing .portrait-wrap .portrait-frost {
  transition-behavior: normal;
  transition-duration: 10s;
  transition-timing-function: ease;
  transition-delay: 0s;
  transition-property: background-color;
}

.landing .nav-surface .nav-ink {
  transition-behavior: normal;
  transition-duration: 10s;
  transition-timing-function: ease;
  transition-delay: 0s;
  transition-property: opacity;
}

.art-title {
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--text-main);
}

.art-medium {
  font-family: var(--font-sans);
  font-size: 12px;
  line-height: 1.35;
  color: var(--bg-base);
}

.artfilter .af {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0px;
  height: 0px;
}

.art-tile .sw-thumb {
  aspect-ratio: 1 / 1;
  overflow-x: hidden;
  overflow-y: hidden;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  border-bottom-left-radius: 8px;
  background: var(--accent-black);
  box-shadow: rgba(255, 255, 255, 0.06) 0px 0px 0px 1px;
  transition-behavior: normal;
  transition-duration: 0.35s;
  transition-timing-function: ease;
  transition-delay: 0s;
  transition-property: box-shadow;
  position: relative;
}

.art-tile .sw-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition-behavior: normal;
  transition-duration: 0.6s;
  transition-timing-function: cubic-bezier(0.2, 0.6, 0.2, 1);
  transition-delay: 0s;
  transition-property: transform;
}

.art-tile:hover .sw-thumb img {
  transform: scale(1.05);
}

.art-tile:hover .sw-thumb {
  box-shadow: rgba(150, 200, 205, 0.22) 0px 0px 24px;
}

.af-digital:checked ~ .year-section .art-tile:not(.cat-digital) {
  display: none;
}

.af-traditional:checked ~ .year-section .art-tile:not(.cat-traditional) {
  display: none;
}

.af-video:checked ~ .year-section .art-tile:not(.cat-video) {
  display: none;
}

.af-digital:checked ~ .year-section:not(:has(.cat-digital)) {
  display: none;
}

.af-traditional:checked ~ .year-section:not(:has(.cat-traditional)) {
  display: none;
}

.af-video:checked ~ .year-section:not(:has(.cat-video)) {
  display: none;
}

.af-all:checked ~ .filter-row label[for="af-all"] .cat-inner, .af-digital:checked ~ .filter-row label[for="af-digital"] .cat-inner, .af-traditional:checked ~ .filter-row label[for="af-traditional"] .cat-inner, .af-video:checked ~ .filter-row label[for="af-video"] .cat-inner {
  color: var(--accent-secondary);
  border-bottom-color: var(--accent-secondary);
}

.medium-heading {
  margin: 26px 0px 12px;
  font-family: var(--font-sans);
  font-size: 15px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-secondary);
}

.tile-dur {
  position: absolute;
  right: 8px;
  bottom: 8px;
  z-index: 2;
  padding: 3px 7px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.04em;
  color: var(--text-main);
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: rgba(20, 22, 21, 0.62);
  backdrop-filter: blur(6px);
}

.tile-play::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  transform: translate(-50%, -50%);
  border-top-style: solid;
  border-right-style: solid;
  border-bottom-style: solid;
  border-left-style: solid;
  border-top-width: 8px;
  border-right-width: 0px;
  border-bottom-width: 8px;
  border-left-width: 13px;
  border-top-color: transparent;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: rgba(255, 255, 255, 0.92);
}

.art-tile:hover .tile-play {
  transform: translate(-50%, -50%) scale(1.12);
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: rgba(20, 22, 21, 0.7);
}

.secondary-page .year-section {
  padding-bottom: 72px;
}

.art-tile .tile-src {
  display: none;
}

.sw-lb-vid {
  display: none;
  width: auto;
  height: auto;
  min-width: 0px;
  min-height: 0px;
  max-width: 88vw;
  max-height: 76vh;
  object-fit: contain;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: rgb(0, 0, 0);
  box-shadow: rgba(0, 0, 0, 0.6) 0px 0px 60px;
}

.lb-anchor {
  display: none;
}

.secondary-page.page-artwork .sw-item .art-caption {
  display: block;
}

.series-frame {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0px;
  min-width: 0px;
  overflow-x: hidden;
  overflow-y: hidden;
  aspect-ratio: 1 / 5;
}

.series-strip {
  display: flex;
  row-gap: 2px;
  column-gap: 2px;
  overflow-x: hidden;
  overflow-y: hidden;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  border-bottom-left-radius: 8px;
  background: var(--accent-black);
  box-shadow: rgba(255, 255, 255, 0.06) 0px 0px 0px 1px;
  transition-behavior: normal;
  transition-duration: 0.35s;
  transition-timing-function: ease;
  transition-delay: 0s;
  transition-property: box-shadow;
}

.series-title {
  font-family: var(--font-mono);
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--bg-base);
  font-size: 14px;
}

.series-meta {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--accent-secondary);
  transition-behavior: normal;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
  transition-property: text-shadow;
}

.series-tile {
  grid-column-start: span 2;
  grid-column-end: auto;
  display: flex;
  flex-direction: column;
  text-decoration-line: none;
  text-decoration-thickness: initial;
  text-decoration-style: initial;
  text-decoration-color: initial;
  row-gap: 8px;
  column-gap: 8px;
}

.series-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition-behavior: normal;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.2, 0.6, 0.2, 1);
  transition-delay: 0s;
  transition-property: transform;
}

.series-tile:hover .series-strip {
  box-shadow: rgba(150, 200, 205, 0.26) 0px 0px 26px;
}

.series-tile:hover .series-frame:nth-child(2n+1) img {
  transform: translateY(-5px) scale(1.05);
}

.series-tile:hover .series-frame:nth-child(2n) img {
  transform: translateY(5px) scale(1.05);
}

.series-tile:hover .series-meta {
  text-shadow: currentcolor 0px 0px 11px;
}

.pass-meta {
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-secondary);
}

.pass-back {
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--bg-base);
  text-decoration-line: none;
  text-decoration-thickness: initial;
  text-decoration-style: initial;
  text-decoration-color: initial;
  transition-behavior: normal, normal;
  transition-duration: 0.35s, 0.35s;
  transition-timing-function: ease, ease;
  transition-delay: 0s, 0s;
  transition-property: color, text-shadow;
}

.pass-intro {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  row-gap: 24px;
  column-gap: 24px;
  width: 100%;
}

@media (max-width: 640px) {
  .pass-intro {
  flex-direction: column;
  align-items: flex-start;
  row-gap: 10px;
  column-gap: 10px;
  }
}

.pass-back:hover {
  color: var(--accent-main);
  text-shadow: currentcolor 0px 0px 11px;
}

.pass-grid .pass-tile .sw-thumb {
  aspect-ratio: 9 / 16;
}

.secondary-page .pass-grid .pass-tile .art-caption {
  display: block;
  visibility: hidden;
}

.series-meta::after {
  content: "»";
  font-size: 1.2em;
  margin-left: 0.4em;
}

.pass-back::before {
  content: "«";
  font-size: 1.2em;
  margin-right: 0.4em;
}

.page-passages {
  isolation: auto;
}

.secondary-page.page-artwork .page-title {
  margin-left: -0.05em;
}

.secondary-page.page-student-work .page-title {
  margin-left: -0.025em;
  text-indent: -0.047em;
  word-spacing: -0.195em;
}

.secondary-page.page-music .page-title {
  margin-left: -0.076em;
}

.secondary-page.page-contact .page-title {
  margin-left: -0.088em;
}

.secondary-page.page-professional-work .page-title {
  margin-left: -0.025em;
  text-indent: -0.067em;
}

.secondary-page.page-passages .page-title {
  margin-left: -0.092em;
}

.page-thanks {
  isolation: auto;
}

.thanks-line {
  max-width: 46ch;
  font-family: var(--font-sans);
  font-size: 17px;
  line-height: 1.55;
  color: var(--text-main);
  margin: 0px;
}

.thanks-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 26px;
  column-gap: 26px;
}

.secondary-page.page-thanks .page-title {
  margin-left: -0.055em;
}

html:has(.landing) {
  overscroll-behavior-x: none;
  overscroll-behavior-y: none;
}

.art-tile .sw-thumb video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition-behavior: normal;
  transition-duration: 0.6s;
  transition-timing-function: cubic-bezier(0.2, 0.6, 0.2, 1);
  transition-delay: 0s;
  transition-property: transform;
}

.art-tile:hover .sw-thumb video {
  transform: scale(1.05);
}

.secondary-page .year-heading + * {
  margin-top: 38px;
}

.secondary-page .year-heading + .medium-heading {
  margin-top: 26px;
}

.page-notfound {
  isolation: auto;
}

.secondary-page.page-notfound .page-title {
  margin-left: -0.08em;
}