.techstack-section{padding:3.5rem 0;background:hsl(var(--background));position:relative;border-top:1px solid hsl(var(--surface-4)/.5);border-bottom:1px solid hsl(var(--surface-4)/.5);overflow:hidden}.techstack-label{text-align:center;font-size:.8rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--muted-foreground)/.6);margin-bottom:2.5rem}.techstack-track-wrapper{position:relative}.techstack-fade-left,.techstack-fade-right{position:absolute;top:0;bottom:0;width:160px;z-index:2;pointer-events:none}.techstack-fade-left{left:0;background:linear-gradient(to right,hsl(var(--background)) 30%,transparent)}.techstack-fade-right{right:0;background:linear-gradient(to left,hsl(var(--background)) 30%,transparent)}.techstack-marquee{overflow:hidden;padding:1.5rem 0}.techstack-track{display:flex;align-items:center;gap:1.25rem;width:max-content;animation:techstack-scroll 36s linear infinite}.techstack-track:hover{animation-play-state:paused}@keyframes techstack-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.techstack-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;border-radius:1.25rem;border:1px solid hsl(var(--surface-4));background:var(--gradient-card);cursor:default;width:96px;height:96px;flex-shrink:0;transition:border-color .3s ease,box-shadow .3s ease,background .3s ease;box-shadow:0 2px 8px hsl(var(--background)/.3)}.techstack-item:hover{border-color:color-mix(in srgb,var(--tech-color) 60%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--tech-color) 20%,transparent),0 0 24px color-mix(in srgb,var(--tech-color) 30%,transparent),0 8px 24px hsl(var(--background)/.5);background:color-mix(in srgb,var(--tech-color) 8%,hsl(var(--surface-1)))}.techstack-logo{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.techstack-logo svg{width:100%;height:100%;color:hsl(var(--foreground))}.techstack-item:hover .techstack-logo{transform:scale(1.15)}.techstack-name{font-size:.7rem;font-weight:600;color:hsl(var(--muted-foreground));white-space:nowrap;transition:color .3s ease;letter-spacing:.02em}.techstack-item:hover .techstack-name{color:color-mix(in srgb,var(--tech-color) 90%,hsl(var(--foreground)))}.ai-section{padding:6rem 0;background:hsl(var(--background));position:relative;overflow:hidden}.ai-section-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 110%,hsl(var(--primary)/.12),transparent);pointer-events:none}.ai-section-container{position:relative;z-index:10}.ai-section-header{text-align:center;margin-bottom:4rem}.ai-section-badge{display:inline-flex;align-items:center;padding:.375rem 1rem;border-radius:9999px;background:hsl(var(--primary)/.1);color:hsl(var(--primary));font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:1rem}.ai-section-title{font-size:1.875rem;font-weight:700;color:hsl(var(--foreground));margin-bottom:1.25rem}@media (min-width:768px){.ai-section-title{font-size:3rem}}.ai-gradient-text{background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ai-section-subtitle{color:hsl(var(--muted-foreground));font-size:1.125rem;max-width:44rem;margin:0 auto}.ai-feature-card{padding:1.5rem;border-radius:1rem;background:var(--gradient-card);border:1px solid hsl(var(--surface-4));transition:all .3s ease;height:100%}.ai-feature-card:hover{border-color:hsl(var(--primary)/.35);transform:translateY(-4px)}.ai-feature-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.ai-feature-icon{width:3rem;height:3rem;border-radius:.75rem;background:hsl(var(--primary)/.1);display:flex;align-items:center;justify-content:center;transition:background .3s ease}.ai-feature-card:hover .ai-feature-icon{background:hsl(var(--primary)/.2)}.ai-feature-icon-svg{width:1.4rem;height:1.4rem;color:hsl(var(--primary))}.ai-feature-tag{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--primary));background:hsl(var(--primary)/.08);padding:.2rem .6rem;border-radius:9999px}.ai-feature-title{font-size:1.1rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.5rem}.ai-feature-description{color:hsl(var(--muted-foreground));font-size:.875rem;line-height:1.65;margin:0}.ai-mock-wrapper{height:100%;display:flex;flex-direction:column;gap:.6rem}.ai-mock-label{display:inline-flex;align-items:center;font-size:.75rem;font-weight:600;color:hsl(var(--primary));letter-spacing:.04em;text-transform:uppercase}.ai-mock-screen{border-radius:1rem;border:1px solid hsl(var(--surface-4));background:var(--gradient-card);overflow:hidden;flex:1 1}.ai-mock-topbar{display:flex;align-items:center;gap:.4rem;padding:.65rem 1rem;border-bottom:1px solid hsl(var(--surface-4));background:hsl(var(--surface-1)/.5)}.ai-mock-dot{width:10px;height:10px;border-radius:50%}.ai-mock-dot.red{background:#ff5f57}.ai-mock-dot.yellow{background:#febc2e}.ai-mock-dot.green{background:#28c840}.ai-mock-topbar-title{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));margin-left:.5rem}.ai-mock-messages{padding:1rem;display:flex;flex-direction:column;gap:.65rem;min-height:200px}.ai-mock-bubble{display:flex;align-items:flex-start;gap:.4rem;max-width:88%}.ai-bubble-user{align-self:flex-end;flex-direction:row-reverse}.ai-bubble-ai{align-self:flex-start}.ai-bubble-avatar{width:20px;height:20px;border-radius:50%;background:hsl(var(--primary)/.15);display:flex;align-items:center;justify-content:center;color:hsl(var(--primary));flex-shrink:0;margin-top:2px}.ai-bubble-text{font-size:.78rem;line-height:1.5;padding:.5rem .75rem;border-radius:.75rem;color:hsl(var(--foreground))}.ai-bubble-user .ai-bubble-text{background:hsl(var(--primary)/.15);border-bottom-right-radius:.2rem}.ai-bubble-ai .ai-bubble-text{background:hsl(var(--surface-4)/.6);border-bottom-left-radius:.2rem}.ai-mock-input-bar{display:flex;align-items:center;justify-content:space-between;margin:0 1rem 1rem;padding:.5rem .75rem;border-radius:.6rem;border:1px solid hsl(var(--surface-4));background:hsl(var(--surface-1)/.4)}.ai-mock-input-placeholder{font-size:.75rem;color:hsl(var(--muted-foreground)/.6)}.ai-mock-send{color:hsl(var(--primary));display:flex;align-items:center}.ai-mock-search-body{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.ai-mock-search-bar{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;border-radius:.6rem;border:1px solid hsl(var(--primary)/.4);background:hsl(var(--surface-1)/.4)}.ai-mock-search-icon{color:hsl(var(--primary));flex-shrink:0}.ai-mock-search-query{font-size:.78rem;color:hsl(var(--foreground));flex:1 1}.ai-mock-search-cursor{width:1px;height:14px;background:hsl(var(--primary));animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.ai-mock-search-tag{display:inline-flex;align-items:center;font-size:.7rem;color:hsl(var(--primary));background:hsl(var(--primary)/.08);padding:.2rem .6rem;border-radius:9999px;width:-moz-fit-content;width:fit-content}.ai-mock-results{display:flex;flex-direction:column;gap:.5rem}.ai-mock-result-item{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;border-radius:.6rem;background:hsl(var(--surface-4)/.4);border:1px solid hsl(var(--surface-4));transition:border-color .2s}.ai-mock-result-item:hover{border-color:hsl(var(--primary)/.3)}.ai-mock-result-dot{width:6px;height:6px;border-radius:50%;background:hsl(var(--primary));flex-shrink:0}.ai-mock-result-text{font-size:.78rem;color:hsl(var(--foreground))}.ai-mock-search-footer{font-size:.7rem}.ai-cta-strip,.ai-mock-search-footer{display:flex;align-items:center;color:hsl(var(--muted-foreground))}.ai-cta-strip{margin-top:3rem;justify-content:center;gap:.6rem;padding:1rem 1.5rem;border-radius:.75rem;border:1px solid hsl(var(--primary)/.2);background:hsl(var(--primary)/.05);font-size:.875rem;text-align:center;flex-wrap:wrap}.ai-cta-icon{color:hsl(var(--primary));flex-shrink:0}.ai-cta-strip strong{color:hsl(var(--foreground))}.ai-cta-divider{width:1px;height:16px;background:hsl(var(--surface-4));flex-shrink:0}.ai-cta-sub{color:hsl(var(--muted-foreground)/.7);font-size:.8rem}