-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
108 lines (94 loc) · 5.82 KB
/
index.html
File metadata and controls
108 lines (94 loc) · 5.82 KB
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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="theme-color" content="#0073AA" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
<title>Riad Kilani - Web Developer & Designer</title>
<!-- Social Media Preview Image -->
<meta property="og:title" content="Riad Kilani - Front-end Developer | React Specialist | UI/UX Modernist" />
<meta property="og:description"
content="Riad Kilani - Professional front-end developer and designer with 12+ years of experience. Specializing in modern web development, UI/UX design, and performance optimization." />
<meta property="og:image" content="https://riadkilani.com/assets/images/riadkilani-portfolio.png" />
<meta property="og:url" content="https://riadkilani.com/" />
<meta property="og:type" content="website" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Riad Kilani - Front-end Developer | React Specialist | UI/UX Modernist" />
<meta name="twitter:description"
content="Riad Kilani - Professional front-end developer and designer with 12+ years of experience. Specializing in modern web development, UI/UX design, and performance optimization." />
<meta name="twitter:image" content="https://riadkilani.com/assets/images/riadkilani-portfolio.png" />
<!-- SEO Meta Tags -->
<meta name="description"
content="Riad Kilani - Professional front-end developer and designer with 12+ years of experience. Specializing in modern web development, UI/UX design, and performance optimization." />
<meta name="keywords" content="front-end developer, designer, JavaScript, React, PHP, portfolio, Riad Kilani" />
<meta name="author" content="Riad Kilani" />
<!-- Canonical URL -->
<link rel="canonical" href="https://riadkilani.com/" />
<!-- DNS Prefetch for faster domain resolution -->
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
<link rel="dns-prefetch" href="https://fonts.gstatic.com" />
<link rel="dns-prefetch" href="https://use.typekit.net" />
<link rel="dns-prefetch" href="https://p.typekit.net" />
<link rel="dns-prefetch" href="https://blog.riadkilani.com" />
<!-- Preconnect to top 4 most critical origins only (Lighthouse limit) -->
<link rel="preconnect" href="https://fonts.googleapis.com" crossorigin />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link rel="preconnect" href="https://use.typekit.net" crossorigin />
<link rel="preconnect" href="https://blog.riadkilani.com" crossorigin />
<!-- Non-blocking font loading with media="print" trick -->
<link rel="preload" as="style" href="https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@1,700&display=swap" onload="this.onload=null;this.rel='stylesheet'" />
<link rel="preload" as="style" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap" onload="this.onload=null;this.rel='stylesheet'" />
<link rel="preload" as="style" href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@900&display=swap" onload="this.onload=null;this.rel='stylesheet'" />
<link rel="preload" as="style" href="https://use.typekit.net/njn2mng.css" onload="this.onload=null;this.rel='stylesheet'" />
<!-- Fallback for no-JS -->
<noscript>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@1,700&display=swap" />
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap" />
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@900&display=swap" />
<link rel="stylesheet" href="https://use.typekit.net/njn2mng.css" />
</noscript>
<!-- TypeKit font-display override - force swap on all variants -->
<style>
/* Override TypeKit fonts to use font-display: swap */
@font-face {
font-family: 'trajan-pro-3';
font-display: swap;
src: local('trajan-pro-3');
}
@font-face {
font-family: 'trajan-pro-3';
font-weight: 400;
font-style: normal;
font-display: swap;
src: local('trajan-pro-3');
}
@font-face {
font-family: 'trajan-pro-3';
font-weight: 600;
font-style: normal;
font-display: swap;
src: local('trajan-pro-3');
}
/* Critical above-the-fold CSS - inline for immediate render */
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size: 1rem; line-height: 1.6; color: #333; }
.hero { position: relative; min-height: 60vh; display: flex; align-items: center; overflow: hidden; background: linear-gradient(135deg, #f4f3f4 0%, #fff 100%); }
.hero .container { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 50px; padding: 50px 40px; max-width: 1200px; margin: 0 auto; }
.hero-content { flex: 1; max-width: 600px; }
.hero-image { flex: 0 0 auto; }
.hero-image-wrapper { position: relative; width: 360px; height: 360px; border-radius: 50%; overflow: hidden; }
.hero-image-wrapper img { width: 100%; height: 100%; object-fit: cover; display: block; }
</style>
<!-- Defer Font Awesome loading to prevent render blocking -->
<link rel="preload" href="/node_modules/@fortawesome/fontawesome-free/css/all.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'" />
<noscript><link rel="stylesheet" href="/node_modules/@fortawesome/fontawesome-free/css/all.min.css" /></noscript>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.jsx"></script>
</body>
</html>