ndwdgda commited on
Commit
2eeded6
·
verified ·
1 Parent(s): 1548338

Upload folder using huggingface_hub

Browse files
Files changed (10) hide show
  1. .gitattributes +3 -0
  2. Dockerfile +14 -0
  3. app.py +8 -0
  4. assets/automation.png +3 -0
  5. assets/cover.png +3 -0
  6. assets/horizons.png +3 -0
  7. index.html +201 -0
  8. requirements.txt +2 -0
  9. script.js +190 -0
  10. styles.css +350 -0
.gitattributes CHANGED
@@ -33,3 +33,6 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ assets/automation.png filter=lfs diff=lfs merge=lfs -text
37
+ assets/cover.png filter=lfs diff=lfs merge=lfs -text
38
+ assets/horizons.png filter=lfs diff=lfs merge=lfs -text
Dockerfile ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.9
2
+
3
+ RUN useradd -m -u 1000 user
4
+ USER user
5
+ ENV PATH="/home/user/.local/bin:$PATH"
6
+
7
+ WORKDIR /app
8
+
9
+ COPY --chown=user ./requirements.txt requirements.txt
10
+ RUN pip install --no-cache-dir --upgrade -r requirements.txt
11
+
12
+ COPY --chown=user . /app
13
+
14
+ CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
app.py ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI
2
+ from fastapi.staticfiles import StaticFiles
3
+
4
+ app = FastAPI()
5
+
6
+ # Mount the current directory as static files
7
+ # html=True allows serving index.html at root /
8
+ app.mount("/", StaticFiles(directory=".", html=True), name="static")
assets/automation.png ADDED

Git LFS Details

  • SHA256: 761ad97de16c5082bd8c96e48f66507123a68d98d6b22690c125a7b386ccb8f4
  • Pointer size: 131 Bytes
  • Size of remote file: 745 kB
assets/cover.png ADDED

Git LFS Details

  • SHA256: 72f1d97fc5bf846f405553de43274bec8dac9b5b84f7533bdedf07c3b5867d74
  • Pointer size: 131 Bytes
  • Size of remote file: 656 kB
assets/horizons.png ADDED

Git LFS Details

  • SHA256: ca484d256f9e6eab630fdc57cadb1abe60e904afc23e3e12892fab9957447061
  • Pointer size: 131 Bytes
  • Size of remote file: 933 kB
