Parcourir la Source

Fix legal links, remove Contact from Settings, and add site embed assets.

Point Terms of Use and StoreKit EULA at the live Google Sites terms-of-services page, drop the unused Contact settings row, and add the home page plus Google Sites support embed HTML.

Co-authored-by: Cursor <cursoragent@cursor.com>
AhtashamShahzad1 il y a 3 semaines
Parent
commit
9402fe43af

+ 2 - 2
App for Indeed/AppLegalURLs.swift

@@ -12,9 +12,9 @@ enum AppLegalURLs {
12 12
 
13 13
     static let marketingHome = URL(string: "\(siteRoot)/home")!
14 14
     static let privacyPolicy = URL(string: "\(siteRoot)/privacy-policy")!
15
-    static let termsOfUse = URL(string: "\(siteRoot)/terms-of-service")!
15
+    /// Google Sites page slug: `terms-of-services` (matches published site navigation).
16
+    static let termsOfUse = URL(string: "\(siteRoot)/terms-of-services")!
16 17
     static let support = URL(string: "\(siteRoot)/support")!
17
-    static let contact = URL(string: "\(siteRoot)/contact")!
18 18
 
19 19
     /// Opens the URL in Safari when available; otherwise uses the system default browser.
20 20
     static func openInSafari(_ url: URL) {

+ 1 - 1
App for Indeed/Controllers/PremiumPlansWindowController.swift

@@ -769,7 +769,7 @@ private final class PremiumPlansViewController: NSViewController {
769 769
         let entries: [(text: String, action: Selector)] = [
770 770
             ("Restore Purchase", #selector(didTapRestorePurchases)),
771 771
             ("Privacy Policy", #selector(didTapFooterPrivacyPolicy)),
772
-            ("Terms of Services", #selector(didTapFooterTermsOfServices)),
772
+            ("Terms of Use", #selector(didTapFooterTermsOfServices)),
773 773
             ("Support", #selector(didTapFooterSupport))
774 774
         ]
775 775
 

+ 1 - 1
App for Indeed/Paywall.storekit

@@ -1,6 +1,6 @@
1 1
 {
2 2
   "appPolicies" : {
3
-    "eula" : "https://sites.google.com/view/app-for-indeed/terms-of-service",
3
+    "eula" : "https://sites.google.com/view/app-for-indeed/terms-of-services",
4 4
     "policies" : [
5 5
       {
6 6
         "locale" : "en_US",

+ 0 - 5
App for Indeed/Views/DashboardView.swift

@@ -1523,7 +1523,6 @@ final class DashboardView: NSView, NSTextFieldDelegate, NSSharingServicePickerDe
1523 1523
         let aboutSection = makeSettingsSection(rows: [
1524 1524
             makeSettingsRow(title: "Website", systemImage: "globe", accessory: nil, tapAction: #selector(didTapWebsite)),
1525 1525
             makeSettingsRow(title: "Support", systemImage: "questionmark.circle", accessory: nil, tapAction: #selector(didTapSupport)),
1526
-            makeSettingsRow(title: "Contact", systemImage: "envelope", accessory: nil, tapAction: #selector(didTapContact)),
1527 1526
             makeSettingsRow(title: "Terms of Use", systemImage: "doc.text", accessory: nil, tapAction: #selector(didTapTermsOfUse)),
1528 1527
             makeSettingsRow(title: "Privacy Policy", systemImage: "shield", accessory: nil, tapAction: #selector(didTapPrivacyPolicy))
1529 1528
         ])
@@ -1885,10 +1884,6 @@ final class DashboardView: NSView, NSTextFieldDelegate, NSSharingServicePickerDe
1885 1884
         AppLegalURLs.openInSafari(AppLegalURLs.support)
1886 1885
     }
1887 1886
 
1888
-    @objc private func didTapContact() {
1889
-        AppLegalURLs.openInSafari(AppLegalURLs.contact)
1890
-    }
1891
-
1892 1887
     @objc private func didTapTermsOfUse() {
1893 1888
         AppLegalURLs.openInSafari(AppLegalURLs.termsOfUse)
1894 1889
     }

+ 492 - 0
legal/embed-support.html

@@ -0,0 +1,492 @@
1
+<div id="afi-support-embed">
2
+  <style>
3
+    #afi-support-embed {
4
+      --brand: #2557a7;
5
+      --brand-dark: #1a4480;
6
+      --heading: #0052cc;
7
+      --text: #2d2d2d;
8
+      --secondary: #5f6368;
9
+      --muted: #767676;
10
+      --border: #e4e4e4;
11
+      --bg: #f4f6f9;
12
+      --card: #ffffff;
13
+      --well: #eff4fc;
14
+      --success: #1e8e3e;
15
+      --required: #d93025;
16
+      --shadow: 0 1px 3px rgba(60, 64, 67, 0.12), 0 4px 12px rgba(60, 64, 67, 0.08);
17
+      --radius: 12px;
18
+      --radius-sm: 8px;
19
+      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
20
+      line-height: 1.6;
21
+      color: var(--text);
22
+      background: var(--bg);
23
+      padding: 1.5rem 1rem 2.5rem;
24
+      box-sizing: border-box;
25
+    }
26
+    #afi-support-embed *,
27
+    #afi-support-embed *::before,
28
+    #afi-support-embed *::after {
29
+      box-sizing: border-box;
30
+    }
31
+    #afi-support-embed .wrap {
32
+      max-width: 880px;
33
+      margin: 0 auto;
34
+    }
35
+    #afi-support-embed .page-intro {
36
+      text-align: center;
37
+      margin-bottom: 1.75rem;
38
+    }
39
+    #afi-support-embed .page-intro h1 {
40
+      margin: 0 0 0.5rem;
41
+      font-size: 2rem;
42
+      font-weight: 700;
43
+      color: var(--heading);
44
+      letter-spacing: -0.02em;
45
+    }
46
+    #afi-support-embed .page-intro .lead {
47
+      margin: 0 auto;
48
+      max-width: 36rem;
49
+      font-size: 1.05rem;
50
+      color: var(--muted);
51
+    }
52
+    #afi-support-embed .page-intro .badge {
53
+      display: inline-block;
54
+      margin-bottom: 0.75rem;
55
+      padding: 0.35rem 0.75rem;
56
+      font-size: 0.75rem;
57
+      font-weight: 600;
58
+      text-transform: uppercase;
59
+      letter-spacing: 0.04em;
60
+      color: var(--brand);
61
+      background: var(--well);
62
+      border-radius: 999px;
63
+    }
64
+    #afi-support-embed .layout {
65
+      display: grid;
66
+      gap: 1.25rem;
67
+      grid-template-columns: 1fr;
68
+    }
69
+    @media (min-width: 768px) {
70
+      #afi-support-embed .layout {
71
+        grid-template-columns: 1.15fr 0.85fr;
72
+        align-items: start;
73
+      }
74
+    }
75
+    #afi-support-embed .card {
76
+      background: var(--card);
77
+      border: 1px solid var(--border);
78
+      border-radius: var(--radius);
79
+      box-shadow: var(--shadow);
80
+      overflow: hidden;
81
+    }
82
+    #afi-support-embed .form-card__head {
83
+      padding: 1.35rem 1.5rem 1rem;
84
+      border-bottom: 1px solid var(--border);
85
+      background: linear-gradient(180deg, var(--well) 0%, var(--card) 100%);
86
+    }
87
+    #afi-support-embed .form-card__head h2 {
88
+      margin: 0 0 0.25rem;
89
+      font-size: 1.25rem;
90
+      font-weight: 600;
91
+      color: var(--heading);
92
+    }
93
+    #afi-support-embed .form-card__head p {
94
+      margin: 0;
95
+      font-size: 0.9rem;
96
+      color: var(--muted);
97
+    }
98
+    #afi-support-embed form {
99
+      padding: 0.25rem 0 1rem;
100
+    }
101
+    #afi-support-embed .field {
102
+      padding: 1.1rem 1.5rem;
103
+      border-bottom: 1px solid var(--border);
104
+    }
105
+    #afi-support-embed .field:last-of-type {
106
+      border-bottom: none;
107
+    }
108
+    #afi-support-embed label {
109
+      display: block;
110
+      font-size: 0.95rem;
111
+      font-weight: 600;
112
+      color: var(--text);
113
+      margin-bottom: 0.45rem;
114
+    }
115
+    #afi-support-embed .required {
116
+      color: var(--required);
117
+      font-weight: 400;
118
+    }
119
+    #afi-support-embed .hint {
120
+      margin: -0.2rem 0 0.6rem;
121
+      font-size: 0.82rem;
122
+      color: var(--muted);
123
+      line-height: 1.45;
124
+    }
125
+    #afi-support-embed input[type="text"],
126
+    #afi-support-embed input[type="email"],
127
+    #afi-support-embed select,
128
+    #afi-support-embed textarea {
129
+      width: 100%;
130
+      padding: 0.7rem 0.85rem;
131
+      font-size: 0.95rem;
132
+      font-family: inherit;
133
+      color: var(--text);
134
+      background: #fafbfc;
135
+      border: 1px solid var(--border);
136
+      border-radius: var(--radius-sm);
137
+      transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
138
+    }
139
+    #afi-support-embed input::placeholder,
140
+    #afi-support-embed textarea::placeholder {
141
+      color: #9aa0a6;
142
+    }
143
+    #afi-support-embed input:hover,
144
+    #afi-support-embed select:hover,
145
+    #afi-support-embed textarea:hover {
146
+      border-color: #c6c9cc;
147
+    }
148
+    #afi-support-embed input:focus,
149
+    #afi-support-embed select:focus,
150
+    #afi-support-embed textarea:focus {
151
+      outline: none;
152
+      border-color: var(--brand);
153
+      background: #fff;
154
+      box-shadow: 0 0 0 3px rgba(37, 87, 167, 0.15);
155
+    }
156
+    #afi-support-embed select {
157
+      appearance: none;
158
+      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235f6368' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
159
+      background-repeat: no-repeat;
160
+      background-position: right 0.85rem center;
161
+      padding-right: 2.25rem;
162
+      cursor: pointer;
163
+    }
164
+    #afi-support-embed textarea {
165
+      min-height: 130px;
166
+      resize: vertical;
167
+    }
168
+    #afi-support-embed .actions {
169
+      display: flex;
170
+      flex-wrap: wrap;
171
+      align-items: center;
172
+      gap: 0.75rem 1rem;
173
+      padding: 1rem 1.5rem 1.25rem;
174
+      background: #fafbfc;
175
+      border-top: 1px solid var(--border);
176
+    }
177
+    #afi-support-embed button[type="submit"] {
178
+      display: inline-flex;
179
+      align-items: center;
180
+      justify-content: center;
181
+      min-width: 7.5rem;
182
+      padding: 0.7rem 1.75rem;
183
+      font-size: 0.95rem;
184
+      font-weight: 600;
185
+      font-family: inherit;
186
+      color: #fff;
187
+      background: var(--brand);
188
+      border: none;
189
+      border-radius: var(--radius-sm);
190
+      cursor: pointer;
191
+      box-shadow: 0 1px 2px rgba(37, 87, 167, 0.3);
192
+      transition: background 0.15s ease, transform 0.1s ease;
193
+    }
194
+    #afi-support-embed button[type="submit"]:hover {
195
+      background: var(--brand-dark);
196
+    }
197
+    #afi-support-embed button[type="submit"]:active {
198
+      transform: translateY(1px);
199
+    }
200
+    #afi-support-embed .submit-note {
201
+      font-size: 0.8rem;
202
+      color: var(--muted);
203
+    }
204
+    #afi-support-embed .sidebar-section {
205
+      margin-bottom: 1.25rem;
206
+    }
207
+    #afi-support-embed .sidebar-section:last-child {
208
+      margin-bottom: 0;
209
+    }
210
+    #afi-support-embed .sidebar-section h3 {
211
+      margin: 0 0 0.65rem;
212
+      padding: 0 0.25rem;
213
+      font-size: 0.8rem;
214
+      font-weight: 700;
215
+      text-transform: uppercase;
216
+      letter-spacing: 0.05em;
217
+      color: var(--secondary);
218
+    }
219
+    #afi-support-embed .info-box {
220
+      padding: 1rem 1.15rem;
221
+      border-radius: var(--radius-sm);
222
+      font-size: 0.88rem;
223
+      line-height: 1.5;
224
+    }
225
+    #afi-support-embed .info-box--apple {
226
+      background: #f0f4ff;
227
+      border: 1px solid #c5d4f0;
228
+      color: #3d4f5f;
229
+    }
230
+    #afi-support-embed .info-box--apple strong {
231
+      color: var(--heading);
232
+    }
233
+    #afi-support-embed .info-box--links {
234
+      background: var(--well);
235
+      border: 1px solid #d0dff5;
236
+    }
237
+    #afi-support-embed .info-box--links a {
238
+      display: block;
239
+      padding: 0.45rem 0;
240
+      color: var(--brand);
241
+      font-weight: 500;
242
+      text-decoration: none;
243
+      border-bottom: 1px solid rgba(37, 87, 167, 0.12);
244
+    }
245
+    #afi-support-embed .info-box--links a:last-child {
246
+      border-bottom: none;
247
+      padding-bottom: 0;
248
+    }
249
+    #afi-support-embed .info-box--links a:first-child {
250
+      padding-top: 0;
251
+    }
252
+    #afi-support-embed .info-box--links a:hover {
253
+      text-decoration: underline;
254
+    }
255
+    #afi-support-embed .faq-card {
256
+      padding: 0;
257
+    }
258
+    #afi-support-embed details {
259
+      border-bottom: 1px solid var(--border);
260
+    }
261
+    #afi-support-embed details:last-child {
262
+      border-bottom: none;
263
+    }
264
+    #afi-support-embed summary {
265
+      padding: 1rem 1.15rem;
266
+      font-size: 0.92rem;
267
+      font-weight: 600;
268
+      color: var(--text);
269
+      cursor: pointer;
270
+      list-style: none;
271
+      display: flex;
272
+      align-items: center;
273
+      justify-content: space-between;
274
+      gap: 0.75rem;
275
+      transition: background 0.15s ease;
276
+    }
277
+    #afi-support-embed summary::-webkit-details-marker {
278
+      display: none;
279
+    }
280
+    #afi-support-embed summary::after {
281
+      content: "+";
282
+      flex-shrink: 0;
283
+      width: 1.5rem;
284
+      height: 1.5rem;
285
+      display: flex;
286
+      align-items: center;
287
+      justify-content: center;
288
+      font-size: 1.1rem;
289
+      font-weight: 400;
290
+      color: var(--brand);
291
+      background: var(--well);
292
+      border-radius: 50%;
293
+      transition: transform 0.2s ease;
294
+    }
295
+    #afi-support-embed details[open] summary::after {
296
+      content: "−";
297
+    }
298
+    #afi-support-embed summary:hover {
299
+      background: #fafbfc;
300
+    }
301
+    #afi-support-embed details[open] summary {
302
+      color: var(--heading);
303
+      background: var(--well);
304
+    }
305
+    #afi-support-embed .faq-answer {
306
+      padding: 0 1.15rem 1rem;
307
+      font-size: 0.88rem;
308
+      color: var(--muted);
309
+      line-height: 1.55;
310
+    }
311
+    #afi-support-embed .trouble-list {
312
+      margin: 0;
313
+      padding: 0;
314
+      list-style: none;
315
+    }
316
+    #afi-support-embed .trouble-list li {
317
+      padding: 0.85rem 1.15rem;
318
+      font-size: 0.88rem;
319
+      border-bottom: 1px solid var(--border);
320
+      line-height: 1.5;
321
+    }
322
+    #afi-support-embed .trouble-list li:last-child {
323
+      border-bottom: none;
324
+    }
325
+    #afi-support-embed .trouble-list strong {
326
+      display: block;
327
+      color: var(--heading);
328
+      font-size: 0.9rem;
329
+      margin-bottom: 0.15rem;
330
+    }
331
+    #afi-support-embed .footer-note {
332
+      margin-top: 1.5rem;
333
+      padding: 1rem 1.15rem;
334
+      text-align: center;
335
+      font-size: 0.82rem;
336
+      color: var(--muted);
337
+      background: var(--card);
338
+      border: 1px solid var(--border);
339
+      border-radius: var(--radius-sm);
340
+    }
341
+    @media (max-width: 640px) {
342
+      #afi-support-embed .page-intro h1 {
343
+        font-size: 1.65rem;
344
+      }
345
+      #afi-support-embed .actions {
346
+        flex-direction: column;
347
+        align-items: stretch;
348
+      }
349
+      #afi-support-embed button[type="submit"] {
350
+        width: 100%;
351
+      }
352
+    }
353
+  </style>
354
+
355
+  <div class="wrap">
356
+    <header class="page-intro">
357
+      <span class="badge">Support</span>
358
+      <h1>How can we help?</h1>
359
+      <p class="lead">
360
+        Send us a message about the app and we’ll reply within a few business days.
361
+        For billing, Apple handles subscriptions directly.
362
+      </p>
363
+    </header>
364
+
365
+    <div class="layout">
366
+      <section class="card form-card" aria-labelledby="form-heading">
367
+        <div class="form-card__head">
368
+          <h2 id="form-heading">Submit a support request</h2>
369
+          <p>All fields marked with <span class="required">*</span> are required.</p>
370
+        </div>
371
+
372
+        <form
373
+          action="https://docs.google.com/forms/d/e/YOUR_FORM_ID/formResponse"
374
+          method="POST"
375
+          target="_top"
376
+        >
377
+          <div class="field">
378
+            <label for="afi-name">Your name <span class="required">*</span></label>
379
+            <input type="text" id="afi-name" name="entry.111111111" required autocomplete="name" placeholder="Jane Smith">
380
+          </div>
381
+
382
+          <div class="field">
383
+            <label for="afi-email">Email address <span class="required">*</span></label>
384
+            <p class="hint">We’ll reply to this address.</p>
385
+            <input type="email" id="afi-email" name="entry.222222222" required autocomplete="email" placeholder="you@example.com">
386
+          </div>
387
+
388
+          <div class="field">
389
+            <label for="afi-topic">What do you need help with? <span class="required">*</span></label>
390
+            <select id="afi-topic" name="entry.333333333" required>
391
+              <option value="" disabled selected>Choose a topic</option>
392
+              <option value="Subscription / billing">Subscription / billing</option>
393
+              <option value="Bug report">Bug report</option>
394
+              <option value="Feature question">Feature question</option>
395
+              <option value="AI search">AI search</option>
396
+              <option value="Indeed browser">Indeed browser</option>
397
+              <option value="CV Maker">CV Maker</option>
398
+              <option value="Privacy">Privacy</option>
399
+              <option value="Other">Other</option>
400
+            </select>
401
+          </div>
402
+
403
+          <div class="field">
404
+            <label for="afi-macos">macOS version</label>
405
+            <p class="hint">Optional — helps us reproduce issues faster.</p>
406
+            <input type="text" id="afi-macos" name="entry.444444444" placeholder="e.g. macOS 15.4">
407
+          </div>
408
+
409
+          <div class="field">
410
+            <label for="afi-message">Describe your issue <span class="required">*</span></label>
411
+            <p class="hint">Steps to reproduce, error messages, and what you expected to happen.</p>
412
+            <textarea id="afi-message" name="entry.555555555" required placeholder="Tell us what happened…"></textarea>
413
+          </div>
414
+
415
+          <div class="actions">
416
+            <button type="submit">Submit</button>
417
+            <span class="submit-note">You’ll see a confirmation after sending.</span>
418
+          </div>
419
+        </form>
420
+      </section>
421
+
422
+      <aside class="sidebar">
423
+        <div class="sidebar-section">
424
+          <h3>Billing &amp; refunds</h3>
425
+          <div class="card info-box info-box--apple">
426
+            <strong>Managed by Apple</strong><br>
427
+            Open <strong>System Settings → Apple ID → Subscriptions</strong>, select <strong>App for Indeed</strong>, then change or cancel your plan. Refunds follow Apple’s policies.
428
+          </div>
429
+        </div>
430
+
431
+        <div class="sidebar-section">
432
+          <h3>Quick links</h3>
433
+          <nav class="card info-box info-box--links" aria-label="Related pages">
434
+            <a href="https://sites.google.com/view/app-for-indeed/home" target="_top">Home</a>
435
+            <a href="https://sites.google.com/view/app-for-indeed/contact" target="_top">Contact</a>
436
+            <a href="https://sites.google.com/view/app-for-indeed/privacy-policy" target="_top">Privacy Policy</a>
437
+            <a href="https://sites.google.com/view/app-for-indeed/terms-of-services" target="_top">Terms of Use</a>
438
+          </nav>
439
+        </div>
440
+
441
+        <div class="sidebar-section">
442
+          <h3>Common questions</h3>
443
+          <div class="card faq-card">
444
+            <details>
445
+              <summary>Is this app affiliated with Indeed?</summary>
446
+              <p class="faq-answer">No. App for Indeed is an independent tool and is not endorsed by Indeed, Inc.</p>
447
+            </details>
448
+            <details>
449
+              <summary>How does AI job search work?</summary>
450
+              <p class="faq-answer">Enter a prompt or use shortcuts on Home. The app returns job summaries you can save or open in the in-app Indeed browser.</p>
451
+            </details>
452
+            <details>
453
+              <summary>Where is my data stored?</summary>
454
+              <p class="faq-answer">Profiles, saved jobs, and preferences stay on your Mac. See the Privacy Policy for third-party processing details.</p>
455
+            </details>
456
+            <details>
457
+              <summary>CV Maker not loading?</summary>
458
+              <p class="faq-answer">Check your internet connection, pick a template, link it to a profile, then preview again.</p>
459
+            </details>
460
+          </div>
461
+        </div>
462
+
463
+        <div class="sidebar-section">
464
+          <h3>Troubleshooting</h3>
465
+          <ul class="card trouble-list">
466
+            <li>
467
+              <strong>App won’t launch</strong>
468
+              Quit completely and reopen. Restart your Mac if needed.
469
+            </li>
470
+            <li>
471
+              <strong>Subscription not unlocking</strong>
472
+              Confirm the purchase under Apple ID Subscriptions, then relaunch the app.
473
+            </li>
474
+            <li>
475
+              <strong>Indeed pages not loading</strong>
476
+              Check your network and use reload in the in-app browser.
477
+            </li>
478
+            <li>
479
+              <strong>AI search errors</strong>
480
+              Try a shorter, clearer prompt with a stable connection.
481
+            </li>
482
+          </ul>
483
+        </div>
484
+      </aside>
485
+    </div>
486
+
487
+    <p class="footer-note">
488
+      App for Indeed is not affiliated with, sponsored by, or endorsed by Indeed, Inc.
489
+      Indeed® is a trademark of Indeed, Inc.
490
+    </p>
491
+  </div>
492
+</div>

