
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');:root{--background:222 47% 11%;--foreground:210 40% 98%;--card:222 47% 14%;--card-foreground:210 40% 98%;--primary:189 100% 50%;--primary-foreground:222 47% 11%;--secondary:220 90% 56%;--secondary-foreground:210 40% 98%;--muted:217 19% 20%;--muted-foreground:217 19% 75%;--border:217 19% 27%;--input:217 19% 27%;--ring:189 100% 50%;--destructive:0 84% 60%;--destructive-foreground:210 40% 98%;--radius:0.75rem}body{font-family:'DM Sans',sans-serif;background-color:hsl(var(--background));color:hsl(var(--foreground));scroll-behavior:smooth;overflow-x:hidden}*,::before,::after{border-color:hsl(var(--border))}h1,h2,h3,h4,h5,h6{text-wrap:balance}p{max-width:65ch;margin-left:auto;margin-right:auto}.text-balance{text-wrap:balance}.animate-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.2,.8,.2,1),transform .6s cubic-bezier(.2,.8,.2,1)}.animate-on-scroll.is-visible{opacity:1;transform:translateY(0)}.delay-100{transition-delay:100ms}.delay-200{transition-delay:200ms}.delay-300{transition-delay:300ms}.delay-400{transition-delay:400ms}#toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem}.toast{padding:1rem 1.5rem;border-radius:var(--radius);background:hsl(var(--card));color:hsl(var(--foreground));border:1px solid hsl(var(--border));box-shadow:0 10px 15px -3px rgba(0,0,0,.5);transform:translateY(100%);opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1)}.toast.show{transform:translateY(0);opacity:1}.toast-success{border-left:4px solid #10b981}.toast-error{border-left:4px solid hsl(var(--destructive))}.accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.accordion-content.open{max-height:800px}.accordion-icon{transition:transform .3s ease}.accordion-btn[aria-expanded="true"] .accordion-icon{transform:rotate(180deg)}input,textarea{color:hsl(var(--foreground))!important;background-color:hsl(var(--background))!important;color-scheme:dark}input::placeholder,textarea::placeholder{color:hsl(var(--muted-foreground))}
/* Hero & Image Utilities */
.hero-bg {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.hero-overlay {
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1;
}
.service-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
