@charset "UTF-8";:root{--background: #FFFFFF;--foreground: #0E0E0E;--primary: #0E0E0E;--primary-foreground: #F5F5F5;--secondary: #F2F2F2;--secondary-foreground: #0E0E0E;--accent: #4caf4f;--accent-foreground: #0E0E0E;--muted: #E8E8E8;--muted-foreground: #666666;--card: #FFFFFF;--card-foreground: #0E0E0E;--border: #E5E5E5;--input: #E5E5E5;--ring: #4caf4f;--radius: .75rem;--font-sans: "DM Sans", sans-serif;--font-fraunces: "Fraunces", serif}*,*:before,*:after{box-sizing:border-box;border-color:var(--border)}html{scroll-behavior:smooth}body{background-color:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,h5,h6,p{margin:0}.font-display{font-family:var(--font-fraunces),serif}.text-hero{font-size:clamp(3.5rem,9vw,8.5rem);line-height:.92;letter-spacing:-.03em}.text-section{font-size:clamp(2.5rem,5vw,5rem);line-height:1;letter-spacing:-.025em}.noise-overlay{position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.025;pointer-events:none;z-index:9998}.custom-cursor{width:10px;height:10px;background-color:var(--foreground);border-radius:50%;position:fixed;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease,background-color .3s ease,border .3s ease;will-change:transform}.custom-cursor.expanded{width:40px;height:40px;background-color:transparent;border:1px solid rgba(14,14,14,.25)}.glass-card{background:#ffffffd1;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.6)}.nav-link-line{position:relative}.nav-link-line:after{content:"";position:absolute;bottom:-3px;left:0;width:0;height:1px;background-color:var(--accent);transition:width .35s cubic-bezier(.16,1,.3,1)}.nav-link-line:hover:after{width:100%}.service-row{border-bottom:1px solid var(--border);transition:background-color .4s cubic-bezier(.16,1,.3,1)}.service-row:hover{background-color:var(--secondary)}.service-row:hover .service-arrow{opacity:1;transform:translate(0)}.service-arrow{opacity:0;transform:translate(-12px);transition:opacity .4s ease,transform .4s cubic-bezier(.16,1,.3,1)}.service-row:hover .service-num{opacity:1}.service-num{opacity:.3;transition:opacity .3s ease}.service-row:hover .service-title{transform:translate(12px)}.service-title{transition:transform .45s cubic-bezier(.16,1,.3,1)}.case-card{transition:transform .6s cubic-bezier(.16,1,.3,1),box-shadow .6s ease}.case-card:hover{transform:translateY(-8px);box-shadow:0 24px 48px #0009,0 0 0 1px #4caf4f1a}.scroll-reveal-hidden{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.scroll-reveal-hidden.revealed{opacity:1;transform:translateY(0)}.glass-dark{background:#ffffff08;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(76,175,79,.08);box-shadow:0 24px 64px #0009,inset 0 1px #4caf4f0d}.glass-dark-bright{background:#ffffff0e;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(76,175,79,.12);box-shadow:0 20px 60px #0009,inset 0 1px #4caf4f14}@keyframes floatCard{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes floatCardSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.float-1{animation:floatCard 7s ease-in-out infinite}.float-2{animation:floatCardSlow 9s ease-in-out infinite;animation-delay:-3s}.float-3{animation:floatCard 5s ease-in-out infinite;animation-delay:-1.5s}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin-slow{animation:spinSlow 90s linear infinite}.spin-slow-rev{animation:spinSlow 120s linear infinite reverse}.spin-orbital{animation:spinSlow 20s linear infinite}.spin-orbital-rev{animation:spinSlow 30s linear infinite reverse}@keyframes heroMarquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes heroMarqueeRev{0%{transform:translate(-50%)}to{transform:translate(0)}}.marquee-fwd{animation:heroMarquee 38s linear infinite}.marquee-rev{animation:heroMarqueeRev 30s linear infinite}.marquee-fwd:hover,.marquee-rev:hover{animation-play-state:paused}@keyframes heroCorePulse{0%,to{opacity:.55}50%{opacity:1}}.hero-core-pulse{animation:heroCorePulse 2.8s ease-in-out infinite}@keyframes heroScreenFlicker{0%,94%,to{opacity:.88}95%,99%{opacity:.65}97%{opacity:1}}.hero-screen-txt{animation:heroScreenFlicker 7s ease-in-out infinite}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}.hero-fade-1{animation:heroFadeUp 1.1s cubic-bezier(.16,1,.3,1) both;animation-delay:80ms}.hero-fade-2{animation:heroFadeUp 1.1s cubic-bezier(.16,1,.3,1) both;animation-delay:.26s}.hero-fade-3{animation:heroFadeUp 1.1s cubic-bezier(.16,1,.3,1) both;animation-delay:.44s}.hero-fade-4{animation:heroFadeUp 1.1s cubic-bezier(.16,1,.3,1) both;animation-delay:.58s}.hero-fade-5{animation:heroFadeUp 1.1s cubic-bezier(.16,1,.3,1) both;animation-delay:.72s}.hero-fade-img{animation:heroFadeUp 1.2s cubic-bezier(.16,1,.3,1) both;animation-delay:.32s}.rotate-neg3{transform:rotate(-3deg)}.rotate-pos6{transform:rotate(6deg)}.blob-accent{background:radial-gradient(circle,#4caf4f40,#4caf4f00 70%);filter:blur(60px);border-radius:50%}.input-field{background:#f7f6f214;border:1px solid rgba(247,246,242,.2);color:var(--primary-foreground);transition:border-color .3s ease}.input-field::placeholder{color:#f7f6f266}.input-field:focus{outline:none;border-color:var(--accent)}