+ 168 - 0
legal/home/index.html

@@ -0,0 +1,168 @@
1
+<!DOCTYPE html>
2
+<html lang="en">
3
+<head>
4
+  <meta charset="utf-8">
5
+  <meta name="viewport" content="width=device-width, initial-scale=1">
6
+  <title>App for Indeed</title>
7
+  <meta name="description" content="App for Indeed — AI-assisted job search, embedded Indeed browsing, saved jobs, CV Maker, and profiles for macOS.">
8
+  <link rel="stylesheet" href="../styles.css">
9
+</head>
10
+<body>
11
+  <header class="site-header">
12
+    <div class="site-header__inner">
13
+      <a class="brand" href="../index.html">
14
+        <span class="brand__mark" aria-hidden="true">Ai</span>
15
+        App for Indeed
16
+      </a>
17
+      <nav class="site-nav" aria-label="Main">
18
+        <a href="../index.html" aria-current="page">Home</a>
19
+        <a href="../support.html">Support</a>
20
+        <a href="../contact.html">Contact</a>
21
+        <a href="../terms-of-service.html">Terms of Use</a>
22
+        <a href="../privacy-policy.html">Privacy Policy</a>
23
+      </nav>
24
+    </div>
25
+  </header>
26
+
27
+  <main class="home">
28
+    <section class="hero">
29
+      <h1>Your job hunt, in one Mac app</h1>
30
+      <p class="hero__lead">
31
+        App for Indeed brings together AI-powered search, an in-app Indeed browser, saved listings,
32
+        résumé templates, and multiple career profiles—so you spend less time switching tabs and more
33
+        time applying.
34
+      </p>
35
+    </section>
36
+
37
+    <section class="highlights" aria-labelledby="why-heading">
38
+      <h2 id="why-heading">Why professionals use it</h2>
39
+      <ul class="highlights__list">
40
+        <li>Search smarter with conversational AI and quick Role, Company, and Skill shortcuts.</li>
41
+        <li>Keep Indeed open inside the app while you review, save, and apply to roles.</li>
42
+        <li>Build tailored CVs from templates tied to profiles you control on your Mac.</li>
43
+        <li>Upgrade on your terms with weekly, monthly, or yearly plans billed through Apple.</li>
44
+      </ul>
45
+    </section>
46
+
47
+    <section class="features" aria-labelledby="workspace-heading">
48
+      <h2 id="workspace-heading">Everything in one workspace</h2>
49
+      <p class="features__intro">
50
+        Whether you are actively applying or building a shortlist for later, the app keeps discovery,
51
+        organization, and résumé work together instead of scattered across browser windows.
52
+      </p>
53
+
54
+      <div class="feature-grid">
55
+        <article class="feature-card">
56
+          <h3>AI search assistant</h3>
57
+          <p>
58
+            Describe what you want on Home—or tap a shortcut—and get readable job summaries you can save
59
+            or open on Indeed in one click.
60
+          </p>
61
+        </article>
62
+
63
+        <article class="feature-card">
64
+          <h3>In-app Indeed browser</h3>
65
+          <p>
66
+            Read listings and walk through application steps without leaving the app. Navigate with back,
67
+            forward, and reload, then return to your dashboard when you are done.
68
+          </p>
69
+        </article>
70
+
71
+        <article class="feature-card">
72
+          <h3>Saved Jobs</h3>
73
+          <p>
74
+            Bookmark roles from search results and manage them in a dedicated list so nothing slips through
75
+            while you compare options.
76
+          </p>
77
+        </article>
78
+
79
+        <article class="feature-card">
80
+          <h3>CV Maker</h3>
81
+          <p>
82
+            Pick from profession- and style-based templates, preview layouts, and link a template to a profile
83
+            to produce a ready-to-edit résumé.
84
+          </p>
85
+        </article>
86
+
87
+        <article class="feature-card">
88
+          <h3>Profiles</h3>
89
+          <p>
90
+            Maintain separate profiles with contact info, experience, education, and skills—ideal when you are
91
+            targeting different roles or industries.
92
+          </p>
93
+        </article>
94
+
95
+        <article class="feature-card">
96
+          <h3>Premium via Apple</h3>
97
+          <p>
98
+            Unlock advanced capabilities with auto-renewing subscriptions managed in your Apple ID settings.
99
+            Cancel anytime before the next billing period.
100
+          </p>
101
+        </article>
102
+      </div>
103
+    </section>
104
+
105
+    <section class="link-hub" aria-labelledby="links-heading">
106
+      <h2 id="links-heading">Quick links</h2>
107
+      <p class="link-hub__intro">The same pages linked from the app Settings screen.</p>
108
+      <ul class="link-list">
109
+        <li class="link-list__item">
110
+          <a class="link-list__link" href="../support.html">
111
+            <span class="link-list__icon" aria-hidden="true">
112
+              <svg viewBox="0 0 24 24" role="img"><path d="M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm1 15h-2v-2h2zm0-4h-2V7h2z"/></svg>
113
+            </span>
114
+            <span class="link-list__label">Support</span>
115
+            <span class="link-list__chevron" aria-hidden="true">›</span>
116
+          </a>
117
+        </li>
118
+        <li class="link-list__item">
119
+          <a class="link-list__link" href="../contact.html">
120
+            <span class="link-list__icon" aria-hidden="true">
121
+              <svg viewBox="0 0 24 24" role="img"><path d="M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5L4 8V6l8 5 8-5z"/></svg>
122
+            </span>
123
+            <span class="link-list__label">Contact</span>
124
+            <span class="link-list__chevron" aria-hidden="true">›</span>
125
+          </a>
126
+        </li>
127
+        <li class="link-list__item">
128
+          <a class="link-list__link" href="../terms-of-service.html">
129
+            <span class="link-list__icon" aria-hidden="true">
130
+              <svg viewBox="0 0 24 24" role="img"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8zm2 16H8v-2h8zm0-4H8v-2h8zm-3-5V3.5L18.5 9z"/></svg>
131
+            </span>
132
+            <span class="link-list__label">Terms of Use</span>
133
+            <span class="link-list__chevron" aria-hidden="true">›</span>
134
+          </a>
135
+        </li>
136
+        <li class="link-list__item">
137
+          <a class="link-list__link" href="../privacy-policy.html">
138
+            <span class="link-list__icon" aria-hidden="true">
139
+              <svg viewBox="0 0 24 24" role="img"><path d="M12 1 3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5zm0 10.99h7c-.53 4.12-3.28 7.79-7 8.94V12H5V6.3l7-3.43z"/></svg>
140
+            </span>
141
+            <span class="link-list__label">Privacy Policy</span>
142
+            <span class="link-list__chevron" aria-hidden="true">›</span>
143
+          </a>
144
+        </li>
145
+      </ul>
146
+    </section>
147
+
148
+    <aside class="disclaimer">
149
+      <p>
150
+        <strong>Independent app.</strong> App for Indeed is not affiliated with, sponsored by, or endorsed by
151
+        Indeed, Inc. Indeed® is a trademark of Indeed, Inc.
152
+      </p>
153
+    </aside>
154
+  </main>
155
+
156
+  <footer class="page-footer">
157
+    <div class="page-footer__inner">
158
+      <nav class="footer-nav" aria-label="Footer">
159
+        <a href="../support.html">Support</a>
160
+        <a href="../contact.html">Contact</a>
161
+        <a href="../terms-of-service.html">Terms of Use</a>
162
+        <a href="../privacy-policy.html">Privacy Policy</a>
163
+      </nav>
164
+      <p>© 2026 App for Indeed. All rights reserved.</p>
165
+    </div>
166
+  </footer>
167
+</body>
168
+</html>