index.html ADDED
@@ -0,0 +1,201 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>AI & Job Displacement: A 2035 Outlook</title>
8
+ <link rel="preconnect" href="https://fonts.googleapis.com">
9
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
10
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
11
+ <link rel="stylesheet" href="styles.css">
12
+ <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
13
+ </head>
14
+
15
+ <body>
16
+
17
+ <!-- Navigation -->
18
+ <nav class="navbar">
19
+ <div class="nav-container">
20
+ <a href="#" class="nav-logo">FutureWork<span class="accent">.ai</span></a>
21
+ <div class="nav-links">
22
+ <a href="#executive-summary">Summary</a>
23
+ <a href="#market-shift">Market Shift</a>
24
+ <a href="#industry-impact">Industry Impact</a>
25
+ <a href="#productivity">Productivity</a>
26
+ <a href="#conclusion">Conclusion</a>
27
+ </div>
28
+ </div>
29
+ </nav>
30
+
31
+ <!-- Hero Section -->
32
+ <header class="hero">
33
+ <div class="hero-content">
34
+ <span class="badge">Special Report 2025</span>
35
+ <h1>The AI Displacement <br> Horizon</h1>
36
+ <p class="hero-subtitle">An in-depth analysis of how Artificial Intelligence will reshape the global
37
+ workforce by 2035.</p>
38
+ <a href="#executive-summary" class="btn-primary">Read the Report</a>
39
+ </div>
40
+ <div class="hero-visual">
41
+ <img src="assets/cover.png" alt="AI Displacement Cover Art"
42
+ style="width: 100%; height: 100%; object-fit: cover;">
43
+ </div>
44
+ </header>
45
+
46
+ <main>
47
+ <!-- Executive Summary -->
48
+ <section id="executive-summary" class="section">
49
+ <div class="container">
50
+ <div class="section-header">
51
+ <h2>Executive Summary</h2>
52
+ <p>The dawn of the Intelligence Age brings unprecedented opportunities and challenges.</p>
53
+ </div>
54
+ <div class="content-grid">
55
+ <div class="text-block">
56
+ <p>Artificial Intelligence is not just a technological upgrade; it is a fundamental shift in how
57
+ value is created. Our analysis suggests that by 2035, <strong>45% of current tasks</strong>
58
+ will be automated, yet the demand for human-centric skills will reach an all-time high.</p>
59
+ <p>This report explores the dual nature of this transition: the displacement of routine
60
+ cognitive and manual labor, and the simultaneous creation of new "AI-augmented" roles that
61
+ do not exist today.</p>
62
+ </div>
63
+ <div class="stat-card">
64
+ <h3>$15.7 Trillion</h3>
65
+ <p>Projected contribution of AI to the global economy by 2030.</p>
66
+ </div>
67
+ </div>
68
+ </div>
69
+ </section>
70
+
71
+ <!-- Chapter 1: The Global Market Shift -->
72
+ <section id="market-shift" class="section alt-bg">
73
+ <div class="container">
74
+ <div class="section-header">
75
+ <span class="chapter-label">Chapter 01</span>
76
+ <h2>The Global Market Shift</h2>
77
+ <p>From repetition to creation: The changing nature of work.</p>
78
+ </div>
79
+
80
+ <div class="chart-container-large">
81
+ <canvas id="marketShiftChart"></canvas>
82
+ </div>
83
+
84
+ <div class="content-columns">
85
+ <div class="col">
86
+ <h3>The Decline of Routine</h3>
87
+ <p>Jobs heavily reliant on repetitive data processing, manual entry, and predictable physical
88
+ tasks are seeing a rapid decline. Automation is no longer limited to factory floors; it has
89
+ entered the office.</p>
90
+ </div>
91
+ <div class="col">
92
+ <h3>The Rise of Strategy</h3>
93
+ <p>Conversely, roles requiring complex problem-solving, emotional intelligence, and strategic
94
+ oversight are growing. The "Human-in-the-loop" model is becoming the standard for high-value
95
+ workflows.</p>
96
+ </div>
97
+ </div>
98
+
99
+ <div class="visual-break">
100
+ <img src="assets/automation.png" alt="Automation Wave"
101
+ style="width: 100%; height: 100%; object-fit: cover;">
102
+ </div>
103
+ </div>
104
+ </section>
105
+
106
+ <!-- Chapter 2: Industry Impact -->
107
+ <section id="industry-impact" class="section">
108
+ <div class="container">
109
+ <div class="section-header">
110
+ <span class="chapter-label">Chapter 02</span>
111
+ <h2>Industry Impact Analysis</h2>
112
+ <p>Not all sectors will be affected equally. A look at the disruption index.</p>
113
+ </div>
114
+
115
+ <div class="split-layout">
116
+ <div class="text-side">
117
+ <h3>Sector Vulnerability</h3>
118
+ <p>Finance and Manufacturing face the highest immediate disruption due to the structured nature
119
+ of their data and processes. However, they also stand to gain the most in efficiency.</p>
120
+ <ul class="feature-list">
121
+ <li><strong>Finance:</strong> Algorithmic trading and automated auditing.</li>
122
+ <li><strong>Healthcare:</strong> AI diagnostics assisting doctors, not replacing them.</li>
123
+ <li><strong>Creative:</strong> Generative AI as a tool for rapid prototyping.</li>
124
+ </ul>
125
+ </div>
126
+ <div class="chart-side">
127
+ <canvas id="industryRadarChart"></canvas>
128
+ </div>
129
+ </div>
130
+ </div>
131
+ </section>
132
+
133
+ <!-- Chapter 3: Productivity vs Wages -->
134
+ <section id="productivity" class="section alt-bg">
135
+ <div class="container">
136
+ <div class="section-header">
137
+ <span class="chapter-label">Chapter 03</span>
138
+ <h2>Productivity & Wages</h2>
139
+ <p>The decoupling of output and income: A critical challenge.</p>
140
+ </div>
141
+
142
+ <div class="chart-container-wide">
143
+ <canvas id="productivityChart"></canvas>
144
+ </div>
145
+
146
+ <div class="text-block centered">
147
+ <p>Historically, productivity growth led to wage growth. In the AI era, we risk a divergence where
148
+ capital owners capture the majority of productivity gains, leaving labor behind. Policy
149
+ intervention and aggressive upskilling are required to bridge this gap.</p>
150
+ </div>
151
+
152
+ <div class="visual-break">
153
+ <!-- Placeholder for economic_impact_illustration -->
154
+ <div class="img-placeholder" id="economic-placeholder">
155
+ <span>Economic Impact Illustration</span>
156
+ </div>
157
+ </div>
158
+ </div>
159
+ </section>
160
+
161
+ <!-- Conclusion -->
162
+ <section id="conclusion" class="section">
163
+ <div class="container">
164
+ <div class="section-header">
165
+ <h2>The Path Forward</h2>
166
+ <p>Adaptation is the only option.</p>
167
+ </div>
168
+ <div class="conclusion-grid">
169
+ <div class="card">
170
+ <h3>Reskilling</h3>
171
+ <p>Continuous learning must become a lifelong habit, not a one-time degree.</p>
172
+ </div>
173
+ <div class="card">
174
+ <h3>Policy</h3>
175
+ <p>Governments must explore UBI or Universal Basic Services to manage transition periods.</p>
176
+ </div>
177
+ <div class="card">
178
+ <h3>Ethics</h3>
179
+ <p>Responsible AI deployment is crucial to maintaining public trust and social stability.</p>
180
+ </div>
181
+ </div>
182
+ <div class="visual-break">
183
+ <!-- Placeholder for new_horizons_illustration -->
184
+ <img src="assets/horizons.png" alt="New Horizons"
185
+ style="width: 100%; height: 100%; object-fit: cover;">
186
+ </div>
187
+ </div>
188
+ </section>
189
+
190
+ </main>
191
+
192
+ <footer>
193
+ <div class="container">
194
+ <p>&copy; 2025 FutureWork.ai Research Group. All rights reserved.</p>
195
+ </div>
196
+ </footer>
197
+
198
+ <script src="script.js"></script>
199
+ </body>
200
+
201
+ </html>
requirements.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ fastapi
2
+ uvicorn[standard]
script.js ADDED
@@ -0,0 +1,190 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Chart.js Configuration
2
+
3
+ // Global defaults for FAANG-like aesthetic
4
+ Chart.defaults.font.family = "'Inter', system-ui, sans-serif";
5
+ Chart.defaults.color = '#4b5563';
6
+ Chart.defaults.scale.grid.color = '#f3f4f6';
7
+
8
+ // 1. Global Market Shift Chart (Line Chart)
9
+ const marketShiftCtx = document.getElementById('marketShiftChart').getContext('2d');
10
+ new Chart(marketShiftCtx, {
11
+ type: 'line',
12
+ data: {
13
+ labels: ['2020', '2022', '2024', '2026', '2028', '2030', '2032', '2035'],
14
+ datasets: [
15
+ {
16
+ label: 'Routine/Manual Jobs',
17
+ data: [100, 95, 88, 75, 60, 50, 40, 30], // Normalized index
18
+ borderColor: '#ef4444', // Red for decline
19
+ backgroundColor: 'rgba(239, 68, 68, 0.1)',
20
+ fill: true,
21
+ tension: 0.4,
22
+ borderWidth: 3
23
+ },
24
+ {
25
+ label: 'Creative/Strategic Jobs',
26
+ data: [40, 45, 55, 70, 85, 100, 120, 150], // Normalized index
27
+ borderColor: '#2563eb', // Blue for growth
28
+ backgroundColor: 'rgba(37, 99, 235, 0.1)',
29
+ fill: true,
30
+ tension: 0.4,
31
+ borderWidth: 3
32
+ }
33
+ ]
34
+ },
35
+ options: {
36
+ responsive: true,
37
+ maintainAspectRatio: false,
38
+ plugins: {
39
+ legend: {
40
+ position: 'top',
41
+ align: 'end',
42
+ labels: {
43
+ usePointStyle: true,
44
+ boxWidth: 8
45
+ }
46
+ },
47
+ title: {
48
+ display: true,
49
+ text: 'Workforce Composition Index (2020-2035)',
50
+ font: {
51
+ size: 16,
52
+ weight: '600'
53
+ },
54
+ align: 'start',
55
+ padding: {
56
+ bottom: 20
57
+ }
58
+ },
59
+ tooltip: {
60
+ mode: 'index',
61
+ intersect: false,
62
+ backgroundColor: 'rgba(17, 24, 39, 0.9)',
63
+ padding: 12,
64
+ cornerRadius: 8
65
+ }
66
+ },
67
+ scales: {
68
+ y: {
69
+ beginAtZero: true,
70
+ title: {
71
+ display: true,
72
+ text: 'Job Volume Index'
73
+ }
74
+ }
75
+ },
76
+ interaction: {
77
+ mode: 'nearest',
78
+ axis: 'x',
79
+ intersect: false
80
+ }
81
+ }
82
+ });
83
+
84
+ // 2. Industry Impact Radar Chart
85
+ const industryRadarCtx = document.getElementById('industryRadarChart').getContext('2d');
86
+ new Chart(industryRadarCtx, {
87
+ type: 'radar',
88
+ data: {
89
+ labels: ['Finance', 'Healthcare', 'Manufacturing', 'Retail', 'Tech', 'Education'],
90
+ datasets: [{
91
+ label: 'Automation Risk',
92
+ data: [85, 40, 90, 75, 50, 30],
93
+ fill: true,
94
+ backgroundColor: 'rgba(239, 68, 68, 0.2)',
95
+ borderColor: '#ef4444',
96
+ pointBackgroundColor: '#ef4444',
97
+ pointBorderColor: '#fff',
98
+ pointHoverBackgroundColor: '#fff',
99
+ pointHoverBorderColor: '#ef4444'
100
+ }, {
101
+ label: 'AI Augmentation Potential',
102
+ data: [90, 95, 60, 50, 100, 85],
103
+ fill: true,
104
+ backgroundColor: 'rgba(37, 99, 235, 0.2)',
105
+ borderColor: '#2563eb',
106
+ pointBackgroundColor: '#2563eb',
107
+ pointBorderColor: '#fff',
108
+ pointHoverBackgroundColor: '#fff',
109
+ pointHoverBorderColor: '#2563eb'
110
+ }]
111
+ },
112
+ options: {
113
+ responsive: true,
114
+ maintainAspectRatio: false,
115
+ plugins: {
116
+ legend: {
117
+ position: 'bottom'
118
+ }
119
+ },
120
+ scales: {
121
+ r: {
122
+ angleLines: {
123
+ color: '#e5e7eb'
124
+ },
125
+ grid: {
126
+ color: '#e5e7eb'
127
+ },
128
+ pointLabels: {
129
+ font: {
130
+ size: 12,
131
+ weight: '500'
132
+ }
133
+ },
134
+ suggestedMin: 0,
135
+ suggestedMax: 100
136
+ }
137
+ }
138
+ }
139
+ });
140
+
141
+ // 3. Productivity vs Wages (Bar/Line Combo)
142
+ const productivityCtx = document.getElementById('productivityChart').getContext('2d');
143
+ new Chart(productivityCtx, {
144
+ type: 'bar',
145
+ data: {
146
+ labels: ['2015', '2017', '2019', '2021', '2023', '2025 (Proj)', '2027 (Proj)', '2030 (Proj)'],
147
+ datasets: [
148
+ {
149
+ label: 'Productivity Output',
150
+ data: [100, 104, 109, 115, 125, 140, 165, 210],
151
+ type: 'line',
152
+ borderColor: '#10b981', // Emerald green
153
+ borderWidth: 3,
154
+ tension: 0.4,
155
+ yAxisID: 'y'
156
+ },
157
+ {
158
+ label: 'Median Wage Growth',
159
+ data: [100, 102, 105, 107, 109, 112, 116, 122],
160
+ backgroundColor: '#9ca3af', // Gray
161
+ yAxisID: 'y'
162
+ }
163
+ ]
164
+ },
165
+ options: {
166
+ responsive: true,
167
+ maintainAspectRatio: false,
168
+ plugins: {
169
+ title: {
170
+ display: true,
171
+ text: 'The Great Divergence: Productivity vs. Wages',
172
+ align: 'start',
173
+ font: {
174
+ size: 16,
175
+ weight: '600'
176
+ }
177
+ }
178
+ },
179
+ scales: {
180
+ y: {
181
+ beginAtZero: false,
182
+ min: 90,
183
+ title: {
184
+ display: true,
185
+ text: 'Index (2015 = 100)'
186
+ }
187
+ }
188
+ }
189
+ }
190
+ });
styles.css ADDED
@@ -0,0 +1,350 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Reset & Base */
2
+ :root {
3
+ --bg-color: #ffffff;
4
+ --text-primary: #111827;
5
+ --text-secondary: #4b5563;
6
+ --accent-color: #2563eb; /* Electric Blue */
7
+ --accent-hover: #1d4ed8;
8
+ --bg-alt: #f9fafb;
9
+ --border-color: #e5e7eb;
10
+ --card-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
11
+ --font-sans: 'Inter', system-ui, -apple-system, sans-serif;
12
+ }
13
+
14
+ * {
15
+ margin: 0;
16
+ padding: 0;
17
+ box-sizing: border-box;
18
+ }
19
+
20
+ body {
21
+ font-family: var(--font-sans);
22
+ color: var(--text-primary);
23
+ line-height: 1.6;
24
+ background-color: var(--bg-color);
25
+ -webkit-font-smoothing: antialiased;
26
+ }
27
+
28
+ h1, h2, h3, h4 {
29
+ font-weight: 700;
30
+ letter-spacing: -0.025em;
31
+ line-height: 1.2;
32
+ }
33
+
34
+ a {
35
+ text-decoration: none;
36
+ color: inherit;
37
+ transition: color 0.2s;
38
+ }
39
+
40
+ /* Utilities */
41
+ .container {
42
+ max-width: 1200px;
43
+ margin: 0 auto;
44
+ padding: 0 2rem;
45
+ }
46
+
47
+ .btn-primary {
48
+ display: inline-block;
49
+ background-color: var(--text-primary);
50
+ color: white;
51
+ padding: 0.75rem 1.5rem;
52
+ border-radius: 9999px;
53
+ font-weight: 500;
54
+ transition: background-color 0.2s, transform 0.1s;
55
+ }
56
+
57
+ .btn-primary:hover {
58
+ background-color: #000;
59
+ transform: translateY(-1px);
60
+ }
61
+
62
+ /* Navbar */
63
+ .navbar {
64
+ position: fixed;
65
+ top: 0;
66
+ width: 100%;
67
+ background: rgba(255, 255, 255, 0.9);
68
+ backdrop-filter: blur(10px);
69
+ border-bottom: 1px solid var(--border-color);
70
+ z-index: 1000;
71
+ padding: 1rem 0;
72
+ }
73
+
74
+ .nav-container {
75
+ max-width: 1200px;
76
+ margin: 0 auto;
77
+ padding: 0 2rem;
78
+ display: flex;
79
+ justify-content: space-between;
80
+ align-items: center;
81
+ }
82
+
83
+ .nav-logo {
84
+ font-weight: 700;
85
+ font-size: 1.25rem;
86
+ }
87
+
88
+ .nav-logo .accent {
89
+ color: var(--accent-color);
90
+ }
91
+
92
+ .nav-links a {
93
+ margin-left: 2rem;
94
+ font-size: 0.9rem;
95
+ color: var(--text-secondary);
96
+ font-weight: 500;
97
+ }
98
+
99
+ .nav-links a:hover {
100
+ color: var(--text-primary);
101
+ }
102
+
103
+ /* Hero Section */
104
+ .hero {
105
+ padding-top: 8rem;
106
+ padding-bottom: 4rem;
107
+ display: flex;
108
+ flex-direction: column;
109
+ align-items: center;
110
+ text-align: center;
111
+ max-width: 1000px;
112
+ margin: 0 auto;
113
+ }
114
+
115
+ .hero-content {
116
+ margin-bottom: 3rem;
117
+ padding: 0 1rem;
118
+ }
119
+
120
+ .badge {
121
+ display: inline-block;
122
+ background-color: var(--bg-alt);
123
+ color: var(--accent-color);
124
+ padding: 0.25rem 0.75rem;
125
+ border-radius: 9999px;
126
+ font-size: 0.875rem;
127
+ font-weight: 600;
128
+ margin-bottom: 1.5rem;
129
+ border: 1px solid var(--border-color);
130
+ }
131
+
132
+ .hero h1 {
133
+ font-size: 4rem;
134
+ margin-bottom: 1.5rem;
135
+ background: linear-gradient(to right, #111827, #4b5563);
136
+ -webkit-background-clip: text;
137
+ -webkit-text-fill-color: transparent;
138
+ }
139
+
140
+ .hero-subtitle {
141
+ font-size: 1.25rem;
142
+ color: var(--text-secondary);
143
+ max-width: 600px;
144
+ margin: 0 auto 2rem;
145
+ }
146
+
147
+ .hero-visual {
148
+ width: 100%;
149
+ max-width: 1000px;
150
+ height: 500px;
151
+ border-radius: 1.5rem;
152
+ overflow: hidden;
153
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
154
+ }
155
+
156
+ /* Sections */
157
+ .section {
158
+ padding: 6rem 0;
159
+ }
160
+
161
+ .alt-bg {
162
+ background-color: var(--bg-alt);
163
+ }
164
+
165
+ .section-header {
166
+ text-align: center;
167
+ max-width: 700px;
168
+ margin: 0 auto 4rem;
169
+ }
170
+
171
+ .chapter-label {
172
+ display: block;
173
+ font-size: 0.875rem;
174
+ font-weight: 600;
175
+ color: var(--accent-color);
176
+ margin-bottom: 0.5rem;
177
+ text-transform: uppercase;
178
+ letter-spacing: 0.05em;
179
+ }
180
+
181
+ .section-header h2 {
182
+ font-size: 2.5rem;
183
+ margin-bottom: 1rem;
184
+ }
185
+
186
+ .section-header p {
187
+ font-size: 1.125rem;
188
+ color: var(--text-secondary);
189
+ }
190
+
191
+ /* Content Grid */
192
+ .content-grid {
193
+ display: grid;
194
+ grid-template-columns: 2fr 1fr;
195
+ gap: 4rem;
196
+ align-items: center;
197
+ }
198
+
199
+ .text-block p {
200
+ margin-bottom: 1.5rem;
201
+ font-size: 1.125rem;
202
+ }
203
+
204
+ .stat-card {
205
+ background: white;
206
+ padding: 2rem;
207
+ border-radius: 1rem;
208
+ box-shadow: var(--card-shadow);
209
+ text-align: center;
210
+ border: 1px solid var(--border-color);
211
+ }
212
+
213
+ .stat-card h3 {
214
+ font-size: 3rem;
215
+ color: var(--accent-color);
216
+ margin-bottom: 0.5rem;
217
+ }
218
+
219
+ /* Charts */
220
+ .chart-container-large {
221
+ position: relative;
222
+ height: 500px;
223
+ width: 100%;
224
+ margin-bottom: 4rem;
225
+ background: white;
226
+ padding: 2rem;
227
+ border-radius: 1rem;
228
+ box-shadow: var(--card-shadow);
229
+ }
230
+
231
+ .chart-container-wide {
232
+ position: relative;
233
+ height: 400px;
234
+ width: 100%;
235
+ margin-bottom: 4rem;
236
+ background: white;
237
+ padding: 2rem;
238
+ border-radius: 1rem;
239
+ box-shadow: var(--card-shadow);
240
+ }
241
+
242
+ .content-columns {
243
+ display: grid;
244
+ grid-template-columns: 1fr 1fr;
245
+ gap: 4rem;
246
+ }
247
+
248
+ .col h3 {
249
+ margin-bottom: 1rem;
250
+ font-size: 1.5rem;
251
+ }
252
+
253
+ /* Split Layout */
254
+ .split-layout {
255
+ display: grid;
256
+ grid-template-columns: 1fr 1fr;
257
+ gap: 4rem;
258
+ align-items: center;
259
+ }
260
+
261
+ .feature-list {
262
+ list-style: none;
263
+ margin-top: 2rem;
264
+ }
265
+
266
+ .feature-list li {
267
+ margin-bottom: 1rem;
268
+ padding-left: 1.5rem;
269
+ position: relative;
270
+ }
271
+
272
+ .feature-list li::before {
273
+ content: "•";
274
+ color: var(--accent-color);
275
+ position: absolute;
276
+ left: 0;
277
+ font-weight: bold;
278
+ }
279
+
280
+ .chart-side {
281
+ background: white;
282
+ padding: 2rem;
283
+ border-radius: 1rem;
284
+ box-shadow: var(--card-shadow);
285
+ height: 400px;
286
+ }
287
+
288
+ /* Conclusion */
289
+ .conclusion-grid {
290
+ display: grid;
291
+ grid-template-columns: repeat(3, 1fr);
292
+ gap: 2rem;
293
+ }
294
+
295
+ .card {
296
+ background: var(--bg-alt);
297
+ padding: 2rem;
298
+ border-radius: 1rem;
299
+ border: 1px solid var(--border-color);
300
+ }
301
+
302
+ .card h3 {
303
+ margin-bottom: 1rem;
304
+ font-size: 1.25rem;
305
+ }
306
+
307
+ /* Footer */
308
+ footer {
309
+ padding: 4rem 0;
310
+ text-align: center;
311
+ color: var(--text-secondary);
312
+ border-top: 1px solid var(--border-color);
313
+ }
314
+
315
+ /* Placeholders */
316
+ .img-placeholder {
317
+ width: 100%;
318
+ height: 100%;
319
+ background: linear-gradient(45deg, #f3f4f6, #e5e7eb);
320
+ display: flex;
321
+ align-items: center;
322
+ justify-content: center;
323
+ color: var(--text-secondary);
324
+ font-weight: 500;
325
+ min-height: 300px;
326
+ border-radius: 1rem;
327
+ }
328
+
329
+ .visual-break {
330
+ margin-top: 4rem;
331
+ height: 400px;
332
+ border-radius: 1rem;
333
+ overflow: hidden;
334
+ }
335
+
336
+ /* Responsive */
337
+ @media (max-width: 768px) {
338
+ .hero h1 {
339
+ font-size: 2.5rem;
340
+ }
341
+
342
+ .content-grid, .content-columns, .split-layout, .conclusion-grid {
343
+ grid-template-columns: 1fr;
344
+ gap: 2rem;
345
+ }
346
+
347
+ .nav-links {
348
+ display: none; /* Simple hide for mobile for now */
349
+ }
350
+ }