/* The four-scene prototype, adapted to the unchanged corporate hero content. */
html:has(.journey),html body.future-home{overflow-x:clip!important}
body.future-home .journey{height:420svh;padding:0!important;border:0!important;background:#eef8fc}
.journey .viewport{position:sticky;top:var(--nav-height);height:calc(100svh - var(--nav-height));min-height:540px;overflow:hidden;isolation:isolate;--dark:0;--flash:0;--eye-focus:0}
.journey .scene-backdrop,.journey .environment-fallback,.journey #world,.journey .ambient-motion,.journey .scene-flash{position:absolute;inset:0;width:100%;height:100%}
.journey .scene-backdrop{z-index:0;overflow:hidden;background:#eff8fe}
.journey .environment-fallback{background:url('./attendme-light-ribbon-20260908-v2.webp') center/cover;transform:scale(1.16);animation:future-space-drift 12s ease-in-out infinite alternate}
.journey #world{z-index:2;display:block;outline-offset:-6px;touch-action:pan-y}
.journey .scene-flash{z-index:3;pointer-events:none;background:#fff;opacity:var(--flash)}
.journey .hero-inner{position:absolute;inset:0;z-index:4;max-width:none;display:block;pointer-events:none}
.journey .hero-copy{position:absolute;left:6%;top:18%;width:48%;max-width:720px;pointer-events:none}
.journey .hero-copy a,.journey .hero-copy button{pointer-events:auto}
body.future-home .hero-tag{display:block;margin-bottom:24px;font-size:.875rem!important;color:#286c81!important}
body.future-home .hero-title{font-size:clamp(2.25rem,3.65vw,4.5rem);line-height:1.48!important;margin:0 0 24px;font-weight:700;letter-spacing:-.065em!important;color:#16283b}
body.future-home .hero-title span{white-space:normal!important}body.future-home .hero-title .accent{color:inherit;background:none}
body.future-home .hero-sub{font-size:1.0625rem;line-height:1.8;max-width:31em;margin-bottom:14px}
body.future-home .hero-lead{font-size:.9375rem!important;line-height:1.9!important;max-width:31em}
body.future-home .hero-ctas{gap:14px;margin-top:26px}
body.future-home .hero-ctas .btn{padding:15px 25px;min-height:54px;box-shadow:0 8px 30px #203e4e14!important}
.journey .hero-visual{position:absolute;inset:0;pointer-events:none;height:100%;margin:0;background:none;border:0;box-shadow:none;transform:none!important}
.journey .hero-vtuber-wrap{position:absolute;width:47%;height:100%;inset:0 0 0 auto;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}
.journey .hero-vtuber{max-height:95%;width:auto;object-fit:contain;animation:none;filter:none;opacity:.5}
.journey .viewport[data-renderer=webgl] .hero-vtuber-wrap{visibility:hidden}
.journey .hero-badge{position:absolute;left:auto;right:4%;width:150px;padding:16px 20px;border:1px solid #fff9!important;border-radius:12px!important;background:#ffffff96!important;backdrop-filter:blur(14px);box-shadow:0 15px 50px #2350780b!important;text-align:left;transform:none!important;animation:future-badge-float 8s ease-in-out infinite;color:#34576b;display:flex;flex-direction:column;gap:2px}
.journey .hero-badge-1{top:auto;bottom:190px}.journey .hero-badge-2{top:auto;bottom:64px;animation-delay:-3s}
.journey .hero-badge .num{font:400 2rem/1.3 'Segoe UI',sans-serif;letter-spacing:-.04em;color:#29637a}.journey .hero-badge>span:not(.num){font-size:.75rem}
.journey .viewport[data-chapter='2'] .hero-copy,.journey .viewport[data-chapter='3'] .hero-copy{width:40%;top:14%}
.journey .viewport[data-chapter='2'] .hero-title,.journey .viewport[data-chapter='3'] .hero-title{font-size:clamp(2rem,3vw,3.5rem)}
.journey .viewport.dark .hero-copy{color:#eefbff}.journey .viewport.dark .hero-title,.journey .viewport.dark .hero-tag,.journey .viewport.dark .hero-lead{color:#e0f8ff!important}
.journey .viewport.dark .btn-ghost{background:#18394b99!important;color:white!important;border-color:#8bc6d888!important}
.journey .sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;border:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.journey .character-speech{position:absolute;z-index:8;max-width:260px;padding:15px 22px;border:1px solid #d7e6ee;border-radius:22px;background:#ffffffed;box-shadow:0 10px 35px #1c43541a;color:#294759;font:700 1rem/1.7 'Zen Maru Gothic',sans-serif;pointer-events:none;backdrop-filter:blur(12px)}
.journey .character-speech[hidden],.journey .fallback-notice[hidden]{display:none}
.journey .character-speech[data-mood=shy]{border-color:#edbbd4;background:#fff5faf5;color:#91365f}
.journey .character-speech[data-mood=annoyed]{border-color:#d5dfea;background:#f5f8fff5}
.journey .loading{position:absolute;z-index:3;left:69%;top:49%;pointer-events:none;transition:opacity .5s}.journey .loading.is-finished{opacity:0}
.journey .loading>span{display:block;width:64px;height:64px;border-radius:50%;border:1px solid #80d4e8;border-top-color:transparent;animation:future-spin 1.5s linear infinite}
.journey .fallback-notice{position:absolute;right:24px;bottom:20px;z-index:8}.journey .fallback-notice button{font:inherit;font-size:.8125rem;background:#fff;border:1px solid var(--line);border-radius:999px;color:var(--gray);padding:8px 18px;cursor:pointer}
.journey .ambient-motion{z-index:1;pointer-events:none}.journey .space-caustics{position:absolute;inset:65% -20% -30%;border-radius:50%;background:radial-gradient(ellipse,#b5ecff44,transparent 66%);animation:future-space-drift 18s ease-in-out infinite alternate}
.journey .space-current{position:absolute;inset:0;overflow:hidden}.journey .space-current i{position:absolute;left:-30%;top:60%;width:30%;height:1px;background:linear-gradient(90deg,transparent,#9ddceccc,transparent);transform:rotate(-28deg);animation:future-current 14s linear infinite}.journey .space-current i:nth-child(2){top:30%;animation-delay:-7s}.journey .space-current i:nth-child(3){top:80%;animation-delay:-3s}
.journey .space-specks i{position:absolute;left:var(--speck-x);top:var(--speck-y);width:2px;height:2px;background:#e08ab7;animation:future-speck var(--speck-duration) ease-in-out var(--delay) infinite}
.journey .viewport[data-backdrop=webgl] .ambient-motion{display:none}.journey .viewport[data-backdrop=webgl] .environment-fallback{animation:none}
.journey .viewport:not(.motion-in-view) *,.journey .viewport.motion-eye-focus .ambient-motion *{animation-play-state:paused!important}
@keyframes future-space-drift{0%{transform:translate(-2%,1%) rotate(-2deg) scale(1.2)}100%{transform:translate(2%,-2%) rotate(2deg) scale(1.28)}}
@keyframes future-badge-float{50%{translate:0 -10px}}@keyframes future-spin{to{rotate:360deg}}@keyframes future-current{to{translate:180vw -28vh;opacity:0}}@keyframes future-speck{50%{translate:24px -40px;opacity:.2}}
@media(max-height:760px) and (min-width:761px){.journey .hero-copy{top:11%}.journey .hero-tag{margin-bottom:16px}body.future-home .hero-title{font-size:clamp(2rem,3.4vw,3.6rem);margin-bottom:16px}body.future-home .hero-sub{font-size:1rem}.journey .hero-badge-1{bottom:156px}.journey .hero-badge-2{bottom:40px}}
@media(max-width:1050px){.journey .hero-copy{left:5%;width:51%}.journey .hero-badge{right:3%;width:126px;padding:14px}.journey .hero-badge .num{font-size:1.7rem}}
@media(max-width:760px){body.future-home .journey{height:380svh}.journey .viewport{min-height:650px}.journey .hero-copy,.journey .viewport[data-chapter='2'] .hero-copy,.journey .viewport[data-chapter='3'] .hero-copy{left:7%;top:6%;width:86%;max-width:520px}.journey .hero-copy::before{content:'';position:absolute;inset:-28px -40px -24px;z-index:-1;background:linear-gradient(110deg,#f9fdfff0,#f9fdffb8 70%,transparent);filter:blur(12px)}body.future-home .hero-tag{font-size:.8125rem!important;margin-bottom:14px}body.future-home .hero-title,.journey .viewport[data-chapter='2'] .hero-title,.journey .viewport[data-chapter='3'] .hero-title{font-size:clamp(1.8rem,6.6vw,2.8rem);margin-bottom:16px}body.future-home .hero-sub{font-size:.9375rem;max-width:31em;margin-bottom:12px}body.future-home .hero-lead{font-size:.875rem!important;max-width:33em;line-height:1.85!important}body.future-home .hero-ctas{margin-top:20px;gap:10px}body.future-home .hero-ctas .btn{font-size:.8125rem!important;padding:11px 18px;min-height:44px}.journey .hero-badge{right:6%;width:132px;padding:10px 14px}.journey .hero-badge-1{bottom:128px}.journey .hero-badge-2{bottom:30px}.journey .hero-badge .num{font-size:1.5rem}.journey .character-speech{font-size:.9375rem;padding:10px 16px;max-width:220px}}
@media(max-width:760px){.journey .viewport.dark .hero-copy::before{background:linear-gradient(110deg,#102a3eeb,#102a3ea3 70%,transparent)}.journey .viewport[data-chapter='2'] .hero-copy,.journey .viewport[data-chapter='3'] .hero-copy{top:4%}.journey .viewport[data-chapter='2'] :is(.hero-sub,.hero-lead),.journey .viewport[data-chapter='3'] :is(.hero-sub,.hero-lead){display:none}.journey .viewport[data-chapter='2'] .hero-title,.journey .viewport[data-chapter='3'] .hero-title{font-size:clamp(1.55rem,5.8vw,2.3rem)}}
@media(prefers-reduced-motion:reduce){.journey *{animation:none!important;transition:none!important}.journey .environment-fallback{transform:none}}
