PageSourceSearch

https://frzolympuscup2026.netlify.app/

html frzolympuscup2026.netlify.app collected 2026-10-03 10:45:29 UTC 48,335 bytes, 1,483 lines download raw bytes

1<!DOCTYPE html>
2<html lang="ro">
3<head>
4  <meta charset="UTF-8" />
5<!-- This site is hosted on Netlify. Anyone can build and deploy a site
6     like this one for free: https://netlify.new/?utm_campaign=loops&utm_source=ai-legible&utm_medium=owned&utm_content=comment&utm_id=3383e2c1-88c9-4074-bc0e-c6f6ab605d3a
7     Netlify hosting facts for this site: static/SSR served via Netlify Edge. -->
8  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
9  <title>FRZ OLYMPUS CUP 2026 — Etapa I a Cupei României de Șosea Copii</title>
10  <meta name="description" content="A doua ediție a competiției de ciclism pentru copii FRZ Olympus Cup. Etapa I a Cupei României de Șosea Copii. 24 mai 2026, Ploiești, Parc Municipal Vest." />
11  <link rel="preconnect" href="https://fonts.googleapis.com" />
12  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
13  <link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600&family=Bebas+Neue&display=swap" rel="stylesheet" />
14  <style>
15    :root {
16      --red: #E30613;
17      --red-dark: #B30410;
18      --blue: #003876;
19      --blue-dark: #00254A;
20      --yellow: #FFC72C;
21      --bg: #FAFAFA;
22      --bg-alt: #F0F2F5;
23      --text: #1A1F2C;
24      --text-mute: #5A6478;
25      --border: #E2E5EB;
26      --white: #FFFFFF;
27      --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06);
28      --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.08);
29      --shadow-lg: 0 16px 48px rgba(0, 56, 118, 0.18);
30    }
31
32    * { margin: 0; padding: 0; box-sizing: border-box; }
33
34    html { scroll-behavior: smooth; }
35
36    body {
37      font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
38      color: var(--text);
39      background: var(--bg);
40      line-height: 1.6;
41      -webkit-font-smoothing: antialiased;
42    }
43
44    h1, h2, h3, h4 {
45      font-family: 'Space Grotesk', sans-serif;
46      font-weight: 700;
47      letter-spacing: -0.02em;
48      line-height: 1.15;
49    }
50
51    a { color: var(--red); text-decoration: none; }
52    a:hover { text-decoration: underline; }
53
54    .container {
55      max-width: 1180px;
56      margin: 0 auto;
57      padding: 0 24px;
58    }
59
60    /* ========== NAV ========== */
61    nav {
62      position: sticky;
63      top: 0;
64      z-index: 100;
65      background: rgba(255, 255, 255, 0.95);
66      backdrop-filter: blur(12px);
67      border-bottom: 1px solid var(--border);
68    }
69
70    .nav-inner {
71      display: flex;
72      align-items: center;
73      justify-content: space-between;
74      padding: 16px 24px;
75      max-width: 1180px;
76      margin: 0 auto;
77    }
78
79    .logo {
80      display: flex;
81      align-items: center;
82      gap: 10px;
83      font-family: 'Space Grotesk', sans-serif;
84      font-weight: 700;
85      font-size: 18px;
86      color: var(--text);
87    }
88
89    .logo-mark {
90      width: 36px;
91      height: 36px;
92      background: linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%);
93      border-radius: 8px;
94      display: flex;
95      align-items: center;
96      justify-content: center;
97      color: white;
98      font-weight: 700;
99      font-size: 14px;
100      letter-spacing: -0.5px;
101    }
102
103    .nav-links {
104      display: flex;
105      gap: 32px;
106      align-items: center;
107    }
108
109    .nav-links a {
110      color: var(--text);
111      font-weight: 500;
112      font-size: 15px;
113      transition: color 0.2s;
114    }
115
116    .nav-links a:hover {
117      color: var(--red);
118      text-decoration: none;
119    }
120
121    .btn {
122      display: inline-flex;
123      align-items: center;
124      gap: 8px;
125      padding: 12px 24px;
126      border-radius: 8px;
127      font-weight: 600;
128      font-family: 'Space Grotesk', sans-serif;
129      font-size: 15px;
130      transition: all 0.2s;
131      border: none;
132      cursor: pointer;
133      text-decoration: none !important;
134    }
135
136    .btn-primary {
137      background: var(--red);
138      color: white;
139    }
140
141    .btn-primary:hover {
142      background: var(--red-dark);
143      transform: translateY(-1px);
144      box-shadow: 0 8px 16px rgba(227, 6, 19, 0.3);
145    }
146
147    .btn-secondary {
148      background: white;
149      color: var(--blue);
150      border: 2px solid var(--blue);
151    }
152
153    .btn-secondary:hover {
154      background: var(--blue);
155      color: white;
156    }
157
158    .btn-large {
159      padding: 16px 32px;
160      font-size: 16px;
161    }
162
163    .nav-mobile-btn { display: none; }
164
165    /* ========== HERO (poster style) ========== */
166    .hero {
167      position: relative;
168      background: #E30613;
169      color: white;
170      overflow: hidden;
171      padding: 32px 0 48px;
172    }
173
174    .hero-inner {
175      max-width: 1180px;
176      margin: 0 auto;
177      padding: 0 24px;
178    }
179
180    .hero-top-row {
181      display: grid;
182      grid-template-columns: 140px 1fr 140px;
183      grid-template-areas: "frz title olympus";
184      align-items: center;
185      gap: 24px;
186      margin-bottom: 28px;
187    }
188
189    .hero-logo-frz { grid-area: frz; display: flex; justify-content: center; }
190    .hero-title-badge { grid-area: title; }
191    .hero-logo-olympus { grid-area: olympus; text-align: center; }
192
193    .hero-logo-frz img,
194    .hero-logo-olympus img {
195      max-width: 100%;
196      max-height: 130px;
197      height: auto;
198      display: block;
199    }
200
201    .hero-logo-olympus img {
202      margin: 0 auto;
203    }
204
205    .hero-title-badge {
206      background: var(--blue);
207      border-radius: 999px;
208      padding: 28px 40px;
209      text-align: center;
210      box-shadow: 0 10px 28px rgba(0, 0, 0, 0.25);
211    }
212
213    .hero-title-badge h1 {
214      font-family: 'Bebas Neue', 'Space Grotesk', sans-serif;
215      font-weight: 400;
216      font-size: clamp(28px, 4.5vw, 50px);
217      letter-spacing: 2px;
218      line-height: 1.05;
219      color: white;
220      margin: 0;
221    }
222
223    .hero-photo {
224      max-width: 1080px;
225      margin: 0 auto 28px;
226      aspect-ratio: 16 / 10;
227      background: rgba(0,0,0,0.18);
228      border-radius: 12px;
229      background-size: cover;
230      background-position: center;
231      box-shadow: 0 14px 40px rgba(0, 0, 0, 0.32);
232      position: relative;
233    }
234
235    .hero-photo img {
236      width: 100%;
237      height: 100%;
238      object-fit: cover;
239      border-radius: 12px;
240      display: block;
241    }
242
243    .hero-photo-placeholder {
244      position: absolute;
245      inset: 0;
246      display: flex;
247      align-items: center;
248      justify-content: center;
249      color: rgba(255,255,255,0.5);
250      font-size: 14px;
251      letter-spacing: 0.5px;
252      pointer-events: none;
253    }
254
255    .hero-info-panel {
256      max-width: 820px;
257      margin: 0 auto 28px;
258      background: var(--blue);
259      border-radius: 12px;
260      padding: 22px 32px;
261      text-align: center;
262      box-shadow: 0 10px 28px rgba(0, 0, 0, 0.25);
263    }
264
265    .hero-info-panel .info-line {
266      font-family: 'Bebas Neue', 'Space Grotesk', sans-serif;
267      letter-spacing: 1.5px;
268      line-height: 1.45;
269      color: white;
270      font-size: clamp(20px, 2.8vw, 30px);
271    }
272
273    .hero-cta {
274      max-width: 820px;
275      margin: 0 auto 36px;
276      display: flex;
277      gap: 16px;
278      justify-content: center;
279      flex-wrap: wrap;
280    }
281
282    .hero .btn-primary {
283      background: var(--yellow);
284      color: var(--blue-dark);
285    }
286
287    .hero .btn-primary:hover {
288      background: #FFD650;
289      box-shadow: 0 8px 16px rgba(0, 0, 0, 0.25);
290    }
291
292    .btn-poster-ghost {
293      background: rgba(255, 255, 255, 0.12);
294      color: white;
295      border: 2px solid rgba(255, 255, 255, 0.45);
296    }
297
298    .btn-poster-ghost:hover {
299      background: rgba(255, 255, 255, 0.22);
300      text-decoration: none;
301    }
302
303    /* ========== COUNTDOWN ========== */
304    .countdown {
305      max-width: 820px;
306      margin: 0 auto;
307      padding: 22px 24px;
308      background: rgba(0, 0, 0, 0.20);
309      border: 1px solid rgba(255, 255, 255, 0.2);
310      border-radius: 14px;
311    }
312
313    .countdown-label {
314      text-align: center;
315      font-size: 12px;
316      font-weight: 600;
317      letter-spacing: 1.5px;
318      text-transform: uppercase;
319      opacity: 0.95;
320      margin-bottom: 12px;
321      color: var(--yellow);
322    }
323
324    .countdown-grid {
325      display: grid;
326      grid-template-columns: repeat(4, 1fr);
327      gap: 8px;
328    }
329
330    .countdown-cell {
331      text-align: center;
332      padding: 12px 6px;
333      background: rgba(255, 255, 255, 0.10);
334      border-radius: 10px;
335      border: 1px solid rgba(255, 255, 255, 0.18);
336    }
337
338    .countdown-num {
339      font-family: 'Bebas Neue', 'Space Grotesk', sans-serif;
340      font-weight: 400;
341      font-size: clamp(28px, 5vw, 44px);
342      line-height: 1;
343      color: white;
344    }
345
346    .countdown-unit {
347      font-size: 11px;
348      letter-spacing: 1px;
349      text-transform: uppercase;
350      opacity: 0.85;
351      margin-top: 4px;
352      color: white;
353    }
354
355    @media (max-width: 700px) {
356      .hero-top-row {
357        grid-template-columns: 1fr 1fr;
358        grid-template-areas:
359          "title title"
360          "frz olympus";
361        gap: 18px;
362      }
363      .hero-title-badge { padding: 20px 24px;
363 border-radius: 36px; }
364      .hero-title-badge h1 { font-size: 26px; letter-spacing: 1px; }
365      .hero-logo-frz img,
366      .hero-logo-olympus img { max-height: 80px; }
367      .hero-info-panel { padding: 18px 20px; }
368      .hero-info-panel .info-line { font-size: 18px; letter-spacing: 1px; }
369    }
370
371    /* ========== SECTIONS ========== */
372    section {
373      padding: 96px 0;
374    }
375
376    section.alt {
377      background: var(--bg-alt);
378    }
379
380    .section-head {
381      text-align: center;
382      max-width: 720px;
383      margin: 0 auto 56px;
384    }
385
386    .section-eyebrow {
387      display: inline-block;
388      color: var(--red);
389      font-weight: 600;
390      font-size: 13px;
391      letter-spacing: 1.5px;
392      text-transform: uppercase;
393      margin-bottom: 12px;
394    }
395
396    .section-head h2 {
397      font-size: clamp(28px, 4vw, 42px);
398      margin-bottom: 16px;
399    }
400
401    .section-head p {
402      color: var(--text-mute);
403      font-size: 17px;
404    }
405
406    /* ========== ABOUT ========== */
407    .about-grid {
408      display: grid;
409      grid-template-columns: repeat(3, 1fr);
410      gap: 24px;
411    }
412
413    .about-card {
414      background: white;
415      border-radius: 16px;
416      padding: 32px;
417      box-shadow: var(--shadow-sm);
418      border: 1px solid var(--border);
419      transition: transform 0.2s, box-shadow 0.2s;
420    }
421
422    .about-card:hover {
423      transform: translateY(-4px);
424      box-shadow: var(--shadow-md);
425    }
426
427    .about-icon {
428      width: 56px;
429      height: 56px;
430      background: linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%);
431      border-radius: 12px;
432      display: flex;
433      align-items: center;
434      justify-content: center;
435      margin-bottom: 20px;
436    }
437
438    .about-icon.blue {
439      background: linear-gradient(135deg, var(--blue) 0%, var(--blue-dark) 100%);
440    }
441
442    .about-icon.yellow {
443      background: linear-gradient(135deg, var(--yellow) 0%, #E5A800 100%);
444    }
445
446    .about-icon svg { width: 28px; height: 28px; color: white; }
447
448    .about-card h3 { font-size: 20px; margin-bottom: 8px; }
449
450    .about-card p { color: var(--text-mute); font-size: 15px; }
451
452    /* ========== CATEGORIES ========== */
453    .cat-grid {
454      display: grid;
455      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
456      gap: 16px;
457    }
458
459    .cat-card {
460      background: white;
461      border-radius: 16px;
462      padding: 24px 20px;
463      text-align: center;
464      border: 2px solid var(--border);
465      transition: all 0.2s;
466      position: relative;
467      overflow: hidden;
468    }
469
470    .cat-card:hover {
471      border-color: var(--red);
472      transform: translateY(-4px);
473    }
474
475    .cat-card .cat-name {
476      font-family: 'Space Grotesk', sans-serif;
477      font-size: 36px;
478      font-weight: 700;
479      color: var(--red);
480      line-height: 1;
481      margin-bottom: 4px;
482    }
483
484    .cat-card .cat-age {
485      font-size: 13px;
486      color: var(--text-mute);
487      font-weight: 500;
488      margin-bottom: 16px;
489    }
490
491    .cat-card .cat-detail {
492      font-size: 13px;
493      color: var(--text);
494      padding-top: 16px;
495      border-top: 1px solid var(--border);
496    }
497
498    .cat-card .cat-detail strong {
499      display: block;
500      font-family: 'Space Grotesk', sans-serif;
501      color: var(--blue);
502      font-size: 16px;
503      margin-bottom: 2px;
504    }
505
506    .cat-card.balance {
507      background: linear-gradient(135deg, #FFF8E5 0%, #FFEFC2 100%);
508      border-color: var(--yellow);
509    }
510
511    .cat-card.balance .cat-name {
512      color: #B8860B;
513      font-size: 24px;
514    }
515
516    /* ========== PROGRAM ========== */
517    .program-table {
518      background: white;
519      border-radius: 16px;
520      overflow: hidden;
521      box-shadow: var(--shadow-sm);
522      border: 1px solid var(--border);
523    }
524
525    .program-table table {
526      width: 100%;
527      border-collapse: collapse;
528    }
529
530    .program-table th {
531      background: var(--blue);
532      color: white;
533      text-align: left;
534      padding: 16px 20px;
535      font-family: 'Space Grotesk', sans-serif;
536      font-weight: 600;
537      font-size: 14px;
538      letter-spacing: 0.5px;
539    }
540
541    .program-table td {
542      padding: 16px 20px;
543      border-bottom: 1px solid var(--border);
544      font-size: 15px;
545    }
546
547    .program-table tr:last-child td { border-bottom: none; }
548
549    .program-table tr.day-row td {
550      background: var(--bg-alt);
551      font-weight: 700;
552      font-family: 'Space Grotesk', sans-serif;
553      color: var(--blue-dark);
554      font-size: 15px;
555      letter-spacing: 0.3px;
556    }
557
558    .program-table .time-cell {
559      font-family: 'Space Grotesk', sans-serif;
560      font-weight: 600;
561      color: var(--red);
562      width: 130px;
563      white-space: nowrap;
564    }
565
566    .program-table tr:hover td:not(.day-row td) { background: rgba(227, 6, 19, 0.02); }
567
568    /* ========== TRACK / MAP ========== */
569    .track-grid {
570      display: grid;
571      grid-template-columns: 1fr 1fr;
572      gap: 32px;
573      align-items: stretch;
574    }
575
576    .track-info {
577      background: white;
578      padding: 32px;
579      border-radius: 16px;
580      box-shadow: var(--shadow-sm);
581      border: 1px solid var(--border);
582    }
583
584    .track-info h3 { font-size: 22px; margin-bottom: 16px; }
585
586    .track-list {
587      list-style: none;
588      margin-top: 20px;
589    }
590
591    .track-list li {
592      padding: 14px 0;
593      border-bottom: 1px solid var(--border);
594      display: flex;
595      align-items: flex-start;
596      gap: 12px;
597      font-size: 15px;
598    }
599
600    .track-list li:last-child { border-bottom: none; }
601
602    .track-list svg {
603      width: 20px;
604      height: 20px;
605      color: var(--red);
606      flex-shrink: 0;
607      margin-top: 2px;
608    }
609
610    .map-wrap {
611      border-radius: 16px;
612      overflow: hidden;
613      box-shadow: var(--shadow-md);
614      min-height: 400px;
615      background: var(--bg-alt);
616    }
617
618    .map-wrap iframe {
619      width: 100%;
620      height: 100%;
621      min-height: 400px;
622      border: 0;
623      display: block;
624    }
625
626    /* ========== FEES / INFO BAR ========== */
627    .info-bar {
628      background: linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%);
629      color: white;
630      border-radius: 20px;
631      padding: 40px;
632      display: grid;
633      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
634      gap: 24px;
635      box-shadow: var(--shadow-lg);
636      margin-top: 32px;
637    }
638
639    .info-bar-item h4 {
640      font-size: 13px;
641      letter-spacing: 1px;
642      text-transform: uppercase;
643      opacity: 0.8;
644      font-weight: 500;
645      font-family: 'Inter', sans-serif;
646      margin-bottom: 6px;
647    }
648
649    .info-bar-item .big {
650      font-family: 'Space Grotesk', sans-serif;
651      font-size: 28px;
652      font-weight: 700;
653      line-height: 1.1;
654    }
655
656    .info-bar-item .small {
657      font-size: 14px;
658      opacity: 0.85;
659      margin-top: 4px;
660    }
661
662    /* ========== FAQ ========== */
663    .faq-grid {
664      max-width: 800px;
665      margin: 0 auto;
666    }
667
668    .faq-item {
669      background: white;
670      border: 1px solid var(--border);
671      border-radius: 12px;
672      margin-bottom: 12px;
673      overflow: hidden;
674      transition: box-shadow 0.2s;
675    }
676
677    .faq-item.open {
678      box-shadow: var(--shadow-md);
679      border-color: var(--red);
680    }
681
682    .faq-q {
683      padding: 20px 24px;
684      cursor: pointer;
685      display: flex;
686      align-items: center;
687      justify-content: space-between;
688      gap: 16px;
689      user-select: none;
690      font-weight: 600;
691      font-family: 'Space Grotesk', sans-serif;
692      font-size: 16px;
693    }
694
695    .faq-icon {
696      width: 28px;
697      height: 28px;
698      background: var(--bg-alt);
699      border-radius: 50%;
700      display: flex;
701      align-items: center;
702      justify-content: center;
703      transition: transform 0.3s, background 0.2s;
704      flex-shrink: 0;
705    }
706
707    .faq-item.open .faq-icon {
708      transform: rotate(45deg);
709      background: var(--red);
710      color: white;
711    }
712
713    .faq-icon svg { width: 14px; height: 14px; }
714
715    .faq-a {
716      max-height: 0;
717      overflow: hidden;
718      transition: max-height 0.3s ease, padding 0.2s;
719      padding: 0 24px;
720      color: var(--text-mute);
721      font-size: 15px;
722    }
723
724    .faq-item.open .faq-a {
725      max-height: 500px;
726      padding: 0 24px 24px;
727    }
728
729    /* ========== PARTNERS ========== */
730    .partner-principal-wrap {
731      max-width: 520px;
732      margin: 0 auto 40px;
733    }
734
735    .partner-principal-label {
736      text-align: center;
737      font-size: 12px;
738      font-weight: 600;
739      letter-spacing: 2px;
740      text-transform: uppercase;
741      color: var(--red);
742      margin-bottom: 16px;
743    }
744
745    .partner-principal {
746      background: white;
747      border-radius: 16px;
748      padding: 32px 32px;
749      box-shadow: var(--shadow-md);
750      border: 3px solid var(--yellow);
751      transition: transform 0.2s;
752      display: flex;
753      align-items: center;
754      justify-content: center;
755      min-height: 200px;
756    }
757
758    .partner-principal:hover { transform: translateY(-4px); }
759
760    .partner-principal svg,
761    .partner-principal img {
762      max-width: 100%;
763      max-height: 180px;
764      height: auto;
765      display: block;
766    }
767
768    .partner-tile img {
769      max-width: 100%;
770      max-height: 90px;
771      height: auto;
772      display: block;
773    }
774
775    .partners-grid {
776      display: grid;
777      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
778      gap: 16px;
779    }
780
781    .partner-tile {
782      border-radius: 12px;
783      padding: 28px 20px;
784      text-align: center;
785      transition: all 0.2s;
786      display: flex;
787      align-items: center;
788      justify-content: center;
789      min-height: 140px;
790      overflow: hidden;
791    }
792
793    .partner-tile.dark { background: #000; border: 1px solid #1F1F1F; }
794    .partner-tile.light { background: white; border: 1px solid var(--border); }
795    .partner-tile.blue-bg { background: #1A6CB0; border: 1px solid #145590; }
796
797    .partner-tile:hover {
798      transform: translateY(-3px);
799      box-shadow: var(--shadow-sm);
800    }
801
802    .partner-tile svg {
803      max-width: 100%;
804      max-height: 90px;
805      height: auto;
806    }
807
808    /* ========== CTA SECTION ========== */
809    .cta-section {
810      background: linear-gradient(135deg, var(--blue-dark) 0%, var(--blue) 100%);
811      color: white;
812      text-align: center;
813      padding: 96px 24px;
814      border-radius: 24px;
815      margin: 96px 24px;
816      position: relative;
817      overflow: hidden;
818    }
819
820    .cta-section::before {
821      content: '';
822      position: absolute;
823      inset: 0;
824      background: radial-gradient(ellipse at top, rgba(255, 199, 44, 0.15), transparent 70%);
825    }
826
827    .cta-section > * { position: relative; z-index: 1; }
828
829    .cta-section h2 {
830      font-size: clamp(28px, 4vw, 44px);
831      margin-bottom: 16px;
832    }
833
834    .cta-section h2 .accent { color: var(--yellow); }
835
836    .cta-section p {
837      font-size: 18px;
838      opacity: 0.9;
839      margin-bottom: 32px;
840      max-width: 600px;
841      margin-left: auto;
842      margin-right: auto;
843    }
844
845    /* ========== FOOTER ========== */
846    footer {
847      background: #0F1521;
848      color: rgba(255, 255, 255, 0.7);
849      padding: 64px 0 32px;
850    }
851
852    .footer-grid {
853      display: grid;
854      grid-template-columns: 2fr 1fr 1fr 1fr;
855      gap: 48px;
856      margin-bottom: 48px;
857    }
858
859    footer h4 {
860      font-size: 14px;
861      letter-spacing: 1px;
862      text-transform: uppercase;
863      color: white;
864      margin-bottom: 20px;
865      font-family: 'Inter', sans-serif;
866      font-weight: 600;
867    }
868
869    footer ul { list-style: none; }
870    footer li { margin-bottom: 10px; font-size: 14px; }
871    footer a { color: rgba(255, 255, 255, 0.7); }
872    footer a:hover { color: var(--yellow); text-decoration: none; }
873
874    .footer-brand {
875      display: flex;
876      align-items: center;
877      gap: 12px;
878      margin-bottom: 16px;
879      color: white;
880      font-family: 'Space Grotesk', sans-serif;
881      font-weight: 700;
882      font-size: 18px;
883    }
884
885    .footer-bottom {
886      border-top: 1px solid rgba(255, 255, 255, 0.1);
887      padding-top: 24px;
888      display: flex;
889      justify-content: space-between;
890      flex-wrap: wrap;
891      gap: 16px;
892      font-size: 13px;
893      color: rgba(255, 255, 255, 0.5);
894    }
895
896    /* ========== MOBILE ========== */
897    @media (max-width: 860px) {
898      .nav-links { display: none; }
899      .nav-links.open {
900        display: flex;
901        position: absolute;
902        top: 100%;
903        left: 0;
904        right: 0;
905        flex-direction: column;
906        background: white;
907        padding: 24px;
908        gap: 16px;
909        box-shadow: var(--shadow-md);
910        border-top: 1px solid var(--border);
911      }
912      .nav-mobile-btn {
913        display: flex;
914        background: none;
915        border: none;
916        cursor: pointer;
917        padding: 8px;
918      }
919      .about-grid { grid-template-columns: 1fr; }
920      .track-grid { grid-template-columns: 1fr; }
921      .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
922      .countdown-grid { gap: 8px; }
923      .hero { padding: 56px 0 72px; }
924      section { padding: 64px 0; }
925      .cta-section { margin: 64px 16px; padding: 64px 24px; }
926    }
927
928    @media (max-width: 480px) {
929      .footer-grid { grid-template-columns: 1fr; }
930      .hero-cta { flex-direction: column; align-items: stretch; }
931      .hero-cta .btn { justify-content: center; }
932    }
933  </style>
934</head>
935<body>
936
937  <!-- NAV -->
938  <nav>
939    <div class="nav-inner">
940      <a href="#top" class="logo">
941        <span class="logo-mark">FRZ</span>
942        <span>OLYMPUS CUP</span>
943      </a>
944      <div class="nav-links" id="navLinks">
945        <a href="#despre">Despre</a>
946        <a href="#categorii">Categorii</a>
947        <a href="#program">Program</a>
948        <a href="#traseu">Traseu</a>
949        <a href="#rezultate">Rezultate</a>
950        <a href="#faq">FAQ</a>
951        <a href="https://register.42km.ro/widgets/race-entries/select_race?event=31151b0944e7d616459eb14ee8d16fd935fae796" target="_blank" rel="noopener" class="btn btn-primary">Înscriere</a>
952      </div>
953      <button class="nav-mobile-btn" id="navToggle" aria-label="Meniu">
954        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
955          <line x1="3" y1="6" x2="21" y2="6" />
956          <line x1="3" y1="12" x2="21" y2="12" />
957          <line x1="3" y1="18" x2="21" y2="18" />
958        </svg>
959      </button>
960    </div>
961  </nav>
962
963  <!-- HERO (poster style) -->
964  <header class="hero" id="top">
965    <div class="hero-inner">
966
967      <div class="hero-top-row">
968        <div class="hero-logo-frz">
969          <img src="assets/frz_marine.png" alt="FRZ Road Academy" />
970        </div>
971        <div class="hero-title-badge">
972          <h1>FRZ OLYMPUS CUP<br>EDIȚIA II 2026</h1>
973        </div>
974        <div class="hero-logo-olympus">
975          <img src="assets/olympus_signature.png" alt="Olympus — Gustă viața din plin" />
976        </div>
977      </div>
978
979      <div class="hero-photo">
980        <img src="assets/hero-photo.jpg" alt="Cicliști copii la start în Parcul Municipal Vest Ploiești" onerror="this.style.display='none'; this.nextElementSibling.style.display='flex';" />
981        <div class="hero-photo-placeholder" style="display:none;">Pune fotografia ca assets/hero-photo.jpg</div>
982      </div>
983
984      <div class="hero-info-panel">
985        <div class="info-line">24 Mai 2026 · Ora 10:00</div>
986        <div class="info-line">Parc Municipal Vest, Ploiești</div>
987        <div class="info-line">Categorii U7 – U15 + Balance Bike</div>
988      </div>
989
990      <div class="hero-cta">
991        <a href="https://register.42km.ro/widgets/race-entries/select_race?event=31151b0944e7d616459eb14ee8d16fd935fae796" target="_blank" rel="noopener" class="btn btn-primary btn-large">
992          Înscrie-te pe SportID
993          <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5">
994            <line x1="5" y1="12" x2="19" y2="12" />
995            <polyline points="12 5 19 12 12 19" />
996          </svg>
997        </a>
998        <a href="#program" class="btn btn-large btn-poster-ghost">Vezi programul</a>
999      </div>
1000
1001      <div class="countdown" id="countdown">
1002        <div class="countdown-label">Până la start</div>
1003        <div class="countdown-grid">
1004          <div class="countdown-cell"><div class="countdown-num" id="cd-days">--</div><div class="countdown-unit">Zile</div></div>
1005          <div class="countdown-cell"><div class="countdown-num" id="cd-hours">--</div><div class="countdown-unit">Ore</div></div>
1006          <div class="countdown-cell"><div class="countdown-num" id="cd-mins">--</div><div class="countdown-unit">Minute</div></div>
1007          <div class="countdown-cell"><div class="countdown-num" id="cd-secs">--</div><div class="countdown-unit">Secunde</div></div>
1008        </div>
1009      </div>
1010
1011    </div>
1012  </header>
1013
1014  <!-- ABOUT -->
1015  <section id="despre">
1016    <div class="container">
1017      <div class="section-head">
1018        <span class="section-eyebrow">Despre competiție</span>
1019        <h2>O cursă pentru viitorii campioni ai României</h2>
1020        <p>FRZ OLYMPUS CUP este organizată de ACS Ciclism și Triatlon Prahova care activează sub brandul FRZ Road Academy, în colaborare cu CS Petrolul Ploiești și sub egida Federației Române de Ciclism.</p>
1021      </div>
1022      <div class="about-grid">
1023        <div class="about-card">
1024          <div class="about-icon">
1025            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
1026              <circle cx="12" cy="12" r="10" />
1027              <path d="M12 6v6l4 2" />
1028            </svg>
1029          </div>
1030          <h3>Eveniment FRC oficial</h3>
1031          <p>Etapa I a Cupei României de Șosea Copii 2026, jurizată de Panel de Comisari FRC, conform regulamentului tehnic național.</p>
1032        </div>
1033        <div class="about-card">
1034          <div class="about-icon blue">
1035            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
1036              <polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" />
1037            </svg>
1038          </div>
1039          <h3>5 categorii oficiale</h3>
1040          <p>U7, U9, U11, U13 și U15 — feminin și masculin. În paralel, probă demonstrativă Balance Bike pentru copii 3-4 ani.</p>
1041        </div>
1042        <div class="about-card">
1043          <div class="about-icon yellow">
1044            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
1045              <path d="M6 9H4.5a2.5 2.5 0 0 1 0-5H6" />
1046              <path d="M18 9h1.5a2.5 2.5 0 0 0 0-5H18" />
1047              <path d="M4 22h16" />
1048              <path d="M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22" />
1049              <path d="M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22" />
1050              <path d="M18 2H6v7a6 6 0 0 0 12 0V2Z" />
1051            </svg>
1052          </div>
1053          <h3>Premii și ceremonie</h3>
1054          <p>Trofee, medalii, premii atractive și tricouri distinctive pentru câștigătorii fiecărei categorii. Festivitate de premiere pe scena de la start/sosire.</p>
1055        </div>
1056      </div>
1057    </div>
1058  </section>
1059
1060  <!-- CATEGORII -->
1061  <section class="alt" id="categorii">
1062    <div class="container">
1063      <div class="section-head">
1064        <span class="section-eyebrow">Categorii de vârstă</span>
1065        <h2>De la primele pedale la primul podium</h2>
1066        <p>Categoriile sunt stabilite conform Regulamentului Tehnic Național Șosea-Pistă 2026 al FRC, pe baza anului nașterii.</p>
1067      </div>
1068      <div class="cat-grid">
1069        <div class="cat-card balance">
1070          <div class="cat-name">Balance</div>
1071          <div class="cat-age">3-4 ani · 2022-2023</div>
1072          <div class="cat-detail">
1073            <strong>~550 m</strong>
1074            Demonstrativ
1075          </div>
1076        </div>
1077        <div class="cat-card">
1078          <div class="cat-name">U7</div>
1079          <div class="cat-age">5-6 ani · 2020-2021</div>
1080          <div class="cat-detail">
1081            <strong>max. 1 km</strong>
1082            Pas 5.13 m
1083          </div>
1084        </div>
1085        <div class="cat-card">
1086          <div class="cat-name">U9</div>
1087          <div class="cat-age">7-8 ani · 2018-2019</div>
1088          <div class="cat-detail">
1089            <strong>max. 3 km</strong>
1090            Pas 5.13 m
1091          </div>
1092        </div>
1093        <div class="cat-card">
1094          <div class="cat-name">U11</div>
1095          <div class="cat-age">9-10 ani · 2016-2017</div>
1096          <div class="cat-detail">
1097            <strong>max. 7 km</strong>
1098            Pas 5.43 m
1099          </div>
1100        </div>
1101        <div class="cat-card">
1102          <div class="cat-name">U13</div>
1103          <div class="cat-age">11-12 ani · 2014-2015</div>
1104          <div class="cat-detail">
1105            <strong>max. 15 km</strong>
1106            Pas 6.08 m
1107          </div>
1108        </div>
1109        <div class="cat-card">
1110          <div class="cat-name">U15</div>
1111          <div class="cat-age">13-14 ani · 2012-2013</div>
1112          <div class="cat-detail">
1113            <strong>max. 35 km</strong>
1114            Pas 6.48 m
1115          </div>
1116        </div>
1117      </div>
1118
1119      <div class="info-bar">
1120        <div class="info-bar-item">
1121          <h4>Taxă înscriere</h4>
1122          <div class="big">50 RON</div>
1123          <div class="small">/ sportiv (U7-U15) · Balance Bike gratuit</div>
1124        </div>
1125        <div class="info-bar-item">
1126          <h4>Deschidere înscrieri</h4>
1127          <div class="big">28 apr</div>
1128          <div class="small">2026, pe SportID</div>
1129        </div>
1130        <div class="info-bar-item">
1131          <h4>Închidere înscrieri</h4>
1132          <div class="big">21 mai</div>
1133          <div class="small">2026, ora 23:59</div>
1134        </div>
1135        <div class="info-bar-item">
1136          <h4>Cronometraj</h4>
1137          <div class="big">Cip</div>
1138          <div class="small">Live pe RaceResult</div>
1139        </div>
1140      </div>
1141    </div>
1142  </section>
1143
1144  <!-- PROGRAM -->
1145  <section id="program">
1146    <div class="container">
1147      <div class="section-head">
1148        <span class="section-eyebrow">Program competiție</span>
1149        <h2>Două zile de activitate</h2>
1150        <p>Sâmbătă seara: ridicare kit & ședință tehnică online. Duminică: cursele, festivitățile de premiere și încheierea evenimentului.</p>
1151      </div>
1152
1153      <div class="program-table">
1154        <table>
1155          <thead>
1156            <tr><th class="time-cell">Ora</th><th>Activitate</th></tr>
1157          </thead>
1158          <tbody>
1159            <tr class="day-row"><td colspan="2">Sâmbătă, 23 mai 2026</td></tr>
1160            <tr><td class="time-cell">17:00 – 19:00</td><td>Ridicarea kitului de start la Race Office (CS Petrolul Ploiești, Stadion Ilie Oana)</td></tr>
1161            <tr><td class="time-cell">19:10</td><td>Ședință tehnică online (link pe grupul WhatsApp)</td></tr>
1162
1163            <tr class="day-row"><td colspan="2">Duminică, 24 mai 2026</td></tr>
1164            <tr><td class="time-cell">07:00 – 09:00</td><td>Ridicarea kitului de start la Race Office</td></tr>
1165            <tr><td class="time-cell">08:00</td><td>Ședință tehnică în zona scenei</td></tr>
1166            <tr><td class="time-cell">10:00</td><td>Startul categoriei <strong>U7</strong></td></tr>
1167            <tr><td class="time-cell">10:30</td><td>Startul categoriei <strong>U9</strong></td></tr>
1168            <tr><td class="time-cell">11:00</td><td>Festivitatea de premiere U7 și U9</td></tr>
1169            <tr><td class="time-cell">11:30</td><td>Startul categoriei <strong>U11</strong></td></tr>
1170            <tr><td class="time-cell">12:15</td><td>Startul categoriei <strong>U13</strong></td></tr>
1171            <tr><td class="time-cell">13:15</td><td>Startul categoriei <strong>U15</strong></td></tr>
1172            <tr><td class="time-cell">14:45</td><td>Festivitatea de premiere U11, U13, U15</td></tr>
1173            <tr><td class="time-cell">15:00</td><td>Încheierea evenimentului</td></tr>
1174          </tbody>
1175        </table>
1176      </div>
1177      <p style="text-align: center; margin-top: 16px; color: var(--text-mute); font-size: 14px;">
1178        <em>Sub nicio formă nu se vor devansa orele de start. Modificări vor fi comunicate cluburilor și confirmate cu delegații acestora.</em>
1179      </p>
1180    </div>
1181  </section>
1182
1183  <!-- TRACK -->
1184  <section class="alt" id="traseu">
1185    <div class="container">
1186      <div class="section-head">
1187        <span class="section-eyebrow">Traseu și locație</span>
1188        <h2>Parcul Municipal Vest, Ploiești</h2>
1189        <p>Două circuite în Parcul Municipal Vest, dedicate diferitelor categorii de vârstă.</p>
1190      </div>
1191
1192      <div class="track-grid">
1193        <div class="track-info">
1194          <h3>Circuite</h3>
1195          <ul class="track-list">
1196            <li>
1197              <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M12 6v6l4 2"/></svg>
1198              <div><strong>Traseu 1</strong> — 2,3 km · pentru U11, U13, U15</div>
1199            </li>
1200            <li>
1201              <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M12 6v6l4 2"/></svg>
1202              <div><strong>Traseu 2</strong> — 0,5 km · pentru U7, U9 și Balance Bike</div>
1203            </li>
1204            <li>
1205              <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/></svg>
1206              <div>Diferența de nivel: 3 m · circuite plate, accesibile pentru toate categoriile</div>
1207            </li>
1208            <li>
1209              <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="11" width="18" height="11" rx="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg>
1210              <div>Asistență medicală (ambulanță tip B1 cu medic) în zona start/sosire</div>
1211            </li>
1212            <li>
1213              <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg>
1214              <div>Parcări P1 și P2 disponibile pentru mașinile tehnice ale echipelor și spectatori</div>
1215            </li>
1216          </ul>
1217        </div>
1218        <div class="map-wrap">
1219          <iframe
1220            src="https://www.google.com/maps?q=Parc+Municipal+Vest+Ploiesti&output=embed"
1221            allowfullscreen=""
1222            loading="lazy"
1223            referrerpolicy="no-referrer-when-downgrade"
1224            title="Hartă Parc Municipal Vest Ploiești"></iframe>
1225        </div>
1226      </div>
1227    </div>
1228  </section>
1229
1230  <!-- REZULTATE -->
1231  <section class="alt" id="rezultate">
1232    <div class="container">
1233      <div class="section-head">
1234        <span class="section-eyebrow">🏁 Cronometraj electronic</span>
1235        <h2>Rezultate live</h2>
1236        <p>Cronometrare electronică cu cip pe numărul de concurs. Rezultatele provizorii apar aici live, în maxim 15 minute de la finalizarea fiecărei curse. Rezultatele finale apar după validarea panelului de comisari FRC.</p>
1237      </div>
1238      <div style="background:#FFFFFF;border:2px solid #E30613;border-radius:12px;padding:24px;margin-top:24px;box-shadow:0 4px 12px rgba(0,0,0,0.08);">
1239        <div id="divRRPublish" class="RRPublish"></div>
1240        
1240<script type="text/javascript" src="https://my.raceresult.com/RRPublish/load.js?lang=ro"></script>
1240
1241        
1241<script type="text/javascript">
1242          let rrp = new RRPublish(document.getElementById("divRRPublish"), 401555, "results");
1243          rrp.ShowTimerLogo = true;
1244          rrp.ShowInfoText = true;
1245        </script>
1245
1246      </div>
1247    </div>
1248  </section>
1249
1250  <!-- FAQ -->
1251  <section id="faq">
1252    <div class="container">
1253      <div class="section-head">
1254        <span class="section-eyebrow">Întrebări frecvente</span>
1255        <h2>Pentru părinți și antrenori</h2>
1256        <p>Tot ce trebuie să știți despre înscriere, echipament, parcare și organizare.</p>
1257      </div>
1258
1259      <div class="faq-grid">
1260        <div class="faq-item">
1261          <div class="faq-q">Cine poate participa?
1262            <span class="faq-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg></span>
1263          </div>
1264          <div class="faq-a">
1265            Competiția oficială (categoriile U7-U15) este deschisă sportivilor legitimați FRC, cu vârstele între 5 și 14 ani. Pentru copiii de 3-4 ani există o probă demonstrativă Balance Bike, deschisă tuturor (legitimați sau nelegitimați), fără clasament.
1266          </div>
1267        </div>
1268        <div class="faq-item">
1269          <div class="faq-q">Care este taxa de înscriere?
1270            <span class="faq-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg></span>
1271          </div>
1272          <div class="faq-a">
1273            50 RON / sportiv pentru categoriile U7, U9, U11, U13, U15. Categoria Balance Bike este gratuită. În cazul anulării evenimentului, taxa este restituită 100%.
1274          </div>
1275        </div>
1276        <div class="faq-item">
1277          <div class="faq-q">Ce echipament este obligatoriu?
1278            <span class="faq-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg></span>
1279          </div>
1280          <div class="faq-a">
1281            Casca de protecție este OBLIGATORIE pentru toate categoriile, atât în timpul cursei, cât și la antrenament și recunoaștere. Numărul de concurs trebuie purtat conform indicațiilor arbitrilor. Nerespectarea normelor duce la descalificare imediată.
1282          </div>
1283        </div>
1284        <div class="faq-item">
1285          <div class="faq-q">Ce tipuri de biciclete sunt permise?
1286            <span class="faq-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg></span>
1287          </div>
1288          <div class="faq-a">
1289            Pentru categoriile FRC se aplică reglementările Regulamentului Tehnic Național 2026, inclusiv pasul bicicletei (între 5.13 și 6.48 m, în funcție de categorie). Pentru Balance Bike sunt acceptate exclusiv biciclete fără pedale sau biciclete cu roți ajutătoare.
1290          </div>
1291        </div>
1292        <div class="faq-item">
1293          <div class="faq-q">Când și cum mă înscriu?
1294            <span class="faq-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg></span>
1295          </div>
1296          <div class="faq-a">
1297            Înscrierile se fac online pe platforma SportID între 28 aprilie și 21 mai 2026. Ridicarea pachetelor de înscriere se face sâmbătă 23 mai (17:00 – 19:00) la Race Office sau în dimineața competiției.
1298          </div>
1299        </div>
1300        <div class="faq-item">
1301          <div class="faq-q">Unde pot parca?
1302            <span class="faq-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg></span>
1303          </div>
1304          <div class="faq-a">
1305            Parcarea P1 a Parcului Municipal Vest este disponibilă pentru mașinile tehnice ale echipelor, însoțitori și spectatori. Vă rugăm să stați cu motorul oprit pentru a reduce volumul de noxe — în caz contrar se aplică sancțiuni. Prezența mașinilor de echipă pe aleile Parcului este interzisă.
1306          </div>
1307        </div>
1308        <div class="faq-item">
1309          <div class="faq-q">Unde mă pot caza?
1310            <span class="faq-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg></span>
1311          </div>
1312          <div class="faq-a">
1313            În apropiere: Hotel Tiara (20 m), Hotel Transilvania (1.700 m), Dante Apartamente (0 m). În Municipiul Ploiești sunt și alte opțiuni — recomandăm booking.com.
1314          </div>
1315        </div>
1316        <div class="faq-item">
1317          <div class="faq-q">Cum funcționează cronometrarea?
1318            <span class="faq-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg></span>
1319          </div>
1320          <div class="faq-a">
1321            Cronometrare electronică cu cip pe numărul de concurs. Rezultatele live și clasamentele finale sunt publicate prin RaceResult, direct pe acest site în secțiunea <a href="#rezultate" style="color:#E30613;font-weight:600;">Rezultate</a>, și comunicate pe grupul WhatsApp al competiției.
1322          </div>
1323        </div>
1324      </div>
1325    </div>
1326  </section>
1327
1328<!-- PARTNERS -->
1329  <section class="alt">
1330    <div class="container">
1331      <div class="section-head">
1332        <span class="section-eyebrow">Mulțumiri</span>
1333        <h2>Parteneri principali</h2>
1334        <p>Mulțumim partenerilor care fac posibilă această competiție pentru copii.</p>
1335      </div>
1336      <!-- PARTENER PRINCIPAL -->
1337      <div class="partner-principal-wrap">
1338        <div class="partner-principal-label">★ Partener principal ★</div>
1339        <div class="partner-principal" title="OLYMPUS Fabrica de Lapte Brașov">
1340          <img src="assets/olympus.png" alt="OLYMPUS Fabrica de Lapte Brașov" />
1341        </div>
1342      </div>
1343
1344      <!-- PARTENERI SECUNDARI -->
1345      <div class="partners-grid">
1346
1347        <div class="partner-tile light" title="FRZ Road Academy">
1348          <img src="assets/frz_road_academy.png" alt="FRZ Road Academy" />
1349        </div>
1350
1351        <div class="partner-tile light" title="MM Solutions">
1352          <img src="assets/mm_solutions.png" alt="MM Solutions" />
1353        </div>
1354
1355        <div class="partner-tile light" title="Velosystem">
1356          <img src="assets/velosystem.png" alt="Velosystem" />
1357        </div>
1358
1359        <div class="partner-tile light" title="Consiergo">
1360          <svg viewBox="0 0 320 90" xmlns="http://www.w3.org/2000/svg" aria-label="Consiergo — Wish Say Get">
1361            <text x="160" y="50" text-anchor="middle" font-family="'Bebas Neue', 'Oswald', 'Impact', sans-serif" font-weight="700" font-size="48" fill="#1F0F35" letter-spacing="6">CONSIERGO</text>
1362            <text x="160" y="74" text-anchor="middle" font-family="Inter, sans-serif" font-weight="500" font-size="12" fill="#5A3F8A" letter-spacing="8">WISH · SAY · GET</text>
1363          </svg>
1364        </div>
1365
1366        <div class="partner-tile light" title="Baupartner Construct">
1367          <img src="assets/baupartner.png" alt="Baupartner Construct" />
1368        </div>
1369
1370        <div class="partner-tile light" title="Nexus Electronics">
1371          <img src="assets/nexus.png" alt="Nexus Electronics" />
1372        </div>
1373
1374      </div>
1375    </div>
1376  </section>
1377
1378  <!-- CTA -->
1379  <div class="cta-section container">
1380    <h2>Gata să pedalezi pentru <span class="accent">titlu</span>?</h2>
1381    <p>Înscrierile sunt deschise pe SportID. Locuri limitate — asigură-ți participarea înainte de 21 mai 2026.</p>
1382    <a href="https://register.42km.ro/widgets/race-entries/select_race?event=31151b0944e7d616459eb14ee8d16fd935fae796" target="_blank" rel="noopener" class="btn btn-primary btn-large">
1383      Înscrie-te acum
1384      <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5">
1385        <line x1="5" y1="12" x2="19" y2="12" />
1386        <polyline points="12 5 19 12 12 19" />
1387      </svg>
1388    </a>
1389  </div>
1390
1391  <!-- FOOTER -->
1392  <footer>
1393    <div class="container">
1394      <div class="footer-grid">
1395        <div>
1396          <div class="footer-brand">
1397            <span class="logo-mark">FRZ</span>
1398            <span>OLYMPUS CUP 2026</span>
1399          </div>
1400          <p style="font-size: 14px; max-width: 320px;">Etapa I a Cupei României de Șosea Copii. Organizat de ACS Ciclism și Triatlon Prahova care activează sub brandul FRZ Road Academy, sub egida Federației Române de Ciclism.</p>
1401        </div>
1402        <div>
1403          <h4>Eveniment</h4>
1404          <ul>
1405            <li><a href="#despre">Despre</a></li>
1406            <li><a href="#categorii">Categorii</a></li>
1407            <li><a href="#program">Program</a></li>
1408            <li><a href="#traseu">Traseu</a></li>
1409          </ul>
1410        </div>
1411        <div>
1412          <h4>Înscrieri</h4>
1413          <ul>
1414            <li><a href="https://register.42km.ro/widgets/race-entries/select_race?event=31151b0944e7d616459eb14ee8d16fd935fae796" target="_blank" rel="noopener">SportID</a></li>
1415            <li><a href="#faq">Întrebări frecvente</a></li>
1416            <li><a href="assets/GHID%20TEHNIC%2022%20mai.pdf" target="_blank" rel="noopener">Ghid tehnic (PDF)</a></li>
1417            <li><a href="#rezultate">Rezultate live</a></li>
1418          </ul>
1419        </div>
1420        <div>
1421          <h4>Contact</h4>
1422          <ul>
1423            <li>Marian Frunzeanu<br>0722 973 139</li>
1424            <li>Ovidiu Burghelea<br>0763 820 423</li>
1425          </ul>
1426        </div>
1427      </div>
1428      <div class="footer-bottom">
1429        <div>© 2026 FRZ Road Academy · ACS Ciclism și Triatlon Prahova</div>
1430        <div>Sub egida Federației Române de Ciclism</div>
1431      </div>
1432    </div>
1433  </footer>
1434
1435  
1435<script>
1436    // Mobile nav toggle
1437    document.getElementById('navToggle').addEventListener('click', () => {
1438      document.getElementById('navLinks').classList.toggle('open');
1439    });
1440    // Close mobile nav on link click
1441    document.querySelectorAll('#navLinks a').forEach(a => {
1442      a.addEventListener('click', () => document.getElementById('navLinks').classList.remove('open'));
1443    });
1444
1445    // Countdown to 24 May 2026, 10:00 AM Romania time (UTC+3 in summer)
1446    const target = new Date('2026-05-24T10:00:00+03:00').getTime();
1447    const $d = document.getElementById('cd-days');
1448    const $h = document.getElementById('cd-hours');
1449    const $m = document.getElementById('cd-mins');
1450    const $s = document.getElementById('cd-secs');
1451
1452    function tick() {
1453      const now = Date.now();
1454      const diff = target - now;
1455      if (diff <= 0) {
1456        $d.textContent = '0';
1457        $h.textContent = '00';
1458        $m.textContent = '00';
1459        $s.textContent = '00';
1460        document.querySelector('.countdown-label').textContent = 'Cursa este în desfășurare!';
1461        return;
1462      }
1463      const days = Math.floor(diff / (1000 * 60 * 60 * 24));
1464      const hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
1465      const mins = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));
1466      const secs = Math.floor((diff % (1000 * 60)) / 1000);
1467      $d.textContent = days;
1468      $h.textContent = String(hours).padStart(2, '0');
1469      $m.textContent = String(mins).padStart(2, '0');
1470      $s.textContent = String(secs).padStart(2, '0');
1471    }
1472    tick();
1473    setInterval(tick, 1000);
1474
1475    // FAQ accordion
1476    document.querySelectorAll('.faq-item').forEach(item => {
1477      item.querySelector('.faq-q').addEventListener('click', () => {
1478        item.classList.toggle('open');
1479      });
1480    });
1481  </script>
1481
1482</body>
1483</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.