husseinelsaadi Claude Opus 4.8 commited on
Commit
905dc3f
·
1 Parent(s): c5a47ef

Implement Codingo SaaS hero redesign on landing page

Browse files

Add hero-stage with floating live-status chips and a gradient LUNA
wordmark, ported from the Claude Design "Codingo SaaS redesign" preview.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

backend/static/css/theme.css CHANGED
@@ -95,24 +95,42 @@ header {
95
  }
96
  .btn-logout:hover { background: var(--grad) !important; color: #fff !important; border-color: transparent !important; }
97
 
98
- /* ---- Clean, professional light hero ------------------------------- */
99
  .hero {
 
100
  background:
101
- radial-gradient(900px 420px at 50% -10%, rgba(99, 102, 241, .10), transparent 70%),
102
- linear-gradient(180deg, #ffffff 0%, #f5f6ff 60%, var(--bg) 100%) !important;
 
 
103
  color: var(--ink) !important;
104
  padding: 5rem 1rem 5.5rem !important;
105
  border-bottom: 1px solid var(--line);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
106
  }
107
- .hero::before { display: none !important; }
108
  .hero h1 { font-size: clamp(2.1rem, 5vw, 3.4rem) !important; font-weight: 700; color: var(--ink) !important; }
109
  .hero p { color: var(--muted) !important; font-size: 1.15rem !important; }
110
 
111
- /* LUNA avatar — soft, restrained ring (no light show) */
112
  .luna-avatar { border: 4px solid #ffffff !important;
113
- box-shadow: 0 18px 45px rgba(13, 20, 40, .14), 0 0 0 1px var(--line) !important; }
114
- .luna-glow { background: radial-gradient(circle, rgba(99, 102, 241, .28) 0%, rgba(99, 102, 241, 0) 70%) !important;
115
- opacity: .5 !important; }
116
 
117
  /* Eyebrow chip — tasteful brand accent on light */
118
  .eyebrow {
@@ -125,8 +143,62 @@ header {
125
  .eyebrow .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--brand-1);
126
  animation: pulse 2s ease-in-out infinite alternate; }
127
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
128
  /* ---- Sections / titles -------------------------------------------- */
129
- .content-section, .features { background: var(--bg) !important; }
 
 
 
 
 
130
  .section-title h2 { color: var(--ink) !important; font-size: 2.3rem !important; }
131
  .section-title h2::after { background: var(--grad) !important; height: 4px !important; border-radius: 4px; }
132
  .section-title p { color: var(--muted) !important; font-size: 1.05rem; }
 
95
  }
96
  .btn-logout:hover { background: var(--grad) !important; color: #fff !important; border-color: transparent !important; }
97
 
98
+ /* ---- Light hero with soft color mesh + subtle dot texture --------- */
99
  .hero {
100
+ position: relative;
101
  background:
102
+ radial-gradient(620px 320px at 14% 12%, rgba(99, 102, 241, .18), transparent 60%),
103
+ radial-gradient(560px 300px at 86% 6%, rgba(34, 211, 238, .16), transparent 60%),
104
+ radial-gradient(720px 400px at 50% 120%, rgba(139, 92, 246, .18), transparent 60%),
105
+ linear-gradient(180deg, #fbfbff 0%, #edf0fe 100%) !important;
106
  color: var(--ink) !important;
107
  padding: 5rem 1rem 5.5rem !important;
108
  border-bottom: 1px solid var(--line);
109
+ overflow: hidden;
110
+ }
111
+ /* faint dot grid for a subtle "tech" texture, masked so it fades out */
112
+ .hero::before {
113
+ display: block !important;
114
+ content: '' !important;
115
+ position: absolute !important;
116
+ top: 0 !important; left: 0 !important;
117
+ width: 100% !important; height: 100% !important;
118
+ background: radial-gradient(rgba(99, 102, 241, .14) 1px, transparent 1.5px) !important;
119
+ background-size: 24px 24px !important;
120
+ -webkit-mask-image: radial-gradient(ellipse 75% 65% at 50% 5%, #000 35%, transparent 80%);
121
+ mask-image: radial-gradient(ellipse 75% 65% at 50% 5%, #000 35%, transparent 80%);
122
+ animation: none !important;
123
+ z-index: 0 !important;
124
+ pointer-events: none !important;
125
  }
 
126
  .hero h1 { font-size: clamp(2.1rem, 5vw, 3.4rem) !important; font-weight: 700; color: var(--ink) !important; }
127
  .hero p { color: var(--muted) !important; font-size: 1.15rem !important; }
128
 
129
+ /* LUNA avatar — soft, warm color halo (tasteful, not a light show) */
130
  .luna-avatar { border: 4px solid #ffffff !important;
131
+ box-shadow: 0 18px 45px rgba(13, 20, 40, .16), 0 0 0 1px var(--line) !important; }
132
+ .luna-glow { background: radial-gradient(circle, rgba(139, 92, 246, .42) 0%, rgba(34, 211, 238, .16) 45%, transparent 72%) !important;
133
+ opacity: .85 !important; filter: blur(20px) !important; }
134
 
135
  /* Eyebrow chip — tasteful brand accent on light */
136
  .eyebrow {
 
143
  .eyebrow .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--brand-1);
144
  animation: pulse 2s ease-in-out infinite alternate; }
145
 
146
+ /* Gradient accent for the LUNA wordmark in the hero headline */
147
+ .grad-text {
148
+ background: var(--grad);
149
+ -webkit-background-clip: text;
150
+ background-clip: text;
151
+ -webkit-text-fill-color: transparent;
152
+ color: transparent;
153
+ }
154
+
155
+ /* Hero stage — holds the avatar plus floating "live" status chips */
156
+ .hero-stage {
157
+ position: relative;
158
+ display: inline-flex;
159
+ justify-content: center;
160
+ margin-bottom: 1.75rem;
161
+ }
162
+ .float-chip {
163
+ position: absolute;
164
+ display: inline-flex;
165
+ align-items: center;
166
+ gap: .45rem;
167
+ padding: .5rem .9rem;
168
+ border-radius: 999px;
169
+ font-size: .82rem;
170
+ font-weight: 600;
171
+ color: var(--ink);
172
+ background: rgba(255, 255, 255, .85);
173
+ -webkit-backdrop-filter: saturate(160%) blur(10px);
174
+ backdrop-filter: saturate(160%) blur(10px);
175
+ border: 1px solid var(--line);
176
+ box-shadow: var(--shadow);
177
+ white-space: nowrap;
178
+ z-index: 3;
179
+ animation: chipFloat 4s ease-in-out infinite;
180
+ }
181
+ .float-chip .ico { font-size: 1rem; line-height: 1; }
182
+ .float-chip.tl { top: 8px; left: -36px; }
183
+ .float-chip.br { bottom: 8px; right: -44px; animation-delay: 2s; }
184
+
185
+ @keyframes chipFloat {
186
+ 0%, 100% { transform: translateY(0); }
187
+ 50% { transform: translateY(-9px); }
188
+ }
189
+
190
+ @media (max-width: 560px) {
191
+ .float-chip.tl { left: -8px; }
192
+ .float-chip.br { right: -8px; }
193
+ }
194
+
195
  /* ---- Sections / titles -------------------------------------------- */
196
+ .content-section, .features {
197
+ background:
198
+ radial-gradient(700px 320px at 88% 0%, rgba(99, 102, 241, .07), transparent 60%),
199
+ radial-gradient(620px 300px at 6% 100%, rgba(34, 211, 238, .06), transparent 60%),
200
+ var(--bg) !important;
201
+ }
202
  .section-title h2 { color: var(--ink) !important; font-size: 2.3rem !important; }
203
  .section-title h2::after { background: var(--grad) !important; height: 4px !important; border-radius: 4px; }
204
  .section-title p { color: var(--muted) !important; font-size: 1.05rem; }
backend/templates/index.html CHANGED
@@ -6,14 +6,18 @@
6
  <section class="hero">
7
  <div class="container">
8
  <div class="hero-content">
9
- <div class="luna-avatar-container">
10
- <div class="luna-glow"></div>
11
- <div class="luna-avatar">
12
- <img src="{{ url_for('static', filename='images/LUNA.png') }}" alt="LUNA AI Assistant">
 
 
 
13
  </div>
 
 
14
  </div>
15
- <span class="eyebrow"><span class="dot"></span> AI-Powered Recruitment</span>
16
- <h1>Meet LUNA, Your AI Recruiter</h1>
17
  <p>Screen CVs, run real voice interviews, and score every answer against a live question
18
  database — so you find the right technical talent faster, and fairer.</p>
19
  <div class="hero-buttons">
 
6
  <section class="hero">
7
  <div class="container">
8
  <div class="hero-content">
9
+ <span class="eyebrow"><span class="dot"></span> AI-Powered Recruitment</span>
10
+ <div class="hero-stage">
11
+ <div class="luna-avatar-container">
12
+ <div class="luna-glow"></div>
13
+ <div class="luna-avatar">
14
+ <img src="{{ url_for('static', filename='images/LUNA.png') }}" alt="LUNA AI Assistant">
15
+ </div>
16
  </div>
17
+ <span class="float-chip tl"><span class="ico">🎙️</span> Live voice interview</span>
18
+ <span class="float-chip br"><span class="ico">⚡</span> Scored instantly</span>
19
  </div>
20
+ <h1>Meet <span class="grad-text">LUNA</span>, Your AI Recruiter</h1>
 
21
  <p>Screen CVs, run real voice interviews, and score every answer against a live question
22
  database — so you find the right technical talent faster, and fairer.</p>
23
  <div class="hero-buttons">