.hero-folder{position:absolute;inset:0;display:grid;align-items:center;pointer-events:auto}.folder-depth,.folder-float,.folder-interaction{width:100%;position:relative}.folder-float{animation:folder-float 4s ease-in-out infinite alternate}.folder-original{width:100%;height:auto;display:block}.folder-layers{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;opacity:0}.hero-folder[data-ready=true] .folder-layers{opacity:1}.folder-bulb,.folder-bulb-glow,.folder-bulb-rays,.folder-character-hand,.folder-face-blink,.folder-face-happy,.folder-face-notice,.folder-idea-spark,.hero-folder[data-ready=true] .folder-original{opacity:0}.folder-character-breathe{transform-box:view-box;transform-origin:985px 390px;animation:folder-character-breathe 5.6s ease-in-out infinite alternate}.folder-character-trigger{position:absolute;left:19%;top:12%;width:75%;height:88%;min-width:44px;min-height:44px;border-radius:15%;background:transparent;padding:0;-webkit-tap-highlight-color:transparent}.folder-character-trigger:disabled{opacity:1}.folder-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@keyframes folder-float{0%{transform:translateY(0)}to{transform:translateY(-6px)}}@keyframes folder-character-breathe{0%{transform:translateY(0) rotate(-.35deg)}to{transform:translateY(-2px) rotate(.35deg)}}.homepage[data-motion-paused=true] .hero-folder *{animation-play-state:paused!important}@media (prefers-reduced-motion:reduce){.hero-folder *,.hero-folder :after,.hero-folder :before{animation:none!important;transition:none!important}}.hero-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none}.hero-atmosphere-art{position:absolute;top:28%;left:0;width:100%;height:85%;overflow:visible}.homepage .home-intro{overflow:visible}@media (prefers-reduced-motion:no-preference){.hero-wash-stroke{stroke-dashoffset:.94}}.hero-art-composition{position:relative}.home-intro .hero-note{display:block;left:auto;right:calc(50% + 282px);top:calc(100% - (540px * 881 / 1785) / 2 - 24px);width:max-content;max-width:260px;text-align:left;white-space:nowrap;font-size:clamp(16px,1.45vw,21px)}.home-intro .home-motion-control{min-width:44px;min-height:44px;padding:0;gap:0;justify-content:center;background:transparent}.home-intro .home-motion-control>.home-motion-visible{display:flex;align-items:center;gap:7px;padding:8px 12px;border-radius:4px;font-size:11px;line-height:1.5;white-space:nowrap;color:#655e66;background:#ffffff70;transform:scale(.5);transform-origin:center;pointer-events:none}.home-motion-visible>span{font-size:13px}.home-intro .home-motion-control:hover{background:transparent}.home-motion-control:hover .home-motion-visible{background:#ffffffb0;color:#272323}@media (max-width:1100px){.home-intro .hero-note{position:relative;right:auto;top:auto;margin:8px auto 12px;text-align:center;font-size:17px;transform:rotate(-4deg)}}@media (max-width:700px){.home-intro .hero-note{font-size:16px}.home-intro .home-motion-control>.home-motion-visible{font-size:9px;padding:7px 9px}}@media (prefers-reduced-motion:reduce){.hero-atmosphere-art{transform:none!important}}.home-intro .hero-content{--hero-stage-height:320px;display:flex;flex-direction:column;min-height:0;padding-top:64px}.hero-greeting{display:block;flex:0 0 auto;color:inherit;text-decoration:none;border-radius:4px}.hero-greeting:focus-visible{outline:2px solid #4294db;outline-offset:8px}@media (hover:hover) and (pointer:fine){.hero-greeting{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='36' viewBox='0 0 32 36'%3E%3Cpath d='M16 3v27M6 20l10 10 10-10' fill='none' stroke='%23252323' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 16 18,pointer}}.home-intro h1{font-size:clamp(32.8px,3.772vw,54.12px);line-height:1.12}.home-intro .home-role{font-size:clamp(12.5952px,1.448448vw,20.78208px);line-height:1.18;margin-top:19px}.home-intro .home-introduction{font-size:clamp(14.76px,1.435vw,20.5px);line-height:1.45;margin-top:23px}.home-intro .hero-art-composition{margin-top:0;padding-top:var(--hero-folder-gap,max(24px,calc(50svh - 225px)))}.home-intro .hero-art-stage{height:auto;aspect-ratio:1785/881;margin:0 auto 8px}@media (max-width:1100px){.home-intro .hero-content{--hero-stage-height:280px;padding-top:58px}.home-intro h1{font-size:41px}.home-intro .home-role{font-size:15.744px}.home-intro .home-introduction{font-size:17.22px}.home-intro .hero-note{margin-bottom:12px}}@media (max-width:700px){.home-intro .hero-content{--hero-stage-height:210px;min-height:0;padding-top:34px}.home-intro h1{font-size:clamp(23.78px,6.396vw,36.08px);line-height:1.2}.home-intro .home-role{font-size:clamp(11px,2.456064vw,13.85472px);margin-top:14px;line-height:1.2}.home-intro .home-introduction{font-size:clamp(15px,3.649vw,18.04px);line-height:1.5;margin-top:19px}.home-intro .hero-art-composition{padding-top:var(--hero-folder-gap,clamp(8px,calc(84px - 18.4vw),24px))}}.key-visual-preview{position:absolute;inset:0;overflow:hidden;perspective:1200px;--kv-x:0;--kv-y:0}.key-visual-plane{position:absolute;inset:0;transition:transform .7s cubic-bezier(.22,1,.36,1)}.key-visual-plane>img{width:100%;height:100%;object-fit:cover;object-position:center}.key-visual-atmosphere{position:absolute;inset:0;pointer-events:none;mask:url(/projects/visual-experiments/atmosphere-mask.svg) center/cover no-repeat;mask-mode:luminance}.key-visual-wash{position:absolute;inset:-40%;will-change:transform;animation:key-visual-sweep 6s cubic-bezier(.45,0,.55,1) infinite;animation-play-state:paused}.key-visual-wash-blue{background:radial-gradient(ellipse at 64% 27%,#6cb7ff99,#a5dcff55 25%,transparent 56%)}.key-visual-wash-pink{background:radial-gradient(ellipse at 32% 65%,#ffb2df99,#e6c4ff55 28%,transparent 58%);animation-direction:reverse;animation-delay:-2s}.key-visual-preview[data-active=true] .key-visual-wash{animation-play-state:running}@keyframes key-visual-sweep{0%,to{transform:translate(-20%,-15%) rotate(-7deg) scale(1)}50%{transform:translate(22%,20%) rotate(9deg) scale(1.09)}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.home-project-link:hover .key-visual-preview[data-active=true] .key-visual-plane{transform:rotateX(calc(var(--kv-y) * -1deg)) rotateY(calc(var(--kv-x) * 1.2deg)) translateY(-1px) scale(1.012)}}.homepage[data-motion-paused=true] .key-visual-plane{transform:none!important;transition:none}@media (prefers-reduced-motion:reduce){.key-visual-plane{transform:none!important;transition:none}.key-visual-wash{animation:none;will-change:auto}}