.hero{--hero-shift:0px;--hero-fade:1}.hero h1{translate:0 var(--hero-shift);opacity:var(--hero-fade)}
.orb{opacity:.6;inset:-15% -10% auto;height:125%}.orb i{border:2px solid #b80d654f;border-radius:42% 58% 62% 38%;inset:8%;animation:orbit 34s linear infinite}.orb i:nth-child(2){inset:20%;border:1px solid #ffffff20;animation:orbit 46s linear infinite reverse}.orb i:nth-child(3){inset:32%;border:2px solid #b80d6570;animation:orbit 24s linear infinite}.orb:after{display:block;position:absolute;left:68%;top:45%;width:140px;height:140px;background:#b80d65;border-radius:50%;filter:blur(85px);opacity:.5;animation:ambient-drift 9s ease-in-out infinite alternate}.orb b{display:none}@keyframes ambient-drift{to{translate:-140px 65px;scale:1.6}}
.motion-strip{overflow:hidden;padding:22px 0;border-block:1px solid #ffffff20;background:#242023;user-select:none}.motion-track{display:flex;width:max-content;animation:travel 32s linear infinite}.motion-track span{display:block;white-space:nowrap;padding-right:50px;font:16px/1.4 Arial,sans-serif;letter-spacing:5px;color:#e6dce2}.motion-track b{color:#ed72ad;margin-inline:35px;font-size:22px;font-weight:400}.motion-strip:hover .motion-track{animation-play-state:paused}@keyframes travel{to{transform:translateX(-50%)}}
.motion-reveal{opacity:0;transform:translateY(38px);transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1.2s cubic-bezier(.22,1,.36,1)}.motion-reveal.motion-visible{opacity:1;transform:none}.software-bars.bars-wait .skill-track>span{transform:scaleX(0);transition:transform 1.35s cubic-bezier(.22,1,.36,1)}.software-bars.bars-wait.motion-visible .skill-track>span{transform:scaleX(1)}.software-bars li:nth-child(2) .skill-track>span{transition-delay:.1s}.software-bars li:nth-child(3) .skill-track>span{transition-delay:.2s}.software-bars li:nth-child(4) .skill-track>span{transition-delay:.3s}.software-bars li:nth-child(5) .skill-track>span{transition-delay:.4s}.project-cue{will-change:transform}.hero-bottom .round-link:first-child span{animation:arrow-nudge 2.8s ease-in-out infinite}@keyframes arrow-nudge{0%,70%,100%{translate:0 0}35%{translate:0 7px}}
@media(max-width:760px){.orb{width:130%;inset:0 -15% auto;height:100%;opacity:.55}.motion-strip{padding:17px 0}.motion-track span{font-size:12px;letter-spacing:3px}.motion-reveal{transform:translateY(20px)}}
@media(prefers-reduced-motion:reduce){.orb,.motion-track,.hero-bottom .round-link span{animation:none!important}.orb:after{animation:none!important}.hero h1{translate:none;opacity:1}.motion-reveal{opacity:1;transform:none;transition:none}.software-bars.bars-wait .skill-track>span{transform:none;transition:none}.project-cue{transform:none!important}}

/* Display lettering and subtle directional markers. */
.hero .art-title{font-size:clamp(100px,14vw,210px);line-height:1.04;letter-spacing:-.045em;position:relative;margin:40px 0 26px}.art-cn{display:inline-flex;align-items:baseline;position:relative;gap:.035em}.art-cn>span{display:inline-block}.art-cn>span:first-child{transform:translateY(-.035em)}.art-cn .art-accent{color:#ed72ad;position:relative}.art-cn .art-accent:after{content:"";position:absolute;left:12%;right:12%;bottom:-.015em;height:2px;background:#b80d65;transform:rotate(-8deg)}.art-cn i{position:absolute;right:-.28em;top:-.09em;font:normal .2em Arial;color:#ed72ad;animation:title-star 16s linear infinite}.hero .art-title .hero-english{font-size:.28em;letter-spacing:.16em;position:relative;margin-top:27px}.hero-english em{font-style:italic;font-weight:400;color:#ed72ad}.hero .art-title:before{content:"";position:absolute;width:42px;height:42px;border-left:1px solid #b80d6580;border-top:1px solid #b80d6580;left:-55px;top:4px}.hero .art-title:after{content:"";position:absolute;width:42px;height:42px;border-right:1px solid #b80d6580;border-bottom:1px solid #b80d6580;right:-55px;bottom:0}@keyframes title-star{to{rotate:360deg}}
.hero-bottom .round-link{position:relative;padding:12px 0}.hero-bottom .round-link>span{position:relative;isolation:isolate;border-color:#c99bb580;background:#b80d650a}.hero-bottom .round-link>span:before{content:"";position:absolute;inset:-7px;border:1px solid transparent;border-top-color:#ed72ad;border-right-color:#ed72ad66;border-radius:50%;animation:nav-orbit 7s linear infinite;pointer-events:none}.hero-bottom .round-link:nth-child(2)>span:before{animation-direction:reverse;animation-delay:-2s}.hero-bottom .round-link:before{content:"";width:5px;height:5px;border-radius:50%;background:#ed72ad;box-shadow:0 0 12px #b80d6580;position:absolute;left:-16px;top:50%;transform:translateY(-50%);animation:nav-pulse 2.6s ease-in-out infinite}.hero-bottom .round-link:nth-child(2):before{animation-delay:1.3s}.hero-bottom .round-link:hover>span{background:#b80d65;border-color:#b80d65;box-shadow:0 0 0 7px #b80d6515}.hero-bottom .round-link:focus-visible>span{background:#b80d65;color:white}@keyframes nav-orbit{to{rotate:360deg}}@keyframes nav-pulse{50%{opacity:.35;scale:.75}}
@media(max-width:760px){.hero .art-title{font-size:clamp(90px,23vw,150px);margin:40px 0 28px}.hero .art-title .hero-english{font-size:.26em;letter-spacing:.12em;margin-top:22px}.hero .art-title:before{left:-12px;top:-20px;width:25px;height:25px}.hero .art-title:after{right:-12px;bottom:-12px;width:25px;height:25px}.art-cn i{right:-.16em;top:-.24em;font-size:.18em}.hero-bottom{padding-inline:12px}.hero-bottom .round-link:before{left:-10px;width:4px;height:4px}.hero-bottom .round-link>span:before{inset:-5px}}
@media(prefers-reduced-motion:reduce){.art-cn i,.hero-bottom .round-link>span:before,.hero-bottom .round-link:before{animation:none!important}}
/* Scroll-linked curved transition; content geometry stays unchanged. */
.closing{position:relative;isolation:isolate;border-top:0;--curve-height:100px}.closing:before{content:"";position:absolute;z-index:-1;left:0;right:0;top:0;height:var(--curve-height);background:#252225;border-radius:50% 50% 0 0 / 100% 100% 0 0;transform:translateY(calc(-100% + 1px));pointer-events:none}
.services article.reveal:nth-child(2){transition-delay:.1s}.services article.reveal:nth-child(3){transition-delay:.2s}.closing .round-link span{transition:background .4s ease,border-color .4s ease,transform .6s cubic-bezier(.22,1,.36,1)}
@media(prefers-reduced-motion:reduce){.closing:before{display:none}.services article.reveal{transition-delay:0s}}
