:root { --motion-ease:cubic-bezier(.22,.8,.25,1); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }

.button,.nav-cta { transition:transform .28s var(--motion-ease),background .2s,box-shadow .28s,border-color .2s; }
.button>span,.nav-cta>span,.text-link>span,.inspector-link>span { display:inline-block; transition:transform .32s var(--motion-ease); }
.button:hover>span,.nav-cta:hover>span,.inspector-link:hover>span { transform:translate(3px,-3px); }
.text-link:hover>span { transform:translateY(3px); }
.primary:hover { box-shadow:0 7px 26px #bfea6e28; }
.button:active,.nav-cta:active { transform:translateY(1px) scale(.97); transition-duration:.1s; }
.brand-mark i { transition:transform .4s var(--motion-ease),border-radius .3s; }
.wordmark:hover .brand-mark i:first-child { transform:translateY(-2px); border-radius:5px; }
.wordmark:hover .brand-mark i:nth-child(2) { transform:translate(2px,-3px) rotate(12deg); }
.wordmark:hover .brand-mark i:nth-child(3) { transform:translate(2px,3px) rotate(-12deg); }

.space-story { transition:transform .45s var(--motion-ease),box-shadow .45s; }
.story-map>div { transition:transform .32s var(--motion-ease),box-shadow .32s,filter .25s; }
.story-map>div:hover { transform:translateY(-4px) rotate(-1deg); box-shadow:0 8px 15px #111a0c40; filter:brightness(1.05); z-index:1; }
.story-map>div:nth-child(even):hover { transform:translateY(-4px) rotate(1deg); }
.story-projects .tile-symbol { transition:transform .55s var(--motion-ease); }
.story-projects:hover .tile-symbol { transform:rotate(-15deg) scale(1.12); }

.demo-items,.demo-items.map-view { min-height:360px; }
.demo-row { transition:background .2s,border-color .2s,box-shadow .2s; }
.demo-row:hover { box-shadow:inset 3px 0 #bce883; }
.demo-row .row-folder { transition:transform .28s var(--motion-ease),color .2s; }
.demo-row:hover .row-folder { transform:translateY(-2px) rotate(-7deg); color:var(--accent); }
.demo-row .row-bar i { transform-origin:left; transition:filter .25s; }
.demo-row:hover .row-bar i { filter:brightness(1.3); }
.view-switch button { transition:background .23s,box-shadow .23s,color .23s; }
.view-switch button.selected { box-shadow:0 2px 7px #0002; }
.view-switch button:active { transform:scale(.95); }
.price-card { transition:transform .35s var(--motion-ease),border-color .35s,box-shadow .35s; }
.plan-tag { transition:transform .35s var(--motion-ease); }
.step-number { display:inline-block; transition:transform .35s var(--motion-ease); }
.steps article:hover .step-number { transform:translateX(4px); }
.faqs summary { transition:color .2s; }
.faqs summary:hover { color:var(--accent); }
.faqs summary:after { transition:transform .3s var(--motion-ease); transform-origin:center; }
.faqs details[open] summary:after { transform:rotate(180deg); }
.faqs details.accordion-moving { overflow:hidden; }

@media (hover:hover) and (pointer:fine) {
  .price-card:hover { transform:translateY(-6px); border-color:#b7db92; box-shadow:0 16px 40px #0003; }
  .pro-card:hover .plan-tag { transform:rotate(-3deg); }
}
@media (min-width:801px) and (hover:hover) and (pointer:fine) {
  .space-story { transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotateZ(1.5deg); }
  .space-story:hover { box-shadow:0 30px 80px #0004; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
  .button:hover,.button:active,.nav-cta:active,.price-card:hover,.story-map>div:hover,.wordmark:hover .brand-mark i,.pro-card:hover .plan-tag,.steps article:hover .step-number { transform:none!important; }
  .space-story { transform:none!important; }
  .button:hover>span,.nav-cta:hover>span,.inspector-link:hover>span,.text-link:hover>span,.story-projects:hover .tile-symbol,.demo-row:hover .row-folder,.view-switch button:active { transform:none!important; }
}
