.portal section[id],.portal footer[id]{scroll-margin-top:80px}.portal-gradient{background:radial-gradient(ellipse at 8% 5%, color-mix(in srgb, var(--primary) 38%, transparent), transparent 58%), radial-gradient(ellipse at 75% 42%, color-mix(in srgb, var(--chart-2) 22%, transparent), transparent 52%), radial-gradient(ellipse at 95% 98%, color-mix(in srgb, var(--chart-3) 25%, transparent), transparent 45%), var(--background);background-size:130% 130%;animation:8s ease-in-out infinite alternate portal-background}.triad-frame{background:linear-gradient(120deg, var(--primary), var(--chart-2), var(--chart-3), var(--primary));background-size:300% 300%;padding:3px;animation:8s ease-in-out infinite alternate portal-background}.feature-frame{transition:transform var(--transition-normal), box-shadow var(--transition-normal), filter var(--transition-normal)}.feature-frame:hover{filter:brightness(1.06);box-shadow:0 12px 32px color-mix(in srgb, var(--primary) 24%, transparent);transform:translateY(-4px)}.feature-inner{box-shadow:inset 0 0 24px color-mix(in srgb, var(--primary) 9%, transparent)}.portal-ripple{background:var(--primary);pointer-events:none;border-radius:100%;width:180px;height:180px;animation:.3s ease-out forwards portal-ripple;position:absolute;transform:translate(-50%,-50%)scale(0)}.portal-pulse{animation:3s ease-in-out infinite portal-pulse}.trust-shimmer{position:relative;overflow:hidden}.trust-shimmer:after{content:"";pointer-events:none;background:linear-gradient(110deg, transparent 35%, color-mix(in srgb, var(--chart-2) 12%, transparent) 50%, transparent 65%);animation:7s ease-in-out infinite portal-shimmer;position:absolute;inset:0;transform:translate(-100%)}.banner-gradient{background:linear-gradient(115deg, color-mix(in srgb, var(--chart-2) 25%, var(--card)), color-mix(in srgb, var(--primary) 32%, var(--card)))}@keyframes portal-background{0%{background-position:0 0}to{background-position:100% 100%}}@keyframes portal-ripple{to{opacity:0;transform:translate(-50%,-50%)scale(4)}}@keyframes portal-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--primary) 18%, transparent)}50%{box-shadow:0 0 0 6px #0000}}@keyframes portal-shimmer{0%,65%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.portal-gradient,.triad-frame,.portal-pulse,.trust-shimmer:after,.portal-ripple{animation:none}.feature-frame{transition:none}.feature-frame:hover{transform:none}}
