:root{--spring-snappy:linear(0,.009,.035 2.1%,.141 4.4%,.723 12.9%,.938 16.7%,1.017 19.4%,1.067 22.5%,1.089 26%,1.079 30.3%,1.049 36%,1.024 42.6%,1.011 50.3%,1.004 59.2%,1.001 69.3%,1);--spring-smooth:linear(0,.004,.016 2.3%,.063 4.7%,.141 7.2%,.25 9.9%,.601 16.5%,.815 21%,.929 25.2%,.987 29%,1.025 33.5%,1.042 38%,1.04 43.5%,1.027 50%,1.013 57.5%,1.005 67%,1.001 79%,1);--ease-snap:cubic-bezier(.22,1,.36,1)}
.pulse-hero{grid-template-columns:minmax(0,2fr) minmax(360px,1fr);min-height:calc(100dvh - 92px);background:radial-gradient(circle at 18% 18%,var(--brand-softer),transparent 34%),var(--paper)}
.hero-copy{align-items:flex-start;padding:clamp(72px,9vw,144px) max(24px,calc((100vw - var(--max))/2));padding-right:clamp(40px,7vw,112px)}
.hero-copy h1{max-width:8ch;margin:clamp(20px,3vw,40px) 0 32px;font-size:clamp(4rem,9.5vw,10.5rem);font-weight:800;line-height:.78;letter-spacing:-.075em;text-wrap:balance}
.hero-copy>p:not(.eyebrow){max-width:46ch;margin-bottom:32px;font-size:clamp(17px,1.35vw,20px);line-height:1.55}
.pulse-button{gap:24px;min-height:52px;padding:14px 24px;transition:transform .42s var(--ease-snap),box-shadow .42s var(--ease-snap),background-color .3s var(--ease-snap)}
.pulse-button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgb(82 41 204/.22)}
.pulse-button:active{transform:translateY(0) scale(.98)}
.pulse-button span{transition:transform .42s var(--spring-snappy)}.pulse-button:hover span{transform:translate(3px,-3px)}
.hero-stage:before{inset:12%;opacity:.72}.hero-stage strong{font-size:clamp(4rem,8vw,8rem)}
.hero-image{width:64%;height:58%;transform:rotate(-5deg);border-width:10px;transition:transform .7s var(--spring-smooth)}.hero-stage:hover .hero-image{transform:rotate(-2deg) scale(1.025)}
.orbit{background:var(--cyan)}.orbit-a{width:72px;height:72px}.orbit-b{width:44px;height:44px}
.hero-enter{animation:hero-arrive .62s var(--spring-snappy) both}.hero-enter-1{animation-delay:40ms}.hero-enter-2{animation-delay:120ms}.hero-enter-3{animation-delay:220ms}.hero-enter-4{animation-delay:320ms}.hero-enter-stage{animation-name:hero-stage-arrive;animation-delay:0ms}
@keyframes hero-arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-stage-arrive{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
@media(max-width:900px){.pulse-hero{grid-template-columns:1fr;min-height:0}.hero-copy{min-height:calc(100svh - 150px);padding:72px 24px}.hero-copy h1{font-size:clamp(4rem,16vw,8rem)}.hero-stage{min-height:52svh}}
@media(max-width:640px){.hero-copy{min-height:500px;padding:56px 24px}.hero-copy h1{font-size:clamp(3.8rem,20vw,6.8rem);line-height:.8}.hero-stage{min-height:360px}}
@media(prefers-reduced-motion:reduce){.hero-enter{animation:hero-fade .18s cubic-bezier(.22,1,.36,1) both!important;animation-delay:0ms!important}.hero-stage:hover .hero-image,.pulse-button:hover,.pulse-button:active,.pulse-button:hover span{transform:none}@keyframes hero-fade{from{opacity:0}to{opacity:1}}}
