.entry-page { background: var(--paper); color: var(--forest-deep); }
.entry-header { position: absolute; z-index: 10; inset: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 2rem; max-width: none; padding-block: 1.5rem; }
.entry-header > span { font-size: .75rem; }
.entry-header > a:last-child { display: flex; gap: 2rem; align-items: center; min-height: 2.75rem; text-decoration: none; font-size: .875rem; }
.entry-intro { position: relative; max-width: none; min-height: max(55rem, 100svh); overflow: hidden; isolation: isolate; }
.entry-intro__image { position: absolute; z-index: -2; inset: 15% 24% 34%; overflow: hidden; transform: translate3d(var(--look-x, 0px), var(--look-y, 0px), 0); transition: transform 1.2s ease; animation: frame-arrive 1.6s cubic-bezier(.16,1,.3,1) both; }
.entry-intro__image img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; animation: lens-drift 20s ease-in-out infinite alternate; }
.entry-satellite { position: absolute; z-index: -1; overflow: hidden; box-shadow: 0 2rem 4rem #10221920; }
.entry-satellite img { width: 100%; height: 100%; object-fit: cover; }
.entry-satellite--one img { transform: scale(1.12) translate3d(calc(var(--look-x, 0px) * -1.4),calc(var(--look-y, 0px) * -1.4),0); transition: transform 1.5s ease; }
.entry-satellite--two img { transform: scale(1.12) translate3d(calc(var(--look-x, 0px) * 1.8),calc(var(--look-y, 0px) * 1.8),0); transition: transform 1.5s ease; }
.entry-satellite--one { top: 32%; left: 11%; width: 17%; height: 34%; transform: rotate(-8deg); animation: satellite-left 1.8s cubic-bezier(.16,1,.3,1) both; }
.entry-satellite--two { top: 23%; right: 10%; width: 23%; height: 24%; transform: rotate(8deg); animation: satellite-right 2s cubic-bezier(.16,1,.3,1) both; }
.entry-intro__copy { display: flex; flex-direction: column; justify-content: end; min-height: inherit; padding-bottom: 2.4rem; }
.entry-role { font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.entry-intro .entry-role { position: absolute; top: 17%; left: var(--page-gutter); line-height: 1.7; }
.entry-intro .entry-role em { font-family: var(--display); font-size: 1.35rem; text-transform: none; letter-spacing: 0; }
.entry-intro h1 { position: relative; display: flex; align-items: baseline; justify-content: space-between; margin: 0 0 2rem -.065em; font: 500 clamp(5rem, 15.8vw, 19rem)/.82 var(--body); letter-spacing: -.095em; text-transform: uppercase; }
.entry-intro h1 > span, .entry-intro h1 > em { display: inline-block; animation: name-arrive 1.4s .2s cubic-bezier(.16,1,.3,1) both; }
.entry-intro h1 > em { font-style: normal; animation-delay: .35s; }
.entry-intro__bottom { display: flex; justify-content: space-between; align-items: end; gap: 2rem; padding-top: 1.8rem; border-top: 1px solid var(--line); }
.entry-summary { display: grid; gap: .75rem; max-width: 39rem; }
.entry-statement { font-size: .875rem; line-height: 1.6; }
.entry-offer { max-width: 38rem; color: #536158; font-size: clamp(.8rem, .95vw, .95rem); line-height: 1.65; }
.entry-shortcuts { display: flex; gap: 2rem; padding-right: 10rem; }
.entry-shortcuts a { display: flex; align-items: center; gap: 1.5rem; min-height: 2.75rem; font-size: .875rem; text-decoration: none; }
.entry-shortcuts a:hover { color: var(--clay); }
.entry-scroll { position: absolute; top: 49%; right: 8%; display: flex; width: 8rem; height: 8rem; align-items: center; justify-content: center; flex-direction: column; gap: .5rem; border: 1px solid var(--forest); border-radius: 50%; background: var(--paper); text-align: center; font-size: .75rem; text-decoration: none; transition: color .35s, background .35s, transform .5s; }
.entry-scroll > span:last-child { font-size: 1.5rem; }
.entry-scroll:hover { background: var(--forest); color: var(--paper); transform: rotate(-8deg); }
.entry-worlds { position: relative; max-width: none; overflow: hidden; padding-block: 6rem 2rem; background: var(--forest-deep); color: var(--paper); }
.world-scenes { display: none; }
.entry-worlds__heading { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: end; padding-bottom: 4rem; }
.entry-worlds__heading .entry-role { grid-column: 1 / -1; color: #b7c4b4; }
.entry-worlds h2 { font: 500 clamp(3.5rem, 7vw, 8rem)/.94 var(--body); letter-spacing: -.065em; }
.entry-worlds h2 em { font-family: var(--display); font-weight: 400; color: #e1c9a0; }
.entry-worlds__instruction { justify-self: end; color: #c5cdbd; font-size: .875rem; line-height: 1.8; }
.world-menu { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.world-choice { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-width: 0; min-height: clamp(33rem, 47vw, 49rem); overflow: hidden; padding: 2rem; isolation: isolate; text-decoration: none; }
.portal-backdrop { position: absolute; z-index: -2; inset: 0; overflow: hidden; }
.portal-backdrop img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s cubic-bezier(.2,.65,.3,1), filter .8s; filter: saturate(.7); }
.world-choice::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg,#08160e55,transparent 30%,#08160ee8); }
.world-choice--photo .portal-backdrop img { object-position: 58% center; }
.world-choice__number { color: #f4f2eb; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.world-choice__title { position: relative; z-index: 2; margin-bottom: 4.3rem; font: 500 clamp(2.5rem, 4.3vw, 6rem)/1 var(--body); letter-spacing: -.06em; transition: transform .7s cubic-bezier(.16,1,.3,1); }
.world-choice__title small { display: block; margin-top: 1.2rem; font-size: .875rem; font-weight: 400; letter-spacing: 0; line-height: 1.5; color: #d7dfce; }
.world-choice__arrow { position: absolute; bottom: 2rem; right: 2rem; display: grid; width: 3.5rem; height: 3.5rem; place-items: center; border: 1px solid #f4f2eb80; border-radius: 50%; font-size: 1.5rem; transition: transform .5s, background .5s, color .5s; }
.world-choice__image { position: absolute; top: 26%; left: 12%; width: 80%; transform: perspective(900px) rotateY(-15deg) rotateZ(-7deg); transition: transform 1s cubic-bezier(.16,1,.3,1); box-shadow: 0 3rem 5rem #0008; }
.world-choice__image img { width: 100%; height: auto; }
.world-choice:is(:hover,:focus-visible) .portal-backdrop img { transform: scale(1.08); filter: saturate(1); }
.world-choice:is(:hover,:focus-visible) .world-choice__image { transform: perspective(900px) rotateY(0) rotateZ(-2deg) translateY(-1rem); }
.world-choice:is(:hover,:focus-visible) .world-choice__title { transform: translateY(-.5rem); }
.world-choice:is(:hover,:focus-visible) .world-choice__arrow { transform: rotate(45deg); background: #e1c9a0; color: var(--forest-deep); }
.entry-worlds.has-entered .world-choice { animation: portal-arrive 1.2s cubic-bezier(.16,1,.3,1) both; }
.entry-worlds.has-entered .world-choice:nth-child(2) { animation-delay: .15s; }
.entry-worlds__foot { display: flex; justify-content: space-between; gap: 2rem; padding-top: 2rem; color: #c1c9b9; font-size: .75rem; }
.entry-footer { display: flex; justify-content: space-between; gap: 1rem; max-width: none; padding-block: 2rem 5rem; font-size: .75rem; }
.entry-motion { position: fixed; z-index: 20; right: 1rem; bottom: 1rem; display: flex; align-items: center; gap: .7rem; min-height: 2.75rem; padding: .6rem 1rem; border: 1px solid #ffffff40; border-radius: 3rem; background: #102219f2; color: #f4f2eb; font: 500 .75rem var(--body); cursor: pointer; }
.entry-motion[hidden] { display: none; }
.entry-motion__bars { display: flex; height: .8rem; align-items: center; gap: 3px; }
.entry-motion__bars i { width: 2px; height: 100%; background: #e1c9a0; animation: motion-meter 1.3s ease-in-out infinite alternate; }
.entry-motion__bars i:nth-child(2) { animation-delay: -.7s; }.entry-motion__bars i:nth-child(3) { animation-delay: -.3s; }
.entry-page[data-motion="off"] *, .entry-is-hidden *, .entry-intro:not(.is-in-frame) img { animation-play-state: paused !important; }
.entry-page[data-motion="off"] .entry-intro h1 > *, .entry-page[data-motion="off"] .entry-satellite, .entry-page[data-motion="off"] .entry-intro__image, .entry-page[data-motion="off"] .world-choice { animation: none; }
.entry-page[data-motion="off"] * { transition: none !important; }
@keyframes frame-arrive { from { clip-path: inset(30% 45%); transform: scale(1.2); } to { clip-path: inset(0); } }
@keyframes name-arrive { from { opacity: .2; transform: translateY(100%); clip-path: inset(0 0 100%); } to { opacity: 1; transform: none; clip-path: inset(-30%); } }
@keyframes satellite-left { from { opacity: 0; transform: translateX(8rem) rotate(0); } to { opacity: 1; transform: rotate(-8deg); } }
@keyframes satellite-right { from { opacity: 0; transform: translateX(-8rem) rotate(0); } to { opacity: 1; transform: rotate(8deg); } }
@keyframes lens-drift { from { transform: scale(1); } to { transform: scale(1.1); } }
@keyframes portal-arrive { from { opacity: .4; clip-path: inset(12% 0 0); transform: translateY(3rem); } to { opacity: 1; clip-path: inset(0); transform: none; } }
@keyframes motion-meter { from { transform: scaleY(.25); } to { transform: scaleY(1); } }
@media (max-width: 800px) {
 .entry-header > span { display: none; }.entry-intro { min-height: max(48rem,100svh); }.entry-intro__image { inset: 22% 14% 30%; }.entry-satellite--one { left: 4%; top: 36%; width: 22%; height: 23%; }.entry-satellite--two { right: 4%; top: 25%; width: 29%; height: 17%; }.entry-intro .entry-role { top: 14%; }.entry-scroll { top: 52%; right: 6%; width: 6.5rem; height: 6.5rem; }.entry-intro h1 { font-size: 15vw; }.entry-shortcuts { padding-right: 0; gap: 1rem; }.entry-shortcuts a { gap: .5rem; }.world-choice { padding: 1.3rem; min-height: 32rem; }.world-choice__title { font-size: 3.5vw; }.world-choice__arrow { right: 1.3rem; bottom: 1.3rem; }
}
@media (max-width: 600px) {
 .entry-intro__copy { padding-bottom: 5rem; }.entry-intro h1 { margin-bottom: 1.5rem; font-size: 15vw; }.entry-intro__bottom { align-items: start; flex-direction: column; gap: 1rem; padding-top: 1rem; }.entry-shortcuts { width: 100%; justify-content: space-between; }.entry-intro__image { inset: 24% 16% 38%; }.entry-satellite--one { top: 34%; height: 19%; }.entry-satellite--two { top: 27%; height: 13%; }.entry-scroll { top: 48%; width: 5.5rem; height: 5.5rem; right: 5%; font-size: .75rem; }.entry-worlds { padding-top: 4rem; }.entry-worlds__heading { grid-template-columns: 1fr; gap: 1.5rem; padding-bottom: 2rem; }.entry-worlds h2 { font-size: 3.5rem; }.entry-worlds__instruction { justify-self: start; }.world-menu { grid-template-columns: 1fr; }.world-choice { min-height: 33rem; padding: 1.5rem; }.world-choice__title { font-size: clamp(2rem,8vw,3.5rem); }.world-choice__image { top: 24%; }.entry-worlds__foot { flex-direction: column; gap: .8rem; line-height: 1.7; }.entry-footer { flex-wrap: wrap; }.entry-footer > span:nth-child(2) { order: 3; width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .entry-page *, .entry-page *::before { animation: none !important; transition: none !important; } }
