.hero-section{position:relative;padding:4rem 0 3rem;overflow:hidden}.hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none}.hero-dots{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;color:hsl(var(--muted-foreground));opacity:.2}.hero-title{position:relative;z-index:1;font-family:Sora,system-ui,sans-serif;font-size:clamp(2.5rem,5vw,3.5rem);font-weight:700;letter-spacing:-.02em;color:hsl(var(--foreground));text-align:center;margin-bottom:1rem}.hero-subtitle{position:relative;z-index:1;font-size:1.125rem;line-height:1.6;color:hsl(var(--muted-foreground));text-align:center;max-width:600px;margin:0 auto}.intro-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) + 4px);padding:2.5rem;box-shadow:0 10px 40px -12px hsla(var(--foreground) / .05)}.intro-text-lg{font-size:1.125rem;line-height:1.7;color:hsl(var(--foreground));margin-bottom:1.5rem}.intro-text{font-size:.9375rem;line-height:1.7;color:hsl(var(--muted-foreground));margin:0}.section{padding:4rem 0}.section .card{padding:2rem}.step-number{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:1rem;background:linear-gradient(135deg,hsl(var(--accent)),hsl(var(--accent) / .8));color:#fff;font-family:Sora,system-ui,sans-serif;font-size:1.25rem;font-weight:700;border-radius:50%}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2rem}.service-card{position:relative;padding:2.5rem;background:hsl(var(--card));border:2px solid hsl(var(--border));border-radius:calc(var(--radius) + 4px);transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.4,0,.2,1)}.service-card:hover{border-color:currentColor;transform:translateY(-8px);box-shadow:0 20px 40px -12px hsla(var(--foreground) / .15)}.service-card:hover:before{transform:scaleX(1)}.service-card:hover .service-card__icon{transform:scale(1.1) rotate(5deg)}.service-card:hover .service-card__pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.service-card--blue{color:#3c71dd}.service-card--orange{color:#e87d30}.service-card--green{color:#22c35d}.service-card--purple{color:#995cd6}.service-card--cyan{color:#26bbd9}.service-card--pink{color:#db5799}.service-card__icon-wrapper{position:relative;width:72px;height:72px;margin-bottom:1.5rem}.service-card__icon{position:relative;z-index:2;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:currentColor;color:#fff;border-radius:calc(var(--radius) + 2px);transition:transform .4s cubic-bezier(.4,0,.2,1)}.service-card__pulse{position:absolute;inset:0;background:currentColor;border-radius:calc(var(--radius) + 2px);opacity:.2}@keyframes pulse{0%,to{transform:scale(1);opacity:.2}50%{transform:scale(1.15);opacity:0}}.service-card__title{font-family:Sora,system-ui,sans-serif;font-size:1.375rem;font-weight:700;color:hsl(var(--foreground));margin-bottom:1rem;line-height:1.3}.service-card__desc{font-size:.9375rem;line-height:1.7;color:hsl(var(--muted-foreground));margin-bottom:1.5rem}.service-card__footer{padding-top:1.5rem;border-top:1px solid hsl(var(--border))}.service-card__price{display:inline-block;font-size:.9375rem;font-weight:700;color:currentColor}.cta-section{position:relative;padding:5rem 0;overflow:hidden}.cta-bg{position:absolute;inset:0;z-index:0;pointer-events:none}.cta-circles{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;color:hsl(var(--accent));opacity:.1}.cta-title{position:relative;z-index:1;font-family:Sora,system-ui,sans-serif;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;letter-spacing:-.02em;color:hsl(var(--foreground));margin-bottom:1rem}.cta-subtitle{position:relative;z-index:1;font-size:1.125rem;color:hsl(var(--muted-foreground));margin-bottom:2rem}@media(max-width:768px){.services-grid{grid-template-columns:1fr}.section,.cta-section{padding:3rem 0}.intro-card{padding:1.5rem}.intro-text-lg{font-size:1rem}.intro-text{font-size:.875rem}.step-number{width:40px;height:40px;font-size:1.125rem}}
