:root{--ease-smooth:cubic-bezier(0.22,1,0.36,1);--ease-out:cubic-bezier(0.17,1,0.32,1);--ease-spring:cubic-bezier(0.35,1.55,0.65,1);--ease-in-out:cubic-bezier(0.66,0,0.34,1);--spring:var(--ease-smooth);--shadow-elevated:0 8px 12px rgba(0,0,0,0.02),0 4px 8px rgba(0,0,0,0.02),0 2px 4px rgba(0,0,0,0.02),0 1px 2px rgba(0,0,0,0.04),0 0 0 0.5px rgba(224,224,224,0.6);--shadow-elevated-hover:0 16px 28px rgba(0,0,0,0.04),0 8px 18px rgba(0,0,0,0.04),0 4px 8px rgba(0,0,0,0.03),0 2px 4px rgba(0,0,0,0.06),0 0 0 0.5px rgba(224,224,224,0.75)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{width:100%;height:100%;font-family:General Sans,sans-serif;scroll-snap-type:y proximity}h1,h2,h3,h4,h5,h6{font-family:Gambarino,serif}h1{font-weight:700}.card{transition:box-shadow .3s var(--ease-smooth),transform .3s var(--ease-smooth);will-change:transform}.card,.card:active{box-shadow:var(--shadow-elevated)}.card:active{transform:scale(.99)}.pressable{transition:transform .18s var(--ease-smooth)}.pressable:active{transform:scale(.95)}@keyframes reveal-in{0%{opacity:0;transform:perspective(1100px) rotateX(26deg) translateY(16px);filter:blur(8px)}to{opacity:1;transform:perspective(1100px) rotateX(0deg) translateY(0);filter:blur(0)}}@keyframes reveal-exit-up{0%{opacity:1;transform:perspective(1100px) rotateX(0deg) translateY(0);filter:blur(0)}to{opacity:0;transform:perspective(1100px) rotateX(-12deg) translateY(-14px);filter:blur(5px)}}@keyframes reveal-exit-down{0%{opacity:1;transform:perspective(1100px) rotateX(0deg) translateY(0);filter:blur(0)}to{opacity:0;transform:perspective(1100px) rotateX(14deg) translateY(14px);filter:blur(5px)}}.reveal-fx{opacity:0;transform:perspective(1100px) rotateX(26deg) translateY(16px);filter:blur(8px)}.reveal-fx,.reveal-fx-hero{transform-origin:50% 100%}.reveal-fx-hero.revealed,.reveal-fx.revealed{animation:reveal-in .6s var(--ease-out) both}.reveal-fx-hero.reveal-exit-up,.reveal-fx.reveal-exit-up{animation:reveal-exit-up .34s var(--ease-in-out) both}.reveal-fx-hero.reveal-exit-down,.reveal-fx.reveal-exit-down{animation:reveal-exit-down .34s var(--ease-in-out) both}@keyframes annotation-in{0%{opacity:0;transform:scale(.92) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes clouds-fade-in{0%{opacity:0}to{opacity:1}}@keyframes zoom-in-up{0%{opacity:0;transform:translateY(8px);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@media (prefers-reduced-motion:reduce){body,html{scroll-snap-type:none}.reveal-fx,.reveal-fx-hero{opacity:1;transform:none;filter:none}.card,.pressable{transition:none}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important}}