@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes glowPulse{0%{opacity:.7;filter:blur(40px)}50%{opacity:.9;filter:blur(35px)}to{opacity:.7;filter:blur(40px)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.fade-up{opacity:0;animation:.8s cubic-bezier(.215,.61,.355,1) forwards fadeUp}.fade-in{opacity:0;animation:.8s forwards fadeIn}.float{animation:6s ease-in-out infinite float}.glow{animation:4s ease-in-out infinite glowPulse}.scale-in{opacity:0;animation:.7s cubic-bezier(.215,.61,.355,1) forwards scaleIn}.hover-scale{transition:transform .3s,box-shadow .3s}.hover-scale:hover{transform:scale(1.05);box-shadow:0 8px 20px #0000004d}.hover-scale:active{transform:scale(.98)}.hover-lift{transition:transform .4s cubic-bezier(.215,.61,.355,1),box-shadow .4s cubic-bezier(.215,.61,.355,1)}.hover-lift:hover{transform:translateY(-5px)rotateY(-2deg)rotateX(2deg);box-shadow:0 20px 50px #00000080}.delay-0{animation-delay:0s}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}.delay-6{animation-delay:.6s}.delay-7{animation-delay:.7s}.delay-8{animation-delay:.8s}.js-enabled .fade-up,.js-enabled .fade-in,.js-enabled .float,.js-enabled .glow,.js-enabled .scale-in{animation-play-state:running}.fade-up,.fade-in,.float,.glow,.scale-in{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.fade-up,.fade-in,.float,.glow,.scale-in{opacity:1!important;animation:none!important;transform:none!important}.hover-scale:hover,.hover-lift:hover{box-shadow:none!important;transform:none!important}}
.feature-card{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out,box-shadow .3s;transform:translateY(20px)}.feature-card.visible{opacity:1;transform:translateY(0)}.feature-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0003}@media (prefers-reduced-motion:reduce){.feature-card{opacity:1;transition:none;transform:none}.feature-card:hover{box-shadow:none;transform:none}}
.chart-container{opacity:0;transition:opacity .8s,transform .8s,box-shadow .4s;transform:translateY(20px)}.chart-container.visible{opacity:1;transform:translateY(0)}.chart-container:hover{transform:translateY(-5px);box-shadow:0 10px 30px #00000026}.headline-gradient{-webkit-text-fill-color:transparent;opacity:0;-webkit-background-clip:text;background-clip:text;transition:opacity .8s,transform .8s;transform:translateY(20px)}.headline-gradient.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.chart-container,.headline-gradient{opacity:1;transition:none;transform:none}.chart-container:hover{box-shadow:none;transform:none}}
.map-content{opacity:0;transition:opacity .8s,transform .8s;transform:translate(-50px)}.map-content.visible{opacity:1;transform:translate(0)}.map-container{opacity:0;transition:opacity .8s,transform .8s,box-shadow .3s;transform:scale(.95)}.map-container.visible{opacity:1;transform:scale(1)}.map-container:hover{box-shadow:0 15px 35px #0003}.price-badge{z-index:2;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-weight:700;transition:transform .6s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;display:flex;position:absolute;transform:scale(0);box-shadow:0 2px 4px #0000004d}.price-badge.visible{transform:scale(1)}.price-badge:hover{z-index:10;transform:scale(1.2);box-shadow:0 4px 8px #00000080}.price-tooltip{white-space:nowrap;pointer-events:none;z-index:3;opacity:0;background-color:#fff;border-radius:4px;padding:8px 16px;transition:opacity .3s,transform .3s;position:absolute;top:0;left:50%;transform:translate(-50%)translateY(-10px);box-shadow:0 4px 8px #0000004d}.price-badge:hover .price-tooltip{opacity:1;transform:translate(-50%)translateY(-50px)}@media (prefers-reduced-motion:reduce){.map-content,.map-container,.price-badge,.price-tooltip{opacity:1;transition:none;animation:none;transform:none}.map-content.visible,.map-container.visible,.price-badge.visible,.price-badge:hover,.price-badge:hover .price-tooltip{opacity:1;transform:none}.map-container:hover{box-shadow:none}}
