.roadmap-container{--line-color:hsl(var(--primary)/0.2);--line-width:2px}.roadmap-container:before{content:"";position:absolute;top:0;bottom:0;left:23px;width:var(--line-width);background-image:linear-gradient(to bottom,transparent,var(--line-color),transparent);z-index:0}@media (min-width:768px){.roadmap-container:before{left:50%;transform:translateX(-50%)}}.roadmap-phase{margin-bottom:2rem}.roadmap-phase:last-child{margin-bottom:0}.roadmap-icon-wrapper{flex-shrink:0;width:48px;position:relative;z-index:1}@media (min-width:768px){.roadmap-phase{flex-direction:row-reverse}.roadmap-phase:nth-child(2n){flex-direction:row}.roadmap-icon-wrapper{position:absolute;left:50%;top:0;transform:translateX(-50%);width:48px}}.roadmap-icon{width:48px;height:48px;border-radius:9999px;display:flex;align-items:center;justify-content:center;background-color:hsl(var(--card));border:2px solid hsl(var(--primary)/.3);box-shadow:0 0 15px hsl(var(--primary)/.2)}.roadmap-icon svg{width:24px;height:24px}.roadmap-content{flex-grow:1;padding-left:24px;width:calc(100% - 48px)}@media (min-width:768px){.roadmap-content{width:50%;padding-left:48px;padding-right:48px}.roadmap-phase:nth-child(2n) .roadmap-content{text-align:right}.roadmap-phase:nth-child(2n) .roadmap-content ul li{justify-content:flex-end;flex-direction:row-reverse}}.roadmap-card{padding:1.5rem;border-radius:.75rem;position:relative}.roadmap-card:before{content:"";position:absolute;top:18px;left:-8px;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:8px solid hsl(var(--card)/.5);z-index:-1}@media (min-width:768px){.roadmap-card:before{left:-8px;border-right:8px solid hsl(var(--border));border-left:none}.roadmap-phase:nth-child(2n) .roadmap-card:before{left:auto;right:-8px;border-right:none;border-left:8px solid hsl(var(--border))}}.portal-button-container{position:relative;display:inline-flex;align-items:center;justify-content:center}.portal-button-container.is-active .rings{opacity:1;transform:scale(1)}.rings{top:50%;left:50%;width:300px;height:300px;transform:translate(-50%,-50%) scale(0);transition:transform .5s ease,opacity .5s ease;pointer-events:none}.rings,.rings div{position:absolute;opacity:0}.rings div{inset:0;border-radius:50%;border:2px solid transparent;animation:portal-ring-animation 1.2s ease-out forwards}.rings div:first-child{border-color:hsl(var(--primary)/.3);animation-delay:0s}.rings div:nth-child(2){border-color:hsl(var(--primary)/.5);animation-delay:.1s}.rings div:nth-child(3){border-color:hsl(var(--primary)/.7);animation-delay:.2s}.rings div:nth-child(4){border-color:hsl(var(--primary));animation-delay:.3s;box-shadow:0 0 20px hsl(var(--primary)/.5)}@keyframes portal-ring-animation{0%{transform:scale(0);opacity:1}80%,to{transform:scale(1);opacity:0}}.service-card{position:relative;background-color:hsl(var(--card)/.4);border:1px solid hsl(var(--primary)/.2);backdrop-filter:blur(8px);transition:all .3s ease;overflow:hidden}.service-card:hover{transform:translateY(-8px);border-color:hsl(var(--primary));box-shadow:0 10px 30px hsl(var(--primary)/.2)}.service-card-glow{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at center,hsl(var(--primary)/.15),transparent 70%);opacity:0;transition:opacity .3s ease;pointer-events:none}.service-card:hover .service-card-glow{opacity:1}.service-icon-wrapper{position:relative;display:inline-flex;padding:1rem;border-radius:9999px;background-color:hsl(var(--primary)/.1);transition:background-color .3s ease}.service-card:hover .service-icon-wrapper{background-color:hsl(var(--primary)/.2)}.service-icon-wrapper .pulse-ring{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid hsl(var(--primary)/.5);opacity:0;transform:scale(.8);animation:pulse-animation 2s cubic-bezier(.455,.03,.515,.955) infinite}.service-card:hover .pulse-ring{animation:none}@keyframes pulse-animation{0%{transform:scale(.8);opacity:0}50%{opacity:1}to{transform:scale(1.4);opacity:0}}