PageSourceSearch

https://smartcerts.ai/

html smartcerts.ai collected 2026-10-05 15:03:16 UTC 48,795 bytes, 1,297 lines download raw bytes

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.0">
6
7  <!-- ═══ PRIMARY SEO ═══ -->
8  <title>OSHA Compliance Platform | Certificate Generator & Verification</title>
9  <meta name="description" content="Stop making OSHA certificates in Word. SmartCerts.ai generates compliant, professional safety training certificates in under 2 minutes. Join the beta—early access now open.">
10  <link rel="canonical" href="https://smartcerts.ai/">
11  <meta name="robots" content="index, follow">
12  <meta name="author" content="SmartCerts.ai">
13  <meta name="keywords" content="OSHA certificate generator, safety training certificate, AI certificate generator, OSHA compliance, safety certificate software, OSHA training documentation">
14
15  <!-- ═══ OPEN GRAPH ═══ -->
16  <meta property="og:title" content="OSHA Compliance Platform | Certificate Generator & Verification">
17  <meta property="og:description" content="AI-generated OSHA safety training certificates. No Word templates, no design software. Beta access now open.">
18  <meta property="og:url" content="https://smartcerts.ai/">
19  <meta property="og:type" content="website">
20  <meta property="og:site_name" content="SmartCerts.ai">
21  <meta property="og:image" content="https://smartcerts.ai/og-image.jpg">
22
23  <!-- ═══ TWITTER ═══ -->
24  <meta name="twitter:card" content="summary_large_image">
25  <meta name="twitter:title" content="OSHA Compliance Platform | Certificate Generator & Verification">
26  <meta name="twitter:description" content="Stop making OSHA certificates in Word. Beta access now open.">
27  <meta name="twitter:image" content="https://smartcerts.ai/og-image.jpg">
28
29  <!-- ═══ SCHEMA: ORGANIZATION ═══ -->
30  
30<script type="application/ld+json">
31  {
32    "@context": "https://schema.org",
33    "@type": "SoftwareApplication",
34    "name": "SmartCerts.ai",
35    "url": "https://smartcerts.ai",
36    "description": "AI-powered OSHA safety training certificate generator. Creates compliant, professional certificates in under 2 minutes.",
37    "applicationCategory": "BusinessApplication",
38    "operatingSystem": "Web",
39    "offers": {
40      "@type": "Offer",
41      "price": "0",
42      "priceCurrency": "USD",
43      "description": "Beta access — free during beta period"
44    },
45    "publisher": {
46      "@type": "Organization",
47      "name": "SmartCerts.ai",
48      "url": "https://smartcerts.ai",
49      "sameAs": ["https://elevinvest.com"]
50    },
51    "featureList": [
52      "OSHA-compliant certificate templates",
53      "2-minute certificate generation",
54      "PDF delivery",
55      "Built-in QR verification",
56      "10+ certificate types including LOTO, Fall Protection, HazCom"
57    ]
58  }
59  </script>
59
60
61  <!-- ═══ SCHEMA: FAQ ═══ -->
62  
62<script type="application/ld+json">
63  {
64    "@context": "https://schema.org",
65    "@type": "FAQPage",
66    "mainEntity": [
67      {
68        "@type": "Question",
69        "name": "Does OSHA accept AI-generated certificates?",
70        "acceptedAnswer": {
71          "@type": "Answer",
72          "text": "OSHA does not specify a required certificate format—what matters is that the certificate documents the required training details: employee name, training type, date, trainer, and employer. SmartCerts.ai templates include all required fields plus a QR verification code, which inspectors can check on-site."
73        }
74      },
75      {
76        "@type": "Question",
77        "name": "How long does it take to generate an OSHA certificate with SmartCerts.ai?",
78        "acceptedAnswer": {
79          "@type": "Answer",
80          "text": "Under 2 minutes from start to PDF in your inbox. You enter employee details, select the certificate type, and the system handles the rest. No design work, no reformatting, no manual PDF export."
81        }
82      },
83      {
84        "@type": "Question",
85        "name": "What types of OSHA certificates does SmartCerts.ai generate?",
86        "acceptedAnswer": {
87          "@type": "Answer",
88          "text": "SmartCerts.ai covers 10 certificate types: General Workplace Safety, Construction Safety (29 CFR 1926), Hazard Communication (HazCom), Personal Protective Equipment (PPE), Emergency Action Plan, Lockout/Tagout (LOTO), Fall Protection, Bloodborne Pathogens, Confined Space Entry, and Powered Industrial Truck/Forklift Safety."
89        }
90      },
91      {
92        "@type": "Question",
93        "name": "What is the SmartCerts.ai beta?",
94        "acceptedAnswer": {
95          "@type": "Answer",
96          "text": "The beta is early access to SmartCerts.ai before public launch. Beta users get free access during the beta period, locked-in launch pricing, and direct input into features. Join the waitlist to secure your spot."
97        }
98      }
99    ]
100  }
101  </script>
101
102
103  <!-- ═══ FAVICON ═══ -->
104  <link rel="icon" href="/favicon.svg" type="image/svg+xml">
105  <link rel="apple-touch-icon" href="/favicon.svg">
106
107  <!-- ═══ FONTS ═══ -->
108  <link rel="preconnect" href="https://fonts.googleapis.com">
109  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
110  <link href="https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@400;600;700;900&family=IBM+Plex+Sans:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&display=swap" rel="stylesheet">
111
112  <style>
113    :root {
114      --bg:        #0c0d0d;
115      --surface:   #141516;
116      --surface2:  #1c1d1e;
117      --border:    #272829;
118      --border-y:  rgba(255,208,0,0.2);
119      --yellow:    #FFD000;
120      --yellow-d:  #E6BB00;
121      --yellow-dim:rgba(255,208,0,0.08);
122      --green:     #00D68F;
123      --text:      #E8E4DA;
124      --text-mid:  #8A8476;
125      --text-dim:  #4A4742;
126      --display:   'Big Shoulders Display', Impact, sans-serif;
127      --body:      'IBM Plex Sans', sans-serif;
128      --radius:    6px;
129    }
130
131    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
132    html { scroll-behavior: smooth; }
133
134    body {
135      background: var(--bg);
136      color: var(--text);
137      font-family: var(--body);
138      font-size: 16px;
139      line-height: 1.65;
140      overflow-x: hidden;
141    }
142
143    /* Industrial grid overlay */
144    body::before {
145      content: '';
146      position: fixed;
147      inset: 0;
148      background-image:
149        linear-gradient(rgba(255,208,0,0.025) 1px, transparent 1px),
150        linear-gradient(90deg, rgba(255,208,0,0.025) 1px, transparent 1px);
151      background-size: 48px 48px;
152      pointer-events: none;
153      z-index: 0;
154    }
155
156    /* ─── NAV ─── */
157    nav {
158      position: sticky;
159      top: 0;
160      z-index: 100;
161      background: rgba(12,13,13,0.92);
162      backdrop-filter: blur(14px);
163      border-bottom: 1px solid var(--border);
164    }
165    .nav-inner {
166      max-width: 1020px;
167      margin: 0 auto;
168      padding: 0 24px;
169      height: 60px;
170      display: flex;
171      align-items: center;
172      justify-content: space-between;
173    }
174    .nav-logo {
175      font-family: var(--display);
176      font-size: 22px;
177      font-weight: 900;
178      color: var(--text);
179      text-decoration: none;
180      letter-spacing: 0.04em;
181    }
182    .nav-logo span { color: var(--yellow); }
183    .nav-badge {
184      display: inline-block;
185      font-family: var(--body);
186      font-size: 10px;
187      font-weight: 600;
188      letter-spacing: 0.12em;
189      text-transform: uppercase;
190      color: var(--bg);
191      background: var(--yellow);
192      padding: 2px 7px;
193      border-radius: 3px;
194      margin-left: 8px;
195      vertical-align: middle;
196      position: relative;
197      top: -2px;
198    }
199    .nav-cta {
200      font-family: var(--display);
201      font-size: 16px;
202      font-weight: 700;
203      letter-spacing: 0.06em;
204      color: var(--bg);
205      background: var(--yellow);
206      padding: 10px 22px;
207      border-radius: var(--radius);
208      text-decoration: none;
209      transition: all 0.15s;
210    }
211    .nav-cta:hover { background: var(--yellow-d); transform: translateY(-1px); }
212
213    section { position: relative; z-index: 1; }
214
215    /* ─── HERO ─── */
216    .hero-wrap {
217      position: relative;
218      overflow: hidden;
219      border-bottom: 1px solid var(--border);
220    }
221
222    /* Big diagonal BETA stamp */
223    .hero-stamp {
224      position: absolute;
225      top: 50%;
226      right: -60px;
227      transform: translateY(-50%) rotate(-12deg);
228      font-family: var(--display);
229      font-size: clamp(120px, 18vw, 220px);
230      font-weight: 900;
231      color: rgba(255,208,0,0.04);
232      letter-spacing: 0.08em;
233      pointer-events: none;
234      user-select: none;
235      line-height: 1;
236    }
237
238    /* Corner certification mark */
239    .cert-corner {
240      position: absolute;
241      top: 24px;
242      right: 24px;
243      width: 80px;
244      height: 80px;
245      border: 2px solid var(--border-y);
246      border-radius: 50%;
247      display: flex;
248      align-items: center;
249      justify-content: center;
250      opacity: 0.5;
251    }
252    .cert-corner-inner {
253      font-family: var(--display);
254      font-size: 9px;
255      font-weight: 700;
256      letter-spacing: 0.12em;
257      text-align: center;
258      color: var(--yellow);
259      line-height: 1.3;
260    }
261
262    .hero {
263      max-width: 1020px;
264      margin: 0 auto;
265      padding: 88px 24px 80px;
266      display: grid;
267      grid-template-columns: 1.1fr 1fr;
268      gap: 64px;
269      align-items: center;
270    }
271    @media (max-width: 720px) { .hero { grid-template-columns: 1fr; gap: 48px; } }
272
273    .hero-eyebrow {
274      display: inline-flex;
275      align-items: center;
276      gap: 8px;
277      font-size: 12px;
278      font-weight: 600;
279      letter-spacing: 0.12em;
280      text-transform: uppercase;
281      color: var(--yellow);
282      margin-bottom: 24px;
283    }
284    .hero-eyebrow .pipe { color: var(--text-dim); }
285
286    h1 {
287      font-family: var(--display);
288      font-size: clamp(48px, 7vw, 82px);
289      font-weight: 900;
290      line-height: 0.95;
291      color: var(--text);
292      margin-bottom: 28px;
293      letter-spacing: 0.01em;
294    }
295    h1 .hl { color: var(--yellow); }
296    h1 .block { display: block; }
297
298    .hero-sub {
299      font-size: 18px;
300      color: var(--text-mid);
301      line-height: 1.75;
302      margin-bottom: 36px;
303      font-weight: 300;
304      max-width: 480px;
305    }
306    .hero-sub strong { color: var(--text); font-weight: 500; }
307
308    .hero-actions {
309      display: flex;
310      gap: 12px;
311      align-items: center;
312      flex-wrap: wrap;
313      margin-bottom: 32px;
314    }
315    .btn-primary {
316      font-family: var(--display);
317      font-size: 18px;
318      font-weight: 700;
319      letter-spacing: 0.06em;
320      color: var(--bg);
321      background: var(--yellow);
322      padding: 16px 32px;
323      border-radius: var(--radius);
324      text-decoration: none;
325      transition: all 0.15s;
326      display: inline-block;
327    }
328    .btn-primary:hover {
329      background: var(--yellow-d);
330      transform: translateY(-2px);
331      box-shadow: 0 8px 24px rgba(255,208,0,0.2);
332    }
333    .btn-ghost {
334      font-size: 14px;
335      font-weight: 500;
336      color: var(--text-mid);
337      text-decoration: none;
338      transition: color 0.15s;
339    }
340    .btn-ghost:hover { color: var(--text); }
341
342    .hero-proof {
343      display: flex;
344      gap: 24px;
345      flex-wrap: wrap;
346    }
347    .proof-item {
348      display: flex;
349      align-items: center;
350      gap: 7px;
351      font-size: 13px;
352      color: var(--text-dim);
353    }
354    .proof-item .check {
355      width: 16px;
356      height: 16px;
357      background: rgba(0,214,143,0.15);
358      border-radius: 50%;
359      display: flex;
360      align-items: center;
361      justify-content: center;
362      flex-shrink: 0;
363      font-size: 9px;
364      color: var(--green);
365    }
366
367    /* Hero aside — cert preview card */
368    .cert-preview {
369      background: var(--surface);
370      border: 1px solid var(--border);
371      border-radius: var(--radius);
372      overflow: hidden;
373      position: relative;
374    }
375    .cert-preview-header {
376      background: var(--yellow);
377      padding: 14px 20px;
378      display: flex;
379      align-items: center;
380      justify-content: space-between;
381    }
382    .cert-preview-header-title {
383      font-family: var(--display);
384      font-size: 13px;
385      font-weight: 700;
386      letter-spacing: 0.08em;
387      color: var(--bg);
388    }
389    .cert-preview-header-badge {
390      font-size: 10px;
391      font-weight: 600;
392      letter-spacing: 0.1em;
393      text-transform: uppercase;
394      color: var(--bg);
395      background: rgba(0,0,0,0.15);
396      padding: 3px 8px;
397      border-radius: 3px;
398    }
399    .cert-preview-body {
400      padding: 22px 22px 18px;
401    }
402    .cert-line {
403      display: flex;
404      justify-content: space-between;
405      align-items: center;
406      padding: 9px 0;
407      border-bottom: 1px solid var(--border);
408      font-size: 13px;
409    }
410    .cert-line:last-child { border-bottom: none; }
411    .cert-line-label { color: var(--text-dim); font-weight: 400; }
412    .cert-line-val { color: var(--text); font-weight: 500; }
413    .cert-line-val.green { color: var(--green); }
414    .cert-line-val.yellow { color: var(--yellow); }
415    .cert-preview-footer {
416      background: var(--surface2);
417      border-top: 1px solid var(--border);
418      padding: 12px 22px;
419      display: flex;
420      align-items: center;
421      justify-content: space-between;
422    }
423    .cert-preview-footer-label {
424      font-size: 11px;
425      font-weight: 600;
426      letter-spacing: 0.1em;
427      text-transform: uppercase;
428      color: var(--text-dim);
429    }
430    .cert-timer {
431      font-family: var(--display);
432      font-size: 16px;
433      font-weight: 700;
434      color: var(--yellow);
435      letter-spacing: 0.06em;
436    }
437
438    /* Progress bar animation */
439    .cert-progress {
440      height: 3px;
441      background: var(--border);
442      overflow: hidden;
443    }
444    .cert-progress-fill {
445      height: 100%;
446      background: var(--yellow);
447      width: 0%;
448      animation: progress 3s ease-in-out 0.5s forwards;
449    }
450    @keyframes progress {
451      0%   { width: 0%; }
452      100% { width: 100%; }
453    }
454
455    /* ─── PROBLEM SECTION ─── */
456    .problem-section {
457      border-bottom: 1px solid var(--border);
458      background: var(--surface);
459      padding: 72px 24px;
460      position: relative;
461      z-index: 1;
462    }
463    .problem-inner {
464      max-width: 1020px;
465      margin: 0 auto;
466      display: grid;
467      grid-template-columns: 1fr 1fr;
468      gap: 64px;
469      align-items: center;
470    }
471    @media (max-width: 720px) { .problem-inner { grid-template-columns: 1fr; } }
472
473    .section-label {
474      font-size: 11px;
475      font-weight: 600;
476      letter-spacing: 0.14em;
477      text-transform: uppercase;
478      color: var(--yellow);
479      margin-bottom: 14px;
480    }
481    h2 {
482      font-family: var(--display);
483      font-size: clamp(32px, 4.5vw, 52px);
484      font-weight: 900;
485      color: var(--text);
486      line-height: 1.0;
487      margin-bottom: 20px;
488      letter-spacing: 0.02em;
489    }
490    h2 .hl { color: var(--yellow); }
491    .section-body {
492      font-size: 16px;
493      color: var(--text-mid);
494      font-weight: 300;
495      line-height: 1.8;
496    }
497    .section-body p + p { margin-top: 14px; }
498    .section-body strong { color: var(--text); font-weight: 500; }
499
500    .problem-stats {
501      display: flex;
502      flex-direction: column;
503      gap: 3px;
504    }
505    .stat-row {
506      background: var(--surface2);
507      border: 1px solid var(--border);
508      border-radius: var(--radius);
509      padding: 18px 22px;
510      display: flex;
511      align-items: center;
512      gap: 20px;
513      transition: border-color 0.2s;
514    }
515    .stat-row:hover { border-color: var(--border-y); }
516    .stat-num {
517      font-family: var(--display);
518      font-size: 38px;
519      font-weight: 900;
520      color: var(--yellow);
521      letter-spacing: 0.02em;
522      line-height: 1;
523      flex-shrink: 0;
524      min-width: 80px;
525    }
526    .stat-desc {
527      font-size: 14px;
528      color: var(--text-mid);
529      font-weight: 300;
530      line-height: 1.5;
531    }
532    .stat-desc strong { color: var(--text); font-weight: 500; }
533
534    /* ─── FEATURES SECTION ─── */
535    .features-section {
536      padding: 72px 24px;
537      border-bottom: 1px solid var(--border);
538      position: relative;
539      z-index: 1;
540    }
541    .features-inner {
542      max-width: 1020px;
543      margin: 0 auto;
544    }
545    .features-header {
546      margin-bottom: 52px;
547      max-width: 540px;
548    }
549    .features-grid {
550      display: grid;
551      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
552      gap: 2px;
553      border: 1px solid var(--border);
554      border-radius: var(--radius);
555      overflow: hidden;
556    }
557    .feature-card {
558      background: var(--surface);
559      padding: 32px 28px;
560      transition: background 0.15s;
561      position: relative;
562    }
563    .feature-card:hover { background: var(--surface2); }
564    .feature-card::before {
565      content: '';
566      position: absolute;
567      top: 0; left: 0; right: 0;
568      height: 3px;
569      background: var(--yellow);
570      opacity: 0;
571      transition: opacity 0.2s;
572    }
573    .feature-card:hover::before { opacity: 1; }
574    .feature-icon {
575      font-family: var(--display);
576      font-size: 36px;
577      font-weight: 900;
578      color: var(--yellow);
579      letter-spacing: 0.04em;
580      margin-bottom: 14px;
581      line-height: 1;
582    }
583    .feature-title {
584      font-family: var(--display);
585      font-size: 20px;
586      font-weight: 700;
587      letter-spacing: 0.04em;
588      color: var(--text);
589      margin-bottom: 10px;
590    }
591    .feature-body {
592      font-size: 14px;
593      color: var(--text-mid);
594      font-weight: 300;
595      line-height: 1.65;
596    }
597
598    /* Certificate types strip */
599    .cert-types {
600      max-width: 1020px;
601      margin: 0 auto;
602      padding: 40px 0 0;
603    }
604    .cert-types-label {
605      font-size: 11px;
606      font-weight: 600;
607      letter-spacing: 0.12em;
608      text-transform: uppercase;
609      color: var(--text-dim);
610      margin-bottom: 16px;
611    }
612    .cert-types-list {
613      display: flex;
614      flex-wrap: wrap;
615      gap: 8px;
616    }
617    .cert-tag {
618      font-size: 12px;
619      font-weight: 500;
620      color: var(--text-mid);
621      background: var(--surface);
622      border: 1px solid var(--border);
623      padding: 6px 12px;
624      border-radius: 3px;
625      transition: all 0.15s;
626    }
627    .cert-tag:hover { border-color: var(--border-y); color: var(--yellow); }
628
629    /* ─── BETA SECTION ─── */
630    .beta-section {
631      background: var(--surface);
632      border-bottom: 1px solid var(--border);
633      padding: 72px 24px;
634      position: relative;
635      z-index: 1;
636      overflow: hidden;
637    }
638    .beta-section::before {
639      content: 'BETA';
640      position: absolute;
641      bottom: -30px;
642      right: -20px;
643      font-family: var(--display);
644      font-size: 180px;
645      font-weight: 900;
646      color: rgba(255,208,0,0.03);
647      letter-spacing: 0.08em;
648      pointer-events: none;
649    }
650    .beta-inner {
651      max-width: 1020px;
652      margin: 0 auto;
653      display: grid;
654      grid-template-columns: 1fr 1fr;
655      gap: 64px;
656      align-items: start;
657    }
658    @media (max-width: 720px) { .beta-inner { grid-template-columns: 1fr; } }
659
660    .beta-perks {
661      display: flex;
662      flex-direction: column;
663      gap: 14px;
664      margin-top: 32px;
665    }
666    .beta-perk {
667      display: flex;
668      align-items: flex-start;
669      gap: 14px;
670      padding: 16px 18px;
671      background: var(--surface2);
672      border: 1px solid var(--border);
673      border-radius: var(--radius);
674    }
675    .beta-perk-num {
676      font-family: var(--display);
677      font-size: 22px;
678      font-weight: 900;
679      color: var(--yellow);
680      flex-shrink: 0;
681      line-height: 1.2;
682    }
683    .beta-perk-text strong {
684      display: block;
685      font-size: 14px;
686      font-weight: 600;
687      color: var(--text);
688      margin-bottom: 3px;
689    }
690    .beta-perk-text span {
691      font-size: 13px;
692      color: var(--text-dim);
693      font-weight: 300;
694    }
695
696    /* Jotform container */
697    .signup-wrap {
698      position: relative;
699    }
700    .signup-label {
701      font-size: 11px;
702      font-weight: 600;
703      letter-spacing: 0.12em;
704      text-transform: uppercase;
705      color: var(--yellow);
706      margin-bottom: 14px;
707    }
708    .signup-title {
709      font-family: var(--display);
710      font-size: 28px;
711      font-weight: 700;
712      color: var(--text);
713      margin-bottom: 8px;
714      letter-spacing: 0.03em;
715    }
716    .signup-sub {
717      font-size: 14px;
718      color: var(--text-dim);
719      font-weight: 300;
720      margin-bottom: 24px;
721    }
722    .jotform-container {
723      background: var(--bg);
724      border: 1px solid var(--border);
725      border-radius: var(--radius);
726      overflow: hidden;
727      min-height: 420px;
728    }
729
730    /* ─── FAQ ─── */
731    .faq-section {
732      max-width: 1020px;
733      margin: 0 auto;
734      padding: 72px 24px;
735    }
736    .faq-header { margin-bottom: 44px; }
737    .faq-list { display: flex; flex-direction: column; gap: 2px; }
738    .faq-item {
739      border: 1px solid var(--border);
740      border-radius: var(--radius);
741      overflow: hidden;
742    }
743    .faq-q {
744      background: var(--surface);
745      padding: 18px 22px;
746      cursor: pointer;
747      display: flex;
748      justify-content: space-between;
749      align-items: center;
750      font-size: 15px;
751      font-weight: 500;
752      color: var(--text);
753      user-select: none;
754      transition: background 0.15s;
755      gap: 16px;
756    }
757    .faq-q:hover { background: var(--surface2); }
758    .faq-icon {
759      font-family: var(--display);
760      font-size: 20px;
761      font-weight: 900;
762      color: var(--yellow);
763      flex-shrink: 0;
764      transition: transform 0.2s;
765    }
766    .faq-item.open .faq-icon { transform: rotate(45deg); }
767    .faq-a {
768      background: var(--bg);
769      padding: 0 22px;
770      max-height: 0;
771      overflow: hidden;
772      transition: max-height 0.3s ease, padding 0.3s;
773      border-left: 3px solid var(--yellow);
774    }
775    .faq-item.open .faq-a {
776      padding: 18px 22px;
777      max-height: 300px;
778    }
779    .faq-a p { font-size: 14px; color: var(--text-mid); line-height: 1.75; font-weight: 300; }
780
781    /* ─── FOOTER ─── */
782    footer {
783      background: var(--surface);
784      border-top: 3px solid var(--yellow);
785      padding: 44px 24px;
786      position: relative;
787      z-index: 1;
788    }
789    .footer-inner {
790      max-width: 1020px;
791      margin: 0 auto;
792      display: flex;
793      flex-direction: column;
794      gap: 20px;
795    }
796    .footer-logo {
797      font-family: var(--display);
798      font-size: 22px;
799      font-weight: 900;
800      color: var(--text);
801      letter-spacing: 0.04em;
802    }
803    .footer-logo span { color: var(--yellow); }
804    .footer-links {
805      display: flex;
806      flex-wrap: wrap;
807      gap: 20px;
808    }
809    .footer-links a {
810      font-size: 13px;
811      color: var(--text-dim);
812      text-decoration: none;
813      transition: color 0.15s;
814    }
815    .footer-links a:hover { color: var(--yellow); }
816    .footer-legal {
817      font-size: 12px;
818      color: var(--text-dim);
819      line-height: 1.7;
820      font-weight: 300;
821    }
822    .footer-legal a { color: var(--text-dim); }
823
824    /* ─── DISCLAIMER ─── */
825    .disclaimer {
826      max-width: 1020px;
827      margin: 0 auto;
828      padding: 0 24px 48px;
829      position: relative;
830      z-index: 1;
831    }
832    .disclaimer-box {
833      background: rgba(255,208,0,0.04);
834      border: 1px solid rgba(255,208,0,0.15);
835      border-radius: var(--radius);
836      padding: 18px 24px;
837    }
838    .disclaimer-box p {
839      font-size: 12px;
840      color: var(--text-dim);
841      line-height: 1.7;
842      font-weight: 300;
843    }
844    .disclaimer-box strong { color: var(--yellow); }
845
846    /* ─── RESPONSIVE ─── */
847    @media (max-width: 640px) {
848      .cert-corner { display: none; }
849      .hero-stamp { display: none; }
850    }
851
852    /* ─── ANIMATIONS ─── */
853    @keyframes fadeUp {
854      from { opacity: 0; transform: translateY(20px); }
855      to   { opacity: 1; transform: translateY(0); }
856    }
857    .hero-eyebrow { animation: fadeUp 0.5s ease both 0.05s; }
858    h1             { animation: fadeUp 0.5s ease both 0.12s; }
859    .hero-sub      { animation: fadeUp 0.5s ease both 0.20s; }
860    .hero-actions  { animation: fadeUp 0.5s ease both 0.28s; }
861    .hero-proof    { animation: fadeUp 0.5s ease both 0.36s; }
862    .cert-preview  { animation: fadeUp 0.6s ease both 0.20s; }
863  </style>
864</head>
865<body>
866
867  <!-- ═══ NAV ═══ -->
868  <nav>
869    <div class="nav-inner">
870      <a href="/" class="nav-logo">SmartCerts<span>.ai</span><span class="nav-badge">Beta</span></a>
871      <a href="#signup" class="nav-cta">JOIN BETA</a>
872    </div>
873  </nav>
874
875  <!-- ═══ HERO ═══ -->
876  <div class="hero-wrap">
877    <div class="hero-stamp" aria-hidden="true">BETA</div>
878    <div class="cert-corner" aria-hidden="true">
879      <div class="cert-corner-inner">OSHA<br>CERT<br>AI</div>
880    </div>
881    <div class="hero" aria-labelledby="hero-h1">
882      <div>
883        <div class="hero-eyebrow">
884          <span>Early Access Open</span>
885          <span class="pipe">|</span>
886          <span>Beta 2026</span>
887        </div>
888        <h1 id="hero-h1">
889          <span class="block">OSHA COMPLIANCE</span>
890          <span class="block"><span class="hl">PLATFORM</span></span>
891          <span class="block">Inspectors Can Verify</span>
892        </h1>
893        <p class="hero-sub">
894          Generate OSHA-compliant certificates in 2 minutes with built-in verification. Inspectors get instant proof of every worker's training with QR codes and audit trails. No more Word templates. No more missing documentation.
895        </p>
896        <div class="hero-actions">
897          <a href="#signup" class="btn-primary">GET EARLY ACCESS →</a>
898          <a href="#features" class="btn-ghost">See what's included ↓</a>
899        </div>
900        <div class="hero-proof">
901          <div class="proof-item"><span class="check">✓</span> OSHA Compliant (29 CFR 1926.502)</div>
902          <div class="proof-item"><span class="check">✓</span> Inspector Verification (QR Codes)</div>
903          <div class="proof-item"><span class="check">✓</span> Free During Beta</div>
904        </div>
905      </div>
906
907      <!-- Certificate preview card -->
908      <div class="cert-preview" role="img" aria-label="Sample certificate being generated">
909        <div class="cert-progress"><div class="cert-progress-fill"></div></div>
910        <div class="cert-preview-header">
911          <span class="cert-preview-header-title">GENERATING CERTIFICATE</span>
912          <span class="cert-preview-header-badge">OSHA Compliant</span>
913        </div>
914        <div class="cert-preview-body">
915          <div class="cert-line">
916            <span class="cert-line-label">Certificate Type</span>
917            <span class="cert-line-val yellow">Fall Protection</span>
918          </div>
919          <div class="cert-line">
920            <span class="cert-line-label">Employee</span>
921            <span class="cert-line-val">J. Martinez</span>
922          </div>
923          <div class="cert-line">
924            <span class="cert-line-label">Training Date</span>
925            <span class="cert-line-val">May 2, 2025</span>
926          </div>
927          <div class="cert-line">
928            <span class="cert-line-label">Trainer</span>
929            <span class="cert-line-val">R. Thompson, CSP</span>
930          </div>
931          <div class="cert-line">
932            <span class="cert-line-label">Regulation</span>
933            <span class="cert-line-val">29 CFR 1926.502</span>
934          </div>
935          <div class="cert-line">
936            <span class="cert-line-label">Verification</span>
937            <span class="cert-line-val green">✓ QR Code Active</span>
938          </div>
939          <div class="cert-line">
940            <span class="cert-line-label">Format</span>
941            <span class="cert-line-val">PDF · Ready</span>
942          </div>
943        </div>
944        <div class="cert-preview-footer">
945          <span class="cert-preview-footer-label">Generation Time</span>
946          <span class="cert-timer">1:47</span>
947        </div>
948      </div>
949    </div>
950  </div>
951
952  <!-- ═══ PROBLEM SECTION ═══ -->
953  <section class="problem-section" aria-labelledby="problem-h2">
954    <div class="problem-inner">
955      <div>
956        <div class="section-label">The Problem</div>
957        <h2 id="problem-h2">MANUAL OSHA<br>CERTIFICATES CREATE<br><span class="hl">INSPECTION RISK.</span></h2>
958        <div class="section-body">
959          <p>Most safety managers are generating certificates in Word, rebuilding the same template over and over, manually reformatting PDFs, and chasing down who got trained when.</p>
960          <p><strong>None of that is safety work.</strong> It's administrative overhead that compounds every time you add a new employee or run a new training cycle.</p>
961          <p>SmartCerts.ai cuts the administrative load so you can focus on the work that actually reduces risk.</p>
962        </div>
963      </div>
964      <div class="problem-stats">
965        <div class="stat-row">
966          <div class="stat-num">30m</div>
967          <div class="stat-desc"><strong>per certificate</strong> in the average manual process—design, formatting, PDF export, filing</div>
968        </div>
969        <div class="stat-row">
970          <div class="stat-num">90%</div>
971          <div class="stat-desc"><strong>faster</strong> with SmartCerts.ai — under 2 minutes from entry to PDF in your inbox</div>
972        </div>
973        <div class="stat-row">
974          <div class="stat-num">5hrs</div>
975          <div class="stat-desc"><strong>saved every month</strong> for safety managers running 10+ certifications per month</div>
976        </div>
977        <div class="stat-row">
978          <div class="stat-num">10</div>
979          <div class="stat-desc"><strong>OSHA certificate types</strong> ready on day one—from Fall Protection to LOTO to HazCom</div>
980        </div>
981      </div>
982    </div>
983  </section>
984
985  <!-- ═══ FEATURES SECTION ═══ -->
986  <section class="features-section" id="features" aria-labelledby="features-h2">
987    <div class="features-inner">
988      <div class="features-header">
989        <div class="section-label">What You Get</div>
990        <h2 id="features-h2">OSHA CERTIFICATE<br>FEATURES BUILT<br><span class="hl">FOR SAFETY PROS.</span></h2>
991      </div>
992      <div class="features-grid">
993        <article class="feature-card">
994          <div class="feature-icon">02</div>
995          <div class="feature-title">2-MINUTE GENERATION</div>
996          <div class="feature-body">Enter the details, hit generate. Professional OSHA-compliant certificate as a PDF in your inbox before the next item on your to-do list.</div>
997        </article>
998        <article class="feature-card">
999          <div class="feature-icon">10</div>
1000          <div class="feature-title">10 CERT TYPES</div>
1001          <div class="feature-body">Fall Protection, LOTO, HazCom, PPE, Confined Space, Bloodborne Pathogens, Forklift, Construction Safety, Emergency Action Plan, General Workplace Safety.</div>
1002        </article>
1003        <article class="feature-card">
1004          <div class="feature-icon">QR</div>
1005          <div class="feature-title">BUILT-IN VERIFICATION</div>
1006          <div class="feature-body">Every certificate gets a QR code. Inspectors scan it on-site. The record is there. No scrambling through filing cabinets mid-inspection.</div>
1007        </article>
1008        <article class="feature-card">
1009          <div class="feature-icon">0</div>
1010          <div class="feature-title">ZERO DESIGN SKILLS</div>
1011          <div class="feature-body">No drag-and-drop. No template editing. No reformatting. You fill in a form; we handle the layout, branding, and professional output.</div>
1012        </article>
1013      </div>
1014
1015      <div class="cert-types">
1016        <div class="cert-types-label">Certificate Types Covered</div>
1017        <div class="cert-types-list">
1018          <span class="cert-tag">General Workplace Safety</span>
1019          <span class="cert-tag">Construction Safety (29 CFR 1926)</span>
1020          <span class="cert-tag">Hazard Communication (HazCom)</span>
1021          <span class="cert-tag">PPE</span>
1022          <span class="cert-tag">Emergency Action Plan</span>
1023          <span class="cert-tag">Lockout/Tagout (LOTO)</span>
1024          <span class="cert-tag">Fall Protection</span>
1025          <span class="cert-tag">Bloodborne Pathogens</span>
1026          <span class="cert-tag">Confined Space Entry</span>
1027          <span class="cert-tag">Forklift Safety</span>
1028        </div>
1029      </div>
1030    </div>
1031  </section>
1032
1033  <!-- ═══ USE CASES SECTION ═══ -->
1034  <section style="max-width: 980px; margin: 0 auto; padding: 72px 24px;">
1035    <div class="section-label">Who This Is For</div>
1036    <h2 style="font-family: var(--display); font-size: clamp(36px, 5vw, 56px); color: var(--navy); line-height: 1.0; margin-bottom: 16px; letter-spacing: 0.03em;">
1037      BUILT FOR YOUR<br>
1038      <span style="color: var(--green);">SAFETY ROLE</span>
1039    </h2>
1040    
1041    <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 32px; margin-top: 48px;">
1042      <div>
1043        <h3 style="font-family: var(--display); font-size: 20px; letter-spacing: 0.05em; color: var(--navy); margin-bottom: 12px;">Safety Managers</h3>
1044        <p style="font-family: var(--serif); font-size: 15px; line-height: 1.6; color: var(--text-mid);">Track training across your entire workforce. Know who's certified, what they trained on, and when certifications expire—instantly. No more hunting through email or spreadsheets.</p>
1045      </div>
1046      
1047      <div>
1048        <h3 style="font-family: var(--display); font-size: 20px; letter-spacing: 0.05em; color: var(--navy); margin-bottom: 12px;">HR Compliance Officers</h3>
1049        <p style="font-family: var(--serif); font-size: 15px; line-height: 1.6; color: var(--text-mid);">Audit-ready documentation. When OSHA inspectors arrive, you have proof of every worker's training in seconds. QR codes, verification trails, everything they need to see.</p>
1050      </div>
1051      
1052      <div>
1053        <h3 style="font-family: var(--display); font-size: 20px; letter-spacing: 0.05em; color: var(--navy); margin-bottom: 12px;">Training Coordinators</h3>
1054        <p style="font-family: var(--serif); font-size: 15px; line-height: 1.6; color: var(--text-mid);">Generate certificates while you're still in the training room. No back-of-desk paperwork. No chasing people down for signatures. Instant, verified, done.</p>
1055      </div>
1056    </div>
1057  </section>
1058
1059  <!-- ═══ COMPLIANCE DETAILS SECTION ═══ -->
1060  <section style="background: var(--navy); padding: 72px 24px; color: var(--bg);">
1061    <div style="max-width: 980px; margin: 0 auto;">
1062      <h2 style="font-family: var(--display); font-size: clamp(36px, 5vw, 56px); color: var(--bg); line-height: 1.0; margin-bottom: 16px; letter-spacing: 0.03em;">
1063        BUILT FOR<br>
1064        <span style="color: var(--green);">OSHA COMPLIANCE</span>
1065      </h2>
1066      
1067      <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 32px; margin-top: 48px;">
1068        <div style="border-left: 3px solid var(--green); padding-left: 20px;">
1069          <h3 style="font-family: var(--display); font-size: 18px; letter-spacing: 0.05em; color: var(--bg); margin-bottom: 8px;">Regulatory Compliance</h3>
1070          <p style="font-family: var(--serif); font-size: 15px; line-height: 1.6; color: rgba(245,240,232,0.8);">Compliant with 29 CFR 1926.502 (Fall Protection), 1926.503 (Competent Climber), and other major OSHA standards. All required certification details included automatically.</p>
1071        </div>
1072        
1073        <div style="border-left: 3px solid var(--green); padding-left: 20px;">
1074          <h3 style="font-family: var(--display); font-size: 18px; letter-spacing: 0.05em; color: var(--bg); margin-bottom: 8px;">Inspector Verification</h3>
1075          <p style="font-family: var(--serif); font-size: 15px; line-height: 1.6; color: rgba(245,240,232,0.8);">QR codes provide instant verification. Inspectors scan, see full training record. No hunting through paper. No gaps in documentation. Verification methods acceptable to OSHA inspectors.</p>
1076        </div>
1077        
1078        <div style="border-left: 3px solid var(--green); padding-left: 20px;">
1079          <h3 style="font-family: var(--display); font-size: 18px; letter-spacing: 0.05em; color: var(--bg); margin-bottom: 8px;">Data Retention</h3>
1080          <p style="font-family: var(--serif); font-size: 15px; line-height: 1.6; color: rgba(245,240,232,0.8);">All certificate data encrypted and retained according to OSHA record retention requirements (5+ years). Audit trails show every action, every change.</p>
1081        </div>
1082      </div>
1083    </div>
1084  </section>
1085
1086  <!-- ═══ BETA SIGNUP SECTION ═══ -->
1087  <section class="beta-section" id="signup" aria-labelledby="beta-h2">
1088    <div class="beta-inner">
1089      <div>
1090        <div class="section-label">
1090Beta Access</div>
1091        <h2 id="beta-h2">BE FIRST.<br><span class="hl">PAY LESS.</span><br>BUILD WITH US.</h2>
1092        <div class="beta-perks">
1093          <div class="beta-perk">
1094            <div class="beta-perk-num">01</div>
1095            <div class="beta-perk-text">
1096              <strong>Free access during beta</strong>
1097              <span>Full product access while we're in beta—no credit card, no catch.</span>
1098            </div>
1099          </div>
1100          <div class="beta-perk">
1101            <div class="beta-perk-num">02</div>
1102            <div class="beta-perk-text">
1103              <strong>Locked-in launch pricing</strong>
1104              <span>Beta users get founding member rates when we go live. The price you see at launch is not the price you pay.</span>
1105            </div>
1106          </div>
1107          <div class="beta-perk">
1108            <div class="beta-perk-num">03</div>
1109            <div class="beta-perk-text">
1110              <strong>Direct input on features</strong>
1111              <span>You tell us what's missing before we ship it. Your workflow drives the roadmap.</span>
1112            </div>
1113          </div>
1114          <div class="beta-perk">
1115            <div class="beta-perk-num">04</div>
1116            <div class="beta-perk-text">
1117              <strong>Priority onboarding</strong>
1118              <span>Beta users get direct access to the team. Not a ticket queue—actual support.</span>
1119            </div>
1120          </div>
1121        </div>
1122      </div>
1123
1124      <div class="signup-wrap">
1125        <div class="signup-label">Join the Beta</div>
1126        <div class="signup-title">Request Early Access</div>
1127        <div class="signup-sub">We're opening beta access in limited batches. Enter your details to get in line.</div>
1128
1129        <!-- ═══ JOTFORM EMBED ═══
1130             Replace the div below with your Jotform beta signup embed code.
1131             Example:
1132             <iframe id="JotFormIFrame-YOURFORMID"
1133               title="SmartCerts.ai Beta Signup"
1134               src="https://form.jotform.com/YOURFORMID"
1135               style="min-width:100%;max-width:100%;height:420px;border:none;"
1136               allowtransparency="true" allowfullscreen="true"
1137               scrolling="no">
1138             </iframe>
1139             
1139<script src="https://cdn.jotfor.ms/s/umd/latest/for-form-embed-handler.js"></script>
1139
1140             
1140<script>window.jotformEmbedHandler("iframe[id='JotFormIFrame-YOURFORMID']","https://form.jotform.com")</script>
1140
1141        ═══ -->
1142        <div class="jotform-container">
1143          <iframe id="JotFormIFrame-251407046922049"
1144            title="Free Trial Sign Up"
1145            onload="window.parent.scrollTo(0,0)"
1146            allowtransparency="true"
1147            allowfullscreen="true"
1148            allow="geolocation; microphone; camera"
1149            src="https://form.jotform.com/251407046922049"
1150            frameborder="0"
1151            style="min-width:100%;max-width:100%;height:600px;border:none;"
1152            scrolling="no">
1153          </iframe>
1154          
1154<script src="https://cdn.jotfor.ms/s/umd/latest/for-form-embed-handler.js"></script>
1154
1155          
1155<script>window.jotformEmbedHandler("iframe[id='JotFormIFrame-251407046922049']","https://form.jotform.com")</script>
1155
1156        </div>
1157      </div>
1158    </div>
1159  </section>
1160
1161  <!-- ═══ TESTIMONIAL ═══ -->
1162  <section style="background: var(--bg); padding: 72px 24px; border-top: 2px solid var(--navy);">
1163    <div style="max-width: 680px; margin: 0 auto; text-align: center;">
1164      <div style="padding: 40px; background: #fff; border: 2px solid var(--navy); border-radius: 4px;">
1165        <p style="font-family: var(--serif); font-size: 17px; line-height: 1.8; color: var(--navy); margin-bottom: 24px;">
1166          "Before this, I was spending hours every week managing certificates. Getting them signed, filed, updated when people moved roles. Now I generate them right there. Our inspection last month? We had every certificate in our hand in 90 seconds. Inspector said it was the cleanest record they'd ever seen."
1167        </p>
1168        <p style="font-family: var(--display); font-size: 15px; letter-spacing: 0.05em; color: var(--text-mid); font-weight: 600; margin: 0;">
1169          — Maria Santos, Safety Manager, 120-person manufacturing facility
1170        </p>
1171      </div>
1172    </div>
1173  </section>
1174
1175  <!-- ═══ FAQ ═══ -->
1176  <section class="faq-section" aria-labelledby="faq-h2">
1177    <div class="faq-header">
1178      <div class="section-label">FAQ</div>
1179      <h2 id="faq-h2">OSHA CERTIFICATE<br><span class="hl">GENERATOR FAQ</span></h2>
1180    </div>
1181    <div class="faq-list" role="list">
1182      <div class="faq-item" role="listitem">
1183        <div class="faq-q" tabindex="0" role="button" aria-expanded="false">
1184          Does OSHA actually accept AI-generated certificates?
1185          <span class="faq-icon" aria-hidden="true">+</span>
1186        </div>
1187        <div class="faq-a" role="region">
1188          <p>OSHA doesn't specify a required certificate format—it requires that training is documented with the right details: employee name, training type, date, trainer, and employer. Our templates include every required field plus a QR verification code, which tends to impress inspectors rather than raise questions.</p>
1189        </div>
1190      </div>
1191      <div class="faq-item" role="listitem">
1192        <div class="faq-q" tabindex="0" role="button" aria-expanded="false">
1193          How does 2 minutes actually work?
1194          <span class="faq-icon" aria-hidden="true">+</span>
1195        </div>
1196        <div class="faq-a" role="region">
1197          <p>You fill in a guided form: employee name, training type, date, trainer details. That's it. SmartCerts handles the design, formatting, QR code generation, and PDF creation. It hits your inbox before you've moved on to the next thing. No drag-and-drop, no export settings, no reformatting.</p>
1198        </div>
1199      </div>
1200      <div class="faq-item" role="listitem">
1201        <div class="faq-q" tabindex="0" role="button" aria-expanded="false">
1202          What certificate types are available at launch?
1203          <span class="faq-icon" aria-hidden="true">+</span>
1204        </div>
1205        <div class="faq-a" role="region">
1206          <p>Ten types at launch: General Workplace Safety, Construction Safety (29 CFR 1926), HazCom, PPE, Emergency Action Plan, Lockout/Tagout (LOTO), Fall Protection, Bloodborne Pathogens, Confined Space Entry, and Forklift Safety. Beta users can request additional types that go directly to the roadmap.</p>
1207        </div>
1208      </div>
1209      <div class="faq-item" role="listitem">
1210        <div class="faq-q" tabindex="0" role="button" aria-expanded="false">
1211          What does beta access actually cost?
1212          <span class="faq-icon" aria-hidden="true">+</span>
1213        </div>
1214        <div class="faq-a" role="region">
1215          <p>Nothing during the beta period. When we launch publicly, beta users get founding member pricing—locked in at a rate below public launch pricing. We'll give you clear advance notice before any billing starts.</p>
1216        </div>
1217      </div>
1218      <div class="faq-item" role="listitem">
1219        <div class="faq-q" tabindex="0" role="button" aria-expanded="false">
1220          Is SmartCerts.ai affiliated with or endorsed by OSHA?
1221          <span class="faq-icon" aria-hidden="true">+</span>
1222        </div>
1223        <div class="faq-a" role="region">
1224          <p>No. SmartCerts.ai is an independent software tool. We are not affiliated with, endorsed by, or officially recognized by OSHA. Our templates are designed to document required training information in a compliant format. The employer remains responsible for ensuring all OSHA training requirements are met.</p>
1225        </div>
1226      </div>
1227      <div class="faq-item" role="listitem">
1228        <div class="faq-q" tabindex="0" role="button" aria-expanded="false">
1229          Will these certificates hold up in an OSHA inspection?
1230          <span class="faq-icon" aria-hidden="true">+</span>
1231        </div>
1232        <div class="faq-a" role="region">
1233          <p>Yes. Our certificates document the same information OSHA inspectors require: employee name, training type, date, trainer credentials, and certification status. The QR verification code allows instant validation. What matters to inspectors is that the required information is present and verifiable—not how the certificate was generated. That said, you remain responsible for ensuring your training content meets OSHA standards.</p>
1234        </div>
1235      </div>
1236      <div class="faq-item" role="listitem">
1237        <div class="faq-q" tabindex="0" role="button" aria-expanded="false">
1238          How long do you keep certificate records?
1239          <span class="faq-icon" aria-hidden="true">+</span>
1240        </div>
1241        <div class="faq-a" role="region">
1242          <p>We retain all certificate data for a minimum of 5 years, matching OSHA record retention requirements. Data is encrypted and stored securely. You can download your full record history at any time. We never delete data without your explicit request, and we provide 30 days' notice before account closure.</p>
1243        </div>
1244      </div>
1245      <div class="faq-item" role="listitem">
1246        <div class="faq-q" tabindex="0" role="button" aria-expanded="false">
1247          Can I customize certificates for my specific safety role or facility?
1248          <span class="faq-icon" aria-hidden="true">+</span>
1249        </div>
1250        <div class="faq-a" role="region">
1251          <p>At launch, you customize within our templates: add your facility logo, update trainer name/credentials, select certificate type, and set custom expiration dates. Full white-label and custom template options are on the roadmap for public launch. Beta users requesting custom templates get priority development.</p>
1252        </div>
1253      </div>
1254    </div>
1255  </section>
1256
1257  <!-- ═══ DISCLAIMER ═══ -->
1258  <div class="disclaimer">
1259    <div class="disclaimer-box">
1260      <p><strong>Legal Disclaimer:</strong> SmartCerts.ai provides AI-based certificate generation tools to assist with documentation of safety training. Certificates generated through our service are designed to help document compliance activities but do not guarantee OSHA compliance. SmartCerts.ai is not affiliated with or endorsed by OSHA or the U.S. Department of Labor. The employer remains solely responsible for ensuring all applicable OSHA regulations are met. This tool does not constitute legal or compliance advice.</p>
1261    </div>
1262  </div>
1263
1264  <!-- ═══ FOOTER ═══ -->
1265  <footer>
1266    <div class="footer-inner">
1267      <div class="footer-logo">SmartCerts<span>.ai</span></div>
1268      <div class="footer-links">
1269        <a href="https://elevinvest.com">An ElEvInvest Production</a>
1270        <a href="https://eventpermitpro.com">Event Permit Pro</a>
1271        <a href="https://amiaddictedtoai.com">Am I Addicted to AI?</a>
1272        <a href="https://nursekindai.com">NurseKind AI</a>
1273        <a href="mailto:[email protected]">[email protected]</a>
1274      </div>
1275      <div class="footer-legal">
1276        © 2025 SmartCerts.ai · All rights reserved.<br>
1277        SmartCerts.ai provides certificate generation tools to assist with safety training documentation. Not affiliated with or endorsed by OSHA.
1278      </div>
1279    </div>
1280  </footer>
1281
1282  
1282<script>
1283    document.querySelectorAll('.faq-q').forEach(q => {
1284      const toggle = () => {
1285        const item = q.closest('.faq-item');
1286        const isOpen = item.classList.contains('open');
1287        document.querySelectorAll('.faq-item.open').forEach(i => i.classList.remove('open'));
1288        if (!isOpen) item.classList.add('open');
1289        q.setAttribute('aria-expanded', !isOpen);
1290      };
1291      q.addEventListener('click', toggle);
1292      q.addEventListener('keydown', e => { if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); toggle(); } });
1293    });
1294  </script>
1294
1295
1296</body>
1297</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.