File size: 9,492 Bytes
35a92dd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
import React, { useEffect, useState } from 'react';

interface ServicesSectionProps {
  onClose: () => void;
}

export const ServicesSection: React.FC<ServicesSectionProps> = ({ onClose }) => {
  const [isLoaded, setIsLoaded] = useState(false);
  const [hoveredIdx, setHoveredIdx] = useState<number | null>(null);

  useEffect(() => {
    const t = setTimeout(() => setIsLoaded(true), 100);
    return () => clearTimeout(t);
  }, []);

  const services = [
    {
      id: "SYS_WEB_01",
      title: "Web Engineering",
      desc: "We build digital cathedrals, not just websites. High-performance frontends that defy browser limitations.",
      technical: "Next.js / WebGL / WASM / Edge Rendering",
      humor: ">> LOG: We promise 100% Lighthouse scores until marketing asks for that third tracking pixel.",
      icon: "⚑"
    },
    {
      id: "SYS_MOB_02",
      title: "Mobile Synthesis",
      desc: "Cross-platform architectures that feel native. Smooth 120hz scrolling or we delete the repository.",
      technical: "React Native / Swift / Kotlin / Bridgeless Architecture",
      humor: ">> LOG: Yes, it works on Android. No, we won't test it on a 2014 Samsung J5.",
      icon: "πŸ“±"
    },
    {
      id: "SYS_RES_03",
      title: "R&D / Deep Tech",
      desc: "The core of our existence. Turning whitepapers into profitable, deployable code.",
      technical: "LLM Fine-tuning / Computer Vision / Predictive Models",
      humor: ">> LOG: We spend 90% of our time reading arXiv papers and 10% praying the code compiles.",
      icon: "πŸ”¬"
    },
    {
      id: "SYS_MKT_04",
      title: "Social Warfare",
      desc: "Algorithmic marketing. We position your brand exactly where the attention economy is bleeding.",
      technical: "Growth Hacking / Viral Loops / Sentiment Analysis",
      humor: ">> LOG: We can make you famous, or at least get you a cease and desist order.",
      icon: "πŸ“’"
    }
  ];

  return (
    <div className={`fixed inset-0 z-50 flex flex-col bg-[#050000]/95 backdrop-blur-xl overflow-hidden transition-opacity duration-700 ${isLoaded ? 'opacity-100' : 'opacity-0'}`}>
      
      {/* Top Bar */}
      <div className="w-full max-w-[1400px] mx-auto px-6 py-6 md:px-12 flex justify-between items-center z-10 border-b border-white/5">
        <div className="flex items-center gap-4">
           <span className="text-emerald-500 font-mono text-xs animate-pulse">β– </span>
           <span className="text-white/80 font-mono text-xs uppercase tracking-widest">Service Protocols</span>
        </div>
        <button 
          onClick={onClose}
          className="group flex items-center gap-3 text-white/50 hover:text-white transition-colors"
        >
          <span className="text-[10px] uppercase tracking-widest group-hover:tracking-[0.2em] transition-all duration-300">Terminate</span>
          <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5">
             <line x1="18" y1="6" x2="6" y2="18"></line>
             <line x1="6" y1="6" x2="18" y2="18"></line>
          </svg>
        </button>
      </div>

      {/* Main Content */}
      <div className="flex-1 w-full overflow-y-auto overflow-x-hidden scroll-smooth custom-scrollbar">
        <div className="w-full max-w-[1400px] mx-auto px-6 md:px-12 pt-12 pb-32">
          
          {/* Header */}
          <div className={`mb-16 transition-all duration-1000 delay-100 ease-out ${isLoaded ? 'opacity-100 translate-y-0' : 'opacity-0 translate-y-12'}`}>
            <h1 className="text-5xl md:text-7xl lg:text-8xl font-light text-white tracking-tight leading-none">
              System <br />
              <span className="text-emerald-500/50 font-serif italic">Capabilities.</span>
            </h1>
          </div>

          <div className="grid grid-cols-1 lg:grid-cols-12 gap-12">
            
            {/* Left Column: Services Grid */}
            <div className="lg:col-span-8 grid grid-cols-1 md:grid-cols-2 gap-6">
              {services.map((service, idx) => (
                <div 
                  key={service.id}
                  onMouseEnter={() => setHoveredIdx(idx)}
                  onMouseLeave={() => setHoveredIdx(null)}
                  className={`group p-8 border border-white/10 bg-white/5 hover:bg-emerald-900/10 hover:border-emerald-500/30 transition-all duration-500 cursor-none-ish
                    ${isLoaded ? 'opacity-100 translate-y-0' : 'opacity-0 translate-y-12'}
                  `}
                  style={{ transitionDelay: `${200 + idx * 100}ms` }}
                >
                  <div className="flex justify-between items-start mb-6">
                    <span className="text-2xl">{service.icon}</span>
                    <span className="text-[10px] font-mono text-white/20 group-hover:text-emerald-500/50 transition-colors">{service.id}</span>
                  </div>
                  <h3 className="text-2xl font-light text-white mb-3 group-hover:text-emerald-400 transition-colors">{service.title}</h3>
                  <p className="text-white/50 text-sm leading-relaxed mb-6 group-hover:text-white/70 transition-colors">
                    {service.desc}
                  </p>
                  
                  <div className="w-full h-[1px] bg-white/10 group-hover:bg-emerald-500/30 transition-colors mb-4"></div>
                  
                  <div className="flex flex-wrap gap-2">
                     {service.technical.split('/').map((tag, i) => (
                       <span key={i} className="text-[9px] uppercase tracking-wider text-white/30 font-mono border border-white/5 px-2 py-1 rounded-sm">
                         {tag.trim()}
                       </span>
                     ))}
                  </div>
                </div>
              ))}
            </div>

            {/* Right Column: Interactive Monitor */}
            <div className={`hidden lg:block lg:col-span-4 transition-all duration-1000 delay-500 ${isLoaded ? 'opacity-100 translate-x-0' : 'opacity-0 translate-x-12'}`}>
              <div className="sticky top-8 border border-white/10 bg-black/40 p-6 min-h-[400px] flex flex-col">
                 <div className="flex justify-between items-center mb-6 border-b border-white/10 pb-4">
                    <span className="text-[10px] font-mono uppercase tracking-widest text-emerald-500">Monitor_Output</span>
                    <div className="flex gap-1">
                      <div className="w-1.5 h-1.5 bg-emerald-500 rounded-full animate-ping"></div>
                    </div>
                 </div>

                 <div className="flex-1 font-mono text-xs leading-loose">
                    {hoveredIdx !== null ? (
                      <>
                        <div className="text-white/40 mb-2">
                           <span className="text-emerald-500 mr-2">➜</span>
                           Target Identified: <span className="text-white">{services[hoveredIdx].title.toUpperCase()}</span>
                        </div>
                        <div className="text-white/40 mb-4">
                           <span className="text-emerald-500 mr-2">➜</span>
                           ID: {services[hoveredIdx].id}
                        </div>
                        <div className="text-white/40 mb-4">
                           <span className="text-emerald-500 mr-2">➜</span>
                           Stack Allocation:
                           <div className="pl-6 text-emerald-400/80 mt-1">
                              {services[hoveredIdx].technical}
                           </div>
                        </div>
                        <div className="mt-8 pt-4 border-t border-dashed border-white/10 text-white/60 italic">
                           {services[hoveredIdx].humor}
                        </div>
                      </>
                    ) : (
                      <div className="h-full flex flex-col justify-center items-center text-white/20">
                         <span className="text-4xl mb-4 opacity-20">⌬</span>
                         <p>System Idle.</p>
                         <p>Hover over a module to inspect.</p>
                      </div>
                    )}
                 </div>
                 
                 <div className="mt-6 pt-4 border-t border-white/10 flex justify-between text-[9px] text-white/20 font-mono uppercase">
                    <span>Mem: 40TB</span>
                    <span>Cpu: 12%</span>
                 </div>
              </div>
            </div>
            
          </div>

          {/* Mobile Humor for Services (since sidebar is hidden on mobile) */}
          <div className="lg:hidden mt-12 border-t border-white/5 pt-8">
             <div className="bg-white/5 p-4 rounded-sm border border-emerald-500/20">
                <p className="text-[10px] font-mono text-emerald-500 mb-2">{">>> SYSTEM MESSAGE"}</p>
                <p className="text-white/60 text-xs italic">
                  "We construct things with love and passion. And lots of caffeine. Mostly caffeine actually."
                </p>
             </div>
          </div>

          {/* Footer */}
          <div className="mt-32 border-t border-white/5 pt-8 text-center">
             <p className="text-white/30 font-mono text-xs">
                "We break things so you don't have to."
             </p>
          </div>

        </div>
      </div>
    </div>
  );
};