.landing-ribbons{pointer-events:none;position:absolute;inset:0;overflow:hidden}.landing-ribbon{filter:blur(28px);transform-origin:0 0;will-change:transform;animation:landing-ribbon-drift var(--landing-flow) ease-in-out infinite alternate;border-radius:999px;position:absolute}.landing-ribbon--1{background:linear-gradient(90deg, var(--ribbon-1), var(--ribbon-2) 50%, var(--ribbon-4));--r:28deg}.landing-ribbon--2{background:linear-gradient(90deg, var(--ribbon-sky), var(--ribbon-3) 50%, var(--ribbon-aqua));opacity:.85;--r:28deg;animation-delay:calc(var(--landing-flow) / -3)}.landing-ribbon--3{background:linear-gradient(90deg, var(--ribbon-deep), var(--ribbon-1) 50%, var(--ribbon-sky));opacity:.75;--r:28deg;animation-delay:calc(var(--landing-flow) / -1.5)}.landing-ribbons--soft .landing-ribbon{--r:18deg;filter:blur(24px)}@keyframes landing-ribbon-drift{0%{transform:rotate(var(--r)) translate3d(0, 0, 0) scaleX(1)}to{transform:rotate(calc(var(--r) + 4deg)) translate3d(-48px, 24px, 0) scaleX(1.06)}}@media (scripting:enabled){.landing-reveal{opacity:0;transform:translateY(16px)}}.landing-reveal{transition:opacity var(--landing-reveal) var(--ease-out-expo), transform var(--landing-reveal) var(--ease-out-expo);transition-delay:calc(var(--d,0) * var(--landing-stagger))}.landing-reveal[data-in]{opacity:1;transform:none}.landing-rise{animation:landing-rise var(--landing-reveal) var(--ease-out-expo) both;animation-delay:calc(var(--d,0) * var(--landing-stagger))}@keyframes landing-rise{0%{opacity:0;transform:translateY(16px)}}.landing-grow-x,.landing-grow-y{transition:transform var(--landing-draw) var(--ease-out-expo);transition-delay:calc(var(--d,0) * var(--landing-stagger))}.landing-grow-x{transform-origin:0;transform:scaleX(0)}.landing-grow-y{transform-origin:bottom;transform:scaleY(0)}[data-in] .landing-grow-x,[data-in] .landing-grow-y{transform:none}.landing-progress{transform:scaleX(var(--p,0));transform-origin:0;transition:transform var(--landing-draw) var(--ease-out-expo)}.landing-late{opacity:0;transition:opacity var(--landing-reveal) var(--ease-out-expo), transform var(--landing-reveal) var(--ease-out-expo);transition-delay:calc(var(--d,0) * var(--landing-stagger));transform:translateY(8px)}[data-in] .landing-late{opacity:1;transform:none}.landing-playhead{pointer-events:none;width:100%;animation:landing-playhead-sweep calc(var(--landing-cycle) * 3) linear infinite;position:absolute;inset:0 auto 0 0}.landing-playhead:before{content:"";background:var(--primary);width:1px;position:absolute;inset:0 auto 0 0}@keyframes landing-playhead-sweep{0%{transform:translate(0)}to{transform:translate(100%)}}.landing-blink{animation:live-pulse var(--motion-pulse) var(--ease-out-quint) infinite}.landing-scan{pointer-events:none;background:linear-gradient(180deg, transparent 0 49%, color-mix(in srgb, var(--ribbon-sky) 90%, transparent) 50%, transparent 51%);animation:landing-scan-sweep var(--landing-scan) var(--ease-out-quint) infinite;position:absolute;inset:0}@keyframes landing-scan-sweep{0%{opacity:0;transform:translateY(-50%)}15%{opacity:1}85%{opacity:1}to{opacity:0;transform:translateY(50%)}}.landing-phone{border-radius:20px 20px 0 0}.landing-bubble{animation:landing-bubble-in var(--motion-layout) var(--ease-out-expo) both}@keyframes landing-bubble-in{0%{opacity:0;transform:translateY(var(--motion-slide)) scale(var(--motion-scale-in))}}.landing-typing span{background:var(--smoke);width:4px;height:4px;animation:live-pulse var(--motion-pulse) var(--ease-out-quint) infinite;border-radius:999px;display:inline-block}.landing-typing span:nth-child(2){animation-delay:calc(var(--motion-pulse) / 6)}.landing-typing span:nth-child(3){animation-delay:calc(var(--motion-pulse) / 3)}.landing-stats-glow{background:radial-gradient(60% 70% at 50% 110%, var(--accent), transparent);animation:landing-glow-breathe calc(var(--landing-flow) / 2) ease-in-out infinite alternate}@keyframes landing-glow-breathe{0%{opacity:.7;transform:scale(1)}to{opacity:1;transform:scale(1.08)}}.landing-night-glow{background:radial-gradient(closest-side, color-mix(in srgb, var(--ribbon-1) 40%, transparent), transparent)}.landing-connector{background:linear-gradient(90deg, var(--primary), var(--lavender) 60%, var(--border))}.landing-step-badge{transition:background-color var(--motion-layout) var(--ease-out-quint), border-color var(--motion-layout) var(--ease-out-quint), color var(--motion-layout) var(--ease-out-quint);transition-delay:calc(var(--d,0) * var(--landing-draw) / 3)}[data-in] .landing-step-badge{background-color:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.landing-card .landing-card-arrow{transition:transform var(--motion-instant) var(--ease-out-quint)}.landing-card:hover .landing-card-arrow{transform:translate(2px,-2px)}.landing-link svg{transition:transform var(--motion-instant) var(--ease-out-quint)}.landing-link:hover svg{transform:translate(2px)}.landing-word{vertical-align:top;margin-bottom:-.14em;padding-bottom:.14em;display:inline-block;overflow:hidden}.landing-word>span{transition:transform var(--landing-reveal) var(--ease-out-expo);transition-delay:calc(var(--d,0) * var(--motion-stagger));display:inline-block}@media (scripting:enabled){.landing-words:not([data-in]) .landing-word>span{transform:translateY(110%)}}.landing-words--load .landing-word>span{animation:landing-word-up var(--landing-reveal) var(--ease-out-expo) both;animation-delay:calc(var(--d,0) * var(--motion-stagger))}@keyframes landing-word-up{0%{transform:translateY(110%)}}.landing-spot{isolation:isolate;position:relative}.landing-spot:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--primary) 9%, transparent), transparent 65%);opacity:0;transition:opacity var(--motion-state) var(--ease-out-quint);position:absolute;inset:0}.landing-spot:hover:after{opacity:1}.landing-spot{transition:border-color var(--motion-state) var(--ease-out-quint)}.landing-spot:hover{border-color:var(--lavender)}.landing-spot--night:after{background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--night-accent) 16%, transparent), transparent 65%)}.landing-tilt{transition:transform var(--motion-layout) var(--ease-out-quint)}.landing-tilt-stage:hover .landing-tilt{transform:perspective(1600px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}.landing-arrive{animation:landing-arrive var(--landing-reveal) var(--ease-out-expo)}@keyframes landing-arrive{0%{transform:scale(var(--motion-scale-in));background-color:var(--accent)}}.landing-roll{vertical-align:top;height:1em;line-height:1;display:inline-flex;overflow:hidden}.landing-roll>span{transition:transform var(--landing-draw) var(--ease-out-expo);transition-delay:calc(var(--d,0) * var(--landing-stagger));flex-direction:column;display:flex;transform:translateY(0)}.landing-roll>span>span{height:1em}[data-in] .landing-roll>span{transform:translateY(calc(var(--to) * -1em))}.landing-wave span{transform-origin:50%;width:3px;animation:landing-wave calc(var(--landing-cycle) / 3) ease-in-out infinite alternate;animation-delay:calc(var(--i,0) * var(--landing-cycle) / -14);background:currentColor;border-radius:2px;display:inline-block}@keyframes landing-wave{0%{transform:scaleY(.35)}to{transform:scaleY(1)}}.landing-fill{transition:background-color var(--motion-layout) var(--ease-out-quint), border-color var(--motion-layout) var(--ease-out-quint)}.landing-fill>span{transition:opacity var(--motion-layout) var(--ease-out-quint), transform var(--motion-layout) var(--ease-out-expo)}.landing-fill:not([data-on])>span{opacity:0;transform:translateY(var(--motion-nudge))}.landing-fill[data-on]{border-color:var(--lavender);background-color:var(--card)}.landing-auth-grid{background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);opacity:.6;background-size:48px 48px;-webkit-mask-image:radial-gradient(70% 60% at 50% 45%,#000,#0000);mask-image:radial-gradient(70% 60% at 50% 45%,#000,#0000)}.landing-phone-full{border-radius:28px}.landing-draw-path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset var(--landing-draw) var(--ease-out-expo)}[data-in] .landing-draw-path{stroke-dashoffset:0}.landing-night-car{mix-blend-mode:screen;opacity:0;transition:opacity var(--landing-reveal) var(--ease-out-expo), transform var(--landing-draw) var(--ease-out-expo);transform:translate(-24%)}[data-in] .landing-night-car{opacity:.92;transform:none}.landing-cta-fade{background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 92%, transparent) 0%, color-mix(in srgb, var(--accent) 70%, transparent) 45%, transparent 75%)}
