/* Motion stays on transforms and opacity; reduced-motion keeps all content visible. */
@keyframes enter-up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes mark-enter{from{opacity:0;transform:translateY(16px) rotate(-8deg) scale(.9)}to{opacity:1;transform:none}}
@keyframes gentle-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(min-width:0px){
 .hero-top{animation:enter-up .7s cubic-bezier(.2,.7,.2,1) both}
 .hero h1 .title-first{display:inline-block;animation:enter-up 1s .12s cubic-bezier(.16,1,.3,1) both}
 .hero h1 .indent{display:inline-block;animation:enter-up 1s .26s cubic-bezier(.16,1,.3,1) both}
 .hero h1 .hero-brand-mark{animation:mark-enter 1.1s .4s cubic-bezier(.16,1,.3,1) both,gentle-float 7s 1.6s ease-in-out infinite}
 .hero-bottom{animation:enter-up .9s .4s cubic-bezier(.16,1,.3,1) both}
 .hero-art{animation:enter-up 1.1s .52s cubic-bezier(.16,1,.3,1) both}
 .motion-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--reveal-delay,0ms) ease,transform .9s var(--reveal-delay,0ms) cubic-bezier(.16,1,.3,1)}
 .motion-reveal.is-visible{opacity:1;transform:translateY(0)}
 .game,.work-caption,.contact-button,.text-link,.socials a{transition:transform .3s cubic-bezier(.2,.7,.2,1),color .3s,background .3s}
 .contact-button:hover{transform:translateY(-4px)}
 .text-link:hover,.socials a:hover{transform:translateY(-2px)}
 .round-link:hover b{transform:translateY(4px)}
 .round-link b{transition:transform .3s,background .3s,color .3s}
 .profile>img{transition:transform .65s cubic-bezier(.2,.7,.2,1)}
 .profile:hover>img{transform:scale(1.035)}
}
header{transition:background .3s,box-shadow .3s}
header.is-scrolled{background:#111110f7;box-shadow:0 8px 30px #0002}
header:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);transform-origin:left;transform:scaleX(var(--scroll-progress,0));pointer-events:none}
nav a{position:relative;padding:6px 0}
nav a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}
nav a:hover:after,nav a[aria-current="location"]:after{transform:scaleX(1)}
nav a[aria-current="location"]{color:var(--accent)}
html[data-motion="off"] .motion-reveal{opacity:1!important;transform:none!important;transition:none!important}

.header-controls{display:flex;align-items:center;gap:14px}#motion-toggle{border:1px solid #ffffff30;background:transparent;color:var(--accent);font:500 9px/1.2 "DM Sans",sans-serif;letter-spacing:.06em;padding:9px 10px;border-radius:20px;white-space:nowrap}#motion-toggle[aria-pressed="false"]{color:var(--muted)}@media(max-width:600px){.header-controls{gap:7px}#motion-toggle{font-size:8px;padding:8px}.logo{font-size:18px}header nav{gap:12px}}
