:root {
  --route-signal: #d5ed92;
  --route-ink: #f3f1e9;
  --route-black: #050706;
  --route-sans: Arial, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  --route-display: Impact, "Arial Narrow", sans-serif;
  --route-serif: Georgia, "Times New Roman", serif;
}

body.is-route-transitioning { overflow: hidden; }

.route-curtain .journal-transition,
.route-curtain .destination-transition,
.route-curtain .secondary-transition {
  position: absolute;
  z-index: 1;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
}

.route-curtain[data-destination="journal"] {
  background: #050707;
  color: var(--route-ink);
}

.route-curtain[data-destination="journal"] > img,
.route-curtain[data-destination="journal"]::after,
.route-curtain[data-destination="journal"] > .curtain-default {
  opacity: 0;
}

.route-curtain[data-destination="journal"] .journal-transition { opacity: 1; }

.journal-transition::before,
.journal-transition::after {
  content: "";
  position: absolute;
  z-index: 5;
  inset: 0;
  pointer-events: none;
}

.journal-transition::before {
  background:
    linear-gradient(90deg, #040605f5 0 8%, transparent 35% 70%, #040605b8 100%),
    linear-gradient(0deg, #040605f7 0, #040605a8 13%, transparent 43% 72%, #0406056e 100%),
    radial-gradient(circle at 76% 28%, #af77a329, transparent 30%);
}

.journal-transition::after {
  opacity: .38;
  background:
    repeating-linear-gradient(90deg, transparent 0 calc(8.33vw - 1px), #d5ed921a calc(8.33vw - 1px) 8.33vw),
    linear-gradient(90deg, transparent 0 49.85%, #d5ed9294 50%, transparent 50.15%),
    linear-gradient(0deg, transparent 0 73.8%, #f3f1e92e 74%, transparent 74.2%);
}

.journal-transition-field,
.journal-transition-slice {
  position: absolute;
  max-width: none;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 52% 39%;
}

.journal-transition-field {
  z-index: 0;
  inset: 0;
  filter: saturate(.82) contrast(1.15) brightness(.56);
  transform: scale(1.06);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 9%, #000 87%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 9%, #000 87%, transparent 100%);
}

.journal-transition-slice {
  z-index: 2;
  inset: 0;
  filter: saturate(1.08) contrast(1.08) brightness(.74);
  opacity: 0;
}

.journal-transition-slice-a {
  clip-path: polygon(13% 7%, 39% 2%, 34% 94%, 8% 98%);
  object-position: 38% 39%;
}

.journal-transition-slice-b {
  clip-path: polygon(39% 0, 64% 4%, 69% 96%, 34% 92%);
  object-position: 54% 39%;
  filter: saturate(.72) contrast(1.2) brightness(.62);
}

.journal-transition-slice-c {
  clip-path: polygon(64% 4%, 96% 0, 91% 98%, 69% 96%);
  object-position: 76% 37%;
  filter: saturate(1.35) contrast(1.12) brightness(.72);
  mix-blend-mode: screen;
}

.journal-transition-particle {
  position: absolute;
  z-index: 3;
  top: -8%;
  right: -12%;
  width: 67%;
  height: 116%;
  max-width: none;
  object-fit: cover;
  object-position: 91% 27%;
  opacity: .54;
  filter: saturate(1.55) contrast(1.22) brightness(.73) blur(.35px);
  mix-blend-mode: screen;
  -webkit-mask-image: radial-gradient(ellipse 73% 57% at 64% 32%, #000 0 45%, transparent 79%);
  mask-image: radial-gradient(ellipse 73% 57% at 64% 32%, #000 0 45%, transparent 79%);
}

.journal-transition-axis {
  position: absolute;
  z-index: 7;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: linear-gradient(0deg, transparent 4%, var(--route-signal) 27%, #fff 50%, var(--route-signal) 73%, transparent 96%);
  box-shadow: 0 0 22px #d5ed9252;
  opacity: 0;
}

.journal-transition-axis::after {
  content: "";
  position: absolute;
  top: 49%;
  left: -4px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--route-signal);
  box-shadow: 0 0 0 9px #d5ed9218, 0 0 24px #d5ed92;
}

.journal-transition-lockup {
  position: absolute;
  z-index: 8;
  inset: 0;
  overflow: hidden;
}

.route-curtain .journal-transition-kicker,
.route-curtain .journal-transition-meta,
.route-curtain .journal-transition-index {
  position: absolute;
  z-index: 2;
  color: var(--route-ink);
  font: 600 clamp(8px, .74vw, 11px)/1.25 var(--route-sans);
  font-style: normal;
  letter-spacing: .18em;
  text-shadow: 0 2px 16px #000;
}

.route-curtain .journal-transition-kicker { top: clamp(20px, 3.5vw, 55px); left: clamp(20px, 4vw, 64px); }
.route-curtain .journal-transition-meta { top: clamp(20px, 3.5vw, 55px); right: clamp(20px, 4vw, 64px); color: var(--route-signal); }
.route-curtain .journal-transition-index { right: clamp(20px, 4vw, 64px); bottom: clamp(20px, 3.5vw, 55px); }

.journal-transition-word {
  position: absolute;
  z-index: 1;
  color: transparent;
  font: 700 clamp(120px, 22vw, 370px)/.69 var(--route-display);
  letter-spacing: -.075em;
  white-space: nowrap;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: clamp(1.5px, .19vw, 3px) var(--route-ink);
  text-shadow: none;
}

.journal-transition-word::after {
  content: attr(data-word);
  position: absolute;
  inset: 0;
  color: transparent;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: clamp(1px, .12vw, 2px) var(--route-signal);
  filter: blur(5px);
  opacity: .62;
  transform: translate(.025em, .012em);
}

.journal-transition-word-left { top: 18%; left: -1.2%; }
.journal-transition-word-right { right: -1%; bottom: 18%; }

.journal-transition-script {
  position: absolute;
  z-index: 3;
  bottom: clamp(21px, 3.8vw, 59px);
  left: clamp(20px, 4vw, 64px);
  color: var(--route-signal);
  font: italic clamp(28px, 3.6vw, 58px)/1 var(--route-serif);
  letter-spacing: -.06em;
  text-shadow: 0 3px 22px #000;
}

.route-curtain[data-destination="journal"].is-active { animation-duration: 1.08s; pointer-events: auto; }
.route-curtain[data-destination="journal"].is-active .journal-transition-field { animation: journalField 1.08s cubic-bezier(.76, 0, .24, 1) both; }
.route-curtain[data-destination="journal"].is-active .journal-transition-slice-a { animation: journalSliceA 1.08s cubic-bezier(.76, 0, .24, 1) both; }
.route-curtain[data-destination="journal"].is-active .journal-transition-slice-b { animation: journalSliceB 1.08s cubic-bezier(.76, 0, .24, 1) both; }
.route-curtain[data-destination="journal"].is-active .journal-transition-slice-c { animation: journalSliceC 1.08s cubic-bezier(.76, 0, .24, 1) both; }
.route-curtain[data-destination="journal"].is-active .journal-transition-particle { animation: journalParticle 1.08s cubic-bezier(.76, 0, .24, 1) both; }
.route-curtain[data-destination="journal"].is-active .journal-transition-word-left { animation: journalTypeLeft 1.08s cubic-bezier(.76, 0, .24, 1) both; }
.route-curtain[data-destination="journal"].is-active .journal-transition-word-right { animation: journalTypeRight 1.08s cubic-bezier(.76, 0, .24, 1) both; }
.route-curtain[data-destination="journal"].is-active .journal-transition-axis { animation: journalAxis 1.08s cubic-bezier(.76, 0, .24, 1) both; }
.route-curtain[data-destination="journal"].is-active .journal-transition-kicker,
.route-curtain[data-destination="journal"].is-active .journal-transition-meta,
.route-curtain[data-destination="journal"].is-active .journal-transition-index,
.route-curtain[data-destination="journal"].is-active .journal-transition-script { animation: journalMeta 1.08s ease both; }

@keyframes journalField {
  0% { opacity: 0; transform: scale(1.15) translate3d(2.5%, 1%, 0); }
  35%, 67% { opacity: 1; transform: scale(1.06) translate3d(0, 0, 0); }
  100% { opacity: 0; transform: scale(1.01) translate3d(-2%, -.5%, 0); }
}
@keyframes journalSliceA {
  0%, 12% { opacity: 0; transform: translate3d(-16vw, 5vh, 0) scale(1.12); }
  36%, 66% { opacity: .92; transform: translate3d(0, 0, 0) scale(1.03); }
  100% { opacity: 0; transform: translate3d(10vw, -4vh, 0) scale(1); }
}
@keyframes journalSliceB {
  0%, 16% { opacity: 0; transform: translate3d(0, -12vh, 0) scale(1.1); }
  39%, 66% { opacity: .72; transform: translate3d(0, 0, 0) scale(1.02); }
  100% { opacity: 0; transform: translate3d(0, 9vh, 0) scale(1); }
}
@keyframes journalSliceC {
  0%, 18% { opacity: 0; transform: translate3d(18vw, 3vh, 0) scale(1.12); }
  41%, 66% { opacity: .62; transform: translate3d(0, 0, 0) scale(1.02); }
  100% { opacity: 0; transform: translate3d(-12vw, -3vh, 0) scale(1); }
}
@keyframes journalParticle {
  0%, 16% { opacity: 0; transform: translate3d(-8vw, 5vh, 0) scale(1.1); }
  40%, 68% { opacity: .58; transform: translate3d(0, 0, 0) scale(1); }
  100% { opacity: 0; transform: translate3d(12vw, -4vh, 0) scale(.94); }
}
@keyframes journalTypeLeft {
  0%, 18% { opacity: 0; clip-path: inset(0 100% 0 0); transform: translateX(-9vw); }
  40%, 67% { opacity: 1; clip-path: inset(0); transform: translateX(0); }
  100% { opacity: 0; clip-path: inset(0 0 0 100%); transform: translateX(8vw); }
}
@keyframes journalTypeRight {
  0%, 20% { opacity: 0; clip-path: inset(0 0 0 100%); transform: translateX(11vw); }
  42%, 67% { opacity: 1; clip-path: inset(0); transform: translateX(0); }
  100% { opacity: 0; clip-path: inset(0 100% 0 0); transform: translateX(-9vw); }
}
@keyframes journalAxis {
  0%, 22% { opacity: 0; transform: scaleY(0); transform-origin: top; }
  43%, 66% { opacity: 1; transform: scaleY(1); transform-origin: top; }
  100% { opacity: 0; transform: scaleY(0); transform-origin: bottom; }
}
@keyframes journalMeta { 0%, 24% { opacity: 0; } 42%, 69% { opacity: 1; } 100% { opacity: 0; } }

/* Secondary main routes use one adaptive stage, but each destination has its own spatial grammar. */
.page-curtain[data-destination="system"],
.page-curtain[data-destination="philosophy"],
.page-curtain[data-destination="academy"],
.page-curtain[data-destination="visit"] { background: #050706; color: var(--route-ink); }

.page-curtain[data-destination="system"] > img,
.page-curtain[data-destination="philosophy"] > img,
.page-curtain[data-destination="academy"] > img,
.page-curtain[data-destination="visit"] > img,
.page-curtain[data-destination="system"]::after,
.page-curtain[data-destination="philosophy"]::after,
.page-curtain[data-destination="academy"]::after,
.page-curtain[data-destination="visit"]::after,
.page-curtain[data-destination="system"] > .curtain-default,
.page-curtain[data-destination="philosophy"] > .curtain-default,
.page-curtain[data-destination="academy"] > .curtain-default,
.page-curtain[data-destination="visit"] > .curtain-default { opacity: 0; }

.page-curtain[data-destination="system"] .secondary-transition,
.page-curtain[data-destination="philosophy"] .secondary-transition,
.page-curtain[data-destination="academy"] .secondary-transition,
.page-curtain[data-destination="visit"] .secondary-transition { opacity: 1; }

.secondary-transition { --secondary-accent: #d5ed92; background: #050706; color: var(--route-ink); }
.secondary-transition::before,
.secondary-transition::after { content: ""; position: absolute; z-index: 3; inset: 0; pointer-events: none; }
.secondary-transition::before { background: linear-gradient(90deg, #040605f2 0 7%, transparent 42% 69%, #040605cf 100%), linear-gradient(0deg, #040605f4 0, transparent 46% 75%, #04060570 100%); }
.secondary-transition::after { opacity: .42; background: repeating-linear-gradient(90deg, transparent 0 calc(12.5vw - 1px), #ffffff15 calc(12.5vw - 1px) 12.5vw), linear-gradient(0deg, transparent 0 72%, var(--secondary-accent) 72.15%, transparent 72.3%); }
.secondary-transition-field,
.secondary-transition-echo { position: absolute; max-width: none; inset: -5%; width: 110%; height: 110%; object-fit: cover; }
.secondary-transition-field { z-index: 0; filter: saturate(.72) contrast(1.13) brightness(.56); transform: scale(1.055); }
.secondary-transition-echo { z-index: 1; opacity: 0; filter: saturate(1.42) contrast(1.18) brightness(.72); mix-blend-mode: screen; -webkit-mask-image: repeating-linear-gradient(90deg, #000 0 5vw, transparent 5vw 12.5vw); mask-image: repeating-linear-gradient(90deg, #000 0 5vw, transparent 5vw 12.5vw); }
.secondary-transition-panels { position: absolute; z-index: 4; inset: 0; pointer-events: none; }
.page-curtain .secondary-transition-panels > span { position: absolute; display: block; margin: 0; padding: 0; border: 1px solid #ffffff21; background: #07100a18; font: inherit; letter-spacing: normal; opacity: 0; backdrop-filter: contrast(1.12); }
.page-curtain .secondary-transition-axis { position: absolute; z-index: 6; top: 0; bottom: 0; left: 50%; width: 1px; background: linear-gradient(0deg, transparent 4%, var(--secondary-accent) 25%, #fff 50%, var(--secondary-accent) 75%, transparent 96%); box-shadow: 0 0 22px color-mix(in srgb, var(--secondary-accent) 45%, transparent); opacity: 0; font: inherit; letter-spacing: normal; }
.secondary-transition-lockup { position: absolute; z-index: 7; inset: 0; overflow: hidden; }
.page-curtain .secondary-transition-kicker,
.page-curtain .secondary-transition-meta,
.page-curtain .secondary-transition-index { position: absolute; color: var(--route-ink); font: 600 clamp(8px, .74vw, 11px)/1.25 var(--route-sans); font-style: normal; letter-spacing: .18em; text-shadow: 0 2px 16px #000; }
.page-curtain .secondary-transition-kicker { top: clamp(20px, 3.5vw, 55px); left: clamp(20px, 4vw, 64px); }
.page-curtain .secondary-transition-meta { top: clamp(20px, 3.5vw, 55px); right: clamp(20px, 4vw, 64px); color: var(--secondary-accent); }
.page-curtain .secondary-transition-index { right: clamp(20px, 4vw, 64px); bottom: clamp(20px, 3.5vw, 55px); }
.secondary-transition-title { position: absolute; top: 49%; left: -1.5vw; color: transparent; font: 700 clamp(108px, 20vw, 330px)/.72 var(--route-display); letter-spacing: -.075em; white-space: nowrap; transform: translateY(-50%); -webkit-text-fill-color: transparent; -webkit-text-stroke: clamp(1.5px, .18vw, 3px) var(--route-ink); }
.secondary-transition-title::after { content: attr(data-title); position: absolute; inset: 0; color: transparent; -webkit-text-fill-color: transparent; -webkit-text-stroke: clamp(1px, .12vw, 2px) var(--secondary-accent); filter: blur(5px); opacity: .7; transform: translate(.024em, .012em); }
.secondary-transition-script { position: absolute; bottom: clamp(20px, 3.5vw, 55px); left: clamp(20px, 4vw, 64px); color: var(--secondary-accent); font: italic clamp(27px, 3.5vw, 56px)/1 var(--route-serif); letter-spacing: -.06em; text-shadow: 0 3px 22px #000; }

.page-curtain[data-destination="system"] .secondary-transition { --secondary-accent: #d5ed92; }
.page-curtain[data-destination="system"] .secondary-transition::before { background: linear-gradient(90deg, #030504f2 0 13%, transparent 47% 72%, #030504d8 100%), linear-gradient(0deg, #030504e8, transparent 42%, #03050491); }
.page-curtain[data-destination="system"] .secondary-transition-field { filter: grayscale(.72) contrast(1.28) brightness(.48); }
.page-curtain[data-destination="system"] .secondary-transition-panels > span:nth-child(1) { left: 8%; top: 12%; width: 18%; height: 76%; }
.page-curtain[data-destination="system"] .secondary-transition-panels > span:nth-child(2) { left: 32%; top: 4%; width: 13%; height: 88%; }
.page-curtain[data-destination="system"] .secondary-transition-panels > span:nth-child(3) { left: 57%; top: 19%; width: 20%; height: 67%; }
.page-curtain[data-destination="system"] .secondary-transition-panels > span:nth-child(4) { right: 5%; top: 7%; width: 10%; height: 84%; border-color: #d5ed925c; background: #d5ed9208; }

.page-curtain[data-destination="philosophy"] .secondary-transition { --secondary-accent: #8fc9f5; background: #030911; }
.page-curtain[data-destination="philosophy"] .secondary-transition::before { background: radial-gradient(ellipse at 72% 43%, #1b75ae1f 0 20%, transparent 53%), linear-gradient(90deg, #02070ffb 0 18%, #02070fbf 34%, transparent 58% 79%, #02070fe6 100%), linear-gradient(0deg, #02070ff0, transparent 39% 73%, #02070f78); }
.page-curtain[data-destination="philosophy"] .secondary-transition::after { background: radial-gradient(ellipse 29vw 38vw at 74% 46%, transparent calc(100% - 2px), #8fc9f566 calc(100% - 1px), transparent 100%), radial-gradient(ellipse 19vw 27vw at 74% 46%, transparent calc(100% - 1px), #f3f1e92e 100%), linear-gradient(90deg, transparent 0 58%, #8fc9f542 58.15%, transparent 58.3%); }
.page-curtain[data-destination="philosophy"] .secondary-transition-field,
.page-curtain[data-destination="philosophy"] .secondary-transition-echo { inset: -7% -4% -7% auto; width: 70%; height: 114%; object-fit: contain; object-position: 43% 50% !important; }
.page-curtain[data-destination="philosophy"] .secondary-transition-field { filter: saturate(.9) contrast(1.12) brightness(.74); -webkit-mask-image: radial-gradient(ellipse 73% 78% at 55% 48%, #000 0 54%, #000e 68%, transparent 100%); mask-image: radial-gradient(ellipse 73% 78% at 55% 48%, #000 0 54%, #000e 68%, transparent 100%); }
.page-curtain[data-destination="philosophy"] .secondary-transition-echo { opacity: .17; inset: 2% -12% -2% auto; width: 61%; height: 96%; filter: saturate(1.2) contrast(1.18) brightness(.78); -webkit-mask-image: repeating-linear-gradient(0deg, #000 0 5.5vh, transparent 5.5vh 11vh); mask-image: repeating-linear-gradient(0deg, #000 0 5.5vh, transparent 5.5vh 11vh); }
.page-curtain[data-destination="philosophy"] .secondary-transition-panels > span { border-radius: 50%; background: transparent; border-color: #8fc9f54d; backdrop-filter: none; }
.page-curtain[data-destination="philosophy"] .secondary-transition-panels > span:nth-child(1) { left: 7%; top: 15%; width: 29vw; aspect-ratio: 1; }
.page-curtain[data-destination="philosophy"] .secondary-transition-panels > span:nth-child(2) { right: 5%; bottom: 7%; width: 18vw; aspect-ratio: 1; }
.page-curtain[data-destination="philosophy"] .secondary-transition-panels > span:nth-child(3) { left: 53%; top: 8%; width: 7vw; aspect-ratio: 1; }
.page-curtain[data-destination="philosophy"] .secondary-transition-panels > span:nth-child(4) { display: none; }
.page-curtain[data-destination="philosophy"] .secondary-transition-title { top: 43%; font-family: var(--route-serif); font-style: italic; font-weight: 400; letter-spacing: -.065em; -webkit-text-stroke-width: 1.4px; }
.page-curtain[data-destination="philosophy"] .secondary-transition-axis { left: 58%; }

.page-curtain[data-destination="academy"] .secondary-transition { --secondary-accent: #70dcff; background: #030810; }
.page-curtain[data-destination="academy"] .secondary-transition::before { content: "07"; display: flex; align-items: center; padding-left: 2.5vw; color: transparent; font: 800 clamp(240px, 43vw, 650px)/.7 var(--route-display); letter-spacing: -.1em; -webkit-text-stroke: 1px #70dcff45; background: radial-gradient(circle at 73% 45%, #70dcff1f 0 16%, transparent 46%), linear-gradient(90deg, #02070ff5 0 8%, transparent 40% 76%, #02070fdb 100%), linear-gradient(0deg, #02070ff2 0 7%, transparent 42% 76%, #02070f78 100%); }
.page-curtain[data-destination="academy"] .secondary-transition::after { opacity: .76; background: repeating-linear-gradient(0deg, transparent 0 calc(11.1vh - 1px), #70dcff2d calc(11.1vh - 1px) 11.1vh), repeating-linear-gradient(90deg, transparent 0 calc(9.09vw - 1px), #ffffff13 calc(9.09vw - 1px) 9.09vw), linear-gradient(90deg, transparent 0 62%, #d5ed928f 62.12%, transparent 62.28%); }
.page-curtain[data-destination="academy"] .secondary-transition-field,
.page-curtain[data-destination="academy"] .secondary-transition-field { inset: -7% -2% -7% auto; width: 60%; height: 114%; object-fit: contain; object-position: 50% 50% !important; filter: saturate(.88) contrast(1.16) brightness(.7); -webkit-mask-image: radial-gradient(ellipse 62% 88% at 74% 50%, #000 0 52%, #000e 63%, transparent 100%); mask-image: radial-gradient(ellipse 62% 88% at 74% 50%, #000 0 52%, #000e 63%, transparent 100%); }
.page-curtain[data-destination="academy"] .secondary-transition-echo { inset: -10% -8%; width: 116%; height: 120%; object-fit: cover; object-position: 50% 39% !important; opacity: .14; filter: saturate(1.34) contrast(1.24) brightness(.74) hue-rotate(6deg); mix-blend-mode: screen; -webkit-mask-image: repeating-linear-gradient(0deg, #000 0 3.4vh, transparent 3.4vh 11.1vh); mask-image: repeating-linear-gradient(0deg, #000 0 3.4vh, transparent 3.4vh 11.1vh); }
.page-curtain[data-destination="academy"] .secondary-transition-panels > span { left: -7%; right: -7%; height: 8%; border-color: #70dcff55; background: linear-gradient(90deg, #061c2a00, #0e5e7c45 30%, #70dcff24 68%, transparent); clip-path: polygon(3% 0, 100% 18%, 97% 100%, 0 82%); backdrop-filter: saturate(1.35) contrast(1.1); }
.page-curtain[data-destination="academy"] .secondary-transition-panels > span:nth-child(1) { top: 8%; }
.page-curtain[data-destination="academy"] .secondary-transition-panels > span:nth-child(2) { top: 31%; left: 9%; }
.page-curtain[data-destination="academy"] .secondary-transition-panels > span:nth-child(3) { top: 55%; right: 8%; }
.page-curtain[data-destination="academy"] .secondary-transition-panels > span:nth-child(4) { top: 78%; border-color: #d5ed9270; background: linear-gradient(90deg, transparent, #d5ed923d 48%, transparent); }
.page-curtain[data-destination="academy"] .secondary-transition-title { top: 51%; left: 4vw; color: transparent; -webkit-text-fill-color: transparent; -webkit-text-stroke: clamp(1.3px, .16vw, 2.5px) #f3f1e9; font-size: clamp(104px, 17vw, 285px); letter-spacing: -.055em; }
.page-curtain[data-destination="academy"] .secondary-transition-title::after { -webkit-text-fill-color: transparent; -webkit-text-stroke: 2px #70dcff; transform: translate(.045em, .025em); opacity: .7; filter: blur(2px); }
.page-curtain[data-destination="academy"] .secondary-transition-script { color: #d5ed92; }

.page-curtain[data-destination="visit"] .secondary-transition { --secondary-accent: #ff78d7; background: #03080f; }
.page-curtain[data-destination="visit"] .secondary-transition::before { background: radial-gradient(circle at 18% 28%, #2abff441, transparent 29%), radial-gradient(circle at 82% 72%, #ff4fcf38, transparent 34%), linear-gradient(90deg, #02060dc9 0 5%, transparent 36% 78%, #02060dbd 100%), linear-gradient(0deg, #02060de8 0 5%, transparent 39% 79%, #02060d6b 100%); }
.page-curtain[data-destination="visit"] .secondary-transition::after { opacity: .8; background: repeating-linear-gradient(72deg, transparent 0 9vw, #56d9ff2b 9.05vw 9.18vw, transparent 9.23vw 18vw), linear-gradient(90deg, transparent 0 17%, #ff78d780 17.12%, transparent 17.3% 72%, #d5ed928f 72.12%, transparent 72.3%), linear-gradient(0deg, transparent 0 82%, #f3f1e933 82.2%, transparent 82.4%); }
.page-curtain[data-destination="visit"] .secondary-transition-field,
.page-curtain[data-destination="visit"] .secondary-transition-echo { inset: -12% -5%; width: 110%; height: 124%; object-fit: cover; object-position: 50% 43% !important; }
.page-curtain[data-destination="visit"] .secondary-transition-field { filter: saturate(1.26) contrast(1.14) brightness(.69); }
.page-curtain[data-destination="visit"] .secondary-transition-echo { opacity: .38; filter: saturate(1.55) contrast(1.25) brightness(.86) hue-rotate(12deg); mix-blend-mode: screen; -webkit-mask-image: repeating-linear-gradient(72deg, #000 0 6.5vw, transparent 6.5vw 13vw); mask-image: repeating-linear-gradient(72deg, #000 0 6.5vw, transparent 6.5vw 13vw); }
.page-curtain[data-destination="visit"] .secondary-transition-panels > span { height: 128%; width: 18%; top: -14%; bottom: auto; border-color: #ffffff30; border-block: 0; background: linear-gradient(180deg, #56d9ff0a, #56d9ff3d 37%, #ff78d73d 69%, transparent); clip-path: polygon(34% 0, 100% 0, 66% 100%, 0 100%); backdrop-filter: saturate(1.45) contrast(1.16); }
.page-curtain[data-destination="visit"] .secondary-transition-panels > span:nth-child(1) { left: 3%; }
.page-curtain[data-destination="visit"] .secondary-transition-panels > span:nth-child(2) { left: 27%; background: linear-gradient(180deg, transparent, #ff78d745 46%, transparent); }
.page-curtain[data-destination="visit"] .secondary-transition-panels > span:nth-child(3) { left: 52%; background: linear-gradient(180deg, #d5ed9214, #d5ed9245 58%, transparent); }
.page-curtain[data-destination="visit"] .secondary-transition-panels > span:nth-child(4) { left: 77%; background: linear-gradient(180deg, transparent, #56d9ff4a 62%, transparent); }
.page-curtain[data-destination="visit"] .secondary-transition-title { top: 52%; left: -2vw; color: #fff; -webkit-text-fill-color: #fff; -webkit-text-stroke: 0; font-size: clamp(130px, 24vw, 390px); letter-spacing: -.055em; mix-blend-mode: screen; }
.page-curtain[data-destination="visit"] .secondary-transition-title::after { -webkit-text-fill-color: transparent; -webkit-text-stroke: 2px #56d9ff; filter: blur(2px); opacity: .82; transform: translate(.045em, -.015em); }
.page-curtain[data-destination="visit"] .secondary-transition-axis { left: 72%; background: linear-gradient(0deg, transparent 3%, #56d9ff 26%, #fff 50%, #ff78d7 74%, transparent 97%); }

.page-curtain[data-destination="system"].is-active,
.page-curtain[data-destination="philosophy"].is-active,
.page-curtain[data-destination="academy"].is-active,
.page-curtain[data-destination="visit"].is-active { animation-duration: 1.04s; pointer-events: auto; }
.page-curtain:is([data-destination="system"], [data-destination="philosophy"], [data-destination="academy"], [data-destination="visit"]).is-active .secondary-transition-field { animation: secondaryField 1.04s cubic-bezier(.76, 0, .24, 1) both; }
.page-curtain:is([data-destination="system"], [data-destination="philosophy"], [data-destination="academy"], [data-destination="visit"]).is-active .secondary-transition-echo { animation: secondaryEcho 1.04s cubic-bezier(.76, 0, .24, 1) both; }
.page-curtain:is([data-destination="system"], [data-destination="philosophy"], [data-destination="academy"], [data-destination="visit"]).is-active .secondary-transition-panels > span { animation: secondaryPanel 1.04s cubic-bezier(.76, 0, .24, 1) both; }
.page-curtain:is([data-destination="system"], [data-destination="philosophy"], [data-destination="academy"], [data-destination="visit"]).is-active .secondary-transition-panels > span:nth-child(2) { animation-delay: 18ms; }
.page-curtain:is([data-destination="system"], [data-destination="philosophy"], [data-destination="academy"], [data-destination="visit"]).is-active .secondary-transition-panels > span:nth-child(3) { animation-delay: 34ms; }
.page-curtain:is([data-destination="system"], [data-destination="philosophy"], [data-destination="academy"], [data-destination="visit"]).is-active .secondary-transition-panels > span:nth-child(4) { animation-delay: 50ms; }
.page-curtain:is([data-destination="system"], [data-destination="philosophy"], [data-destination="academy"], [data-destination="visit"]).is-active .secondary-transition-title { animation: secondaryTitle 1.04s cubic-bezier(.76, 0, .24, 1) both; }
.page-curtain:is([data-destination="system"], [data-destination="philosophy"], [data-destination="academy"], [data-destination="visit"]).is-active .secondary-transition-axis { animation: journalAxis 1.04s cubic-bezier(.76, 0, .24, 1) both; }
.page-curtain:is([data-destination="system"], [data-destination="philosophy"], [data-destination="academy"], [data-destination="visit"]).is-active .secondary-transition-kicker,
.page-curtain:is([data-destination="system"], [data-destination="philosophy"], [data-destination="academy"], [data-destination="visit"]).is-active .secondary-transition-meta,
.page-curtain:is([data-destination="system"], [data-destination="philosophy"], [data-destination="academy"], [data-destination="visit"]).is-active .secondary-transition-index,
.page-curtain:is([data-destination="system"], [data-destination="philosophy"], [data-destination="academy"], [data-destination="visit"]).is-active .secondary-transition-script { animation: journalMeta 1.04s ease both; }
.route-curtain.is-arriving .secondary-transition-field { opacity: 1; transform: scale(1.01); }
.route-curtain.is-arriving .secondary-transition-echo { opacity: .28; }
.route-curtain.is-arriving .secondary-transition-panels > span,
.route-curtain.is-arriving .secondary-transition-title,
.route-curtain.is-arriving .secondary-transition-kicker,
.route-curtain.is-arriving .secondary-transition-meta,
.route-curtain.is-arriving .secondary-transition-index,
.route-curtain.is-arriving .secondary-transition-script { opacity: 1; }
@keyframes secondaryField { 0% { opacity: 0; transform: translate3d(6vw, -1vh, 0) scale(1.16); } 37%, 68% { opacity: 1; transform: translate3d(0, 0, 0) scale(1.055); } 100% { opacity: 0; transform: translate3d(-5vw, 1vh, 0) scale(1); } }
@keyframes secondaryEcho { 0%, 13% { opacity: 0; transform: translate3d(-13vw, 0, 0) scale(1.12); } 39%, 67% { opacity: .38; transform: translate3d(0, 0, 0) scale(1.035); } 100% { opacity: 0; transform: translate3d(14vw, 0, 0) scale(.99); } }
@keyframes secondaryPanel { 0%, 15% { opacity: 0; transform: translate3d(0, 11vh, 0) skewX(-5deg); } 39%, 68% { opacity: 1; transform: translate3d(0, 0, 0) skewX(0); } 100% { opacity: 0; transform: translate3d(0, -9vh, 0) skewX(4deg); } }
@keyframes secondaryTitle { 0%, 18% { opacity: 0; clip-path: inset(0 100% 0 0); transform: translate(-9vw, -50%) scaleX(.88); } 40%, 69% { opacity: 1; clip-path: inset(0); transform: translate(0, -50%) scaleX(1); } 100% { opacity: 0; clip-path: inset(0 0 0 100%); transform: translate(10vw, -50%) scaleX(1.04); } }
@keyframes academyEcho { 0%, 15% { opacity: 0; transform: translate3d(-9vw, 0, 0) scale(1.08); } 40%, 67% { opacity: .14; transform: translate3d(0, 0, 0) scale(1.02); } 100% { opacity: 0; transform: translate3d(10vw, 0, 0) scale(1); } }
.page-curtain[data-destination="academy"].is-active .secondary-transition-echo { animation-name: academyEcho; }

.journal-route-curtain {
  position: fixed;
  z-index: 200;
  inset: 0;
  overflow: hidden;
  isolation: isolate;
  background: var(--route-black);
  color: var(--route-ink);
  transform: translateY(101%);
  pointer-events: none;
}

.journal-route-curtain.is-active {
  animation: routeCurtainPass 1.08s cubic-bezier(.76, 0, .24, 1) both;
  pointer-events: auto;
}

.route-curtain.is-arriving {
  animation: routeCurtainArrival .52s cubic-bezier(.76, 0, .24, 1) both;
  pointer-events: auto;
}

.route-curtain.is-arriving .journal-transition-field { opacity: 1; transform: scale(1.01); }
.route-curtain.is-arriving .journal-transition-slice-a { opacity: .82; }
.route-curtain.is-arriving .journal-transition-slice-b { opacity: .62; }
.route-curtain.is-arriving .journal-transition-slice-c { opacity: .48; }
.route-curtain.is-arriving .journal-transition-particle { opacity: .48; }
.route-curtain.is-arriving .journal-transition-word,
.route-curtain.is-arriving .journal-transition-kicker,
.route-curtain.is-arriving .journal-transition-meta,
.route-curtain.is-arriving .journal-transition-index,
.route-curtain.is-arriving .journal-transition-script { opacity: 1; }

@keyframes routeCurtainPass { 0% { transform: translateY(101%); } 46%, 58% { transform: translateY(0); } 100% { transform: translateY(-101%); } }
@keyframes routeCurtainArrival { from { transform: translateY(0); } to { transform: translateY(-101%); } }

.journal-route-curtain[data-destination]:not([data-destination="journal"]) .destination-transition { opacity: 1; }
.destination-transition { --destination-accent: var(--route-signal); background: #050707; }
.journal-route-curtain[data-destination="edit"] .destination-transition { --destination-accent: #f3f1e9; }
.journal-route-curtain[data-destination="archive"] .destination-transition { --destination-accent: #d5ed92; }
.journal-route-curtain[data-destination="discover"] .destination-transition { --destination-accent: #f0a7ca; }
.journal-route-curtain[data-destination="method"] .destination-transition { --destination-accent: #73d9ef; }
.journal-route-curtain[data-destination="system"] .destination-transition { --destination-accent: #d5ed92; }
.journal-route-curtain[data-destination="philosophy"] .destination-transition { --destination-accent: #8fc9f5; background: #030911; }
.journal-route-curtain[data-destination="academy"] .destination-transition { --destination-accent: #70dcff; background: #030810; }
.journal-route-curtain[data-destination="visit"] .destination-transition { --destination-accent: #ff78d7; background: #03080f; }

.destination-transition::after {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 0;
  background:
    linear-gradient(90deg, #050707ee 0 10%, transparent 43% 68%, #050707b5 100%),
    linear-gradient(0deg, #050707e8, transparent 48%, #05070750),
    repeating-linear-gradient(90deg, transparent 0 calc(10vw - 1px), #ffffff16 calc(10vw - 1px) 10vw);
}

.destination-transition-image,
.destination-transition-echo {
  position: absolute;
  inset: -5%;
  width: 110%;
  height: 110%;
  max-width: none;
  object-fit: cover;
  object-position: 50% 38%;
}
.destination-transition-image { z-index: 0; filter: saturate(.68) contrast(1.17) brightness(.54); transform: scale(1.05); }
.destination-transition-echo {
  z-index: 1;
  opacity: 0;
  filter: saturate(1.5) contrast(1.22) brightness(.7);
  mix-blend-mode: screen;
  -webkit-mask-image: repeating-linear-gradient(90deg, #000 0 4vw, transparent 4vw 10vw);
  mask-image: repeating-linear-gradient(90deg, #000 0 4vw, transparent 4vw 10vw);
}
.destination-transition-scan {
  position: absolute;
  z-index: 5;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: linear-gradient(0deg, transparent, var(--destination-accent) 20%, #fff 50%, var(--destination-accent) 80%, transparent);
  box-shadow: 0 0 22px color-mix(in srgb, var(--destination-accent) 50%, transparent);
  opacity: 0;
}
.destination-transition-lockup { position: absolute; z-index: 6; inset: 0; overflow: hidden; }
.destination-transition-kicker,
.destination-transition-meta,
.destination-transition-index {
  position: absolute;
  color: var(--route-ink);
  font: 600 clamp(8px, .74vw, 11px)/1.25 var(--route-sans);
  letter-spacing: .18em;
  text-shadow: 0 2px 16px #000;
}
.destination-transition-kicker { top: clamp(20px, 3.5vw, 55px); left: clamp(20px, 4vw, 64px); }
.destination-transition-meta { top: clamp(20px, 3.5vw, 55px); right: clamp(20px, 4vw, 64px); color: var(--destination-accent); }
.destination-transition-index { right: clamp(20px, 4vw, 64px); bottom: clamp(20px, 3.5vw, 55px); }
.destination-transition-title {
  position: absolute;
  top: 50%;
  left: -1.5vw;
  color: transparent;
  font: 700 clamp(105px, 19vw, 320px)/.72 var(--route-display);
  letter-spacing: -.07em;
  white-space: nowrap;
  transform: translateY(-50%);
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: clamp(1.5px, .18vw, 3px) var(--route-ink);
}
.destination-transition-title::after {
  content: attr(data-title);
  position: absolute;
  inset: 0;
  color: transparent;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: clamp(1px, .12vw, 2px) var(--destination-accent);
  filter: blur(6px);
  opacity: .65;
  transform: translate(.022em, .01em);
}
.destination-transition-script {
  position: absolute;
  bottom: clamp(20px, 3.5vw, 55px);
  left: clamp(20px, 4vw, 64px);
  color: var(--destination-accent);
  font: italic clamp(26px, 3.4vw, 54px)/1 var(--route-serif);
  letter-spacing: -.055em;
  text-shadow: 0 3px 22px #000;
}

.journal-route-curtain[data-destination="system"] .destination-transition::after { background: linear-gradient(90deg, #030504ed 0 12%, transparent 48% 72%, #030504c9 100%), linear-gradient(0deg, #030504e8, transparent 44%, #03050491), repeating-linear-gradient(90deg, transparent 0 calc(12.5vw - 1px), #d5ed9226 calc(12.5vw - 1px) 12.5vw); }
.journal-route-curtain[data-destination="system"] .destination-transition-image { filter: grayscale(.72) contrast(1.28) brightness(.48); }
.journal-route-curtain[data-destination="system"] .destination-transition-echo { -webkit-mask-image: repeating-linear-gradient(90deg, #000 0 4.5vw, transparent 4.5vw 12.5vw); mask-image: repeating-linear-gradient(90deg, #000 0 4.5vw, transparent 4.5vw 12.5vw); }
.journal-route-curtain[data-destination="philosophy"] .destination-transition::after { background: radial-gradient(ellipse 29vw 38vw at 74% 46%, transparent calc(100% - 2px), #8fc9f55c calc(100% - 1px), transparent 100%), radial-gradient(ellipse at 72% 43%, #1b75ae24, transparent 55%), linear-gradient(90deg, #02070ffb 0 18%, #02070fbf 34%, transparent 58% 79%, #02070fe6 100%), linear-gradient(0deg, #02070ff0, transparent 39% 73%, #02070f78); }
.journal-route-curtain[data-destination="philosophy"] .destination-transition-image,
.journal-route-curtain[data-destination="philosophy"] .destination-transition-echo { inset: -7% -4% -7% auto; width: 70%; height: 114%; object-fit: contain; object-position: 43% 50% !important; }
.journal-route-curtain[data-destination="philosophy"] .destination-transition-image { filter: saturate(.9) contrast(1.12) brightness(.74); -webkit-mask-image: radial-gradient(ellipse 73% 78% at 55% 48%, #000 0 54%, #000e 68%, transparent 100%); mask-image: radial-gradient(ellipse 73% 78% at 55% 48%, #000 0 54%, #000e 68%, transparent 100%); }
.journal-route-curtain[data-destination="philosophy"] .destination-transition-echo { inset: 2% -12% -2% auto; width: 61%; height: 96%; opacity: .17; filter: saturate(1.2) contrast(1.18) brightness(.78); -webkit-mask-image: repeating-linear-gradient(0deg, #000 0 5.5vh, transparent 5.5vh 11vh); mask-image: repeating-linear-gradient(0deg, #000 0 5.5vh, transparent 5.5vh 11vh); }
.journal-route-curtain[data-destination="philosophy"] .destination-transition-title { top: 44%; font-family: var(--route-serif); font-style: italic; font-weight: 400; letter-spacing: -.065em; }
.journal-route-curtain[data-destination="philosophy"] .destination-transition-scan { left: 58%; }
.journal-route-curtain[data-destination="academy"] .destination-transition::after { content: "07"; display: flex; align-items: center; padding-left: 2.5vw; color: transparent; font: 800 clamp(240px, 43vw, 650px)/.7 var(--route-display); letter-spacing: -.1em; -webkit-text-stroke: 1px #70dcff45; opacity: .82; background: radial-gradient(circle at 73% 45%, #70dcff20 0 16%, transparent 46%), repeating-linear-gradient(0deg, transparent 0 calc(11.1vh - 1px), #70dcff2d calc(11.1vh - 1px) 11.1vh), repeating-linear-gradient(90deg, transparent 0 calc(9.09vw - 1px), #ffffff13 calc(9.09vw - 1px) 9.09vw), linear-gradient(90deg, #02070ff5 0 8%, transparent 40% 76%, #02070fdb 100%), linear-gradient(0deg, #02070ff2 0 7%, transparent 42% 76%, #02070f78 100%); }
.journal-route-curtain[data-destination="academy"] .destination-transition-image { inset: -7% -2% -7% auto; width: 60%; height: 114%; object-fit: contain; object-position: 50% 50% !important; filter: saturate(.88) contrast(1.16) brightness(.7); -webkit-mask-image: radial-gradient(ellipse 62% 88% at 74% 50%, #000 0 52%, #000e 63%, transparent 100%); mask-image: radial-gradient(ellipse 62% 88% at 74% 50%, #000 0 52%, #000e 63%, transparent 100%); }
.journal-route-curtain[data-destination="academy"] .destination-transition-echo { inset: -10% -8%; width: 116%; height: 120%; object-fit: cover; object-position: 50% 39% !important; opacity: .14; filter: saturate(1.34) contrast(1.24) brightness(.74) hue-rotate(6deg); mix-blend-mode: screen; -webkit-mask-image: repeating-linear-gradient(0deg, #000 0 3.4vh, transparent 3.4vh 11.1vh); mask-image: repeating-linear-gradient(0deg, #000 0 3.4vh, transparent 3.4vh 11.1vh); }
.journal-route-curtain[data-destination="academy"] .destination-transition-title { top: 51%; left: 4vw; color: transparent; -webkit-text-fill-color: transparent; -webkit-text-stroke: clamp(1.3px, .16vw, 2.5px) #f3f1e9; font-size: clamp(104px, 17vw, 285px); letter-spacing: -.055em; }
.journal-route-curtain[data-destination="academy"] .destination-transition-title::after { -webkit-text-fill-color: transparent; -webkit-text-stroke: 2px #70dcff; transform: translate(.045em, .025em); opacity: .7; filter: blur(2px); }
.journal-route-curtain[data-destination="academy"] .destination-transition-script { color: #d5ed92; }
.journal-route-curtain[data-destination="visit"] .destination-transition { --destination-accent: #ff78d7; background: #03080f; }
.journal-route-curtain[data-destination="visit"] .destination-transition::after { opacity: .82; background: radial-gradient(circle at 18% 28%, #2abff441, transparent 29%), radial-gradient(circle at 82% 72%, #ff4fcf38, transparent 34%), repeating-linear-gradient(72deg, transparent 0 9vw, #56d9ff2b 9.05vw 9.18vw, transparent 9.23vw 18vw), linear-gradient(90deg, #02060dc9 0 5%, transparent 36% 78%, #02060dbd 100%), linear-gradient(0deg, #02060de8 0 5%, transparent 39% 79%, #02060d6b 100%); }
.journal-route-curtain[data-destination="visit"] .destination-transition-image,
.journal-route-curtain[data-destination="visit"] .destination-transition-echo { inset: -12% -5%; width: 110%; height: 124%; object-fit: cover; object-position: 50% 43% !important; }
.journal-route-curtain[data-destination="visit"] .destination-transition-image { filter: saturate(1.26) contrast(1.14) brightness(.69); }
.journal-route-curtain[data-destination="visit"] .destination-transition-echo { opacity: .38; filter: saturate(1.55) contrast(1.25) brightness(.86) hue-rotate(12deg); mix-blend-mode: screen; -webkit-mask-image: repeating-linear-gradient(72deg, #000 0 6.5vw, transparent 6.5vw 13vw); mask-image: repeating-linear-gradient(72deg, #000 0 6.5vw, transparent 6.5vw 13vw); }
.journal-route-curtain[data-destination="visit"] .destination-transition-title { top: 52%; left: -2vw; color: #fff; -webkit-text-fill-color: #fff; -webkit-text-stroke: 0; font-size: clamp(130px, 24vw, 390px); letter-spacing: -.055em; mix-blend-mode: screen; }
.journal-route-curtain[data-destination="visit"] .destination-transition-title::after { -webkit-text-fill-color: transparent; -webkit-text-stroke: 2px #56d9ff; filter: blur(2px); opacity: .82; transform: translate(.045em, -.015em); }
.journal-route-curtain[data-destination="visit"] .destination-transition-scan { left: 72%; background: linear-gradient(0deg, transparent 3%, #56d9ff 26%, #fff 50%, #ff78d7 74%, transparent 97%); }

.journal-route-curtain.is-active .destination-transition-image { animation: destinationField 1.08s cubic-bezier(.76, 0, .24, 1) both; }
.journal-route-curtain.is-active .destination-transition-echo { animation: destinationEcho 1.08s cubic-bezier(.76, 0, .24, 1) both; }
.journal-route-curtain.is-active .destination-transition-title { animation: destinationTitle 1.08s cubic-bezier(.76, 0, .24, 1) both; }
.journal-route-curtain.is-active .destination-transition-scan { animation: journalAxis 1.08s cubic-bezier(.76, 0, .24, 1) both; }
.journal-route-curtain.is-active .destination-transition-kicker,
.journal-route-curtain.is-active .destination-transition-meta,
.journal-route-curtain.is-active .destination-transition-index,
.journal-route-curtain.is-active .destination-transition-script { animation: journalMeta 1.08s ease both; }
@keyframes destinationField { 0% { opacity: 0; transform: translate3d(5vw, 0, 0) scale(1.14); } 38%, 68% { opacity: 1; transform: translate3d(0, 0, 0) scale(1.05); } 100% { opacity: 0; transform: translate3d(-4vw, 0, 0) scale(1); } }
@keyframes destinationEcho { 0%, 15% { opacity: 0; transform: translate3d(-10vw, 0, 0) scale(1.1); } 40%, 67% { opacity: .44; transform: translate3d(0, 0, 0) scale(1.04); } 100% { opacity: 0; transform: translate3d(12vw, 0, 0) scale(1); } }
@keyframes destinationTitle { 0%, 19% { opacity: 0; clip-path: inset(0 100% 0 0); transform: translate(-8vw, -50%); } 41%, 68% { opacity: 1; clip-path: inset(0); transform: translate(0, -50%); } 100% { opacity: 0; clip-path: inset(0 0 0 100%); transform: translate(9vw, -50%); } }
.journal-route-curtain[data-destination="academy"].is-active .destination-transition-echo { animation-name: academyEcho; }

@media (max-width: 760px) {
  .journal-transition-field,
  .journal-transition-slice { height: 116%; object-position: 47% 28%; }
  .journal-transition-field { top: -4%; width: 116%; left: -8%; }
  .journal-transition-slice { top: -4%; width: 116%; left: -8%; }
  .journal-transition-slice-a { clip-path: polygon(0 5%, 39% 0, 35% 96%, 0 100%); }
  .journal-transition-slice-b { clip-path: polygon(39% 0, 69% 4%, 72% 97%, 35% 96%); }
  .journal-transition-slice-c { clip-path: polygon(69% 4%, 100% 0, 100% 100%, 72% 97%); }
  .journal-transition-particle { top: -2%; right: -34%; width: 112%; height: 105%; object-position: 92% 24%; }
  .journal-transition::before { background: linear-gradient(0deg, #040605f7 0 16%, transparent 48% 73%, #04060585 100%), linear-gradient(90deg, #040605a8 0, transparent 44%, #04060557); }
  .journal-transition::after { background: repeating-linear-gradient(90deg, transparent 0 calc(20vw - 1px), #d5ed921a calc(20vw - 1px) 20vw), linear-gradient(90deg, transparent 0 49.7%, #d5ed9294 50%, transparent 50.3%); }
  .journal-transition-word { font-size: 34vw; -webkit-text-stroke-width: 1.2px; }
  .journal-transition-word-left { top: 24%; left: -3vw; }
  .journal-transition-word-right { right: -3vw; bottom: 24%; }
  .journal-transition-script { bottom: 45px; left: 16px; font-size: 27px; }
  .route-curtain .journal-transition-kicker,
  .route-curtain .journal-transition-meta,
  .route-curtain .journal-transition-index { font-size: 7px; letter-spacing: .12em; }
  .route-curtain .journal-transition-kicker { top: 18px; left: 16px; }
  .route-curtain .journal-transition-meta { top: 18px; right: 16px; }
  .route-curtain .journal-transition-index { right: 16px; bottom: 18px; }
  .destination-transition-image,
  .destination-transition-echo { inset: -7% -18%; width: 136%; height: 114%; object-position: 50% 30%; }
  .destination-transition-title { left: -3vw; font-size: 29vw; -webkit-text-stroke-width: 1.2px; }
  .destination-transition-script { bottom: 44px; left: 16px; font-size: 25px; }
  .destination-transition-kicker,
  .destination-transition-meta,
  .destination-transition-index { font-size: 7px; letter-spacing: .11em; }
  .destination-transition-kicker { top: 18px; left: 16px; }
  .destination-transition-meta { top: 18px; right: 16px; }
  .destination-transition-index { right: 16px; bottom: 18px; }
  .secondary-transition-field,
  .secondary-transition-echo { inset: -5% -20%; width: 140%; height: 110%; object-position: 50% 30%; }
  .secondary-transition-title { left: -3vw; font-size: 29vw; -webkit-text-stroke-width: 1.2px; }
  .secondary-transition-script { bottom: 44px; left: 16px; font-size: 25px; }
  .page-curtain .secondary-transition-kicker,
  .page-curtain .secondary-transition-meta,
  .page-curtain .secondary-transition-index { font-size: 7px; letter-spacing: .11em; }
  .page-curtain .secondary-transition-kicker { top: 18px; left: 16px; }
  .page-curtain .secondary-transition-meta { top: 18px; right: 16px; max-width: 52vw; text-align: right; }
  .page-curtain .secondary-transition-index { right: 16px; bottom: 18px; max-width: 48vw; text-align: right; }
  .page-curtain[data-destination="philosophy"] .secondary-transition-title { top: 43%; font-size: 26vw; }
  .page-curtain[data-destination="philosophy"] .secondary-transition-field,
  .journal-route-curtain[data-destination="philosophy"] .destination-transition-image { inset: 3% -17% 1% auto; width: 112%; height: 96%; object-fit: contain; object-position: 43% 50% !important; }
  .page-curtain[data-destination="philosophy"] .secondary-transition-echo,
  .journal-route-curtain[data-destination="philosophy"] .destination-transition-echo { inset: 9% -28% 5% auto; width: 96%; height: 83%; }
  .page-curtain[data-destination="philosophy"] .secondary-transition-panels > span:nth-child(1) { left: -20%; top: 18%; width: 82vw; }
  .page-curtain[data-destination="philosophy"] .secondary-transition-panels > span:nth-child(2) { right: -16%; bottom: 15%; width: 54vw; }
  .page-curtain[data-destination="philosophy"] .secondary-transition-panels > span:nth-child(3) { left: 58%; top: 8%; width: 22vw; }
  .page-curtain[data-destination="academy"] .secondary-transition::before,
  .journal-route-curtain[data-destination="academy"] .destination-transition::after { padding-left: 0; font-size: 78vw; }
  .page-curtain[data-destination="academy"] .secondary-transition-title { top: 50%; left: 1vw; font-size: 33vw; }
  .page-curtain[data-destination="academy"] .secondary-transition-field,
  .journal-route-curtain[data-destination="academy"] .destination-transition-image { inset: -8% -18% -8% auto; width: 112%; height: 116%; object-fit: contain; object-position: 50% 50% !important; }
  .page-curtain[data-destination="academy"] .secondary-transition-echo,
  .journal-route-curtain[data-destination="academy"] .destination-transition-echo { inset: -8% -31%; width: 162%; height: 116%; }
  .page-curtain[data-destination="visit"] .secondary-transition-title { top: 53%; font-size: 42vw; }
  .page-curtain[data-destination="visit"] .secondary-transition-field,
  .journal-route-curtain[data-destination="visit"] .destination-transition-image { inset: -10% -36%; width: 172%; height: 120%; object-fit: cover; object-position: 50% 43% !important; }
  .page-curtain[data-destination="visit"] .secondary-transition-echo,
  .journal-route-curtain[data-destination="visit"] .destination-transition-echo { inset: -10% -36%; width: 172%; height: 120%; }
  .journal-route-curtain[data-destination="philosophy"] .destination-transition-title { top: 43%; font-size: 26vw; }
  .journal-route-curtain[data-destination="academy"] .destination-transition-title { top: 50%; left: 1vw; font-size: 33vw; }
  .journal-route-curtain[data-destination="visit"] .destination-transition-title { top: 53%; font-size: 42vw; }
}

@media (prefers-reduced-motion: reduce) {
  .route-curtain { display: none !important; }
}
